--- linux-2.6-2.6.26.orig/debian/README.Debian
+++ linux-2.6-2.6.26/debian/README.Debian
@@ -0,0 +1,55 @@
+linux-2.6 for DEBIAN
+------------------------
+
+Patches
+-------
+Debian applies small changes to the kernel source. These are split up into
+separated patches addressing individual problems. Each of the patch files
+contains a description and mentions the author. The patches can be found
+at http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/.
+
+Config Files
+------------
+The .config files used to build the various linux-image files are dynamically
+generated during the linux-2.6 package build.  See the source package for
+details.  Each linux-image-* package provides the complete .config file that
+was used to generate it.  This file is installed in /boot.
+
+Scope of security support
+-------------------------
+Security support is provided not only for the binary builds, but also
+for the full source package, allowing for locally customized kernels.
+However, kernel options that are not enabled in official Debian builds are
+given a lower priority for security support. Options marked as BROKEN
+or EXPERIMENTAL are of very low priority, and should not be enabled in
+customized builds for a security-sensitive environment.
+
+Rebuilding Adaptec AIC7xxx/79xx firmware
+----------------------------------------
+You can rebuild the firmware for the Adaptec AIC7xxx/79xx SCSI Adapters. To
+do so you need to set AIC7XXX_BUILD_FIRMWARE/AIC79XX_BUILD_FIRMWARE config
+options.  Note that this requires to have the development packages for
+berkelydb (libdb4.2-dev) installed.
+
+PS/2 Mice
+---------
+If your PS/2 mouse does not work, make sure that the modules psmouse and
+mousedev are loaded.
+
+Non-free bits removed
+---------------------
+* Keyspan firmware, driver disabled
+  . drivers/usb/serial/ksyspan_{mpr,usa*}_fw.h
+* Emagic EMI 2|6 usb audio interface firmware loader
+  . drivers/usb/misc/emi62_fw_*.h
+
+Firmware removed
+----------------
+* SMC Token Ring firmware, driver disabled:
+  . drivers/net/tokenring/smctr_firmware.h
+* ACENIC firwmare, driver disabled:
+  . drivers/net/acenic_firmware.h
+* DGRS firmware, driver disabled:
+  . drivers/net/dgrs_firmware.c
+* DAB firmware, driver disabled:
+  . drivers/usb/media/dabfirmware.h
--- linux-2.6-2.6.26.orig/debian/README
+++ linux-2.6-2.6.26/debian/README
@@ -0,0 +1,73 @@
+Migrating to the common kernel-image package
+-------------------------------------------- 
+Files for architecture <arch> should be placed into arch/<arch>. This
+directory normally contains a common config file for this architecture
+('config'), flavour-specific config files, Makefile.inc file,
+controlling the build for this arch, and the defines file, containing
+the machine descriptions for various flavours.  For arches with
+subarches the subdirectory arch/<arch>/<subarch> with the same file
+structure must be created for each subarch.
+
+Kernel config files
+-------------------
+Configuration files are constructed dynamically by concatenating a number
+of config files as described below. 
+
+For architecture without subarches:
+
+  arch/config
+  arch/<arch>/config 
+  arch/<arch>/config.<flavour>
+  
+For architecture with subarches:
+
+  arch/config
+  arch/<arch>/config
+  arch/<arch>/<subarch>/config
+  arch/<arch>/<subarch>/config.<flavour>
+
+Control file
+------------
+The master control file debian/control must be generated before
+the package is uploaded. debian/rules contains the debian/control 
+target, which generates the control file by invoking the 
+debian/bin/gencontrol.py script, which combines the templates from
+the templates directory and arch/subarch specific defines file to
+produce the debian/control file. Note that this target is intentionally
+made to fail with a non-zero exit code to make sure that it is never
+run during an automatic build. The following variables are substituted
+into the templates:
+
+@version@      Upstream kernel version, for example 2.6.11.
+@major@        The major version, for example 2.6
+@arch@         The Debian arch name, such as powerpc or i386.
+@subarch@      The subarch - only used by powerpc right now.
+@flavour@      The build flavour, such as 686 or k7-smp.
+@class@        The CPU/architecture class; displayed in synopsis.  It should
+               be fairly short, as the synopsis is supposed to be <80 chars.
+               It should be in the form "foo class", and will show up in the
+	       description as "foo class machines".
+@longclass@    The CPU/architecture class; displayed in the extended
+               description.  The same rules apply as in @class@.  If
+	       this is unset, it will default to @class@.
+@desc@         (Potentially) multi-line verbiage that's appended to
+               -image descriptions.
+@abiname@      Current abiname, a single digit.
+
+Normally, the arch-specific contents should be controlled by
+adjusting the corresponding defines file.
+
+Makefile.inc
+------------
+Each architecture subdirectory in arch may contain a Makefile.inc
+file, which is included by debian/rules after definining all the
+variables. It may be used to override the standard variables on
+per-architecture basis and other evil things. So far the valid uses of
+this file include the setting of the following variables:
+
+image_postproc
+
+  A command to be run after the kernel image is built. As far as I know,
+  it only required on sparc for stripping of the kernel which is too big
+  to be booted otherwise. Typical use is too ugly to be presented here.
+
--- linux-2.6-2.6.26.orig/debian/config.defines.dump
+++ linux-2.6-2.6.26/debian/config.defines.dump
@@ -0,0 +1,539 @@
+[('abi',)]
+abiname: 'bpo.2'
+
+[('abi', 'm68k')]
+ignore-changes: ['*']
+
+[('base',)]
+arches: ['alpha', 'amd64', 'arm', 'armel', 'hppa', 'i386', 'ia64', 'm68k', 'mips', 'mipsel', 'powerpc', 's390', 'sparc']
+featuresets: ['none', 'openvz', 'vserver', 'xen']
+compiler: 'gcc-4.1'
+
+[('base', None, 'openvz')]
+enabled: True
+
+[('base', None, 'vserver')]
+enabled: True
+
+[('base', 'alpha')]
+kernel-arch: 'alpha'
+featuresets: ['none']
+
+[('base', 'alpha', None, 'alpha-generic')]
+class: 'Alpha'
+
+[('base', 'alpha', None, 'alpha-legacy')]
+class: 'Alpha Legacy'
+
+[('base', 'alpha', None, 'alpha-smp')]
+class: 'Alpha SMP'
+
+[('base', 'alpha', 'none')]
+implicit-flavour: True
+flavours: ['alpha-generic', 'alpha-smp', 'alpha-legacy']
+
+[('base', 'amd64')]
+kernel-arch: 'x86'
+featuresets: ['none', 'openvz', 'vserver', 'xen']
+
+[('base', 'amd64', None, 'amd64')]
+longclass: 'all 64bit single- and multiprocessor AMD and Intel'
+class: 'AMD64'
+
+[('base', 'amd64', 'none')]
+implicit-flavour: True
+flavours: ['amd64']
+
+[('base', 'amd64', 'openvz')]
+flavours: ['amd64']
+
+[('base', 'amd64', 'vserver')]
+flavours: ['amd64']
+
+[('base', 'amd64', 'xen')]
+flavours: ['amd64']
+
+[('base', 'arm')]
+kernel-arch: 'arm'
+featuresets: ['none']
+
+[('base', 'arm', None, 'footbridge')]
+longclass: 'Footbridge based (CATS, Netwinder)'
+class: 'Footbridge'
+
+[('base', 'arm', None, 'iop32x')]
+longclass: 'IOP32x based (Thecus N2100, etc)'
+class: 'IOP32x'
+
+[('base', 'arm', None, 'ixp4xx')]
+longclass: 'IXP4xx based (Linksys NSLU2, etc)'
+class: 'IXP4xx'
+
+[('base', 'arm', None, 'orion5x')]
+longclass: 'Orion 5181, 5182 and 5281 based (QNAP TS-109/TS-209, etc)'
+class: 'Orion'
+
+[('base', 'arm', None, 'versatile')]
+longclass: 'Versatile (PB, AB, Qemu)'
+class: 'Versatile'
+
+[('base', 'arm', 'none')]
+implicit-flavour: True
+flavours: ['footbridge', 'iop32x', 'ixp4xx', 'orion5x']
+
+[('base', 'armel')]
+kernel-arch: 'arm'
+featuresets: ['none']
+
+[('base', 'armel', None, 'iop32x')]
+longclass: 'IOP32x based (Thecus N2100, etc)'
+class: 'IOP32x'
+
+[('base', 'armel', None, 'ixp4xx')]
+longclass: 'IXP4xx based (Linksys NSLU2, etc)'
+class: 'IXP4xx'
+
+[('base', 'armel', None, 'orion5x')]
+longclass: 'Orion 5181, 5182 and 5281 based (QNAP TS-109/TS-209, etc)'
+class: 'Orion'
+
+[('base', 'armel', None, 'versatile')]
+longclass: 'Versatile (PB, AB, Qemu)'
+class: 'Versatile'
+
+[('base', 'armel', 'none')]
+implicit-flavour: True
+flavours: ['iop32x', 'ixp4xx', 'orion5x', 'versatile']
+
+[('base', 'hppa')]
+kernel-arch: 'parisc'
+featuresets: ['none']
+
+[('base', 'hppa', None, 'parisc')]
+class: '32-bit PA-RISC'
+
+[('base', 'hppa', None, 'parisc-smp')]
+class: 'multiprocessor 32-bit PA-RISC'
+
+[('base', 'hppa', None, 'parisc64')]
+class: '64-bit PA-RISC'
+cflags: '-fno-cse-follow-jumps'
+override-host-type: 'hppa64-linux-gnu'
+
+[('base', 'hppa', None, 'parisc64-smp')]
+class: 'multiprocessor 64-bit PA-RISC'
+cflags: '-fno-cse-follow-jumps'
+override-host-type: 'hppa64-linux-gnu'
+
+[('base', 'hppa', 'none')]
+implicit-flavour: True
+flavours: ['parisc', 'parisc-smp', 'parisc64', 'parisc64-smp']
+
+[('base', 'i386')]
+kernel-arch: 'x86'
+featuresets: ['none', 'openvz', 'vserver', 'xen']
+
+[('base', 'i386', None, '486')]
+longclass: 'x86 and compatible'
+class: 'x86'
+
+[('base', 'i386', None, '686')]
+longclass: 'Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4'
+class: 'PPro/Celeron/PII/PIII/P4'
+
+[('base', 'i386', None, '686-bigmem')]
+longclass: 'Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4 with 4-64G RAM'
+class: 'PPro/Celeron/PII/PIII/P4'
+
+[('base', 'i386', None, 'amd64')]
+longclass: 'all 64bit single- and multiprocessor AMD and Intel'
+class: 'AMD64'
+
+[('base', 'i386', 'none')]
+implicit-flavour: True
+flavours: ['486', '686', '686-bigmem', 'amd64']
+
+[('base', 'i386', 'openvz')]
+flavours: ['686']
+
+[('base', 'i386', 'vserver')]
+flavours: ['686', '686-bigmem']
+
+[('base', 'i386', 'xen')]
+flavours: ['686']
+
+[('base', 'i386', 'xen', '686')]
+longclass: 'i686 and compatible'
+class: 'i686'
+
+[('base', 'ia64')]
+kernel-arch: 'ia64'
+featuresets: ['none', 'vserver']
+
+[('base', 'ia64', None, 'itanium')]
+class: 'Itanium'
+
+[('base', 'ia64', None, 'mckinley')]
+class: 'Itanium II'
+
+[('base', 'ia64', 'none')]
+implicit-flavour: True
+flavours: ['itanium', 'mckinley']
+
+[('base', 'ia64', 'vserver')]
+flavours: ['itanium', 'mckinley']
+
+[('base', 'm68k')]
+kernel-arch: 'm68k'
+featuresets: ['none']
+
+[('base', 'm68k', None, 'amiga')]
+class: 'Amiga'
+
+[('base', 'm68k', None, 'atari')]
+class: 'Atari'
+
+[('base', 'm68k', None, 'bvme6000')]
+class: 'BVM BVME4000 and BVME6000'
+
+[('base', 'm68k', None, 'hp')]
+class: 'HP'
+
+[('base', 'm68k', None, 'mac')]
+class: 'Macintosh'
+
+[('base', 'm68k', None, 'mvme147')]
+class: 'Motorola MVME147'
+
+[('base', 'm68k', None, 'mvme16x')]
+class: 'Motorola MVME162/6/7, MVME172/7'
+
+[('base', 'm68k', None, 'q40')]
+class: 'Q40 and Q60'
+
+[('base', 'm68k', None, 'sun3')]
+class: 'sun3'
+
+[('base', 'm68k', 'none')]
+implicit-flavour: True
+flavours: ['amiga', 'atari', 'bvme6000', 'mac', 'mvme147', 'mvme16x']
+
+[('base', 'mips')]
+kernel-arch: 'mips'
+featuresets: ['none']
+
+[('base', 'mips', None, '4kc-malta')]
+longclass: 'MIPS Malta board'
+class: 'MIPS Malta'
+
+[('base', 'mips', None, '5kc-malta')]
+longclass: 'MIPS Malta board (64-bit)'
+class: 'MIPS Malta (64-bit)'
+
+[('base', 'mips', None, 'r4k-ip22')]
+longclass: 'SGI IP22 (Indy, Indigo2)'
+class: 'SGI IP22'
+
+[('base', 'mips', None, 'r5k-ip32')]
+longclass: 'SGI IP32 (O2)'
+class: 'SGI IP32'
+
+[('base', 'mips', None, 'sb1-bcm91250a')]
+longclass: 'Broadcom BCM91250A (aka SWARM)'
+class: 'BCM91250A'
+
+[('base', 'mips', None, 'sb1a-bcm91480b')]
+longclass: 'Broadcom BCM91480B (aka BigSur)'
+class: 'BCM91480B'
+
+[('base', 'mips', 'none')]
+implicit-flavour: True
+flavours: ['r4k-ip22', 'r5k-ip32', 'sb1-bcm91250a', 'sb1a-bcm91480b', '4kc-malta', '5kc-malta']
+
+[('base', 'mipsel')]
+kernel-arch: 'mips'
+featuresets: ['none']
+
+[('base', 'mipsel', None, '4kc-malta')]
+longclass: 'MIPS Malta board'
+class: 'MIPS Malta'
+
+[('base', 'mipsel', None, '5kc-malta')]
+longclass: 'MIPS Malta board (64-bit)'
+class: 'MIPS Malta (64-bit)'
+
+[('base', 'mipsel', None, 'r5k-cobalt')]
+longclass: 'Cobalt (Qube, RaQ, Qube2, RaQ2)'
+class: 'Cobalt'
+
+[('base', 'mipsel', None, 'sb1-bcm91250a')]
+longclass: 'Broadcom BCM91250A (aka SWARM)'
+class: 'BCM91250A'
+
+[('base', 'mipsel', None, 'sb1a-bcm91480b')]
+longclass: 'Broadcom BCM91480B (aka BigSur)'
+class: 'BCM91480B'
+
+[('base', 'mipsel', 'none')]
+implicit-flavour: True
+flavours: ['r5k-cobalt', 'sb1-bcm91250a', 'sb1a-bcm91480b', '4kc-malta', '5kc-malta']
+
+[('base', 'powerpc')]
+kernel-arch: 'powerpc'
+featuresets: ['none', 'vserver']
+
+[('base', 'powerpc', None, 'apus')]
+kernel-arch: 'ppc'
+
+[('base', 'powerpc', None, 'powerpc')]
+class: 'uniprocessor 32-bit PowerPC'
+
+[('base', 'powerpc', None, 'powerpc-miboot')]
+class: '32-bit PowerPC for miboot floppy'
+
+[('base', 'powerpc', None, 'powerpc-smp')]
+class: 'multiprocessor 32-bit PowerPC'
+
+[('base', 'powerpc', None, 'powerpc64')]
+class: '64-bit PowerPC'
+
+[('base', 'powerpc', None, 'prep')]
+kernel-arch: 'ppc'
+class: 'PReP PowerPC'
+
+[('base', 'powerpc', 'none')]
+implicit-flavour: True
+flavours: ['powerpc', 'powerpc-smp', 'powerpc64']
+
+[('base', 'powerpc', 'vserver')]
+flavours: ['powerpc', 'powerpc64']
+
+[('base', 's390')]
+kernel-arch: 's390'
+featuresets: ['none', 'vserver']
+
+[('base', 's390', None, 's390')]
+class: 'IBM S/390'
+
+[('base', 's390', None, 's390-tape')]
+modules: False
+class: 'IBM S/390'
+
+[('base', 's390', None, 's390x')]
+class: 'IBM zSeries'
+
+[('base', 's390', 'none')]
+implicit-flavour: True
+flavours: ['s390', 's390-tape', 's390x']
+
+[('base', 's390', 'vserver')]
+flavours: ['s390x']
+
+[('base', 'sparc')]
+kernel-arch: 'sparc64'
+kernel-header-dirs: 'sparc sparc64'
+featuresets: ['none', 'vserver']
+
+[('base', 'sparc', None, 'sparc32')]
+kpkg-subarch: 'sparc'
+kernel-arch: 'sparc'
+class: 'uniprocessor sparc32 (sun4m)'
+
+[('base', 'sparc', None, 'sparc64')]
+kpkg-subarch: 'sparc64'
+class: 'uniprocessor 64-bit UltraSPARC'
+
+[('base', 'sparc', None, 'sparc64-smp')]
+kpkg-subarch: 'sparc64'
+class: 'multiprocessor 64-bit UltraSPARC'
+
+[('base', 'sparc', 'none')]
+implicit-flavour: True
+flavours: ['sparc64', 'sparc64-smp']
+
+[('base', 'sparc', 'vserver')]
+flavours: ['sparc64']
+
+[('commands-image-initramfs-generators',)]
+yaird: 'mkinitrd.yaird'
+initramfs-tools: 'mkinitramfs-kpkg'
+
+[('image',)]
+desc-long-part-xen: 'This kernel also runs on a Xen hypervisor.\nIt supports only unpriviledged (domU) operation.'
+initramfs-generators: ['initramfs-tools', 'yaird', 'initramfs-fallback']
+type: 'plain'
+
+[('image', None, 'openvz')]
+desc-parts: ['openvz']
+depends: 'vzctl'
+desc-short-part-openvz: 'OpenVZ support'
+desc-long-part-openvz: 'This kernel includes support for OpenVZ container-based virtualization.'
+
+[('image', None, 'vserver')]
+desc-parts: ['vserver']
+desc-long-part-vserver: 'This kernel includes support for Linux-VServer virtualization.'
+recommends: 'util-vserver'
+desc-short-part-vserver: 'Linux-VServer support'
+
+[('image', None, 'xen')]
+desc-parts: ['xenold']
+desc-short-part-xenold: 'oldstyle Xen support'
+desc-long-part-xenold: 'This kernel only runs on a Xen hypervisor.\nIt supports both priviledged (dom0) and unpriviledged (domU) operation.'
+
+[('image', 'alpha')]
+suggests: 'aboot, fdutils'
+type: 'kernel-package'
+
+[('image', 'amd64')]
+suggests: 'grub | lilo'
+
+[('image', 'amd64', 'xen')]
+suggests: 'grub'
+initramfs-generators: ['initramfs-tools']
+type: 'plain-xen'
+
+[('image', 'arm')]
+suggests: 'fdutils'
+type: 'kernel-package'
+
+[('image', 'arm', None, 'footbridge')]
+suggests: 'nwutil'
+
+[('image', 'arm', None, 'orion5x')]
+recommends: 'uboot-mkimage'
+
+[('image', 'armel')]
+suggests: 'fdutils'
+type: 'kernel-package'
+
+[('image', 'armel', None, 'iop32x')]
+configs: ['arm/config.iop32x']
+
+[('image', 'armel', None, 'ixp4xx')]
+configs: ['arm/config.ixp4xx']
+
+[('image', 'armel', None, 'orion5x')]
+configs: ['arm/config.orion5x']
+recommends: 'uboot-mkimage'
+
+[('image', 'armel', None, 'versatile')]
+configs: ['arm/config.versatile']
+
+[('image', 'hppa')]
+suggests: 'palo'
+type: 'kernel-package'
+
+[('image', 'i386')]
+suggests: 'grub | lilo'
+
+[('image', 'i386', None, '686')]
+recommends: 'libc6-i686'
+
+[('image', 'i386', None, '686-bigmem')]
+desc-parts: ['xen']
+recommends: 'libc6-i686'
+
+[('image', 'i386', None, 'amd64')]
+configs: ['amd64/config', 'amd64/config.amd64']
+recommends: 'libc6-i686'
+
+[('image', 'i386', 'openvz', '686')]
+desc-parts: ['xen']
+configs: ['i386/config.686-bigmem']
+
+[('image', 'i386', 'vserver')]
+recommends: 'util-vserver, libc6-i686'
+
+[('image', 'i386', 'xen')]
+suggests: 'grub'
+initramfs-generators: ['initramfs-tools']
+type: 'plain-xen'
+
+[('image', 'i386', 'xen', '686')]
+configs: ['i386/config.686-bigmem', 'i386/xen/config']
+recommends: 'libc6-xen'
+
+[('image', 'ia64')]
+suggests: 'elilo, fdutils'
+type: 'kernel-package'
+
+[('image', 'm68k')]
+suggests: 'vmelilo, fdutils'
+initramfs: False
+
+[('image', 'mips')]
+type: 'kernel-package'
+initramfs: False
+
+[('image', 'mipsel')]
+type: 'kernel-package'
+initramfs: False
+
+[('image', 'powerpc')]
+suggests: 'mkvmlinuz'
+
+[('image', 'powerpc', None, 'powerpc-smp')]
+configs: ['powerpc/config.powerpc', 'powerpc/config.powerpc-smp']
+
+[('image', 'powerpc', 'vserver', 'powerpc')]
+configs: ['powerpc/config.powerpc-smp']
+
+[('image', 'powerpc', 'vserver', 'powerpc64')]
+configs: ['powerpc/config.powerpc64']
+
+[('image', 's390')]
+desc-short-part-tape: 'IPL from tape'
+desc-long-part-tape: 'This kernel has support to IPL (boot) from a tape.'
+desc-long-part-reader: 'This kernel has support to IPL (boot) from a VM reader or DASD device.'
+suggests: 's390-tools'
+
+[('image', 's390', None, 's390')]
+desc-parts: ['reader']
+
+[('image', 's390', None, 's390-tape')]
+desc-parts: ['tape']
+override-localversion: 's390'
+type: 'plain-s390-tape'
+initramfs: False
+
+[('image', 's390', None, 's390x')]
+desc-parts: ['reader']
+
+[('image', 'sparc')]
+suggests: 'silo, fdutils'
+type: 'kernel-package'
+
+[('image', 'sparc', None, 'sparc32')]
+image-postproc: 'sparc32-image-postproc'
+
+[('image', 'sparc', 'vserver')]
+recommends: 'util-vserver, libc6-sparc64'
+
+[('image', 'sparc', 'vserver', 'sparc64')]
+configs: ['sparc/config.sparc64-smp']
+
+[('relations',)]
+util-vserver: 'util-vserver (>= 0.30.215)'
+gcc-3.3: 'gcc-3.3'
+yaird: 'yaird (>= 0.0.13)'
+initramfs-fallback: 'linux-initramfs-tool'
+gcc-4.1: 'gcc-4.1'
+gcc-4.0: 'gcc-4.0'
+initramfs-tools: 'initramfs-tools (>= 0.55)'
+
+[('relations', 'hppa')]
+gcc-4.1: 'gcc-4.1, binutils-hppa64, gcc-4.1-hppa64'
+
+[('version',)]
+abiname: '-bpo.2'
+source: '2.6.26-21~bpo40+1'
+
+[('xen',)]
+versions: ['3.2-1']
+
+[('xen', 'amd64', 'xen')]
+flavours: ['amd64']
+
+[('xen', 'i386', 'xen')]
+flavours: ['i386', 'amd64']
+
--- linux-2.6-2.6.26.orig/debian/README.build
+++ linux-2.6-2.6.26/debian/README.build
@@ -0,0 +1,17 @@
+Building kernels from SVN (for official images):
+
+1) Start by downloading a kernel tarball from kernel.org
+   (ie, linux-2.6.25.tar.bz2) and, optionally, a patch
+   (i.e. patch-2.6.26-rc3.bz2).
+
+2) Run ./debian/bin/genorig.py <tarball> [patch]. This will produce
+   ../orig/linux-2.6_<version>.orig.tar.gz
+   (i.e. linux-2.6_2.6.26~rc3.orig.tar.gz).
+
+3) Unpack linux-2.6-<version>.orig.tar.gz, cd into the new directory,
+   and do a 'svn export' to get the debian/ subdirectory.
+   Alternatively unpack using "make -f debian/rules orig".
+
+4) Build debian/control by running 'make -f debian/rules debian/control-real'.
+
+5) .configs will be generated during build.
--- linux-2.6-2.6.26.orig/debian/changelog
+++ linux-2.6-2.6.26/debian/changelog
@@ -0,0 +1,6495 @@
+linux-2.6 (2.6.26-21~bpo40+1) etch-backports; urgency=low
+
+  * Rebuild for etch.
+
+ -- Norbert Tretkowski <nobse@debian.org>  Wed, 20 Jan 2010 13:14:19 +0100
+
+linux-2.6 (2.6.26-21) stable; urgency=high
+
+  [ Ben Hutchings ]
+  * Fix false soft lockup reports for the nohz idle loop
+  * nohz: Fix two bugs that can keep a processor idle and lead to a
+    system hang (may fix #496917, #538158 and others)
+  * usbmidi: Fix crash when device is disconnected (Closes: #513050)
+  * r8169: Apply various upstream bug fixes
+  * r8169: Add support for RTL8101e (v2), RTL8102e (v1,v2,v3),
+    RTL8168c/8111c (v3,v4), RTL8168cp/8111cp (v2,v3), RTL8168d (v1)
+    (Closes: #552465; may fix #516187)
+  * Revert patch to sanitise <linux/socket.h>, which introduced
+    different build failures
+  * usbnet: Set link down initially for drivers that update link state
+    (Closes: #444043)
+  * atl1e: Remove broken implementation of TSO for TCP/IPv6
+    (Closes: #558426) and allow other hardware offloads to be disabled in
+    case they are also buggy
+
+  [ dann frazier ]
+  * floppy: request and release only the ports we actually use
+    (Closes: #332942)
+  * igb: Add 82576 MAC support (Closes: #522922), backport
+    by Ben Hutchings
+  * [SCSI] gdth: Prevent negative offsets in ioctl (CVE-2009-3080)
+  * NFSv4: Fix a problem whereby a buggy server can oops the kernel
+    (CVE-2009-3726)
+  * [SCSI] megaraid_sas: remove sysfs dbg_lvl world writeable permissions
+    (CVE-2009-3889)
+  * isdn: hfc_usb: Fix read buffer overflow (CVE-2009-4005)
+  * fuse: prevent fuse_put_request on invalid pointer (CVE-2009-4021)
+  * hpilo: new PCI ID (Closes: #559064)
+  * Avoid /proc/$pid/maps visibility during initial setuid ELF loading
+    (CVE-2009-2691)
+  * hfs: fix a potential buffer overflow (CVE-2009-4020)
+  * KVM: x86 emulator: limit instructions to 15 bytes (CVE-2009-4031)
+  * firewire: ohci: handle receive packets with a data length of zero
+    (CVE-2009-4138)
+  * ext4: Avoid null pointer dereference when decoding EROFS w/o a journal
+    (CVE-2009-4308)
+  * s390: dasd diag - add support for read-only minidisks (Closes: #550898)
+
+ -- dann frazier <dannf@debian.org>  Sat, 26 Dec 2009 01:06:01 -0700
+
+linux-2.6 (2.6.26-20) stable; urgency=high
+
+  [ Ben Hutchings ]
+  * xen: Fix crash in xen_spin_wait() on busy multiprocessor domain
+    (Closes: #542250), thanks to Nikita V. Youshchenko <yoush@debian.org>
+  * x86: Fix crash in text_poke_early() on 486-class processors
+    (Closes: #515982)
+  * hppa: Ensure TLB purge runs single threaded (Closes: #539215),
+    thanks to Helge Deller <deller@gmx.de>
+  * virtio_balloon: Fix towards_target when deflating balloon
+    (Closes: #544619)
+  * dm-snap: Fix crash when using both snapshot and origin volumes
+    (Closes: #545999)
+  * nfs: Avoid overrun when copying client IP address string
+    (Closes: #549002)
+  * sis190: Correct DMA sync handling on small packets (Closes: #541169)
+  * mmc: Increase power-up delay (Closes: #508599)
+  * v4l2: Improve 32/64-bit ioctl translation (Closes: #508649)
+  * proc: Fix truncation of entries in /proc/*/pagemap on 32-bit
+    architectures (Closes: #511419)
+  * Sanitise <linux/socket.h> and <linux/uio.h> (Closes: #538372)
+  * nfs: Handle -ESTALE error in access() (Closes: #508866)
+  * r8169: Fix rx_missed_errors statistic (Closes: #531932)
+  * hfsplus: Refuse to mount volumes larger than 2TB, which may otherwise
+    be corrupted (Closes: #550010)
+  * acenic: Pass up error code from ace_load_firmware(), avoiding an oops
+    (Closes: #521383)
+  * axnet_cs: Reclaim Netgear FA411 from pcnet_cs (Closes: #550935)
+  * Update bug script from trunk:
+    - Update taint checks
+    - Prompt submitters to run the kernel version they're reporting on
+      or otherwise record boot messages
+    - Include PCI device list even if the running kernel doesn't match
+    - Include model information
+    - Include firmware package status
+    - Include network configuration and status (optional)
+    - Include USB device list
+  * printk: Avoid hanging when logging messages for time adjustment
+    (Closes: #510478)
+
+  [ dann frazier ]
+  * autofs4: don't make expiring dentry negative, avoiding an oops
+    (Closes: #530636)
+  * ocfs/dlm: fix race in dlm_get_lock_resource() which can cause
+    flock() to return EINVAL (Closes: #515741)
+  * Increase default mmap_min_addr from 0 to 4096 (Closes: #541457)
+
+  [ Martin Michlmayr ]
+  * Disable SYS_HAS_EARLY_PRINTK on SGI IP22 to work around a hang
+    during bootup (Closes: #507557)
+  * USB: ftdi_sio: add product_id for Marvell OpenRD Base, Client
+
+  [ maximilian attems ]
+  * [openvz] enable SYSFS_DEPRECATED_V2 for ipv6 tunnels through sit.
+    (closes: #517892)
+	
+  [ Moritz Muehlenhoff ]
+  * nbd: fix I/O hang on disconnected NDBs. (Closes: #550863)
+	
+ -- dann frazier <dannf@debian.org>  Fri, 23 Oct 2009 16:31:23 -0600
+
+linux-2.6 (2.6.26-19lenny2) stable-security; urgency=high
+
+  * tc: Fix uninitialized kernel memory leak (CVE-2009-3228)
+  * random: make get_random_int() more random (CVE-2009-3238)
+  * netlink: fix typo in initialization (CVE-2009-3612)
+  * drm/r128: Add test for initialisation to all ioctls that require it
+    (CVE-2009-3620)
+  * AF_UNIX: Fix deadlock on connecting to shutdown socket (CVE-2009-3621)
+  * fs: pipe.c null pointer dereference (CVE-2009-3547)
+  * KVM: Prevent overflow in KVM_GET_SUPPORTED_CPUID (CVE-2009-3638)
+
+ -- dann frazier <dannf@debian.org>  Wed, 04 Nov 2009 12:33:37 -0700
+
+linux-2.6 (2.6.26-19lenny1) stable-security; urgency=high
+
+  * appletalk: Fix skb leak when ipddp interface is not loaded
+    (CVE-2009-2903)
+  * KVM: x86: Disallow hypercalls for guest callers in rings > 0
+    (CVE-2009-3290)
+  * selinux: prevent local users from bypassing mmap_min_addr
+    in unconfined domains (CVE-2009-2695)
+  * fix information leak in llc_ui_getname (CVE-2009-3001)
+  * net: fix information leak due to uninitialized structures in
+    getname functions (CVE-2009-3002)
+  * eCryptfs: Prevent lower dentry from going negative during unlink
+    (CVE-2009-2908)
+  * net ax25: Fix signed comparison in the sockopt handler (CVE-2009-2909)
+  * x86: Don't leak 64-bit kernel register values to 32-bit processes
+    (CVE-2009-2910)
+  * NFSv4: move iattr & verf attributes of struct nfsd4_open out of the
+    union (CVE-2009-3286)
+  * r8169: use hardware auto padding (CVE-2009-3613)
+
+ -- dann frazier <dannf@debian.org>  Sat, 17 Oct 2009 10:52:13 -0600
+
+linux-2.6 (2.6.26-19) stable; urgency=high
+
+  [ Moritz Muehlenhoff ]
+  * Input: ALPS - add signature for Toshiba Satellite Pro M10
+    (Closes: #434722)
+
+  [ dann frazier ]
+  * aacraid: Fix regression w/ bigmem kernel (Closes: #537771)
+  * [parisc] isa-eeprom - Fix loff_t usage (CVE-2009-2846)
+  * do_sigaltstack: avoid copying 'stack_t' as a structure to user space
+    (CVE-2009-2847)
+  * execve: must clear current->clear_child_tid (CVE-2009-2848)
+  * md: avoid dereferencing NULL pointer when accessing suspend_* sysfs
+    attributes (CVE-2009-2849)
+
+ -- dann frazier <dannf@debian.org>  Tue, 18 Aug 2009 22:45:27 -0600
+
+linux-2.6 (2.6.26-18) stable; urgency=high
+
+  [ maximilian attems ]
+  * [openvz] 19f7f85 net: bridge - process skbs has been already substituted
+    due to via_phys_dev (closes: #532811)
+  * [openvz] b1f08ed net: avoid double free on net->gen pointer on error
+    (closes: #532813)
+  * [openvz] bbbad0a pidns: pi-futex pid check fixup
+
+  [ Martin Michlmayr ]
+  * MIPS: DS1286: New RTC driver
+  * MIPS: IP22/28: Switch over to RTC class driver
+  * [mips/r4k-ip22] Build in RTC_DRV_DS1286. (Closes: #533895)
+
+  [ dann frazier ]
+  * e1000e: add support for 82574L controllers (closes: #534519)
+  * Use -fno-strict-overflow instead of -fwrapv and workaround a
+    regression in fbcon this may introduce if users build custom kernels
+    w/ gcc-4.2 (prebuilt kernels use 4.1) (closes: #536354)
+  * sata_nv: avoid link reset on controllers where it's broken
+    (Closes: #498271, Closes: #501023)
+  * libata: make sure port is thawed when skipping resets. This change
+    avoid regressing #533657 with the fix for #498271.
+  * Add -fno-delete-null-pointer-checks to CFLAGS (Closes: #537617)
+  * Add a backport of bnx2x from 2.6.30 with request_firmware changes
+
+  [ Moritz Muehlenhoff ]
+  * fbdev/atyfb: Fix display corruption on some PowerMacs & PowerBooks
+    (Closes: #420582)
+  * ALSA: hda_intel: enable snoop for NVidia HDA controller (Closes: #521192)
+  * eeepc: Fix oops when changing backlight brightness during init
+    (Closes: #513406)
+  * Emit HPET warning only once to avoid syslog floods, which occur on
+    some systems like HP DC7900 (Closes: #512617)
+  * Fix support for AverMedia AverTV Cardbus Hybrid E506R (Closes: #511385)
+  * ALSA: HDA patch_via.c: Fix inversion of surround and side channels
+    (Closes: #538391)
+  * NTP Adjust SHIFT_PLL to improve NTP convergence (Closes: #527968)
+
+ -- dann frazier <dannf@debian.org>  Fri, 31 Jul 2009 00:12:58 -0600
+
+linux-2.6 (2.6.26-17lenny2) stable-security; urgency=high
+
+  * Make sock_sendpage() use kernel_sendpage() (CVE-2009-2692)
+
+ -- dann frazier <dannf@debian.org>  Thu, 13 Aug 2009 15:41:34 -0600
+
+linux-2.6 (2.6.26-17lenny1) stable-security; urgency=high
+
+  * [KVM] x86: check for cr3 validity in ioctl_set_sregs
+    (CVE-2009-2287)
+  * personality: fix PER_CLEAR_ON_SETID (CVE-2009-1895)
+  * ecryptfs: Check Tag 11 literal data buffer size (CVE-2009-2406)
+  * ecryptfs: check tag 3 package encrypted size (CVE-2009-2407)
+
+ -- dann frazier <dannf@debian.org>  Sat, 25 Jul 2009 15:10:10 -0600
+
+linux-2.6 (2.6.26-17) stable; urgency=high
+
+  * Revert "sata_nv: avoid link reset on controllers where it's broken"
+    due to regression. (closes: #533657)
+
+ -- dann frazier <dannf@debian.org>  Fri, 19 Jun 2009 23:03:53 -0600
+
+linux-2.6 (2.6.26-16) stable; urgency=high
+
+  [ maximilian attems ]
+  * [openvz] 5dcfcf5 NETLINK: disable netns broadcast filtering.
+    (closes: #520551)
+  * Fix SQLite performance regression. (closes: #521420)
+  * [openvz] 0c295ff cfq link cfq_bc_data without bc io sched.
+    (closes: #523364)
+  * [openvz] 7e0f90d cfq: revalidate cached async queue.
+    (closes: #523359)
+  * [openvz] e4cea21 VE: fix idle time accounting.
+  * [openvz] 19b8e13 ptrace: ban ptracing of a container init from inside the
+    container. (closes: #523360)
+  * [openvz] 5b58141 ubc: uncharging too much for TCPSNDBUF.
+  * [openvz] 0ff728e ve: show task's vpid and veid even inside a container.
+
+  [ dann frazier ]
+  * [s390] Fix __div64_31 for CONFIG_MARCH_G5 (Closes: #511334)
+  * SUNRPC: Fix a performance regression in the RPC authentication code
+    (Closes: #524199)
+  * [x86] fix IBM Summit based systems' phys_cpu_present_map on 32-bit
+    kernels (closes: #529312)
+  * Fix soft lockups caused by one md resync blocking on another due
+    to sharing the same device (closes: #514627)
+  * [sparc64] Fix crash when reading /proc/iomem w/ heap memory checking
+    (CVE-2009-1914)
+  * splice: fix deadlock in ocfs2 (CVE-2009-1961)
+  * e1000: add missing length check to e1000 receive routine (CVE-2009-1385)
+  * r8169: fix crash when large packets are received (CVE-2009-1389)
+
+  [ Martin Michlmayr ]
+  * cdc-acm: Add quirk for MTK II GPS, such as Qstarz BT-Q1000X (closes:
+    #525060)
+  * USB: ftdi_sio: add vendor/product id for the Marvell SheevaPlug.
+  * [mipsel/r5k-cobalt] Enable SCSI_SYM53C8XX_2 (closes: #526836).
+  * [mips/r4k-ip22] Enable NET_ISA and various ISA network modules on
+    the request of Damian Dimmich since they might be useful on the
+    SGI Indigo2.
+
+  [ John Wright ]
+  * [x86] gettimeofday() vDSO: fix segfault when tv == NULL (Closes: #466491)
+
+  [ Ian Campbell ]
+  * [x86/xen] Apply missing syscall detection patch to -xen-amd64 image
+    (Closes: #527101)
+  * [xen] Add support for CDROM_GET_CAPABILITY to blkfront driver
+    (Closes: #529864)
+
+  [ Ben Hutchings ]
+  * sata_nv: avoid link reset on controllers where it's broken
+    (Closes: #498271)
+  * r8169: fix multicast filtering for RTL8101 and RTL8168 (Closes: #514268)
+  * asus_acpi: don't load asus-acpi if model is not supported
+    (Closes: #524300)
+  * iwl4965: avoid sleep in softirq context (Closes: #530884)
+
+ -- dann frazier <dannf@debian.org>  Tue, 09 Jun 2009 09:09:27 -0600
+
+linux-2.6 (2.6.26-15lenny3) stable-security; urgency=high
+
+  [ dann frazier ]
+  * Fix selinux panic introduced by the fix for CVE-2009-1184
+    (Closes: #528860)
+  * nfs4: fix MAY_EXEC handling (CVE-2009-1630)
+  * cifs: fix several string conversion issues (CVE-2009-1633)
+
+  [ Ian Campbell ]
+  * xen: Fix missing check of interrupted code's code selector
+    (CVE-2009-1758)
+
+ -- dann frazier <dannf@debian.org>  Thu, 28 May 2009 08:34:15 -0600
+
+linux-2.6 (2.6.26-15lenny2) stable-security; urgency=high
+
+  * mips: implement is_compat_task macro, fixing FTBFS introduced
+    by CVE-2009-0835 fix.
+
+ -- dann frazier <dannf@debian.org>  Mon, 11 May 2009 11:57:56 -0600
+
+linux-2.6 (2.6.26-15lenny1) stable-security; urgency=high
+
+  * copy_process: fix CLONE_PARENT && parent_exec_id interaction
+    (CVE-2009-0028)
+  * [amd64] syscall-audit: fix 32/64 syscall hole (CVE-2009-0834)
+  * seccomp: fix 32/64 syscall hole (CVE-2009-0835)
+  * shm: fix shmctl(SHM_INFO) lockup with !CONFIG_SHMEM (CVE-2009-0859)
+    This issue does not effect pre-build Debian kernels.
+  * Fix an off-by-two memory error in console selection (CVE-2009-1046)
+  * nfsd: drop CAP_MKNOD for non-root (CVE-2009-1072)
+  * af_rose/x25: Sanity check the maximum user frame size (CVE-2009-1265)
+  * KVM: VMX: Don't allow uninhibited access to EFER on i386 (CVE-2009-1242)
+  * exit_notify: kill the wrong capable(CAP_KILL) check (CVE-2009-1337)
+  * Make 'kill sig -1' only apply to caller's namespace (CVE-2009-1338)
+  * cifs: Fix memory overwrite when saving nativeFileSystem field during mount
+    (CVE-2009-1439)
+  * agp: zero pages before sending to userspace (CVE-2009-1192)
+  * Fix unreached code in selinux_ip_postroute_iptables_compat()
+    (CVE-2009-1184)
+
+ -- dann frazier <dannf@debian.org>  Mon, 04 May 2009 16:10:11 -0600
+
+linux-2.6 (2.6.26-15) stable; urgency=high
+
+  * Switch out mips/llseek regression fix for the less invasive one
+    that is more likely to be accepted upstream.
+
+ -- dann frazier <dannf@debian.org>  Wed, 25 Mar 2009 16:48:44 -0600
+
+linux-2.6 (2.6.26-14) stable; urgency=high
+
+  [ Moritz Muehlenhoff ]
+  * Add support for Acer Aspire One with ALC269 codec chip. (Closes: #505250)
+  * Allow authenticated deep NFS mounts, a regression from etch
+    (Closes: #512031)
+  * ALSA HDA hardware support (closes: #514567)
+    - Backport ALSA driver quirks for various HP notebooks
+    - Add appletv support
+    - Fix SPDIF output on AD1989B
+    - Add ALC887 support
+    - Add support for Dell Studio 15
+    - Add support for MEDION MD96630
+    - Support Asus P5Q Premium/Pro boards
+    - Add support for ECS/PC Chips boards with Sigmatel codecs
+    - Add support for Toshiba L305
+  * Add USB mass storage quirk for "Kyocera / Contax SL300R T*" digital
+    cameras. (Closes: #518899)
+  * ALSA: Fix OOPS with MIDI in caiaq driver. (Closes: #518900)
+  * Add USB mass storage quirks (Closes: #520561)
+     - Nikon D300 and Nikon D2H cameras
+     - Mio C520-GPS units and Mio Moov 330 GPS
+     - Nokia phones: 7610, Supernova, 3500c, 3109c, 5300 and 5310
+     - Nokia 6233 (Closes: #493415)
+  * [cifs] Fix oops when mounting servers that don't specify their OS
+    (Closes: #463402)
+  * Remove invalid truesize detection (Closes: #509716)
+
+  [ dann frazier ]
+  * Fix softlockups in sungem driver (Closes: #514624)
+  * intel-agp: Add support for G41 chipset (Closes: #513228)
+  * [openvz] 777e816 Fix wrong size of ub0_percpu.
+    (Closes: #500876, #503097, #514149)
+  * [openvz] b5e1f74 Fix oops in netlink conntrack module when loaded after
+    a ve start (Closes: #511165)
+  * [openvz] 6d18ba3 CPT: revert check on sk_reuse>1 (Closes: #500645)
+  * Fixes for CVE-2009-0029 broke uml compilation; fix.
+  * [openvz] 20bd907 simfs: fix oops if filesystem passes NULL mnt arg to
+    getattr. (Closes: #508773)
+  * Add -fwrapv to CFLAGS to prevent gcc from optimizing out certain
+    wrap tests. (Closes: #520548)
+  * Bump ABI to 2.
+  * [parisc] Fix the loading of large kernel modules (Closes: #401439)
+  * Make the max number of lockd connections configurable and increase
+    the default from 80 to the more reasonable 1024 (Closes: #520379)
+  * [x86, vmi] Fix missing paravirt_release_pmd in pgd_dtor (Closes: #520677)
+  * [mips64] Fix sign extend issue in llseek syscall (Closes: #521016)
+
+  [ Martin Michlmayr ]
+  * rt2x00: Fix VGC lower bound initialization. (Closes: #510607)
+  * sata_mv: Fix 8-port timeouts on 508x/6081 chips (Closes: #514155)
+  * sata_mv: Properly initialize main irq mask.
+  * IP32: Add platform device for CMOS RTC; remove dead code.
+  * [mips/r5k-ip32] Build in RTC_DRV_CMOS. (Closes: #516775)
+  * [arm, armel] Enable USB_HIDDEV. (Closes: #517771)
+  * [arm, armel] Enable various V4L USB devices. (Closes: #518582)
+  * [arm/iop32x, arm/ixp4xx, arm/orion5x] Enable INPUT_JOYDEV, GAMEPORT
+    and INPUT_JOYSTICK (Closes: #520433).
+
+  [ Bastian Blank ]
+  * [sparc] Revert: Reintroduce dummy PCI host controller to workaround broken
+    X.org. Not supportable and breaks to many things.
+  * [amd64] Fix errno on nonexistant syscalls. (closes: #518921)
+
+  [ Ian Campbell ]
+  * [nfs] Backport upstream patches to fix NFS "task blocked for more than 120
+    seconds" issue (Closes: #518431)
+
+  [ Aurelien Jarno ]
+  * [mips/mipsel] Fix errno on inexistent syscalls. (Closes: #520034).
+
+  [ maximilian attems ]
+  * [openvz] 849af42 [UB]: Double free for UDP socket.
+  * [openvz] 7ebcbe3 autofs: fix default pgrp vnr.
+  * [openvz] 17b09e1 conntrack: prevent double allocate/free of protos.
+    (closes: #494445)
+  * [openvz] 7d3f10f conntrack: prevent call register_pernet_subsys() from VE
+    context.
+  * [openvz] 482dd20 conntrack: prevent call nf_register_hooks() from VE
+    context.
+  * [openvz] ff3483a Fix erratum that causes memory corruption.
+  * [openvz] 5fff3eb conntrack: adjust context during freeing.
+  * [openvz] 3cb8bc3 netfilter: NAT: assign nf_nat_seq_adjust_hook from VE0
+    context only.
+  * [openvz] 4909102 netfilter: call nf_register_hooks from VE0 context only.
+  * [openvz] ce67d5b iptables: setup init iptables mask before net
+    initialization.
+  * [openvz] 134416f Correct per-process capabilities bounding set in CT.
+  * [openvz] 029cecb cpt: Make the proper check for sigmask.
+  * [openvz] 86d7416 ms: fix inotify umount.
+  * [openvz] c5c1032 Don't dereference NULL tsk->mm in ve_move_task.
+  * [openvz] 5c591ae bridge: don't leak master device on brctl addif.
+  * [openvz] c578262 net: NETIF_F_VIRTUAL intersects with NETIF_F_LRO.
+  * [openvz] 8aa7044 Fix broken permissions for Unix98 pty.
+  * [openvz] 09686c1 Free skb->nf_bridge in veth_xmit() and venet_xmit().
+  * [openvz] 397500c autofs4: fix ia32 compat mode.
+  * [openvz] 0328e3d pidns: update leader_pid at pidns attach.
+  * [openvz] 66ec7f7 nfs: fix nfs clinet in VE (finally).
+  * [openvz] 4fc3a18 cpt: bump image version to VERSION_26.
+  * [openvz] 2a08380 nfs: add missed ve_nfs.h file.
+  * [openvz] 4c9010e autofs4: pidns friendly oz_mode.
+  * [openvz] 2c1b2f7 conntrack: Allocate/free ve_nf_conntrack_l3proto_ipv6.
+  * [openvz] e29a555 ct: Move _nf_conntrack_l3proto_ipv6 to net namespace.
+  * [openvz] 4355344 conntrack: fix oops in nf_ct_frag6_gather.
+  * [openvz] bd5e806 Add "VE features" for sit and ipip devices.
+  * [openvz] 9baf6095 Simplify call __dev_change_net_namespace() by remove
+    parameters.
+  * [openvz] 35f41f11 Adjust VE before call
+    netdev_unregister_kobject/netdev_register_kobject.
+  * [openvz] 83ea78e netns: fix net_generic array leak.
+  * [openvz] ce67d5b iptables: setup init iptables mask before net
+    initialization.
+  * [openvz] fffc6ff net: set ve context when init/exit method is called.
+    (closes: #517892, #520740)
+  * [openvz] 6b9fe02 vzwdog: walk through the block devices list properly.
+  * [openvz] 6b9fe02 netns: enable cross-ve Unix sockets.
+  * [openvz] 1acba85 netfilter: Fix NULL dereference in nf_nat_setup_info.
+  * [openvz] b405aed netfilter: Add check to the nat hooks.
+  * [openvz] b8b70c7 nfs: Fix access to freed memory.
+  * [openvz] 840ea01 NFS: NFS super blocks in different VEs should be
+    different.
+  * [openvz] 14131d2 ve: sanitize capability checks for namespaces creation.
+  * [openvz] 39bb1ee nfs: Fix nfs_match_client(). (closes: #501985)
+  * [openvz] 32e9103 Add do_ve_enter_hook.
+  * [openvz] d4988b6 Add kthread_create_ve() and kthread_run_ve() functions.
+  * [openvz] ba0ce90 nfs: use kthread_run_ve to start lockd. (closes: #505174)
+  * [openvz] 672ab37 pidns: lost task debug print uses wrong prototype.
+  * [openvz] d876c93 pidns: zap ve process only when killing ve's init pid-ns.
+  * [openvz] 9abe1a6 bc: fix permissions on /proc/bc.
+  * [openvz] Reenable NF_CONNTRACK_IPV6.
+
+ -- dann frazier <dannf@debian.org>  Sun, 22 Mar 2009 14:09:23 -0600
+
+linux-2.6 (2.6.26-13lenny2) stable-security; urgency=high
+
+  * alpha, mips, sparc64: Additional fixes for CVE-2009-0029.
+  * skfp: Fix inverted capabilities check logic (CVE-2009-0675)
+  * ext4: initialize the new group descriptor when resizing
+    (CVE-2009-0745)
+  * ext4: Add sanity check to make_indexed_dir (CVE-2009-0746)
+  * ext4: only use i_size_high for regular files (CVE-2009-0747)
+  * ext4: Add sanity checks for the superblock before mounting the filesystem
+    (CVE-2009-0748)
+
+ -- dann frazier <dannf@debian.org>  Mon, 09 Mar 2009 16:15:05 -0600
+
+linux-2.6 (2.6.26-13lenny1) stable-security; urgency=high
+
+  [ dann frazier ]
+  * sctp: fix memory overflow (CVE-2009-0065)
+  * Fix sign-extend ABI issue w/ system calls on various 64-bit architectures
+    (CVE-2009-0029)
+  * security: introduce missing kfree (CVE-2009-0031)
+  * eCryptfs: check readlink result for error before use (CVE-2009-0269)
+  * dell_rbu: use scnprintf instead of less secure sprintf (CVE-2009-0322)
+  * Fix sensitive memory leak in SO_BSDCOMPAT gsopt (CVE-2009-0676)
+
+ -- dann frazier <dannf@debian.org>  Fri, 27 Feb 2009 11:19:59 -0700
+
+linux-2.6 (2.6.26-13) unstable; urgency=high
+
+  [ dann frazier ]
+  * [hppa] disable UP-optimized flush_tlb_mm, fixing thread-related
+    hangs. (closes: #478717)
+  * cciss: Add PCI ids for P711m and p712m
+  * Fix buffer underflow in the ib700wdt watchdog driver (CVE-2008-5702)
+  * [sparc] Enable CONFIG_FB_XVR500, CONFIG_FB_XVR2500 (Closes: #508108)
+  * [ia64] Add RTC class driver for EFI
+  * [hppa] Fix system crash while unwinding a userspace process
+    (CVE-2008-5395)
+  * Set a minimum timeout for SG_IO requests (CVE-2008-5700)
+
+  [ Bastian Blank ]
+  * Fix multicast in atl1e driver. (closes: #509097)
+
+  [ Moritz Muehlenhoff ]
+  * Fix speaker output on Toshiba P105 notebooks. (closes: #488063)
+  * uvc: Fix incomplete frame drop when switching to a variable
+    size format (closes: #508661)
+  * Allow booting Mach images in KVM (Closes: #498940)
+  * Add workaround for USB storage on Rockchip MP3 player (Closes: #505256)
+  * Enable w9968cf driver on all i386 images (Closes: #495698)
+  * Register DualPoint model found in Dell Latitude E6500 (Closes: #507958)
+  * Disable link tuning in rt2500usb driver. (Closes: #510607)
+  * Fix regressions in eata driver (Closes: #506835)
+  * Skip incompatible fbdev logos (Closes: #508173)
+  * Fix error path in PCI probing of Cyclades driver (Closes: #429011)
+
+  [ Martin Michlmayr ]
+  * V4L/DVB: Fix initialization of URB list (Thomas Reitmayr) to address
+    the oops reported at http://forum.qnap.com/viewtopic.php?f=147&t=10572
+  * Add some patches from the Linux/MIPS linux-2.6.26-stable tree:
+    - Fix potential DOS by untrusted user app (CVE-2008-5701)
+    - o32: Fix number of arguments to splice(2).
+    - 64-bit: vmsplice needs to use the compat wrapper for o32 and N32.
+    - Return ENOSYS from sys32_syscall on 64bit kernels like elsewhere.
+    - Use EI/DI for MIPS R2.
+    - MIPS64R2: Fix buggy __arch_swab64
+    - Add missing calls to plat_unmap_dma_mem.
+    - Only write c0_framemask on CPUs which have this register.
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 10 Jan 2009 13:35:41 +0100
+
+linux-2.6 (2.6.26-12) unstable; urgency=high
+
+  [ Ian Campbell ]
+  * xen: fix ACPI processor throttling for when processor id is -1. (closes: #502849)
+
+  [ dann frazier ]
+  * Make sendmsg() block during UNIX garbage collection (CVE-2008-5300)
+  * Fix race conditions between inotify removal and umount (CVE-2008-5182)
+  * Fix DoS when calling svc_listen twice on the same socket while reading
+    /proc/net/atm/*vc (CVE-2008-5079)
+
+  [ Bastian Blank ]
+  * [openvz, vserver] Fix descriptions.
+  * [sparc] Enable Sun Logical Domains support. (closes: #501684)
+  * Fix coexistence of pata_marvell and ahci. (closes: #507432)
+  * [sparc] Support Intergraph graphics chips. (closes: #508108)
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 15 Dec 2008 12:57:18 +0100
+
+linux-2.6 (2.6.26-11) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * [sparc] Reintroduce dummy PCI host controller to workaround broken X.org.
+  * [sparc] Fix size checks in PCI maps.
+  * Add stable release 2.6.26.8:
+    - netfilter: restore lost ifdef guarding defrag exception
+    - netfilter: snmp nat leaks memory in case of failure
+    - netfilter: xt_iprange: fix range inversion match
+    - ACPI: dock: avoid check _STA method
+    - ACPI: video: fix brightness allocation
+    - sparc64: Fix race in arch/sparc64/kernel/trampoline.S
+    - math-emu: Fix signalling of underflow and inexact while packing result.
+    - tcpv6: fix option space offsets with md5
+    - net: Fix netdev_run_todo dead-lock
+    - scx200_i2c: Add missing class parameter
+    - DVB: s5h1411: Power down s5h1411 when not in use
+    - DVB: s5h1411: Perform s5h1411 soft reset after tuning
+    - DVB: s5h1411: bugfix: Setting serial or parallel mode could destroy bits
+    - V4L: pvrusb2: Keep MPEG PTSs from drifting away
+    - ACPI: Always report a sync event after a lid state change
+    - ALSA: use correct lock in snd_ctl_dev_disconnect()
+    - file caps: always start with clear bprm->caps_*
+    - libertas: fix buffer overrun
+    - net: Fix recursive descent in __scm_destroy().
+    - SCSI: qla2xxx: Skip FDMI registration on ISP21xx/22xx parts.
+      (Closes: #502552)
+    - edac cell: fix incorrect edac_mode
+    - ext[234]: Avoid printk floods in the face of directory corruption
+      (CVE-2008-3528)
+    - gpiolib: fix oops in gpio_get_value_cansleep()
+  * Override ABI changes.
+  * [xen] Update description. (closes: #505961)
+  * Revert parts of 2.6.26.6 to fix resume breakage. (closes: #504167)
+    - clockevents: prevent multiple init/shutdown
+    - clockevents: broadcast fixup possible waiters
+
+  [ dann frazier ]
+  * Fix buffer overflow in hfsplus (CVE-2008-4933)
+  * Fix BUG() in hfsplus (CVE-2008-4934)
+  * Fix stack corruption in hfs (CVE-2008-5025)
+  * Fix oops in tvaudio when controlling bass/treble (CVE-2008-5033)
+
+  [ Martin Michlmayr ]
+  * [arm/iop32x, arm/ixp4xx, arm/orion5x] Enable support for more partition
+    tables, including MAC_PARTITION (requested by Benoît Knecht).
+  * leds-pca9532: Fix memory leak and properly handle errors (Sven Wegener)
+  * leds-pca9532: Move i2c work to a workqueque (Riku Voipio). (closes:
+    #506116)
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 26 Nov 2008 11:43:48 +0100
+
+linux-2.6 (2.6.26-10) unstable; urgency=low
+
+  [ dann frazier ]
+  * sctp: Fix possible kernel panic in sctp_sf_abort_violation (CVE-2008-4618)
+
+  [ Martin Michlmayr ]
+  * DNS-323: add support for revision B1 machines (Matthew Palmer).
+  * ext3/ext4: Add support for non-native signed/unsigned htree hash
+    algorithms (Theodore Ts'o). (closes: #493957)
+  * [arm/ixp4xx] Enable USB_ACM (closes: #504723).
+
+  [ Bastian Blank ]
+  * agp: Fix stolen memory counting on Intel G4X. (closes: #502606)
+  * Add stable release 2.6.26.7:
+    - security: avoid calling a NULL function pointer in drivers/video/tvaudio.c
+    - DVB: au0828: add support for another USB id for Hauppauge HVR950Q
+    - drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831)
+    - ACPI: Ignore _BQC object when registering backlight device
+    - hwmon: (it87) Prevent power-off on Shuttle SN68PT
+    - Check mapped ranges on sysfs resource files
+    - x86: avoid dereferencing beyond stack + THREAD_SIZE
+    - PCI: disable ASPM on pre-1.1 PCIe devices
+    - PCI: disable ASPM per ACPI FADT setting
+    - V4L/DVB (9053): fix buffer overflow in uvc-video
+    - V4L/DVB (8617): uvcvideo: don't use stack-based buffers for USB transfers.
+    - V4L/DVB (8498): uvcvideo: Return sensible min and max values when querying
+      a boolean control.
+    - V4L: zr36067: Fix RGBR pixel format
+    - V4L: bttv: Prevent NULL pointer dereference in radio_open
+    - libata: fix EH action overwriting in ata_eh_reset()
+    - libata: always do follow-up SRST if hardreset returned -EAGAIN
+    - fbcon_set_all_vcs: fix kernel crash when switching the rotated consoles
+    - modules: fix module "notes" kobject leak
+    - b43legacy: Fix failure in rate-adjustment mechanism
+    - CIFS: make sure we have the right resume info before calling CIFSFindNext
+    - sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq
+    - tty: Termios locking - sort out real_tty confusions and lock reads
+    - x86, early_ioremap: fix fencepost error
+    - x86: improve UP kernel when CPU-hotplug and SMP is enabled
+    - x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap.
+  * [xen] Remove pte file workaround.
+
+  [ Ian Campbell ]
+  * [xen] Disable usage of PAT. (closes: #503821)
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 08 Nov 2008 10:50:58 +0100
+
+linux-2.6 (2.6.26-9) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.26.6:
+    - mm owner: fix race between swapoff and exit
+    - rtc: fix kernel panic on second use of SIGIO nofitication
+    - fbcon: fix monochrome color value calculation
+    - ALSA: snd-powermac: HP detection for 1st iMac G3 SL
+    - ALSA: snd-powermac: mixers for PowerMac G4 AGP
+    - sparc64: Fix missing devices due to PCI bridge test in
+      of_create_pci_dev().
+    - sparc64: Fix disappearing PCI devices on e3500.
+    - sparc64: Fix OOPS in psycho_pcierr_intr_other().
+    - sparc64: Fix interrupt register calculations on Psycho and Sabre.
+    - sparc64: Fix PCI error interrupt registry on PSYCHO.
+    - udp: Fix rcv socket locking
+    - sctp: Fix oops when INIT-ACK indicates that peer doesn't support AUTH
+      (CVE-2008-4576)
+    - sctp: do not enable peer features if we can't do them.
+    - ipsec: Fix pskb_expand_head corruption in xfrm_state_check_space
+    - netlink: fix overrun in attribute iteration
+    - niu: panic on reset
+    - ipv6: Fix OOPS in ip6_dst_lookup_tail().
+    - XFRM,IPv6: initialize ip6_dst_blackhole_ops.kmem_cachep
+    - af_key: Free dumping state on socket close
+    - pcmcia: Fix broken abuse of dev->driver_data
+    - clockevents: remove WARN_ON which was used to gather information
+    - ntp: fix calculation of the next jiffie to trigger RTC sync
+    - x86: HPET: read back compare register before reading counter
+    - x86: HPET fix moronic 32/64bit thinko
+    - clockevents: broadcast fixup possible waiters
+    - HPET: make minimum reprogramming delta useful
+    - clockevents: prevent endless loop lockup
+    - clockevents: prevent multiple init/shutdown
+    - clockevents: enforce reprogram in oneshot setup
+    - clockevents: prevent endless loop in periodic broadcast handler
+    - clockevents: prevent clockevent event_handler ending up handler_noop
+    - x86: fix memmap=exactmap boot argument
+    - x86: add io delay quirk for Presario F700
+    - ACPI: Avoid bogus EC timeout when EC is in Polling mode
+    - x86: fix SMP alternatives: use mutex instead of spinlock, text_poke is
+      sleepable
+    - rtc: fix deadlock
+    - mm: dirty page tracking race fix
+    - x86-64: fix overlap of modules and fixmap areas
+    - x86: PAT proper tracking of set_memory_uc and friends
+    - x86: fix oprofile + hibernation badness
+    - x86: fdiv bug detection fix
+    - rt2x00: Use ieee80211_hw->workqueue again
+    - x86: Fix 27-rc crash on vsmp due to paravirt during module load
+    - sg: disable interrupts inside sg_copy_buffer
+    - ocfs2: Increment the reference count of an already-active stack.
+    - APIC routing fix
+    - sched: fix process time monotonicity
+    - block: submit_bh() inadvertently discards barrier flag on a sync write
+    - x64, fpu: fix possible FPU leakage in error conditions
+    - x86-64: Clean up save/restore_i387() usage
+    - KVM: SVM: fix guest global tlb flushes with NPT
+    - KVM: SVM: fix random segfaults with NPT enabled
+    - ALSA: remove unneeded power_mutex lock in snd_pcm_drop
+    - ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*()
+    - ALSA: oxygen: fix distorted output on AK4396-based cards
+    - ALSA: hda - Fix model for Dell Inspiron 1525
+    - SCSI: qla2xxx: Defer enablement of RISC interrupts until ISP
+      initialization completes.
+    - USB: fix hcd interrupt disabling
+    - smb.h: do not include linux/time.h in userspace
+    - pxa2xx_spi: fix build breakage
+    - pxa2xx_spi: chipselect bugfixes
+    - pxa2xx_spi: dma bugfixes
+    - mm: mark the correct zone as full when scanning zonelists
+    - async_tx: fix the bug in async_tx_run_dependencies
+    - drivers/mmc/card/block.c: fix refcount leak in mmc_block_open()
+    - ixgbe: initialize interrupt throttle rate
+    - i2c-dev: Return correct error code on class_create() failure
+    - x86-32: AMD c1e force timer broadcast late
+  * [x86] Update patch to detect not properly announced cmos RTC devices.
+  * [xen] Overtake hvc console by default.
+
+  [ maximilian attems ]
+  * [openvz] ip: NULL pointer dereferrence in tcp_v(4|6)_send_ack
+    (closes: #500472)
+  * [openvz] unset NF_CONNTRACK_IPV6 for now until abi bump.
+
+  [ Stephen R. Marenka ]
+  * [m68k] add patches to fix atari ethernec per Michael Schmitz:
+    atari-ethernec-IRQF_SHARED.diff and atari-ethernec-fixes.diff.
+  * [m68k] add mac-esp-fix-for-quadras-with-two-esp-chips.diff to fix macs
+    with dual scsi busses and a problem with xorg, per Finn Thain.
+  * [m68k] add atari-atari_keyb_init-operator-precedence.diff per
+    Michael Schmitz.
+  * [m68k] more mac patches, per Finn Thain.
+
+  [ Martin Michlmayr ]
+  * [arm/ixp4xx] Enable USB_ATM and USB_SPEEDTOUCH (closes: #502182).
+  * [arm/iop32x, arm/orion5x] Likewise.
+  * DNS-323: read MAC address from flash (Matthew Palmer).
+
+  [ dann frazier ]
+  * Restrict access to the DRM_I915_HWS_ADDR ioctl (CVE-2008-3831)
+  * Don't allow splicing to files opened with O_APPEND (CVE-2008-4554)
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 18 Oct 2008 12:14:22 +0200
+
+linux-2.6 (2.6.26-8) unstable; urgency=medium
+
+  [ dann frazier ]
+  * [x86] Fix broken LDT access in VMI (CVE-2008-4410)
+  * ata: Fix off-by-one-error that causes errors when reading a
+    block on the LBA28-LBA48 boundary
+  * [s390] prevent ptrace padding area read/write in 31-bit mode
+    (CVE-2008-1514)
+
+  [ Bastian Blank ]
+  * Fix generation of i386 Xen image information.
+  * [i386] Restrict the usage of long NOPs. (closes: #464962)
+  * Fix access to uninitialized user keyring. (closes: #500279)
+  * [x86] Fix detection of non-PNP RTC devices. (closes: #499230)
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 09 Oct 2008 12:07:21 +0200
+
+linux-2.6 (2.6.26-7) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * [xen] Add SuSE Xen patch. (closes: #495895)
+  * Only register notifiers in braille console if used, fixes Insert key.
+    (closes: #494374)
+  * Fix ACPI EC GPE storm detection. (closes: #494546)
+  * Disable useless support for ISP1760 USB host controller.
+    (closes: #498304)
+  * rt61pci: Add a sleep after firmware upload. (closes: #498828)
+
+  [ Stephen R. Marenka ]
+  * [m68k] Set CONFIG_ATARI_ETHERNEC=m for atari, since it only works
+    in modular form.
+  * [m68k] Enable CONFIG_ADB_PMU68K=y for mac.
+  * [m68k] Add atari-aranym-nf-wrappers.diff patch to fix atari LBD
+    problems, set CONFIG_LBD=y for atari.
+
+  [ Martin Michlmayr ]
+  * [arm/orion5x] Enable CONFIG_ATALK (requested by Ben Schwarz).
+  * [arm/versatile] Enable CONFIG_VFP. (closes: #499463)
+  * ath5k: Fix bad udelay calls on AR5210 code (Nick Kossifidis).
+  * [arm] No longer disable ATH5K.
+
+  [ dann frazier ]
+  * Add missing capability checks in sbni_ioctl (CVE-2008-3525)
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 01 Oct 2008 09:02:30 +0200
+
+linux-2.6 (2.6.26-6) unstable; urgency=low
+
+  [ maximilian attems ]
+  * [openvz] Enable checkpointing. (closes: #497292)
+
+  [ Bastian Blank ]
+  * Allow forced module loading again. (closes: #494144)
+  * Set IEEE 802.11 (wireless) regulatory domain default to EU.
+    (closes: #497971)
+  * [i386] Enable IDE ACPI support. Override ABI changes. (closes: #470528)
+  * [i386/686-bigmem] Promote to generic subarch. (closes: #476120)
+
+  [ Martin Michlmayr ]
+  * Fix dead 21041 ethernet after ifconfig down (Thomas Bogendoerfer).
+
+  [ dann frazier ]
+  * [hppa] Enable the FPU before using it, fixes booting on A500s
+    with our CONFIG_PRINTK_TIME=y setting. (closes: #499458)
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 24 Sep 2008 12:06:47 +0200
+
+linux-2.6 (2.6.26-5) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * Backport power-off method for Kurobox Pro.
+  * [arm/versatile] Really enable CONFIG_RTC_DRV_PL031 (closes: #484432).
+
+  [ Stephen R. Marenka ]
+  * [m68k] Set CONFIG_LBD=n for atari, since it conflicts with nfblock.
+
+  [ Bastian Blank ]
+  * Reenable SiS SATA support. (closes: #496603)
+  * [amd64,i386] Disable new-style SiS PATA support.
+  * Add stable release 2.6.26.4:
+    - sata_mv: don't issue two DMA commands concurrently
+    - KVM: MMU: Fix torn shadow pte
+    - x86: work around MTRR mask setting, v2
+    - nfsd: fix buffer overrun decoding NFSv4 acl (CVE-2008-3915)
+    - sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports
+      (CVE-2008-3911)
+    - r8169: balance pci_map / pci_unmap pair
+    - tg3: Fix firmware event timeouts
+    - crypto: authenc - Avoid using clobbered request pointer
+    - sparc64: Fix cmdline_memory_size handling bugs.
+    - sparc64: Fix overshoot in nid_range().
+    - ipsec: Fix deadlock in xfrm_state management. (closes: #497796)
+    - sctp: fix random memory dereference with SCTP_HMAC_IDENT option.
+    - sctp: correct bounds check in sctp_setsockopt_auth_key
+    - sch_prio: Fix nla_parse_nested_compat() regression
+    - sctp: add verification checks to SCTP_AUTH_KEY option
+    - sctp: fix potential panics in the SCTP-AUTH API.
+    - udp: Drop socket lock for encapsulated packets
+    - pkt_sched: Fix actions referencing
+    - pkt_sched: Fix return value corruption in HTB and TBF.
+    - netns: Add network namespace argument to rt6_fill_node() and
+      ipv6_dev_get_saddr()
+    - ipv6: Fix OOPS, ip -f inet6 route get fec0::1, linux-2.6.26,
+      ip6_route_output, rt6_fill_node+0x175 (CVE-2008-3686)
+    - AX.25: Fix sysctl registration if !CONFIG_AX25_DAMA_SLAVE
+    - mm: make setup_zone_migrate_reserve() aware of overlapping nodes
+    - 8250: improve workaround for UARTs that don't re-assert THRE correctly
+    - rtc_time_to_tm: fix signed/unsigned arithmetic
+    - drivers/char/random.c: fix a race which can lead to a bogus BUG()
+    - cifs: fix O_APPEND on directio mounts
+    - atl1: disable TSO by default
+    - forcedeth: fix checksum flag
+    - bio: fix bio_copy_kern() handling of bio->bv_len
+    - bio: fix __bio_copy_iov() handling of bio->bv_len
+    - ALSA: oxygen: prevent muting of nonexistent AC97 controls
+    - S390 dasd: fix data size for PSF/PRSSD command
+    - x86: fix "kernel won't boot on a Cyrix MediaGXm (Geode)"
+    - x86: work around MTRR mask setting
+    - USB: cdc-acm: don't unlock acm->mutex on error path
+    - binfmt_misc: fix false -ENOEXEC when coupled with other binary handlers
+    - fbdefio: add set_page_dirty handler to deferred IO FB
+    - eeepc-laptop: fix use after free
+    - PCI: fix reference leak in pci_get_dev_by_id()
+    - cramfs: fix named-pipe handling
+  * Override ABI changes.
+  * [hppa] Disable new-style RTC support. Override ABI changes.
+
+  [ maximilian attems ]
+  * openvz: Add upstream fixes up to 24cebf40278cb071ff8b. (closes: #497528)
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 10 Sep 2008 12:55:16 +0200
+
+linux-2.6 (2.6.26-4) unstable; urgency=low
+
+  [ maximilian attems ]
+  * x86: Reset ACPI_PROCFS_POWER for Lenny as buggy apps depend on it.
+    (closes: #495541)
+  * x86: ACPI: Fix thermal shutdowns
+  * openvz: Add upstream fixes up to 0f14912e3d2251aff. (closes: #494384)
+  * Add stable release 2.6.26.3:
+    - USB: fix interface unregistration logic
+    - usb-storage: unusual_devs entries for iRiver T10 and Datafab CF+SM reader
+    - usb-serial: don't release unregistered minors
+    - usb-storage: revert DMA-alignment change for Wireless USB
+    - usb-storage: automatically recognize bad residues
+    - USB: ftdi_sio: Add USB Product Id for ELV HS485
+    - qla2xxx: Set an rport's dev_loss_tmo value in a consistent manner.
+    - dccp: change L/R must have at least one byte in the dccpsf_val field
+      (CVE-2008-3276)
+    - KVM: Avoid instruction emulation when event delivery is pending
+    - cs5520: add enablebits checking
+    - acer-wmi: Fix wireless and bluetooth on early AMW0 v2 laptops
+    - USB: usb-storage: quirk around v1.11 firmware on Nikon D4
+    - radeonfb: fix accel engine hangs
+    - radeon: misc corrections
+    - sparc64: Fix global reg snapshotting on self-cpu.
+    - sparc64: Do not clobber %g7 in setcontext() trap.
+    - sparc64: Fix end-of-stack checking in save_stack_trace().
+    - sparc64: Fix recursion in stack overflow detection handling.
+    - sparc64: Make global reg dumping even more useful.
+    - sparc64: Implement IRQ stacks.
+    - sparc64: Handle stack trace attempts before irqstacks are setup.
+    - PCI: Limit VPD length for Broadcom 5708S
+    - ide: it821x in pass-through mode segfaults in 2.6.26-stable
+    - syncookies: Make sure ECN is disabled
+    - USB: ftdi_sio: add support for Luminance Stellaris Evaluation/Development
+      Kits
+    - i2c: Fix NULL pointer dereference in i2c_new_probed_device
+    - SCSI: hptiop: add more PCI device IDs
+    - SCSI: ses: fix VPD inquiry overrun
+    - SCSI: scsi_transport_spi: fix oops in revalidate
+    - CIFS: Fix compiler warning on 64-bit
+    - x86: fix spin_is_contended()
+    - matrox maven: fix a broken error path
+    - i2c: Let users select algorithm drivers manually again
+    - CIFS: properly account for new user= field in SPNEGO upcall string
+      allocation
+    - x86: fix setup code crashes on my old 486 box
+    - KVM: ia64: Fix irq disabling leak in error handling code
+    - mlock() fix return values
+    - rtl8187: Fix lockups due to concurrent access to config routine
+    - KVM: task switch: segment base is linear address
+    - KVM: task switch: use seg regs provided by subarch instead of reading
+      from GDT
+    - KVM: task switch: translate guest segment limit to virt-extension byte
+      granular field
+    - r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06
+    - sparc64: FUTEX_OP_ANDN fix
+    - posix-timers: do_schedule_next_timer: fix the setting of ->si_overrun
+    - posix-timers: fix posix_timer_event() vs dequeue_signal() race
+    - vt8623fb: fix kernel oops
+    - ide-cd: fix endianity for the error message in cdrom_read_capacity
+    - qla2xxx: Add dev_loss_tmo_callbk/terminate_rport_io callback support.
+    - random32: seeding improvement
+    - CIFS: mount of IPC$ breaks with iget patch
+    - CIFS: if get root inode fails during mount, cleanup tree connection
+    - crypto: padlock - fix VIA PadLock instruction usage with
+      irq_ts_save/restore()
+    - ipvs: Fix possible deadlock in estimator code
+    - SCSI: block: Fix miscalculation of sg_io timeout in CDROM_SEND_PACKET
+      handler.
+    - ALSA: asoc: restrict sample rate and size in Freescale MPC8610 sound
+      drivers
+    - ALSA: ASoC: fix SNDCTL_DSP_SYNC support in Freescale 8610 sound drivers
+    - USB: pl2023: Remove USB id (4348:5523) handled by ch341
+    - relay: fix "full buffer with exactly full last subbuffer" accounting
+      problem
+    - ipv6: Fix ip6_xmit to send fragments if ipfragok is true
+    - x86: amd opteron TOM2 mask val fix
+
+  [ dann frazier ]
+  * [ia64] Fix boot-time hang w/ PRINTK_TIME by ensuring that cpu0 can access
+    per-cpu vars in early boot
+  * delay calls to sched_clock() until after sched_clock_init() to prevent
+    inaccurate printk timings on ia64 and presumably other architectures
+
+  [ Ian Campbell ]
+  * [xen] import upstream fix to fb-defio driver used by Xen framebuffer.
+
+  [ Bastian Blank ]
+  * [powerpc] Enable proper RTC support. (closes: #484693)
+
+  [ Martin Michlmayr ]
+  * Add Marvell Orion fixes:
+    - sata_mv: add the Gen IIE flag to the SoC devices.
+    - sata_mv: don't avoid clearing interrupt status on SoC host adapters
+
+  [ dann frazier ]
+  * Fix overflow condition in sctp_setsockopt_auth_key (CVE-2008-3526)
+  * Fix panics that may occur if SCTP AUTH is disabled (CVE-2008-3792)
+  * [x86] Fix memory leak in the copy_user routine
+    (CVE-2008-0598, closes: #490910)
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 28 Aug 2008 08:46:42 +0200
+
+linux-2.6 (2.6.26-3) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Disable Emagic Audiowerk 2 soundcard support. The PCI IDs clashes with
+    many DVB cards.
+  * Update VServer patch to 2.3.0.35.
+  * [armel/versatile] Override ABI changes.
+  * [i386/686-bigmem] Add VServer image.
+
+  [ Aurelien Jarno ]
+  * [armel/versatile] Disable CONFIG_NO_HZ, CONFIG_HIGH_RES_TIMERS for
+    dynticks. (closes: #494842)
+
+  [ Martin Michlmayr ]
+  * Fix PCIe on the Kurobox Pro (Lennert Buytenhek).
+  * Fix regressions caused by the "use software GSO for SG+CSUM capable
+    netdevices" patch:
+    - loopback: Enable TSO (Herbert Xu)
+    - net: Preserve netfilter attributes in skb_gso_segment using
+      __copy_skb_header (Herbert Xu)
+
+  [ dann frazier ]
+  * [amd64] Fix typo in TOM2 mask value, preventing a hang on some opteron
+    systems. (closes: #494365)
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 18 Aug 2008 15:34:38 +0200
+
+linux-2.6 (2.6.26-2) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * [powerpc] Install arch/powerpc/lib/crtsavres.o into the headers, it is
+    used during module linking.
+  * Add stable release 2.6.26.1:
+    - Fix off-by-one error in iov_iter_advance()
+    - ath5k: don't enable MSI, we cannot handle it yet
+    - b43legacy: Release mutex in error handling code
+    - cpufreq acpi: only call _PPC after cpufreq ACPI init funcs got called already
+    - VFS: increase pseudo-filesystem block size to PAGE_SIZE
+    - markers: fix markers read barrier for multiple probes
+    - tmpfs: fix kernel BUG in shmem_delete_inode
+    - mpc52xx_psc_spi: fix block transfer
+    - ixgbe: remove device ID for unsupported device
+    - UML - Fix boot crash
+    - eCryptfs: use page_alloc not kmalloc to get a page of memory
+    - x86: fix kernel_physical_mapping_init() for large x86 systems
+    - DVB: cx23885: SRAM changes for the 885 and 887 silicon parts
+    - DVB: cx23885: Reallocated the sram to avoid concurrent VIDB/C issues
+    - DVB: cx23885: DVB Transport cards using DVB port VIDB/TS1 did not stream
+    - DVB: cx23885: Ensure PAD_CTRL is always reset to a sensible default
+    - V4L: cx23885: Bugfix for concurrent use of /dev/video0 and /dev/video1
+    - V4L: saa7134: Copy tuner data earlier to avoid overwriting manual tuner type
+    - V4L: uvcvideo: Add support for Medion Akoya Mini E1210 integrated webcam
+    - V4L: uvcvideo: Make input device support optional
+    - V4L: uvcvideo: Don't free URB buffers on suspend
+    - V4L: uvcvideo: Use GFP_NOIO when allocating memory during resume
+    - V4L: uvcvideo: Fix a buffer overflow in format descriptor parsing
+    - DVB: dib0700: add support for Hauppauge Nova-TD Stick 52009
+    - V4L: cx18: Upgrade to newer firmware & update documentation
+    - ALSA: trident - pause s/pdif output
+    - myri10ge: do not use mgp->max_intr_slots before loading the firmware
+    - myri10ge: do not forget to setup the single slice pointers
+    - iop-adma: fix platform driver hotplug/coldplug
+    - sparc64: Do not define BIO_VMERGE_BOUNDARY.
+    - sparc64: Fix cpufreq notifier registry.
+    - sparc64: Fix lockdep issues in LDC protocol layer.
+    - tcp: Clear probes_out more aggressively in tcp_ack().
+    - ARM: fix fls() for 64-bit arguments
+    - vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section
+    - rtc-at91rm9200: avoid spurious irqs
+    - ide-cd: fix oops when using growisofs
+    - x86: fix crash due to missing debugctlmsr on AMD K6-3
+    - cpusets: fix wrong domain attr updates
+    - proc: fix /proc/*/pagemap some more
+    - Fix build on COMPAT platforms when CONFIG_EPOLL is disabled
+    - markers: fix duplicate modpost entry
+    - x86, suspend, acpi: enter Big Real Mode
+    - USB: fix usb serial pm counter decrement for disconnected interfaces
+    - x86 reboot quirks: add Dell Precision WorkStation T5400
+    - Fix typos from signal_32/64.h merge
+    - rcu: fix rcu_try_flip_waitack_needed() to prevent grace-period stall
+    - Patch Upstream: x86 ptrace: fix PTRACE_GETFPXREGS error
+    - KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts
+    - KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction
+    - KVM: x86 emulator: Fix HLT instruction
+    - KVM: VMX: Add ept_sync_context in flush_tlb
+    - KVM: mmu_shrink: kvm_mmu_zap_page requires slots_lock to be held
+    - KVM: SVM: fix suspend/resume support
+    - KVM: VMX: Fix a wrong usage of vmcs_config
+    - isofs: fix minor filesystem corruption
+    - quota: fix possible infinite loop in quota code
+    - hdlcdrv: Fix CRC calculation.
+    - ipv6: __KERNEL__ ifdef struct ipv6_devconf
+    - ipv6: use timer pending
+    - udplite: Protection against coverage value wrap-around
+    - pxamci: trivial fix of DMA alignment register bit clearing
+  * [sparc] Install asm-sparc headers again.
+  * Force RTC on by default and set clock on startup. Override ABI changes.
+  * [i386, amd64] Make the CMOS RTC support builtin. (closes: #493567)
+  * Add stable release 2.6.26.2:
+    - sound: ensure device number is valid in snd_seq_oss_synth_make_info
+    - Ath5k: kill tasklets on shutdown
+    - Ath5k: fix memory corruption
+    - vfs: fix lookup on deleted directory
+    - ALSA: emu10k1 - Fix inverted Analog/Digital mixer switch on Audigy2
+    - ALSA: hda - Add missing Thinkpad Z60m support
+    - ALSA: hda - Fix DMA position inaccuracy
+    - ALSA: hda - Fix wrong volumes in AD1988 auto-probe mode
+    - Add compat handler for PTRACE_GETSIGINFO
+    - Bluetooth: Signal user-space for HIDP and BNEP socket errors
+    - Input: i8042 - add Acer Aspire 1360 to nomux blacklist
+    - Input: i8042 - add Gericom Bellagio to nomux blacklist
+    - Input: i8042 - add Intel D845PESV to nopnp list
+    - jbd: fix race between free buffer and commit transaction
+    - NFS: Ensure we zap only the access and acl caches when setting new acls
+    - SCSI: ch: fix ch_remove oops
+    - linear: correct disk numbering error check
+    - netfilter: xt_time: fix time's time_mt()'s use of do_div()
+    - Kprobe smoke test lockdep warning
+    - Close race in md_probe
+    - x86: io delay - add checking for NULL early param
+    - x86: idle process - add checking for NULL early param
+    - SCSI: bsg: fix bsg_mutex hang with device removal
+    - netfilter: nf_nat_sip: c= is optional for session
+    - romfs_readpage: don't report errors for pages beyond i_size
+    - ftrace: remove unneeded documentation
+
+  [ Martin Michlmayr ]
+  * METH: fix MAC address setup (Thomas Bogendoerfer)
+  * Export the reset button of the QNAP TS-409.
+  * net: use software GSO for SG+CSUM capable netdevices (Lennert Buytenhek)
+
+  [ dann frazier ]
+  * device_create interface changed between 2.6.26 and 2.6.27; adjust hpilo
+    backport appropriately. Fixes a NULL pointer dereference in ilo_probe().
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 08 Aug 2008 08:09:00 +0200
+
+linux-2.6 (2.6.26-1) unstable; urgency=low
+
+  * New upstream release see http://kernelnewbies.org/Linux_2_6_26
+    - UDF 2.50 support. (closes: #480910)
+    - mmc: increase power up delay (closes: #481190)
+    - snd-hda-intel suspend troubles fixed. (closes: #469727, #481613, #480034)
+    - cifs QueryUnixPathInfo fix (closes: #480995)
+    - r8169 oops in r8169_get_mac_version (closes: #471892)
+    - netfilter headers cleanup (closes: #482331)
+    - iwlwifi led support (closes: #469095)
+    - ath5k associates on AR5213A (closes: #463785)
+    - T42 suspend fix (closes: #485873)
+    - cpuidle acpi driver: fix oops on AC<->DC (closes: #477201)
+    - opti621 ide fixes (closes: #475561)
+    - ssh connection hangs with mac80211 (closes: #486089)
+    - ocfs2: Allow uid/gid/perm changes of symlinks (closes: #479475)
+    - xircom_tulip_cb: oboslete driver removed (closes: #416900)
+    - r8169 properly detect link status (closes: #487586)
+    - iwl3945 connection + support fixes (closes: #481436, #482196)
+    - longrun cpufreq min freq fix (closes: #468149)
+    - emux midi synthesizer SOFT_PEDAL-release event (closes: #474312)
+    - vmemmap fixes to use smaller pages (closes: #483489)
+    - x86 freeze fixes (closes: #482100, #482074)
+    - xen boot failure fix (closes: #488284)
+    - gdb read floating-point and SSE registers (closes: #485375)
+    - USB_PERSIST is default on (closes: #489963)
+    - alsa snd-hda Dell Inspiron fix (closes: #490649)
+    - ipw2200: queue direct scans (closes: #487721)
+    - better gcc-4.3 support (closes: #492301)
+    - iwl3945 monitor mode. (closes: #482387)
+
+  [ maximilian attems ]
+  * topconfig set CRYPTO_CTS, SND_PCSP, SND_AW2, IWL4965_LEDS, IWL3945_LEDS,
+    RT2400PCI_LEDS, RT2500PCI_LEDS, RT61PCI_LEDS, RT2500USB_LEDS,
+    RT73USB_LEDS, NF_CT_PROTO_DCCP, BRIDGE_EBT_NFLOG, IWLWIFI_RFKILL,
+    USB_SERIAL_SPCP8X5, USB_STORAGE_CYPRESS_ATACB, DVB_ISL6405, DVB_AU8522,
+    VIDEO_EM28XX_DVB, VIDEO_CX18, VIDEO_AU0828, SOC_CAMERA_MT9M001,
+    SOC_CAMERA_MT9V022, DVB_TUNER_ITD1000, VIDEO_PVRUSB2_DVB, USB_C67X00_HCD,
+    USB_ISP1760_HCD, HTC_PASIC3, I2C_PCA_PLATFORM, TOUCHSCREEN_WM97XX,
+    JOYSTICK_ZHENHUA, SFC, ACCESSIBILITY, UIO_SMX, LOGIRUMBLEPAD2_FF,
+    A11Y_BRAILLE_CONSOLE, EDS_TRIGGER_DEFAULT_ON, VIDEO_ALLOW_V4L1, ATA_ACPI,
+    SATA_PMP, ATA_SFF, USB_SERIAL_MOTOROLA, USB_WDM, MAC80211_MESH,
+    IPV6_MROUTE, IPV6_PIMSM_V2, MTD_AR7_PARTS, SENSORS_IBMAEM, PATA_SCH,
+    CGROUP_DEVICE, USB_ISIGHTFW, HW_RANDOM_VIRTIO, RTC_DRV_FM3130,
+    USB_VIDEO_CLASS, CIFS_DFS_UPCALL.
+  * [amd64, i386]: KVM_CLOCK, KVM_GUEST, ISCSI_IBFT_FIND, ISCSI_IBFT, THERMAL,
+    EEEPC_LAPTOP, FB_N411, THERMAL_HWMON.
+  * [amd64]: Enable SCSI_DPT_I2O as 64 bit now.
+  * Reenable USB_SERIAL_EDGEPORT, USB_SERIAL_EDGEPORT_TI. (closes: #480195)
+  * Enable TCP_MD5SIG for BGP sessions. (closes: #443742)
+  * Add recognised alsa cards to bug report.
+  * topconfig: Enable HYSDN, no longer broken on smp.
+  * Add request_firmware patch for keyspan. (closes: #448900)
+  * [x86]: Enable dma engine. (closes: #473331)
+  * [ppc64]: Enable IBMEBUS and EHEA. (closes: #484888)
+  * topconfig: Enable PROFILING across all flavours. (closes: #484885)
+  * 486: enable OLPC support thanks Andres Salomon for merge.
+    Kconfig variable patch by Robert Millan (closes: #485063).
+  * Add request_firmware patch for ip2.
+  * Add request_firmware patch for acenic. (closes: #284221)
+  * [x86, ia64]: Set HPET_RTC_IRQ. (closes: #479709, #476970)
+  * [ppc]: Set SND_VIRMIDI. (closes: #290090)
+  * Fallback for userspace compatibility to old IEEE 1394 FireWire stack.
+    (closes: #451367, #475295, #478419)
+  * [x86]: Enable modular FB_UVESA. (closes: #473180)
+  * JFFS2 enable summary and compressor support. (closes: #488242)
+  * Add OLPC sdhci quirks. Thanks Andres Salomon <dilinger@debian.org>
+    (closes: #485192)
+  * [ppc]: Enable RTC_DRV_PPC. (closes: #484693) Thanks for the patch to
+    Geoff Levand <geoffrey.levand@am.sony.com>.
+  * Enable BLK_DEV_BSG for SG v4 support.
+  * [amd64] Enable default disabled memtest boot param.
+  * topconfig: Enable PATA_SIS instead of SATA_SIS. (closes: #485609)
+  * Add OpenVZ countainer flavour for amd64, i386. (closes: #392015)
+  * atl1e driver for Atheros(R) L1e Fast Ethernet. (closes: #492029)
+  * [ALSA] hda - Add ICH9 controller support (8086:2911)
+  * [ALSA] hda - support intel DG33 motherboards
+  * HP iLO driver
+  * Input: i8042 - add Arima-Rioworks HDAMB board to noloop list
+    (closes: #489190) thanks Guillaume Morin <guillaume@morinfr.org>
+
+  [ Martin Michlmayr ]
+  * [arm/orion5x] Update the config to reflect upstream renaming this
+    subarch.
+  * [arm/orion5x] Add some patches from Marvell's Orion tree:
+    - Feroceon: speed up flushing of the entire cache
+    - support for 5281 D0 stepping
+    - cache align destination pointer when copying memory for some processors
+    - cache align memset and memzero
+    - DMA engine driver for Marvell XOR engine
+    - Orion hardware watchdog support
+  * [arm/orion5x] Enable NETCONSOLE.
+  * [arm/orion5x] Disable more SCSI drivers.
+  * [arm/ixp4xx] Disable most ATA and more SCSI and network drivers.
+  * [arm/versatile] Enable CONFIG_RTC_DRV_PL031 (closes: #484432).
+  * [arm/iop32x, arm/ixp4xx, arm/versatile] Enable ARM_THUMB (closes: #484524).
+  * [arm/iop32x] Add LED driver for Thecus N2100 (Riku Voipio).
+  * [mips/r5k-ip32] Enable USB.
+  * [arm/orion5x, arm/iop32x, arm/ixp4xx, mipsel/r5k-cobalt] Enable HAMRADIO
+    on the request of Heinz Janssen.
+  * [arm/orion5x] Add support for QNAP TS-409 and HP mv2120; thanks
+    Sylver Bruneau.
+  * [mips] Add patches from Thomas Bogendoerfer:
+    - gbefb: fix cmap FIFO timeout (closes: #487257)
+    - IP32: Enable FAST-20 for onboard scsi
+    - IP32: SGI O2 sound driver
+  * [arm/ixp4xx] Add support for Freecom FSG-3 (Rod Whitby).
+  * [arm/ixp4xx] Enable CONFIG_MACH_DSMG600.
+  * [arm/iop32x] Unset NET_DMA since it actually leads to worse network
+    performance.
+  * [arm/orion5x] Fix a boot crash on the Kurobox Pro.
+  * [arm/orion5x] use better key codes for the TS-209/TS-409 buttons
+  * [arm/orion5x] export red SATA lights on TS-409, fix SATA presence/activity
+  * [arm] Enable KEXEC (closes: #492268).
+  * [arm/orion5x] Enable USB_PRINTER, requested by Mike Arthur.
+  * [arm/orion5x] Enable binfmt aout, x25, wireless and ATM.
+  * [arm/iop32x, arm/orion5x] Enable USB_SISUSBVGA.
+  * [arm] xfs: pack some shortform dir2 structures for the ARM old ABI
+    architecture (closes: #414932).
+
+  [ Ian Campbell ]
+  * Readme.build updated on how to generate orig tarballs.
+  * Forward port vmlinuz-target.patch.
+  * Enable Xen save/restore and memory ballooning for Xen enabled kernels.
+
+  [ Bastian Blank ]
+  * [powerpc/powerpc-miboot] Disable. (closes: #481358)
+  * [powerpc/powerpc64] Support IBM Cell based plattforms and PS3.
+    (closes: #462529)
+  * [s390] Synchronize block device, network bridge, network scheduler and CRC
+    support.
+  * [s390] Enable support for PCI-attached cryptographic adapters.
+  * Use control group as base for group CPU scheduler. This reenabled
+    traditional nice behaviour. (closes: #489223)
+  * Bump yaird dependencies to at least 0.0.13.
+  * Reenable SECCOMP. There is no longer additional overhead.
+    (closes: #474648)
+  * Export symbol required for MOL again. (closes: #460667)
+  * [powerpc/powerpc64] Fix console selection in LPAR environment.
+    (closes: #492703)
+  * Fix several userspace compatibility problems.
+
+  [ Christian T. Steigies ]
+  * [m68k] enable SERIAL_CONSOLE for amiga and atari
+
+  [ Thiemo Seufer ]
+  * [mips] Fix logic bug in atomic_sub_if_positive.
+
+  [ Stephen R. Marenka ]
+  * [m68k] Update pending m68k patches.
+  * [m68k] Enable nfcon and nfblock for atari.
+  * [m68k] Change compiler to default.
+
+  [ Aurelien Jarno ]
+  * [arm/versatile] Switch scsi/ext3/smc91x to modules now that we have proper
+    d-i support. Remove options defined in toplevel config file.
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 30 Jul 2008 10:17:29 +0200
+
+linux-2.6 (2.6.25-7) unstable; urgency=high
+
+  * Add stable release 2.6.25.10:
+    - TTY: fix for tty operations bugs (CVE-2008-2812)
+    - sched: fix cpu hotplug
+    - IB/mthca: Clear ICM pages before handing to FW
+    - DRM: enable bus mastering on i915 at resume time
+    - x86: shift bits the right way in native_read_tscp
+    - x86_64 ptrace: fix sys32_ptrace task_struct leak (CVE-2008-3077)
+    - ptrace GET/SET FPXREGS broken
+    - futexes: fix fault handling in futex_lock_pi
+    - x86: fix cpu hotplug crash
+  * Add stable release 2.6.25.11:
+    - x86: fix ldt limit for 64 bit
+
+ -- maximilian attems <maks@debian.org>  Mon, 14 Jul 2008 10:58:14 +0200
+
+linux-2.6 (2.6.25-6) unstable; urgency=high
+
+  [ maximilian attems ]
+  * Add stable release 2.6.25.7:
+    - double-free of inode on alloc_file() failure exit in create_write_pipe()
+    - m68k: Add ext2_find_{first,next}_bit() for ext4
+    - bluetooth: fix locking bug in the rfcomm socket cleanup handling
+    - serial: fix enable_irq_wake/disable_irq_wake imbalance in serial_core.c
+    - bttv: Fix a deadlock in the bttv driver (closes: #487594)
+    - forcedeth: msi interrupts
+    - CPUFREQ: Fix format string bug.
+    - mmc: wbsd: initialize tasklets before requesting interrupt
+    - ecryptfs: fix missed mutex_unlock
+    - mac80211: send association event on IBSS create
+    - bluetooth: rfcomm_dev_state_change deadlock fix
+    - sunhv: Fix locking in non-paged I/O case.
+    - cassini: Only use chip checksum for ipv4 packets.
+    - ipwireless: Fix blocked sending
+    - net: Fix call to ->change_rx_flags(dev, IFF_MULTICAST) in
+      dev_change_flags()
+    - fbdev: export symbol fb_mode_option
+    - ipsec: Use the correct ip_local_out function
+    - tcp: fix skb vs fack_count out-of-sync condition
+    - tcp FRTO: Fix fallback to conventional recovery
+    - tcp FRTO: SACK variant is errorneously used with NewReno
+    - tcp FRTO: work-around inorder receivers
+    - tcp: Fix inconsistency source (CA_Open only when !tcp_left_out(tp))
+    - l2tp: avoid skb truesize bug if headroom is increased
+    - l2tp: Fix possible WARN_ON from socket code when UDP socket is closed
+    - l2tp: Fix possible oops if transmitting or receiving when tunnel goes down
+    - ax25: Fix NULL pointer dereference and lockup.
+    - sound: emu10k1 - fix system hang with Audigy2 ZS Notebook PCMCIA card
+    - tcp: Allow send-limited cwnd to grow up to max_burst when gso disabled
+    - tcp: Limit cwnd growth when deferring for GSO
+    - af_key: Fix selector family initialization.
+    - hgafb: resource management fix
+    - cifs: fix oops on mount when CONFIG_CIFS_DFS_UPCALL is enabled
+    - b43: Fix controller restart crash
+    - ssb: Fix context assertion in ssb_pcicore_dev_irqvecs_enable
+    - eCryptfs: protect crypt_stat->flags in ecryptfs_open()
+    - cciss: add new hardware support
+    - ecryptfs: add missing lock around notify_change
+    - ecryptfs: clean up (un)lock_parent
+    - Add 'rd' alias to new brd ramdisk driver
+    - net_sched: cls_api: fix return value for non-existant classifiers
+    - vlan: Correctly handle device notifications for layered VLAN devices
+    - IB/umem: Avoid sign problems when demoting npages to integer
+    - x86: fix recursive dependencies
+    - can: Fix copy_from_user() results interpretation
+    - Kconfig: introduce ARCH_DEFCONFIG to DEFCONFIG_LIST
+    - tcp: TCP connection times out if ICMP frag needed is delayed
+    - ALSA: hda - Fix resume of auto-config mode with Realtek codecs
+    - netlink: Fix nla_parse_nested_compat() to call nla_parse() directly
+  * Add stable release 2.6.25.9:
+    - Add return value to reserve_bootmem_node()
+    - x86: use BOOTMEM_EXCLUSIVE on 32-bit
+    - sctp: Make sure N * sizeof(union sctp_addr) does not overflow.
+    - hwmon: (lm85) Fix function RANGE_TO_REG()
+    - hwmon: (adt7473) Initialize max_duty_at_overheat before use
+    - x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits.
+    - Reinstate ZERO_PAGE optimization in 'get_user_pages()' and fix XIP
+    - watchdog: hpwdt: fix use of inline assembly
+    - Fix ZERO_PAGE breakage with vmware
+    - atl1: relax eeprom mac address error check
+
+  [ Martin Michlmayr]
+  * [arm/orion5x] Enable INPUT_EVDEV and KEYBOARD_GPIO.
+
+  [ Steve Langasek ]
+  * Enable CONFIG_CIFS_EXPERIMENTAL and CONFIG_CIFS_UPCALL, required for
+    CIFS mounts to be able to use Kerberos authentication.  Closes: #480663.
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.25.8:
+    - x86: disable mwait for AMD family 10H/11H CPUs
+    - x86: remove mwait capability C-state check
+    - nf_conntrack_h323: fix memory leak in module initialization error path
+    - nf_conntrack_h323: fix module unload crash
+    - nf_conntrack: fix ctnetlink related crash in nf_nat_setup_info()
+    - SCSI: sr: fix corrupt CD data after media change and delay
+    - ACPICA: Ignore ACPI table signature for Load() operator
+    - scsi_host regression: fix scsi host leak
+    - b43: Fix possible NULL pointer dereference in DMA code
+    - b43: Fix noise calculation WARN_ON
+    - virtio_net: Fix skb->csum_start computation
+    - opti621: remove DMA support
+    - opti621: disable read prefetch
+    - Fix tty speed handling on 8250
+    - x86-64: Fix "bytes left to copy" return value for copy_from_user()
+   * Fix alpha build due too inconsistent kallsyms data.
+
+ -- maximilian attems <maks@debian.org>  Fri, 27 Jun 2008 00:33:53 +0200
+
+linux-2.6 (2.6.25-5) unstable; urgency=low
+
+  [ maximilian attems ]
+  [ Bastian Blank ]
+  * Reenable VServer images.
+
+  [ maximilian attems ]
+  * Add stable release 2.6.25.5:
+    - asn1: additional sanity checking during BER decoding (CVE-2008-1673)
+  * Add stable release 2.6.25.6:
+    - atl1: fix 4G memory corruption bug
+    - capabilities: remain source compatible with 32-bit raw legacy capability
+      support.
+    - usb-serial: Use ftdi_sio driver for RATOC REX-USB60F
+    - cpufreq: fix null object access on Transmeta CPU
+    - Smack: fuse mount hang fix
+    - cgroups: remove node_ prefix_from ns subsystem
+    - XFS: Fix memory corruption with small buffer reads
+    - x86: don't read maxlvt before checking if APIC is mapped
+    - USB: option: add new Dell 5520 HSDPA variant
+    - md: do not compute parity unless it is on a failed drive
+    - md: fix uninitialized use of mddev->recovery_wait
+    - md: fix prexor vs sync_request race
+    - HID: split Numlock emulation quirk from HID_QUIRK_APPLE_HAS_FN.
+    - USB: do not handle device 1410:5010 in 'option' driver
+    - USB: unusual_devs: Add support for GI 0401 SD-Card interface
+    - USB: add Telstra NextG CDMA id to option driver
+    - USB: fix build errors in ohci-omap.c and ohci-sm501.c
+    - USB: add TELIT HDSPA UC864-E modem to option driver
+    - memory_hotplug: always initialize pageblock bitmap
+    - x86: fix bad pmd ffff810000207xxx(9090909090909090)
+    - USB: add Zoom Telephonics Model 3095F V.92 USB Mini External modem to
+      cdc-acm
+    - x86: prevent PGE flush from interruption/preemption
+    - IPoIB: Test for NULL broadcast object in ipiob_mcast_join_finish()
+    - i386: fix asm constraint in do_IRQ()
+    - i2c-nforce2: Disable the second SMBus channel on the DFI Lanparty NF4
+      Expert
+    - i2c/max6875: Really prevent 24RF08 corruption
+    - brk: make sys_brk() honor COMPAT_BRK when computing lower bound
+    - Revert "PCI: remove default PCI expansion ROM memory allocation"
+    - PS3: gelic: fix memory leak
+    - eCryptfs: remove unnecessary page decrypt call
+    - netfilter: nf_conntrack_expect: fix error path unwind in
+      nf_conntrack_expect_init()
+    - netfilter: xt_connlimit: fix accouning when receive RST packet in
+      ESTABLISHED state
+    - netfilter: nf_conntrack_ipv6: fix inconsistent lock state in
+      nf_ct_frag6_gather()
+    - POWERPC Bolt in SLB entry for kernel stack on secondary cpus
+    - netfilter: xt_iprange: module aliases for xt_iprange
+    - x86: user_regset_view table fix for ia32 on 64-bit
+    - x86: if we cannot calibrate the TSC, we panic.
+    - CIFS: Fix UNC path prefix on QueryUnixPathInfo to have correct slash
+    - x86, fpu: fix CONFIG_PREEMPT=y corruption of application's FPU stack
+    - libata: force hardreset if link is in powersave mode
+    - x86: fix setup of cyc2ns in tsc_64.c
+    - x86: distangle user disabled TSC from unstable
+    - x86: disable TSC for sched_clock() when calibration failed
+    - pagemap: fix bug in add_to_pagemap, require aligned-length reads of
+      /proc/pid/pagemap
+    - ext3/4: fix uninitialized bs in ext3/4_xattr_set_handle()
+    - proc: calculate the correct /proc/<pid> link count
+    - CPUFREQ: Make acpi-cpufreq more robust against BIOS freq changes behind
+      our back.
+    - USB: remove PICDEM FS USB demo (04d8:000c) device from ldusb
+    - types.h: don't expose struct ustat to userspace
+
+  [ Bastian Blank ]
+  * Ignore ABI change in internal XFS symbol.
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 12 Jun 2008 08:47:11 +0200
+
+linux-2.6 (2.6.25-4) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Fix arm Kconfig logic disabling random drivers. (closes: #481410)
+  * Add stable release 2.6.25.4:
+    - OHCI: fix regression upon awakening from hibernation
+    - V4L/DVB (7473): PATCH for various Dibcom based devices
+    - {nfnetlink, ip, ip6}_queue: fix skb_over_panic when enlarging packets
+    - dccp: return -EINVAL on invalid feature length
+    - md: fix raid5 'repair' operations
+    - sparc: Fix SA_ONSTACK signal handling.
+    - sparc: Fix fork/clone/vfork system call restart.
+    - sparc64: Stop creating dummy root PCI host controller devices.
+    - sparc64: Fix wedged irq regression.
+    - SPARC64: Fix args to 64-bit sys_semctl() via sys_ipc().
+    - serial: Fix sparc driver name strings.
+    - sparc: Fix ptrace() detach.
+    - sparc: Fix mremap address range validation.
+    - sparc: Fix debugger syscall restart interactions.
+    - sparc32: Don't twiddle PT_DTRACE in exec.
+    - r8169: fix oops in r8169_get_mac_version
+    - SCSI: aha152x: Fix oops on module removal
+    - SCSI: aha152x: fix init suspiciously returned 1, it should follow
+      0/-E convention
+    - sch_htb: remove from event queue in htb_parent_to_leaf()
+    - i2c-piix4: Blacklist two mainboards
+    - SCSI: qla1280: Fix queue depth problem
+    - ipvs: fix oops in backup for fwmark conn templates
+    - USB: airprime: unlock mutex instead of trying to lock it again
+    - rtc: rtc_time_to_tm: use unsigned arithmetic
+    - SCSI: libiscsi regression in 2.6.25: fix nop timer handling
+    - SCSI: libiscsi regression in 2.6.25: fix setting of recv timer
+    - can: Fix can_send() handling on dev_queue_xmit() failures
+    - macvlan: Fix memleak on device removal/crash on module removal
+    - nf_conntrack: padding breaks conntrack hash on ARM
+    - sparc: sunzilog uart order
+    - r8169: fix past rtl_chip_info array size for unknown chipsets
+    - x86: use defconfigs from x86/configs/*
+    - vt: fix canonical input in UTF-8 mode
+    - ata_piix: verify SIDPR access before enabling it
+    - serial: access after NULL check in uart_flush_buffer()
+    - x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system)
+    - XFRM: AUDIT: Fix flowlabel text format ambibuity.
+  * Update userspace merged HZ alpha fixed version.
+  * Backport netfilter: Move linux/types.h inclusions outside of #ifdef
+    __KERNEL__. (closes: #479899)
+  * types.h: don't expose struct ustat to userspace. (closes: #429064)
+
+  [ Bastian Blank ]
+  * Fix ABI changes from: ipvs: fix oops in backup for fwmark conn templates
+
+ -- maximilian attems <maks@debian.org>  Tue, 27 May 2008 11:46:11 +0200
+
+linux-2.6 (2.6.25-3) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.25.3:
+    - sit: Add missing kfree_skb() on pskb_may_pull() failure.
+    - sparc: Fix mmap VA span checking.
+    - CRYPTO: eseqiv: Fix off-by-one encryption
+    - CRYPTO: authenc: Fix async crypto crash in crypto_authenc_genicv()
+    - CRYPTO: cryptd: Correct kzalloc error test
+    - CRYPTO: api: Fix scatterwalk_sg_chain
+    - x86 PCI: call dmi_check_pciprobe()
+    - b43: Fix some TX/RX locking issues
+    - kprobes/arm: fix decoding of arithmetic immediate instructions
+    - kprobes/arm: fix cache flush address for instruction stub
+    - b43: Fix dual-PHY devices
+    - POWERPC: mpc5200: Fix unterminated of_device_id table
+    - reiserfs: Unpack tails on quota files
+    - sched: fix hrtick_start_fair and CPU-Hotplug
+    - vfs: fix permission checking in sys_utimensat
+    - md: fix use after free when removing rdev via sysfs
+    - mm: fix usemap initialization
+    - 2.6.25 regression: powertop says 120K wakeups/sec
+
+  [ maximilian attems ]
+  * Redisable old dup prism54 driver.
+  * Reenable accidentaly disabled SIS190. (closes: #478773)
+  * Add lmkl patch to unbreak HZ userspace aka perl5.10 build fix.
+    (closes: #480130)
+
+  [ Martin Michlmayr ]
+  * [armel] Disable some SCSI drives (that are disabled on arm) so the
+    ramdisk will fit in flash on NSLU2 (closes: #480310).
+
+ -- maximilian attems <maks@debian.org>  Wed, 14 May 2008 11:16:56 +0200
+
+linux-2.6 (2.6.25-2) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Add stable release 2.6.25.1:
+    - Fix dnotify/close race (CVE-2008-1375)
+    - V4L: Fix VIDIOCGAP corruption in ivtv
+    - USB: log an error message when USB enumeration fails
+    - USB: OHCI: fix bug in controller resume
+    - SCSI: qla2xxx: Correct regression in relogin code.
+    - rose: Socket lock was not released before returning to user space
+    - x86, pci: fix off-by-one errors in some pirq warnings
+    - hrtimer: timeout too long when using HRTIMER_CB_SOFTIRQ
+    - RDMA/nes: Fix adapter reset after PXE boot
+    - rtc-pcf8583 build fix
+    - JFFS2: Fix free space leak with in-band cleanmarkers
+    - SELinux: no BUG_ON(!ss_initialized) in selinux_clone_mnt_opts
+    - tehuti: check register size (CVE-2008-1675)
+    - IPSEC: Fix catch-22 with algorithm IDs above 31
+    - alpha: unbreak OSF/1 (a.out) binaries
+    - tehuti: move ioctl perm check closer to function start (CVE-2008-1675)
+    - aio: io_getevents() should return if io_destroy() is invoked
+    - mm: fix possible off-by-one in walk_pte_range()
+    - TCP: Increase the max_burst threshold from 3 to tp->reordering.
+    - ssb: Fix all-ones boardflags
+    - cgroup: fix a race condition in manipulating tsk->cg_list
+    - drivers/net/tehuti: use proper capability check for raw IO access
+    - tg3: 5701 DMA corruption fix
+    - V4L: tea5761: bugzilla #10462: tea5761 autodetection code were broken
+    - b43: Workaround invalid bluetooth settings
+    - b43: Add more btcoexist workarounds
+    - b43: Workaround DMA quirks
+    - dm snapshot: fix chunksize sector conversion
+    - x86: Fix 32-bit x86 MSI-X allocation leakage
+    - RTNETLINK: Fix bogus ASSERT_RTNL warning
+    - net: Fix wrong interpretation of some copy_to_user() results.
+    - dz: test after postfix decrement fails in dz_console_putchar()
+    - RDMA/nes: Free IRQ before killing tasklet
+    - S2io: Fix memory leak during free_tx_buffers
+    - S2io: Version update for memory leak fix during free_tx_buffers
+    - USB: Add HP hs2300 Broadband Wireless Module to sierra.c
+    - V4L: cx88: enable radio GPIO correctly
+    - hrtimer: raise softirq unlocked to avoid circular lock dependency
+    - tcp: tcp_probe buffer overflow and incorrect return value
+  * [ide] Add upstream piix patch for asus eee pc. (closes: #479217)
+
+  [ Christian T. Steigies ]
+  * [m68k] Add patches for 2.6.25.
+  * [m68k] Disable EXT4DEV_FS for now.
+  * [m68k] Enable SCSI_MAC_ESP for mac.
+
+  [ Ian Campbell ]
+  * [x86]: Enable Xen guest support in all i386 flavours.
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.25.2:
+    - fix SMP ordering hole in fcntl_setlk() (CVE-2008-1669)
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 08 May 2008 14:46:48 +0200
+
+linux-2.6 (2.6.25-1) unstable; urgency=low
+
+  * New upstream release (closes: #456799, #468440, #475161, #475134, #475441)
+    - Add oabi shim for fstatat64 (closes: #462677)
+
+  [ maximilian attems ]
+  * topconfig set NOZOMI, CRYPTO_SEQIV, CRYPTO_CTR, CRYPTO_GCM, CRYPTO_CCM,
+    CRYPTO_SALSA20, CRYPTO_LZO, CRYPTO_DEV_HIFN_795X, USB_SI470X,
+    USB_STKWEBCAM, VIDEO_PVRUSB2_ONAIR_USB2, VIDEO_PVRUSB2_ONAIR_CREATOR,
+    VIDEO_EM28XX_ALSA, CRYPTO_DEV_HIFN_795X_RNG, PCF8575, TPS65010, RTL8180,
+    ENC28J60, R6040, CAN, NETFILTER_XT_MATCH_OWNER, MAC80211_RC_DEFAULT_PI,
+    NETFILTER_XT_TARGET_RATEEST, NETFILTER_XT_TARGET_TCPOPTSTRIP,
+    NETFILTER_XT_MATCH_IPRANGE, NETFILTER_XT_MATCH_RATEEST, SND_OXYGEN,
+    SND_HIFIER, SND_VIRTUOSO, USB_NET_RNDIS_WLAN, USB_ANNOUNCE_NEW_DEVICES,
+    USB_SERIAL_IUU, NET_CLS_FLOW, INFINIBAND_NES, RTC_DRV_R9701,
+    RTC_DRV_DS1511, MEMSTICK, SENSORS_W83L786NG, SENSORS_ADS7828, IPWIRELESS,
+    RISCOM8, IGB, UTS_NS, IPC_NS, IPV6_ROUTE_INFO, ENCLOSURE_SERVICES,
+    SCSI_ENCLOSURE, SENSORS_ADT7473, SCSI_MVSAS, REALTEK_PHY, RTC_DRV_S35390A,
+    MEMSTICK_JMICRON_38X, IWL4965_HT.
+  * [amd64] Enable CRYPTO_SALSA20_X86_64, EDAC_I3000, EFI, EFI_VARS, I8K,
+    PARAVIRT_GUEST, PARAVIRT, VIRTIO_PCI, VIRTIO_BALLOON, SPARSEMEM_VMEMMAP.
+  * [amd64, i386]: Enable LEDS_CLEVO_MAIL, INPUT_APANEL, ACER_WMI,
+    THINKPAD_ACPI_HOTKEY_POLL, HP_WATCHDOG, THINKPAD_ACPI_VIDEO,
+    VIRTION_CONSOLE, ACPI_WMI, IO_DELAY_0X80.
+  * topconfig disable PARPORT_PC_FIFO due to instabilities.
+    (closes: #366165, #388309, #406056, #407816, #453911)
+  * [amd64, i386]: Enable SONYPI_COMPAT for better sony laptop support.
+  * topconfig: Enable HID_FF for some HID devices. (closes: #441348)
+  * topconfig: Enable IPV6_ROUTER_PREF for multi-homed net. (closes: #449247)
+  * topconfig: Set UTF8 as default encoding. (closes: #417324)
+  * Tighten yaird dependency. (closes: #403171)
+  * Configs general cleanup, centralize USB_NET, disable IRDA_DEBUG.
+  * postinst: Nuke confusing postinst message. (closes: #465512)
+  * [sparc]: Enable SCSI_SCAN_ASYNC.
+  * [i386]: Enable TC1100_WMI, SND_SIS7019, CRYPTO_SALSA20_586.
+  * topconfig: Centralize old IEEE80211 stack options. (closes: #470558)
+  * control.source.in: Newer standard version without changes.
+  * copyright: adapt to latest lintian recommendation.
+  * input: Add 4 additional exports for modular speakup and braille support.
+  * firewire: Add firewire-git.patch for latest firewire tree features.
+  * 686: Set USB_PERSIST for eee pc suspend support. (closes: #468213)
+  * topconfig disable PATA_SIS as sis5513 enabled. (closes: #475525)
+  * [xen]: Support direct load of bzImage under Xen. (closes: #474509)
+    Thanks Ian Campbell <ijc@hellion.org.uk> for patches.
+  * [xen]: Module autoprobing support for frontend drivers.
+  * [arm]: Don't ovverride topconfig SENSORS_W83792D setting.
+    (closes: #477745)
+
+  [ Martin Michlmayr ]
+  * [arm/armel] Add a kernel for Orion based devices, such as the QNAP
+    TS-109/TS-209.
+  * [mips(el)/sb1*] Enable SB1250_MAC (thanks Thomas Bogendoerfer).
+  * [mipsel/r5k-cobalt] Enable DUMMY_CONSOLE since this might
+    fix the debian-installer startup hang on Qube 2700.
+  * [arm/footbridge] Disable KEYS and SECURITY for smaller d-i image.
+  * [arm/footbridge] Build NFS as a module to make the image smaller.
+  * [mips/r5k-ip32] Don't build in NFS.
+  * [mips/r5k-ip32] Use the generic config options for NFS, which will
+    enable NFSv4. (closes: #471007)
+  * [mips/r5k-ip32] Enable R8169, requested by Giuseppe Sacco.
+  * [arm/iop32x] Enable MACH_EM7210. (closes: #473136)
+  * [arm/orion] Add patch to set the MAC address on QNAP TS-109/TS-209
+    (Lennert Buytenhek).
+  * [arm/orion] Add support for Buffalo Linkstation Pro/Live (Byron Bradley).
+  * [arm/orion] Fix hang when Write Allocate is enabled (Lennert Buytenhek).
+  * [arm/orion] Add support for QNAP TS-409 (Sylver Bruneau).
+  * [arm/orion] Add preliminary support for HP mv2120.
+
+  [ Daniel Baumann ]
+  * Added patch from unionfs upstream to export release_open_intent symbol.
+
+  [ Gordon Farquharson ]
+  * [arm/ixp4xx] Use GPIO LED driver as opposed to ixp4xx LED driver.
+  * [arm/ixp4xx] Fix ixp4xx-beeper module so that udev loads it
+    automatically.
+  * [arm/iop32x] Enable support for the GLAN Tank flash chip (M29W400DB).
+  * [arm/iop32x] Do not build the ARTOP PATA driver (PATA_ARTOP).
+  * [arm/iop32x] Register the F75375 device in the GLAN Tank platform code.
+  * Prevent physmap from calling request_module() too early.
+  * [arm/ixp4xx] Fix used_sram_bitmap corruption in qmgr_release_queue().
+
+  [ Aurelien Jarno ]
+  * [mips/mipsel] Enable CONFIG_NO_HZ, CONFIG_HIGH_RES_TIMERS for dynticks
+    and true high-resolution timers on 4kc-malta and 5kc-malta flavours.
+  * [i386, amd64] Set modular VIRTIO, VIRTIO_RING, VIRTIO_BLK, VIRTIO_NET.
+
+  [ Bastian Blank ]
+  * Remove binary only firmwares for:
+    - Broadcom NetXtremeII 10Gb support
+  * Disable now broken drivers:
+    - Broadcom NetXtremeII 10Gb support
+  * Fix broken drivers:
+    - Broadcom NetXtremeII support
+  * [powerpc] Use new wrapper install support.
+  * [s390] Enable DM_MULTIPATH_EMC.
+  * Enable AF_RXRPC, RXKAD, PRINTK_TIME, DEBUG_KERNEL, SCHED_DEBUG,
+    TIMER_STATS, DEBUG_FS.
+  * Disable R3964, USB_GADGET.
+  * [hppa] Enable several filesystems.
+  * Make NLS modular.
+  * [i386/486] Make ext2 modular.
+  * [alpha,amd64,i386] Make ATM modular.
+  * [powerpc/powerpc64] Support PA Semi based plattforms. (closes: #463200)
+  * Follow upstream change for default TCP congestion control.
+    (closes: #477589)
+
+  [ Steve Langasek ]
+  * topconfig: Enable CONFIG_CIFS_WEAK_PW_HASH, required for compatibility
+    with legacy (pre-NTLM) fileservers.
+
+  [ Christian Perrier ]
+  * Debconf template rewrite + mark them as translatable.
+    Thanks to Justin B Rye <jbr@edlug.org.uk> for review.
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 25 Apr 2008 16:27:23 +0200
+
+linux-2.6 (2.6.24-6) unstable; urgency=high
+
+  [ Martin Michlmayr ]
+  * [armel] Fix FTBFS on armel by enabling CONFIG_USB_USBNET=m in
+    armel/config, as it was done for arm/config already.
+  * [armel] Add oabi shim for fstatat64 (Riku Voipio)
+
+  [ Gordon Farquharson ]
+  * [arm/iop32x] Do not build the ARTOP PATA driver (PATA_ARTOP).
+  * [arm/iop32x] Enable MTD_CMDLINE_PARTS.
+
+  [ Kyle McMartin ]
+  * [hppa] fix pdc_console panic at boot (closes: #476292).
+  * [hppa] properly flush user signal tramps
+  * [hppa] special case futex cmpxchg on kernel space NULL (closes: 476285).
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 18 Apr 2008 19:41:30 +0200
+
+linux-2.6 (2.6.24-5) unstable; urgency=low
+
+  [ Gordon Farquharson ]
+  * [arm] Enable asix driver (USB_NET_AX8817X).
+  * [arm] Enable CONFIG_USB_CATC, CONFIG_USB_KAWETH, CONFIG_USB_PEGASUS,
+          and CONFIG_USB_RTL8150.
+  * [arm/ixp4xx] Update Ethernet driver (closes: #471062).
+  * [arm/ixp4xx] Add HSS driver.
+
+  [ Bastian Blank ]
+  * [s390/s390-tape]: Override localversion correctly.
+  * Add stable release 2.6.24.3:
+    - x86_64: CPA, fix cache attribute inconsistency bug
+    - bonding: fix NULL pointer deref in startup processing
+    - POWERPC: Revert chrp_pci_fixup_vt8231_ata devinit to fix libata on pegasos
+    - PCMCIA: Fix station address detection in smc
+    - SCSI: gdth: scan for scsi devices
+    - USB: fix pm counter leak in usblp
+    - S390: Fix futex_atomic_cmpxchg_std inline assembly.
+    - genirq: do not leave interupts enabled on free_irq
+    - hrtimer: catch expired CLOCK_REALTIME timers early
+    - hrtimer: check relative timeouts for overflow
+    - SLUB: Deal with annoying gcc warning on kfree()
+    - hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep()
+    - hrtimer: fix *rmtp handling in hrtimer_nanosleep()
+    - Disable G5 NAP mode during SMU commands on U3
+    - Be more robust about bad arguments in get_user_pages()
+    - AUDIT: Increase skb->truesize in audit_expand
+    - BLUETOOTH: Add conn add/del workqueues to avoid connection fail.
+    - INET: Prevent out-of-sync truesize on ip_fragment slow path
+    - INET_DIAG: Fix inet_diag_lock_handler error path.
+    - IPCOMP: Fetch nexthdr before ipch is destroyed
+    - IPCOMP: Fix reception of incompressible packets
+    - IPV4: fib: fix route replacement, fib_info is shared
+    - IPV4: fib_trie: apply fixes from fib_hash
+    - PKT_SCHED: ematch: oops from uninitialized variable (resend)
+    - SELinux: Fix double free in selinux_netlbl_sock_setsid()
+    - TC: oops in em_meta
+    - TCP: Fix a bug in strategy_allowed_congestion_control
+    - SCSI: sd: handle bad lba in sense information
+    - Fix dl2k constants
+    - XFS: Fix oops in xfs_file_readdir()
+    - hugetlb: add locking for overcommit sysctl
+    - inotify: fix check for one-shot watches before destroying them
+    - NFS: Fix a potential file corruption issue when writing
+    - NETFILTER: nf_conntrack_tcp: conntrack reopening fix
+    - SPARC/SPARC64: Fix usage of .section .sched.text in assembler code.
+  * Add stable release 2.6.24.4:
+    - S390 futex: let futex_atomic_cmpxchg_pt survive early functional tests.
+    - slab: NUMA slab allocator migration bugfix
+    - relay: fix subbuf_splice_actor() adding too many pages
+    - BLUETOOTH: Fix bugs in previous conn add/del workqueue changes.
+    - SCSI advansys: Fix bug in AdvLoadMicrocode
+    - async_tx: avoid the async xor_zero_sum path when src_cnt > device->max_xor
+    - aio: bad AIO race in aio_complete() leads to process hang
+    - jbd: correctly unescape journal data blocks
+    - jbd2: correctly unescape journal data blocks
+    - zisofs: fix readpage() outside i_size
+    - NETFILTER: nfnetlink_log: fix computation of netlink skb size
+    - NETFILTER: nfnetlink_queue: fix computation of allocated size for netlink skb
+    - NETFILTER: xt_time: fix failure to match on Sundays
+    - sched_nr_migrate wrong mode bits
+    - nfsd: fix oops on access from high-numbered ports
+    - sched: fix race in schedule()
+    - SCSI: mpt fusion: don't oops if NumPhys==0
+    - SCSI: gdth: fix to internal commands execution
+    - SCSI: gdth: bugfix for the at-exit problems
+    - Fix default compose table initialization
+    - x86: don't use P6_NOPs if compiling with CONFIG_X86_GENERIC
+    - SCSI: fix BUG when sum(scatterlist) > bufflen
+    - USB: ehci: handle large bulk URBs correctly (again)
+    - USB: ftdi_sio - really enable EM1010PC
+    - USB: ftdi_sio: Workaround for broken Matrix Orbital serial port
+    - VT notifier fix for VT switch
+    - eCryptfs: make ecryptfs_prepare_write decrypt the page
+    - ioat: fix 'ack' handling, driver must ensure that 'ack' is zero
+    - macb: Fix speed setting
+    - x86: move out tick_nohz_stop_sched_tick() call from the loop
+    - atmel_spi: fix clock polarity
+    - b43: Backport bcm4311 fix
+    - arcmsr: fix IRQs disabled warning spew
+    - e1000e: Fix CRC stripping in hardware context bug
+    - PCI x86: always use conf1 to access config space below 256 bytes
+    - moduleparam: fix alpha, ia64 and ppc64 compile failures
+    - pata_hpt*, pata_serverworks: fix UDMA masking
+    - SCSI advansys: fix overrun_buf aligned bug
+    - NETFILTER: fix ebtable targets return
+    - NETFILTER: Fix incorrect use of skb_make_writable
+    - NETFILTER: nfnetlink_queue: fix SKB_LINEAR_ASSERT when mangling packet data
+    - spi: pxa2xx_spi clock polarity fix
+    - ufs: fix parenthesisation in ufs_set_fs_state()
+    - hugetlb: ensure we do not reference a surplus page after handing it to buddy
+    - file capabilities: simplify signal check
+    - futex: runtime enable pi and robust functionality
+    - futex: fix init order
+    - ARM pxa: fix clock lookup to find specific device clocks
+    - x86: replace LOCK_PREFIX in futex.h
+    - SCSI aic94xx: fix REQ_TASK_ABORT and REQ_DEVICE_RESET
+    - SCSI gdth: don't call pci_free_consistent under spinlock
+    - SCSI ips: fix data buffer accessors conversion bug
+    - usb-storage: don't access beyond the end of the sg buffer
+    - fuse: fix permission checking
+    - CRYPTO xts: Use proper alignment
+    - CRYPTO xcbc: Fix crash with IPsec
+    - SCSI ips: handle scsi_add_host() failure, and other err cleanups
+    - x86: adjust enable_NMI_through_LVT0()
+    - drivers: fix dma_get_required_mask
+    - iov_iter_advance() fix
+    - x86: Clear DF before calling signal handler (closes: #469058)
+    - ub: fix up the conversion to sg_init_table()
+    - MIPS: Mark all but i8259 interrupts as no-probe.
+    - IRQ_NOPROBE helper functions
+    - IPCOMP: Disable BH on output when using shared tfm
+    - IPCONFIG: The kernel gets no IP from some DHCP servers
+    - IPV4: Remove IP_TOS setting privilege checks.
+    - IPV6: dst_entry leak in ip4ip6_err.
+    - IPV6: Fix IPsec datagram fragmentation
+    - NET: Fix race in dev_close(). (Bug 9750)
+    - NET: Messed multicast lists after dev_mc_sync/unsync (closes: #466719)
+    - NIU: Bump driver version and release date.
+    - NIU: Fix BMAC alternate MAC address indexing.
+    - NIU: More BMAC alt MAC address fixes.
+    - TCP: Improve ipv4 established hash function.
+    - SPARC: Fix link errors with gcc-4.3
+    - SPARC64: Loosen checks in exception table handling.
+
+  [ Martin Michlmayr ]
+  * [mips/r4k-ip22] Enable BLK_DEV_LOOP and BLK_DEV_CRYPTOLOOP.
+  * [mips/r5k-ip32] Enable BLK_DEV_LOOP and BLK_DEV_CRYPTOLOOP.
+  * [mips/r4k-ip22] Enable PPP, PPPOE and SLIP.
+  * [mips/r5k-ip32] Enable PPP, PPPOE and SLIP.
+  * Don't check the section size when we're cross compiling.
+
+  [ dann frazier ]
+  * Remove cap_task_kill (closes: #463669)
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 27 Mar 2008 12:40:16 +0100
+
+linux-2.6 (2.6.24-4) unstable; urgency=low
+
+  * Add stable release 2.6.24.1:
+    - splice: missing user pointer access verification (CVE-2008-0009/10)
+    - drm: the drm really should call pci_set_master..
+    - Driver core: Revert "Fix Firmware class name collision"
+    - fix writev regression: pan hanging unkillable and un-straceable
+    - sched: fix high wake up latencies with FAIR_USER_SCHED
+    - sched: let +nice tasks have smaller impact
+    - b43: Reject new firmware early
+    - selinux: fix labeling of /proc/net inodes
+    - b43legacy: fix DMA slot resource leakage
+    - b43legacy: drop packets we are not able to encrypt
+    - b43legacy: fix suspend/resume
+    - b43legacy: fix PIO crash
+    - b43: Fix dma-slot resource leakage
+    - b43: Drop packets we are not able to encrypt
+    - b43: Fix suspend/resume
+    - sky2: fix for WOL on some devices
+    - sky2: restore multicast addresses after recovery
+    - x86: restore correct module name for apm
+    - ACPI: update ACPI blacklist
+    - PCI: Fix fakephp deadlock
+    - sys_remap_file_pages: fix ->vm_file accounting
+    - lockdep: annotate epoll
+    - forcedeth: mac address mcp77/79
+    - USB: Fix usb_serial_driver structure for Kobil cardreader driver.
+    - USB: handle idVendor of 0x0000
+    - USB: fix usbtest halt check on big endian systems
+    - USB: storage: Add unusual_dev for HP r707
+    - USB: Variant of the Dell Wireless 5520 driver
+    - USB: use GFP_NOIO in reset path
+    - USB: ftdi driver - add support for optical probe device
+    - USB: pl2303: add support for RATOC REX-USB60F
+    - USB: remove duplicate entry in Option driver and Pl2303 driver for Huawei modem
+    - USB: sierra: add support for Onda H600/Zte MF330 datacard to USB Driver for Sierra Wireless
+    - USB: ftdi-sio: Patch to add vendor/device id for ATK_16IC CCD
+    - USB: ftdi_sio - enabling multiple ELV devices, adding EM1010PC
+    - USB: sierra driver - add devices
+    - USB: Adding YC Cable USB Serial device to pl2303
+    - USB: Sierra - Add support for Aircard 881U
+    - USB: add support for 4348:5523 WinChipHead USB->RS 232 adapter
+    - USB: CP2101 New Device IDs
+    - usb gadget: fix fsl_usb2_udc potential OOPS
+    - USB: keyspan: Fix oops
+    - vm audit: add VM_DONTEXPAND to mmap for drivers that need it (CVE-2008-0007)
+    - slab: fix bootstrap on memoryless node
+    - DVB: cx23885: add missing subsystem ID for Hauppauge HVR1800 Retail
+
+  [ Martin Michlmayr ]
+  * [arm/ixp4xx] Enble ATA_OVER_ETH, requested by Nicola Fankhauser.
+  * [arm/iop32x] Enble ATA_OVER_ETH.
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.24.2:
+    - splice: fix user pointer access in get_iovec_page_array()
+    (CVE-2008-0600, closes: #464945)
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 11 Feb 2008 12:29:23 +0100
+
+linux-2.6 (2.6.24-3) unstable; urgency=low
+
+  [ maximilian attems ]
+  * [scsi]: hptiop: add more adapter models and fixes.
+  * [amd64, i386]: Reenable ACPI_PROCFS_POWER. (closes: #463253)
+
+  [ Gordon Farquharson ]
+  * [arm/ixp4xx] Update Ethernet driver so that it can be loaded by udev
+    automatically.
+
+  [ Martin Michlmayr ]
+  * [mips/r5k-ip32] Enable R8169, requested by Giuseppe Sacco. (Closes:
+    #463705)
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 06 Feb 2008 13:05:18 +0100
+
+linux-2.6 (2.6.24-2) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Fix broken merge of flavour specific settings.
+    - [i386]: Recommends are fixed.
+    - [s390/s390-tape]: Built as small image again.
+
+  [ maximilian attems ]
+  * Disable old dup prism54 driver.
+  * Stable queue: slab: fix bootstrap on memoryless node.
+
+  [ Aurelien Jarno ]
+  * [arm]: Remove options that are present in topconfig from config.versatile.
+  * [arm]: Turn off B44 since it fails to compile on armel.
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 31 Jan 2008 17:37:00 +0100
+
+linux-2.6 (2.6.24-1) unstable; urgency=low
+
+  * New upstream release
+    (closes: #461639)
+
+  [ Martin Michlmayr ]
+  * Don't build the AdvanSys driver on ARM since it fails to compile.
+  * Disable ATH5K on ARM since it fails to compile.
+  * [arm/iop32x] Activate DMADEVICES.
+  * [mips/mipsel] Turn off CONFIG_NIU since it fails to compile.
+
+  [ maximilian attems ]
+  * [amd64, i386]: Enable ACPI_SYSFS_POWER and disable ACPI_PROCFS_POWER.
+  * [fw] Sync with latest git-ieee1394 for sbp2 fixes.
+
+  [ Bastian Blank ]
+  * Kill reboot warning from old templates.
+  * Fix strange default value for link_in_boot. (closes: #425056)
+  * [powerpc/powerpc]: Enable Efika support.
+  * [powerpc]: Lower mkvmlinuz to the state of a bootloader.
+  * [powerpc]: Remove ppc and m68k include dirs from headers.
+  * Remove versions from relations fullfilled in stable.
+
+  [ Aurelien Jarno ]
+  * [arm]: Update versatile config.
+
+  [ Gordon Farquharson ]
+  * [arm/ixp4xx] Change the ixp4xx network driver from the driver
+    written by Christian Hohnstaedt to the driver written by Krzysztof
+    Hasala which has partially been accepted upstream.
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 26 Jan 2008 11:35:11 +0100
+
+linux-2.6 (2.6.24~rc8-1~experimental.1) experimental; urgency=low
+
+  * New upstream release
+    (closes: #454776, #458142, #457992, #458899, #426124, #459732, #455566).
+
+  [ maximilian attems ]
+  * New upstream release, rebase dfsg stuff plus drivers-atm.patch,
+    scripts-kconfig-reportoldconfig.patch.
+  * [amd64, powerpc] Set HIGH_RES_TIMERS and NO_HZ (closes: #458312).
+  * topconfig set NETFILTER_XT_MATCH_TIME, NET_ACT_NAT, KSDAZZLE_DONGLE,
+    KS959_DONGLE, NET_9P_FD, IP1000, VETH, IXGBE, NIU, TEHUTI, LIBERTAS_CS,
+    LIBERTAS_SDIO, RT2X00, SENSORS_ADT7470, SENSORS_I5K_AMB, SENSORS_F71882FG,
+    SENSORS_FSCHMD, SENSORS_IBMPEX, CRYPTO_XTS, CRYPTO_SEED, CRYPTO_AUTHENC,
+    DVB_S5H1409, DVB_TUNER_MT2131, INET_LRO, MMC_RICOH_MMC, MMC_SPI,
+    RTC_DRV_DS1374, VIDEO_CX23885, VIDEO_FB_IVTV, USB_SERIAL_CH341,
+    SCSI_SRP_TGT_ATTRS, ADM8211, MTD_INTEL_VR_NOR, MTD_ALAUDA,
+    MTD_ONENAND_2X_PROGRAM, MTD_ONENAND_SIM, DM_MULTIPATH_HP, FUJITSU_LAPTOP,
+    QUOTA_NETLINK_INTERFACE, DM_UEVENT, SCSI_FC_TGT_ATTRS, SSB, BT_HCIUART_LL,
+    BT_HCIBTSDIO, MTD_OOPS, CGROUPS, MDIO_BITBANG, HIDRAW, P54, SDIO_UART,
+    NETCONSOLE_DYNAMIC, SECURITY_FILE_CAPABILITIES.
+  * Disable smbfs in topconfig, not supported upstream, use cifs.
+  * Disable bcm43xx, deprecated by upstream. Enable B43 (needs v4 firmware)
+    and B43LEGACY (needs v3 firmware).
+  * [i386]: Set SND_SC6000, EDAC_I3000, EDAC_I5000, SBC7240_WDT,
+    NET_9P_VIRTIO, FB_GEODE_LX, VIRTIO_NET, VIRTIO_BLK.
+  * Set USB_EHCI_TT_NEWSCHED fills USB 2.0 bandwith better. (closes: #454797)
+  * postrm: Nuke initramfs sha1sum on linux-image removal. (closes: #420245)
+  * Unifiy BSD_PROCESS_ACCT settings across configs. (closes: #455892)
+  * Reenable DABUSB as firmware is BSD licensed.
+  * [hppa]: Disable OCFS2, due build trouble.
+  * topconfig: Enable delay accounting TASKSTATS. (closes: #433204)
+  * Add git-ieee1394.patch for latest firewire fixes.
+  * [i386] Enable PARAVIRT_GUEST. (closes: #457562)
+  * [amd64, i386] Enable CPU_IDLE for software-controlled idle pm.
+  * [amd64, i386] Enable IT8712F_WDT, FB_EFI.
+  * Add and enable at76.patch wireless driver for Atmel USB cards.
+  * Add and enable ath5k.patch wireless driver for Atheros 5xxx cards.
+  * Unify VLAN_8021Q setting, needed also on r5k-cobalt.
+  * Double max SERIAL_8250_NR_UARTS to 32. (closes: #440807)
+  * topconfig: Enable AUDITSYSCALL for better SELinux support.
+
+  [ Bastian Blank ]
+  * [amd64, i386]: Set kernel architecture to x86.
+  * [i386]: Remove linux-libc-dev arch override.
+
+  [ Martin Michlmayr ]
+  * [mipsel/r5k-cobalt] Enable the new LEDs driver for Cobalt RaQ.
+  * [arm/iop32x] Re-enable USB_NET and PPP, thanks Daniel Hess (closes:
+    #456416).
+  * [arm/iop32x] Enable BSD_PROCESS_ACCT and POSIX_MQUEUE (closes: #455892).
+  * [mips] Disable AdvanSys SCSI since it doesn't compile.
+  * [arm/ixp4xx] Enable IP_ADVANCED_ROUTER, requested by Oliver Urbann.
+  * [arm/iop32x] Enable IP_ADVANCED_ROUTER.
+
+  [ dann frazier ]
+  * [ia64]: Enable BLK_CPQ_DA
+
+  [ Frederik Schüler ]
+  * Add GFS2 locking symbols export patch.
+
+  [ Aurelien Jarno ]
+  * [mips/mipsel] Remove QEMU flavour, as the Malta platform is now correctly
+    emulated in QEMU.
+
+  [ Christian T. Steigies ]
+  * [m68k]: Update patches from linux-m68k CVS
+  * [m68k]: Enable building for bvme6000, mvme147, and mvme16x again
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 18 Jan 2008 12:23:26 +0100
+
+linux-2.6 (2.6.23-2) unstable; urgency=low
+
+  [ dann frazier ]
+  * [ia64]: Enable BLK_CPQ_DA
+
+  [ Gordon Farquharson ]
+  * [arm/iop32x] Use the new i2c framework to load rtc-rs5c372 for the
+    GLAN Tank.
+
+  [ Frederik Schüler ]
+  * Export gfs2 locking symbols required to build gfs1 module.
+
+  [ maximilian attems ]
+  * [ppc] Reenable PMAC_BACKLIGHT.
+  * [sparc] Add davem get_cpu() SunFire boot patch. (closes: #440720)
+  * Add stable release 2.6.23.10:
+    - IPV4: Remove bogus ifdef mess in arp_process
+    - KVM: x86 emulator: Use emulator_write_emulated and not emulator_write_std
+    - KVM: SVM: Fix FPU leak while emulating clts
+    - revert "dpt_i2o: convert to SCSI hotplug model"
+    - KVM: x86 emulator: fix access registers for instructions with ModR/M
+      byte and Mod = 3
+    - KVM: x86 emulator: invd instruction
+    - KVM: SVM: Intercept the 'invd' and 'wbinvd' instructions
+    - KVM: Skip pio instruction when it is emulated, not executed
+    - KVM: VMX: Force vm86 mode if setting flags during real mode
+    - forcedeth: new mcp79 pci ids
+    - forcedeth boot delay fix
+    - PFKEY: Sending an SADB_GET responds with an SADB_GET
+    - rd: fix data corruption on memory pressure.
+    - create /sys/.../power when CONFIG_PM is set
+    - USB: fix up EHCI startup synchronization
+    - RXRPC: Add missing select on CRYPTO
+    - KVM: VMX: Reset mmu context when entering real mode
+    - NET: random : secure_tcp_sequence_number should not assume
+      CONFIG_KTIME_SCALAR
+    - NET: Corrects a bug in ip_rt_acct_read()
+    - NETFILTER: Fix NULL pointer dereference in nf_nat_move_storage()
+    - netfilter: Fix kernel panic with REDIRECT target.
+    - IPV6: Restore IPv6 when MTU is big enough
+    - UNIX: EOF on non-blocking SOCK_SEQPACKET
+    - x86 setup: add a near jump to serialize %cr0 on 386/486
+    - Fix synchronize_irq races with IRQ handler
+    - CRYPTO api: Fix potential race in crypto_remove_spawn
+    - TCP: Fix TCP header misalignment
+    - tmpfs: restore missing clear_highpage (CVE-2007-6417)
+    - TCP: MTUprobe: fix potential sk_send_head corruption
+    - NETFILTER: fix forgotten module release in xt_CONNMARK and xt_CONNSECMARK
+    - fb_ddc: fix DDC lines quirk
+    - VLAN: Fix nested VLAN transmit bug
+    - I4L: fix isdn_ioctl memory overrun vulnerability (CVE-2007-6151)
+    - isdn: avoid copying overly-long strings
+    - nf_nat: fix memset error
+    - esp_scsi: fix reset cleanup spinlock recursion
+    - libertas: properly account for queue commands
+    - KVM: Fix hang on uniprocessor
+    - USB: make the microtek driver and HAL cooperate
+    - TEXTSEARCH: Do not allow zero length patterns in the textsearch
+      infrastructure
+    - XFRM: Fix leak of expired xfrm_states
+    - NETFILTER: xt_TCPMSS: remove network triggerable WARN_ON
+    - BRIDGE: Lost call to br_fdb_fini() in br_init() error path
+    - DECNET: dn_nl_deladdr() almost always returns no error
+    - BRIDGE: Properly dereference the br_should_route_hook
+    - PKT_SCHED: Check subqueue status before calling hard_start_xmit
+    - Freezer: Fix APM emulation breakage
+    - XFS: Make xfsbufd threads freezable
+    - TCP: Problem bug with sysctl_tcp_congestion_control function
+    - wait_task_stopped(): pass correct exit_code to wait_noreap_copyout()
+    - KVM: x86 emulator: implement 'movnti mem, reg'
+    - TCP: illinois: Incorrect beta usage
+    - futex: fix for futex_wait signal stack corruption
+    - libata: kill spurious NCQ completion detection
+    - hrtimers: avoid overflow for large relative timeouts (CVE-2007-5966)
+    - Input: ALPS - add support for model found in Dell Vostro 1400
+      (closes: #448818)
+    - PNP: increase the maximum number of resources
+    - sched: some proc entries are missed in sched_domain sys_ctl debug code
+    - ATM: [he] initialize lock and tasklet earlier
+  * Add stable release 2.6.23.11:
+    - BRIDGE: Section fix.
+    - Revert "Freezer: Fix APM emulation breakage"
+  * Backport fix for CVE-2007-5938
+    - iwlwifi: fix possible NULL dereference in iwl_set_rate()
+  * Add stable release 2.6.23.12:
+    - Revert "PNP: increase the maximum number of resources"
+  * VM/Security: add security hook to do_brk (CVE-2007-6434)
+  * security: protect from stack expantion into low vm addresses
+  * [hppa]: Disable OCFS2, due build trouble.
+
+  [ Aurelien Jarno ]
+  * [arm/versatile] Disable ACENIC and MYRI10GE as they are useless on this
+    platform.
+  * Add em28xx-dv100.patch to add support for Pinnacle Dazzle DVC 100.
+
+  [ Bastian Blank ]
+  * Fix abi change in 2.6.23.10.
+
+ -- maximilian attems <maks@debian.org>  Fri, 21 Dec 2007 11:47:55 +0100
+
+linux-2.6 (2.6.23-1) unstable; urgency=low
+
+  * New upstream release (closes: #447682).
+    - r8169: fix confusion between hardware and IP header alignment
+      (closes: #452069).
+
+  [ maximilian attems ]
+  * [ppc] Enable for powerpc config the ams (Apple Motion Sensor).
+    (closes: #426210)
+  * Add to linux-doc the missing toplevel text files.
+    (closes: #360876, #438697)
+  * Set CONFIG_BLK_DEV_IO_TRACE for blktrace(8) support. (closes: #418442)
+  * ipw2200: Enable IPW2200_RADIOTAP and IPW2200_PROMISCUOUS for optional
+    rtap interface. (closes: #432555)
+  * Enable in topconfig NF_CT_PROTO_UDPLITE, NETFILTER_XT_TARGET_TRACE,
+    NETFILTER_XT_MATCH_CONNLIMIT, NETFILTER_XT_MATCH_U32, SENSORS_ABITUGURU3,
+    SENSORS_LM93, SENSORS_DME1737, SENSORS_THMC50, DVB_USB_AF9005,
+    DVB_USB_AF9005_REMOTE, CRC7, I2C_TAOS_EVM, DS1682, SENSORS_TSL2550,
+    SPI_LM70_LLP, SPI_TLE62X0, W1_SLAVE_DS2760, TUNER_TEA5761, NET_9P,
+    DM_MULTIPATH_RDAC, NET_SCH_RR, EEPROM_93CX6, PPPOL2TP, CRYPTO_HW, UIO,
+    UIO_CIF, SND_CS5530, RTL8187, PC300TOO, TCG_TIS, SCSI_SAS_ATA,
+    PATA_MARVELL.
+  * [i386] Enable lguest.
+  * [amd64, i386] Enable VIDEO_OUTPUT_CONTROL, NETDEVICES_MULTIQUEUE.
+  * linux-image bugscript add cmdline.
+  * [amd64, i386, ia64]: Enable DMIID, ACPI_PROC_EVENT.
+  * Enable TCG_TPM various userspace accesses it. (closes: #439020)
+  * Add and enable IWLWIFI.
+  * Add git-ieee1394.patch for latest firewire fixes.
+  * [ipv6] Enable IPV6_MULTIPLE_TABLES, IPV6_SUBTREES. (closes: #441226)
+  * Add and enable E1000E.
+  * Add stable release 2.6.23.1:
+    - libata: sata_mv: more S/G fixes
+
+  [ Martin Michlmayr ]
+  * [mips] Add a bcm1480 PCI build fix.
+  * Update Riku Voipio's Fintek F75375/SP driver to the latest version.
+  * [arm/iop32x] Set the fan on Thecus N2100 to full speed (Riku Voipio).
+  * [arm/iop32x] Remove the IPv6 and filesystem info from the config file
+    so we will get the values from the main config file.  This should
+    enable NFSv4 and ip6tables support requested by Wouter Verhelst.
+  * [arm/iop32x] Remove even more options to receive the default options.
+  * [arm/ixp4xx] Remove a lot of options to receive the default options.
+  * [mips/r4k-ip22] Remove a lot of options to receive the default options.
+    This will enable ISCSI requested by Martin Zobel-Helas.
+  * [mips/r5k-ip32] Remove a lot of options to receive the default options.
+    This will enable PCI Ethernet devices requested by Giuseppe Sacco.
+  * [mipsel/r5k-cobalt] Remove a lot of options to receive the default
+    options.
+  * [mipsel/r5k-cobalt] Enable the modern Cobalt LEDs driver.
+  * [arm/iop32x] Enable Intel IOP ADMA support.
+  * [arm] Mark BCM43XX as broken on ARM.
+  * [mips/r4k-ip22] Disable EARLY PRINTK because it breaks serial console.
+  * [mips] Add some IP22 fixes from Thomas Bogendoerfer:
+    - Fix broken EISA interrupt setup by switching to generic i8259
+    - Fix broken eeprom access by using __raw_readl/__raw_writel
+
+  [ Bastian Blank ]
+  * Add unpriviledged only Xen support.
+  * [i386] Drop k7 images.
+  * Drop maybe IETF document. (closes: #423040)
+  * Drop drivers because of binary only firmwares:
+    - DABUSB driver
+    - COPS LocalTalk PC support
+    - Digi Intl. RightSwitch SE-X support
+    - 3Com 3C359 Token Link Velocity XL adapter support
+    - SMC ISA/MCA adapter support
+    - EMI 6|2m USB Audio interface support
+    - EMI 2|6 USB Audio interface support
+    - Computone IntelliPort Plus serial support
+  * Remove binary only firmwares for:
+    - Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support
+    - Broadcom Tigon3 support
+    - USB Keyspan USA-xxx Serial Driver
+    - Korg 1212 IO
+    - ESS Allegro/Maestro3
+    - Yamaha YMF724/740/744/754
+    - Technotrend/Hauppauge Nova-USB devices
+    - YAM driver for AX.25
+    - MyriCOM Gigabit Ethernet support
+    - PTI Qlogic, ISP Driver
+    - Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x
+    - Madge Ambassador (Collage PCI 155 Server)
+    - PCA-200E support
+    - SBA-200E support
+    - Broadcom NetXtremeII support
+  * Disable now broken drivers:
+    - Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support
+    - USB Keyspan USA-xxx Serial Driver
+    - Technotrend/Hauppauge Nova-USB devices
+    - YAM driver for AX.25
+    - MyriCOM Gigabit Ethernet support
+    - PTI Qlogic, ISP Driver
+    - Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x
+    - Madge Ambassador (Collage PCI 155 Server)
+    - PCA-200E support
+    - SBA-200E support
+    - Broadcom NetXtremeII support
+  * Add -common to common header package names.
+  * Drop provides from common header packages.
+  * Update plain image type.
+  * Put only a config dump into linux-support.
+
+  [ Aurelien Jarno ]
+  * [mips, mipsel] Add a 64-bit image (5kc-malta) for the MIPS Malta board.
+    (closes: #435677)
+    [sparc] Enable r8169 module on sparc64 and sparc64-smp flavours (closes:
+    #431977)
+
+  [ Frederik Schüler ]
+  * Move all PATA options into the global config file, exept PATA_ARTOP
+    (arm/ixp4xx) and PATA_MPC52xx (powerpc).
+  * Move new global options into the global config file
+  * Clean up new amd64 options
+
+  [ dann frazier ]
+  * [ia64] Re-enable various unintentionally disabled config options
+  * Enable hugetlbfs on i386, amd64, sparc64 and powerpc64. Closes: #450939
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.23.2:
+    - BLOCK: Fix bad sharing of tag busy list on queues with shared tag maps
+    - fix tmpfs BUG and AOP_WRITEPAGE_ACTIVATE
+    - Fix compat futex hangs. (closes: #433187)
+    - sched: keep utime/stime monotonic
+    - fix the softlockup watchdog to actually work
+    - splice: fix double kunmap() in vmsplice copy path
+    - writeback: don't propagate AOP_WRITEPAGE_ACTIVATE
+    - SLUB: Fix memory leak by not reusing cpu_slab
+    - HOWTO: update ja_JP/HOWTO with latest changes
+    - fix param_sysfs_builtin name length check
+    - param_sysfs_builtin memchr argument fix
+    - Remove broken ptrace() special-case code from file mapping
+    - locks: fix possible infinite loop in posix deadlock detection
+    - lockdep: fix mismatched lockdep_depth/curr_chain_hash
+  * Add stable release 2.6.23.3:
+    - revert "x86_64: allocate sparsemem memmap above 4G"
+    - x86: fix TSC clock source calibration error
+    - x86 setup: sizeof() is unsigned, unbreak comparisons
+    - x86 setup: handle boot loaders which set up the stack incorrectly
+    - x86: fix global_flush_tlb() bug
+    - xfs: eagerly remove vmap mappings to avoid upsetting Xen
+    - xen: fix incorrect vcpu_register_vcpu_info hypercall argument
+    - xen: deal with stale cr3 values when unpinning pagetables
+    - xen: add batch completion callbacks
+    - UML - kill subprocesses on exit
+    - UML - stop using libc asm/user.h
+    - UML - Fix kernel vs libc symbols clash
+    - UML - Stop using libc asm/page.h
+    - POWERPC: Make sure to of_node_get() the result of pci_device_to_OF_node()
+    - POWERPC: Fix handling of stfiwx math emulation
+    - MIPS: R1: Fix hazard barriers to make kernels work on R2 also.
+    - MIPS: MT: Fix bug in multithreaded kernels.
+    - Fix sparc64 MAP_FIXED handling of framebuffer mmaps
+    - Fix sparc64 niagara optimized RAID xor asm
+  * Add stable release 2.6.23.4:
+    - mac80211: make ieee802_11_parse_elems return void
+    - mac80211: only honor IW_SCAN_THIS_ESSID in STA, IBSS, and AP modes
+    - mac80211: honor IW_SCAN_THIS_ESSID in siwscan ioctl
+    - mac80211: store SSID in sta_bss_list
+    - mac80211: store channel info in sta_bss_list
+    - mac80211: reorder association debug output
+    - ieee80211: fix TKIP QoS bug
+    - NETFILTER: nf_conntrack_tcp: fix connection reopening
+    - Fix netlink timeouts.
+    - Fix crypto_alloc_comp() error checking.
+    - Fix SET_VLAN_INGRESS_PRIORITY_CMD error return.
+    - Fix VLAN address syncing.
+    - Fix endianness bug in U32 classifier.
+    - Fix TEQL oops.
+    - Fix error returns in sys_socketpair()
+    - softmac: fix wext MLME request reason code endianness
+    - Fix kernel_accept() return handling.
+    - TCP: Fix size calculation in sk_stream_alloc_pskb
+    - Fix SKB_WITH_OVERHEAD calculations.
+    - Fix 9P protocol build
+    - Fix advertised packet scheduler timer resolution
+    - Add get_unaligned to ieee80211_get_radiotap_len
+    - mac80211: Improve sanity checks on injected packets
+    - mac80211: filter locally-originated multicast frames
+  * Add stable release 2.6.23.5:
+    - zd1211rw, fix oops when ejecting install media
+    - rtl8187: Fix more frag bit checking, rts duration calc
+    - ipw2100: send WEXT scan events
+    - zd1201: avoid null ptr access of skb->dev
+    - sky2: fix power settings on Yukon XL
+    - sky2: ethtool register reserved area blackout
+    - sky2: status ring race fix
+    - skge: XM PHY handling fixes
+    - Fix L2TP oopses.
+    - TG3: Fix performance regression on 5705.
+    - forcedeth: add MCP77 device IDs
+    - forcedeth msi bugfix
+    - ehea: 64K page kernel support fix
+    - libertas: fix endianness breakage
+    - libertas: more endianness breakage
+  * Add stable release 2.6.23.6:
+    - ACPI: suspend: Wrong order of GPE restore.
+    - ACPI: sleep: Fix GPE suspend cleanup
+    - libata: backport ATA_FLAG_NO_SRST and ATA_FLAG_ASSUME_ATA, part 2
+    - libata: backport ATA_FLAG_NO_SRST and ATA_FLAG_ASSUME_ATA
+    - libata: add HTS542525K9SA00 to NCQ blacklist
+    - radeon: set the address to access the GART table on the CPU side correctly
+    - Char: moxa, fix and optimise empty timer
+    - Char: rocket, fix dynamic_dev tty
+    - hptiop: avoid buffer overflow when returning sense data
+    - ide: Fix cs5535 driver accessing beyond array boundary
+    - ide: Fix siimage driver accessing beyond array boundary
+    - ide: Add ide_get_paired_drive() helper
+    - ide: fix serverworks.c UDMA regression
+    - i4l: fix random freezes with AVM B1 drivers
+    - i4l: Fix random hard freeze with AVM c4 card
+    - ALSA: hda-codec - Add array terminator for dmic in STAC codec
+    - USB: usbserial - fix potential deadlock between write() and IRQ
+    - USB: add URB_FREE_BUFFER to permissible flags
+    - USB: mutual exclusion for EHCI init and port resets
+    - usb-gadget-ether: prevent oops caused by error interrupt race
+    - USB: remove USB_QUIRK_NO_AUTOSUSPEND
+    - MSI: Use correct data offset for 32-bit MSI in read_msi_msg()
+    - md: raid5: fix clearing of biofill operations
+    - md: fix an unsigned compare to allow creation of bitmaps with v1.0 metadata
+    - dm: fix thaw_bdev
+    - dm delay: fix status
+    - libata: sync NCQ blacklist with upstream
+    - ALSA: hdsp - Fix zero division
+    - ALSA: emu10k1 - Fix memory corruption
+    - ALSA: Fix build error without CONFIG_HAS_DMA
+    - ALSA: fix selector unit bug affecting some USB speakerphones
+    - ALSA: hda-codec - Avoid zero NID in line_out_pins[] of STAC codecs
+    - IB/mthca: Use mmiowb() to avoid firmware commands getting jumbled up
+    - IB/uverbs: Fix checking of userspace object ownership
+    - hwmon/lm87: Disable VID when it should be
+    - hwmon/lm87: Fix a division by zero
+    - hwmon/w83627hf: Don't assume bank 0
+    - hwmon/w83627hf: Fix setting fan min right after driver load
+    - i915: fix vbl swap allocation size.
+    - POWERPC: Fix platinumfb framebuffer
+  * Add stable release 2.6.23.7:
+    - NFS: Fix a writeback race...
+    - ocfs2: fix write() performance regression
+    - minixfs: limit minixfs printks on corrupted dir i_size (CVE-2006-6058)
+  * Add stable release 2.6.23.8:
+    - wait_task_stopped: Check p->exit_state instead of TASK_TRACED (CVE-2007-5500)
+    - TCP: Make sure write_queue_from does not begin with NULL ptr (CVE-2007-5501)
+  * Add stable release 2.6.23.9:
+    - ipw2200: batch non-user-requested scan result notifications
+    - USB: Nikon D40X unusual_devs entry
+    - USB: unusual_devs modification for Nikon D200
+    - softlockup: use cpu_clock() instead of sched_clock()
+    - softlockup watchdog fixes and cleanups
+    - x86: fix freeze in x86_64 RTC update code in time_64.c
+    - ntp: fix typo that makes sync_cmos_clock erratic
+    - x86: return correct error code from child_rip in x86_64 entry.S
+    - x86: NX bit handling in change_page_attr()
+    - x86: mark read_crX() asm code as volatile
+    - x86: fix off-by-one in find_next_zero_string
+    - i386: avoid temporarily inconsistent pte-s
+    - libcrc32c: keep intermediate crc state in cpu order
+    - geode: Fix not inplace encryption
+    - Fix divide-by-zero in the 2.6.23 scheduler code
+    - ACPI: VIDEO: Adjust current level to closest available one.
+    - libata: sata_sis: use correct S/G table size
+    - sata_sis: fix SCR read breakage
+    - reiserfs: don't drop PG_dirty when releasing sub-page-sized dirty file
+    - x86: disable preemption in delay_tsc()
+    - dmaengine: fix broken device refcounting
+    - nfsd4: recheck for secure ports in fh_verify
+    - knfsd: fix spurious EINVAL errors on first access of new filesystem
+    - raid5: fix unending write sequence
+    - oProfile: oops when profile_pc() returns ~0LU
+    - drivers/video/ps3fb: fix memset size error
+    - i2c/eeprom: Hide Sony Vaio serial numbers
+    - i2c/eeprom: Recognize VGN as a valid Sony Vaio name prefix
+    - i2c-pasemi: Fix NACK detection
+
+ -- maximilian attems <maks@debian.org>  Fri, 30 Nov 2007 11:40:09 +0100
+
+linux-2.6 (2.6.22-6) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * [mips] Add IP22 (SGI Indy) patches from Thomas Bogendoerfer:
+    - Disable EARLY PRINTK because it breaks serial.
+    - fix wrong argument order.
+    - wrong check for second HPC.  Closes: #448488
+
+  [ maximilian attems ]
+  * Add stable release 2.6.22.11 - minus ipv6 abi breaker:
+    - libertas: fix endianness breakage
+    - libertas: more endianness breakage
+    - Fix ROSE module unload oops.
+    - Add get_unaligned to ieee80211_get_radiotap_len
+    - Fix ipv6 redirect processing, leads to TAHI failures.
+    - i915: fix vbl swap allocation size.
+    - Fix ESP host instance numbering.
+    - Fix TCP MD5 on big-endian.
+    - Fix zero length socket write() semantics.
+    - Fix sys_ipc() SEMCTL on sparc64.
+    - Fix TCP initial sequence number selection.
+    - lockdep: fix mismatched lockdep_depth/curr_chain_hash
+    - V4L: ivtv: fix udma yuv bug
+    - Fix TCP's ->fastpath_cnt_hit handling.
+    - hwmon/lm87: Fix a division by zero
+    - hwmon/lm87: Disable VID when it should be
+    - hwmon/w83627hf: Fix setting fan min right after driver load
+    - hwmon/w83627hf: Don't assume bank 0
+    - netdrvr: natsemi: Fix device removal bug
+    - Fix ieee80211 handling of bogus hdrlength field
+    - mac80211: filter locally-originated multicast frames
+    - POWERPC: Fix handling of stfiwx math emulation
+    - dm9601: Fix receive MTU
+    - firewire: fix unloading of fw-ohci while devices are attached
+    - Fix cls_u32 error return handling.
+    - ACPI: disable lower idle C-states across suspend/resume
+  * Add stable release 2.6.22.12-rc1:
+    - genirq: cleanup mismerge artifact
+    - genirq: suppress resend of level interrupts
+    - genirq: mark io_apic level interrupts to avoid resend
+    - IB/uverbs: Fix checking of userspace object ownership
+    - minixfs: limit minixfs printks on corrupted dir i_size (CVE-2006-6058)
+    - param_sysfs_builtin memchr argument fix
+    - x86: fix global_flush_tlb() bug
+    - dm snapshot: fix invalidation deadlock
+    - Revert "x86_64: allocate sparsemem memmap above 4G"
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.2.0.5.
+    - Ignore symbols from never to be merged patch.
+
+ -- maximilian attems <maks@debian.org>  Sun,  4 Nov 2007 17:35:51 +0100
+
+linux-2.6 (2.6.22-5) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Add stable release 2.6.22.6:
+    - USB: allow retry on descriptor fetch errors
+    - PCI: lets kill the 'PCI hidden behind bridge' message
+    - Netfilter: Missing Kbuild entry for netfilter
+    - Fix soft-fp underflow handling.
+    - SPARC64: Fix sparc64 task stack traces.
+    - TCP: Do not autobind ports for TCP sockets
+    - DCCP: Fix DCCP GFP_KERNEL allocation in atomic context
+    - NET: Share correct feature code between bridging and bonding
+    - SNAP: Fix SNAP protocol header accesses.
+    - NET: Fix missing rcu unlock in __sock_create()
+    - IPv6: Invalid semicolon after if statement
+    - TCP: Fix TCP rate-halving on bidirectional flows.
+    - TCP: Fix TCP handling of SACK in bidirectional flows.
+    - uml: fix previous request size limit fix
+    - usb: add PRODUCT, TYPE to usb-interface events
+    - PPP: Fix PPP buffer sizing.
+    - ocfs2: Fix bad source start calculation during kernel writes
+    - signalfd: fix interaction with posix-timers
+    - signalfd: make it group-wide, fix posix-timers scheduling
+    - USB: fix DoS in pwc USB video driver
+    - sky2: don't clear phy power bits
+    - PCI: disable MSI on RS690
+    - PCI: disable MSI on RD580
+    - PCI: disable MSI on RX790
+    - IPV6: Fix kernel panic while send SCTP data with IP fragments
+    - i386: fix lazy mode vmalloc synchronization for paravirt
+  * Set abi to 3.
+  * Add stable release 2.6.22.7: (CVE-2007-4573)
+    - x86_64: Zero extend all registers after ptrace in 32bit entry path.
+  * Add stable release 2.6.22.8: (CVE-2007-4571)
+    - Convert snd-page-alloc proc file to use seq_file
+  * Add stable release 2.6.22.9:
+    - 3w-9xxx: Fix dma mask setting
+    - Fix pktgen src_mac handling.
+    - nfs: fix oops re sysctls and V4 support
+    - DVB: get_dvb_firmware: update script for new location of tda10046 firmware
+    - afs: mntput called before dput
+    - disable sys_timerfd()
+    - Fix "Fix DAC960 driver on machines which don't support 64-bit DMA"
+    - futex_compat: fix list traversal bugs
+    - MTD: Initialise s_flags in get_sb_mtd_aux()
+    - Fix sparc64 v100 platform booting.
+    - Fix IPV6 DAD handling
+    - ext34: ensure do_split leaves enough free space in both blocks
+    - dir_index: error out instead of BUG on corrupt dx dirs
+    - Fix oops in vlan and bridging code
+    - V4L: ivtv: fix VIDIOC_S_FBUF: new OSD values were never set
+    - crypto: blkcipher_get_spot() handling of buffer at end of page
+    - Fix datagram recvmsg NULL iov handling regression.
+    - Handle snd_una in tcp_cwnd_down()
+    - Fix TCP DSACK cwnd handling
+    - JFFS2: fix write deadlock regression
+    - hwmon: End of I/O region off-by-one
+    - Fix debug regression in video/pwc
+    - splice: fix direct splice error handling
+    - Fix race with shared tag queue maps
+    - Fix ipv6 source address handling.
+    - POWERPC: Flush registers to proper task context
+    - bcm43xx: Fix cancellation of work queue crashes
+    - Fix DAC960 driver on machines which don't support 64-bit DMA
+    - DVB: get_dvb_firmware: update script for new location of sp8870 firmware
+    - USB: fix linked list insertion bugfix for usb core
+    - Correctly close old nfsd/lockd sockets.
+    - Fix IPSEC AH4 options handling
+    - setpgid(child) fails if the child was forked by sub-thread
+    - sigqueue_free: fix the race with collect_signal()
+    - Fix decnet device address listing.
+    - Fix inet_diag OOPS.
+    - Leases can be hidden by flocks
+    - kconfig: oldconfig shall not set symbols if it does not need to
+    - MTD: Makefile fix for mtdsuper
+    - firewire: fw-ohci: ignore failure of pci_set_power_state
+      (fix suspend regression)
+    - ieee1394: ohci1394: fix initialization if built non-modular
+    - Fix device address listing for ipv4.
+    - Fix tc_ematch kbuild
+    - V4L: cx88: Avoid a NULL pointer dereference during mpeg_open()
+    - DVB: b2c2-flexcop: fix Airstar HD5000 tuning regression
+    - fix realtek phy id in forcedeth
+    - rpc: fix garbage in printk in svc_tcp_accept()
+    - Fix IPV6 append OOPS.
+    - Fix ipv6 double-sock-release with MSG_CONFIRM
+    - ACPI: Validate XSDT, use RSDT if XSDT fails
+  * Update vserver patch to 2.2.0.4.
+  * Add stable release 2.6.22.10:
+    - i386: Use global flag to disable broken local apic timer on AMD CPUs.
+    - Fix timer_stats printout of events/sec
+    - libata: update drive blacklists
+    - i2c-algo-bit: Read block data bugfix
+    - scsi_transport_spi: fix domain validation failure from incorrect width
+      setting
+    - Fix SMP poweroff hangs
+    - Fix ppp_mppe kernel stack usage.
+    - sky2: reduce impact of watchdog timer
+    - sky2: fix VLAN receive processing
+    - sky2: fix transmit state on resume
+    - SELinux: clear parent death signal on SID transitions
+    - NLM: Fix a circular lock dependency in lockd
+    - NLM: Fix a memory leak in nlmsvc_testlock
+
+  [ Martin Michlmayr ]
+  * [mips] Add a fix so qemu NE2000 will work again.
+  * [mipsel/r5k-cobalt] Enable MTD.
+  * [mips] Backport "Fix CONFIG_BUILD_ELF64 kernels with symbols in
+    CKSEG0" to fix crash on boot on IP32 (SGI O2).  Closes: #444104.
+
+  [ Steve Langasek ]
+  * Set CONFIG_MATHEMU=y on alpha, which is required for proper fp math on
+    at least ev4-ev56 systems.  Closes: #411813.
+  * linux-image packages need to depend on a newer version of coreutils,
+    because of the use of readlink -q -m inherited from kernel-package.
+    Closes: #413311.
+
+  [ Bastian Blank ]
+  * Fix tainted check in bug scripts.
+
+  [ dann frazier ]
+  * [ia64] Re-enable various unintentionally disabled config options
+
+ -- Maximilian Attems <maks@debian.org>  Thu, 11 Oct 2007 13:31:38 +0000
+
+linux-2.6 (2.6.22-4) unstable; urgency=low
+
+  [ dann frazier ]
+  * [hppa] Use generic compat_sys_getdents (closes: #431773)
+
+  [ Martin Michlmayr ]
+  * [powerpc] Fix PS/2 keyboard detection on Pegasos (closes: #435378).
+
+  [ Emanuele Rocca ]
+  * [sparc] Add patch to fix PCI config space accesses on sun4u.
+  * [sparc] Disable CONFIG_SCSI_SCAN_ASYNC.
+
+  [ maximilian attems ]
+  * Add stable release 2.6.22.2:
+    - usb-serial: Fix edgeport regression on non-EPiC devices
+    - Missing header include in ipt_iprange.h
+    - drivers/video/macmodes.c:mac_find_mode() mustn't be __devinit
+    - Fix ipv6 tunnel endianness bug.
+    - aacraid: fix security hole
+    - USB: cdc-acm: fix sysfs attribute registration bug
+    - USB: fix warning caused by autosuspend counter going negative
+    - Fix sparc32 memset()
+    - Fix leak on /proc/lockdep_stats
+    - Fix leaks on /proc/{*/sched, sched_debug, timer_list, timer_stats}
+    - futex: pass nr_wake2 to futex_wake_op
+    - md: handle writes to broken raid10 arrays gracefully
+    - forcedeth bug fix: cicada phy
+    - forcedeth bug fix: vitesse phy
+    - forcedeth bug fix: realtek phy
+    - ACPI: dock: fix opps after dock driver fails to initialize
+    - pcmcia: give socket time to power down
+    - drm/i915: Fix i965 secured batchbuffer usage (CVE-2007-3851)
+    - Fix console write locking in sparc drivers.
+    - Sparc64 bootup assembler bug
+    - IPV6: /proc/net/anycast6 unbalanced inet6_dev refcnt
+    - make timerfd return a u64 and fix the __put_user
+    - Fix error queue socket lookup in ipv6
+    - Input: lifebook - fix an oops on Panasonic CF-18
+    - readahead: MIN_RA_PAGES/MAX_RA_PAGES macros
+    - V4L: Add check for valid control ID to v4l2_ctrl_next
+    - V4L: ivtv: fix broken VBI output support
+    - V4L: ivtv: fix DMA timeout when capturing VBI + another stream
+    - V4L: ivtv: Add locking to ensure stream setup is atomic
+    - V4L: wm8775/wm8739: Fix memory leak when unloading module
+    - do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY
+    - Include serial_reg.h with userspace headers (closes: #433755)
+    - TCP FRTO retransmit bug fix
+    - Fix rfkill IRQ flags.
+    - nfsd: fix possible read-ahead cache and export table corruption
+    - nfsd: fix possible oops on re-insertion of rpcsec_gss modules
+    - jbd commit: fix transaction dropping
+    - jbd2 commit: fix transaction dropping
+    - softmac: Fix ESSID problem
+    - uml: limit request size on COWed devices
+    - UML: exports for hostfs
+    - splice: fix double page unlock
+    - cfq-iosched: fix async queue behaviour
+    - cr_backlight_probe() allocates too little storage for struct cr_panel
+    - sx: switch subven and subid values
+    - hugetlb: fix race in alloc_fresh_huge_page()
+    - KVM: SVM: Reliably detect if SVM was disabled by BIOS
+    - dm io: fix another panic on large request
+    - md: raid10: fix use-after-free of bio
+    - fs: 9p/conv.c error path fix
+    - Fix sparc32 udelay() rounding errors.
+    - sony-laptop: fix bug in event handling
+    - eCryptfs: ecryptfs_setattr() bugfix
+    - Hangup TTY before releasing rfcomm_dev
+    - dm io: fix panic on large request
+    - dm raid1: fix status
+    - dm snapshot: permit invalid activation
+    - "ext4_ext_put_in_cache" uses __u32 to receive physical block number
+    - destroy_workqueue() can livelock
+    - USB: fix for ftdi_sio quirk handling
+    - Fix TC deadlock.
+    - Fix IPCOMP crashes.
+    - gen estimator timer unload race
+    - Netfilter: Fix logging regression
+    - Fix user struct leakage with locked IPC shem segment
+    - Fix reported task file values in sense data
+    - gen estimator deadlock fix
+    - Netpoll leak
+    - dm: disable barriers
+    - firewire: fw-sbp2: set correct maximum payload (fixes CardBus adapters)
+    - fw-ohci: fix "scheduling while atomic"
+    - firewire: fix memory leak of fw_request instances
+    - ieee1394: revert "sbp2: enforce 32bit DMA mapping"
+    - libata: add FUJITSU MHV2080BH to NCQ blacklist
+    - i386: HPET, check if the counter works
+    - CPU online file permission
+    - acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR
+    - Keep rfcomm_dev on the list until it is freed
+    - SCTP scope_id handling fix
+    - Fix ipv6 link down handling.
+    - Fix TCP IPV6 MD5 bug.
+    - sysfs: release mutex when kmalloc() failed in sysfs_open_file().
+    - nf_conntrack: don't track locally generated special ICMP error
+  * Bump abi due to firewire, ivtv and xrfm changes.
+  * Add stable release 2.6.22.3:
+    - fix oops in __audit_signal_info()
+    - direct-io: fix error-path crashes
+    - powerpc: Fix size check for hugetlbfs
+    - stifb: detect cards in double buffer mode more reliably
+    - pata_atiixp: add SB700 PCI ID
+    - PPC: Revert "[POWERPC] Add 'mdio' to bus scan id list for platforms
+      with QE UEC"
+    - random: fix bound check ordering (CVE-2007-3105)
+    - softmac: Fix deadlock of wx_set_essid with assoc work
+    - PPC: Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()"
+    - ata_piix: update map 10b for ich8m
+    - CPUFREQ: ondemand: fix tickless accounting and software coordination bug
+    - CPUFREQ: ondemand: add a check to avoid negative load calculation
+  * Add stable release 2.6.22.4:
+    - Reset current->pdeath_signal on SUID binary execution (CVE-2007-3848)
+  * Add stable release 2.6.22.5:
+    - x86_64: Check for .cfi_rel_offset in CFI probe
+    - x86_64: Change PMDS invocation to single macro
+    - i386: Handle P6s without performance counters in nmi watchdog
+    - revert "x86, serial: convert legacy COM ports to platform devices"
+    - ACPICA: Fixed possible corruption of global GPE list
+    - ACPICA: Clear reserved fields for incoming ACPI 1.0 FADTs
+    - i386: Fix double fault handler
+    - JFFS2 locking regression fix.
+    - r8169: avoid needless NAPI poll scheduling
+    - Linux 2.6.22.5
+    - AVR32: Fix atomic_add_unless() and atomic_sub_unless()
+    - i386: allow debuggers to access the vsyscall page with compat vDSO
+    - hwmon: (smsc47m1) restore missing name attribute
+    - hwmon: fix w83781d temp sensor type setting
+    - Hibernation: do not try to mark invalid PFNs as nosave
+    - sky2: restore workarounds for lost interrupts
+    - sky2: carrier management
+    - sky2: check for more work before leaving NAPI
+    - sky2: check drop truncated packets
+    - forcedeth: fix random hang in forcedeth driver when using netconsole
+    - libata: add ATI SB700 device IDs to AHCI driver
+
+  [ dann frazier ]
+  * [ia64] Restore config cleanup now that its safe to break the ABI
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.2.0.3.
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 30 Aug 2007 20:19:44 +0200
+
+linux-2.6 (2.6.22-3) unstable; urgency=low
+
+  [ dann frazier ]
+  * [ia64] Config cleanup in 2.6.22-2 broke the ABI; revert most of it
+    for now (everything but the efivars and sym53c8xx modules)
+
+  [ Martin Michlmayr ]
+  * [mipsel/r5k-cobalt] Fix a typo in the config file.
+  * [mipsel/4kc-malta] Update the config file, thanks Aurelien Jarno.
+  * [mipsel] Add patch from Yoichi Yuasa to fix IDE on Cobalt.
+
+ -- Bastian Blank <waldi@debian.org>  Sun, 29 Jul 2007 13:47:38 +0200
+
+linux-2.6 (2.6.22-2) unstable; urgency=low
+
+  [ Steve Langasek ]
+  * [alpha] request_irq-retval.patch: capture the return value of all
+    request_irq() calls in sys_titan.c to suppress the warning (and
+    build failure with -Werror); failures still aren't being handled, but
+    there's nothing that needs to be done -- or nothing that can be done
+    -- if these requests fail anyway.
+
+  [ Christian T. Steigies ]
+  * Add module.lds to kernel headers (closes: #396220)
+  * Enable INPUT_UINPUT on mac
+  * Add 2.6.22 patches from linux-m68k CVS
+
+  [ maximilian attems ]
+  * Add stable release 2.6.22.1:
+    - nf_conntrack_h323: add checking of out-of-range on choices' index values
+      (CVE-2007-3642)
+
+  [ dann frazier ]
+  * [ia64] Re-enable various config options which were unintentionally
+    disabled somewhere between 2.6.21 and 2.6.22
+  * [ia64] Re-enable vserver flavour - this was somehow lost when 2.6.22
+    was merged from trunk to the sid branch
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.2.0.3-rc1.
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 23 Jul 2007 09:38:01 +0200
+
+linux-2.6 (2.6.22-1) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Drop asfs options.
+  * Drop linux-libc-headers references.
+  * Update vserver patch to 2.2.0-rc5.
+
+  [ maximilian attems ]
+  * Fullfils policy 3.7.2.2.
+  * Add Sempron to the k7 image description (closes: #384737)
+    Thanks Robert Millan <rmh@aybabtu.com>.
+  * [powerpc] Enable CONFIG_ADB_PMU_LED.
+  * [hppa] Disable a bunch of topconfig enabled fb devices. Thanks Frank
+    Lichtenheld <djpig@debian.org> for build fix.
+
+  [ Christian T. Steigies ]
+  * Add module.lds to kernel headers
+  * Enable INPUT_UINPUT on mac
+  * Add 2.6.22 patches from linux-m68k CVS
+
+  [ dann frazier ]
+  * Enable vserver flavour for ia64 (closes: #423232)
+
+ -- Bastian Blank <waldi@debian.org>  Sun, 15 Jul 2007 15:03:40 +0200
+
+linux-2.6 (2.6.22~rc5-1~experimental.1) experimental; urgency=low
+
+  [ Bastian Blank ]
+  * [powerpc]: Disable prep.
+  * [powerpc]: Disable apm emulation.
+  * Drop inactive members from Uploaders.
+
+  [ maximilian attems ]
+  * Cleanup configs of old unused variables.
+  * Enable TCP_CONG_YEAH, TCP_CONG_ILLINOIS, NF_CONNTRACK_SANE, DM_DELAY,
+    GIGASET_M101, SATA_INIC162X, VIDEO_IVTV, USB_ZR364XX, INFINIBAND_CXGB3,
+    MLX4_INFINIBAND, SPI_AT25, MFD_SM501, DVB_USB_M920X, DVB_USB_GL861,
+    DVB_USB_AU6610, DVB_USB_OPERA1, SENSORS_AD7418, SENSORS_ADM1029,
+    SENSORS_F75375S, SENSORS_CORETEMP, SENSORS_MAX6650, SENSORS_APPLESMC,
+    I2C_SIMTEC, I2C_TINY_USB, SC92031, LIBERTAS_USB, RFKILL, RFKILL_INPUT,
+    MTD_UBI, SND_USB_CAIAQ, SND_USB_CAIAQ_INPUT, USB_BERRY_CHARGE,
+    RTC_DRV_MAX6900, SUNRPC_BIND34, SND_PORTMAN2X4, FB_VT8623, FUSION_LAN,
+    DISPLAY_SUPPORT, FB_ARK, FB_SM501
+    and disable SCSI_ESP_CORE, SPI_SPIDEV, CRYPT_CRYPTD, SYSV68_PARTITION,
+    MOUSE_PS2_TOUCHKIT, INPUT_POLLDEV in topconfig.
+  * [amd64, i386]: Take care of the renaming acpi-ibm to thinkpad-acpi.
+    Enable KINGSUN_DONGLE, AF_RXRPC, RXKAD, MTD_NAND_PLATFORM, BLINK, PHANTOM,
+    BACKLIGHT_PROGEAR, FB_HECUBA, FB_LE80578, FB_CARILLO_RANCH.
+    Disable OSS_OBSOLETE.
+  * Enable WLAN_PRE80211 and WLAN_80211 on all archs with NET_RADIO enabled.
+  * Fix RTC_INTF_{DEV,SYSFS,PROC}=y where enabled modular.
+  * Enable new wirless stack mac80211 and improved wireless conf api.
+  * Enable new USB Touchscreen Driver on all configs with touchscreens.
+  * Enable the newly added crypto algorythm: fcrypt, pcbc and camellia.
+  * Unify CONFIG_TR to toplevel config, also enable new drivers 3C359
+    and SMCTR.
+  * Enable the moved USB tablets config options where wacom is enabled.
+  * [i386] Enable driver for Crystalfontz 128x64 2-color LCD.
+  * [amd64] Enable KS0108 LCD controller.
+  * Enable the new firewire stack labeled to be more simple and robust.
+  * [i386] Enable VMI paravirtualized interface.
+  * [powerpc] Enable fb for IBM GXT4500P adaptor.
+  * [amd64] Enable timerstats too.
+
+  [ Martin Michlmayr ]
+  * mipsel/r5k-cobalt: Use the new RTC system.
+
+  [ dann frazier ]
+  * Add Xen licensing info to the copyright file. (closes: #368912)
+
+  [ Gordon Farquharson ]
+  * arm: Mark CHELSIO_T3, NETXEN_NIC, BCM43XX, VIDEO_BT848,
+    DVB_B2C2_FLEXCOP, and DVB_BUDGET as broken on ARM.
+  * arm/ixp4xx: Add support for the new generic I2C GPIO driver on the
+    NSLU2 and the NAS100D. Thanks to Michael-Luke Jones and Rod Whitby.
+  * arm/ixp4xx: Update Artop PATA support patch for the NAS 100d.
+
+  [ Christian T. Steigies ]
+  * m68k: Disable already included patches (611, 618, 630)
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 19 Jun 2007 17:49:52 +0200
+
+linux-2.6 (2.6.21-6) unstable; urgency=low
+
+  * Add stable release 2.6.21.6:
+    - nf_conntrack_h323: add checking of out-of-range on choices' index values
+      (CVE-2007-3642)
+  * Update vserver patch to 2.2.0.
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 10 Jul 2007 18:36:17 +0200
+
+linux-2.6 (2.6.21-5) unstable; urgency=low
+
+  [ Christian T. Steigies ]
+  * [m68k] Add atari isa and scsi fixes
+
+  [ maximilian attems ]
+  * Add stable release 2.6.21.4:
+    - cpuset: prevent information leak in cpuset_tasks_read (CVE-2007-2875)
+    - random: fix error in entropy extraction (CVE-2007-2453 1 of 2)
+    - random: fix seeding with zero entropy (CVE-2007-2453 2 of 2)
+    - NETFILTER: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr
+      dereference (CVE-2007-2876)
+  * Add stable release 2.6.21.5:
+    - acpi: fix potential call to a freed memory section.
+    - USB: set the correct Interrupt interval in usb_bulk_msg
+    - i386: Fix K8/core2 oprofile on multiple CPUs
+    - ntfs_init_locked_inode(): fix array indexing
+    - ALSA: wm8750 typo fix
+    - neofb: Fix pseudo_palette array overrun in neofb_setcolreg
+    - e1000: disable polling before registering netdevice
+    - timer statistics: fix race
+    - x86: fix oprofile double free
+    - ALSA: usb-audio: explicitly match Logitech QuickCam
+    - zd1211rw: Add AL2230S RF support
+    - IPV4: Correct rp_filter help text.
+    - Fix AF_UNIX OOPS
+    - ICMP: Fix icmp_errors_use_inbound_ifaddr sysctl
+    - NET: Fix BMSR_100{HALF,FULL}2 defines in linux/mii.h
+    - SPARC64: Fix _PAGE_EXEC_4U check in sun4u I-TLB miss handler.
+    - SPARC64: Don't be picky about virtual-dma values on sun4v.
+    - SPARC64: Fix two bugs wrt. kernel 4MB TSB.
+    - cciss: fix pci_driver.shutdown while device is still active
+    - fix compat console unimap regression
+    - timer stats: speedups
+    - SPARC: Linux always started with 9600 8N1
+    - pci_ids: update patch for Intel ICH9M
+    - PCI: quirk disable MSI on via vt3351
+    - UML - Improve host PTRACE_SYSEMU check
+    - NET: parse ip:port strings correctly in in4_pton
+    - Char: cyclades, fix deadlock
+    - IPSEC: Fix panic when using inter address familiy IPsec on loopback.
+    - TCP: Use default 32768-61000 outgoing port range in all cases.
+    - TG3: Fix link problem on Dell's onboard 5906.
+    - fuse: fix mknod of regular file
+    - md: Avoid overflow in raid0 calculation with large components.
+    - md: Don't write more than is required of the last page of a bitmap
+    - make freezeable workqueues singlethread
+    - tty: fix leakage of -ERESTARTSYS to userland
+    - V4L/DVB (5593): Budget-ci: Fix tuning for TDM 1316 (160..200 MHz)
+    - Input: i8042 - fix AUX port detection with some chips
+    - SCSI: aacraid: Correct sa platform support.
+      (Was: [Bug 8469] Bad EIP value on pentium3 SMP kernel-2.6.21.1)
+    - BLUETOOTH: Fix locking in hci_sock_dev_event().
+    - hpt366: don't check enablebits for HPT36x
+    - ieee1394: eth1394: bring back a parent device
+    - NET: Fix race condition about network device name allocation.
+    - ALSA: hda-intel - Probe additional slots only if necessary
+    - ALSA: hda-intel - Fix detection of audio codec on Toshiba A100
+    - ahci: disable 64bit dma on sb600
+    - i386: HPET, check if the counter works
+    - Ignore bogus ACPI info for offline CPUs
+    - NOHZ: Rate limit the local softirq pending warning output
+    - Prevent going idle with softirq pending
+    - Work around Dell E520 BIOS reboot bug
+    - NET: "wrong timeout value" in sk_wait_data() v2
+    - IPV6 ROUTE: No longer handle ::/0 specially.
+    - x86_64: allocate sparsemem memmap above 4G
+  * Bump ABI to 2.
+
+  [ Bastian Blank ]
+  * Back out ABI fixing changes.
+  * Update vserver patch to 2.2.0-rc3.
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 22 Jun 2007 12:39:47 +0200
+
+linux-2.6 (2.6.21-4) unstable; urgency=low
+
+  * [powerpc] Fix mkvmlinuz support.
+  * [s390] Add exception handler for diagnose 224.
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 26 May 2007 14:08:44 +0200
+
+linux-2.6 (2.6.21-3) unstable; urgency=low
+
+  [ Gordon Farquharson ]
+  * arm/ixp4xx: Add patch to set NSLU2 timer frequency.
+
+  [ maximilian attems ]
+  * sparc64: enable USB_SERIAL. (closes: #412740)
+  * Apply stable 2.6.21.1.
+  * Add stable release 2.6.21.2:
+    - slob: fix page order calculation on not 4KB page
+    - libata-sff: Undo bug introduced with pci_iomap changes
+    - kbuild: fixdep segfault on pathological string-o-death
+    - IPMI: fix SI address space settings
+    - IPV6: Reverse sense of promisc tests in ip6_mc_input
+    - iop: fix iop_getttimeoffset
+    - iop13xx: fix i/o address translation
+    - arm: fix handling of svc mode undefined instructions
+    - CPUFREQ: powernow-k7: fix MHz rounding issue with perflib
+    - CPUFREQ: Support rev H AMD64s in powernow-k8
+    - CPUFREQ: Correct revision mask for powernow-k8
+    - JFS: Fix race waking up jfsIO kernel thread
+    - IPV6: Send ICMPv6 error on scope violations.
+    - SPARC64: Add missing cpus_empty() check in hypervisor xcall handling.
+    - SPARC64: Fix recursion in PROM tree building.
+    - SERIAL SUNHV: Add an ID string.
+    - SPARC64: Bump PROMINTR_MAX to 32.
+    - SPARC64: Be more resiliant with PCI I/O space regs.
+    - oom: fix constraint deadlock
+    - fix for bugzilla 8426: massive slowdown on SCSI CD/DVD drive connected to
+      mptspi driver
+    - x86_64 : Fix vgettimeofday()
+    - IPV6: Fix slab corruption running ip6sic
+    - IPSEC: Check validity of direction in xfrm_policy_byid
+    - CRYPTO: api: Read module pointer before freeing algorithm
+    - NET_SCHED: prio qdisc boundary condition
+    - reiserfs: suppress lockdep warning
+    - USB HID: hiddev - fix race between hiddev_send_event() and
+      hiddev_release()
+    - NETFILTER: {ip,nf}_nat_proto_gre: do not modify/corrupt GREv0 packets
+      through NAT
+    - fix leaky resv_huge_pages when cpuset is in use
+    - ACPI: Fix 2.6.21 boot regression on P4/HT
+    - TG3: Fix TSO bugs.
+    - TG3: Remove reset during MAC address changes.
+    - TG3: Update version and reldate.
+    - BNX2: Fix TSO problem with small MSS.
+    - BNX2: Block MII access when ifdown.
+    - BNX2: Save PCI state during suspend.
+    - BNX2: Update version and reldate.
+    - sis900: Allocate rx replacement buffer before rx operation
+    - knfsd: Avoid use of unitialised variables on error path when nfs exports.
+    - knfsd: rpc: fix server-side wrapping of krb5i replies
+    - md: Avoid a possibility that a read error can wrongly propagate through
+    - md/raid1 to a filesystem.
+    - fat: fix VFAT compat ioctls on 64-bit systems
+    - NETFILTER: {ip,nf}_conntrack: fix use-after-free in helper destroy
+      callback invocation
+    - ppp: Fix ppp_deflate issues with recent zlib_inflate changes
+    - NETPOLL: Fix TX queue overflow in trapped mode.
+    - NETPOLL: Remove CONFIG_NETPOLL_RX
+    - cxacru: Fix infinite loop when trying to cancel polling task
+    - TCP: zero out rx_opt in tcp_disconnect()
+    - ipv6: track device renames in snmp6
+    - skge: default WOL should be magic only (rev2)
+    - skge: allow WOL except for known broken chips
+    - sky2: allow 88E8056
+    - sky2: 88e8071 support not ready
+    - skge: crash on shutdown/suspend
+    - sky2: fix oops on shutdown
+    - udf: decrement correct link count in udf_rmdir
+    - ALSA: hda-codec - Fix resume of STAC92xx codecs
+    - sata_via: add missing PM hooks
+    - driver-core: don't free devt_attr till the device is released
+    - pci-quirks: disable MSI on RS400-200 and RS480
+    - highres/dyntick: prevent xtime lock contention
+    - clocksource: fix resume logic
+    - smc911x: fix compilation breakage wjen debug is on
+    - SCTP: Fix sctp_getsockopt_local_addrs_old() to use local storage.
+    - SCTP: Correctly copy addresses in sctp_copy_laddrs
+    - SCTP: Prevent OOPS if hmac modules didn't load
+    - IPV6: Do no rely on skb->dst before it is assigned.
+    - IPV6 ROUTE: Assign rt6i_idev for ip6_{prohibit,blk_hole}_entry.
+
+  [ Christian T. Steigies ]
+  * m68k: enable ATARI_SCSI and ATARI_ROM_ISA
+
+  [ Bastian Blank ]
+  * Fix linux/version.h in linux-libc-dev.
+  * Make it possible to specifiy special CFLAGS.
+  * [hppa] Reenable.
+  * [hppa] Workaround hppa64 failure.
+  * [hppa] Fix debugging in lws syscalls.
+  * Fix abi change.
+  * Add stable release 2.6.21.3:
+    - [PATCH] GEODE-AES: Allow in-place operations [CVE-2007-2451]
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 25 May 2007 10:57:48 +0200
+
+linux-2.6 (2.6.21-2) unstable; urgency=low
+
+  [ Christian T. Steigies ]
+  * m68k: fix atari scc patch
+  * m68k: install compressed vmlinuz images so the post-inst script can find it
+
+  [ Steve Langasek ]
+  * [alpha] isa-mapping-support.patch: add isa_page_to_bus and
+    isa_bus_to_virt defines to complement the existing isa_virt_to_bus
+    define; untested, but these should all be straightforward on alpha and
+    defining them is certainly a better option for getting user feedback
+    than disabling the affected drivers.
+
+  [ Bastian Blank ]
+  * [powerpc] Readd mkvmlinuz support. (closes: #419033)
+  * [sparc]: Disable sparc32 image.
+  * [hppa]: Temporary disable all images.
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 18 May 2007 19:52:36 +0200
+
+linux-2.6 (2.6.21-1) unstable; urgency=low
+
+  [ maximilian attems ]
+  * New upstream release see http://kernelnewbies.org/Linux_2_6_21
+    (closes: #423874)
+  * Disable CONFIG_IP_ROUTE_MULTIPATH_CACHED in topconfig.
+  * Enable CONFIG_IP6_NF_MATCH_MH, CONFIG_CHELSIO_T3, CONFIG_USB_NET_DM9601,
+    CONFIG_NETFILTER_XT_TARGET_TCPMSS, CONFIG_RTC_DRV_CMOS,
+    CONFIG_ASUS_LAPTOP, CONFIG_SONY_LAPTOP, CONFIG_DVB_TUNER_QT1010,
+    CONFIG_USB_IOWARRIOR, CONFIG_ATL1 in topconfig.
+  * [i386] Enable CONFIG_ACPI_BAY, CONFIG_X86_LONGHAUL, CONFIG_BLK_DEV_DELKIN,
+    CONFIG_BLK_DEV_IT8213, CONFIG_BLK_DEV_TC86C001, CONFIG_INPUT_ATLAS_BTNS,
+    CONFIG_SENSORS_ADM1029, CONFIG_FB_SVGALIB, CONFIG_FB_S3,
+    CONFIG_USB_KC2190, CONFIG_KS0108.
+  * Add stable release 2.6.21.1:
+    - IPV4: Fix OOPS'er added to netlink fib.
+    - IPV6: Fix for RT0 header ipv6 change.
+  * [i386] Enable CONFIG_NO_HZ, CONFIG_HIGH_RES_TIMERS for dynticks and true
+    high-resolution timers.
+  * [i386] Enable CONFIG_TIMER_STATS to collect stats about kernel/userspace
+    timer aka power usage (see powertop). (closes: #423694)
+  * [i386] Disable obsolete CONFIG_IRQBALANCE due to bad timer behaviour.
+
+  [ Martin Michlmayr ]
+  * Add armel (arm with EABI) support.  Thanks, Lennert Buytenhek and
+    Joey Hess.  (closes: #410853)
+  * Mark CHELSIO_T3 as broken on ARM.
+  * Take arch/arm/tools/mach-types from current git to fix build failure
+    because MACH_TYPE_EP80219 is not defined.
+  * mips/sb1: Don't build CONFIG_ATA into the kernel.
+  * mips/sb1: Unset CONFIG_USB_{KBD,MOUSE} since the generic HID is used.
+  * arm/iop32x: Don't build CONFIG_ATA into the kernel.
+  * arm/ixp4xx: Enable more SATA drivers.
+  * arm/ixp4xx: Enable PATA_ARTOP which is needed by the nas100d.
+  * arm/ixp4xx: Set CONFIG_USB_EHCI_TT_NEWSCHED.
+  * mips/4kc-malta: Add an image for the MIPS Malta board.  Thanks,
+    Aurelien Jarno. (closes: #421377)
+
+  [ Emanuele Rocca ]
+  * sparc: Enable CONFIG_SCSI_QLOGIC_1280. (closes: #423177)
+
+  [ Christian T. Steigies ]
+  * Add m68k patches for 2.6.21
+  * Add type: plain to [image] in arch/m68k/defines to fix missing
+    Modules.symvers problem
+
+  [ Steve Langasek ]
+  * Revert change to disable image building on alpha.
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.2.0-rc1.
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 16 May 2007 13:46:38 +0200
+
+linux-2.6 (2.6.20-3) unstable; urgency=low
+
+  [ Gordon Farquharson ]
+  * arm: Mark CONFIG_MTD_NAND_CAFE and CONFIG_NETXEN_NIC as broken to
+    fix FTBFS.
+
+  [ Bastian Blank ]
+  * Disable new pata drivers. (closes: #419458)
+  * Disable pata in ata_piix.
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 24 Apr 2007 09:54:44 +0200
+
+linux-2.6 (2.6.20-2) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Rename linux-libc-headers into linux-libc-dev.
+  * [mips] Drop sb1250 uart support.
+  * [alpha] Temporary disable alpha images.
+  * Add stable release 2.6.20.7:
+    - Linux 2.6.20.7
+    - Update libata drive blacklist to the latest from 2.6.21
+    - fix page leak during core dump
+    - revert "retries in ext4_prepare_write() violate ordering requirements"
+    - revert "retries in ext3_prepare_write() violate ordering requirements"
+    - libata: Clear tf before doing request sense (take 3)
+    - fix lba48 bug in libata fill_result_tf()
+    - ahci.c: walkaround for SB600 SATA internal error issue
+    - libata bugfix: preserve LBA bit for HDIO_DRIVE_TASK
+    - softmac: avoid assert in ieee80211softmac_wx_get_rate
+    - knfsd: allow nfsd READDIR to return 64bit cookies
+    - Fix TCP slow_start_after_idle sysctl
+    - Fix tcindex classifier ABI borkage...
+    - Fix IPSEC replay window handling
+    - Fix TCP receiver side SWS handling.
+    - Fix scsi sense handling
+    - Fix length validation in rawv6_sendmsg()
+    - NETFILTER: ipt_CLUSTERIP: fix oops in checkentry function
+    - 8139too: RTNL and flush_scheduled_work deadlock
+    - Fix calculation for size of filemap_attr array in md/bitmap.
+    - HID: Do not discard truncated input reports
+    - DVB: pluto2: fix incorrect TSCR register setting
+    - DVB: tda10086: fix DiSEqC message length
+    - sky2: phy workarounds for Yukon EC-U A1
+    - sky2: turn on clocks when doing resume
+    - sky2: turn carrier off when down
+    - skge: turn carrier off when down
+    - sky2: reliable recovery
+    - i386: fix file_read_actor() and pipe_read() for original i386 systems
+    - kbuild: fix dependency generation
+
+  [ dann frazier ]
+  * [hppa] Add parisc arch patch from Kyle McMartin
+  * [hppa] Enable CONFIG_TULIP_MMIO (closes: #332962)
+  * [hppa] Disable ni52 driver, it doesn't build (and wouldn't work if it did)
+
+ -- Bastian Blank <waldi@debian.org>  Sun, 15 Apr 2007 16:04:16 +0200
+
+linux-2.6 (2.6.20-1) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * mipsel: Drop DECstation support (both r3k-kn02 and r4k-kn04).
+  * arm: Drop RiscPC (rpc) support.
+  * arm: Update configs for 2.6.19-rc6.
+  * arm: source drivers/ata/Kconfig so SATA can be enabled on ARM.
+  * arm/footbridge: Unset SATA.
+  * arm/s3c2410: Drop this flavour since no such device is supported
+    in debian-installer and the ARM build resources are limited.
+
+  [ Sven Luther ]
+  * [powerpc] Added Genesi Efika support patch
+
+  [ Bastian Blank ]
+  * Remove legacy pty support. (closes: #338404)
+  * Enable new scsi parts.
+  * powerpc: Enable ibmvscsis.
+  * Add stable release 2.6.20.1:
+    - Linux 2.6.20.1
+    - [PATCH] Fix a free-wrong-pointer bug in nfs/acl server (CVE-2007-0772)
+  * Add stable release 2.6.20.2:
+    - Linux 2.6.20.2
+    - IPV6: Handle np->opt being NULL in ipv6_getsockopt_sticky() [CVE-2007-1000]
+    - x86-64: survive having no irq mapping for a vector
+    - Fix buffer overflow in Omnikey CardMan 4040 driver (CVE-2007-0005)
+    - TCP: Fix minisock tcp_create_openreq_child() typo.
+    - gfs2: fix locking mistake
+    - ATA: convert GSI to irq on ia64
+    - pktcdvd: Correctly set cmd_len field in pkt_generic_packet
+    - video/aty/mach64_ct.c: fix bogus delay loop
+    - revert "drivers/net/tulip/dmfe: support basic carrier detection"
+    - throttle_vm_writeout(): don't loop on GFP_NOFS and GFP_NOIO allocations
+    - fix section mismatch warning in lockdep
+    - ueagle-atm.c needs sched.h
+    - kvm: Fix asm constraint for lldt instruction
+    - lockdep: forward declare struct task_struct
+    - Char: specialix, isr have 2 params
+    - buffer: memorder fix
+    - kernel/time/clocksource.c needs struct task_struct on m68k
+    - m32r: build fix for processors without ISA_DSP_LEVEL2
+    - hugetlb: preserve hugetlb pte dirty state
+    - enable mouse button 2+3 emulation for x86 macs
+    - v9fs_vfs_mkdir(): fix a double free
+    - ufs: restore back support of openstep
+    - Fix MTRR compat ioctl
+    - kexec: Fix CONFIG_SMP=n compilation V2 (ia64)
+    - NLM: Fix double free in __nlm_async_call
+    - RPM: fix double free in portmapper code
+    - Revert "[PATCH] LOG2: Alter get_order() so that it can make use of ilog2() on a constant"
+    - Backport of psmouse suspend/shutdown cleanups
+    - USB: usbnet driver bugfix
+    - sched: fix SMT scheduler bug
+    - tty_io: fix race in master pty close/slave pty close path
+    - forcedeth: disable msix
+    - export blk_recount_segments
+    - Fix reference counting (memory leak) problem in __nfulnl_send() and callers related to packet queueing.
+    - Fix anycast procfs device leak
+    - Don't add anycast reference to device multiple times
+    - Fix TCP MD5 locking.
+    - Fix %100 cpu spinning on sparc64
+    - Fix skb data reallocation handling in IPSEC
+    - Fix xfrm_add_sa_expire() return value
+    - Fix interrupt probing on E450 sparc64 systems
+    - HID: fix possible double-free on error path in hid parser
+    - POWERPC: Fix performance monitor exception
+    - libata: add missing CONFIG_PM in LLDs
+    - libata: add missing PM callbacks
+    - bcm43xx: Fix assertion failures in interrupt handler
+    - mmc: Power quirk for ENE controllers
+    - UML - Fix 2.6.20 hang
+    - fix umask when noACL kernel meets extN tuned for ACLs
+    - sata_sil: ignore and clear spurious IRQs while executing commands by polling
+    - swsusp: Fix possible oops in userland interface
+    - Fix posix-cpu-timer breakage caused by stale p->last_ran value
+    - V4L: cx88-blackbird: allow usage of 376836 and 262144 sized firmware images
+    - V4L: fix cx25840 firmware loading
+    - DVB: digitv: open nxt6000 i2c_gate for TDED4 tuner handling
+    - DVB: cxusb: fix firmware patch for big endian systems
+    - V4L: pvrusb2: Handle larger cx2341x firmware images
+    - V4L: pvrusb2: Fix video corruption on stream start
+    - dvbdev: fix illegal re-usage of fileoperations struct
+    - md: Fix raid10 recovery problem.
+    - bcm43xx: fix for 4309
+    - i386: Fix broken CONFIG_COMPAT_VDSO on i386
+    - x86: Don't require the vDSO for handling a.out signals
+    - x86_64: Fix wrong gcc check in bitops.h
+    - sky2: transmit timeout deadlock
+    - sky2: dont flush good pause frames
+    - Fix oops in xfrm_audit_log()
+    - Prevent pseudo garbage in SYN's advertized window
+    - Fix IPX module unload
+    - Clear TCP segmentation offload state in ipt_REJECT
+    - Fix atmarp.h for userspace
+    - UHCI: fix port resume problem
+    - Fix recently introduced problem with shutting down a busy NFS server.
+    - Avoid using nfsd process pools on SMP machines.
+    - EHCI: turn off remote wakeup during shutdown
+    - IPV6: HASHTABLES: Use appropriate seed for caluculating ehash index.
+    - MTD: Fatal regression in drivers/mtd/redboot.c in 2.6.20
+    - Kconfig: FAULT_INJECTION can be selected only if LOCKDEP is enabled.
+    - USB HID: Fix USB vendor and product IDs endianness for USB HID devices
+    - Fix null pointer dereference in appledisplay driver
+    - ieee1394: fix host device registering when nodemgr disabled
+    - ieee1394: video1394: DMA fix
+    - Fix compile error for e500 core based processors
+    - md: Avoid possible BUG_ON in md bitmap handling.
+    - Fix allocation failure handling in multicast
+    - Fix TCP FIN handling
+    - Fix ATM initcall ordering.
+    - Fix various bugs with aligned reads in RAID5.
+    - hda-intel - Don't try to probe invalid codecs
+    - usbaudio - Fix Oops with unconventional sample rates
+    - usbaudio - Fix Oops with broken usb descriptors
+    - USB: fix concurrent buffer access in the hub driver
+    - Missing critical phys_to_virt in lib/swiotlb.c
+    - AGP: intel-agp bugfix
+    - bcm43xx: Fix for oops on ampdu status
+    - bcm43xx: Fix for oops on resume
+    - ide: fix drive side 80c cable check
+    - Keys: Fix key serial number collision handling
+    - knfsd: Fix a race in closing NFSd connections.
+    - pata_amd: fix an obvious bug in cable detection
+    - prism54: correct assignment of DOT1XENABLE in WE-19 codepaths
+    - rtc-pcf8563: detect polarity of century bit automatically
+    - x86_64: fix 2.6.18 regression - PTRACE_OLDSETOPTIONS should be accepted
+    - ocfs2: ocfs2_link() journal credits update
+  * Update xen patch to changeset 48670 from fedora 2.6.20 branch.
+  * Support xen versions 3.0.4-1 and 3.0.3-1.
+
+  [ Rod Whitby ]
+  * arm/ixp4xx: Enable PATA_ARTOP for the nas100d and dsmg600.
+  * arm/ixp4xx: Enable RTC for the nas100d
+  * Add nas100d Ethernet MAC setup support.
+  * Add temporary hack to get Artop PATA support going on the nas100d.
+
+  [ maximilian attems ]
+  * i386: Enable kvm.
+  * Add stable release 2.6.20.3:
+    - Fix sparc64 device register probing
+    - Fix bug 7994 sleeping function called from invalid context
+    - Fix timewait jiffies
+    - Fix UDP header pointer after pskb_trim_rcsum()
+    - Fix compat_getsockopt
+    - bcm43xx: Fix problem with >1 GB RAM
+    - nfnetlink_log: fix NULL pointer dereference
+    - nfnetlink_log: fix possible NULL pointer dereference
+    - conntrack: fix {nf, ip}_ct_iterate_cleanup endless loops
+    - nf_conntrack/nf_nat: fix incorrect config ifdefs
+    - tcp conntrack: accept SYN|URG as valid
+    - nfnetlink_log: fix reference leak
+    - nfnetlink_log: fix use after free
+    - nf_conntrack: fix incorrect classification of IPv6 fragments as
+      ESTABLISHED
+    - nfnetlink_log: zero-terminate prefix
+    - nfnetlink_log: fix crash on bridged packet
+    - Fix callback bug in connector
+    - fix for bugzilla #7544 (keyspan USB-to-serial converter)
+    - ip6_route_me_harder should take into account mark
+  * Add myself to uploaders field, entry got lost after 2.6.16-2
+  * Add stable release 2.6.20.4:
+    - fix deadlock in audit_log_task_context()
+    - EHCI: add delay to bus_resume before accessing ports
+    - Copy over mac_len when cloning an skb
+    - fix read past end of array in md/linear.c
+    - oom fix: prevent oom from killing a process with children/sibling unkillable
+    - Fix sparc64 hugepage bugs
+    - Fix page allocation debugging on sparc64
+    - Fix niagara memory corruption
+    - Input: i8042 - really suppress ACK/NAK during panic blink
+    - Input: i8042 - fix AUX IRQ delivery check
+    - Input: i8042 - another attempt to fix AUX delivery checks
+    - Fix rtm_to_ifaddr() error return.
+    - r8169: fix a race between PCI probe and dev_open
+    - futex: PI state locking fix
+    - adjust legacy IDE resource setting (v2)
+    - UML - arch_prctl should set thread fs
+    - gdth: fix oops in gdth_copy_cmd()
+    - Fix extraneous IPSEC larval SA creation
+    - IA64: fix NULL pointer in ia64/irq_chip-mask/unmask function
+    - st: fix Tape dies if wrong block size used, bug 7919
+    - Fix ipv6 flow label inheritance
+    - NETFILTER: nfnetlink_log: fix reference counting
+    - mm: fix madvise infinine loop
+    - Fix another NULL pointer deref in ipv6_sockglue.c
+    - NetLabel: Verify sensitivity level has a valid CIPSO mapping
+    - Fix GFP_KERNEL with preemption disabled in fib_trie
+    - IrDA: irttp_dup spin_lock initialisation
+    - hda-intel - Fix codec probe with ATI controllers
+    - hrtimer: prevent overrun DoS in hrtimer_forward()
+    - fix MTIME_SEC_MAX on 32-bit
+    - nfs: nfs_getattr() can't call nfs_sync_mapping_range() for non-regular files
+    - dio: invalidate clean pages before dio write
+    - initialise pi_lock if CONFIG_RT_MUTEXES=N
+  * Add stable release 2.6.20.5:
+    - FRA_{DST,SRC} are le16 for decnet
+    - CIFS: reset mode when client notices that ATTR_READONLY is no longer set
+    - ide: clear bmdma status in ide_intr() for ICHx controllers (revised #4)
+    - ide: remove clearing bmdma status from cdrom_decode_status() (rev #4)
+    - NET: Fix sock_attach_fd() failure in sys_accept()
+    - DCCP: Fix exploitable hole in DCCP socket options
+    - ide: revert "ide: fix drive side 80c cable check, take 2" for now
+    - generic_serial: fix decoding of baud rate
+    - IPV6: Fix ipv6 round-robin locking.
+    - VIDEO: Fix FFB DAC revision probing
+    - PPP: Fix PPP skb leak
+    - V4L: msp_attach must return 0 if no msp3400 was found.
+    - CRYPTO: api: scatterwalk_copychunks() fails to advance through scatterlist
+    - APPLETALK: Fix a remotely triggerable crash (CVE-2007-1357)
+    - UML - fix epoll
+    - UML - host VDSO fix
+    - UML - Fix static linking
+    - UML - use correct register file size everywhere
+    - libata: sata_mv: don't touch reserved bits in EDMA config register
+    - libata: sata_mv: Fix 50xx irq mask
+    - libata bugfix: HDIO_DRIVE_TASK
+    - V4L: Fix SECAM handling on saa7115
+    - DVB: fix nxt200x rf input switching
+    - SPARC: Fix sparc builds with gcc-4.2.x
+    - V4L: saa7146: Fix allocation of clipping memory
+    - uml: fix unreasonably long udelay
+    - NET: Fix packet classidier NULL pointer OOPS
+    - NET_SCHED: Fix ingress qdisc locking.
+    - sata_nv: delay on switching between NCQ and non-NCQ commands
+    - dvb-core: fix several locking related problems
+    - ieee1394: dv1394: fix CardBus card ejection
+    - CIFS: Allow reset of file to ATTR_NORMAL when archive bit not set
+    - jmicron: make ide jmicron driver play nice with libata ones
+    - libata: clear TF before IDENTIFYing
+    - NET: Fix FIB rules compatability
+    - DVB: isl6421: don't reference freed memory
+    - V4L: radio: Fix error in Kbuild file
+    - i2o: block IO errors on i2o disk
+  * Add stable release 2.6.20.6:
+    - CRYPTO api: Use the right value when advancing scatterwalk_copychunks
+    - uml: fix static linking for real
+
+  [ Gordon Farquharson ]
+  * Disable broken config options on ARM.
+
+  [ Frederik Schüler ]
+  * Disable NAPI on forcedeth, it is broken.
+
+  [ dann frazier ]
+  * Hardcode the output of the scripts under arch/ia64/scripts as executed
+    in an etch environment so that we can build out of tree modules correctly
+    (re-add; patch seems to have been dropped during a merge.)
+    See: #392592
+  * Allow '.' and '+' in the target dist field of the changelog. dpkg has
+    supported this since 1.13.20, see #361171.
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 09 Apr 2007 19:21:52 +0200
+
+linux-2.6 (2.6.18.dfsg.1-10) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Add patches out of stable queue 2.6.18
+    - [amd64] Don't leak NT bit into next task (CVE-2006-5755)
+    - IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G
+    - SCSI: add missing cdb clearing in scsi_execute()
+  * Xen postinst: Use takeover for update-initramfs. Makes postinst idempotent.
+    On creation it should always overwrite. (closes: #401183)
+  * Hand-picked from stable release 2.6.16.38:
+    - i2c-viapro: Add support for the VT8237A and VT8251
+    - PCI: irq: irq and pci_ids patch for Intel ICH9
+    - i2c-i801: SMBus patch for Intel ICH9
+    - fix the UML compilation
+    - drm: allow detection of new VIA chipsets
+    - drm: Add the P4VM800PRO PCI ID.
+    - rio: typo in bitwise AND expression.
+    - i2c-mv64xxx: Fix random oops at boot
+    - i2c: fix broken ds1337 initialization
+    - [SUNKBD]: Fix sunkbd_enable(sunkbd, 0); obvious.
+    - Call init_timer() for ISDN PPP CCP reset state timer (CVE-2006-5749)
+    - V4L: cx88: Fix leadtek_eeprom tagging
+    - SPI/MTD: mtd_dataflash oops prevention
+    - grow_buffers() infinite loop fix (CVE-2006-5757/CVE-2006-6060)
+    - corrupted cramfs filesystems cause kernel oops (CVE-2006-5823)
+    - ext2: skip pages past number of blocks in ext2_find_entry
+      (CVE-2006-6054)
+    - handle ext3 directory corruption better (CVE-2006-6053)
+    - hfs_fill_super returns success even if no root inode (CVE-2006-6056)
+      backout previous fix, was not complete.
+    - Fix for shmem_truncate_range() BUG_ON()
+    - ebtables: check struct type before computing gap
+    - [IPV4/IPV6]: Fix inet{,6} device initialization order.
+    - [IPV6] Fix joining all-node multicast group.
+    - [SOUND] Sparc CS4231: Use 64 for period_bytes_min
+  * [PKTGEN]: Convert to kthread API. Thanks David Miller for patch.
+  * [IDE] Add driver for Jmicron  JMB36x devices by Alan Cox.
+    Enable jmicron on i386 and amd64 archs.
+  * Hand-picked from stable release 2.6.16.39:
+    - atiixp: hang fix
+    - V4L/DVB: Flexcop-usb: fix debug printk
+    - V4L/DVB: Fix uninitialised variable in dvb_frontend_swzigzag
+    - read_zero_pagealigned() locking fix
+    - adfs: fix filename handling
+    - sparc32: add offset in pci_map_sg()
+    - cdrom: set default timeout to 7 seconds
+    - [SCSI] qla1280 command timeout
+    - [SCSI] qla1280 bus reset typo
+    - [Bluetooth] Check if DLC is still attached to the TTY
+    - [Bluetooth] Fix uninitialized return value for RFCOMM sendmsg()
+    - [Bluetooth] Return EINPROGRESS for non-blocking socket calls
+    - [Bluetooth] Handle command complete event for exit periodic inquiry
+    - [Bluetooth] Fix compat ioctl for BNEP, CMTP and HIDP
+    - [Bluetooth] Add locking for bt_proto array manipulation
+    - i386: fix CPU hotplug with 2GB VMSPLIT
+
+  [ dann frazier ]
+  * Fix raid1 recovery (closes: #406181)
+
+  [ Jurij Smakov ]
+  * Add dtlb-prot-bug-niagara.patch by David Miller, fixing the bug in the
+    Niagara's DTLB-PROT trap.
+
+  [ Bastian Blank ]
+  * i386: Add amd64 image. (closes: #379090)
+
+ -- Bastian Blank <waldi@debian.org>  Fri,  2 Feb 2007 12:50:35 +0100
+
+linux-2.6 (2.6.18.dfsg.1-9) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * arm/iop32x: Enable CONFIG_IP_NF_CONNTRACK_EVENTS and _NETLINK.
+  * arm/ixp4xx: Enable some more I2C sensor modules.
+  * arm/ixp4xx: Enable CONFIG_USB_NET_RNDIS_HOST.
+  * arm/footbridge: Enable CONFIG_NATSEMI.
+  * Revert mm/msync patches because they cause filesystem corruption
+    (closes: #401006, #401980, #402707) ...
+  * ... and add an alternative msync patch from Hugh Dickins that
+    doesn't depend on the mm changes (closes: #394392).
+  * mips: provide pci_get_legacy_ide_irq needed by some IDE drivers
+    (see #404950).
+  * arm: Implement flush_anon_page(), which is needed for FUSE
+    (closes: #402876) and possibly dm-crypt/LUKS (see #403426).
+  * arm: Turn off PCI burst on the Cyber2010, otherwise X11 on
+    Netwinder will crash.
+  * arm/iop32x: Enable CONFIG_IEEE80211_SOFTMAC and drivers based
+    on it.
+  * arm/ixp4xx: Upgrade to version 0.3.1 of the IXP4xx NPE Ethernet
+    driver.  This version fixes stuck connections, e.g. with scp and
+    NFS (closes: #404447).
+  * arm/ixp4xx: Enable CONFIG_VIDEO_CPIA_USB.
+  * arm/ixp4xx: Enable CONFIG_ISCSI_TCP.
+  * arm/iop32x: Likewise.
+
+  [ Bastian Blank ]
+  * Bump ABI to 4.
+  * Update vserver patch to 2.0.2.2-rc9. (closes: #402743, #403790)
+  * Update xen patch to changeset 36186 from Fedora 2.6.18 branch.
+  * i386/xen: Build only the pae version. (closes: #390862)
+  * hppa: Override host type when necessary.
+  * Fix tg3 reset. (closes: #405085)
+
+  [ dann frazier ]
+  * Fix potential fragmentation attacks in ip6_tables (CVE-2006-4572)
+  * Backport a number of fixes for the cciss driver
+    - Fix a bug with 1TB disks caused by converting total_size to an int
+    - Claim devices that are of the HP RAID class and have a valid cciss sig
+    - Make NR_CMDS a per-controller define - most can do 1024 commands, but
+      the E200 family can only support 128
+    - Change the SSID on the E500 as a workaround for a firmware bug
+    - Disable prefetch on the P600 controller. An ASIC bug may result in
+      prefetching beyond the end of physical memory
+    - Increase blk_queue_max_sectors from 512 to 2048 to increase performance
+    - Map out more memor for the PCI config table, required to reach offset
+      0x214 to disable DMA on the P600
+    - Set a default raid level on a volume that either does not support
+      reading the geometry or reports an invalid geometry for whatever reason
+      to avoid problems with buggy firmware
+    - Revert change that replaed XFER_READ/XFER_WRITE macros with
+      h->cciss_read/h->cciss_write that caused command timeouts on older
+      controllers on ia32 (closes: #402787)
+  * Fix mincore hang (CVE-2006-4814)
+  * ia64: turn on IOC4 modules for SGI Altix systems. Thanks to Stephane Larose
+    for suggesting this.
+  * Add versioned build dep on findutils to make sure the system find command
+    supports the -execdir action (closes: #405150)
+  * Hardcode the output of the scripts under arch/ia64/scripts as executed
+    in an etch environment so that we can build out of tree modules correctly
+    (closes: #392592)
+  * Update unusual_devs entry for ipod to fix an eject issue (closes: #406124)
+  * Re-add verify_pmtmr_rate, resolving problems seen on older K6 ASUS
+    boards where the ACPI PM timer runs too fast (closes: #394753)
+  * Avoid condition where /proc/swaps header may not be printed
+    (closes: #292318)
+  * [hppa] disable XFS until it works (closes: #350482)
+
+  [ Norbert Tretkowski ]
+  * libata: handle 0xff status properly. (closes: #391867)
+  * alpha: enabled CONFIG_SCSI_ARCMSR. (closes: #401187)
+  * removed BROKEN_ON_SMP dependency from I2C_ELEKTOR. (closes: #402253)
+
+  [ Christian T. Steigies ]
+  * m68k/atari: enable keyboard, mouse and fb drivers
+  * m68k/atari: fixes for ethernec and video driver by Michael Schmitz
+  * m68k/atari: fixes for scsi driver by Michael Schmitz
+  * m68k/mac: fixes for mace and cuda driver by Finn Thain
+  * m68k/atari: fixes for ide driver by Michael Schmitz
+  * m68k/atari: fixes for ide driver by Michael Schmitz
+  * m68k/atari: fixes for ethernec and atakeyb driver by Michael Schmitz, build ethernec as module
+  * m68k/mac: fixes for mace and adb driver by Finn Thain
+
+  [ maximilian attems ]
+  * Add stable release 2.6.18.6:
+    - EBTABLES: Fix wraparounds in ebt_entries verification.
+    - EBTABLES: Verify that ebt_entries have zero ->distinguisher.
+    - EBTABLES: Deal with the worst-case behaviour in loop checks.
+    - EBTABLES: Prevent wraparounds in checks for entry components' sizes.
+    - skip data conversion in compat_sys_mount when data_page is NULL
+    - bonding: incorrect bonding state reported via ioctl
+    - x86-64: Mark rdtsc as sync only for netburst, not for core2
+      (closes: #406767)
+    - dm crypt: Fix data corruption with dm-crypt over RAID5 (closes: #402812)
+    - forcedeth: Disable INTx when enabling MSI in forcedeth
+    - PKT_SCHED act_gact: division by zero
+    - XFRM: Use output device disable_xfrm for forwarded packets
+    - IPSEC: Fix inetpeer leak in ipv4 xfrm dst entries.
+    - V4L: Fix broken TUNER_LG_NTSC_TAPE radio support
+    - m32r: make userspace headers platform-independent
+    - IrDA: Incorrect TTP header reservation
+    - SUNHME: Fix for sunhme failures on x86
+    - Bluetooth: Add packet size checks for CAPI messages (CVE-2006-6106)
+    - softmac: remove netif_tx_disable when scanning
+    - DVB: lgdt330x: fix signal / lock status detection bug
+    - dm snapshot: fix freeing pending exception
+    - NET_SCHED: policer: restore compatibility with old iproute binaries
+    - NETFILTER: ip_tables: revision support for compat code
+    - ARM: Add sys_*at syscalls
+    - ieee1394: ohci1394: add PPC_PMAC platform code to driver probe
+    - softirq: remove BUG_ONs which can incorrectly trigger
+  * Hand-picked from stable release 2.6.16.30:
+    - [PPPOE]: Advertise PPPoE MTU
+  * Hand-picked from stable release 2.6.16.31:
+    - [NETFILTER]: Fix ip6_tables extension header bypass bug (CVE-2006-4572)
+    - fix RARP ic_servaddr breakage
+  * Hand-picked from stable release 2.6.16.32:
+    - drivers/telephony/ixj: fix an array overrun
+    - flush D-cache in failure path
+  * Hand-picked from stable release 2.6.16.33:
+    - Add new PHY to sis900 supported list
+    - ipmi_si_intf.c: fix "&& 0xff" typos
+    - drivers/scsi/psi240i.c: fix an array overrun
+  * Hand-picked from stable release 2.6.16.34:
+    - [IPX]: Annotate and fix IPX checksum
+    - [IGMP]: Fix IGMPV3_EXP() normalization bit shift value.
+  * Hand-picked from stable release 2.6.16.35:
+    - sgiioc4: Disable module unload
+    - Fix a masking bug in the 6pack driver.
+    - drivers/usb/input/ati_remote.c: fix cut'n'paste error
+    - proper flags type of spin_lock_irqsave()
+  * Hand-picked from stable release 2.6.16.37:
+    - [CRYPTO] sha512: Fix sha384 block size
+    - [SCSI] gdth: Fix && typos
+    - Fix SUNRPC wakeup/execute race condition
+  * Enable DEBUG_FS for usbmon in generic config. Don't disable it on alpha,
+    amd64, hppa and ia64. (closes: 378542)
+  * Backport a number of upstream fixes for the r8169 driver, needed for
+    network performance (closes: 388870, 400524)
+    - r8169: more alignment for the 0x8168
+    - r8169: phy program update
+    - r8169: more magic during initialization of the hardware
+    - r8169: perform a PHY reset before any other operation at boot time
+    - r8169: Fix iteration variable sign
+    - r8169: remove extraneous Cmd{Tx/Rx}Enb write
+  * sound: hda: detect ALC883 on MSI K9A Platinum motherboards (MS-7280)
+    patch from Leonard Norrgard <leonard.norrgard@refactor.fi>
+  * tulip: Add i386 specific patch to remove duplicate pci ids.
+    Thanks Jurij Smakov <jurij@wooyd.org> (closes: #334104, #405203)
+  * amd64, i386: Disable SK98LIN as SKGE is the modern capable driver.
+    (closes: 405196)
+  * Backout net-bcm43xx_netdev_watchdog.patch and push 2.6.18.2 fix.
+    (closes: 402475)
+
+  [ Jurij Smakov ]
+  * Add bugfix/sparc/isa-dev-no-reg.patch to make sure that
+    isa_dev_get_resource() can deal with devices which do not have a 'reg'
+    PROM property. Failure to handle such devices properly resulted in an
+    oops during boot on Netra X1. Thanks to Richard Mortimer for debugging
+    and patch. (closes: #404216)
+  * Add bugfix/sparc/ehci-hub-contol-alignment.patch to prevent unaligned
+    memory accesses in ehci-hub-control() by adding an alignment attribute
+    to the tbuf array declaration. Thanks to David Miller for the patch.
+
+  [ Sven Luther ]
+  * [powerpc] Enable CONFIG_PMAC_BACKLIGHT_LEGACY (Closes: #407671).
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 24 Jan 2007 13:21:51 +0100
+
+linux-2.6 (2.6.18-8) unstable; urgency=low
+
+  * Fix relations in the generated control file. (closes: #400544)
+  * Add stable release 2.6.18.4:
+    - bridge: fix possible overflow in get_fdb_entries (CVE-2006-5751)
+  * Add stable release 2.6.18.5:
+    - pcmcia: fix 'rmmod pcmcia' with unbound devices
+    - BLUETOOTH: Fix unaligned access in hci_send_to_sock.
+    - alpha: Fix ALPHA_EV56 dependencies typo
+    - TG3: Add missing unlock in tg3_open() error path.
+    - softmac: fix a slab corruption in WEP restricted key association
+    - AGP: Allocate AGP pages with GFP_DMA32 by default
+    - V4L: Do not enable VIDEO_V4L2 unconditionally
+    - bcm43xx: Drain TX status before starting IRQs
+    - fuse: fix Oops in lookup
+    - UDP: Make udp_encap_rcv use pskb_may_pull
+    - NETFILTER: Missing check for CAP_NET_ADMIN in iptables compat layer
+    - NETFILTER: ip_tables: compat error way cleanup
+    - NETFILTER: ip_tables: fix module refcount leaks in compat error paths
+    - NETFILTER: Missed and reordered checks in {arp,ip,ip6}_tables
+    - NETFILTER: arp_tables: missing unregistration on module unload
+    - NETFILTER: Kconfig: fix xt_physdev dependencies
+    - NETFILTER: xt_CONNSECMARK: fix Kconfig dependencies
+    - NETFILTER: H.323 conntrack: fix crash with CONFIG_IP_NF_CT_ACCT
+    - IA64: bte_unaligned_copy() transfers one extra cache line.
+    - x86 microcode: don't check the size
+    - scsi: clear garbage after CDBs on SG_IO
+    - IPV6: Fix address/interface handling in UDP and DCCP, according to the scoping architecture.
+  * Revert abi changing patch from 2.6.18.5.
+
+ -- Bastian Blank <waldi@debian.org>  Sun, 10 Dec 2006 17:51:53 +0100
+
+linux-2.6 (2.6.18-7) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Emit conflict lines for initramfs generators. (closes: #400305)
+  * Update vserver patch to 2.0.2.2-rc8.
+  * s390: Add patch to fix posix types.
+
+  [ Martin Michlmayr ]
+  * r8169: Add an option to ignore parity errors.
+  * r8169: Ignore parity errors on the Thecus N2100.
+  * rtc: Add patch from Riku Voipio to get RS5C372 going on the N2100.
+  * arm/iop32x: Build RS5C372 support into the kernel.
+
+  [ maximilian attems ]
+  * hfs: Fix up error handling in HFS. (MOKB-14-11-2006)
+  * sata: Avoid null pointer dereference in SATA Promise.
+  * cifs: Set CIFS preferred IO size.
+
+  [ Jurij Smakov ]
+  * Add bugfix/sunhme-pci-enable.patch, fixing the failure of sunhme
+    driver on x86/PCI hosts due to missing pci_enable_device() and
+    pci_set_master() calls, lost during code refactoring upstream.
+    (closes: #397460)
+
+ -- Bastian Blank <waldi@debian.org>  Mon,  4 Dec 2006 15:20:30 +0100
+
+linux-2.6 (2.6.18-6) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Enable the new ACT modules globally. They were already set for amd64, hppa
+    and mips/mipsel - needed by newer iproute2. (closes: #395882, #398172)
+  * Fix msync() for LSB 3.1 compliance, backport fedora patches from 2.6.19
+   - mm: tracking shared dirty pages
+   - mm: balance dirty pages
+   - mm: optimize the new mprotect() code a bit
+   - mm: small cleanup of install_page()
+   - mm: fixup do_wp_page()
+   - mm: msync() cleanup (closes: #394392)
+  * [amd64,i386] Enable CONFIG_USB_APPLETOUCH=m (closes: #382298)
+  * Add stable release 2.6.18.3:
+    - x86_64: Fix FPU corruption
+    - e1000: Fix regression: garbled stats and irq allocation during swsusp
+    - POWERPC: Make alignment exception always check exception table
+    - usbtouchscreen: use endpoint address from endpoint descriptor
+    - fix via586 irq routing for pirq 5
+    - init_reap_node() initialization fix
+    - CPUFREQ: Make acpi-cpufreq unsticky again.
+    - SPARC64: Fix futex_atomic_cmpxchg_inatomic implementation.
+    - SPARC: Fix missed bump of NR_SYSCALLS.
+    - NET: __alloc_pages() failures reported due to fragmentation
+    - pci: don't try to remove sysfs files before they are setup.
+    - fix UFS superblock alignment issues
+    - NET: Set truesize in pskb_copy
+    - block: Fix bad data direction in SG_IO (closes: #394690)
+    - cpqarray: fix iostat
+    - cciss: fix iostat
+    - Char: isicom, fix close bug
+    - TCP: Don't use highmem in tcp hash size calculation.
+    - S390: user readable uninitialised kernel memory, take 2.
+    - correct keymapping on Powerbook built-in USB ISO keyboards
+    - USB: failure in usblp's error path
+    - Input: psmouse - fix attribute access on 64-bit systems
+    - Fix sys_move_pages when a NULL node list is passed.
+    - CIFS: report rename failure when target file is locked by Windows
+    - CIFS: New POSIX locking code not setting rc properly to zero on successful
+    - Patch for nvidia divide by zero error for 7600 pci-express card
+      (maybe fixes 398258)
+    - ipmi_si_intf.c sets bad class_mask with PCI_DEVICE_CLASS
+
+  [ Steve Langasek ]
+  * [alpha] new titan-video patch, for compatibility with TITAN and similar
+    systems with non-standard VGA hose configs
+  * [alpha] bugfix for srm_env module from upstream (Jan-Benedict Glaw),
+    makes the module compatible with the current /proc interface so that
+    reads no longer return EFAULT.  (closes: #353079)
+  * Bump ABI to 3 for the msync fixes above.
+
+  [ Martin Michlmayr ]
+  * arm: Set CONFIG_BINFMT_MISC=m
+  * arm/ixp4xx: Set CONFIG_ATM=m (and related modules) so CONFIG_USB_ATM has
+    an effect.
+  * arm/iop32x: Likewise.
+  * arm/s3c2410: Unset CONFIG_PM_LEGACY.
+  * arm/versatile: Fix Versatile PCI config byte accesses
+  * arm/ixp4xx: Swap the disk 1 and disk 2 LED definitions so they're right.
+  * mipsel/r5k-cobalt: Unset CONFIG_SCSI_SYM53C8XX_2 because the timeout is
+    just too long.
+  * arm/ixp4xx: Enable more V4L USB devices.
+
+  [ dann frazier ]
+  * Backport various SCTP changesets from 2.6.19, recommended by Vlad Yasevich
+    (closes: #397946)
+  * Add a "Scope of security support" section to README.Debian, recommended
+    by Moritz Muehlenhoff
+
+  [ Thiemo Seufer ]
+  * Enable raid456 for mips/mipsel qemu kernel.
+
+  [ dann frazier ]
+  * The scope of the USR-61S2B unusual_dev entry was tightened, but too
+    strictly. Loosen it to apply to additional devices with a smaller bcd.
+    (closes: #396375)
+
+  [ Sven Luther ]
+  * Added support for TI ez430 development tool ID in ti_usb.
+    Thanks to Oleg Verych for providing the patch.
+
+  [ Christian T. Steigies ]
+  * Added support for Atari EtherNEC, Aranym, video, keyboard, mouse, and serial
+    by Michael Schmitz
+
+  [ Bastian Blank ]
+  * [i386] Reenable AVM isdn card modules. (closes: #386872)
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 21 Nov 2006 11:28:09 +0100
+
+linux-2.6 (2.6.18-5) unstable; urgency=low
+
+  [ maximilian attems ]
+  * [s390] readd the fix for "S390: user readable uninitialised kernel memory
+    (CVE-2006-5174)"
+  * [s390] temporarily add patch queued for 2.6.18.3 fixing 32 bit opcodes and
+    instructions.
+
+  [ Thiemo Seufer ]
+  * Fix build failure of hugetlbfs (closes: #397139).
+  * Add kernel configuration for qemu's mips/mipsel emulation, thanks to
+    Aurelien Jarno.
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.0.2.2-rc6.
+  * Update xen parts for vserver. (closes: #397281)
+
+  [ dann frazier ]
+  * [ia64] Move to upstream version of sal-flush-fix patch, which is slightly
+    different than the early version added in 2.6.18-3.
+
+  [ Frederik Schüler ]
+  * [i386] Acticate CONFIG_SX for all flavours. (closes: #391275)
+
+  [ Steve Langasek ]
+  * [alpha] new asm-subarchs patch: tell the compiler that we're
+    deliberately emitting ev56 or ev6 instructions, so that this code
+    will still compile without having to cripple gcc-4.1's checking of
+    whether the correct instruction set is used.  Closes: #397139.
+
+  [ Martin Michlmayr ]
+  * arm/ixp4xx: Enable CONFIG_USB_ATM.
+  * arm/iop32x: Enable CONFIG_PPPOE.
+  * arm/iop32x: Enable CONFIG_USB_ATM.
+
+ -- Bastian Blank <waldi@debian.org>  Wed,  8 Nov 2006 17:15:55 +0100
+
+linux-2.6 (2.6.18-4) unstable; urgency=low
+
+  [ Norbert Tretkowski ]
+  * [alpha] Switched to gcc-4.1.
+
+  [ Jurij Smakov ]
+  * [sparc] Remove sparc64-atyfb-xl-gr.patch, it does more harm than
+    good in 2.6.18.
+  * [sparc] Add bugfix/sparc/compat-alloc-user-space-alignment.patch
+    (thanks to David Miller) to make sure that compat_alloc_user_space()
+    always returns memory aligned on a 8-byte boundary on sparc. This
+    prevents a number of unaligned memory accesses, like the ones in
+    sys_msgrcv() and compat_sys_msgrcv(), triggered every 5 seconds whenever
+    fakeroot is running.
+  * [sparc] Add bugfix/sparc/bus-id-size.patch (thanks to David Miller)
+    to ensure that the size of the strings stored in the bus_id field of
+    struct device never exceeds the amount of memory allocated for them
+    (20 bytes). It fixes the situations in which storing longer device
+    names in this field would cause corruption of adjacent memory regions.
+    (closes: #394697).
+  * [sparc] Add bugfix/sparc/sunblade1k-boot-fix.patch (thanks to David
+    Miller) to fix a boottime crash on SunBlade1000.
+  * [sparc] Add bugfix/sparc/t1k-cpu-lockup.patch (thanks to David Miller)
+    to prevent soft CPU lockup on T1000 servers, which can be triggered from
+    userspace, resulting in denial of service.
+
+  [ Martin Michlmayr ]
+  * arm/iop32x: Fix the interrupt of the 2nd Ethernet slot on N2100.
+  * arm/iop32x: Allow USB and serial to co-exist on N2100.
+  * arm/ixp4xx: Add clocksource for Intel IXP4xx platforms.
+  * arm: Enable CONFIG_AUDIT=y again.
+  * arm/ixp4xx: Add the IXP4xx Ethernet driver.
+  * arm/ixp4xx: Build LED support into the kernel.
+  * Add a driver for Fintek F75375S/SP and F75373.
+  * arm/iop32x: Build F75375S/SP support in.
+  * arm/iop32x: Fix the size of the RedBoot config partition.
+
+  [ maximilian attems ]
+  * Add netpoll leak fix.
+  * Add upstream forcedeth swsusp support.
+  * r8169: PCI ID for Corega Gigabit network card.
+  * r8169: the MMIO region of the 8167 stands behin BAR#1.
+  * r8169: Add upstream fix for infinite loop during hotplug.
+  * Bump build-dependency on kernel-package to 10.063.
+  * r8169: pull revert mac address change support.
+  * bcm43xx: Add full netdev watchout timeout patch. (closes: 392065)
+    Thanks Sjoerd Simons <sjoerd@spring.luon.net> for the testing.
+  * Add stable release 2.6.18.2:
+    - Remove not yet released, revert the included patches.
+    - Keep aboves bcm43xx fix, it's more complete.
+    - Watchdog: sc1200wdt - fix missing pnp_unregister_driver()
+    - fix missing ifdefs in syscall classes hookup for generic targets
+    - JMB 368 PATA detection
+    - usbfs: private mutex for open, release, and remove
+    - sound/pci/au88x0/au88x0.c: ioremap balanced with iounmap
+    - x86-64: Fix C3 timer test
+    - Reintroduce NODES_SPAN_OTHER_NODES for powerpc
+    - ALSA: emu10k1: Fix outl() in snd_emu10k1_resume_regs()
+    - IB/mthca: Use mmiowb after doorbell ring
+    - SCSI: DAC960: PCI id table fixup
+    - ALSA: snd_rtctimer: handle RTC interrupts with a tasklet
+    - JFS: pageno needs to be long
+    - SPARC64: Fix central/FHC bus handling on Ex000 systems.
+    - SPARC64: Fix memory corruption in pci_4u_free_consistent().
+    - SPARC64: Fix PCI memory space root resource on Hummingbird.
+      (closes: #392078)
+    - Fix uninitialised spinlock in via-pmu-backlight code.
+    - SCSI: aic7xxx: pause sequencer before touching SBLKCTL
+    - IPoIB: Rejoin all multicast groups after a port event
+    - ALSA: Dereference after free in snd_hwdep_release()
+    - rtc-max6902: month conversion fix
+    - NET: Fix skb_segment() handling of fully linear SKBs
+    - SCTP: Always linearise packet on input
+    - SCSI: aic7xxx: avoid checking SBLKCTL register for certain cards
+    - IPV6: fix lockup via /proc/net/ip6_flowlabel [CVE-2006-5619]
+    - fix Intel RNG detection
+    - ISDN: check for userspace copy faults
+    - ISDN: fix drivers, by handling errors thrown by ->readstat()
+    - splice: fix pipe_to_file() ->prepare_write() error path
+    - ALSA: Fix bug in snd-usb-usx2y's usX2Y_pcms_lock_check()
+    - ALSA: Repair snd-usb-usx2y for usb 2.6.18
+    - PCI: Remove quirk_via_abnormal_poweroff
+    - Bluetooth: Check if DLC is still attached to the TTY
+    - vmscan: Fix temp_priority race
+    - Use min of two prio settings in calculating distress for reclaim
+    - __div64_32 for 31 bit. Fixes funny clock speed on hercules emulator.
+      (closes: 395247)
+    - DVB: fix dvb_pll_attach for mt352/zl10353 in cx88-dvb, and nxt200x
+    - fuse: fix hang on SMP
+    - md: Fix bug where spares don't always get rebuilt properly when they become live.
+    - md: Fix calculation of ->degraded for multipath and raid10
+    - knfsd: Fix race that can disable NFS server.
+    - md: check bio address after mapping through partitions.
+    - fill_tgid: fix task_struct leak and possible oops
+    - uml: fix processor selection to exclude unsupported processors and features
+    - uml: remove warnings added by previous -stable patch
+    - Fix sfuzz hanging on 2.6.18
+    - SERIAL: Fix resume handling bug
+    - SERIAL: Fix oops when removing suspended serial port
+    - sky2: MSI test race and message
+    - sky2: pause parameter adjustment
+    - sky2: turn off PHY IRQ on shutdown
+    - sky2: accept multicast pause frames
+    - sky2: GMAC pause frame
+    - sky2: 88E803X transmit lockup (2.6.18)
+    - tcp: cubic scaling error
+    - mm: fix a race condition under SMC + COW
+    - ALSA: powermac - Fix Oops when conflicting with aoa driver
+    - ALSA: Fix re-use of va_list
+    - posix-cpu-timers: prevent signal delivery starvation
+    - NFS: nfs_lookup - don't hash dentry when optimising away the lookup
+    - uml: make Uml compile on FC6 kernel headers
+    - Fix potential interrupts during alternative patching
+  * Backport atkbd - supress "too many keys" error message.
+  * [s390] Revert temporarly 2.6.18.1 "S390: user readable uninitialised
+    kernel memory (CVE-2006-5174)" fix as it causes ftfbs
+
+  [ Sven Luther ]
+  * [powerpc] Added exception alignement patch from Benjamin Herrenschmidt.
+
+  [ Frederik Schüler ]
+  * Bump ABI to 2.
+  * Update vserver patch to 2.0.2.2-rc4.
+
+  [ Thiemo Seufer ]
+  * Add patches from linux-mips.org's 2.6.18-stable branch:
+    - bugfix/copy-user-highpage.patch, needed for cache alias handling
+      on mips/mipsel/hppa.
+    - bugfix/mips/syscall-wiring.patch, fixes TLS register access, and
+      n32 rt_sigqueueinfo.
+    - bugfix/mips/sb1-flush-cache-data-page.patch, missing cache flush
+      on SB-1.
+    - bugfix/mips/trylock.patch, fix trylock implementation for R1x000
+      and R3xxx.
+    - bugfix/mips/smp-cpu-bringup.patch, correct initialization of
+      non-contiguous CPU topology.
+    - bugfix/mips/header-exports.patch, clean up userland exports of
+      kernel headers.
+    - bugfix/mips/sb1-interrupt-handler.patch, fix broken interrupt
+      routing on SB-1.
+    - bugfix/mips/cache-alias.patch, fixes #387498 for mips/mipsel.
+    - bugfix/mips/ip22-zilog-console.patch, fix long delays seen with
+      SGI ip22 serial console.
+    - bugfix/mips/signal-handling.patch, fixes a signal handling race
+      condition shown with gdb.
+    - bugfix/mips/sb1-duart-tts.patch, replaces mips-sb1-duart-tts.patch,
+      use standard Linux names for SB-1 consoles.
+    - bugfix/mips/wait-race.patch, correct behaviour of the idle loop.
+    - bugfix/mips/sgi-ioc3.patch, checksumming fix for IOC3 network
+      driver.
+    - features/mips/qemu-kernel.patch, support for the mips/mipsel
+      machine emulated by Qemu.
+    - features/mips/backtrace.patch, reimplementation of stack analysis
+      and backtrace printing, useful for in-kernel debugging.
+    - bugfix/mips/dec-scsi.patch, replaces mips-dec-scsi.patch, fixes DSP
+      SCSI driver for DECstations.
+    - bugfix/mips/dec-serial.patch, replaces mips-dec-serial.patch, fix
+      serial console handling on DECstations.
+
+ -- Frederik Schüler <fs@debian.org>  Sat,  4 Nov 2006 18:45:02 +0100
+
+linux-2.6 (2.6.18-3) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Fix home of patch apply script.
+  * Unify CPUSET option. (closes: #391931)
+  * Support xen version 3.0.3-1.
+  * Add AHCI suspend support.
+  * Add patch to support bindmount without nodev on vserver.
+  * Update fedora xen patch to changeset 36252.
+
+  [ Steve Langasek ]
+  * [alpha] restore alpha-prctl.patch, which keeps disappearing every time
+    there's a kernel upgrade :/
+
+  [ Frederik Schüler ]
+  * Activate CONFIG_NET_CLS_* globaly. (Closes: #389918)
+  * Make CONFIG_EFI_VARS modular on i386. (Closes: #381951)
+  * Activate CONFIG_SCSI_ARCMSR on amd64, powerpc, sparc too.
+  * [vserver] Activate HARDCPU and HARDCPU_IDLE.
+  * [vserver] Upgrade to vs2.0.2.2-rc2.
+
+  [ maximilian attems ]
+  * [mipsel] Disable CONFIG_SECURITY_SECLVL on DECstations too.
+  * Add stable release 2.6.18.1:
+   - add utsrelease.h to the dontdiff file
+   - V4L: copy-paste bug in videodev.c
+   - block layer: elv_iosched_show should get elv_list_lock
+   - NETFILTER: NAT: fix NOTRACK checksum handling
+   - bcm43xx: fix regressions in 2.6.18 (Closes: #392065)
+   - x86-64: Calgary IOMMU: Fix off by one when calculating register space
+     location
+   - ide-generic: jmicron fix
+   - scx200_hrt: fix precedence bug manifesting as 27x clock in 1 MHz mode
+   - invalidate_inode_pages2(): ignore page refcounts
+   - rtc driver rtc-pcf8563 century bit inversed
+   - fbdev: correct buffer size limit in fbmem_read_proc()
+   - mm: bug in set_page_dirty_buffers
+   - TCP: Fix and simplify microsecond rtt sampling
+   - MD: Fix problem where hot-added drives are not resynced.
+   - IPV6: Disable SG for GSO unless we have checksum
+   - PKT_SCHED: cls_basic: Use unsigned int when generating handle
+   - sata_mv: fix oops
+   - [SPARC64]: Kill bogus check from bootmem_init().
+   - IPV6: bh_lock_sock_nested on tcp_v6_rcv
+   - [CPUFREQ] Fix some more CPU hotplug locking.
+   - SPARC64: Fix serious bug in sched_clock() on sparc64
+   - Fix VIDIOC_ENUMSTD bug
+   - load_module: no BUG if module_subsys uninitialized
+   - i386: fix flat mode numa on a real numa system
+   - cpu to node relationship fixup: map cpu to node
+   - cpu to node relationship fixup: acpi_map_cpu2node
+   - backlight: fix oops in __mutex_lock_slowpath during head
+     /sys/class/graphics/fb0/*
+   - do not free non slab allocated per_cpu_pageset
+   - rtc: lockdep fix/workaround
+   - powerpc: Fix ohare IDE irq workaround on old powermacs
+   - sysfs: remove duplicated dput in sysfs_update_file
+   - powerpc: fix building gdb against asm/ptrace.h
+   - Remove offsetof() from user-visible <linux/stddef.h>
+   - Clean up exported headers on CRIS
+   - Fix v850 exported headers
+   - Don't advertise (or allow) headers_{install,check} where inappropriate.
+   - Remove UML header export
+   - Remove ARM26 header export.
+   - Fix H8300 exported headers.
+   - Fix m68knommu exported headers
+   - Fix exported headers for SPARC, SPARC64
+   - Fix 'make headers_check' on m32r
+   - Fix 'make headers_check' on sh64
+   - Fix 'make headers_check' on sh
+   - Fix ARM 'make headers_check'
+   - One line per header in Kbuild files to reduce conflicts
+   - sky2 network driver device ids
+   - sky2: tx pause bug fix
+   - netdrvr: lp486e: fix typo
+   - mv643xx_eth: fix obvious typo, which caused build breakage
+   - zone_reclaim: dynamic slab reclaim
+   - Fix longstanding load balancing bug in the scheduler
+   - jbd: fix commit of ordered data buffers
+   - ALSA: Fix initiailization of user-space controls
+   - USB: Allow compile in g_ether, fix typo
+   - IB/mthca: Fix lid used for sending traps
+   - S390: user readable uninitialised kernel memory (CVE-2006-5174)
+   - zd1211rw: ZD1211B ASIC/FWT, not jointly decoder
+   - V4L: pvrusb2: Limit hor res for 24xxx devices
+   - V4L: pvrusb2: Suppress compiler warning
+   - V4L: pvrusb2: improve 24XXX config option description
+   - V4L: pvrusb2: Solve mutex deadlock
+   - DVB: cx24123: fix PLL divisor setup
+   - V4L: Fix msp343xG handling regression
+   - UML: Fix UML build failure
+   - uml: use DEFCONFIG_LIST to avoid reading host's config
+   - uml: allow using again x86/x86_64 crypto code
+   - NET_SCHED: Fix fallout from dev->qdisc RCU change
+  * Add backported git patch remving BSD secure level - request by the
+    Debian Security Team. (closes: 389282)
+  * [powerpc] Add DAC960-ipr PCI id table fixup.
+  * [powerpc] Fix uninitialised spinlock in via-pmu-backlight code.
+  * Fix serial_cs resume handling.
+  * Fix oops when removing suspended serial port.
+  * Check if DLC is still attached to the TTY.
+  * Add fedora backport of i965 DRM support.
+
+  [ Martin Michlmayr ]
+  * [mips] Apply some patches from linux-mips' linux-2.6.18-stable GIT tree:
+    - The o32 fstatat syscall behaves differently on 32 and 64 bit kernels
+    - fstatat syscall names
+    - BCM1480: Mask pending interrupts against c0_status.im.
+    - Cobalt: Time runs too quickly
+    - Show actual CPU information in /proc/cpuinfo
+    - Workaround for bug in gcc -EB / -EL options
+    - Do not use -msym32 option for modules
+    - Fix O32 personality(2) call with 0xffffffff argument
+    - Use compat_sys_mount
+
+  [ dann frazier ]
+  * [ia64]: Fix booting on HP cell systems, thanks to Troy Heber
+    - Enable CONFIG_HUGETLBFS
+    - bugfix/ia64/sal-flush-fix.patch: delay sal cache flush
+  * bugfix/sky2-receive-FIFO-fix.patch: fix sky2 hangs on some chips
+    Thanks to Stephen Hemminger for the patch. (Closes: #391382)
+  * features/all/drivers/cciss-support-for-gt-2TB-volumes.patch:
+    Add support for > 2TB volumes
+  * bugfix/sym2-dont-claim-raid-devs.patch: Prevent cpqarray/sym2 conflict
+    by telling sym2 not to claim raid devices. (Closes: #391384)
+
+  [ Sven Luther ]
+  * [powerpc] Added AMD74xx driver module to the powerpc64 flavour
+    (Closes: #391861).
+
+  [ Kyle McMartin ]
+  * [hppa] Force CROSS_COMPILE=hppa64-linux-gnu- (closes: #389296)
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 21 Oct 2006 15:59:43 +0200
+
+linux-2.6 (2.6.18-2) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * hppa: Fix compiler dependencies. (closes: #389296)
+  * Make cfq the default io scheduler.
+  * Add arcmsr (Areca) driver.
+  * powerpc/prep: Fix compatibility asm symlink.
+  * m68k: Disable initramfs support.
+
+  [ Kyle McMartin ]
+  * hppa: Add parisc patchset.
+
+  [ Norbert Tretkowski ]
+  * [alpha] Workaround undefined symbols by setting CONFIG_SCSI=y for smp flavour.
+    (closes: #369517)
+
+  [ Christian T. Steiges ]
+  * m68k: Update patches for 2.6.18.
+  * m68k: Re-Add m68k-as and m68k-macro patch which allow building with current binutils.
+  * m68k: disable CONFIG_AUDIT for m68k.
+  * m68k/mac: add m68k-no-backlight and m68k-fbcon patch.
+  * m68k/mac: enable SONIC, disable all ADB but CUDA.
+
+  [ Jurij Smakov ]
+  * Add bugfix/proc-fb-reading.patch to fix the inconsistent behaviour
+    of /proc/fb. (Closes: #388815)
+  * sparc: Enable vserver flavour for sparc64. (Closes: #386656)
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 29 Sep 2006 14:12:19 +0200
+
+linux-2.6 (2.6.18-1) unstable; urgency=low
+
+  The unpruned release
+
+  [ Martin Michlmayr ]
+  * Bump build-dependency on kernel-package to 10.054.
+  * arm/iop32x: Build ext2/3 as modules.
+  * arm/iop32x: Disable CONFIG_EMBEDDED.
+  * mipsel/r5k-cobalt: Enable ISDN.
+  * arm/footbridge: Enable the CIFS module (closes: #274808).
+  * arm/nslu2: Drop flavour since this machine is supported by arm/ixp4xx.
+  * arm: Make get_unaligned() work with const pointers and GCC 4.1.
+  * mipsel/r5k-cobalt: Enable CONFIG_BONDING as a module.
+  * arm/iop32x: Likewise.
+  * arm/ixp4xx: Likewise.
+  * arm: Disable CONFIG_AUDIT for now since it's broken.
+
+  [ Sven Luther ]
+  * [powerpc] Enabled the -prep flavour. (Closes: #359025)
+  * [powerpc] The sisfb framebuffer device is now builtin.
+  * [powerpc] Updated the powerpc serial patch. This fixes the XServe serial
+    port, but at the cost powermac pcmcia serial cards support.
+    Thanks go to Mark Hymers for providing the patch.
+    (Closes: #364637, #375194)
+  * [powerpc] Added patch to fix oldworld/quik booting.
+    Thanks fo to Christian Aichinger for investigating to Benjamin
+    Herrenschmidt for providing the patch. (Closes: #366620, #375035).
+  * [powerpc] Fixes hvc_console caused suspsend-to-disk breakage. Thanks to
+    Andrew Morton for providing the patch. (Closes: #387178)
+  * [powerpc] Disabled mv643xx_eth on powerpc64 flavours, as there never was a
+    Marvell Discovery northbrige for 64bit powerpc cpus.
+
+  [ Frederik Schüler ]
+  * Remove obsolete options from amd64 and i386 configs.
+  * Deactivate EVBUG.
+  * Make PARPORT options global.
+  * [i386] Add class definition for 486 flavour.
+
+  [ maximilian attems ]
+  * Enable CONFIG_PRINTER=m for all powerpc flavours.
+  * Enable the new alsa CONFIG_SND_AOA framework for powerpc.
+  * Add the merged advansys pci table patch.
+
+  [ Bastian Blank ]
+  * hppa: Use gcc-4.1.
+  * Only provide 16 legacy ptys.
+
+  [ Norbert Tretkowski ]
+  * [alpha] Updated configs.
+  * [alpha] Disabled CONFIG_AUDIT, broken.
+  * [alpha] Added vserver flavour.
+
+ -- Bastian Blank <waldi@debian.org>  Sun, 24 Sep 2006 15:55:37 +0200
+
+linux-2.6 (2.6.17-9) unstable; urgency=medium
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.0.2.
+    - Fix possible priviledge escalation in remount code. (CVE-2006-4243)
+
+  [ Frederik Schüler ]
+  * Add stable release 2.5.17.12:
+    - sky2: version 1.6.1
+    - sky2: fix fiber support
+    - sky2: MSI test timing
+    - sky2: use dev_alloc_skb for receive buffers
+    - sky2: clear status IRQ after empty
+    - sky2: accept flow control
+    - dm: Fix deadlock under high i/o load in raid1 setup.
+    - Remove redundant up() in stop_machine()
+    - Missing PCI id update for VIA IDE
+    - PKTGEN: Fix oops when used with balance-tlb bonding
+    - PKTGEN: Make sure skb->{nh,h} are initialized in fill_packet_ipv6() too.
+    - Silent data corruption caused by XPC
+    - uhci-hcd: fix list access bug
+    - binfmt_elf: fix checks for bad address
+    - [s390] bug in futex unqueue_me
+    - fcntl(F_SETSIG) fix
+    - IPV6 OOPS'er triggerable by any user
+    - SCTP: Fix sctp_primitive_ABORT() call in sctp_close().
+    - SPARC64: Fix X server crashes on sparc64
+    - TG3: Disable TSO by default
+    - dm: mirror sector offset fix
+    - dm: fix block device initialisation
+    - dm: add module ref counting
+    - dm: fix mapped device ref counting
+    - dm: add DMF_FREEING
+    - dm: change minor_lock to spinlock
+    - dm: move idr_pre_get
+    - dm: fix idr minor allocation
+    - dm snapshot: unify chunk_size
+    - Have ext2 reject file handles with bad inode numbers early.
+    - Allow per-route window scale limiting
+    - bridge-netfilter: don't overwrite memory outside of skb
+    - fix compilation error on IA64
+    - Fix output framentation of paged-skbs
+    - spectrum_cs: Fix firmware uploading errors
+    - TEXTSEARCH: Fix Boyer Moore initialization bug
+  * Add stable release 2.6.17.13:
+    - lib: add idr_replace
+    - pci_ids.h: add some VIA IDE identifiers
+  * Remove patches merged upstream:
+    - s390-kernel-futex-barrier.patch
+  * Unpatch ia64-mman.h-fix.patch
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 13 Sep 2006 14:54:14 +0200
+
+linux-2.6 (2.6.17-8) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * arm/ixp4xx: Enable CONFIG_W1.
+
+  [ dann frazier ]
+  * sound-pci-hda-mac-mini-quirks.diff, sound-pci-hda-intel-d965.diff
+    sound-pci-hda-mac-mini-intel945.diff:
+    Updates to patch_sigmatel.c to add x86 mac-mini sound support
+    Thanks to Matt Kraai. (closes: #384972)
+
+  [ Kyle McMartin ]
+  * hppa: Re-enable pa8800 fixing patches from James Bottomley.
+    Pulled fresh from parisc-linux git tree.
+  * ia64: Pull in compile-failure fix from Christian Cotte-Barrot.
+    Pulled from linux-ia64 mailing list. Fix is correct.
+  * hppa/alpha/mips: Fix compile-failure due to missing arch_mmap_check. Patch sent
+    upstream to stable@kernel.org.
+
+  [ dann frazier ]
+  * sym2: only claim "Storage" class devices - the cpqarray driver should be
+    used for 5c1510 devices in RAID mode. (closes: #380272)
+
+  [ Bastian Blank ]
+  * Backport change to allow all hypercalls for xen.
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 31 Aug 2006 12:12:51 +0200
+
+linux-2.6 (2.6.17-7) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * arm/iop32x: Enable CONFIG_BLK_DEV_OFFBOARD.
+  * arm/iop32x: Unset CONFIG_BLK_DEV_AMD74XX since it fails on ARM
+    with "Unknown symbol pci_get_legacy_ide_irq".
+  * arm/iop32x: Enable a number of MD and DM modules.
+  * arm/iop32x: Enable some more USB network modules.
+  * mipsel/r5k-cobalt: Increase 8250 NR_UARTS and RUNTIME_UARTS to 4.
+  * mipsel/r5k-cobalt: Fix MAC detection problem on Qube 2700.
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.0.2-rc29.
+  * Add stable release 2.6.17.10:
+    - Fix possible UDF deadlock and memory corruption (CVE-2006-4145)
+    - elv_unregister: fix possible crash on module unload
+    - Fix sctp privilege elevation (CVE-2006-3745)
+
+  [ maximilian attems ]
+  * Add RAM range to longclass for -bigmem. (closes: 382799)
+  * Add stable release 2.6.17.9:
+    - powerpc: Clear HID0 attention enable on PPC970 at boot time
+    (CVE-2006-4093)
+  * Add stable release 2.6.17.11:
+    - Fix ipv4 routing locking bug
+    - disable debugging version of write_lock()
+    - PCI: fix ICH6 quirks
+    - 1394: fix for recently added firewire patch that breaks things on ppc
+    - Fix IFLA_ADDRESS handling
+    - Fix BeFS slab corruption
+    - Fix timer race in dst GC code
+    - Have ext3 reject file handles with bad inode numbers early
+    - Kill HASH_HIGHMEM from route cache hash sizing
+    - sys_getppid oopses on debug kernel
+    - IA64: local DoS with corrupted ELFs
+    - tpm: interrupt clear fix
+    - ulog: fix panic on SMP kernels
+    - dm: BUG/OOPS fix
+    - MD: Fix a potential NULL dereference in md/raid1
+    - ip_tables: fix table locking in ipt_do_table
+    - swsusp: Fix swap_type_of
+    - sky2: phy power problem on 88e805x
+    - ipx: header length validation needed
+
+  [ Frederik Schüler ]
+  * Activate CONFIG_R8169_VLAN on amd64. (closes: #383707)
+  * Activate EFI boot support on i386. (closes: #381951)
+
+  [ dann frazier ]
+  * Include module.lds in headers package if it exists. (closes: #342246)
+  * Add Apple MacBook product IDs to usbhid and set
+    CONFIG_USB_HIDINPUT_POWERBOOK=y on i386 and amd64. (closes: #383620)
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 24 Aug 2006 15:54:51 +0000
+
+linux-2.6 (2.6.17-6) unstable; urgency=low
+
+  [ maximilian attems ]
+  * debian/arch/i386/defines: Activate 686-bigmem flavour for enterprise
+  usage.
+  * Add ubuntu pci table patch for scsi drivers advansys and fdomain.
+
+  [ Martin Michlmayr ]
+  * arm/armeb: Use gcc-4.1.
+  * mips/mipsel: Use gcc-4.1.
+  * arm/ixp4xx: Update config based on the NSLU2 config.
+  * arm/s3c2410: Unset CONFIG_DEBUG_INFO.
+  * arm/iop32x: xscale: don't mis-report 80219 as an iop32x
+  * arm/iop32x: Add an MTD map for IOP3xx boards
+  * arm/iop32x: Add support for the Thecus N2100.
+  * arm/iop32x: Add support for the GLAN Tank.
+  * arm/iop32x: Add a flavour for IOP32x based machines.
+
+  [ Bastian Blank ]
+  * Shrink short descriptions.
+  * Make gcc-4.1 the default compiler.
+  * [powerpc]: Use gcc-4.1.
+  * Move latest and transitional packages to linux-latest-2.6.
+
+  [ Frederik Schüler ]
+  * [amd64] Add smp-alternatives backport.
+  * [amd64] Drop smp flavours.
+  * [amd64] Merge k8 and p4 flavours into a generic one, following upstreams
+    advice.
+  * Activate BSD_PROCESS_ACCT_V3.
+  * Add stable release 2.6.17.8:
+    - ALSA: Don't reject O_RDWR at opening PCM OSS
+    - Add stable branch to maintainers file
+    - tty serialize flush_to_ldisc
+    - S390: fix futex_atomic_cmpxchg_inatomic
+    - Fix budget-av compile failure
+    - cond_resched() fix
+    - e1000: add forgotten PCI ID for supported device
+    - ext3: avoid triggering ext3_error on bad NFS file handle
+    - ext3 -nobh option causes oops
+    - Fix race related problem when adding items to and svcrpc auth cache.
+    - ieee1394: sbp2: enable auto spin-up for Maxtor disks
+    - invalidate_bdev() speedup
+    - Sparc64 quad-float emulation fix
+    - VLAN state handling fix
+    - Update frag_list in pskb_trim
+    - UHCI: Fix handling of short last packet
+    - sky2: NAPI bug
+    - i2c: Fix 'ignore' module parameter handling in i2c-core
+    - scx200_acb: Fix the block transactions
+    - scx200_acb: Fix the state machine
+    - H.323 helper: fix possible NULL-ptr dereference
+    - Don't allow chmod() on the /proc/<pid>/ files
+    - PCI: fix issues with extended conf space when MMCONFIG disabled because of e820
+
+  [ Sven Luther ]
+  * [powerpc] Added console=hvsi0 too to CMDLINE to the powerpc64 flavour, for
+    non-virtualized IBM power machines serial console.
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 11 Aug 2006 19:58:06 +0200
+
+linux-2.6 (2.6.17-5) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * [arm/nslu2] Enable CONFIG_USB_EHCI_SPLIT_ISO.  Closes: #378554
+
+  [ maximilian attems ]
+  * Add stable release 2.6.17.7:
+    - BLOCK: Fix bounce limit address check
+    - v4l/dvb: Fix budget-av frontend detection
+    - v4l/dvb: Fix CI on old KNC1 DVBC cards
+    - v4l/dvb: Fix CI interface on PRO KNC1 cards
+    - v4l/dvb: Backport fix to artec USB DVB devices
+    - v4l/dvb: Backport the DISEQC regression fix to 2.6.17.x
+    - v4l/dvb: stradis: dont export MODULE_DEVICE_TABLE
+    - pnp: suppress request_irq() warning
+    - generic_file_buffered_write(): handle zero-length iovec segments
+    - serial 8250: sysrq deadlock fix
+    - Reduce ACPI verbosity on null handle condition
+    - ieee80211: TKIP requires CRC32
+    - Make powernow-k7 work on SMP kernels.
+    - via-velocity: the link is not correctly detected when the device starts
+    - Add missing UFO initialisations
+    - USB serial ftdi_sio: Prevent userspace DoS (CVE-2006-2936)
+    - cdrom: fix bad cgc.buflen assignment
+    - splice: fix problems with sys_tee()
+    - fix fdset leakage
+    - struct file leakage
+    - XFS: corruption fix
+    - v4l/dvb: Kconfig: fix description and dependencies for saa7115 module
+    - dvb-bt8xx: fix frontend detection for DViCO FusionHDTV DVB-T Lite rev 1.2
+    - IB/mthca: restore missing PCI registers after reset
+    - v4l/dvb: Backport the budget driver DISEQC instability fix
+    - Fix IPv4/DECnet routing rule dumping
+    - pdflush: handle resume wakeups
+    - x86_64: Fix modular pc speaker
+    - Fix powernow-k8 SMP kernel on UP hardware bug.
+    - ALSA: RME HDSP - fixed proc interface (missing {})
+    - ALSA: au88x0 - Fix 64bit address of MPU401 MMIO port
+    - ALSA: Fix a deadlock in snd-rtctimer
+    - ALSA: Fix missing array terminators in AD1988 codec support
+    - ALSA: Fix model for HP dc7600
+    - ALSA: Fix mute switch on VAIO laptops with STAC7661
+    - ALSA: fix the SND_FM801_TEA575X dependencies
+    - ALSA: Fix undefined (missing) references in ISA MIRO sound driver
+    - ALSA: Fix workaround for AD1988A rev2 codec
+    - ALSA: hda-intel - Fix race in remove
+    - Suppress irq handler mismatch messages in ALSA ISA drivers
+    - PKT_SCHED: Fix illegal memory dereferences when dumping actions
+    - PKT_SCHED: Return ENOENT if action module is unavailable
+    - PKT_SCHED: Fix error handling while dumping actions
+    - generic_file_buffered_write(): deadlock on vectored write
+    - ethtool: oops in ethtool_set_pauseparam()
+    - memory hotplug: solve config broken: undefined reference to `online_page'
+  * Add budget-av-compile-fix.patch stable compile fix.
+  * Enable in all configs setting SND_FM801_TEA575X SND_FM801_TEA575X_BOOL=y.
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 29 Jul 2006 13:30:06 +0200
+
+linux-2.6 (2.6.17-4) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.17.5:
+    - Fix nasty /proc vulnerability (CVE-2006-3626)
+  * Add stable release 2.6.17.6:
+    - Relax /proc fix a bit
+  * Set section of images to admin.
+
+  [ dann frazier ]
+  * [ia64] Drop the non-SMP flavours; they are not well maintained upstream.
+    Note that the non-SMP flavours have been identical to the SMP builds
+    since 2.6.13-1; this was to avoid having to drop then re-add these
+    flavours if upstream resolved the issue - but that never happened.
+    Note that this is a measurable performance penalty on non-SMP systems.
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 17 Jul 2006 11:08:41 +0200
+
+linux-2.6 (2.6.17-3) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Add stable release 2.6.17.2:
+    - ide-io: increase timeout value to allow for slave wakeup
+    - NTFS: Critical bug fix (affects MIPS and possibly others)
+    - Link error when futexes are disabled on 64bit architectures
+    - SCTP: Reset rtt_in_progress for the chunk when processing its sack.
+    - SPARC32: Fix iommu_flush_iotlb end address
+    - ETHTOOL: Fix UFO typo
+    - UML: fix uptime
+    - x86: compile fix for asm-i386/alternatives.h
+    - bcm43xx: init fix for possible Machine Check
+    - SCTP: Fix persistent slowdown in sctp when a gap ack consumes rx buffer.
+    - kbuild: bugfix with initramfs
+    - Input: return correct size when reading modalias attribute
+    - ohci1394: Fix broken suspend/resume in ohci1394
+    - idr: fix race in idr code
+    - USB: Whiteheat: fix firmware spurious errors
+    - libata: minor patch for ATA_DFLAG_PIO
+    - SCTP: Send only 1 window update SACK per message.
+    - PFKEYV2: Fix inconsistent typing in struct sadb_x_kmprivate.
+    - SCTP: Limit association max_retrans setting in setsockopt.
+    - SCTP: Reject sctp packets with broadcast addresses.
+    - IPV6: Sum real space for RTAs.
+    - IPV6 ADDRCONF: Fix default source address selection without
+      CONFIG_IPV6_PRIVACY
+    - IPV6: Fix source address selection.
+  * Add stable release 2.6.17.3:
+    - NETFILTER: SCTP conntrack: fix crash triggered by packet without chunks
+    [CVE-2006-2934]
+  * Deapply merged sparc32-iotlb.patch.
+  * Fix README.Debian: Correct svn location, remove old boot param bswap
+    reference, the asfs patch is in the Debian kernel. Remove reference to
+    AMD 768 erratum 10, it was solved in 2.6.12. Add wording corrections.
+  * Set CONFIG_SERIAL_8250_RN_UARTS=16 for all archs beside mips/m68k unless
+    explicitly set on a specific value. (closes: 377151)
+  * Add stable release 2.6.17.4:
+    - fix prctl privilege escalation and suid_dumpable (CVE-2006-2451)
+
+  [ Sven Luther ]
+  * Re-enabled fs-asfs patch.
+
+  [ Thiemo Seufer ]
+  * [mips,mipsel] Fix sb1 interrupt handlers.
+  * [mips,mipsel] Fix devfs-induced build failure in sb1250 serial driver.
+  * [mips] SGI ip22 RTC was broken, fixed thanks to Julien Blache.
+  * [mips] Fix SGI ip22 serial console, thanks to Julien Blache.
+
+  [ Martin Michlmayr ]
+  * [arm/nslu2] Enable HFS and some other filesystems.
+  * [arm/nslu2] Unset CONFIG_USB_STORAGE_DEBUG.  Closes: #377853.
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 13 Jul 2006 13:14:53 +0200
+
+linux-2.6 (2.6.17-2) unstable; urgency=low
+
+  [ Jurij Smakov ]
+  * [sparc] Switch to gcc-4.1 as it produces a working kernel,
+    while gcc-4.0 does not. No ABI bump neccessary, because
+    2.6.17-1 sparc binaries never made it to the archive.
+  * [sparc32] Add sparc32-iotlb.patch to fix DMA errors on sparc32.
+
+  [ Sven Luther ]
+  * [powerpc] Added console=hvc0 default commandline option to powerpc64 flavour.
+  * [powerpc] Fixed mkvmlinuz support, which was missing from -1. (Closes: #375645)
+  * [powerpc] Added PowerBook HID support for last-gen PowerBook keyboards.
+    (Closes: #307327)
+
+  [ Martin Michlmayr ]
+  * [mipsel] Fix compilation error in dz serial driver.
+  * [mipsel] Update configs.
+  * [mipsel] Add a build fix for the Cobalt early console support.
+  * [arm/nslu2] Disable SE Linux support for now so the kernel fits into flash.
+
+  [ Christian T. Steigies ]
+  * [m68k] Update patches for 2.6.17.
+  * [m68k] Add m68k-as and m68k-macro patch which allow building with current binutils.
+  * [m68k] Disable all subarches but amiga and mac for official linux-images.
+
+  [ Kyle McMartin ]
+  * [hppa] Update patchset (2.6.17-pa6) from parisc-linux.org.
+    Which fixes relocation errors in modules with 64-bit kernels, and
+    a softlockup on non-SMP flavours with gettimeofday.
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 29 Jun 2006 18:49:35 +0200
+
+linux-2.6 (2.6.17-1) unstable; urgency=low
+
+  [ Frederik Schüler ]
+  * New upstream release.
+  * [amd64] Use gcc 4.1.
+  * [amd64] Drop amd64-generic flavor. We will use amd64-k8 for the
+    installer.
+
+  [ Martin Michlmayr ]
+  * [mips] Update patches for 2.6.17.
+  * [arm] Update configs.
+  * [armeb] Update configs.
+
+  [ Thiemo Seufer ]
+  * [mips] Fix SWARM FPU detection.
+  * [mips] Update configurations.
+
+  [ Kyle McMartin ]
+  * [hppa] Set PDC_CHASSIS_WARN to y.
+  * [hppa] Update patchset (2.6.17-pa2) from parisc-linux.org.
+  * [hppa] Change NR_CPUS to 8 from 32 on both SMP flavours.
+  * [hppa] Set PARISC_PAGE_SIZE to 4K on all platforms.
+
+  [ Bastian Blank ]
+  * [s390] Use gcc 4.1.
+  * [i386] Enable REGPARM.
+  * [i386] Use gcc 4.1.
+  * [powerpc] Disable prep.
+
+  [ dann frazier ]
+  * [ia64] Update configs
+  * [ia64] Use gcc 4.1.
+
+  [ maximilian attems ]
+  * Add stable release 2.6.17.1:
+    - xt_sctp: fix endless loop caused by 0 chunk length (CVE-2006-3085)
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 22 Jun 2006 12:13:15 +0200
+
+linux-2.6 (2.6.16+2.6.17-rc3-0experimental.1) experimental; urgency=low
+
+  [ Frederik Schüler ]
+  * New upstream release candidate.
+  * Switch HZ from 1000 to 250, following upstreams default.
+  * Activate CONFIG_BCM43XX_DEBUG.
+
+  [ maximilian attems ]
+  * Disable broken and known unsecure LSM modules: CONFIG_SECURITY_SECLVL,
+    CONFIG_SECURITY_ROOTPLUG. Upstream plans to remove them for 2.6.18
+
+ -- Frederik Schüler <fs@debian.org>  Sun,  7 May 2006 17:06:29 +0200
+
+linux-2.6.16 (2.6.16-18) unstable; urgency=high
+
+  [ Sven Luther ]
+  * [powerpc] Added console=hvsi0 too to CMDLINE to the powerpc64 flavour,
+    for non-virtualized IBM power machines serial console.
+
+  [ dann frazier ]
+  * fs-ext3-bad-nfs-handle.patch: avoid triggering ext3_error on bad NFS
+    file handle (CVE-2006-3468)
+  * cdrom-bad-cgc.buflen-assign.patch: fix buffer overflow in dvd_read_bca
+  * usb-serial-ftdi_sio-dos.patch: fix userspace DoS in ftdi_sio driver
+
+  [ Bastian Blank ]
+  * Update xen patch to changeset 9762.
+
+ -- Frederik Schüler <fs@debian.org>  Fri, 18 Aug 2006 20:29:17 +0200
+
+linux-2.6.16 (2.6.16-17) unstable; urgency=high
+
+  [ Martin Michlmayr ]
+  * Add stable release 2.6.16.22:
+    - powernow-k8 crash workaround
+    - NTFS: Critical bug fix (affects MIPS and possibly others)
+    - JFS: Fix multiple errors in metapage_releasepage
+    - SPARC64: Fix D-cache corruption in mremap
+    - SPARC64: Respect gfp_t argument to dma_alloc_coherent().
+    - SPARC64: Fix missing fold at end of checksums.
+    - scsi_lib.c: properly count the number of pages in scsi_req_map_sg()
+    - I2O: Bugfixes to get I2O working again
+    - Missed error checking for intent's filp in open_namei().
+    - tmpfs: time granularity fix for [acm]time going backwards
+    - USB: Whiteheat: fix firmware spurious errors
+    - fs/namei.c: Call to file_permission() under a spinlock in do_lookup_path()
+  * Add stable release 2.6.16.23:
+    - revert PARPORT_SERIAL should depend on SERIAL_8250_PCI patch
+    - NETFILTER: SCTP conntrack: fix crash triggered by packet without
+      chunks (CVE-2006-2934)
+  * Add stable release 2.6.16.24:
+    - fix prctl privilege escalation and suid_dumpable (CVE-2006-2451)
+  * Add stable release 2.6.16.25:
+    - Fix nasty /proc vulnerability (CVE-2006-3626)
+  * Relax /proc fix a bit (Linus Torvalds)
+
+  * [arm/nslu2] Unset CONFIG_USB_STORAGE_DEBUG.  Closes: #377853.
+  * [mips] SGI ip22 RTC was broken, fixed thanks to Julien Blache.
+  * [mips] Fix SGI ip22 serial console, thanks to Julien Blache.
+
+  [ Bastian Blank ]
+  * Fix vserver patch.
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 15 Jul 2006 17:18:49 +0200
+
+linux-2.6.16 (2.6.16-16) unstable; urgency=low
+
+  [ Sven Luther ]
+  * [powerpc] Added console=hvc0 default commandline option to powerpc64 flavour.
+  * [powerpc] Now THERM_PM72 and all WINDFARMs are builtin, for better fan control.
+
+  [ Martin Michlmayr ]
+  * [arm/nslu2] Disable SE Linux support for now so the kernel fits into
+    flash.  Closes: #376926.
+
+  [ Bastian Blank ]
+  * [powerpc,powerpc-miboot] Enable OpenFirmware device tree support.
+    (closes: #376012)
+
+ -- Bastian Blank <waldi@debian.org>  Sat,  8 Jul 2006 17:57:57 +0200
+
+linux-2.6.16 (2.6.16-15) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Add stable release 2.6.16.18:
+    - NETFILTER: SNMP NAT: fix memory corruption (CVE-2006-2444)
+  * Add stable release 2.6.16.19:
+    - NETFILTER: Fix small information leak in SO_ORIGINAL_DST (CVE-2006-1343)
+  * Add stable release 2.6.16.20:
+    - x86_64: Don't do syscall exit tracing twice
+    - Altix: correct ioc4 port order
+    - Input: psmouse - fix new device detection logic
+    - PowerMac: force only suspend-to-disk to be valid
+    - the latest consensus libata resume fix
+    - Altix: correct ioc3 port order
+    - Cpuset: might sleep checking zones allowed fix
+    - ohci1394, sbp2: fix "scsi_add_device failed" with PL-3507 based devices
+    - sbp2: backport read_capacity workaround for iPod
+    - sbp2: fix check of return value of hpsb_allocate_and_register_addrspace
+    - x86_64: x86_64 add crashdump trigger points
+    - ipw2200: Filter unsupported channels out in ad-hoc mode
+  * Add stable release 2.6.16.21:
+    - check_process_timers: fix possible lockup
+    - run_posix_cpu_timers: remove a bogus BUG_ON() (CVE-2006-2445)
+    - xt_sctp: fix endless loop caused by 0 chunk length (CVE-2006-3085)
+    - powerpc: Fix machine check problem on 32-bit kernels (CVE-2006-2448)
+
+  [ Christian T. Steigies ]
+  * [m68k] Add mac via patch from Finn Thain.
+  * [m68k] Enable INPUT_EVDEV.
+
+  [ Martin Michlmayr ]
+  * [mips/b1-bcm91250a] Enable SMP.
+  * [mips] Add a compile fix for the Maxine fb.
+  * [mipsel] Add a patch that let's you enable serial console on DECstation.
+  * [mipsel] Add a patch to get SCSI working on DECstation.
+  * [mipsel] Handle memory-mapped RTC chips properly.
+  * [mipsel] Add configs for r3k-kn02 and r4k-kn04 DECstation.
+  * [arm] Allow RiscPC machines to boot an initrd (tagged list fix).
+  * [arm/nslu2] Enable many modules.
+  * [arm] Build loop support as a module.
+  * [arm] Use the generic netfilter configuration.
+  * [arm/footbridge] Enable sound.
+
+  [ Kyle McMartin ]
+  * [hppa] Pulled patch from cvs to fix build of kernel/ptrace.c which needs
+    {read,write}_can_lock.
+  * [hppa] Disable CONFIG_DETECT_SOFTLOCKUP to fix boot on pa8800 machines.
+
+  [ Sven Luther ]
+  * [powerpc,prep] Added a new ARCH=ppc PReP flavour, currently mostly a copy
+    of the -powerpc one.
+  * Upgraded mkvmlinuz dependency to mkvmlinuz 21.
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.0.2-rc21.
+  * Bump build-dependency on kernel-package to 10.049.
+
+  [ Jurij Smakov ]
+  * Add dcache-memory-corruption.patch to fix the mremap(), occasionally
+    triggered on sparc in the form of dpkg database corruption. Affects
+    sparc64, mips and generic includes. Thanks to David Miller, original
+    patch is included in 2.6.17.
+    Ref: http://marc.theaimsgroup.com/?l=linux-sparc&m=114920963824047&w=2
+  * Add sparc32-iotlb.patch to fix the DMA errors encountered with latest
+    kernels on sparc32, in particularly HyperSparcs. Thanks to Bob Breuer.
+    Ref: http://marc.theaimsgroup.com/?l=linux-sparc&m=115077649707675&w=2
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 21 Jun 2006 14:09:11 +0200
+
+linux-2.6 (2.6.16-14) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.16.16:
+    - fs/locks.c: Fix lease_init (CVE-2006-1860)
+  * Make i386 xen images recommend libc6-xen.
+  * Update vserver patch to 2.0.2-rc20.
+  * Update xen patch to changeset 9687.
+
+  [ Christian T. Steigies ]
+  * [m68k] Add generic m68k ide fix.
+  * [m68k] Add cross-compile instructions.
+  * [m68k] Enable INPUT_EVDEV for yaird.
+  * [m68k] sun3 general compile and scsi fixes, enable sun3 SCSI again.
+
+  [ dann frazier ]
+  * cs4281 - Fix the check of timeout in probe to deal with variable HZ.
+    (closes: #361197)
+
+  [ Norbert Tretkowski ]
+  * [alpha] Readded patch to support prctl syscall, got lost when upgrading
+    to 2.6.16.
+
+  [ Frederik Schüler ]
+  * Add stable release 2.6.16.17:
+    - SCTP: Validate the parameter length in HB-ACK chunk (CVE-2006-1857)
+    - SCTP: Respect the real chunk length when walking parameters
+      (CVE-2006-1858)
+    - ptrace_attach: fix possible deadlock schenario with irqs
+    - Fix ptrace_attach()/ptrace_traceme()/de_thread() race
+    - page migration: Fix fallback behavior for dirty pages
+    - add migratepage address space op to shmem
+    - Remove cond_resched in gather_stats()
+    - VIA quirk fixup, additional PCI IDs
+    - PCI quirk: VIA IRQ fixup should only run for VIA southbridges
+    - Fix udev device creation
+    - limit request_fn recursion
+    - PCI: correctly allocate return buffers for osc calls
+    - selinux: check for failed kmalloc in security_sid_to_context()
+    - TG3: ethtool always report port is TP.
+    - Netfilter: do_add_counters race, possible oops or info leak
+      (CVE-2006-0039)
+    - scx200_acb: Fix resource name use after free
+    - smbus unhiding kills thermal management
+    - fs/compat.c: fix 'if (a |= b )' typo
+    - smbfs: Fix slab corruption in samba error path
+    - fs/locks.c: Fix sys_flock() race
+    - USB: ub oops in block_uevent
+    - via-rhine: zero pad short packets on Rhine I ethernet cards
+    - md: Avoid oops when attempting to fix read errors on raid10
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 22 May 2006 14:56:11 +0200
+
+linux-2.6 (2.6.16-13) unstable; urgency=low
+
+  [ Frederik Schüler ]
+  * Add stable release 2.6.16.14:
+    - smbfs chroot issue (CVE-2006-1864)
+
+  [ Bastian Blank ]
+  * Don't make headers packages depend on images.
+  * Bump abiname to 2. (closes: #366291)
+  * Update vserver patch to 2.0.2-rc19.
+  * Update xen patch to changeset 9668.
+  * Remove abi fixes.
+  * Add stable release 2.6.16.15:
+    - SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+    - SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+    - SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+    - SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
+  * Switch HZ from 1000 to 250.
+
+  [ Christian T. Steigies ]
+  * [m68k] Add patches that allow building images for atari
+  * [m68k] Enable atyfb driver for atari
+
+ -- Bastian Blank <waldi@debian.org>  Wed, 10 May 2006 18:58:44 +0200
+
+linux-2.6 (2.6.16-12) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.16.12:
+    - dm snapshot: fix kcopyd destructor
+    - x86_64: Pass -32 to the assembler when compiling the 32bit vsyscall pages
+    - for_each_possible_cpu
+    - Simplify proc/devices and fix early termination regression
+    - sonypi: correct detection of new ICH7-based laptops
+    - MIPS: Fix tx49_blast_icache32_page_indexed.
+    - NET: e1000: Update truesize with the length of the packet for packet split
+    - i386: fix broken FP exception handling
+    - tipar oops fix
+    - USB: fix array overrun in drivers/usb/serial/option.c
+    - Altix snsc: duplicate kobject fix
+    - Alpha: strncpy() fix
+    - LSM: add missing hook to do_compat_readv_writev()
+    - Fix reiserfs deadlock
+    - make vm86 call audit_syscall_exit
+    - fix saa7129 support in saa7127 module for pvr350 tv out
+    - dm flush queue EINTR
+    - get_dvb_firmware: download nxt2002 firmware from new driver location
+    - cxusb-bluebird: bug-fix: power down corrupts frontend
+    - x86_64: Fix a race in the free_iommu path.
+    - MIPS: Use "R" constraint for cache_op.
+    - MIPS: R2 build fixes for gcc < 3.4.
+    - cs5535_gpio.c: call cdev_del() during module_exit to unmap kobject references and other cleanups
+    - MIPS: Fix branch emulation for floating-point exceptions.
+    - x86/PAE: Fix pte_clear for the >4GB RAM case
+  * Add stable release 2.6.16.13:
+    - NETFILTER: SCTP conntrack: fix infinite loop (CVE-2006-1527)
+  * Remove merged patches.
+  * Rediff xen patch.
+  * Bump build-dependency on kernel-package to 10.047.
+
+  [ Martin Michlmayr ]
+  * [arm] Enable cramfs for ixp4xx and rpc.
+
+ -- Bastian Blank <waldi@debian.org>  Thu,  4 May 2006 11:37:26 +0200
+
+linux-2.6 (2.6.16-11) unstable; urgency=low
+
+  * Update vserver patch to 2.0.2-rc18.
+    - Limit ccaps to root inside a guest (CVE-2006-2110)
+  * Conflict with known broken grub versions. (closes: #361308)
+  * Enable s390 vserver image.
+  * Enable xen and xen-vserver images.
+  * Use localversion for kernel-package images. (closes: #365505)
+
+ -- Bastian Blank <waldi@debian.org>  Mon,  1 May 2006 16:38:45 +0200
+
+linux-2.6 (2.6.16-10) unstable; urgency=low
+
+  [ Norbert Tretkowski ]
+  * [alpha] Added backport of for_each_possible_cpu() to fix alpha build.
+    (closes: #364206)
+  * Add stable release 2.6.16.10:
+    - IPC: access to unmapped vmalloc area in grow_ary()
+    - Add more prevent_tail_call()
+    - alim15x3: ULI M-1573 south Bridge support
+    - apm: fix Armada laptops again
+    - fbdev: Fix return error of fb_write
+    - Fix file lookup without ref
+    - m41t00: fix bitmasks when writing to chip
+    - Open IPMI BT overflow
+    - x86: be careful about tailcall breakage for sys_open[at] too
+    - x86: don't allow tail-calls in sys_ftruncate[64]()
+    - IPV6: XFRM: Fix decoding session with preceding extension header(s).
+    - IPV6: XFRM: Don't use old copy of pointer after pskb_may_pull().
+    - IPV6: Ensure to have hop-by-hop options in our header of &sk_buff.
+    - selinux: Fix MLS compatibility off-by-one bug
+    - PPC: fix oops in alsa powermac driver
+    - MTD_NAND_SHARPSL and MTD_NAND_NANDSIM should be tristate's
+    - i2c-i801: Fix resume when PEC is used
+    - Fix hotplug race during device registration
+    - Fix truesize underflow
+    - efficeon-agp: Add missing memory mask
+    - 3ware 9000 disable local irqs during kmap_atomic
+    - 3ware: kmap_atomic() fix
+
+  [ maximilian attems ]
+  * Add stable release 2.6.16.11:
+    -  Don't allow a backslash in a path component (CVE-2006-1863)
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 25 Apr 2006 13:56:19 +0200
+
+linux-2.6 (2.6.16-9) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Add stable release 2.6.16.8:
+    - ip_route_input panic fix (CVE-2006-1525)
+  * Add stable release 2.6.16.9:
+    - i386/x86-64: Fix x87 information leak between processes (CVE-2006-1056)
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.0.2-rc17.
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 20 Apr 2006 15:37:28 +0200
+
+linux-2.6 (2.6.16-8) unstable; urgency=low
+
+  * Fix ABI-breakage introduced in -7. (closes: #363032)
+  * Add stable release 2.6.16.6:
+    - ext3: Fix missed mutex unlock
+    - RLIMIT_CPU: fix handling of a zero limit
+    - alpha: SMP boot fixes
+    - m32r: security fix of {get, put}_user macros
+    - m32r: Fix cpu_possible_map and cpu_present_map initialization for SMP kernel
+    - shmat: stop mprotect from giving write permission to a readonly attachment (CVE-2006-1524)
+    - powerpc: fix incorrect SA_ONSTACK behaviour for 64-bit processes
+    - MPBL0010 driver sysfs permissions wide open
+    - cciss: bug fix for crash when running hpacucli
+    - fuse: fix oops in fuse_send_readpages()
+    - Fix utime(2) in the case that no times parameter was passed in.
+    - Fix buddy list race that could lead to page lru list corruptions
+    - NETFILTER: Fix fragmentation issues with bridge netfilter
+    - USB: remove __init from usb_console_setup
+    - Fix suspend with traced tasks
+    - isd200: limit to BLK_DEV_IDE
+    - edac_752x needs CONFIG_HOTPLUG
+    - fix non-leader exec under ptrace
+    - sky2: bad memory reference on dual port cards
+    - atm: clip causes unregister hang
+    - powerpc: iSeries needs slb_initialize to be called
+    - Fix block device symlink name
+    - Incorrect signature sent on SMB Read
+  * Add stable release 2.6.16.7:
+    - fix MADV_REMOVE vulnerability (CVE-2006-1524 for real this time)
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 18 Apr 2006 16:22:31 +0200
+
+linux-2.6 (2.6.16-7) unstable; urgency=low
+
+  [ Frederik Schüler ]
+  * Add stable release 2.6.16.3:
+    - Keys: Fix oops when adding key to non-keyring (CVE-2006-1522)
+
+  [ Bastian Blank ]
+  * Add stable release 2.6.16.4:
+    - RCU signal handling (CVE-2006-1523)
+
+  [ Sven Luther ]
+  * [powerpc] Transitioned mkvmlinuz support patch to the 2.6.16 ARCH=powerpc
+    tree. PReP is broken in 2.6.16 though.
+
+  [ maximilian attems ]
+  * Add stable release 2.6.16.5:
+   - x86_64: Clean up execve
+   - x86_64: When user could have changed RIP always force IRET (CVE-2006-0744)
+  * Disable CONFIG_SECCOMP (adds useless overhead on context-switch) -
+    thanks to fs for checking abi.
+
+  [ Christian T. Steigies ]
+  * [m68k] update m68k patch and config to 2.6.16, temporarily disable atari
+
+ -- Bastian Blank <waldi@debian.org>  Sat, 15 Apr 2006 13:56:05 +0200
+
+linux-2.6 (2.6.16-6) unstable; urgency=medium
+
+  [ Bastian Blank ]
+  * Provide version infos in support package and don't longer rely on the
+    changelog.
+  * [amd64/i386] Enable cpu hotplug support.
+
+  [ maximilian attems ]
+  * Add stable release 2.6.16.2:
+    - PCMCIA_SPECTRUM must select FW_LOADER
+    - drivers/net/wireless/ipw2200.c: fix an array overun
+    - AIRO{,_CS} <-> CRYPTO fixes
+    - tlclk: fix handling of device major
+    - fbcon: Fix big-endian bogosity in slow_imageblit()
+    - Fix NULL pointer dereference in node_read_numastat()
+    - USB: EHCI full speed ISO bugfixes
+    - Mark longhaul driver as broken.
+    - fib_trie.c node freeing fix
+    - USB: Fix irda-usb use after use
+    - sysfs: zero terminate sysfs write buffers (CVE-2006-1055)
+    - USB: usbcore: usb_set_configuration oops (NULL ptr dereference)
+    - pcmcia: permit single-character-identifiers
+    - hostap: Fix EAPOL frame encryption
+    - wrong error path in dup_fd() leading to oopses in RCU
+    - {ip, nf}_conntrack_netlink: fix expectation notifier unregistration
+    - isicom must select FW_LOADER
+    - knfsd: Correct reserved reply space for read requests.
+    - Fix module refcount leak in __set_personality()
+    - sbp2: fix spinlock recursion
+    - powerpc: make ISA floppies work again
+    - opti9x - Fix compile without CONFIG_PNP
+    - Add default entry for CTL Travel Master U553W
+    - Fix the p4-clockmod N60 errata workaround.
+    - kdump proc vmcore size oveflow fix
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 10 Apr 2006 16:09:51 +0200
+
+linux-2.6 (2.6.16-5) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Provide real dependency packages for module building.
+    - Add linux-headers-$version-$abiname-all and
+      linux-headers-$version-$abiname-all-$arch.
+  * Rename support package to linux-support-$version-$abiname.
+  * Fix module package output.
+  * Include .kernelrelease in headers packages. (closes: #359813)
+  * Disable Cumana partition support completely. (closes: #359207)
+  * Update vserver patch to 2.0.2-rc15.
+
+  [ dann frazier ]
+  * [ia64] initramfs-tools works now, no longer restrict initramfs-generators
+
+ -- Bastian Blank <waldi@debian.org>  Mon,  3 Apr 2006 14:00:08 +0200
+
+linux-2.6 (2.6.16-4) unstable; urgency=medium
+
+  [ Martin Michlmayr ]
+  * [arm/armeb] Update nslu2 config.
+  * Add stable release 2.6.16.1:
+    - Fix speedstep-smi assembly bug in speedstep_smi_ownership
+    - DMI: fix DMI onboard device discovery
+    - cciss: fix use-after-free in cciss_init_one
+    - DM: Fix bug: BIO_RW_BARRIER requests to md/raid1 hang.
+    - fix scheduler deadlock
+    - proc: fix duplicate line in /proc/devices
+    - rtc.h broke strace(1) builds
+    - dm: bio split bvec fix
+    - v9fs: assign dentry ops to negative dentries
+    - i810fb_cursor(): use GFP_ATOMIC
+    - NET: Ensure device name passed to SO_BINDTODEVICE is NULL terminated.
+    - XFS writeout fix
+    - sysfs: fix a kobject leak in sysfs_add_link on the error path
+    - get_cpu_sysdev() signedness fix
+    - firmware: fix BUG: in fw_realloc_buffer
+    - sysfs: sysfs_remove_dir() needs to invalidate the dentry
+    - TCP: Do not use inet->id of global tcp_socket when sending RST (CVE-2006-1242)
+    - 2.6.xx: sata_mv: another critical fix
+    - Kconfig: VIDEO_DECODER must select FW_LOADER
+    - V4L/DVB (3324): Fix Samsung tuner frequency ranges
+    - sata_mv: fix irq port status usage
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 28 Mar 2006 17:19:10 +0200
+
+linux-2.6 (2.6.16-3) unstable; urgency=low
+
+  [ Frederik Schüler ]
+  * [amd64] Add asm-i386 to the linux-headers packages.
+
+  [ Jonas Smedegaard ]
+  * Tighten yaird dependency to at least 0.0.12-8 (supporting Linux
+    2.6.16 uppercase hex in Kconfig and new IDE sysfs naming, and VIA
+    IDE on powerpc).
+
+  [ Martin Michlmayr ]
+  * [arm/armeb] Enable CONFIG_NFSD on NSLU2 again.  Closes: #358709.
+  * [arm/footbridge] CONFIG_NE2K_PCI should be a module, not built-in.
+  * [arm/footbridge] Enable CONFIG_BLK_DEV_IDECD=m since the CATS can
+    have a CD-ROM drive.
+  * [mips/sb1*] Use ttyS rather than duart as the name for the serial
+    console since the latter causes problems with debian-installer.
+
+  [ Bastian Blank ]
+  * Update vserver patch to 2.0.2-rc14.
+    - Fix sendfile. (closes: #358391, #358752)
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 27 Mar 2006 16:08:20 +0200
+
+linux-2.6 (2.6.16-2) unstable; urgency=low
+
+  [ dann frazier ]
+  * [ia64] Set unconfigured options:
+      CONFIG_PNP_DEBUG=n and CONFIG_NET_SB1000=m
+  * [hppa] Update config for 2.6.16
+
+  [ Martin Michlmayr ]
+  * [mips/mipsel] Put something in the generic config file because diff
+    will otherwise remove the empty file, causing the build to fail.
+  * [mipsel/r5k-cobalt] Set CONFIG_PACKET=y.
+  * [arm] Set CONFIG_MACLIST=y for ixp4xx because nas100d needs it.
+
+  [ Frederik Schüler ]
+  * Add Maximilian Attems to uploaders list.
+
+ -- Martin Michlmayr <tbm@cyrius.com>  Wed, 22 Mar 2006 15:15:14 +0000
+
+linux-2.6 (2.6.16-1) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * New upstream release.
+  * Default to initramfs-tools 0.55 or higher on s390.
+
+  [ maximilian attems ]
+  * Default to initramfs-tools on arm and armeb.
+
+  [ Martin Michlmayr ]
+  * [mips/mipsel] Add an image for the Broadcom BCM91480B evaluation board
+    (aka "BigSur").
+  * [arm, armeb] Enable the netconsole module.
+  * [mipsel/cobalt] Enable the netconsole module.
+  * [mips] SB1: Fix interrupt disable hazard (Ralf Baechle).
+  * [mips] SB1: Support for 1480 ethernet (Broadcom).
+  * [mips] SB1: Support for NAPI (Tom Rix).
+  * [mips] SB1: DUART support (Broadcom).
+  * [mips] Work around bad code generation for <asm/io.h> (Ralf Baechle).
+  * [mips] Fix VINO drivers when using a 64-bit kernel (Mikael Nousiainen).
+  * [arm/armeb] Update configs for 2.6.16.
+  * [mips/mipsel] Update configs for 2.6.16.
+  * [arm/armeb] Enable the SMB module on NSLU2.
+  * [mipsel] Enable parallel port modules for Cobalt since there are PCI
+    cards that can be used in a Qube.
+  * [mipsel] Enable the JFS module on Cobalt.
+
+  [ dann frazier ]
+  * [ia64] use yaird on ia64 until #357414 is fixed
+  * [ia64] Update configs for 2.6.16
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 21 Mar 2006 16:12:16 +0100
+
+linux-2.6 (2.6.15+2.6.16-rc5-0experimental.1) experimental; urgency=low
+
+  [ Frederik Schüler ]
+  * New upstream release candidate.
+
+  [ Martin Michlmayr ]
+  * Add initial mips/mipsel 2.6 kernels.
+  * Important changes compared to the 2.4 kernels:
+    - Drop the XXS1500 flavour since there's little interest in it.
+    - Drop the LASAT flavour since these machines never went into
+      production.
+    - Drop the IP22 R5K (Indy, Indigo2) flavour since the IP22 R4K
+      image now also works on machines with a R5K CPU.
+    - Add an image for SGI IP32 (O2).
+    - Rename the sb1-swarm-bn flavour to sb1-bcm91250a.
+    - Enable PCI network (and other) modules on Cobalt.  Closes: #315895.
+  * Add various MIPS related patches:
+    - Fix iomap compilation on machines without COW.
+    - Improve gettimeofday on MIPS.
+    - Fix an oops on IP22 zerilog (serial console).
+    - Improve IDE probing so it won't take so long on Cobalt.
+    - Probe for IDE disks on SWARM.
+    - Test whether there's a scache (fixes Cobalt crash).
+    - Add Tulip fixes for Cobalt.
+  * Fix a typo in the description of the linux-doc-* package,
+    thanks Justin Pryzby.  Closes: #343424.
+  * [arm] Enable nfs and nfsd modules.
+  * [arm/footbride] Suggest nwutil (Netwinder utilities).
+
+ -- Frederik Schüler <fs@debian.org>  Thu,  9 Mar 2006 14:13:17 +0000
+
+linux-2.6 (2.6.15+2.6.16-rc4-0experimental.1) experimental; urgency=low
+
+  [ Frederik Schüler ]
+  * New upstream release.
+  * Activate CONFIG_DVB_AV7110_OSD on alpha amd64 and ia64.
+    Closes: #353292
+  * Globally enable NAPI on all network card drivers which support it.
+
+  [ maximilian attems ]
+  * Drop fdutils from i386 and amd64 Suggests.
+  * Swap lilo and grub Suggests for i386 and amd64.
+
+  [ Jurij Smakov ]
+  * Make sure that LOCALVERSION environment variable is not
+    passed to a shell while invoking make-kpkg, since it
+    appends it to the version string, breaking the build.
+    Closes: #349472
+  * [sparc32] Re-enable the building of sparc32 images.
+  * [sparc64] Re-add (partial) sparc64-atyf-xl-gr.patch, since it
+    was only partially applied upstream, so the problem (garbled
+    screen output on SunBlade 100) is still present. Thanks to
+    Luis Ortiz for pointing it out.
+  * Bump the build-dep on kernel-package to 10.035, which fixes
+    the problem with building documentation packages.
+
+  [ Martin Michlmayr ]
+  * [sparc] Add sys_newfstatat -> sys_fstatat64 fix from git.
+  * [arm] Update configs for 2.6.16-rc3.
+  * [armeb] Update configs for 2.6.16-rc3.
+  * [arm/armeb] Fix compilation error on NSLU2 due to recent flash
+    changes.
+  * [arm/armeb] Fix a compilation error in the IXP4xx beeper support
+    (Alessandro Zummo).
+
+  [ Norbert Tretkowski ]
+  * [alpha] Update arch/alpha/config* for 2.6.16-rc3.
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 24 Feb 2006 16:02:11 +0000
+
+linux-2.6 (2.6.15-8) unstable; urgency=high
+
+  [ maximilian attems ]
+  * Add stable Release 2.6.15.5:
+    - Fix deadlock in br_stp_disable_bridge
+    - Fix a severe bug
+    - i386: Move phys_proc_id/early intel workaround to correct function
+    - ramfs: update dir mtime and ctime
+    - sys_mbind sanity checking
+    - Fix s390 build failure.
+    - Revert skb_copy_datagram_iovec() recursion elimination.
+    - s390: add #ifdef __KERNEL__ to asm-s390/setup.h
+    - netfilter missing symbol has_bridge_parent
+    - hugetlbfs mmap ENOMEM failure
+    - IB/mthca: max_inline_data handling tweaks
+    - it87: Fix oops on removal
+    - hwmon it87: Probe i2c 0x2d only
+    - reiserfs: disable automatic enabling of reiserfs inode attributes
+    - Fix snd-usb-audio in 32-bit compat environment
+    - dm: missing bdput/thaw_bdev at removal
+    - dm: free minor after unlink gendisk
+    - gbefb: IP32 gbefb depth change fix
+    - shmdt cannot detach not-alined shm segment cleanly.
+    - Address autoconfiguration does not work after device down/up cycle
+    - gbefb: Set default of FB_GBE_MEM to 4 MB
+    - XFS ftruncate() bug could expose stale data (CVE-2006-0554)
+    - sys_signal: initialize ->sa_mask
+    - do_sigaction: cleanup ->sa_mask manipulation
+    - fix zap_thread's ptrace related problems
+    - fix deadlock in ext2
+    - cfi: init wait queue in chip struct
+    - sd: fix memory corruption with broken mode page headers
+    - sbp2: fix another deadlock after disconnection
+    - skge: speed setting
+    - skge: fix NAPI/irq race
+    - skge: genesis phy initialization fix
+    - skge: fix SMP race
+    - x86_64: Check for bad elf entry address (CVE-2006-0741)
+    - alsa: fix bogus snd_device_free() in opl3-oss.c
+    - ppc32: Put cache flush routines back into .relocate_code section
+    - sys32_signal() forgets to initialize ->sa_mask
+    - Normal user can panic NFS client with direct I/O (CVE-2006-0555)
+  * Deactivate merged duplicates: s390-klibc-buildfix.patch,
+    powerpc-relocate_code.patch.
+  * Add stable Release 2.6.15.6:
+    - Don't reset rskq_defer_accept in reqsk_queue_alloc
+    - fs/nfs/direct.c compile fix
+    - mempolicy.c compile fix, make sure BITS_PER_BYTE is defined
+    - [IA64] die_if_kernel() can return (CVE-2006-0742)
+
+  [ Sven Luther ]
+  * [powerpc] Disabled CONFIG_IEEE1394_SBP2_PHYS_DMA, which was broken on
+    powerpc64, as it used the long deprecated bus_to_virt symbol.
+    (Closes: #330225)
+  * [powerpc] Fixed gettimeofday breakage causing clock drift.
+
+ -- Bastian Blank <waldi@debian.org>  Mon,  6 Mar 2006 11:06:28 +0100
+
+linux-2.6 (2.6.15-7) unstable; urgency=low
+
+  [ Norbert Tretkowski ]
+  * [alpha] Disabled CONFIG_ALPHA_LEGACY_START_ADDRESS for -alpha-generic and
+    -alpha-smp flavours, and introduced a new -alpha-legacy flavour for MILO
+    based machines, which has CONFIG_ALPHA_LEGACY_START_ADDRESS enabled.
+    (closes: #352186)
+  * [alpha] Added new patch to support prctl syscall. (closes: #349765)
+  * [i386] Renamed kernel-image-2.6-486 to kernel-image-2.6-386, it's meant for
+    transition only, and kernel-image-2.6-386 is the package name in sarge.
+
+  [ Jurij Smakov ]
+  * Bump build-dependency on kernel-package to 10.035, which is fixed
+    to build the documentation packages again.
+    Closes: #352000, #348332
+
+  [ Frederik Schüler ]
+  * Activate CONFIG_DVB_AV7110_OSD on alpha amd64 and ia64.
+    Closes: #353292
+  * Deactivate CONFIG_FB_ATY_XL_INIT on all architectures: it is broken and
+    already removed in 2.6.16-rc.
+    Closes: #353310
+
+  [ Christian T. Steigies ]
+  * [m68k] build in cirrusfb driver
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 21 Feb 2006 17:35:21 +0000
+
+linux-2.6 (2.6.15-6) unstable; urgency=low
+
+  [ Bastian Blank ]
+  * Moved the mkvmlinuz support patch modification to a -1 version of the
+    patch.
+
+  [ maximilian attems ]
+  * Add stable treee 2.6.15.4
+    - PCMCIA=m, HOSTAP_CS=y is not a legal configuration
+    - Input: iforce - do not return ENOMEM upon successful allocation
+    - x86_64: Let impossible CPUs point to reference per cpu data
+    - x86_64: Clear more state when ignoring empty node in SRAT parsing
+    - x86_64: Dont record local apic ids when they are disabled in MADT
+    - Fix keyctl usage of strnlen_user()
+    - Kill compat_sys_clock_settime sign extension stub.
+    - Input: grip - fix crash when accessing device
+    - Input: db9 - fix possible crash with Saturn gamepads
+    - Input: iforce - fix detection of USB devices
+    - Fixed hardware RX checksum handling
+    - SCSI: turn off ordered flush barriers
+    - Input: mousedev - fix memory leak
+    - seclvl settime fix
+    - fix regression in xfs_buf_rele
+    - md: remove slashes from disk names when creation dev names in sysfs
+    - d_instantiate_unique / NFS inode leakage
+    - dm-crypt: zero key before freeing it
+    - bridge: netfilter races on device removal
+    - bridge: fix RCU race on device removal
+    - SELinux: fix size-128 slab leak
+    - __cmpxchg() must really always be inlined
+    - emu10k1 - Fix the confliction of 'Front' control
+    - Input: sidewinder - fix an oops
+  * Deactivate merged alpha-cmpxchg-inline.patch, sparc64-clock-settime.patch.
+
+  [ Christian T. Steigies ]
+  * [m68k] Add fix for m68k/buddha IDE and m68k/mac SCSI driver
+  * [m68k] Patch by Peter Krummrich to stop flickering pixels with PicassoII
+  * [m68k] make Amiga keyboard usable again, patch by Roman Zippel
+  * [m68k] prevent wd33c93 SCSI driver from crashing the kernel, patch by Roman Zippel
+  * [m68k] remove SBCs from VME descriptions (closes: #351924)
+
+ -- Frederik Schüler <fs@debian.org>  Fri, 10 Feb 2006 15:33:21 +0000
+
+linux-2.6 (2.6.15-5) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * Add a fix for the input support for the ixp4xx beeper driver from
+    2.6.16-rc2.
+  * Add stable tree 2.6.15.3:
+    - Fix extra dst release when ip_options_echo fails (CVE-2006-0454)
+
+  [ Sven Luther ]
+  * [powerpc] Removed -o root -g root option to mkvmlinuz support patch.
+    (Closes: #351412)
+
+ -- Sven Luther <luther@debian.org>  Tue,  7 Feb 2006 19:23:14 +0000
+
+linux-2.6 (2.6.15-4) unstable; urgency=low
+
+  [ Jurij Smakov ]
+  * [sparc64] Add sparc64-clock-settime.patch to fix the incorrect
+    handling of the clock_settime syscall arguments, which resulted
+    in a hang when trying to set the date using 'date -s'. Patch
+    by David Miller is applied upstream. Thanks to Ludovic Courtes
+    and Frans Pop for reporting and testing.
+    Ref: http://marc.theaimsgroup.com/?t=113861017400002&r=1&w=2
+
+  [ Christian T. Steigies ]
+  * [m68k] update m68k patch and config to 2.6.15
+  * [m68k] SCSI drivers need to be built in until ramdisk generator tools
+    supports loading scsi modules
+  * [m68k] ISCSI and IDE-TAPE don't compile, disabled
+  * [m68k] set CC_OPTIMIZE_FOR_SIZE=n
+  * [m68k] added vmeints patch which fixes building for vme
+
+  [ maximilian attems ]
+  * Use initramfs-tools for ia64 - fixed klibc.
+  * Add stable tree 2.6.15.2:
+    - Fix double decrement of mqueue_mnt->mnt_count in sys_mq_open
+    - (CVE-2005-3356)
+    - Mask off GFP flags before swiotlb_alloc_coherent
+    - usb-audio: don't use empty packets at start of playback
+    - Make second arg to skb_reserved() signed.
+    - Input: HID - fix an oops in PID initialization code
+    - Fix oops in ufs_fill_super at mount time
+    - Kill blk_attempt_remerge()
+    - Fix i2o_scsi oops on abort
+    - Fix mkiss locking bug
+    - Fix timekeeping on sparc64 ultra-IIe machines
+    - Someone broke reiserfs v3 mount options and this fixes it
+  * Deactivate sparc64-jumping-time.patch, amd64-pppd-fix.patch incl in aboves.
+  * Add s390-klibc-buildfix.patch, regression due to header file changes.
+
+  [ Steve Langasek ]
+  * [alpha] set __attribute__((always_inline)) on __cmpxchg(), to avoid
+    wrong optimizations with -Os (Closes: #347556).
+
+  [ Martin Michlmayr ]
+  * Add input support for the ixp4xx beeper driver (Alessandro Zummo).
+  * [arm] Add NSLU2 specific portion of ixp4xx beeper driver (Alessandro Zummo).
+  * [arm/nslu2] Build PPP as a module.
+  * [arm/nslu2] Enable wireless.
+  * [arm/nslu2] Enable most USB modules.
+  * [arm/nslu2] Enable ALSA and USB sound modules.
+  * [arm/nslu2] Set 4 MB as the size of the initrd in the kernel cmd line.
+  * [arm/footbridge] Set CONFIG_BLK_DEV_RAM_SIZE to 8192.
+  * [armeb] Add support for big-endian ARM.
+  * [armeb/nslu2] Use the nslu2 config from arm.
+
+  [ Frederik Schüler ]
+  * [amd64] Add amd64-pppd-fix.patch to fix kernel panic when using pppd.
+    (Closes: #347711)
+  * Add 64bit-vidiocswin-ioctl-fix.patch to fix VIDIOCSWIN ioctl on 64bit
+    kernel 32bit userland setups. (Closes: #349338)
+
+  [ Sven Luther ]
+  * [powerpc] Adapted apus config file to be more modular and in sync with the
+    other powerpc configs. Scsi drivers are disabled as they don't build
+    cleanly though (need some esp stuff).
+  * [powerpc] Default to initramfs-tools as initramfs generator, as klibc
+    build is fixed now.
+
+  [ Bastian Blank ]
+  * [powerpc] Fix dependencies of image packages.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed,  1 Feb 2006 11:34:20 +0100
+
+linux-2.6 (2.6.15-3) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * [arm] Update configs for 2.6.15; closes: #347998.
+  * [arm] Activate tmpfs.
+  * [arm] Allow modules to be unloaded.
+  * [arm] Enable CONFIG_INPUT_EVDEV since yaird needs this module in
+    order to generate initrds.
+  * [arm/footbridge] Activate IDEPCI so SL82C105 will really be
+    compiled in.
+  * [arm/footbridge] Activate the right network drivers (Tulip and
+    NE2K).
+  * [arm/footbridge] Enable more framebuffer drivers.
+  * debian/patches/arm-fix-dc21285.patch: Fix compilation of DC21285
+    flash driver.
+  * [arm/footbridge] Enable MTD and the DC21285 flash driver.
+  * [arm/footbridge] Enable RAID and LVM modules.
+  * [arm/footbridge] Enable USB modules.
+  * [arm/nslu2] Add an image for Network Storage Link for USB 2.0 Disk
+    Drives.
+  * debian/patches/arm-memory-h-page-shift.patch: Fix error "PAGE_SHIFT
+    undeclared" (Rod Whitby).
+  * debian/patches/mtdpart-redboot-fis-byteswap.patch: recognise a foreign
+    endian RedBoot partition table (John Bowler).
+  * debian/patches/maclist.patch: Add support for the maclist interface
+    (John Bowler).
+  * debian/patches/arm-nslu2-maclist.patch: Add NSLU2 maclist support
+    (John Bowler).
+  * [arm/nslu2] Activate maclist.
+
+  [ maximilian attems ]
+  * Add stable tree 2.6.15.1:
+    - arch/sparc64/Kconfig: fix HUGETLB_PAGE_SIZE_64K dependencies
+    - moxa serial: add proper capability check
+    - fix /sys/class/net/<if>/wireless without dev->get_wireless_stats
+    - Don't match tcp/udp source/destination port for IP fragments
+    - Fix sys_fstat64() entry in 64-bit syscall table.
+    - UFS: inode->i_sem is not released in error path
+    - netlink oops fix due to incorrect error code
+    - Fix onboard video on SPARC Blade 100 for 2.6.{13,14,15}
+    - Fix DoS in netlink_rcv_skb() (CVE-2006-0035)
+    - fix workqueue oops during cpu offline
+    - Fix crash in ip_nat_pptp (CVE-2006-0036)
+    - Fix another crash in ip_nat_pptp (CVE-2006-0037)
+    - ppc32: Re-add embed_config.c to ml300/ep405
+    - Fix ptrace/strace
+    - vgacon: fix doublescan mode
+    - BRIDGE: Fix faulty check in br_stp_recalculate_bridge_id()
+    - skge: handle out of memory on ring changes
+  * Drop merged patch:
+    - sparc64-atyfb-xl-gr-final.patch
+
+  [ Simon Horman ]
+  * Fix booting on PReP machines
+    (Closes: #348040)
+    powerpc-relocate_code.patch
+
+ -- Simon Horman <horms@verge.net.au>  Tue, 17 Jan 2006 18:01:17 +0900
+
+linux-2.6 (2.6.15-2) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Default to initramfs-tools as initramfs generator for amd64, hppa, i386,
+    alpha and sparc. More archs will be added once klibc matures.
+    (Closes: #346141, #343147, #341524, #346305)
+  * Backport alsa patch for opl3 - Fix the unreleased resources.
+    (Closes: #346273)
+  * Readd buslogic-pci-id-table.patch.
+
+  [ dann frazier ]
+  * [ia64] Update config for 2.6.15.
+
+  [ Frederik Schüler ]
+  * Make CONFIG_IPW2100 a per-architecture option and deactivate it on all
+    architectures but i386. (Closes: #344515)
+
+  [ Sven Luther ]
+  * Removed spurious file from powerpc-apus patch. (Closes: #346159)
+
+  [ Norbert Tretkowski ]
+  * Backport the generic irq framework for alpha. (closes: #339080)
+
+  [ Bastian Blank ]
+  * Remove pre-sarge conflict with hotplug.
+  * Fix hppa diff to apply.
+  * Make the latest packages depend on the corect version of the real images.
+    (closes: #346366)
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 10 Jan 2006 16:54:21 +0100
+
+linux-2.6 (2.6.15-1) unstable; urgency=low
+
+  [ Sven Luther ]
+  * New upstream release.
+  * [powerpc] Now use ARCH=powerpc for 64bit powerpc flavours, 32bit still
+    stays with ARCH=ppc for now.
+  * [powerpc] Readded PReP Motorola PowerStack II Utah IDE interrupt
+    (Closes: #345424)
+  * [powerpc] Fixed apus patch.
+  * Added make-kpkg --arch option support to gencontrol.py.
+  * Added debian/bin/kconfig.ml to process config file snipplet, so we can
+    preserve the pre 2.6.15 ordering of config file snipplets. Upto 2.6.15
+    the kernel Kconfig magic apparently kept the later occuring config options,
+    but it seems that this is no more the case. Instead of catting the config
+    files together, not use the kconfig.ml script to read in the files from
+    more generic to more specific, and keep only the more specific.
+
+  [ Bastian Blank ]
+  * [s390] Update configs.
+
+  [ Kyle McMartin ]
+  * [hppa] Snag latest hppa.diff from cvs.parisc-linux.org.
+  * [hppa] Update configs for 2.6.15.
+  * [hppa] Change parisc kernel names to something less ambiguous.
+
+  [ dann frazier ]
+  * [ia64] Update ia64 configs
+
+  [ maximilian attems ]
+  * Drop modular-ide.patch, nacked by ide upstream.  Prevents udev to load
+    ide-generic and those successfull boots with initramfs-tools.
+  * Disable CONFIG_USB_BANDWIDTH, causes major trouble for alsa usb cards.
+
+  [ Norbert Tretkowski ]
+  * [alpha] Removed conflict with initramfs-tools, thanks vorlon for finding
+    the klibc bug!
+
+  [ Jonas Smedegaard ]
+  * Adjust short description of transitional package kernel-image-2.6-
+    486 to mention 2.6 (not 2.6.12).
+  * Clean duplicate Kconfig options.
+
+  [ Frederik Schüler ]
+  * Add updated version of drivers-scsi-megaraid_splitup.patch.
+  * Deactivate CONFIG_IDE_TASK_IOCTL on alpha and ia64 and make it a global
+    option.
+  * Make CONFIG_VIDEO_SAA7134 a global option.
+  * New option CONFIG_CC_OPTIMIZE_FOR_SIZE set per-arch.
+  * Rename i386 368 flavour to 486.
+  * Add myself to uploaders.
+  * Readdition of qla2xxx drivers, as firmware license has been fixed.
+  * Make CONFIG_PACKET, PACKET_MM and UNIX builtin on all architectures:
+    statically linked has better performance then modules due to TLB issue.
+  * clean up debian-patches dir: remove all obsolete patches:
+    - alpha-compile-fix.patch: obsolete
+    - amd64-int3-fix.patch: fixed since 2.6.12
+    - net-ipconntrack-nat-fix.patch: merged upstream after 2.6.14 release
+    - net-nf_queue-oops.patch: merged upstream after 2.6.14 release
+    - qla2xxx-removed.patch: obsolete
+  * Drop M386 support remains from the i386 386 flavour: built with M486
+    from now on.
+
+  [ Martin Michlmayr ]
+  * [arm] Don't define "compiler" since GCC 4.x is the default now anyway.
+  * [arm] Add descriptions for "class" and "longclass".
+  * [arm] Compile CONFIG_BLK_DEV_SL82C105 support into the kernel on
+    Footbridge.
+  * [arm] Compile ext3 support into the kernel on Footbridge.
+  * [arm] Turn on CONFIG_SERIAL_8250 support on Footbridge.
+
+  [ Jurij Smakov ]
+  * [sparc] Correct the patch for the atyfb framebuffer driver
+    (sparc64-atyfb-xl-gr.patch) to finally fix the console and X
+    image defects on Blade 100/150. The new patch is named
+    sparc64-atyfb-xl-gr-final.patch to avoid the confusion.
+    Thanks to Luis F. Ortiz for fixing the patch and Luigi Gangitano
+    for testing it out.
+  * Drop tty-locking-fixes9.patch, which was preventing the oops during
+    shutdown on some sparc machines with serial console. Proper fix has
+    been incorporated upstream.
+
+  [ Simon Horman ]
+  * Enable MKISS globally (closes: #340215)
+  * Add recommends libc6-i686 to 686 and k7 image packages
+    (closes: #278729)
+  * Enable OBSOLETE_OSS_USB_DRIVER and USB_AUDIO
+    as alsa snd-usb-audio still isn't quite there.
+    I expect this to be re-disabled at some stage,
+    possibly soon if it proves to be a source of bugs.
+    (closes: #340388)
+
+ -- Sven Luther <luther@debian.org>  Tue,  3 Jan 2006 06:48:07 +0000
+
+linux-2.6 (2.6.14-7) unstable; urgency=low
+
+  [ maximilian attems ]
+  * Add stable tree 2.6.14.5 fixes:
+    - setting ACLs on readonly mounted NFS filesystems (CVE-2005-3623)
+    - Fix bridge-nf ipv6 length check
+    - Perform SA switchover immediately.
+    - Input: fix an OOPS in HID driver
+    - Fix hardware checksum modification
+    - kernel/params.c: fix sysfs access with CONFIG_MODULES=n
+    - Fix RTNLGRP definitions in rtnetlink.h
+    - Fix CTA_PROTO_NUM attribute size in ctnetlink
+    - Fix unbalanced read_unlock_bh in ctnetlink
+    - Fix NAT init order
+    - Fix incorrect dependency for IP6_NF_TARGET_NFQUEUE
+    - dpt_i2o fix for deadlock condition
+    - SCSI: fix transfer direction in sd (kernel panic when ejecting iPod)
+    - SCSI: fix transfer direction in scsi_lib and st
+    - Fix hardware rx csum errors
+    - Fix route lifetime.
+    - apci: fix NULL deref in video/lcd/brightness
+  * Disable CONFIG_USB_BANDWIDTH, causes major trouble on alsa usb cards.
+    (Closes: #344939)
+
+ -- maximilian attems <maks@sternwelten.at>  Tue, 27 Dec 2005 20:50:28 +0100
+
+linux-2.6 (2.6.14-6) unstable; urgency=low
+
+  [ Kyle McMartin ]
+  * Change parisc kernel names to something less ambiguous.
+
+  [ maximilian attems ]
+  * Drop modular-ide.patch, nacked by ide upstream.  Prevents udev to load
+    ide-generic and those successfull boots with initramfs-tools.
+  * Add stable tree 2.6.14.4 with the following fixes:
+    - drivers/scsi/dpt_i2o.c: fix a user-after-free
+    - drivers/message/i2o/pci.c: fix a use-after-free
+    - drivers/infiniband/core/mad.c: fix a use-after-free
+    - DVB: BUDGET CI card depends on STV0297 demodulator
+    - setkeys needs root
+    - Fix listxattr() for generic security attributes
+    - AGPGART: Fix serverworks TLB flush.
+    - Fix crash when ptrace poking hugepage areas
+    - I8K: fix /proc reporting of blank service tags
+    - i82365: release all resources if no devices are found
+    - bonding: fix feature consolidation
+    - libata: locking rewrite (== fix)
+    - cciss: bug fix for BIG_PASS_THRU
+    - ALSA: nm256: reset workaround for Latitude CSx
+    - cciss: bug fix for hpacucli
+    - V4L/DVB: Fix analog NTSC for Thomson DTT 761X hybrid tuner
+    - BRIDGE: recompute features when adding a new device
+    - 32bit integer overflow in invalidate_inode_pages2()
+    - USB: Adapt microtek driver to new scsi features
+    - ide-floppy: software eject not working with LS-120 drive
+    - Add try_to_freeze to kauditd
+    - V4L/DVB (3135) Fix tuner init for Pinnacle PCTV Stereo
+    - NETLINK: Fix processing of fib_lookup netlink messages
+    - ACPI: fix HP nx8220 boot hang regression
+
+  [ Norbert Tretkowski ]
+  * [alpha] Removed conflict with initramfs-tools, thanks vorlon for finding
+    the klibc bug!
+
+  [ Frederik Schüler ]
+  * Add updated drivers-scsi-megaraid_splitup.patch. (Closes: #317258)
+  * Add ppc64-thermal-overtemp.patch to fix a thermal control bug in G5
+    machines. (Closes: #343980)
+  * Unpatch the following patches which are included in 2.6.14.4:
+    - setkeys-needs-root-1.patch
+    - setkeys-needs-root-2.patch
+    - mm-invalidate_inode_pages2-overflow.patch
+    - net-bonding-consolidation-fix.patch
+
+ -- Frederik Schüler <fs@debian.org>  Tue, 20 Dec 2005 18:50:41 +0000
+
+linux-2.6 (2.6.14-5) unstable; urgency=low
+
+  [ dann frazier ]
+  * ia64-new-assembler-fix.patch
+    Fix ia64 builds with newer assembler (Closes: #341257)
+
+  [ Sven Luther ]
+  * [powerpc] incremented ramdisk size to 24576 from 8192, needed by the
+    graphical installer, maybe we can bring this to 16384 later.
+
+  [ Simon Horman ]
+  * Add recommends libc6-i686 to 686 and k7 image packages
+    (closes: #278729)
+  * Enable OBSOLETE_OSS_USB_DRIVER and USB_AUDIO
+    as alsa snd-usb-audio still isn't quite there.
+    I expect this to be re-disabled at some stage,
+    possibly soon if it proves to be a source of bugs.
+    (closes: #340388)
+
+  [ dann frazier ]
+  * buslogic-pci-id-table.patch
+    add a pci device id table to fix initramfs-tools discovery.
+    (closes #342057)
+  * fix feature consolidation in bonding driver.  (closes #340068)
+
+ -- dann frazier <dannf@debian.org>  Thu,  8 Dec 2005 10:59:31 -0700
+
+linux-2.6 (2.6.14-4) unstable; urgency=low
+
+  [ dann frazier ]
+  * setkeys-needs-root-1.patch, setkeys-needs-root-2.patch:
+    [SECURITY] Require root privilege to write the current
+    function key string entry of other user's terminals.
+    See CVE-2005-3257 (Closes: #334113)
+
+  [ Simon Horman ]
+  * Enable MKISS globally (closes: #340215)
+  * mm-invalidate_inode_pages2-overflow.patch
+    [SECURITY] 32bit integer overflow in invalidate_inode_pages2() (local DoS)
+  * ctnetlink-check-if-protoinfo-is-present.patch
+    [SECURITY] ctnetlink: check if protoinfo is present (local DoS)
+  * ctnetlink-fix-oops-when-no-icmp-id-info-in-message.patch
+    [SECURITY] ctnetlink: Fix oops when no ICMP ID info in message (local DoS)
+
+  [ Sven Luther ]
+  * Re-added powerpc/apus patch, now that Roman Zippel merged it in.
+  * Let's create asm-(ppc|ppc64) -> asm-powerpc symlink farm.  (Closes: #340571)
+
+  [ maximilian attems ]
+  * Add 2.6.14.3 patch - features changelog:
+    - isdn/hardware/eicon/os_4bri.c: correct the xdiLoadFile() signature
+    - x86_64/i386: Compute correct MTRR mask on early Noconas
+    - PPTP helper: Fix endianness bug in GRE key / CallID NAT
+    - nf_queue: Fix Ooops when no queue handler registered
+    - ctnetlink: check if protoinfo is present
+    - ip_conntrack: fix ftp/irc/tftp helpers on ports >= 32768
+    - VFS: Fix memory leak with file leases
+    - hwmon: Fix lm78 VID conversion
+    - hwmon: Fix missing it87 fan div init
+    - ppc64 memory model depends on NUMA
+    - Generic HDLC WAN drivers - disable netif_carrier_off()
+    - ctnetlink: Fix oops when no ICMP ID info in message
+    - Don't auto-reap traced children
+    - packet writing oops fix
+    - PPTP helper: fix PNS-PAC expectation call id
+    - NAT: Fix module refcount dropping too far
+    - Fix soft lockup with ALSA rtc-timer
+    - Fix calculation of AH length during filling ancillary data.
+    - ip_conntrack TCP: Accept SYN+PUSH like SYN
+    - refcount leak of proto when ctnetlink dumping tuple
+    - Fix memory management error during setting up new advapi sockopts.
+    - Fix sending extension headers before and including routing header.
+    - hwmon: Fix missing boundary check when setting W83627THF in0 limits
+  * Remove ctnetlink-check-if-protoinfo-is-present.patch,
+    net-nf_queue-oops.patch - already included in 2.6.14.3.
+
+  [ Frederik Schüler ]
+  * Make CONFIG_PACKET, PACKET_MM and UNIX builtin on all architectures:
+    statically linked has better performance then modules due to TLB issue.
+  * Add myself to uploaders.
+
+ -- Frederik Schüler <fs@debian.org>  Sat, 26 Nov 2005 13:18:41 +0100
+
+linux-2.6 (2.6.14-3) unstable; urgency=low
+
+  [ Norbert Tretkowski ]
+  * [alpha] Switch to gcc 4.0.
+  * [alpha] Conflict with initramfs-tools, klibc is broken on alpha.
+  * [alpha] Enabled CONFIG_KOBJECT_UEVENT in arch/alphaconfig to fix trouble
+    with latest udev, thanks to Uwe Schindler for reporting. (closes: #338911)
+  * Bumped ABI revision:
+    + ABI changes on sparc and alpha because of compiler switch.
+    + 2.6.14.1 changes ABI of procfs.
+
+  [ Sven Luther ]
+  * Set default TCP congestion algorithm to NewReno + BIC (Closes: #337089)
+
+  [ maximilian attems ]
+  * Reenable CONFIG_SOFTWARE_SUSPEND on i386 and ppc, resume=/dev/<other device>
+    must be set by boot loader. (Closes: #267600)
+  * Set CONFIG_USB_SUSPEND on i386. Usefull for suspend to ram and apm suspend.
+  * Add 2.6.14.1 patch:
+    - Al Viro: CVE-2005-2709 sysctl unregistration oops
+  * Add 2.6.14.2 patch:
+    - airo.c/airo_cs.c: correct prototypes
+    - fix XFS_QUOTA for modular XFS (closes: #337072)
+    - USB: always export interface information for modalias
+    - NET: Fix zero-size datagram reception
+    - fix alpha breakage
+    - Oops on suspend after on-the-fly switch to anticipatory i/o scheduler
+    - ipvs: fix connection leak if expire_nodest_conn=1
+    - Fix ptrace self-attach rule
+    - fix signal->live leak in copy_process()
+    - fix de_thread() vs send_group_sigqueue() race
+    - prism54 : Fix frame length
+    - tcp: BIC max increment too large
+  * Remove alpha compile fix as contained in 2.6.14.2
+  * Readd CONFIG_XFS_QUOTA=y.
+  * Disable ACPI cutoff year on i386, was set to 2001.
+    No need for acpi=force on boot.
+
+  [ Jurij Smakov ]
+  * Fix the install-image script to correctly include all the necessary
+    stuff in scripts. (Closes: #336424)
+  * Enable CONFIG_SND_ALI5451 on sparc.
+  * Switch sparc to gcc-4.0. Thanks to Norbert for making sure it successfully
+    builds a working kernel now.
+  * Apply patch to fix ATI framebuffer output corruption on SunBlade 100
+    (sparc64-atyfb-xl-gr.patch). Thanks to Luigi Gangitano. (Closes: #321200)
+  * Disable CONFIG_PARPORT_PC_FIFO on sparc, since it causes a hang whenever
+    something is sent to the parallel port device. Thanks to Attilla
+    (boera at rdslink.ro) for pointing that out.
+
+  [ Simon Horman ]
+  * [386, AMD64] Set CONFIG_FRAMEBUFFER_CONSOLE=y instead of m.
+    As vesadb now built into the kernel, after finally dropping the
+    debian-specific patch to make it modular, make fbcons builtin too, else
+    all sorts of weird stuff happens which is hard for the inird builders to
+    automatically compenste for. (Closes: #336450)
+  * Redisable CONFIG_SOFTWARE_SUSPEND on ppc/miboot as it required
+    CONFIG_PM to compile.
+  * [NETFILTER] nf_queue: Fix Ooops when no queue handler registered
+    This is a regression introduced in 2.6.14.
+    net-nf_queue-oops.patch. (Closes: #337713)
+  * Make manuals with defconfig, as is required for kernel-package 10.008
+
+  [ dann frazier ]
+  * net-ipconntrack-nat-fix.patch - fix compilation of
+    ip_conntrack_helper_pptp.c when NAT is disabled. (Closes: #336431)
+
+  [ Christian T. Steigies ]
+  * update m68k.diff to 2.6.14
+  * add m68k-*vme* patches
+  * disable macsonic driver until the dma patch is fixed
+  * disable IEEE80211 drivers for all of m68k
+
+  [ Frederik Schüler ]
+  * activate CONFIG_SECURITY_NETWORK to fix SElinux operation.
+    (Closes: #338543)
+
+ -- Norbert Tretkowski <nobse@debian.org>  Mon, 14 Nov 2005 10:23:05 +0100
+
+linux-2.6 (2.6.14-2) unstable; urgency=low
+
+  [ Simon Horman ]
+  * [SECURITY] Avoid 'names_cache' memory leak with CONFIG_AUDITSYSCALL
+    This fix, included as part of the 2.6.13.4 patch in
+    2.6.13+2.6.14-rc4-0experimental.1 is CVE-2005-3181
+  * Fix genearation of .extraversion, again (closes: #333842)
+  * Add missing kernel-arch and kernel-header-dirs to defines
+    so headers get included. (closes: #336521)
+    N.B: I only filled in arches where other's hadn't done so alread.
+         Please fix if its wrong.
+  * Allow powerpc64 to compile with AUDIT enabled but
+    AUDITSYSCALL disabled. powerpc64-audit_sysctl-build.patch
+
+  [ dann frazier ]
+  * Update hppa.diff to 2.6.14-pa0
+
+  [ Norbert Tretkowski ]
+  * [alpha] New patch to include compiler.h in barrier.h, barrier() is used in
+    non-SMP case.
+  * [alpha] Added kernel-header-dirs and kernel-arch to debian/arch/alpha/defines
+    to include asm-alpha in linux-headers package.
+  * Added myself to Uploaders.
+
+  [ Frederik Schüler ]
+  * [amd64] use DISCONTIGMEM instead of SPARSEMEM on amd64-k8-smp flavour to
+    fix bootup kernel panic.
+  * [amd64] include asm-x86_64 in linux-headers package.
+  * Deactivate AUDITSYSCALL globally, it slows down the kernel and is not
+    needed for selinux at all.
+
+ -- Simon Horman <horms@debian.org>  Tue,  1 Nov 2005 15:27:40 +0900
+
+linux-2.6 (2.6.14-1) unstable; urgency=low
+
+  [ Sven Luther ]
+  * New upstream release.
+
+  [ Norbert Tretkowski ]
+  * [alpha] Update arch/alpha/config* for 2.6.14.
+
+  [ Simon Horman ]
+  * Fix misformatting of long description of
+    linux-patch-debian-linux-patch-debian-X.Y.Z.
+    templates/control.main.in
+    (closes: #335088)
+  * Make sure version is seeded in apply and unapply scripts.
+    Actually changed in some earlier, post 2.6.12, release,
+    but the changelog seems to be missing.
+    (closes: #324583)
+
+  [ dann frazier ]
+  * [ia64] Disable the CONFIG_IA64_SGI_SN_XP module.  This forces
+    CONFIG_GENERIC_ALLOCATOR and CONFIG_IA64_UNCACHED_ALLOCATOR to y, which
+    appears to break on zx1 systems.
+
+ -- Simon Horman <horms@debian.org>  Fri, 28 Oct 2005 16:26:03 +0900
+
+linux-2.6 (2.6.13+2.6.14-rc5-0experimental.1) experimental; urgency=low
+
+  [ Sven Luther ]
+  * Upgraded to 2.6.14-rc5.
+
+  [ Jonas Smedegaard ]
+  * Quote variables in debian/rules.real and postinstall (making it
+    safer to run with weird characters in path of build environment).
+
+  [ Bastian Blank ]
+  * Add some missing files from scripts to headers packages.
+  * Add new patch powerpc-build-links.patch: Emit relative symlinks in
+    arch/ppc{,64}/include.
+  * Include arch/*/include into headers package.
+
+ -- Sven Luther <luther@debian.org>  Tue, 25 Oct 2005 03:56:11 +0000
+
+linux-2.6 (2.6.13+2.6.14-rc4-0experimental.1) experimental; urgency=low
+
+  [ Sven Luther ]
+  * Upgraded to 2.6.14-rc4.
+
+  [ Simon Horman ]
+  * Fix genearation of .extraversion (closes: #333842)
+
+  [ dann frazier ]
+  * Enhance the linux-source description to explain the types of patches
+    Debian adds to it.  (closes: #258043)
+  * Correct linux-patch-debian description.  It replaces the
+    kernel-patch-debian packages, not the kernel-source packages.
+
+  [ Jonas Smedegaard ]
+  * Fix building from within a very long dir (all patches was applied at
+    once - exhausting shell commandline, now applied one by one).
+  * Add Simon Horman, Sven Luther and myself as Uploaders.
+
+  [ Bastian Blank ]
+  * Use list of revisions in patch scripts.
+  * Use correct names for tarball and scripts.
+
+  [ Jurij Smakov ]
+  * [i386] Set the CONFIG_HPET_EMULATE_RTC option to make the clock
+    work properly on certain Dell machines. This required setting the
+    CONFIG_RTC option to 'y' instead of 'm'. (closes: #309909)
+    [i386] Enable VIDEO_CX88 and VIDEO_CX88_DVB (both set to 'm') by
+    popular demand. (closes: #330916)
+
+  [ Norbert Tretkowski ]
+  * [alpha] Update arch/alpha/config for 2.6.13.
+
+  [ Kyle McMartin ]
+  * [hppa] Oops. Fix linux-headers not including asm-parisc by adding
+    headers_dirs = parisc to Makefile.inc.
+
+  [ maximilian attems ]
+  * Set CONFIG_FB_VESA=y for i386 and amd64 configs. (closes: #333003)
+
+  [ Sven Luther ]
+  * [powerpc] Fixed apus build, now use mkvmlinuz too to generate the vmlinuz
+    kernel.
+  * Fixed control.image.in to depend on :
+      initramfs-tools | yaird | linux-ramdisk-tool
+    where linux-ramdisk-tools is the virtual package provided by all
+    initrd/initramfs generating tools.
+
+  [ Frederik Schüler ]
+  * deactivate FB_RIVA on all architectures.
+  * deactivate BLK_DEV_IDESCSI on all architectures.
+  * Added patch-2.6.13.4:
+    - [SECURITY] key: plug request_key_auth memleak
+      See CAN-2005-3119
+    - [SECURITY] Fix drm 'debug' sysfs permissions
+      See CAN-2005-3179
+    - [SECURITY] Avoid 'names_cache' memory leak with CONFIG_AUDITSYSCALL
+    - [SPARC64] Fix userland FPU state corruption.
+    - BIC coding bug in Linux 2.6.13
+    - [SECURITY] orinoco: Information leakage due to incorrect padding
+      See CAN-2005-3180
+    - ieee1394/sbp2: fixes for hot-unplug and module unloading
+
+  [ Christian T. Steigies ]
+  * disable CONFIG_EXT2_FS_XIP for m68k like on all(?) other arches
+  * deactivate OKTAGON_SCSI for amiga/m68k until it can be compiled again
+  * deactivate CONFIG_KEYBOARD_HIL_OLD, CONFIG_KEYBOARD_HIL, CONFIG_MOUSE_HIL,
+    CONFIG_HIL_MLC, and CONFIG_HP_SDC for hp/m68k
+  * update m68k.diff for 2.6.13
+  * split out patches that do not intefere with other arches to
+    patches-debian/m68k-*
+
+ -- Bastian Blank <waldi@debian.org>  Fri, 21 Oct 2005 12:17:47 +0000
+
+linux-2.6 (2.6.13-1) experimental; urgency=low
+
+  * New upstream release "git booost":
+    - new arch xtensa
+    - kexec/kdump
+    - execute-in-place
+    - inotify (closes: #304387)
+    - time-sharing cfq I/O scheduler
+    - manual driver binding
+    - voluntary preemption
+    - user-space I/O initiation for InfiniBand
+    - new speedy DES (crypto) implementation
+    - uml "almost-skas" mode support
+    - 250 HZ default (closes: #320366)
+    - fixes all over (alsa, archs, ide, input, ntfs, scsi, swsusp, usb, ..)
+    - orinoco driver updates (closes: #291684)
+    - md, dm updates (closes: #317787)
+
+  [ Frederik Schüler ]
+  * [amd64] Added class and longclass descriptions for amd64 flavours.
+  * [amd64] add amd64-tlb-flush-sigsegv-fix.patch: disable tlb flush
+    filtering on smp systems to workaround processor errata.
+  * backport kernel-api-documentation-generation-fix.diff from git to fix
+    documentation build.
+  * Added patch-2.6.13.1:
+    - raw_sendmsg DoS (CAN-2005-2492)
+    - 32bit sendmsg() flaw (CAN-2005-2490)
+    - Reassembly trim not clearing CHECKSUM_HW
+    - Use SA_SHIRQ in sparc specific code.
+    - Fix boundary check in standard multi-block cipher processors
+    - 2.6.13 breaks libpcap (and tcpdump)
+    - x86: pci_assign_unassigned_resources() update
+    - Fix PCI ROM mapping
+    - aacraid: 2.6.13 aacraid bad BUG_ON fix
+    - Kconfig: saa7134-dvb must select tda1004x
+
+  [ Simon Horman ]
+  * Disable BSDv3 accounting on hppa and alpha, it was already
+    disabled on all other architectures. Also unify BSD accounting
+    config into top level config, rather than per flavour configs.
+  * [SECURITY] The seq_file memory leak fix included in 2.6.12-6
+    as part of upstream's 2.6.12.6 patchset is now CAN-2005-2800.
+
+  [ Jurij Smakov, Simon Horman ]
+  * Ensure that only one kernel-manual/linux-manual package can
+    be installed at a time to avoid file conflicts. (closes: #320042)
+
+  [ Bastian Blank ]
+  * Move audit, preempt and security settings to core config file.
+  * Fix powerpc configuration.
+  * Add debian version information to kernel version string.
+  * Drop coreutils | fileutils dependencies.
+  * Drop modular-vesafb patch. (closes: #222374, #289810)
+
+  [ Christian T. Steigies ]
+  * update m68k.diff for linux-2.6.13
+  * add m68k-42_dma.patch and m68k-sonic.patch that will be in upstream 2.6.14
+    (which makes sun3 build fail, needs fixing)
+
+  [ maximilian attems ]
+  * Drop drivers-add-scsi_changer.patch (merged)
+  * Drop drivers-ide-dma-blacklist-toshiba.patch (merged)
+  * Drop drivers-ide-__devinit.patch (merged)
+  * Added patch-2.6.13.2:
+    - USB: ftdi_sio: custom baud rate fix
+    - Fix up more strange byte writes to the PCI_ROM_ADDRESS config word
+    - Fix MPOL_F_VERIFY
+    - jfs: jfs_delete_inode must call clear_inode
+    - Fix DHCP + MASQUERADE problem
+    - Sun HME: enable and map PCI ROM properly
+    - Sun GEM ethernet: enable and map PCI ROM properly
+    - hpt366: write the full 4 bytes of ROM address, not just low 1 byte
+    - forcedeth: Initialize link settings in every nv_open()
+    - Lost sockfd_put() in routing_ioctl()
+    - lost fput in 32bit ioctl on x86-64
+  * Added patch-2.6.13.3:
+    - Fix fs/exec.c:788 (de_thread()) BUG_ON
+    - Don't over-clamp window in tcp_clamp_window()
+    - fix IPv6 per-socket multicast filtering in exact-match case
+    - yenta oops fix
+    - ipvs: ip_vs_ftp breaks connections using persistence
+    - uml - Fix x86_64 page leak
+    - skge: set mac address oops with bonding
+    - tcp: set default congestion control correctly for incoming connections
+
+  [ Sven Luther ]
+  * [powerpc] Added hotplug support to the mv643xx_eth driver :
+      powerpc-mv643xx-hotplug-support.patch
+    thanks go to Nicolas Det for providing the patch.
+  * [powerpc] Modified a couple of configuration options for the powerpc64
+    flavour, fixes and enhances Apple G5 support (Closes: #323724, #328324)
+  * [powerpc] Added powerpc-miboot flavour to use exclusively with oldworld
+    powermac miboot floppies for debian-installer.
+  * [powerpc] Checked upgraded version of the apus patches, separated them in
+    a part which is safe to apply, and one which needs checking, and is thus
+    not applied yet.
+
+  [ Kyle McMartin ]
+  * [hppa] Update hppa.diff to 2.6.13-pa4.
+  * [hppa] Add space register fix to pacache.S to hppa.diff.
+
+  [ dann frazier ]
+  * Add a note to README.Debian that explains where users can find the .config
+    files used to generate the linux-image packages.  Closes: #316809
+  * [ia64] Workaround #325070 until upstream works out an acceptable solution.
+    This bug breaks module loading on non-SMP ia64 kernels.  The workaround
+    is to temporarily use an SMP config for the non-SMP kernels.  (Note that
+    John Wright is running benchmarks to determine the overhead of running
+    an SMP kernel on UP systems to help decide if this should be a
+    permanent change).
+  * [ia64] Update arch/ia64/config for 2.6.13
+
+ -- Simon Horman <horms@debian.org>  Thu,  6 Oct 2005 15:45:21 +0900
+
+linux-2.6 (2.6.12-6) unstable; urgency=high
+
+  [ Andres Salomon, Bastian Blank ]
+  * Change ATM and Classical-IP-over-ATM to be modular, instead of being
+    statically included. (closes: #323143)
+
+  [ Sven Luther ]
+  * [powerpc] powerpc-pmac-sound-check.patch: Added pmac-sound sanity check.
+  * [powerpc] powerpc-apus.patch:
+    Added preliminary apus patch to package, not applied to kernel tree yet.
+
+  [ Simon Horman ]
+  * Unset CC_OPTIMIZE_FOR_SIZE in i386 config,
+    it breaks iproute's (and other netlink users) ability
+    to set routes. (closes: #322723)
+  * Added 2.6.12.6
+    - [SECURITY: CAN-2005-2555] Restrict socket policy loading to
+      CAP_NET_ADMIN.
+    - [SECURITY] Fix DST leak in icmp_push_reply().  Possible remote
+      DoS?
+    - [SECURITY] NPTL signal delivery deadlock fix; possible local
+      DoS.
+    - fix gl_skb/skb type error in genelink driver in usbnet
+    - [SECURITY] fix a memory leak in devices seq_file implementation;
+      local DoS.
+    - [SECURITY] Fix SKB leak in ip6_input_finish(); local DoS.
+
+  [ Andres Salomon ]
+  * [hppa] enable discontiguous memory support for 32bit hppa images, so
+    they build.
+
+ -- Andres Salomon <dilinger@debian.org>  Tue, 06 Sep 2005 10:14:35 -0400
+
+linux-2.6 (2.6.12-5) unstable; urgency=low
+
+  * Change ARM to use GCC 3.3 to avoid FTBFS errors with GCC 4
+   (dann frazier)
+
+  * Remove spurious double quote character from ia64 package descriptions.
+    (dann frazier)
+
+  * Add transitional meta packages (kernel-image-2.6-*) for ia64.
+    (dann frazier)
+
+  * Change fuzz factor to 1, stricter patch appliance. (Maximilian Attems)
+
+  * Enabled CONFIG_THERM_PM72 on powerpc64 flavour. (Sven Luther)
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 16 Aug 2005 21:43:31 +0200
+
+linux-2.6 (2.6.12-4) unstable; urgency=low
+
+  * Supply correct subarch values for the powerpc images.
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 15 Aug 2005 21:06:18 +0200
+
+linux-2.6 (2.6.12-3) unstable; urgency=low
+
+  * Added reference to old kernel-* package names to make
+    transition a little more obvious to end users.
+    A Dan Jacobson special. (Simon Horman) Closes: #321167
+
+  * By the time this makes it into the archive, it will
+    be handling kernel-image-2.6-* packages. (Simon Horman)
+    Closes: #321867
+
+  * Link palinfo statically on ia64. (dann frazier) (Closes: #321885)
+
+  * [hppa] :
+    - Add hppa arch specific patch.
+    - Build-Depend on binutils-hppa64 and gcc-4.0-hppa64.
+    (Kyle McMartin)
+
+  * Fix permissions in source tarball. (Bastian Blank) (Closes: #322409)
+
+  * Enable the CONFIG_IP_ADVANCED_ROUTER and related options on
+    sparc64 to sync with other architectures. (Jurij Smakov)
+    Closes: #321236
+
+  * Include all executables as well as *.sh and *.pl files found in
+    scripts directory in the headers package. (Bastian Blank)
+    Closes: #322612, #322680, #322765
+
+  * Include m68k headers into the arch-common headers package on
+    powerpc and make sure that all the directories are linked to
+    properly from the flavour-specific headers packages. (Jurij Smakov)
+    Closes: #322610
+
+  * [powerpc] Enabled the powerpc64 flavour, now that we have a real biarch
+    toolchain in sid. Many thanks go to GOTO Masanori and Matthias Klose as
+    well as any other who worked on the biarch toolchain to make this happen.
+
+  * Added 2.6.12.5 (Simon Horman)
+    - Fix BUG() is triggered by a call to set_mempolicy() with a negativ
+      first argument.
+    - [amd64] Fix a SRAT handling on systems with dual cores.
+    - [amd64] SMP timing problem
+    - [security] Zlib fixes See CAN-2005-2458, CAN-2005-2459
+      http://sources.redhat.com/ml/bug-gnu-utils/1999-06/msg00183.html
+      http://bugs.gentoo.org/show_bug.cgi
+    - Add zlib deflateBound()
+    - [security] Fix error during session join. See CAN-2005-2098
+    - [security] Fix keyring destructor. See CAN-2005-2099
+    - Module per-cpu alignment cannot always be met
+      http://www.ussg.iu.edu/hypermail/linux/kernel/0409.0/0768.html
+    Closes: #323039
+
+ -- Bastian Blank <waldi@debian.org>  Mon, 15 Aug 2005 16:42:05 +0200
+
+linux-2.6 (2.6.12-2) unstable; urgency=low
+
+  * The Kernel Team offers its condolences to the family of Jens Schmalzing
+    (jensen@debian), who died Saturday, July 30, 2005 in a tragic accident in
+    Munich.  Jens was a member of the Kernel Team, and was instrumental in
+    taking the powerpc kernel package to 2.6, as well as maintaining MOL
+    and its kernel modules.
+
+  * Add @longclass@ variable to control file autogeneration. (Andres Salomon)
+
+  * Bump build-depends on kernel-package to a fixed version (>= 9.005).
+    (Jurij Smakov, Sven Luther) (closes: #319657, #320422, #321625)
+
+  * Change default ramdisk size for sparc to 16,384K to accomodate a fatter
+    d-i initrd for netboot installs.
+    (Joshua Kwan)
+
+  * Don't build-depend on console-tools on s390. (Bastian Blank)
+
+  * Add ARM support. (Vincent Sanders)
+
+  * Add ia64 descriptions. (dann frazier)
+
+  * Strip down the scripts dir in the headers packages. (Bastian Blank)
+
+  * Add m68k support. (Christian T. Steigies)
+
+  * Added 2.6.12.4 (Frederik Schüler)
+    - Fix powernow oops on dual-core athlon
+    - Fix early vlan adding leads to not functional device
+    - sys_get_thread_area does not clear the returned argument
+    - bio_clone fix
+    - Fix possible overflow of sock->sk_policy (CAN-2005-2456)
+      (closes: #321401)
+    - Wait until all references to ip_conntrack_untracked are dropped on
+      unload
+    - Fix potential memory corruption in NAT code (aka memory NAT)
+    - Fix deadlock in ip6_queue
+    - Fix signedness issues in net/core/filter.c
+    - x86_64 memleak from malicious 32bit elf program
+    - rocket.c: Fix ldisc ref count handling
+    - kbuild: build TAGS problem with O=
+
+  * Enable CONFIG_6PACK=m for all archs (Andres Salomon)
+    (closes: #319646)
+
+  * Overhaul the generation of the control file. Now it is handled
+    by debian/bin/gencontrol.py. The debian/control target in rules
+    also fails now, since we don't want the control file generated
+    during build. Arch-specific Depends and suggests are now generated
+    correctly. (Bastian Blank) (Closes: #319896)
+
+  * [powerpc] Fixed typo which made asm-ppc and asm-ppc64 not being included
+    in the header package. (Sven Luther) (Closes: #320817)
+
+  * Added list of flavours built to common header package. (Sven Luther)
+
+ -- Bastian Blank <waldi@debian.org>  Tue, 09 Aug 2005 11:12:40 +0200
+
+linux-2.6 (2.6.12-1) unstable; urgency=low
+
+  * New upstream release:
+    - "git rocks"
+    - address space randomization
+    - conversion of ide driver code to the device model
+    - restored Philips webcam driver
+    - new Broadcom bcm5706 gigabit driver
+    - new resource limits for the audio community
+    - Multipath device mapper
+    - Intel HD Audio alsa driver
+    - fixes + arch updates..
+    - readdition of tg3 driver, as firmware license has been fixed
+
+  * Dropped the following patches:
+    - patch-2.6.11.*.patch (merged)
+    - powerpc-ppc64-ibmvscsi.patch (Christoph didn't like it, and it failed
+      to build anyways) (Sven Luther)
+    - doc-post_halloween.patch (unless someone can come up w/ a valid
+      reason for carrying around rapidly bitrotting documentation...)
+      (Andres Salomon)
+    - sparc32-hypersparc-srmmu.patch (dropped until sparc32 is working
+      again, and we can figure out whether it's necessary)
+    - fix-alpha-ext3-oops.patch (no longer needed, fixed by compiler)
+    - x86-i486_emu.patch (buggy and insecure 80486 instruction emulation
+      for 80386; we're no longer supporting this) (closes: #250468)
+    - amd64-outs.patch (according to
+      http://www.ussg.iu.edu/hypermail/linux/kernel/0502.3/1095.html, this
+      is unnecessary for us) (Andres Salomon)
+    - sparc64-rtc-mostek.patch (merged)
+    - sparc64-compat-nanoseconds.patch (merged)
+    - sparc64-sunsu-init-2.6.11.patch (merged)
+    - sunsab-uart-update-timeout.patch (merged)
+    - alpha-read-trylock.patch (different version got merged)
+    - powerpc-prep-motorola-irq-fix.patch (merged)
+    - drivers-media-video-saa7134-update.patch (merged)
+    - drivers-media-video-saa7134-update-2.patch (merged)
+    - drivers-media-video-pll-lib.patch (merged)
+    - drivers-media-video-pll-lib-2.patch (merged)
+    - drivers-media-video-tuner-update-1.patch (merged)
+    - drivers-media-video-tuner-update-2.patch (merged)
+    - drivers-media-video-v4l-mpeg-support.patch (merged)
+    - drivers-media-video-mt352-update.patch (merged)
+    - arch-ppc64-hugepage-aio-panic.patch (merged)
+    - drivers-input-serio-nmouse.patch (merged)
+    - sparc64-sb1500-clock-2.6.patch (merged)
+    - docbook-allow-preprocessor-directives-... (merged)
+    - docbook-fix-function-parameter-descriptin-in-fbmem.patch (merged)
+    - docbook-move-kernel-doc-comment-next-to-function.patch (merged)
+    - powerpc-therm-adt746x-new-i2c-fix.patch (merged)
+    - powerpc-mv643xx-enet.patch (merged)
+    - powerpc-mv643xx-eth-pegasos.patch (merged)
+    - powerpc-pmac-agp-sleep.patch (merged)
+    - drivers-input-serio-8042-resume.patch (merged)
+
+  * Premiere of the common-source kernel package
+    (Jurij Smakov, Andres Salomon)
+    - build all architectures out of kernel source package
+    - rename source and binary packages
+    - create a common config for different architectures, and management
+      tools to allow for easier modification of config options
+    - drop default configs, autogenerate them instead; requires
+      kernel-package >= 9.002.
+
+  * Add 2.6.12.1 (Maximilian Attems)
+    - Clean up subthread exec (CAN-2005-1913)
+    - ia64 ptrace + sigrestore_context (CAN-2005-1761)
+
+  * Add 2.6.12.2 (Frederik Schüler)
+    - Fix two socket hashing bugs.
+    -  ACPI: Make sure we call acpi_register_gsi() even for default PCI
+       interrupt assignment
+    - Add "memory" clobbers to the x86 inline asm of strncmp and friends
+    - e1000: fix spinlock bug
+    - fix remap_pte_range BUG
+    - Fix typo in drivers/pci/pci-driver.c
+
+  * Add 2.6.12.3 (Joshua Kwan)
+    - Fix semaphore handling in __unregister_chrdev
+    - Fix TT mode in UML.
+    - Check for a null return in tty_ldisc_ref.
+    - v4l: cx88 hue offset fix
+    - Fix 8139cp breakage that occurs with tpm driver.
+    - Fix the 6pack driver in SMP environments.
+    - Switch to spinlocks in the shaper driver.
+    - ppc32: stop misusing NTP's time_offset value
+    - netfilter: go back to dropping conntrack references manually
+    - ACPI: don't accept 0 as a PCI IRQ.
+
+  * Enable CONFIG_SCSI_INITIO. (Maximilian Attems) (closes: #318121)
+
+  * [powerpc] :
+    - Added powerpc-mkvmlinuz-support patch which allows, together with
+      kernel-package 9.0002 to add mkvmlinuz support to hand built packages.
+    - Removed powerpc-ppc64-ibmvscsi.patch, FTBFS, and Christoph doesn't like
+      it and thinks it is not needed.
+    - Disabled swim3 on powerpc-smp, FTBFS.
+    - Disabled software-suspend on powerpc-smp, FTBFS, amd64/i386 only smp code.
+    - Rediffed and readded the G4 L2 hardware flush assist patch from Jacob Pan.
+    (Sven Luther)
+
+  * [sparc]
+    - Drop sparc32 flavour for now. sparc32 kernel is currently in the
+      category "too buggy for us to support". In spite of numerous efforts
+      I still see occasional random filesystem corruptions in my tests.
+      That does NOT mean that we are dropping sparc32 support, we will
+      work with upstream trying to solve these problems for the next
+      kernel release. Those interested in helping/testing are encouraged
+      to subscribe to debian-sparc mailing list.
+      (Jurij Smakov)
+
+  * [alpha]
+    - Renamed resulting binary packages for alpha, kernel-image-x.y.z-generic
+      wasn't a generic kernel, it was a generic kernel for alpha machines, so
+      we're now using linux-image-x.y.z-alpha-generic (and of course, the same
+      change for the smp kernel-image). This change was postponed after the
+      sarge release. (closes: #260003)
+    (Norbert Tretkowski)
+
+  * [amd64]
+    - Now using the default compiler (gcc-4.0), thus we get rid of the
+      annoying MAKEFLAGS="CC=gcc-3.4" make-kpkg... invocation for third-party
+      modules.
+      This release lacks 64bit kernels for i386 userland; support will be
+      added in a later release as soon as the toolchain has stabilized again.
+      (Frederik Schüler)
+
+ -- Andres Salomon <dilinger@debian.org>  Wed, 20 Jul 2005 17:16:04 -0400
+
--- linux-2.6-2.6.26.orig/debian/compat
+++ linux-2.6-2.6.26/debian/compat
@@ -0,0 +1 @@
+4
--- linux-2.6-2.6.26.orig/debian/copyright
+++ linux-2.6-2.6.26/debian/copyright
@@ -0,0 +1,76 @@
+This is the Debian GNU/Linux prepackaged version of the Linux kernel.
+Linux was written by Linus Torvalds <Linus.Torvalds@cs.Helsinki.FI>
+and others.
+
+This package was put together by Simon Shapiro <Shimon@i-Connect.Net>, from
+sources retrieved from directories under
+ftp.cs.helsinki.fi:/pub/Software/Linux/Kernel/
+The sources may be found at most Linux ftp sites, including 
+ftp://ftp.kernel.org/pub/linux/kernel/
+
+This package was then maintained by Sven Rudolph.
+
+This package was maintained by Herbert Xu <herbert@debian.org>
+from March 1997 to May 2004.
+
+This package is currently maintained by the
+Debian Kernel Team <debian-kernel@lists.debian.org>
+
+Linux is Copyright Linus Torvalds and others.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; version 2 dated June, 1991.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+The Xen patch was obtained from:
+ git://git.eu.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
+
+Xen is distributed under the following license:
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License version 2
+   as published by the Free Software Foundation; or, when distributed
+   separately from the Linux kernel or incorporated into other
+   software packages, subject to the following license:
+
+   Permission is hereby granted, free of charge, to any person obtaining a copy
+   of this source file (the "Software"), to deal in the Software without
+   restriction, including without limitation the rights to use, copy, modify,
+   merge, publish, distribute, sublicense, and/or sell copies of the Software,
+   and to permit persons to whom the Software is furnished to do so, subject to
+   the following conditions:
+
+   The above copyright notice and this permission notice shall be included in
+   all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+   IN THE SOFTWARE.
+
+The openvz patch was obtained from:
+ git://git.openvz.org/pub/linux-2.6.26-openvz
+
+OpenVZ is distributed under the GPL v2 and later license and that notice:
+
+Nothing in this license should be construed as a grant by SWsoft of any rights
+beyond the rights specified in the GNU General Public License, and nothing in
+this license should be construed as a waiver by SWsoft of its patent, copyright
+and/or trademark rights, beyond the waiver required by the GNU General Public
+License. This license is expressly inapplicable to any product that is not
+within the scope of the GNU General Public License
--- linux-2.6-2.6.26.orig/debian/rules
+++ linux-2.6-2.6.26/debian/rules
@@ -0,0 +1,99 @@
+#!/usr/bin/make -f
+#
+# Generally nothing needs to be modified below this line
+#
+SHELL    := sh -e
+DEB_HOST_ARCH  := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+SOURCE   := $(shell dpkg-parsechangelog | sed -ne 's,^Source: *\(.*\)$$,\1,p')
+VERSION_DEBIAN := $(shell dpkg-parsechangelog | sed -ne 's,^Version: *\(.*\)$$,\1,p')
+VERSION  := $(shell echo "$(VERSION_DEBIAN)" | sed -e 's,-[^-]*$$,,')
+VERSION_DEBIAN_BINNMU := $(shell echo "$(VERSION_DEBIAN)" | sed -ne 's,.*\+b\(.*\)$$,\1,p')
+
+include debian/rules.defs
+
+source: debian/control $(STAMPS_DIR)/source-base
+$(STAMPS_DIR)/source-base: $(BUILD_DIR) $(STAMPS_DIR)
+	dh_testdir
+	$(MAKE) -f debian/rules.gen source_$(DEB_HOST_ARCH)
+	touch $@
+
+source-all: debian/control $(BUILD_DIR) $(STAMPS_DIR)
+	dh_testdir
+	$(MAKE) -f debian/rules.gen source
+
+setup: debian/control $(STAMPS_DIR)/setup-base
+$(STAMPS_DIR)/setup-base: $(STAMPS_DIR)/source-base
+	dh_testdir
+	$(MAKE) -f debian/rules.gen setup_$(DEB_HOST_ARCH)
+	touch $@
+
+build: debian/control $(STAMPS_DIR)/build-base
+$(STAMPS_DIR)/build-base: $(STAMPS_DIR)/setup-base
+	dh_testdir
+	$(MAKE) -f debian/rules.gen build_$(DEB_HOST_ARCH)
+	touch $@
+
+$(BUILD_DIR) $(STAMPS_DIR):
+	@[ -d $@ ] || mkdir $@
+
+DIR_ORIG = ../orig/$(SOURCE)-$(VERSION)
+TAR_ORIG_NAME = $(SOURCE)_$(VERSION).orig.tar.gz
+TAR_ORIG = $(firstword $(wildcard ../$(TAR_ORIG_NAME)) $(wildcard ../orig/$(TAR_ORIG_NAME)))
+
+orig: $(DIR_ORIG)
+	rsync --delete --exclude debian --exclude .svk --exclude .svn --link-dest=$(DIR_ORIG)/ -a $(DIR_ORIG)/ .
+
+$(DIR_ORIG):
+ifeq ($(TAR_ORIG),)
+	$(error Cannot find orig tarball $(TAR_ORIG_NAME))
+else
+	mkdir -p ../orig
+	tar -C ../orig -xzf $(TAR_ORIG)
+endif
+
+maintainerclean:
+	rm -f debian/config.defines.dump debian/control debian/control.md5sum debian/rules.gen debian/bin/patch.* debian/linux-*
+	rm -rf $(filter-out debian .svk .svn, $(wildcard * .[^.]*))
+
+clean: debian/control
+	dh_testdir
+	rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_linux/*.pyc
+	dh_clean
+
+binary-indep: $(STAMPS_DIR)/source-base
+	dh_testdir
+	$(MAKE) -f debian/rules.gen binary-indep
+
+binary-arch: $(STAMPS_DIR)/build-base
+	dh_testdir
+	$(MAKE) -f debian/rules.gen binary-arch_$(DEB_HOST_ARCH)
+
+binary:	binary-indep binary-arch
+
+CONTROL_FILES = debian/changelog $(wildcard debian/templates/*.in)
+CONTROL_FILES += debian/config/defines $(wildcard debian/config/*/defines) $(wildcard debian/config/*/*/defines)
+debian/control debian/rules.gen: debian/bin/gencontrol.py $(CONTROL_FILES)
+ifeq ($(wildcard debian/control.md5sum),)
+	$(MAKE) -f debian/rules debian/control-real
+else ifeq ($(VERSION_DEBIAN_BINNMU),)
+	md5sum --check debian/control.md5sum --status || \
+		$(MAKE) -f debian/rules debian/control-real
+else
+	grep -v debian/changelog debian/control.md5sum | md5sum --check - --status || \
+		$(MAKE) -f debian/rules debian/control-real
+endif
+
+debian/control-real: debian/bin/gencontrol.py $(CONTROL_FILES)
+	chmod +x $<
+	$<
+	md5sum $^ > debian/control.md5sum
+	@echo
+	@echo This target is made to fail intentionally, to make sure
+	@echo that it is NEVER run during the automated build. Please
+	@echo ignore the following error, the debian/control file has
+	@echo been generated SUCCESSFULLY.
+	@echo
+	exit 1
+
+.PHONY: clean build setup binary-indep binary-arch binary
--- linux-2.6-2.6.26.orig/debian/rules.defs
+++ linux-2.6-2.6.26/debian/rules.defs
@@ -0,0 +1,4 @@
+BUILD_DIR = debian/build
+STAMPS_DIR = debian/stamps
+TEMPLATES_DIR = debian/templates
+
--- linux-2.6-2.6.26.orig/debian/rules.real
+++ linux-2.6-2.6.26/debian/rules.real
@@ -0,0 +1,520 @@
+#
+# This Makefile executes the unpack/build/binary targets for a single
+# subarch, which is passed in the subarch variable. Empty subarch
+# variable means that we are building for an arch without the subarch.
+# Additionally, variables version, abiname and ltver are
+# expected to be available (need to be exported from the parent process).
+#
+SHELL  := bash -e
+DEB_HOST_ARCH     := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_ARCH)
+DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_ARCH    := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_BUILD_ARCH)
+UPLOADER  := $(shell dpkg-parsechangelog | sed -ne 's,^Maintainer: .[^<]*<\([^>]*\)>,\1,p')
+
+export PYTHONPATH = $(CURDIR)/debian/lib/python
+export DH_OPTIONS
+export DEB_HOST_ARCH DEB_HOST_GNU_TYPE DEB_BUILD_ARCH
+
+include debian/rules.defs
+
+ifdef DEBIAN_KERNEL_JOBS
+  JOBS_ARG = -j$(DEBIAN_KERNEL_JOBS)
+endif
+
+setup_env := env -u ABINAME -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION -u MAKEFLAGS
+setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTION_UPLOADER=$(UPLOADER) DISTRIBUTION_VERSION="$(SOURCEVERSION)"
+
+MAKE_CLEAN = $(setup_env) $(MAKE)
+MAKE_SELF = $(MAKE) -f debian/rules.real
+
+kpkg_image := $(setup_env)
+ifdef DEBIAN_KERNEL_JOBS
+  kpkg_image += CONCURRENCY_LEVEL=$(DEBIAN_KERNEL_JOBS)
+endif
+kpkg_image += make-kpkg --arch '$(firstword $(KPKG_ARCH) $(ARCH))' --cross-compile=- --stem linux --config silentoldconfig
+ifneq ($(INITRAMFS),False)
+  kpkg_image += --initrd
+endif
+ifdef KPKG_SUBARCH
+  kpkg_image += --subarch '$(KPKG_SUBARCH)'
+endif
+
+#
+# Targets
+#
+binary-arch-arch: install-headers_$(ARCH)
+binary-arch-arch: install-libc-dev_$(ARCH)
+binary-arch-featureset: install-headers_$(ARCH)_$(FEATURESET)
+binary-arch-flavour: install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+ifeq ($(MODULES),True)
+  binary-arch-flavour: install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+endif
+
+binary-indep: install-doc
+binary-indep: install-manual
+binary-indep: install-patch
+binary-indep: install-source
+binary-indep: install-support
+binary-indep: install-tree
+
+build: $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+
+setup-flavour: $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+
+source-arch: $(STAMPS_DIR)/source
+source-featureset: $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
+
+$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG)
+	python debian/bin/kconfig.py '$@' $(KCONFIG)
+
+$(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: SOURCE_DIR=$(BUILD_DIR)/source
+$(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: DIR = $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION)
+$(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: $(STAMPS_DIR)/source
+	rm -rf '$@' '$(DIR)'
+	cp -al '$(SOURCE_DIR)' '$(DIR)'
+	chmod -R u+rw,go=rX '$(DIR)'
+	cd '$(BUILD_DIR)'; tar -cjf 'linux-source-$(UPSTREAMVERSION).tar.bz2' 'linux-source-$(UPSTREAMVERSION)'
+	rm -rf '$(DIR)'
+
+define patch_cmd
+cd '$(DIR)'; python '$(CURDIR)/debian/bin/patch.apply' --overwrite-home='$(CURDIR)/debian/patches'
+endef
+
+$(STAMPS_DIR)/source: SOURCE_FILES = $(filter-out debian, $(wildcard * .[^.]*))
+$(STAMPS_DIR)/source: DIR = $(BUILD_DIR)/source
+$(STAMPS_DIR)/source:
+	rm -rf '$(DIR)'
+	mkdir -p '$(DIR)' $(STAMPS_DIR)
+	cp -al $(SOURCE_FILES) '$(DIR)'
+	$(patch_cmd)
+	touch '$@'
+
+$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source
+$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
+$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source
+	rm -rf '$(DIR)'
+	cp -al '$(SOURCE_DIR)' '$(DIR)'
+	$(patch_cmd) -a $(ARCH) -f $(FEATURESET)
+	touch '$@'
+
+setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: CONFIG=$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: SOURCE_DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
+setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: $(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+	rm -rf '$(DIR)'
+	cp -al '$(SOURCE_DIR)' '$(DIR)'
+	cp '$(CONFIG)' '$(DIR)/.config'
+	echo '$(ABINAME)$(LOCALVERSION_IMAGE)' > '$(DIR)/localversion'
+	echo 'override ARCH = $(KERNEL_ARCH)' >> '$(DIR)/.kernelvariables'
+	echo 'CCACHE = ccache' >> '$(DIR)/.kernelvariables'
+	echo 'CC = $$(if $$(DEBIAN_KERNEL_USE_CCACHE),$$(CCACHE)) $$(CROSS_COMPILE)$(COMPILER)' >> '$(DIR)/.kernelvariables'
+# TODO: Should we set CROSS_COMPILE always?
+ifdef OVERRIDE_HOST_TYPE
+	echo 'override CROSS_COMPILE = $(OVERRIDE_HOST_TYPE)-' >> '$(DIR)/.kernelvariables'
+else
+	echo 'ifneq ($$(DEB_BUILD_ARCH),$$(DEB_HOST_ARCH))' >> '$(DIR)/.kernelvariables'
+	echo 'override CROSS_COMPILE = $$(DEB_HOST_GNU_TYPE)-' >> '$(DIR)/.kernelvariables'
+	echo 'endif' >> '$(DIR)/.kernelvariables'
+endif
+ifdef CFLAGS
+	echo 'CFLAGS += $(CFLAGS)'  >> '$(DIR)/.kernelvariables'
+endif
+	$(MAKE_CLEAN) -C '$(DIR)' reportoldconfig
+
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
+
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
+	$(MAKE_SELF) setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all
+	mkdir -p '$(DIR)/debian'
+	cp debian/{changelog,control,copyright} '$(DIR)/debian'
+	touch '$(DIR)/debian/official'
+	cd '$(DIR)'; $(kpkg_image) configure
+	touch '$@'
+
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain \
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape \
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
+	$(MAKE_SELF) setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all
+	$(MAKE_CLEAN) -C '$(DIR)' $(JOBS_ARG) prepare
+	touch '$@'
+
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
+	cd '$(DIR)'; $(kpkg_image) build
+	python debian/bin/abicheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR)
+	touch '$@'
+
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape: BUILD_TARGET = image
+
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain \
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape \
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
+	$(MAKE_CLEAN) -C '$(DIR)' $(JOBS_ARG) $(BUILD_TARGET)
+	python debian/bin/abicheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR)
+	touch '$@'
+
+$(STAMPS_DIR)/build-doc: SOURCE_DIR=$(BUILD_DIR)/source
+$(STAMPS_DIR)/build-doc: DIR=$(BUILD_DIR)/build-doc
+$(STAMPS_DIR)/build-doc: $(STAMPS_DIR)/source
+	rm -rf $(DIR)
+	mkdir $(DIR)
+	$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' $(JOBS_ARG) xmldocs
+	$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' $(JOBS_ARG) htmldocs mandocs
+	touch '$@'
+
+install-base:
+	dh_installchangelogs
+	dh_installdocs
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_gencontrol -- $(GENCONTROL_ARGS)
+	dh_md5sums
+	dh_builddeb
+
+install-doc: PACKAGE_NAME = linux-doc-$(VERSION)
+install-doc: DIR = $(BUILD_DIR)/build-doc
+install-doc: SOURCE_DIR = $(BUILD_DIR)/source
+install-doc: PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-doc: OUT_DIR = $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)
+install-doc: DH_OPTIONS = -p$(PACKAGE_NAME)
+install-doc: $(STAMPS_DIR)/build-doc
+	dh_clean -d -k
+	mkdir -p $(OUT_DIR)
+	cp -a $(addprefix $(SOURCE_DIR)/, COPYING CREDITS MAINTAINERS README REPORTING-BUGS Documentation) $(OUT_DIR)
+	rm -rf $(OUT_DIR)/Documentation/DocBook
+	cd $(DIR)/Documentation/DocBook; \
+	find . \
+	  -path './man/*' -prune -o \
+	  \( -name '*.tmpl' -o -name '*.xml' -o -name '*.9' -o \
+	     -name 'Makefile*' -o -name '.*.cmd' -o -name '.gitignore' \) -prune -o \
+	  -print \
+	| \
+	cpio -pd --preserve-modification-time '$(CURDIR)/$(OUT_DIR)/html'
+	gzip -9qfr $(OUT_DIR)/Documentation
+	$(MAKE_SELF) install-base
+
+install-manual: PACKAGE_NAME = linux-manual-$(VERSION)
+install-manual: DIR=$(BUILD_DIR)/build-doc
+install-manual: DH_OPTIONS = -p$(PACKAGE_NAME)
+install-manual: $(STAMPS_DIR)/build-doc
+	dh_clean -d -k
+	find $(DIR)/Documentation/DocBook/man/ -name '*.9' | xargs dh_installman
+	$(MAKE_SELF) install-base
+
+install-dummy:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	$(MAKE_SELF) install-base
+
+install-headers_$(ARCH): PACKAGE_NAMES = linux-headers-$(UPSTREAMVERSION)$(ABINAME)-all linux-headers-$(UPSTREAMVERSION)$(ABINAME)-all-$(ARCH)
+install-headers_$(ARCH): DH_OPTIONS = $(foreach p, $(PACKAGE_NAMES), -p$(p))
+install-headers_$(ARCH):
+	dh_testdir
+	dh_testroot
+	$(MAKE_SELF) install-base GENCONTROL_ARGS='-Vkernel:Arch=$(ARCH)'
+
+install-headers_$(ARCH)_$(FEATURESET): PACKAGE_NAME = linux-headers-$(UPSTREAMVERSION)$(ABINAME)-common$(LOCALVERSION_HEADERS)
+install-headers_$(ARCH)_$(FEATURESET): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET): BASE_DIR = /usr/src/$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET): SOURCE_DIR = $(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
+install-headers_$(ARCH)_$(FEATURESET): DIR = debian/$(PACKAGE_NAME)/$(BASE_DIR)
+install-headers_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
+	dh_testdir
+	dh_testroot
+	dh_clean -k -d
+	cd $(SOURCE_DIR); \
+	( \
+	  find . \
+	    -path './Documentation/*' -prune -o \
+	    -path './arch/*' -prune -o \
+	    -path './include/asm*' -prune -o \
+	    -path './scripts/*' -prune -o \
+	    -path './include/*' -print -o \
+	    \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Rules.make' \) -print; \
+	  find include/asm-generic -print; \
+	  for i in $(KERNEL_HEADER_DIRS); do \
+	    find arch/$$i \
+	      \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Rules.make' -o -name 'module.lds' \) -print; \
+	    find include/asm-$$i -print; \
+	  done; \
+	) \
+	| \
+	cpio -pd --preserve-modification-time '$(CURDIR)/$(DIR)'
+	$(MAKE_SELF) install-base
+
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REAL_VERSION = $(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME = linux-headers-$(REAL_VERSION)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME_HEADERS = linux-headers-$(UPSTREAMVERSION)$(ABINAME)-common$(LOCALVERSION_HEADERS)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME_KBUILD = linux-kbuild-$(VERSION)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): BASE_DIR = /usr/src/$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SOURCE_DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REF_DIR = $(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(PACKAGE_DIR)/$(BASE_DIR)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+	dh_testdir
+	dh_testroot
+	dh_clean -k -d
+
+	mkdir -p $(DIR)/arch/$(KERNEL_ARCH)/kernel
+	mkdir -p $(DIR)/include
+	cp -a $(SOURCE_DIR)/{.config,.kernel*,Module.symvers} $(DIR)
+
+	cd $(SOURCE_DIR); \
+	find . -mindepth 1 -maxdepth 1 \
+		! -name debian -a ! -name Documentation -a ! -name include -a \
+		! -name scripts -a ! -name arch -a \( -name Makefile -o -type d \) \
+		-printf "../$(PACKAGE_NAME_HEADERS)/%f\n" | \
+		xargs ln -s --target-directory='$(CURDIR)'/$(DIR)
+	
+	cd $(SOURCE_DIR); \
+	find arch/$(KERNEL_ARCH) -mindepth 1 -maxdepth 1 \
+		-type d -a ! -name include -a ! -name kernel -o \
+		-type f -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name "module.lds" \) \
+		-printf "../../../$(PACKAGE_NAME_HEADERS)/%p\n" | \
+		xargs ln -s --target-directory='$(CURDIR)'/$(DIR)/arch/$(KERNEL_ARCH)
+
+	cd $(SOURCE_DIR); \
+	find arch/$(KERNEL_ARCH)/kernel -mindepth 1 -maxdepth 1 \
+		-type f -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name "module.lds" \) \
+		-printf "../../../../$(PACKAGE_NAME_HEADERS)/%p\n" | \
+		xargs ln -s --target-directory='$(CURDIR)'/$(DIR)/arch/$(KERNEL_ARCH)/kernel
+
+	[ -d $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include ] && \
+		cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include $(DIR)/arch/$(KERNEL_ARCH)/include || :
+	cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/kernel/asm-offsets.s $(DIR)/arch/$(KERNEL_ARCH)/kernel || :
+
+ifeq ($(ARCH),powerpc)
+	if [ -f $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o ]; then \
+		mkdir $(DIR)/arch/$(KERNEL_ARCH)/lib; \
+		cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o $(DIR)/arch/$(KERNEL_ARCH)/lib; \
+	fi
+endif
+
+	cd $(SOURCE_DIR); \
+	find include -mindepth 1 -maxdepth 1 \
+		! -name config -a ! -name linux -a ! -name 'asm*' \
+		-printf "../../$(PACKAGE_NAME_HEADERS)/%p\n" | \
+		xargs ln -s --target-directory='$(CURDIR)'/$(DIR)/include
+	cp -a $(SOURCE_DIR)/include/config $(DIR)/include
+	
+	ln -sf asm-$(KERNEL_ARCH) $(DIR)/include/asm
+
+	cd $(SOURCE_DIR); \
+	for dir in linux asm-$(KERNEL_ARCH); do \
+		mkdir '$(CURDIR)'/$(DIR)/include/$$dir; \
+		for file in $$(find include/$$dir -mindepth 1 -maxdepth 1); do \
+			if [ -e '$(CURDIR)'/$(REF_DIR)/$$file ]; then \
+				ln -s --target-directory='$(CURDIR)'/$(DIR)/include/$$dir ../../../$(PACKAGE_NAME_HEADERS)/$$file; \
+			else \
+				ln -f --target-directory='$(CURDIR)'/$(DIR)/include/$$dir '$(CURDIR)'/$(SOURCE_DIR)/$$file; \
+			fi \
+		done \
+	done
+
+	cd $(SOURCE_DIR); \
+	for dir in asm-generic $(foreach t,$(filter-out $(KERNEL_ARCH),$(KERNEL_HEADER_DIRS)),asm-$(t)); do \
+		ln -s --target-directory='$(CURDIR)'/$(DIR)/include ../../$(PACKAGE_NAME_HEADERS)/include/$$dir; \
+	done
+
+	ln -s ../$(PACKAGE_NAME_KBUILD)/scripts $(DIR)
+
+	mkdir -p $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)
+	ln -s /usr/src/$(PACKAGE_NAME) $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/build
+
+	$(MAKE_SELF) install-base
+
+install-libc-dev_$(ARCH): PACKAGE_NAME = linux-libc-dev
+install-libc-dev_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-libc-dev_$(ARCH): SOURCE_DIR = $(BUILD_DIR)/source
+install-libc-dev_$(ARCH): DIR = $(BUILD_DIR)/build-libc-dev
+install-libc-dev_$(ARCH): OUT_DIR = debian/$(PACKAGE_NAME)/usr
+install-libc-dev_$(ARCH):
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	rm -rf '$(DIR)'
+	mkdir $(DIR)
+	$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_check ARCH=$(LIBC_DEV_ARCH)
+	$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_install ARCH=$(LIBC_DEV_ARCH) INSTALL_HDR_PATH='$(CURDIR)'/$(OUT_DIR)
+	# XXX: Needs to be removed from libc6-dev
+	rm -rf $(OUT_DIR)/include/scsi
+	$(MAKE_SELF) install-base
+
+install-support: PACKAGE_NAME = linux-support-$(UPSTREAMVERSION)$(ABINAME)
+install-support: DH_OPTIONS = -p$(PACKAGE_NAME)
+install-support: PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-support: PACKAGE_ROOT = /usr/src/$(PACKAGE_NAME)
+install-support:
+	dh_testdir
+	dh_testroot
+	dh_clean -k -d
+	dh_installdirs $(PACKAGE_ROOT)/lib/python/debian_linux $(PACKAGE_ROOT)/modules
+	cp debian/config.defines.dump $(PACKAGE_DIR)$(PACKAGE_ROOT)
+	cp debian/lib/python/debian_linux/*.py $(PACKAGE_DIR)$(PACKAGE_ROOT)/lib/python/debian_linux
+	cp debian/modules/* $(PACKAGE_DIR)$(PACKAGE_ROOT)/modules
+	chmod a+x $(PACKAGE_DIR)$(PACKAGE_ROOT)/modules/gencontrol.py
+	dh_pycentral /usr/src/$(PACKAGE_NAME)/lib/python
+	$(MAKE_SELF) install-base
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): REAL_VERSION = $(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_NAME = linux-image-$(REAL_VERSION)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): INSTALL_DIR = $(PACKAGE_DIR)/boot
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
+	cd '$(DIR)'; $(kpkg_image) kernel-image
+	cat '$(DIR)/debian/files' >> debian/files
+	@for i in $$(awk '{ print $$1; }' '$(DIR)/debian/files'); do	\
+	  echo "mv \"$(BUILD_DIR)/$$i\" ..";				\
+	  mv "$(BUILD_DIR)/$$i" ..;					\
+	done
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	dh_installdirs 'boot'
+	$(MAKE_SELF) \
+	  install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_image \
+	  DIR='$(DIR)' PACKAGE_DIR='$(PACKAGE_DIR)' INSTALL_DIR='$(INSTALL_DIR)' REAL_VERSION='$(REAL_VERSION)'
+ifeq ($(MODULES),True)
+	$(MAKE_CLEAN) -C $(DIR) modules_install INSTALL_MOD_PATH='$(CURDIR)'/$(PACKAGE_DIR)
+	cp $(DIR)/.config $(PACKAGE_DIR)/boot/config-$(REAL_VERSION)
+	cp $(DIR)/System.map $(PACKAGE_DIR)/boot/System.map-$(REAL_VERSION)
+	rm $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/{build,source,modules.*}
+endif
+	$(MAKE_SELF) \
+	  install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates \
+	  PACKAGE_DIR='$(PACKAGE_DIR)' REAL_VERSION='$(REAL_VERSION)'
+	$(MAKE_SELF) \
+	  install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug \
+	  PACKAGE_DIR='$(PACKAGE_DIR)' PACKAGE_NAME='$(PACKAGE_NAME)' REAL_VERSION='$(REAL_VERSION)'
+	$(MAKE_SELF) install-base
+
+install-image_amd64_$(FEATURESET)_$(FLAVOUR)_plain_image \
+install-image_i386_$(FEATURESET)_$(FLAVOUR)_plain_image:
+	install -m644 '$(DIR)/arch/$(KERNEL_ARCH)/boot/bzImage' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
+
+install-image_m68k_$(FEATURESET)_$(FLAVOUR)_plain_image:
+	install -m644 '$(DIR)/vmlinux.gz' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
+
+install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_image: WRAPPER_INSTALL_DIR = '$(CURDIR)'/$(PACKAGE_DIR)/usr/lib/linux-image-$(REAL_VERSION)
+install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_image:
+	install -m644 '$(DIR)/vmlinux' $(INSTALL_DIR)/vmlinux-$(REAL_VERSION)
+ifeq ($(KERNEL_ARCH),ppc)
+	# TODO: GNA
+	$(MAKE_CLEAN) -C '$(DIR)/arch/ppc/boot' mkvmlinuz_support_install \
+	  INSTALL_MKVMLINUZ='$(WRAPPER_INSTALL_DIR)'
+else
+	$(MAKE_CLEAN) -C '$(DIR)' bootwrapper_install \
+	  WRAPPER_OBJDIR='$(WRAPPER_INSTALL_DIR)' \
+	  WRAPPER_DTSDIR='$(WRAPPER_INSTALL_DIR)'/dts \
+	  WRAPPER_BINDIR='$(WRAPPER_INSTALL_DIR)'
+endif
+
+install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_image:
+	install -m644 '$(DIR)/arch/s390/boot/image' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
+
+ifneq ($(INITRAMFS),False)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_INITRD = YES
+endif
+
+install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_KIMAGE = vmlinux
+
+install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_BOOTLOADER = zipl
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates:
+	install -d $(PACKAGE_DIR)/DEBIAN
+	for i in $(wildcard debian/templates/temp.image.plain/*); do \
+	  sed \
+	    -e 's,=D,/boot,g' \
+	    -e 's/=OF/YES/g' \
+	    -e 's/=ST/linux/g' \
+	    -e 's@=A@$(DEB_HOST_ARCH)@g' \
+	    -e 's@=B@$(KERNEL_ARCH)@g' \
+	    -e 's/=IB//g' \
+	    -e 's/=I/$(ARG_INITRD)/g' \
+	    -e 's/=K/$(ARG_KIMAGE)/g' \
+	    -e 's/=L/$(ARG_BOOTLOADER)/g' \
+	    -e 's@=MK@$(INITRD_CMD)@g' \
+	    -e 's/=V/$(REAL_VERSION)/g' \
+	    -e 's/=M//g' \
+	    -e 's/=MD//g' \
+	    -e 's/=R//g' \
+	    -e 's/=S//g' \
+	    $$i > $(PACKAGE_DIR)/DEBIAN/$$(basename $$i); \
+	done
+	chmod 755 $(PACKAGE_DIR)/DEBIAN/{config,{pre,post}*}
+	chmod 644 $(PACKAGE_DIR)/DEBIAN/templates
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug:
+	dh_installdirs usr/share/bug/$(PACKAGE_NAME)
+	dh_install debian/templates/image.plain.bug/* usr/share/bug/$(PACKAGE_NAME)
+	chmod 755 $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/script
+	echo "RELEASE='$(REAL_VERSION)'" > $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/info
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	dh_installdirs 'boot'
+	install -m644 '$(DIR)/arch/s390/boot/image' $(PACKAGE_DIR)/boot/vmlinuz-$(REAL_VERSION)
+	$(MAKE_SELF) install-base
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: MODULES_PACKAGE_NAME = linux-modules-$(REAL_VERSION)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: MODULES_PACKAGE_DIR = debian/$(MODULES_PACKAGE_NAME)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: DH_OPTIONS =
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	dh_installdirs -p$(PACKAGE_NAME) boot 'var/lib/$(PACKAGE_NAME)'
+	dh_installdirs -p$(MODULES_PACKAGE_NAME) boot
+	cp '$(DIR)'/arch/$(KERNEL_ARCH)/boot/vmlinuz $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
+	$(MAKE_CLEAN) -C $(DIR) modules_install INSTALL_MOD_PATH='$(CURDIR)'/$(MODULES_PACKAGE_DIR)
+	cp $(DIR)/.config $(MODULES_PACKAGE_DIR)/boot/config-$(REAL_VERSION)
+	cp $(DIR)/System.map $(MODULES_PACKAGE_DIR)/boot/System.map-$(REAL_VERSION)
+	rm $(MODULES_PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/{build,source}
+	dh_installmodules -p$(MODULES_PACKAGE_NAME)
+	for i in $(XEN_VERSIONS); do echo $$i; done > $(PACKAGE_DIR)/var/lib/$(PACKAGE_NAME)/xen-versions
+	install -d $(PACKAGE_DIR)/DEBIAN
+	echo /var/lib/$(PACKAGE_NAME)/xen-versions >> $(PACKAGE_DIR)/DEBIAN/conffiles
+	$(MAKE_SELF) install-base DH_OPTIONS='-p$(PACKAGE_NAME) -p$(MODULES_PACKAGE_NAME)'
+
+install-patch: PACKAGE = linux-patch-debian-$(VERSION)
+install-patch: pbase := /usr/src/kernel-patches/all/$(UPSTREAMVERSION)
+install-patch: pfull := debian/$(PACKAGE)$(pbase)
+install-patch: DH_OPTIONS = -p$(PACKAGE)
+install-patch:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k $(DH_OPTIONS)
+	dh_installdirs $(DH_OPTIONS) '$(pbase)/apply' '$(pbase)/debian' '$(pbase)/unpatch'
+	dh_install $(DH_OPTIONS) debian/patches/* '$(pbase)/debian'
+	install debian/bin/patch.apply '$(pfull)/apply/debian'
+	install debian/templates/patch.unpatch '$(pfull)/unpatch/debian'
+	find '$(pfull)/debian' ! -path '*/series/*' -type f -execdir bzip2 '{}' ';' -execdir chmod 644 '{}.bz2' ';'
+	$(MAKE_SELF) install-base DH_OPTIONS='$(DH_OPTIONS)'
+
+install-source: DH_OPTIONS = -plinux-source-$(VERSION)
+install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2
+	dh_testdir
+	dh_testroot
+	dh_install $(DH_OPTIONS) '$<' /usr/src
+	$(MAKE_SELF) install-base DH_OPTIONS='$(DH_OPTIONS)'
+
+install-tree: DH_OPTIONS = -plinux-tree-$(VERSION)
+install-tree:
+	$(MAKE_SELF) install-dummy DH_OPTIONS='$(DH_OPTIONS)'
+
+# vim: filetype=make
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-2-xen-amd64.postinst
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-2-xen-amd64.postinst
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    configure)
+        if [ "$2" ]; then
+            update-initramfs -u -k 2.6.26-2-xen-amd64
+        else
+            update-initramfs -c -t -k 2.6.26-2-xen-amd64
+            command -v update-grub > /dev/null && update-grub
+        fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-2-xen-amd64.postrm
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-2-xen-amd64.postrm
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    remove)
+        command -v update-grub > /dev/null && update-grub
+    ;;
+
+    purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-2-xen-amd64.prerm
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-2-xen-amd64.prerm
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    remove)
+        update-initramfs -d -k 2.6.26-2-xen-amd64 || true
+    ;;
+
+    upgrade|deconfigure|failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-2-xen-686.postinst
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-2-xen-686.postinst
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    configure)
+        if [ "$2" ]; then
+            update-initramfs -u -k 2.6.26-2-xen-686
+        else
+            update-initramfs -c -t -k 2.6.26-2-xen-686
+            command -v update-grub > /dev/null && update-grub
+        fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-2-xen-686.postrm
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-2-xen-686.postrm
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    remove)
+        command -v update-grub > /dev/null && update-grub
+    ;;
+
+    purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-2-xen-686.prerm
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-2-xen-686.prerm
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    remove)
+        update-initramfs -d -k 2.6.26-2-xen-686 || true
+    ;;
+
+    upgrade|deconfigure|failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
--- linux-2.6-2.6.26.orig/debian/control
+++ linux-2.6-2.6.26/debian/control
@@ -0,0 +1,1777 @@
+Source: linux-2.6
+Section: devel
+Priority: optional
+Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
+Uploaders: Bastian Blank <waldi@debian.org>, Frederik Schüler <fs@debian.org>, maximilian attems <maks@debian.org>
+Standards-Version: 3.7.3.0
+Build-Depends: debhelper (>= 4.1.0), module-init-tools, dpkg-dev (>= 1.10.23), sparc-utils [sparc], kernel-package (>= 10.063), python, gcc-4.1 [alpha amd64 arm armel hppa i386 ia64 m68k mips mipsel powerpc s390 sparc], binutils-hppa64 [hppa], gcc-4.1-hppa64 [hppa]
+Build-Depends-Indep: bzip2, findutils (>= 4.2.12), python-central, xmlto
+XS-Python-Version: current
+
+Package: linux-source-2.6.26
+Architecture: all
+Section: devel
+Priority: optional
+Provides: linux-source, linux-source-2.6
+Depends: binutils, bzip2
+Recommends: libc6-dev | libc-dev, gcc, make
+Suggests: libncurses-dev | ncurses-dev, kernel-package, libqt3-mt-dev
+Description: Linux kernel source for version 2.6.26 with Debian patches
+ This package provides source code for the Linux kernel version 2.6.26.
+ This source closely tracks official Linux kernel releases.  Debian's
+ modifications to that source consist of security fixes, bug fixes, and
+ features that have already been (or we believe will be) accepted by the
+ upstream maintainers.
+ .
+ If you wish to use this package to create a custom Linux kernel, then it
+ is suggested that you investigate the package kernel-package, which has
+ been designed to ease the task of creating kernel image packages.
+
+Package: linux-doc-2.6.26
+Architecture: all
+Section: doc
+Priority: optional
+Provides: linux-doc-2.6
+Description: Linux kernel specific documentation for version 2.6.26
+ This package provides the various README files and HTML documentation for
+ the Linux kernel version 2.6.26.  Plenty of information, including the
+ descriptions of various kernel subsystems, filesystems, driver-specific
+ notes and the like.  Consult the file
+ /usr/share/doc/linux-doc-2.6.26/Documentation/00-INDEX for the detailed
+ description of the contents.
+
+Package: linux-manual-2.6.26
+Architecture: all
+Section: doc
+Priority: optional
+Provides: linux-manual, kernel-manual-2.6
+Replaces: linux-manual, kernel-manual-2.6
+Conflicts: linux-manual, kernel-manual-2.6
+Description: Linux kernel API manual pages for version 2.6.26
+ This package provides the Kernel Hacker's Guide in the form of manual
+ pages, describing the kernel API functions.  They are installed into
+ section 9 of the manual.
+ .
+ As the files containing manual pages for different kernel versions are
+ installed in the same location, only one linux-manual package may be
+ installed at a time.  The linux-doc package containing the documentation
+ in other formats is free from such restriction.
+
+Package: linux-patch-debian-2.6.26
+Architecture: all
+Section: devel
+Priority: optional
+Depends: bzip2, linux-support-2.6.26-bpo.2
+Suggests: linux-source-2.6.26
+Description: Debian patches to version 2.6.26 of the Linux kernel
+ This package includes the patches used to produce the prepackaged
+ linux-source-2.6.26 package, as well as architecture-specific patches.
+ .
+ Note that these patches do NOT apply against a pristine Linux 2.6.26
+ kernel but only against the kernel tarball linux-2.6_2.6.26.orig.tar.gz
+ from the Debian archive.
+
+Package: linux-tree-2.6.26
+Architecture: all
+Section: devel
+Priority: optional
+Provides: linux-tree-2.6.26-21-bpo40+1, linux-tree-2.6.26-21, linux-tree-2.6.26-20, linux-tree-2.6.26-19lenny2, linux-tree-2.6.26-19lenny1, linux-tree-2.6.26-19, linux-tree-2.6.26-18, linux-tree-2.6.26-17lenny2, linux-tree-2.6.26-17lenny1, linux-tree-2.6.26-17, linux-tree-2.6.26-16, linux-tree-2.6.26-15lenny3, linux-tree-2.6.26-15lenny2, linux-tree-2.6.26-15lenny1, linux-tree-2.6.26-15, linux-tree-2.6.26-14, linux-tree-2.6.26-13lenny2, linux-tree-2.6.26-13lenny1, linux-tree-2.6.26-13, linux-tree-2.6.26-12, linux-tree-2.6.26-11, linux-tree-2.6.26-10, linux-tree-2.6.26-9, linux-tree-2.6.26-8, linux-tree-2.6.26-7, linux-tree-2.6.26-6, linux-tree-2.6.26-5, linux-tree-2.6.26-4, linux-tree-2.6.26-3, linux-tree-2.6.26-2, linux-tree-2.6.26-1
+Depends: linux-patch-debian-2.6.26 (= 2.6.26-21~bpo40+1), linux-source-2.6.26 (= 2.6.26-21~bpo40+1) | linux-source-2.6.26 (= 2.6.26-21) | linux-source-2.6.26 (= 2.6.26-20) | linux-source-2.6.26 (= 2.6.26-19lenny2) | linux-source-2.6.26 (= 2.6.26-19lenny1) | linux-source-2.6.26 (= 2.6.26-19) | linux-source-2.6.26 (= 2.6.26-18) | linux-source-2.6.26 (= 2.6.26-17lenny2) | linux-source-2.6.26 (= 2.6.26-17lenny1) | linux-source-2.6.26 (= 2.6.26-17) | linux-source-2.6.26 (= 2.6.26-16) | linux-source-2.6.26 (= 2.6.26-15lenny3) | linux-source-2.6.26 (= 2.6.26-15lenny2) | linux-source-2.6.26 (= 2.6.26-15lenny1) | linux-source-2.6.26 (= 2.6.26-15) | linux-source-2.6.26 (= 2.6.26-14) | linux-source-2.6.26 (= 2.6.26-13lenny2) | linux-source-2.6.26 (= 2.6.26-13lenny1) | linux-source-2.6.26 (= 2.6.26-13) | linux-source-2.6.26 (= 2.6.26-12) | linux-source-2.6.26 (= 2.6.26-11) | linux-source-2.6.26 (= 2.6.26-10) | linux-source-2.6.26 (= 2.6.26-9) | linux-source-2.6.26 (= 2.6.26-8) | linux-source-2.6.26 (= 2.6.26-7) | linux-source-2.6.26 (= 2.6.26-6) | linux-source-2.6.26 (= 2.6.26-5) | linux-source-2.6.26 (= 2.6.26-4) | linux-source-2.6.26 (= 2.6.26-3) | linux-source-2.6.26 (= 2.6.26-2) | linux-source-2.6.26 (= 2.6.26-1)
+Description: Linux kernel source tree for building Debian kernel images
+ This meta package is used as a build dependency of Debian linux-image
+ packages to prevent a version discrepancy between the linux-image and
+ corresponding linux-sources packages in the fast-moving unstable archive.
+ The package's dependency relations are structured so that a linux-image
+ package's build dependencies can always be satisfied, even if the
+ linux-source package that had been used to compile the image has been
+ superseeded by a newer Debian revision since the last build.
+ .
+ The package provides a list of virtual packages, corresponding to Debian
+ revisions of a linux-source package.  The Debian linux-patch contains the
+ information needed to roll back the current linux-source to any of the
+ revisions identified by the provided virtual packages.  Therefore, the
+ linux-tree package ensures the availability of the Linux kernel source
+ tree corresponding to each of the virtual packages listed.
+ .
+ The package serves no purpose outside of the Debian build and archive
+ infrastructure.
+
+Package: linux-support-2.6.26-bpo.2
+Architecture: all
+Section: devel
+Priority: optional
+Depends: ${python:Depends}
+Description: Support files for Linux 2.6.26
+ This package provides support files for the Linux kernel build.
+XB-Python-Version: ${python:Versions}
+
+Package: linux-libc-dev
+Architecture: alpha amd64 arm armel hppa i386 ia64 m68k mips mipsel powerpc s390 sparc
+Section: devel
+Priority: optional
+Provides: linux-kernel-headers
+Replaces: linux-kernel-headers
+Conflicts: linux-kernel-headers
+Description: Linux support headers for userspace development
+ This package provides userspaces headers from the Linux kernel.  These
+ headers are used by the installed headers for GNU glibc and other system
+ libraries.
+
+Package: linux-headers-2.6.26-bpo.2-all
+Architecture: alpha amd64 arm armel hppa i386 ia64 m68k mips mipsel powerpc s390 sparc
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-all-${kernel:Arch} (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-headers-2.6.26-bpo.2-all-alpha
+Architecture: alpha
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-alpha-generic (= ${binary:Version}), linux-headers-2.6.26-bpo.2-alpha-smp (= ${binary:Version}), linux-headers-2.6.26-bpo.2-alpha-legacy (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-headers-2.6.26-bpo.2-common
+Architecture: alpha amd64 arm armel hppa i386 ia64 m68k mips mipsel powerpc s390 sparc
+Section: devel
+Priority: optional
+Description: Common header files for Linux 2.6.26-bpo.2
+ This package provides the architecture-specific common kernel header files
+ for Linux kernel version 2.6.26-bpo.2,  generally used for building
+ out-of-tree kernel modules.  To obtain a complete set of headers you also
+ need to install the linux-headers-2.6.26-bpo.2-(flavour)  package,
+ matching the flavour of the kernel you intend the build for.
+
+Package: linux-image-2.6.26-bpo.2-alpha-generic
+Architecture: alpha
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-alpha-generic
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, aboot, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Alpha
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Alpha machines.
+
+Package: linux-headers-2.6.26-bpo.2-alpha-generic
+Architecture: alpha
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-alpha-generic
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-alpha-generic,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-alpha-generic,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-alpha-generic  package.
+
+Package: linux-image-2.6.26-bpo.2-alpha-smp
+Architecture: alpha
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-alpha-smp
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, aboot, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Alpha SMP
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Alpha SMP machines.
+
+Package: linux-headers-2.6.26-bpo.2-alpha-smp
+Architecture: alpha
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-alpha-smp
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-alpha-smp,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-alpha-smp,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-alpha-smp  package.
+
+Package: linux-image-2.6.26-bpo.2-alpha-legacy
+Architecture: alpha
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-alpha-legacy
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, aboot, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Alpha Legacy
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Alpha Legacy machines.
+
+Package: linux-headers-2.6.26-bpo.2-alpha-legacy
+Architecture: alpha
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-alpha-legacy
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-alpha-legacy,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-alpha-legacy,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-alpha-legacy  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-amd64
+Architecture: amd64
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-amd64 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-openvz-amd64 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-amd64 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-xen-amd64 (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-amd64
+Architecture: amd64 i386
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-amd64
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on AMD64
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on all 64bit single- and multiprocessor AMD and Intel
+ machines.
+
+Package: linux-headers-2.6.26-bpo.2-amd64
+Architecture: amd64 i386
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-amd64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-amd64,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-amd64,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-amd64  package.
+
+Package: linux-headers-2.6.26-bpo.2-common-openvz
+Architecture: amd64 i386
+Section: devel
+Priority: optional
+Description: Common header files for Linux 2.6.26-bpo.2-openvz
+ This package provides the architecture-specific common kernel header files
+ for Linux kernel version 2.6.26-bpo.2-openvz,  generally used for building
+ out-of-tree kernel modules.  To obtain a complete set of headers you also
+ need to install the linux-headers-2.6.26-bpo.2-(flavour)  package,
+ matching the flavour of the kernel you intend the build for.
+
+Package: linux-image-2.6.26-bpo.2-openvz-amd64
+Architecture: amd64
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-openvz-amd64
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, vzctl, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on AMD64, OpenVZ support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on all 64bit single- and multiprocessor AMD and Intel
+ machines.
+ .
+ This kernel includes support for OpenVZ container-based virtualization.
+
+Package: linux-headers-2.6.26-bpo.2-openvz-amd64
+Architecture: amd64
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-openvz (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-openvz-amd64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-openvz-amd64,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-openvz-amd64,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-openvz-amd64  package.
+
+Package: linux-headers-2.6.26-bpo.2-common-vserver
+Architecture: amd64 i386 ia64 powerpc s390 sparc
+Section: devel
+Priority: optional
+Description: Common header files for Linux 2.6.26-bpo.2-vserver
+ This package provides the architecture-specific common kernel header files
+ for Linux kernel version 2.6.26-bpo.2-vserver,  generally used for
+ building out-of-tree kernel modules.  To obtain a complete set of headers
+ you also need to install the linux-headers-2.6.26-bpo.2-(flavour)
+ package, matching the flavour of the kernel you intend the build for.
+
+Package: linux-image-2.6.26-bpo.2-vserver-amd64
+Architecture: amd64
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-amd64
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: util-vserver
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on AMD64, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on all 64bit single- and multiprocessor AMD and Intel
+ machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-amd64
+Architecture: amd64
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-amd64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-amd64,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-amd64,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-amd64  package.
+
+Package: linux-headers-2.6.26-bpo.2-common-xen
+Architecture: amd64 i386
+Section: devel
+Priority: optional
+Description: Common header files for Linux 2.6.26-bpo.2-xen
+ This package provides the architecture-specific common kernel header files
+ for Linux kernel version 2.6.26-bpo.2-xen,  generally used for building
+ out-of-tree kernel modules.  To obtain a complete set of headers you also
+ need to install the linux-headers-2.6.26-bpo.2-(flavour)  package,
+ matching the flavour of the kernel you intend the build for.
+
+Package: linux-image-2.6.26-bpo.2-xen-amd64
+Architecture: amd64
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6
+Depends: linux-modules-2.6.26-bpo.2-xen-amd64 (= ${binary:Version}), initramfs-tools (>= 0.55)
+Suggests: linux-doc-2.6.26, grub
+Conflicts: initramfs-tools (<< 0.55)
+Description: Linux 2.6.26 image on AMD64, oldstyle Xen support
+ This package provides the binary image for Linux kernel 2.6.26 on all
+ 64bit single- and multiprocessor AMD and Intel machines.
+ .
+ This kernel only runs on a Xen hypervisor.  It supports both priviledged
+ (dom0) and unpriviledged (domU) operation.
+
+Package: linux-modules-2.6.26-bpo.2-xen-amd64
+Architecture: amd64
+Section: admin
+Priority: optional
+Depends: module-init-tools
+Description: Linux 2.6.26 modules on AMD64
+ This package provides pre-built loadable modules for Linux kernel 2.6.26
+ on all 64bit single- and multiprocessor AMD and Intel machines.
+
+Package: linux-headers-2.6.26-bpo.2-xen-amd64
+Architecture: amd64
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-xen (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-xen-amd64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-xen-amd64,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-xen-amd64,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-xen-amd64  package.
+
+Package: xen-linux-system-2.6.26-bpo.2-xen-amd64
+Architecture: amd64
+Section: admin
+Priority: extra
+Depends: linux-image-2.6.26-bpo.2-xen-amd64 (= ${binary:Version}), xen-hypervisor-3.2-1-amd64
+Description: XEN system with Linux 2.6.26 image on AMD64
+ This package depends on the binary Linux image and hypervisors.
+
+Package: linux-headers-2.6.26-bpo.2-all-arm
+Architecture: arm
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-footbridge (= ${binary:Version}), linux-headers-2.6.26-bpo.2-iop32x (= ${binary:Version}), linux-headers-2.6.26-bpo.2-ixp4xx (= ${binary:Version}), linux-headers-2.6.26-bpo.2-orion5x (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-footbridge
+Architecture: arm
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-footbridge
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, nwutil
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Footbridge
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Footbridge based (CATS, Netwinder) machines.
+
+Package: linux-headers-2.6.26-bpo.2-footbridge
+Architecture: arm
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-footbridge
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-footbridge,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-footbridge,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-footbridge  package.
+
+Package: linux-image-2.6.26-bpo.2-iop32x
+Architecture: arm armel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-iop32x
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on IOP32x
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on IOP32x based (Thecus N2100, etc) machines.
+
+Package: linux-headers-2.6.26-bpo.2-iop32x
+Architecture: arm armel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-iop32x
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-iop32x,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-iop32x,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-iop32x  package.
+
+Package: linux-image-2.6.26-bpo.2-ixp4xx
+Architecture: arm armel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-ixp4xx
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on IXP4xx
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on IXP4xx based (Linksys NSLU2, etc) machines.
+
+Package: linux-headers-2.6.26-bpo.2-ixp4xx
+Architecture: arm armel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-ixp4xx
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-ixp4xx,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-ixp4xx,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-ixp4xx  package.
+
+Package: linux-image-2.6.26-bpo.2-orion5x
+Architecture: arm armel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-orion5x
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: uboot-mkimage
+Suggests: linux-doc-2.6.26, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Orion
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Orion 5181, 5182 and 5281 based (QNAP
+ TS-109/TS-209, etc) machines.
+
+Package: linux-headers-2.6.26-bpo.2-orion5x
+Architecture: arm armel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-orion5x
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-orion5x,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-orion5x,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-orion5x  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-armel
+Architecture: armel
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-iop32x (= ${binary:Version}), linux-headers-2.6.26-bpo.2-ixp4xx (= ${binary:Version}), linux-headers-2.6.26-bpo.2-orion5x (= ${binary:Version}), linux-headers-2.6.26-bpo.2-versatile (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-versatile
+Architecture: armel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-versatile
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Versatile
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Versatile (PB, AB, Qemu) machines.
+
+Package: linux-headers-2.6.26-bpo.2-versatile
+Architecture: armel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-versatile
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-versatile,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-versatile,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-versatile  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-hppa
+Architecture: hppa
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-parisc (= ${binary:Version}), linux-headers-2.6.26-bpo.2-parisc-smp (= ${binary:Version}), linux-headers-2.6.26-bpo.2-parisc64 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-parisc64-smp (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-parisc
+Architecture: hppa
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-parisc
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, palo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on 32-bit PA-RISC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on 32-bit PA-RISC machines.
+
+Package: linux-headers-2.6.26-bpo.2-parisc
+Architecture: hppa
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1, binutils-hppa64, gcc-4.1-hppa64
+Description: Header files for Linux 2.6.26-bpo.2-parisc
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-parisc,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-parisc,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-parisc  package.
+
+Package: linux-image-2.6.26-bpo.2-parisc-smp
+Architecture: hppa
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-parisc-smp
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, palo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on multiprocessor 32-bit PA-RISC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on multiprocessor 32-bit PA-RISC machines.
+
+Package: linux-headers-2.6.26-bpo.2-parisc-smp
+Architecture: hppa
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1, binutils-hppa64, gcc-4.1-hppa64
+Description: Header files for Linux 2.6.26-bpo.2-parisc-smp
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-parisc-smp,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-parisc-smp,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-parisc-smp  package.
+
+Package: linux-image-2.6.26-bpo.2-parisc64
+Architecture: hppa
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-parisc64
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, palo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on 64-bit PA-RISC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on 64-bit PA-RISC machines.
+
+Package: linux-headers-2.6.26-bpo.2-parisc64
+Architecture: hppa
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1, binutils-hppa64, gcc-4.1-hppa64
+Description: Header files for Linux 2.6.26-bpo.2-parisc64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-parisc64,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-parisc64,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-parisc64  package.
+
+Package: linux-image-2.6.26-bpo.2-parisc64-smp
+Architecture: hppa
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-parisc64-smp
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, palo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on multiprocessor 64-bit PA-RISC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on multiprocessor 64-bit PA-RISC machines.
+
+Package: linux-headers-2.6.26-bpo.2-parisc64-smp
+Architecture: hppa
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1, binutils-hppa64, gcc-4.1-hppa64
+Description: Header files for Linux 2.6.26-bpo.2-parisc64-smp
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-parisc64-smp,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-parisc64-smp,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-parisc64-smp  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-i386
+Architecture: i386
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-486 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-686 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-686-bigmem (= ${binary:Version}), linux-headers-2.6.26-bpo.2-amd64 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-openvz-686 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-686 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-686-bigmem (= ${binary:Version}), linux-headers-2.6.26-bpo.2-xen-686 (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-486
+Architecture: i386
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-486
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on x86
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on x86 and compatible machines.
+
+Package: linux-headers-2.6.26-bpo.2-486
+Architecture: i386
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-486
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-486,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-486,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-486  package.
+
+Package: linux-image-2.6.26-bpo.2-686
+Architecture: i386
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-686
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: libc6-i686
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Pentium Pro/Celeron/Pentium II/Pentium III/Pentium
+ 4 machines.
+
+Package: linux-headers-2.6.26-bpo.2-686
+Architecture: i386
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-686
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-686,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-686,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-686  package.
+
+Package: linux-image-2.6.26-bpo.2-686-bigmem
+Architecture: i386
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-686-bigmem
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: libc6-i686
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Pentium Pro/Celeron/Pentium II/Pentium III/Pentium
+ 4 with 4-64G RAM machines.
+ .
+ This kernel also runs on a Xen hypervisor.  It supports only unpriviledged
+ (domU) operation.
+
+Package: linux-headers-2.6.26-bpo.2-686-bigmem
+Architecture: i386
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-686-bigmem
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-686-bigmem,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-686-bigmem,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-686-bigmem  package.
+
+Package: linux-image-2.6.26-bpo.2-openvz-686
+Architecture: i386
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-openvz-686
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, vzctl, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: libc6-i686
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, OpenVZ support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Pentium Pro/Celeron/Pentium II/Pentium III/Pentium
+ 4 machines.
+ .
+ This kernel includes support for OpenVZ container-based virtualization.
+ .
+ This kernel also runs on a Xen hypervisor.  It supports only unpriviledged
+ (domU) operation.
+
+Package: linux-headers-2.6.26-bpo.2-openvz-686
+Architecture: i386
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-openvz (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-openvz-686
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-openvz-686,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-openvz-686,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-openvz-686  package.
+
+Package: linux-image-2.6.26-bpo.2-vserver-686
+Architecture: i386
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-686
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: libc6-i686
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Pentium Pro/Celeron/Pentium II/Pentium III/Pentium
+ 4 machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-686
+Architecture: i386
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-686
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-686,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-686,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-686  package.
+
+Package: linux-image-2.6.26-bpo.2-vserver-686-bigmem
+Architecture: i386
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-686-bigmem
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: libc6-i686
+Suggests: linux-doc-2.6.26, grub | lilo
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Pentium Pro/Celeron/Pentium II/Pentium III/Pentium
+ 4 with 4-64G RAM machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+ .
+ This kernel also runs on a Xen hypervisor.  It supports only unpriviledged
+ (domU) operation.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-686-bigmem
+Architecture: i386
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-686-bigmem
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-686-bigmem,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-686-bigmem,  and can be used
+ for building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-686-bigmem  package.
+
+Package: linux-image-2.6.26-bpo.2-xen-686
+Architecture: i386
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6
+Depends: linux-modules-2.6.26-bpo.2-xen-686 (= ${binary:Version}), initramfs-tools (>= 0.55)
+Recommends: libc6-xen
+Suggests: linux-doc-2.6.26, grub
+Conflicts: initramfs-tools (<< 0.55)
+Description: Linux 2.6.26 image on i686, oldstyle Xen support
+ This package provides the binary image for Linux kernel 2.6.26 on i686 and
+ compatible machines.
+ .
+ This kernel only runs on a Xen hypervisor.  It supports both priviledged
+ (dom0) and unpriviledged (domU) operation.
+
+Package: linux-modules-2.6.26-bpo.2-xen-686
+Architecture: i386
+Section: admin
+Priority: optional
+Depends: module-init-tools
+Description: Linux 2.6.26 modules on i686
+ This package provides pre-built loadable modules for Linux kernel 2.6.26
+ on i686 and compatible machines.
+
+Package: linux-headers-2.6.26-bpo.2-xen-686
+Architecture: i386
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-xen (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-xen-686
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-xen-686,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-xen-686,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-xen-686  package.
+
+Package: xen-linux-system-2.6.26-bpo.2-xen-686
+Architecture: i386
+Section: admin
+Priority: extra
+Depends: linux-image-2.6.26-bpo.2-xen-686 (= ${binary:Version}), xen-hypervisor-3.2-1-i386 | xen-hypervisor-3.2-1-amd64
+Description: XEN system with Linux 2.6.26 image on i686
+ This package depends on the binary Linux image and hypervisors.
+
+Package: linux-headers-2.6.26-bpo.2-all-ia64
+Architecture: ia64
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-itanium (= ${binary:Version}), linux-headers-2.6.26-bpo.2-mckinley (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-itanium (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-mckinley (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-itanium
+Architecture: ia64
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-itanium
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, elilo, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Itanium
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Itanium machines.
+
+Package: linux-headers-2.6.26-bpo.2-itanium
+Architecture: ia64
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-itanium
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-itanium,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-itanium,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-itanium  package.
+
+Package: linux-image-2.6.26-bpo.2-mckinley
+Architecture: ia64
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-mckinley
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, elilo, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Itanium II
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Itanium II machines.
+
+Package: linux-headers-2.6.26-bpo.2-mckinley
+Architecture: ia64
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-mckinley
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-mckinley,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-mckinley,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-mckinley  package.
+
+Package: linux-image-2.6.26-bpo.2-vserver-itanium
+Architecture: ia64
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-itanium
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: util-vserver
+Suggests: linux-doc-2.6.26, elilo, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Itanium, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Itanium machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-itanium
+Architecture: ia64
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-itanium
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-itanium,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-itanium,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-itanium  package.
+
+Package: linux-image-2.6.26-bpo.2-vserver-mckinley
+Architecture: ia64
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-mckinley
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: util-vserver
+Suggests: linux-doc-2.6.26, elilo, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on Itanium II, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Itanium II machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-mckinley
+Architecture: ia64
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-mckinley
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-mckinley,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-mckinley,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-mckinley  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-m68k
+Architecture: m68k
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-amiga (= ${binary:Version}), linux-headers-2.6.26-bpo.2-atari (= ${binary:Version}), linux-headers-2.6.26-bpo.2-bvme6000 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-mac (= ${binary:Version}), linux-headers-2.6.26-bpo.2-mvme147 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-mvme16x (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-amiga
+Architecture: m68k
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-amiga
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26, vmelilo, fdutils
+Description: Linux 2.6.26 image on Amiga
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Amiga machines.
+
+Package: linux-headers-2.6.26-bpo.2-amiga
+Architecture: m68k
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-amiga
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-amiga,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-amiga,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-amiga  package.
+
+Package: linux-image-2.6.26-bpo.2-atari
+Architecture: m68k
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-atari
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26, vmelilo, fdutils
+Description: Linux 2.6.26 image on Atari
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Atari machines.
+
+Package: linux-headers-2.6.26-bpo.2-atari
+Architecture: m68k
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-atari
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-atari,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-atari,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-atari  package.
+
+Package: linux-image-2.6.26-bpo.2-bvme6000
+Architecture: m68k
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-bvme6000
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26, vmelilo, fdutils
+Description: Linux 2.6.26 image on BVM BVME4000 and BVME6000
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on BVM BVME4000 and BVME6000 machines.
+
+Package: linux-headers-2.6.26-bpo.2-bvme6000
+Architecture: m68k
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-bvme6000
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-bvme6000,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-bvme6000,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-bvme6000  package.
+
+Package: linux-image-2.6.26-bpo.2-mac
+Architecture: m68k
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-mac
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26, vmelilo, fdutils
+Description: Linux 2.6.26 image on Macintosh
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Macintosh machines.
+
+Package: linux-headers-2.6.26-bpo.2-mac
+Architecture: m68k
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-mac
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-mac,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-mac,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-mac  package.
+
+Package: linux-image-2.6.26-bpo.2-mvme147
+Architecture: m68k
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-mvme147
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26, vmelilo, fdutils
+Description: Linux 2.6.26 image on Motorola MVME147
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Motorola MVME147 machines.
+
+Package: linux-headers-2.6.26-bpo.2-mvme147
+Architecture: m68k
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-mvme147
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-mvme147,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-mvme147,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-mvme147  package.
+
+Package: linux-image-2.6.26-bpo.2-mvme16x
+Architecture: m68k
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-mvme16x
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26, vmelilo, fdutils
+Description: Linux 2.6.26 image on Motorola MVME162/6/7, MVME172/7
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Motorola MVME162/6/7, MVME172/7 machines.
+
+Package: linux-headers-2.6.26-bpo.2-mvme16x
+Architecture: m68k
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-mvme16x
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-mvme16x,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-mvme16x,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-mvme16x  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-mips
+Architecture: mips
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-r4k-ip22 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-r5k-ip32 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-sb1-bcm91250a (= ${binary:Version}), linux-headers-2.6.26-bpo.2-sb1a-bcm91480b (= ${binary:Version}), linux-headers-2.6.26-bpo.2-4kc-malta (= ${binary:Version}), linux-headers-2.6.26-bpo.2-5kc-malta (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-r4k-ip22
+Architecture: mips
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-r4k-ip22
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26
+Description: Linux 2.6.26 image on SGI IP22
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on SGI IP22 (Indy, Indigo2) machines.
+
+Package: linux-headers-2.6.26-bpo.2-r4k-ip22
+Architecture: mips
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-r4k-ip22
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-r4k-ip22,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-r4k-ip22,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-r4k-ip22  package.
+
+Package: linux-image-2.6.26-bpo.2-r5k-ip32
+Architecture: mips
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-r5k-ip32
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26
+Description: Linux 2.6.26 image on SGI IP32
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on SGI IP32 (O2) machines.
+
+Package: linux-headers-2.6.26-bpo.2-r5k-ip32
+Architecture: mips
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-r5k-ip32
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-r5k-ip32,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-r5k-ip32,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-r5k-ip32  package.
+
+Package: linux-image-2.6.26-bpo.2-sb1-bcm91250a
+Architecture: mips mipsel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-sb1-bcm91250a
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26
+Description: Linux 2.6.26 image on BCM91250A
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Broadcom BCM91250A (aka SWARM) machines.
+
+Package: linux-headers-2.6.26-bpo.2-sb1-bcm91250a
+Architecture: mips mipsel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-sb1-bcm91250a
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-sb1-bcm91250a,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-sb1-bcm91250a,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-sb1-bcm91250a  package.
+
+Package: linux-image-2.6.26-bpo.2-sb1a-bcm91480b
+Architecture: mips mipsel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-sb1a-bcm91480b
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26
+Description: Linux 2.6.26 image on BCM91480B
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Broadcom BCM91480B (aka BigSur) machines.
+
+Package: linux-headers-2.6.26-bpo.2-sb1a-bcm91480b
+Architecture: mips mipsel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-sb1a-bcm91480b
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-sb1a-bcm91480b,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-sb1a-bcm91480b,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-sb1a-bcm91480b  package.
+
+Package: linux-image-2.6.26-bpo.2-4kc-malta
+Architecture: mips mipsel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-4kc-malta
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26
+Description: Linux 2.6.26 image on MIPS Malta
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on MIPS Malta board machines.
+
+Package: linux-headers-2.6.26-bpo.2-4kc-malta
+Architecture: mips mipsel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-4kc-malta
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-4kc-malta,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-4kc-malta,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-4kc-malta  package.
+
+Package: linux-image-2.6.26-bpo.2-5kc-malta
+Architecture: mips mipsel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-5kc-malta
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26
+Description: Linux 2.6.26 image on MIPS Malta (64-bit)
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on MIPS Malta board (64-bit) machines.
+
+Package: linux-headers-2.6.26-bpo.2-5kc-malta
+Architecture: mips mipsel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-5kc-malta
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-5kc-malta,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-5kc-malta,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-5kc-malta  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-mipsel
+Architecture: mipsel
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-r5k-cobalt (= ${binary:Version}), linux-headers-2.6.26-bpo.2-sb1-bcm91250a (= ${binary:Version}), linux-headers-2.6.26-bpo.2-sb1a-bcm91480b (= ${binary:Version}), linux-headers-2.6.26-bpo.2-4kc-malta (= ${binary:Version}), linux-headers-2.6.26-bpo.2-5kc-malta (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-r5k-cobalt
+Architecture: mipsel
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-r5k-cobalt
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools
+Suggests: linux-doc-2.6.26
+Description: Linux 2.6.26 image on Cobalt
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on Cobalt (Qube, RaQ, Qube2, RaQ2) machines.
+
+Package: linux-headers-2.6.26-bpo.2-r5k-cobalt
+Architecture: mipsel
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-r5k-cobalt
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-r5k-cobalt,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-r5k-cobalt,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-r5k-cobalt  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-powerpc
+Architecture: powerpc
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-powerpc (= ${binary:Version}), linux-headers-2.6.26-bpo.2-powerpc-smp (= ${binary:Version}), linux-headers-2.6.26-bpo.2-powerpc64 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-powerpc (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-powerpc64 (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-powerpc
+Architecture: powerpc
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-powerpc
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, mkvmlinuz
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on uniprocessor 32-bit PowerPC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on uniprocessor 32-bit PowerPC machines.
+
+Package: linux-headers-2.6.26-bpo.2-powerpc
+Architecture: powerpc
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-powerpc
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-powerpc,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-powerpc,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-powerpc  package.
+
+Package: linux-image-2.6.26-bpo.2-powerpc-smp
+Architecture: powerpc
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-powerpc-smp
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, mkvmlinuz
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on multiprocessor 32-bit PowerPC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on multiprocessor 32-bit PowerPC machines.
+
+Package: linux-headers-2.6.26-bpo.2-powerpc-smp
+Architecture: powerpc
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-powerpc-smp
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-powerpc-smp,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-powerpc-smp,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-powerpc-smp  package.
+
+Package: linux-image-2.6.26-bpo.2-powerpc64
+Architecture: powerpc
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-powerpc64
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, mkvmlinuz
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on 64-bit PowerPC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on 64-bit PowerPC machines.
+
+Package: linux-headers-2.6.26-bpo.2-powerpc64
+Architecture: powerpc
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-powerpc64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-powerpc64,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-powerpc64,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-powerpc64  package.
+
+Package: linux-image-2.6.26-bpo.2-vserver-powerpc
+Architecture: powerpc
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-powerpc
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: util-vserver
+Suggests: linux-doc-2.6.26, mkvmlinuz
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on uniprocessor 32-bit PowerPC, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on uniprocessor 32-bit PowerPC machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-powerpc
+Architecture: powerpc
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-powerpc
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-powerpc,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-powerpc,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-powerpc  package.
+
+Package: linux-image-2.6.26-bpo.2-vserver-powerpc64
+Architecture: powerpc
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-powerpc64
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: util-vserver
+Suggests: linux-doc-2.6.26, mkvmlinuz
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on 64-bit PowerPC, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on 64-bit PowerPC machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-powerpc64
+Architecture: powerpc
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-powerpc64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-powerpc64,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-powerpc64,  and can be used
+ for building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-powerpc64  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-s390
+Architecture: s390
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-s390 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-s390x (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-s390x (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-s390
+Architecture: s390
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-s390
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, s390-tools
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on IBM S/390
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on IBM S/390 machines.
+ .
+ This kernel has support to IPL (boot) from a VM reader or DASD device.
+
+Package: linux-headers-2.6.26-bpo.2-s390
+Architecture: s390
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-s390
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-s390,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-s390,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-s390  package.
+
+Package: linux-image-2.6.26-bpo.2-s390-tape
+Architecture: s390
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6
+Suggests: linux-doc-2.6.26, s390-tools
+Description: Linux 2.6.26 image on IBM S/390, IPL from tape
+ This package provides the binary image for Linux kernel 2.6.26 on IBM
+ S/390 machines.
+ .
+ This kernel has support to IPL (boot) from a tape.
+
+Package: linux-image-2.6.26-bpo.2-s390x
+Architecture: s390
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-s390x
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, s390-tools
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on IBM zSeries
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on IBM zSeries machines.
+ .
+ This kernel has support to IPL (boot) from a VM reader or DASD device.
+
+Package: linux-headers-2.6.26-bpo.2-s390x
+Architecture: s390
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-s390x
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-s390x,  generally used for building out-of-tree
+ kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-s390x,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-s390x  package.
+
+Package: linux-image-2.6.26-bpo.2-vserver-s390x
+Architecture: s390
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-s390x
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: util-vserver
+Suggests: linux-doc-2.6.26, s390-tools
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on IBM zSeries, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on IBM zSeries machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+ .
+ This kernel has support to IPL (boot) from a VM reader or DASD device.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-s390x
+Architecture: s390
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-s390x
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-s390x,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-s390x,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-s390x  package.
+
+Package: linux-headers-2.6.26-bpo.2-all-sparc
+Architecture: sparc
+Section: devel
+Priority: optional
+Depends: linux-headers-2.6.26-bpo.2-sparc64 (= ${binary:Version}), linux-headers-2.6.26-bpo.2-sparc64-smp (= ${binary:Version}), linux-headers-2.6.26-bpo.2-vserver-sparc64 (= ${binary:Version})
+Description: All header files for Linux 2.6.26
+ This package depends against all architecture-specific kernel header files
+ for Linux kernel version 2.6.26, generally used for building out-of-tree
+ kernel modules.
+
+Package: linux-image-2.6.26-bpo.2-sparc64
+Architecture: sparc
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-sparc64
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, silo, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on uniprocessor 64-bit UltraSPARC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on uniprocessor 64-bit UltraSPARC machines.
+
+Package: linux-headers-2.6.26-bpo.2-sparc64
+Architecture: sparc
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-sparc64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-sparc64,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-sparc64,  and can be used for building
+ modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-sparc64  package.
+
+Package: linux-image-2.6.26-bpo.2-sparc64-smp
+Architecture: sparc
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-sparc64-smp
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Suggests: linux-doc-2.6.26, silo, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on multiprocessor 64-bit UltraSPARC
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on multiprocessor 64-bit UltraSPARC machines.
+
+Package: linux-headers-2.6.26-bpo.2-sparc64-smp
+Architecture: sparc
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-sparc64-smp
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-sparc64-smp,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-sparc64-smp,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-sparc64-smp  package.
+
+Package: linux-image-2.6.26-bpo.2-vserver-sparc64
+Architecture: sparc
+Section: admin
+Priority: optional
+Provides: linux-image, linux-image-2.6, linux-modules-2.6.26-bpo.2-vserver-sparc64
+Pre-Depends: debconf | debconf-2.0
+Depends: module-init-tools, initramfs-tools (>= 0.55) | yaird (>= 0.0.13) | linux-initramfs-tool
+Recommends: util-vserver, libc6-sparc64
+Suggests: linux-doc-2.6.26, silo, fdutils
+Conflicts: initramfs-tools (<< 0.55), yaird (<< 0.0.13)
+Description: Linux 2.6.26 image on uniprocessor 64-bit UltraSPARC, Linux-VServer support
+ This package provides the binary image and pre-built loadable modules for
+ Linux kernel 2.6.26 on uniprocessor 64-bit UltraSPARC machines.
+ .
+ This kernel includes support for Linux-VServer virtualization.
+
+Package: linux-headers-2.6.26-bpo.2-vserver-sparc64
+Architecture: sparc
+Section: devel
+Priority: optional
+Provides: linux-headers, linux-headers-2.6
+Depends: linux-headers-2.6.26-bpo.2-common-vserver (= ${binary:Version}), linux-kbuild-2.6.26, gcc-4.1
+Description: Header files for Linux 2.6.26-bpo.2-vserver-sparc64
+ This package provides the architecture-specific kernel header files for
+ Linux kernel 2.6.26-bpo.2-vserver-sparc64,  generally used for building
+ out-of-tree kernel modules.  These files are going to be installed into
+ /usr/src/linux-headers-2.6.26-bpo.2-vserver-sparc64,  and can be used for
+ building modules that load into the kernel provided by the
+ linux-image-2.6.26-bpo.2-vserver-sparc64  package.
+
--- linux-2.6-2.6.26.orig/debian/rules.gen
+++ linux-2.6-2.6.26/debian/rules.gen
@@ -0,0 +1,1029 @@
+.NOTPARALLEL:
+binary-arch: binary-arch_alpha binary-arch_amd64 binary-arch_arm binary-arch_armel binary-arch_hppa binary-arch_i386 binary-arch_ia64 binary-arch_m68k binary-arch_mips binary-arch_mipsel binary-arch_powerpc binary-arch_s390 binary-arch_sparc
+binary-arch_alpha: binary-arch_alpha_none binary-arch_alpha_real
+binary-arch_alpha_none: binary-arch_alpha_none_alpha-generic binary-arch_alpha_none_alpha-legacy binary-arch_alpha_none_alpha-smp binary-arch_alpha_none_real
+binary-arch_alpha_none_alpha-generic: binary-arch_alpha_none_alpha-generic_real
+binary-arch_alpha_none_alpha-generic_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-generic' FLAVOUR='alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-generic' ARCH='alpha' COMPILER='gcc-4.1'
+binary-arch_alpha_none_alpha-legacy: binary-arch_alpha_none_alpha-legacy_real
+binary-arch_alpha_none_alpha-legacy_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-legacy' FLAVOUR='alpha-legacy' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-legacy' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-legacy' ARCH='alpha' COMPILER='gcc-4.1'
+binary-arch_alpha_none_alpha-smp: binary-arch_alpha_none_alpha-smp_real
+binary-arch_alpha_none_alpha-smp_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-smp' FLAVOUR='alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-smp' ARCH='alpha' COMPILER='gcc-4.1'
+binary-arch_alpha_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='alpha' LIBC_DEV_ARCH='alpha'
+binary-arch_alpha_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='alpha'
+binary-arch_amd64: binary-arch_amd64_none binary-arch_amd64_openvz binary-arch_amd64_real binary-arch_amd64_vserver binary-arch_amd64_xen
+binary-arch_amd64_none: binary-arch_amd64_none_amd64 binary-arch_amd64_none_real
+binary-arch_amd64_none_amd64: binary-arch_amd64_none_amd64_real
+binary-arch_amd64_none_amd64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+binary-arch_amd64_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='amd64' LIBC_DEV_ARCH='x86'
+binary-arch_amd64_openvz: binary-arch_amd64_openvz_amd64 binary-arch_amd64_openvz_real
+binary-arch_amd64_openvz_amd64: binary-arch_amd64_openvz_amd64_real
+binary-arch_amd64_openvz_amd64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-openvz-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-openvz/config' LOCALVERSION_HEADERS='-openvz' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='openvz' TYPE='plain' LOCALVERSION='-openvz-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+binary-arch_amd64_openvz_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-openvz' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='openvz' ARCH='amd64' LIBC_DEV_ARCH='x86'
+binary-arch_amd64_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='amd64'
+binary-arch_amd64_vserver: binary-arch_amd64_vserver_amd64 binary-arch_amd64_vserver_real
+binary-arch_amd64_vserver_amd64: binary-arch_amd64_vserver_amd64_real
+binary-arch_amd64_vserver_amd64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+binary-arch_amd64_vserver_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='amd64' LIBC_DEV_ARCH='x86'
+binary-arch_amd64_xen: binary-arch_amd64_xen_amd64 binary-arch_amd64_xen_real
+binary-arch_amd64_xen_amd64: binary-arch_amd64_xen_amd64_real
+binary-arch_amd64_xen_amd64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-xen-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-xen/config debian/config/amd64/xen/config' LOCALVERSION_HEADERS='-xen' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' XEN_VERSIONS='3.2-1-amd64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg' FEATURESET='xen' TYPE='plain-xen' LOCALVERSION='-xen-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+	$(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-linux-system-2.6.26-bpo.2-xen-amd64' MAJOR='2.6' LOCALVERSION_IMAGE='-xen-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-xen/config debian/config/amd64/xen/config' LOCALVERSION_HEADERS='-xen' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' XEN_VERSIONS='3.2-1-amd64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg' FEATURESET='xen' TYPE='plain-xen' LOCALVERSION='-xen-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+binary-arch_amd64_xen_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-xen' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='xen' ARCH='amd64' LIBC_DEV_ARCH='x86'
+binary-arch_arm: binary-arch_arm_none binary-arch_arm_real
+binary-arch_arm_none: binary-arch_arm_none_footbridge binary-arch_arm_none_iop32x binary-arch_arm_none_ixp4xx binary-arch_arm_none_orion5x binary-arch_arm_none_real
+binary-arch_arm_none_footbridge: binary-arch_arm_none_footbridge_real
+binary-arch_arm_none_footbridge_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-footbridge' FLAVOUR='footbridge' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.footbridge' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-footbridge' ARCH='arm' COMPILER='gcc-4.1'
+binary-arch_arm_none_iop32x: binary-arch_arm_none_iop32x_real
+binary-arch_arm_none_iop32x_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-iop32x' FLAVOUR='iop32x' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.iop32x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-iop32x' ARCH='arm' COMPILER='gcc-4.1'
+binary-arch_arm_none_ixp4xx: binary-arch_arm_none_ixp4xx_real
+binary-arch_arm_none_ixp4xx_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-ixp4xx' FLAVOUR='ixp4xx' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.ixp4xx' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-ixp4xx' ARCH='arm' COMPILER='gcc-4.1'
+binary-arch_arm_none_orion5x: binary-arch_arm_none_orion5x_real
+binary-arch_arm_none_orion5x_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-orion5x' FLAVOUR='orion5x' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.orion5x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-orion5x' ARCH='arm' COMPILER='gcc-4.1'
+binary-arch_arm_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='arm' LIBC_DEV_ARCH='arm'
+binary-arch_arm_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='arm'
+binary-arch_armel: binary-arch_armel_none binary-arch_armel_real
+binary-arch_armel_none: binary-arch_armel_none_iop32x binary-arch_armel_none_ixp4xx binary-arch_armel_none_orion5x binary-arch_armel_none_real binary-arch_armel_none_versatile
+binary-arch_armel_none_iop32x: binary-arch_armel_none_iop32x_real
+binary-arch_armel_none_iop32x_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-iop32x' FLAVOUR='iop32x' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.iop32x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-iop32x' ARCH='armel' COMPILER='gcc-4.1'
+binary-arch_armel_none_ixp4xx: binary-arch_armel_none_ixp4xx_real
+binary-arch_armel_none_ixp4xx_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-ixp4xx' FLAVOUR='ixp4xx' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.ixp4xx' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-ixp4xx' ARCH='armel' COMPILER='gcc-4.1'
+binary-arch_armel_none_orion5x: binary-arch_armel_none_orion5x_real
+binary-arch_armel_none_orion5x_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-orion5x' FLAVOUR='orion5x' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.orion5x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-orion5x' ARCH='armel' COMPILER='gcc-4.1'
+binary-arch_armel_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='armel' LIBC_DEV_ARCH='arm'
+binary-arch_armel_none_versatile: binary-arch_armel_none_versatile_real
+binary-arch_armel_none_versatile_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-versatile' FLAVOUR='versatile' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.versatile' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-versatile' ARCH='armel' COMPILER='gcc-4.1'
+binary-arch_armel_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='armel'
+binary-arch_hppa: binary-arch_hppa_none binary-arch_hppa_real
+binary-arch_hppa_none: binary-arch_hppa_none_parisc binary-arch_hppa_none_parisc-smp binary-arch_hppa_none_parisc64 binary-arch_hppa_none_parisc64-smp binary-arch_hppa_none_real
+binary-arch_hppa_none_parisc: binary-arch_hppa_none_parisc_real
+binary-arch_hppa_none_parisc-smp: binary-arch_hppa_none_parisc-smp_real
+binary-arch_hppa_none_parisc-smp_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-parisc-smp' FLAVOUR='parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc-smp' ARCH='hppa' COMPILER='gcc-4.1'
+binary-arch_hppa_none_parisc64: binary-arch_hppa_none_parisc64_real
+binary-arch_hppa_none_parisc64-smp: binary-arch_hppa_none_parisc64-smp_real
+binary-arch_hppa_none_parisc64-smp_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-parisc64-smp' FLAVOUR='parisc64-smp' CFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc64-smp' ARCH='hppa' COMPILER='gcc-4.1'
+binary-arch_hppa_none_parisc64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-parisc64' FLAVOUR='parisc64' CFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc64' ARCH='hppa' COMPILER='gcc-4.1'
+binary-arch_hppa_none_parisc_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-parisc' FLAVOUR='parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc' ARCH='hppa' COMPILER='gcc-4.1'
+binary-arch_hppa_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='hppa' LIBC_DEV_ARCH='parisc'
+binary-arch_hppa_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='hppa'
+binary-arch_i386: binary-arch_i386_none binary-arch_i386_openvz binary-arch_i386_real binary-arch_i386_vserver binary-arch_i386_xen
+binary-arch_i386_none: binary-arch_i386_none_486 binary-arch_i386_none_686 binary-arch_i386_none_686-bigmem binary-arch_i386_none_amd64 binary-arch_i386_none_real
+binary-arch_i386_none_486: binary-arch_i386_none_486_real
+binary-arch_i386_none_486_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-486' FLAVOUR='486' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.486' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-486' ARCH='i386' COMPILER='gcc-4.1'
+binary-arch_i386_none_686: binary-arch_i386_none_686_real
+binary-arch_i386_none_686-bigmem: binary-arch_i386_none_686-bigmem_real
+binary-arch_i386_none_686-bigmem_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-686-bigmem' FLAVOUR='686-bigmem' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686-bigmem' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-686-bigmem' ARCH='i386' COMPILER='gcc-4.1'
+binary-arch_i386_none_686_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-686' ARCH='i386' COMPILER='gcc-4.1'
+binary-arch_i386_none_amd64: binary-arch_i386_none_amd64_real
+binary-arch_i386_none_amd64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/i386/config debian/config/amd64/config debian/config/amd64/config.amd64' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-amd64' ARCH='i386' COMPILER='gcc-4.1'
+binary-arch_i386_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='i386' LIBC_DEV_ARCH='x86'
+binary-arch_i386_openvz: binary-arch_i386_openvz_686 binary-arch_i386_openvz_real
+binary-arch_i386_openvz_686: binary-arch_i386_openvz_686_real
+binary-arch_i386_openvz_686_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-openvz-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-openvz/config debian/config/i386/config.686-bigmem' LOCALVERSION_HEADERS='-openvz' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='openvz' TYPE='plain' LOCALVERSION='-openvz-686' ARCH='i386' COMPILER='gcc-4.1'
+binary-arch_i386_openvz_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-openvz' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='openvz' ARCH='i386' LIBC_DEV_ARCH='x86'
+binary-arch_i386_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='i386'
+binary-arch_i386_vserver: binary-arch_i386_vserver_686 binary-arch_i386_vserver_686-bigmem binary-arch_i386_vserver_real
+binary-arch_i386_vserver_686: binary-arch_i386_vserver_686_real
+binary-arch_i386_vserver_686-bigmem: binary-arch_i386_vserver_686-bigmem_real
+binary-arch_i386_vserver_686-bigmem_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-686-bigmem' FLAVOUR='686-bigmem' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686-bigmem debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-686-bigmem' ARCH='i386' COMPILER='gcc-4.1'
+binary-arch_i386_vserver_686_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-686' ARCH='i386' COMPILER='gcc-4.1'
+binary-arch_i386_vserver_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='i386' LIBC_DEV_ARCH='x86'
+binary-arch_i386_xen: binary-arch_i386_xen_686 binary-arch_i386_xen_real
+binary-arch_i386_xen_686: binary-arch_i386_xen_686_real
+binary-arch_i386_xen_686_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-xen-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-xen/config debian/config/i386/xen/config debian/config/i386/config.686-bigmem debian/config/i386/xen/config' LOCALVERSION_HEADERS='-xen' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' XEN_VERSIONS='3.2-1-i386 3.2-1-amd64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg' FEATURESET='xen' TYPE='plain-xen' LOCALVERSION='-xen-686' ARCH='i386' COMPILER='gcc-4.1'
+	$(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-linux-system-2.6.26-bpo.2-xen-686' MAJOR='2.6' LOCALVERSION_IMAGE='-xen-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-xen/config debian/config/i386/xen/config debian/config/i386/config.686-bigmem debian/config/i386/xen/config' LOCALVERSION_HEADERS='-xen' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' XEN_VERSIONS='3.2-1-i386 3.2-1-amd64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg' FEATURESET='xen' TYPE='plain-xen' LOCALVERSION='-xen-686' ARCH='i386' COMPILER='gcc-4.1'
+binary-arch_i386_xen_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-xen' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='xen' ARCH='i386' LIBC_DEV_ARCH='x86'
+binary-arch_ia64: binary-arch_ia64_none binary-arch_ia64_real binary-arch_ia64_vserver
+binary-arch_ia64_none: binary-arch_ia64_none_itanium binary-arch_ia64_none_mckinley binary-arch_ia64_none_real
+binary-arch_ia64_none_itanium: binary-arch_ia64_none_itanium_real
+binary-arch_ia64_none_itanium_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-itanium' FLAVOUR='itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' LOCALVERSION_HEADERS='' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-itanium' ARCH='ia64' COMPILER='gcc-4.1'
+binary-arch_ia64_none_mckinley: binary-arch_ia64_none_mckinley_real
+binary-arch_ia64_none_mckinley_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-mckinley' FLAVOUR='mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' LOCALVERSION_HEADERS='' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-mckinley' ARCH='ia64' COMPILER='gcc-4.1'
+binary-arch_ia64_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='ia64' LIBC_DEV_ARCH='ia64'
+binary-arch_ia64_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='ia64'
+binary-arch_ia64_vserver: binary-arch_ia64_vserver_itanium binary-arch_ia64_vserver_mckinley binary-arch_ia64_vserver_real
+binary-arch_ia64_vserver_itanium: binary-arch_ia64_vserver_itanium_real
+binary-arch_ia64_vserver_itanium_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-itanium' FLAVOUR='itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-itanium' ARCH='ia64' COMPILER='gcc-4.1'
+binary-arch_ia64_vserver_mckinley: binary-arch_ia64_vserver_mckinley_real
+binary-arch_ia64_vserver_mckinley_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-mckinley' FLAVOUR='mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-mckinley' ARCH='ia64' COMPILER='gcc-4.1'
+binary-arch_ia64_vserver_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='ia64' LIBC_DEV_ARCH='ia64'
+binary-arch_m68k: binary-arch_m68k_none binary-arch_m68k_real
+binary-arch_m68k_none: binary-arch_m68k_none_amiga binary-arch_m68k_none_atari binary-arch_m68k_none_bvme6000 binary-arch_m68k_none_mac binary-arch_m68k_none_mvme147 binary-arch_m68k_none_mvme16x binary-arch_m68k_none_real
+binary-arch_m68k_none_amiga: binary-arch_m68k_none_amiga_real
+binary-arch_m68k_none_amiga_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-amiga' FLAVOUR='amiga' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.amiga' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-amiga' ARCH='m68k' COMPILER='gcc-4.1'
+binary-arch_m68k_none_atari: binary-arch_m68k_none_atari_real
+binary-arch_m68k_none_atari_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-atari' FLAVOUR='atari' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.atari' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-atari' ARCH='m68k' COMPILER='gcc-4.1'
+binary-arch_m68k_none_bvme6000: binary-arch_m68k_none_bvme6000_real
+binary-arch_m68k_none_bvme6000_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-bvme6000' FLAVOUR='bvme6000' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.bvme6000' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-bvme6000' ARCH='m68k' COMPILER='gcc-4.1'
+binary-arch_m68k_none_mac: binary-arch_m68k_none_mac_real
+binary-arch_m68k_none_mac_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-mac' FLAVOUR='mac' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mac' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mac' ARCH='m68k' COMPILER='gcc-4.1'
+binary-arch_m68k_none_mvme147: binary-arch_m68k_none_mvme147_real
+binary-arch_m68k_none_mvme147_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-mvme147' FLAVOUR='mvme147' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mvme147' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mvme147' ARCH='m68k' COMPILER='gcc-4.1'
+binary-arch_m68k_none_mvme16x: binary-arch_m68k_none_mvme16x_real
+binary-arch_m68k_none_mvme16x_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-mvme16x' FLAVOUR='mvme16x' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mvme16x' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mvme16x' ARCH='m68k' COMPILER='gcc-4.1'
+binary-arch_m68k_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='m68k' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='m68k' LIBC_DEV_ARCH='m68k'
+binary-arch_m68k_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='m68k'
+binary-arch_mips: binary-arch_mips_none binary-arch_mips_real
+binary-arch_mips_none: binary-arch_mips_none_4kc-malta binary-arch_mips_none_5kc-malta binary-arch_mips_none_r4k-ip22 binary-arch_mips_none_r5k-ip32 binary-arch_mips_none_real binary-arch_mips_none_sb1-bcm91250a binary-arch_mips_none_sb1a-bcm91480b
+binary-arch_mips_none_4kc-malta: binary-arch_mips_none_4kc-malta_real
+binary-arch_mips_none_4kc-malta_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-4kc-malta' FLAVOUR='4kc-malta' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.4kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-4kc-malta' ARCH='mips' COMPILER='gcc-4.1'
+binary-arch_mips_none_5kc-malta: binary-arch_mips_none_5kc-malta_real
+binary-arch_mips_none_5kc-malta_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-5kc-malta' FLAVOUR='5kc-malta' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.5kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-5kc-malta' ARCH='mips' COMPILER='gcc-4.1'
+binary-arch_mips_none_r4k-ip22: binary-arch_mips_none_r4k-ip22_real
+binary-arch_mips_none_r4k-ip22_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-r4k-ip22' FLAVOUR='r4k-ip22' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.r4k-ip22' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r4k-ip22' ARCH='mips' COMPILER='gcc-4.1'
+binary-arch_mips_none_r5k-ip32: binary-arch_mips_none_r5k-ip32_real
+binary-arch_mips_none_r5k-ip32_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-r5k-ip32' FLAVOUR='r5k-ip32' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.r5k-ip32' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r5k-ip32' ARCH='mips' COMPILER='gcc-4.1'
+binary-arch_mips_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='mips' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='mips' LIBC_DEV_ARCH='mips'
+binary-arch_mips_none_sb1-bcm91250a: binary-arch_mips_none_sb1-bcm91250a_real
+binary-arch_mips_none_sb1-bcm91250a_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-sb1-bcm91250a' FLAVOUR='sb1-bcm91250a' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.sb1-bcm91250a' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1-bcm91250a' ARCH='mips' COMPILER='gcc-4.1'
+binary-arch_mips_none_sb1a-bcm91480b: binary-arch_mips_none_sb1a-bcm91480b_real
+binary-arch_mips_none_sb1a-bcm91480b_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-sb1a-bcm91480b' FLAVOUR='sb1a-bcm91480b' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.sb1a-bcm91480b' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1a-bcm91480b' ARCH='mips' COMPILER='gcc-4.1'
+binary-arch_mips_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='mips'
+binary-arch_mipsel: binary-arch_mipsel_none binary-arch_mipsel_real
+binary-arch_mipsel_none: binary-arch_mipsel_none_4kc-malta binary-arch_mipsel_none_5kc-malta binary-arch_mipsel_none_r5k-cobalt binary-arch_mipsel_none_real binary-arch_mipsel_none_sb1-bcm91250a binary-arch_mipsel_none_sb1a-bcm91480b
+binary-arch_mipsel_none_4kc-malta: binary-arch_mipsel_none_4kc-malta_real
+binary-arch_mipsel_none_4kc-malta_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-4kc-malta' FLAVOUR='4kc-malta' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.4kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-4kc-malta' ARCH='mipsel' COMPILER='gcc-4.1'
+binary-arch_mipsel_none_5kc-malta: binary-arch_mipsel_none_5kc-malta_real
+binary-arch_mipsel_none_5kc-malta_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-5kc-malta' FLAVOUR='5kc-malta' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.5kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-5kc-malta' ARCH='mipsel' COMPILER='gcc-4.1'
+binary-arch_mipsel_none_r5k-cobalt: binary-arch_mipsel_none_r5k-cobalt_real
+binary-arch_mipsel_none_r5k-cobalt_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-r5k-cobalt' FLAVOUR='r5k-cobalt' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.r5k-cobalt' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r5k-cobalt' ARCH='mipsel' COMPILER='gcc-4.1'
+binary-arch_mipsel_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='mips' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='mipsel' LIBC_DEV_ARCH='mips'
+binary-arch_mipsel_none_sb1-bcm91250a: binary-arch_mipsel_none_sb1-bcm91250a_real
+binary-arch_mipsel_none_sb1-bcm91250a_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-sb1-bcm91250a' FLAVOUR='sb1-bcm91250a' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.sb1-bcm91250a' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1-bcm91250a' ARCH='mipsel' COMPILER='gcc-4.1'
+binary-arch_mipsel_none_sb1a-bcm91480b: binary-arch_mipsel_none_sb1a-bcm91480b_real
+binary-arch_mipsel_none_sb1a-bcm91480b_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-sb1a-bcm91480b' FLAVOUR='sb1a-bcm91480b' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.sb1a-bcm91480b' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1a-bcm91480b' ARCH='mipsel' COMPILER='gcc-4.1'
+binary-arch_mipsel_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='mipsel'
+binary-arch_powerpc: binary-arch_powerpc_none binary-arch_powerpc_real binary-arch_powerpc_vserver
+binary-arch_powerpc_none: binary-arch_powerpc_none_powerpc binary-arch_powerpc_none_powerpc-smp binary-arch_powerpc_none_powerpc64 binary-arch_powerpc_none_real
+binary-arch_powerpc_none_powerpc: binary-arch_powerpc_none_powerpc_real
+binary-arch_powerpc_none_powerpc-smp: binary-arch_powerpc_none_powerpc-smp_real
+binary-arch_powerpc_none_powerpc-smp_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc-smp' FLAVOUR='powerpc-smp' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc-smp' ARCH='powerpc' COMPILER='gcc-4.1'
+binary-arch_powerpc_none_powerpc64: binary-arch_powerpc_none_powerpc64_real
+binary-arch_powerpc_none_powerpc64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc64' FLAVOUR='powerpc64' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc64' ARCH='powerpc' COMPILER='gcc-4.1'
+binary-arch_powerpc_none_powerpc_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc' FLAVOUR='powerpc' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc' ARCH='powerpc' COMPILER='gcc-4.1'
+binary-arch_powerpc_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='powerpc' LIBC_DEV_ARCH='powerpc'
+binary-arch_powerpc_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='powerpc'
+binary-arch_powerpc_vserver: binary-arch_powerpc_vserver_powerpc binary-arch_powerpc_vserver_powerpc64 binary-arch_powerpc_vserver_real
+binary-arch_powerpc_vserver_powerpc: binary-arch_powerpc_vserver_powerpc_real
+binary-arch_powerpc_vserver_powerpc64: binary-arch_powerpc_vserver_powerpc64_real
+binary-arch_powerpc_vserver_powerpc64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-powerpc64' FLAVOUR='powerpc64' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc64 debian/config/featureset-vserver/config debian/config/powerpc/config.powerpc64' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-powerpc64' ARCH='powerpc' COMPILER='gcc-4.1'
+binary-arch_powerpc_vserver_powerpc_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-powerpc' FLAVOUR='powerpc' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc debian/config/featureset-vserver/config debian/config/powerpc/config.powerpc-smp' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-powerpc' ARCH='powerpc' COMPILER='gcc-4.1'
+binary-arch_powerpc_vserver_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='powerpc' LIBC_DEV_ARCH='powerpc'
+binary-arch_s390: binary-arch_s390_none binary-arch_s390_real binary-arch_s390_vserver
+binary-arch_s390_none: binary-arch_s390_none_real binary-arch_s390_none_s390 binary-arch_s390_none_s390-tape binary-arch_s390_none_s390x
+binary-arch_s390_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='s390' LIBC_DEV_ARCH='s390'
+binary-arch_s390_none_s390: binary-arch_s390_none_s390_real
+binary-arch_s390_none_s390-tape: binary-arch_s390_none_s390-tape_real
+binary-arch_s390_none_s390-tape_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-s390' FLAVOUR='s390-tape' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390-tape' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='s390' FEATURESET='none' TYPE='plain-s390-tape' LOCALVERSION='-s390-tape' ARCH='s390' COMPILER='gcc-4.1'
+binary-arch_s390_none_s390_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-s390' FLAVOUR='s390' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-s390' ARCH='s390' COMPILER='gcc-4.1'
+binary-arch_s390_none_s390x: binary-arch_s390_none_s390x_real
+binary-arch_s390_none_s390x_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-s390x' FLAVOUR='s390x' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390x' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-s390x' ARCH='s390' COMPILER='gcc-4.1'
+binary-arch_s390_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='s390'
+binary-arch_s390_vserver: binary-arch_s390_vserver_real binary-arch_s390_vserver_s390x
+binary-arch_s390_vserver_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='s390' LIBC_DEV_ARCH='s390'
+binary-arch_s390_vserver_s390x: binary-arch_s390_vserver_s390x_real
+binary-arch_s390_vserver_s390x_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-s390x' FLAVOUR='s390x' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390x debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-s390x' ARCH='s390' COMPILER='gcc-4.1'
+binary-arch_sparc: binary-arch_sparc_none binary-arch_sparc_real binary-arch_sparc_vserver
+binary-arch_sparc_none: binary-arch_sparc_none_real binary-arch_sparc_none_sparc64 binary-arch_sparc_none_sparc64-smp
+binary-arch_sparc_none_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='sparc' LIBC_DEV_ARCH='sparc64'
+binary-arch_sparc_none_sparc64: binary-arch_sparc_none_sparc64_real
+binary-arch_sparc_none_sparc64-smp: binary-arch_sparc_none_sparc64-smp_real
+binary-arch_sparc_none_sparc64-smp_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-sparc64-smp' FLAVOUR='sparc64-smp' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sparc64-smp' ARCH='sparc' COMPILER='gcc-4.1'
+binary-arch_sparc_none_sparc64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-sparc64' FLAVOUR='sparc64' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sparc64' ARCH='sparc' COMPILER='gcc-4.1'
+binary-arch_sparc_real::
+	$(MAKE) -f debian/rules.real binary-arch-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='sparc'
+binary-arch_sparc_vserver: binary-arch_sparc_vserver_real binary-arch_sparc_vserver_sparc64
+binary-arch_sparc_vserver_real::
+	$(MAKE) -f debian/rules.real binary-arch-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='sparc' LIBC_DEV_ARCH='sparc64'
+binary-arch_sparc_vserver_sparc64: binary-arch_sparc_vserver_sparc64_real
+binary-arch_sparc_vserver_sparc64_real::
+	$(MAKE) -f debian/rules.real binary-arch-flavour KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-sparc64' FLAVOUR='sparc64' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64 debian/config/featureset-vserver/config debian/config/sparc/config.sparc64-smp' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-sparc64' ARCH='sparc' COMPILER='gcc-4.1'
+binary-indep::
+	$(MAKE) -f debian/rules.real binary-indep ABINAME='-bpo.2' SOURCEVERSION='2.6.26-21~bpo40+1' MAJOR='2.6' VERSION='2.6.26' UPSTREAMVERSION='2.6.26'
+build: build_alpha build_amd64 build_arm build_armel build_hppa build_i386 build_ia64 build_m68k build_mips build_mipsel build_powerpc build_s390 build_sparc
+build_alpha: build_alpha_none build_alpha_real
+build_alpha_none: build_alpha_none_alpha-generic build_alpha_none_alpha-legacy build_alpha_none_alpha-smp build_alpha_none_real
+build_alpha_none_alpha-generic: build_alpha_none_alpha-generic_real
+build_alpha_none_alpha-generic_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-generic' FLAVOUR='alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-generic' ARCH='alpha' COMPILER='gcc-4.1'
+build_alpha_none_alpha-legacy: build_alpha_none_alpha-legacy_real
+build_alpha_none_alpha-legacy_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-legacy' FLAVOUR='alpha-legacy' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-legacy' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-legacy' ARCH='alpha' COMPILER='gcc-4.1'
+build_alpha_none_alpha-smp: build_alpha_none_alpha-smp_real
+build_alpha_none_alpha-smp_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-smp' FLAVOUR='alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-smp' ARCH='alpha' COMPILER='gcc-4.1'
+build_alpha_none_real:
+build_alpha_real:
+build_amd64: build_amd64_none build_amd64_openvz build_amd64_real build_amd64_vserver build_amd64_xen
+build_amd64_none: build_amd64_none_amd64 build_amd64_none_real
+build_amd64_none_amd64: build_amd64_none_amd64_real
+build_amd64_none_amd64_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+build_amd64_none_real:
+build_amd64_openvz: build_amd64_openvz_amd64 build_amd64_openvz_real
+build_amd64_openvz_amd64: build_amd64_openvz_amd64_real
+build_amd64_openvz_amd64_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-openvz-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-openvz/config' LOCALVERSION_HEADERS='-openvz' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='openvz' TYPE='plain' LOCALVERSION='-openvz-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+build_amd64_openvz_real:
+build_amd64_real:
+build_amd64_vserver: build_amd64_vserver_amd64 build_amd64_vserver_real
+build_amd64_vserver_amd64: build_amd64_vserver_amd64_real
+build_amd64_vserver_amd64_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+build_amd64_vserver_real:
+build_amd64_xen: build_amd64_xen_amd64 build_amd64_xen_real
+build_amd64_xen_amd64: build_amd64_xen_amd64_real
+build_amd64_xen_amd64_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-xen-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-xen/config debian/config/amd64/xen/config' LOCALVERSION_HEADERS='-xen' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' XEN_VERSIONS='3.2-1-amd64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg' FEATURESET='xen' TYPE='plain-xen' LOCALVERSION='-xen-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+build_amd64_xen_real:
+build_arm: build_arm_none build_arm_real
+build_arm_none: build_arm_none_footbridge build_arm_none_iop32x build_arm_none_ixp4xx build_arm_none_orion5x build_arm_none_real
+build_arm_none_footbridge: build_arm_none_footbridge_real
+build_arm_none_footbridge_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-footbridge' FLAVOUR='footbridge' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.footbridge' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-footbridge' ARCH='arm' COMPILER='gcc-4.1'
+build_arm_none_iop32x: build_arm_none_iop32x_real
+build_arm_none_iop32x_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-iop32x' FLAVOUR='iop32x' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.iop32x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-iop32x' ARCH='arm' COMPILER='gcc-4.1'
+build_arm_none_ixp4xx: build_arm_none_ixp4xx_real
+build_arm_none_ixp4xx_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-ixp4xx' FLAVOUR='ixp4xx' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.ixp4xx' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-ixp4xx' ARCH='arm' COMPILER='gcc-4.1'
+build_arm_none_orion5x: build_arm_none_orion5x_real
+build_arm_none_orion5x_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-orion5x' FLAVOUR='orion5x' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.orion5x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-orion5x' ARCH='arm' COMPILER='gcc-4.1'
+build_arm_none_real:
+build_arm_real:
+build_armel: build_armel_none build_armel_real
+build_armel_none: build_armel_none_iop32x build_armel_none_ixp4xx build_armel_none_orion5x build_armel_none_real build_armel_none_versatile
+build_armel_none_iop32x: build_armel_none_iop32x_real
+build_armel_none_iop32x_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-iop32x' FLAVOUR='iop32x' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.iop32x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-iop32x' ARCH='armel' COMPILER='gcc-4.1'
+build_armel_none_ixp4xx: build_armel_none_ixp4xx_real
+build_armel_none_ixp4xx_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-ixp4xx' FLAVOUR='ixp4xx' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.ixp4xx' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-ixp4xx' ARCH='armel' COMPILER='gcc-4.1'
+build_armel_none_orion5x: build_armel_none_orion5x_real
+build_armel_none_orion5x_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-orion5x' FLAVOUR='orion5x' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.orion5x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-orion5x' ARCH='armel' COMPILER='gcc-4.1'
+build_armel_none_real:
+build_armel_none_versatile: build_armel_none_versatile_real
+build_armel_none_versatile_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-versatile' FLAVOUR='versatile' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.versatile' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-versatile' ARCH='armel' COMPILER='gcc-4.1'
+build_armel_real:
+build_hppa: build_hppa_none build_hppa_real
+build_hppa_none: build_hppa_none_parisc build_hppa_none_parisc-smp build_hppa_none_parisc64 build_hppa_none_parisc64-smp build_hppa_none_real
+build_hppa_none_parisc: build_hppa_none_parisc_real
+build_hppa_none_parisc-smp: build_hppa_none_parisc-smp_real
+build_hppa_none_parisc-smp_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-parisc-smp' FLAVOUR='parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc-smp' ARCH='hppa' COMPILER='gcc-4.1'
+build_hppa_none_parisc64: build_hppa_none_parisc64_real
+build_hppa_none_parisc64-smp: build_hppa_none_parisc64-smp_real
+build_hppa_none_parisc64-smp_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-parisc64-smp' FLAVOUR='parisc64-smp' CFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc64-smp' ARCH='hppa' COMPILER='gcc-4.1'
+build_hppa_none_parisc64_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-parisc64' FLAVOUR='parisc64' CFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc64' ARCH='hppa' COMPILER='gcc-4.1'
+build_hppa_none_parisc_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-parisc' FLAVOUR='parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc' ARCH='hppa' COMPILER='gcc-4.1'
+build_hppa_none_real:
+build_hppa_real:
+build_i386: build_i386_none build_i386_openvz build_i386_real build_i386_vserver build_i386_xen
+build_i386_none: build_i386_none_486 build_i386_none_686 build_i386_none_686-bigmem build_i386_none_amd64 build_i386_none_real
+build_i386_none_486: build_i386_none_486_real
+build_i386_none_486_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-486' FLAVOUR='486' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.486' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-486' ARCH='i386' COMPILER='gcc-4.1'
+build_i386_none_686: build_i386_none_686_real
+build_i386_none_686-bigmem: build_i386_none_686-bigmem_real
+build_i386_none_686-bigmem_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-686-bigmem' FLAVOUR='686-bigmem' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686-bigmem' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-686-bigmem' ARCH='i386' COMPILER='gcc-4.1'
+build_i386_none_686_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-686' ARCH='i386' COMPILER='gcc-4.1'
+build_i386_none_amd64: build_i386_none_amd64_real
+build_i386_none_amd64_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/i386/config debian/config/amd64/config debian/config/amd64/config.amd64' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-amd64' ARCH='i386' COMPILER='gcc-4.1'
+build_i386_none_real:
+build_i386_openvz: build_i386_openvz_686 build_i386_openvz_real
+build_i386_openvz_686: build_i386_openvz_686_real
+build_i386_openvz_686_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-openvz-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-openvz/config debian/config/i386/config.686-bigmem' LOCALVERSION_HEADERS='-openvz' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='openvz' TYPE='plain' LOCALVERSION='-openvz-686' ARCH='i386' COMPILER='gcc-4.1'
+build_i386_openvz_real:
+build_i386_real:
+build_i386_vserver: build_i386_vserver_686 build_i386_vserver_686-bigmem build_i386_vserver_real
+build_i386_vserver_686: build_i386_vserver_686_real
+build_i386_vserver_686-bigmem: build_i386_vserver_686-bigmem_real
+build_i386_vserver_686-bigmem_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-686-bigmem' FLAVOUR='686-bigmem' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686-bigmem debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-686-bigmem' ARCH='i386' COMPILER='gcc-4.1'
+build_i386_vserver_686_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-686' ARCH='i386' COMPILER='gcc-4.1'
+build_i386_vserver_real:
+build_i386_xen: build_i386_xen_686 build_i386_xen_real
+build_i386_xen_686: build_i386_xen_686_real
+build_i386_xen_686_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-xen-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-xen/config debian/config/i386/xen/config debian/config/i386/config.686-bigmem debian/config/i386/xen/config' LOCALVERSION_HEADERS='-xen' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' XEN_VERSIONS='3.2-1-i386 3.2-1-amd64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg' FEATURESET='xen' TYPE='plain-xen' LOCALVERSION='-xen-686' ARCH='i386' COMPILER='gcc-4.1'
+build_i386_xen_real:
+build_ia64: build_ia64_none build_ia64_real build_ia64_vserver
+build_ia64_none: build_ia64_none_itanium build_ia64_none_mckinley build_ia64_none_real
+build_ia64_none_itanium: build_ia64_none_itanium_real
+build_ia64_none_itanium_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-itanium' FLAVOUR='itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' LOCALVERSION_HEADERS='' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-itanium' ARCH='ia64' COMPILER='gcc-4.1'
+build_ia64_none_mckinley: build_ia64_none_mckinley_real
+build_ia64_none_mckinley_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-mckinley' FLAVOUR='mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' LOCALVERSION_HEADERS='' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-mckinley' ARCH='ia64' COMPILER='gcc-4.1'
+build_ia64_none_real:
+build_ia64_real:
+build_ia64_vserver: build_ia64_vserver_itanium build_ia64_vserver_mckinley build_ia64_vserver_real
+build_ia64_vserver_itanium: build_ia64_vserver_itanium_real
+build_ia64_vserver_itanium_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-itanium' FLAVOUR='itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-itanium' ARCH='ia64' COMPILER='gcc-4.1'
+build_ia64_vserver_mckinley: build_ia64_vserver_mckinley_real
+build_ia64_vserver_mckinley_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-mckinley' FLAVOUR='mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-mckinley' ARCH='ia64' COMPILER='gcc-4.1'
+build_ia64_vserver_real:
+build_m68k: build_m68k_none build_m68k_real
+build_m68k_none: build_m68k_none_amiga build_m68k_none_atari build_m68k_none_bvme6000 build_m68k_none_mac build_m68k_none_mvme147 build_m68k_none_mvme16x build_m68k_none_real
+build_m68k_none_amiga: build_m68k_none_amiga_real
+build_m68k_none_amiga_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-amiga' FLAVOUR='amiga' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.amiga' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-amiga' ARCH='m68k' COMPILER='gcc-4.1'
+build_m68k_none_atari: build_m68k_none_atari_real
+build_m68k_none_atari_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-atari' FLAVOUR='atari' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.atari' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-atari' ARCH='m68k' COMPILER='gcc-4.1'
+build_m68k_none_bvme6000: build_m68k_none_bvme6000_real
+build_m68k_none_bvme6000_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-bvme6000' FLAVOUR='bvme6000' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.bvme6000' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-bvme6000' ARCH='m68k' COMPILER='gcc-4.1'
+build_m68k_none_mac: build_m68k_none_mac_real
+build_m68k_none_mac_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-mac' FLAVOUR='mac' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mac' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mac' ARCH='m68k' COMPILER='gcc-4.1'
+build_m68k_none_mvme147: build_m68k_none_mvme147_real
+build_m68k_none_mvme147_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-mvme147' FLAVOUR='mvme147' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mvme147' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mvme147' ARCH='m68k' COMPILER='gcc-4.1'
+build_m68k_none_mvme16x: build_m68k_none_mvme16x_real
+build_m68k_none_mvme16x_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-mvme16x' FLAVOUR='mvme16x' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mvme16x' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mvme16x' ARCH='m68k' COMPILER='gcc-4.1'
+build_m68k_none_real:
+build_m68k_real:
+build_mips: build_mips_none build_mips_real
+build_mips_none: build_mips_none_4kc-malta build_mips_none_5kc-malta build_mips_none_r4k-ip22 build_mips_none_r5k-ip32 build_mips_none_real build_mips_none_sb1-bcm91250a build_mips_none_sb1a-bcm91480b
+build_mips_none_4kc-malta: build_mips_none_4kc-malta_real
+build_mips_none_4kc-malta_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-4kc-malta' FLAVOUR='4kc-malta' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.4kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-4kc-malta' ARCH='mips' COMPILER='gcc-4.1'
+build_mips_none_5kc-malta: build_mips_none_5kc-malta_real
+build_mips_none_5kc-malta_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-5kc-malta' FLAVOUR='5kc-malta' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.5kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-5kc-malta' ARCH='mips' COMPILER='gcc-4.1'
+build_mips_none_r4k-ip22: build_mips_none_r4k-ip22_real
+build_mips_none_r4k-ip22_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-r4k-ip22' FLAVOUR='r4k-ip22' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.r4k-ip22' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r4k-ip22' ARCH='mips' COMPILER='gcc-4.1'
+build_mips_none_r5k-ip32: build_mips_none_r5k-ip32_real
+build_mips_none_r5k-ip32_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-r5k-ip32' FLAVOUR='r5k-ip32' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.r5k-ip32' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r5k-ip32' ARCH='mips' COMPILER='gcc-4.1'
+build_mips_none_real:
+build_mips_none_sb1-bcm91250a: build_mips_none_sb1-bcm91250a_real
+build_mips_none_sb1-bcm91250a_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-sb1-bcm91250a' FLAVOUR='sb1-bcm91250a' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.sb1-bcm91250a' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1-bcm91250a' ARCH='mips' COMPILER='gcc-4.1'
+build_mips_none_sb1a-bcm91480b: build_mips_none_sb1a-bcm91480b_real
+build_mips_none_sb1a-bcm91480b_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-sb1a-bcm91480b' FLAVOUR='sb1a-bcm91480b' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.sb1a-bcm91480b' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1a-bcm91480b' ARCH='mips' COMPILER='gcc-4.1'
+build_mips_real:
+build_mipsel: build_mipsel_none build_mipsel_real
+build_mipsel_none: build_mipsel_none_4kc-malta build_mipsel_none_5kc-malta build_mipsel_none_r5k-cobalt build_mipsel_none_real build_mipsel_none_sb1-bcm91250a build_mipsel_none_sb1a-bcm91480b
+build_mipsel_none_4kc-malta: build_mipsel_none_4kc-malta_real
+build_mipsel_none_4kc-malta_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-4kc-malta' FLAVOUR='4kc-malta' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.4kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-4kc-malta' ARCH='mipsel' COMPILER='gcc-4.1'
+build_mipsel_none_5kc-malta: build_mipsel_none_5kc-malta_real
+build_mipsel_none_5kc-malta_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-5kc-malta' FLAVOUR='5kc-malta' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.5kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-5kc-malta' ARCH='mipsel' COMPILER='gcc-4.1'
+build_mipsel_none_r5k-cobalt: build_mipsel_none_r5k-cobalt_real
+build_mipsel_none_r5k-cobalt_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-r5k-cobalt' FLAVOUR='r5k-cobalt' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.r5k-cobalt' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r5k-cobalt' ARCH='mipsel' COMPILER='gcc-4.1'
+build_mipsel_none_real:
+build_mipsel_none_sb1-bcm91250a: build_mipsel_none_sb1-bcm91250a_real
+build_mipsel_none_sb1-bcm91250a_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-sb1-bcm91250a' FLAVOUR='sb1-bcm91250a' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.sb1-bcm91250a' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1-bcm91250a' ARCH='mipsel' COMPILER='gcc-4.1'
+build_mipsel_none_sb1a-bcm91480b: build_mipsel_none_sb1a-bcm91480b_real
+build_mipsel_none_sb1a-bcm91480b_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-sb1a-bcm91480b' FLAVOUR='sb1a-bcm91480b' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.sb1a-bcm91480b' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1a-bcm91480b' ARCH='mipsel' COMPILER='gcc-4.1'
+build_mipsel_real:
+build_powerpc: build_powerpc_none build_powerpc_real build_powerpc_vserver
+build_powerpc_none: build_powerpc_none_powerpc build_powerpc_none_powerpc-smp build_powerpc_none_powerpc64 build_powerpc_none_real
+build_powerpc_none_powerpc: build_powerpc_none_powerpc_real
+build_powerpc_none_powerpc-smp: build_powerpc_none_powerpc-smp_real
+build_powerpc_none_powerpc-smp_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc-smp' FLAVOUR='powerpc-smp' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc-smp' ARCH='powerpc' COMPILER='gcc-4.1'
+build_powerpc_none_powerpc64: build_powerpc_none_powerpc64_real
+build_powerpc_none_powerpc64_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc64' FLAVOUR='powerpc64' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc64' ARCH='powerpc' COMPILER='gcc-4.1'
+build_powerpc_none_powerpc_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc' FLAVOUR='powerpc' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc' ARCH='powerpc' COMPILER='gcc-4.1'
+build_powerpc_none_real:
+build_powerpc_real:
+build_powerpc_vserver: build_powerpc_vserver_powerpc build_powerpc_vserver_powerpc64 build_powerpc_vserver_real
+build_powerpc_vserver_powerpc: build_powerpc_vserver_powerpc_real
+build_powerpc_vserver_powerpc64: build_powerpc_vserver_powerpc64_real
+build_powerpc_vserver_powerpc64_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-powerpc64' FLAVOUR='powerpc64' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc64 debian/config/featureset-vserver/config debian/config/powerpc/config.powerpc64' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-powerpc64' ARCH='powerpc' COMPILER='gcc-4.1'
+build_powerpc_vserver_powerpc_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-powerpc' FLAVOUR='powerpc' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc debian/config/featureset-vserver/config debian/config/powerpc/config.powerpc-smp' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-powerpc' ARCH='powerpc' COMPILER='gcc-4.1'
+build_powerpc_vserver_real:
+build_s390: build_s390_none build_s390_real build_s390_vserver
+build_s390_none: build_s390_none_real build_s390_none_s390 build_s390_none_s390-tape build_s390_none_s390x
+build_s390_none_real:
+build_s390_none_s390: build_s390_none_s390_real
+build_s390_none_s390-tape: build_s390_none_s390-tape_real
+build_s390_none_s390-tape_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-s390' FLAVOUR='s390-tape' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390-tape' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='s390' FEATURESET='none' TYPE='plain-s390-tape' LOCALVERSION='-s390-tape' ARCH='s390' COMPILER='gcc-4.1'
+build_s390_none_s390_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-s390' FLAVOUR='s390' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-s390' ARCH='s390' COMPILER='gcc-4.1'
+build_s390_none_s390x: build_s390_none_s390x_real
+build_s390_none_s390x_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-s390x' FLAVOUR='s390x' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390x' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-s390x' ARCH='s390' COMPILER='gcc-4.1'
+build_s390_real:
+build_s390_vserver: build_s390_vserver_real build_s390_vserver_s390x
+build_s390_vserver_real:
+build_s390_vserver_s390x: build_s390_vserver_s390x_real
+build_s390_vserver_s390x_real::
+	$(MAKE) -f debian/rules.real build MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-s390x' FLAVOUR='s390x' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390x debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-s390x' ARCH='s390' COMPILER='gcc-4.1'
+build_sparc: build_sparc_none build_sparc_real build_sparc_vserver
+build_sparc_none: build_sparc_none_real build_sparc_none_sparc64 build_sparc_none_sparc64-smp
+build_sparc_none_real:
+build_sparc_none_sparc64: build_sparc_none_sparc64_real
+build_sparc_none_sparc64-smp: build_sparc_none_sparc64-smp_real
+build_sparc_none_sparc64-smp_real::
+	$(MAKE) -f debian/rules.real build KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-sparc64-smp' FLAVOUR='sparc64-smp' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sparc64-smp' ARCH='sparc' COMPILER='gcc-4.1'
+build_sparc_none_sparc64_real::
+	$(MAKE) -f debian/rules.real build KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-sparc64' FLAVOUR='sparc64' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sparc64' ARCH='sparc' COMPILER='gcc-4.1'
+build_sparc_real:
+build_sparc_vserver: build_sparc_vserver_real build_sparc_vserver_sparc64
+build_sparc_vserver_real:
+build_sparc_vserver_sparc64: build_sparc_vserver_sparc64_real
+build_sparc_vserver_sparc64_real::
+	$(MAKE) -f debian/rules.real build KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-sparc64' FLAVOUR='sparc64' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64 debian/config/featureset-vserver/config debian/config/sparc/config.sparc64-smp' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-sparc64' ARCH='sparc' COMPILER='gcc-4.1'
+setup: setup_alpha setup_amd64 setup_arm setup_armel setup_hppa setup_i386 setup_ia64 setup_m68k setup_mips setup_mipsel setup_powerpc setup_s390 setup_sparc
+setup_alpha: setup_alpha_none setup_alpha_real
+setup_alpha_none: setup_alpha_none_alpha-generic setup_alpha_none_alpha-legacy setup_alpha_none_alpha-smp setup_alpha_none_real
+setup_alpha_none_alpha-generic: setup_alpha_none_alpha-generic_real
+setup_alpha_none_alpha-generic_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-generic' FLAVOUR='alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-generic' ARCH='alpha' COMPILER='gcc-4.1'
+setup_alpha_none_alpha-legacy: setup_alpha_none_alpha-legacy_real
+setup_alpha_none_alpha-legacy_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-legacy' FLAVOUR='alpha-legacy' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-legacy' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-legacy' ARCH='alpha' COMPILER='gcc-4.1'
+setup_alpha_none_alpha-smp: setup_alpha_none_alpha-smp_real
+setup_alpha_none_alpha-smp_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-alpha-smp' FLAVOUR='alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='alpha' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-alpha-smp' ARCH='alpha' COMPILER='gcc-4.1'
+setup_alpha_none_real:
+setup_alpha_real:
+setup_amd64: setup_amd64_none setup_amd64_openvz setup_amd64_real setup_amd64_vserver setup_amd64_xen
+setup_amd64_none: setup_amd64_none_amd64 setup_amd64_none_real
+setup_amd64_none_amd64: setup_amd64_none_amd64_real
+setup_amd64_none_amd64_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+setup_amd64_none_real:
+setup_amd64_openvz: setup_amd64_openvz_amd64 setup_amd64_openvz_real
+setup_amd64_openvz_amd64: setup_amd64_openvz_amd64_real
+setup_amd64_openvz_amd64_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-openvz-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-openvz/config' LOCALVERSION_HEADERS='-openvz' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='openvz' TYPE='plain' LOCALVERSION='-openvz-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+setup_amd64_openvz_real:
+setup_amd64_real:
+setup_amd64_vserver: setup_amd64_vserver_amd64 setup_amd64_vserver_real
+setup_amd64_vserver_amd64: setup_amd64_vserver_amd64_real
+setup_amd64_vserver_amd64_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+setup_amd64_vserver_real:
+setup_amd64_xen: setup_amd64_xen_amd64 setup_amd64_xen_real
+setup_amd64_xen_amd64: setup_amd64_xen_amd64_real
+setup_amd64_xen_amd64_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-xen-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/amd64/config debian/config/amd64/config.amd64 debian/config/featureset-xen/config debian/config/amd64/xen/config' LOCALVERSION_HEADERS='-xen' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' XEN_VERSIONS='3.2-1-amd64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg' FEATURESET='xen' TYPE='plain-xen' LOCALVERSION='-xen-amd64' ARCH='amd64' COMPILER='gcc-4.1'
+setup_amd64_xen_real:
+setup_arm: setup_arm_none setup_arm_real
+setup_arm_none: setup_arm_none_footbridge setup_arm_none_iop32x setup_arm_none_ixp4xx setup_arm_none_orion5x setup_arm_none_real
+setup_arm_none_footbridge: setup_arm_none_footbridge_real
+setup_arm_none_footbridge_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-footbridge' FLAVOUR='footbridge' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.footbridge' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-footbridge' ARCH='arm' COMPILER='gcc-4.1'
+setup_arm_none_iop32x: setup_arm_none_iop32x_real
+setup_arm_none_iop32x_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-iop32x' FLAVOUR='iop32x' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.iop32x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-iop32x' ARCH='arm' COMPILER='gcc-4.1'
+setup_arm_none_ixp4xx: setup_arm_none_ixp4xx_real
+setup_arm_none_ixp4xx_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-ixp4xx' FLAVOUR='ixp4xx' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.ixp4xx' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-ixp4xx' ARCH='arm' COMPILER='gcc-4.1'
+setup_arm_none_orion5x: setup_arm_none_orion5x_real
+setup_arm_none_orion5x_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-orion5x' FLAVOUR='orion5x' KCONFIG='debian/config/config debian/config/arm/config debian/config/arm/config.orion5x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-orion5x' ARCH='arm' COMPILER='gcc-4.1'
+setup_arm_none_real:
+setup_arm_real:
+setup_armel: setup_armel_none setup_armel_real
+setup_armel_none: setup_armel_none_iop32x setup_armel_none_ixp4xx setup_armel_none_orion5x setup_armel_none_real setup_armel_none_versatile
+setup_armel_none_iop32x: setup_armel_none_iop32x_real
+setup_armel_none_iop32x_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-iop32x' FLAVOUR='iop32x' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.iop32x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-iop32x' ARCH='armel' COMPILER='gcc-4.1'
+setup_armel_none_ixp4xx: setup_armel_none_ixp4xx_real
+setup_armel_none_ixp4xx_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-ixp4xx' FLAVOUR='ixp4xx' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.ixp4xx' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-ixp4xx' ARCH='armel' COMPILER='gcc-4.1'
+setup_armel_none_orion5x: setup_armel_none_orion5x_real
+setup_armel_none_orion5x_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-orion5x' FLAVOUR='orion5x' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.orion5x' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-orion5x' ARCH='armel' COMPILER='gcc-4.1'
+setup_armel_none_real:
+setup_armel_none_versatile: setup_armel_none_versatile_real
+setup_armel_none_versatile_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-versatile' FLAVOUR='versatile' KCONFIG='debian/config/config debian/config/armel/config debian/config/arm/config.versatile' LOCALVERSION_HEADERS='' KERNEL_ARCH='arm' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-versatile' ARCH='armel' COMPILER='gcc-4.1'
+setup_armel_real:
+setup_hppa: setup_hppa_none setup_hppa_real
+setup_hppa_none: setup_hppa_none_parisc setup_hppa_none_parisc-smp setup_hppa_none_parisc64 setup_hppa_none_parisc64-smp setup_hppa_none_real
+setup_hppa_none_parisc: setup_hppa_none_parisc_real
+setup_hppa_none_parisc-smp: setup_hppa_none_parisc-smp_real
+setup_hppa_none_parisc-smp_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-parisc-smp' FLAVOUR='parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc-smp' ARCH='hppa' COMPILER='gcc-4.1'
+setup_hppa_none_parisc64: setup_hppa_none_parisc64_real
+setup_hppa_none_parisc64-smp: setup_hppa_none_parisc64-smp_real
+setup_hppa_none_parisc64-smp_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-parisc64-smp' FLAVOUR='parisc64-smp' CFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc64-smp' ARCH='hppa' COMPILER='gcc-4.1'
+setup_hppa_none_parisc64_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-parisc64' FLAVOUR='parisc64' CFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc64' ARCH='hppa' COMPILER='gcc-4.1'
+setup_hppa_none_parisc_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-parisc' FLAVOUR='parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' LOCALVERSION_HEADERS='' KERNEL_ARCH='parisc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-parisc' ARCH='hppa' COMPILER='gcc-4.1'
+setup_hppa_none_real:
+setup_hppa_real:
+setup_i386: setup_i386_none setup_i386_openvz setup_i386_real setup_i386_vserver setup_i386_xen
+setup_i386_none: setup_i386_none_486 setup_i386_none_686 setup_i386_none_686-bigmem setup_i386_none_amd64 setup_i386_none_real
+setup_i386_none_486: setup_i386_none_486_real
+setup_i386_none_486_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-486' FLAVOUR='486' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.486' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-486' ARCH='i386' COMPILER='gcc-4.1'
+setup_i386_none_686: setup_i386_none_686_real
+setup_i386_none_686-bigmem: setup_i386_none_686-bigmem_real
+setup_i386_none_686-bigmem_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-686-bigmem' FLAVOUR='686-bigmem' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686-bigmem' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-686-bigmem' ARCH='i386' COMPILER='gcc-4.1'
+setup_i386_none_686_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-686' ARCH='i386' COMPILER='gcc-4.1'
+setup_i386_none_amd64: setup_i386_none_amd64_real
+setup_i386_none_amd64_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-amd64' FLAVOUR='amd64' KCONFIG='debian/config/config debian/config/i386/config debian/config/amd64/config debian/config/amd64/config.amd64' LOCALVERSION_HEADERS='' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-amd64' ARCH='i386' COMPILER='gcc-4.1'
+setup_i386_none_real:
+setup_i386_openvz: setup_i386_openvz_686 setup_i386_openvz_real
+setup_i386_openvz_686: setup_i386_openvz_686_real
+setup_i386_openvz_686_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-openvz-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-openvz/config debian/config/i386/config.686-bigmem' LOCALVERSION_HEADERS='-openvz' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='openvz' TYPE='plain' LOCALVERSION='-openvz-686' ARCH='i386' COMPILER='gcc-4.1'
+setup_i386_openvz_real:
+setup_i386_real:
+setup_i386_vserver: setup_i386_vserver_686 setup_i386_vserver_686-bigmem setup_i386_vserver_real
+setup_i386_vserver_686: setup_i386_vserver_686_real
+setup_i386_vserver_686-bigmem: setup_i386_vserver_686-bigmem_real
+setup_i386_vserver_686-bigmem_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-686-bigmem' FLAVOUR='686-bigmem' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686-bigmem debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-686-bigmem' ARCH='i386' COMPILER='gcc-4.1'
+setup_i386_vserver_686_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-686' ARCH='i386' COMPILER='gcc-4.1'
+setup_i386_vserver_real:
+setup_i386_xen: setup_i386_xen_686 setup_i386_xen_real
+setup_i386_xen_686: setup_i386_xen_686_real
+setup_i386_xen_686_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-xen-686' FLAVOUR='686' KCONFIG='debian/config/config debian/config/i386/config debian/config/i386/config.686 debian/config/featureset-xen/config debian/config/i386/xen/config debian/config/i386/config.686-bigmem debian/config/i386/xen/config' LOCALVERSION_HEADERS='-xen' KERNEL_ARCH='x86' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='x86' XEN_VERSIONS='3.2-1-i386 3.2-1-amd64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' INITRD_CMD='mkinitramfs-kpkg' FEATURESET='xen' TYPE='plain-xen' LOCALVERSION='-xen-686' ARCH='i386' COMPILER='gcc-4.1'
+setup_i386_xen_real:
+setup_ia64: setup_ia64_none setup_ia64_real setup_ia64_vserver
+setup_ia64_none: setup_ia64_none_itanium setup_ia64_none_mckinley setup_ia64_none_real
+setup_ia64_none_itanium: setup_ia64_none_itanium_real
+setup_ia64_none_itanium_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-itanium' FLAVOUR='itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' LOCALVERSION_HEADERS='' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-itanium' ARCH='ia64' COMPILER='gcc-4.1'
+setup_ia64_none_mckinley: setup_ia64_none_mckinley_real
+setup_ia64_none_mckinley_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-mckinley' FLAVOUR='mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' LOCALVERSION_HEADERS='' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-mckinley' ARCH='ia64' COMPILER='gcc-4.1'
+setup_ia64_none_real:
+setup_ia64_real:
+setup_ia64_vserver: setup_ia64_vserver_itanium setup_ia64_vserver_mckinley setup_ia64_vserver_real
+setup_ia64_vserver_itanium: setup_ia64_vserver_itanium_real
+setup_ia64_vserver_itanium_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-itanium' FLAVOUR='itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-itanium' ARCH='ia64' COMPILER='gcc-4.1'
+setup_ia64_vserver_mckinley: setup_ia64_vserver_mckinley_real
+setup_ia64_vserver_mckinley_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-mckinley' FLAVOUR='mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='ia64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-mckinley' ARCH='ia64' COMPILER='gcc-4.1'
+setup_ia64_vserver_real:
+setup_m68k: setup_m68k_none setup_m68k_real
+setup_m68k_none: setup_m68k_none_amiga setup_m68k_none_atari setup_m68k_none_bvme6000 setup_m68k_none_mac setup_m68k_none_mvme147 setup_m68k_none_mvme16x setup_m68k_none_real
+setup_m68k_none_amiga: setup_m68k_none_amiga_real
+setup_m68k_none_amiga_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-amiga' FLAVOUR='amiga' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.amiga' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-amiga' ARCH='m68k' COMPILER='gcc-4.1'
+setup_m68k_none_atari: setup_m68k_none_atari_real
+setup_m68k_none_atari_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-atari' FLAVOUR='atari' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.atari' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-atari' ARCH='m68k' COMPILER='gcc-4.1'
+setup_m68k_none_bvme6000: setup_m68k_none_bvme6000_real
+setup_m68k_none_bvme6000_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-bvme6000' FLAVOUR='bvme6000' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.bvme6000' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-bvme6000' ARCH='m68k' COMPILER='gcc-4.1'
+setup_m68k_none_mac: setup_m68k_none_mac_real
+setup_m68k_none_mac_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-mac' FLAVOUR='mac' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mac' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mac' ARCH='m68k' COMPILER='gcc-4.1'
+setup_m68k_none_mvme147: setup_m68k_none_mvme147_real
+setup_m68k_none_mvme147_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-mvme147' FLAVOUR='mvme147' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mvme147' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mvme147' ARCH='m68k' COMPILER='gcc-4.1'
+setup_m68k_none_mvme16x: setup_m68k_none_mvme16x_real
+setup_m68k_none_mvme16x_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-mvme16x' FLAVOUR='mvme16x' KCONFIG='debian/config/config debian/config/m68k/config debian/config/m68k/config.mvme16x' LOCALVERSION_HEADERS='' KERNEL_ARCH='m68k' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='m68k' FEATURESET='none' TYPE='plain' LOCALVERSION='-mvme16x' ARCH='m68k' COMPILER='gcc-4.1'
+setup_m68k_none_real:
+setup_m68k_real:
+setup_mips: setup_mips_none setup_mips_real
+setup_mips_none: setup_mips_none_4kc-malta setup_mips_none_5kc-malta setup_mips_none_r4k-ip22 setup_mips_none_r5k-ip32 setup_mips_none_real setup_mips_none_sb1-bcm91250a setup_mips_none_sb1a-bcm91480b
+setup_mips_none_4kc-malta: setup_mips_none_4kc-malta_real
+setup_mips_none_4kc-malta_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-4kc-malta' FLAVOUR='4kc-malta' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.4kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-4kc-malta' ARCH='mips' COMPILER='gcc-4.1'
+setup_mips_none_5kc-malta: setup_mips_none_5kc-malta_real
+setup_mips_none_5kc-malta_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-5kc-malta' FLAVOUR='5kc-malta' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.5kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-5kc-malta' ARCH='mips' COMPILER='gcc-4.1'
+setup_mips_none_r4k-ip22: setup_mips_none_r4k-ip22_real
+setup_mips_none_r4k-ip22_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-r4k-ip22' FLAVOUR='r4k-ip22' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.r4k-ip22' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r4k-ip22' ARCH='mips' COMPILER='gcc-4.1'
+setup_mips_none_r5k-ip32: setup_mips_none_r5k-ip32_real
+setup_mips_none_r5k-ip32_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-r5k-ip32' FLAVOUR='r5k-ip32' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.r5k-ip32' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r5k-ip32' ARCH='mips' COMPILER='gcc-4.1'
+setup_mips_none_real:
+setup_mips_none_sb1-bcm91250a: setup_mips_none_sb1-bcm91250a_real
+setup_mips_none_sb1-bcm91250a_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-sb1-bcm91250a' FLAVOUR='sb1-bcm91250a' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.sb1-bcm91250a' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1-bcm91250a' ARCH='mips' COMPILER='gcc-4.1'
+setup_mips_none_sb1a-bcm91480b: setup_mips_none_sb1a-bcm91480b_real
+setup_mips_none_sb1a-bcm91480b_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-sb1a-bcm91480b' FLAVOUR='sb1a-bcm91480b' KCONFIG='debian/config/config debian/config/mips/config debian/config/mips/config.sb1a-bcm91480b' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1a-bcm91480b' ARCH='mips' COMPILER='gcc-4.1'
+setup_mips_real:
+setup_mipsel: setup_mipsel_none setup_mipsel_real
+setup_mipsel_none: setup_mipsel_none_4kc-malta setup_mipsel_none_5kc-malta setup_mipsel_none_r5k-cobalt setup_mipsel_none_real setup_mipsel_none_sb1-bcm91250a setup_mipsel_none_sb1a-bcm91480b
+setup_mipsel_none_4kc-malta: setup_mipsel_none_4kc-malta_real
+setup_mipsel_none_4kc-malta_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-4kc-malta' FLAVOUR='4kc-malta' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.4kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-4kc-malta' ARCH='mipsel' COMPILER='gcc-4.1'
+setup_mipsel_none_5kc-malta: setup_mipsel_none_5kc-malta_real
+setup_mipsel_none_5kc-malta_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-5kc-malta' FLAVOUR='5kc-malta' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.5kc-malta' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-5kc-malta' ARCH='mipsel' COMPILER='gcc-4.1'
+setup_mipsel_none_r5k-cobalt: setup_mipsel_none_r5k-cobalt_real
+setup_mipsel_none_r5k-cobalt_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-r5k-cobalt' FLAVOUR='r5k-cobalt' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.r5k-cobalt' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-r5k-cobalt' ARCH='mipsel' COMPILER='gcc-4.1'
+setup_mipsel_none_real:
+setup_mipsel_none_sb1-bcm91250a: setup_mipsel_none_sb1-bcm91250a_real
+setup_mipsel_none_sb1-bcm91250a_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-sb1-bcm91250a' FLAVOUR='sb1-bcm91250a' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.sb1-bcm91250a' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1-bcm91250a' ARCH='mipsel' COMPILER='gcc-4.1'
+setup_mipsel_none_sb1a-bcm91480b: setup_mipsel_none_sb1a-bcm91480b_real
+setup_mipsel_none_sb1a-bcm91480b_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-sb1a-bcm91480b' FLAVOUR='sb1a-bcm91480b' KCONFIG='debian/config/config debian/config/mipsel/config debian/config/mipsel/config.sb1a-bcm91480b' LOCALVERSION_HEADERS='' KERNEL_ARCH='mips' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='mips' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sb1a-bcm91480b' ARCH='mipsel' COMPILER='gcc-4.1'
+setup_mipsel_real:
+setup_powerpc: setup_powerpc_none setup_powerpc_real setup_powerpc_vserver
+setup_powerpc_none: setup_powerpc_none_powerpc setup_powerpc_none_powerpc-smp setup_powerpc_none_powerpc64 setup_powerpc_none_real
+setup_powerpc_none_powerpc: setup_powerpc_none_powerpc_real
+setup_powerpc_none_powerpc-smp: setup_powerpc_none_powerpc-smp_real
+setup_powerpc_none_powerpc-smp_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc-smp' FLAVOUR='powerpc-smp' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc-smp' ARCH='powerpc' COMPILER='gcc-4.1'
+setup_powerpc_none_powerpc64: setup_powerpc_none_powerpc64_real
+setup_powerpc_none_powerpc64_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc64' FLAVOUR='powerpc64' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc64' ARCH='powerpc' COMPILER='gcc-4.1'
+setup_powerpc_none_powerpc_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-powerpc' FLAVOUR='powerpc' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc' LOCALVERSION_HEADERS='' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-powerpc' ARCH='powerpc' COMPILER='gcc-4.1'
+setup_powerpc_none_real:
+setup_powerpc_real:
+setup_powerpc_vserver: setup_powerpc_vserver_powerpc setup_powerpc_vserver_powerpc64 setup_powerpc_vserver_real
+setup_powerpc_vserver_powerpc: setup_powerpc_vserver_powerpc_real
+setup_powerpc_vserver_powerpc64: setup_powerpc_vserver_powerpc64_real
+setup_powerpc_vserver_powerpc64_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-powerpc64' FLAVOUR='powerpc64' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc64 debian/config/featureset-vserver/config debian/config/powerpc/config.powerpc64' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-powerpc64' ARCH='powerpc' COMPILER='gcc-4.1'
+setup_powerpc_vserver_powerpc_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-powerpc' FLAVOUR='powerpc' KCONFIG='debian/config/config debian/config/powerpc/config debian/config/powerpc/config.powerpc debian/config/featureset-vserver/config debian/config/powerpc/config.powerpc-smp' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='powerpc' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-powerpc' ARCH='powerpc' COMPILER='gcc-4.1'
+setup_powerpc_vserver_real:
+setup_s390: setup_s390_none setup_s390_real setup_s390_vserver
+setup_s390_none: setup_s390_none_real setup_s390_none_s390 setup_s390_none_s390-tape setup_s390_none_s390x
+setup_s390_none_real:
+setup_s390_none_s390: setup_s390_none_s390_real
+setup_s390_none_s390-tape: setup_s390_none_s390-tape_real
+setup_s390_none_s390-tape_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-s390' FLAVOUR='s390-tape' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390-tape' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' INITRAMFS='False' KERNEL_HEADER_DIRS='s390' FEATURESET='none' TYPE='plain-s390-tape' LOCALVERSION='-s390-tape' ARCH='s390' COMPILER='gcc-4.1'
+setup_s390_none_s390_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-s390' FLAVOUR='s390' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-s390' ARCH='s390' COMPILER='gcc-4.1'
+setup_s390_none_s390x: setup_s390_none_s390x_real
+setup_s390_none_s390x_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-s390x' FLAVOUR='s390x' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390x' LOCALVERSION_HEADERS='' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='plain' LOCALVERSION='-s390x' ARCH='s390' COMPILER='gcc-4.1'
+setup_s390_real:
+setup_s390_vserver: setup_s390_vserver_real setup_s390_vserver_s390x
+setup_s390_vserver_real:
+setup_s390_vserver_s390x: setup_s390_vserver_s390x_real
+setup_s390_vserver_s390x_real::
+	$(MAKE) -f debian/rules.real setup-flavour MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-s390x' FLAVOUR='s390x' KCONFIG='debian/config/config debian/config/s390/config debian/config/s390/config.s390x debian/config/featureset-vserver/config' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='s390' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='plain' LOCALVERSION='-vserver-s390x' ARCH='s390' COMPILER='gcc-4.1'
+setup_sparc: setup_sparc_none setup_sparc_real setup_sparc_vserver
+setup_sparc_none: setup_sparc_none_real setup_sparc_none_sparc64 setup_sparc_none_sparc64-smp
+setup_sparc_none_real:
+setup_sparc_none_sparc64: setup_sparc_none_sparc64_real
+setup_sparc_none_sparc64-smp: setup_sparc_none_sparc64-smp_real
+setup_sparc_none_sparc64-smp_real::
+	$(MAKE) -f debian/rules.real setup-flavour KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-sparc64-smp' FLAVOUR='sparc64-smp' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64-smp' LOCALVERSION_HEADERS='' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sparc64-smp' ARCH='sparc' COMPILER='gcc-4.1'
+setup_sparc_none_sparc64_real::
+	$(MAKE) -f debian/rules.real setup-flavour KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-sparc64' FLAVOUR='sparc64' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64' LOCALVERSION_HEADERS='' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='none' TYPE='kernel-package' LOCALVERSION='-sparc64' ARCH='sparc' COMPILER='gcc-4.1'
+setup_sparc_real:
+setup_sparc_vserver: setup_sparc_vserver_real setup_sparc_vserver_sparc64
+setup_sparc_vserver_real:
+setup_sparc_vserver_sparc64: setup_sparc_vserver_sparc64_real
+setup_sparc_vserver_sparc64_real::
+	$(MAKE) -f debian/rules.real setup-flavour KPKG_SUBARCH='sparc64' MAJOR='2.6' LOCALVERSION_IMAGE='-vserver-sparc64' FLAVOUR='sparc64' KCONFIG='debian/config/config debian/config/sparc/config debian/config/sparc/config.sparc64 debian/config/featureset-vserver/config debian/config/sparc/config.sparc64-smp' LOCALVERSION_HEADERS='-vserver' KERNEL_ARCH='sparc64' UPSTREAMVERSION='2.6.26' MODULES='True' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' ABINAME='-bpo.2' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' INITRD_CMD='mkinitramfs-kpkg mkinitrd.yaird' FEATURESET='vserver' TYPE='kernel-package' LOCALVERSION='-vserver-sparc64' ARCH='sparc' COMPILER='gcc-4.1'
+source: source_alpha source_amd64 source_arm source_armel source_hppa source_i386 source_ia64 source_m68k source_mips source_mipsel source_powerpc source_s390 source_sparc
+source_alpha: source_alpha_none source_alpha_real
+source_alpha_none: source_alpha_none_alpha-generic source_alpha_none_alpha-legacy source_alpha_none_alpha-smp source_alpha_none_real
+source_alpha_none_alpha-generic: source_alpha_none_alpha-generic_real
+source_alpha_none_alpha-generic_real:
+source_alpha_none_alpha-legacy: source_alpha_none_alpha-legacy_real
+source_alpha_none_alpha-legacy_real:
+source_alpha_none_alpha-smp: source_alpha_none_alpha-smp_real
+source_alpha_none_alpha-smp_real:
+source_alpha_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='alpha' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='alpha' LIBC_DEV_ARCH='alpha'
+source_alpha_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='alpha' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='alpha'
+source_amd64: source_amd64_none source_amd64_openvz source_amd64_real source_amd64_vserver source_amd64_xen
+source_amd64_none: source_amd64_none_amd64 source_amd64_none_real
+source_amd64_none_amd64: source_amd64_none_amd64_real
+source_amd64_none_amd64_real:
+source_amd64_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='amd64' LIBC_DEV_ARCH='x86'
+source_amd64_openvz: source_amd64_openvz_amd64 source_amd64_openvz_real
+source_amd64_openvz_amd64: source_amd64_openvz_amd64_real
+source_amd64_openvz_amd64_real:
+source_amd64_openvz_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-openvz' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='openvz' ARCH='amd64' LIBC_DEV_ARCH='x86'
+source_amd64_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='amd64'
+source_amd64_vserver: source_amd64_vserver_amd64 source_amd64_vserver_real
+source_amd64_vserver_amd64: source_amd64_vserver_amd64_real
+source_amd64_vserver_amd64_real:
+source_amd64_vserver_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='amd64' LIBC_DEV_ARCH='x86'
+source_amd64_xen: source_amd64_xen_amd64 source_amd64_xen_real
+source_amd64_xen_amd64: source_amd64_xen_amd64_real
+source_amd64_xen_amd64_real:
+source_amd64_xen_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-xen' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='xen' ARCH='amd64' LIBC_DEV_ARCH='x86'
+source_arm: source_arm_none source_arm_real
+source_arm_none: source_arm_none_footbridge source_arm_none_iop32x source_arm_none_ixp4xx source_arm_none_orion5x source_arm_none_real
+source_arm_none_footbridge: source_arm_none_footbridge_real
+source_arm_none_footbridge_real:
+source_arm_none_iop32x: source_arm_none_iop32x_real
+source_arm_none_iop32x_real:
+source_arm_none_ixp4xx: source_arm_none_ixp4xx_real
+source_arm_none_ixp4xx_real:
+source_arm_none_orion5x: source_arm_none_orion5x_real
+source_arm_none_orion5x_real:
+source_arm_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='arm' LIBC_DEV_ARCH='arm'
+source_arm_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='arm'
+source_armel: source_armel_none source_armel_real
+source_armel_none: source_armel_none_iop32x source_armel_none_ixp4xx source_armel_none_orion5x source_armel_none_real source_armel_none_versatile
+source_armel_none_iop32x: source_armel_none_iop32x_real
+source_armel_none_iop32x_real:
+source_armel_none_ixp4xx: source_armel_none_ixp4xx_real
+source_armel_none_ixp4xx_real:
+source_armel_none_orion5x: source_armel_none_orion5x_real
+source_armel_none_orion5x_real:
+source_armel_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='arm' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='armel' LIBC_DEV_ARCH='arm'
+source_armel_none_versatile: source_armel_none_versatile_real
+source_armel_none_versatile_real:
+source_armel_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='arm' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='armel'
+source_hppa: source_hppa_none source_hppa_real
+source_hppa_none: source_hppa_none_parisc source_hppa_none_parisc-smp source_hppa_none_parisc64 source_hppa_none_parisc64-smp source_hppa_none_real
+source_hppa_none_parisc: source_hppa_none_parisc_real
+source_hppa_none_parisc-smp: source_hppa_none_parisc-smp_real
+source_hppa_none_parisc-smp_real:
+source_hppa_none_parisc64: source_hppa_none_parisc64_real
+source_hppa_none_parisc64-smp: source_hppa_none_parisc64-smp_real
+source_hppa_none_parisc64-smp_real:
+source_hppa_none_parisc64_real:
+source_hppa_none_parisc_real:
+source_hppa_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='parisc' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='hppa' LIBC_DEV_ARCH='parisc'
+source_hppa_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='parisc' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='hppa'
+source_i386: source_i386_none source_i386_openvz source_i386_real source_i386_vserver source_i386_xen
+source_i386_none: source_i386_none_486 source_i386_none_686 source_i386_none_686-bigmem source_i386_none_amd64 source_i386_none_real
+source_i386_none_486: source_i386_none_486_real
+source_i386_none_486_real:
+source_i386_none_686: source_i386_none_686_real
+source_i386_none_686-bigmem: source_i386_none_686-bigmem_real
+source_i386_none_686-bigmem_real:
+source_i386_none_686_real:
+source_i386_none_amd64: source_i386_none_amd64_real
+source_i386_none_amd64_real:
+source_i386_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='i386' LIBC_DEV_ARCH='x86'
+source_i386_openvz: source_i386_openvz_686 source_i386_openvz_real
+source_i386_openvz_686: source_i386_openvz_686_real
+source_i386_openvz_686_real:
+source_i386_openvz_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-openvz' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='openvz' ARCH='i386' LIBC_DEV_ARCH='x86'
+source_i386_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='x86' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='i386'
+source_i386_vserver: source_i386_vserver_686 source_i386_vserver_686-bigmem source_i386_vserver_real
+source_i386_vserver_686: source_i386_vserver_686_real
+source_i386_vserver_686-bigmem: source_i386_vserver_686-bigmem_real
+source_i386_vserver_686-bigmem_real:
+source_i386_vserver_686_real:
+source_i386_vserver_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='i386' LIBC_DEV_ARCH='x86'
+source_i386_xen: source_i386_xen_686 source_i386_xen_real
+source_i386_xen_686: source_i386_xen_686_real
+source_i386_xen_686_real:
+source_i386_xen_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-xen' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='x86' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='xen' ARCH='i386' LIBC_DEV_ARCH='x86'
+source_ia64: source_ia64_none source_ia64_real source_ia64_vserver
+source_ia64_none: source_ia64_none_itanium source_ia64_none_mckinley source_ia64_none_real
+source_ia64_none_itanium: source_ia64_none_itanium_real
+source_ia64_none_itanium_real:
+source_ia64_none_mckinley: source_ia64_none_mckinley_real
+source_ia64_none_mckinley_real:
+source_ia64_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='ia64' LIBC_DEV_ARCH='ia64'
+source_ia64_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='ia64' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='ia64'
+source_ia64_vserver: source_ia64_vserver_itanium source_ia64_vserver_mckinley source_ia64_vserver_real
+source_ia64_vserver_itanium: source_ia64_vserver_itanium_real
+source_ia64_vserver_itanium_real:
+source_ia64_vserver_mckinley: source_ia64_vserver_mckinley_real
+source_ia64_vserver_mckinley_real:
+source_ia64_vserver_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='ia64' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='ia64' LIBC_DEV_ARCH='ia64'
+source_m68k: source_m68k_none source_m68k_real
+source_m68k_none: source_m68k_none_amiga source_m68k_none_atari source_m68k_none_bvme6000 source_m68k_none_mac source_m68k_none_mvme147 source_m68k_none_mvme16x source_m68k_none_real
+source_m68k_none_amiga: source_m68k_none_amiga_real
+source_m68k_none_amiga_real:
+source_m68k_none_atari: source_m68k_none_atari_real
+source_m68k_none_atari_real:
+source_m68k_none_bvme6000: source_m68k_none_bvme6000_real
+source_m68k_none_bvme6000_real:
+source_m68k_none_mac: source_m68k_none_mac_real
+source_m68k_none_mac_real:
+source_m68k_none_mvme147: source_m68k_none_mvme147_real
+source_m68k_none_mvme147_real:
+source_m68k_none_mvme16x: source_m68k_none_mvme16x_real
+source_m68k_none_mvme16x_real:
+source_m68k_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='m68k' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='m68k' LIBC_DEV_ARCH='m68k'
+source_m68k_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='m68k' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='m68k'
+source_mips: source_mips_none source_mips_real
+source_mips_none: source_mips_none_4kc-malta source_mips_none_5kc-malta source_mips_none_r4k-ip22 source_mips_none_r5k-ip32 source_mips_none_real source_mips_none_sb1-bcm91250a source_mips_none_sb1a-bcm91480b
+source_mips_none_4kc-malta: source_mips_none_4kc-malta_real
+source_mips_none_4kc-malta_real:
+source_mips_none_5kc-malta: source_mips_none_5kc-malta_real
+source_mips_none_5kc-malta_real:
+source_mips_none_r4k-ip22: source_mips_none_r4k-ip22_real
+source_mips_none_r4k-ip22_real:
+source_mips_none_r5k-ip32: source_mips_none_r5k-ip32_real
+source_mips_none_r5k-ip32_real:
+source_mips_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='mips' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='mips' LIBC_DEV_ARCH='mips'
+source_mips_none_sb1-bcm91250a: source_mips_none_sb1-bcm91250a_real
+source_mips_none_sb1-bcm91250a_real:
+source_mips_none_sb1a-bcm91480b: source_mips_none_sb1a-bcm91480b_real
+source_mips_none_sb1a-bcm91480b_real:
+source_mips_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='mips'
+source_mipsel: source_mipsel_none source_mipsel_real
+source_mipsel_none: source_mipsel_none_4kc-malta source_mipsel_none_5kc-malta source_mipsel_none_r5k-cobalt source_mipsel_none_real source_mipsel_none_sb1-bcm91250a source_mipsel_none_sb1a-bcm91480b
+source_mipsel_none_4kc-malta: source_mipsel_none_4kc-malta_real
+source_mipsel_none_4kc-malta_real:
+source_mipsel_none_5kc-malta: source_mipsel_none_5kc-malta_real
+source_mipsel_none_5kc-malta_real:
+source_mipsel_none_r5k-cobalt: source_mipsel_none_r5k-cobalt_real
+source_mipsel_none_r5k-cobalt_real:
+source_mipsel_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='mips' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='mipsel' LIBC_DEV_ARCH='mips'
+source_mipsel_none_sb1-bcm91250a: source_mipsel_none_sb1-bcm91250a_real
+source_mipsel_none_sb1-bcm91250a_real:
+source_mipsel_none_sb1a-bcm91480b: source_mipsel_none_sb1a-bcm91480b_real
+source_mipsel_none_sb1a-bcm91480b_real:
+source_mipsel_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='mips' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='mipsel'
+source_powerpc: source_powerpc_none source_powerpc_real source_powerpc_vserver
+source_powerpc_none: source_powerpc_none_powerpc source_powerpc_none_powerpc-smp source_powerpc_none_powerpc64 source_powerpc_none_real
+source_powerpc_none_powerpc: source_powerpc_none_powerpc_real
+source_powerpc_none_powerpc-smp: source_powerpc_none_powerpc-smp_real
+source_powerpc_none_powerpc-smp_real:
+source_powerpc_none_powerpc64: source_powerpc_none_powerpc64_real
+source_powerpc_none_powerpc64_real:
+source_powerpc_none_powerpc_real:
+source_powerpc_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='powerpc' LIBC_DEV_ARCH='powerpc'
+source_powerpc_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='powerpc' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='powerpc'
+source_powerpc_vserver: source_powerpc_vserver_powerpc source_powerpc_vserver_powerpc64 source_powerpc_vserver_real
+source_powerpc_vserver_powerpc: source_powerpc_vserver_powerpc_real
+source_powerpc_vserver_powerpc64: source_powerpc_vserver_powerpc64_real
+source_powerpc_vserver_powerpc64_real:
+source_powerpc_vserver_powerpc_real:
+source_powerpc_vserver_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='powerpc' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='powerpc' LIBC_DEV_ARCH='powerpc'
+source_s390: source_s390_none source_s390_real source_s390_vserver
+source_s390_none: source_s390_none_real source_s390_none_s390 source_s390_none_s390-tape source_s390_none_s390x
+source_s390_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='s390' LIBC_DEV_ARCH='s390'
+source_s390_none_s390: source_s390_none_s390_real
+source_s390_none_s390-tape: source_s390_none_s390-tape_real
+source_s390_none_s390-tape_real:
+source_s390_none_s390_real:
+source_s390_none_s390x: source_s390_none_s390x_real
+source_s390_none_s390x_real:
+source_s390_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='s390' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='s390'
+source_s390_vserver: source_s390_vserver_real source_s390_vserver_s390x
+source_s390_vserver_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='s390' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='s390' LIBC_DEV_ARCH='s390'
+source_s390_vserver_s390x: source_s390_vserver_s390x_real
+source_s390_vserver_s390x_real:
+source_sparc: source_sparc_none source_sparc_real source_sparc_vserver
+source_sparc_none: source_sparc_none_real source_sparc_none_sparc64 source_sparc_none_sparc64-smp
+source_sparc_none_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='none' ARCH='sparc' LIBC_DEV_ARCH='sparc64'
+source_sparc_none_sparc64: source_sparc_none_sparc64_real
+source_sparc_none_sparc64-smp: source_sparc_none_sparc64-smp_real
+source_sparc_none_sparc64-smp_real:
+source_sparc_none_sparc64_real:
+source_sparc_real::
+	$(MAKE) -f debian/rules.real source-arch MAJOR='2.6' UPSTREAMVERSION='2.6.26' LIBC_DEV_ARCH='sparc64' SOURCEVERSION='2.6.26-21~bpo40+1' VERSION='2.6.26' ABINAME='-bpo.2' ARCH='sparc'
+source_sparc_vserver: source_sparc_vserver_real source_sparc_vserver_sparc64
+source_sparc_vserver_real::
+	$(MAKE) -f debian/rules.real source-featureset SOURCEVERSION='2.6.26-21~bpo40+1' LOCALVERSION_HEADERS='-vserver' MAJOR='2.6' VERSION='2.6.26' KERNEL_HEADER_DIRS='sparc sparc64' ABINAME='-bpo.2' UPSTREAMVERSION='2.6.26' FEATURESET='vserver' ARCH='sparc' LIBC_DEV_ARCH='sparc64'
+source_sparc_vserver_sparc64: source_sparc_vserver_sparc64_real
+source_sparc_vserver_sparc64_real:
--- linux-2.6-2.6.26.orig/debian/control.md5sum
+++ linux-2.6-2.6.26/debian/control.md5sum
@@ -0,0 +1,49 @@
+e8b7a815c3b040df6a374dfb48742d18  debian/bin/gencontrol.py
+f474f2682c0c3bf1fb2892d42b3783ed  debian/changelog
+b03fc21d793f816656583bfe51a7aad9  debian/templates/control.headers.arch.in
+5fe3b5d1773215784999798e43983417  debian/templates/control.headers.featureset.in
+67f69c80f515d17abf5650fc68c700df  debian/templates/control.headers.in
+057ce4c9b80b6f2b3f99e67ce96b6077  debian/templates/control.image.type-kernel-package.in
+9a43d908097a9023564042985320b2bc  debian/templates/control.image.type-modulesextra.in
+98af2c1353ceb55ee08d85f1a4f88812  debian/templates/control.image.type-modulesinline.in
+057ce4c9b80b6f2b3f99e67ce96b6077  debian/templates/control.image.type-plain.in
+15d08a952d81e95fd8a59d73e01d3ad6  debian/templates/control.image.type-standalone.in
+984d086910e8f7c61ec2fe14858e0bba  debian/templates/control.libc-dev.in
+a853d945f131e7d651c944009b1cac54  debian/templates/control.main.in
+a0182cb2e02c5958398a7c201731be4e  debian/templates/control.source.in
+5354f1ca543d5ff505d99c31d8892eb7  debian/templates/control.support.in
+3974916db441fa27f00640664f1d4838  debian/templates/control.tree.in
+55d7087334b22d08d040bb11def84833  debian/templates/control.xen-linux-system.in
+e78ef4f93e1efb9c4d89b6367d9c3a30  debian/templates/image.xen.postinst.in
+1cb81b60bfe6b79fd6613ae102fe7217  debian/templates/image.xen.postrm.in
+3ad85bca8ade992de90953d5c846c9e9  debian/templates/image.xen.prerm.in
+7e01eb8fa0e77dd00eade16ce251468c  debian/templates/patch.apply.in
+b0d4c1a2a72f3d2f66e4ba1bb50325ad  debian/config/defines
+743b2ce43a91bc3357d9ca4e6ab794cb  debian/config/alpha/defines
+f7ac8a94e33ae4ce37df35ea160ca074  debian/config/amd64/defines
+ca3dcb9f91edffcc20492c4f34f1c251  debian/config/arm/defines
+2eee189e72d140ef77b8e60743735906  debian/config/armel/defines
+b3dfb56c9c8544283d8fcecab0f053f3  debian/config/featureset-openvz/defines
+e2d04fbf4973469d23610c1b6d0f67c1  debian/config/featureset-vserver/defines
+b4af04ce6a5ad1b7dfb3698e0a31d82f  debian/config/featureset-xen/defines
+4246e2a18767914d9f935ee397f50a3a  debian/config/featureset-xen-vserver/defines
+106d53473ba35406bb55ac154bc5e297  debian/config/hppa/defines
+dcf08f3822338a9bf578b0da2418ceac  debian/config/i386/defines
+8ef6a28eb5a2a87f4f0ad699fc3440d7  debian/config/ia64/defines
+28531a87a7927d5839eda2ba8b1f4c67  debian/config/m68k/defines
+8544cd091ad54aaa6e68b38d14a54ba9  debian/config/mips/defines
+2c5b01b5fe0ccf594d637e8366a36a90  debian/config/mipsel/defines
+69dfdb36569b39c680f511478cdefd82  debian/config/powerpc/defines
+d7adcc7045b62d050d6073e64c8da46c  debian/config/s390/defines
+93b87ca53be5cfe4a77ab1fa0ae047a3  debian/config/sparc/defines
+610d1efc57fd488bf79930a8eb2e4b47  debian/config/alpha/vserver/defines
+46721fa264c40a0daa399e47fa9d30e5  debian/config/amd64/openvz/defines
+46721fa264c40a0daa399e47fa9d30e5  debian/config/amd64/vserver/defines
+626d9265630dc8a696dff917d24528bf  debian/config/amd64/xen/defines
+9ce63dd692a451939f7c3dedb0da6ad3  debian/config/i386/openvz/defines
+016170a8674efb47a71f8a4e539affc2  debian/config/i386/vserver/defines
+ec5ad864eb6219807aed5892fccb1e04  debian/config/i386/xen/defines
+ce862f2fd6224847ead1860fe13c0034  debian/config/ia64/vserver/defines
+b101542c5fee8434db513161755e1baf  debian/config/powerpc/vserver/defines
+209b62be5394ff27d63a9fbc6fd90f76  debian/config/s390/vserver/defines
+2a3c4734b82c742bf215d809d8cbc0fe  debian/config/sparc/vserver/defines
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-bpo.2-xen-amd64.postinst
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-bpo.2-xen-amd64.postinst
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    configure)
+        if [ "$2" ]; then
+            update-initramfs -u -k 2.6.26-bpo.2-xen-amd64
+        else
+            update-initramfs -c -t -k 2.6.26-bpo.2-xen-amd64
+            command -v update-grub > /dev/null && update-grub
+        fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-bpo.2-xen-amd64.postrm
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-bpo.2-xen-amd64.postrm
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    remove)
+        command -v update-grub > /dev/null && update-grub
+    ;;
+
+    purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-bpo.2-xen-amd64.prerm
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-bpo.2-xen-amd64.prerm
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    remove)
+        update-initramfs -d -k 2.6.26-bpo.2-xen-amd64 || true
+    ;;
+
+    upgrade|deconfigure|failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-bpo.2-xen-686.postinst
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-bpo.2-xen-686.postinst
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    configure)
+        if [ "$2" ]; then
+            update-initramfs -u -k 2.6.26-bpo.2-xen-686
+        else
+            update-initramfs -c -t -k 2.6.26-bpo.2-xen-686
+            command -v update-grub > /dev/null && update-grub
+        fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-bpo.2-xen-686.postrm
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-bpo.2-xen-686.postrm
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    remove)
+        command -v update-grub > /dev/null && update-grub
+    ;;
+
+    purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
--- linux-2.6-2.6.26.orig/debian/linux-image-2.6.26-bpo.2-xen-686.prerm
+++ linux-2.6-2.6.26/debian/linux-image-2.6.26-bpo.2-xen-686.prerm
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    remove)
+        update-initramfs -d -k 2.6.26-bpo.2-xen-686 || true
+    ;;
+
+    upgrade|deconfigure|failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
--- linux-2.6-2.6.26.orig/debian/config/config
+++ linux-2.6-2.6.26/debian/config/config
@@ -0,0 +1,2628 @@
+##
+## file: block/Kconfig
+##
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_LSF=y
+CONFIG_BLK_DEV_BSG=y
+
+##
+## file: block/Kconfig.iosched
+##
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+## choice: Default I/O scheduler
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+## end choice
+
+##
+## file: crypto/Kconfig
+##
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_LZO=m
+
+##
+## file: drivers/accessibility/Kconfig
+##
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+CONFIG_SATA_INIC162X=m
+# CONFIG_PATA_ACPI is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+CONFIG_PATA_ARTOP=m
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+CONFIG_ATA_GENERIC=m
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_ISAPNP is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_LEGACY is not set
+# CONFIG_PATA_TRIFLEX is not set
+CONFIG_PATA_MARVELL=m
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PCMCIA is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_QDI is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+CONFIG_PATA_SIS=m
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+# CONFIG_PATA_WINBOND_VLB is not set
+CONFIG_PATA_SCH=m
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DUMMY=m
+
+##
+## file: drivers/auxdisplay/Kconfig
+##
+# CONFIG_AUXDISPLAY is not set
+
+##
+## file: drivers/base/Kconfig
+##
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_ATA_OVER_ETH=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART_LL=y
+
+##
+## file: drivers/char/Kconfig
+##
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+CONFIG_COMPUTONE=m
+CONFIG_MOXA_SMARTIO=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_RISCOM8=m
+CONFIG_NOZOMI=m
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_R3964 is not set
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TELCLOCK=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+
+##
+## file: drivers/char/hw_random/Kconfig
+##
+# CONFIG_HW_RANDOM is not set
+CONFIG_HW_RANDOM_VIRTIO=m
+
+##
+## file: drivers/char/pcmcia/Kconfig
+##
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+
+##
+## file: drivers/connector/Kconfig
+##
+CONFIG_CONNECTOR=m
+
+##
+## file: drivers/crypto/Kconfig
+##
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+
+##
+## file: drivers/edac/Kconfig
+##
+CONFIG_EDAC_I82975X=m
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/Kconfig
+##
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+# CONFIG_HID_DEBUG is not set
+CONFIG_HIDRAW=y
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_HID_FF=y
+CONFIG_HID_PID=y
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_PANTHERLORD_FF=y
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_ZEROPLUS_FF=y
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7473=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_PCA_PLATFORM=m
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_DS1682=m
+CONFIG_PCF8575=m
+CONFIG_SENSORS_PCA9539=m
+CONFIG_TPS65010=m
+CONFIG_SENSORS_MAX6875=m
+CONFIG_SENSORS_TSL2550=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_BLK_DEV_DELKIN=m
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+# CONFIG_BLK_DEV_PLATFORM is not set
+CONFIG_BLK_DEV_JMICRON=m
+CONFIG_BLK_DEV_IT8213=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_TC86C001=m
+# CONFIG_BLK_DEV_HD_ONLY is not set
+
+##
+## file: drivers/ieee1394/Kconfig
+##
+CONFIG_IEEE1394=m
+CONFIG_IEEE1394_OHCI1394=m
+CONFIG_IEEE1394_PCILYNX=m
+CONFIG_IEEE1394_SBP2=m
+# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
+CONFIG_IEEE1394_ETH1394=m
+CONFIG_IEEE1394_RAWIO=m
+CONFIG_IEEE1394_VIDEO1394=m
+CONFIG_IEEE1394_DV1394=m
+# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+
+##
+## file: drivers/infiniband/hw/amso1100/Kconfig
+##
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+
+##
+## file: drivers/infiniband/hw/cxgb3/Kconfig
+##
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
+
+##
+## file: drivers/infiniband/hw/ipath/Kconfig
+##
+CONFIG_INFINIBAND_IPATH=m
+
+##
+## file: drivers/infiniband/hw/mlx4/Kconfig
+##
+CONFIG_MLX4_INFINIBAND=m
+
+##
+## file: drivers/infiniband/hw/mthca/Kconfig
+##
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+
+##
+## file: drivers/infiniband/hw/nes/Kconfig
+##
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+
+##
+## file: drivers/infiniband/ulp/ipoib/Kconfig
+##
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+
+##
+## file: drivers/infiniband/ulp/iser/Kconfig
+##
+CONFIG_INFINIBAND_ISER=m
+
+##
+## file: drivers/infiniband/ulp/srp/Kconfig
+##
+CONFIG_INFINIBAND_SRP=m
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_KEYBOARD_STOWAWAY=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2_ALPS=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+
+##
+## file: drivers/isdn/gigaset/Kconfig
+##
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_GIGASET_UNDOCREQ is not set
+
+##
+## file: drivers/isdn/hysdn/Kconfig
+##
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+
+##
+## file: drivers/leds/Kconfig
+##
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+CONFIG_LEDS_NET48XX=m
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+CONFIG_DM_MULTIPATH_RDAC=m
+CONFIG_DM_MULTIPATH_HP=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+##
+## file: drivers/media/common/tuners/Kconfig
+##
+CONFIG_MEDIA_ATTACH=y
+# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TEA5761=y
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+
+##
+## file: drivers/media/dvb/Kconfig
+##
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+##
+## file: drivers/media/dvb/b2c2/Kconfig
+##
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+##
+## file: drivers/media/dvb/bt8xx/Kconfig
+##
+CONFIG_DVB_BT8XX=m
+
+##
+## file: drivers/media/dvb/cinergyT2/Kconfig
+##
+CONFIG_DVB_CINERGYT2=m
+# CONFIG_DVB_CINERGYT2_TUNING is not set
+
+##
+## file: drivers/media/dvb/dvb-usb/Kconfig
+##
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+
+##
+## file: drivers/media/dvb/frontends/Kconfig
+##
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+
+##
+## file: drivers/media/dvb/pluto2/Kconfig
+##
+CONFIG_DVB_PLUTO2=m
+
+##
+## file: drivers/media/dvb/ttpci/Kconfig
+##
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+##
+## file: drivers/media/dvb/ttusb-budget/Kconfig
+##
+CONFIG_DVB_TTUSB_BUDGET=m
+
+##
+## file: drivers/media/dvb/ttusb-dec/Kconfig
+##
+CONFIG_DVB_TTUSB_DEC=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_USB_SI470X=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_TLV320AIC23B=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA7111=m
+CONFIG_VIDEO_SAA7114=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_SAA6588=m
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MEYE=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9V022=m
+
+##
+## file: drivers/media/video/au0828/Kconfig
+##
+CONFIG_VIDEO_AU0828=m
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+
+##
+## file: drivers/media/video/cpia2/Kconfig
+##
+CONFIG_VIDEO_CPIA2=m
+
+##
+## file: drivers/media/video/cx18/Kconfig
+##
+CONFIG_VIDEO_CX18=m
+
+##
+## file: drivers/media/video/cx23885/Kconfig
+##
+CONFIG_VIDEO_CX23885=m
+
+##
+## file: drivers/media/video/cx25840/Kconfig
+##
+CONFIG_VIDEO_CX25840=m
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/ivtv/Kconfig
+##
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_FB_IVTV=m
+
+##
+## file: drivers/media/video/pvrusb2/Kconfig
+##
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC_DEBUG is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_QUICKCAM_MESSENGER=m
+
+##
+## file: drivers/media/video/usbvision/Kconfig
+##
+CONFIG_VIDEO_USBVISION=m
+
+##
+## file: drivers/media/video/uvc/Kconfig
+##
+CONFIG_USB_VIDEO_CLASS=m
+
+##
+## file: drivers/media/video/zc0301/Kconfig
+##
+CONFIG_USB_ZC0301=m
+
+##
+## file: drivers/memstick/Kconfig
+##
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+##
+## file: drivers/memstick/core/Kconfig
+##
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+##
+## file: drivers/memstick/host/Kconfig
+##
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
+# CONFIG_FUSION_LOGGING is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+
+##
+## file: drivers/mfd/Kconfig
+##
+CONFIG_MFD_SM501=m
+CONFIG_HTC_PASIC3=m
+
+##
+## file: drivers/misc/Kconfig
+##
+CONFIG_MISC_DEVICES=y
+CONFIG_EEPROM_93CX6=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_FUJITSU_LAPTOP=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_ENCLOSURE_SERVICES=m
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+##
+## file: drivers/mmc/core/Kconfig
+##
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+##
+## file: drivers/mmc/host/Kconfig
+##
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_RICOH_MMC=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SPI=m
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD_AR7_PARTS=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_MTD_OOPS=m
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+CONFIG_MTD_DATAFLASH=m
+CONFIG_MTD_M25P80=m
+CONFIG_M25PXX_USE_FAST_READ=y
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+# CONFIG_MTD_ESB2ROM is not set
+# CONFIG_MTD_CK804XROM is not set
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_CAFE=m
+CONFIG_MTD_NAND_CS553X=m
+CONFIG_MTD_ALAUDA=m
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+# CONFIG_MTD_ONENAND_OTP is not set
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+CONFIG_MTD_ONENAND_SIM=m
+
+##
+## file: drivers/mtd/ubi/Kconfig
+##
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_GLUEBI is not set
+
+##
+## file: drivers/mtd/ubi/Kconfig.debug
+##
+# CONFIG_MTD_UBI_DEBUG is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+CONFIG_IFB=m
+CONFIG_BONDING=m
+# CONFIG_MACVLAN is not set
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_CASSINI=m
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_PCNET32=m
+CONFIG_AMD8111E_NAPI=y
+CONFIG_ADAPTEC_STARFIRE_NAPI=y
+# CONFIG_FORCEDETH_NAPI is not set
+CONFIG_R6040=m
+CONFIG_VIA_RHINE_NAPI=y
+CONFIG_SC92031=m
+# CONFIG_NET_POCKET is not set
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_E1000E=m
+CONFIG_IP1000=m
+CONFIG_IGB=m
+CONFIG_R8169_NAPI=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_NETDEV_10000=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T1_NAPI=y
+CONFIG_CHELSIO_T3=m
+CONFIG_IXGBE=m
+CONFIG_IXGB=m
+CONFIG_IXGB_NAPI=y
+CONFIG_S2IO=m
+CONFIG_S2IO_NAPI=y
+CONFIG_MYRI10GE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NIU=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TEHUTI=m
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
+CONFIG_NETCONSOLE_DYNAMIC=y
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_DEV_APPLETALK=m
+
+##
+## file: drivers/net/can/Kconfig
+##
+CONFIG_CAN_VCAN=m
+# CONFIG_CAN_DEBUG_DEVICES is not set
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+CONFIG_MCS_FIR=m
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_FIXED_PHY=y
+CONFIG_MDIO_BITBANG=m
+
+##
+## file: drivers/net/sfc/Kconfig
+##
+CONFIG_SFC=m
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+CONFIG_TR=y
+CONFIG_IBMTR=m
+CONFIG_IBMOL=m
+CONFIG_IBMLS=m
+CONFIG_TMS380TR=m
+CONFIG_TMSPCI=m
+CONFIG_SKISA=m
+CONFIG_PROTEON=m
+CONFIG_ABYSS=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_TULIP_NAPI=y
+CONFIG_TULIP_NAPI_HW_MITIGATION=y
+CONFIG_ULI526X=m
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+CONFIG_HDLC_X25=m
+# CONFIG_PC300TOO is not set
+CONFIG_WAN_ROUTER_DRIVERS=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_AIRO=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_USB_ATMEL=m
+# CONFIG_PRISM54 is not set
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_ADM8211=m
+
+##
+## file: drivers/net/wireless/ath5k/Kconfig
+##
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+
+##
+## file: drivers/net/wireless/b43/Kconfig
+##
+CONFIG_B43=m
+CONFIG_B43_PCMCIA=y
+# CONFIG_B43_DEBUG is not set
+
+##
+## file: drivers/net/wireless/b43legacy/Kconfig
+##
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_DEBUG=y
+## choice: Broadcom 43xx-legacy data transfer mode
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+## end choice
+
+##
+## file: drivers/net/wireless/hostap/Kconfig
+##
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+
+##
+## file: drivers/net/wireless/iwlwifi/Kconfig
+##
+CONFIG_IWLWIFI_RFKILL=y
+CONFIG_IWL4965=m
+CONFIG_IWL4965_HT=y
+CONFIG_IWL4965_LEDS=y
+CONFIG_IWL4965_SPECTRUM_MEASUREMENT=y
+CONFIG_IWL4965_SENSITIVITY=y
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWL3945=m
+CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
+CONFIG_IWL3945_LEDS=y
+# CONFIG_IWL3945_DEBUG is not set
+
+##
+## file: drivers/net/wireless/p54/Kconfig
+##
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+
+##
+## file: drivers/net/wireless/rt2x00/Kconfig
+##
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2400PCI_RFKILL=y
+CONFIG_RT2400PCI_LEDS=y
+CONFIG_RT2500PCI=m
+CONFIG_RT2500PCI_RFKILL=y
+CONFIG_RT2500PCI_LEDS=y
+CONFIG_RT61PCI=m
+CONFIG_RT61PCI_RFKILL=y
+CONFIG_RT61PCI_LEDS=y
+CONFIG_RT2500USB=m
+CONFIG_RT2500USB_LEDS=y
+CONFIG_RT73USB=m
+CONFIG_RT73USB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+
+##
+## file: drivers/net/wireless/zd1211rw/Kconfig
+##
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+##
+## file: drivers/parport/Kconfig
+##
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+
+##
+## file: drivers/pci/Kconfig
+##
+CONFIG_PCI_LEGACY=y
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+CONFIG_HOTPLUG_PCI_CPCI=y
+
+##
+## file: drivers/pci/pcie/Kconfig
+##
+# CONFIG_PCIEASPM is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+
+##
+## file: drivers/power/Kconfig
+##
+# CONFIG_POWER_SUPPLY is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+# CONFIG_RTC_DRV_M41T80_WDT is not set
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_R9701=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_V3020=m
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_FC_TGT_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AHA1740=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_ADVANSYS=m
+# CONFIG_SCSI_ARCMSR_AER is not set
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_MVSAS=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_LPFC=m
+CONFIG_SCSI_SRP=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+
+##
+## file: drivers/scsi/libsas/Kconfig
+##
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+CONFIG_SCSI_QLA_ISCSI=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_FOURPORT=m
+CONFIG_SERIAL_8250_ACCENT=m
+CONFIG_SERIAL_8250_BOCA=m
+CONFIG_SERIAL_8250_HUB6=m
+CONFIG_SERIAL_8250_MCA=m
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_AT25=m
+# CONFIG_SPI_SPIDEV is not set
+CONFIG_SPI_TLE62X0=m
+
+##
+## file: drivers/ssb/Kconfig
+##
+CONFIG_SSB=m
+# CONFIG_SSB_DEBUG is not set
+
+##
+## file: drivers/uio/Kconfig
+##
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_SMX=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB_SUPPORT=y
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_WDM=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICE_CLASS=y
+
+##
+## file: drivers/usb/gadget/Kconfig
+##
+# CONFIG_USB_GADGET is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_ISP116X_HCD=m
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1760_PCI is not set
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_R8A66597_HCD=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_ISIGHTFW=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA_CON=y
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/serial/Kconfig
+##
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_AIRPRIME=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+# CONFIG_USB_SERIAL_TI is not set
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+CONFIG_USB_STORAGE_CYPRESS_ATACB=y
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FIRMWARE_EDID=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_ARC=m
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_NVIDIA_DEBUG is not set
+# CONFIG_FB_INTEL_DEBUG is not set
+CONFIG_FB_INTEL_I2C=y
+CONFIG_FB_S3=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_CYBLA=m
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_SM501=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_CORGI is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_VIDEO_SELECT=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+
+##
+## file: drivers/video/display/Kconfig
+##
+CONFIG_DISPLAY_SUPPORT=m
+
+##
+## file: drivers/w1/Kconfig
+##
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+##
+## file: drivers/w1/masters/Kconfig
+##
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+
+##
+## file: drivers/w1/slaves/Kconfig
+##
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=m
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_ITCO_WDT=m
+# CONFIG_ITCO_VENDOR_SUPPORT is not set
+CONFIG_PC87413_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4DEV_FS=m
+CONFIG_EXT4DEV_FS_XATTR=y
+CONFIG_EXT4DEV_FS_POSIX_ACL=y
+CONFIG_EXT4DEV_FS_SECURITY=y
+# CONFIG_JBD_DEBUG is not set
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+CONFIG_PRINT_QUOTA_WARNING=y
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_HUGETLBFS=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BFS_FS=m
+CONFIG_EFS_FS=m
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_FS_XATTR=y
+CONFIG_JFFS2_FS_POSIX_ACL=y
+CONFIG_JFFS2_FS_SECURITY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+## choice: JFFS2 default compression mode
+CONFIG_JFFS2_CMODE_PRIORITY=y
+## end choice
+CONFIG_CRAMFS=m
+CONFIG_VXFS_FS=m
+CONFIG_MINIX_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_ROMFS_FS=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_SUNRPC_BIND34=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+# CONFIG_SMB_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_EXPERIMENTAL=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_NCP_FS=m
+CONFIG_CODA_FS=m
+# CONFIG_CODA_FS_OLD_API is not set
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_9P_FS=m
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/dlm/Kconfig
+##
+CONFIG_DLM=m
+CONFIG_DLM_DEBUG=y
+
+##
+## file: fs/gfs2/Kconfig
+##
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_NOLOCK=m
+CONFIG_GFS2_FS_LOCKING_DLM=m
+
+##
+## file: fs/ncpfs/Kconfig
+##
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+# CONFIG_NCPFS_SMALLDOS is not set
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+
+##
+## file: fs/nls/Kconfig
+##
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+
+##
+## file: fs/xfs/Kconfig
+##
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_DEBUG is not set
+
+##
+## file: init/Kconfig
+##
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+## choice: Basis for grouping tasks
+# CONFIG_USER_SCHED is not set
+CONFIG_CGROUP_SCHED=y
+## end choice
+CONFIG_CGROUP_CPUACCT=y
+# CONFIG_RESOURCE_COUNTERS is not set
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_RELAY=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_EMBEDDED is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+## choice: Choose SLAB allocator
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+## end choice
+CONFIG_PROFILING=y
+# CONFIG_MARKERS is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+##
+## file: kernel/Kconfig.hz
+##
+## choice: Timer frequency
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+## end choice
+
+##
+## file: kernel/Kconfig.preempt
+##
+## choice: Preemption Model
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+## end choice
+
+##
+## file: kernel/time/Kconfig
+##
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+##
+## file: lib/Kconfig
+##
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+
+##
+## file: lib/Kconfig.kgdb
+##
+# CONFIG_KGDB is not set
+
+##
+## file: mm/Kconfig
+##
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+
+##
+## file: net/Kconfig
+##
+CONFIG_NET=y
+CONFIG_INET=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+CONFIG_NET_PKTGEN=m
+
+##
+## file: net/8021q/Kconfig
+##
+CONFIG_VLAN_8021Q=m
+
+##
+## file: net/9p/Kconfig
+##
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+
+##
+## file: net/bluetooth/Kconfig
+##
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+
+##
+## file: net/bluetooth/bnep/Kconfig
+##
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+
+##
+## file: net/bluetooth/cmtp/Kconfig
+##
+CONFIG_BT_CMTP=m
+
+##
+## file: net/bluetooth/hidp/Kconfig
+##
+CONFIG_BT_HIDP=m
+
+##
+## file: net/bluetooth/rfcomm/Kconfig
+##
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+
+##
+## file: net/bridge/Kconfig
+##
+CONFIG_BRIDGE=m
+
+##
+## file: net/bridge/netfilter/Kconfig
+##
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+
+##
+## file: net/can/Kconfig
+##
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+
+##
+## file: net/dccp/Kconfig
+##
+CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP_DEBUG is not set
+
+##
+## file: net/dccp/ccids/Kconfig
+##
+CONFIG_IP_DCCP_CCID2=m
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=m
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/ieee80211/Kconfig
+##
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+## choice: Choose IP: FIB lookup algorithm (choose FIB_HASH if unsure)
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+## end choice
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=m
+CONFIG_INET_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+## choice: Default TCP congestion control
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+## end choice
+CONFIG_TCP_MD5SIG=y
+
+##
+## file: net/ipv4/ipvs/Kconfig
+##
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+CONFIG_IP_VS_FTP=m
+
+##
+## file: net/ipv4/netfilter/Kconfig
+##
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+##
+## file: net/ipv6/Kconfig
+##
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=y
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_PIMSM_V2=y
+
+##
+## file: net/ipv6/netfilter/Kconfig
+##
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_RAW=m
+
+##
+## file: net/mac80211/Kconfig
+##
+CONFIG_MAC80211=m
+## choice: Default rate control algorithm
+CONFIG_MAC80211_RC_DEFAULT_PID=y
+# CONFIG_MAC80211_RC_DEFAULT_NONE is not set
+## end choice
+CONFIG_MAC80211_RC_PID=m
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is not set
+# CONFIG_MAC80211_DEBUG is not set
+
+##
+## file: net/netfilter/Kconfig
+##
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+##
+## file: net/netlabel/Kconfig
+##
+# CONFIG_NETLABEL is not set
+
+##
+## file: net/packet/Kconfig
+##
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+
+##
+## file: net/rfkill/Kconfig
+##
+CONFIG_RFKILL=m
+CONFIG_RFKILL_INPUT=m
+
+##
+## file: net/rxrpc/Kconfig
+##
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+
+##
+## file: net/sched/Kconfig
+##
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_CLS_IND=y
+
+##
+## file: net/sctp/Kconfig
+##
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+## choice: SCTP: Cookie HMAC Algorithm
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+## end choice
+
+##
+## file: net/tipc/Kconfig
+##
+CONFIG_TIPC=m
+CONFIG_TIPC_ADVANCED=y
+CONFIG_TIPC_ZONES=3
+CONFIG_TIPC_CLUSTERS=1
+CONFIG_TIPC_NODES=255
+CONFIG_TIPC_SLAVE_NODES=0
+CONFIG_TIPC_PORTS=8191
+CONFIG_TIPC_LOG=0
+# CONFIG_TIPC_DEBUG is not set
+
+##
+## file: net/unix/Kconfig
+##
+CONFIG_UNIX=y
+
+##
+## file: net/wireless/Kconfig
+##
+CONFIG_CFG80211=m
+CONFIG_NL80211=y
+CONFIG_WIRELESS_EXT=y
+
+##
+## file: net/xfrm/Kconfig
+##
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+
+##
+## file: samples/Kconfig
+##
+# CONFIG_SAMPLES is not set
+
+##
+## file: security/Kconfig
+##
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+CONFIG_SECURITY_CAPABILITIES=y
+CONFIG_SECURITY_FILE_CAPABILITIES=y
+# CONFIG_SECURITY_ROOTPLUG is not set
+
+##
+## file: security/selinux/Kconfig
+##
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
+CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_DEVELOP=y
+CONFIG_SECURITY_SELINUX_AVC_STATS=y
+CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
+# CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT is not set
+# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=m
+CONFIG_SND=m
+# CONFIG_SOUND_PRIME is not set
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_PCSP=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_PORTMAN2X4=m
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+# CONFIG_SND_AW2 is not set
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS5530=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+# CONFIG_SND_HDA_HWDEP is not set
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_ATIHDMI=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSPM=m
+CONFIG_SND_HIFIER=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+
+##
+## file: sound/pcmcia/Kconfig
+##
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+
+##
+## file: sound/soc/Kconfig
+##
+# CONFIG_SND_SOC is not set
+
+##
+## file: sound/usb/Kconfig
+##
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+
+##
+## file: usr/Kconfig
+##
+CONFIG_INITRAMFS_SOURCE=""
+
+##
+## file: unknown
+##
+CONFIG_NET_SCH_RR=m
+
--- linux-2.6-2.6.26.orig/debian/config/defines
+++ linux-2.6-2.6.26/debian/config/defines
@@ -0,0 +1,54 @@
+[abi]
+abiname: bpo.2
+
+[base]
+arches:
+ alpha
+ amd64
+ arm
+ armel
+ hppa
+ i386
+ ia64
+ m68k
+ mips
+ mipsel
+ powerpc
+ s390
+ sparc
+compiler: gcc-4.1
+featuresets:
+ none
+ openvz
+ vserver
+ xen
+
+[featureset-openvz_base]
+enabled: true
+
+[featureset-vserver_base]
+enabled: true
+
+[image]
+desc-long-part-xen: This kernel also runs on a Xen hypervisor.
+ It supports only unpriviledged (domU) operation.
+initramfs-generators: initramfs-tools yaird initramfs-fallback
+type: plain
+
+[xen]
+versions:
+ 3.2-1
+
+[commands-image-initramfs-generators]
+initramfs-tools: mkinitramfs-kpkg
+yaird: mkinitrd.yaird
+
+[relations]
+gcc-3.3: gcc-3.3
+gcc-4.0: gcc-4.0
+gcc-4.1: gcc-4.1
+initramfs-fallback: linux-initramfs-tool
+initramfs-tools: initramfs-tools (>= 0.55)
+util-vserver: util-vserver (>= 0.30.215)
+yaird: yaird (>= 0.0.13)
+
--- linux-2.6-2.6.26.orig/debian/config/hppa/config.parisc
+++ linux-2.6-2.6.26/debian/config/hppa/config.parisc
@@ -0,0 +1,33 @@
+##
+## file: arch/parisc/Kconfig
+##
+## choice: Processor type
+CONFIG_PA7000=y
+# CONFIG_PA8X00 is not set
+## end choice
+# CONFIG_SMP is not set
+# CONFIG_HPUX is not set
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_NI5010 is not set
+CONFIG_TLAN=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+# CONFIG_ARLAN is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_NSP32 is not set
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+
--- linux-2.6-2.6.26.orig/debian/config/hppa/config
+++ linux-2.6-2.6.26/debian/config/hppa/config
@@ -0,0 +1,845 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+
+##
+## file: arch/parisc/Kconfig
+##
+## choice: Processor type
+# CONFIG_PA7100LC is not set
+# CONFIG_PA7200 is not set
+# CONFIG_PA7300LC is not set
+## end choice
+## choice: Kernel page size
+CONFIG_PARISC_PAGE_SIZE_4KB=y
+# CONFIG_PARISC_PAGE_SIZE_16KB is not set
+# CONFIG_PARISC_PAGE_SIZE_64KB is not set
+## end choice
+
+##
+## file: arch/parisc/Kconfig.debug
+##
+# CONFIG_DEBUG_RODATA is not set
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_XD is not set
+# CONFIG_PARIDE is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+#. TODO
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+CONFIG_GEN_RTC=y
+# CONFIG_GEN_RTC_X is not set
+# CONFIG_DTLK is not set
+# CONFIG_APPLICOM is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/pcmcia/Kconfig
+##
+CONFIG_SYNCLINK_CS=m
+
+##
+## file: drivers/eisa/Kconfig
+##
+CONFIG_EISA_NAMES=y
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+# CONFIG_SENSORS_F71805F is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+# CONFIG_I2C is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=m
+CONFIG_BLK_DEV_IDE=m
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECD=m
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+CONFIG_IDE_GENERIC=m
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=m
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+CONFIG_BLK_DEV_NS87415=m
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_ATKBD_HP_KEYCODES=y
+# CONFIG_KEYBOARD_ATKBD_RDI_KEYCODES is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_HIL_OLD=m
+CONFIG_KEYBOARD_HIL=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_UINPUT is not set
+CONFIG_HP_SDC_RTC=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_INPORT is not set
+# CONFIG_MOUSE_LOGIBM is not set
+# CONFIG_MOUSE_PC110PAD is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+CONFIG_MOUSE_HIL=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PARKBD is not set
+CONFIG_SERIO_GSCPS2=y
+CONFIG_HP_SDC=m
+CONFIG_HIL_MLC=m
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/media/Kconfig
+##
+# CONFIG_VIDEO_DEV is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_DUMMY=m
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_LASI_82596=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL1=m
+CONFIG_EL2=m
+CONFIG_ELPLUS=m
+CONFIG_EL16=m
+CONFIG_EL3=m
+# CONFIG_3C515 is not set
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+# CONFIG_LANCE is not set
+CONFIG_NET_VENDOR_SMC=y
+CONFIG_WD80x3=m
+CONFIG_ULTRA=m
+CONFIG_ULTRA32=m
+CONFIG_SMC9194=m
+CONFIG_NET_VENDOR_RACAL=y
+# CONFIG_NI52 is not set
+# CONFIG_NI65 is not set
+CONFIG_AT1700=m
+CONFIG_DEPCA=m
+CONFIG_HP100=m
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_ZNET=m
+CONFIG_SEEQ8005=m
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_AC3200=m
+CONFIG_APRICOT=m
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_CS89x0=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_LNE390=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_NE3210=m
+CONFIG_ES3210=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_VLAN=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/pcmcia/Kconfig
+##
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+# CONFIG_DE2104X is not set
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MMIO=y
+# CONFIG_DE4X5 is not set
+# CONFIG_WINBOND_840 is not set
+# CONFIG_DM9102 is not set
+CONFIG_PCMCIA_XIRCOM=m
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+# CONFIG_STRIP is not set
+# CONFIG_WAVELAN is not set
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_WLAN_80211=y
+CONFIG_PCMCIA_RAYCS=m
+# CONFIG_IPW2100 is not set
+CONFIG_HERMES=m
+# CONFIG_PLX_HERMES is not set
+# CONFIG_TMD_HERMES is not set
+# CONFIG_PCI_HERMES is not set
+CONFIG_PCMCIA_HERMES=m
+# CONFIG_ATMEL is not set
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+# CONFIG_USB_ZD1201 is not set
+
+##
+## file: drivers/parisc/Kconfig
+##
+CONFIG_GSC=y
+CONFIG_HPPB=y
+CONFIG_IOMMU_CCIO=y
+CONFIG_GSC_LASI=y
+CONFIG_GSC_WAX=y
+CONFIG_EISA=y
+CONFIG_ISA=y
+CONFIG_PCI=y
+CONFIG_GSC_DINO=y
+CONFIG_PCI_LBA=y
+CONFIG_SUPERIO=y
+CONFIG_CHASSIS_LCD_LED=y
+CONFIG_PDC_CHASSIS=y
+CONFIG_PDC_CHASSIS_WARN=y
+CONFIG_PDC_STABLE=y
+
+##
+## file: drivers/pci/Kconfig
+##
+# CONFIG_PCI_DEBUG is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_CARDBUS=y
+CONFIG_YENTA=m
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+# CONFIG_TCIC is not set
+
+##
+## file: drivers/pnp/Kconfig
+##
+# CONFIG_PNP is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+# CONFIG_RTC_CLASS is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_SCSI_IN2000 is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_IPS is not set
+CONFIG_SCSI_INITIO=m
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_PPA is not set
+# CONFIG_SCSI_IMM is not set
+# CONFIG_SCSI_NCR53C406A is not set
+CONFIG_SCSI_LASI700=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_ZALON=m
+CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
+CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
+CONFIG_SCSI_NCR53C8XX_SYNC=20
+# CONFIG_SCSI_PAS16 is not set
+# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_SIM710 is not set
+# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_T128 is not set
+# CONFIG_SCSI_U14_34F is not set
+# CONFIG_SCSI_DEBUG is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+CONFIG_SERIAL_MUX=y
+CONFIG_SERIAL_MUX_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/class/Kconfig
+##
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+##
+## file: drivers/usb/core/Kconfig
+##
+CONFIG_USB_DEBUG=y
+# CONFIG_USB_DEVICEFS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+##
+## file: drivers/usb/image/Kconfig
+##
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+# CONFIG_USB_SISUSBVGA is not set
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_STI=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_DUMMY_CONSOLE_COLUMNS=160
+CONFIG_DUMMY_CONSOLE_ROWS=64
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_STI_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_LOGO_PARISC_CLUT224=y
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+# CONFIG_WATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_CRAMFS=y
+CONFIG_ROOT_NFS=y
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=15
+
+##
+## file: lib/Kconfig.debug
+##
+# CONFIG_DETECT_SOFTLOCKUP is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_INFO is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/bluetooth/Kconfig
+##
+#. TODO
+# CONFIG_BT is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/isa/Kconfig
+##
+# CONFIG_SND_AD1848 is not set
+# CONFIG_SND_CMI8330 is not set
+# CONFIG_SND_CS4231 is not set
+# CONFIG_SND_CS4232 is not set
+# CONFIG_SND_CS4236 is not set
+# CONFIG_SND_ES1688 is not set
+# CONFIG_SND_ES18XX is not set
+# CONFIG_SND_GUSCLASSIC is not set
+# CONFIG_SND_GUSEXTREME is not set
+# CONFIG_SND_GUSMAX is not set
+# CONFIG_SND_INTERWAVE is not set
+# CONFIG_SND_INTERWAVE_STB is not set
+# CONFIG_SND_OPL3SA2 is not set
+# CONFIG_SND_OPTI92X_AD1848 is not set
+# CONFIG_SND_OPTI92X_CS4231 is not set
+# CONFIG_SND_OPTI93X is not set
+# CONFIG_SND_SB8 is not set
+# CONFIG_SND_SB16 is not set
+# CONFIG_SND_SBAWE is not set
+# CONFIG_SND_SGALAXY is not set
+# CONFIG_SND_SSCAPE is not set
+# CONFIG_SND_WAVEFRONT is not set
+
+##
+## file: sound/parisc/Kconfig
+##
+CONFIG_SND_HARMONY=m
+
+##
+## file: sound/pci/Kconfig
+##
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
--- linux-2.6-2.6.26.orig/debian/config/hppa/config.parisc-smp
+++ linux-2.6-2.6.26/debian/config/hppa/config.parisc-smp
@@ -0,0 +1,33 @@
+##
+## file: arch/parisc/Kconfig
+##
+## choice: Processor type
+CONFIG_PA7000=y
+# CONFIG_PA8X00 is not set
+## end choice
+CONFIG_SMP=y
+# CONFIG_HPUX is not set
+CONFIG_NR_CPUS=8
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_TLAN=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+# CONFIG_ARLAN is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_NSP32 is not set
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+
--- linux-2.6-2.6.26.orig/debian/config/hppa/config.parisc64
+++ linux-2.6-2.6.26/debian/config/hppa/config.parisc64
@@ -0,0 +1,22 @@
+##
+## file: arch/parisc/Kconfig
+##
+## choice: Processor type
+# CONFIG_PA7000 is not set
+CONFIG_PA8X00=y
+## end choice
+CONFIG_64BIT=y
+# CONFIG_SMP is not set
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_NI5010 is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+# CONFIG_FLATMEM_MANUAL is not set
+## end choice
+
--- linux-2.6-2.6.26.orig/debian/config/hppa/config.parisc64-smp
+++ linux-2.6-2.6.26/debian/config/hppa/config.parisc64-smp
@@ -0,0 +1,18 @@
+##
+## file: arch/parisc/Kconfig
+##
+## choice: Processor type
+# CONFIG_PA7000 is not set
+CONFIG_PA8X00=y
+## end choice
+CONFIG_64BIT=y
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+# CONFIG_FLATMEM_MANUAL is not set
+## end choice
+
--- linux-2.6-2.6.26.orig/debian/config/hppa/defines
+++ linux-2.6-2.6.26/debian/config/hppa/defines
@@ -0,0 +1,31 @@
+[base]
+flavours:
+ parisc
+ parisc-smp
+ parisc64
+ parisc64-smp
+kernel-arch: parisc
+
+[image]
+suggests: palo
+type: kernel-package
+
+[parisc_base]
+class: 32-bit PA-RISC
+
+[parisc-smp_base]
+class: multiprocessor 32-bit PA-RISC
+
+[parisc64_base]
+cflags: -fno-cse-follow-jumps
+class: 64-bit PA-RISC
+override-host-type: hppa64-linux-gnu
+
+[parisc64-smp_base]
+cflags: -fno-cse-follow-jumps
+class: multiprocessor 64-bit PA-RISC
+override-host-type: hppa64-linux-gnu
+
+[relations]
+gcc-4.1: gcc-4.1, binutils-hppa64, gcc-4.1-hppa64
+
--- linux-2.6-2.6.26.orig/debian/config/arm/config.iop32x
+++ linux-2.6-2.6.26/debian/config/arm/config.iop32x
@@ -0,0 +1,944 @@
+##
+## file: arch/arm/Kconfig
+##
+## choice: ARM system type
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+CONFIG_ARCH_IOP32X=y
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+## end choice
+CONFIG_PCI=y
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_ARTHUR is not set
+
+##
+## file: arch/arm/Kconfig.debug
+##
+# CONFIG_DEBUG_USER is not set
+
+##
+## file: arch/arm/mach-iop32x/Kconfig
+##
+CONFIG_MACH_GLANTANK=y
+CONFIG_ARCH_IQ80321=y
+CONFIG_ARCH_IQ31244=y
+CONFIG_MACH_N2100=y
+CONFIG_MACH_EM7210=y
+
+##
+## file: arch/arm/mm/Kconfig
+##
+CONFIG_ARM_THUMB=y
+
+##
+## file: block/Kconfig
+##
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+# CONFIG_PATA_ARTOP is not set
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_TELCLOCK is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/dma/Kconfig
+##
+CONFIG_DMADEVICES=y
+CONFIG_INTEL_IOP_ADMA=y
+# CONFIG_NET_DMA is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+CONFIG_SENSORS_F75375S=y
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+CONFIG_I2C_IOP3XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=m
+CONFIG_BLK_DEV_IDE=m
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_BLK_DEV_IDESCSI=m
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_OFFBOARD=y
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+CONFIG_HPT34X_AUTODMA=y
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SL82C105=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+# CONFIG_JOYSTICK_IFORCE_USB is not set
+# CONFIG_JOYSTICK_IFORCE_232 is not set
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+# CONFIG_JOYSTICK_XPAD_FF is not set
+# CONFIG_JOYSTICK_XPAD_LEDS is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+CONFIG_MOUSE_APPLETOUCH=m
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/leds/Kconfig
+##
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_PCA9532=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+## choice: Flash cmd/query data swapping
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+## end choice
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x0
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=1
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_PCI is not set
+CONFIG_MTD_PLATRAM=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+# CONFIG_MTD_ONENAND is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_PCI is not set
+CONFIG_E1000=m
+CONFIG_R8169=m
+CONFIG_R8169_NAPI=y
+CONFIG_R8169_VLAN=y
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+# CONFIG_NET_TULIP is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_WLAN_80211=y
+CONFIG_IPW2100=m
+# CONFIG_IPW2100_MONITOR is not set
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+CONFIG_RTC_DRV_RS5C372=y
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+# CONFIG_SCSI_ACARD is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+# CONFIG_SPI_BITBANG is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+
+##
+## file: drivers/video/Kconfig
+##
+# CONFIG_FB is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+# CONFIG_USBPCWATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_JFFS2_FS=y
+CONFIG_CRAMFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+# CONFIG_ACORN_PARTITION_EESOX is not set
+CONFIG_ACORN_PARTITION_ICS=y
+# CONFIG_ACORN_PARTITION_ADFS is not set
+# CONFIG_ACORN_PARTITION_POWERTEC is not set
+CONFIG_ACORN_PARTITION_RISCIX=y
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/bridge/netfilter/Kconfig
+##
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/decnet/netfilter/Kconfig
+##
+# CONFIG_DECNET_NF_GRABULATOR is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+CONFIG_IPX_INTERN=y
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=y
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/wireless/Kconfig
+##
+CONFIG_WIRELESS_EXT=y
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_VIRMIDI is not set
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+
+##
+## file: sound/pci/Kconfig
+##
+# CONFIG_SND_AD1889 is not set
+CONFIG_SND_ALS300=m
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
--- linux-2.6-2.6.26.orig/debian/config/arm/config
+++ linux-2.6-2.6.26/debian/config/arm/config
@@ -0,0 +1,94 @@
+##
+## file: arch/arm/Kconfig
+##
+## choice: ARM system type
+# CONFIG_ARCH_REALVIEW is not set
+## end choice
+# CONFIG_AEABI is not set
+
+##
+## file: drivers/ieee1394/Kconfig
+##
+# CONFIG_IEEE1394 is not set
+
+##
+## file: drivers/input/Kconfig
+##
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+# CONFIG_IPW2100 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_HPTIOP is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+# CONFIG_SCSI_AIC79XX is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+# CONFIG_SCSI_AIC7XXX is not set
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+# CONFIG_SCSI_AIC94XX is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_SAS is not set
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_FC is not set
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_ISCSI is not set
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+CONFIG_USB_HIDDEV=y
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+
--- linux-2.6-2.6.26.orig/debian/config/arm/config.footbridge
+++ linux-2.6-2.6.26/debian/config/arm/config.footbridge
@@ -0,0 +1,1419 @@
+##
+## file: arch/arm/Kconfig
+##
+## choice: ARM system type
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+CONFIG_ARCH_FOOTBRIDGE=y
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+## end choice
+CONFIG_PCI=y
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_LEDS=y
+CONFIG_LEDS_TIMER=y
+# CONFIG_LEDS_CPU is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+CONFIG_FPE_NWFPE=y
+CONFIG_FPE_NWFPE_XP=y
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_ARTHUR is not set
+
+##
+## file: arch/arm/Kconfig.debug
+##
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_LL is not set
+
+##
+## file: arch/arm/mach-footbridge/Kconfig
+##
+CONFIG_ARCH_CATS=y
+CONFIG_ARCH_PERSONAL_SERVER=y
+# CONFIG_ARCH_EBSA285_ADDIN is not set
+CONFIG_ARCH_EBSA285_HOST=y
+CONFIG_ARCH_NETWINDER=y
+
+##
+## file: arch/arm/mm/Kconfig
+##
+CONFIG_CPU_SA110=y
+
+##
+## file: drivers/ata/Kconfig
+##
+# CONFIG_ATA is not set
+
+##
+## file: drivers/atm/Kconfig
+##
+# CONFIG_ATM_DRIVERS is not set
+# CONFIG_ATM_TCP is not set
+# CONFIG_ATM_LANAI is not set
+# CONFIG_ATM_ENI is not set
+# CONFIG_ATM_FIRESTREAM is not set
+# CONFIG_ATM_ZATM is not set
+# CONFIG_ATM_NICSTAR is not set
+# CONFIG_ATM_IDT77252 is not set
+# CONFIG_ATM_AMBASSADOR is not set
+# CONFIG_ATM_HORIZON is not set
+# CONFIG_ATM_IA is not set
+# CONFIG_ATM_FORE200E_MAYBE is not set
+# CONFIG_ATM_HE is not set
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_XD is not set
+CONFIG_PARIDE=m
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/block/paride/Kconfig
+##
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+# CONFIG_PARIDE_BPCK6 is not set
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+# CONFIG_PARIDE_EPATC8 is not set
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_ROCKETPORT is not set
+# CONFIG_CYCLADES is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_ESPSERIAL is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+# CONFIG_SYNCLINK is not set
+# CONFIG_SYNCLINKMP is not set
+# CONFIG_N_HDLC is not set
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_SX is not set
+# CONFIG_RIO is not set
+# CONFIG_STALDRV is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+CONFIG_DS1620=y
+CONFIG_NWBUTTON=y
+CONFIG_NWBUTTON_REBOOT=y
+CONFIG_NWFLASH=m
+CONFIG_NVRAM=m
+CONFIG_RTC=y
+# CONFIG_DTLK is not set
+# CONFIG_APPLICOM is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/pcmcia/Kconfig
+##
+# CONFIG_SYNCLINK_CS is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDDEV is not set
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+CONFIG_SENSORS_ADM9240=m
+# CONFIG_SENSORS_ASB100 is not set
+CONFIG_SENSORS_ATXP1=m
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+CONFIG_SENSORS_W83627EHF=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+# CONFIG_I2C_CHARDEV is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_ELEKTOR is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+CONFIG_SENSORS_PCA9539=m
+# CONFIG_SENSORS_PCF8591 is not set
+CONFIG_SENSORS_MAX6875=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+# CONFIG_BLK_DEV_IDECS is not set
+CONFIG_BLK_DEV_IDECD=m
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_IDEPNP is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SL82C105=y
+# CONFIG_BLK_DEV_SLC90E66 is not set
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_4DRIVES is not set
+# CONFIG_BLK_DEV_ALI14XX is not set
+# CONFIG_BLK_DEV_DTC2278 is not set
+# CONFIG_BLK_DEV_HT6560B is not set
+# CONFIG_BLK_DEV_QD65XX is not set
+# CONFIG_BLK_DEV_UMC8672 is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_INPORT is not set
+# CONFIG_MOUSE_LOGIBM is not set
+# CONFIG_MOUSE_PC110PAD is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+# CONFIG_DM_MULTIPATH_EMC is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_CADET is not set
+# CONFIG_RADIO_RTRACK is not set
+# CONFIG_RADIO_RTRACK2 is not set
+# CONFIG_RADIO_AZTECH is not set
+# CONFIG_RADIO_GEMTEK is not set
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_RADIO_SF16FMI is not set
+# CONFIG_RADIO_SF16FMR2 is not set
+# CONFIG_RADIO_TERRATEC is not set
+# CONFIG_RADIO_TRUST is not set
+# CONFIG_RADIO_TYPHOON is not set
+# CONFIG_RADIO_ZOLTRIX is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_PMS is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+# CONFIG_VIDEO_BT848 is not set
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+# CONFIG_VIDEO_CX88 is not set
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+# CONFIG_VIDEO_SAA7134_ALSA is not set
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+# CONFIG_USB_SN9C102 is not set
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+# CONFIG_MTD_PARTITIONS is not set
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_DC21285=y
+# CONFIG_MTD_IMPA7 is not set
+# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PLATRAM is not set
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+# CONFIG_MTD_NAND is not set
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+# CONFIG_MTD_ONENAND_GENERIC is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_NET_SB1000 is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_EL1 is not set
+# CONFIG_EL2 is not set
+# CONFIG_ELPLUS is not set
+# CONFIG_EL16 is not set
+# CONFIG_EL3 is not set
+# CONFIG_3C515 is not set
+CONFIG_VORTEX=y
+# CONFIG_TYPHOON is not set
+# CONFIG_LANCE is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_AC3200 is not set
+# CONFIG_APRICOT is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_CS89x0 is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_SUNDANCE_MMIO is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_NET_POCKET is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_BNX2X is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PLIP is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/irda/Kconfig
+##
+# CONFIG_IRTTY_SIR is not set
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+# CONFIG_NSC_FIR is not set
+CONFIG_WINBOND_FIR=m
+# CONFIG_TOSHIBA_FIR is not set
+# CONFIG_SMC_IRCC_FIR is not set
+# CONFIG_ALI_FIR is not set
+# CONFIG_VLSI_FIR is not set
+# CONFIG_VIA_FIR is not set
+
+##
+## file: drivers/net/pcmcia/Kconfig
+##
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_STRIP=m
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_AIRO=m
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+# CONFIG_USB_ZD1201 is not set
+
+##
+## file: drivers/pci/Kconfig
+##
+# CONFIG_PCI_DEBUG is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_CARDBUS=y
+CONFIG_YENTA=m
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+
+##
+## file: drivers/pnp/Kconfig
+##
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG is not set
+
+##
+## file: drivers/pnp/isapnp/Kconfig
+##
+CONFIG_ISAPNP=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_7000FASST=m
+# CONFIG_SCSI_ACARD is not set
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_IN2000 is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_EATA_PIO is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_PPA is not set
+# CONFIG_SCSI_IMM is not set
+# CONFIG_SCSI_NCR53C406A is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_PAS16 is not set
+# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_T128 is not set
+# CONFIG_SCSI_U14_34F is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_MM is not set
+# CONFIG_MEGARAID_LEGACY is not set
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_21285=y
+CONFIG_SERIAL_21285_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+# CONFIG_USB_ATM is not set
+CONFIG_USB_SPEEDTOUCH=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+# CONFIG_USB_ACM is not set
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+CONFIG_USB_DEBUG=y
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_SL811_CS is not set
+
+##
+## file: drivers/usb/image/Kconfig
+##
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+CONFIG_USB_LD=m
+# CONFIG_USB_TEST is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/serial/Kconfig
+##
+# CONFIG_USB_SERIAL is not set
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=y
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+CONFIG_FB_RIVA=m
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+# CONFIG_FB_MATROX_I2C is not set
+# CONFIG_FB_MATROX_MULTIHEAD is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_CYBLA=m
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_VGA_CONSOLE=y
+CONFIG_VIDEO_SELECT=y
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=y
+CONFIG_21285_WATCHDOG=m
+CONFIG_977_WATCHDOG=m
+# CONFIG_PCWATCHDOG is not set
+# CONFIG_MIXCOMWD is not set
+# CONFIG_WDT is not set
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+# CONFIG_USBPCWATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_ADFS_FS_RW is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_UFS_FS_WRITE is not set
+CONFIG_NFS_FS=m
+CONFIG_ROOT_NFS=y
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/ncpfs/Kconfig
+##
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+# CONFIG_NCPFS_SMALLDOS is not set
+# CONFIG_NCPFS_NLS is not set
+# CONFIG_NCPFS_EXTRAS is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+# CONFIG_ACORN_PARTITION_EESOX is not set
+# CONFIG_ACORN_PARTITION_ICS is not set
+CONFIG_ACORN_PARTITION_ADFS=y
+# CONFIG_ACORN_PARTITION_POWERTEC is not set
+# CONFIG_ACORN_PARTITION_RISCIX is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM is not set
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=y
+# CONFIG_ATM_CLIP is not set
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+# CONFIG_ATM_LANE is not set
+CONFIG_ATM_MPOA=m
+# CONFIG_ATM_BR2684 is not set
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/bluetooth/Kconfig
+##
+#. TODO
+# CONFIG_BT is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=y
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+CONFIG_IRDA_ULTRA=y
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: security/Kconfig
+##
+#. disabled because of size restrictions
+# CONFIG_KEYS is not set
+#. disabled because of size restrictions
+# CONFIG_SECURITY is not set
+CONFIG_SECURITY_FILE_CAPABILITIES=y
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+CONFIG_SND_RTCTIMER=m
+CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/isa/Kconfig
+##
+# CONFIG_SND_ADLIB is not set
+# CONFIG_SND_AD1816A is not set
+# CONFIG_SND_AD1848 is not set
+# CONFIG_SND_ALS100 is not set
+# CONFIG_SND_AZT2320 is not set
+# CONFIG_SND_CMI8330 is not set
+# CONFIG_SND_CS4231 is not set
+# CONFIG_SND_CS4232 is not set
+# CONFIG_SND_CS4236 is not set
+# CONFIG_SND_DT019X is not set
+# CONFIG_SND_ES968 is not set
+# CONFIG_SND_ES1688 is not set
+# CONFIG_SND_ES18XX is not set
+# CONFIG_SND_GUSCLASSIC is not set
+# CONFIG_SND_GUSEXTREME is not set
+# CONFIG_SND_GUSMAX is not set
+# CONFIG_SND_INTERWAVE is not set
+# CONFIG_SND_INTERWAVE_STB is not set
+CONFIG_SND_OPL3SA2=m
+# CONFIG_SND_OPTI92X_AD1848 is not set
+# CONFIG_SND_OPTI92X_CS4231 is not set
+# CONFIG_SND_OPTI93X is not set
+# CONFIG_SND_MIRO is not set
+# CONFIG_SND_SB8 is not set
+# CONFIG_SND_SB16 is not set
+# CONFIG_SND_SBAWE is not set
+# CONFIG_SND_SGALAXY is not set
+# CONFIG_SND_SSCAPE is not set
+# CONFIG_SND_WAVEFRONT is not set
+
+##
+## file: sound/oss/Kconfig
+##
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_SOUND_OSS=m
+# CONFIG_SOUND_TRACEINIT is not set
+# CONFIG_SOUND_DMAP is not set
+# CONFIG_SOUND_SSCAPE is not set
+# CONFIG_SOUND_VMIDI is not set
+# CONFIG_SOUND_TRIX is not set
+# CONFIG_SOUND_MSS is not set
+# CONFIG_SOUND_MPU401 is not set
+# CONFIG_SOUND_PAS is not set
+# CONFIG_SOUND_PSS is not set
+# CONFIG_SOUND_SB is not set
+CONFIG_SOUND_YM3812=m
+# CONFIG_SOUND_UART6850 is not set
+# CONFIG_SOUND_AEDSP16 is not set
+CONFIG_SOUND_WAVEARTIST=m
+
+##
+## file: sound/pci/Kconfig
+##
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
--- linux-2.6-2.6.26.orig/debian/config/arm/config.ixp4xx
+++ linux-2.6-2.6.26/debian/config/arm/config.ixp4xx
@@ -0,0 +1,994 @@
+##
+## file: arch/arm/Kconfig
+##
+## choice: ARM system type
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+## end choice
+CONFIG_PCI=y
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200"
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_ARTHUR is not set
+
+##
+## file: arch/arm/Kconfig.debug
+##
+# CONFIG_DEBUG_USER is not set
+
+##
+## file: arch/arm/mach-ixp4xx/Kconfig
+##
+CONFIG_MACH_NSLU2=y
+CONFIG_ARCH_ADI_COYOTE=y
+CONFIG_ARCH_IXDP425=y
+CONFIG_MACH_IXDPG425=y
+CONFIG_MACH_IXDP465=y
+CONFIG_ARCH_PRPMC1100=y
+CONFIG_MACH_NAS100D=y
+CONFIG_MACH_DSMG600=y
+CONFIG_MACH_FSG=y
+# CONFIG_MACH_GTWX5715 is not set
+# CONFIG_IXP4XX_INDIRECT_PCI is not set
+CONFIG_IXP4XX_QMGR=m
+CONFIG_IXP4XX_NPE=m
+
+##
+## file: arch/arm/mm/Kconfig
+##
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+# CONFIG_SATA_PMP is not set
+# CONFIG_SATA_AHCI is not set
+# CONFIG_SATA_SIL24 is not set
+CONFIG_ATA_SFF=y
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SX4 is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+CONFIG_SATA_VIA=m
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+# CONFIG_PATA_IXP4XX_CF is not set
+# CONFIG_PATA_SCH is not set
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_APPLICOM is not set
+CONFIG_TELCLOCK=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+# CONFIG_SENSORS_ASB100 is not set
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+CONFIG_SENSORS_VT8231=m
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+CONFIG_SENSORS_W83627EHF=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+CONFIG_I2C_GPIO=y
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_IOP3XX is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=y
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCA9539=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_MAX6875=m
+
+##
+## file: drivers/ide/Kconfig
+##
+# CONFIG_IDE is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+# CONFIG_JOYSTICK_IFORCE_USB is not set
+# CONFIG_JOYSTICK_IFORCE_232 is not set
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+# CONFIG_JOYSTICK_XPAD_FF is not set
+# CONFIG_JOYSTICK_XPAD_LEDS is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_IXP4XX_BEEPER=m
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+CONFIG_MOUSE_APPLETOUCH=m
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/leds/Kconfig
+##
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_FSG=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+CONFIG_RFD_FTL=m
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+## choice: Flash cmd/query data swapping
+# CONFIG_MTD_CFI_NOSWAP is not set
+CONFIG_MTD_CFI_BE_BYTE_SWAP=y
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+## end choice
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+# CONFIG_MTD_PMC551 is not set
+CONFIG_MTD_DATAFLASH=m
+CONFIG_MTD_M25P80=m
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_PCI is not set
+CONFIG_MTD_PLATRAM=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+# CONFIG_MTD_ONENAND is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_B44 is not set
+# CONFIG_NET_POCKET is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_S2IO is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/arm/Kconfig
+##
+CONFIG_IXP4XX_ETH=m
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+# CONFIG_NET_TULIP is not set
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_WLAN_80211=y
+CONFIG_IPW2100=m
+# CONFIG_IPW2100_MONITOR is not set
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_ATMEL=m
+# CONFIG_PCI_ATMEL is not set
+
+##
+## file: drivers/net/wireless/hostap/Kconfig
+##
+CONFIG_HOSTAP=m
+# CONFIG_HOSTAP_FIRMWARE is not set
+CONFIG_HOSTAP_PLX=m
+# CONFIG_HOSTAP_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_ISL1208=y
+CONFIG_RTC_DRV_X1205=y
+CONFIG_RTC_DRV_PCF8563=y
+# CONFIG_RTC_DRV_M48T86 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_PPA is not set
+# CONFIG_SCSI_IMM is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_SRP is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+# CONFIG_SCSI_AIC79XX is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+# CONFIG_SCSI_AIC7XXX is not set
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+# CONFIG_SCSI_AIC94XX is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_FC is not set
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_ISCSI is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+
+##
+## file: drivers/video/Kconfig
+##
+# CONFIG_FB is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=y
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+# CONFIG_USBPCWATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_JFFS2_FS=y
+CONFIG_CRAMFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+# CONFIG_ACORN_PARTITION_EESOX is not set
+CONFIG_ACORN_PARTITION_ICS=y
+# CONFIG_ACORN_PARTITION_ADFS is not set
+# CONFIG_ACORN_PARTITION_POWERTEC is not set
+CONFIG_ACORN_PARTITION_RISCIX=y
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/bridge/netfilter/Kconfig
+##
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+CONFIG_DECNET_ROUTER=y
+
+##
+## file: net/decnet/netfilter/Kconfig
+##
+# CONFIG_DECNET_NF_GRABULATOR is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+CONFIG_IPX_INTERN=y
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=y
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_VIRMIDI is not set
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+
+##
+## file: sound/pci/Kconfig
+##
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+CONFIG_SND_PCXHR=m
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
--- linux-2.6-2.6.26.orig/debian/config/arm/config.orion5x
+++ linux-2.6-2.6.26/debian/config/arm/config.orion5x
@@ -0,0 +1,637 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_KPROBES is not set
+
+##
+## file: arch/arm/Kconfig
+##
+## choice: ARM system type
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_MXC is not set
+CONFIG_ARCH_ORION5X=y
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM7X00A is not set
+## end choice
+CONFIG_PCI=y
+CONFIG_LEDS=y
+CONFIG_LEDS_CPU=y
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+CONFIG_VFP=y
+# CONFIG_ARTHUR is not set
+
+##
+## file: arch/arm/mach-orion5x/Kconfig
+##
+CONFIG_MACH_DB88F5281=y
+CONFIG_MACH_RD88F5182=y
+CONFIG_MACH_KUROBOX_PRO=y
+CONFIG_MACH_DNS323=y
+CONFIG_MACH_TS209=y
+CONFIG_MACH_TS409=y
+CONFIG_MACH_MV2120=y
+CONFIG_MACH_LINKSTATION_PRO=y
+
+##
+## file: arch/arm/mm/Kconfig
+##
+CONFIG_CPU_FEROCEON_OLD_ID=y
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+# CONFIG_SATA_AHCI is not set
+# CONFIG_SATA_SIL24 is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+CONFIG_SATA_MV=m
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SX4 is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+# CONFIG_PATA_PLATFORM is not set
+# CONFIG_PATA_SCH is not set
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/dma/Kconfig
+##
+CONFIG_DMADEVICES=y
+CONFIG_MV_XOR=y
+CONFIG_DMA_ENGINE=y
+# CONFIG_NET_DMA is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_MV64XXX=y
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT_JOYDEV=n
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_KEYBOARD_GPIO=m
+
+##
+## file: drivers/leds/Kconfig
+##
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_FTL=y
+CONFIG_NFTL=y
+# CONFIG_NFTL_RW is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+## choice: Flash cmd/query data swapping
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+## end choice
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x0
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=0
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_IMPA7 is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_CAFE is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+CONFIG_MTD_NAND_ORION=y
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+# CONFIG_MTD_ONENAND is not set
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_NET_ETHERNET is not set
+CONFIG_MII=y
+CONFIG_NETDEV_1000=y
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_E1000E is not set
+# CONFIG_IP1000 is not set
+# CONFIG_IGB is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_BNX2X is not set
+CONFIG_MV643XX_ETH=m
+# CONFIG_QLA3XXX is not set
+# CONFIG_ATL1 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_NETCONSOLE=m
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_WLAN_80211=y
+
+##
+## file: drivers/pci/Kconfig
+##
+CONFIG_PCI_LEGACY=y
+# CONFIG_PCI_DEBUG is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_RS5C372=y
+CONFIG_RTC_DRV_PCF8563=y
+CONFIG_RTC_DRV_M41T80=y
+CONFIG_RTC_DRV_S35390A=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_PPA is not set
+# CONFIG_SCSI_IMM is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+# CONFIG_SCSI_AIC79XX is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+# CONFIG_SCSI_AIC7XXX is not set
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+# CONFIG_SCSI_AIC94XX is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_FC is not set
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_ISCSI is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+##
+## file: drivers/ssb/Kconfig
+##
+# CONFIG_SSB is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB_SUPPORT=y
+CONFIG_USB=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+##
+## file: drivers/video/Kconfig
+##
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+
+##
+## file: drivers/video/display/Kconfig
+##
+# CONFIG_DISPLAY_SUPPORT is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+CONFIG_ORION5X_WATCHDOG=m
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+# CONFIG_ACORN_PARTITION_EESOX is not set
+CONFIG_ACORN_PARTITION_ICS=y
+# CONFIG_ACORN_PARTITION_ADFS is not set
+# CONFIG_ACORN_PARTITION_POWERTEC is not set
+CONFIG_ACORN_PARTITION_RISCIX=y
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM is not set
+
+##
+## file: kernel/time/Kconfig
+##
+CONFIG_HIGH_RES_TIMERS=y
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+# CONFIG_RESOURCES_64BIT is not set
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+# CONFIG_JOYSTICK_IFORCE_USB is not set
+# CONFIG_JOYSTICK_IFORCE_232 is not set
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+# CONFIG_JOYSTICK_XPAD_FF is not set
+# CONFIG_JOYSTICK_XPAD_LEDS is not set
+
--- linux-2.6-2.6.26.orig/debian/config/arm/config.versatile
+++ linux-2.6-2.6.26/debian/config/arm/config.versatile
@@ -0,0 +1,546 @@
+##
+## file: arch/arm/Kconfig
+##
+## choice: ARM system type
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+CONFIG_ARCH_VERSATILE=y
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+## end choice
+CONFIG_PCI=y
+# CONFIG_PREEMPT is not set
+# CONFIG_LEDS is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+CONFIG_VFP=y
+# CONFIG_ARTHUR is not set
+
+##
+## file: arch/arm/Kconfig.debug
+##
+# CONFIG_DEBUG_USER is not set
+
+##
+## file: arch/arm/mach-versatile/Kconfig
+##
+CONFIG_ARCH_VERSATILE_PB=y
+CONFIG_MACH_VERSATILE_AB=y
+
+##
+## file: arch/arm/mm/Kconfig
+##
+CONFIG_CPU_ARM926T=y
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+CONFIG_SATA_VIA=m
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+# CONFIG_ATM_TCP is not set
+# CONFIG_ATM_LANAI is not set
+# CONFIG_ATM_ENI is not set
+# CONFIG_ATM_FIRESTREAM is not set
+# CONFIG_ATM_ZATM is not set
+# CONFIG_ATM_NICSTAR is not set
+# CONFIG_ATM_IDT77252 is not set
+# CONFIG_ATM_AMBASSADOR is not set
+# CONFIG_ATM_HORIZON is not set
+# CONFIG_ATM_IA is not set
+# CONFIG_ATM_FORE200E_MAYBE is not set
+# CONFIG_ATM_HE is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NVRAM is not set
+# CONFIG_APPLICOM is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+# CONFIG_I2C is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_STOWAWAY=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_AMBAKMI=y
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/leds/Kconfig
+##
+# CONFIG_NEW_LEDS is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_SMC91X=m
+# CONFIG_DM9000 is not set
+CONFIG_HP100=m
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+CONFIG_AMD8111E_NAPI=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_ADAPTEC_STARFIRE_NAPI=y
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+# CONFIG_TLAN is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_RHINE_NAPI=y
+CONFIG_SC92031=m
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_E1000E=m
+# CONFIG_IP1000 is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_NAPI=y
+CONFIG_R8169_VLAN=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_VIA_VELOCITY=m
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_BNX2X is not set
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+# CONFIG_NETCONSOLE_DYNAMIC is not set
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_FIXED_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+
+##
+## file: drivers/pci/Kconfig
+##
+CONFIG_PCI_LEGACY=y
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_DRV_PL031=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_SYM53C8XX_2=m
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+# CONFIG_SPI is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB_SUPPORT=y
+CONFIG_USB=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_U132_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+# CONFIG_FB_PM2 is not set
+CONFIG_FB_ARMCLCD=y
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+CONFIG_FB_S3=m
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_SM501=m
+CONFIG_FB_VIRTUAL=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=m
+# CONFIG_BACKLIGHT_CORGI is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+##
+## file: drivers/video/display/Kconfig
+##
+CONFIG_DISPLAY_SUPPORT=m
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM is not set
+
+##
+## file: kernel/time/Kconfig
+##
+# CONFIG_TICK_ONESHOT is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_FRAME_POINTER is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+# CONFIG_RESOURCES_64BIT is not set
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+CONFIG_DECNET_ROUTER=y
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+CONFIG_IPX_INTERN=y
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=y
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
--- linux-2.6-2.6.26.orig/debian/config/arm/defines
+++ linux-2.6-2.6.26/debian/config/arm/defines
@@ -0,0 +1,38 @@
+[base]
+flavours:
+ footbridge
+ iop32x
+ ixp4xx
+ orion5x
+kernel-arch: arm
+
+[image]
+suggests: fdutils
+type: kernel-package
+
+[footbridge_image]
+suggests: nwutil
+
+[footbridge_base]
+class: Footbridge
+longclass: Footbridge based (CATS, Netwinder)
+
+[iop32x_base]
+class: IOP32x
+longclass: IOP32x based (Thecus N2100, etc)
+
+[ixp4xx_base]
+class: IXP4xx
+longclass: IXP4xx based (Linksys NSLU2, etc)
+
+[orion5x_base]
+class: Orion
+longclass: Orion 5181, 5182 and 5281 based (QNAP TS-109/TS-209, etc)
+
+[orion5x_image]
+recommends: uboot-mkimage
+
+[versatile_base]
+class: Versatile
+longclass: Versatile (PB, AB, Qemu)
+
--- linux-2.6-2.6.26.orig/debian/config/s390/config.s390
+++ linux-2.6-2.6.26/debian/config/s390/config.s390
@@ -0,0 +1,20 @@
+##
+## file: arch/s390/Kconfig
+##
+# CONFIG_64BIT is not set
+## choice: Processor type
+CONFIG_MARCH_G5=y
+# CONFIG_MARCH_Z900 is not set
+# CONFIG_MARCH_Z990 is not set
+# CONFIG_MARCH_Z9_109 is not set
+## end choice
+## choice: IPL method generated into head.S
+# CONFIG_IPL_TAPE is not set
+CONFIG_IPL_VM=y
+## end choice
+
+##
+## file: mm/Kconfig
+##
+# CONFIG_RESOURCES_64BIT is not set
+
--- linux-2.6-2.6.26.orig/debian/config/s390/config
+++ linux-2.6-2.6.26/debian/config/s390/config
@@ -0,0 +1,220 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_KPROBES is not set
+
+##
+## file: arch/s390/Kconfig
+##
+CONFIG_SMP=y
+CONFIG_NR_CPUS=32
+CONFIG_HOTPLUG_CPU=y
+CONFIG_MATHEMU=y
+CONFIG_COMPAT=y
+CONFIG_S390_SWITCH_AMODE=y
+CONFIG_S390_EXEC_PROTECT=y
+CONFIG_PACK_STACK=y
+# CONFIG_SMALL_STACK is not set
+# CONFIG_CHECK_STACK is not set
+# CONFIG_WARN_STACK is not set
+CONFIG_MACHCHK_WARNING=y
+CONFIG_QDIO=y
+# CONFIG_QDIO_DEBUG is not set
+CONFIG_IPL=y
+# CONFIG_PROCESS_DEBUG is not set
+CONFIG_PFAULT=y
+# CONFIG_SHARED_KERNEL is not set
+CONFIG_CMM=y
+CONFIG_CMM_PROC=y
+CONFIG_CMM_IUCV=y
+#. unsure
+# CONFIG_PAGE_STATES is not set
+CONFIG_VIRT_TIMER=y
+CONFIG_VIRT_CPU_ACCOUNTING=y
+CONFIG_APPLDATA_BASE=y
+CONFIG_APPLDATA_MEM=m
+CONFIG_APPLDATA_OS=m
+CONFIG_APPLDATA_NET_SUM=m
+CONFIG_S390_HYPFS_FS=y
+CONFIG_KEXEC=y
+# CONFIG_ZFCPDUMP is not set
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_RAM_SIZE=24576
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/crypto/Kconfig
+##
+CONFIG_ZCRYPT=m
+# CONFIG_ZCRYPT_MONOLITHIC is not set
+CONFIG_CRYPTO_SHA1_S390=m
+CONFIG_CRYPTO_SHA256_S390=m
+CONFIG_CRYPTO_SHA512_S390=m
+CONFIG_CRYPTO_DES_S390=m
+CONFIG_CRYPTO_AES_S390=m
+CONFIG_S390_PRNG=m
+
+##
+## file: drivers/memstick/Kconfig
+##
+# CONFIG_MEMSTICK is not set
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_DUMMY is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/s390/block/Kconfig
+##
+CONFIG_BLK_DEV_XPRAM=m
+CONFIG_DCSSBLK=m
+CONFIG_DASD=m
+# CONFIG_DASD_PROFILE is not set
+CONFIG_DASD_ECKD=m
+CONFIG_DASD_FBA=m
+CONFIG_DASD_DIAG=m
+# CONFIG_DASD_EER is not set
+
+##
+## file: drivers/s390/char/Kconfig
+##
+CONFIG_TN3270=y
+CONFIG_TN3270_TTY=y
+CONFIG_TN3270_FS=m
+CONFIG_TN3270_CONSOLE=y
+CONFIG_TN3215=y
+CONFIG_TN3215_CONSOLE=y
+CONFIG_SCLP_TTY=y
+CONFIG_SCLP_CONSOLE=y
+CONFIG_SCLP_VT220_TTY=y
+CONFIG_SCLP_VT220_CONSOLE=y
+CONFIG_SCLP_CPI=m
+CONFIG_S390_TAPE=m
+CONFIG_S390_TAPE_BLOCK=y
+CONFIG_S390_TAPE_34XX=m
+CONFIG_S390_TAPE_3590=m
+CONFIG_VMLOGRDR=m
+CONFIG_VMCP=m
+CONFIG_MONREADER=m
+CONFIG_MONWRITER=m
+CONFIG_S390_VMUR=m
+
+##
+## file: drivers/s390/net/Kconfig
+##
+CONFIG_LCS=m
+CONFIG_CTCM=m
+CONFIG_NETIUCV=m
+CONFIG_SMSGIUCV=m
+CONFIG_CLAW=m
+CONFIG_QETH=m
+CONFIG_QETH_L2=m
+CONFIG_QETH_L3=m
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_ZFCP=m
+
+##
+## file: drivers/watchdog/Kconfig
+##
+# CONFIG_WATCHDOG is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_IBM_PARTITION=y
+# CONFIG_MAC_PARTITION is not set
+CONFIG_BSD_DISKLABEL=y
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv6/Kconfig
+##
+CONFIG_IPV6=y
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: net/iucv/Kconfig
+##
+CONFIG_IUCV=m
+CONFIG_AFIUCV=m
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
--- linux-2.6-2.6.26.orig/debian/config/s390/config.s390-tape
+++ linux-2.6-2.6.26/debian/config/s390/config.s390-tape
@@ -0,0 +1,20 @@
+##
+## file: arch/s390/Kconfig
+##
+# CONFIG_64BIT is not set
+## choice: Processor type
+CONFIG_MARCH_G5=y
+# CONFIG_MARCH_Z900 is not set
+# CONFIG_MARCH_Z990 is not set
+# CONFIG_MARCH_Z9_109 is not set
+## end choice
+## choice: IPL method generated into head.S
+CONFIG_IPL_TAPE=y
+# CONFIG_IPL_VM is not set
+## end choice
+
+##
+## file: mm/Kconfig
+##
+# CONFIG_RESOURCES_64BIT is not set
+
--- linux-2.6-2.6.26.orig/debian/config/s390/config.s390x
+++ linux-2.6-2.6.26/debian/config/s390/config.s390x
@@ -0,0 +1,15 @@
+##
+## file: arch/s390/Kconfig
+##
+CONFIG_64BIT=y
+## choice: Processor type
+# CONFIG_MARCH_G5 is not set
+CONFIG_MARCH_Z900=y
+# CONFIG_MARCH_Z990 is not set
+# CONFIG_MARCH_Z9_109 is not set
+## end choice
+## choice: IPL method generated into head.S
+# CONFIG_IPL_TAPE is not set
+CONFIG_IPL_VM=y
+## end choice
+
--- linux-2.6-2.6.26.orig/debian/config/s390/defines
+++ linux-2.6-2.6.26/debian/config/s390/defines
@@ -0,0 +1,37 @@
+[base]
+featuresets:
+ vserver
+flavours:
+ s390
+ s390-tape
+ s390x
+kernel-arch: s390
+
+[image]
+desc-long-part-reader: This kernel has support to IPL (boot) from a VM reader or DASD device.
+desc-long-part-tape: This kernel has support to IPL (boot) from a tape.
+desc-short-part-tape: IPL from tape
+suggests: s390-tools
+
+[s390_base]
+class: IBM S/390
+
+[s390_image]
+desc-parts: reader
+
+[s390-tape_base]
+class: IBM S/390
+modules: false
+
+[s390-tape_image]
+initramfs: false
+desc-parts: tape
+override-localversion: s390
+type: plain-s390-tape
+
+[s390x_base]
+class: IBM zSeries
+
+[s390x_image]
+desc-parts: reader
+
--- linux-2.6-2.6.26.orig/debian/config/s390/vserver/defines
+++ linux-2.6-2.6.26/debian/config/s390/vserver/defines
@@ -0,0 +1,3 @@
+[base]
+flavours: s390x
+
--- linux-2.6-2.6.26.orig/debian/config/mipsel/config.4kc-malta
+++ linux-2.6-2.6.26/debian/config/mipsel/config.4kc-malta
@@ -0,0 +1,1786 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_BASLER_EXCITE is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+CONFIG_MIPS_MALTA=y
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+# CONFIG_WR_PPMC is not set
+## end choice
+## choice: Endianess selection
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+## end choice
+## choice: CPU type
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+## end choice
+## choice: Kernel code model
+CONFIG_32BIT=y
+# CONFIG_64BIT is not set
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+## choice: MIPS MT options
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+## end choice
+# CONFIG_MIPS_VPE_LOADER is not set
+## choice: Timer frequency
+# CONFIG_HZ_48 is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_128 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_256 is not set
+# CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1024 is not set
+## end choice
+# CONFIG_KEXEC is not set
+CONFIG_PCI=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+CONFIG_SATA_MV=y
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SX4=y
+CONFIG_SATA_SIL=y
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_ATA_GENERIC is not set
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+CONFIG_ATM_HE_USE_SUNI=y
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=m
+CONFIG_PARIDE=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/block/paride/Kconfig
+##
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+# CONFIG_PARIDE_BPCK6 is not set
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+# CONFIG_PARIDE_EPATC8 is not set
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_RTC=y
+CONFIG_DTLK=m
+CONFIG_APPLICOM=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+# CONFIG_IPMI_DEVICE_INTERFACE is not set
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/hid/Kconfig
+##
+CONFIG_HID=y
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ABITUGURU is not set
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+CONFIG_SENSORS_DS1621=m
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+CONFIG_I2C_PIIX4=m
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+CONFIG_I2C_VOODOO3=m
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCA9539=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_MAX6875=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_BLK_DEV_IDESCSI=m
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=y
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+CONFIG_BLK_DEV_HPT34X=y
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=y
+# CONFIG_BLK_DEV_JMICRON is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+CONFIG_BLK_DEV_PIIX=y
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+CONFIG_BLK_DEV_PDC202XX_OLD=y
+CONFIG_BLK_DEV_PDC202XX_NEW=y
+# CONFIG_BLK_DEV_SVWKS is not set
+CONFIG_BLK_DEV_SIIMAGE=y
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+# CONFIG_GAMEPORT_NS558 is not set
+# CONFIG_GAMEPORT_L4 is not set
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=m
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYBOARD_NEWTON=m
+CONFIG_KEYBOARD_STOWAWAY=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_VSXXXAA=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+##
+## file: drivers/isdn/gigaset/Kconfig
+##
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_GIGASET_UNDOCREQ is not set
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/isdn/hisax/Kconfig
+##
+CONFIG_ISDN_DRV_HISAX=m
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+# CONFIG_HISAX_DEBUG is not set
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+CONFIG_ISDN_DRV_LOOP=m
+CONFIG_ISDN_DIVERSION=m
+
+##
+## file: drivers/leds/Kconfig
+##
+# CONFIG_NEW_LEDS is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/dvb/frontends/Kconfig
+##
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6421=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA7111=m
+CONFIG_VIDEO_SAA7114=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_SAA6588=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+
+##
+## file: drivers/media/video/cpia2/Kconfig
+##
+CONFIG_VIDEO_CPIA2=m
+
+##
+## file: drivers/media/video/cx25840/Kconfig
+##
+CONFIG_VIDEO_CX25840=m
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+CONFIG_VIDEO_EM28XX=m
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/pvrusb2/Kconfig
+##
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+
+##
+## file: drivers/media/video/usbvision/Kconfig
+##
+CONFIG_VIDEO_USBVISION=m
+
+##
+## file: drivers/media/video/zc0301/Kconfig
+##
+CONFIG_USB_ZC0301=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/misc/Kconfig
+##
+# CONFIG_SGI_IOC4 is not set
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_DATAFLASH=m
+CONFIG_MTD_M25P80=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+CONFIG_MTD_DOC2000=m
+CONFIG_MTD_DOC2001=m
+CONFIG_MTD_DOC2001PLUS=m
+# CONFIG_MTD_DOCPROBE_ADVANCED is not set
+CONFIG_MTD_DOCPROBE_ADDRESS=0
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PLATRAM=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND_DISKONCHIP=m
+# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+CONFIG_MTD_NAND_CAFE=m
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+# CONFIG_MTD_ONENAND_OTP is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=y
+CONFIG_AMD8111_ETH=m
+CONFIG_AMD8111E_NAPI=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_ADAPTEC_STARFIRE_NAPI=y
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_RHINE_NAPI=y
+CONFIG_NET_POCKET=y
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_NAPI=y
+CONFIG_R8169_VLAN=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_QLA3XXX=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_MCS_FIR=m
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+# CONFIG_QSEMI_PHY is not set
+CONFIG_LXT_PHY=m
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_FIXED_PHY=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+# CONFIG_WINBOND_840 is not set
+CONFIG_DM9102=m
+# CONFIG_ULI526X is not set
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+# CONFIG_PC300_MLPPP is not set
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_WAN_ROUTER_DRIVERS=m
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_LAPBETHER=m
+CONFIG_X25_ASY=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_WLAN_80211=y
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+# CONFIG_IPW2200_MONITOR is not set
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/net/wireless/hostap/Kconfig
+##
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+
+##
+## file: drivers/net/wireless/zd1211rw/Kconfig
+##
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+##
+## file: drivers/parport/Kconfig
+##
+# CONFIG_PARPORT_AX88796 is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_RS5C348=m
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+CONFIG_RTC_DRV_M48T86=m
+# CONFIG_RTC_DRV_V3020 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_SRP=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+
+##
+## file: drivers/scsi/libsas/Kconfig
+##
+CONFIG_SCSI_SAS_LIBSAS=m
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+CONFIG_SCSI_QLA_ISCSI=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=y
+CONFIG_USB_USS720=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=y
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+# CONFIG_FB_RIVA is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+CONFIG_FB_VIRTUAL=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+CONFIG_USBPCWATCHDOG=m
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/dlm/Kconfig
+##
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_HEADERS_CHECK is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+# CONFIG_RESOURCES_64BIT is not set
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/bridge/netfilter/Kconfig
+##
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/decnet/netfilter/Kconfig
+##
+CONFIG_DECNET_NF_GRABULATOR=m
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+# CONFIG_IRDA_ULTRA is not set
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/netlabel/Kconfig
+##
+# CONFIG_NETLABEL is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/wireless/Kconfig
+##
+CONFIG_WIRELESS_EXT=y
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_TRIDENT=m
+CONFIG_SOUND_MSNDCLAS=m
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+CONFIG_SOUND_MSNDPIN=m
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_AC97_POWER_SAVE=y
+
--- linux-2.6-2.6.26.orig/debian/config/mipsel/config
+++ linux-2.6-2.6.26/debian/config/mipsel/config
@@ -0,0 +1,10 @@
+##
+## file: arch/mips/Kconfig
+##
+CONFIG_SECCOMP=y
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_NIU is not set
+
--- linux-2.6-2.6.26.orig/debian/config/mipsel/config.r5k-cobalt
+++ linux-2.6-2.6.26/debian/config/mipsel/config.r5k-cobalt
@@ -0,0 +1,928 @@
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+CONFIG_MIPS_COBALT=y
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+## end choice
+## choice: Endianess selection
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+## end choice
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+CONFIG_CPU_NEVADA=y
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+## end choice
+## choice: Kernel code model
+CONFIG_32BIT=y
+# CONFIG_64BIT is not set
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+CONFIG_PCI=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+
+##
+## file: drivers/base/Kconfig
+##
+# CONFIG_STANDALONE is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_PARIDE is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_PRINTER is not set
+# CONFIG_PPDEV is not set
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+CONFIG_COBALT_LCD=y
+# CONFIG_DTLK is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_TELCLOCK is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+# CONFIG_USB_HID is not set
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+# CONFIG_HWMON is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+# CONFIG_I2C is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+CONFIG_BLK_DEV_VIA82CXXX=y
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+# CONFIG_INFINIBAND is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_PCSPKR is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=m
+CONFIG_SERIO_I8042=m
+CONFIG_SERIO_SERPORT=m
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=m
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+# CONFIG_ISDN_I4L is not set
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/leds/Kconfig
+##
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_COBALT_QUBE=y
+CONFIG_LEDS_COBALT_RAQ=y
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC is not set
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+# CONFIG_USB_SN9C102 is not set
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+# CONFIG_MTD_BLOCK is not set
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+# CONFIG_MTD_CFI is not set
+CONFIG_MTD_JEDECPROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x0
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=0
+# CONFIG_MTD_PLATRAM is not set
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+# CONFIG_MTD_NAND is not set
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+# CONFIG_MTD_ONENAND is not set
+
+##
+## file: drivers/mtd/ubi/Kconfig
+##
+# CONFIG_MTD_UBI is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+CONFIG_BONDING=m
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+# CONFIG_AMD8111E_NAPI is not set
+CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+# CONFIG_EEPRO100 is not set
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+# CONFIG_TLAN is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_LAN_SAA9730 is not set
+# CONFIG_NET_POCKET is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_BNX2X is not set
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+# CONFIG_PHYLIB is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=y
+CONFIG_TULIP=y
+CONFIG_TULIP_MWI=y
+CONFIG_TULIP_MMIO=y
+# CONFIG_TULIP_NAPI is not set
+# CONFIG_DE4X5 is not set
+# CONFIG_WINBOND_840 is not set
+# CONFIG_DM9102 is not set
+# CONFIG_ULI526X is not set
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+# CONFIG_STRIP is not set
+CONFIG_WLAN_80211=y
+CONFIG_IPW2100=m
+# CONFIG_IPW2100_MONITOR is not set
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/net/wireless/hostap/Kconfig
+##
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_CMOS=y
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+# CONFIG_SPI_BUTTERFLY is not set
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_DEVICEFS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_LD is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+CONFIG_USB_STORAGE_ALAUDA=y
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+# CONFIG_FB is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+# CONFIG_WATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_CRAMFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_MSDOS_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/bluetooth/Kconfig
+##
+# CONFIG_BT is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+CONFIG_SND_RTCTIMER=m
+CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+# CONFIG_SND_CS46XX_NEW_DSP is not set
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
+CONFIG_SCSI_SYM53C8XX_2=m
+
--- linux-2.6-2.6.26.orig/debian/config/mipsel/config.5kc-malta
+++ linux-2.6-2.6.26/debian/config/mipsel/config.5kc-malta
@@ -0,0 +1,2117 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_MACH_ALCHEMY is not set
+# CONFIG_BASLER_EXCITE is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+CONFIG_MIPS_MALTA=y
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+# CONFIG_WR_PPMC is not set
+## end choice
+CONFIG_EARLY_PRINTK=y
+## choice: Endianess selection
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+## end choice
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+CONFIG_CPU_MIPS64_R1=y
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+## end choice
+## choice: Kernel code model
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+## choice: MIPS MT options
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+## end choice
+# CONFIG_MIPS_VPE_LOADER is not set
+# CONFIG_CPU_HAS_SMARTMIPS is not set
+## choice: Timer frequency
+# CONFIG_HZ_48 is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_128 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_256 is not set
+# CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1024 is not set
+## end choice
+# CONFIG_KEXEC is not set
+CONFIG_PCI=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+CONFIG_SATA_MV=y
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SX4=y
+CONFIG_SATA_SIL=y
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+CONFIG_SATA_INIC162X=m
+# CONFIG_ATA_GENERIC is not set
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+CONFIG_ATM_HE_USE_SUNI=y
+
+##
+## file: drivers/auxdisplay/Kconfig
+##
+# CONFIG_KS0108 is not set
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=m
+CONFIG_PARIDE=m
+# CONFIG_BLK_CPQ_DA is not set
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/block/paride/Kconfig
+##
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+# CONFIG_PARIDE_EPATC8 is not set
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_RTC=y
+CONFIG_APPLICOM=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+# CONFIG_IPMI_DEVICE_INTERFACE is not set
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+
+##
+## file: drivers/hid/Kconfig
+##
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ABITUGURU is not set
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+CONFIG_SENSORS_DS1621=m
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+CONFIG_I2C_PIIX4=m
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_TINY_USB=m
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+CONFIG_I2C_VOODOO3=m
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCA9539=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_MAX6875=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_BLK_DEV_IDESCSI=m
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+CONFIG_IDE_GENERIC=y
+CONFIG_IDEPCI_PCIBUS_ORDER=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=y
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+CONFIG_BLK_DEV_HPT34X=y
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=y
+# CONFIG_BLK_DEV_JMICRON is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+CONFIG_BLK_DEV_PIIX=y
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+CONFIG_BLK_DEV_PDC202XX_OLD=y
+CONFIG_BLK_DEV_PDC202XX_NEW=y
+# CONFIG_BLK_DEV_SVWKS is not set
+CONFIG_BLK_DEV_SIIMAGE=y
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/ieee1394/Kconfig
+##
+# CONFIG_IEEE1394 is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+
+##
+## file: drivers/infiniband/hw/amso1100/Kconfig
+##
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+
+##
+## file: drivers/infiniband/hw/cxgb3/Kconfig
+##
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
+
+##
+## file: drivers/infiniband/hw/mlx4/Kconfig
+##
+CONFIG_MLX4_INFINIBAND=m
+
+##
+## file: drivers/infiniband/hw/mthca/Kconfig
+##
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+
+##
+## file: drivers/infiniband/ulp/ipoib/Kconfig
+##
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+
+##
+## file: drivers/infiniband/ulp/iser/Kconfig
+##
+CONFIG_INFINIBAND_ISER=m
+
+##
+## file: drivers/infiniband/ulp/srp/Kconfig
+##
+CONFIG_INFINIBAND_SRP=m
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_POLLDEV is not set
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+# CONFIG_GAMEPORT_NS558 is not set
+# CONFIG_GAMEPORT_L4 is not set
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=m
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYBOARD_NEWTON=m
+CONFIG_KEYBOARD_STOWAWAY=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_VSXXXAA=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+##
+## file: drivers/isdn/gigaset/Kconfig
+##
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_GIGASET_UNDOCREQ is not set
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/isdn/hisax/Kconfig
+##
+CONFIG_ISDN_DRV_HISAX=m
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+# CONFIG_HISAX_DEBUG is not set
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+CONFIG_ISDN_DRV_LOOP=m
+CONFIG_ISDN_DIVERSION=m
+
+##
+## file: drivers/leds/Kconfig
+##
+# CONFIG_NEW_LEDS is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+CONFIG_DM_DELAY=m
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/dvb/Kconfig
+##
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+##
+## file: drivers/media/dvb/b2c2/Kconfig
+##
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+##
+## file: drivers/media/dvb/bt8xx/Kconfig
+##
+CONFIG_DVB_BT8XX=m
+
+##
+## file: drivers/media/dvb/cinergyT2/Kconfig
+##
+CONFIG_DVB_CINERGYT2=m
+# CONFIG_DVB_CINERGYT2_TUNING is not set
+
+##
+## file: drivers/media/dvb/dvb-usb/Kconfig
+##
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+
+##
+## file: drivers/media/dvb/frontends/Kconfig
+##
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6421=m
+
+##
+## file: drivers/media/dvb/pluto2/Kconfig
+##
+CONFIG_DVB_PLUTO2=m
+
+##
+## file: drivers/media/dvb/ttpci/Kconfig
+##
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+##
+## file: drivers/media/dvb/ttusb-budget/Kconfig
+##
+CONFIG_DVB_TTUSB_BUDGET=m
+
+##
+## file: drivers/media/dvb/ttusb-dec/Kconfig
+##
+CONFIG_DVB_TTUSB_DEC=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA7111=m
+CONFIG_VIDEO_SAA7114=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_SAA6588=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+CONFIG_USB_ZR364XX=m
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+
+##
+## file: drivers/media/video/cpia2/Kconfig
+##
+CONFIG_VIDEO_CPIA2=m
+
+##
+## file: drivers/media/video/cx25840/Kconfig
+##
+CONFIG_VIDEO_CX25840=m
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+CONFIG_VIDEO_EM28XX=m
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/ivtv/Kconfig
+##
+CONFIG_VIDEO_IVTV=m
+
+##
+## file: drivers/media/video/pvrusb2/Kconfig
+##
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+
+##
+## file: drivers/media/video/usbvision/Kconfig
+##
+CONFIG_VIDEO_USBVISION=m
+
+##
+## file: drivers/media/video/zc0301/Kconfig
+##
+CONFIG_USB_ZC0301=m
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/mfd/Kconfig
+##
+CONFIG_MFD_SM501=m
+
+##
+## file: drivers/misc/Kconfig
+##
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/mmc/core/Kconfig
+##
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_DATAFLASH=m
+CONFIG_MTD_M25P80=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+CONFIG_MTD_DOC2000=m
+CONFIG_MTD_DOC2001=m
+CONFIG_MTD_DOC2001PLUS=m
+# CONFIG_MTD_DOCPROBE_ADVANCED is not set
+CONFIG_MTD_DOCPROBE_ADDRESS=0
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PLATRAM=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_DISKONCHIP=m
+# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+CONFIG_MTD_NAND_CAFE=m
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+# CONFIG_MTD_ONENAND_OTP is not set
+
+##
+## file: drivers/mtd/ubi/Kconfig
+##
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_GLUEBI is not set
+
+##
+## file: drivers/mtd/ubi/Kconfig.debug
+##
+# CONFIG_MTD_UBI_DEBUG is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=y
+CONFIG_AMD8111_ETH=m
+CONFIG_AMD8111E_NAPI=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_ADAPTEC_STARFIRE_NAPI=y
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+# CONFIG_TC35815 is not set
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_RHINE_NAPI=y
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_NAPI=y
+CONFIG_R8169_VLAN=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_MCS_FIR=m
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+# CONFIG_QSEMI_PHY is not set
+CONFIG_LXT_PHY=m
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_FIXED_PHY=m
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+CONFIG_TR=y
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+# CONFIG_WINBOND_840 is not set
+CONFIG_DM9102=m
+# CONFIG_ULI526X is not set
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+CONFIG_HDLC_X25=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+# CONFIG_PC300_MLPPP is not set
+# CONFIG_PC300TOO is not set
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_WAN_ROUTER_DRIVERS=m
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_LAPBETHER=m
+CONFIG_X25_ASY=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_WLAN_80211=y
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+# CONFIG_IPW2200_MONITOR is not set
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/net/wireless/hostap/Kconfig
+##
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+
+##
+## file: drivers/net/wireless/zd1211rw/Kconfig
+##
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+##
+## file: drivers/parport/Kconfig
+##
+# CONFIG_PARPORT_AX88796 is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_CMOS=m
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+CONFIG_RTC_DRV_M48T86=m
+# CONFIG_RTC_DRV_V3020 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_SRP=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+
+##
+## file: drivers/scsi/libsas/Kconfig
+##
+CONFIG_SCSI_SAS_LIBSAS=m
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+CONFIG_SCSI_QLA_ISCSI=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_AT25=m
+# CONFIG_SPI_SPIDEV is not set
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=y
+CONFIG_USB_USS720=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=y
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/serial/Kconfig
+##
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_AIRPRIME=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+# CONFIG_USB_SERIAL_TI is not set
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+# CONFIG_FB_RIVA is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_SM501=m
+CONFIG_FB_VIRTUAL=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/display/Kconfig
+##
+CONFIG_DISPLAY_SUPPORT=m
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+##
+## file: drivers/w1/masters/Kconfig
+##
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+
+##
+## file: drivers/w1/slaves/Kconfig
+##
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+CONFIG_USBPCWATCHDOG=m
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/dlm/Kconfig
+##
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM is not set
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_HEADERS_CHECK is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+CONFIG_RESOURCES_64BIT=y
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/bridge/netfilter/Kconfig
+##
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/decnet/netfilter/Kconfig
+##
+CONFIG_DECNET_NF_GRABULATOR=m
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+# CONFIG_IRDA_ULTRA is not set
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/netlabel/Kconfig
+##
+# CONFIG_NETLABEL is not set
+
+##
+## file: net/rfkill/Kconfig
+##
+CONFIG_RFKILL=m
+CONFIG_RFKILL_INPUT=m
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/wireless/Kconfig
+##
+CONFIG_CFG80211=m
+CONFIG_WIRELESS_EXT=y
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_TRIDENT=m
+CONFIG_SOUND_MSNDCLAS=m
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+CONFIG_SOUND_MSNDPIN=m
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_AC97_POWER_SAVE=y
+
--- linux-2.6-2.6.26.orig/debian/config/mipsel/config.sb1a-bcm91480b
+++ linux-2.6-2.6.26/debian/config/mipsel/config.sb1a-bcm91480b
@@ -0,0 +1,1076 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_OPROFILE is not set
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+CONFIG_SIBYTE_BIGSUR=y
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+## end choice
+## choice: Endianess selection
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+## end choice
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+CONFIG_CPU_SB1=y
+## end choice
+## choice: Kernel code model
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+# CONFIG_SIBYTE_DMA_PAGEOPS is not set
+CONFIG_SMP=y
+CONFIG_NR_CPUS=4
+CONFIG_PCI=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+# CONFIG_SB1XXX_CORELIS is not set
+
+##
+## file: arch/mips/sibyte/Kconfig
+##
+## choice: SiByte SOC Stepping
+# CONFIG_CPU_SB1_PASS_1 is not set
+# CONFIG_CPU_SB1_PASS_2_1250 is not set
+# CONFIG_CPU_SB1_PASS_2_2 is not set
+# CONFIG_CPU_SB1_PASS_4 is not set
+# CONFIG_CPU_SB1_PASS_2_112x is not set
+# CONFIG_CPU_SB1_PASS_3 is not set
+## end choice
+# CONFIG_SIMULATION is not set
+# CONFIG_SB1_CEX_ALWAYS_FATAL is not set
+# CONFIG_SB1_CERR_STALL is not set
+CONFIG_SIBYTE_CFE=y
+# CONFIG_SIBYTE_CFE_CONSOLE is not set
+# CONFIG_SIBYTE_BUS_WATCHER is not set
+# CONFIG_SIBYTE_TBPROF is not set
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+CONFIG_RTC=m
+CONFIG_GEN_RTC=y
+CONFIG_GEN_RTC_X=y
+# CONFIG_DTLK is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_TELCLOCK is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_USB_HIDDEV=y
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+CONFIG_SENSORS_VT8231=m
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+CONFIG_I2C_SIBYTE=m
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+# CONFIG_BLK_DEV_IDESCSI is not set
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+# CONFIG_BLK_DEV_CS5520 is not set
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_BLK_DEV_IDE_SWARM is not set
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+# CONFIG_INFINIBAND is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+# CONFIG_DM_MULTIPATH_EMC is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+# CONFIG_VIDEO_BT848 is not set
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+# CONFIG_VIDEO_CX88 is not set
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+# CONFIG_VIDEO_EM28XX is not set
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+# CONFIG_VIDEO_SAA7134 is not set
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+# CONFIG_USB_SN9C102 is not set
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+# CONFIG_AMD8111E_NAPI is not set
+CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_LAN_SAA9730 is not set
+# CONFIG_NET_POCKET is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+# CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_NAPI is not set
+CONFIG_SB1250_MAC=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+# CONFIG_PHYLIB is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+# CONFIG_NET_TULIP is not set
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_ATTRS is not set
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+CONFIG_SERIAL_SB1250_DUART=y
+CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/class/Kconfig
+##
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+CONFIG_USB_STORAGE_ALAUDA=y
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_CIRRUS is not set
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+CONFIG_FB_RIVA=m
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+# CONFIG_FB_MATROX_I2C is not set
+# CONFIG_FB_MATROX_MULTIHEAD is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+# CONFIG_FB_ATY_CT is not set
+# CONFIG_FB_ATY_GX is not set
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+# CONFIG_USBPCWATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=15
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=y
+
+##
+## file: sound/core/Kconfig
+##
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_VIRMIDI=m
+# CONFIG_SND_MTPAV is not set
+CONFIG_SND_SERIAL_U16550=m
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/oss/Kconfig
+##
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+CONFIG_SND_BT87X_OVERCLOCK=y
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
--- linux-2.6-2.6.26.orig/debian/config/mipsel/config.sb1-bcm91250a
+++ linux-2.6-2.6.26/debian/config/mipsel/config.sb1-bcm91250a
@@ -0,0 +1,1090 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_OPROFILE is not set
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+CONFIG_SIBYTE_SWARM=y
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+## end choice
+## choice: Endianess selection
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+## end choice
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+CONFIG_CPU_SB1=y
+## end choice
+## choice: Kernel code model
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+# CONFIG_SIBYTE_DMA_PAGEOPS is not set
+CONFIG_SMP=y
+CONFIG_NR_CPUS=2
+CONFIG_PCI=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+# CONFIG_SB1XXX_CORELIS is not set
+
+##
+## file: arch/mips/sibyte/Kconfig
+##
+## choice: SiByte SOC Stepping
+# CONFIG_CPU_SB1_PASS_1 is not set
+# CONFIG_CPU_SB1_PASS_2_1250 is not set
+CONFIG_CPU_SB1_PASS_2_2=y
+# CONFIG_CPU_SB1_PASS_4 is not set
+# CONFIG_CPU_SB1_PASS_2_112x is not set
+# CONFIG_CPU_SB1_PASS_3 is not set
+## end choice
+# CONFIG_SIMULATION is not set
+# CONFIG_SB1_CEX_ALWAYS_FATAL is not set
+# CONFIG_SB1_CERR_STALL is not set
+CONFIG_SIBYTE_CFE=y
+# CONFIG_SIBYTE_CFE_CONSOLE is not set
+# CONFIG_SIBYTE_BUS_WATCHER is not set
+# CONFIG_SIBYTE_TBPROF is not set
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+CONFIG_RTC=m
+CONFIG_GEN_RTC=y
+CONFIG_GEN_RTC_X=y
+# CONFIG_DTLK is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_TELCLOCK is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_USB_HIDDEV=y
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+CONFIG_SENSORS_VT8231=m
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+CONFIG_I2C_SIBYTE=m
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+# CONFIG_BLK_DEV_IDESCSI is not set
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+# CONFIG_BLK_DEV_CS5520 is not set
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_IDE_SWARM=y
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+# CONFIG_INFINIBAND is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+# CONFIG_DM_MULTIPATH_EMC is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+# CONFIG_VIDEO_BT848 is not set
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+# CONFIG_VIDEO_CX88 is not set
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+# CONFIG_VIDEO_EM28XX is not set
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+# CONFIG_VIDEO_SAA7134 is not set
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+# CONFIG_USB_SN9C102 is not set
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+# CONFIG_AMD8111E_NAPI is not set
+CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_LAN_SAA9730 is not set
+# CONFIG_NET_POCKET is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+# CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_NAPI is not set
+CONFIG_SB1250_MAC=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+# CONFIG_PHYLIB is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+# CONFIG_NET_TULIP is not set
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_ATTRS is not set
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+CONFIG_SERIAL_SB1250_DUART=y
+CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+# CONFIG_USB_PRINTER is not set
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_CIRRUS is not set
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+CONFIG_FB_RIVA=m
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+# CONFIG_FB_MATROX_I2C is not set
+# CONFIG_FB_MATROX_MULTIHEAD is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+# CONFIG_FB_ATY_CT is not set
+# CONFIG_FB_ATY_GX is not set
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+# CONFIG_USBPCWATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=15
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=y
+
+##
+## file: sound/core/Kconfig
+##
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_VIRMIDI=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/oss/Kconfig
+##
+# CONFIG_SOUND_BCM_CS4297A is not set
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+CONFIG_SND_BT87X_OVERCLOCK=y
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
--- linux-2.6-2.6.26.orig/debian/config/mipsel/defines
+++ linux-2.6-2.6.26/debian/config/mipsel/defines
@@ -0,0 +1,32 @@
+[base]
+flavours:
+ r5k-cobalt
+ sb1-bcm91250a
+ sb1a-bcm91480b
+ 4kc-malta
+ 5kc-malta
+kernel-arch: mips
+
+[image]
+initramfs: false
+type: kernel-package
+
+[r5k-cobalt_base]
+class: Cobalt
+longclass: Cobalt (Qube, RaQ, Qube2, RaQ2)
+
+[sb1-bcm91250a_base]
+class: BCM91250A
+longclass: Broadcom BCM91250A (aka SWARM)
+
+[sb1a-bcm91480b_base]
+class: BCM91480B
+longclass: Broadcom BCM91480B (aka BigSur)
+
+[4kc-malta_base]
+class: MIPS Malta
+longclass: MIPS Malta board
+
+[5kc-malta_base]
+class: MIPS Malta (64-bit)
+longclass: MIPS Malta board (64-bit)
--- linux-2.6-2.6.26.orig/debian/config/alpha/config.alpha-smp
+++ linux-2.6-2.6.26/debian/config/alpha/config.alpha-smp
@@ -0,0 +1,16 @@
+##
+## file: arch/alpha/Kconfig
+##
+CONFIG_SMP=y
+CONFIG_NR_CPUS=64
+
+##
+## file: arch/alpha/Kconfig.debug
+##
+# CONFIG_ALPHA_LEGACY_START_ADDRESS is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI=y
+
--- linux-2.6-2.6.26.orig/debian/config/alpha/config
+++ linux-2.6-2.6.26/debian/config/alpha/config
@@ -0,0 +1,1571 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+
+##
+## file: arch/alpha/Kconfig
+##
+## choice: Alpha system type
+CONFIG_ALPHA_GENERIC=y
+# CONFIG_ALPHA_ALCOR is not set
+# CONFIG_ALPHA_XL is not set
+# CONFIG_ALPHA_BOOK1 is not set
+# CONFIG_ALPHA_AVANTI_CH is not set
+# CONFIG_ALPHA_CABRIOLET is not set
+# CONFIG_ALPHA_DP264 is not set
+# CONFIG_ALPHA_EB164 is not set
+# CONFIG_ALPHA_EB64P_CH is not set
+# CONFIG_ALPHA_EB66 is not set
+# CONFIG_ALPHA_EB66P is not set
+# CONFIG_ALPHA_EIGER is not set
+# CONFIG_ALPHA_JENSEN is not set
+# CONFIG_ALPHA_LX164 is not set
+# CONFIG_ALPHA_LYNX is not set
+# CONFIG_ALPHA_MARVEL is not set
+# CONFIG_ALPHA_MIATA is not set
+# CONFIG_ALPHA_MIKASA is not set
+# CONFIG_ALPHA_NAUTILUS is not set
+# CONFIG_ALPHA_NONAME_CH is not set
+# CONFIG_ALPHA_NORITAKE is not set
+# CONFIG_ALPHA_PC164 is not set
+# CONFIG_ALPHA_P2K is not set
+# CONFIG_ALPHA_RAWHIDE is not set
+# CONFIG_ALPHA_RUFFIAN is not set
+# CONFIG_ALPHA_RX164 is not set
+# CONFIG_ALPHA_SX164 is not set
+# CONFIG_ALPHA_SABLE is not set
+# CONFIG_ALPHA_SHARK is not set
+# CONFIG_ALPHA_TAKARA is not set
+# CONFIG_ALPHA_TITAN is not set
+# CONFIG_ALPHA_WILDFIRE is not set
+## end choice
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+# CONFIG_VERBOSE_MCHECK is not set
+CONFIG_SRM_ENV=m
+
+##
+## file: arch/alpha/Kconfig.debug
+##
+CONFIG_MATHEMU=y
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+CONFIG_ATM_HE_USE_SUNI=y
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=m
+CONFIG_BLK_DEV_XD=m
+CONFIG_PARIDE=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+CONFIG_CDROM_PKTCDVD_WCACHE=y
+
+##
+## file: drivers/block/paride/Kconfig
+##
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+CONFIG_PARIDE_EPATC8=y
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_DIGIEPCA is not set
+CONFIG_ESPSERIAL=m
+CONFIG_MOXA_INTELLIO=m
+CONFIG_ISI=m
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_N_HDLC=m
+CONFIG_SPECIALIX=m
+# CONFIG_SPECIALIX_RTSCTS is not set
+CONFIG_SX=m
+# CONFIG_RIO is not set
+CONFIG_STALDRV=y
+CONFIG_STALLION=m
+CONFIG_ISTALLION=m
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_RTC=m
+CONFIG_GEN_RTC=m
+CONFIG_GEN_RTC_X=y
+CONFIG_DTLK=m
+CONFIG_APPLICOM=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+
+##
+## file: drivers/char/agp/Kconfig
+##
+CONFIG_AGP=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_ALPHA_CORE=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/char/pcmcia/Kconfig
+##
+CONFIG_SYNCLINK_CS=m
+
+##
+## file: drivers/eisa/Kconfig
+##
+CONFIG_EISA_PCI_EISA=y
+CONFIG_EISA_VIRTUAL_ROOT=y
+CONFIG_EISA_NAMES=y
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_FSCHER=m
+CONFIG_SENSORS_FSCPOS=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83627HF=m
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+# CONFIG_I2C_AMD756_S4882 is not set
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_ELEKTOR=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_I810=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_PROSAVAGE=m
+CONFIG_I2C_SAVAGE4=m
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_STUB=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+CONFIG_I2C_VOODOO3=m
+CONFIG_I2C_PCA_ISA=m
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCF8591=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=m
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=m
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_IDEPNP=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+CONFIG_HPT34X_AUTODMA=y
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_4DRIVES=y
+CONFIG_BLK_DEV_ALI14XX=m
+CONFIG_BLK_DEV_DTC2278=m
+CONFIG_BLK_DEV_HT6560B=m
+CONFIG_BLK_DEV_QD65XX=m
+CONFIG_BLK_DEV_UMC8672=m
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=m
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYBOARD_NEWTON=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_INPORT=m
+# CONFIG_MOUSE_ATIXL is not set
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/act2000/Kconfig
+##
+CONFIG_ISDN_DRV_ACT2000=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/isdn/hisax/Kconfig
+##
+CONFIG_ISDN_DRV_HISAX=m
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+CONFIG_ISDN_DRV_LOOP=m
+CONFIG_ISDN_DIVERSION=m
+
+##
+## file: drivers/isdn/icn/Kconfig
+##
+CONFIG_ISDN_DRV_ICN=m
+
+##
+## file: drivers/isdn/pcbit/Kconfig
+##
+CONFIG_ISDN_DRV_PCBIT=m
+
+##
+## file: drivers/isdn/sc/Kconfig
+##
+CONFIG_ISDN_DRV_SC=m
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+CONFIG_RADIO_RTRACK2=m
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_TYPHOON_PROC_FS=y
+CONFIG_RADIO_ZOLTRIX=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
+CONFIG_MTD_REDBOOT_PARTS_READONLY=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+## choice: Flash cmd/query data swapping
+# CONFIG_MTD_CFI_NOSWAP is not set
+CONFIG_MTD_CFI_BE_BYTE_SWAP=y
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+## end choice
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_MAP_BANK_WIDTH_8=y
+CONFIG_MTD_MAP_BANK_WIDTH_16=y
+CONFIG_MTD_MAP_BANK_WIDTH_32=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I8=y
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+CONFIG_MTD_XIP=y
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+CONFIG_MTD_DOC2000=m
+CONFIG_MTD_DOC2001=m
+CONFIG_MTD_DOC2001PLUS=m
+CONFIG_MTD_DOCPROBE_ADVANCED=y
+CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
+CONFIG_MTD_DOCPROBE_HIGH=y
+CONFIG_MTD_DOCPROBE_55AA=y
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x4000000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PCI=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_NANDSIM=y
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_DUMMY=m
+CONFIG_NET_SB1000=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL1=m
+CONFIG_EL2=m
+CONFIG_ELPLUS=m
+CONFIG_EL16=m
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_LANCE=m
+CONFIG_NET_VENDOR_SMC=y
+CONFIG_WD80x3=m
+CONFIG_ULTRA=m
+CONFIG_ULTRA32=m
+CONFIG_SMC9194=m
+CONFIG_NET_VENDOR_RACAL=y
+CONFIG_NI5010=m
+CONFIG_NI52=m
+CONFIG_NI65=m
+CONFIG_AT1700=m
+CONFIG_DEPCA=m
+CONFIG_HP100=m
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_ZNET=m
+CONFIG_SEEQ8005=m
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_AC3200=m
+CONFIG_APRICOT=m
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_CS89x0=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_LNE390=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_NE3210=m
+CONFIG_ES3210=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_VLAN=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+CONFIG_NETPOLL_TRAP=y
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_LTPC=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_ISA=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_BPQETHER=m
+CONFIG_DMASCC=m
+CONFIG_SCC=m
+# CONFIG_SCC_DELAY is not set
+# CONFIG_SCC_TRXECHO is not set
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+
+##
+## file: drivers/net/pcmcia/Kconfig
+##
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+CONFIG_ARCNET_COM20020_CS=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_PCMCIA_XIRCOM=m
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_HOSTESS_SV11=m
+CONFIG_COSA=m
+CONFIG_LANMEDIA=m
+CONFIG_SEALEVEL_4021=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+CONFIG_PC300_MLPPP=y
+CONFIG_N2=m
+CONFIG_C101=m
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+CONFIG_DSCC4_PCISYNC=y
+CONFIG_DSCC4_PCI_RST=y
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SDLA=m
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_LAPBETHER=m
+CONFIG_X25_ASY=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_WLAN_80211=y
+CONFIG_PCMCIA_RAYCS=m
+# CONFIG_IPW2100 is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/pci/Kconfig
+##
+# CONFIG_PCI_DEBUG is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+CONFIG_PCCARD=m
+CONFIG_PCMCIA_DEBUG=y
+CONFIG_PCMCIA=m
+CONFIG_CARDBUS=y
+CONFIG_YENTA=m
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+
+##
+## file: drivers/pnp/Kconfig
+##
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG is not set
+
+##
+## file: drivers/pnp/isapnp/Kconfig
+##
+CONFIG_ISAPNP=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+CONFIG_SCSI_EATA_TAGGED_QUEUE=y
+CONFIG_SCSI_EATA_LINKED_COMMANDS=y
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+CONFIG_SCSI_IZIP_EPP16=y
+CONFIG_SCSI_IZIP_SLOW_CTR=y
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_IPR=m
+CONFIG_SCSI_IPR_TRACE=y
+CONFIG_SCSI_IPR_DUMP=y
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_SIM710=m
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y
+CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_DEBUG=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+CONFIG_PHONE_IXJ_PCMCIA=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+CONFIG_USB_USS720=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+# CONFIG_USB_STORAGE_USBAT is not set
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_TGA=m
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+CONFIG_FB_TRIDENT_ACCEL=y
+CONFIG_FB_VIRTUAL=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_LCD_CLASS_DEVICE=m
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_VGA_CONSOLE=y
+CONFIG_MDA_CONSOLE=m
+CONFIG_FRAMEBUFFER_CONSOLE=m
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+CONFIG_WDT_501=y
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+CONFIG_USBPCWATCHDOG=m
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_AOUT=m
+CONFIG_OSF4_COMPAT=y
+CONFIG_BINFMT_EM86=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+# CONFIG_ACORN_PARTITION_EESOX is not set
+CONFIG_ACORN_PARTITION_ICS=y
+# CONFIG_ACORN_PARTITION_ADFS is not set
+# CONFIG_ACORN_PARTITION_POWERTEC is not set
+CONFIG_ACORN_PARTITION_RISCIX=y
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+#. TODO
+# CONFIG_AUDIT is not set
+CONFIG_LOG_BUF_SHIFT=14
+
+##
+## file: lib/Kconfig
+##
+#. TODO
+CONFIG_CRC32=m
+
+##
+## file: lib/Kconfig.debug
+##
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_INFO is not set
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+CONFIG_IRDA_ULTRA=y
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+
+##
+## file: sound/isa/Kconfig
+##
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4232=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_DT019X=m
+CONFIG_SND_ES968=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SGALAXY=m
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_TRIDENT=m
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_SOUND_OSS=m
+# CONFIG_SOUND_TRACEINIT is not set
+# CONFIG_SOUND_DMAP is not set
+CONFIG_SOUND_SSCAPE=m
+CONFIG_SOUND_VMIDI=m
+CONFIG_SOUND_TRIX=m
+CONFIG_SOUND_MSS=m
+CONFIG_SOUND_MPU401=m
+CONFIG_SOUND_PAS=m
+CONFIG_SOUND_PSS=m
+CONFIG_PSS_MIXER=y
+CONFIG_SOUND_SB=m
+CONFIG_SOUND_YM3812=m
+CONFIG_SOUND_UART6850=m
+CONFIG_SOUND_AEDSP16=m
+CONFIG_SC6600=y
+CONFIG_SC6600_JOY=y
+CONFIG_SC6600_CDROM=4
+CONFIG_SC6600_CDROMBASE=0x0
+## choice: Audio Excel DSP 16
+CONFIG_AEDSP16_MSS=y
+# CONFIG_AEDSP16_SBPRO is not set
+## end choice
+CONFIG_SOUND_KAHLUA=m
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
+##
+## file: sound/usb/Kconfig
+##
+CONFIG_SND_USB_USX2Y=m
+
+##
+## file: unknown
+##
+# CONFIG_DEBUG_RWLOCK is not set
+# CONFIG_DEBUG_SEMAPHORE is not set
+# CONFIG_IP_TCPDIAG is not set
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+CONFIG_MAD16_OLDCARD=y
+CONFIG_MTD_BLKMTD=m
+CONFIG_MTD_CFI_AMDSTD_RETRY=0
+CONFIG_PCMCIA_XIRTULIP=m
+CONFIG_SCSI_QLOGIC_1280_1040=y
+CONFIG_SCSI_QLOGIC_FC=m
+CONFIG_SERIAL_8250_MULTIPORT=y
+CONFIG_SND_GENERIC_PM=y
+CONFIG_SND_VXP440=m
+CONFIG_SOUND_AD1980=m
+CONFIG_SOUND_ALI5455=m
+CONFIG_SOUND_AWE32_SYNTH=m
+CONFIG_SOUND_CMPCI=m
+CONFIG_SOUND_CS4281=m
+CONFIG_SOUND_ES1370=m
+CONFIG_SOUND_ESSSOLO1=m
+CONFIG_SOUND_FORTE=m
+CONFIG_SOUND_GUS=m
+CONFIG_SOUND_GUS16=y
+CONFIG_SOUND_GUSMAX=y
+CONFIG_SOUND_MAD16=m
+CONFIG_SOUND_MAESTRO=m
+CONFIG_SOUND_MAESTRO3=m
+CONFIG_SOUND_MAUI=m
+CONFIG_SOUND_OPL3SA1=m
+CONFIG_SOUND_RME96XX=m
+CONFIG_SOUND_SGALAXY=m
+CONFIG_SOUND_SONICVIBES=m
+CONFIG_SOUND_WAVEFRONT=m
+CONFIG_SOUND_YMFPCI=m
+# CONFIG_SOUND_YMFPCI_LEGACY is not set
+
--- linux-2.6-2.6.26.orig/debian/config/alpha/config.alpha-generic
+++ linux-2.6-2.6.26/debian/config/alpha/config.alpha-generic
@@ -0,0 +1,10 @@
+##
+## file: arch/alpha/Kconfig
+##
+# CONFIG_SMP is not set
+
+##
+## file: arch/alpha/Kconfig.debug
+##
+# CONFIG_ALPHA_LEGACY_START_ADDRESS is not set
+
--- linux-2.6-2.6.26.orig/debian/config/alpha/config.alpha-legacy
+++ linux-2.6-2.6.26/debian/config/alpha/config.alpha-legacy
@@ -0,0 +1,10 @@
+##
+## file: arch/alpha/Kconfig
+##
+# CONFIG_SMP is not set
+
+##
+## file: arch/alpha/Kconfig.debug
+##
+CONFIG_ALPHA_LEGACY_START_ADDRESS=y
+
--- linux-2.6-2.6.26.orig/debian/config/alpha/defines
+++ linux-2.6-2.6.26/debian/config/alpha/defines
@@ -0,0 +1,18 @@
+[base]
+featuresets:
+# vserver
+flavours: alpha-generic alpha-smp alpha-legacy
+kernel-arch: alpha
+
+[image]
+suggests: aboot, fdutils
+type: kernel-package
+
+[alpha-generic_base]
+class: Alpha
+
+[alpha-smp_base]
+class: Alpha SMP
+
+[alpha-legacy_base]
+class: Alpha Legacy
--- linux-2.6-2.6.26.orig/debian/config/alpha/vserver/defines
+++ linux-2.6-2.6.26/debian/config/alpha/vserver/defines
@@ -0,0 +1,8 @@
+[base]
+flavours: alpha
+
+[alpha_base]
+class: Alpha
+
+[alpha_image]
+configs: alpha/config.alpha-generic
--- linux-2.6-2.6.26.orig/debian/config/sparc/config.sparc32
+++ linux-2.6-2.6.26/debian/config/sparc/config.sparc32
@@ -0,0 +1,95 @@
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_FB_CYBER2000 is not set
+CONFIG_MOUSE_PS2=m
+CONFIG_SPARC32=y
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_AUDIT is not set
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_LOGO_SUN_CLUT224 is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_FB_CG14=y
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_FDDI is not set
+# CONFIG_SCSI_AIC7XXX is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SUN4 is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_DL2K is not set
+# CONFIG_IDE is not set
+# CONFIG_NET_VENDOR_3COM is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SUN_JSFLASH is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_S2IO is not set
+# CONFIG_REISERFS_FS_SECURITY is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SND_CMIPCI is not set
+CONFIG_FB_TCX=y
+# CONFIG_SECURITY is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_TADPOLE_TS102_UCTRL is not set
+CONFIG_HIGHMEM=y
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_ZISOFS is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_SND_ENS1371 is not set
+CONFIG_SPARC_LED=m
+CONFIG_SERIAL_SUNSAB=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_SUN_PM=y
+# CONFIG_QFMT_V1 is not set
+# CONFIG_I2C is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_SUNOS_EMUL is not set
+# CONFIG_STANDALONE is not set
+# Sat Sep 16 21:12:18 2006
+# CONFIG_SCSI_IPR is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_KEYS is not set
+# CONFIG_MYRI_SBUS is not set
+# CONFIG_DRM is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_IXGB is not set
+# CONFIG_SUN_VIDEOPIX is not set
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_SERIAL_SUNSU is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SMP is not set
+# CONFIG_FIREWIRE is not set
+# CONFIG_HWMON_VID is not set
+CONFIG_FB_BW2=y
+# CONFIG_NTFS_FS is not set
+# CONFIG_RTC is not set
+# CONFIG_USB is not set
+CONFIG_BINFMT_AOUT=y
+CONFIG_FB_CG3=y
+CONFIG_FB_LEO=y
+CONFIG_SERIAL_CONSOLE=y
+# CONFIG_SCSI_AIC79XX is not set
+CONFIG_MOUSE_SERIAL=m
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_BROKEN_ON_SMP=y
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_INFINIBAND is not set
--- linux-2.6-2.6.26.orig/debian/config/sparc/config
+++ linux-2.6-2.6.26/debian/config/sparc/config
@@ -0,0 +1,414 @@
+##
+## file: arch/sparc64/Kconfig
+##
+CONFIG_SECCOMP=y
+CONFIG_SUN_LDOMS=y
+CONFIG_PCI=y
+CONFIG_SUN_OPENPROMFS=m
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=y
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+CONFIG_SUNVDC=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+# CONFIG_SENSORS_F71805F is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=y
+CONFIG_KEYBOARD_LKKBD=m
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_SPARCSPKR=m
+# CONFIG_INPUT_UINPUT is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_DUMMY=m
+CONFIG_SUNLANCE=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNBMAC=m
+CONFIG_SUNQE=m
+CONFIG_SUNVNET=m
+# CONFIG_HP100 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_R8169 is not set
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+# CONFIG_DEV_APPLETALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/parport/Kconfig
+##
+CONFIG_PARPORT_SUNBPP=m
+
+##
+## file: drivers/sbus/char/Kconfig
+##
+CONFIG_SUN_OPENPROMIO=y
+CONFIG_SUN_MOSTEK_RTC=y
+# CONFIG_SUN_BPP is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_ARCMSR=m
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INIA100 is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLOGICPTI=m
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_SUNESP=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_SUNZILOG=y
+CONFIG_SERIAL_SUNZILOG_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_SBUS=y
+CONFIG_FB_CG6=y
+# CONFIG_FB_P9100 is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_XVR500=y
+CONFIG_FB_XVR2500=y
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_PROM_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_SUN8x16=y
+# CONFIG_FONT_SUN12x22 is not set
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+# CONFIG_WATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/bluetooth/Kconfig
+##
+# CONFIG_BT is not set
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+CONFIG_DECNET_ROUTER=y
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+# CONFIG_IP_PNP_BOOTP is not set
+CONFIG_IP_PNP_RARP=y
+#. TODO
+# CONFIG_NET_IPGRE is not set
+#. TODO
+CONFIG_ARPD=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/pci/Kconfig
+##
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+##
+## file: sound/sparc/Kconfig
+##
+CONFIG_SND_SUN_AMD7930=m
+CONFIG_SND_SUN_CS4231=m
+CONFIG_SND_SUN_DBRI=m
+
--- linux-2.6-2.6.26.orig/debian/config/sparc/config.sparc64-smp
+++ linux-2.6-2.6.26/debian/config/sparc/config.sparc64-smp
@@ -0,0 +1,491 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_KPROBES is not set
+
+##
+## file: arch/sparc64/Kconfig
+##
+## choice: Kernel page size
+CONFIG_SPARC64_PAGE_SIZE_8KB=y
+# CONFIG_SPARC64_PAGE_SIZE_64KB is not set
+# CONFIG_SPARC64_PAGE_SIZE_512KB is not set
+# CONFIG_SPARC64_PAGE_SIZE_4MB is not set
+## end choice
+CONFIG_SMP=y
+CONFIG_NR_CPUS=32
+CONFIG_SCHED_SMT=y
+# CONFIG_CMDLINE_BOOL is not set
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_PARIDE is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_RTC=y
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=y
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+# CONFIG_CPU_FREQ is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=y
+# CONFIG_USB_HIDDEV is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_IDE_GENERIC=m
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+CONFIG_BLK_DEV_ALI15X3=m
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=m
+# CONFIG_BLK_DEV_TRIFLEX is not set
+CONFIG_BLK_DEV_CY82C693=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+# CONFIG_BLK_DEV_SLC90E66 is not set
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_SERIAL=y
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+# CONFIG_TABLET_USB_KBTAB is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_V4L1_COMPAT=y
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+CONFIG_VIDEO_BT848=m
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+# CONFIG_VIDEO_CX88 is not set
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC is not set
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+# CONFIG_USB_SN9C102 is not set
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_SUNGEM=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_PCI=y
+# CONFIG_AMD8111_ETH is not set
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+# CONFIG_EEPRO100 is not set
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+# CONFIG_8139CP is not set
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+CONFIG_SUNDANCE_MMIO=y
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_MYRI_SBUS=m
+CONFIG_NS83820=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_FDDI=y
+# CONFIG_DEFXX is not set
+CONFIG_SKFP=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+# CONFIG_DE2104X is not set
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_DE4X5 is not set
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/sbus/char/Kconfig
+##
+CONFIG_OBP_FLASH=m
+CONFIG_BBC_I2C=m
+CONFIG_ENVCTRL=m
+CONFIG_DISPLAY7SEG=m
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_DC395x=m
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_SUNSU=y
+CONFIG_SERIAL_SUNSU_CONSOLE=y
+CONFIG_SERIAL_SUNSAB=y
+CONFIG_SERIAL_SUNSAB_CONSOLE=y
+CONFIG_SERIAL_SUNHV=y
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=y
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/class/Kconfig
+##
+# CONFIG_USB_ACM is not set
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_SL811_HCD is not set
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+CONFIG_USB_RIO500=m
+# CONFIG_USB_LEGOTOWER is not set
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_TEST is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+# CONFIG_USB_STORAGE_USBAT is not set
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_PM2=y
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+# CONFIG_FB_BW2 is not set
+# CONFIG_FB_CG3 is not set
+CONFIG_FB_FFB=y
+# CONFIG_FB_TCX is not set
+# CONFIG_FB_CG14 is not set
+# CONFIG_FB_LEO is not set
+CONFIG_FB_RADEON=y
+# CONFIG_FB_RADEON_I2C is not set
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=y
+CONFIG_FB_ATY=y
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+CONFIG_LOGO_SUN_CLUT224=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=15
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+## end choice
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_RTCTIMER is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_VIRMIDI=m
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_ALI5451=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_MAESTRO3=m
+
+##
+## file: unknown
+##
+# CONFIG_BINFMT_AOUT32 is not set
+CONFIG_BINFMT_ELF32=y
+CONFIG_SOLARIS_EMUL=m
+CONFIG_SPARC32_COMPAT=y
+
--- linux-2.6-2.6.26.orig/debian/config/sparc/config.sparc64
+++ linux-2.6-2.6.26/debian/config/sparc/config.sparc64
@@ -0,0 +1,489 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_KPROBES is not set
+
+##
+## file: arch/sparc64/Kconfig
+##
+## choice: Kernel page size
+CONFIG_SPARC64_PAGE_SIZE_8KB=y
+# CONFIG_SPARC64_PAGE_SIZE_64KB is not set
+# CONFIG_SPARC64_PAGE_SIZE_512KB is not set
+# CONFIG_SPARC64_PAGE_SIZE_4MB is not set
+## end choice
+# CONFIG_SMP is not set
+# CONFIG_CMDLINE_BOOL is not set
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_PARIDE is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_RTC=y
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=y
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+# CONFIG_CPU_FREQ is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=y
+# CONFIG_USB_HIDDEV is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_IDE_GENERIC=m
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+CONFIG_BLK_DEV_ALI15X3=m
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=m
+# CONFIG_BLK_DEV_TRIFLEX is not set
+CONFIG_BLK_DEV_CY82C693=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+# CONFIG_BLK_DEV_SLC90E66 is not set
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_SERIAL=y
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+# CONFIG_TABLET_USB_KBTAB is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_V4L1_COMPAT=y
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+CONFIG_VIDEO_BT848=m
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+# CONFIG_VIDEO_CX88 is not set
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC is not set
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+# CONFIG_USB_SN9C102 is not set
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_SUNGEM=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_PCI=y
+# CONFIG_AMD8111_ETH is not set
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+# CONFIG_EEPRO100 is not set
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+# CONFIG_8139CP is not set
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+CONFIG_SUNDANCE_MMIO=y
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_MYRI_SBUS=m
+CONFIG_NS83820=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_FDDI=y
+# CONFIG_DEFXX is not set
+CONFIG_SKFP=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+# CONFIG_DE2104X is not set
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_DE4X5 is not set
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/sbus/char/Kconfig
+##
+CONFIG_OBP_FLASH=m
+CONFIG_BBC_I2C=m
+CONFIG_ENVCTRL=m
+CONFIG_DISPLAY7SEG=m
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_DC395x=m
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_SUNSU=y
+CONFIG_SERIAL_SUNSU_CONSOLE=y
+CONFIG_SERIAL_SUNSAB=y
+CONFIG_SERIAL_SUNSAB_CONSOLE=y
+CONFIG_SERIAL_SUNHV=y
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=y
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/class/Kconfig
+##
+# CONFIG_USB_ACM is not set
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_SL811_HCD is not set
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+CONFIG_USB_RIO500=m
+# CONFIG_USB_LEGOTOWER is not set
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_TEST is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+# CONFIG_USB_STORAGE_USBAT is not set
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_PM2=y
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+# CONFIG_FB_BW2 is not set
+# CONFIG_FB_CG3 is not set
+CONFIG_FB_FFB=y
+# CONFIG_FB_TCX is not set
+# CONFIG_FB_CG14 is not set
+# CONFIG_FB_LEO is not set
+CONFIG_FB_RADEON=y
+# CONFIG_FB_RADEON_I2C is not set
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=y
+CONFIG_FB_ATY=y
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+CONFIG_LOGO_SUN_CLUT224=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+## end choice
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_RTCTIMER is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_VIRMIDI=m
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_ALI5451=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_MAESTRO3=m
+
+##
+## file: unknown
+##
+# CONFIG_BINFMT_AOUT32 is not set
+CONFIG_BINFMT_ELF32=y
+CONFIG_SOLARIS_EMUL=m
+CONFIG_SPARC32_COMPAT=y
+
--- linux-2.6-2.6.26.orig/debian/config/sparc/defines
+++ linux-2.6-2.6.26/debian/config/sparc/defines
@@ -0,0 +1,29 @@
+[base]
+featuresets:
+ vserver
+flavours:
+ sparc64
+ sparc64-smp
+kernel-arch: sparc64
+kernel-header-dirs: sparc sparc64
+
+[image]
+suggests: silo, fdutils
+type: kernel-package
+
+[sparc32_base]
+class: uniprocessor sparc32 (sun4m)
+kernel-arch: sparc
+kpkg-subarch: sparc
+
+[sparc32_image]
+image-postproc: sparc32-image-postproc
+
+[sparc64_base]
+class: uniprocessor 64-bit UltraSPARC
+kpkg-subarch: sparc64
+
+[sparc64-smp_base]
+class: multiprocessor 64-bit UltraSPARC
+kpkg-subarch: sparc64
+
--- linux-2.6-2.6.26.orig/debian/config/sparc/vserver/defines
+++ linux-2.6-2.6.26/debian/config/sparc/vserver/defines
@@ -0,0 +1,9 @@
+[base]
+flavours:
+ sparc64
+
+[image]
+recommends: util-vserver, libc6-sparc64
+
+[sparc64_image]
+configs: sparc/config.sparc64-smp
--- linux-2.6-2.6.26.orig/debian/config/powerpc/config.powerpc
+++ linux-2.6-2.6.26/debian/config/powerpc/config.powerpc
@@ -0,0 +1,111 @@
+##
+## file: arch/powerpc/Kconfig
+##
+CONFIG_HIGHMEM=y
+# CONFIG_ISA is not set
+
+##
+## file: arch/powerpc/platforms/512x/Kconfig
+##
+# CONFIG_MPC5121_ADS is not set
+
+##
+## file: arch/powerpc/platforms/52xx/Kconfig
+##
+CONFIG_PPC_MPC52xx=y
+# CONFIG_PPC_MPC5200_SIMPLE is not set
+CONFIG_PPC_EFIKA=y
+# CONFIG_PPC_LITE5200 is not set
+CONFIG_PPC_MPC5200_BUGFIX=y
+
+##
+## file: arch/powerpc/platforms/chrp/Kconfig
+##
+CONFIG_PPC_CHRP=y
+
+##
+## file: arch/powerpc/platforms/Kconfig.cputype
+##
+# CONFIG_PPC64 is not set
+## choice: Processor Type
+CONFIG_6xx=y
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+# CONFIG_44x is not set
+# CONFIG_E200 is not set
+## end choice
+CONFIG_ALTIVEC=y
+# CONFIG_SMP is not set
+
+##
+## file: arch/powerpc/platforms/prep/Kconfig
+##
+# CONFIG_PPC_PREP is not set
+
+##
+## file: arch/powerpc/sysdev/bestcomm/Kconfig
+##
+CONFIG_PPC_BESTCOMM=m
+CONFIG_PPC_BESTCOMM_ATA=m
+CONFIG_PPC_BESTCOMM_FEC=m
+CONFIG_PPC_BESTCOMM_GEN_BD=m
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_PATA_MPC52xx=m
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_MAC_FLOPPY=y
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_SENSORS_AMS=m
+CONFIG_SENSORS_AMS_PMU=y
+CONFIG_SENSORS_AMS_I2C=y
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_MII=y
+CONFIG_FEC_MPC52xx=m
+CONFIG_FEC_MPC52xx_MDIO=y
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_MPC52xx=y
+CONFIG_SERIAL_MPC52xx_CONSOLE=y
+CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI_MPC52xx_PSC=m
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB_CONTROL=y
+CONFIG_FB_PLATINUM=y
+CONFIG_FB_VALKYRIE=y
+CONFIG_FB_IMSTT=y
+
+##
+## file: kernel/power/Kconfig
+##
+CONFIG_PM_STD_PARTITION=""
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
--- linux-2.6-2.6.26.orig/debian/config/powerpc/config
+++ linux-2.6-2.6.26/debian/config/powerpc/config
@@ -0,0 +1,1202 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+
+##
+## file: arch/powerpc/Kconfig
+##
+# CONFIG_HOTPLUG_CPU is not set
+CONFIG_KEXEC=y
+CONFIG_PROC_DEVICETREE=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE="console=ttyS0,9600 console=tty0"
+CONFIG_SECCOMP=y
+CONFIG_PCI=y
+# CONFIG_ADVANCED_OPTIONS is not set
+
+##
+## file: arch/powerpc/Kconfig.debug
+##
+CONFIG_DEBUGGER=y
+CONFIG_XMON=y
+# CONFIG_XMON_DEFAULT is not set
+# CONFIG_BDI_SWITCH is not set
+CONFIG_BOOTX_TEXT=y
+
+##
+## file: arch/powerpc/platforms/Kconfig
+##
+## choice: Machine type
+CONFIG_PPC_MULTIPLATFORM=y
+# CONFIG_PPC_82xx is not set
+# CONFIG_PPC_83xx is not set
+# CONFIG_PPC_86xx is not set
+## end choice
+CONFIG_RTAS_PROC=y
+CONFIG_CPU_FREQ_PMAC=y
+CONFIG_PPC601_SYNC_FIX=y
+CONFIG_TAU=y
+# CONFIG_TAU_INT is not set
+# CONFIG_TAU_AVERAGE is not set
+
+##
+## file: arch/powerpc/platforms/52xx/Kconfig
+##
+# CONFIG_PPC_LITE5200 is not set
+
+##
+## file: arch/powerpc/platforms/powermac/Kconfig
+##
+CONFIG_PPC_PMAC=y
+
+##
+## file: arch/powerpc/platforms/prep/Kconfig
+##
+CONFIG_PREP_RESIDUAL=y
+CONFIG_PROC_PREPRESIDUAL=y
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+CONFIG_ATM_ZATM_DEBUG=y
+CONFIG_ATM_NICSTAR=m
+CONFIG_ATM_NICSTAR_USE_SUNI=y
+CONFIG_ATM_NICSTAR_USE_IDT77105=y
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+CONFIG_ATM_FORE200E_USE_TASKLET=y
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+CONFIG_HVC_RTAS=y
+CONFIG_NVRAM=y
+CONFIG_DTLK=m
+CONFIG_APPLICOM=m
+
+##
+## file: drivers/char/agp/Kconfig
+##
+CONFIG_AGP=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_UNINORTH=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+# CONFIG_DRM_SIS is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+CONFIG_CPU_FREQ=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+## choice: Default CPUFreq governor
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+## end choice
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT_POWERBOOK=y
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_USB_HIDDEV=y
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_FSCHER=m
+CONFIG_SENSORS_FSCPOS=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83627HF=m
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+CONFIG_I2C_HYDRA=m
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+CONFIG_I2C_POWERMAC=m
+CONFIG_I2C_MPC=m
+# CONFIG_I2C_NFORCE2 is not set
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_PROSAVAGE=m
+CONFIG_I2C_SAVAGE4=m
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+CONFIG_I2C_VOODOO3=m
+CONFIG_I2C_PCA_ISA=m
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCF8591=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+# CONFIG_IDE_GENERIC is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_AEC62XX=m
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=m
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+# CONFIG_BLK_DEV_PIIX is not set
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+# CONFIG_BLK_DEV_SVWKS is not set
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SL82C105=m
+# CONFIG_BLK_DEV_SLC90E66 is not set
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_IDE_PMAC=y
+CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
+CONFIG_BLK_DEV_IDEDMA_PMAC=y
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+# CONFIG_MOUSE_SERIAL is not set
+CONFIG_MOUSE_APPLETOUCH=m
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=m
+CONFIG_SERIO_I8042=m
+CONFIG_SERIO_SERPORT=m
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=m
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+# CONFIG_ISDN_I4L is not set
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+# CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON is not set
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+# CONFIG_ISDN_CAPI_CAPIFS_BOOL is not set
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/macintosh/Kconfig
+##
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_ADB=y
+CONFIG_ADB_CUDA=y
+CONFIG_ADB_PMU=y
+CONFIG_ADB_PMU_LED=y
+# CONFIG_ADB_PMU_LED_IDE is not set
+CONFIG_PMAC_SMU=y
+# CONFIG_PMAC_APM_EMU is not set
+CONFIG_PMAC_MEDIABAY=y
+CONFIG_PMAC_BACKLIGHT=y
+CONFIG_ADB_MACIO=y
+CONFIG_INPUT_ADBHID=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_THERM_WINDTUNNEL=m
+CONFIG_THERM_ADT746X=m
+CONFIG_THERM_PM72=m
+CONFIG_WINDFARM=m
+CONFIG_WINDFARM_PM81=m
+CONFIG_WINDFARM_PM91=m
+CONFIG_WINDFARM_PM112=m
+CONFIG_ANSLCD=m
+CONFIG_PMAC_RACKMETER=m
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_DUMMY=m
+CONFIG_MACE=m
+# CONFIG_MACE_AAUI_PORT is not set
+CONFIG_BMAC=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_AMD8111_ETH is not set
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+CONFIG_SUNDANCE_MMIO=y
+CONFIG_TLAN=m
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_VLAN=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_MV643XX_ETH=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+# CONFIG_ROADRUNNER is not set
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+CONFIG_NETPOLL_TRAP=y
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+# CONFIG_ARCNET_COM90xx is not set
+CONFIG_ARCNET_COM90xxIO=m
+# CONFIG_ARCNET_RIM_I is not set
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_YAM=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+# CONFIG_DONGLE is not set
+CONFIG_USB_IRDA=m
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+# CONFIG_TOSHIBA_FIR is not set
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+# CONFIG_VLSI_FIR is not set
+CONFIG_VIA_FIR=m
+
+##
+## file: drivers/net/pcmcia/Kconfig
+##
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_PCMCIA_IBMTR=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_PCMCIA_XIRCOM=m
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+CONFIG_PC300_MLPPP=y
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_LAPBETHER=m
+CONFIG_X25_ASY=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_WLAN_80211=y
+CONFIG_PCMCIA_RAYCS=m
+# CONFIG_IPW2100 is not set
+CONFIG_HERMES=m
+CONFIG_APPLE_AIRPORT=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_ATMEL=m
+# CONFIG_PCI_ATMEL is not set
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/pci/Kconfig
+##
+# CONFIG_PCI_DEBUG is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_CARDBUS=y
+CONFIG_YENTA=m
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_TCIC=m
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_DRV_PPC=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+CONFIG_SCSI_IPS=m
+# CONFIG_SCSI_INITIO is not set
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_NSP32=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_MESH=m
+CONFIG_SCSI_MESH_SYNC_RATE=5
+CONFIG_SCSI_MESH_RESET_DELAY_MS=4000
+CONFIG_SCSI_MAC53C94=m
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+# CONFIG_MEGARAID_LEGACY is not set
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_AHA152X=m
+# CONFIG_PCMCIA_FDOMAIN is not set
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_PMACZILOG=y
+CONFIG_SERIAL_PMACZILOG_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+CONFIG_PHONE_IXJ_PCMCIA=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=y
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DYNAMIC_MINORS=y
+# CONFIG_USB_SUSPEND is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PPC_SOC=y
+CONFIG_USB_OHCI_HCD_PPC_OF=y
+CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
+CONFIG_USB_OHCI_HCD_PCI=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+CONFIG_FB_OF=y
+CONFIG_FB_CT65550=y
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_VGA16 is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=y
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_MATROX=y
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=y
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=y
+CONFIG_FB_ATY=y
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=y
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=y
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=y
+CONFIG_FB_TRIDENT=m
+CONFIG_FB_TRIDENT_ACCEL=y
+CONFIG_FB_IBM_GXT4500=m
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_VGA_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+CONFIG_LOGO_LINUX_VGA16=y
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_WATCHDOG_RTAS=m
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+CONFIG_USBPCWATCHDOG=m
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+CONFIG_AMIGA_PARTITION=y
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: kernel/power/Kconfig
+##
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+CONFIG_ATM_CLIP_NO_ICMP=y
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+CONFIG_DECNET_ROUTER=y
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+CONFIG_IPX_INTERN=y
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+CONFIG_IRDA_ULTRA=y
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/aoa/Kconfig
+##
+CONFIG_SND_AOA=m
+
+##
+## file: sound/aoa/codecs/Kconfig
+##
+CONFIG_SND_AOA_ONYX=m
+CONFIG_SND_AOA_TAS=m
+CONFIG_SND_AOA_TOONIE=m
+
+##
+## file: sound/aoa/fabrics/Kconfig
+##
+CONFIG_SND_AOA_FABRIC_LAYOUT=m
+
+##
+## file: sound/aoa/soundbus/Kconfig
+##
+CONFIG_SND_AOA_SOUNDBUS=m
+CONFIG_SND_AOA_SOUNDBUS_I2S=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_VIRMIDI=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_ALS4000=m
+# CONFIG_SND_ALI5451 is not set
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
+##
+## file: sound/ppc/Kconfig
+##
+CONFIG_SND_POWERMAC=m
+CONFIG_SND_POWERMAC_AUTO_DRC=y
+
+##
+## file: sound/usb/Kconfig
+##
+CONFIG_SND_USB_USX2Y=m
+
+##
+## file: unknown
+##
+# CONFIG_LOPEC is not set
+# CONFIG_PPLUS is not set
+
--- linux-2.6-2.6.26.orig/debian/config/powerpc/defines
+++ linux-2.6-2.6.26/debian/config/powerpc/defines
@@ -0,0 +1,37 @@
+[base]
+featuresets:
+ vserver
+flavours:
+ powerpc
+ powerpc-smp
+# powerpc-miboot
+ powerpc64
+# prep
+# apus
+kernel-arch: powerpc
+#kernel-header-dirs: powerpc ppc m68k
+
+[image]
+suggests: mkvmlinuz
+
+[apus_base]
+kernel-arch: ppc
+
+[prep_base]
+class: PReP PowerPC
+kernel-arch: ppc
+
+[powerpc_base]
+class: uniprocessor 32-bit PowerPC
+
+[powerpc-smp_base]
+class: multiprocessor 32-bit PowerPC
+
+[powerpc-smp_image]
+configs: powerpc/config.powerpc powerpc/config.powerpc-smp
+
+[powerpc-miboot_base]
+class: 32-bit PowerPC for miboot floppy
+
+[powerpc64_base]
+class: 64-bit PowerPC
--- linux-2.6-2.6.26.orig/debian/config/powerpc/config.powerpc-miboot
+++ linux-2.6-2.6.26/debian/config/powerpc/config.powerpc-miboot
@@ -0,0 +1,186 @@
+##
+## file: arch/powerpc/Kconfig
+##
+# CONFIG_HIGHMEM is not set
+
+##
+## file: arch/powerpc/Kconfig.debug
+##
+# CONFIG_BOOTX_TEXT is not set
+
+##
+## file: arch/powerpc/platforms/Kconfig
+##
+# CONFIG_TAU is not set
+
+##
+## file: arch/powerpc/platforms/Kconfig.cputype
+##
+# CONFIG_PPC64 is not set
+# CONFIG_ALTIVEC is not set
+# CONFIG_SMP is not set
+
+##
+## file: arch/powerpc/platforms/prep/Kconfig
+##
+# CONFIG_PREP_RESIDUAL is not set
+
+##
+## file: block/Kconfig
+##
+# CONFIG_LBD is not set
+
+##
+## file: block/Kconfig.iosched
+##
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+## choice: Default I/O scheduler
+# CONFIG_DEFAULT_AS is not set
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+## end choice
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_MAC_FLOPPY=y
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+# CONFIG_CPU_FREQ is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+# CONFIG_INFINIBAND is not set
+
+##
+## file: drivers/macintosh/Kconfig
+##
+# CONFIG_PMAC_BACKLIGHT is not set
+# CONFIG_THERM_WINDTUNNEL is not set
+# CONFIG_THERM_ADT746X is not set
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_CHR_DEV_SCH=m
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_LEGACY is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=m
+
+##
+## file: drivers/video/Kconfig
+##
+# CONFIG_FB_OF is not set
+CONFIG_FB_CONTROL=y
+CONFIG_FB_PLATINUM=y
+CONFIG_FB_VALKYRIE=y
+CONFIG_FB_IMSTT=y
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_3DFX=m
+CONFIG_FB_VOODOO1=m
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+
+##
+## file: fs/Kconfig
+##
+# CONFIG_DNOTIFY is not set
+# CONFIG_PROC_KCORE is not set
+
+##
+## file: fs/ncpfs/Kconfig
+##
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+# CONFIG_NCPFS_NLS is not set
+# CONFIG_NCPFS_EXTRAS is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_MSDOS_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+# CONFIG_AUDIT is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+# CONFIG_BASE_FULL is not set
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM is not set
+# CONFIG_HIBERNATION is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/Kconfig
+##
+# CONFIG_NETFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/bluetooth/Kconfig
+##
+# CONFIG_BT is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+
+##
+## file: net/sched/Kconfig
+##
+#. TODO
+# CONFIG_NET_SCHED is not set
+
+##
+## file: security/Kconfig
+##
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
--- linux-2.6-2.6.26.orig/debian/config/powerpc/config.powerpc-smp
+++ linux-2.6-2.6.26/debian/config/powerpc/config.powerpc-smp
@@ -0,0 +1 @@
+CONFIG_SMP=y
--- linux-2.6-2.6.26.orig/debian/config/powerpc/config.powerpc64
+++ linux-2.6-2.6.26/debian/config/powerpc/config.powerpc64
@@ -0,0 +1,208 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_KPROBES is not set
+
+##
+## file: arch/powerpc/Kconfig
+##
+CONFIG_IOMMU_VMERGE=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_IRQ_ALL_CPUS=y
+CONFIG_NUMA=y
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_SCHED_SMT=y
+CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
+CONFIG_KERNEL_START=0xc000000000000000
+
+##
+## file: arch/powerpc/Kconfig.debug
+##
+# CONFIG_DEBUGGER is not set
+# CONFIG_IRQSTACKS is not set
+
+##
+## file: arch/powerpc/platforms/Kconfig
+##
+CONFIG_RTAS_PROC=y
+CONFIG_RTAS_FLASH=m
+CONFIG_IBMEBUS=y
+CONFIG_CPU_FREQ_PMAC64=y
+#. It's a bool
+CONFIG_PPC_PASEMI_CPUFREQ=y
+
+##
+## file: arch/powerpc/platforms/cell/Kconfig
+##
+CONFIG_PPC_IBM_CELL_BLADE=y
+# CONFIG_PPC_CELLEB is not set
+CONFIG_SPU_FS=m
+CONFIG_SPU_FS_64K_LS=y
+CONFIG_CBE_RAS=y
+CONFIG_CBE_THERM=m
+CONFIG_CBE_CPUFREQ=m
+
+##
+## file: arch/powerpc/platforms/Kconfig.cputype
+##
+CONFIG_PPC64=y
+# CONFIG_POWER4_ONLY is not set
+# CONFIG_TUNE_CELL is not set
+CONFIG_ALTIVEC=y
+CONFIG_VIRT_CPU_ACCOUNTING=y
+CONFIG_SMP=y
+CONFIG_NR_CPUS=32
+
+##
+## file: arch/powerpc/platforms/iseries/Kconfig
+##
+# CONFIG_PPC_ISERIES is not set
+
+##
+## file: arch/powerpc/platforms/maple/Kconfig
+##
+CONFIG_PPC_MAPLE=y
+
+##
+## file: arch/powerpc/platforms/pasemi/Kconfig
+##
+CONFIG_PPC_PASEMI=y
+CONFIG_PPC_PASEMI_MDIO=m
+
+##
+## file: arch/powerpc/platforms/ps3/Kconfig
+##
+CONFIG_PPC_PS3=y
+CONFIG_PS3_ADVANCED=y
+CONFIG_PS3_HTAB_SIZE=20
+# CONFIG_PS3_DYNAMIC_DMA is not set
+CONFIG_PS3_PS3AV=y
+CONFIG_PS3_SYS_MANAGER=y
+CONFIG_PS3_DISK=m
+CONFIG_PS3_ROM=m
+CONFIG_PS3_FLASH=m
+CONFIG_PS3_LPM=m
+
+##
+## file: arch/powerpc/platforms/pseries/Kconfig
+##
+CONFIG_PPC_PSERIES=y
+CONFIG_PPC_SPLPAR=y
+CONFIG_SCANLOG=m
+# CONFIG_LPARCFG is not set
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_MAC_FLOPPY is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_HVC_CONSOLE=y
+CONFIG_HVCS=m
+CONFIG_HANGCHECK_TIMER=m
+
+##
+## file: drivers/char/hw_random/Kconfig
+##
+CONFIG_HW_RANDOM=m
+CONFIG_HW_RANDOM_PASEMI=m
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_PASEMI=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_BLK_DEV_AMD74XX=m
+
+##
+## file: drivers/macintosh/Kconfig
+##
+CONFIG_WINDFARM=m
+CONFIG_WINDFARM_PM81=m
+CONFIG_WINDFARM_PM91=m
+CONFIG_WINDFARM_PM112=m
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_IBMVETH=m
+CONFIG_SPIDER_NET=m
+CONFIG_GELIC_NET=m
+CONFIG_GELIC_WIRELESS=y
+# CONFIG_MV643XX_ETH is not set
+CONFIG_EHEA=m
+CONFIG_PASEMI_MAC=m
+
+##
+## file: drivers/net/ibm_newemac/Kconfig
+##
+CONFIG_IBM_NEW_EMAC=m
+CONFIG_IBM_NEW_EMAC_RXB=128
+CONFIG_IBM_NEW_EMAC_TXB=64
+CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
+CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
+CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
+# CONFIG_IBM_NEW_EMAC_DEBUG is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_IBMVSCSI=m
+CONFIG_SCSI_IBMVSCSIS=m
+CONFIG_SCSI_QLOGIC_1280=m
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_LEGACY=m
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_ICOM is not set
+
+##
+## file: drivers/video/Kconfig
+##
+# CONFIG_FB_CONTROL is not set
+# CONFIG_FB_PLATINUM is not set
+# CONFIG_FB_VALKYRIE is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_ATY128 is not set
+CONFIG_FB_PS3=y
+CONFIG_FB_PS3_DEFAULT_SIZE_M=9
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG_RTAS=m
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+# CONFIG_FLATMEM_MANUAL is not set
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+## end choice
+CONFIG_SPARSEMEM_VMEMMAP=y
+# CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_MIGRATION=y
+
+##
+## file: sound/ppc/Kconfig
+##
+CONFIG_SND_PS3=m
+CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
+
--- linux-2.6-2.6.26.orig/debian/config/powerpc/config.prep
+++ linux-2.6-2.6.26/debian/config/powerpc/config.prep
@@ -0,0 +1,18 @@
+CONFIG_PPC32=y
+# CONFIG_SMP is not set
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PCMCIA_XIRTULIP=m
+CONFIG_MAC_FLOPPY=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FB_CONTROL=y
+CONFIG_FB_PLATINUM=y
+CONFIG_FB_VALKYRIE=y
+CONFIG_FB_IMSTT=y
+# CONFIG_PPC64 is not set
+CONFIG_CLASSIC32=y
+# CONFIG_PPC_CHRP is not set
+# CONFIG_PREP_RESIDUAL is not set
+# CONFIG_WINDFARM is not set
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_CPU_FREQ_TABLE=m
+# CONFIG_SND_AOA is not set
--- linux-2.6-2.6.26.orig/debian/config/powerpc/vserver/defines
+++ linux-2.6-2.6.26/debian/config/powerpc/vserver/defines
@@ -0,0 +1,11 @@
+[base]
+flavours:
+ powerpc
+ powerpc64
+
+[powerpc_image]
+configs: powerpc/config.powerpc-smp
+
+[powerpc64_image]
+configs: powerpc/config.powerpc64
+
--- linux-2.6-2.6.26.orig/debian/config/ia64/config.itanium
+++ linux-2.6-2.6.26/debian/config/ia64/config.itanium
@@ -0,0 +1,12 @@
+##
+## file: arch/ia64/Kconfig
+##
+## choice: Processor type
+CONFIG_ITANIUM=y
+# CONFIG_MCKINLEY is not set
+## end choice
+CONFIG_SMP=y
+CONFIG_NR_CPUS=64
+# CONFIG_HOTPLUG_CPU is not set
+# CONFIG_SCHED_SMT is not set
+
--- linux-2.6-2.6.26.orig/debian/config/ia64/config
+++ linux-2.6-2.6.26/debian/config/ia64/config
@@ -0,0 +1,1064 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+# CONFIG_KPROBES is not set
+
+##
+## file: arch/ia64/Kconfig
+##
+CONFIG_HOTPLUG_CPU=y
+CONFIG_SCHED_SMT=y
+CONFIG_PERMIT_BSP_REMOVE=y
+CONFIG_NODES_SHIFT=8
+CONFIG_IA32_SUPPORT=y
+CONFIG_IA64_MCA_RECOVERY=m
+CONFIG_PERFMON=y
+CONFIG_IA64_PALINFO=m
+CONFIG_KEXEC=y
+CONFIG_CRASH_DUMP=y
+
+##
+## file: arch/ia64/Kconfig.debug
+##
+## choice: Physical memory granularity
+CONFIG_IA64_GRANULE_16MB=y
+# CONFIG_IA64_GRANULE_64MB is not set
+## end choice
+CONFIG_IA64_PRINT_HAZARDS=y
+# CONFIG_DISABLE_VHPT is not set
+# CONFIG_IA64_DEBUG_CMPXCHG is not set
+# CONFIG_IA64_DEBUG_IRQ is not set
+
+##
+## file: arch/ia64/hp/sim/Kconfig
+##
+# CONFIG_HP_SIMETH is not set
+# CONFIG_HP_SIMSERIAL is not set
+# CONFIG_HP_SIMSCSI is not set
+
+##
+## file: arch/ia64/kernel/cpufreq/Kconfig
+##
+CONFIG_IA64_ACPI_CPUFREQ=m
+
+##
+## file: drivers/acpi/Kconfig
+##
+CONFIG_ACPI_DOCK=m
+CONFIG_ACPI_CONTAINER=y
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_PATA_ALI=m
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+# CONFIG_CYCLADES is not set
+CONFIG_DIGIEPCA=m
+CONFIG_MOXA_INTELLIO=m
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINKMP=m
+CONFIG_N_HDLC=m
+CONFIG_SPECIALIX=m
+# CONFIG_SPECIALIX_RTSCTS is not set
+CONFIG_SX=m
+CONFIG_RIO=m
+CONFIG_RIO_OLDPCI=y
+CONFIG_STALDRV=y
+CONFIG_SGI_SNSC=y
+CONFIG_SGI_TIOCX=y
+CONFIG_SGI_MBCS=m
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_DTLK=m
+CONFIG_APPLICOM=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_RTC_IRQ=y
+# CONFIG_HPET_MMAP is not set
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_MMTIMER=m
+
+##
+## file: drivers/char/agp/Kconfig
+##
+CONFIG_AGP=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_I460=m
+CONFIG_AGP_HP_ZX1=m
+CONFIG_AGP_SGI_TIOCA=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/char/pcmcia/Kconfig
+##
+CONFIG_SYNCLINK_CS=m
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=m
+## choice: Default CPUFreq governor
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+## end choice
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+##
+## file: drivers/firmware/Kconfig
+##
+CONFIG_EFI_VARS=m
+CONFIG_DMIID=y
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_HID_PID is not set
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_THRUSTMASTER_FF is not set
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_FSCHER=m
+CONFIG_SENSORS_FSCPOS=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83627HF=m
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_I810=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_PROSAVAGE=m
+CONFIG_I2C_SAVAGE4=m
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_STUB=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+CONFIG_I2C_VOODOO3=m
+CONFIG_I2C_PCA_ISA=m
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCF8591=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=m
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=m
+CONFIG_BLK_DEV_IDEDISK=m
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_IDE_GENERIC=m
+# CONFIG_BLK_DEV_IDEPNP is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SGIIOC4=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+
+##
+## file: drivers/ieee1394/Kconfig
+##
+CONFIG_IEEE1394=m
+CONFIG_IEEE1394_OHCI1394=m
+CONFIG_IEEE1394_PCILYNX=m
+CONFIG_IEEE1394_SBP2=m
+CONFIG_IEEE1394_ETH1394=m
+CONFIG_IEEE1394_RAWIO=m
+CONFIG_IEEE1394_VIDEO1394=m
+CONFIG_IEEE1394_DV1394=m
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+# CONFIG_JOYSTICK_IFORCE_USB is not set
+# CONFIG_JOYSTICK_IFORCE_232 is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=m
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYBOARD_NEWTON=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_VSXXXAA=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+# CONFIG_ISDN_CAPI_MIDDLEWARE is not set
+CONFIG_ISDN_CAPI_CAPI20=m
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NET_SB1000=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_VLAN=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+CONFIG_SKFP=m
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_VLSI_FIR=m
+
+##
+## file: drivers/net/pcmcia/Kconfig
+##
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+CONFIG_ARCNET_COM20020_CS=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+CONFIG_DE4X5=y
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_PCMCIA_XIRCOM=m
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+CONFIG_PC300_MLPPP=y
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+# CONFIG_CYCLADES_SYNC is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_WLAN_80211=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/net/wireless/hostap/Kconfig
+##
+CONFIG_HOSTAP_CS=m
+
+##
+## file: drivers/pci/Kconfig
+##
+CONFIG_PCI_MSI=y
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+CONFIG_HOTPLUG_PCI=m
+
+##
+## file: drivers/pci/pcie/Kconfig
+##
+CONFIG_PCIEPORTBUS=y
+
+##
+## file: drivers/pci/pcie/aer/Kconfig
+##
+CONFIG_PCIEAER=y
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+CONFIG_CARDBUS=y
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_DRV_EFI=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_IPR=m
+CONFIG_SCSI_IPR_TRACE=y
+CONFIG_SCSI_IPR_DUMP=y
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_SGI_L1_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SGI_IOC4=m
+CONFIG_SERIAL_SGI_IOC3=m
+
+##
+## file: drivers/sn/Kconfig
+##
+CONFIG_SGI_IOC3=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+CONFIG_PHONE_IXJ_PCMCIA=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+CONFIG_USB_USS720=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/serial/Kconfig
+##
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_LIBUSUAL=y
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+CONFIG_FB_ASILIANT=y
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_VGA_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=m
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+
+##
+## file: drivers/watchdog/Kconfig
+##
+# CONFIG_WATCHDOG is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+CONFIG_ACORN_PARTITION_EESOX=y
+CONFIG_ACORN_PARTITION_ICS=y
+CONFIG_ACORN_PARTITION_ADFS=y
+CONFIG_ACORN_PARTITION_POWERTEC=y
+CONFIG_ACORN_PARTITION_RISCIX=y
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+CONFIG_LDM_DEBUG=y
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=16
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM_DEBUG is not set
+
+##
+## file: lib/Kconfig.debug
+##
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_INFO is not set
+
+##
+## file: mm/Kconfig
+##
+CONFIG_MIGRATION=y
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+CONFIG_IRDA_ULTRA=y
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_TRIDENT=m
+CONFIG_SOUND_MSNDCLAS=m
+CONFIG_MSNDCLAS_INIT_FILE="m"
+CONFIG_MSNDCLAS_PERM_FILE="m"
+CONFIG_SOUND_MSNDPIN=m
+CONFIG_MSNDPIN_INIT_FILE="m"
+CONFIG_MSNDPIN_PERM_FILE="m"
+# CONFIG_SOUND_OSS is not set
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
--- linux-2.6-2.6.26.orig/debian/config/ia64/config.mckinley
+++ linux-2.6-2.6.26/debian/config/ia64/config.mckinley
@@ -0,0 +1,12 @@
+##
+## file: arch/ia64/Kconfig
+##
+## choice: Processor type
+# CONFIG_ITANIUM is not set
+CONFIG_MCKINLEY=y
+## end choice
+CONFIG_SMP=y
+CONFIG_NR_CPUS=64
+# CONFIG_HOTPLUG_CPU is not set
+# CONFIG_SCHED_SMT is not set
+
--- linux-2.6-2.6.26.orig/debian/config/ia64/defines
+++ linux-2.6-2.6.26/debian/config/ia64/defines
@@ -0,0 +1,17 @@
+[base]
+featuresets:
+ vserver
+flavours:
+ itanium
+ mckinley
+kernel-arch: ia64
+
+[image]
+suggests: elilo, fdutils
+type: kernel-package
+
+[itanium_base]
+class: Itanium
+
+[mckinley_base]
+class: Itanium II
--- linux-2.6-2.6.26.orig/debian/config/ia64/vserver/defines
+++ linux-2.6-2.6.26/debian/config/ia64/vserver/defines
@@ -0,0 +1,5 @@
+[base]
+flavours:
+ itanium
+ mckinley
+
--- linux-2.6-2.6.26.orig/debian/config/amd64/config.amd64
+++ linux-2.6-2.6.26/debian/config/amd64/config.amd64
@@ -0,0 +1,56 @@
+##
+## file: arch/x86/Kconfig
+##
+CONFIG_SMP=y
+CONFIG_NR_CPUS=32
+CONFIG_X86_MCE_AMD=y
+CONFIG_NUMA=y
+CONFIG_K8_NUMA=y
+CONFIG_X86_64_ACPI_NUMA=y
+# CONFIG_NUMA_EMU is not set
+
+##
+## file: arch/x86/Kconfig.cpu
+##
+## choice: Processor family
+# CONFIG_MK8 is not set
+# CONFIG_MPSC is not set
+CONFIG_GENERIC_CPU=y
+## end choice
+
+##
+## file: drivers/acpi/Kconfig
+##
+CONFIG_ACPI_NUMA=y
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_DIGIEPCA=m
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_R8169_VLAN=y
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_MAVEN=m
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+CONFIG_MIGRATION=y
+
--- linux-2.6-2.6.26.orig/debian/config/amd64/config
+++ linux-2.6-2.6.26/debian/config/amd64/config
@@ -0,0 +1,1664 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+# CONFIG_KPROBES is not set
+
+##
+## file: arch/x86/Kconfig
+##
+CONFIG_64BIT=y
+## choice: Subarchitecture Type
+CONFIG_X86_PC=y
+# CONFIG_X86_VSMP is not set
+## end choice
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_PARAVIRT=y
+CONFIG_MEMTEST_BOOTPARAM=y
+CONFIG_MEMTEST_BOOTPARAM_VALUE=0
+CONFIG_HPET_TIMER=y
+CONFIG_CALGARY_IOMMU=y
+CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+CONFIG_NODES_SHIFT=6
+CONFIG_MTRR=y
+# CONFIG_X86_PAT is not set
+CONFIG_EFI=y
+CONFIG_SECCOMP=y
+# CONFIG_CC_STACKPROTECTOR is not set
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x200000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x200000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+CONFIG_PCI=y
+CONFIG_PCI_MMCONFIG=y
+# CONFIG_DMAR is not set
+CONFIG_IA32_EMULATION=y
+CONFIG_IA32_AOUT=y
+
+##
+## file: arch/x86/Kconfig.cpu
+##
+## choice: Processor family
+# CONFIG_MCORE2 is not set
+## end choice
+
+##
+## file: arch/x86/Kconfig.debug
+##
+# CONFIG_NONPROMISC_DEVMEM is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DIRECT_GBPAGES is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_IOMMU_DEBUG is not set
+## choice: IO delay type
+CONFIG_IO_DELAY_0X80=y
+## end choice
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+
+##
+## file: arch/x86/kernel/cpu/cpufreq/Kconfig
+##
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_POWERNOW_K8_ACPI=y
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+# CONFIG_X86_P4_CLOCKMOD is not set
+# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
+
+##
+## file: arch/x86/kvm/Kconfig
+##
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+
+##
+## file: crypto/Kconfig
+##
+CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_TWOFISH_X86_64=m
+
+##
+## file: drivers/acpi/Kconfig
+##
+CONFIG_ACPI=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=m
+CONFIG_ACPI_BAY=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_HOTPLUG_MEMORY=m
+CONFIG_ACPI_SBS=m
+
+##
+## file: drivers/ata/Kconfig
+##
+# CONFIG_PATA_SIS is not set
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+CONFIG_ATM_HE_USE_SUNI=y
+
+##
+## file: drivers/auxdisplay/Kconfig
+##
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=m
+CONFIG_PARIDE=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_VIRTIO_BLK=m
+
+##
+## file: drivers/block/paride/Kconfig
+##
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+# CONFIG_PARIDE_EPATC8 is not set
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+CONFIG_MOXA_INTELLIO=m
+CONFIG_ISI=m
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_N_HDLC=m
+CONFIG_SPECIALIX=m
+# CONFIG_SPECIALIX_RTSCTS is not set
+CONFIG_SX=m
+CONFIG_RIO=m
+CONFIG_RIO_OLDPCI=y
+CONFIG_STALDRV=y
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_MWAVE=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+
+##
+## file: drivers/char/agp/Kconfig
+##
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_I810=m
+## choice: Intel 830M, 845G, 852GM, 855GM, 865G
+CONFIG_DRM_I830=m
+CONFIG_DRM_I915=m
+## end choice
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+
+##
+## file: drivers/char/hw_random/Kconfig
+##
+CONFIG_HW_RANDOM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/char/pcmcia/Kconfig
+##
+CONFIG_SYNCLINK_CS=m
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+CONFIG_CPU_FREQ=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+## choice: Default CPUFreq governor
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+## end choice
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+##
+## file: drivers/cpuidle/Kconfig
+##
+CONFIG_CPU_IDLE=y
+
+##
+## file: drivers/dma/Kconfig
+##
+CONFIG_DMADEVICES=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_NET_DMA=y
+
+##
+## file: drivers/edac/Kconfig
+##
+CONFIG_EDAC=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD76X=m
+CONFIG_EDAC_E7XXX=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82875P=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I82860=m
+CONFIG_EDAC_R82600=m
+CONFIG_EDAC_I5000=m
+
+##
+## file: drivers/firmware/Kconfig
+##
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_EFI_VARS=m
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=y
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT_POWERBOOK=y
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_FSCHER=m
+CONFIG_SENSORS_FSCPOS=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_HDAPS=m
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_I810=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_PROSAVAGE=m
+CONFIG_I2C_SAVAGE4=m
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_STUB=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+CONFIG_I2C_VOODOO3=m
+CONFIG_I2C_PCA_ISA=m
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCF8591=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=m
+CONFIG_BLK_DEV_IDE=m
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_BLK_DEV_IDEACPI=y
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_CMD640=y
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+CONFIG_BLK_DEV_IDEPNP=y
+# CONFIG_IDEPCI_PCIBUS_ORDER is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=m
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYBOARD_NEWTON=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_VSXXXAA=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/isdn/hisax/Kconfig
+##
+CONFIG_ISDN_DRV_HISAX=m
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+CONFIG_ISDN_DIVERSION=m
+
+##
+## file: drivers/leds/Kconfig
+##
+CONFIG_LEDS_CLEVO_MAIL=m
+
+##
+## file: drivers/macintosh/Kconfig
+##
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/misc/Kconfig
+##
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_ACER_WMI=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_THINKPAD_ACPI=m
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+CONFIG_THINKPAD_ACPI_BAY=y
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+# CONFIG_INTEL_MENLOW is not set
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_HP_ILO=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+CONFIG_MTD_DOC2000=m
+CONFIG_MTD_DOC2001=m
+CONFIG_MTD_DOC2001PLUS=m
+# CONFIG_MTD_DOCPROBE_ADVANCED is not set
+CONFIG_MTD_DOCPROBE_ADDRESS=0
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x4000000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+# CONFIG_MTD_AMD76XROM is not set
+# CONFIG_MTD_ICHXROM is not set
+# CONFIG_MTD_SCB2_FLASH is not set
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_DILNETPC=m
+CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000
+# CONFIG_MTD_L440GX is not set
+CONFIG_MTD_PCI=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_DISKONCHIP=m
+# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_PLATFORM=m
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES_MULTIQUEUE=y
+CONFIG_DUMMY=m
+CONFIG_NET_SB1000=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_HP100=m
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_VIRTIO_NET=m
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+
+##
+## file: drivers/net/pcmcia/Kconfig
+##
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+CONFIG_ARCNET_COM20020_CS=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_PCMCIA_XIRCOM=m
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+CONFIG_PC300_MLPPP=y
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+CONFIG_DSCC4_PCISYNC=y
+CONFIG_DSCC4_PCI_RST=y
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_LAPBETHER=m
+CONFIG_X25_ASY=m
+CONFIG_SBNI=m
+# CONFIG_SBNI_MULTILINE is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_WLAN_80211=y
+CONFIG_PCMCIA_RAYCS=m
+# CONFIG_IPW2100 is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/pci/Kconfig
+##
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_HT_IRQ=y
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+##
+## file: drivers/pci/pcie/Kconfig
+##
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+
+##
+## file: drivers/pci/pcie/aer/Kconfig
+##
+CONFIG_PCIEAER=y
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_CARDBUS=y
+CONFIG_YENTA=m
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_TCIC=m
+
+##
+## file: drivers/pnp/Kconfig
+##
+CONFIG_PNP=y
+CONFIG_PNP_DEBUG=y
+
+##
+## file: drivers/power/Kconfig
+##
+CONFIG_POWER_SUPPLY=m
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_BATTERY_DS2760=m
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_DRV_CMOS=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_EATA=m
+CONFIG_SCSI_EATA_TAGGED_QUEUE=y
+CONFIG_SCSI_EATA_LINKED_COMMANDS=y
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+CONFIG_PHONE_IXJ_PCMCIA=m
+
+##
+## file: drivers/thermal/Kconfig
+##
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=y
+CONFIG_USB_USS720=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_IMAC is not set
+CONFIG_FB_N411=m
+CONFIG_FB_HGA=m
+# CONFIG_FB_HGA_ACCEL is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_INTEL=m
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+CONFIG_FB_VIRTUAL=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_BACKLIGHT_PROGEAR=m
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_VGA_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/geode/Kconfig
+##
+# CONFIG_FB_GEODE is not set
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+
+##
+## file: drivers/virtio/Kconfig
+##
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IT8712F_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_SC1200_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+CONFIG_USBPCWATCHDOG=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+# CONFIG_ACORN_PARTITION_EESOX is not set
+CONFIG_ACORN_PARTITION_ICS=y
+# CONFIG_ACORN_PARTITION_ADFS is not set
+# CONFIG_ACORN_PARTITION_POWERTEC is not set
+CONFIG_ACORN_PARTITION_RISCIX=y
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+##
+## file: kernel/power/Kconfig
+##
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_FRAME_WARN=2048
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+
+##
+## file: mm/Kconfig
+##
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_RESOURCES_64BIT=y
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/decnet/netfilter/Kconfig
+##
+CONFIG_DECNET_NF_GRABULATOR=m
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+# CONFIG_IRDA_ULTRA is not set
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_TRIDENT=m
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_SOUND_OSS=m
+# CONFIG_SOUND_TRACEINIT is not set
+# CONFIG_SOUND_DMAP is not set
+CONFIG_SOUND_SSCAPE=m
+CONFIG_SOUND_VMIDI=m
+CONFIG_SOUND_TRIX=m
+CONFIG_SOUND_MSS=m
+CONFIG_SOUND_MPU401=m
+CONFIG_SOUND_PAS=m
+CONFIG_SOUND_PSS=m
+CONFIG_PSS_MIXER=y
+CONFIG_SOUND_SB=m
+CONFIG_SOUND_YM3812=m
+CONFIG_SOUND_UART6850=m
+CONFIG_SOUND_AEDSP16=m
+CONFIG_SC6600=y
+CONFIG_SC6600_JOY=y
+CONFIG_SC6600_CDROM=4
+CONFIG_SC6600_CDROMBASE=0x0
+## choice: Audio Excel DSP 16
+# CONFIG_AEDSP16_MSS is not set
+# CONFIG_AEDSP16_SBPRO is not set
+## end choice
+CONFIG_SOUND_KAHLUA=m
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
+##
+## file: sound/usb/Kconfig
+##
+CONFIG_SND_USB_USX2Y=m
+
--- linux-2.6-2.6.26.orig/debian/config/amd64/defines
+++ linux-2.6-2.6.26/debian/config/amd64/defines
@@ -0,0 +1,16 @@
+[base]
+featuresets:
+ openvz
+ vserver
+ xen
+flavours:
+ amd64
+kernel-arch: x86
+
+[image]
+suggests: grub | lilo
+
+[amd64_base]
+class: AMD64
+longclass: all 64bit single- and multiprocessor AMD and Intel
+
--- linux-2.6-2.6.26.orig/debian/config/amd64/openvz/defines
+++ linux-2.6-2.6.26/debian/config/amd64/openvz/defines
@@ -0,0 +1,4 @@
+[base]
+flavours:
+ amd64
+
--- linux-2.6-2.6.26.orig/debian/config/amd64/vserver/defines
+++ linux-2.6-2.6.26/debian/config/amd64/vserver/defines
@@ -0,0 +1,4 @@
+[base]
+flavours:
+ amd64
+
--- linux-2.6-2.6.26.orig/debian/config/amd64/xen/config
+++ linux-2.6-2.6.26/debian/config/amd64/xen/config
@@ -0,0 +1 @@
+CONFIG_X86_64_XEN=y
--- linux-2.6-2.6.26.orig/debian/config/amd64/xen/defines
+++ linux-2.6-2.6.26/debian/config/amd64/xen/defines
@@ -0,0 +1,12 @@
+[base]
+flavours:
+ amd64
+
+[image]
+initramfs-generators: initramfs-tools 
+suggests: grub
+type: plain-xen
+
+[xen]
+flavours: amd64
+
--- linux-2.6-2.6.26.orig/debian/config/i386/config.486
+++ linux-2.6-2.6.26/debian/config/i386/config.486
@@ -0,0 +1,126 @@
+##
+## file: arch/x86/Kconfig
+##
+# CONFIG_SMP is not set
+CONFIG_X86_UP_APIC=y
+CONFIG_X86_UP_IOAPIC=y
+# CONFIG_X86_MCE is not set
+## choice: High Memory Support
+CONFIG_NOHIGHMEM=y
+# CONFIG_HIGHMEM4G is not set
+## end choice
+CONFIG_MATH_EMULATION=y
+CONFIG_EISA=y
+CONFIG_MCA=y
+CONFIG_OLPC=y
+
+##
+## file: arch/x86/Kconfig.cpu
+##
+## choice: Processor family
+# CONFIG_M386 is not set
+CONFIG_M486=y
+# CONFIG_M686 is not set
+# CONFIG_MK7 is not set
+## end choice
+CONFIG_X86_GENERIC=y
+CONFIG_X86_PPRO_FENCE=y
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_DIGIEPCA=m
+CONFIG_MOXA_INTELLIO=m
+CONFIG_RIO=m
+CONFIG_RIO_OLDPCI=y
+CONFIG_STALLION=m
+CONFIG_ISTALLION=m
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+
+##
+## file: drivers/eisa/Kconfig
+##
+CONFIG_EISA_VLB_PRIMING=y
+CONFIG_EISA_PCI_EISA=y
+CONFIG_EISA_VIRTUAL_ROOT=y
+CONFIG_EISA_NAMES=y
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_ELEKTOR=m
+CONFIG_I2C_STUB=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+CONFIG_ISDN_DRV_LOOP=m
+
+##
+## file: drivers/mca/Kconfig
+##
+CONFIG_MCA_LEGACY=y
+# CONFIG_MCA_PROC_FS is not set
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+# CONFIG_MTD_XIP is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_ELMC=m
+CONFIG_ELMC_II=m
+CONFIG_ULTRAMCA=m
+CONFIG_ULTRA32=m
+CONFIG_NI5010=m
+CONFIG_NE2_MCA=m
+CONFIG_IBMLANA=m
+CONFIG_LNE390=m
+CONFIG_NE3210=m
+CONFIG_ES3210=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_DMASCC=m
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+CONFIG_MADGEMC=m
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
+
+##
+## file: drivers/power/Kconfig
+##
+CONFIG_BATTERY_OLPC=m
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_FD_MCS=m
+CONFIG_SCSI_IBMMCA=m
+CONFIG_IBMMCA_SCSI_ORDER_STANDARD=y
+# CONFIG_IBMMCA_SCSI_DEV_RESET is not set
+CONFIG_SCSI_NCR_D700=m
+CONFIG_SCSI_NCR_Q720=m
+CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
+CONFIG_SCSI_NCR53C8XX_MAX_TAGS=4
+CONFIG_SCSI_NCR53C8XX_SYNC=5
+CONFIG_SCSI_SIM710=m
+
+##
+## file: drivers/video/geode/Kconfig
+##
+CONFIG_FB_GEODE_LX=y
+
--- linux-2.6-2.6.26.orig/debian/config/i386/config
+++ linux-2.6-2.6.26/debian/config/i386/config
@@ -0,0 +1,1965 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+# CONFIG_KPROBES is not set
+
+##
+## file: arch/x86/Kconfig
+##
+## choice: Subarchitecture Type
+CONFIG_X86_PC=y
+# CONFIG_X86_ELAN is not set
+# CONFIG_X86_VOYAGER is not set
+# CONFIG_X86_NUMAQ is not set
+# CONFIG_X86_SUMMIT is not set
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_VISWS is not set
+# CONFIG_X86_GENERICARCH is not set
+# CONFIG_X86_ES7000 is not set
+## end choice
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_VMI=y
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_PARAVIRT=y
+CONFIG_HPET_TIMER=y
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+# CONFIG_X86_REBOOTFIXUPS is not set
+CONFIG_MICROCODE=m
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+## choice: High Memory Support
+# CONFIG_HIGHMEM64G is not set
+## end choice
+## choice: Memory split
+# CONFIG_VMSPLIT_3G is not set
+CONFIG_VMSPLIT_3G_OPT=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+## end choice
+# CONFIG_X86_PAE is not set
+CONFIG_MTRR=y
+# CONFIG_X86_PAT is not set
+CONFIG_EFI=y
+# CONFIG_IRQBALANCE is not set
+CONFIG_SECCOMP=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x100000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+CONFIG_APM=m
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+# CONFIG_APM_DO_ENABLE is not set
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+# CONFIG_APM_REAL_MODE_POWER_OFF is not set
+CONFIG_PCI=y
+## choice: PCI access mode
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+## end choice
+CONFIG_PCI_MMCONFIG=y
+# CONFIG_DMAR is not set
+CONFIG_ISA=y
+CONFIG_SCx200=m
+CONFIG_SCx200HR_TIMER=m
+
+##
+## file: arch/x86/Kconfig.cpu
+##
+## choice: Processor family
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP2 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MCORE2 is not set
+## end choice
+
+##
+## file: arch/x86/Kconfig.debug
+##
+# CONFIG_NONPROMISC_DEVMEM is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DIRECT_GBPAGES is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_4KSTACKS is not set
+CONFIG_DOUBLEFAULT=y
+## choice: IO delay type
+CONFIG_IO_DELAY_0X80=y
+## end choice
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+
+##
+## file: arch/x86/kernel/cpu/cpufreq/Kconfig
+##
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_POWERNOW_K8_ACPI=y
+CONFIG_X86_GX_SUSPMOD=m
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+
+##
+## file: arch/x86/kvm/Kconfig
+##
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+
+##
+## file: arch/x86/lguest/Kconfig
+##
+CONFIG_LGUEST_GUEST=y
+
+##
+## file: arch/x86/xen/Kconfig
+##
+CONFIG_XEN=y
+
+##
+## file: crypto/Kconfig
+##
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_TWOFISH_586=m
+
+##
+## file: drivers/acpi/Kconfig
+##
+CONFIG_ACPI=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=m
+CONFIG_ACPI_BAY=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_SBS=m
+
+##
+## file: drivers/ata/Kconfig
+##
+# CONFIG_PATA_CS5535 is not set
+# CONFIG_PATA_CS5536 is not set
+# CONFIG_PATA_SIS is not set
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+CONFIG_ATM_HE_USE_SUNI=y
+
+##
+## file: drivers/auxdisplay/Kconfig
+##
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=m
+CONFIG_BLK_DEV_XD=m
+CONFIG_PARIDE=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_VIRTIO_BLK=m
+
+##
+## file: drivers/block/paride/Kconfig
+##
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_BPCK6=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+# CONFIG_PARIDE_EPATC8 is not set
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_ESPSERIAL is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+CONFIG_SX=m
+CONFIG_STALDRV=y
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_XEN=y
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+CONFIG_MWAVE=m
+CONFIG_SCx200_GPIO=m
+CONFIG_CS5535_GPIO=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+
+##
+## file: drivers/char/agp/Kconfig
+##
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_I810=m
+## choice: Intel 830M, 845G, 852GM, 855GM, 865G
+CONFIG_DRM_I830=m
+CONFIG_DRM_I915=m
+## end choice
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+
+##
+## file: drivers/char/hw_random/Kconfig
+##
+CONFIG_HW_RANDOM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/char/pcmcia/Kconfig
+##
+CONFIG_SYNCLINK_CS=m
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+CONFIG_CPU_FREQ=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+## choice: Default CPUFreq governor
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+## end choice
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+##
+## file: drivers/cpuidle/Kconfig
+##
+CONFIG_CPU_IDLE=y
+
+##
+## file: drivers/crypto/Kconfig
+##
+CONFIG_CRYPTO_DEV_GEODE=m
+
+##
+## file: drivers/dma/Kconfig
+##
+CONFIG_DMADEVICES=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_NET_DMA=y
+
+##
+## file: drivers/edac/Kconfig
+##
+CONFIG_EDAC=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD76X=m
+CONFIG_EDAC_E7XXX=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82875P=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I82860=m
+CONFIG_EDAC_R82600=m
+CONFIG_EDAC_I5000=m
+
+##
+## file: drivers/firmware/Kconfig
+##
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_EFI_VARS=m
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=y
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT_POWERBOOK=y
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_FSCHER=m
+CONFIG_SENSORS_FSCPOS=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_HDAPS=m
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_I810=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_PROSAVAGE=m
+CONFIG_I2C_SAVAGE4=m
+CONFIG_SCx200_I2C=m
+CONFIG_SCx200_I2C_SCL=12
+CONFIG_SCx200_I2C_SDA=13
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+CONFIG_I2C_VOODOO3=m
+CONFIG_I2C_PCA_ISA=m
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCF8591=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=m
+CONFIG_BLK_DEV_IDE=m
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_BLK_DEV_IDEACPI=y
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_CMD640=y
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+CONFIG_BLK_DEV_IDEPNP=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_CS5535=m
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_4DRIVES is not set
+# CONFIG_BLK_DEV_ALI14XX is not set
+# CONFIG_BLK_DEV_DTC2278 is not set
+# CONFIG_BLK_DEV_HT6560B is not set
+# CONFIG_BLK_DEV_QD65XX is not set
+# CONFIG_BLK_DEV_UMC8672 is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=m
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYBOARD_NEWTON=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_INPORT=m
+# CONFIG_MOUSE_ATIXL is not set
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/act2000/Kconfig
+##
+CONFIG_ISDN_DRV_ACT2000=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/isdn/hisax/Kconfig
+##
+CONFIG_ISDN_DRV_HISAX=m
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+# CONFIG_ISDN_DIVERSION is not set
+
+##
+## file: drivers/isdn/icn/Kconfig
+##
+CONFIG_ISDN_DRV_ICN=m
+
+##
+## file: drivers/isdn/pcbit/Kconfig
+##
+CONFIG_ISDN_DRV_PCBIT=m
+
+##
+## file: drivers/isdn/sc/Kconfig
+##
+CONFIG_ISDN_DRV_SC=m
+
+##
+## file: drivers/leds/Kconfig
+##
+CONFIG_LEDS_WRAP=m
+CONFIG_LEDS_CLEVO_MAIL=m
+
+##
+## file: drivers/lguest/Kconfig
+##
+CONFIG_LGUEST=m
+
+##
+## file: drivers/macintosh/Kconfig
+##
+# CONFIG_MACINTOSH_DRIVERS is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+CONFIG_RADIO_RTRACK2=m
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_TYPHOON_PROC_FS=y
+CONFIG_RADIO_ZOLTRIX=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/misc/Kconfig
+##
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_ACER_WMI=m
+CONFIG_TC1100_WMI=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_THINKPAD_ACPI=m
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+CONFIG_THINKPAD_ACPI_BAY=y
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+# CONFIG_INTEL_MENLOW is not set
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_HP_ILO=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+CONFIG_MTD_DOC2000=m
+CONFIG_MTD_DOC2001=m
+CONFIG_MTD_DOC2001PLUS=m
+# CONFIG_MTD_DOCPROBE_ADVANCED is not set
+CONFIG_MTD_DOCPROBE_ADDRESS=0
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x4000000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+CONFIG_MTD_SCx200_DOCFLASH=m
+# CONFIG_MTD_AMD76XROM is not set
+# CONFIG_MTD_ICHXROM is not set
+# CONFIG_MTD_SCB2_FLASH is not set
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_DILNETPC=m
+CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000
+# CONFIG_MTD_L440GX is not set
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_DISKONCHIP=m
+# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_PLATFORM=m
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES_MULTIQUEUE=y
+CONFIG_DUMMY=m
+CONFIG_NET_SB1000=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL1=m
+CONFIG_EL2=m
+CONFIG_ELPLUS=m
+CONFIG_EL16=m
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_LANCE=m
+CONFIG_NET_VENDOR_SMC=y
+CONFIG_WD80x3=m
+CONFIG_ULTRA=m
+CONFIG_SMC9194=m
+CONFIG_NET_VENDOR_RACAL=y
+CONFIG_NI52=m
+CONFIG_NI65=m
+CONFIG_AT1700=m
+CONFIG_DEPCA=m
+CONFIG_HP100=m
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_ZNET=m
+CONFIG_SEEQ8005=m
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_AC3200=m
+CONFIG_APRICOT=m
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_CS89x0=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_VLAN=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_XEN_NETDEV_FRONTEND=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_VIRTIO_NET=m
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_LTPC=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_ISA=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_BPQETHER=m
+CONFIG_SCC=m
+# CONFIG_SCC_DELAY is not set
+# CONFIG_SCC_TRXECHO is not set
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+
+##
+## file: drivers/net/pcmcia/Kconfig
+##
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_PCMCIA_IBMTR=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_PCMCIA_XIRCOM=m
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_HOSTESS_SV11=m
+CONFIG_COSA=m
+CONFIG_LANMEDIA=m
+CONFIG_SEALEVEL_4021=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+CONFIG_PC300_MLPPP=y
+CONFIG_N2=m
+CONFIG_C101=m
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+CONFIG_DSCC4_PCISYNC=y
+CONFIG_DSCC4_PCI_RST=y
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SDLA=m
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_LAPBETHER=m
+CONFIG_X25_ASY=m
+CONFIG_SBNI=m
+# CONFIG_SBNI_MULTILINE is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_WLAN_80211=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/pci/Kconfig
+##
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_HT_IRQ=y
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+##
+## file: drivers/pci/pcie/Kconfig
+##
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+
+##
+## file: drivers/pci/pcie/aer/Kconfig
+##
+CONFIG_PCIEAER=y
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_CARDBUS=y
+CONFIG_YENTA=m
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+
+##
+## file: drivers/pnp/Kconfig
+##
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG is not set
+
+##
+## file: drivers/pnp/isapnp/Kconfig
+##
+CONFIG_ISAPNP=y
+
+##
+## file: drivers/pnp/pnpbios/Kconfig
+##
+CONFIG_PNPBIOS=y
+CONFIG_PNPBIOS_PROC_FS=y
+
+##
+## file: drivers/power/Kconfig
+##
+CONFIG_POWER_SUPPLY=m
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_BATTERY_DS2760=m
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_DRV_CMOS=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_BUSLOGIC=m
+# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+CONFIG_SCSI_EATA_TAGGED_QUEUE=y
+CONFIG_SCSI_EATA_LINKED_COMMANDS=y
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_EATA_PIO=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_GENERIC_NCR53C400 is not set
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+# CONFIG_SCSI_INIA100 is not set
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y
+CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_DEBUG=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+
+##
+## file: drivers/scsi/pcmcia/Kconfig
+##
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_EXAR_ST16C554=m
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+CONFIG_PHONE_IXJ_PCMCIA=m
+
+##
+## file: drivers/thermal/Kconfig
+##
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+CONFIG_USB_USS720=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_IMAC is not set
+CONFIG_FB_N411=m
+CONFIG_FB_HGA=m
+# CONFIG_FB_HGA_ACCEL is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_I810=m
+# CONFIG_FB_I810_GTF is not set
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_INTEL=m
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+CONFIG_FB_VIRTUAL=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_BACKLIGHT_PROGEAR=m
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_VGA_CONSOLE=y
+CONFIG_MDA_CONSOLE=m
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/geode/Kconfig
+##
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=m
+CONFIG_FB_GEODE_GX=m
+CONFIG_FB_GEODE_GX1=m
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+
+##
+## file: drivers/virtio/Kconfig
+##
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IT8712F_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_SC1200_WDT=m
+CONFIG_SCx200_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+CONFIG_WDT_501=y
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+CONFIG_USBPCWATCHDOG=m
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_AOUT=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+# CONFIG_ACORN_PARTITION_EESOX is not set
+CONFIG_ACORN_PARTITION_ICS=y
+# CONFIG_ACORN_PARTITION_ADFS is not set
+# CONFIG_ACORN_PARTITION_POWERTEC is not set
+CONFIG_ACORN_PARTITION_RISCIX=y
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+##
+## file: kernel/power/Kconfig
+##
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_FRAME_WARN=1024
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+# CONFIG_RESOURCES_64BIT is not set
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/decnet/netfilter/Kconfig
+##
+CONFIG_DECNET_NF_GRABULATOR=m
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+# CONFIG_IRDA_ULTRA is not set
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+
+##
+## file: sound/isa/Kconfig
+##
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4232=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_DT019X=m
+CONFIG_SND_ES968=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SGALAXY=m
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_TRIDENT=m
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_SOUND_OSS=m
+# CONFIG_SOUND_TRACEINIT is not set
+# CONFIG_SOUND_DMAP is not set
+CONFIG_SOUND_SSCAPE=m
+CONFIG_SOUND_VMIDI=m
+CONFIG_SOUND_TRIX=m
+CONFIG_SOUND_MSS=m
+CONFIG_SOUND_MPU401=m
+CONFIG_SOUND_PAS=m
+CONFIG_SOUND_PSS=m
+CONFIG_PSS_MIXER=y
+CONFIG_SOUND_SB=m
+CONFIG_SOUND_YM3812=m
+CONFIG_SOUND_UART6850=m
+CONFIG_SOUND_AEDSP16=m
+CONFIG_SC6600=y
+CONFIG_SC6600_JOY=y
+CONFIG_SC6600_CDROM=4
+CONFIG_SC6600_CDROMBASE=0x0
+## choice: Audio Excel DSP 16
+# CONFIG_AEDSP16_MSS is not set
+# CONFIG_AEDSP16_SBPRO is not set
+## end choice
+CONFIG_SOUND_KAHLUA=m
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
+##
+## file: sound/usb/Kconfig
+##
+CONFIG_SND_USB_USX2Y=m
+
--- linux-2.6-2.6.26.orig/debian/config/i386/config.686-bigmem
+++ linux-2.6-2.6.26/debian/config/i386/config.686-bigmem
@@ -0,0 +1,90 @@
+##
+## file: arch/x86/Kconfig
+##
+CONFIG_SMP=y
+## choice: Subarchitecture Type
+# CONFIG_X86_PC is not set
+# CONFIG_X86_ELAN is not set
+# CONFIG_X86_VOYAGER is not set
+# CONFIG_X86_NUMAQ is not set
+# CONFIG_X86_SUMMIT is not set
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_VISWS is not set
+CONFIG_X86_GENERICARCH=y
+# CONFIG_X86_ES7000 is not set
+# CONFIG_X86_RDC321X is not set
+# CONFIG_X86_VSMP is not set
+## end choice
+CONFIG_NR_CPUS=32
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_NONFATAL=m
+CONFIG_X86_MCE_P4THERMAL=y
+## choice: High Memory Support
+# CONFIG_NOHIGHMEM is not set
+# CONFIG_HIGHMEM4G is not set
+CONFIG_HIGHMEM64G=y
+## end choice
+CONFIG_X86_PAE=y
+# CONFIG_HIGHPTE is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_EISA is not set
+# CONFIG_MCA is not set
+
+##
+## file: arch/x86/Kconfig.cpu
+##
+## choice: Processor family
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+CONFIG_M686=y
+# CONFIG_MK7 is not set
+## end choice
+# CONFIG_X86_GENERIC is not set
+CONFIG_X86_PPRO_FENCE=y
+
+##
+## file: drivers/char/Kconfig
+##
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_SX is not set
+# CONFIG_RIO is not set
+# CONFIG_STALLION is not set
+# CONFIG_ISTALLION is not set
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ELEKTOR is not set
+CONFIG_I2C_STUB=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+# CONFIG_ISDN_DRV_LOOP is not set
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_NI5010 is not set
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+# CONFIG_DMASCC is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+
+##
+## file: lib/Kconfig.debug
+##
+# CONFIG_DEBUG_HIGHMEM is not set
+
--- linux-2.6-2.6.26.orig/debian/config/i386/config.686
+++ linux-2.6-2.6.26/debian/config/i386/config.686
@@ -0,0 +1,74 @@
+##
+## file: arch/x86/Kconfig
+##
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_NONFATAL=m
+CONFIG_X86_MCE_P4THERMAL=y
+## choice: High Memory Support
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+## end choice
+# CONFIG_HIGHPTE is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_EISA is not set
+# CONFIG_MCA is not set
+
+##
+## file: arch/x86/Kconfig.cpu
+##
+## choice: Processor family
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+CONFIG_M686=y
+# CONFIG_MK7 is not set
+## end choice
+# CONFIG_X86_GENERIC is not set
+CONFIG_X86_PPRO_FENCE=y
+
+##
+## file: drivers/char/Kconfig
+##
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_RIO is not set
+# CONFIG_STALLION is not set
+# CONFIG_ISTALLION is not set
+
+##
+## file: drivers/cpufreq/Kconfig
+##
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ELEKTOR is not set
+CONFIG_I2C_STUB=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+# CONFIG_ISDN_DRV_LOOP is not set
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_NI5010 is not set
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+# CONFIG_DMASCC is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+
+##
+## file: lib/Kconfig.debug
+##
+# CONFIG_DEBUG_HIGHMEM is not set
+
--- linux-2.6-2.6.26.orig/debian/config/i386/defines
+++ linux-2.6-2.6.26/debian/config/i386/defines
@@ -0,0 +1,42 @@
+[base]
+featuresets:
+ openvz
+ vserver
+ xen
+flavours:
+ 486
+ 686
+ 686-bigmem
+ amd64
+kernel-arch: x86
+
+[image]
+suggests: grub | lilo
+
+[486_base]
+class: x86
+longclass: x86 and compatible
+
+[686_base]
+class: PPro/Celeron/PII/PIII/P4
+longclass: Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4
+
+[686_image]
+recommends: libc6-i686
+
+[686-bigmem_base]
+class: PPro/Celeron/PII/PIII/P4
+longclass: Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4 with 4-64G RAM
+
+[686-bigmem_image]
+desc-parts: xen
+recommends: libc6-i686
+
+[amd64_base]
+class: AMD64
+longclass: all 64bit single- and multiprocessor AMD and Intel
+
+[amd64_image]
+configs: amd64/config amd64/config.amd64
+recommends: libc6-i686
+
--- linux-2.6-2.6.26.orig/debian/config/i386/vserver/defines
+++ linux-2.6-2.6.26/debian/config/i386/vserver/defines
@@ -0,0 +1,8 @@
+[base]
+flavours:
+ 686
+ 686-bigmem
+
+[image]
+recommends: util-vserver, libc6-i686
+
--- linux-2.6-2.6.26.orig/debian/config/i386/openvz/defines
+++ linux-2.6-2.6.26/debian/config/i386/openvz/defines
@@ -0,0 +1,9 @@
+[base]
+flavours:
+ 686
+
+[686_image]
+configs:
+  i386/config.686-bigmem
+desc-parts: xen
+
--- linux-2.6-2.6.26.orig/debian/config/i386/xen/config
+++ linux-2.6-2.6.26/debian/config/i386/xen/config
@@ -0,0 +1,2 @@
+# CONFIG_X86_GENERICARCH is not set
+CONFIG_X86_XEN=y
--- linux-2.6-2.6.26.orig/debian/config/i386/xen/defines
+++ linux-2.6-2.6.26/debian/config/i386/xen/defines
@@ -0,0 +1,24 @@
+[base]
+flavours:
+ 686
+
+[image]
+initramfs-generators: initramfs-tools
+suggests: grub
+type: plain-xen
+
+[xen]
+flavours:
+ i386
+ amd64
+
+[686_base]
+class: i686
+longclass: i686 and compatible
+
+[686_image]
+configs:
+ i386/config.686-bigmem
+ i386/xen/config
+recommends: libc6-xen
+
--- linux-2.6-2.6.26.orig/debian/config/mips/config.4kc-malta
+++ linux-2.6-2.6.26/debian/config/mips/config.4kc-malta
@@ -0,0 +1,1800 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_BASLER_EXCITE is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+CONFIG_MIPS_MALTA=y
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+# CONFIG_WR_PPMC is not set
+## end choice
+## choice: Endianess selection
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
+## end choice
+## choice: CPU type
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+## end choice
+## choice: Kernel code model
+CONFIG_32BIT=y
+# CONFIG_64BIT is not set
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+## choice: MIPS MT options
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+## end choice
+# CONFIG_MIPS_VPE_LOADER is not set
+## choice: Timer frequency
+# CONFIG_HZ_48 is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_128 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_256 is not set
+# CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1024 is not set
+## end choice
+# CONFIG_KEXEC is not set
+CONFIG_PCI=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+CONFIG_SATA_MV=y
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SX4=y
+CONFIG_SATA_SIL=y
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_ATA_GENERIC is not set
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+CONFIG_ATM_HE_USE_SUNI=y
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=m
+CONFIG_PARIDE=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/block/paride/Kconfig
+##
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+# CONFIG_PARIDE_BPCK6 is not set
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+# CONFIG_PARIDE_EPATC8 is not set
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_RTC=y
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+# CONFIG_IPMI_DEVICE_INTERFACE is not set
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/hid/Kconfig
+##
+CONFIG_HID=y
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ABITUGURU is not set
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+CONFIG_SENSORS_DS1621=m
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+CONFIG_I2C_PIIX4=m
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+CONFIG_I2C_VOODOO3=m
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCA9539=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_MAX6875=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_BLK_DEV_IDESCSI=m
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=y
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+CONFIG_BLK_DEV_HPT34X=y
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=y
+# CONFIG_BLK_DEV_JMICRON is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+CONFIG_BLK_DEV_PIIX=y
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+CONFIG_BLK_DEV_PDC202XX_OLD=y
+CONFIG_BLK_DEV_PDC202XX_NEW=y
+# CONFIG_BLK_DEV_SVWKS is not set
+CONFIG_BLK_DEV_SIIMAGE=y
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+# CONFIG_GAMEPORT_NS558 is not set
+# CONFIG_GAMEPORT_L4 is not set
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=m
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYBOARD_NEWTON=m
+CONFIG_KEYBOARD_STOWAWAY=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_VSXXXAA=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+##
+## file: drivers/isdn/gigaset/Kconfig
+##
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_GIGASET_UNDOCREQ is not set
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/isdn/hisax/Kconfig
+##
+CONFIG_ISDN_DRV_HISAX=m
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+# CONFIG_HISAX_DEBUG is not set
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+CONFIG_ISDN_DRV_LOOP=m
+CONFIG_ISDN_DIVERSION=m
+
+##
+## file: drivers/leds/Kconfig
+##
+# CONFIG_NEW_LEDS is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/dvb/frontends/Kconfig
+##
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6421=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA7111=m
+CONFIG_VIDEO_SAA7114=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_SAA6588=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+
+##
+## file: drivers/media/video/cpia2/Kconfig
+##
+CONFIG_VIDEO_CPIA2=m
+
+##
+## file: drivers/media/video/cx25840/Kconfig
+##
+CONFIG_VIDEO_CX25840=m
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+CONFIG_VIDEO_EM28XX=m
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/pvrusb2/Kconfig
+##
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+
+##
+## file: drivers/media/video/usbvision/Kconfig
+##
+CONFIG_VIDEO_USBVISION=m
+
+##
+## file: drivers/media/video/zc0301/Kconfig
+##
+CONFIG_USB_ZC0301=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/misc/Kconfig
+##
+# CONFIG_SGI_IOC4 is not set
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_DATAFLASH=m
+CONFIG_MTD_M25P80=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+CONFIG_MTD_DOC2000=m
+CONFIG_MTD_DOC2001=m
+CONFIG_MTD_DOC2001PLUS=m
+# CONFIG_MTD_DOCPROBE_ADVANCED is not set
+CONFIG_MTD_DOCPROBE_ADDRESS=0
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PLATRAM=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND_DISKONCHIP=m
+# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+CONFIG_MTD_NAND_CAFE=m
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+# CONFIG_MTD_ONENAND_OTP is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=y
+CONFIG_AMD8111_ETH=m
+CONFIG_AMD8111E_NAPI=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_ADAPTEC_STARFIRE_NAPI=y
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_RHINE_NAPI=y
+CONFIG_NET_POCKET=y
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_NAPI=y
+CONFIG_R8169_VLAN=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_QLA3XXX=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_MCS_FIR=m
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+# CONFIG_QSEMI_PHY is not set
+CONFIG_LXT_PHY=m
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_FIXED_PHY=m
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+# CONFIG_WINBOND_840 is not set
+CONFIG_DM9102=m
+# CONFIG_ULI526X is not set
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+# CONFIG_PC300_MLPPP is not set
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_WAN_ROUTER_DRIVERS=m
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_LAPBETHER=m
+CONFIG_X25_ASY=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_WLAN_80211=y
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+# CONFIG_IPW2200_MONITOR is not set
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/net/wireless/hostap/Kconfig
+##
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+
+##
+## file: drivers/net/wireless/zd1211rw/Kconfig
+##
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+##
+## file: drivers/parport/Kconfig
+##
+# CONFIG_PARPORT_AX88796 is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_RS5C348=m
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+CONFIG_RTC_DRV_M48T86=m
+# CONFIG_RTC_DRV_V3020 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_SRP=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+
+##
+## file: drivers/scsi/libsas/Kconfig
+##
+CONFIG_SCSI_SAS_LIBSAS=m
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+CONFIG_SCSI_QLA_ISCSI=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=y
+CONFIG_USB_USS720=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=y
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+# CONFIG_FB_RIVA is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+CONFIG_FB_VIRTUAL=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+CONFIG_USBPCWATCHDOG=m
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/dlm/Kconfig
+##
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+##
+## file: fs/ncpfs/Kconfig
+##
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+# CONFIG_NCPFS_SMALLDOS is not set
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_HEADERS_CHECK is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+# CONFIG_RESOURCES_64BIT is not set
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/bridge/netfilter/Kconfig
+##
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/decnet/netfilter/Kconfig
+##
+CONFIG_DECNET_NF_GRABULATOR=m
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+# CONFIG_IRDA_ULTRA is not set
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/netlabel/Kconfig
+##
+# CONFIG_NETLABEL is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/wireless/Kconfig
+##
+CONFIG_WIRELESS_EXT=y
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_TRIDENT=m
+CONFIG_SOUND_MSNDCLAS=m
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+CONFIG_SOUND_MSNDPIN=m
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_AC97_POWER_SAVE=y
+
--- linux-2.6-2.6.26.orig/debian/config/mips/config
+++ linux-2.6-2.6.26/debian/config/mips/config
@@ -0,0 +1,10 @@
+##
+## file: arch/mips/Kconfig
+##
+CONFIG_SECCOMP=y
+
+##
+## file: drivers/net/Kconfig
+##
+# CONFIG_NIU is not set
+
--- linux-2.6-2.6.26.orig/debian/config/mips/config.sb1-bcm91250a
+++ linux-2.6-2.6.26/debian/config/mips/config.sb1-bcm91250a
@@ -0,0 +1,1090 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_OPROFILE is not set
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+CONFIG_SIBYTE_SWARM=y
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+## end choice
+## choice: Endianess selection
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
+## end choice
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+CONFIG_CPU_SB1=y
+## end choice
+## choice: Kernel code model
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+# CONFIG_SIBYTE_DMA_PAGEOPS is not set
+CONFIG_SMP=y
+CONFIG_NR_CPUS=2
+CONFIG_PCI=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+# CONFIG_SB1XXX_CORELIS is not set
+
+##
+## file: arch/mips/sibyte/Kconfig
+##
+## choice: SiByte SOC Stepping
+# CONFIG_CPU_SB1_PASS_1 is not set
+# CONFIG_CPU_SB1_PASS_2_1250 is not set
+CONFIG_CPU_SB1_PASS_2_2=y
+# CONFIG_CPU_SB1_PASS_4 is not set
+# CONFIG_CPU_SB1_PASS_2_112x is not set
+# CONFIG_CPU_SB1_PASS_3 is not set
+## end choice
+# CONFIG_SIMULATION is not set
+# CONFIG_SB1_CEX_ALWAYS_FATAL is not set
+# CONFIG_SB1_CERR_STALL is not set
+CONFIG_SIBYTE_CFE=y
+# CONFIG_SIBYTE_CFE_CONSOLE is not set
+# CONFIG_SIBYTE_BUS_WATCHER is not set
+# CONFIG_SIBYTE_TBPROF is not set
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+CONFIG_RTC=m
+CONFIG_GEN_RTC=y
+CONFIG_GEN_RTC_X=y
+# CONFIG_DTLK is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_TELCLOCK is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_USB_HIDDEV=y
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+CONFIG_SENSORS_VT8231=m
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+CONFIG_I2C_SIBYTE=m
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+# CONFIG_BLK_DEV_IDESCSI is not set
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+# CONFIG_BLK_DEV_CS5520 is not set
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_IDE_SWARM=y
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+# CONFIG_INFINIBAND is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+# CONFIG_DM_MULTIPATH_EMC is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+# CONFIG_VIDEO_BT848 is not set
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+# CONFIG_VIDEO_CX88 is not set
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+# CONFIG_VIDEO_EM28XX is not set
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+# CONFIG_VIDEO_SAA7134 is not set
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+# CONFIG_USB_SN9C102 is not set
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+# CONFIG_AMD8111E_NAPI is not set
+CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_LAN_SAA9730 is not set
+# CONFIG_NET_POCKET is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+# CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_NAPI is not set
+CONFIG_SB1250_MAC=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+# CONFIG_PHYLIB is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+# CONFIG_NET_TULIP is not set
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_ATTRS is not set
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+CONFIG_SERIAL_SB1250_DUART=y
+CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+# CONFIG_USB_PRINTER is not set
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_CIRRUS is not set
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+CONFIG_FB_RIVA=m
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+# CONFIG_FB_MATROX_I2C is not set
+# CONFIG_FB_MATROX_MULTIHEAD is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+# CONFIG_FB_ATY_CT is not set
+# CONFIG_FB_ATY_GX is not set
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+# CONFIG_USBPCWATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=15
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=y
+
+##
+## file: sound/core/Kconfig
+##
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_VIRMIDI=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/oss/Kconfig
+##
+# CONFIG_SOUND_BCM_CS4297A is not set
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+CONFIG_SND_BT87X_OVERCLOCK=y
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
--- linux-2.6-2.6.26.orig/debian/config/mips/config.5kc-malta
+++ linux-2.6-2.6.26/debian/config/mips/config.5kc-malta
@@ -0,0 +1,2118 @@
+##
+## file: arch/Kconfig
+##
+CONFIG_OPROFILE=m
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_MACH_ALCHEMY is not set
+# CONFIG_BASLER_EXCITE is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+CONFIG_MIPS_MALTA=y
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+# CONFIG_WR_PPMC is not set
+## end choice
+CONFIG_EARLY_PRINTK=y
+## choice: Endianess selection
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
+## end choice
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+CONFIG_CPU_MIPS64_R1=y
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+## end choice
+## choice: Kernel code model
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+## choice: MIPS MT options
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+## end choice
+# CONFIG_MIPS_VPE_LOADER is not set
+# CONFIG_CPU_HAS_SMARTMIPS is not set
+## choice: Timer frequency
+# CONFIG_HZ_48 is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_128 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_256 is not set
+# CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1024 is not set
+## end choice
+# CONFIG_KEXEC is not set
+CONFIG_PCI=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL24=y
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+CONFIG_SATA_MV=y
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SX4=y
+CONFIG_SATA_SIL=y
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+CONFIG_SATA_INIC162X=m
+# CONFIG_ATA_GENERIC is not set
+
+##
+## file: drivers/atm/Kconfig
+##
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_FORE200E_MAYBE=m
+CONFIG_ATM_FORE200E_PCA=y
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+CONFIG_ATM_HE_USE_SUNI=y
+
+##
+## file: drivers/auxdisplay/Kconfig
+##
+# CONFIG_KS0108 is not set
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_FD=m
+CONFIG_PARIDE=m
+# CONFIG_BLK_CPQ_DA is not set
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+##
+## file: drivers/block/paride/Kconfig
+##
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+# CONFIG_PARIDE_EPATC8 is not set
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+
+##
+## file: drivers/bluetooth/Kconfig
+##
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_RTC=y
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+
+##
+## file: drivers/char/drm/Kconfig
+##
+CONFIG_DRM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_MGA=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+# CONFIG_IPMI_DEVICE_INTERFACE is not set
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+
+##
+## file: drivers/hid/Kconfig
+##
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ABITUGURU is not set
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+CONFIG_SENSORS_DS1621=m
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+CONFIG_I2C_PIIX4=m
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+CONFIG_I2C_SIMTEC=m
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_TINY_USB=m
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+CONFIG_I2C_VOODOO3=m
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCA9539=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_MAX6875=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_IDE_MAX_HWIFS=4
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_BLK_DEV_IDESCSI=m
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+CONFIG_IDE_GENERIC=y
+CONFIG_IDEPCI_PCIBUS_ORDER=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=y
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=y
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+CONFIG_BLK_DEV_HPT34X=y
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=y
+# CONFIG_BLK_DEV_JMICRON is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+CONFIG_BLK_DEV_PIIX=y
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+CONFIG_BLK_DEV_PDC202XX_OLD=y
+CONFIG_BLK_DEV_PDC202XX_NEW=y
+# CONFIG_BLK_DEV_SVWKS is not set
+CONFIG_BLK_DEV_SIIMAGE=y
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/ieee1394/Kconfig
+##
+# CONFIG_IEEE1394 is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+
+##
+## file: drivers/infiniband/hw/amso1100/Kconfig
+##
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+
+##
+## file: drivers/infiniband/hw/cxgb3/Kconfig
+##
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
+
+##
+## file: drivers/infiniband/hw/mlx4/Kconfig
+##
+CONFIG_MLX4_INFINIBAND=m
+
+##
+## file: drivers/infiniband/hw/mthca/Kconfig
+##
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+
+##
+## file: drivers/infiniband/ulp/ipoib/Kconfig
+##
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+
+##
+## file: drivers/infiniband/ulp/iser/Kconfig
+##
+CONFIG_INFINIBAND_ISER=m
+
+##
+## file: drivers/infiniband/ulp/srp/Kconfig
+##
+CONFIG_INFINIBAND_SRP=m
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_POLLDEV is not set
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+CONFIG_GAMEPORT=m
+# CONFIG_GAMEPORT_NS558 is not set
+# CONFIG_GAMEPORT_L4 is not set
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=m
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYBOARD_NEWTON=m
+CONFIG_KEYBOARD_STOWAWAY=m
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_VSXXXAA=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+
+##
+## file: drivers/input/tablet/Kconfig
+##
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+
+##
+## file: drivers/isdn/Kconfig
+##
+CONFIG_ISDN=m
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_CAPI=m
+
+##
+## file: drivers/isdn/capi/Kconfig
+##
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+##
+## file: drivers/isdn/gigaset/Kconfig
+##
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_GIGASET_UNDOCREQ is not set
+
+##
+## file: drivers/isdn/hardware/avm/Kconfig
+##
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+##
+## file: drivers/isdn/hardware/eicon/Kconfig
+##
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+##
+## file: drivers/isdn/hisax/Kconfig
+##
+CONFIG_ISDN_DRV_HISAX=m
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+# CONFIG_HISAX_DEBUG is not set
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+##
+## file: drivers/isdn/i4l/Kconfig
+##
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+CONFIG_ISDN_X25=y
+CONFIG_ISDN_DRV_LOOP=m
+CONFIG_ISDN_DIVERSION=m
+
+##
+## file: drivers/leds/Kconfig
+##
+# CONFIG_NEW_LEDS is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_EMC=m
+CONFIG_DM_DELAY=m
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+
+##
+## file: drivers/media/dvb/Kconfig
+##
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+##
+## file: drivers/media/dvb/b2c2/Kconfig
+##
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+##
+## file: drivers/media/dvb/bt8xx/Kconfig
+##
+CONFIG_DVB_BT8XX=m
+
+##
+## file: drivers/media/dvb/cinergyT2/Kconfig
+##
+CONFIG_DVB_CINERGYT2=m
+# CONFIG_DVB_CINERGYT2_TUNING is not set
+
+##
+## file: drivers/media/dvb/dvb-usb/Kconfig
+##
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+
+##
+## file: drivers/media/dvb/frontends/Kconfig
+##
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6421=m
+
+##
+## file: drivers/media/dvb/pluto2/Kconfig
+##
+CONFIG_DVB_PLUTO2=m
+
+##
+## file: drivers/media/dvb/ttpci/Kconfig
+##
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+##
+## file: drivers/media/dvb/ttusb-budget/Kconfig
+##
+CONFIG_DVB_TTUSB_BUDGET=m
+
+##
+## file: drivers/media/dvb/ttusb-dec/Kconfig
+##
+CONFIG_DVB_TTUSB_DEC=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_USB_DSBR=m
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA7111=m
+CONFIG_VIDEO_SAA7114=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_SAA6588=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+CONFIG_USB_ZR364XX=m
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+
+##
+## file: drivers/media/video/cpia2/Kconfig
+##
+CONFIG_VIDEO_CPIA2=m
+
+##
+## file: drivers/media/video/cx25840/Kconfig
+##
+CONFIG_VIDEO_CX25840=m
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+CONFIG_VIDEO_EM28XX=m
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/ivtv/Kconfig
+##
+CONFIG_VIDEO_IVTV=m
+
+##
+## file: drivers/media/video/pvrusb2/Kconfig
+##
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+
+##
+## file: drivers/media/video/usbvision/Kconfig
+##
+CONFIG_VIDEO_USBVISION=m
+
+##
+## file: drivers/media/video/zc0301/Kconfig
+##
+CONFIG_USB_ZC0301=m
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+
+##
+## file: drivers/mfd/Kconfig
+##
+CONFIG_MFD_SM501=m
+
+##
+## file: drivers/misc/Kconfig
+##
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+
+##
+## file: drivers/mmc/Kconfig
+##
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+
+##
+## file: drivers/mmc/card/Kconfig
+##
+CONFIG_MMC_BLOCK=m
+
+##
+## file: drivers/mmc/core/Kconfig
+##
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+##
+## file: drivers/mtd/devices/Kconfig
+##
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_DATAFLASH=m
+CONFIG_MTD_M25P80=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+CONFIG_MTD_DOC2000=m
+CONFIG_MTD_DOC2001=m
+CONFIG_MTD_DOC2001PLUS=m
+# CONFIG_MTD_DOCPROBE_ADVANCED is not set
+CONFIG_MTD_DOCPROBE_ADDRESS=0
+
+##
+## file: drivers/mtd/maps/Kconfig
+##
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PLATRAM=m
+
+##
+## file: drivers/mtd/nand/Kconfig
+##
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_DISKONCHIP=m
+# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+CONFIG_MTD_NAND_CAFE=m
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+
+##
+## file: drivers/mtd/onenand/Kconfig
+##
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+# CONFIG_MTD_ONENAND_OTP is not set
+
+##
+## file: drivers/mtd/ubi/Kconfig
+##
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_GLUEBI is not set
+
+##
+## file: drivers/mtd/ubi/Kconfig.debug
+##
+# CONFIG_MTD_UBI_DEBUG is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+CONFIG_AMD8111E_NAPI=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_ADAPTEC_STARFIRE_NAPI=y
+CONFIG_B44=m
+# CONFIG_FORCEDETH is not set
+# CONFIG_TC35815 is not set
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_RHINE_NAPI=y
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+CONFIG_R8169_NAPI=y
+CONFIG_R8169_VLAN=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_PLIP=m
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+
+##
+## file: drivers/net/irda/Kconfig
+##
+CONFIG_IRTTY_SIR=m
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_MCS_FIR=m
+
+##
+## file: drivers/net/phy/Kconfig
+##
+CONFIG_PHYLIB=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+# CONFIG_QSEMI_PHY is not set
+CONFIG_LXT_PHY=m
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_FIXED_PHY=m
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+CONFIG_TR=y
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+# CONFIG_WINBOND_840 is not set
+CONFIG_DM9102=m
+# CONFIG_ULI526X is not set
+
+##
+## file: drivers/net/usb/Kconfig
+##
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+
+##
+## file: drivers/net/wan/Kconfig
+##
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+CONFIG_HDLC_X25=m
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+# CONFIG_PC300_MLPPP is not set
+# CONFIG_PC300TOO is not set
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_WAN_ROUTER_DRIVERS=m
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_LAPBETHER=m
+CONFIG_X25_ASY=m
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_WLAN_80211=y
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+# CONFIG_IPW2200_MONITOR is not set
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_USB_ZD1201=m
+
+##
+## file: drivers/net/wireless/hostap/Kconfig
+##
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+
+##
+## file: drivers/net/wireless/zd1211rw/Kconfig
+##
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+##
+## file: drivers/parport/Kconfig
+##
+# CONFIG_PARPORT_AX88796 is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_CMOS=m
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+CONFIG_RTC_DRV_M48T86=m
+# CONFIG_RTC_DRV_V3020 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+# CONFIG_SCSI_IPR is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_SRP=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+
+##
+## file: drivers/scsi/libsas/Kconfig
+##
+CONFIG_SCSI_SAS_LIBSAS=m
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+CONFIG_SCSI_QLA_ISCSI=m
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_JSM=m
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_AT25=m
+# CONFIG_SPI_SPIDEV is not set
+
+##
+## file: drivers/telephony/Kconfig
+##
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=y
+CONFIG_USB_USS720=m
+
+##
+## file: drivers/usb/atm/Kconfig
+##
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=y
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/serial/Kconfig
+##
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_AIRPRIME=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+# CONFIG_USB_SERIAL_TI is not set
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+# CONFIG_FB_RIVA is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_SM501=m
+CONFIG_FB_VIRTUAL=m
+
+##
+## file: drivers/video/backlight/Kconfig
+##
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/display/Kconfig
+##
+CONFIG_DISPLAY_SUPPORT=m
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+##
+## file: drivers/w1/masters/Kconfig
+##
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+
+##
+## file: drivers/w1/slaves/Kconfig
+##
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+CONFIG_USBPCWATCHDOG=m
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/dlm/Kconfig
+##
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: kernel/power/Kconfig
+##
+# CONFIG_PM is not set
+
+##
+## file: lib/Kconfig.debug
+##
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_HEADERS_CHECK is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+CONFIG_RESOURCES_64BIT=y
+
+##
+## file: net/atm/Kconfig
+##
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+
+##
+## file: net/ax25/Kconfig
+##
+CONFIG_HAMRADIO=y
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+##
+## file: net/bridge/netfilter/Kconfig
+##
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+
+##
+## file: net/decnet/Kconfig
+##
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+
+##
+## file: net/decnet/netfilter/Kconfig
+##
+CONFIG_DECNET_NF_GRABULATOR=m
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: net/irda/Kconfig
+##
+CONFIG_IRDA=m
+# CONFIG_IRDA_ULTRA is not set
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+##
+## file: net/irda/ircomm/Kconfig
+##
+CONFIG_IRCOMM=m
+
+##
+## file: net/irda/irlan/Kconfig
+##
+CONFIG_IRLAN=m
+
+##
+## file: net/irda/irnet/Kconfig
+##
+CONFIG_IRNET=m
+
+##
+## file: net/lapb/Kconfig
+##
+CONFIG_LAPB=m
+
+##
+## file: net/llc/Kconfig
+##
+CONFIG_LLC2=m
+
+##
+## file: net/netlabel/Kconfig
+##
+# CONFIG_NETLABEL is not set
+
+##
+## file: net/rfkill/Kconfig
+##
+CONFIG_RFKILL=m
+CONFIG_RFKILL_INPUT=m
+
+##
+## file: net/wanrouter/Kconfig
+##
+CONFIG_WAN_ROUTER=m
+
+##
+## file: net/wireless/Kconfig
+##
+CONFIG_CFG80211=m
+CONFIG_WIRELESS_EXT=y
+
+##
+## file: net/x25/Kconfig
+##
+CONFIG_X25=m
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_TRIDENT=m
+CONFIG_SOUND_MSNDCLAS=m
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+CONFIG_SOUND_MSNDPIN=m
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_AC97_POWER_SAVE=y
+
--- linux-2.6-2.6.26.orig/debian/config/mips/config.r4k-ip22
+++ linux-2.6-2.6.26/debian/config/mips/config.r4k-ip22
@@ -0,0 +1,631 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_OPROFILE is not set
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PMC_YOSEMITE is not set
+CONFIG_SGI_IP22=y
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+## end choice
+## choice: Endianess selection
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
+## end choice
+CONFIG_ARC_CONSOLE=y
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+CONFIG_CPU_R4X00=y
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+## end choice
+## choice: Kernel code model
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+CONFIG_EISA=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+
+##
+## file: drivers/ata/Kconfig
+##
+# CONFIG_ATA is not set
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_TELCLOCK is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/eisa/Kconfig
+##
+CONFIG_EISA_NAMES=y
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ELEKTOR is not set
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+# CONFIG_IDE is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_INPORT is not set
+# CONFIG_MOUSE_LOGIBM is not set
+# CONFIG_MOUSE_PC110PAD is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PARKBD is not set
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=y
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_CADET is not set
+# CONFIG_RADIO_RTRACK is not set
+# CONFIG_RADIO_RTRACK2 is not set
+# CONFIG_RADIO_AZTECH is not set
+# CONFIG_RADIO_GEMTEK is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_RADIO_SF16FMI is not set
+# CONFIG_RADIO_SF16FMR2 is not set
+# CONFIG_RADIO_TERRATEC is not set
+# CONFIG_RADIO_TRUST is not set
+# CONFIG_RADIO_TYPHOON is not set
+# CONFIG_RADIO_ZOLTRIX is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_PMS is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+CONFIG_VIDEO_VINO=m
+# CONFIG_VIDEO_OVCAMCHIP is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+# CONFIG_FUSION is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_DM9000 is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_SEEQ8005=m
+# CONFIG_NET_PCI is not set
+# CONFIG_NET_POCKET is not set
+CONFIG_SGISEEQ=y
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+# CONFIG_PHYLIB is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+# CONFIG_NET_TULIP is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/pnp/Kconfig
+##
+# CONFIG_PNP is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SGIWD93_SCSI=y
+# CONFIG_SCSI_AHA1740 is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_IN2000 is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_NCR53C406A is not set
+# CONFIG_SCSI_PAS16 is not set
+# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_SIM710 is not set
+# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_T128 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+# CONFIG_SCSI_AIC7XXX is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+CONFIG_SERIAL_IP22_ZILOG=y
+CONFIG_SERIAL_IP22_ZILOG_CONSOLE=y
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_SGI_NEWPORT_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+CONFIG_LOGO_SGI_CLUT224=y
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_INDYDOG=m
+# CONFIG_PCWATCHDOG is not set
+# CONFIG_MIXCOMWD is not set
+# CONFIG_WDT is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=y
+CONFIG_CRAMFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_SGI_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/bluetooth/Kconfig
+##
+# CONFIG_BT is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/oss/Kconfig
+##
+CONFIG_SOUND_HAL2=m
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1286=y
+
--- linux-2.6-2.6.26.orig/debian/config/mips/config.r5k-ip32
+++ linux-2.6-2.6.26/debian/config/mips/config.r5k-ip32
@@ -0,0 +1,783 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_OPROFILE is not set
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+CONFIG_SGI_IP32=y
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+## end choice
+## choice: Endianess selection
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
+## end choice
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+CONFIG_CPU_R5000=y
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+## end choice
+## choice: Kernel code model
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+CONFIG_PCI=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+
+##
+## file: drivers/ata/Kconfig
+##
+# CONFIG_ATA is not set
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_TELCLOCK is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+# CONFIG_IDE is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+# CONFIG_INFINIBAND is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_SGIO2_BTNS=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_MACEPS2=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=y
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+# CONFIG_VIDEO_BT848 is not set
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+# CONFIG_VIDEO_CX88 is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+# CONFIG_VIDEO_SAA7134 is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_SGI_O2MACE_ETH=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
+CONFIG_NET_PCI=y
+CONFIG_E100=m
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_R8169=m
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_BNX2X is not set
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+# CONFIG_PHYLIB is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+
+##
+## file: drivers/parport/Kconfig
+##
+CONFIG_PARPORT_IP32=m
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_DEBUG is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+# CONFIG_SCSI_AIC79XX is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=y
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_FC is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+
+##
+## file: drivers/usb/class/Kconfig
+##
+CONFIG_USB_PRINTER=m
+
+##
+## file: drivers/usb/core/Kconfig
+##
+CONFIG_USB_DEVICEFS=y
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_GBE=y
+CONFIG_FB_GBE_MEM=4
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+CONFIG_LOGO_SGI_CLUT224=y
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_CRAMFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND_PRIME=m
+
+##
+## file: sound/core/Kconfig
+##
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/mips/Kconfig
+##
+CONFIG_SND_SGI_O2=m
+
+##
+## file: sound/oss/Kconfig
+##
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+CONFIG_SND_BT87X_OVERCLOCK=y
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+CONFIG_SND_CS46XX_NEW_DSP=y
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+CONFIG_SND_FM801_TEA575X_BOOL=y
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+CONFIG_SND_KORG1212=m
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+## file: drivers/rtc/Kconfig
+##
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_CMOS=y
+
--- linux-2.6-2.6.26.orig/debian/config/mips/defines
+++ linux-2.6-2.6.26/debian/config/mips/defines
@@ -0,0 +1,37 @@
+[base]
+flavours:
+ r4k-ip22
+ r5k-ip32
+ sb1-bcm91250a
+ sb1a-bcm91480b
+ 4kc-malta
+ 5kc-malta
+kernel-arch: mips
+
+[image]
+initramfs: false
+type: kernel-package
+
+[r4k-ip22_base]
+class: SGI IP22
+longclass: SGI IP22 (Indy, Indigo2)
+
+[r5k-ip32_base]
+class: SGI IP32
+longclass: SGI IP32 (O2)
+
+[sb1-bcm91250a_base]
+class: BCM91250A
+longclass: Broadcom BCM91250A (aka SWARM)
+
+[sb1a-bcm91480b_base]
+class: BCM91480B
+longclass: Broadcom BCM91480B (aka BigSur)
+
+[4kc-malta_base]
+class: MIPS Malta
+longclass: MIPS Malta board
+
+[5kc-malta_base]
+class: MIPS Malta (64-bit)
+longclass: MIPS Malta board (64-bit)
--- linux-2.6-2.6.26.orig/debian/config/mips/config.sb1a-bcm91480b
+++ linux-2.6-2.6.26/debian/config/mips/config.sb1a-bcm91480b
@@ -0,0 +1,1077 @@
+##
+## file: arch/Kconfig
+##
+# CONFIG_OPROFILE is not set
+
+##
+## file: arch/mips/Kconfig
+##
+## choice: System type
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+CONFIG_SIBYTE_BIGSUR=y
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+## end choice
+## choice: Endianess selection
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
+## end choice
+## choice: CPU type
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+CONFIG_CPU_SB1=y
+## end choice
+## choice: Kernel code model
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+## end choice
+## choice: Kernel page size
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+## end choice
+# CONFIG_SIBYTE_DMA_PAGEOPS is not set
+CONFIG_SMP=y
+CONFIG_NR_CPUS=4
+CONFIG_PCI=y
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+
+##
+## file: arch/mips/au1000/Kconfig
+##
+## choice: Machine type
+# CONFIG_MIPS_MTX1 is not set
+# CONFIG_MIPS_BOSPORUS is not set
+# CONFIG_MIPS_DB1000 is not set
+# CONFIG_MIPS_DB1100 is not set
+# CONFIG_MIPS_DB1200 is not set
+# CONFIG_MIPS_DB1500 is not set
+# CONFIG_MIPS_DB1550 is not set
+# CONFIG_MIPS_MIRAGE is not set
+# CONFIG_MIPS_PB1000 is not set
+# CONFIG_MIPS_PB1100 is not set
+# CONFIG_MIPS_PB1200 is not set
+# CONFIG_MIPS_PB1500 is not set
+# CONFIG_MIPS_PB1550 is not set
+# CONFIG_MIPS_XXS1500 is not set
+## end choice
+
+##
+## file: arch/mips/Kconfig.debug
+##
+CONFIG_CMDLINE=""
+# CONFIG_SB1XXX_CORELIS is not set
+
+##
+## file: arch/mips/sibyte/Kconfig
+##
+## choice: SiByte SOC Stepping
+# CONFIG_CPU_SB1_PASS_1 is not set
+# CONFIG_CPU_SB1_PASS_2_1250 is not set
+# CONFIG_CPU_SB1_PASS_2_2 is not set
+# CONFIG_CPU_SB1_PASS_4 is not set
+# CONFIG_CPU_SB1_PASS_2_112x is not set
+# CONFIG_CPU_SB1_PASS_3 is not set
+## end choice
+# CONFIG_SIMULATION is not set
+# CONFIG_SB1_CEX_ALWAYS_FATAL is not set
+# CONFIG_SB1_CERR_STALL is not set
+CONFIG_SIBYTE_CFE=y
+# CONFIG_SIBYTE_CFE_CONSOLE is not set
+# CONFIG_SIBYTE_BUS_WATCHER is not set
+# CONFIG_SIBYTE_TBPROF is not set
+
+##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=m
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+
+##
+## file: drivers/block/Kconfig
+##
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+CONFIG_RTC=m
+CONFIG_GEN_RTC=y
+CONFIG_GEN_RTC_X=y
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_TELCLOCK is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/char/tpm/Kconfig
+##
+# CONFIG_TCG_TPM is not set
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/hid/usbhid/Kconfig
+##
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+CONFIG_USB_HIDDEV=y
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_HWMON=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+CONFIG_SENSORS_VT8231=m
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C=m
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+CONFIG_I2C_SIBYTE=m
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+##
+## file: drivers/i2c/chips/Kconfig
+##
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEFLOPPY=m
+# CONFIG_BLK_DEV_IDESCSI is not set
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+# CONFIG_BLK_DEV_CS5520 is not set
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+# CONFIG_BLK_DEV_IDE_SWARM is not set
+# CONFIG_IDE_ARM is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+# CONFIG_INFINIBAND is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PARKBD is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+# CONFIG_DM_MULTIPATH_EMC is not set
+
+##
+## file: drivers/media/Kconfig
+##
+CONFIG_VIDEO_DEV=m
+
+##
+## file: drivers/media/radio/Kconfig
+##
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+##
+## file: drivers/media/video/Kconfig
+##
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_STV680 is not set
+
+##
+## file: drivers/media/video/bt8xx/Kconfig
+##
+# CONFIG_VIDEO_BT848 is not set
+
+##
+## file: drivers/media/video/cx88/Kconfig
+##
+# CONFIG_VIDEO_CX88 is not set
+
+##
+## file: drivers/media/video/em28xx/Kconfig
+##
+# CONFIG_VIDEO_EM28XX is not set
+
+##
+## file: drivers/media/video/et61x251/Kconfig
+##
+CONFIG_USB_ET61X251=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+# CONFIG_USB_PWC is not set
+
+##
+## file: drivers/media/video/saa7134/Kconfig
+##
+# CONFIG_VIDEO_SAA7134 is not set
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+# CONFIG_USB_SN9C102 is not set
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+
+##
+## file: drivers/message/fusion/Kconfig
+##
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+##
+## file: drivers/message/i2o/Kconfig
+##
+# CONFIG_I2O is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+CONFIG_AMD8111_ETH=m
+# CONFIG_AMD8111E_NAPI is not set
+CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_LAN_SAA9730 is not set
+# CONFIG_NET_POCKET is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+# CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_NAPI is not set
+CONFIG_SB1250_MAC=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_BNX2X=m
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+# CONFIG_ATALK is not set
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/phy/Kconfig
+##
+# CONFIG_PHYLIB is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/net/tulip/Kconfig
+##
+# CONFIG_NET_TULIP is not set
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+# CONFIG_HOTPLUG_PCI is not set
+
+##
+## file: drivers/pcmcia/Kconfig
+##
+# CONFIG_PCCARD is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_ATTRS is not set
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+CONFIG_AIC79XX_DEBUG_ENABLE=y
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_NEWGEN is not set
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+CONFIG_SCSI_QLA_FC=m
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+CONFIG_SERIAL_SB1250_DUART=y
+CONFIG_SERIAL_SB1250_DUART_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+
+##
+## file: drivers/spi/Kconfig
+##
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/usb/Kconfig
+##
+CONFIG_USB=m
+# CONFIG_USB_USS720 is not set
+
+##
+## file: drivers/usb/class/Kconfig
+##
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+##
+## file: drivers/usb/core/Kconfig
+##
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+
+##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+
+##
+## file: drivers/usb/image/Kconfig
+##
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+##
+## file: drivers/usb/misc/Kconfig
+##
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+##
+## file: drivers/usb/misc/sisusbvga/Kconfig
+##
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+
+##
+## file: drivers/usb/mon/Kconfig
+##
+CONFIG_USB_MON=y
+
+##
+## file: drivers/usb/storage/Kconfig
+##
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+CONFIG_USB_STORAGE_ALAUDA=y
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_CIRRUS is not set
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+# CONFIG_FB_NVIDIA_I2C is not set
+CONFIG_FB_RIVA=m
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+# CONFIG_FB_MATROX_I2C is not set
+# CONFIG_FB_MATROX_MULTIHEAD is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY=m
+# CONFIG_FB_ATY_CT is not set
+# CONFIG_FB_ATY_GX is not set
+CONFIG_FB_SAVAGE=m
+# CONFIG_FB_SAVAGE_I2C is not set
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+# CONFIG_USBPCWATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=15
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: mm/Kconfig
+##
+## choice: Memory model
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+## end choice
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: sound/Kconfig
+##
+CONFIG_SOUND=y
+CONFIG_SOUND_PRIME=y
+
+##
+## file: sound/core/Kconfig
+##
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+##
+## file: sound/drivers/Kconfig
+##
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_VIRMIDI=m
+# CONFIG_SND_MTPAV is not set
+CONFIG_SND_SERIAL_U16550=m
+# CONFIG_SND_MPU401 is not set
+
+##
+## file: sound/oss/Kconfig
+##
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
+CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
+CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
+
+##
+## file: sound/pci/Kconfig
+##
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+CONFIG_SND_BT87X_OVERCLOCK=y
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+
--- linux-2.6-2.6.26.orig/debian/config/featureset-xen/config
+++ linux-2.6-2.6.26/debian/config/featureset-xen/config
@@ -0,0 +1,20 @@
+CONFIG_XEN=y
+CONFIG_XEN_PRIVILEGED_GUEST=y
+CONFIG_XEN_BACKEND=y
+CONFIG_XEN_BLKDEV_BACKEND=y
+CONFIG_XEN_BLKDEV_TAP=m
+CONFIG_XEN_BLKDEV_FRONTEND=y
+CONFIG_HVC_XEN=y
+CONFIG_XEN_NETDEV_BACKEND=y
+CONFIG_XEN_NETDEV_FRONTEND=y
+CONFIG_XEN_NETDEV_LOOPBACK=m
+CONFIG_XEN_PCIDEV_BACKEND=y
+CONFIG_XEN_PCIDEV_BACKEND_VPCI=y
+CONFIG_XEN_PCIDEV_FRONTEND=y
+# CONFIG_XEN_DISABLE_SERIAL is not set
+CONFIG_XEN_SCSI_BACKEND=m
+CONFIG_XEN_SCSI_FRONTEND=m
+# CONFIG_XEN_COMPAT_030002_AND_LATER is not set
+# CONCIF_XEN_COMPAT_030004_AND_LATER is not set
+CONFIG_XEN_COMPAT_030100_AND_LATER=y
+# CONFIG_XEN_COMPAT_LATEST_ONLY is not set
--- linux-2.6-2.6.26.orig/debian/config/featureset-xen/defines
+++ linux-2.6-2.6.26/debian/config/featureset-xen/defines
@@ -0,0 +1,5 @@
+[image]
+desc-long-part-xenold: This kernel only runs on a Xen hypervisor.
+ It supports both priviledged (dom0) and unpriviledged (domU) operation.
+desc-parts: xenold
+desc-short-part-xenold: oldstyle Xen support
--- linux-2.6-2.6.26.orig/debian/config/featureset-xen-vserver/defines
+++ linux-2.6-2.6.26/debian/config/featureset-xen-vserver/defines
@@ -0,0 +1,4 @@
+[image]
+configs:
+ featureset-vserver/config
+ featureset-xen/config
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.bvme6000
+++ linux-2.6-2.6.26/debian/config/m68k/config.bvme6000
@@ -0,0 +1,132 @@
+##
+## file: arch/m68k/Kconfig
+##
+# CONFIG_SUN3 is not set
+# CONFIG_AMIGA is not set
+# CONFIG_ATARI is not set
+# CONFIG_MAC is not set
+# CONFIG_APOLLO is not set
+CONFIG_VME=y
+# CONFIG_MVME147 is not set
+# CONFIG_MVME16x is not set
+CONFIG_BVME6000=y
+# CONFIG_HP300 is not set
+# CONFIG_SUN3X is not set
+# CONFIG_Q40 is not set
+# CONFIG_M68020 is not set
+# CONFIG_M68030 is not set
+CONFIG_M68040=y
+CONFIG_M68060=y
+# CONFIG_M68KFPU_EMU is not set
+CONFIG_BVME6000_SCC=y
+CONFIG_SERIAL_CONSOLE=y
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_GEN_RTC=m
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+# CONFIG_IDE is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_LIBPS2=m
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NET_ETHERNET=y
+CONFIG_BVME6000_NET=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_BVME6000_SCSI=y
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+##
+## file: drivers/video/Kconfig
+##
+# CONFIG_FB is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+
+##
+## file: fs/ncpfs/Kconfig
+##
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+
+##
+## file: lib/Kconfig
+##
+#. TODO
+CONFIG_CRC32=m
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+
+##
+## file: net/ipx/Kconfig
+##
+# CONFIG_IPX is not set
+
+##
+## file: sound/Kconfig
+##
+# CONFIG_SOUND is not set
+
--- linux-2.6-2.6.26.orig/debian/config/m68k/README.build
+++ linux-2.6-2.6.26/debian/config/m68k/README.build
@@ -0,0 +1,26 @@
+HOWTO cross-build m68k linux-image
+
+Building linux-image packages takes a while, especially on the "slower
+arches", ie m68k. Cross-compiling is an alternative, and it works very well
+for m68k.
+
+You need to set up a cross-compiler. The toolchain-source package has some
+limitations, I prefer using cross-tools, see this page for instructions:
+
+ http://people.debian.org/~cts/debian-m68k/cross-compile/
+
+Now you only have to tell the debian build system, that you do want to build
+packages for m68k. It used to be sufficient to pass an option to debuild,
+since recently you also have to set an environment variable, like this:
+
+ DEB_HOST_ARCH=m68k debuild -B -am68k
+
+If you also want to build source packages, omit the -B. 
+
+If you want to build images for just one of the currently nine subarches,
+you can uncomment some lines in the flavours section in:
+ debian/arch/m68k/defines
+
+The first run of debuild will give you an error message that updating the
+configs suceeded, the second run will build the images.
+
--- linux-2.6-2.6.26.orig/debian/config/m68k/config
+++ linux-2.6-2.6.26/debian/config/m68k/config
@@ -0,0 +1,292 @@
+##
+## file: arch/m68k/Kconfig
+##
+# CONFIG_ADVANCED is not set
+CONFIG_PROC_HARDWARE=y
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+# CONFIG_CDROM_PKTCDVD is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_GEN_RTC_X=y
+# CONFIG_DTLK is not set
+
+##
+## file: drivers/char/drm/Kconfig
+##
+# CONFIG_DRM is not set
+
+##
+## file: drivers/char/ipmi/Kconfig
+##
+# CONFIG_IPMI_HANDLER is not set
+
+##
+## file: drivers/hwmon/Kconfig
+##
+# CONFIG_SENSORS_F71805F is not set
+
+##
+## file: drivers/i2c/Kconfig
+##
+# CONFIG_I2C is not set
+
+##
+## file: drivers/infiniband/Kconfig
+##
+# CONFIG_INFINIBAND is not set
+
+##
+## file: drivers/input/Kconfig
+##
+CONFIG_INPUT=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+
+##
+## file: drivers/input/gameport/Kconfig
+##
+# CONFIG_GAMEPORT is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_VSXXXAA is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+# CONFIG_SERIO_RAW is not set
+
+##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
+## file: drivers/isdn/Kconfig
+##
+# CONFIG_ISDN is not set
+
+##
+## file: drivers/md/Kconfig
+##
+CONFIG_MD=y
+
+##
+## file: drivers/media/Kconfig
+##
+# CONFIG_VIDEO_DEV is not set
+
+##
+## file: drivers/mmc/Kconfig
+##
+# CONFIG_MMC is not set
+
+##
+## file: drivers/mtd/Kconfig
+##
+# CONFIG_MTD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+# CONFIG_BONDING is not set
+CONFIG_EQUALIZER=m
+# CONFIG_TUN is not set
+CONFIG_NETCONSOLE=m
+# CONFIG_NETPOLL_TRAP is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_ATALK=m
+
+##
+## file: drivers/net/wan/Kconfig
+##
+# CONFIG_WAN is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+# CONFIG_IPW2100 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+
+##
+## file: drivers/serial/Kconfig
+##
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+
+##
+## file: drivers/telephony/Kconfig
+##
+# CONFIG_PHONE is not set
+
+##
+## file: drivers/w1/Kconfig
+##
+# CONFIG_W1 is not set
+
+##
+## file: drivers/watchdog/Kconfig
+##
+# CONFIG_WATCHDOG is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT4DEV_FS is not set
+# CONFIG_JBD_DEBUG is not set
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_CRAMFS=m
+# CONFIG_VXFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_CIFS is not set
+# CONFIG_AFS_FS is not set
+
+##
+## file: fs/Kconfig.binfmt
+##
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_MSDOS_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+CONFIG_LOG_BUF_SHIFT=16
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+
+##
+## file: lib/Kconfig.debug
+##
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_FRAME_POINTER is not set
+
+##
+## file: net/atm/Kconfig
+##
+# CONFIG_ATM is not set
+
+##
+## file: net/ax25/Kconfig
+##
+# CONFIG_HAMRADIO is not set
+
+##
+## file: net/bluetooth/Kconfig
+##
+#. TODO
+# CONFIG_BT is not set
+
+##
+## file: net/bridge/Kconfig
+##
+#. TODO
+# CONFIG_BRIDGE is not set
+
+##
+## file: net/decnet/Kconfig
+##
+# CONFIG_DECNET is not set
+
+##
+## file: net/econet/Kconfig
+##
+# CONFIG_ECONET is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+#. TODO
+# CONFIG_IP_ADVANCED_ROUTER is not set
+
+##
+## file: net/irda/Kconfig
+##
+# CONFIG_IRDA is not set
+
+##
+## file: net/lapb/Kconfig
+##
+# CONFIG_LAPB is not set
+
+##
+## file: net/llc/Kconfig
+##
+# CONFIG_LLC2 is not set
+
+##
+## file: net/sched/Kconfig
+##
+#. TODO
+# CONFIG_NET_SCHED is not set
+
+##
+## file: net/wanrouter/Kconfig
+##
+# CONFIG_WAN_ROUTER is not set
+
+##
+## file: net/x25/Kconfig
+##
+# CONFIG_X25 is not set
+
+##
+## file: net/xfrm/Kconfig
+##
+#. TODO
+CONFIG_NET_KEY=y
+
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.amiga
+++ linux-2.6-2.6.26/debian/config/m68k/config.amiga
@@ -0,0 +1,292 @@
+##
+## file: arch/m68k/Kconfig
+##
+# CONFIG_SUN3 is not set
+CONFIG_AMIGA=y
+# CONFIG_ATARI is not set
+# CONFIG_MAC is not set
+# CONFIG_APOLLO is not set
+# CONFIG_VME is not set
+# CONFIG_HP300 is not set
+# CONFIG_SUN3X is not set
+# CONFIG_Q40 is not set
+CONFIG_M68020=y
+CONFIG_M68030=y
+CONFIG_M68040=y
+CONFIG_M68060=y
+CONFIG_M68KFPU_EMU=y
+CONFIG_M68KFPU_EMU_EXTRAPREC=y
+# CONFIG_M68KFPU_EMU_ONLY is not set
+CONFIG_ZORRO=y
+CONFIG_AMIGA_PCMCIA=y
+# CONFIG_HEARTBEAT is not set
+CONFIG_AMIGA_BUILTIN_SERIAL=y
+CONFIG_MULTIFACE_III_TTY=m
+CONFIG_SERIAL_CONSOLE=y
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_AMIGA_FLOPPY=y
+CONFIG_AMIGA_Z2RAM=y
+# CONFIG_PARIDE is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_A2232=m
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+CONFIG_GEN_RTC=m
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=y
+# CONFIG_BLK_DEV_IDETAPE is not set
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_GAYLE=y
+CONFIG_BLK_DEV_IDEDOUBLER=y
+CONFIG_BLK_DEV_BUDDHA=y
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_DB9 is not set
+# CONFIG_JOYSTICK_GAMECON is not set
+# CONFIG_JOYSTICK_TURBOGRAFX is not set
+CONFIG_JOYSTICK_AMIGA=m
+# CONFIG_JOYSTICK_JOYDUMP is not set
+
+##
+## file: drivers/input/joystick/iforce/Kconfig
+##
+# CONFIG_JOYSTICK_IFORCE is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_KEYBOARD_AMIGA=y
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_INPORT is not set
+# CONFIG_MOUSE_LOGIBM is not set
+# CONFIG_MOUSE_PC110PAD is not set
+CONFIG_MOUSE_AMIGA=y
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+# CONFIG_SERIO_PARKBD is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NET_ETHERNET=y
+CONFIG_ARIADNE=m
+CONFIG_A2065=m
+CONFIG_HYDRA=m
+CONFIG_ZORRO8390=m
+CONFIG_APNE=m
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+# CONFIG_NET_PCI is not set
+CONFIG_PLIP=m
+
+##
+## file: drivers/net/arcnet/Kconfig
+##
+# CONFIG_ARCNET is not set
+
+##
+## file: drivers/net/tokenring/Kconfig
+##
+# CONFIG_TR is not set
+
+##
+## file: drivers/parport/Kconfig
+##
+CONFIG_PARPORT_AMIGA=m
+CONFIG_PARPORT_MFC3=m
+
+##
+## file: drivers/pnp/Kconfig
+##
+# CONFIG_PNP is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_SPI_ATTRS=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_IN2000 is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_EATA_PIO is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_PPA is not set
+# CONFIG_SCSI_IMM is not set
+# CONFIG_SCSI_NCR53C406A is not set
+# CONFIG_SCSI_PAS16 is not set
+# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_T128 is not set
+CONFIG_A3000_SCSI=y
+CONFIG_A2091_SCSI=y
+CONFIG_GVP11_SCSI=y
+CONFIG_SCSI_A4000T=y
+CONFIG_SCSI_ZORRO7XX=y
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_CIRRUS=y
+# CONFIG_FB_PM2 is not set
+CONFIG_FB_AMIGA=y
+CONFIG_FB_AMIGA_OCS=y
+CONFIG_FB_AMIGA_ECS=y
+CONFIG_FB_AMIGA_AGA=y
+CONFIG_FB_FM2=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_FONT_PEARL_8x8=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+
+##
+## file: drivers/zorro/Kconfig
+##
+CONFIG_ZORRO_NAMES=y
+
+##
+## file: fs/Kconfig
+##
+CONFIG_AFFS_FS=y
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+CONFIG_RPCSEC_GSS_KRB5=m
+
+##
+## file: fs/ncpfs/Kconfig
+##
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_AMIGA_PARTITION=y
+
+##
+## file: init/Kconfig
+##
+#. TODO
+# CONFIG_AUDIT is not set
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: sound/Kconfig
+##
+# CONFIG_SND is not set
+
+##
+## file: sound/oss/dmasound/Kconfig
+##
+CONFIG_DMASOUND_PAULA=m
+
+##
+## file: unknown
+##
+CONFIG_BLZ1230_SCSI=y
+CONFIG_BLZ2060_SCSI=y
+CONFIG_CYBERSTORMII_SCSI=y
+CONFIG_CYBERSTORM_SCSI=y
+CONFIG_FASTLANE_SCSI=y
+# CONFIG_FB_CYBER is not set
+# CONFIG_FB_RETINAZ3 is not set
+# CONFIG_FB_VIRGE is not set
+# CONFIG_OKTAGON_SCSI is not set
+CONFIG_SCSI_AMIGA7XX=y
+# CONFIG_SCSI_NCR53C7xx_FAST is not set
+# CONFIG_WHIPPET_SERIAL is not set
+
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.atari
+++ linux-2.6-2.6.26/debian/config/m68k/config.atari
@@ -0,0 +1,211 @@
+##
+## file: arch/m68k/Kconfig
+##
+# CONFIG_SUN3 is not set
+# CONFIG_AMIGA is not set
+CONFIG_ATARI=y
+# CONFIG_MAC is not set
+# CONFIG_APOLLO is not set
+# CONFIG_VME is not set
+# CONFIG_HP300 is not set
+# CONFIG_SUN3X is not set
+# CONFIG_Q40 is not set
+CONFIG_M68020=y
+CONFIG_M68030=y
+CONFIG_M68040=y
+CONFIG_M68060=y
+CONFIG_MMU_MOTOROLA=y
+CONFIG_M68KFPU_EMU=y
+CONFIG_M68KFPU_EMU_EXTRAPREC=y
+# CONFIG_M68KFPU_EMU_ONLY is not set
+CONFIG_STRAM_PROC=y
+CONFIG_HEARTBEAT=y
+CONFIG_ATARI_MFPSER=m
+CONFIG_ATARI_SCC=y
+CONFIG_ATARI_SCC_DMA=y
+CONFIG_ATARI_MIDI=m
+CONFIG_ATARI_DSP56K=m
+CONFIG_SERIAL_CONSOLE=y
+
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_ATARI_FLOPPY=y
+# CONFIG_PARIDE is not set
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+# CONFIG_PPDEV is not set
+CONFIG_NVRAM=y
+CONFIG_GEN_RTC=y
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=y
+# CONFIG_BLK_DEV_IDETAPE is not set
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_FALCON_IDE=y
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_BLK_DEV_HD is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_KEYBOARD_ATARI=y
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_M68K_BEEP=m
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+CONFIG_MOUSE_ATARI=y
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PARKBD is not set
+CONFIG_SERIO_LIBPS2=y
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NET_ETHERNET=y
+CONFIG_ATARILANCE=y
+# CONFIG_PLIP is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+
+##
+## file: drivers/parport/Kconfig
+##
+# CONFIG_PARPORT is not set
+CONFIG_PARPORT_ATARI=m
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_SCSI_PPA is not set
+# CONFIG_SCSI_IMM is not set
+CONFIG_ATARI_SCSI=y
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_ATARI=y
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_ATY=y
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+# CONFIG_LOGO is not set
+
+##
+## file: fs/Kconfig
+##
+CONFIG_AFFS_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFSD_V4 is not set
+CONFIG_LOCKD=m
+CONFIG_SUNRPC=m
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+
+##
+## file: fs/ncpfs/Kconfig
+##
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_ATARI_PARTITION=y
+
+##
+## file: lib/Kconfig
+##
+CONFIG_CRC32=y
+
+##
+## file: net/ipv4/Kconfig
+##
+# CONFIG_IP_PNP is not set
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: sound/Kconfig
+##
+# CONFIG_SND is not set
+
+##
+## file: sound/oss/dmasound/Kconfig
+##
+CONFIG_DMASOUND_ATARI=m
+CONFIG_DMASOUND=m
+
+##
+## file: arch/m68k/Kconfig
+##
+CONFIG_ATARI_ETHERNEC=m
+CONFIG_ATARI_ROM_ISA=y
+CONFIG_NATFEAT=y
+CONFIG_NFETH=y
+CONFIG_NFBLOCK=y
+CONFIG_NFCON=y
+
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.mvme147
+++ linux-2.6-2.6.26/debian/config/m68k/config.mvme147
@@ -0,0 +1,140 @@
+##
+## file: arch/m68k/Kconfig
+##
+# CONFIG_SUN3 is not set
+# CONFIG_AMIGA is not set
+# CONFIG_ATARI is not set
+# CONFIG_MAC is not set
+# CONFIG_APOLLO is not set
+CONFIG_VME=y
+CONFIG_MVME147=y
+# CONFIG_MVME16x is not set
+# CONFIG_BVME6000 is not set
+# CONFIG_HP300 is not set
+# CONFIG_SUN3X is not set
+# CONFIG_Q40 is not set
+# CONFIG_M68020 is not set
+CONFIG_M68030=y
+# CONFIG_M68040 is not set
+# CONFIG_M68060 is not set
+# CONFIG_M68KFPU_EMU is not set
+CONFIG_MVME147_SCC=y
+CONFIG_SERIAL_CONSOLE=y
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_GEN_RTC=m
+
+##
+## file: drivers/ide/Kconfig
+##
+# CONFIG_IDE is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_LIBPS2=m
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NET_ETHERNET=y
+CONFIG_MVME147_NET=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_MVME147_SCSI=y
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+
+##
+## file: fs/Kconfig
+##
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+
+##
+## file: fs/ncpfs/Kconfig
+##
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: sound/Kconfig
+##
+# CONFIG_SOUND is not set
+
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.hp
+++ linux-2.6-2.6.26/debian/config/m68k/config.hp
@@ -0,0 +1,55 @@
+# CONFIG_SUN3 is not set
+# CONFIG_AMIGA is not set
+# CONFIG_ATARI is not set
+# CONFIG_MAC is not set
+# CONFIG_APOLLO is not set
+# CONFIG_VME is not set
+CONFIG_HP300=y
+# CONFIG_DIO is not set
+# CONFIG_SUN3X is not set
+# CONFIG_Q40 is not set
+CONFIG_M68020=y
+CONFIG_M68030=y
+CONFIG_M68040=y
+CONFIG_M68060=y
+CONFIG_MMU_MOTOROLA=y
+CONFIG_M68KFPU_EMU=y
+CONFIG_M68KFPU_EMU_EXTRAPREC=y
+# CONFIG_M68KFPU_EMU_ONLY is not set
+CONFIG_HEARTBEAT=y
+# CONFIG_IDE is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_NET_ETHERNET=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_HIL_OLD is not set
+# CONFIG_KEYBOARD_HIL is not set
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+# CONFIG_MOUSE_HIL is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_MISC is not set
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+# CONFIG_HP_SDC is not set
+# CONFIG_HIL_MLC is not set
+CONFIG_SERIO_LIBPS2=m
+# CONFIG_SERIAL_8250 is not set
+CONFIG_GEN_RTC=y
+# CONFIG_FB is not set
+# CONFIG_SOUND is not set
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_CRC32=y
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.mac
+++ linux-2.6-2.6.26/debian/config/m68k/config.mac
@@ -0,0 +1,201 @@
+##
+## file: arch/m68k/Kconfig
+##
+# CONFIG_SUN3 is not set
+# CONFIG_AMIGA is not set
+# CONFIG_ATARI is not set
+CONFIG_MAC=y
+# CONFIG_APOLLO is not set
+# CONFIG_VME is not set
+# CONFIG_HP300 is not set
+# CONFIG_SUN3X is not set
+# CONFIG_Q40 is not set
+CONFIG_M68020=y
+CONFIG_M68030=y
+CONFIG_M68040=y
+# CONFIG_M68060 is not set
+CONFIG_M68KFPU_EMU=y
+CONFIG_M68KFPU_EMU_EXTRAPREC=y
+# CONFIG_M68KFPU_EMU_ONLY is not set
+# CONFIG_HEARTBEAT is not set
+CONFIG_MAC_SCC=y
+CONFIG_SERIAL_CONSOLE=y
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_GEN_RTC=m
+
+##
+## file: drivers/ide/Kconfig
+##
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=y
+# CONFIG_BLK_DEV_IDETAPE is not set
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_MAC_IDE=y
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_LIBPS2=m
+
+##
+## file: drivers/macintosh/Kconfig
+##
+CONFIG_ADB=y
+CONFIG_ADB_MACII=y
+# CONFIG_ADB_MACIISI is not set
+CONFIG_ADB_IOP=y # switched on for the benefit of IIfx, Q900, Q950
+CONFIG_ADB_PMU68K=y
+CONFIG_ADB_CUDA=y
+CONFIG_INPUT_ADBHID=y
+CONFIG_MAC_EMUMOUSEBTN=y
+# CONFIG_WINDFARM is not set
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NET_ETHERNET=y
+CONFIG_MAC8390=y
+CONFIG_MAC89x0=y
+CONFIG_MACSONIC=y # switched back on as requested by Finn Thain
+CONFIG_MACMACE=y
+# CONFIG_NET_VENDOR_SMC is not set
+
+##
+## file: drivers/net/appletalk/Kconfig
+##
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+
+##
+## file: drivers/parport/Kconfig
+##
+# CONFIG_PARPORT is not set
+# CONFIG_PARPORT_PC is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_MAC_SCSI=y
+CONFIG_SCSI_MAC_ESP=y
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_VALKYRIE=y
+CONFIG_FB_MAC=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_FONT_6x11=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_LOGO_MAC_CLUT224=y
+
+##
+## file: fs/Kconfig
+##
+CONFIG_AFFS_FS=m
+CONFIG_HFS_FS=y
+CONFIG_HFSPLUS_FS=y
+# CONFIG_UFS_FS_WRITE is not set
+CONFIG_RPCSEC_GSS_KRB5=m
+
+##
+## file: fs/ncpfs/Kconfig
+##
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+
+##
+## file: fs/partitions/Kconfig
+##
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+CONFIG_LDM_DEBUG=y
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+
+##
+## file: init/Kconfig
+##
+#. TODO
+# CONFIG_AUDIT is not set
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: sound/Kconfig
+##
+# CONFIG_SOUND is not set
+
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.mvme16x
+++ linux-2.6-2.6.26/debian/config/m68k/config.mvme16x
@@ -0,0 +1,146 @@
+##
+## file: arch/m68k/Kconfig
+##
+# CONFIG_SUN3 is not set
+# CONFIG_AMIGA is not set
+# CONFIG_ATARI is not set
+# CONFIG_MAC is not set
+# CONFIG_APOLLO is not set
+CONFIG_VME=y
+# CONFIG_MVME147 is not set
+CONFIG_MVME16x=y
+# CONFIG_BVME6000 is not set
+# CONFIG_HP300 is not set
+# CONFIG_SUN3X is not set
+# CONFIG_Q40 is not set
+# CONFIG_M68020 is not set
+# CONFIG_M68030 is not set
+CONFIG_M68040=y
+CONFIG_M68060=y
+# CONFIG_M68KFPU_EMU is not set
+CONFIG_SERIAL167=y
+CONFIG_MVME162_SCC=y
+CONFIG_SERIAL_CONSOLE=y
+
+##
+## file: drivers/char/Kconfig
+##
+CONFIG_GEN_RTC=m
+
+##
+## file: drivers/firewire/Kconfig
+##
+# CONFIG_FIREWIRE is not set
+
+##
+## file: drivers/ide/Kconfig
+##
+# CONFIG_IDE is not set
+
+##
+## file: drivers/input/joystick/Kconfig
+##
+# CONFIG_INPUT_JOYSTICK is not set
+
+##
+## file: drivers/input/keyboard/Kconfig
+##
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+
+##
+## file: drivers/input/misc/Kconfig
+##
+# CONFIG_INPUT_MISC is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+
+##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_LIBPS2=m
+
+##
+## file: drivers/net/Kconfig
+##
+CONFIG_NET_ETHERNET=y
+CONFIG_MVME16x_NET=y
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_MVME16x_SCSI=y
+
+##
+## file: drivers/serial/Kconfig
+##
+# CONFIG_SERIAL_8250 is not set
+
+##
+## file: drivers/video/Kconfig
+##
+CONFIG_FB=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+##
+## file: drivers/video/console/Kconfig
+##
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+##
+## file: drivers/video/logo/Kconfig
+##
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+
+##
+## file: fs/Kconfig
+##
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+
+##
+## file: fs/ncpfs/Kconfig
+##
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+
+##
+## file: fs/partitions/Kconfig
+##
+# CONFIG_PARTITION_ADVANCED is not set
+
+##
+## file: net/ipv4/Kconfig
+##
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+
+##
+## file: net/ipx/Kconfig
+##
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+
+##
+## file: sound/Kconfig
+##
+# CONFIG_SOUND is not set
+
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.q40
+++ linux-2.6-2.6.26/debian/config/m68k/config.q40
@@ -0,0 +1,109 @@
+# CONFIG_SUN3 is not set
+# CONFIG_AMIGA is not set
+# CONFIG_ATARI is not set
+# CONFIG_MAC is not set
+# CONFIG_APOLLO is not set
+# CONFIG_VME is not set
+# CONFIG_HP300 is not set
+# CONFIG_SUN3X is not set
+CONFIG_Q40=y
+# CONFIG_M68020 is not set
+# CONFIG_M68030 is not set
+CONFIG_M68040=y
+CONFIG_M68060=y
+CONFIG_MMU_MOTOROLA=y
+CONFIG_M68KFPU_EMU=y
+CONFIG_M68KFPU_EMU_EXTRAPREC=y
+# CONFIG_M68KFPU_EMU_ONLY is not set
+# CONFIG_HEARTBEAT is not set
+CONFIG_ISA=y
+CONFIG_GENERIC_ISA_DMA=y
+# CONFIG_PNP is not set
+# CONFIG_BLK_DEV_FD is not set
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECD=y
+# disable IDETAPE, causes ICE
+# CONFIG_BLK_DEV_IDETAPE is not set
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_Q40IDE=y
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_SCSI_IN2000 is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_NCR53C406A is not set
+# CONFIG_SCSI_PAS16 is not set
+# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_T128 is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+# CONFIG_ARCNET is not set
+CONFIG_NET_ETHERNET=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+CONFIG_NE2000=m
+# CONFIG_NET_PCI is not set
+# CONFIG_TR is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+# CONFIG_MOUSE_INPORT is not set
+# CONFIG_MOUSE_LOGIBM is not set
+# CONFIG_MOUSE_PC110PAD is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_MISC is not set
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_Q40KBD=m
+CONFIG_SERIO_LIBPS2=m
+# CONFIG_SERIAL_8250 is not set
+CONFIG_GEN_RTC=m
+CONFIG_FB=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_Q40=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=y
+CONFIG_DMASOUND_Q40=y
+CONFIG_DMASOUND=y
+CONFIG_UFS_FS_WRITE=y
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_CRC32=y
--- linux-2.6-2.6.26.orig/debian/config/m68k/config.sun3
+++ linux-2.6-2.6.26/debian/config/m68k/config.sun3
@@ -0,0 +1,58 @@
+CONFIG_SUN3=y
+CONFIG_M68020=y
+CONFIG_MMU_SUN3=y
+CONFIG_M68KFPU_EMU=y
+CONFIG_M68KFPU_EMU_EXTRAPREC=y
+# CONFIG_M68KFPU_EMU_ONLY is not set
+# CONFIG_IDE is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_SUN3LANCE=y
+CONFIG_SUN3_82586=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_SUNKBD=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_SERIAL=m
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_MISC is not set
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_LIBPS2=m
+# CONFIG_SERIAL_8250 is not set
+CONFIG_GEN_RTC=y
+CONFIG_FB=y
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_SOUND is not set
+CONFIG_UFS_FS_WRITE=y
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_SUN_PARTITION=y
+CONFIG_CRC32=y
+# 2.6.16-14
+# enable SCSI
+CONFIG_SUN3_SCSI=y
--- linux-2.6-2.6.26.orig/debian/config/m68k/defines
+++ linux-2.6-2.6.26/debian/config/m68k/defines
@@ -0,0 +1,49 @@
+[abi]
+# LBD disabled on atari
+ignore-changes: *
+
+[base]
+#compiler: gcc-3.3
+flavours:
+ amiga
+ atari
+ bvme6000
+# hp
+ mac
+ mvme147
+ mvme16x
+# q40
+# sun3
+kernel-arch: m68k
+
+[image]
+initramfs: false
+suggests: vmelilo, fdutils
+
+[amiga_base]
+class: Amiga
+
+[atari_base]
+class: Atari
+
+[bvme6000_base]
+class: BVM BVME4000 and BVME6000
+
+[hp_base]
+class: HP
+
+[mac_base]
+class: Macintosh
+
+[mvme147_base]
+class: Motorola MVME147
+
+[mvme16x_base]
+class: Motorola MVME162/6/7, MVME172/7
+
+[q40_base]
+class: Q40 and Q60
+
+[sun3_base]
+class: sun3
+
--- linux-2.6-2.6.26.orig/debian/config/armel/config
+++ linux-2.6-2.6.26/debian/config/armel/config
@@ -0,0 +1,90 @@
+##
+## file: arch/arm/Kconfig
+##
+## choice: ARM system type
+# CONFIG_ARCH_REALVIEW is not set
+## end choice
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+
+##
+## file: drivers/ieee1394/Kconfig
+##
+# CONFIG_IEEE1394 is not set
+
+##
+## file: drivers/net/wireless/Kconfig
+##
+# CONFIG_IPW2100 is not set
+
+##
+## file: drivers/scsi/Kconfig
+##
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_HPTIOP is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
+##
+# CONFIG_SCSI_AIC79XX is not set
+
+##
+## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
+##
+# CONFIG_SCSI_AIC7XXX is not set
+
+##
+## file: drivers/scsi/aic94xx/Kconfig
+##
+# CONFIG_SCSI_AIC94XX is not set
+
+##
+## file: drivers/scsi/megaraid/Kconfig.megaraid
+##
+# CONFIG_MEGARAID_SAS is not set
+
+##
+## file: drivers/scsi/qla2xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_FC is not set
+
+##
+## file: drivers/scsi/qla4xxx/Kconfig
+##
+# CONFIG_SCSI_QLA_ISCSI is not set
+
+##
+## file: net/econet/Kconfig
+##
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+
+CONFIG_USB_HIDDEV=y
+
+##
+## file: drivers/media/video/Kconfig
+##
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_STV680=m
+
+##
+## file: drivers/media/video/pwc/Kconfig
+##
+CONFIG_USB_PWC=m
+
+##
+## file: drivers/media/video/sn9c102/Kconfig
+##
+CONFIG_USB_SN9C102=m
+
+##
+## file: drivers/media/video/usbvideo/Kconfig
+##
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+
--- linux-2.6-2.6.26.orig/debian/config/armel/defines
+++ linux-2.6-2.6.26/debian/config/armel/defines
@@ -0,0 +1,40 @@
+[base]
+flavours:
+ iop32x
+ ixp4xx
+ orion5x
+ versatile
+kernel-arch: arm
+
+[image]
+suggests: fdutils
+type: kernel-package
+
+[iop32x_base]
+class: IOP32x
+longclass: IOP32x based (Thecus N2100, etc)
+
+[iop32x_image]
+configs: arm/config.iop32x
+
+[ixp4xx_base]
+class: IXP4xx
+longclass: IXP4xx based (Linksys NSLU2, etc)
+
+[ixp4xx_image]
+configs: arm/config.ixp4xx
+
+[orion5x_base]
+class: Orion
+longclass: Orion 5181, 5182 and 5281 based (QNAP TS-109/TS-209, etc)
+
+[orion5x_image]
+configs: arm/config.orion5x
+recommends: uboot-mkimage
+
+[versatile_base]
+class: Versatile
+longclass: Versatile (PB, AB, Qemu)
+
+[versatile_image]
+configs: arm/config.versatile
--- linux-2.6-2.6.26.orig/debian/config/featureset-openvz/config
+++ linux-2.6-2.6.26/debian/config/featureset-openvz/config
@@ -0,0 +1,23 @@
+CONFIG_VZ_FAIRSCHED=y
+CONFIG_VE=y
+CONFIG_VE_CALLS=m
+CONFIG_VE_NETDEV=m
+CONFIG_VE_ETHDEV=m
+CONFIG_VZ_DEV=m
+CONFIG_VE_IPTABLES=y
+CONFIG_VZ_WDOG=m
+CONFIG_VZ_CHECKPOINT=m
+CONFIG_SIM_FS=m
+CONFIG_VZ_QUOTA=m
+# CONFIG_VZ_QUOTA_UNLOAD is not set
+CONFIG_VZ_QUOTA_UGID=y
+CONFIG_SYSRQ_DEBUG=y
+CONFIG_BEANCOUNTERS=y
+CONFIG_BC_RSS_ACCOUNTING=y
+CONFIG_BC_IO_ACCOUNTING=y
+CONFIG_BC_IO_SCHED=y
+CONFIG_BC_SWAP_ACCOUNTING=y
+CONFIG_BC_PROC=y
+# CONFIG_BC_DEBUG is not set
+
+CONFIG_SYSFS_DEPRECATED_V2=y
--- linux-2.6-2.6.26.orig/debian/config/featureset-openvz/defines
+++ linux-2.6-2.6.26/debian/config/featureset-openvz/defines
@@ -0,0 +1,6 @@
+[image]
+depends: vzctl
+desc-long-part-openvz: This kernel includes support for OpenVZ container-based virtualization.
+desc-parts: openvz
+desc-short-part-openvz: OpenVZ support
+
--- linux-2.6-2.6.26.orig/debian/config/featureset-vserver/config
+++ linux-2.6-2.6.26/debian/config/featureset-vserver/config
@@ -0,0 +1,32 @@
+##
+## file: drivers/block/Kconfig
+##
+CONFIG_BLK_DEV_VROOT=y
+
+##
+## file: kernel/vserver/Kconfig
+##
+CONFIG_VSERVER_AUTO_LBACK=y
+# CONFIG_VSERVER_AUTO_SINGLE is not set
+CONFIG_VSERVER_COWBL=y
+# CONFIG_VSERVER_VTIME is not set
+# CONFIG_VSERVER_DEVICE is not set
+CONFIG_VSERVER_PROC_SECURE=y
+CONFIG_VSERVER_HARDCPU=y
+CONFIG_VSERVER_IDLETIME=y
+CONFIG_VSERVER_IDLELIMIT=y
+# CONFIG_TAGGING_NONE is not set
+# CONFIG_TAGGING_UID16 is not set
+# CONFIG_TAGGING_GID16 is not set
+CONFIG_TAGGING_ID24=y
+# CONFIG_TAGGING_INTERN is not set
+# CONFIG_TAG_NFSD is not set
+CONFIG_VSERVER_PRIVACY=y
+CONFIG_VSERVER_CONTEXTS=512
+CONFIG_VSERVER_WARN=y
+# CONFIG_VSERVER_DEBUG is not set
+
+##
+## file: net/ipv6/Kconfig
+##
+CONFIG_IPV6=y
--- linux-2.6-2.6.26.orig/debian/config/featureset-vserver/defines
+++ linux-2.6-2.6.26/debian/config/featureset-vserver/defines
@@ -0,0 +1,5 @@
+[image]
+desc-long-part-vserver: This kernel includes support for Linux-VServer virtualization.
+desc-parts: vserver
+desc-short-part-vserver: Linux-VServer support
+recommends: util-vserver
--- linux-2.6-2.6.26.orig/debian/lib/python/debian_linux/gencontrol.py
+++ linux-2.6-2.6.26/debian/lib/python/debian_linux/gencontrol.py
@@ -0,0 +1,302 @@
+from debian import *
+from utils import SortedDict
+
+class PackagesList(SortedDict):
+    def append(self, package):
+        self[package['Package']] = package
+
+    def extend(self, packages):
+        for package in packages:
+            self[package['Package']] = package
+
+class Makefile(object):
+    def __init__(self):
+        self.rules = {}
+        self.add('.NOTPARALLEL')
+
+    def add(self, name, deps = None, cmds = None):
+        if name in self.rules:
+            self.rules[name].add(deps, cmds)
+        else:
+            self.rules[name] = self.Rule(name, deps, cmds)
+        if deps is not None:
+            for i in deps:
+                if i not in self.rules:
+                    self.rules[i] = self.Rule(i)
+
+    def write(self, out):
+        r = self.rules.keys()
+        r.sort()
+        for i in r:
+            self.rules[i].write(out)
+
+    class Rule(object):
+        def __init__(self, name, deps = None, cmds = None):
+            self.name = name
+            self.deps, self.cmds = set(), []
+            self.add(deps, cmds)
+
+        def add(self, deps = None, cmds = None):
+            if deps is not None:
+                self.deps.update(deps)
+            if cmds is not None:
+                self.cmds.append(cmds)
+
+        def write(self, out):
+            deps_string = ''
+            if self.deps:
+                deps = list(self.deps)
+                deps.sort()
+                deps_string = ' ' + ' '.join(deps)
+
+            if self.cmds:
+                if deps_string:
+                    out.write('%s::%s\n' % (self.name, deps_string))
+                for c in self.cmds:
+                    out.write('%s::\n' % self.name)
+                    for i in c:
+                        out.write('\t%s\n' % i)
+            else:
+                out.write('%s:%s\n' % (self.name, deps_string))
+
+class MakeFlags(dict):
+    def __repr__(self):
+        repr = super(flags, self).__repr__()
+        return "%s(%s)" % (self.__class__.__name__, repr)
+
+    def __str__(self):
+        return ' '.join(["%s='%s'" % i for i in self.iteritems()])
+
+    def copy(self):
+        return self.__class__(super(MakeFlags, self).copy())
+
+class Gencontrol(object):
+    makefile_targets = ('binary-arch', 'build', 'setup', 'source')
+
+    def __init__(self, config, templates, version = Version):
+        self.config, self.templates = config, templates
+        self.changelog = Changelog(version = version)
+
+    def __call__(self):
+        packages = PackagesList()
+        makefile = Makefile()
+
+        self.do_source(packages)
+        self.do_main(packages, makefile)
+        self.do_extra(packages, makefile)
+
+        self.write(packages, makefile)
+
+    def do_source(self, packages):
+        source = self.templates["control.source"][0]
+        source['Source'] = self.changelog[0].source
+        packages['source'] = self.process_package(source, self.vars)
+
+    def do_main(self, packages, makefile):
+        config_entry = self.config['base',]
+        vars = self.vars.copy()
+
+        makeflags = MakeFlags()
+        extra = {}
+
+        self.do_main_setup(vars, makeflags, extra)
+        self.do_main_makefile(makefile, makeflags, extra)
+        self.do_main_packages(packages, vars, makeflags, extra)
+        self.do_main_recurse(packages, makefile, vars, makeflags, extra)
+
+    def do_main_setup(self, vars, makeflags, extra):
+        pass
+
+    def do_main_makefile(self, makefile, makeflags, extra):
+        makefile.add('binary-indep', cmds = ["$(MAKE) -f debian/rules.real binary-indep %s" % makeflags])
+
+    def do_main_packages(self, packages, vars, makeflags, extra):
+        pass
+
+    def do_main_recurse(self, packages, makefile, vars, makeflags, extra):
+        for arch in iter(self.config['base',]['arches']):
+            self.do_arch(packages, makefile, arch, vars.copy(), makeflags.copy(), extra)
+
+    def do_extra(self, packages, makefile):
+        templates_extra = self.templates.get("control.extra", None)
+        if templates_extra is None:
+            return
+
+        packages.extend(self.process_packages(templates_extra, {}))
+        extra_arches = {}
+        for package in templates_extra:
+            arches = package['Architecture']
+            for arch in arches:
+                i = extra_arches.get(arch, [])
+                i.append(package)
+                extra_arches[arch] = i
+        archs = extra_arches.keys()
+        archs.sort()
+        for arch in archs:
+            cmds = []
+            for i in extra_arches[arch]:
+                tmp = []
+                if i.has_key('X-Version-Overwrite-Epoch'):
+                        tmp.append("-v1:%s" % self.version['source'])
+                cmds.append("$(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-p%s' GENCONTROL_ARGS='%s'" % (i['Package'], ' '.join(tmp)))
+            makefile.add('binary-arch_%s' % arch ['binary-arch_%s_extra' % arch])
+            makefile.add("binary-arch_%s_extra" % arch, cmds = cmds)
+
+    def do_arch(self, packages, makefile, arch, vars, makeflags, extra):
+        vars['arch'] = arch
+
+        self.do_arch_setup(vars, makeflags, arch, extra)
+        self.do_arch_makefile(makefile, arch, makeflags, extra)
+        self.do_arch_packages(packages, makefile, arch, vars, makeflags, extra)
+        self.do_arch_recurse(packages, makefile, arch, vars, makeflags, extra)
+
+    def do_arch_setup(self, vars, makeflags, arch, extra):
+        pass
+
+    def do_arch_makefile(self, makefile, arch, makeflags, extra):
+        makeflags['ARCH'] = arch
+
+        for i in self.makefile_targets:
+            target1 = i
+            target2 = '_'.join((target1, arch))
+            target3 = '_'.join((target2, 'real'))
+            makefile.add(target1, [target2])
+            makefile.add(target2, [target3])
+
+    def do_arch_packages(self, packages, makefile, arch, vars, makeflags, extra):
+        pass
+
+    def do_arch_recurse(self, packages, makefile, arch, vars, makeflags, extra):
+        for featureset in self.config['base', arch]['featuresets']:
+            self.do_featureset(packages, makefile, arch, featureset, vars.copy(), makeflags.copy(), extra)
+
+    def do_featureset(self, packages, makefile, arch, featureset, vars, makeflags, extra):
+        config_base = self.config.merge('base', arch, featureset)
+        if not config_base.get('enabled', True):
+            return
+
+        vars['localversion'] = ''
+        if featureset != 'none':
+            vars['localversion'] = '-' + featureset
+
+        self.do_featureset_setup(vars, makeflags, arch, featureset, extra)
+        self.do_featureset_makefile(makefile, arch, featureset, makeflags, extra)
+        self.do_featureset_packages(packages, makefile, arch, featureset, vars, makeflags, extra)
+        self.do_featureset_recurse(packages, makefile, arch, featureset, vars, makeflags, extra)
+
+    def do_featureset_setup(self, vars, makeflags, arch, featureset, extra):
+        pass
+
+    def do_featureset_makefile(self, makefile, arch, featureset, makeflags, extra):
+        makeflags['FEATURESET'] = featureset
+
+        for i in self.makefile_targets:
+            target1 = '_'.join((i, arch))
+            target2 = '_'.join((target1, featureset))
+            target3 = '_'.join((target2, 'real'))
+            makefile.add(target1, [target2])
+            makefile.add(target2, [target3])
+
+    def do_featureset_packages(self, packages, makefile, arch, featureset, vars, makeflags, extra):
+        pass
+
+    def do_featureset_recurse(self, packages, makefile, arch, featureset, vars, makeflags, extra):
+        for flavour in self.config['base', arch, featureset]['flavours']:
+            self.do_flavour(packages, makefile, arch, featureset, flavour, vars.copy(), makeflags.copy(), extra)
+
+    def do_flavour(self, packages, makefile, arch, featureset, flavour, vars, makeflags, extra):
+        config_base = self.config.merge('base', arch, featureset, flavour)
+
+        vars['class'] = config_base['class']
+        vars['longclass'] = config_base.get('longclass') or vars['class']
+
+        vars['localversion'] += '-' + flavour
+
+        self.do_flavour_setup(vars, makeflags, arch, featureset, flavour, extra)
+        self.do_flavour_makefile(makefile, arch, featureset, flavour, makeflags, extra)
+        self.do_flavour_packages(packages, makefile, arch, featureset, flavour, vars, makeflags, extra)
+
+    def do_flavour_setup(self, vars, makeflags, arch, featureset, flavour, extra):
+        for i in (
+            ('kernel-arch', 'KERNEL_ARCH'),
+            ('localversion', 'LOCALVERSION'),
+        ):  
+            if vars.has_key(i[0]):
+                makeflags[i[1]] = vars[i[0]]
+
+    def do_flavour_makefile(self, makefile, arch, featureset, flavour, makeflags, extra):
+        makeflags['FLAVOUR'] = flavour
+
+        for i in self.makefile_targets:
+            target1 = '_'.join((i, arch, featureset))
+            target2 = '_'.join((target1, flavour))
+            target3 = '_'.join((target2, 'real'))
+            makefile.add(target1, [target2])
+            makefile.add(target2, [target3])
+
+    def do_flavour_packages(self, packages, makefile, arch, featureset, flavour, vars, makeflags, extra):
+        pass
+
+    def process_relation(self, dep, vars):
+        import copy
+        dep = copy.deepcopy(dep)
+        for groups in dep:
+            for item in groups:
+                item.name = self.substitute(item.name, vars)
+        return dep
+
+    def process_description(self, in_desc, vars):
+        desc = in_desc.__class__()
+        desc.short = self.substitute(in_desc.short, vars)
+        for i in in_desc.long:
+            desc.append(self.substitute(i, vars))
+        return desc
+
+    def process_package(self, in_entry, vars):
+        entry = in_entry.__class__()
+        for key, value in in_entry.iteritems():
+            if isinstance(value, PackageRelation):
+                value = self.process_relation(value, vars)
+            elif isinstance(value, PackageDescription):
+                value = self.process_description(value, vars)
+            elif key.startswith('X-'):
+                continue
+            else:
+                value = self.substitute(value, vars)
+            entry[key] = value
+        return entry
+
+    def process_packages(self, entries, vars):
+        return [self.process_package(i, vars) for i in entries]
+
+    def substitute(self, s, vars):
+        if isinstance(s, (list, tuple)):
+            return [self.substitute(i, vars) for i in s]
+        def subst(match):
+            return vars[match.group(1)]
+        return re.sub(r'@([-_a-z]+)@', subst, s)
+
+    def write(self, packages, makefile):
+        self.write_control(packages.itervalues())
+        self.write_makefile(makefile)
+
+    def write_config(self):
+        f = file("debian/config.dump", 'w')
+        self.config.write(f)
+        f.close()
+
+    def write_control(self, list):
+        self.write_rfc822(file("debian/control", 'w'), list)
+
+    def write_makefile(self, makefile):
+        f = file("debian/rules.gen", 'w')
+        makefile.write(f)
+        f.close()
+
+    def write_rfc822(self, f, list):
+        for entry in list:
+            for key, value in entry.iteritems():
+                f.write("%s: %s\n" % (key, value))
+            f.write('\n')
+
+
--- linux-2.6-2.6.26.orig/debian/lib/python/debian_linux/__init__.py
+++ linux-2.6-2.6.26/debian/lib/python/debian_linux/__init__.py
@@ -0,0 +1 @@
+# Module
--- linux-2.6-2.6.26.orig/debian/lib/python/debian_linux/abi.py
+++ linux-2.6-2.6.26/debian/lib/python/debian_linux/abi.py
@@ -0,0 +1,51 @@
+class symbols(dict):
+    def __init__(self, filename = None):
+        self.modules = {}
+        if filename is not None:
+            self.read(file(filename))
+
+    def cmp(self, new):
+        symbols_ref = set(self.keys())
+        symbols_new = set(new.keys())
+
+        symbols_add = {}
+        symbols_remove = {}
+
+        symbols_change = {}
+
+        for symbol in symbols_new - symbols_ref:
+            symbols_add[symbol] = new[symbol]
+
+        for symbol in symbols_ref.intersection(symbols_new):
+            symbol_ref = self[symbol]
+            symbol_new = new[symbol]
+
+            ent = {'ref': symbol_ref, 'new': symbol_new, 'changes': {}}
+            for i in ('module', 'version', 'export'):
+                if symbol_ref[i] != symbol_new[i]:
+                    ent['changes'][i] = {'ref': symbol_ref, 'new': symbol_new}
+            if ent['changes']:
+                symbols_change[symbol] = ent
+
+        for symbol in symbols_ref - symbols_new:
+            symbols_remove[symbol] = self[symbol]
+
+        return symbols_add, symbols_change, symbols_remove
+
+    def read(self, file):
+        for line in file.readlines():
+            version, symbol, module, export = line.strip().split()
+
+            if self.has_key(symbol):
+                pass
+            symbols = self.modules.get(module, set())
+            symbols.add(symbol)
+            self.modules[module] = symbols
+            self[symbol] = {'symbol': symbol, 'module': module, 'version': version, 'export': export}
+
+    def write(self, file):
+        symbols = self.items()
+        symbols.sort()
+        for symbol, info in symbols:
+            file.write("%(version)s %(symbol)s %(module)s %(export)s\n" % info)
+
--- linux-2.6-2.6.26.orig/debian/lib/python/debian_linux/config.py
+++ linux-2.6-2.6.26/debian/lib/python/debian_linux/config.py
@@ -0,0 +1,272 @@
+import os, os.path, re, sys, textwrap
+
+__all__ = [
+    'ConfigCoreDump',
+    'ConfigCoreHierarchy',
+    'ConfigParser',
+]
+
+class SchemaItemBoolean(object):
+    def __call__(self, i):
+        i = i.strip().lower()
+        if i in ("true", "1"):
+            return True
+        if i in ("false", "0"):
+            return False
+        raise Error
+
+class SchemaItemList(object):
+    def __init__(self, type = "\s+"):
+        self.type = type
+
+    def __call__(self, i):
+        i = i.strip()
+        if not i:
+            return []
+        return [j.strip() for j in re.split(self.type, i)]
+
+class ConfigCore(dict):
+    def get_merge(self, section, arch, featureset, flavour, key, default=None):
+        temp = []
+
+        if arch and featureset and flavour:
+            temp.append(self.get((section, arch, featureset, flavour), {}).get(key))
+            temp.append(self.get((section, arch, None, flavour), {}).get(key))
+        if arch and featureset:
+            temp.append(self.get((section, arch, featureset), {}).get(key))
+        if arch:
+            temp.append(self.get((section, arch), {}).get(key))
+        if featureset:
+            temp.append(self.get((section, None, featureset), {}).get(key))
+        temp.append(self.get((section,), {}).get(key))
+
+        ret = []
+
+        for i in temp:
+            if i is None:
+                continue
+            elif isinstance(i, (list, tuple)):
+                ret.extend(i)
+            elif ret:
+                # TODO
+                return ret
+            else:
+                return i
+
+        return ret or default
+
+    def merge(self, section, arch = None, featureset = None, flavour = None):
+        ret = {}
+        ret.update(self.get((section,), {}))
+        if featureset:
+            ret.update(self.get((section, None, featureset), {}))
+        if arch:
+            ret.update(self.get((section, arch), {}))
+        if arch and featureset:
+            ret.update(self.get((section, arch, featureset), {}))
+        if arch and featureset and flavour:
+            ret.update(self.get((section, arch, None, flavour), {}))
+            ret.update(self.get((section, arch, featureset, flavour), {}))
+        return ret
+
+    def dump(self, fp):
+        sections = self.keys()
+        sections.sort()
+        for section in sections:
+            fp.write('[%r]\n' % (section,))
+            items = self[section]
+            items_keys = items.keys()
+            items_keys.sort()
+            for item in items:
+                fp.write('%s: %r\n' % (item, items[item]))
+            fp.write('\n')
+
+class ConfigCoreDump(ConfigCore):
+    def __init__(self, config = None, fp = None):
+        super(ConfigCoreDump, self).__init__(self)
+        if config is not None:
+            self.update(config)
+        if fp is not None:
+            from ConfigParser import RawConfigParser
+            config = RawConfigParser()
+            config.readfp(fp)
+            for section in config.sections():
+                section_real = eval(section)
+                data = {}
+                for key, value in config.items(section):
+                    value_real = eval(value)
+                    data[key] = value_real
+                self[section_real] = data
+
+class ConfigCoreHierarchy(ConfigCore):
+    config_name = "defines"
+
+    schemas = {
+        'abi': {
+            'ignore-changes': SchemaItemList(),
+        },
+        'base': {
+            'arches': SchemaItemList(),
+            'enabled': SchemaItemBoolean(),
+            'featuresets': SchemaItemList(),
+            'flavours': SchemaItemList(),
+            'modules': SchemaItemBoolean(),
+        },
+        'image': {
+            'configs': SchemaItemList(),
+            'desc-parts': SchemaItemList(),
+            'initramfs': SchemaItemBoolean(),
+            'initramfs-generators': SchemaItemList(),
+        },
+        'relations': {
+        },
+        'xen': {
+            'dom0-support': SchemaItemBoolean(),
+            'flavours': SchemaItemList(),
+            'versions': SchemaItemList(),
+        }
+    }
+
+    def __init__(self, dirs = []):
+        super(ConfigCoreHierarchy, self).__init__()
+        self._dirs = dirs
+        self._read_base()
+
+    def _read_arch(self, arch):
+        config = ConfigParser(self.schemas)
+        config.read(self.get_files("%s/%s" % (arch, self.config_name)))
+
+        featuresets = config['base',].get('featuresets', [])
+        flavours = config['base',].get('flavours', [])
+
+        for section in iter(config):
+            if section[0] in featuresets:
+                real = (section[-1], arch, section[0])
+            elif len(section) > 1:
+                real = (section[-1], arch, None) + section[:-1]
+            else:
+                real = (section[-1], arch) + section[:-1]
+            s = self.get(real, {})
+            s.update(config[section])
+            self[tuple(real)] = s
+
+        for featureset in featuresets:
+            self._read_arch_featureset(arch, featureset)
+
+        if flavours:
+            base = self['base', arch]
+            featuresets.insert(0, 'none')
+            base['featuresets'] = featuresets
+            del base['flavours']
+            self['base', arch] = base
+            self['base', arch, 'none'] = {'flavours': flavours, 'implicit-flavour': True}
+
+    def _read_arch_featureset(self, arch, featureset):
+        config = ConfigParser(self.schemas)
+        config.read(self.get_files("%s/%s/%s" % (arch, featureset, self.config_name)))
+
+        flavours = config['base',].get('flavours', [])
+
+        for section in iter(config):
+            real = (section[-1], arch, featureset) + section[:-1]
+            s = self.get(real, {})
+            s.update(config[section])
+            self[tuple(real)] = s
+
+    def _read_base(self):
+        config = ConfigParser(self.schemas)
+        config.read(self.get_files(self.config_name))
+
+        arches = config['base',]['arches']
+        featuresets = config['base',].get('featuresets', [])
+
+        for section in iter(config):
+            if section[0].startswith('featureset-'):
+                real = (section[-1], None, section[0].lstrip('featureset-'))
+            else:
+                real = (section[-1],) + section[1:]
+            self[real] = config[section]
+
+        for arch in arches:
+            self._read_arch(arch)
+        for featureset in featuresets:
+            self._read_featureset(featureset)
+
+    def _read_featureset(self, featureset):
+        config = ConfigParser(self.schemas)
+        config.read(self.get_files("featureset-%s/%s" % (featureset, self.config_name)))
+
+        for section in iter(config):
+            real = (section[-1], None, featureset)
+            s = self.get(real, {})
+            s.update(config[section])
+            self[real] = s
+
+    def get_files(self, name):
+        return [os.path.join(i, name) for i in self._dirs if i]
+
+class ConfigParser(object):
+    __slots__ = '_config', 'schemas'
+
+    def __init__(self, schemas):
+        self.schemas = schemas
+
+        from ConfigParser import RawConfigParser
+        self._config = config = RawConfigParser()
+
+    def __getitem__(self, key):
+        return self._convert()[key]
+
+    def __iter__(self):
+        return iter(self._convert())
+
+    def __str__(self):
+        return '<%s(%s)>' % (self.__class__.__name__, self._convert())
+
+    def _convert(self):
+        ret = {}
+        for section in self._config.sections():
+            data = {}
+            for key, value in self._config.items(section):
+                data[key] = value
+            s1 = section.split('_')
+            if s1[-1] in self.schemas:
+                ret[tuple(s1)] = self.SectionSchema(data, self.schemas[s1[-1]])
+            else:
+                ret[(section,)] = self.Section(data)
+        return ret
+
+    def keys(self):
+        return self._convert().keys()
+
+    def read(self, data):
+        return self._config.read(data)
+
+    class Section(dict):
+        def __init__(self, data):
+            super(ConfigParser.Section, self).__init__(data)
+
+    class SectionSchema(Section):
+        __slots__ = ()
+
+        def __init__(self, data, schema):
+            for key in data.keys():
+                try:
+                    data[key] = schema[key](data[key])
+                except KeyError: pass
+            super(ConfigParser.SectionSchema, self).__init__(data)
+
+if __name__ == '__main__':
+    import sys
+    config = ConfigCoreHierarchy(['debian/config'])
+    sections = config.keys()
+    sections.sort()
+    for section in sections:
+        print "[%s]" % (section,)
+        items = config[section]
+        items_keys = items.keys()
+        items_keys.sort()
+        for item in items:
+            print "%s: %s" % (item, items[item])
+        print
+
--- linux-2.6-2.6.26.orig/debian/lib/python/debian_linux/debian.py
+++ linux-2.6-2.6.26/debian/lib/python/debian_linux/debian.py
@@ -0,0 +1,361 @@
+import itertools, os.path, re, utils
+
+class Changelog(list):
+    _rules = r"""
+^
+(?P<source>
+    \w[-+0-9a-z.]+
+)
+\ 
+\(
+(?P<version>
+    [^\(\)\ \t]+
+)
+\)
+\s+
+(?P<distribution>
+    [-+0-9a-zA-Z.]+
+)
+\;
+"""
+    _re = re.compile(_rules, re.X)
+
+    class Entry(object):
+        __slot__ = 'distribution', 'source', 'version'
+
+        def __init__(self, distribution, source, version):
+            self.distribution, self.source, self.version = distribution, source, version
+
+    def __init__(self, dir = '', version = None):
+        if version is None:
+            version = Version
+        f = file(os.path.join(dir, "debian/changelog"))
+        while True:
+            line = f.readline()
+            if not line:
+                break
+            match = self._re.match(line)
+            if not match:
+                continue
+            try:
+                v = version(match.group('version'))
+            except Exception:
+                if not len(self):
+                    raise
+                v = Version(match.group('version'))
+            self.append(self.Entry(match.group('distribution'), match.group('source'), v))
+
+class Version(object):
+    _version_rules = ur"""
+^
+(?:
+    (?P<epoch>
+        \d+
+    )
+    :
+)?
+(?P<upstream>
+    .+?
+)   
+(?:
+    -
+    (?P<revision>[^-]+)
+)?
+$
+"""
+    _version_re = re.compile(_version_rules, re.X)
+
+    def __init__(self, version):
+        match = self._version_re.match(version)
+        if match is None:
+            raise RuntimeError, "Invalid debian version"
+        self.epoch = None
+        if match.group("epoch") is not None:
+            self.epoch = int(match.group("epoch"))
+        self.upstream = match.group("upstream")
+        self.revision = match.group("revision")
+
+    def __str__(self):
+        return self.complete
+
+    @property
+    def complete(self):
+        if self.epoch is not None:
+            return "%d:%s" % (self.epoch, self.complete_noepoch)
+        return self.complete_noepoch
+
+    @property
+    def complete_noepoch(self):
+        if self.revision is not None:
+            return "%s-%s" % (self.upstream, self.revision)
+        return self.upstream
+
+    @property
+    def debian(self):
+        from warnings import warn
+        warn("debian argument was replaced by revision", DeprecationWarning, stacklevel = 2)
+        return self.revision
+
+class VersionLinux(Version):
+    _version_linux_rules = ur"""
+^
+(?P<version>
+    (?P<major>\d+\.\d+)
+    \.
+    \d+
+)
+(?:
+    ~
+    (?P<modifier>
+        .+?
+    )
+)?
+(?:
+    \.dfsg\.
+    (?P<dfsg>
+        \d+
+    )
+)?
+-
+(?:[^-]+)
+$
+"""
+    _version_linux_re = re.compile(_version_linux_rules, re.X)
+
+    def __init__(self, version):
+        super(VersionLinux, self).__init__(version)
+        match = self._version_linux_re.match(version)
+        if match is None:
+            raise RuntimeError, "Invalid debian linux version"
+        d = match.groupdict()
+        self.linux_major = d['major']
+        self.linux_modifier = d['modifier']
+        self.linux_version = d['version']
+        if d['modifier'] is not None:
+            self.linux_upstream = '-'.join((d['version'], d['modifier']))
+        else:
+            self.linux_upstream = d['version']
+        self.linux_dfsg = d['dfsg']
+ 
+class PackageFieldList(list):
+    def __init__(self, value = None):
+        self.extend(value)
+
+    def __str__(self):
+        return ' '.join(self)
+
+    def _extend(self, value):
+        if value is not None:
+            self.extend([j.strip() for j in re.split('\s', value.strip())])
+
+    def extend(self, value):
+        if isinstance(value, str):
+            self._extend(value)
+        else:
+            super(PackageFieldList, self).extend(value)
+
+class PackageDescription(object):
+    __slots__ = "short", "long"
+
+    def __init__(self, value = None):
+        self.short = []
+        self.long = []
+        if value is not None:
+            short, long = value.split("\n", 1)
+            self.append(long)
+            self.append_short(short)
+
+    def __str__(self):
+        wrap = utils.TextWrapper(width = 74, fix_sentence_endings = True).wrap
+        short = ', '.join(self.short)
+        long_pars = []
+        for i in self.long:
+            long_pars.append(wrap(i))
+        long = '\n .\n '.join(['\n '.join(i) for i in long_pars])
+        return short + '\n ' + long
+
+    def append(self, str):
+        str = str.strip()
+        if str:
+            self.long.extend(str.split("\n.\n"))
+
+    def append_short(self, str):
+        for i in [i.strip() for i in str.split(",")]:
+            if i:
+                self.short.append(i)
+
+    def extend(self, desc):
+        if isinstance(desc, PackageDescription):
+            self.short.extend(desc.short)
+            self.long.extend(desc.long)
+        else:
+            raise TypeError
+
+class PackageRelation(list):
+    def __init__(self, value = None):
+        if value is not None:
+            self.extend(value)
+
+    def __str__(self):
+        return ', '.join([str(i) for i in self])
+
+    def _match(self, value):
+        for i in self:
+            if i._match(value):
+                return i
+        return None
+
+    def append(self, value):
+        if isinstance(value, basestring):
+            value = PackageRelationGroup(value)
+        elif not isinstance(value, PackageRelationGroup):
+            raise ValueError, "got %s" % type(value)
+        j = self._match(value)
+        if j:
+            j._updateArches(value)
+        else:
+            super(PackageRelation, self).append(value)
+
+    def extend(self, value):
+        if isinstance(value, basestring):
+            value = [j.strip() for j in re.split(',', value.strip())]
+        elif not isinstance(value, (list, tuple)):
+            raise ValueError, "got %s" % type(value)
+        for i in value:
+            self.append(i)
+
+class PackageRelationGroup(list):
+    def __init__(self, value = None):
+        if value is not None:
+            self.extend(value)
+
+    def __str__(self):
+        return ' | '.join([str(i) for i in self])
+
+    def _match(self, value):
+        for i, j in itertools.izip(self, value):
+            if i.name != j.name or i.version != j.version:
+                return None
+        return self
+
+    def _updateArches(self, value):
+        for i, j in itertools.izip(self, value):
+            if i.arches:
+                for arch in j.arches:
+                    if arch not in i.arches:
+                        i.arches.append(arch)
+
+    def append(self, value):
+        if isinstance(value, basestring):
+            value = PackageRelationEntry(value)
+        elif not isinstance(value, PackageRelationEntry):
+            raise ValueError
+        super(PackageRelationGroup, self).append(value)
+
+    def extend(self, value):
+        if isinstance(value, basestring):
+            value = [j.strip() for j in re.split('\|', value.strip())]
+        elif not isinstance(value, (list, tuple)):
+            raise ValueError
+        for i in value:
+            self.append(i)
+
+class PackageRelationEntry(object):
+    __slots__ = "name", "operator", "version", "arches"
+
+    _re = re.compile(r'^(\S+)(?: \((<<|<=|=|!=|>=|>>)\s*([^)]+)\))?(?: \[([^]]+)\])?$')
+
+    class _operator(object):
+        OP_LT = 1; OP_LE = 2; OP_EQ = 3; OP_NE = 4; OP_GE = 5; OP_GT = 6
+        operators = { '<<': OP_LT, '<=': OP_LE, '=':  OP_EQ, '!=': OP_NE, '>=': OP_GE, '>>': OP_GT }
+        operators_neg = { OP_LT: OP_GE, OP_LE: OP_GT, OP_EQ: OP_NE, OP_NE: OP_EQ, OP_GE: OP_LT, OP_GT: OP_LE }
+        operators_text = dict([(b, a) for a, b in operators.iteritems()])
+
+        __slots__ = '_op',
+
+        def __init__(self, value):
+            self._op = self.operators[value]
+
+        def __neg__(self):
+            return self.__class__(self.operators_text[self.operators_neg[self._op]])
+
+        def __str__(self):
+            return self.operators_text[self._op]
+
+    def __init__(self, value = None):
+        if isinstance(value, basestring):
+            self.parse(value)
+        else:
+            raise ValueError
+
+    def __str__(self):
+        ret = [self.name]
+        if self.operator is not None and self.version is not None:
+            ret.extend([' (', str(self.operator), ' ', self.version, ')'])
+        if self.arches:
+            ret.extend([' [', ' '.join(self.arches), ']'])
+        return ''.join(ret)
+
+    def parse(self, value):
+        match = self._re.match(value)
+        if match is None:
+            raise RuntimeError, "Can't parse dependency %s" % value
+        match = match.groups()
+        self.name = match[0]
+        if match[1] is not None:
+            self.operator = self._operator(match[1])
+        else:
+            self.operator = None
+        self.version = match[2]
+        if match[3] is not None:
+            self.arches = re.split('\s+', match[3])
+        else:
+            self.arches = []
+
+class Package(dict):
+    _fields = utils.SortedDict((
+        ('Package', str),
+        ('Source', str),
+        ('Architecture', PackageFieldList),
+        ('Section', str),
+        ('Priority', str),
+        ('Maintainer', str),
+        ('Uploaders', str),
+        ('Standards-Version', str),
+        ('Build-Depends', PackageRelation),
+        ('Build-Depends-Indep', PackageRelation),
+        ('Provides', PackageRelation),
+        ('Pre-Depends', PackageRelation),
+        ('Depends', PackageRelation),
+        ('Recommends', PackageRelation),
+        ('Suggests', PackageRelation),
+        ('Replaces', PackageRelation),
+        ('Conflicts', PackageRelation),
+        ('Description', PackageDescription),
+    ))
+
+    def __setitem__(self, key, value):
+        try:
+            cls = self._fields[key]
+            if not isinstance(value, cls):
+                value = cls(value)
+        except KeyError: pass
+        super(Package, self).__setitem__(key, value)
+
+    def iterkeys(self):
+        keys = set(self.keys())
+        for i in self._fields.iterkeys():
+            if self.has_key(i):
+                keys.remove(i)
+                yield i
+        for i in keys:
+            yield i
+
+    def iteritems(self):
+        for i in self.iterkeys():
+            yield (i, self[i])
+
+    def itervalues(self):
+        for i in self.iterkeys():
+            yield self[i]
+
--- linux-2.6-2.6.26.orig/debian/lib/python/debian_linux/kconfig.py
+++ linux-2.6-2.6.26/debian/lib/python/debian_linux/kconfig.py
@@ -0,0 +1,70 @@
+__all__ = (
+    "KconfigFile",
+)
+
+class EntryString(object):
+    __slots__ = "name", "value"
+
+    def __init__(self, name, value):
+        self.name = name
+        self.value = value
+
+    def __str__(self):
+        return "CONFIG_%s=%s" % (self.name, self.value)
+
+class EntryTristate(object):
+    __slots__ = "name", "value"
+
+    VALUE_NO = 0
+    VALUE_YES = 1
+    VALUE_MOD = 2
+
+    def __init__(self, name, value = None):
+        self.name = name
+        if value == 'n' or value is None:
+            self.value = self.VALUE_NO
+        elif value == 'y':
+            self.value = self.VALUE_YES
+        elif value == 'm':
+            self.value = self.VALUE_MOD
+
+    def __str__(self):
+        conf = "CONFIG_%s" % self.name
+        if self.value == self.VALUE_NO:
+            return "# %s is not set" % conf
+        elif self.value == self.VALUE_YES:
+            return "%s=y" % conf
+        elif self.value == self.VALUE_MOD:
+            return "%s=m" % conf
+
+class KconfigFile(dict):
+    def __str__(self):
+        ret = []
+        for i in self.str_iter():
+            ret.append(i)
+        return '\n'.join(ret) + '\n'
+
+    def read(self, f):
+        for line in iter(f.readlines()):
+            line = line.strip()
+            if line.startswith("CONFIG_"):
+                i = line.find('=')
+                option = line[7:i]
+                value = line[i+1:]
+                if value in ('y', 'm'):
+                    entry = EntryTristate(option, value)
+                else:
+                    entry = EntryString(option, value)
+                self[option] = entry
+            elif line.startswith("# CONFIG_"):
+                option = line[9:-11]
+                self[option] = EntryTristate(option)
+            elif line.startswith("#") or not line:
+                pass
+            else:
+                raise RuntimeError, "Can't recognize %s" % line
+
+    def str_iter(self):
+        for key, value in self.iteritems():
+            yield str(value)
+
--- linux-2.6-2.6.26.orig/debian/lib/python/debian_linux/patches.py
+++ linux-2.6-2.6.26/debian/lib/python/debian_linux/patches.py
@@ -0,0 +1,206 @@
+import os, shutil
+
+class Operation(object):
+    def __init__(self, name, data):
+        self.name, self.data = name, data
+
+    def __call__(self, dir = '.', reverse = False):
+        try:
+            if not reverse:
+                self.do(dir)
+            else:
+                self.do_reverse(dir)
+            self._log(True)
+        except:
+            self._log(False)
+            raise
+
+    def _log(self, result):
+        if result:
+            s = "OK"
+        else:
+            s = "FAIL"
+        print """  (%s) %-4s %s""" % (self.operation, s, self.name)
+
+    def do(self, dir):
+        raise NotImplementedError
+
+    def do_reverse(self, dir):
+        raise NotImplementedError
+
+class OperationPatch(Operation):
+    def __init__(self, name, fp, data):
+        super(OperationPatch, self).__init__(name, data)
+        self.fp = fp
+
+    def _call(self, dir, extraargs):
+        cmdline = "cd %s; patch -p1 -f -s -t --no-backup-if-mismatch %s" % (dir, extraargs)
+        f = os.popen(cmdline, 'wb')
+        shutil.copyfileobj(self.fp, f)
+        if f.close():
+            raise RuntimeError("Patch failed")
+
+    def patch_push(self, dir):
+        self._call(dir, '--fuzz=1')
+
+    def patch_pop(self, dir):
+        self._call(dir, '-R')
+
+class OperationPatchPush(OperationPatch):
+    operation = '+'
+
+    do = OperationPatch.patch_push
+    do_reverse = OperationPatch.patch_pop
+
+class OperationPatchPop(OperationPatch):
+    operation = '-'
+
+    do = OperationPatch.patch_pop
+    do_reverse = OperationPatch.patch_push
+
+class SubOperation(Operation):
+    def _log(self, result):
+        if result:
+            s = "OK"
+        else:
+            s = "FAIL"
+        print """    %-10s %-4s %s""" % ('(%s)' % self.operation, s, self.name)
+
+class SubOperationFilesRemove(SubOperation):
+    operation = "remove"
+
+    def do(self, dir):
+        dir = os.path.join(dir, self.name)
+        if os.path.isdir(dir):
+            shutil.rmtree(dir)
+        else:
+            os.unlink(dir)
+
+class SubOperationFilesUnifdef(SubOperation):
+    operation = "unifdef"
+
+    def do(self, dir):
+        filename = os.path.join(dir, self.name)
+        cmdline = "unifdef %s %s" % (filename, ' '.join(self.data))
+        f = os.popen(cmdline, 'rb')
+        data = f.read()
+        ret = f.close()
+        if ret is None:
+            raise RuntimeError("unifdef of %s removed nothing" % self.name)
+        elif ret != 256:
+            raise RuntimeError("unifdef failed")
+        f1 = file(filename, 'wb')
+        f1.write(data)
+        f1.close()
+
+class OperationFiles(Operation):
+    operation = 'X'
+
+    suboperations = {
+        'remove': SubOperationFilesRemove,
+        'rm': SubOperationFilesRemove,
+        'unifdef': SubOperationFilesUnifdef,
+    }
+
+    def __init__(self, name, fp, data):
+        super(OperationFiles, self).__init__(name, data)
+
+        ops = []
+
+        for line in fp:
+            line = line.strip()
+            if not line or line[0] == '#':
+                continue
+
+            items = line.split()
+            operation, filename = items[:2]
+            data = items[2:]
+
+            if operation not in self.suboperations:
+                raise RuntimeError('Undefined operation "%s" in series %s' % (operation, name))
+
+            ops.append(self.suboperations[operation](filename, data))
+
+        self.ops = ops
+
+    def do(self, dir):
+        for i in self.ops:
+            i(dir = dir)
+
+class PatchSeries(list):
+    operations = {
+        '+': OperationPatchPush,
+        '-': OperationPatchPop,
+        'X': OperationFiles,
+    }
+
+    def __init__(self, name, root, fp):
+        self.name, self.root = name, root
+
+        from gzip import GzipFile
+        from bz2 import BZ2File
+
+        for line in fp:
+            line = line.strip()
+
+            if not len(line) or line[0] == '#':
+                continue
+
+            items = line.split(' ')
+            operation, filename = items[:2]
+            data = items[2:]
+
+            if operation in self.operations:
+                f = os.path.join(self.root, filename)
+                for suffix, cls in (('', file), ('.bz2', BZ2File), ('.gz', GzipFile)):
+                    f1 = f + suffix
+                    if os.path.exists(f1):
+                        fp = cls(f1)
+                        break
+                else:
+                    raise RuntimeError("Can't find patch %s for series %s" % (filename, self.name))
+            else:
+                raise RuntimeError('Undefined operation "%s" in series %s' % (operation, name))
+
+            self.append(self.operations[operation](filename, fp, data))
+
+    def __call__(self, cond = bool, dir = '.', reverse = False):
+        if not reverse:
+            l = self
+        else:
+            l = self[::-1]
+        for i in l:
+            if cond(i):
+                i(dir = dir, reverse = reverse)
+
+    def __repr__(self):
+        return '<%s object for %s>' % (self.__class__.__name__, self.name)
+
+class PatchSeriesList(list):
+    def __call__(self, cond = bool, reverse = False):
+        if not reverse:
+            l = self
+        else:
+            l = self[::-1]
+        for i in l:
+            if reverse:
+                print "--> Try to unapply %s." % i.name
+            else:
+                print "--> Try to apply %s." % i.name
+            i(cond = cond, reverse = reverse)
+            if reverse:
+                print "--> %s fully unapplied." % i.name
+            else:
+                print "--> %s fully applied." % i.name
+
+    @classmethod
+    def read(cls, home, files):
+        ret = cls()
+        for i in files:
+            try:
+                fp = file(os.path.join(home, 'series', i))
+                ret.append(PatchSeries(i, home, fp))
+            except IOError:
+                pass
+        return ret
+
--- linux-2.6-2.6.26.orig/debian/lib/python/debian_linux/utils.py
+++ linux-2.6-2.6.26/debian/lib/python/debian_linux/utils.py
@@ -0,0 +1,108 @@
+import debian, re, os, textwrap
+
+_marker = object
+
+class SortedDict(dict):
+    __slots__ = '_list',
+
+    def __init__(self, entries = None):
+        super(SortedDict, self).__init__()
+        self._list = []
+        if entries is not None:
+            for key, value in entries:
+                self[key] = value
+
+    def __delitem__(self, key):
+        super(SortedDict, self).__delitem__(key)
+        self._list.remove(key)
+
+    def __setitem__(self, key, value):
+        super(SortedDict, self).__setitem__(key, value)
+        if key not in self._list:
+            self._list.append(key)
+
+    def iterkeys(self):
+        for i in iter(self._list):
+            yield i
+
+    def iteritems(self):
+        for i in iter(self._list):
+            yield (i, self[i])
+
+    def itervalues(self):
+        for i in iter(self._list):
+            yield self[i]
+
+class Templates(dict):
+    def __init__(self, dirs = ["debian/templates"]):
+        self.dirs = dirs
+
+    def __getitem__(self, key):
+        return self.get(key)
+
+    def __setitem__(self, key, value):
+        raise NotImplemented()
+
+    def _read(self, name):
+        prefix, id = name.split('.', 1)
+
+        for dir in self.dirs:
+            filename = "%s/%s.in" % (dir, name)
+            if os.path.exists(filename):
+                f = file(filename)
+                if prefix == 'control':
+                    return self._read_control(f)
+                return f.read()
+
+    def _read_control(self, f):
+        entries = []
+
+        while True:
+            e = debian.Package()
+            last = None
+            lines = []
+            while True:
+                line = f.readline()
+                if not line:
+                    break
+                line = line.strip('\n')
+                if not line:
+                    break
+                if line[0] in ' \t':
+                    if not last:
+                        raise ValueError('Continuation line seen before first header')
+                    lines.append(line.lstrip())
+                    continue
+                if last:
+                    e[last] = '\n'.join(lines)
+                i = line.find(':')
+                if i < 0:
+                    raise ValueError("Not a header, not a continuation: ``%s''" % line)
+                last = line[:i]
+                lines = [line[i+1:].lstrip()]
+            if last:
+                e[last] = '\n'.join(lines)
+            if not e:
+                break
+
+            entries.append(e)
+
+        return entries
+
+    def get(self, key, default = _marker):
+        ret = super(Templates, self).get(key, _marker)
+        if ret is not _marker:
+            return ret
+        value = self._read(key)
+        if value is None:
+            if default is _marker:
+                raise KeyError(key)
+            return default
+        super(Templates, self).__setitem__(key, value)
+        return value
+
+class TextWrapper(textwrap.TextWrapper):
+    wordsep_re = re.compile(
+        r'(\s+|'                                  # any whitespace
+        r'(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))')   # em-dash
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/fix-hifn_795X-divdi3.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/fix-hifn_795X-divdi3.patch
@@ -0,0 +1,54 @@
+On Tue, Feb 26, 2008 at 01:21:00PM +0100, Martin Michlmayr wrote:
+> With 2.6.25-rc3 and a config file with
+> 
+> CONFIG_CRYPTO_DEV_HIFN_795X=m
+> CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+> 
+> I get the following build error on at least ARM and MIPS:
+> 
+>   Building modules, stage 2.
+>   MODPOST 759 modules
+> ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined!
+
+Fix below.
+
+> Martin Michlmayr
+
+cu
+Adrian
+
+
+<--  snip  -->
+
+
+Using ndelay() with a 64bit variable as parameter can result in build 
+errors like the following on some 32bit systems when it results in a 
+64bit division:
+
+<--  snip  -->
+
+ ...
+  MODPOST 759 modules
+ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined!
+
+<--  snip  -->
+
+Reported by Martin Michlmayr.
+
+Signed-off-by: Adrian Bunk <bunk@kernel.org>
+
+---
+
+40b45041ddc587c20b872a86a6a36952c28b02c7 diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c
+index 3110bf7..b1541c6 100644
+--- a/drivers/crypto/hifn_795x.c
++++ b/drivers/crypto/hifn_795x.c
+@@ -807,7 +807,7 @@ static int hifn_rng_data_present(struct hwrng *rng, int wait)
+ 		return 1;
+ 	if (!wait)
+ 		return 0;
+-	ndelay(nsec);
++	ndelay((u32)nsec);
+ 	return 1;
+ }
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/delay-sched_clock.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/delay-sched_clock.patch
@@ -0,0 +1,92 @@
+commit c1955a3d4762e7a9bf84035eb3c4886a900f0d15
+Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
+Date:   Mon Aug 11 08:59:03 2008 +0200
+
+    sched_clock: delay using sched_clock()
+    
+    Some arch's can't handle sched_clock() being called too early - delay
+    this until sched_clock_init() has been called.
+    
+    Reported-by: Bill Gatliff <bgat@billgatliff.com>
+    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
+    Tested-by: Nishanth Aravamudan <nacc@us.ibm.com>
+    CC: Russell King - ARM Linux <linux@arm.linux.org.uk>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/sched.h linux-source-2.6.26/include/linux/sched.h
+--- linux-source-2.6.26.orig/include/linux/sched.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/sched.h	2008-08-19 23:59:36.000000000 -0600
+@@ -1552,16 +1552,10 @@ static inline int set_cpus_allowed(struc
+ 
+ extern unsigned long long sched_clock(void);
+ 
+-#ifndef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
+-static inline void sched_clock_init(void)
+-{
+-}
+-
+-static inline u64 sched_clock_cpu(int cpu)
+-{
+-	return sched_clock();
+-}
++extern void sched_clock_init(void);
++extern u64 sched_clock_cpu(int cpu);
+ 
++#ifndef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
+ static inline void sched_clock_tick(void)
+ {
+ }
+@@ -1574,8 +1568,6 @@ static inline void sched_clock_idle_wake
+ {
+ }
+ #else
+-extern void sched_clock_init(void);
+-extern u64 sched_clock_cpu(int cpu);
+ extern void sched_clock_tick(void);
+ extern void sched_clock_idle_sleep_event(void);
+ extern void sched_clock_idle_wakeup_event(u64 delta_ns);
+diff -urpN linux-source-2.6.26.orig/kernel/sched_clock.c linux-source-2.6.26/kernel/sched_clock.c
+--- linux-source-2.6.26.orig/kernel/sched_clock.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/sched_clock.c	2008-08-19 23:59:36.000000000 -0600
+@@ -30,6 +30,8 @@
+ #include <linux/module.h>
+ 
+ 
++static __read_mostly int sched_clock_running;
++
+ #ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
+ 
+ struct sched_clock_data {
+@@ -59,8 +61,6 @@ static inline struct sched_clock_data *c
+ 	return &per_cpu(sched_clock_data, cpu);
+ }
+ 
+-static __read_mostly int sched_clock_running;
+-
+ void sched_clock_init(void)
+ {
+ 	u64 ktime_now = ktime_to_ns(ktime_get());
+@@ -233,6 +233,21 @@ void sched_clock_idle_wakeup_event(u64 d
+ }
+ EXPORT_SYMBOL_GPL(sched_clock_idle_wakeup_event);
+ 
++#else /* CONFIG_HAVE_UNSTABLE_SCHED_CLOCK */
++
++void sched_clock_init(void)
++{
++	sched_clock_running = 1;
++}
++
++u64 sched_clock_cpu(int cpu)
++{
++	if (unlikely(!sched_clock_running))
++		return 0;
++
++	return sched_clock();
++}
++
+ #endif
+ 
+ /*
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/enforce-minimum-SG_IO-timeout.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/enforce-minimum-SG_IO-timeout.patch
@@ -0,0 +1,59 @@
+commit f2f1fa78a155524b849edf359e42a3001ea652c0
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Fri Dec 5 14:49:18 2008 -0800
+
+    Enforce a minimum SG_IO timeout
+    
+    There's no point in having too short SG_IO timeouts, since if the
+    command does end up timing out, we'll end up through the reset sequence
+    that is several seconds long in order to abort the command that timed
+    out.
+    
+    As a result, shorter timeouts than a few seconds simply do not make
+    sense, as the recovery would be longer than the timeout itself.
+    
+    Add a BLK_MIN_SG_TIMEOUT to match the existign BLK_DEFAULT_SG_TIMEOUT.
+    
+    Suggested-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
+    Acked-by: Tejun Heo <tj@kernel.org>
+    Acked-by: Jens Axboe <jens.axboe@oracle.com>
+    Cc: Jeff Garzik <jeff@garzik.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@hp.com>
+
+diff -urpN linux-source-2.6.26.orig/block/bsg.c linux-source-2.6.26/block/bsg.c
+--- linux-source-2.6.26.orig/block/bsg.c	2009-01-08 16:43:12.000000000 -0700
++++ linux-source-2.6.26/block/bsg.c	2009-01-09 18:03:55.000000000 -0700
+@@ -201,6 +201,8 @@ static int blk_fill_sgv4_hdr_rq(struct r
+ 		rq->timeout = q->sg_timeout;
+ 	if (!rq->timeout)
+ 		rq->timeout = BLK_DEFAULT_SG_TIMEOUT;
++	if (rq->timeout < BLK_MIN_SG_TIMEOUT)
++		rq->timeout = BLK_MIN_SG_TIMEOUT;
+ 
+ 	return 0;
+ }
+diff -urpN linux-source-2.6.26.orig/block/scsi_ioctl.c linux-source-2.6.26/block/scsi_ioctl.c
+--- linux-source-2.6.26.orig/block/scsi_ioctl.c	2009-01-08 16:43:12.000000000 -0700
++++ linux-source-2.6.26/block/scsi_ioctl.c	2009-01-09 18:03:55.000000000 -0700
+@@ -232,6 +232,8 @@ static int blk_fill_sghdr_rq(struct requ
+ 		rq->timeout = q->sg_timeout;
+ 	if (!rq->timeout)
+ 		rq->timeout = BLK_DEFAULT_SG_TIMEOUT;
++	if (rq->timeout < BLK_MIN_SG_TIMEOUT)
++		rq->timeout = BLK_MIN_SG_TIMEOUT;
+ 
+ 	return 0;
+ }
+diff -urpN linux-source-2.6.26.orig/include/linux/blkdev.h linux-source-2.6.26/include/linux/blkdev.h
+--- linux-source-2.6.26.orig/include/linux/blkdev.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/blkdev.h	2009-01-09 18:03:55.000000000 -0700
+@@ -585,6 +585,7 @@ extern unsigned long blk_max_low_pfn, bl
+  * default timeout for SG_IO if none specified
+  */
+ #define BLK_DEFAULT_SG_TIMEOUT	(60 * HZ)
++#define BLK_MIN_SG_TIMEOUT	(7 * HZ)
+ 
+ #ifdef CONFIG_BOUNCE
+ extern int init_emergency_isa_pool(void);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/sctp-auth-key-length-check.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/sctp-auth-key-length-check.patch
@@ -0,0 +1,44 @@
+commit 30c2235cbc477d4629983d440cdc4f496fec9246
+Author: Vlad Yasevich <vladislav.yasevich@hp.com>
+Date:   Mon Aug 25 15:16:19 2008 -0700
+
+    sctp: add verification checks to SCTP_AUTH_KEY option
+    
+    The structure used for SCTP_AUTH_KEY option contains a
+    length that needs to be verfied to prevent buffer overflow
+    conditions.  Spoted by Eugene Teo <eteo@redhat.com>.
+    
+    Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@hp.com>
+
+diff -urpN linux-source-2.6.26.orig/net/sctp/auth.c linux-source-2.6.26/net/sctp/auth.c
+--- linux-source-2.6.26.orig/net/sctp/auth.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/sctp/auth.c	2008-08-26 17:34:22.000000000 -0600
+@@ -80,6 +80,10 @@ static struct sctp_auth_bytes *sctp_auth
+ {
+ 	struct sctp_auth_bytes *key;
+ 
++	/* Verify that we are not going to overflow INT_MAX */
++	if ((INT_MAX - key_len) < sizeof(struct sctp_auth_bytes))
++		return NULL;
++
+ 	/* Allocate the shared key */
+ 	key = kmalloc(sizeof(struct sctp_auth_bytes) + key_len, gfp);
+ 	if (!key)
+diff -urpN linux-source-2.6.26.orig/net/sctp/socket.c linux-source-2.6.26/net/sctp/socket.c
+--- linux-source-2.6.26.orig/net/sctp/socket.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/sctp/socket.c	2008-08-26 17:34:22.000000000 -0600
+@@ -3045,6 +3045,11 @@ static int sctp_setsockopt_auth_key(stru
+ 		goto out;
+ 	}
+ 
++	if (authkey->sca_keylength > optlen) {
++		ret = -EINVAL;
++		goto out;
++	}
++
+ 	asoc = sctp_id2assoc(sk, authkey->sca_assoc_id);
+ 	if (!asoc && authkey->sca_assoc_id && sctp_style(sk, UDP)) {
+ 		ret = -EINVAL;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/sctp-auth-panics.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/sctp-auth-panics.patch
@@ -0,0 +1,246 @@
+commit 5e739d1752aca4e8f3e794d431503bfca3162df4
+Author: Vlad Yasevich <vladislav.yasevich@hp.com>
+Date:   Thu Aug 21 03:34:25 2008 -0700
+
+    sctp: fix potential panics in the SCTP-AUTH API.
+    
+    All of the SCTP-AUTH socket options could cause a panic
+    if the extension is disabled and the API is envoked.
+    
+    Additionally, there were some additional assumptions that
+    certain pointers would always be valid which may not
+    always be the case.
+    
+    This patch hardens the API and address all of the crash
+    scenarios.
+    
+    Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@hp.com>
+
+diff -urpN linux-source-2.6.26.orig/net/sctp/endpointola.c linux-source-2.6.26/net/sctp/endpointola.c
+--- linux-source-2.6.26.orig/net/sctp/endpointola.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/sctp/endpointola.c	2008-08-26 18:15:18.000000000 -0600
+@@ -103,6 +103,7 @@ static struct sctp_endpoint *sctp_endpoi
+ 
+ 		/* Initialize the CHUNKS parameter */
+ 		auth_chunks->param_hdr.type = SCTP_PARAM_CHUNKS;
++		auth_chunks->param_hdr.length = htons(sizeof(sctp_paramhdr_t));
+ 
+ 		/* If the Add-IP functionality is enabled, we must
+ 		 * authenticate, ASCONF and ASCONF-ACK chunks
+@@ -110,8 +111,7 @@ static struct sctp_endpoint *sctp_endpoi
+ 		if (sctp_addip_enable) {
+ 			auth_chunks->chunks[0] = SCTP_CID_ASCONF;
+ 			auth_chunks->chunks[1] = SCTP_CID_ASCONF_ACK;
+-			auth_chunks->param_hdr.length =
+-					htons(sizeof(sctp_paramhdr_t) + 2);
++			auth_chunks->param_hdr.length += htons(2);
+ 		}
+ 	}
+ 
+diff -urpN linux-source-2.6.26.orig/net/sctp/socket.c linux-source-2.6.26/net/sctp/socket.c
+--- linux-source-2.6.26.orig/net/sctp/socket.c	2008-08-26 17:34:22.000000000 -0600
++++ linux-source-2.6.26/net/sctp/socket.c	2008-08-26 18:15:18.000000000 -0600
+@@ -2965,6 +2965,9 @@ static int sctp_setsockopt_auth_chunk(st
+ {
+ 	struct sctp_authchunk val;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen != sizeof(struct sctp_authchunk))
+ 		return -EINVAL;
+ 	if (copy_from_user(&val, optval, optlen))
+@@ -2995,6 +2998,9 @@ static int sctp_setsockopt_hmac_ident(st
+ 	struct sctp_hmacalgo *hmacs;
+ 	int err;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen < sizeof(struct sctp_hmacalgo))
+ 		return -EINVAL;
+ 
+@@ -3033,6 +3039,9 @@ static int sctp_setsockopt_auth_key(stru
+ 	struct sctp_association *asoc;
+ 	int ret;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen <= sizeof(struct sctp_authkey))
+ 		return -EINVAL;
+ 
+@@ -3075,6 +3084,9 @@ static int sctp_setsockopt_active_key(st
+ 	struct sctp_authkeyid val;
+ 	struct sctp_association *asoc;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen != sizeof(struct sctp_authkeyid))
+ 		return -EINVAL;
+ 	if (copy_from_user(&val, optval, optlen))
+@@ -3100,6 +3112,9 @@ static int sctp_setsockopt_del_key(struc
+ 	struct sctp_authkeyid val;
+ 	struct sctp_association *asoc;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen != sizeof(struct sctp_authkeyid))
+ 		return -EINVAL;
+ 	if (copy_from_user(&val, optval, optlen))
+@@ -5058,19 +5073,29 @@ static int sctp_getsockopt_maxburst(stru
+ static int sctp_getsockopt_hmac_ident(struct sock *sk, int len,
+ 				    char __user *optval, int __user *optlen)
+ {
++	struct sctp_hmacalgo  __user *p = (void __user *)optval;
+ 	struct sctp_hmac_algo_param *hmacs;
+-	__u16 param_len;
++	__u16 data_len = 0;
++	u32 num_idents;
++
++	if (!sctp_auth_enable)
++		return -EACCES;
+ 
+ 	hmacs = sctp_sk(sk)->ep->auth_hmacs_list;
+-	param_len = ntohs(hmacs->param_hdr.length);
++	data_len = ntohs(hmacs->param_hdr.length) - sizeof(sctp_paramhdr_t);
+ 
+-	if (len < param_len)
++	if (len < sizeof(struct sctp_hmacalgo) + data_len)
+ 		return -EINVAL;
++
++	len = sizeof(struct sctp_hmacalgo) + data_len;
++	num_idents = data_len / sizeof(u16);
++
+ 	if (put_user(len, optlen))
+ 		return -EFAULT;
+-	if (copy_to_user(optval, hmacs->hmac_ids, len))
++	if (put_user(num_idents, &p->shmac_num_idents))
++		return -EFAULT;
++	if (copy_to_user(p->shmac_idents, hmacs->hmac_ids, data_len))
+ 		return -EFAULT;
+-
+ 	return 0;
+ }
+ 
+@@ -5080,6 +5105,9 @@ static int sctp_getsockopt_active_key(st
+ 	struct sctp_authkeyid val;
+ 	struct sctp_association *asoc;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (len < sizeof(struct sctp_authkeyid))
+ 		return -EINVAL;
+ 	if (copy_from_user(&val, optval, sizeof(struct sctp_authkeyid)))
+@@ -5094,6 +5122,12 @@ static int sctp_getsockopt_active_key(st
+ 	else
+ 		val.scact_keynumber = sctp_sk(sk)->ep->active_key_id;
+ 
++	len = sizeof(struct sctp_authkeyid);
++	if (put_user(len, optlen))
++		return -EFAULT;
++	if (copy_to_user(optval, &val, len))
++		return -EFAULT;
++
+ 	return 0;
+ }
+ 
+@@ -5104,13 +5138,16 @@ static int sctp_getsockopt_peer_auth_chu
+ 	struct sctp_authchunks val;
+ 	struct sctp_association *asoc;
+ 	struct sctp_chunks_param *ch;
+-	u32    num_chunks;
++	u32    num_chunks = 0;
+ 	char __user *to;
+ 
+-	if (len <= sizeof(struct sctp_authchunks))
++	if (!sctp_auth_enable)
++		return -EACCES;
++
++	if (len < sizeof(struct sctp_authchunks))
+ 		return -EINVAL;
+ 
+-	if (copy_from_user(&val, p, sizeof(struct sctp_authchunks)))
++	if (copy_from_user(&val, optval, sizeof(struct sctp_authchunks)))
+ 		return -EFAULT;
+ 
+ 	to = p->gauth_chunks;
+@@ -5119,20 +5156,21 @@ static int sctp_getsockopt_peer_auth_chu
+ 		return -EINVAL;
+ 
+ 	ch = asoc->peer.peer_chunks;
++	if (!ch)
++		goto num;
+ 
+ 	/* See if the user provided enough room for all the data */
+ 	num_chunks = ntohs(ch->param_hdr.length) - sizeof(sctp_paramhdr_t);
+ 	if (len < num_chunks)
+ 		return -EINVAL;
+ 
+-	len = num_chunks;
+-	if (put_user(len, optlen))
++	if (copy_to_user(to, ch->chunks, num_chunks))
+ 		return -EFAULT;
++num:
++	len = sizeof(struct sctp_authchunks) + num_chunks;
++	if (put_user(len, optlen)) return -EFAULT;
+ 	if (put_user(num_chunks, &p->gauth_number_of_chunks))
+ 		return -EFAULT;
+-	if (copy_to_user(to, ch->chunks, len))
+-		return -EFAULT;
+-
+ 	return 0;
+ }
+ 
+@@ -5143,13 +5181,16 @@ static int sctp_getsockopt_local_auth_ch
+ 	struct sctp_authchunks val;
+ 	struct sctp_association *asoc;
+ 	struct sctp_chunks_param *ch;
+-	u32    num_chunks;
++	u32    num_chunks = 0;
+ 	char __user *to;
+ 
+-	if (len <= sizeof(struct sctp_authchunks))
++	if (!sctp_auth_enable)
++		return -EACCES;
++
++	if (len < sizeof(struct sctp_authchunks))
+ 		return -EINVAL;
+ 
+-	if (copy_from_user(&val, p, sizeof(struct sctp_authchunks)))
++	if (copy_from_user(&val, optval, sizeof(struct sctp_authchunks)))
+ 		return -EFAULT;
+ 
+ 	to = p->gauth_chunks;
+@@ -5162,17 +5203,21 @@ static int sctp_getsockopt_local_auth_ch
+ 	else
+ 		ch = sctp_sk(sk)->ep->auth_chunk_list;
+ 
++	if (!ch)
++		goto num;
++
+ 	num_chunks = ntohs(ch->param_hdr.length) - sizeof(sctp_paramhdr_t);
+-	if (len < num_chunks)
++	if (len < sizeof(struct sctp_authchunks) + num_chunks)
+ 		return -EINVAL;
+ 
+-	len = num_chunks;
++	if (copy_to_user(to, ch->chunks, num_chunks))
++		return -EFAULT;
++num:
++	len = sizeof(struct sctp_authchunks) + num_chunks;
+ 	if (put_user(len, optlen))
+ 		return -EFAULT;
+ 	if (put_user(num_chunks, &p->gauth_number_of_chunks))
+ 		return -EFAULT;
+-	if (copy_to_user(to, ch->chunks, len))
+-		return -EFAULT;
+ 
+ 	return 0;
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/wan-sbni_ioctl-cap-checks.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/wan-sbni_ioctl-cap-checks.patch
@@ -0,0 +1,75 @@
+commit f2455eb176ac87081bbfc9a44b21c7cd2bc1967e
+Author: Eugene Teo <eugeneteo@kernel.sg>
+Date:   Wed Aug 27 04:50:30 2008 -0700
+
+    wan: Missing capability checks in sbni_ioctl()
+    
+    There are missing capability checks in the following code:
+    
+    1300 static int
+    1301 sbni_ioctl( struct net_device  *dev,  struct ifreq  *ifr,  int  cmd)
+    1302 {
+    [...]
+    1319     case  SIOCDEVRESINSTATS :
+    1320         if( current->euid != 0 )    /* root only */
+    1321             return  -EPERM;
+    [...]
+    1336     case  SIOCDEVSHWSTATE :
+    1337         if( current->euid != 0 )    /* root only */
+    1338             return  -EPERM;
+    [...]
+    1357     case  SIOCDEVENSLAVE :
+    1358         if( current->euid != 0 )    /* root only */
+    1359             return  -EPERM;
+    [...]
+    1372     case  SIOCDEVEMANSIPATE :
+    1373         if( current->euid != 0 )    /* root only */
+    1374             return  -EPERM;
+    
+    Here's my proposed fix:
+    
+    Missing capability checks.
+    
+    Signed-off-by: Eugene Teo <eugeneteo@kernel.sg>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
+index e59255a..6596cd0 100644
+--- a/drivers/net/wan/sbni.c
++++ b/drivers/net/wan/sbni.c
+@@ -1317,7 +1317,7 @@ sbni_ioctl( struct net_device  *dev,  struct ifreq  *ifr,  int  cmd )
+ 		break;
+ 
+ 	case  SIOCDEVRESINSTATS :
+-		if( current->euid != 0 )	/* root only */
++		if (!capable(CAP_NET_ADMIN))
+ 			return  -EPERM;
+ 		memset( &nl->in_stats, 0, sizeof(struct sbni_in_stats) );
+ 		break;
+@@ -1334,7 +1334,7 @@ sbni_ioctl( struct net_device  *dev,  struct ifreq  *ifr,  int  cmd )
+ 		break;
+ 
+ 	case  SIOCDEVSHWSTATE :
+-		if( current->euid != 0 )	/* root only */
++		if (!capable(CAP_NET_ADMIN))
+ 			return  -EPERM;
+ 
+ 		spin_lock( &nl->lock );
+@@ -1355,7 +1355,7 @@ sbni_ioctl( struct net_device  *dev,  struct ifreq  *ifr,  int  cmd )
+ #ifdef CONFIG_SBNI_MULTILINE
+ 
+ 	case  SIOCDEVENSLAVE :
+-		if( current->euid != 0 )	/* root only */
++		if (!capable(CAP_NET_ADMIN))
+ 			return  -EPERM;
+ 
+ 		if (copy_from_user( slave_name, ifr->ifr_data, sizeof slave_name ))
+@@ -1370,7 +1370,7 @@ sbni_ioctl( struct net_device  *dev,  struct ifreq  *ifr,  int  cmd )
+ 		return  enslave( dev, slave_dev );
+ 
+ 	case  SIOCDEVEMANSIPATE :
+-		if( current->euid != 0 )	/* root only */
++		if (!capable(CAP_NET_ADMIN))
+ 			return  -EPERM;
+ 
+ 		return  emancipate( dev );
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/alsa-add-hp-notebook-quirks.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/alsa-add-hp-notebook-quirks.patch
@@ -0,0 +1,77 @@
+commit d5337debacc00591b3f81fc3c982b40af7de1ab6
+Author: Takashi Iwai <tiwai@suse.de>
+Date:   Wed Jan 7 11:41:57 2009 +0100
+
+    ALSA: hda - Add quirk for HP 2230s
+    
+    Added a quirk for HP 2230s, model=laptop, with AD1984A codec.
+    Reference: Novell bnc#461660
+    	https://bugzilla.novell.com/show_bug.cgi?id=461660
+    
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+commit 11d518e07d700eeb5bcec36bfd5f501e405230dd
+Author: Takashi Iwai <tiwai@suse.de>
+Date:   Wed Dec 10 10:37:33 2008 +0100
+
+    ALSA: hda - Add quirk for HP6730B laptop
+    
+    Added model=laptop for HP 6730B laptop with AD1984A codec.
+    Reference: Novell bnc#457909
+    	https://bugzilla.novell.com/show_bug.cgi?id=457909
+    
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+    Cc: stable@kernel.org
+
+commit 65b92e5cbc8acd14ea83190b4d016f765dce6075
+Author: Michel Marti <mma@objectxp.com>
+Date:   Sat Nov 8 11:33:32 2008 +0100
+
+    ALSA: hda - Add another HP model (6730s) for AD1884A
+    
+    Added model=laptop for another HP machine (103c:3614) with AD1884A
+    codec.
+    
+    Signed-off-by: Michel Marti <mma@objectxp.com>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+commit 254248313aed7e6ff295ca21a82ca989b1f69c16
+Author: Travis Place <wishie@wishie.net>
+Date:   Mon Nov 10 17:56:23 2008 +0100
+
+    ALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptop
+    
+    Added a QUIRK to patch_analog.c for the HP Elitebook 8530p
+    (IDs 0x103c:0x30e7) to use AD1884A model 'laptop' by default.
+    Playback and Capture confirmed working.
+    
+    Signed-off-by: Travis Place <wishie@wishie.net>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+commit 5695ff44160e62d9193c0201706853bcfe2a077f
+Author: Takashi Iwai <tiwai@suse.de>
+Date:   Tue Oct 28 15:39:26 2008 +0100
+
+    ALSA: hda - Add another HP model for AD1884A
+    
+    Added a quirk entry for another HP mobile device with AD1884A codec.
+    
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@hp.com>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_analog.c linux-source-2.6.26/sound/pci/hda/patch_analog.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_analog.c	2009-01-29 16:43:51.000000000 -0700
++++ linux-source-2.6.26/sound/pci/hda/patch_analog.c	2009-02-08 16:59:45.000000000 -0700
+@@ -3846,6 +3846,11 @@ static const char *ad1884a_models[AD1884
+ static struct snd_pci_quirk ad1884a_cfg_tbl[] = {
+ 	SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
+ 	SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD),
++	SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
++       SND_PCI_QUIRK(0x103c, 0x3037, "HP 2230s", AD1884A_LAPTOP),
++	SND_PCI_QUIRK(0x103c, 0x30e6, "HP 6730b", AD1884A_LAPTOP),
++	SND_PCI_QUIRK(0x103c, 0x30e7, "HP EliteBook 8530p", AD1884A_LAPTOP),
++	SND_PCI_QUIRK(0x103c, 0x3614, "HP 6730s", AD1884A_LAPTOP),
+ 	{}
+ };
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/add-copy_user_handle_tail.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/add-copy_user_handle_tail.patch
@@ -0,0 +1,56 @@
+commit 1129585a08baf58582c0da91e572cb29e3179acf
+Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
+Date:   Wed Jul 2 15:48:21 2008 +0200
+
+    x86: introduce copy_user_handle_tail() routine
+    
+    Introduce generic C routine for handling necessary tail operations after
+    protection fault in copy_*_user on x86.
+    
+    Signed-off-by: Vitaly Mayatskikh <v.mayatskih@gmail.com>
+    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/lib/usercopy_64.c linux-source-2.6.26/arch/x86/lib/usercopy_64.c
+--- linux-source-2.6.26.orig/arch/x86/lib/usercopy_64.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/x86/lib/usercopy_64.c	2008-08-26 15:03:10.000000000 -0600
+@@ -158,3 +158,26 @@ unsigned long copy_in_user(void __user *
+ }
+ EXPORT_SYMBOL(copy_in_user);
+ 
++/*
++ * Try to copy last bytes and clear the rest if needed.
++ * Since protection fault in copy_from/to_user is not a normal situation,
++ * it is not necessary to optimize tail handling.
++ */
++unsigned long
++copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest)
++{
++	char c;
++	unsigned zero_len;
++
++	for (; len; --len) {
++		if (__get_user_nocheck(c, from++, sizeof(char)))
++			break;
++		if (__put_user_nocheck(c, to++, sizeof(char)))
++			break;
++	}
++
++	for (c = 0, zero_len = len; zerorest && zero_len; --zero_len)
++		if (__put_user_nocheck(c, to++, sizeof(char)))
++			break;
++	return len;
++}
+diff -urpN linux-source-2.6.26.orig/include/asm-x86/uaccess_64.h linux-source-2.6.26/include/asm-x86/uaccess_64.h
+--- linux-source-2.6.26.orig/include/asm-x86/uaccess_64.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-x86/uaccess_64.h	2008-08-26 15:03:10.000000000 -0600
+@@ -455,4 +455,7 @@ static inline int __copy_from_user_inato
+ 	return __copy_user_nocache(dst, src, size, 0);
+ }
+ 
++unsigned long
++copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest);
++
+ #endif /* __X86_64_UACCESS_H */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/alsa-fix-speaker-output-on-toshiba-p105.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/alsa-fix-speaker-output-on-toshiba-p105.patch
@@ -0,0 +1,25 @@
+commit 6a9dccd61253f361760802d8d19c28fa83ea83f5
+Author: Takashi Iwai <tiwai@suse.de>
+Date:   Tue Jul 1 14:52:05 2008 +0200
+
+    ALSA: ALSA: hda - Fix speaker output on Toshiba P105
+    
+    Toshiba Satellite P105 with cx5045 has no HP pin but only a
+    speaker pin and does the speaker-muting on hardware.
+    Thus the matching model is laptop-micsense.
+    
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+
+diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
+index 64df810..95e3367 100644
+--- a/sound/pci/hda/patch_conexant.c
++++ b/sound/pci/hda/patch_conexant.c
+@@ -906,6 +906,7 @@ static struct snd_pci_quirk cxt5045_cfg_tbl[] = {
+ 	SND_PCI_QUIRK(0x103c, 0x30cf, "HP DV9533EG", CXT5045_LAPTOP_HPSENSE),
+ 	SND_PCI_QUIRK(0x103c, 0x30d5, "HP 530", CXT5045_LAPTOP_HP530),
+ 	SND_PCI_QUIRK(0x103c, 0x30d9, "HP Spartan", CXT5045_LAPTOP_HPSENSE),
++	SND_PCI_QUIRK(0x1179, 0xff31, "Toshiba P105", CXT5045_LAPTOP_MICSENSE),
+ 	SND_PCI_QUIRK(0x152d, 0x0753, "Benq R55E", CXT5045_BENQ),
+ 	SND_PCI_QUIRK(0x1734, 0x10ad, "Fujitsu Si1520", CXT5045_LAPTOP_MICSENSE),
+ 	SND_PCI_QUIRK(0x1734, 0x10cb, "Fujitsu Si3515", CXT5045_LAPTOP_HPMICSENSE),
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/agp-intel-add-support-for-G41-chipset.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/agp-intel-add-support-for-G41-chipset.patch
@@ -0,0 +1,59 @@
+commit a50ccc6c6623ab0e64f2109881e07c176b2d876f
+Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date:   Mon Nov 17 14:39:00 2008 +0800
+
+    agp/intel: add support for G41 chipset
+    
+    Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
+    Signed-off-by: Eric Anholt <eric@anholt.net>
+    Signed-off-by: Dave Airlie <airlied@linux.ie>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/char/agp/intel-agp.c linux-source-2.6.26/drivers/char/agp/intel-agp.c
+--- linux-source-2.6.26.orig/drivers/char/agp/intel-agp.c	2009-01-10 05:42:12.000000000 -0700
++++ linux-source-2.6.26/drivers/char/agp/intel-agp.c	2009-02-13 10:43:58.000000000 -0700
+@@ -40,6 +40,8 @@
+ #define PCI_DEVICE_ID_INTEL_Q45_IG          0x2E12
+ #define PCI_DEVICE_ID_INTEL_G45_HB          0x2E20
+ #define PCI_DEVICE_ID_INTEL_G45_IG          0x2E22
++#define PCI_DEVICE_ID_INTEL_G41_HB          0x2E30
++#define PCI_DEVICE_ID_INTEL_G41_IG          0x2E32
+ 
+ /* cover 915 and 945 variants */
+ #define IS_I915 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_E7221_HB || \
+@@ -63,7 +65,8 @@
+ #define IS_G4X (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGD_E_HB || \
+ 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q45_HB || \
+ 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G45_HB || \
+-		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_GM45_HB)
++		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_GM45_HB || \
++		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G41_HB)
+ 
+ extern int agp_memory_reserved;
+ 
+@@ -1188,6 +1191,7 @@ static void intel_i965_get_gtt_range(int
+ 	case PCI_DEVICE_ID_INTEL_IGD_E_HB:
+ 	case PCI_DEVICE_ID_INTEL_Q45_HB:
+ 	case PCI_DEVICE_ID_INTEL_G45_HB:
++	case PCI_DEVICE_ID_INTEL_G41_HB:
+ 		*gtt_offset = *gtt_size = MB(2);
+ 		break;
+ 	default:
+@@ -2127,6 +2131,8 @@ static const struct intel_driver_descrip
+ 	    "Q45/Q43", NULL, &intel_i965_driver },
+ 	{ PCI_DEVICE_ID_INTEL_G45_HB, PCI_DEVICE_ID_INTEL_G45_IG, 0,
+ 	    "G45/G43", NULL, &intel_i965_driver },
++	{ PCI_DEVICE_ID_INTEL_G41_HB, PCI_DEVICE_ID_INTEL_G41_IG, 0,
++	    "G41", NULL, &intel_i965_driver },
+ 	{ 0, 0, 0, NULL, NULL, NULL }
+ };
+ 
+@@ -2321,6 +2327,7 @@ static struct pci_device_id agp_intel_pc
+ 	ID(PCI_DEVICE_ID_INTEL_IGD_E_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_Q45_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_G45_HB),
++	ID(PCI_DEVICE_ID_INTEL_G41_HB),
+ 	{ }
+ };
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/alsa-hda-dell-studio-15-quirk.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/alsa-hda-dell-studio-15-quirk.patch
@@ -0,0 +1,24 @@
+commit b0fc5e043401df4cd243352f1030c4d23e767347
+Author: Takashi Iwai <tiwai@suse.de>
+Date:   Fri Nov 21 08:37:03 2008 +0100
+
+    ALSA: hda - Add a quirk for Dell Studio 15
+    
+    Added the matching model=dell-m6 for Dell Studio 15 laptop.
+    
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_sigmatel.c linux-source-2.6.26/sound/pci/hda/patch_sigmatel.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_sigmatel.c	2009-01-29 16:43:51.000000000 -0700
++++ linux-source-2.6.26/sound/pci/hda/patch_sigmatel.c	2009-02-08 23:36:08.000000000 -0700
+@@ -1308,6 +1308,8 @@ static struct snd_pci_quirk stac92hd73xx
+ 				"unknown Dell", STAC_DELL_M6),
+ 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0271,
+ 				"unknown Dell", STAC_DELL_M6),
++	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x029f,
++				"Dell Studio 15", STAC_DELL_M6),
+ 	{} /* terminator */
+ };
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/alsa-hda-ad2000bx-quirk.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/alsa-hda-ad2000bx-quirk.patch
@@ -0,0 +1,26 @@
+commit f51ff9937bc6732ed5fc08088fdbe89ab8ed27c3
+Author: Robin H. Johnson <robbat2@orbis-terrarum.net>
+Date:   Sat Sep 13 16:55:01 2008 -0700
+
+    ALSA: HDA: patch_analog: Quirk for Asus P5Q Premium/Pro boards.
+    
+    Use 6STACK_DIG for the AD2000BX variant of the AD1989B chip used by Asus
+    on their Asus P5Q Premium and Pro boards.
+    
+    Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_analog.c linux-source-2.6.26/sound/pci/hda/patch_analog.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_analog.c	2009-02-08 23:54:28.000000000 -0700
++++ linux-source-2.6.26/sound/pci/hda/patch_analog.c	2009-02-08 23:55:46.000000000 -0700
+@@ -2874,6 +2874,7 @@ static struct snd_pci_quirk ad1988_cfg_t
+ 	SND_PCI_QUIRK(0x1043, 0x81ec, "Asus P5B-DLX", AD1988_6STACK_DIG),
+ 	SND_PCI_QUIRK(0x1043, 0x81f6, "Asus M2N-SLI", AD1988_6STACK_DIG),
+ 	SND_PCI_QUIRK(0x1043, 0x8277, "Asus P5K-E/WIFI-AP", AD1988_6STACK_DIG),
++	SND_PCI_QUIRK(0x1043, 0x8311, "Asus P5Q-Premium/Pro", AD1988_6STACK_DIG),
+ 	{}
+ };
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/alsa-hda-appletv-support.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/alsa-hda-appletv-support.patch
@@ -0,0 +1,25 @@
+commit f3911c5ab93e4295938b2013104d2986ea601454
+Author: Peter Korsgaard <jacmet@sunsite.dk>
+Date:   Sat Sep 27 09:13:45 2008 +0200
+
+    ALSA: hda: appletv support
+    
+    The AppleTV needs the same handling as the 24" iMac.
+    
+    Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_realtek.c linux-source-2.6.26/sound/pci/hda/patch_realtek.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_realtek.c	2009-01-29 16:43:52.000000000 -0700
++++ linux-source-2.6.26/sound/pci/hda/patch_realtek.c	2009-02-08 23:05:08.000000000 -0700
+@@ -6450,6 +6450,7 @@ static int patch_alc882(struct hda_codec
+ 			board_config = ALC885_MACPRO;
+ 			break;
+ 		case 0x106b1000: /* iMac 24 */
++		case 0x106b2800: /* AppleTV */
+ 			board_config = ALC885_IMAC24;
+ 			break;
+ 		case 0x106b00a1: /* Macbook */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/alsa-hda-add-support-for-toshiba-l305.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/alsa-hda-add-support-for-toshiba-l305.patch
@@ -0,0 +1,26 @@
+commit 2346d0cde544179a8d235375f1bfbca5c141a31b
+Author: Travis Place <wishie@wishie.net>
+Date:   Mon Sep 1 08:24:00 2008 +0200
+
+    ALSA: hda - Add model for Toshiba L305 laptop
+    
+    Added Subsystem IDs (0x1179, 0xff64) for the Toshiba Satellite L305
+    laptop, so it automatically uses the ALC268_TOSHIBA quirk.
+    
+    Signed-off-by: Travis Place <wishie@wishie.net>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_realtek.c linux-source-2.6.26/sound/pci/hda/patch_realtek.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_realtek.c	2009-02-08 23:41:17.000000000 -0700
++++ linux-source-2.6.26/sound/pci/hda/patch_realtek.c	2009-02-09 00:09:22.000000000 -0700
+@@ -10700,6 +10700,7 @@ static struct snd_pci_quirk alc268_cfg_t
+ 	SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC268_3ST),
+ 	SND_PCI_QUIRK(0x1179, 0xff10, "TOSHIBA A205", ALC268_TOSHIBA),
+ 	SND_PCI_QUIRK(0x1179, 0xff50, "TOSHIBA A305", ALC268_TOSHIBA),
++	SND_PCI_QUIRK(0x1179, 0xff64, "TOSHIBA L305", ALC268_TOSHIBA),
+ 	SND_PCI_QUIRK(0x14c0, 0x0025, "COMPAL IFL90/JFL-92", ALC268_TOSHIBA),
+ 	SND_PCI_QUIRK(0x152d, 0x0763, "Diverse (CPR2000)", ALC268_ACER),
+ 	SND_PCI_QUIRK(0x152d, 0x0771, "Quanta IL1", ALC267_QUANTA_IL1),
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/arch-ia32-entry-int80-enosys-xen.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/arch-ia32-entry-int80-enosys-xen.patch
@@ -0,0 +1,23 @@
+diff --git a/arch/x86/ia32/ia32entry-xen.S b/arch/x86/ia32/ia32entry-xen.S
+index 256b00b..5a0d76d 100644
+--- a/arch/x86/ia32/ia32entry-xen.S
++++ b/arch/x86/ia32/ia32entry-xen.S
+@@ -418,5 +418,5 @@
+ 	jnz ia32_tracesys
+-ia32_do_syscall:	
+ 	cmpl $(IA32_NR_syscalls-1),%eax
+-	ja  int_ret_from_sys_call	/* ia32_tracesys has set RAX(%rsp) */
++	ja ia32_badsys
++ia32_do_call:
+ 	IA32_ARG_FIXUP
+@@ -435,7 +435,9 @@ ia32_tracesys:
+ 	call syscall_trace_enter
+ 	LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed it */
+ 	RESTORE_REST
+-	jmp ia32_do_syscall
++	cmpl $(IA32_NR_syscalls-1),%eax
++	ja  int_ret_from_sys_call	/* ia32_tracesys has set RAX(%rsp) */
++	jmp ia32_do_call
+ END(ia32_syscall)
+ 
+ ia32_badsys:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/alsa-hda-medion-md96630-quirk.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/alsa-hda-medion-md96630-quirk.patch
@@ -0,0 +1,26 @@
+commit 959973b92d3ba235edfa5dcb5df1be1e5d1deba2
+Author: Takashi Iwai <tiwai@suse.de>
+Date:   Wed Nov 5 11:30:56 2008 +0100
+
+    ALSA: hda - Add a quirk for MEDION MD96630
+    
+    Use model=lenovo-ms7195-dig for MEDION MD96630 laptop (17c0:4085)
+    with ALC888 codec.
+    Reference: Novell bnc#412548
+    	https://bugzilla.novell.com/show_bug.cgi?id=412528
+    
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_realtek.c linux-source-2.6.26/sound/pci/hda/patch_realtek.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_realtek.c	2009-02-08 23:24:29.000000000 -0700
++++ linux-source-2.6.26/sound/pci/hda/patch_realtek.c	2009-02-08 23:41:17.000000000 -0700
+@@ -7879,6 +7879,7 @@ static struct snd_pci_quirk alc883_cfg_t
+ 	SND_PCI_QUIRK(0x17aa, 0x3bfc, "Lenovo NB0763", ALC883_LENOVO_NB0763),
+ 	SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763),
+ 	SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
++	SND_PCI_QUIRK(0x17c0, 0x4085, "MEDION MD96630", ALC888_LENOVO_MS7195_DIG),
+ 	SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG),
+ 	SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66),
+ 	SND_PCI_QUIRK(0x8086, 0x0001, "DG33BUC", ALC883_3ST_6ch_INTEL),
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/amd-opteron-tom2-mask-val-fix.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/amd-opteron-tom2-mask-val-fix.patch
@@ -0,0 +1,47 @@
+commit 8004dd965b13b01a96def054d420f6df7ff22d53
+Author: Yinghai Lu <yhlu.kernel@gmail.com>
+Date:   Mon May 12 17:40:39 2008 -0700
+
+    x86: amd opteron TOM2 mask val fix
+    
+    there is a typo in the mask value, need to remove that extra 0,
+    to avoid 4bit clearing.
+    
+    Signed-off-by: Yinghal Lu <yhlu.kernel@gmail.com>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@hp.com>
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/kernel/cpu/mtrr/generic.c linux-source-2.6.26/arch/x86/kernel/cpu/mtrr/generic.c
+--- linux-source-2.6.26.orig/arch/x86/kernel/cpu/mtrr/generic.c	2008-08-11 22:55:59.000000000 -0600
++++ linux-source-2.6.26/arch/x86/kernel/cpu/mtrr/generic.c	2008-08-11 22:57:13.000000000 -0600
+@@ -219,7 +219,7 @@ void __init get_mtrr_state(void)
+ 		tom2 = hi;
+ 		tom2 <<= 32;
+ 		tom2 |= lo;
+-		tom2 &= 0xffffff8000000ULL;
++		tom2 &= 0xffffff800000ULL;
+ 	}
+ 	if (mtrr_show) {
+ 		int high_width;
+diff -urpN linux-source-2.6.26.orig/arch/x86/pci/k8-bus_64.c linux-source-2.6.26/arch/x86/pci/k8-bus_64.c
+--- linux-source-2.6.26.orig/arch/x86/pci/k8-bus_64.c	2008-08-11 22:55:59.000000000 -0600
++++ linux-source-2.6.26/arch/x86/pci/k8-bus_64.c	2008-08-11 22:57:13.000000000 -0600
+@@ -384,7 +384,7 @@ static int __init early_fill_mp_bus_info
+ 	/* need to take out [0, TOM) for RAM*/
+ 	address = MSR_K8_TOP_MEM1;
+ 	rdmsrl(address, val);
+-	end = (val & 0xffffff8000000ULL);
++	end = (val & 0xffffff800000ULL);
+ 	printk(KERN_INFO "TOM: %016lx aka %ldM\n", end, end>>20);
+ 	if (end < (1ULL<<32))
+ 		update_range(range, 0, end - 1);
+@@ -478,7 +478,7 @@ static int __init early_fill_mp_bus_info
+ 		/* TOP_MEM2 */
+ 		address = MSR_K8_TOP_MEM2;
+ 		rdmsrl(address, val);
+-		end = (val & 0xffffff8000000ULL);
++		end = (val & 0xffffff800000ULL);
+ 		printk(KERN_INFO "TOM2: %016lx aka %ldM\n", end, end>>20);
+ 		update_range(range, 1ULL<<32, end - 1);
+ 	}
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/fix-copy_user.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/fix-copy_user.patch
@@ -0,0 +1,883 @@
+commit ad2fc2cd925300b8127cf682f5a1c7511ae9dd27
+Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
+Date:   Wed Jul 2 15:53:13 2008 +0200
+
+    x86: fix copy_user on x86
+    
+    Switch copy_user_generic_string(), copy_user_generic_unrolled() and
+    __copy_user_nocache() from custom tail handlers to generic
+    copy_user_tail_handle().
+    
+    Signed-off-by: Vitaly Mayatskikh <v.mayatskih@gmail.com>
+    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+commit 27cb0a75ba252ea7294d67232c4bbbac3f2b2656
+Author: Jeremy Fitzhardinge <jeremy@goop.org>
+Date:   Thu Jul 10 12:52:52 2008 -0700
+
+    x86: fix compile error in current tip.git
+    
+    Gas 2.15 complains about 32-bit registers being used in lea.
+    
+      AS      arch/x86/lib/copy_user_64.o
+    /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S: Assembler messages:
+    /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:188: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression
+    /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:257: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression
+      AS      arch/x86/lib/copy_user_nocache_64.o
+    /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S: Assembler messages:
+    /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S:107: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression
+    
+    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
+    Cc: Vitaly Mayatskikh <v.mayatskih@gmail.com>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+commit afd962a9e8708c571c5c0c4a6d098f931742c229
+Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
+Date:   Wed Jul 30 13:30:14 2008 +0200
+
+    x86: wrong register was used in align macro
+    
+    New ALIGN_DESTINATION macro has sad typo: r8d register was used instead
+    of ecx in fixup section. This can be considered as a regression.
+    
+    Register ecx was also wrongly loaded with value in r8d in
+    copy_user_nocache routine.
+    
+    Signed-off-by: Vitaly Mayatskikh <v.mayatskih@gmail.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@hp.com>
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/lib/copy_user_64.S linux-source-2.6.26/arch/x86/lib/copy_user_64.S
+--- linux-source-2.6.26.orig/arch/x86/lib/copy_user_64.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/x86/lib/copy_user_64.S	2008-08-26 15:25:38.000000000 -0600
+@@ -1,8 +1,10 @@
+-/* Copyright 2002 Andi Kleen, SuSE Labs.
++/*
++ * Copyright 2008 Vitaly Mayatskikh <vmayatsk@redhat.com>
++ * Copyright 2002 Andi Kleen, SuSE Labs.
+  * Subject to the GNU Public License v2.
+- * 
+- * Functions to copy from and to user space.		
+- */		 
++ *
++ * Functions to copy from and to user space.
++ */
+ 
+ #include <linux/linkage.h>
+ #include <asm/dwarf2.h>
+@@ -20,60 +22,88 @@
+ 	.long \orig-1f	/* by default jump to orig */
+ 1:
+ 	.section .altinstr_replacement,"ax"
+-2:	.byte 0xe9	             /* near jump with 32bit immediate */
++2:	.byte 0xe9			/* near jump with 32bit immediate */
+ 	.long \alt-1b /* offset */   /* or alternatively to alt */
+ 	.previous
+ 	.section .altinstructions,"a"
+ 	.align 8
+ 	.quad  0b
+ 	.quad  2b
+-	.byte  \feature		     /* when feature is set */
++	.byte  \feature			/* when feature is set */
+ 	.byte  5
+ 	.byte  5
+ 	.previous
+ 	.endm
+ 
+-/* Standard copy_to_user with segment limit checking */		
++	.macro ALIGN_DESTINATION
++#ifdef FIX_ALIGNMENT
++	/* check for bad alignment of destination */
++	movl %edi,%ecx
++	andl $7,%ecx
++	jz 102f				/* already aligned */
++	subl $8,%ecx
++	negl %ecx
++	subl %ecx,%edx
++100:	movb (%rsi),%al
++101:	movb %al,(%rdi)
++	incq %rsi
++	incq %rdi
++	decl %ecx
++	jnz 100b
++102:
++	.section .fixup,"ax"
++103:	addl %ecx,%edx			/* ecx is zerorest also */
++	jmp copy_user_handle_tail
++	.previous
++
++	.section __ex_table,"a"
++	.align 8
++	.quad 100b,103b
++	.quad 101b,103b
++	.previous
++#endif
++	.endm
++
++/* Standard copy_to_user with segment limit checking */
+ ENTRY(copy_to_user)
+ 	CFI_STARTPROC
+ 	GET_THREAD_INFO(%rax)
+ 	movq %rdi,%rcx
+ 	addq %rdx,%rcx
+-	jc  bad_to_user
++	jc bad_to_user
+ 	cmpq threadinfo_addr_limit(%rax),%rcx
+ 	jae bad_to_user
+-	xorl %eax,%eax	/* clear zero flag */
+ 	ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_user_generic_string
+ 	CFI_ENDPROC
+ 
+-ENTRY(copy_user_generic)
++/* Standard copy_from_user with segment limit checking */
++ENTRY(copy_from_user)
+ 	CFI_STARTPROC
+-	movl $1,%ecx	/* set zero flag */
++	GET_THREAD_INFO(%rax)
++	movq %rsi,%rcx
++	addq %rdx,%rcx
++	jc bad_from_user
++	cmpq threadinfo_addr_limit(%rax),%rcx
++	jae bad_from_user
+ 	ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_user_generic_string
+ 	CFI_ENDPROC
++ENDPROC(copy_from_user)
+ 
+-ENTRY(__copy_from_user_inatomic)
++ENTRY(copy_user_generic)
+ 	CFI_STARTPROC
+-	xorl %ecx,%ecx	/* clear zero flag */
+ 	ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_user_generic_string
+ 	CFI_ENDPROC
++ENDPROC(copy_user_generic)
+ 
+-/* Standard copy_from_user with segment limit checking */	
+-ENTRY(copy_from_user)
++ENTRY(__copy_from_user_inatomic)
+ 	CFI_STARTPROC
+-	GET_THREAD_INFO(%rax)
+-	movq %rsi,%rcx
+-	addq %rdx,%rcx
+-	jc  bad_from_user
+-	cmpq threadinfo_addr_limit(%rax),%rcx
+-	jae  bad_from_user
+-	movl $1,%ecx	/* set zero flag */
+ 	ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_user_generic_string
+ 	CFI_ENDPROC
+-ENDPROC(copy_from_user)
+-	
++ENDPROC(__copy_from_user_inatomic)
++
+ 	.section .fixup,"ax"
+ 	/* must zero dest */
++ENTRY(bad_from_user)
+ bad_from_user:
+ 	CFI_STARTPROC
+ 	movl %edx,%ecx
+@@ -81,271 +111,158 @@ bad_from_user:
+ 	rep
+ 	stosb
+ bad_to_user:
+-	movl	%edx,%eax
++	movl %edx,%eax
+ 	ret
+ 	CFI_ENDPROC
+-END(bad_from_user)
++ENDPROC(bad_from_user)
+ 	.previous
+-	
+-		
++
+ /*
+  * copy_user_generic_unrolled - memory copy with exception handling.
+- * This version is for CPUs like P4 that don't have efficient micro code for rep movsq
+- * 	
+- * Input:	
++ * This version is for CPUs like P4 that don't have efficient micro
++ * code for rep movsq
++ *
++ * Input:
+  * rdi destination
+  * rsi source
+  * rdx count
+- * ecx zero flag -- if true zero destination on error
+  *
+- * Output:		
+- * eax uncopied bytes or 0 if successful.
++ * Output:
++ * eax uncopied bytes or 0 if successfull.
+  */
+ ENTRY(copy_user_generic_unrolled)
+ 	CFI_STARTPROC
+-	pushq %rbx
+-	CFI_ADJUST_CFA_OFFSET 8
+-	CFI_REL_OFFSET rbx, 0
+-	pushq %rcx
+-	CFI_ADJUST_CFA_OFFSET 8
+-	CFI_REL_OFFSET rcx, 0
+-	xorl %eax,%eax		/*zero for the exception handler */
+-
+-#ifdef FIX_ALIGNMENT
+-	/* check for bad alignment of destination */
+-	movl %edi,%ecx
+-	andl $7,%ecx
+-	jnz  .Lbad_alignment
+-.Lafter_bad_alignment:
+-#endif
+-
+-	movq %rdx,%rcx
+-
+-	movl $64,%ebx
+-	shrq $6,%rdx
+-	decq %rdx
+-	js   .Lhandle_tail
+-
+-	.p2align 4
+-.Lloop:
+-.Ls1:	movq (%rsi),%r11
+-.Ls2:	movq 1*8(%rsi),%r8
+-.Ls3:	movq 2*8(%rsi),%r9
+-.Ls4:	movq 3*8(%rsi),%r10
+-.Ld1:	movq %r11,(%rdi)
+-.Ld2:	movq %r8,1*8(%rdi)
+-.Ld3:	movq %r9,2*8(%rdi)
+-.Ld4:	movq %r10,3*8(%rdi)
+-
+-.Ls5:	movq 4*8(%rsi),%r11
+-.Ls6:	movq 5*8(%rsi),%r8
+-.Ls7:	movq 6*8(%rsi),%r9
+-.Ls8:	movq 7*8(%rsi),%r10
+-.Ld5:	movq %r11,4*8(%rdi)
+-.Ld6:	movq %r8,5*8(%rdi)
+-.Ld7:	movq %r9,6*8(%rdi)
+-.Ld8:	movq %r10,7*8(%rdi)
+-
+-	decq %rdx
+-
++	cmpl $8,%edx
++	jb 20f		/* less then 8 bytes, go to byte copy loop */
++	ALIGN_DESTINATION
++	movl %edx,%ecx
++	andl $63,%edx
++	shrl $6,%ecx
++	jz 17f
++1:	movq (%rsi),%r8
++2:	movq 1*8(%rsi),%r9
++3:	movq 2*8(%rsi),%r10
++4:	movq 3*8(%rsi),%r11
++5:	movq %r8,(%rdi)
++6:	movq %r9,1*8(%rdi)
++7:	movq %r10,2*8(%rdi)
++8:	movq %r11,3*8(%rdi)
++9:	movq 4*8(%rsi),%r8
++10:	movq 5*8(%rsi),%r9
++11:	movq 6*8(%rsi),%r10
++12:	movq 7*8(%rsi),%r11
++13:	movq %r8,4*8(%rdi)
++14:	movq %r9,5*8(%rdi)
++15:	movq %r10,6*8(%rdi)
++16:	movq %r11,7*8(%rdi)
+ 	leaq 64(%rsi),%rsi
+ 	leaq 64(%rdi),%rdi
+-
+-	jns  .Lloop
+-
+-	.p2align 4
+-.Lhandle_tail:
+-	movl %ecx,%edx
+-	andl $63,%ecx
+-	shrl $3,%ecx
+-	jz   .Lhandle_7
+-	movl $8,%ebx
+-	.p2align 4
+-.Lloop_8:
+-.Ls9:	movq (%rsi),%r8
+-.Ld9:	movq %r8,(%rdi)
+ 	decl %ecx
+-	leaq 8(%rdi),%rdi
++	jnz 1b
++17:	movl %edx,%ecx
++	andl $7,%edx
++	shrl $3,%ecx
++	jz 20f
++18:	movq (%rsi),%r8
++19:	movq %r8,(%rdi)
+ 	leaq 8(%rsi),%rsi
+-	jnz .Lloop_8
+-
+-.Lhandle_7:
++	leaq 8(%rdi),%rdi
++	decl %ecx
++	jnz 18b
++20:	andl %edx,%edx
++	jz 23f
+ 	movl %edx,%ecx
+-	andl $7,%ecx
+-	jz   .Lende
+-	.p2align 4
+-.Lloop_1:
+-.Ls10:	movb (%rsi),%bl
+-.Ld10:	movb %bl,(%rdi)
+-	incq %rdi
++21:	movb (%rsi),%al
++22:	movb %al,(%rdi)
+ 	incq %rsi
++	incq %rdi
+ 	decl %ecx
+-	jnz .Lloop_1
+-
+-	CFI_REMEMBER_STATE
+-.Lende:
+-	popq %rcx
+-	CFI_ADJUST_CFA_OFFSET -8
+-	CFI_RESTORE rcx
+-	popq %rbx
+-	CFI_ADJUST_CFA_OFFSET -8
+-	CFI_RESTORE rbx
++	jnz 21b
++23:	xor %eax,%eax
+ 	ret
+-	CFI_RESTORE_STATE
+ 
+-#ifdef FIX_ALIGNMENT
+-	/* align destination */
+-	.p2align 4
+-.Lbad_alignment:
+-	movl $8,%r9d
+-	subl %ecx,%r9d
+-	movl %r9d,%ecx
+-	cmpq %r9,%rdx
+-	jz   .Lhandle_7
+-	js   .Lhandle_7
+-.Lalign_1:
+-.Ls11:	movb (%rsi),%bl
+-.Ld11:	movb %bl,(%rdi)
+-	incq %rsi
+-	incq %rdi
+-	decl %ecx
+-	jnz .Lalign_1
+-	subq %r9,%rdx
+-	jmp .Lafter_bad_alignment
+-#endif
++	.section .fixup,"ax"
++30:	shll $6,%ecx
++	addl %ecx,%edx
++	jmp 60f
++40:	lea (%rdx,%rcx,8),%rdx
++	jmp 60f
++50:	movl %ecx,%edx
++60:	jmp copy_user_handle_tail /* ecx is zerorest also */
++	.previous
+ 
+-	/* table sorted by exception address */
+ 	.section __ex_table,"a"
+ 	.align 8
+-	.quad .Ls1,.Ls1e	/* Ls1-Ls4 have copied zero bytes */
+-	.quad .Ls2,.Ls1e
+-	.quad .Ls3,.Ls1e
+-	.quad .Ls4,.Ls1e
+-	.quad .Ld1,.Ls1e	/* Ld1-Ld4 have copied 0-24 bytes */
+-	.quad .Ld2,.Ls2e
+-	.quad .Ld3,.Ls3e
+-	.quad .Ld4,.Ls4e
+-	.quad .Ls5,.Ls5e	/* Ls5-Ls8 have copied 32 bytes */
+-	.quad .Ls6,.Ls5e
+-	.quad .Ls7,.Ls5e
+-	.quad .Ls8,.Ls5e
+-	.quad .Ld5,.Ls5e	/* Ld5-Ld8 have copied 32-56 bytes */
+-	.quad .Ld6,.Ls6e
+-	.quad .Ld7,.Ls7e
+-	.quad .Ld8,.Ls8e
+-	.quad .Ls9,.Le_quad
+-	.quad .Ld9,.Le_quad
+-	.quad .Ls10,.Le_byte
+-	.quad .Ld10,.Le_byte
+-#ifdef FIX_ALIGNMENT
+-	.quad .Ls11,.Lzero_rest
+-	.quad .Ld11,.Lzero_rest
+-#endif
+-	.quad .Le5,.Le_zero
++	.quad 1b,30b
++	.quad 2b,30b
++	.quad 3b,30b
++	.quad 4b,30b
++	.quad 5b,30b
++	.quad 6b,30b
++	.quad 7b,30b
++	.quad 8b,30b
++	.quad 9b,30b
++	.quad 10b,30b
++	.quad 11b,30b
++	.quad 12b,30b
++	.quad 13b,30b
++	.quad 14b,30b
++	.quad 15b,30b
++	.quad 16b,30b
++	.quad 18b,40b
++	.quad 19b,40b
++	.quad 21b,50b
++	.quad 22b,50b
+ 	.previous
+-
+-	/* eax: zero, ebx: 64 */
+-.Ls1e: 	addl $8,%eax		/* eax is bytes left uncopied within the loop (Ls1e: 64 .. Ls8e: 8) */
+-.Ls2e: 	addl $8,%eax
+-.Ls3e: 	addl $8,%eax
+-.Ls4e: 	addl $8,%eax
+-.Ls5e: 	addl $8,%eax
+-.Ls6e: 	addl $8,%eax
+-.Ls7e: 	addl $8,%eax
+-.Ls8e: 	addl $8,%eax
+-	addq %rbx,%rdi	/* +64 */
+-	subq %rax,%rdi  /* correct destination with computed offset */
+-
+-	shlq $6,%rdx	/* loop counter * 64 (stride length) */
+-	addq %rax,%rdx	/* add offset to loopcnt */
+-	andl $63,%ecx	/* remaining bytes */
+-	addq %rcx,%rdx	/* add them */
+-	jmp .Lzero_rest
+-
+-	/* exception on quad word loop in tail handling */
+-	/* ecx:	loopcnt/8, %edx: length, rdi: correct */
+-.Le_quad:
+-	shll $3,%ecx
+-	andl $7,%edx
+-	addl %ecx,%edx
+-	/* edx: bytes to zero, rdi: dest, eax:zero */
+-.Lzero_rest:
+-	cmpl $0,(%rsp)
+-	jz   .Le_zero
+-	movq %rdx,%rcx
+-.Le_byte:
+-	xorl %eax,%eax
+-.Le5:	rep
+-	stosb
+-	/* when there is another exception while zeroing the rest just return */
+-.Le_zero:
+-	movq %rdx,%rax
+-	jmp .Lende
+ 	CFI_ENDPROC
+-ENDPROC(copy_user_generic)
++ENDPROC(copy_user_generic_unrolled)
+ 
+-
+-	/* Some CPUs run faster using the string copy instructions.
+-	   This is also a lot simpler. Use them when possible.
+-	   Patch in jmps to this code instead of copying it fully
+-	   to avoid unwanted aliasing in the exception tables. */
+-
+- /* rdi	destination
+-  * rsi source
+-  * rdx count
+-  * ecx zero flag
+-  *
+-  * Output:
+-  * eax uncopied bytes or 0 if successfull.
+-  *
+-  * Only 4GB of copy is supported. This shouldn't be a problem
+-  * because the kernel normally only writes from/to page sized chunks
+-  * even if user space passed a longer buffer.
+-  * And more would be dangerous because both Intel and AMD have
+-  * errata with rep movsq > 4GB. If someone feels the need to fix
+-  * this please consider this.
+-  */
++/* Some CPUs run faster using the string copy instructions.
++ * This is also a lot simpler. Use them when possible.
++ *
++ * Only 4GB of copy is supported. This shouldn't be a problem
++ * because the kernel normally only writes from/to page sized chunks
++ * even if user space passed a longer buffer.
++ * And more would be dangerous because both Intel and AMD have
++ * errata with rep movsq > 4GB. If someone feels the need to fix
++ * this please consider this.
++ *
++ * Input:
++ * rdi destination
++ * rsi source
++ * rdx count
++ *
++ * Output:
++ * eax uncopied bytes or 0 if successful.
++ */
+ ENTRY(copy_user_generic_string)
+ 	CFI_STARTPROC
+-	movl %ecx,%r8d		/* save zero flag */
++	andl %edx,%edx
++	jz 4f
++	cmpl $8,%edx
++	jb 2f		/* less than 8 bytes, go to byte copy loop */
++	ALIGN_DESTINATION
+ 	movl %edx,%ecx
+ 	shrl $3,%ecx
+-	andl $7,%edx	
+-	jz   10f
+-1:	rep 
+-	movsq 
+-	movl %edx,%ecx
+-2:	rep
+-	movsb
+-9:	movl %ecx,%eax
+-	ret
+-
+-	/* multiple of 8 byte */
+-10:	rep
++	andl $7,%edx
++1:	rep
+ 	movsq
+-	xor %eax,%eax
++2:	movl %edx,%ecx
++3:	rep
++	movsb
++4:	xorl %eax,%eax
+ 	ret
+ 
+-	/* exception handling */
+-3:      lea (%rdx,%rcx,8),%rax	/* exception on quad loop */
+-	jmp 6f
+-5:	movl %ecx,%eax		/* exception on byte loop */
+-	/* eax: left over bytes */
+-6:	testl %r8d,%r8d		/* zero flag set? */
+-	jz 7f
+-	movl %eax,%ecx		/* initialize x86 loop counter */
+-	push %rax
+-	xorl %eax,%eax
+-8:	rep
+-	stosb 			/* zero the rest */
+-11:	pop %rax
+-7:	ret
+-	CFI_ENDPROC
+-END(copy_user_generic_c)
++	.section .fixup,"ax"
++11:	lea (%rdx,%rcx,8),%rcx
++12:	movl %ecx,%edx		/* ecx is zerorest also */
++	jmp copy_user_handle_tail
++	.previous
+ 
+ 	.section __ex_table,"a"
+-	.quad 1b,3b
+-	.quad 2b,5b
+-	.quad 8b,11b
+-	.quad 10b,3b
++	.align 8
++	.quad 1b,11b
++	.quad 3b,12b
+ 	.previous
++	CFI_ENDPROC
++ENDPROC(copy_user_generic_string)
+diff -urpN linux-source-2.6.26.orig/arch/x86/lib/copy_user_nocache_64.S linux-source-2.6.26/arch/x86/lib/copy_user_nocache_64.S
+--- linux-source-2.6.26.orig/arch/x86/lib/copy_user_nocache_64.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/x86/lib/copy_user_nocache_64.S	2008-08-26 15:25:38.000000000 -0600
+@@ -1,4 +1,6 @@
+-/* Copyright 2002 Andi Kleen, SuSE Labs.
++/*
++ * Copyright 2008 Vitaly Mayatskikh <vmayatsk@redhat.com>
++ * Copyright 2002 Andi Kleen, SuSE Labs.
+  * Subject to the GNU Public License v2.
+  *
+  * Functions to copy from and to user space.
+@@ -12,204 +14,124 @@
+ #include <asm/current.h>
+ #include <asm/asm-offsets.h>
+ #include <asm/thread_info.h>
+-#include <asm/cpufeature.h>
+-
+-/*
+- * copy_user_nocache - Uncached memory copy with exception handling
+- * This will force destination/source out of cache for more performance.
+- *
+- * Input:
+- * rdi destination
+- * rsi source
+- * rdx count
+- * rcx zero flag	when 1 zero on exception
+- *
+- * Output:
+- * eax uncopied bytes or 0 if successful.
+- */
+-ENTRY(__copy_user_nocache)
+-	CFI_STARTPROC
+-	pushq %rbx
+-	CFI_ADJUST_CFA_OFFSET 8
+-	CFI_REL_OFFSET rbx, 0
+-	pushq %rcx		/* save zero flag */
+-	CFI_ADJUST_CFA_OFFSET 8
+-	CFI_REL_OFFSET rcx, 0
+-
+-	xorl %eax,%eax		/* zero for the exception handler */
+ 
++	.macro ALIGN_DESTINATION
+ #ifdef FIX_ALIGNMENT
+ 	/* check for bad alignment of destination */
+ 	movl %edi,%ecx
+ 	andl $7,%ecx
+-	jnz  .Lbad_alignment
+-.Lafter_bad_alignment:
+-#endif
+-
+-	movq %rdx,%rcx
+-
+-	movl $64,%ebx
+-	shrq $6,%rdx
+-	decq %rdx
+-	js   .Lhandle_tail
+-
+-	.p2align 4
+-.Lloop:
+-.Ls1:	movq (%rsi),%r11
+-.Ls2:	movq 1*8(%rsi),%r8
+-.Ls3:	movq 2*8(%rsi),%r9
+-.Ls4:	movq 3*8(%rsi),%r10
+-.Ld1:	movnti %r11,(%rdi)
+-.Ld2:	movnti %r8,1*8(%rdi)
+-.Ld3:	movnti %r9,2*8(%rdi)
+-.Ld4:	movnti %r10,3*8(%rdi)
+-
+-.Ls5:	movq 4*8(%rsi),%r11
+-.Ls6:	movq 5*8(%rsi),%r8
+-.Ls7:	movq 6*8(%rsi),%r9
+-.Ls8:	movq 7*8(%rsi),%r10
+-.Ld5:	movnti %r11,4*8(%rdi)
+-.Ld6:	movnti %r8,5*8(%rdi)
+-.Ld7:	movnti %r9,6*8(%rdi)
+-.Ld8:	movnti %r10,7*8(%rdi)
++	jz 102f				/* already aligned */
++	subl $8,%ecx
++	negl %ecx
++	subl %ecx,%edx
++100:	movb (%rsi),%al
++101:	movb %al,(%rdi)
++	incq %rsi
++	incq %rdi
++	decl %ecx
++	jnz 100b
++102:
++	.section .fixup,"ax"
++103:	addl %ecx,%edx			/* ecx is zerorest also */
++	jmp copy_user_handle_tail
++	.previous
+ 
+-	dec  %rdx
++	.section __ex_table,"a"
++	.align 8
++	.quad 100b,103b
++	.quad 101b,103b
++	.previous
++#endif
++	.endm
+ 
++/*
++ * copy_user_nocache - Uncached memory copy with exception handling
++ * This will force destination/source out of cache for more performance.
++ */
++ENTRY(__copy_user_nocache)
++	CFI_STARTPROC
++	cmpl $8,%edx
++	jb 20f		/* less then 8 bytes, go to byte copy loop */
++	ALIGN_DESTINATION
++	movl %edx,%ecx
++	andl $63,%edx
++	shrl $6,%ecx
++	jz 17f
++1:	movq (%rsi),%r8
++2:	movq 1*8(%rsi),%r9
++3:	movq 2*8(%rsi),%r10
++4:	movq 3*8(%rsi),%r11
++5:	movnti %r8,(%rdi)
++6:	movnti %r9,1*8(%rdi)
++7:	movnti %r10,2*8(%rdi)
++8:	movnti %r11,3*8(%rdi)
++9:	movq 4*8(%rsi),%r8
++10:	movq 5*8(%rsi),%r9
++11:	movq 6*8(%rsi),%r10
++12:	movq 7*8(%rsi),%r11
++13:	movnti %r8,4*8(%rdi)
++14:	movnti %r9,5*8(%rdi)
++15:	movnti %r10,6*8(%rdi)
++16:	movnti %r11,7*8(%rdi)
+ 	leaq 64(%rsi),%rsi
+ 	leaq 64(%rdi),%rdi
+-
+-	jns  .Lloop
+-
+-	.p2align 4
+-.Lhandle_tail:
+-	movl %ecx,%edx
+-	andl $63,%ecx
+-	shrl $3,%ecx
+-	jz   .Lhandle_7
+-	movl $8,%ebx
+-	.p2align 4
+-.Lloop_8:
+-.Ls9:	movq (%rsi),%r8
+-.Ld9:	movnti %r8,(%rdi)
+ 	decl %ecx
+-	leaq 8(%rdi),%rdi
++	jnz 1b
++17:	movl %edx,%ecx
++	andl $7,%edx
++	shrl $3,%ecx
++	jz 20f
++18:	movq (%rsi),%r8
++19:	movnti %r8,(%rdi)
+ 	leaq 8(%rsi),%rsi
+-	jnz .Lloop_8
+-
+-.Lhandle_7:
++	leaq 8(%rdi),%rdi
++	decl %ecx
++	jnz 18b
++20:	andl %edx,%edx
++	jz 23f
+ 	movl %edx,%ecx
+-	andl $7,%ecx
+-	jz   .Lende
+-	.p2align 4
+-.Lloop_1:
+-.Ls10:	movb (%rsi),%bl
+-.Ld10:	movb %bl,(%rdi)
+-	incq %rdi
++21:	movb (%rsi),%al
++22:	movb %al,(%rdi)
+ 	incq %rsi
++	incq %rdi
+ 	decl %ecx
+-	jnz .Lloop_1
+-
+-	CFI_REMEMBER_STATE
+-.Lende:
+-	popq %rcx
+-	CFI_ADJUST_CFA_OFFSET -8
+-	CFI_RESTORE %rcx
+-	popq %rbx
+-	CFI_ADJUST_CFA_OFFSET -8
+-	CFI_RESTORE rbx
++	jnz 21b
++23:	xorl %eax,%eax
+ 	sfence
+ 	ret
+-	CFI_RESTORE_STATE
+ 
+-#ifdef FIX_ALIGNMENT
+-	/* align destination */
+-	.p2align 4
+-.Lbad_alignment:
+-	movl $8,%r9d
+-	subl %ecx,%r9d
+-	movl %r9d,%ecx
+-	cmpq %r9,%rdx
+-	jz   .Lhandle_7
+-	js   .Lhandle_7
+-.Lalign_1:
+-.Ls11:	movb (%rsi),%bl
+-.Ld11:	movb %bl,(%rdi)
+-	incq %rsi
+-	incq %rdi
+-	decl %ecx
+-	jnz .Lalign_1
+-	subq %r9,%rdx
+-	jmp .Lafter_bad_alignment
+-#endif
++	.section .fixup,"ax"
++30:	shll $6,%ecx
++	addl %ecx,%edx
++	jmp 60f
++40:	lea (%rdx,%rcx,8),%rdx
++	jmp 60f
++50:	movl %ecx,%edx
++60:	sfence
++	jmp copy_user_handle_tail
++	.previous
+ 
+-	/* table sorted by exception address */
+ 	.section __ex_table,"a"
+-	.align 8
+-	.quad .Ls1,.Ls1e	/* .Ls[1-4] - 0 bytes copied */
+-	.quad .Ls2,.Ls1e
+-	.quad .Ls3,.Ls1e
+-	.quad .Ls4,.Ls1e
+-	.quad .Ld1,.Ls1e	/* .Ld[1-4] - 0..24 bytes coped */
+-	.quad .Ld2,.Ls2e
+-	.quad .Ld3,.Ls3e
+-	.quad .Ld4,.Ls4e
+-	.quad .Ls5,.Ls5e	/* .Ls[5-8] - 32 bytes copied */
+-	.quad .Ls6,.Ls5e
+-	.quad .Ls7,.Ls5e
+-	.quad .Ls8,.Ls5e
+-	.quad .Ld5,.Ls5e	/* .Ld[5-8] - 32..56 bytes copied */
+-	.quad .Ld6,.Ls6e
+-	.quad .Ld7,.Ls7e
+-	.quad .Ld8,.Ls8e
+-	.quad .Ls9,.Le_quad
+-	.quad .Ld9,.Le_quad
+-	.quad .Ls10,.Le_byte
+-	.quad .Ld10,.Le_byte
+-#ifdef FIX_ALIGNMENT
+-	.quad .Ls11,.Lzero_rest
+-	.quad .Ld11,.Lzero_rest
+-#endif
+-	.quad .Le5,.Le_zero
++	.quad 1b,30b
++	.quad 2b,30b
++	.quad 3b,30b
++	.quad 4b,30b
++	.quad 5b,30b
++	.quad 6b,30b
++	.quad 7b,30b
++	.quad 8b,30b
++	.quad 9b,30b
++	.quad 10b,30b
++	.quad 11b,30b
++	.quad 12b,30b
++	.quad 13b,30b
++	.quad 14b,30b
++	.quad 15b,30b
++	.quad 16b,30b
++	.quad 18b,40b
++	.quad 19b,40b
++	.quad 21b,50b
++	.quad 22b,50b
+ 	.previous
+-
+-	/* eax: zero, ebx: 64 */
+-.Ls1e: 	addl $8,%eax	/* eax: bytes left uncopied: Ls1e: 64 .. Ls8e: 8 */
+-.Ls2e: 	addl $8,%eax
+-.Ls3e: 	addl $8,%eax
+-.Ls4e: 	addl $8,%eax
+-.Ls5e: 	addl $8,%eax
+-.Ls6e: 	addl $8,%eax
+-.Ls7e: 	addl $8,%eax
+-.Ls8e: 	addl $8,%eax
+-	addq %rbx,%rdi	/* +64 */
+-	subq %rax,%rdi  /* correct destination with computed offset */
+-
+-	shlq $6,%rdx	/* loop counter * 64 (stride length) */
+-	addq %rax,%rdx	/* add offset to loopcnt */
+-	andl $63,%ecx	/* remaining bytes */
+-	addq %rcx,%rdx	/* add them */
+-	jmp .Lzero_rest
+-
+-	/* exception on quad word loop in tail handling */
+-	/* ecx:	loopcnt/8, %edx: length, rdi: correct */
+-.Le_quad:
+-	shll $3,%ecx
+-	andl $7,%edx
+-	addl %ecx,%edx
+-	/* edx: bytes to zero, rdi: dest, eax:zero */
+-.Lzero_rest:
+-	cmpl $0,(%rsp)	/* zero flag set? */
+-	jz   .Le_zero
+-	movq %rdx,%rcx
+-.Le_byte:
+-	xorl %eax,%eax
+-.Le5:	rep
+-	stosb
+-	/* when there is another exception while zeroing the rest just return */
+-.Le_zero:
+-	movq %rdx,%rax
+-	jmp .Lende
+ 	CFI_ENDPROC
+ ENDPROC(__copy_user_nocache)
+-
+-
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/alsa-hda-support-ecs-chips-with-sigmatel-codecs.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/alsa-hda-support-ecs-chips-with-sigmatel-codecs.patch
@@ -0,0 +1,89 @@
+commit 8c650087992f1d7a3a7be2e632f4e85a52d20619
+Author: Mauro Carvalho Chehab <mchehab@infradead.org>
+Date:   Mon Aug 4 10:39:59 2008 -0300
+
+    ALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs
+    
+    Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil
+    (www.cdibrasil.com.br/) for sponsoring this development.
+    
+    Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_sigmatel.c linux-source-2.6.26/sound/pci/hda/patch_sigmatel.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_sigmatel.c	2009-02-08 23:36:08.000000000 -0700
++++ linux-source-2.6.26/sound/pci/hda/patch_sigmatel.c	2009-02-09 00:01:59.000000000 -0700
+@@ -101,6 +101,7 @@ enum {
+ 	STAC_MACBOOK_PRO_V2,
+ 	STAC_IMAC_INTEL,
+ 	STAC_IMAC_INTEL_20,
++	STAC_ECS_202,
+ 	STAC_922X_DELL_D81,
+ 	STAC_922X_DELL_D82,
+ 	STAC_922X_DELL_M81,
+@@ -1465,6 +1466,11 @@ static unsigned int intel_mac_v5_pin_con
+ 	0x400000fc, 0x400000fb,
+ };
+ 
++static unsigned int ecs202_pin_configs[10] = {
++	0x0221401f, 0x02a19020, 0x01a19020, 0x01114010,
++	0x408000f0, 0x01813022, 0x074510a0, 0x40c400f1,
++	0x9037012e, 0x40e000f2,
++};
+ 
+ static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {
+ 	[STAC_D945_REF] = ref922x_pin_configs,
+@@ -1482,6 +1488,7 @@ static unsigned int *stac922x_brd_tbl[ST
+ 	[STAC_MACBOOK_PRO_V2] = intel_mac_v3_pin_configs,
+ 	[STAC_IMAC_INTEL] = intel_mac_v2_pin_configs,
+ 	[STAC_IMAC_INTEL_20] = intel_mac_v3_pin_configs,
++	[STAC_ECS_202] = ecs202_pin_configs,
+ 	[STAC_922X_DELL_D81] = dell_922x_d81_pin_configs,
+ 	[STAC_922X_DELL_D82] = dell_922x_d82_pin_configs,	
+ 	[STAC_922X_DELL_M81] = dell_922x_m81_pin_configs,
+@@ -1504,6 +1511,7 @@ static const char *stac922x_models[STAC_
+ 	[STAC_MACBOOK_PRO_V2]	= "macbook-pro",
+ 	[STAC_IMAC_INTEL] = "imac-intel",
+ 	[STAC_IMAC_INTEL_20] = "imac-intel-20",
++	[STAC_ECS_202] = "ecs202",
+ 	[STAC_922X_DELL_D81] = "dell-d81",
+ 	[STAC_922X_DELL_D82] = "dell-d82",
+ 	[STAC_922X_DELL_M81] = "dell-m81",
+@@ -1590,6 +1598,33 @@ static struct snd_pci_quirk stac922x_cfg
+ 		      "unknown Dell", STAC_922X_DELL_D81),
+ 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d7,
+ 		      "Dell XPS M1210", STAC_922X_DELL_M82),
++	/* ECS/PC Chips boards */
++	SND_PCI_QUIRK(0x1019, 0x2144,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2608,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2633,
++		      "ECS/PC chips P17G/1333", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2811,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2812,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2813,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2814,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2815,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2816,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2817,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2818,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2819,
++		      "ECS/PC chips", STAC_ECS_202),
++	SND_PCI_QUIRK(0x1019, 0x2820,
++		      "ECS/PC chips", STAC_ECS_202),
+ 	{} /* terminator */
+ };
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/fix-ibm-summit-phys_cpu_present_map.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/fix-ibm-summit-phys_cpu_present_map.patch
@@ -0,0 +1,27 @@
+commit 1ca9fda4b2f3413e4bc748b983f5585629ca0560
+Author: Chris McDermott <lcm@linux.vnet.ibm.com>
+Date:   Thu Jul 24 19:06:09 2008 -0700
+
+    x86: fix IBM Summit based systems' phys_cpu_present_map on 32-bit kernels
+    
+    x86 kernels on IBM Summit based systems will only online 1 CPU because the
+    phys_cpu_present_map is not set up correctly. Patch below applied to
+    2.6.26-git10.
+    
+    Signed-off-by: Chris McDermott <lcm@linux.vnet.ibm.com>
+    Tested-by: Tim Pepper <lnxninga@linux.vnet.ibm.com>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+diff --git a/include/asm-x86/mach-summit/mach_apic.h b/include/asm-x86/mach-summit/mach_apic.h
+index 75d2c95..c47e2ab 100644
+--- a/include/asm-x86/mach-summit/mach_apic.h
++++ b/include/asm-x86/mach-summit/mach_apic.h
+@@ -122,7 +122,7 @@ static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_id_map)
+ 
+ static inline physid_mask_t apicid_to_cpu_present(int apicid)
+ {
+-	return physid_mask_of_physid(0);
++	return physid_mask_of_physid(apicid);
+ }
+ 
+ static inline void setup_portio_remap(void)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/arch-ia32-entry-int80-enosys.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/arch-ia32-entry-int80-enosys.patch
@@ -0,0 +1,23 @@
+diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S
+index 256b00b..5a0d76d 100644
+--- a/arch/x86/ia32/ia32entry.S
++++ b/arch/x86/ia32/ia32entry.S
+@@ -418,5 +418,5 @@
+ 	jnz ia32_tracesys
+-ia32_do_syscall:	
+ 	cmpl $(IA32_NR_syscalls-1),%eax
+-	ja  int_ret_from_sys_call	/* ia32_tracesys has set RAX(%rsp) */
++	ja ia32_badsys
++ia32_do_call:
+ 	IA32_ARG_FIXUP
+@@ -435,7 +435,9 @@ ia32_tracesys:
+ 	call syscall_trace_enter
+ 	LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed it */
+ 	RESTORE_REST
+-	jmp ia32_do_syscall
++	cmpl $(IA32_NR_syscalls-1),%eax
++	ja  int_ret_from_sys_call	/* ia32_tracesys has set RAX(%rsp) */
++	jmp ia32_do_call
+ END(ia32_syscall)
+ 
+ ia32_badsys:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/fix-alternatives-on-486.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/fix-alternatives-on-486.patch
@@ -0,0 +1,82 @@
+Subject: [PATCH v2] x86: Fix code patching for paravirt-alternatives on 486
+From: Ben Hutchings <ben@decadent.org.uk>
+To: x86@kernel.org
+Cc: "H. Peter Anvin" <hpa@zytor.com>, linux-kernel@vger.kernel.org
+Date: Thu, 10 Sep 2009 02:53:51 +0100
+
+[Changed path to processor.h for v2.6.26.]
+
+As reported in <http://bugs.debian.org/511703> and
+<http://bugs.debian.org/515982>, kernels with paravirt-alternatives
+enabled crash in text_poke_early() on at least some 486-class
+processors.
+
+The problem is that text_poke_early() itself uses inline functions
+affected by paravirt-alternatives and so will modify instructions that
+have already been prefetched.  Pentium and later processors will
+invalidate the prefetched instructions in this case, but 486-class
+processors do not.
+
+Change sync_core() to limit prefetching on 486-class (and 386-class)
+processors, and move the call to sync_core() above the call to the
+modifiable local_irq_restore().
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+Second try, incorporating the jmp into sync_core().
+
+Also not signed as I know git has trouble with MIME.
+
+Ben.
+
+ arch/x86/include/asm/processor.h |   16 +++++++++++++---
+ arch/x86/kernel/alternative.c    |    2 +-
+ 2 files changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
+index c776826..2db56c5 100644
+--- a/include/asm-x86/processor.h
++++ b/include/asm-x86/processor.h
+@@ -703,13 +703,23 @@ static inline void cpu_relax(void)
+ 	rep_nop();
+ }
+ 
+-/* Stop speculative execution: */
++/* Stop speculative execution and prefetching of modified code. */
+ static inline void sync_core(void)
+ {
+ 	int tmp;
+ 
+-	asm volatile("cpuid" : "=a" (tmp) : "0" (1)
+-		     : "ebx", "ecx", "edx", "memory");
++#if defined(CONFIG_M386) || defined(CONFIG_M486)
++	if (boot_cpu_data.x86 < 5)
++		/* There is no speculative execution.
++		 * jmp is a barrier to prefetching. */
++		asm volatile("jmp 1f\n1:\n" ::: "memory");
++	else
++#endif
++		/* cpuid is a barrier to speculative execution.
++		 * Prefetched instructions are automatically
++		 * invalidated when modified. */
++		asm volatile("cpuid" : "=a" (tmp) : "0" (1)
++			     : "ebx", "ecx", "edx", "memory");
+ }
+ 
+ static inline void __monitor(const void *eax, unsigned long ecx,
+diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
+index 4869351..de7353c 100644
+--- a/arch/x86/kernel/alternative.c
++++ b/arch/x86/kernel/alternative.c
+@@ -498,8 +498,8 @@ static void *__init_or_module text_poke_early(void *addr, const void *opcode,
+ 	unsigned long flags;
+ 	local_irq_save(flags);
+ 	memcpy(addr, opcode, len);
+-	local_irq_restore(flags);
+ 	sync_core();
++	local_irq_restore(flags);
+ 	/* Could also do a CLFLUSH here to speed up CPU recovery; but
+ 	   that causes hangs on some VIA CPUs. */
+ 	return addr;
+-- 
+1.6.3.3
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/dell_rbu-use-scnprintf-instead-of-sprintf.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/dell_rbu-use-scnprintf-instead-of-sprintf.patch
@@ -0,0 +1,36 @@
+commit 81156928f8fe31621e467490b9d441c0285998c3
+Author: Pavel Roskin <proski@gnu.org>
+Date:   Sat Jan 17 13:33:03 2009 -0500
+
+    dell_rbu: use scnprintf() instead of less secure sprintf()
+    
+    Reading 0 bytes from /sys/devices/platform/dell_rbu/image_type or
+    /sys/devices/platform/dell_rbu/packet_size by an ordinary user causes an
+    oops.
+    
+    Signed-off-by: Pavel Roskin <proski@gnu.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/firmware/dell_rbu.c linux-source-2.6.26/drivers/firmware/dell_rbu.c
+--- linux-source-2.6.26.orig/drivers/firmware/dell_rbu.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/firmware/dell_rbu.c	2009-02-09 21:44:12.000000000 -0700
+@@ -598,7 +598,7 @@ static ssize_t read_rbu_image_type(struc
+ {
+ 	int size = 0;
+ 	if (!pos)
+-		size = sprintf(buffer, "%s\n", image_type);
++		size = scnprintf(buffer, count, "%s\n", image_type);
+ 	return size;
+ }
+ 
+@@ -670,7 +670,7 @@ static ssize_t read_rbu_packet_size(stru
+ 	int size = 0;
+ 	if (!pos) {
+ 		spin_lock(&rbu_data.lock);
+-		size = sprintf(buffer, "%lu\n", rbu_data.packetsize);
++		size = scnprintf(buffer, count, "%lu\n", rbu_data.packetsize);
+ 		spin_unlock(&rbu_data.lock);
+ 	}
+ 	return size;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/fix-broken-LDT-access-in-VMI.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/fix-broken-LDT-access-in-VMI.patch
@@ -0,0 +1,34 @@
+commit de59985e3a623d4d5d6207f1777398ca0606ab1c
+Author: Zachary Amsden <zach@vmware.com>
+Date:   Tue Sep 30 11:02:12 2008 -0700
+
+    x86: Fix broken LDT access in VMI
+    
+    After investigating a JRE failure, I found this bug was introduced a
+    long time ago, and had already managed to survive another bugfix which
+    occurred on the same line.  The result is a total failure of the JRE due
+    to LDT selectors not working properly.
+    
+    This one took a long time to rear up because LDT usage is not very
+    common, but the bug is quite serious.  It got introduced along with
+    another bug, already fixed, by 75b8bb3e56ca09a467fbbe5229bc68627f7445be
+    
+    Signed-off-by: Zachary Amsden <zach@vmware.com>
+    Cc: Ingo Molnar <mingo@redhat.com>
+    Cc: Glauber de Oliveira Costa <gcosta@redhat.com>
+    Cc: <stable@kernel.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/arch/x86/kernel/vmi_32.c b/arch/x86/kernel/vmi_32.c
+index 6ca515d..edfb09f 100644
+--- a/arch/x86/kernel/vmi_32.c
++++ b/arch/x86/kernel/vmi_32.c
+@@ -235,7 +235,7 @@ static void vmi_write_ldt_entry(struct desc_struct *dt, int entry,
+ 				const void *desc)
+ {
+ 	u32 *ldt_entry = (u32 *)desc;
+-	vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[1]);
++	vmi_ops.write_ldt_entry(dt, entry, ldt_entry[0], ldt_entry[1]);
+ }
+ 
+ static void vmi_load_sp0(struct tss_struct *tss,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/kvm-pit-support-mode-3.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/kvm-pit-support-mode-3.patch
@@ -0,0 +1,29 @@
+commit f697554515b06e8d7264f316b25e6da943407142
+Author: Aurelien Jarno <aurelien@aurel32.net>
+Date:   Fri May 2 17:02:23 2008 +0200
+
+    KVM: PIT: support mode 3
+    
+    The in-kernel PIT emulation ignores pending timers if operating
+    under mode 3, which for example Hurd uses.
+    
+    This mode should output a square wave, high for (N+1)/2 counts and low
+    for (N-1)/2 counts. As we only care about the resulting interrupts, the
+    period is N, and mode 3 is the same as mode 2 with regard to
+    interrupts.
+    
+    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+    Signed-off-by: Avi Kivity <avi@qumranet.com>
+
+diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
+index 735ec9a..60074dc 100644
+--- a/arch/x86/kvm/i8254.c
++++ b/arch/x86/kvm/i8254.c
+@@ -308,6 +308,7 @@ static void pit_load_count(struct kvm *kvm, int channel, u32 val)
+ 		create_pit_timer(&ps->pit_timer, val, 0);
+ 		break;
+ 	case 2:
++	case 3:
+ 		create_pit_timer(&ps->pit_timer, val, 1);
+ 		break;
+ 	default:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/don-t-leak-64-bit-kernel-register-values-to-32-bit-processes.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/don-t-leak-64-bit-kernel-register-values-to-32-bit-processes.patch
@@ -0,0 +1,103 @@
+From cebbert@redhat.com  Fri Oct  9 15:37:09 2009
+From: Jan Beulich <JBeulich@novell.com>
+Date: Wed, 7 Oct 2009 17:34:09 -0400
+Subject: x86: Don't leak 64-bit kernel register values to 32-bit processes
+To: stable@kernel.org
+Cc: Jan Beulich <jbeulich@novell.com>
+Message-ID: <20091007173409.2d4978d9@katamari.usersys.redhat.com>
+
+From: Jan Beulich <JBeulich@novell.com>
+
+commit 24e35800cdc4350fc34e2bed37b608a9e13ab3b6 upstream
+
+x86: Don't leak 64-bit kernel register values to 32-bit processes
+
+While 32-bit processes can't directly access R8...R15, they can
+gain access to these registers by temporarily switching themselves
+into 64-bit mode.
+
+Therefore, registers not preserved anyway by called C functions
+(i.e. R8...R11) must be cleared prior to returning to user mode.
+
+Signed-off-by: Jan Beulich <jbeulich@novell.com>
+LKML-Reference: <4AC34D73020000780001744A@vpn.id2.novell.com>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+Cc: Chuck Ebbert <cebbert@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/x86/ia32/ia32entry.S |   36 +++++++++++++++++++++++-------------
+ 1 file changed, 23 insertions(+), 13 deletions(-)
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/ia32/ia32entry.S linux-source-2.6.26/arch/x86/ia32/ia32entry.S
+--- linux-source-2.6.26.orig/arch/x86/ia32/ia32entry.S	2009-10-15 22:15:48.000000000 -0600
++++ linux-source-2.6.26/arch/x86/ia32/ia32entry.S	2009-10-15 23:03:06.000000000 -0600
+@@ -29,12 +29,12 @@
+ 	.endm 
+ 
+ 	/* clobbers %eax */	
+-	.macro  CLEAR_RREGS _r9=rax
++	.macro  CLEAR_RREGS offset=0, _r9=rax
+ 	xorl 	%eax,%eax
+-	movq	%rax,R11(%rsp)
+-	movq	%rax,R10(%rsp)
+-	movq	%\_r9,R9(%rsp)
+-	movq	%rax,R8(%rsp)
++	movq	%rax,\offset+R11(%rsp)
++	movq	%rax,\offset+R10(%rsp)
++	movq	%\_r9,\offset+R9(%rsp)
++	movq	%rax,\offset+R8(%rsp)
+ 	.endm
+ 
+ 	.macro LOAD_ARGS32 offset, _r9=0
+@@ -143,6 +143,10 @@ sysenter_do_call:	
+ 	movl	RIP-R11(%rsp),%edx		/* User %eip */
+ 	CFI_REGISTER rip,rdx
+ 	RESTORE_ARGS 1,24,1,1,1,1
++	xorq	%r8,%r8
++	xorq	%r9,%r9
++	xorq	%r10,%r10
++	xorq	%r11,%r11
+ 	popfq
+ 	CFI_ADJUST_CFA_OFFSET -8
+ 	/*CFI_RESTORE rflags*/
+@@ -247,6 +251,9 @@ cstar_do_call:
+ 	CFI_REGISTER rip,rcx
+ 	movl EFLAGS-ARGOFFSET(%rsp),%r11d	
+ 	/*CFI_REGISTER rflags,r11*/
++	xorq	%r10,%r10
++	xorq	%r9,%r9
++	xorq	%r8,%r8
+ 	TRACE_IRQS_ON
+ 	movl RSP-ARGOFFSET(%rsp),%esp
+ 	CFI_RESTORE rsp
+@@ -257,7 +264,7 @@ cstar_tracesys:	
+ 	CFI_RESTORE_STATE
+ 	xchgl %r9d,%ebp
+ 	SAVE_REST
+-	CLEAR_RREGS r9
++	CLEAR_RREGS 0, r9
+ 	movq $-ENOSYS,RAX(%rsp)	/* ptrace can change this for a bad syscall */
+ 	movq %rsp,%rdi        /* &pt_regs -> arg1 */
+ 	call syscall_trace_enter
+@@ -328,6 +335,7 @@ ia32_do_call:
+ 	call *ia32_sys_call_table(,%rax,8) # xxx: rip relative
+ ia32_sysret:
+ 	movq %rax,RAX-ARGOFFSET(%rsp)
++	CLEAR_RREGS -ARGOFFSET
+ 	jmp int_ret_from_sys_call 
+ 
+ ia32_tracesys:			 
+@@ -345,8 +353,8 @@ END(ia32_syscall)
+ 
+ ia32_badsys:
+ 	movq $0,ORIG_RAX-ARGOFFSET(%rsp)
+-	movq $-ENOSYS,RAX-ARGOFFSET(%rsp)
+-	jmp int_ret_from_sys_call
++	movq $-ENOSYS,%rax
++	jmp ia32_sysret
+ 
+ quiet_ni_syscall:
+ 	movq $-ENOSYS,%rax
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/i915-restrict-DRM_I915_HWS_ADDR.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/i915-restrict-DRM_I915_HWS_ADDR.patch
@@ -0,0 +1,19 @@
+commit 6dbfadaae00a1238c01a6a04b02cb484cd9072e7
+Author: Matthias Hopf <mhopf@suse.de>
+Date:   Fri Sep 26 16:47:03 2008 +0200
+
+    Only allow access to DRM_I915_HWS_ADDR ioctl() for Xserver.
+
+Adjusted to apply to Debian's 2.6.24 by dann frazier <dannf@debian.org>
+
+--- linux-source-2.6.24.orig/drivers/char/drm/i915_dma.c	2008-01-24 15:58:37.000000000 -0700
++++ linux-source-2.6.24/drivers/char/drm/i915_dma.c	2008-10-12 23:57:16.000000000 -0600
+@@ -828,7 +828,7 @@ struct drm_ioctl_desc i915_ioctls[] = {
+ 	DRM_IOCTL_DEF(DRM_I915_SET_VBLANK_PIPE,  i915_vblank_pipe_set, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY ),
+ 	DRM_IOCTL_DEF(DRM_I915_GET_VBLANK_PIPE,  i915_vblank_pipe_get, DRM_AUTH ),
+ 	DRM_IOCTL_DEF(DRM_I915_VBLANK_SWAP, i915_vblank_swap, DRM_AUTH),
+-	DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH),
++	DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
+ };
+ 
+ int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/gettimeofday-vDSO-NULL-tv-segv.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/gettimeofday-vDSO-NULL-tv-segv.patch
@@ -0,0 +1,65 @@
+From: John Wright <john.wright@hp.com>
+Date: Wed, 29 Apr 2009 20:32:01 +0000 (-0600)
+Subject: x86: gettimeofday() vDSO: fix segfault when tv == NULL
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftip%2Flinux-2.6-tip.git;a=commitdiff_plain;h=2f65dd475c6a8a997145ea83cc3d2d5e6dc55af1
+
+x86: gettimeofday() vDSO: fix segfault when tv == NULL
+
+According to the gettimeofday(2) manual:
+
+       If either tv or tz is NULL, the corresponding structure is not
+       set or returned.
+
+Since it is legal to give NULL as the tv argument, the code should make
+sure tv is not NULL before trying to dereference it.
+
+This issue manifests itself on x86_64 when vdso=0 is not on the kernel
+command-line and libc uses the vDSO for gettimeofday() (e.g. glibc >=
+2.7).  A simple reproducer:
+
+  #include <stdio.h>
+  #include <sys/time.h>
+
+  int main(void)
+  {
+      struct timezone tz;
+
+      gettimeofday(NULL, &tz);
+
+      return 0;
+  }
+
+See http://bugs.debian.org/466491 for more details.
+
+[ Impact: fix gettimeofday(NULL, &tz) segfault ]
+
+Signed-off-by: John Wright <john.wright@hp.com>
+Cc: Andi Kleen <ak@suse.de>
+Cc: John Wright <john.wright@hp.com>
+LKML-Reference: <1241037121-14805-1-git-send-email-john.wright@hp.com>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+---
+
+diff --git a/arch/x86/vdso/vclock_gettime.c b/arch/x86/vdso/vclock_gettime.c
+index d9d3582..6a40b78 100644
+--- a/arch/x86/vdso/vclock_gettime.c
++++ b/arch/x86/vdso/vclock_gettime.c
+@@ -104,11 +104,13 @@ notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz)
+ {
+ 	long ret;
+ 	if (likely(gtod->sysctl_enabled && gtod->clock.vread)) {
+-		BUILD_BUG_ON(offsetof(struct timeval, tv_usec) !=
+-			     offsetof(struct timespec, tv_nsec) ||
+-			     sizeof(*tv) != sizeof(struct timespec));
+-		do_realtime((struct timespec *)tv);
+-		tv->tv_usec /= 1000;
++		if (likely(tv != NULL)) {
++			BUILD_BUG_ON(offsetof(struct timeval, tv_usec) !=
++				     offsetof(struct timespec, tv_nsec) ||
++				     sizeof(*tv) != sizeof(struct timespec));
++			do_realtime((struct timespec *)tv);
++			tv->tv_usec /= 1000;
++		}
+ 		if (unlikely(tz != NULL)) {
+ 			/* Avoid memcpy. Some old compilers fail to inline it */
+ 			tz->tz_minuteswest = gtod->sys_tz.tz_minuteswest;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/syscall-audit-fix-32+64-syscall-hole.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/syscall-audit-fix-32+64-syscall-hole.patch
@@ -0,0 +1,33 @@
+commit ccbe495caa5e604b04d5a31d7459a6f6a76a756c
+Author: Roland McGrath <roland@redhat.com>
+Date:   Fri Feb 27 19:03:24 2009 -0800
+
+    x86-64: syscall-audit: fix 32/64 syscall hole
+    
+    On x86-64, a 32-bit process (TIF_IA32) can switch to 64-bit mode with
+    ljmp, and then use the "syscall" instruction to make a 64-bit system
+    call.  A 64-bit process make a 32-bit system call with int $0x80.
+    
+    In both these cases, audit_syscall_entry() will use the wrong system
+    call number table and the wrong system call argument registers.  This
+    could be used to circumvent a syscall audit configuration that filters
+    based on the syscall numbers or argument details.
+    
+    Signed-off-by: Roland McGrath <roland@redhat.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+Based on Eugene Teo's backport for RHEL5
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/kernel/ptrace.c linux-source-2.6.26/arch/x86/kernel/ptrace.c
+--- linux-source-2.6.26.orig/arch/x86/kernel/ptrace.c	2009-03-25 17:20:38.000000000 -0600
++++ linux-source-2.6.26/arch/x86/kernel/ptrace.c	2009-04-04 11:09:01.000000000 -0600
+@@ -1491,7 +1491,7 @@ asmlinkage void syscall_trace_enter(stru
+ 		syscall_trace(regs);
+ 
+ 	if (unlikely(current->audit_context)) {
+-		if (test_thread_flag(TIF_IA32)) {
++		if (is_compat_task()) {
+ 			audit_syscall_entry(AUDIT_ARCH_I386,
+ 					    regs->orig_ax,
+ 					    regs->bx, regs->cx,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/input-alps-add-dell-latitude-e6500.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/input-alps-add-dell-latitude-e6500.patch
@@ -0,0 +1,21 @@
+commit 0d46ed1c747edfe6476961d4d9f732ceb7a29074
+Author: Elvis Pranskevichus <el@prans.net>
+Date:   Wed Sep 10 10:19:13 2008 -0400
+
+    Input: ALPS - add signature for DualPoint found in Dell Latitude E6500
+    
+    Signed-off-by: Elvis Pranskevichus <el@prans.net>
+    Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+
+diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
+index 385e32b..cbedf95 100644
+--- a/drivers/input/mouse/alps.c
++++ b/drivers/input/mouse/alps.c
+@@ -54,6 +54,7 @@ static const struct alps_model_info alps_model_data[] = {
+ 	{ { 0x20, 0x02, 0x0e },	0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* XXX */
+ 	{ { 0x22, 0x02, 0x0a },	0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT },
+ 	{ { 0x22, 0x02, 0x14 }, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT }, /* Dell Latitude D600 */
++	{ { 0x62, 0x02, 0x14 }, 0xcf, 0xcf, ALPS_PASS | ALPS_DUALPOINT }, /* Dell Latitude E6500 */
+ 	{ { 0x73, 0x02, 0x50 }, 0xcf, 0xcf, ALPS_FW_BK_1 } /* Dell Vostro 1400 */
+ };
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/kvm-limit-instructions-to-15-bytes.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/kvm-limit-instructions-to-15-bytes.patch
@@ -0,0 +1,49 @@
+commit eb3c79e64a70fb8f7473e30fa07e89c1ecc2c9bb
+Author: Avi Kivity <avi@redhat.com>
+Date:   Tue Nov 24 15:20:15 2009 +0200
+
+    KVM: x86 emulator: limit instructions to 15 bytes
+    
+    While we are never normally passed an instruction that exceeds 15 bytes,
+    smp games can cause us to attempt to interpret one, which will cause
+    large latencies in non-preempt hosts.
+    
+    Cc: stable@kernel.org
+    Signed-off-by: Avi Kivity <avi@redhat.com>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/kvm/x86_emulate.c linux-source-2.6.26/arch/x86/kvm/x86_emulate.c
+--- linux-source-2.6.26.orig/arch/x86/kvm/x86_emulate.c	2009-10-17 11:09:10.000000000 -0600
++++ linux-source-2.6.26/arch/x86/kvm/x86_emulate.c	2009-12-24 00:03:23.000000000 -0700
+@@ -544,6 +544,9 @@ static int do_insn_fetch(struct x86_emul
+ {
+ 	int rc = 0;
+ 
++	/* x86 instructions are limited to 15 bytes. */
++	if (eip + size - ctxt->decode.eip_orig > 15)
++		return X86EMUL_UNHANDLEABLE;
+ 	eip += ctxt->cs_base;
+ 	while (size--) {
+ 		rc = do_fetch_insn_byte(ctxt, ops, eip++, dest++);
+@@ -837,7 +840,7 @@ x86_decode_insn(struct x86_emulate_ctxt 
+ 	/* Shadow copy of register state. Committed on successful emulation. */
+ 
+ 	memset(c, 0, sizeof(struct decode_cache));
+-	c->eip = ctxt->vcpu->arch.rip;
++	c->eip = c->eip_orig = ctxt->vcpu->arch.rip;
+ 	memcpy(c->regs, ctxt->vcpu->arch.regs, sizeof c->regs);
+ 
+ 	switch (mode) {
+diff -urpN linux-source-2.6.26.orig/include/asm-x86/kvm_x86_emulate.h linux-source-2.6.26/include/asm-x86/kvm_x86_emulate.h
+--- linux-source-2.6.26.orig/include/asm-x86/kvm_x86_emulate.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-x86/kvm_x86_emulate.h	2009-12-24 00:02:04.000000000 -0700
+@@ -127,7 +127,7 @@ struct decode_cache {
+ 	unsigned long *override_base;
+ 	unsigned int d;
+ 	unsigned long regs[NR_VCPU_REGS];
+-	unsigned long eip;
++	unsigned long eip, eip_orig;
+ 	/* modrm */
+ 	u8 modrm;
+ 	u8 modrm_mod;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/kvm-check-for-cr3-validity-in-ioctl_set_sregs.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/kvm-check-for-cr3-validity-in-ioctl_set_sregs.patch
@@ -0,0 +1,48 @@
+commit 59839dfff5eabca01cc4e20b45797a60a80af8cb
+Author: Marcelo Tosatti <mtosatti@redhat.com>
+Date:   Thu Apr 16 08:30:44 2009 -0300
+
+    KVM: x86: check for cr3 validity in ioctl_set_sregs
+    
+    Matt T. Yourst notes that kvm_arch_vcpu_ioctl_set_sregs lacks validity
+    checking for the new cr3 value:
+    
+    "Userspace callers of KVM_SET_SREGS can pass a bogus value of cr3 to
+    the kernel. This will trigger a NULL pointer access in gfn_to_rmap()
+    when userspace next tries to call KVM_RUN on the affected VCPU and kvm
+    attempts to activate the new non-existent page table root.
+    
+    This happens since kvm only validates that cr3 points to a valid guest
+    physical memory page when code *inside* the guest sets cr3. However, kvm
+    currently trusts the userspace caller (e.g. QEMU) on the host machine to
+    always supply a valid page table root, rather than properly validating
+    it along with the rest of the reloaded guest state."
+    
+    http://sourceforge.net/tracker/?func=detail&atid=893831&aid=2687641&group_id=180599
+    
+    Check for a valid cr3 address in kvm_arch_vcpu_ioctl_set_sregs, triple
+    fault in case of failure.
+    
+    Cc: stable@kernel.org
+    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
+    Signed-off-by: Avi Kivity <avi@redhat.com>
+
+diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
+index ffbb2c8..2bad49b 100644
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -3993,7 +3993,13 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
+ 
+ 	vcpu->arch.cr2 = sregs->cr2;
+ 	mmu_reset_needed |= vcpu->arch.cr3 != sregs->cr3;
+-	vcpu->arch.cr3 = sregs->cr3;
++
++	down_read(&vcpu->kvm->slots_lock);
++	if (gfn_to_memslot(vcpu->kvm, sregs->cr3 >> PAGE_SHIFT))
++		vcpu->arch.cr3 = sregs->cr3;
++	else
++		set_bit(KVM_REQ_TRIPLE_FAULT, &vcpu->requests);
++	up_read(&vcpu->kvm->slots_lock);
+ 
+ 	kvm_set_cr8(vcpu, sregs->cr8);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/kvm-vmx-inhibit-EFER-access.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/kvm-vmx-inhibit-EFER-access.patch
@@ -0,0 +1,35 @@
+commit 16175a796d061833aacfbd9672235f2d2725df65
+Author: Avi Kivity <avi@redhat.com>
+Date:   Mon Mar 23 22:13:44 2009 +0200
+
+    KVM: VMX: Don't allow uninhibited access to EFER on i386
+    
+    vmx_set_msr() does not allow i386 guests to touch EFER, but they can still
+    do so through the default: label in the switch.  If they set EFER_LME, they
+    can oops the host.
+    
+    Fix by having EFER access through the normal channel (which will check for
+    EFER_LME) even on i386.
+    
+    Reported-and-tested-by: Benjamin Gilbert <bgilbert@cs.cmu.edu>
+    Cc: stable@kernel.org
+    Signed-off-by: Avi Kivity <avi@redhat.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/kvm/vmx.c linux-source-2.6.26/arch/x86/kvm/vmx.c
+--- linux-source-2.6.26.orig/arch/x86/kvm/vmx.c	2009-03-25 17:20:38.000000000 -0600
++++ linux-source-2.6.26/arch/x86/kvm/vmx.c	2009-04-08 22:28:20.000000000 -0600
+@@ -890,11 +890,11 @@ static int vmx_set_msr(struct kvm_vcpu *
+ 	int ret = 0;
+ 
+ 	switch (msr_index) {
+-#ifdef CONFIG_X86_64
+ 	case MSR_EFER:
+ 		vmx_load_host_state(vmx);
+ 		ret = kvm_set_msr_common(vcpu, msr_index, data);
+ 		break;
++#ifdef CONFIG_X86_64
+ 	case MSR_FS_BASE:
+ 		vmcs_writel(GUEST_FS_BASE, data);
+ 		break;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/nonpnp-rtc-device-1.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/nonpnp-rtc-device-1.patch
@@ -0,0 +1,148 @@
+From: Bjorn Helgaas <bjorn.helgaas@hp.com>
+Date: Tue, 14 Oct 2008 23:01:03 +0000 (-0600)
+Subject: x86: register a platform RTC device if PNP doesn't describe it
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=758a7f7bb86b520aadc484f23da85e547b3bf3d8
+
+x86: register a platform RTC device if PNP doesn't describe it
+
+Most if not all x86 platforms have an RTC device, but sometimes the RTC
+is not exposed as a PNP0b00/PNP0b01/PNP0b02 device in PNPBIOS or ACPI:
+
+    http://bugzilla.kernel.org/show_bug.cgi?id=11580
+    https://bugzilla.redhat.com/show_bug.cgi?id=451188
+
+It's best if we can discover the RTC via PNP because then we know
+which flavor of device it is, where it lives, and which IRQ it uses.
+
+But if we can't, we should register a platform device using the
+compiled-in RTC_PORT/RTC_IRQ resource assumptions.
+
+Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
+Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
+Acked-by: David Brownell <dbrownell@users.sourceforge.net>
+Reported-by: Rik Theys <rik.theys@esat.kuleuven.be>
+Reported-by: shr_msn@yahoo.com.tw
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+
+diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
+index 05191bb..0a23b57 100644
+--- a/arch/x86/kernel/rtc.c
++++ b/arch/x86/kernel/rtc.c
+@@ -223,11 +223,25 @@ static struct platform_device rtc_device = {
+ static __init int add_rtc_cmos(void)
+ {
+ #ifdef CONFIG_PNP
+-	if (!pnp_platform_devices)
+-		platform_device_register(&rtc_device);
+-#else
++	static const char *ids[] __initconst =
++	    { "PNP0b00", "PNP0b01", "PNP0b02", };
++	struct pnp_dev *dev;
++	struct pnp_id *id;
++	int i;
++
++	pnp_for_each_dev(dev) {
++		for (id = dev->id; id; id = id->next) {
++			for (i = 0; i < ARRAY_SIZE(ids); i++) {
++				if (compare_pnp_id(id, ids[i]) != 0)
++					return 0;
++			}
++		}
++	}
++#endif
++
+ 	platform_device_register(&rtc_device);
+-#endif /* CONFIG_PNP */
++	dev_info(&rtc_device.dev,
++		 "registered platform RTC device (no PNP device found)\n");
+ 	return 0;
+ }
+ device_initcall(add_rtc_cmos);
+
+From: Bjorn Helgaas <bjorn.helgaas@hp.com>
+Date: Tue, 14 Oct 2008 23:01:59 +0000 (-0600)
+Subject: rtc-cmos: look for PNP RTC first, then for platform RTC
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=72f22b1eb6ca5e4676a632a04d40d46cb61d4562
+
+rtc-cmos: look for PNP RTC first, then for platform RTC
+
+We shouldn't rely on "pnp_platform_devices" to tell us whether there
+is a PNP RTC device.
+
+I introduced "pnp_platform_devices", but I think it was a mistake.
+All it tells us is whether we found any PNPBIOS or PNPACPI devices.
+Many machines have some PNP devices, but do not describe the RTC
+via PNP.  On those machines, we need to do the platform driver probe
+to find the RTC.
+
+We should just register the PNP driver and see whether it claims anything.
+If we don't find a PNP RTC, fall back to the platform driver probe.
+
+This (in conjunction with the arch/x86/kernel/rtc.c patch to add
+a platform RTC device when PNP doesn't have one) should resolve
+these issues:
+
+    http://bugzilla.kernel.org/show_bug.cgi?id=11580
+    https://bugzilla.redhat.com/show_bug.cgi?id=451188
+
+Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
+Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
+Acked-by: David Brownell <dbrownell@users.sourceforge.net>
+Reported-by: Rik Theys <rik.theys@esat.kuleuven.be>
+Reported-by: shr_msn@yahoo.com.tw
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+
+diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
+index 6778f82..963ad0b 100644
+--- a/drivers/rtc/rtc-cmos.c
++++ b/drivers/rtc/rtc-cmos.c
+@@ -1120,29 +1120,32 @@ static struct platform_driver cmos_platform_driver = {
+ 
+ static int __init cmos_init(void)
+ {
++	int retval = 0;
++
+ #ifdef	CONFIG_PNP
+-	if (pnp_platform_devices)
+-		return pnp_register_driver(&cmos_pnp_driver);
+-	else
+-		return platform_driver_probe(&cmos_platform_driver,
+-			cmos_platform_probe);
+-#else
+-	return platform_driver_probe(&cmos_platform_driver,
+-			cmos_platform_probe);
+-#endif /* CONFIG_PNP */
++	pnp_register_driver(&cmos_pnp_driver);
++#endif
++
++	if (!cmos_rtc.dev)
++		retval = platform_driver_probe(&cmos_platform_driver,
++					       cmos_platform_probe);
++
++	if (retval == 0)
++		return 0;
++
++#ifdef	CONFIG_PNP
++	pnp_unregister_driver(&cmos_pnp_driver);
++#endif
++	return retval;
+ }
+ module_init(cmos_init);
+ 
+ static void __exit cmos_exit(void)
+ {
+ #ifdef	CONFIG_PNP
+-	if (pnp_platform_devices)
+-		pnp_unregister_driver(&cmos_pnp_driver);
+-	else
+-		platform_driver_unregister(&cmos_platform_driver);
+-#else
++	pnp_unregister_driver(&cmos_pnp_driver);
++#endif
+ 	platform_driver_unregister(&cmos_platform_driver);
+-#endif /* CONFIG_PNP */
+ }
+ module_exit(cmos_exit);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/kvm-disallow-hypercalls-for-guest-callers-in-rings-gt-0.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/kvm-disallow-hypercalls-for-guest-callers-in-rings-gt-0.patch
@@ -0,0 +1,55 @@
+commit 07708c4af1346ab1521b26a202f438366b7bcffd
+Author: Jan Kiszka <jan.kiszka@siemens.com>
+Date:   Mon Aug 3 18:43:28 2009 +0200
+
+    KVM: x86: Disallow hypercalls for guest callers in rings > 0
+    
+    So far unprivileged guest callers running in ring 3 can issue, e.g., MMU
+    hypercalls. Normally, such callers cannot provide any hand-crafted MMU
+    command structure as it has to be passed by its physical address, but
+    they can still crash the guest kernel by passing random addresses.
+    
+    To close the hole, this patch considers hypercalls valid only if issued
+    from guest ring 0. This may still be relaxed on a per-hypercall base in
+    the future once required.
+    
+    Cc: stable@kernel.org
+    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
+    Signed-off-by: Avi Kivity <avi@redhat.com>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/kvm/x86.c linux-source-2.6.26/arch/x86/kvm/x86.c
+--- linux-source-2.6.26.orig/arch/x86/kvm/x86.c	2009-08-18 23:15:14.000000000 -0600
++++ linux-source-2.6.26/arch/x86/kvm/x86.c	2009-09-24 11:40:09.000000000 -0600
+@@ -2532,6 +2532,11 @@ int kvm_emulate_hypercall(struct kvm_vcp
+ 		a3 &= 0xFFFFFFFF;
+ 	}
+ 
++	if (kvm_x86_ops->get_cpl(vcpu) != 0) {
++		ret = -KVM_EPERM;
++		goto out;
++	}
++
+ 	switch (nr) {
+ 	case KVM_HC_VAPIC_POLL_IRQ:
+ 		ret = 0;
+@@ -2543,6 +2548,7 @@ int kvm_emulate_hypercall(struct kvm_vcp
+ 		ret = -KVM_ENOSYS;
+ 		break;
+ 	}
++out:
+ 	vcpu->arch.regs[VCPU_REGS_RAX] = ret;
+ 	kvm_x86_ops->decache_regs(vcpu);
+ 	++vcpu->stat.hypercalls;
+diff -urpN linux-source-2.6.26.orig/include/linux/kvm_para.h linux-source-2.6.26/include/linux/kvm_para.h
+--- linux-source-2.6.26.orig/include/linux/kvm_para.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/kvm_para.h	2009-09-24 11:37:19.000000000 -0600
+@@ -13,6 +13,7 @@
+ #define KVM_ENOSYS		1000
+ #define KVM_EFAULT		EFAULT
+ #define KVM_E2BIG		E2BIG
++#define KVM_EPERM		EPERM
+ 
+ #define KVM_HC_VAPIC_POLL_IRQ		1
+ #define KVM_HC_MMU_OP			2
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/kvm-prevent-overflow-in-KVM_GET_SUPPORTED_CPUID.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/kvm-prevent-overflow-in-KVM_GET_SUPPORTED_CPUID.patch
@@ -0,0 +1,26 @@
+commit 6a54435560efdab1a08f429a954df4d6c740bddf
+Author: Avi Kivity <avi@redhat.com>
+Date:   Sun Oct 4 16:45:13 2009 +0200
+
+    KVM: Prevent overflow in KVM_GET_SUPPORTED_CPUID
+    
+    The number of entries is multiplied by the entry size, which can
+    overflow on 32-bit hosts.  Bound the entry count instead.
+    
+    Reported-by: David Wagner <daw@cs.berkeley.edu>
+    Cc: stable@kernel.org
+    Signed-off-by: Avi Kivity <avi@redhat.com>
+
+diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
+index be451ee..9b96953 100644
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -1591,6 +1591,8 @@ static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid,
+ 
+ 	if (cpuid->nent < 1)
+ 		goto out;
++	if (cpuid->nent > KVM_MAX_CPUID_ENTRIES)
++		cpuid->nent = KVM_MAX_CPUID_ENTRIES;
+ 	r = -ENOMEM;
+ 	cpuid_entries = vmalloc(sizeof(struct kvm_cpuid_entry2) * cpuid->nent);
+ 	if (!cpuid_entries)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/nonpnp-rtc-device.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/nonpnp-rtc-device.patch
@@ -0,0 +1,129 @@
+From: David Brownell <dbrownell@users.sourceforge.net>
+
+A bugzilla entry (http://bugzilla.kernel.org/show_bug.cgi?id=11580)
+reports that PNPACPI tables in some HP servers don't list RTC devices.
+
+Work around that on x86 (ignore ia64, the other user of ACPI) by
+having ACPI glue check for that case, and if necessary then setting
+up a platform device and having rtc_cmos use it.
+
+Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
+---
+ arch/x86/kernel/rtc.c         |   13 ++++++++++++-
+ drivers/acpi/glue.c           |   14 +++++++++++++-
+ drivers/pnp/core.c            |    7 +++++++
+ drivers/rtc/rtc-cmos.c        |    4 ++--
+ include/asm-x86/mc146818rtc.h |    5 +++++
+ include/linux/pnp.h           |    1 +
+ 6 files changed, 40 insertions(+), 4 deletions(-)
+
+--- a/arch/x86/kernel/rtc.c
++++ b/arch/x86/kernel/rtc.c
+@@ -220,10 +220,21 @@ static struct platform_device rtc_device
+ 	.num_resources	= ARRAY_SIZE(rtc_resources),
+ };
+ 
++#ifdef CONFIG_PNP
++/* PNPACPI tables sometimes omit the RTC, or are ignored */
++struct device *__init add_nonpnp_rtc_cmos(void)
++{
++	if (!rtc_device.dev.bus)
++		platform_device_register(&rtc_device);
++	return &rtc_device.dev;
++}
++#endif
++
+ static __init int add_rtc_cmos(void)
+ {
+ #ifdef CONFIG_PNP
+-	if (!pnp_platform_devices)
++	/* sometimes pnpacpi=off */
++	if (!pnp_platform_devices && !rtc_device.dev.bus)
+ 		platform_device_register(&rtc_device);
+ #else
+ 	platform_device_register(&rtc_device);
+--- a/drivers/acpi/glue.c
++++ b/drivers/acpi/glue.c
+@@ -338,7 +338,19 @@ static int __init pnp_match(struct devic
+ 
+ static struct device *__init get_rtc_dev(void)
+ {
+-	return bus_find_device(&pnp_bus_type, NULL, NULL, pnp_match);
++	struct device *rtc;
++
++	/* return RTC from PNPACPI tables */
++	rtc = bus_find_device(&pnp_bus_type, NULL, NULL, pnp_match);
++
++#ifdef ARCH_PNP_RTC_WORKAROUND
++	/* cope with buggy PNPACPI tables; seen on some HP DL3x0 servers */
++	if (!rtc) {
++		pnp_rtc_missing = true;
++		rtc = add_nonpnp_rtc_cmos();
++	}
++#endif
++	return rtc;
+ }
+ 
+ static int __init acpi_rtc_init(void)
+--- a/drivers/pnp/core.c
++++ b/drivers/pnp/core.c
+@@ -25,10 +25,17 @@ DEFINE_SPINLOCK(pnp_lock);
+  * ACPI or PNPBIOS should tell us about all platform devices, so we can
+  * skip some blind probes.  ISAPNP typically enumerates only plug-in ISA
+  * devices, not built-in things like COM ports.
++ *
++ * Sometimes ACPI tables omit critical devices, assigning them to grab-bag
++ * nodes and forcing drivers to use a platform_device node or (yeech!) use
++ * poke-at-the-hardware algorithms for device discovery.
+  */
+ int pnp_platform_devices;
+ EXPORT_SYMBOL(pnp_platform_devices);
+ 
++bool pnp_rtc_missing;
++EXPORT_SYMBOL(pnp_rtc_missing);
++
+ void *pnp_alloc(long size)
+ {
+ 	void *result;
+--- a/drivers/rtc/rtc-cmos.c
++++ b/drivers/rtc/rtc-cmos.c
+@@ -1137,7 +1137,7 @@ static struct platform_driver cmos_platf
+ static int __init cmos_init(void)
+ {
+ #ifdef	CONFIG_PNP
+-	if (pnp_platform_devices)
++	if (pnp_platform_devices && !pnp_rtc_missing)
+ 		return pnp_register_driver(&cmos_pnp_driver);
+ 	else
+ 		return platform_driver_probe(&cmos_platform_driver,
+@@ -1152,7 +1152,7 @@ module_init(cmos_init);
+ static void __exit cmos_exit(void)
+ {
+ #ifdef	CONFIG_PNP
+-	if (pnp_platform_devices)
++	if (pnp_platform_devices && !pnp_rtc_missing)
+ 		pnp_unregister_driver(&cmos_pnp_driver);
+ 	else
+ 		platform_driver_unregister(&cmos_platform_driver);
+--- a/include/asm-x86/mc146818rtc.h
++++ b/include/asm-x86/mc146818rtc.h
+@@ -101,4 +101,9 @@ extern unsigned long mach_get_cmos_time(
+ 
+ #define RTC_IRQ 8
+ 
++#ifdef CONFIG_PNP
++#define ARCH_PNP_RTC_WORKAROUND
++extern struct device *add_nonpnp_rtc_cmos(void);
++#endif
++
+ #endif /* _ASM_MC146818RTC_H */
+--- a/include/linux/pnp.h
++++ b/include/linux/pnp.h
+@@ -420,6 +420,7 @@ int pnp_device_attach(struct pnp_dev *pn
+ void pnp_device_detach(struct pnp_dev *pnp_dev);
+ extern struct list_head pnp_global;
+ extern int pnp_platform_devices;
++extern bool pnp_rtc_missing;
+ 
+ /* multidevice card support */
+ struct pnp_dev *pnp_request_card_device(struct pnp_card_link *clink,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/paravirt-add-pgd_alloc-free-hooks.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/paravirt-add-pgd_alloc-free-hooks.patch
@@ -0,0 +1,157 @@
+commit eba0045ff87bab465d3c80c289f3bf709c1800f5
+Author: Jeremy Fitzhardinge <jeremy@goop.org>
+Date:   Wed Jun 25 00:19:12 2008 -0400
+
+    x86/paravirt: add a pgd_alloc/free hooks
+    
+    Add hooks which are called at pgd_alloc/free time.  The pgd_alloc hook
+    may return an error code, which if non-zero, causes the pgd allocation
+    to be failed.  The hooks may be used to allocate/free auxillary
+    per-pgd information.
+    
+    also fix:
+    
+    > * Ingo Molnar <mingo@elte.hu> wrote:
+    >
+    >  include/asm/pgalloc.h: In function ‘paravirt_pgd_free':
+    >  include/asm/pgalloc.h:14: error: parameter name omitted
+    >  arch/x86/kernel/entry_64.S: In file included from
+    >  arch/x86/kernel/traps_64.c:51:include/asm/pgalloc.h: In function ‘paravirt_pgd_free':
+    >  include/asm/pgalloc.h:14: error: parameter name omitted
+    
+    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
+    Cc: xen-devel <xen-devel@lists.xensource.com>
+    Cc: Stephen Tweedie <sct@redhat.com>
+    Cc: Eduardo Habkost <ehabkost@redhat.com>
+    Cc: Mark McLoughlin <markmc@redhat.com>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
+--- a/arch/x86/kernel/paravirt.c	2009-03-23 21:26:13.000000000 -0600
++++ b/arch/x86/kernel/paravirt.c	2009-03-23 21:33:56.000000000 -0600
+@@ -30,6 +30,7 @@
+ #include <asm/setup.h>
+ #include <asm/arch_hooks.h>
+ #include <asm/time.h>
++#include <asm/pgalloc.h>
+ #include <asm/irq.h>
+ #include <asm/delay.h>
+ #include <asm/fixmap.h>
+@@ -366,6 +367,9 @@ struct pv_mmu_ops pv_mmu_ops = {
+ 	.flush_tlb_single = native_flush_tlb_single,
+ 	.flush_tlb_others = native_flush_tlb_others,
+ 
++	.pgd_alloc = __paravirt_pgd_alloc,
++	.pgd_free = paravirt_nop,
++
+ 	.alloc_pte = paravirt_nop,
+ 	.alloc_pmd = paravirt_nop,
+ 	.alloc_pmd_clone = paravirt_nop,
+diff -urpN a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
+--- a/arch/x86/mm/pgtable.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/x86/mm/pgtable.c	2009-03-23 21:33:56.000000000 -0600
+@@ -214,13 +214,15 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
+ 
+ 	/* so that alloc_pmd can use it */
+ 	mm->pgd = pgd;
+-	if (pgd)
++	if (pgd) {
+ 		pgd_ctor(pgd);
+ 
+-	if (pgd && !pgd_prepopulate_pmd(mm, pgd)) {
+-		pgd_dtor(pgd);
+-		free_page((unsigned long)pgd);
+-		pgd = NULL;
++		if (paravirt_pgd_alloc(mm) != 0 ||
++		    !pgd_prepopulate_pmd(mm, pgd)) {
++			pgd_dtor(pgd);
++			free_page((unsigned long)pgd);
++			pgd = NULL;
++		}
+ 	}
+ 
+ 	return pgd;
+@@ -230,6 +232,7 @@ void pgd_free(struct mm_struct *mm, pgd_
+ {
+ 	pgd_mop_up_pmds(mm, pgd);
+ 	pgd_dtor(pgd);
++	paravirt_pgd_free(mm, pgd);
+ 	free_page((unsigned long)pgd);
+ }
+ 
+diff -urpN a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
+--- a/arch/x86/xen/enlighten.c	2009-03-23 21:26:13.000000000 -0600
++++ b/arch/x86/xen/enlighten.c	2009-03-23 21:33:56.000000000 -0600
+@@ -45,6 +45,7 @@
+ #include <asm/pgtable.h>
+ #include <asm/tlbflush.h>
+ #include <asm/reboot.h>
++#include <asm/pgalloc.h>
+ 
+ #include "xen-ops.h"
+ #include "mmu.h"
+@@ -1126,6 +1127,9 @@ static const struct pv_mmu_ops xen_mmu_o
+ 	.pte_update = paravirt_nop,
+ 	.pte_update_defer = paravirt_nop,
+ 
++	.pgd_alloc = __paravirt_pgd_alloc,
++	.pgd_free = paravirt_nop,
++
+ 	.alloc_pte = xen_alloc_pte_init,
+ 	.release_pte = xen_release_pte_init,
+ 	.alloc_pmd = xen_alloc_pte_init,
+diff -urpN a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
+--- a/include/asm-x86/paravirt.h	2009-03-23 21:26:13.000000000 -0600
++++ b/include/asm-x86/paravirt.h	2009-03-23 21:33:56.000000000 -0600
+@@ -219,7 +219,14 @@ struct pv_mmu_ops {
+ 	void (*flush_tlb_others)(const cpumask_t *cpus, struct mm_struct *mm,
+ 				 unsigned long va);
+ 
+-	/* Hooks for allocating/releasing pagetable pages */
++	/* Hooks for allocating and freeing a pagetable top-level */
++	int  (*pgd_alloc)(struct mm_struct *mm);
++	void (*pgd_free)(struct mm_struct *mm, pgd_t *pgd);
++
++	/*
++	 * Hooks for allocating/releasing pagetable pages when they're
++	 * attached to a pagetable
++	 */
+ 	void (*alloc_pte)(struct mm_struct *mm, u32 pfn);
+ 	void (*alloc_pmd)(struct mm_struct *mm, u32 pfn);
+ 	void (*alloc_pmd_clone)(u32 pfn, u32 clonepfn, u32 start, u32 count);
+@@ -918,6 +925,16 @@ static inline void flush_tlb_others(cpum
+ 	PVOP_VCALL3(pv_mmu_ops.flush_tlb_others, &cpumask, mm, va);
+ }
+ 
++static inline int paravirt_pgd_alloc(struct mm_struct *mm)
++{
++	return PVOP_CALL1(int, pv_mmu_ops.pgd_alloc, mm);
++}
++
++static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *pgd)
++{
++	PVOP_VCALL2(pv_mmu_ops.pgd_free, mm, pgd);
++}
++
+ static inline void paravirt_alloc_pte(struct mm_struct *mm, unsigned pfn)
+ {
+ 	PVOP_VCALL2(pv_mmu_ops.alloc_pte, mm, pfn);
+diff -urpN a/include/asm-x86/pgalloc.h b/include/asm-x86/pgalloc.h
+--- a/include/asm-x86/pgalloc.h	2008-07-13 15:51:29.000000000 -0600
++++ b/include/asm-x86/pgalloc.h	2009-03-23 21:33:56.000000000 -0600
+@@ -5,9 +5,13 @@
+ #include <linux/mm.h>		/* for struct page */
+ #include <linux/pagemap.h>
+ 
++static inline int  __paravirt_pgd_alloc(struct mm_struct *mm) { return 0; }
++
+ #ifdef CONFIG_PARAVIRT
+ #include <asm/paravirt.h>
+ #else
++#define paravirt_pgd_alloc(mm)	__paravirt_pgd_alloc(mm)
++static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *pgd) {}
+ static inline void paravirt_alloc_pte(struct mm_struct *mm, unsigned long pfn)	{}
+ static inline void paravirt_alloc_pmd(struct mm_struct *mm, unsigned long pfn)	{}
+ static inline void paravirt_alloc_pmd_clone(unsigned long pfn, unsigned long clonepfn,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/restrict-long-nops.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/restrict-long-nops.patch
@@ -0,0 +1,27 @@
+diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
+index 2c518fb..b225219 100644
+--- a/arch/x86/Kconfig.cpu
++++ b/arch/x86/Kconfig.cpu
+@@ -382,14 +382,17 @@ config X86_OOSTORE
+ # P6_NOPs are a relatively minor optimization that require a family >=
+ # 6 processor, except that it is broken on certain VIA chips.
+ # Furthermore, AMD chips prefer a totally different sequence of NOPs
+-# (which work on all CPUs).  As a result, disallow these if we're
+-# compiling X86_GENERIC but not X86_64 (these NOPs do work on all
+-# x86-64 capable chips); the list of processors in the right-hand clause
+-# are the cores that benefit from this optimization.
++# (which work on all CPUs).  In addition, it looks like Virtual PC
++# does not understand them.
++#
++# As a result, disallow these if we're not compiling for X86_64 (these
++# NOPs do work on all x86-64 capable chips); the list of processors in
++# the right-hand clause are the cores that benefit from this optimization.
+ #
+ config X86_P6_NOP
+ 	def_bool y
+-	depends on (X86_64 || !X86_GENERIC) && (M686 || MPENTIUMII || MPENTIUMIII || MPENTIUMM || MCORE2 || MPENTIUM4 || MPSC)
++	depends on X86_64
++	depends on (MCORE2 || MPENTIUM4 || MPSC)
+ 
+ config X86_TSC
+ 	def_bool y
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/vmi-add-missing-paravirt_release_pmd.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/vmi-add-missing-paravirt_release_pmd.patch
@@ -0,0 +1,57 @@
+commit 55a8ba4b7f76bebd7e8ce3f74c04b140627a1bad
+Author: Alok Kataria <akataria@vmware.com>
+Date:   Fri Feb 6 10:29:35 2009 -0800
+
+    x86, vmi: put a missing paravirt_release_pmd in pgd_dtor
+    
+    Commit 6194ba6ff6ccf8d5c54c857600843c67aa82c407 ("x86: don't special-case
+    pmd allocations as much") made changes to the way we handle pmd allocations,
+    and while doing that it dropped a call to  paravirt_release_pd on the
+    pgd page from the pgd_dtor code path.
+    
+    As a result of this missing release, the hypervisor is now unaware of the
+    pgd page being freed, and as a result it ends up tracking this page as a
+    page table page.
+    
+    After this the guest may start using the same page for other purposes, and
+    depending on what use the page is put to, it may result in various performance
+    and/or functional issues ( hangs, reboots).
+    
+    Since this release is only required for VMI, I now release the pgd page from
+    the (vmi)_pgd_free hook.
+    
+    Signed-off-by: Alok N Kataria <akataria@vmware.com>
+    Acked-by: Jeremy Fitzhardinge <jeremy@goop.org>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+    Cc: <stable@kernel.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/arch/x86/kernel/vmi_32.c b/arch/x86/kernel/vmi_32.c
+--- a/arch/x86/kernel/vmi_32.c	2009-03-23 21:26:16.000000000 -0600
++++ b/arch/x86/kernel/vmi_32.c	2009-03-23 21:35:47.000000000 -0600
+@@ -429,6 +429,16 @@ static void vmi_release_pmd(u32 pfn)
+ }
+ 
+ /*
++ * We use the pgd_free hook for releasing the pgd page:
++ */
++static void vmi_pgd_free(struct mm_struct *mm, pgd_t *pgd)
++{
++	unsigned long pfn = __pa(pgd) >> PAGE_SHIFT;
++
++	vmi_ops.release_page(pfn, VMI_PAGE_L2);
++}
++
++/*
+  * Helper macros for MMU update flags.  We can defer updates until a flush
+  * or page invalidation only if the update is to the current address space
+  * (otherwise, there is no flush).  We must check against init_mm, since
+@@ -880,6 +890,7 @@ static inline int __init activate_vmi(vo
+ 	if (vmi_ops.release_page) {
+ 		pv_mmu_ops.release_pte = vmi_release_pte;
+ 		pv_mmu_ops.release_pmd = vmi_release_pmd;
++		pv_mmu_ops.pgd_free = vmi_pgd_free;
+ 	}
+ 
+ 	/* Set linear is needed in all cases */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/x86/x86-64-slightly-stream-line-32-bit-syscall-entry-code.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/x86/x86-64-slightly-stream-line-32-bit-syscall-entry-code.patch
@@ -0,0 +1,122 @@
+From cebbert@redhat.com  Fri Oct  9 15:36:28 2009
+From: Jan Beulich <jbeulich@novell.com>
+Date: Wed, 7 Oct 2009 17:33:08 -0400
+Subject: x86-64: slightly stream-line 32-bit syscall entry code
+To: stable@kernel.org
+Cc: Jan Beulich <jbeulich@novell.com>
+Message-ID: <20091007173308.1e56746f@katamari.usersys.redhat.com>
+
+From: Jan Beulich <jbeulich@novell.com>
+
+commit 295286a89107c353b9677bc604361c537fd6a1c0 upstream
+
+x86-64: slightly stream-line 32-bit syscall entry code
+
+[ required for following patch to apply properly ]
+
+Avoid updating registers or memory twice as well as needlessly loading
+or copying registers.
+
+Signed-off-by: Jan Beulich <jbeulich@novell.com>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+Cc: Chuck Ebbert <cebbert@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/x86/ia32/ia32entry.S |   26 ++++++++++----------------
+ 1 file changed, 10 insertions(+), 16 deletions(-)
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/x86/ia32/ia32entry.S linux-source-2.6.26/arch/x86/ia32/ia32entry.S
+--- linux-source-2.6.26.orig/arch/x86/ia32/ia32entry.S	2009-08-18 23:15:13.000000000 -0600
++++ linux-source-2.6.26/arch/x86/ia32/ia32entry.S	2009-10-15 22:15:48.000000000 -0600
+@@ -29,19 +29,18 @@
+ 	.endm 
+ 
+ 	/* clobbers %eax */	
+-	.macro  CLEAR_RREGS
++	.macro  CLEAR_RREGS _r9=rax
+ 	xorl 	%eax,%eax
+ 	movq	%rax,R11(%rsp)
+ 	movq	%rax,R10(%rsp)
+-	movq	%rax,R9(%rsp)
++	movq	%\_r9,R9(%rsp)
+ 	movq	%rax,R8(%rsp)
+ 	.endm
+ 
+-	.macro LOAD_ARGS32 offset
+-	movl \offset(%rsp),%r11d
+-	movl \offset+8(%rsp),%r10d
++	.macro LOAD_ARGS32 offset, _r9=0
++	.if \_r9
+ 	movl \offset+16(%rsp),%r9d
+-	movl \offset+24(%rsp),%r8d
++	.endif
+ 	movl \offset+40(%rsp),%ecx
+ 	movl \offset+48(%rsp),%edx
+ 	movl \offset+56(%rsp),%esi
+@@ -118,7 +117,7 @@ ENTRY(ia32_sysenter_target)
+ 	SAVE_ARGS 0,0,1
+  	/* no need to do an access_ok check here because rbp has been
+  	   32bit zero extended */ 
+-1:	movl	(%rbp),%r9d
++1:	movl	(%rbp),%ebp
+  	.section __ex_table,"a"
+  	.quad 1b,ia32_badarg
+  	.previous	
+@@ -130,7 +129,7 @@ ENTRY(ia32_sysenter_target)
+ sysenter_do_call:	
+ 	cmpl	$(IA32_NR_syscalls-1),%eax
+ 	ja	ia32_badsys
+-	IA32_ARG_FIXUP 1
++	IA32_ARG_FIXUP
+ 	call	*ia32_sys_call_table(,%rax,8)
+ 	movq	%rax,RAX-ARGOFFSET(%rsp)
+ 	GET_THREAD_INFO(%r10)
+@@ -158,16 +157,13 @@ sysenter_do_call:	
+ 
+ sysenter_tracesys:
+ 	CFI_RESTORE_STATE
+-	xchgl	%r9d,%ebp
+ 	SAVE_REST
+ 	CLEAR_RREGS
+-	movq	%r9,R9(%rsp)
+ 	movq	$-ENOSYS,RAX(%rsp)/* ptrace can change this for a bad syscall */
+ 	movq	%rsp,%rdi        /* &pt_regs -> arg1 */
+ 	call	syscall_trace_enter
+ 	LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed it */
+ 	RESTORE_REST
+-	xchgl	%ebp,%r9d
+ 	cmpl	$(IA32_NR_syscalls-1),%eax
+ 	ja	int_ret_from_sys_call /* sysenter_tracesys has set RAX(%rsp) */
+ 	jmp	sysenter_do_call
+@@ -234,9 +230,9 @@ ENTRY(ia32_cstar_target)
+ 	testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
+ 	CFI_REMEMBER_STATE
+ 	jnz   cstar_tracesys
+-cstar_do_call:	
+ 	cmpl $IA32_NR_syscalls-1,%eax
+ 	ja  ia32_badsys
++cstar_do_call:
+ 	IA32_ARG_FIXUP 1
+ 	call *ia32_sys_call_table(,%rax,8)
+ 	movq %rax,RAX-ARGOFFSET(%rsp)
+@@ -261,15 +257,13 @@ cstar_tracesys:	
+ 	CFI_RESTORE_STATE
+ 	xchgl %r9d,%ebp
+ 	SAVE_REST
+-	CLEAR_RREGS
+-	movq %r9,R9(%rsp)
++	CLEAR_RREGS r9
+ 	movq $-ENOSYS,RAX(%rsp)	/* ptrace can change this for a bad syscall */
+ 	movq %rsp,%rdi        /* &pt_regs -> arg1 */
+ 	call syscall_trace_enter
+-	LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed it */
++	LOAD_ARGS32 ARGOFFSET, 1  /* reload args from stack in case ptrace changed it */
+ 	RESTORE_REST
+ 	xchgl %ebp,%r9d
+-	movl RSP-ARGOFFSET(%rsp), %r8d
+ 	cmpl $(IA32_NR_syscalls-1),%eax
+ 	ja int_ret_from_sys_call /* cstar_tracesys has set RAX(%rsp) */
+ 	jmp cstar_do_call
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/powerpc/oldworld-boot-fix.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/powerpc/oldworld-boot-fix.patch
@@ -0,0 +1,54 @@
+# Patch author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+# Description: Fix oldworld initrd loading problems.
+#  It looks like older OF "setprop" is bogus and isn't actually copying the
+#  data but just taking a pointer. The LongTrail workaround also has that
+#  problem as "property" will not copy the data. This fixes the workaround
+#  and applies it to Apple OF 1.0.5.
+# Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+# Closes:
+#  375035: Kernel 2.6.16 attempts to access root device before running initramfs init
+#  366620: initramfs-tools: 2.6.16-1-powerpc fails to mount rootfs, 2.6.15-1-powerpc works
+#
+
+Index: linux-tika/arch/powerpc/kernel/prom_init.c
+===================================================================
+--- linux-tika.orig/arch/powerpc/kernel/prom_init.c	2006-09-02 09:53:00.000000000 +1000
++++ linux-tika/arch/powerpc/kernel/prom_init.c	2006-09-18 20:55:26.000000000 +1000
+@@ -102,7 +102,7 @@
+ #endif
+ 
+ #define OF_WA_CLAIM	1	/* do phys/virt claim separately, then map */
+-#define OF_WA_LONGTRAIL	2	/* work around longtrail bugs */
++#define OF_WA_SETPROP	2	/* work around setprop bugs */
+ 
+ #define PROM_BUG() do {						\
+         prom_printf("kernel BUG at %s line 0x%x!\n",		\
+@@ -472,7 +472,7 @@
+ {
+ 	char cmd[256], *p;
+ 
+-	if (!(OF_WORKAROUNDS & OF_WA_LONGTRAIL))
++	if (!(OF_WORKAROUNDS & OF_WA_SETPROP))
+ 		return call_prom("setprop", 4, 1, node, ADDR(pname),
+ 				 (u32)(unsigned long) value, (u32) valuelen);
+ 
+@@ -482,6 +482,7 @@
+ 	add_string(&p, nodename);
+ 	add_string(&p, tohex((u32)(unsigned long) value));
+ 	add_string(&p, tohex(valuelen));
++	add_string(&p, "encode-bytes");
+ 	add_string(&p, tohex(ADDR(pname)));
+ 	add_string(&p, tohex(strlen(RELOC(pname))));
+ 	add_string(&p, "property");
+@@ -1466,9 +1467,9 @@
+ 	version[sizeof(version) - 1] = 0;
+ 	/* XXX might need to add other versions here */
+ 	if (strcmp(version, "Open Firmware, 1.0.5") == 0)
+-		of_workarounds = OF_WA_CLAIM;
++		of_workarounds = OF_WA_CLAIM | OF_WA_SETPROP;
+ 	else if (strncmp(version, "FirmWorks,3.", 12) == 0) {
+-		of_workarounds = OF_WA_CLAIM | OF_WA_LONGTRAIL;
++		of_workarounds = OF_WA_CLAIM | OF_WA_SETPROP;
+ 		call_prom("interpret", 1, 1, "dev /memory 0 to allow-reclaim");
+ 	} else
+ 		return;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/powerpc/lpar-console.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/powerpc/lpar-console.patch
@@ -0,0 +1,39 @@
+diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c
+index 9235c46..8a20452 100644
+--- a/arch/powerpc/platforms/pseries/lpar.c
++++ b/arch/powerpc/platforms/pseries/lpar.c
+@@ -204,6 +204,7 @@ void __init find_udbg_vterm(void)
+ 	struct device_node *stdout_node;
+ 	const u32 *termno;
+ 	const char *name;
++	int add_console;
+ 
+ 	/* find the boot console from /chosen/stdout */
+ 	if (!of_chosen)
+@@ -219,6 +220,8 @@ void __init find_udbg_vterm(void)
+ 		printk(KERN_WARNING "stdout node missing 'name' property!\n");
+ 		goto out;
+ 	}
++	/* The user has requested a console so this is already set up. */
++	add_console = !strstr(cmd_line, "console=");
+ 
+ 	/* Check if it's a virtual terminal */
+ 	if (strncmp(name, "vty", 3) != 0)
+@@ -232,13 +235,15 @@ void __init find_udbg_vterm(void)
+ 		udbg_putc = udbg_putcLP;
+ 		udbg_getc = udbg_getcLP;
+ 		udbg_getc_poll = udbg_getc_pollLP;
+-		add_preferred_console("hvc", termno[0] & 0xff, NULL);
++		if (add_console)
++			add_preferred_console("hvc", termno[0] & 0xff, NULL);
+ 	} else if (of_device_is_compatible(stdout_node, "hvterm-protocol")) {
+ 		vtermno = termno[0];
+ 		udbg_putc = udbg_hvsi_putc;
+ 		udbg_getc = udbg_hvsi_getc;
+ 		udbg_getc_poll = udbg_hvsi_getc_poll;
+-		add_preferred_console("hvsi", termno[0] & 0xff, NULL);
++		if (add_console)
++			add_preferred_console("hvsi", termno[0] & 0xff, NULL);
+ 	}
+ out:
+ 	of_node_put(stdout_node);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/powerpc/mm-mol.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/powerpc/mm-mol.patch
@@ -0,0 +1,12 @@
+diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
+index c6b1aa3..455fb38 100644
+--- a/arch/powerpc/kernel/ppc_ksyms.c
++++ b/arch/powerpc/kernel/ppc_ksyms.c
+@@ -189,6 +189,7 @@ EXPORT_SYMBOL(set_context);
+ extern long mol_trampoline;
+ EXPORT_SYMBOL(mol_trampoline); /* For MOL */
+ EXPORT_SYMBOL(flush_hash_pages); /* For MOL */
++EXPORT_SYMBOL(handle_mm_fault); /* For MOL */
+ #ifdef CONFIG_SMP
+ extern int mmu_hash_lock;
+ EXPORT_SYMBOL(mmu_hash_lock); /* For MOL */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/powerpc/prep-utah-ide-interrupt.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/powerpc/prep-utah-ide-interrupt.patch
@@ -0,0 +1,16 @@
+# 
+# Description: Reenables IDE interrupt on Motorola Powerstack II (Utah)
+# Patch author: Sven Luther <luther@debian.org>
+# Closes: #345424: linux-source-2.6.14: Missing IDE IRQ for PReP Utah (PowerstackII Pro4000)
+#
+--- linux-2.6-2.6.14+2.6.15-rc7/arch/ppc/platforms/prep_pci.c.orig	2005-12-31 14:51:16.000000000 +0000
++++ linux-2.6-2.6.14+2.6.15-rc7/arch/ppc/platforms/prep_pci.c	2005-12-31 14:58:23.000000000 +0000
+@@ -46,7 +46,7 @@
+ static char Utah_pci_IRQ_map[23] =
+ {
+         0,   /* Slot 0  - unused */
+-        0,   /* Slot 1  - unused */
++        4,   /* Slot 1  - IDE - SL82C105 */
+         5,   /* Slot 2  - SCSI - NCR825A  */
+         0,   /* Slot 3  - unused */
+         3,   /* Slot 4  - Ethernet - DEC2114x */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/s390/dasd-support-DIAG-access-for-ro-devices.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/s390/dasd-support-DIAG-access-for-ro-devices.patch
@@ -0,0 +1,66 @@
+commit 22825ab7693fd29769518a0d25ba43c01a50092a
+Author: Stefan Weinhuber <wein@de.ibm.com>
+Date:   Mon Dec 7 12:51:48 2009 +0100
+
+    [S390] dasd: support DIAG access for read-only devices
+    
+    When a DASD device is used with the DIAG discipline, the DIAG
+    initialization will indicate success or error with a respective
+    return code. So far we have interpreted a return code of 4 as error,
+    but it actually means that the initialization was successful, but
+    the device is read-only. To allow read-only devices to be used with
+    DIAG we need to accept a return code of 4 as success.
+    
+    Re-initialization of the DIAG access is also part of the DIAG error
+    recovery. If we find that the access mode of a device has been
+    changed from writable to read-only while the device was in use,
+    we print an error message.
+    
+    Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
+    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/s390/block/dasd_diag.c linux-source-2.6.26/drivers/s390/block/dasd_diag.c
+--- linux-source-2.6.26.orig/drivers/s390/block/dasd_diag.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/s390/block/dasd_diag.c	2009-12-24 01:16:01.000000000 -0700
+@@ -143,6 +143,15 @@ dasd_diag_erp(struct dasd_device *device
+ 
+ 	mdsk_term_io(device);
+ 	rc = mdsk_init_io(device, device->block->bp_block, 0, NULL);
++	if (rc == 4) {
++		if (!(device->features & DASD_FEATURE_READONLY)) {
++			dev_warn(&device->cdev->dev,
++				 "The access mode of a DIAG device changed"
++				 " to read-only");
++			device->features |= DASD_FEATURE_READONLY;
++		}
++		rc = 0;
++	}
+ 	if (rc)
+ 		DEV_MESSAGE(KERN_WARNING, device, "DIAG ERP unsuccessful, "
+ 			    "rc=%d", rc);
+@@ -428,16 +437,20 @@ dasd_diag_check_device(struct dasd_devic
+ 	for (sb = 512; sb < bsize; sb = sb << 1)
+ 		block->s2b_shift++;
+ 	rc = mdsk_init_io(device, block->bp_block, 0, NULL);
+-	if (rc) {
++	if (rc && (rc != 4)) {
+ 		DEV_MESSAGE(KERN_WARNING, device, "DIAG initialization "
+ 			"failed (rc=%d)", rc);
+ 		rc = -EIO;
+ 	} else {
++		if (rc == 4)
++			device->features |= DASD_FEATURE_READONLY;
+ 		DEV_MESSAGE(KERN_INFO, device,
+-			    "(%ld B/blk): %ldkB",
++			    "(%ld B/blk): %ldkB%s",
+ 			    (unsigned long) block->bp_block,
+ 			    (unsigned long) (block->blocks <<
+-				block->s2b_shift) >> 1);
++					     block->s2b_shift) >> 1,
++			    (rc == 4) ? ", read-only device" : "");
++		rc = 0;
+ 	}
+ out:
+ 	free_page((long) label);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/s390/fix__div64_31_for_G5.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/s390/fix__div64_31_for_G5.patch
@@ -0,0 +1,31 @@
+commit 4fa81ed27781a12f6303b9263056635ae74e3e21
+Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Date:   Wed Mar 18 13:27:32 2009 +0100
+
+    [S390] __div64_31 broken for CONFIG_MARCH_G5
+    
+    The implementation of __div64_31 for G5 machines is broken. The comments
+    in __div64_31 are correct, only the code does not do what the comments
+    say. The part "If the remainder has overflown subtract base and increase
+    the quotient" is only partially realized, the base is subtracted correctly
+    but the quotient is only increased if the dividend had the last bit set.
+    Using the correct instruction fixes the problem.
+    
+    Cc: stable@kernel.org
+    Reported-by: Frans Pop <elendil@planet.nl>
+    Tested-by: Frans Pop <elendil@planet.nl>
+    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+diff --git a/arch/s390/lib/div64.c b/arch/s390/lib/div64.c
+index a5f8300..d9e62c0 100644
+--- a/arch/s390/lib/div64.c
++++ b/arch/s390/lib/div64.c
+@@ -61,7 +61,7 @@ static uint32_t __div64_31(uint64_t *n, uint32_t base)
+ 		"	clr	%0,%3\n"
+ 		"	jl	0f\n"
+ 		"	slr	%0,%3\n"
+-		"	alr	%1,%2\n"
++		"	ahi	%1,1\n"
+ 		"0:\n"
+ 		: "+d" (reg2), "+d" (reg3), "=d" (tmp)
+ 		: "d" (base), "2" (1UL) : "cc" );
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/s390/nohz-dont-stop-outside-idle-loop-s390.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/s390/nohz-dont-stop-outside-idle-loop-s390.patch
@@ -0,0 +1,26 @@
+From e338125b8a886923ba8367207c144764dc352584 Mon Sep 17 00:00:00 2001
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Sat, 19 Jul 2008 09:33:21 +0200
+Subject: [PATCH] nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well
+
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+---
+ arch/s390/kernel/process.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
+index 85defd0..9839767 100644
+--- a/arch/s390/kernel/process.c
++++ b/arch/s390/kernel/process.c
+@@ -142,7 +142,7 @@ static void default_idle(void)
+ void cpu_idle(void)
+ {
+ 	for (;;) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched())
+ 			default_idle();
+ 		tick_nohz_restart_sched_tick();
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/s390/prevent-ptrace-padding-area-read-write-in-31-bit-mode.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/s390/prevent-ptrace-padding-area-read-write-in-31-bit-mode.patch
@@ -0,0 +1,113 @@
+From 3d6e48f43340343d97839eadb1ab7b6a3ea98797 Mon Sep 17 00:00:00 2001
+From: Jarod Wilson <jwilson@redhat.com>
+Date: Tue, 9 Sep 2008 12:38:56 +0200
+Subject: S390: CVE-2008-1514: prevent ptrace padding area read/write in 31-bit mode
+
+From: Jarod Wilson <jwilson@redhat.com>
+
+commit 3d6e48f43340343d97839eadb1ab7b6a3ea98797 upstream
+
+When running a 31-bit ptrace, on either an s390 or s390x kernel,
+reads and writes into a padding area in struct user_regs_struct32
+will result in a kernel panic.
+
+This is also known as CVE-2008-1514.
+
+Test case available here:
+http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/user-area-padding.c?cvsroot=systemtap
+
+Steps to reproduce:
+1) wget the above
+2) gcc -o user-area-padding-31bit user-area-padding.c -Wall -ggdb2 -D_GNU_SOURCE -m31
+3) ./user-area-padding-31bit
+<panic>
+
+Test status
+-----------
+Without patch, both s390 and s390x kernels panic. With patch, the test case,
+as well as the gdb testsuite, pass without incident, padding area reads
+returning zero, writes ignored.
+
+Nb: original version returned -EINVAL on write attempts, which broke the
+gdb test and made the test case slightly unhappy, Jan Kratochvil suggested
+the change to return 0 on write attempts.
+
+Signed-off-by: Jarod Wilson <jarod@redhat.com>
+Tested-by: Jan Kratochvil <jan.kratochvil@redhat.com>
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Cc: Moritz Muehlenhoff <jmm@debian.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/s390/kernel/compat_ptrace.h |    1 +
+ arch/s390/kernel/ptrace.c        |   28 ++++++++++++++++++++++++++++
+ 2 files changed, 29 insertions(+)
+
+--- a/arch/s390/kernel/compat_ptrace.h
++++ b/arch/s390/kernel/compat_ptrace.h
+@@ -42,6 +42,7 @@ struct user_regs_struct32
+ 	u32 gprs[NUM_GPRS];
+ 	u32 acrs[NUM_ACRS];
+ 	u32 orig_gpr2;
++	/* nb: there's a 4-byte hole here */
+ 	s390_fp_regs fp_regs;
+ 	/*
+ 	 * These per registers are in here so that gdb can modify them
+--- a/arch/s390/kernel/ptrace.c
++++ b/arch/s390/kernel/ptrace.c
+@@ -177,6 +177,13 @@ peek_user(struct task_struct *child, add
+ 		 */
+ 		tmp = (addr_t) task_pt_regs(child)->orig_gpr2;
+ 
++	} else if (addr < (addr_t) &dummy->regs.fp_regs) {
++		/*
++		 * prevent reads of padding hole between
++		 * orig_gpr2 and fp_regs on s390.
++		 */
++		tmp = 0;
++
+ 	} else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) {
+ 		/* 
+ 		 * floating point regs. are stored in the thread structure
+@@ -268,6 +275,13 @@ poke_user(struct task_struct *child, add
+ 		 */
+ 		task_pt_regs(child)->orig_gpr2 = data;
+ 
++	} else if (addr < (addr_t) &dummy->regs.fp_regs) {
++		/*
++		 * prevent writes of padding hole between
++		 * orig_gpr2 and fp_regs on s390.
++		 */
++		return 0;
++
+ 	} else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) {
+ 		/*
+ 		 * floating point regs. are stored in the thread structure
+@@ -409,6 +423,13 @@ peek_user_emu31(struct task_struct *chil
+ 		 */
+ 		tmp = *(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4);
+ 
++	} else if (addr < (addr_t) &dummy32->regs.fp_regs) {
++		/*
++		 * prevent reads of padding hole between
++		 * orig_gpr2 and fp_regs on s390.
++		 */
++		tmp = 0;
++
+ 	} else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) {
+ 		/*
+ 		 * floating point regs. are stored in the thread structure 
+@@ -488,6 +509,13 @@ poke_user_emu31(struct task_struct *chil
+ 		 */
+ 		*(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4) = tmp;
+ 
++	} else if (addr < (addr_t) &dummy32->regs.fp_regs) {
++		/*
++		 * prevent writess of padding hole between
++		 * orig_gpr2 and fp_regs on s390.
++		 */
++		return 0;
++
+ 	} else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) {
+ 		/*
+ 		 * floating point regs. are stored in the thread structure 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/ia64/cpu0-early-access-per-cpu-vars.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/ia64/cpu0-early-access-per-cpu-vars.patch
@@ -0,0 +1,167 @@
+commit 10617bbe84628eb18ab5f723d3ba35005adde143
+Author: Tony Luck <tony.luck@intel.com>
+Date:   Tue Aug 12 10:34:20 2008 -0700
+
+    [IA64] Ensure cpu0 can access per-cpu variables in early boot code
+    
+    ia64 handles per-cpu variables a litle differently from other architectures
+    in that it maps the physical memory allocated for each cpu at a constant
+    virtual address (0xffffffffffff0000). This mapping is not enabled until
+    the architecture specific cpu_init() function is run, which causes problems
+    since some generic code is run before this point. In particular when
+    CONFIG_PRINTK_TIME is enabled, the boot cpu will trap on the access to
+    per-cpu memory at the first printk() call so the boot will fail without
+    the kernel printing anything to the console.
+    
+    Fix this by allocating percpu memory for cpu0 in the kernel data section
+    and doing all initialization to enable percpu access in head.S before
+    calling any generic code.
+    
+    Other cpus must take care not to access per-cpu variables too early, but
+    their code path from start_secondary() to cpu_init() is all in arch/ia64
+    
+    Signed-off-by: Tony Luck <tony.luck@intel.com>
+
+diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S
+index 41c7129..8bdea8e 100644
+--- a/arch/ia64/kernel/head.S
++++ b/arch/ia64/kernel/head.S
+@@ -359,7 +359,31 @@ start_ap:
+ 	mov ar.rsc=0		// place RSE in enforced lazy mode
+ 	;;
+ 	loadrs			// clear the dirty partition
+-	mov IA64_KR(PER_CPU_DATA)=r0	// clear physical per-CPU base
++	movl r19=__phys_per_cpu_start
++	mov r18=PERCPU_PAGE_SIZE
++	;;
++#ifndef CONFIG_SMP
++	add r19=r19,r18
++	;;
++#else
++(isAP)	br.few 2f
++	mov r20=r19
++	sub r19=r19,r18
++	;;
++	shr.u r18=r18,3
++1:
++	ld8 r21=[r20],8;;
++	st8[r19]=r21,8
++	adds r18=-1,r18;;
++	cmp4.lt p7,p6=0,r18
++(p7)	br.cond.dptk.few 1b
++2:
++#endif
++	tpa r19=r19
++	;;
++	.pred.rel.mutex isBP,isAP
++(isBP)	mov IA64_KR(PER_CPU_DATA)=r19	// per-CPU base for cpu0
++(isAP)	mov IA64_KR(PER_CPU_DATA)=r0	// clear physical per-CPU base
+ 	;;
+ 	mov ar.bspstore=r2	// establish the new RSE stack
+ 	;;
+diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
+index 593279f..c27d5b2 100644
+--- a/arch/ia64/kernel/setup.c
++++ b/arch/ia64/kernel/setup.c
+@@ -927,17 +927,19 @@ cpu_init (void)
+ 	if (smp_processor_id() == 0) {
+ 		cpu_set(0, per_cpu(cpu_sibling_map, 0));
+ 		cpu_set(0, cpu_core_map[0]);
++	} else {
++		/*
++		 * Set ar.k3 so that assembly code in MCA handler can compute
++		 * physical addresses of per cpu variables with a simple:
++		 *   phys = ar.k3 + &per_cpu_var
++		 * and the alt-dtlb-miss handler can set per-cpu mapping into
++		 * the TLB when needed. head.S already did this for cpu0.
++		 */
++		ia64_set_kr(IA64_KR_PER_CPU_DATA,
++			    ia64_tpa(cpu_data) - (long) __per_cpu_start);
+ 	}
+ #endif
+ 
+-	/*
+-	 * We set ar.k3 so that assembly code in MCA handler can compute
+-	 * physical addresses of per cpu variables with a simple:
+-	 *   phys = ar.k3 + &per_cpu_var
+-	 */
+-	ia64_set_kr(IA64_KR_PER_CPU_DATA,
+-		    ia64_tpa(cpu_data) - (long) __per_cpu_start);
+-
+ 	get_max_cacheline_size();
+ 
+ 	/*
+diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c
+index 03f1a99..b39853a 100644
+--- a/arch/ia64/kernel/smpboot.c
++++ b/arch/ia64/kernel/smpboot.c
+@@ -467,7 +467,9 @@ start_secondary (void *unused)
+ {
+ 	/* Early console may use I/O ports */
+ 	ia64_set_kr(IA64_KR_IO_BASE, __pa(ia64_iobase));
++#ifndef CONFIG_PRINTK_TIME
+ 	Dprintk("start_secondary: starting CPU 0x%x\n", hard_smp_processor_id());
++#endif
+ 	efi_map_pal_code();
+ 	cpu_init();
+ 	preempt_disable();
+diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
+index 5a77206..de71da8 100644
+--- a/arch/ia64/kernel/vmlinux.lds.S
++++ b/arch/ia64/kernel/vmlinux.lds.S
+@@ -215,6 +215,9 @@ SECTIONS
+   /* Per-cpu data: */
+   percpu : { } :percpu
+   . = ALIGN(PERCPU_PAGE_SIZE);
++#ifdef	CONFIG_SMP
++  . = . + PERCPU_PAGE_SIZE;	/* cpu0 per-cpu space */
++#endif
+   __phys_per_cpu_start = .;
+   .data.percpu PERCPU_ADDR : AT(__phys_per_cpu_start - LOAD_OFFSET)
+ 	{
+diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c
+index 798bf98..e566ff4 100644
+--- a/arch/ia64/mm/contig.c
++++ b/arch/ia64/mm/contig.c
+@@ -163,8 +163,14 @@ per_cpu_init (void)
+ 	 * get_zeroed_page().
+ 	 */
+ 	if (first_time) {
++		void *cpu0_data = __phys_per_cpu_start - PERCPU_PAGE_SIZE;
++
+ 		first_time=0;
+-		for (cpu = 0; cpu < NR_CPUS; cpu++) {
++
++		__per_cpu_offset[0] = (char *) cpu0_data - __per_cpu_start;
++		per_cpu(local_per_cpu_offset, 0) = __per_cpu_offset[0];
++
++		for (cpu = 1; cpu < NR_CPUS; cpu++) {
+ 			memcpy(cpu_data, __phys_per_cpu_start, __per_cpu_end - __per_cpu_start);
+ 			__per_cpu_offset[cpu] = (char *) cpu_data - __per_cpu_start;
+ 			cpu_data += PERCPU_PAGE_SIZE;
+@@ -177,7 +183,7 @@ per_cpu_init (void)
+ static inline void
+ alloc_per_cpu_data(void)
+ {
+-	cpu_data = __alloc_bootmem(PERCPU_PAGE_SIZE * NR_CPUS,
++	cpu_data = __alloc_bootmem(PERCPU_PAGE_SIZE * NR_CPUS-1,
+ 				   PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS));
+ }
+ #else
+diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
+index d83125e..78026aa 100644
+--- a/arch/ia64/mm/discontig.c
++++ b/arch/ia64/mm/discontig.c
+@@ -143,7 +143,11 @@ static void *per_cpu_node_setup(void *cpu_data, int node)
+ 	int cpu;
+ 
+ 	for_each_possible_early_cpu(cpu) {
+-		if (node == node_cpuid[cpu].nid) {
++		if (cpu == 0) {
++			void *cpu0_data = __phys_per_cpu_start - PERCPU_PAGE_SIZE;
++			__per_cpu_offset[cpu] = (char*)cpu0_data -
++				__per_cpu_start;
++		} else if (node == node_cpuid[cpu].nid) {
+ 			memcpy(__va(cpu_data), __phys_per_cpu_start,
+ 			       __per_cpu_end - __per_cpu_start);
+ 			__per_cpu_offset[cpu] = (char*)__va(cpu_data) -
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/ia64/add-efi-rtc-class-driver.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/ia64/add-efi-rtc-class-driver.patch
@@ -0,0 +1,345 @@
+diff -urpN linux-source-2.6.26.orig/arch/ia64/kernel/time.c linux-source-2.6.26/arch/ia64/kernel/time.c
+--- linux-source-2.6.26.orig/arch/ia64/kernel/time.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/ia64/kernel/time.c	2009-01-09 15:51:31.000000000 -0700
+@@ -20,6 +20,7 @@
+ #include <linux/efi.h>
+ #include <linux/timex.h>
+ #include <linux/clocksource.h>
++#include <linux/platform_device.h>
+ 
+ #include <asm/machvec.h>
+ #include <asm/delay.h>
+@@ -380,6 +381,23 @@ static struct irqaction timer_irqaction 
+ 	.name =		"timer"
+ };
+ 
++struct platform_device rtc_efi_dev = {
++	.name = "rtc-efi",
++	.id = -1,
++};
++
++static int __init rtc_init(void)
++{
++	int ret;
++	ret = platform_device_register(&rtc_efi_dev);
++	if (ret < 0)
++		printk(KERN_ERR "unable to register rtc device...\n");
++       
++	/* not necessarily an error */
++	return 0;
++}
++module_init(rtc_init);
++
+ void __init
+ time_init (void)
+ {
+diff -urpN linux-source-2.6.26.orig/drivers/rtc/Kconfig linux-source-2.6.26/drivers/rtc/Kconfig
+--- linux-source-2.6.26.orig/drivers/rtc/Kconfig	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/rtc/Kconfig	2009-01-09 15:51:31.000000000 -0700
+@@ -367,6 +367,16 @@ config RTC_DRV_DS1742
+ 	  This driver can also be built as a module. If so, the module
+ 	  will be called rtc-ds1742.
+ 
++config RTC_DRV_EFI
++	tristate "EFI RTC"
++	depends on IA64
++	help
++	  If you say yes here you will get support for the EFI
++	  Real Time Clock.
++
++	  This driver can also be built as a module. If so, the module
++	  will be called rtc-efi.
++
+ config RTC_DRV_STK17TA8
+ 	tristate "Simtek STK17TA8"
+ 	depends on RTC_CLASS
+diff -urpN linux-source-2.6.26.orig/drivers/rtc/Makefile linux-source-2.6.26/drivers/rtc/Makefile
+--- linux-source-2.6.26.orig/drivers/rtc/Makefile	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/rtc/Makefile	2009-01-09 15:51:51.000000000 -0700
+@@ -30,6 +30,7 @@ obj-$(CONFIG_RTC_DRV_DS1511)	+= rtc-ds15
+ obj-$(CONFIG_RTC_DRV_DS1553)	+= rtc-ds1553.o
+ obj-$(CONFIG_RTC_DRV_DS1672)	+= rtc-ds1672.o
+ obj-$(CONFIG_RTC_DRV_DS1742)	+= rtc-ds1742.o
++obj-$(CONFIG_RTC_DRV_EFI)	+= rtc-efi.o
+ obj-$(CONFIG_RTC_DRV_EP93XX)	+= rtc-ep93xx.o
+ obj-$(CONFIG_RTC_DRV_FM3130)	+= rtc-fm3130.o
+ obj-$(CONFIG_RTC_DRV_ISL1208)	+= rtc-isl1208.o
+diff -urpN linux-source-2.6.26.orig/drivers/rtc/rtc-efi.c linux-source-2.6.26/drivers/rtc/rtc-efi.c
+--- linux-source-2.6.26.orig/drivers/rtc/rtc-efi.c	1969-12-31 17:00:00.000000000 -0700
++++ linux-source-2.6.26/drivers/rtc/rtc-efi.c	2009-01-09 15:51:31.000000000 -0700
+@@ -0,0 +1,275 @@
++/*
++ * rtc-efi: RTC Class Driver for EFI-based systems
++ *
++ * Copyright (C) 2009 Hewlett-Packard Development Company, L.P.
++ *
++ * Author: dann frazier <dannf@hp.com>
++ * Based on efirtc.c by Stephane Eranian
++ *
++ *  This program is free software; you can redistribute  it and/or modify it
++ *  under  the terms of  the GNU General  Public License as published by the
++ *  Free Software Foundation;  either version 2 of the  License, or (at your
++ *  option) any later version.
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/time.h>
++#include <linux/platform_device.h>
++
++#include <linux/efi.h>
++
++#define EFI_ISDST (EFI_TIME_ADJUST_DAYLIGHT|EFI_TIME_IN_DAYLIGHT)
++/*
++ * EFI Epoch is 1/1/1998
++ */
++#define EFI_RTC_EPOCH		1998
++
++#define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400))
++
++struct efi_rtc {
++	struct rtc_device *rtc;
++	spinlock_t lock;
++};
++
++static const unsigned short int __mon_yday[2][13] =
++{
++	/* Normal years.  */
++	{ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 },
++	/* Leap years.  */
++	{ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }
++};
++
++/*
++ * returns day of the year [0-365]
++ */
++static inline int
++compute_yday(efi_time_t *eft)
++{
++	/* efi_time_t.month is in the [1-12] so, we need -1 */
++	return rtc_year_days(eft->day - 1, eft->month - 1, eft->year);
++}
++/*
++ * returns day of the week [0-6] 0=Sunday
++ *
++ * Don't try to provide a year that's before 1998, please !
++ */
++static int
++compute_wday(efi_time_t *eft)
++{
++	int y;
++	int ndays = 0;
++
++	if (eft->year < 1998) {
++		printk(KERN_ERR "efirtc: EFI year < 1998, invalid date\n");
++		return -1;
++	}
++
++	for (y = EFI_RTC_EPOCH; y < eft->year; y++)
++		ndays += 365 + (LEAP_YEAR(y) ? 1 : 0);
++
++	ndays += compute_yday(eft);
++
++	/*
++	 * 4=1/1/1998 was a Thursday
++	 */
++	return (ndays + 4) % 7;
++}
++
++static void
++convert_to_efi_time(struct rtc_time *wtime, efi_time_t *eft)
++{
++
++	eft->year	= wtime->tm_year + 1900;
++	eft->month	= wtime->tm_mon + 1;
++	eft->day	= wtime->tm_mday;
++	eft->hour	= wtime->tm_hour;
++	eft->minute	= wtime->tm_min;
++	eft->second 	= wtime->tm_sec;
++	eft->nanosecond = 0;
++	eft->daylight	= wtime->tm_isdst ? EFI_ISDST : 0;
++	eft->timezone	= EFI_UNSPECIFIED_TIMEZONE;
++}
++
++static void
++convert_from_efi_time(efi_time_t *eft, struct rtc_time *wtime)
++{
++	memset(wtime, 0, sizeof(*wtime));
++	wtime->tm_sec  = eft->second;
++	wtime->tm_min  = eft->minute;
++	wtime->tm_hour = eft->hour;
++	wtime->tm_mday = eft->day;
++	wtime->tm_mon  = eft->month - 1;
++	wtime->tm_year = eft->year - 1900;
++
++	/* day of the week [0-6], Sunday=0 */
++	wtime->tm_wday = compute_wday(eft);
++
++	/* day in the year [1-365]*/
++	wtime->tm_yday = compute_yday(eft);
++
++
++	switch (eft->daylight & EFI_ISDST) {
++	case EFI_ISDST:
++		wtime->tm_isdst = 1;
++		break;
++	case EFI_TIME_ADJUST_DAYLIGHT:
++		wtime->tm_isdst = 0;
++		break;
++	default:
++		wtime->tm_isdst = -1;
++	}
++}
++
++static int efi_read_alarm(struct device *dev, struct rtc_wkalrm *wkalrm)
++{
++	efi_time_t eft;
++	efi_status_t status;
++
++	lock_kernel();
++
++	/*
++	 * As of EFI v1.10, this call always returns an unsupported status
++	 */
++	status = efi.get_wakeup_time((efi_bool_t *)&wkalrm->enabled,
++				     (efi_bool_t *)&wkalrm->pending, &eft);
++
++	unlock_kernel();
++
++	if (status != EFI_SUCCESS)
++		return -EINVAL;
++
++	convert_from_efi_time(&eft, &wkalrm->time);
++
++	return rtc_valid_tm(&wkalrm->time);
++}
++
++static int efi_set_alarm(struct device *dev, struct rtc_wkalrm *wkalrm)
++{
++	efi_time_t eft;
++	efi_status_t status;
++
++	convert_to_efi_time(&wkalrm->time, &eft);
++
++	lock_kernel();
++
++	/*
++	 * XXX Fixme:
++	 * As of EFI 0.92 with the firmware I have on my
++	 * machine this call does not seem to work quite
++	 * right
++	 *
++	 * As of v1.10, this call always returns an unsupported status
++	 */
++	status = efi.set_wakeup_time((efi_bool_t)wkalrm->enabled, &eft);
++
++	unlock_kernel();
++
++	printk(KERN_WARNING "write status is %d\n", (int)status);
++
++	return status == EFI_SUCCESS ? 0 : -EINVAL;
++}
++
++static int efi_read_time(struct device *dev, struct rtc_time *tm)
++{
++	efi_status_t status;
++	efi_time_t eft;
++	efi_time_cap_t cap;
++
++	lock_kernel();
++
++	status = efi.get_time(&eft, &cap);
++
++	unlock_kernel();
++
++	if (status != EFI_SUCCESS) {
++		/* should never happen */
++		printk(KERN_ERR "efitime: can't read time\n");
++		return -EINVAL;
++	}
++
++	convert_from_efi_time(&eft, tm);
++
++	return rtc_valid_tm(tm);
++}
++
++static int efi_set_time(struct device *dev, struct rtc_time *tm)
++{
++	efi_status_t status;
++	efi_time_t eft;
++
++	convert_to_efi_time(tm, &eft);
++
++	lock_kernel();
++
++	status = efi.set_time(&eft);
++
++	unlock_kernel();
++
++	return status == EFI_SUCCESS ? 0 : -EINVAL;
++}
++
++static const struct rtc_class_ops efi_rtc_ops = {
++	.read_time = efi_read_time,
++	.set_time = efi_set_time,
++	.read_alarm = efi_read_alarm,
++	.set_alarm = efi_set_alarm,
++};
++
++static int __devinit efi_rtc_probe(struct platform_device *dev)
++{
++	struct rtc_device *rtc;
++
++	rtc = kzalloc(sizeof(*rtc), GFP_KERNEL);
++	if (!rtc)
++		return -ENOMEM;
++
++	rtc = rtc_device_register("rtc-efi", &dev->dev, &efi_rtc_ops,
++					THIS_MODULE);
++	if (IS_ERR(rtc)) {
++		int err = PTR_ERR(rtc);
++		kfree(rtc);
++		return err;
++	}
++
++	platform_set_drvdata(dev, rtc);
++
++	return 0;
++}
++
++static int __devexit efi_rtc_remove(struct platform_device *dev)
++{
++	struct rtc_device *rtc = platform_get_drvdata(dev);
++
++	rtc_device_unregister(rtc);
++	kfree(rtc);
++
++	return 0;
++}
++
++static struct platform_driver efi_rtc_driver = {
++	.driver = {
++		.name = "rtc-efi",
++		.owner = THIS_MODULE,
++	},
++	.probe = efi_rtc_probe,
++	.remove = __devexit_p(efi_rtc_remove),
++};
++
++static int __init efi_rtc_init(void)
++{
++	return platform_driver_probe(&efi_rtc_driver, efi_rtc_probe);
++}
++
++static void __exit efi_rtc_exit(void)
++{
++	platform_driver_unregister(&efi_rtc_driver);
++}
++
++module_init(efi_rtc_init);
++module_exit(efi_rtc_exit);
++
++MODULE_AUTHOR("dann frazier <dannf@hp.com>");
++MODULE_LICENSE("GPL");
++MODULE_DESCRIPTION("EFI RTC driver");
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/ia64/hardcode-arch-script-output.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/ia64/hardcode-arch-script-output.patch
@@ -0,0 +1,45 @@
+--- linux-source-2.6.18/arch/ia64/Makefile.orig	2007-01-03 17:26:31.000000000 -0700
++++ linux-source-2.6.18/arch/ia64/Makefile	2007-01-03 17:57:52.000000000 -0700
+@@ -28,16 +28,7 @@
+ 		   -falign-functions=32 -frename-registers -fno-optimize-sibling-calls
+ CFLAGS_KERNEL	:= -mconstant-gp
+ 
+-GAS_STATUS	= $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)")
+-KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)")
+-
+-ifeq ($(GAS_STATUS),buggy)
+-$(error Sorry, you need a newer version of the assember, one that is built from	\
+-	a source-tree that post-dates 18-Dec-2002.  You can find a pre-compiled	\
+-	static binary of such an assembler at:					\
+-										\
+-		ftp://ftp.hpl.hp.com/pub/linux-ia64/gas-030124.tar.gz)
+-endif
++KBUILD_CPPFLAGS += -DHAVE_WORKING_TEXT_ALIGN -DHAVE_MODEL_SMALL_ATTRIBUTE -DHAVE_SERIALIZE_DIRECTIVE
+ 
+ ifeq ($(call cc-version),0304)
+ 	cflags-$(CONFIG_ITANIUM)	+= -mtune=merced
+@@ -67,7 +58,7 @@
+ 
+ PHONY += boot compressed check
+ 
+-all: compressed unwcheck
++all: compressed
+ 
+ compressed: vmlinux.gz
+ 
+@@ -76,9 +67,6 @@
+ vmlinux.gz: vmlinux
+ 	$(Q)$(MAKE) $(build)=$(boot) $@
+ 
+-unwcheck: vmlinux
+-	-$(Q)READELF=$(READELF) python $(srctree)/arch/ia64/scripts/unwcheck.py $<
+-
+ archclean:
+ 	$(Q)$(MAKE) $(clean)=$(boot)
+ 
+@@ -94,5 +82,4 @@
+   echo '* compressed	- Build compressed kernel image'
+   echo '  install	- Install compressed kernel image'
+   echo '  boot		- Build vmlinux and bootloader for Ski simulator'
+-  echo '* unwcheck	- Check vmlinux for invalid unwind info'
+ endef
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/acpi-ec-gpe-storm-detection.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/acpi-ec-gpe-storm-detection.patch
@@ -0,0 +1,534 @@
+From bfd14ac4bc840261f09d9dfd3b497c46131b1918 Mon Sep 17 00:00:00 2001
+From: Alexey Starikovskiy <astarikovskiy@suse.de>
+Date: Thu, 25 Sep 2008 21:00:31 +0400
+Subject: [PATCH] ACPI: EC: do transaction from interrupt context
+Organization: Intel Open Source Technology Center
+
+It is easier and faster to do transaction directly from interrupt context
+rather than waking control thread.
+Also, cleaner GPE storm avoidance is implemented.
+References: 	http://bugzilla.kernel.org/show_bug.cgi?id=9998
+		http://bugzilla.kernel.org/show_bug.cgi?id=10724
+		http://bugzilla.kernel.org/show_bug.cgi?id=10919
+		http://bugzilla.kernel.org/show_bug.cgi?id=11309
+		http://bugzilla.kernel.org/show_bug.cgi?id=11549
+Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
+Signed-off-by: Len Brown <len.brown@intel.com>
+---
+ drivers/acpi/ec.c |  309 +++++++++++++++++++++++++---------------------------
+ 1 files changed, 149 insertions(+), 160 deletions(-)
+
+diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
+index 13593f9..7f0d81c 100644
+--- a/drivers/acpi/ec.c
++++ b/drivers/acpi/ec.c
+@@ -1,7 +1,7 @@
+ /*
+- *  ec.c - ACPI Embedded Controller Driver (v2.0)
++ *  ec.c - ACPI Embedded Controller Driver (v2.1)
+  *
+- *  Copyright (C) 2006, 2007 Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
++ *  Copyright (C) 2006-2008 Alexey Starikovskiy <astarikovskiy@suse.de>
+  *  Copyright (C) 2006 Denis Sadykov <denis.m.sadykov@intel.com>
+  *  Copyright (C) 2004 Luming Yu <luming.yu@intel.com>
+  *  Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com>
+@@ -26,7 +26,7 @@
+  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  */
+ 
+-/* Uncomment next line to get verbose print outs*/
++/* Uncomment next line to get verbose printout */
+ /* #define DEBUG */
+ 
+ #include <linux/kernel.h>
+@@ -38,6 +38,7 @@
+ #include <linux/seq_file.h>
+ #include <linux/interrupt.h>
+ #include <linux/list.h>
++#include <linux/spinlock.h>
+ #include <asm/io.h>
+ #include <acpi/acpi_bus.h>
+ #include <acpi/acpi_drivers.h>
+@@ -65,22 +66,21 @@ enum ec_command {
+ 	ACPI_EC_COMMAND_QUERY = 0x84,
+ };
+ 
+-/* EC events */
+-enum ec_event {
+-	ACPI_EC_EVENT_OBF_1 = 1,	/* Output buffer full */
+-	ACPI_EC_EVENT_IBF_0,		/* Input buffer empty */
+-};
+-
+ #define ACPI_EC_DELAY		500	/* Wait 500ms max. during EC ops */
+ #define ACPI_EC_UDELAY_GLK	1000	/* Wait 1ms max. to get global lock */
+ #define ACPI_EC_UDELAY		100	/* Wait 100us before polling EC again */
+ 
++#define ACPI_EC_STORM_THRESHOLD 20	/* number of false interrupts
++					   per one transaction */
++
+ enum {
+-	EC_FLAGS_WAIT_GPE = 0,		/* Don't check status until GPE arrives */
+ 	EC_FLAGS_QUERY_PENDING,		/* Query is pending */
+-	EC_FLAGS_GPE_MODE,		/* Expect GPE to be sent for status change */
++	EC_FLAGS_GPE_MODE,		/* Expect GPE to be sent
++					 * for status change */
+ 	EC_FLAGS_NO_GPE,		/* Don't use GPE mode */
+-	EC_FLAGS_RESCHEDULE_POLL	/* Re-schedule poll */
++	EC_FLAGS_GPE_STORM,		/* GPE storm detected */
++	EC_FLAGS_HANDLERS_INSTALLED	/* Handlers for GPE and
++					 * OpReg are installed */
+ };
+ 
+ /* If we find an EC via the ECDT, we need to keep a ptr to its context */
+@@ -95,6 +95,14 @@ struct acpi_ec_query_handler {
+ 	u8 query_bit;
+ };
+ 
++struct transaction_data {
++	const u8 *wdata;
++	u8 *rdata;
++	unsigned short irq_count;
++	u8 wlen;
++	u8 rlen;
++};
++
+ static struct acpi_ec {
+ 	acpi_handle handle;
+ 	unsigned long gpe;
+@@ -105,9 +113,14 @@ static struct acpi_ec {
+ 	struct mutex lock;
+ 	wait_queue_head_t wait;
+ 	struct list_head list;
++#ifdef __GENKSYMS__
+ 	struct delayed_work work;
+ 	atomic_t irq_count;
+ 	u8 handlers_installed;
++#else
++	struct transaction_data *t;
++	spinlock_t t_lock;
++#endif
+ } *boot_ec, *first_ec;
+ 
+ /* 
+@@ -150,7 +157,7 @@ static inline u8 acpi_ec_read_data(struct acpi_ec *ec)
+ {
+ 	u8 x = inb(ec->data_addr);
+ 	pr_debug(PREFIX "---> data = 0x%2.2x\n", x);
+-	return inb(ec->data_addr);
++	return x;
+ }
+ 
+ static inline void acpi_ec_write_cmd(struct acpi_ec *ec, u8 command)
+@@ -165,66 +172,79 @@ static inline void acpi_ec_write_data(struct acpi_ec *ec, u8 data)
+ 	outb(data, ec->data_addr);
+ }
+ 
+-static inline int acpi_ec_check_status(struct acpi_ec *ec, enum ec_event event)
++static int ec_transaction_done(struct acpi_ec *ec)
+ {
+-	if (test_bit(EC_FLAGS_WAIT_GPE, &ec->flags))
+-		return 0;
+-	if (event == ACPI_EC_EVENT_OBF_1) {
+-		if (acpi_ec_read_status(ec) & ACPI_EC_FLAG_OBF)
+-			return 1;
+-	} else if (event == ACPI_EC_EVENT_IBF_0) {
+-		if (!(acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF))
+-			return 1;
+-	}
+-
+-	return 0;
++	unsigned long flags;
++	int ret = 0;
++	spin_lock_irqsave(&ec->t_lock, flags);
++	if (!ec->t || (!ec->t->wlen && !ec->t->rlen))
++		ret = 1;
++	spin_unlock_irqrestore(&ec->t_lock, flags);
++	return ret;
+ }
+ 
+-static void ec_schedule_ec_poll(struct acpi_ec *ec)
++static void gpe_transaction(struct acpi_ec *ec, u8 status)
+ {
+-	if (test_bit(EC_FLAGS_RESCHEDULE_POLL, &ec->flags))
+-		schedule_delayed_work(&ec->work,
+-				      msecs_to_jiffies(ACPI_EC_DELAY));
++	unsigned long flags;
++	spin_lock_irqsave(&ec->t_lock, flags);
++	if (!ec->t)
++		goto unlock;
++	if (ec->t->wlen > 0) {
++		if ((status & ACPI_EC_FLAG_IBF) == 0) {
++			acpi_ec_write_data(ec, *(ec->t->wdata++));
++			--ec->t->wlen;
++		} else
++			/* false interrupt, state didn't change */
++			++ec->t->irq_count;
++
++	} else if (ec->t->rlen > 0) {
++		if ((status & ACPI_EC_FLAG_OBF) == 1) {
++			*(ec->t->rdata++) = acpi_ec_read_data(ec);
++			--ec->t->rlen;
++		} else
++			/* false interrupt, state didn't change */
++			++ec->t->irq_count;
++	}
++unlock:
++	spin_unlock_irqrestore(&ec->t_lock, flags);
+ }
+ 
+-static void ec_switch_to_poll_mode(struct acpi_ec *ec)
++static int acpi_ec_wait(struct acpi_ec *ec)
+ {
++	if (wait_event_timeout(ec->wait, ec_transaction_done(ec),
++			       msecs_to_jiffies(ACPI_EC_DELAY)))
++		return 0;
++	/* missing GPEs, switch back to poll mode */
++	if (printk_ratelimit())
++		pr_info(PREFIX "missing confirmations, "
++				"switch off interrupt mode.\n");
+ 	set_bit(EC_FLAGS_NO_GPE, &ec->flags);
+ 	clear_bit(EC_FLAGS_GPE_MODE, &ec->flags);
+-	acpi_disable_gpe(NULL, ec->gpe, ACPI_NOT_ISR);
+-	set_bit(EC_FLAGS_RESCHEDULE_POLL, &ec->flags);
++	return 1;
+ }
+ 
+-static int acpi_ec_wait(struct acpi_ec *ec, enum ec_event event, int force_poll)
++static void acpi_ec_gpe_query(void *ec_cxt);
++
++static int ec_check_sci(struct acpi_ec *ec, u8 state)
+ {
+-	atomic_set(&ec->irq_count, 0);
+-	if (likely(test_bit(EC_FLAGS_GPE_MODE, &ec->flags)) &&
+-	    likely(!force_poll)) {
+-		if (wait_event_timeout(ec->wait, acpi_ec_check_status(ec, event),
+-				       msecs_to_jiffies(ACPI_EC_DELAY)))
+-			return 0;
+-		clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
+-		if (acpi_ec_check_status(ec, event)) {
+-			/* missing GPEs, switch back to poll mode */
+-			if (printk_ratelimit())
+-				pr_info(PREFIX "missing confirmations, "
+-						"switch off interrupt mode.\n");
+-			ec_switch_to_poll_mode(ec);
+-			ec_schedule_ec_poll(ec);
+-			return 0;
+-		}
+-	} else {
+-		unsigned long delay = jiffies + msecs_to_jiffies(ACPI_EC_DELAY);
+-		clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
+-		while (time_before(jiffies, delay)) {
+-			if (acpi_ec_check_status(ec, event))
+-				return 0;
+-			msleep(1);
+-		}
++	if (state & ACPI_EC_FLAG_SCI) {
++		if (!test_and_set_bit(EC_FLAGS_QUERY_PENDING, &ec->flags))
++			return acpi_os_execute(OSL_EC_BURST_HANDLER,
++				acpi_ec_gpe_query, ec);
++	}
++	return 0;
++}
++
++static int ec_poll(struct acpi_ec *ec)
++{
++	unsigned long delay = jiffies + msecs_to_jiffies(ACPI_EC_DELAY);
++	msleep(1);
++	while (time_before(jiffies, delay)) {
++		gpe_transaction(ec, acpi_ec_read_status(ec));
++		msleep(1);
++		if (ec_transaction_done(ec))
++			return 0;
+ 	}
+-	pr_err(PREFIX "acpi_ec_wait timeout, status = 0x%2.2x, event = %s\n",
+-		acpi_ec_read_status(ec),
+-		(event == ACPI_EC_EVENT_OBF_1) ? "\"b0=1\"" : "\"b1=0\"");
+ 	return -ETIME;
+ }
+ 
+@@ -235,45 +253,51 @@ static int acpi_ec_transaction_unlocked(struct acpi_ec *ec, u8 command,
+ 					u8 * rdata, unsigned rdata_len,
+ 					int force_poll)
+ {
+-	int result = 0;
+-	set_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
++	unsigned long tmp;
++	struct transaction_data t = {.wdata = wdata, .rdata = rdata,
++				     .wlen = wdata_len, .rlen = rdata_len,
++				     .irq_count = 0};
++	int ret = 0;
+ 	pr_debug(PREFIX "transaction start\n");
+-	acpi_ec_write_cmd(ec, command);
+-	for (; wdata_len > 0; --wdata_len) {
+-		result = acpi_ec_wait(ec, ACPI_EC_EVENT_IBF_0, force_poll);
+-		if (result) {
+-			pr_err(PREFIX
+-			       "write_cmd timeout, command = %d\n", command);
+-			goto end;
+-		}
+-		set_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
+-		acpi_ec_write_data(ec, *(wdata++));
++	/* disable GPE during transaction if storm is detected */
++	if (test_bit(EC_FLAGS_GPE_STORM, &ec->flags)) {
++		clear_bit(EC_FLAGS_GPE_MODE, &ec->flags);
++		acpi_disable_gpe(NULL, ec->gpe, ACPI_NOT_ISR);
+ 	}
+-
+-	if (!rdata_len) {
+-		result = acpi_ec_wait(ec, ACPI_EC_EVENT_IBF_0, force_poll);
+-		if (result) {
+-			pr_err(PREFIX
+-			       "finish-write timeout, command = %d\n", command);
+-			goto end;
+-		}
+-	} else if (command == ACPI_EC_COMMAND_QUERY)
++	/* start transaction */
++	spin_lock_irqsave(&ec->t_lock, tmp);
++	/* following two actions should be kept atomic */
++	ec->t = &t;
++	acpi_ec_write_cmd(ec, command);
++	if (command == ACPI_EC_COMMAND_QUERY)
+ 		clear_bit(EC_FLAGS_QUERY_PENDING, &ec->flags);
+-
+-	for (; rdata_len > 0; --rdata_len) {
+-		result = acpi_ec_wait(ec, ACPI_EC_EVENT_OBF_1, force_poll);
+-		if (result) {
+-			pr_err(PREFIX "read timeout, command = %d\n", command);
+-			goto end;
+-		}
+-		/* Don't expect GPE after last read */
+-		if (rdata_len > 1)
+-			set_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
+-		*(rdata++) = acpi_ec_read_data(ec);
+-	}
+-      end:
++	spin_unlock_irqrestore(&ec->t_lock, tmp);
++	/* if we selected poll mode or failed in GPE-mode do a poll loop */
++	if (force_poll ||
++	    !test_bit(EC_FLAGS_GPE_MODE, &ec->flags) ||
++	    acpi_ec_wait(ec))
++		ret = ec_poll(ec);
+ 	pr_debug(PREFIX "transaction end\n");
+-	return result;
++	spin_lock_irqsave(&ec->t_lock, tmp);
++	ec->t = NULL;
++	spin_unlock_irqrestore(&ec->t_lock, tmp);
++	if (test_bit(EC_FLAGS_GPE_STORM, &ec->flags)) {
++		/* check if we received SCI during transaction */
++		ec_check_sci(ec, acpi_ec_read_status(ec));
++		/* it is safe to enable GPE outside of transaction */
++		acpi_enable_gpe(NULL, ec->gpe, ACPI_NOT_ISR);
++	} else if (test_bit(EC_FLAGS_GPE_MODE, &ec->flags) &&
++		   t.irq_count > ACPI_EC_STORM_THRESHOLD) {
++		pr_debug(PREFIX "GPE storm detected\n");
++		set_bit(EC_FLAGS_GPE_STORM, &ec->flags);
++	}
++	return ret;
++}
++
++static int ec_check_ibf0(struct acpi_ec *ec)
++{
++	u8 status = acpi_ec_read_status(ec);
++	return (status & ACPI_EC_FLAG_IBF) == 0;
+ }
+ 
+ static int acpi_ec_transaction(struct acpi_ec *ec, u8 command,
+@@ -283,40 +307,34 @@ static int acpi_ec_transaction(struct acpi_ec *ec, u8 command,
+ {
+ 	int status;
+ 	u32 glk;
+-
+ 	if (!ec || (wdata_len && !wdata) || (rdata_len && !rdata))
+ 		return -EINVAL;
+-
+ 	if (rdata)
+ 		memset(rdata, 0, rdata_len);
+-
+ 	mutex_lock(&ec->lock);
+ 	if (ec->global_lock) {
+ 		status = acpi_acquire_global_lock(ACPI_EC_UDELAY_GLK, &glk);
+ 		if (ACPI_FAILURE(status)) {
+-			mutex_unlock(&ec->lock);
+-			return -ENODEV;
++			status = -ENODEV;
++			goto unlock;
+ 		}
+ 	}
+-
+-	status = acpi_ec_wait(ec, ACPI_EC_EVENT_IBF_0, 0);
+-	if (status) {
++	if (!wait_event_timeout(ec->wait, ec_check_ibf0(ec),
++				msecs_to_jiffies(ACPI_EC_DELAY))) {
+ 		pr_err(PREFIX "input buffer is not empty, "
+ 				"aborting transaction\n");
++		status = -ETIME;
+ 		goto end;
+ 	}
+-
+ 	status = acpi_ec_transaction_unlocked(ec, command,
+ 					      wdata, wdata_len,
+ 					      rdata, rdata_len,
+ 					      force_poll);
+-
+-      end:
+-
++end:
+ 	if (ec->global_lock)
+ 		acpi_release_global_lock(glk);
++unlock:
+ 	mutex_unlock(&ec->lock);
+-
+ 	return status;
+ }
+ 
+@@ -332,7 +350,9 @@ int acpi_ec_burst_enable(struct acpi_ec *ec)
+ 
+ int acpi_ec_burst_disable(struct acpi_ec *ec)
+ {
+-	return acpi_ec_transaction(ec, ACPI_EC_BURST_DISABLE, NULL, 0, NULL, 0, 0);
++	return (acpi_ec_read_status(ec) & ACPI_EC_FLAG_BURST) ?
++		acpi_ec_transaction(ec, ACPI_EC_BURST_DISABLE,
++			NULL, 0, NULL, 0, 0) : 0;
+ }
+ 
+ static int acpi_ec_read(struct acpi_ec *ec, u8 address, u8 * data)
+@@ -513,46 +533,26 @@ static void acpi_ec_gpe_query(void *ec_cxt)
+ 
+ static u32 acpi_ec_gpe_handler(void *data)
+ {
+-	acpi_status status = AE_OK;
+ 	struct acpi_ec *ec = data;
+-	u8 state = acpi_ec_read_status(ec);
++	u8 status;
+ 
+ 	pr_debug(PREFIX "~~~> interrupt\n");
+-	atomic_inc(&ec->irq_count);
+-	if (atomic_read(&ec->irq_count) > 5) {
+-		pr_err(PREFIX "GPE storm detected, disabling EC GPE\n");
+-		ec_switch_to_poll_mode(ec);
+-		goto end;
+-	}
+-	clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
+-	if (test_bit(EC_FLAGS_GPE_MODE, &ec->flags))
++	status = acpi_ec_read_status(ec);
++
++	gpe_transaction(ec, status);
++	if (ec_transaction_done(ec) && (status & ACPI_EC_FLAG_IBF) == 0)
+ 		wake_up(&ec->wait);
+ 
+-	if (state & ACPI_EC_FLAG_SCI) {
+-		if (!test_and_set_bit(EC_FLAGS_QUERY_PENDING, &ec->flags))
+-			status = acpi_os_execute(OSL_EC_BURST_HANDLER,
+-				acpi_ec_gpe_query, ec);
+-	} else if (!test_bit(EC_FLAGS_GPE_MODE, &ec->flags) &&
+-		   !test_bit(EC_FLAGS_NO_GPE, &ec->flags) &&
+-		   in_interrupt()) {
++	ec_check_sci(ec, status);
++	if (!test_bit(EC_FLAGS_GPE_MODE, &ec->flags) &&
++	    !test_bit(EC_FLAGS_NO_GPE, &ec->flags)) {
+ 		/* this is non-query, must be confirmation */
+ 		if (printk_ratelimit())
+ 			pr_info(PREFIX "non-query interrupt received,"
+ 				" switching to interrupt mode\n");
+ 		set_bit(EC_FLAGS_GPE_MODE, &ec->flags);
+-		clear_bit(EC_FLAGS_RESCHEDULE_POLL, &ec->flags);
+ 	}
+-end:
+-	ec_schedule_ec_poll(ec);
+-	return ACPI_SUCCESS(status) ?
+-	    ACPI_INTERRUPT_HANDLED : ACPI_INTERRUPT_NOT_HANDLED;
+-}
+-
+-static void do_ec_poll(struct work_struct *work)
+-{
+-	struct acpi_ec *ec = container_of(work, struct acpi_ec, work.work);
+-	atomic_set(&ec->irq_count, 0);
+-	(void)acpi_ec_gpe_handler(ec);
++	return ACPI_INTERRUPT_HANDLED;
+ }
+ 
+ /* --------------------------------------------------------------------------
+@@ -696,8 +696,7 @@ static struct acpi_ec *make_acpi_ec(void)
+ 	mutex_init(&ec->lock);
+ 	init_waitqueue_head(&ec->wait);
+ 	INIT_LIST_HEAD(&ec->list);
+-	INIT_DELAYED_WORK_DEFERRABLE(&ec->work, do_ec_poll);
+-	atomic_set(&ec->irq_count, 0);
++	spin_lock_init(&ec->t_lock);
+ 	return ec;
+ }
+ 
+@@ -736,22 +735,15 @@ ec_parse_device(acpi_handle handle, u32 Level, void *context, void **retval)
+ 	return AE_CTRL_TERMINATE;
+ }
+ 
+-static void ec_poll_stop(struct acpi_ec *ec)
+-{
+-	clear_bit(EC_FLAGS_RESCHEDULE_POLL, &ec->flags);
+-	cancel_delayed_work(&ec->work);
+-}
+-
+ static void ec_remove_handlers(struct acpi_ec *ec)
+ {
+-	ec_poll_stop(ec);
+ 	if (ACPI_FAILURE(acpi_remove_address_space_handler(ec->handle,
+ 				ACPI_ADR_SPACE_EC, &acpi_ec_space_handler)))
+ 		pr_err(PREFIX "failed to remove space handler\n");
+ 	if (ACPI_FAILURE(acpi_remove_gpe_handler(NULL, ec->gpe,
+ 				&acpi_ec_gpe_handler)))
+ 		pr_err(PREFIX "failed to remove gpe handler\n");
+-	ec->handlers_installed = 0;
++	clear_bit(EC_FLAGS_HANDLERS_INSTALLED, &ec->flags);
+ }
+ 
+ static int acpi_ec_add(struct acpi_device *device)
+@@ -846,17 +838,15 @@ ec_parse_io_ports(struct acpi_resource *resource, void *context)
+ static int ec_install_handlers(struct acpi_ec *ec)
+ {
+ 	acpi_status status;
+-	if (ec->handlers_installed)
++	if (test_bit(EC_FLAGS_HANDLERS_INSTALLED, &ec->flags))
+ 		return 0;
+ 	status = acpi_install_gpe_handler(NULL, ec->gpe,
+-					  ACPI_GPE_EDGE_TRIGGERED,
+-					  &acpi_ec_gpe_handler, ec);
++				  ACPI_GPE_EDGE_TRIGGERED,
++				  &acpi_ec_gpe_handler, ec);
+ 	if (ACPI_FAILURE(status))
+ 		return -ENODEV;
+-
+ 	acpi_set_gpe_type(NULL, ec->gpe, ACPI_GPE_TYPE_RUNTIME);
+ 	acpi_enable_gpe(NULL, ec->gpe, ACPI_NOT_ISR);
+-
+ 	status = acpi_install_address_space_handler(ec->handle,
+ 						    ACPI_ADR_SPACE_EC,
+ 						    &acpi_ec_space_handler,
+@@ -866,7 +856,7 @@ static int ec_install_handlers(struct acpi_ec *ec)
+ 		return -ENODEV;
+ 	}
+ 
+-	ec->handlers_installed = 1;
++	set_bit(EC_FLAGS_HANDLERS_INSTALLED, &ec->flags);
+ 	return 0;
+ }
+ 
+@@ -887,7 +877,6 @@ static int acpi_ec_start(struct acpi_device *device)
+ 
+ 	/* EC is fully operational, allow queries */
+ 	clear_bit(EC_FLAGS_QUERY_PENDING, &ec->flags);
+-	ec_schedule_ec_poll(ec);
+ 	return ret;
+ }
+ 
+@@ -906,7 +895,7 @@ static int acpi_ec_stop(struct acpi_device *device, int type)
+ 
+ int __init acpi_boot_ec_enable(void)
+ {
+-	if (!boot_ec || boot_ec->handlers_installed)
++	if (!boot_ec || test_bit(EC_FLAGS_HANDLERS_INSTALLED, &boot_ec->flags))
+ 		return 0;
+ 	if (!ec_install_handlers(boot_ec)) {
+ 		first_ec = boot_ec;
+-- 
+1.5.5.1
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/aacraid-driver-update.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/aacraid-driver-update.patch
@@ -0,0 +1,220 @@
+commit d8e965076514dcb16410c0d18c6c8de4dcba19fc
+Author: Leubner, Achim <Achim_Leubner@adaptec.com>
+Date:   Wed Apr 1 07:16:08 2009 -0700
+
+    [SCSI] aacraid driver update
+    
+    changes:
+    
+    - set aac_cache=2 as default value to avoid performance problem
+      (Novell bugzilla #469922)
+    
+    - Dell/PERC controller boot problem fixed (RedHat bugzilla #457552)
+    
+    - WWN flag added to fix SLES10 SP1/SP2 drive detection problems
+    
+    - 64-bit support changes
+    
+    - DECLARE_PCI_DEVICE_TABLE macro added
+    
+    - controller type changes
+    
+    Signed-off-by: Achim Leubner <aacraid@adaptec.com>
+    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+Dropped Documentation/ changes, non straightforward.
+
+diff -urpN linux-source-2.6.26.orig/Documentation/scsi/aacraid.txt linux-source-2.6.26/Documentation/scsi/aacraid.txt
+--- linux-source-2.6.26.orig/Documentation/scsi/aacraid.txt	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/Documentation/scsi/aacraid.txt	2009-07-21 08:42:55.000000000 -0600
+@@ -126,6 +126,7 @@ Deanna Bonds                            
+ 					 where fibs that go to the hardware are consistently called hw_fibs and
+ 					 not just fibs like the name of the driver tracking structure)
+ Mark Salyzyn <Mark_Salyzyn@adaptec.com> Fixed panic issues and added some new product ids for upcoming hbas. Performance tuning, card failover and bug mitigations.
++Achim Leubner <Achim_Leubner@adaptec.com>
+ 
+ Original Driver
+ -------------------------
+diff -urpN linux-source-2.6.26.orig/drivers/scsi/aacraid/aachba.c linux-source-2.6.26/drivers/scsi/aacraid/aachba.c
+--- linux-source-2.6.26.orig/drivers/scsi/aacraid/aachba.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/scsi/aacraid/aachba.c	2009-07-21 08:42:55.000000000 -0600
+@@ -143,7 +143,7 @@ static char *aac_get_status_string(u32 s
+  */
+ 
+ static int nondasd = -1;
+-static int aac_cache;
++static int aac_cache = 2;	/* WCE=0 to avoid performance problems */
+ static int dacmode = -1;
+ int aac_msi;
+ int aac_commit = -1;
+@@ -157,7 +157,7 @@ module_param_named(cache, aac_cache, int
+ MODULE_PARM_DESC(cache, "Disable Queue Flush commands:\n"
+ 	"\tbit 0 - Disable FUA in WRITE SCSI commands\n"
+ 	"\tbit 1 - Disable SYNCHRONIZE_CACHE SCSI command\n"
+-	"\tbit 2 - Disable only if Battery not protecting Cache");
++	"\tbit 2 - Disable only if Battery is protecting Cache");
+ module_param(dacmode, int, S_IRUGO|S_IWUSR);
+ MODULE_PARM_DESC(dacmode, "Control whether dma addressing is using 64 bit DAC."
+ 	" 0=off, 1=on");
+@@ -217,6 +217,14 @@ int aac_reset_devices;
+ module_param_named(reset_devices, aac_reset_devices, int, S_IRUGO|S_IWUSR);
+ MODULE_PARM_DESC(reset_devices, "Force an adapter reset at initialization.");
+ 
++int aac_wwn = 1;
++module_param_named(wwn, aac_wwn, int, S_IRUGO|S_IWUSR);
++MODULE_PARM_DESC(wwn, "Select a WWN type for the arrays:\n"
++	"\t0 - Disable\n"
++	"\t1 - Array Meta Data Signature (default)\n"
++	"\t2 - Adapter Serial Number");
++
++
+ static inline int aac_valid_context(struct scsi_cmnd *scsicmd,
+ 		struct fib *fibptr) {
+ 	struct scsi_device *device;
+@@ -1206,9 +1214,8 @@ static int aac_scsi_32(struct fib * fib,
+ 
+ static int aac_scsi_32_64(struct fib * fib, struct scsi_cmnd * cmd)
+ {
+-	if ((sizeof(dma_addr_t) > 4) &&
+-	 (num_physpages > (0xFFFFFFFFULL >> PAGE_SHIFT)) &&
+-	 (fib->dev->adapter_info.options & AAC_OPT_SGMAP_HOST64))
++	if ((sizeof(dma_addr_t) > 4) && fib->dev->needs_dac &&
++	    (fib->dev->adapter_info.options & AAC_OPT_SGMAP_HOST64))
+ 		return FAILED;
+ 	return aac_scsi_32(fib, cmd);
+ }
+@@ -1371,8 +1378,11 @@ int aac_get_adapter_info(struct aac_dev*
+ 	if (dev->nondasd_support && !dev->in_reset)
+ 		printk(KERN_INFO "%s%d: Non-DASD support enabled.\n",dev->name, dev->id);
+ 
++	if (dma_get_required_mask(&dev->pdev->dev) > DMA_32BIT_MASK)
++		dev->needs_dac = 1;
+ 	dev->dac_support = 0;
+-	if( (sizeof(dma_addr_t) > 4) && (dev->adapter_info.options & AAC_OPT_SGMAP_HOST64)){
++	if ((sizeof(dma_addr_t) > 4) && dev->needs_dac &&
++	    (dev->adapter_info.options & AAC_OPT_SGMAP_HOST64)) {
+ 		if (!dev->in_reset)
+ 			printk(KERN_INFO "%s%d: 64bit support enabled.\n",
+ 				dev->name, dev->id);
+@@ -1382,6 +1392,15 @@ int aac_get_adapter_info(struct aac_dev*
+ 	if(dacmode != -1) {
+ 		dev->dac_support = (dacmode!=0);
+ 	}
++
++	/* avoid problems with AAC_QUIRK_SCSI_32 controllers */
++	if (dev->dac_support &&	(aac_get_driver_ident(dev->cardtype)->quirks
++		& AAC_QUIRK_SCSI_32)) {
++		dev->nondasd_support = 0;
++		dev->jbod = 0;
++		expose_physicals = 0;
++	}
++
+ 	if(dev->dac_support != 0) {
+ 		if (!pci_set_dma_mask(dev->pdev, DMA_64BIT_MASK) &&
+ 			!pci_set_consistent_dma_mask(dev->pdev, DMA_64BIT_MASK)) {
+@@ -2058,7 +2077,7 @@ int aac_scsi_cmd(struct scsi_cmnd * scsi
+ 		dprintk((KERN_DEBUG "INQUIRY command, ID: %d.\n", cid));
+ 		memset(&inq_data, 0, sizeof (struct inquiry_data));
+ 
+-		if (scsicmd->cmnd[1] & 0x1) {
++		if ((scsicmd->cmnd[1] & 0x1) && aac_wwn) {
+ 			char *arr = (char *)&inq_data;
+ 
+ 			/* EVPD bit set */
+@@ -2081,7 +2100,12 @@ int aac_scsi_cmd(struct scsi_cmnd * scsi
+ 				arr[1] = scsicmd->cmnd[2];
+ 				scsi_sg_copy_from_buffer(scsicmd, &inq_data,
+ 							 sizeof(inq_data));
+-				return aac_get_container_serial(scsicmd);
++				if (aac_wwn != 2)
++					return aac_get_container_serial(
++						scsicmd);
++				/* SLES 10 SP1 special */
++				scsicmd->result = DID_OK << 16 |
++				  COMMAND_COMPLETE << 8 | SAM_STAT_GOOD;
+ 			} else {
+ 				/* vpd page not implemented */
+ 				scsicmd->result = DID_OK << 16 |
+diff -urpN linux-source-2.6.26.orig/drivers/scsi/aacraid/aacraid.h linux-source-2.6.26/drivers/scsi/aacraid/aacraid.h
+--- linux-source-2.6.26.orig/drivers/scsi/aacraid/aacraid.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/scsi/aacraid/aacraid.h	2009-07-21 08:42:55.000000000 -0600
+@@ -12,7 +12,7 @@
+  *----------------------------------------------------------------------------*/
+ 
+ #ifndef AAC_DRIVER_BUILD
+-# define AAC_DRIVER_BUILD 2456
++# define AAC_DRIVER_BUILD 2461
+ # define AAC_DRIVER_BRANCH "-ms"
+ #endif
+ #define MAXIMUM_NUM_CONTAINERS	32
+@@ -865,7 +865,11 @@ struct aac_supplement_adapter_info
+ 	u8	MfgPcbaSerialNo[12];
+ 	u8	MfgWWNName[8];
+ 	__le32	SupportedOptions2;
+-	__le32	ReservedGrowth[1];
++	__le32	StructExpansion;
++	/* StructExpansion == 1 */
++	__le32	FeatureBits3;
++	__le32	SupportedPerformanceModes;
++	__le32	ReservedForFutureGrowth[80];
+ };
+ #define AAC_FEATURE_FALCON	cpu_to_le32(0x00000010)
+ #define AAC_FEATURE_JBOD	cpu_to_le32(0x08000000)
+@@ -1020,6 +1024,7 @@ struct aac_dev
+ 	u8			jbod;
+ 	u8			cache_protected;
+ 	u8			dac_support;
++	u8			needs_dac;
+ 	u8			raid_scsi_mode;
+ 	u8			comm_interface;
+ #	define AAC_COMM_PRODUCER 0
+diff -urpN linux-source-2.6.26.orig/drivers/scsi/aacraid/comminit.c linux-source-2.6.26/drivers/scsi/aacraid/comminit.c
+--- linux-source-2.6.26.orig/drivers/scsi/aacraid/comminit.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/scsi/aacraid/comminit.c	2009-07-21 08:42:55.000000000 -0600
+@@ -54,6 +54,7 @@ static int aac_alloc_comm(struct aac_dev
+ 	const unsigned long printfbufsiz = 256;
+ 	struct aac_init *init;
+ 	dma_addr_t phys;
++	unsigned long aac_max_hostphysmempages;
+ 
+ 	size = fibsize + sizeof(struct aac_init) + commsize + commalign + printfbufsiz;
+ 
+@@ -90,7 +91,18 @@ static int aac_alloc_comm(struct aac_dev
+ 	init->AdapterFibsPhysicalAddress = cpu_to_le32((u32)phys);
+ 	init->AdapterFibsSize = cpu_to_le32(fibsize);
+ 	init->AdapterFibAlign = cpu_to_le32(sizeof(struct hw_fib));
+-	init->HostPhysMemPages = cpu_to_le32(AAC_MAX_HOSTPHYSMEMPAGES);
++	/*
++	 * number of 4k pages of host physical memory. The aacraid fw needs
++	 * this number to be less than 4gb worth of pages. New firmware doesn't
++	 * have any issues with the mapping system, but older Firmware did, and
++	 * had *troubles* dealing with the math overloading past 32 bits, thus
++	 * we must limit this field.
++	 */
++	aac_max_hostphysmempages = dma_get_required_mask(&dev->pdev->dev) >> 12;
++	if (aac_max_hostphysmempages < AAC_MAX_HOSTPHYSMEMPAGES)
++		init->HostPhysMemPages = cpu_to_le32(aac_max_hostphysmempages);
++	else
++		init->HostPhysMemPages = cpu_to_le32(AAC_MAX_HOSTPHYSMEMPAGES);
+ 
+ 	init->InitFlags = 0;
+ 	if (dev->comm_interface == AAC_COMM_MESSAGE) {
+diff -urpN linux-source-2.6.26.orig/drivers/scsi/aacraid/linit.c linux-source-2.6.26/drivers/scsi/aacraid/linit.c
+--- linux-source-2.6.26.orig/drivers/scsi/aacraid/linit.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/scsi/aacraid/linit.c	2009-07-21 08:42:55.000000000 -0600
+@@ -85,7 +85,13 @@ char aac_driver_version[] = AAC_DRIVER_F
+  *
+  * Note: The last field is used to index into aac_drivers below.
+  */
+-static struct pci_device_id aac_pci_tbl[] = {
++#ifdef DECLARE_PCI_DEVICE_TABLE
++static DECLARE_PCI_DEVICE_TABLE(aac_pci_tbl) = {
++#elif defined(__devinitconst)
++static const struct pci_device_id aac_pci_tbl[] __devinitconst = {
++#else
++static const struct pci_device_id aac_pci_tbl[] __devinitdata = {
++#endif
+ 	{ 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC2Si) */
+ 	{ 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3Di) */
+ 	{ 0x1028, 0x0003, 0x1028, 0x0003, 0, 0, 2 }, /* PERC 3/Si (SlimFast/PERC3Si */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/0001-block-revert-part-of-18ce3751ccd488c78d3827e9f6bf54.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/0001-block-revert-part-of-18ce3751ccd488c78d3827e9f6bf54.patch
@@ -0,0 +1,69 @@
+From 78f707bfc723552e8309b7c38a8d0cc51012e813 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <jens.axboe@oracle.com>
+Date: Tue, 17 Feb 2009 13:59:08 +0100
+Subject: [PATCH] block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb
+
+The above commit added WRITE_SYNC and switched various places to using
+that for committing writes that will be waited upon immediately after
+submission. However, this causes a performance regression with AS and CFQ
+for ext3 at least, since sync_dirty_buffer() will submit some writes with
+WRITE_SYNC while ext3 has sumitted others dependent writes without the sync
+flag set. This causes excessive anticipation/idling in the IO scheduler
+because sync and async writes get interleaved, causing a big performance
+regression for the below test case (which is meant to simulate sqlite
+like behaviour).
+
+---- test case ----
+
+int main(int argc, char **argv)
+{
+
+	int fdes, i;
+	FILE *fp;
+	struct timeval start;
+	struct timeval end;
+	struct timeval res;
+
+	gettimeofday(&start, NULL);
+	for (i=0; i<ROWS; i++) {
+		fp = fopen("test_file", "a");
+		fprintf(fp, "Some Text Data\n");
+		fdes = fileno(fp);
+		fsync(fdes);
+		fclose(fp);
+	}
+	gettimeofday(&end, NULL);
+
+	timersub(&end, &start, &res);
+	fprintf(stdout, "time to write %d lines is %ld(msec)\n", ROWS,
+			(res.tv_sec*1000000 + res.tv_usec)/1000);
+
+	return 0;
+}
+
+-------------------
+
+Thanks to Sean.White@APCC.com for tracking down this performance
+regression and providing a test case.
+
+Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
+---
+ fs/buffer.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/fs/buffer.c b/fs/buffer.c
+index 665d446..62b57e3 100644
+--- a/fs/buffer.c
++++ b/fs/buffer.c
+@@ -3108,7 +3108,7 @@ int sync_dirty_buffer(struct buffer_head *bh)
+ 	if (test_clear_buffer_dirty(bh)) {
+ 		get_bh(bh);
+ 		bh->b_end_io = end_buffer_write_sync;
+-		ret = submit_bh(WRITE_SYNC, bh);
++		ret = submit_bh(WRITE, bh);
+ 		wait_on_buffer(bh);
+ 		if (buffer_eopnotsupp(bh)) {
+ 			clear_buffer_eopnotsupp(bh);
+-- 
+1.6.2.1
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/Input-i8042-add-Arima-Rioworks-HDAMB-board-to-nol.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/Input-i8042-add-Arima-Rioworks-HDAMB-board-to-nol.patch
@@ -0,0 +1,36 @@
+From 87d9173ea0c820021cf49e4c675b3821cfb4f0eb Mon Sep 17 00:00:00 2001
+From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Date: Sat, 19 Jul 2008 00:35:43 -0400
+Subject: [PATCH] Input: i8042 - add Arima-Rioworks HDAMB board to noloop list
+
+The board does not raise AUX IRQ in response to AUX LOOP command.
+
+Reported-by: Guillaume Morin <guillaume@morinfr.org>
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+---
+ drivers/input/serio/i8042-x86ia64io.h |    9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
+index 5d46d64..fe732a5 100644
+--- a/drivers/input/serio/i8042-x86ia64io.h
++++ b/drivers/input/serio/i8042-x86ia64io.h
+@@ -70,6 +70,15 @@ static inline void i8042_write_command(int val)
+ static struct dmi_system_id __initdata i8042_dmi_noloop_table[] = {
+ 	{
+ 		/* AUX LOOP command does not raise AUX IRQ */
++		.ident = "Arima-Rioworks HDAMB",
++		.matches = {
++			DMI_MATCH(DMI_BOARD_VENDOR, "RIOWORKS"),
++			DMI_MATCH(DMI_BOARD_NAME, "HDAMB"),
++			DMI_MATCH(DMI_BOARD_VERSION, "Rev E"),
++		},
++	},
++	{
++		/* AUX LOOP command does not raise AUX IRQ */
+ 		.ident = "ASUS P65UP5",
+ 		.matches = {
+ 			DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
+-- 
+1.5.6.2
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/SUNRPC-Ensure-the-server-closes-sockets-in-a-timely.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/SUNRPC-Ensure-the-server-closes-sockets-in-a-timely.patch
@@ -0,0 +1,64 @@
+From 69b6ba3712b796a66595cfaf0a5ab4dfe1cf964a Mon Sep 17 00:00:00 2001
+From: Trond Myklebust <Trond.Myklebust@netapp.com>
+Date: Tue, 23 Dec 2008 16:30:11 -0500
+Subject: [PATCH] SUNRPC: Ensure the server closes sockets in a timely fashion
+
+We want to ensure that connected sockets close down the connection when we
+set XPT_CLOSE, so that we don't keep it hanging while cleaning up all the
+stuff that is keeping a reference to the socket.
+
+Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
+---
+ net/sunrpc/svcsock.c |   21 ++++++++++++++++++++-
+ 1 files changed, 20 insertions(+), 1 deletions(-)
+
+diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
+index ef3238d..cccfa7d 100644
+--- a/net/sunrpc/svcsock.c
++++ b/net/sunrpc/svcsock.c
+@@ -59,6 +59,7 @@ static void		svc_udp_data_ready(struct sock *, int);
+ static int		svc_udp_recvfrom(struct svc_rqst *);
+ static int		svc_udp_sendto(struct svc_rqst *);
+ static void		svc_sock_detach(struct svc_xprt *);
++static void		svc_tcp_sock_detach(struct svc_xprt *);
+ static void		svc_sock_free(struct svc_xprt *);
+ 
+ static struct svc_xprt *svc_create_socket(struct svc_serv *, int,
+@@ -1017,7 +1018,7 @@ static struct svc_xprt_ops svc_tcp_ops = {
+ 	.xpo_recvfrom = svc_tcp_recvfrom,
+ 	.xpo_sendto = svc_tcp_sendto,
+ 	.xpo_release_rqst = svc_release_skb,
+-	.xpo_detach = svc_sock_detach,
++	.xpo_detach = svc_tcp_sock_detach,
+ 	.xpo_free = svc_sock_free,
+ 	.xpo_prep_reply_hdr = svc_tcp_prep_reply_hdr,
+ 	.xpo_has_wspace = svc_tcp_has_wspace,
+@@ -1287,6 +1288,24 @@ static void svc_sock_detach(struct svc_xprt *xprt)
+ 	sk->sk_state_change = svsk->sk_ostate;
+ 	sk->sk_data_ready = svsk->sk_odata;
+ 	sk->sk_write_space = svsk->sk_owspace;
++
++	if (sk->sk_sleep && waitqueue_active(sk->sk_sleep))
++		wake_up_interruptible(sk->sk_sleep);
++}
++
++/*
++ * Disconnect the socket, and reset the callbacks
++ */
++static void svc_tcp_sock_detach(struct svc_xprt *xprt)
++{
++	struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
++
++	dprintk("svc: svc_tcp_sock_detach(%p)\n", svsk);
++
++	svc_sock_detach(xprt);
++
++	if (!test_bit(XPT_LISTENER, &xprt->xpt_flags))
++		kernel_sock_shutdown(svsk->sk_sock, SHUT_RDWR);
+ }
+ 
+ /*
+-- 
+1.5.6.5
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/add-fno-delete-null-pointer-checks-to-CFLAGS.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/add-fno-delete-null-pointer-checks-to-CFLAGS.patch
@@ -0,0 +1,58 @@
+commit a3ca86aea507904148870946d599e07a340b39bf
+Author: Eugene Teo <eteo@redhat.com>
+Date:   Wed Jul 15 14:59:10 2009 +0800
+
+    Add '-fno-delete-null-pointer-checks' to gcc CFLAGS
+    
+    Turning on this flag could prevent the compiler from optimising away
+    some "useless" checks for null pointers.  Such bugs can sometimes become
+    exploitable at compile time because of the -O2 optimisation.
+    
+    See http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Optimize-Options.html
+    
+    An example that clearly shows this 'problem' is commit 6bf67672.
+    
+     static void __devexit agnx_pci_remove(struct pci_dev *pdev)
+     {
+         struct ieee80211_hw *dev = pci_get_drvdata(pdev);
+    -    struct agnx_priv *priv = dev->priv;
+    +    struct agnx_priv *priv;
+         AGNX_TRACE;
+    
+         if (!dev)
+             return;
+    +    priv = dev->priv;
+    
+    By reverting this patch, and compile it with and without
+    -fno-delete-null-pointer-checks flag, we can see that the check for dev
+    is compiled away.
+    
+        call    printk  #
+    -   testq   %r12, %r12  # dev
+    -   je  .L94    #,
+        movq    %r12, %rdi  # dev,
+    
+    Clearly the 'fix' is to stop using dev before it is tested, but building
+    with -fno-delete-null-pointer-checks flag at least makes it harder to
+    abuse.
+    
+    Signed-off-by: Eugene Teo <eugeneteo@kernel.sg>
+    Acked-by: Eric Paris <eparis@redhat.com>
+    Acked-by: Wang Cong <amwang@redhat.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/Makefile b/Makefile
+--- a/Makefile	2009-07-19 13:43:58.000000000 -0600
++++ b/Makefile	2009-07-19 13:53:15.000000000 -0600
+@@ -320,7 +320,8 @@ KBUILD_CPPFLAGS := -D__KERNEL__ $(LINUXI
+ 
+ KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
+ 		   -fno-strict-aliasing -fno-common \
+-		   -Werror-implicit-function-declaration
++		   -Werror-implicit-function-declaration \
++		   -fno-delete-null-pointer-checks
+ 
+ # .kernelvariables must be included before cc-option
+ # since it may change the value of $(CC)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/accessibility-braille-notifier-cleanup.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/accessibility-braille-notifier-cleanup.patch
@@ -0,0 +1,46 @@
+From 252b7805384d12c6857b8bebf1a373e327afbec9 Mon Sep 17 00:00:00 2001
+From: Pascal Terjan <pterjan@mandriva.com>
+Date: Wed, 17 Sep 2008 10:51:01 +0200
+Subject: [PATCH] Only register notifiers when the braille console is used.
+
+http://bugzilla.kernel.org/show_bug.cgi?id=11242
+
+Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
+---
+ drivers/accessibility/braille/braille_console.c |   13 ++++---------
+ 1 files changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/accessibility/braille/braille_console.c b/drivers/accessibility/braille/braille_console.c
+index 0a5f6b2..d672cfe 100644
+--- a/drivers/accessibility/braille/braille_console.c
++++ b/drivers/accessibility/braille/braille_console.c
+@@ -376,6 +376,8 @@ int braille_register_console(struct console *console, int index,
+ 	console->flags |= CON_ENABLED;
+ 	console->index = index;
+ 	braille_co = console;
++	register_keyboard_notifier(&keyboard_notifier_block);
++	register_vt_notifier(&vt_notifier_block);
+ 	return 0;
+ }
+ 
+@@ -383,15 +385,8 @@ int braille_unregister_console(struct console *console)
+ {
+ 	if (braille_co != console)
+ 		return -EINVAL;
++	unregister_keyboard_notifier(&keyboard_notifier_block);
++	unregister_vt_notifier(&vt_notifier_block);
+ 	braille_co = NULL;
+ 	return 0;
+ }
+-
+-static int __init braille_init(void)
+-{
+-	register_keyboard_notifier(&keyboard_notifier_block);
+-	register_vt_notifier(&vt_notifier_block);
+-	return 0;
+-}
+-
+-console_initcall(braille_init);
+-- 
+1.6.0.2
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/acpi-fix-thermal-shutdowns-x60.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/acpi-fix-thermal-shutdowns-x60.patch
@@ -0,0 +1,31 @@
+commit 9f497bcc695fb828da023d74ad3c966b1e58ad21
+Author: Milan Broz <mbroz@redhat.com>
+Date:   Tue Aug 12 17:48:27 2008 +0200
+
+    ACPI: Fix thermal shutdowns
+    
+    Do not use unsigned int if there is test for negative number...
+    
+    See drivers/acpi/processor_perflib.c
+      static unsigned int ignore_ppc = -1;
+    ...
+      if (event == CPUFREQ_START && ignore_ppc <= 0) {
+           ignore_ppc = 0;
+    ...
+    
+    Signed-off-by: Milan Broz <mbroz@redhat.com>
+    Signed-off-by: Andi Kleen <ak@linux.intel.com>
+
+diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c
+index 0133af4..80e3209 100644
+--- a/drivers/acpi/processor_perflib.c
++++ b/drivers/acpi/processor_perflib.c
+@@ -70,7 +70,7 @@ static DEFINE_MUTEX(performance_mutex);
+  *  0 -> cpufreq low level drivers initialized -> consider _PPC values
+  *  1 -> ignore _PPC totally -> forced by user through boot param
+  */
+-static unsigned int ignore_ppc = -1;
++static int ignore_ppc = -1;
+ module_param(ignore_ppc, uint, 0644);
+ MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \
+ 		 "limited by BIOS, this should help");
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/rtc-ds1286.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/rtc-ds1286.patch
@@ -0,0 +1,455 @@
+From: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
+Date: Tue, 14 Oct 2008 15:16:59 +0000 (+0200)
+Subject: MIPS: DS1286: New RTC driver
+X-Git-Tag: v2.6.28-rc1~564^2~4
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=5f119f29063c9a9bf1ab40112c02710c2db84f29
+
+MIPS: DS1286: New RTC driver
+
+This driver replaces the broken DS1286 driver in drivers/char and gives back
+RTC support for SGI IP22 and IP28 machines.
+
+Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
+Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it>
+Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+---
+
+--- a/drivers/rtc/Kconfig~	2009-06-23 08:41:09.000000000 +0000
++++ b/drivers/rtc/Kconfig	2009-06-23 08:41:14.000000000 +0000
+@@ -333,6 +333,11 @@
+ 	help
+ 	  If you say yes here you get support for the Dallas DS1216 RTC chips.
+ 
++config RTC_DRV_DS1286
++	tristate "Dallas DS1286"
++	help
++	  If you say yes here you get support for the Dallas DS1286 RTC chips.
++
+ config RTC_DRV_DS1302
+ 	tristate "Dallas DS1302"
+ 	depends on SH_SECUREEDGE5410
+--- a/drivers/rtc/Makefile~	2009-06-23 08:41:12.000000000 +0000
++++ b/drivers/rtc/Makefile	2009-06-23 08:41:14.000000000 +0000
+@@ -23,6 +23,7 @@
+ obj-$(CONFIG_RTC_DRV_BFIN)	+= rtc-bfin.o
+ obj-$(CONFIG_RTC_DRV_CMOS)	+= rtc-cmos.o
+ obj-$(CONFIG_RTC_DRV_DS1216)	+= rtc-ds1216.o
++obj-$(CONFIG_RTC_DRV_DS1286)	+= rtc-ds1286.o
+ obj-$(CONFIG_RTC_DRV_DS1302)	+= rtc-ds1302.o
+ obj-$(CONFIG_RTC_DRV_DS1307)	+= rtc-ds1307.o
+ obj-$(CONFIG_RTC_DRV_DS1374)	+= rtc-ds1374.o
+diff --git a/drivers/rtc/rtc-ds1286.c b/drivers/rtc/rtc-ds1286.c
+new file mode 100644
+index 0000000..4b4c1b6
+--- /dev/null
++++ b/drivers/rtc/rtc-ds1286.c
+@@ -0,0 +1,409 @@
++/*
++ * DS1286 Real Time Clock interface for Linux
++ *
++ * Copyright (C) 1998, 1999, 2000 Ralf Baechle
++ * Copyright (C) 2008 Thomas Bogendoerfer
++ *
++ * Based on code written by Paul Gortmaker.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation; either version 2 of the License, or (at your
++ * option) any later version.
++ */
++
++#include <linux/module.h>
++#include <linux/rtc.h>
++#include <linux/platform_device.h>
++#include <linux/bcd.h>
++#include <linux/ds1286.h>
++
++#define DRV_VERSION		"1.0"
++
++struct ds1286_priv {
++	struct rtc_device *rtc;
++	u32 __iomem *rtcregs;
++	size_t size;
++	unsigned long baseaddr;
++	spinlock_t lock;
++};
++
++static inline u8 ds1286_rtc_read(struct ds1286_priv *priv, int reg)
++{
++	return __raw_readl(&priv->rtcregs[reg]) & 0xff;
++}
++
++static inline void ds1286_rtc_write(struct ds1286_priv *priv, u8 data, int reg)
++{
++	__raw_writel(data, &priv->rtcregs[reg]);
++}
++
++#ifdef CONFIG_RTC_INTF_DEV
++
++static int ds1286_ioctl(struct device *dev, unsigned int cmd, unsigned long arg)
++{
++	struct ds1286_priv *priv = dev_get_drvdata(dev);
++	unsigned long flags;
++	unsigned char val;
++
++	switch (cmd) {
++	case RTC_AIE_OFF:
++		/* Mask alarm int. enab. bit	*/
++		spin_lock_irqsave(&priv->lock, flags);
++		val = ds1286_rtc_read(priv, RTC_CMD);
++		val |=  RTC_TDM;
++		ds1286_rtc_write(priv, val, RTC_CMD);
++		spin_unlock_irqrestore(&priv->lock, flags);
++		break;
++	case RTC_AIE_ON:
++		/* Allow alarm interrupts.	*/
++		spin_lock_irqsave(&priv->lock, flags);
++		val = ds1286_rtc_read(priv, RTC_CMD);
++		val &=  ~RTC_TDM;
++		ds1286_rtc_write(priv, val, RTC_CMD);
++		spin_unlock_irqrestore(&priv->lock, flags);
++		break;
++	case RTC_WIE_OFF:
++		/* Mask watchdog int. enab. bit	*/
++		spin_lock_irqsave(&priv->lock, flags);
++		val = ds1286_rtc_read(priv, RTC_CMD);
++		val |= RTC_WAM;
++		ds1286_rtc_write(priv, val, RTC_CMD);
++		spin_unlock_irqrestore(&priv->lock, flags);
++		break;
++	case RTC_WIE_ON:
++		/* Allow watchdog interrupts.	*/
++		spin_lock_irqsave(&priv->lock, flags);
++		val = ds1286_rtc_read(priv, RTC_CMD);
++		val &= ~RTC_WAM;
++		ds1286_rtc_write(priv, val, RTC_CMD);
++		spin_unlock_irqrestore(&priv->lock, flags);
++		break;
++	default:
++		return -ENOIOCTLCMD;
++	}
++	return 0;
++}
++
++#else
++#define ds1286_ioctl    NULL
++#endif
++
++#ifdef CONFIG_PROC_FS
++
++static int ds1286_proc(struct device *dev, struct seq_file *seq)
++{
++	struct ds1286_priv *priv = dev_get_drvdata(dev);
++	unsigned char month, cmd, amode;
++	const char *s;
++
++	month = ds1286_rtc_read(priv, RTC_MONTH);
++	seq_printf(seq,
++		   "oscillator\t: %s\n"
++		   "square_wave\t: %s\n",
++		   (month & RTC_EOSC) ? "disabled" : "enabled",
++		   (month & RTC_ESQW) ? "disabled" : "enabled");
++
++	amode = ((ds1286_rtc_read(priv, RTC_MINUTES_ALARM) & 0x80) >> 5) |
++		((ds1286_rtc_read(priv, RTC_HOURS_ALARM) & 0x80) >> 6) |
++		((ds1286_rtc_read(priv, RTC_DAY_ALARM) & 0x80) >> 7);
++	switch (amode) {
++	case 7:
++		s = "each minute";
++		break;
++	case 3:
++		s = "minutes match";
++		break;
++	case 1:
++		s = "hours and minutes match";
++		break;
++	case 0:
++		s = "days, hours and minutes match";
++		break;
++	default:
++		s = "invalid";
++		break;
++	}
++	seq_printf(seq, "alarm_mode\t: %s\n", s);
++
++	cmd = ds1286_rtc_read(priv, RTC_CMD);
++	seq_printf(seq,
++		   "alarm_enable\t: %s\n"
++		   "wdog_alarm\t: %s\n"
++		   "alarm_mask\t: %s\n"
++		   "wdog_alarm_mask\t: %s\n"
++		   "interrupt_mode\t: %s\n"
++		   "INTB_mode\t: %s_active\n"
++		   "interrupt_pins\t: %s\n",
++		   (cmd & RTC_TDF) ? "yes" : "no",
++		   (cmd & RTC_WAF) ? "yes" : "no",
++		   (cmd & RTC_TDM) ? "disabled" : "enabled",
++		   (cmd & RTC_WAM) ? "disabled" : "enabled",
++		   (cmd & RTC_PU_LVL) ? "pulse" : "level",
++		   (cmd & RTC_IBH_LO) ? "low" : "high",
++		   (cmd & RTC_IPSW) ? "unswapped" : "swapped");
++	return 0;
++}
++
++#else
++#define ds1286_proc     NULL
++#endif
++
++static int ds1286_read_time(struct device *dev, struct rtc_time *tm)
++{
++	struct ds1286_priv *priv = dev_get_drvdata(dev);
++	unsigned char save_control;
++	unsigned long flags;
++	unsigned long uip_watchdog = jiffies;
++
++	/*
++	 * read RTC once any update in progress is done. The update
++	 * can take just over 2ms. We wait 10 to 20ms. There is no need to
++	 * to poll-wait (up to 1s - eeccch) for the falling edge of RTC_UIP.
++	 * If you need to know *exactly* when a second has started, enable
++	 * periodic update complete interrupts, (via ioctl) and then
++	 * immediately read /dev/rtc which will block until you get the IRQ.
++	 * Once the read clears, read the RTC time (again via ioctl). Easy.
++	 */
++
++	if (ds1286_rtc_read(priv, RTC_CMD) & RTC_TE)
++		while (time_before(jiffies, uip_watchdog + 2*HZ/100))
++			barrier();
++
++	/*
++	 * Only the values that we read from the RTC are set. We leave
++	 * tm_wday, tm_yday and tm_isdst untouched. Even though the
++	 * RTC has RTC_DAY_OF_WEEK, we ignore it, as it is only updated
++	 * by the RTC when initially set to a non-zero value.
++	 */
++	spin_lock_irqsave(&priv->lock, flags);
++	save_control = ds1286_rtc_read(priv, RTC_CMD);
++	ds1286_rtc_write(priv, (save_control|RTC_TE), RTC_CMD);
++
++	tm->tm_sec = ds1286_rtc_read(priv, RTC_SECONDS);
++	tm->tm_min = ds1286_rtc_read(priv, RTC_MINUTES);
++	tm->tm_hour = ds1286_rtc_read(priv, RTC_HOURS) & 0x3f;
++	tm->tm_mday = ds1286_rtc_read(priv, RTC_DATE);
++	tm->tm_mon = ds1286_rtc_read(priv, RTC_MONTH) & 0x1f;
++	tm->tm_year = ds1286_rtc_read(priv, RTC_YEAR);
++
++	ds1286_rtc_write(priv, save_control, RTC_CMD);
++	spin_unlock_irqrestore(&priv->lock, flags);
++
++	tm->tm_sec = BCD2BIN(tm->tm_sec);
++	tm->tm_min = BCD2BIN(tm->tm_min);
++	tm->tm_hour = BCD2BIN(tm->tm_hour);
++	tm->tm_mday = BCD2BIN(tm->tm_mday);
++	tm->tm_mon = BCD2BIN(tm->tm_mon);
++	tm->tm_year = BCD2BIN(tm->tm_year);
++
++	/*
++	 * Account for differences between how the RTC uses the values
++	 * and how they are defined in a struct rtc_time;
++	 */
++	if (tm->tm_year < 45)
++		tm->tm_year += 30;
++	tm->tm_year += 40;
++	if (tm->tm_year < 70)
++		tm->tm_year += 100;
++
++	tm->tm_mon--;
++
++	return rtc_valid_tm(tm);
++}
++
++static int ds1286_set_time(struct device *dev, struct rtc_time *tm)
++{
++	struct ds1286_priv *priv = dev_get_drvdata(dev);
++	unsigned char mon, day, hrs, min, sec;
++	unsigned char save_control;
++	unsigned int yrs;
++	unsigned long flags;
++
++	yrs = tm->tm_year + 1900;
++	mon = tm->tm_mon + 1;   /* tm_mon starts at zero */
++	day = tm->tm_mday;
++	hrs = tm->tm_hour;
++	min = tm->tm_min;
++	sec = tm->tm_sec;
++
++	if (yrs < 1970)
++		return -EINVAL;
++
++	yrs -= 1940;
++	if (yrs > 255)    /* They are unsigned */
++		return -EINVAL;
++
++	if (yrs >= 100)
++		yrs -= 100;
++
++	sec = BIN2BCD(sec);
++	min = BIN2BCD(min);
++	hrs = BIN2BCD(hrs);
++	day = BIN2BCD(day);
++	mon = BIN2BCD(mon);
++	yrs = BIN2BCD(yrs);
++
++	spin_lock_irqsave(&priv->lock, flags);
++	save_control = ds1286_rtc_read(priv, RTC_CMD);
++	ds1286_rtc_write(priv, (save_control|RTC_TE), RTC_CMD);
++
++	ds1286_rtc_write(priv, yrs, RTC_YEAR);
++	ds1286_rtc_write(priv, mon, RTC_MONTH);
++	ds1286_rtc_write(priv, day, RTC_DATE);
++	ds1286_rtc_write(priv, hrs, RTC_HOURS);
++	ds1286_rtc_write(priv, min, RTC_MINUTES);
++	ds1286_rtc_write(priv, sec, RTC_SECONDS);
++	ds1286_rtc_write(priv, 0, RTC_HUNDREDTH_SECOND);
++
++	ds1286_rtc_write(priv, save_control, RTC_CMD);
++	spin_unlock_irqrestore(&priv->lock, flags);
++	return 0;
++}
++
++static int ds1286_read_alarm(struct device *dev, struct rtc_wkalrm *alm)
++{
++	struct ds1286_priv *priv = dev_get_drvdata(dev);
++	unsigned char cmd;
++	unsigned long flags;
++
++	/*
++	 * Only the values that we read from the RTC are set. That
++	 * means only tm_wday, tm_hour, tm_min.
++	 */
++	spin_lock_irqsave(&priv->lock, flags);
++	alm->time.tm_min = ds1286_rtc_read(priv, RTC_MINUTES_ALARM) & 0x7f;
++	alm->time.tm_hour = ds1286_rtc_read(priv, RTC_HOURS_ALARM)  & 0x1f;
++	alm->time.tm_wday = ds1286_rtc_read(priv, RTC_DAY_ALARM)    & 0x07;
++	cmd = ds1286_rtc_read(priv, RTC_CMD);
++	spin_unlock_irqrestore(&priv->lock, flags);
++
++	alm->time.tm_min = BCD2BIN(alm->time.tm_min);
++	alm->time.tm_hour = BCD2BIN(alm->time.tm_hour);
++	alm->time.tm_sec = 0;
++	return 0;
++}
++
++static int ds1286_set_alarm(struct device *dev, struct rtc_wkalrm *alm)
++{
++	struct ds1286_priv *priv = dev_get_drvdata(dev);
++	unsigned char hrs, min, sec;
++
++	hrs = alm->time.tm_hour;
++	min = alm->time.tm_min;
++	sec = alm->time.tm_sec;
++
++	if (hrs >= 24)
++		hrs = 0xff;
++
++	if (min >= 60)
++		min = 0xff;
++
++	if (sec != 0)
++		return -EINVAL;
++
++	min = BIN2BCD(min);
++	hrs = BIN2BCD(hrs);
++
++	spin_lock(&priv->lock);
++	ds1286_rtc_write(priv, hrs, RTC_HOURS_ALARM);
++	ds1286_rtc_write(priv, min, RTC_MINUTES_ALARM);
++	spin_unlock(&priv->lock);
++
++	return 0;
++}
++
++static const struct rtc_class_ops ds1286_ops = {
++	.ioctl   	= ds1286_ioctl,
++	.proc   	= ds1286_proc,
++	.read_time	= ds1286_read_time,
++	.set_time	= ds1286_set_time,
++	.read_alarm	= ds1286_read_alarm,
++	.set_alarm	= ds1286_set_alarm,
++};
++
++static int __devinit ds1286_probe(struct platform_device *pdev)
++{
++	struct rtc_device *rtc;
++	struct resource *res;
++	struct ds1286_priv *priv;
++	int ret = 0;
++
++	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++	if (!res)
++		return -ENODEV;
++	priv = kzalloc(sizeof(struct ds1286_priv), GFP_KERNEL);
++	if (!priv)
++		return -ENOMEM;
++
++	priv->size = res->end - res->start + 1;
++	if (!request_mem_region(res->start, priv->size, pdev->name)) {
++		ret = -EBUSY;
++		goto out;
++	}
++	priv->baseaddr = res->start;
++	priv->rtcregs = ioremap(priv->baseaddr, priv->size);
++	if (!priv->rtcregs) {
++		ret = -ENOMEM;
++		goto out;
++	}
++	spin_lock_init(&priv->lock);
++	rtc = rtc_device_register("ds1286", &pdev->dev,
++				  &ds1286_ops, THIS_MODULE);
++	if (IS_ERR(rtc)) {
++		ret = PTR_ERR(rtc);
++		goto out;
++	}
++	priv->rtc = rtc;
++	platform_set_drvdata(pdev, priv);
++	return 0;
++
++out:
++	if (priv->rtc)
++		rtc_device_unregister(priv->rtc);
++	if (priv->rtcregs)
++		iounmap(priv->rtcregs);
++	if (priv->baseaddr)
++		release_mem_region(priv->baseaddr, priv->size);
++	kfree(priv);
++	return ret;
++}
++
++static int __devexit ds1286_remove(struct platform_device *pdev)
++{
++	struct ds1286_priv *priv = platform_get_drvdata(pdev);
++
++	rtc_device_unregister(priv->rtc);
++	iounmap(priv->rtcregs);
++	release_mem_region(priv->baseaddr, priv->size);
++	kfree(priv);
++	return 0;
++}
++
++static struct platform_driver ds1286_platform_driver = {
++	.driver		= {
++		.name	= "rtc-ds1286",
++		.owner	= THIS_MODULE,
++	},
++	.probe		= ds1286_probe,
++	.remove		= __devexit_p(ds1286_remove),
++};
++
++static int __init ds1286_init(void)
++{
++	return platform_driver_register(&ds1286_platform_driver);
++}
++
++static void __exit ds1286_exit(void)
++{
++	platform_driver_unregister(&ds1286_platform_driver);
++}
++
++MODULE_AUTHOR("Thomas Bogendoerfer <tsbogend@alpha.franken.de>");
++MODULE_DESCRIPTION("DS1286 RTC driver");
++MODULE_LICENSE("GPL");
++MODULE_VERSION(DRV_VERSION);
++MODULE_ALIAS("platform:rtc-ds1286");
++
++module_init(ds1286_init);
++module_exit(ds1286_exit);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/acenic-pass-up-error-code-from-ace_load_firmware.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/acenic-pass-up-error-code-from-ace_load_firmware.patch
@@ -0,0 +1,32 @@
+From 6c60e0c30c80fcd53e61701b7865a85283f8a341 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Mon, 12 Oct 2009 04:18:48 -0700
+Subject: [PATCH] acenic: Pass up error code from ace_load_firmware()
+
+If ace_load_firmware() fails, ace_init() cleans up but still returns
+0, leading to an oops as seen in <http://bugs.debian.org/521383>.
+It should pass the error code up.
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/acenic.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c
+index 5f0b05c..d82a9a9 100644
+--- a/drivers/net/acenic.c
++++ b/drivers/net/acenic.c
+@@ -1209,7 +1209,8 @@ static int __devinit ace_init(struct net_device *dev)
+ 	memset(ap->info, 0, sizeof(struct ace_info));
+ 	memset(ap->skb, 0, sizeof(struct ace_skb));
+ 
+-	if (ace_load_firmware(dev))
++	ecode = ace_load_firmware(dev);
++	if (ecode)
+ 		goto init_error;
+ 
+ 	ap->fw_running = 0;
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/alsa-caiaq-fix-oops-with-midi.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/alsa-caiaq-fix-oops-with-midi.patch
@@ -0,0 +1,104 @@
+commit f3f80a9205da74fa56d613f4c14b88b6e4e6caa8
+Author: Takashi Iwai <tiwai@suse.de>
+Date:   Thu Jan 8 15:32:56 2009 +0100
+
+    ALSA: caiaq - Fix Oops with MIDI
+    
+    The snd-usb-caiaq driver causes Oops occasionally when accessing MIDI
+    devices.  This patch fixes the Oops and invalid URB submission errors
+    as well.
+    
+    Cc: stable@kernel.org
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+diff --git a/sound/usb/caiaq/caiaq-device.h b/sound/usb/caiaq/caiaq-device.h
+index f9fbdba..ab56e73 100644
+--- a/sound/usb/caiaq/caiaq-device.h
++++ b/sound/usb/caiaq/caiaq-device.h
+@@ -75,6 +75,7 @@ struct snd_usb_caiaqdev {
+ 	wait_queue_head_t ep1_wait_queue;
+ 	wait_queue_head_t prepare_wait_queue;
+ 	int spec_received, audio_parm_answer;
++	int midi_out_active;
+ 
+ 	char vendor_name[CAIAQ_USB_STR_LEN];
+ 	char product_name[CAIAQ_USB_STR_LEN];
+diff --git a/sound/usb/caiaq/caiaq-midi.c b/sound/usb/caiaq/caiaq-midi.c
+index 30b57f9..f19fd36 100644
+--- a/sound/usb/caiaq/caiaq-midi.c
++++ b/sound/usb/caiaq/caiaq-midi.c
+@@ -59,6 +59,11 @@ static int snd_usb_caiaq_midi_output_open(struct snd_rawmidi_substream *substrea
+ 
+ static int snd_usb_caiaq_midi_output_close(struct snd_rawmidi_substream *substream)
+ {
++	struct snd_usb_caiaqdev *dev = substream->rmidi->private_data;
++	if (dev->midi_out_active) {
++		usb_kill_urb(&dev->midi_out_urb);
++		dev->midi_out_active = 0;
++	}
+ 	return 0;
+ }
+ 
+@@ -69,7 +74,8 @@ static void snd_usb_caiaq_midi_send(struct snd_usb_caiaqdev *dev,
+ 	
+ 	dev->midi_out_buf[0] = EP1_CMD_MIDI_WRITE;
+ 	dev->midi_out_buf[1] = 0; /* port */
+-	len = snd_rawmidi_transmit_peek(substream, dev->midi_out_buf+3, EP1_BUFSIZE-3);
++	len = snd_rawmidi_transmit(substream, dev->midi_out_buf + 3,
++				   EP1_BUFSIZE - 3);
+ 	
+ 	if (len <= 0)
+ 		return;
+@@ -79,24 +85,24 @@ static void snd_usb_caiaq_midi_send(struct snd_usb_caiaqdev *dev,
+ 	
+ 	ret = usb_submit_urb(&dev->midi_out_urb, GFP_ATOMIC);
+ 	if (ret < 0)
+-		log("snd_usb_caiaq_midi_send(%p): usb_submit_urb() failed, %d\n",
+-				substream, ret);
++		log("snd_usb_caiaq_midi_send(%p): usb_submit_urb() failed,"
++		    "ret=%d, len=%d\n",
++		    substream, ret, len);
++	else
++		dev->midi_out_active = 1;
+ }
+ 
+ static void snd_usb_caiaq_midi_output_trigger(struct snd_rawmidi_substream *substream, int up)
+ {
+ 	struct snd_usb_caiaqdev *dev = substream->rmidi->private_data;
+ 	
+-	if (dev->midi_out_substream != NULL)
+-		return;
+-	
+-	if (!up) {
++	if (up) {
++		dev->midi_out_substream = substream;
++		if (!dev->midi_out_active)
++			snd_usb_caiaq_midi_send(dev, substream);
++	} else {
+ 		dev->midi_out_substream = NULL;
+-		return;
+ 	}
+-	
+-	dev->midi_out_substream = substream;
+-	snd_usb_caiaq_midi_send(dev, substream);
+ }
+ 
+ 
+@@ -161,16 +167,14 @@ int snd_usb_caiaq_midi_init(struct snd_usb_caiaqdev *device)
+ void snd_usb_caiaq_midi_output_done(struct urb* urb)
+ {
+ 	struct snd_usb_caiaqdev *dev = urb->context;
+-      	char *buf = urb->transfer_buffer;
+ 	
++	dev->midi_out_active = 0;
+ 	if (urb->status != 0)
+ 		return;
+ 
+ 	if (!dev->midi_out_substream)
+ 		return;
+ 
+-	snd_rawmidi_transmit_ack(dev->midi_out_substream, buf[2]);
+-	dev->midi_out_substream = NULL;
+ 	snd_usb_caiaq_midi_send(dev, dev->midi_out_substream);
+ }
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/add-fwrapv-to-cflags.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/add-fwrapv-to-cflags.patch
@@ -0,0 +1,37 @@
+commit 68df3755e383e6fecf2354a67b08f92f18536594
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Thu Mar 19 11:10:17 2009 -0700
+
+    Add '-fwrapv' to gcc CFLAGS
+    
+    This makes sure that gcc doesn't try to optimize away wrapping
+    arithmetic, which the kernel occasionally uses for overflow testing, ie
+    things like
+    
+    	if (ptr + offset < ptr)
+    
+    which technically is undefined for non-unsigned types. See
+    
+    	http://bugzilla.kernel.org/show_bug.cgi?id=12597
+    
+    for details.
+    
+    Not all versions of gcc support it, so we need to make it conditional
+    (it looks like it was introduced in gcc-3.4).
+    
+    Reminded-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/Makefile linux-source-2.6.26/Makefile
+--- linux-source-2.6.26.orig/Makefile	2009-03-09 16:22:35.000000000 -0600
++++ linux-source-2.6.26/Makefile	2009-03-20 11:14:43.000000000 -0600
+@@ -321,6 +321,7 @@ KBUILD_CPPFLAGS := -D__KERNEL__ $(LINUXI
+ KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
+ 		   -fno-strict-aliasing -fno-common \
+ 		   -Werror-implicit-function-declaration
++KBUILD_CFLAGS	+= $(call cc-option,-fwrapv)
+ KBUILD_AFLAGS   := -D__ASSEMBLY__
+ 
+ # Read KERNELRELEASE from include/config/kernel.release (if it exists)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/af_unix-fix-deadlock-on-connecting-to-shutdown-socket.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/af_unix-fix-deadlock-on-connecting-to-shutdown-socket.patch
@@ -0,0 +1,83 @@
+commit 77238f2b942b38ab4e7f3aced44084493e4a8675
+Author: Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com>
+Date:   Sun Oct 18 23:17:37 2009 -0700
+
+    AF_UNIX: Fix deadlock on connecting to shutdown socket
+    
+    I found a deadlock bug in UNIX domain socket, which makes able to DoS
+    attack against the local machine by non-root users.
+    
+    How to reproduce:
+    1. Make a listening AF_UNIX/SOCK_STREAM socket with an abstruct
+        namespace(*), and shutdown(2) it.
+     2. Repeat connect(2)ing to the listening socket from the other sockets
+        until the connection backlog is full-filled.
+     3. connect(2) takes the CPU forever. If every core is taken, the
+        system hangs.
+    
+    PoC code: (Run as many times as cores on SMP machines.)
+    
+    int main(void)
+    {
+    	int ret;
+    	int csd;
+    	int lsd;
+    	struct sockaddr_un sun;
+    
+    	/* make an abstruct name address (*) */
+    	memset(&sun, 0, sizeof(sun));
+    	sun.sun_family = PF_UNIX;
+    	sprintf(&sun.sun_path[1], "%d", getpid());
+    
+    	/* create the listening socket and shutdown */
+    	lsd = socket(AF_UNIX, SOCK_STREAM, 0);
+    	bind(lsd, (struct sockaddr *)&sun, sizeof(sun));
+    	listen(lsd, 1);
+    	shutdown(lsd, SHUT_RDWR);
+    
+    	/* connect loop */
+    	alarm(15); /* forcely exit the loop after 15 sec */
+    	for (;;) {
+    		csd = socket(AF_UNIX, SOCK_STREAM, 0);
+    		ret = connect(csd, (struct sockaddr *)&sun, sizeof(sun));
+    		if (-1 == ret) {
+    			perror("connect()");
+    			break;
+    		}
+    		puts("Connection OK");
+    	}
+    	return 0;
+    }
+    
+    (*) Make sun_path[0] = 0 to use the abstruct namespace.
+        If a file-based socket is used, the system doesn't deadlock because
+        of context switches in the file system layer.
+    
+    Why this happens:
+     Error checks between unix_socket_connect() and unix_wait_for_peer() are
+     inconsistent. The former calls the latter to wait until the backlog is
+     processed. Despite the latter returns without doing anything when the
+     socket is shutdown, the former doesn't check the shutdown state and
+     just retries calling the latter forever.
+    
+    Patch:
+     The patch below adds shutdown check into unix_socket_connect(), so
+     connect(2) to the shutdown socket will return -ECONREFUSED.
+    
+    Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com>
+    Signed-off-by: Masanori Yoshida <masanori.yoshida.tv@hitachi.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
+index 51ab497..fc820cd 100644
+--- a/net/unix/af_unix.c
++++ b/net/unix/af_unix.c
+@@ -1074,6 +1074,8 @@ restart:
+ 	err = -ECONNREFUSED;
+ 	if (other->sk_state != TCP_LISTEN)
+ 		goto out_unlock;
++	if (other->sk_shutdown & RCV_SHUTDOWN)
++		goto out_unlock;
+ 
+ 	if (unix_recvq_full(other)) {
+ 		err = -EAGAIN;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/af_rose+x25-sanity-check-the-max-user-frame-size.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/af_rose+x25-sanity-check-the-max-user-frame-size.patch
@@ -0,0 +1,61 @@
+commit 83e0bbcbe2145f160fbaa109b0439dae7f4a38a9
+Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Date:   Fri Mar 27 00:28:21 2009 -0700
+
+    af_rose/x25: Sanity check the maximum user frame size
+    
+    Otherwise we can wrap the sizes and end up sending garbage.
+    
+    Closes #10423
+    
+    Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/net/netrom/af_netrom.c linux-source-2.6.26/net/netrom/af_netrom.c
+--- linux-source-2.6.26.orig/net/netrom/af_netrom.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/netrom/af_netrom.c	2009-04-08 00:09:44.000000000 -0600
+@@ -1074,7 +1074,11 @@ static int nr_sendmsg(struct kiocb *iocb
+ 
+ 	SOCK_DEBUG(sk, "NET/ROM: sendto: Addresses built.\n");
+ 
+-	/* Build a packet */
++	/* Build a packet - the conventional user limit is 236 bytes. We can
++	   do ludicrously large NetROM frames but must not overflow */
++	if (len > 65536)
++		return -EMSGSIZE;
++
+ 	SOCK_DEBUG(sk, "NET/ROM: sendto: building packet.\n");
+ 	size = len + NR_NETWORK_LEN + NR_TRANSPORT_LEN;
+ 
+diff -urpN linux-source-2.6.26.orig/net/rose/af_rose.c linux-source-2.6.26/net/rose/af_rose.c
+--- linux-source-2.6.26.orig/net/rose/af_rose.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/rose/af_rose.c	2009-04-08 00:09:44.000000000 -0600
+@@ -1110,6 +1110,10 @@ static int rose_sendmsg(struct kiocb *io
+ 
+ 	/* Build a packet */
+ 	SOCK_DEBUG(sk, "ROSE: sendto: building packet.\n");
++	/* Sanity check the packet size */
++	if (len > 65535)
++		return -EMSGSIZE;
++
+ 	size = len + AX25_BPQ_HEADER_LEN + AX25_MAX_HEADER_LEN + ROSE_MIN_LEN;
+ 
+ 	if ((skb = sock_alloc_send_skb(sk, size, msg->msg_flags & MSG_DONTWAIT, &err)) == NULL)
+diff -urpN linux-source-2.6.26.orig/net/x25/af_x25.c linux-source-2.6.26/net/x25/af_x25.c
+--- linux-source-2.6.26.orig/net/x25/af_x25.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/x25/af_x25.c	2009-04-08 00:09:44.000000000 -0600
+@@ -1042,6 +1042,12 @@ static int x25_sendmsg(struct kiocb *ioc
+ 		sx25.sx25_addr   = x25->dest_addr;
+ 	}
+ 
++	/* Sanity check the packet size */
++	if (len > 65535) {
++		rc = -EMSGSIZE;
++		goto out;
++	}
++
+ 	SOCK_DEBUG(sk, "x25_sendmsg: sendto: Addresses built.\n");
+ 
+ 	/* Build a packet */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/alsa-via-fix-inversion-of-sound-and-side-channels.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/alsa-via-fix-inversion-of-sound-and-side-channels.patch
@@ -0,0 +1,118 @@
+From: Harald Welte <HaraldWelte@viatech.com>
+Date: Tue, 9 Sep 2008 07:53:36 +0000 (+0800)
+Subject: ALSA: HDA patch_via.c: Fix inversion of surround and side channels
+X-Git-Tag: v2.6.28-rc1~20^2~120
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=fb4cb772c0b22f7bce0b151ef5712e80d434bc97;hp=76d9b0dd78197c473892e44b1fbf6be4592cc440
+
+ALSA: HDA patch_via.c: Fix inversion of surround and side channels
+
+In the current driver, there is a consistent mistake between the SURROUND and
+the SIDE channels.  This patch fixes it.
+
+Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_via.c linux-source-2.6.26/sound/pci/hda/patch_via.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_via.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/sound/pci/hda/patch_via.c	2009-07-30 23:44:05.000000000 -0600
+@@ -29,6 +29,7 @@
+ /* 2006-09-08  Lydia Wang  Fix internal loopback recording source select bug */
+ /* 2007-09-12  Lydia Wang  Add EAPD enable during driver initialization      */
+ /* 2007-09-17  Lydia Wang  Add VT1708B codec support                        */
++/* 2008-02-03  Lydia Wang  Fix Rear channels and Back channels inverse issue */
+ /*                                                                           */
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+ 
+@@ -657,10 +658,10 @@ static int vt1708_auto_fill_dac_nids(str
+ 				spec->multiout.dac_nids[i] = 0x12;
+ 				break;
+ 			case AUTO_SEQ_SURROUND:
+-				spec->multiout.dac_nids[i] = 0x13;
++				spec->multiout.dac_nids[i] = 0x11;
+ 				break;
+ 			case AUTO_SEQ_SIDE:
+-				spec->multiout.dac_nids[i] = 0x11;
++				spec->multiout.dac_nids[i] = 0x13;
+ 				break;
+ 			}
+ 		}
+@@ -685,7 +686,7 @@ static int vt1708_auto_create_multi_out_
+ 			continue;
+ 		
+ 		if (i != AUTO_SEQ_FRONT)
+-			nid_vol = 0x1b - i + 1;
++			nid_vol = 0x18 + i;
+ 
+ 		if (i == AUTO_SEQ_CENLFE) {
+ 			/* Center/LFE */
+@@ -1090,11 +1091,11 @@ static int vt1709_auto_fill_dac_nids(str
+ 					break;
+ 				case AUTO_SEQ_SURROUND:
+ 					/* AOW3 */
+-					spec->multiout.dac_nids[i] = 0x27;
++					spec->multiout.dac_nids[i] = 0x11;
+ 					break;
+ 				case AUTO_SEQ_SIDE:
+ 					/* AOW1 */
+-					spec->multiout.dac_nids[i] = 0x11;
++					spec->multiout.dac_nids[i] = 0x27;
+ 					break;
+ 				default:
+ 					break;
+@@ -1203,26 +1204,26 @@ static int vt1709_auto_create_multi_out_
+ 		} else if (i == AUTO_SEQ_SURROUND) {
+ 			sprintf(name, "%s Playback Volume", chname[i]);
+ 			err = via_add_control(spec, VIA_CTL_WIDGET_VOL, name,
+-					      HDA_COMPOSE_AMP_VAL(0x29, 3, 0,
++					      HDA_COMPOSE_AMP_VAL(0x1a, 3, 0,
+ 								  HDA_OUTPUT));
+ 			if (err < 0)
+ 				return err;
+ 			sprintf(name, "%s Playback Switch", chname[i]);
+ 			err = via_add_control(spec, VIA_CTL_WIDGET_MUTE, name,
+-					      HDA_COMPOSE_AMP_VAL(0x29, 3, 0,
++					      HDA_COMPOSE_AMP_VAL(0x1a, 3, 0,
+ 								  HDA_OUTPUT));
+ 			if (err < 0)
+ 				return err;
+ 		} else if (i == AUTO_SEQ_SIDE) {
+ 			sprintf(name, "%s Playback Volume", chname[i]);
+ 			err = via_add_control(spec, VIA_CTL_WIDGET_VOL, name,
+-					      HDA_COMPOSE_AMP_VAL(0x1a, 3, 0,
++					      HDA_COMPOSE_AMP_VAL(0x29, 3, 0,
+ 								  HDA_OUTPUT));
+ 			if (err < 0)
+ 				return err;
+ 			sprintf(name, "%s Playback Switch", chname[i]);
+ 			err = via_add_control(spec, VIA_CTL_WIDGET_MUTE, name,
+-					      HDA_COMPOSE_AMP_VAL(0x1a, 3, 0,
++					      HDA_COMPOSE_AMP_VAL(0x29, 3, 0,
+ 								  HDA_OUTPUT));
+ 			if (err < 0)
+ 				return err;
+@@ -1662,10 +1663,10 @@ static int vt1708B_auto_fill_dac_nids(st
+ 				spec->multiout.dac_nids[i] = 0x24;
+ 				break;
+ 			case AUTO_SEQ_SURROUND:
+-				spec->multiout.dac_nids[i] = 0x25;
++				spec->multiout.dac_nids[i] = 0x11;
+ 				break;
+ 			case AUTO_SEQ_SIDE:
+-				spec->multiout.dac_nids[i] = 0x11;
++				spec->multiout.dac_nids[i] = 0x25;
+ 				break;
+ 			}
+ 		}
+@@ -1680,7 +1681,7 @@ static int vt1708B_auto_create_multi_out
+ {
+ 	char name[32];
+ 	static const char *chname[4] = { "Front", "Surround", "C/LFE", "Side" };
+-	hda_nid_t nid_vols[] = {0x16, 0x27, 0x26, 0x18};
++	hda_nid_t nid_vols[] = {0x16, 0x18, 0x26, 0x27};
+ 	hda_nid_t nid, nid_vol = 0;
+ 	int i, err;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/agp-zero-pages-before-sending-to-userspace.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/agp-zero-pages-before-sending-to-userspace.patch
@@ -0,0 +1,27 @@
+commit 59de2bebabc5027f93df999d59cc65df591c3e6e
+Author: Shaohua Li <shaohua.li@intel.com>
+Date:   Mon Apr 20 10:08:35 2009 +1000
+
+    agp: zero pages before sending to userspace
+    
+    AGP pages might be mapped into userspace finally, so the pages should be
+    set to zero before userspace can use it. Otherwise there is potential
+    information leakage.
+    
+    Signed-off-by: Shaohua Li <shaohua.li@intel.com>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/char/agp/generic.c linux-source-2.6.26/drivers/char/agp/generic.c
+--- linux-source-2.6.26.orig/drivers/char/agp/generic.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/char/agp/generic.c	2009-04-27 21:32:00.000000000 -0600
+@@ -1182,7 +1182,7 @@ void *agp_generic_alloc_page(struct agp_
+ {
+ 	struct page * page;
+ 
+-	page = alloc_page(GFP_KERNEL | GFP_DMA32);
++	page = alloc_page(GFP_KERNEL | GFP_DMA32 | __GFP_ZERO);
+ 	if (page == NULL)
+ 		return NULL;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/alsa-hda-add-alc887-support.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/alsa-hda-add-alc887-support.patch
@@ -0,0 +1,24 @@
+commit a385a52925398e53bedf1a8b30a9a3e002569f27
+Author: Kailang Yang <kailang@realtek.com>
+Date:   Wed Oct 15 11:20:21 2008 +0200
+
+    ALSA: hda - Add ALC887 support
+    
+    Added ALC887 support.  It's almost compatible with ALC883/888.
+    
+    Signed-off-by: Kailang Yang <kailang@realtek.com>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/sound/pci/hda/patch_realtek.c linux-source-2.6.26/sound/pci/hda/patch_realtek.c
+--- linux-source-2.6.26.orig/sound/pci/hda/patch_realtek.c	2009-02-08 23:05:08.000000000 -0700
++++ linux-source-2.6.26/sound/pci/hda/patch_realtek.c	2009-02-08 23:24:29.000000000 -0700
+@@ -14360,6 +14360,7 @@ struct hda_codec_preset snd_hda_preset_r
+ 	{ .id = 0x10ec0885, .rev = 0x100103, .name = "ALC889A",
+ 	  .patch = patch_alc882 }, /* should be patch_alc883() in future */
+ 	{ .id = 0x10ec0885, .name = "ALC885", .patch = patch_alc882 },
++	{ .id = 0x10ec0887, .name = "ALC887", .patch = patch_alc883 },
+ 	{ .id = 0x10ec0888, .name = "ALC888", .patch = patch_alc883 },
+ 	{ .id = 0x10ec0889, .name = "ALC889", .patch = patch_alc883 },
+ 	{} /* terminator */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/alsa-hda-fix-spdif-out-on-ad1989b.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/alsa-hda-fix-spdif-out-on-ad1989b.patch
@@ -0,0 +1,31 @@
+commit e8bfc6c1d22395ab706784cb1bcd60f6f9569ed6
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date:   Sat Sep 13 16:55:00 2008 -0700
+
+    ALSA: HDA: patch_analog: Fix SPDIF output on AD1989B
+    
+    The SPDIF pins for AD1989 are not enabled by default. Set OUT bit so that they
+    actually work. Also initialize the HDMI SPDIF at the same time.
+    
+    Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+
+diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
+index 0899b6b..03b9d3d 100644
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -2249,8 +2249,12 @@ static struct hda_verb ad1988_spdif_init_verbs[] = {
+ 
+ /* AD1989 has no ADC -> SPDIF route */
+ static struct hda_verb ad1989_spdif_init_verbs[] = {
+-	/* SPDIF out pin */
++	/* SPDIF-1 out pin */
++	{0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
+ 	{0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */
++	/* SPDIF-2/HDMI out pin */
++	{0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
++	{0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */
+ 	{ }
+ };
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/atl1e-remove-broken-tsov6.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/atl1e-remove-broken-tsov6.patch
@@ -0,0 +1,67 @@
+From: Jie Yang <jie.yang@atheros.com>
+Date: Wed, 2 Dec 2009 11:18:34 +0800
+Subject: [PATCH net-next]atl1e:disable NETIF_F_TSO6 for hardware limit
+
+For hardware limit to support TSOV6, just disable this feature
+Signed-off-by: Jie Yang <jie.yang@atheros.com>
+---
+
+ drivers/net/atl1e/atl1e_main.c |   36 ------------------------------------
+ 1 files changed, 0 insertions(+), 36 deletions(-)
+
+diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c
+index ad17e74..08f8c09 100644
+--- a/drivers/net/atl1e/atl1e_main.c
++++ b/drivers/net/atl1e/atl1e_main.c
+@@ -1664,41 +1664,6 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter,
+ 			}
+ 			return 0;
+ 		}
+-
+-		if (offload_type & SKB_GSO_TCPV6) {
+-			real_len = (((unsigned char *)ipv6_hdr(skb) - skb->data)
+-					+ ntohs(ipv6_hdr(skb)->payload_len));
+-			if (real_len < skb->len)
+-				pskb_trim(skb, real_len);
+-
+-			/* check payload == 0 byte ? */
+-			hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb));
+-			if (unlikely(skb->len == hdr_len)) {
+-				/* only xsum need */
+-				dev_warn(&pdev->dev,
+-					"IPV6 tso with zero data??\n");
+-				goto check_sum;
+-			} else {
+-				tcp_hdr(skb)->check = ~csum_ipv6_magic(
+-						&ipv6_hdr(skb)->saddr,
+-						&ipv6_hdr(skb)->daddr,
+-						0, IPPROTO_TCP, 0);
+-				tpd->word3 |= 1 << TPD_IP_VERSION_SHIFT;
+-				hdr_len >>= 1;
+-				tpd->word3 |= (hdr_len & TPD_V6_IPHLLO_MASK) <<
+-					TPD_V6_IPHLLO_SHIFT;
+-				tpd->word3 |= ((hdr_len >> 3) &
+-					TPD_V6_IPHLHI_MASK) <<
+-					TPD_V6_IPHLHI_SHIFT;
+-				tpd->word3 |= (tcp_hdrlen(skb) >> 2 &
+-					TPD_TCPHDRLEN_MASK) <<
+-					TPD_TCPHDRLEN_SHIFT;
+-				tpd->word3 |= ((skb_shinfo(skb)->gso_size) &
+-					TPD_MSS_MASK) << TPD_MSS_SHIFT;
+-					tpd->word3 |= 1 << TPD_SEGMENT_EN_SHIFT;
+-			}
+-		}
+-		return 0;
+ 	}
+ 
+ check_sum:
+@@ -2287,7 +2252,6 @@ static int atl1e_init_netdev(struct net_device *netdev, struct pci_dev *pdev)
+ 		NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
+ 	netdev->features |= NETIF_F_LLTX;
+ 	netdev->features |= NETIF_F_TSO;
+-	netdev->features |= NETIF_F_TSO6;
+ 
+ 	return 0;
+ }
+
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ath5-fix-bad-udelay.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ath5-fix-bad-udelay.patch
@@ -0,0 +1,28 @@
+ath5k: Fix bad udelay calls on AR5210 code
+
+Based on a patch by Nick Kossifidis <mick@madwifi.org>
+http://git.kernel.org/?p=linux/kernel/git/davem/net-next-2.6.git;a=commitdiff;h=84e463fa0786a105c39281b90f8e3b6fe1444a05
+
+--- a/drivers/net/wireless/ath5k/hw.c	2008-09-27 12:45:23.000000000 +0000
++++ b/drivers/net/wireless/ath5k/hw.c	2008-09-27 12:45:40.000000000 +0000
+@@ -507,7 +507,7 @@
+ 	}
+ 
+ 	if (ah->ah_version == AR5K_AR5210)
+-		udelay(2300);
++		mdelay(2);
+ 
+ 	/* ...wakeup again!*/
+ 	ret = ath5k_hw_set_power(ah, AR5K_PM_AWAKE, true, 0);
+diff -urN drivers/net/wireless/ath5k~/phy.c drivers/net/wireless/ath5k/phy.c
+--- a/drivers/net/wireless/ath5k/phy.c	2008-09-27 12:45:23.000000000 +0000
++++ b/drivers/net/wireless/ath5k/phy.c	2008-09-27 12:45:54.000000000 +0000
+@@ -2001,7 +2001,7 @@
+ 	beacon = ath5k_hw_reg_read(ah, AR5K_BEACON_5210);
+ 	ath5k_hw_reg_write(ah, beacon & ~AR5K_BEACON_ENABLE, AR5K_BEACON_5210);
+ 
+-	udelay(2300);
++	mdelay(2);
+ 
+ 	/*
+ 	 * Set the channel (with AGC turned off)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/appletalk-fix-skb-leak-when-ipddp-interface-is-not-loaded.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/appletalk-fix-skb-leak-when-ipddp-interface-is-not-loaded.patch
@@ -0,0 +1,182 @@
+commit ffcfb8db540ff879c2a85bf7e404954281443414
+Author: Arnaldo Carvalho de Melo <acme@redhat.com>
+Date:   Fri Sep 11 11:35:22 2009 -0700
+
+    Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded
+    
+    And also do a better job of returning proper NET_{RX,XMIT}_ values.
+    
+    Based on a patch and suggestions by Mark Smith.
+    
+    This fixes CVE-2009-2903
+    
+    Reported-by: Mark Smith <lk-netdev@lk-netdev.nosense.org>
+    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/net/appletalk/ipddp.c linux-source-2.6.26/drivers/net/appletalk/ipddp.c
+--- linux-source-2.6.26.orig/drivers/net/appletalk/ipddp.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/net/appletalk/ipddp.c	2009-09-16 00:03:40.000000000 -0600
+@@ -173,8 +173,7 @@ static int ipddp_xmit(struct sk_buff *sk
+ 	((struct net_device_stats *) dev->priv)->tx_packets++;
+         ((struct net_device_stats *) dev->priv)->tx_bytes+=skb->len;
+ 
+-        if(aarp_send_ddp(rt->dev, skb, &rt->at, NULL) < 0)
+-                dev_kfree_skb(skb);
++	aarp_send_ddp(rt->dev, skb, &rt->at, NULL);
+ 
+         return 0;
+ }
+diff -urpN linux-source-2.6.26.orig/net/appletalk/aarp.c linux-source-2.6.26/net/appletalk/aarp.c
+--- linux-source-2.6.26.orig/net/appletalk/aarp.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/appletalk/aarp.c	2009-09-16 00:03:40.000000000 -0600
+@@ -598,7 +598,7 @@ int aarp_send_ddp(struct net_device *dev
+ 
+ 	/* Non ELAP we cannot do. */
+ 	if (dev->type != ARPHRD_ETHER)
+-		return -1;
++		goto free_it;
+ 
+ 	skb->dev = dev;
+ 	skb->protocol = htons(ETH_P_ATALK);
+@@ -633,7 +633,7 @@ int aarp_send_ddp(struct net_device *dev
+ 	if (!a) {
+ 		/* Whoops slipped... good job it's an unreliable protocol 8) */
+ 		write_unlock_bh(&aarp_lock);
+-		return -1;
++		goto free_it;
+ 	}
+ 
+ 	/* Set up the queue */
+@@ -662,14 +662,19 @@ out_unlock:
+ 	write_unlock_bh(&aarp_lock);
+ 
+ 	/* Tell the ddp layer we have taken over for this frame. */
+-	return 0;
++	goto sent;
+ 
+ sendit:
+ 	if (skb->sk)
+ 		skb->priority = skb->sk->sk_priority;
+-	dev_queue_xmit(skb);
++	if (dev_queue_xmit(skb))
++		goto drop;
+ sent:
+-	return 1;
++	return NET_XMIT_SUCCESS;
++free_it:
++	kfree_skb(skb);
++drop:
++	return NET_XMIT_DROP;
+ }
+ 
+ /*
+diff -urpN linux-source-2.6.26.orig/net/appletalk/ddp.c linux-source-2.6.26/net/appletalk/ddp.c
+--- linux-source-2.6.26.orig/net/appletalk/ddp.c	2009-09-16 00:03:02.000000000 -0600
++++ linux-source-2.6.26/net/appletalk/ddp.c	2009-09-16 00:03:40.000000000 -0600
+@@ -1276,8 +1276,10 @@ static int handle_ip_over_ddp(struct sk_
+ 	struct net_device_stats *stats;
+ 
+ 	/* This needs to be able to handle ipddp"N" devices */
+-	if (!dev)
+-		return -ENODEV;
++	if (!dev) {
++		kfree_skb(skb);
++		return NET_RX_DROP;
++	}
+ 
+ 	skb->protocol = htons(ETH_P_IP);
+ 	skb_pull(skb, 13);
+@@ -1287,8 +1289,7 @@ static int handle_ip_over_ddp(struct sk_
+ 	stats = dev->priv;
+ 	stats->rx_packets++;
+ 	stats->rx_bytes += skb->len + 13;
+-	netif_rx(skb);  /* Send the SKB up to a higher place. */
+-	return 0;
++	return netif_rx(skb);  /* Send the SKB up to a higher place. */
+ }
+ #else
+ /* make it easy for gcc to optimize this test out, i.e. kill the code */
+@@ -1296,9 +1297,8 @@ static int handle_ip_over_ddp(struct sk_
+ #define handle_ip_over_ddp(skb) 0
+ #endif
+ 
+-static void atalk_route_packet(struct sk_buff *skb, struct net_device *dev,
+-			       struct ddpehdr *ddp, __u16 len_hops,
+-			       int origlen)
++static int atalk_route_packet(struct sk_buff *skb, struct net_device *dev,
++			      struct ddpehdr *ddp, __u16 len_hops, int origlen)
+ {
+ 	struct atalk_route *rt;
+ 	struct atalk_addr ta;
+@@ -1365,8 +1365,6 @@ static void atalk_route_packet(struct sk
+ 		/* 22 bytes - 12 ether, 2 len, 3 802.2 5 snap */
+ 		struct sk_buff *nskb = skb_realloc_headroom(skb, 32);
+ 		kfree_skb(skb);
+-		if (!nskb)
+-			goto out;
+ 		skb = nskb;
+ 	} else
+ 		skb = skb_unshare(skb, GFP_ATOMIC);
+@@ -1375,12 +1373,16 @@ static void atalk_route_packet(struct sk
+ 	 * If the buffer didn't vanish into the lack of space bitbucket we can
+ 	 * send it.
+ 	 */
+-	if (skb && aarp_send_ddp(rt->dev, skb, &ta, NULL) == -1)
+-		goto free_it;
+-out:
+-	return;
++	if (skb == NULL)
++		goto drop;
++
++	if (aarp_send_ddp(rt->dev, skb, &ta, NULL) == NET_XMIT_DROP)
++		return NET_RX_DROP;
++	return NET_XMIT_SUCCESS;
+ free_it:
+ 	kfree_skb(skb);
++drop:
++	return NET_RX_DROP;
+ }
+ 
+ /**
+@@ -1454,8 +1456,7 @@ static int atalk_rcv(struct sk_buff *skb
+ 		/* Not ours, so we route the packet via the correct
+ 		 * AppleTalk iface
+ 		 */
+-		atalk_route_packet(skb, dev, ddp, len_hops, origlen);
+-		return NET_RX_SUCCESS;
++		return atalk_route_packet(skb, dev, ddp, len_hops, origlen);
+ 	}
+ 
+ 	/* if IP over DDP is not selected this code will be optimized out */
+@@ -1665,10 +1666,10 @@ static int atalk_sendmsg(struct kiocb *i
+ 		if (skb2) {
+ 			loopback = 1;
+ 			SOCK_DEBUG(sk, "SK %p: send out(copy).\n", sk);
+-			if (aarp_send_ddp(dev, skb2,
+-					  &usat->sat_addr, NULL) == -1)
+-				kfree_skb(skb2);
+-				/* else queued/sent above in the aarp queue */
++			/*
++			 * If it fails it is queued/sent above in the aarp queue
++			 */
++			aarp_send_ddp(dev, skb2, &usat->sat_addr, NULL);
+ 		}
+ 	}
+ 
+@@ -1698,9 +1699,10 @@ static int atalk_sendmsg(struct kiocb *i
+ 		    usat = &gsat;
+ 		}
+ 
+-		if (aarp_send_ddp(dev, skb, &usat->sat_addr, NULL) == -1)
+-			kfree_skb(skb);
+-		/* else queued/sent above in the aarp queue */
++		/*
++		 * If it fails it is queued/sent above in the aarp queue
++		 */
++		aarp_send_ddp(dev, skb, &usat->sat_addr, NULL);
+ 	}
+ 	SOCK_DEBUG(sk, "SK %p: Done write (%Zd).\n", sk, len);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/appletalk-use-correct-returns-for-atalk_rcv.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/appletalk-use-correct-returns-for-atalk_rcv.patch
@@ -0,0 +1,99 @@
+commit 6885ffb3a1b4abf731fd0891a2c1544a83c2651d
+Author: Mark Smith <lk-netdev@lk-netdev.nosense.org>
+Date:   Thu Aug 6 23:21:22 2009 +0000
+
+    Use correct NET_RX_* returns for atalk_rcv()
+    
+    In all rx'd SKB cases, atalk_rcv() either eventually jumps to or falls through
+        to the label out:, which  returns numeric 0. Numeric 0 corresponds to
+        NET_RX_SUCCESS, which is incorrect in failed SKB cases.
+    
+        This patch makes atalk_rcv() provide the correct returns by:
+    
+        o  explicitly returning NET_RX_SUCCESS in the two success cases
+        o  having the out: label return NET_RX_DROP, instead of numeric 0
+        o  making the failed SKB labels and processing more consistent with other
+           _rcv() routines in the kernel, simplifying validation and removing a
+           backwards goto
+    
+    Signed-off-by: Mark Smith <markzzzsmith@yahoo.com.au>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/net/appletalk/ddp.c linux-source-2.6.26/net/appletalk/ddp.c
+--- linux-source-2.6.26.orig/net/appletalk/ddp.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/appletalk/ddp.c	2009-09-15 22:35:19.000000000 -0600
+@@ -1406,7 +1406,7 @@ static int atalk_rcv(struct sk_buff *skb
+ 	__u16 len_hops;
+ 
+ 	if (dev_net(dev) != &init_net)
+-		goto freeit;
++		goto drop;
+ 
+ 	/* Don't mangle buffer if shared */
+ 	if (!(skb = skb_share_check(skb, GFP_ATOMIC)))
+@@ -1414,7 +1414,7 @@ static int atalk_rcv(struct sk_buff *skb
+ 
+ 	/* Size check and make sure header is contiguous */
+ 	if (!pskb_may_pull(skb, sizeof(*ddp)))
+-		goto freeit;
++		goto drop;
+ 
+ 	ddp = ddp_hdr(skb);
+ 
+@@ -1432,7 +1432,7 @@ static int atalk_rcv(struct sk_buff *skb
+ 	if (skb->len < sizeof(*ddp) || skb->len < (len_hops & 1023)) {
+ 		pr_debug("AppleTalk: dropping corrupted frame (deh_len=%u, "
+ 			 "skb->len=%u)\n", len_hops & 1023, skb->len);
+-		goto freeit;
++		goto drop;
+ 	}
+ 
+ 	/*
+@@ -1442,7 +1442,7 @@ static int atalk_rcv(struct sk_buff *skb
+ 	if (ddp->deh_sum &&
+ 	    atalk_checksum(skb, len_hops & 1023) != ddp->deh_sum)
+ 		/* Not a valid AppleTalk frame - dustbin time */
+-		goto freeit;
++		goto drop;
+ 
+ 	/* Check the packet is aimed at us */
+ 	if (!ddp->deh_dnet)	/* Net 0 is 'this network' */
+@@ -1455,7 +1455,7 @@ static int atalk_rcv(struct sk_buff *skb
+ 		 * AppleTalk iface
+ 		 */
+ 		atalk_route_packet(skb, dev, ddp, len_hops, origlen);
+-		goto out;
++		return NET_RX_SUCCESS;
+ 	}
+ 
+ 	/* if IP over DDP is not selected this code will be optimized out */
+@@ -1471,18 +1471,21 @@ static int atalk_rcv(struct sk_buff *skb
+ 
+ 	sock = atalk_search_socket(&tosat, atif);
+ 	if (!sock) /* But not one of our sockets */
+-		goto freeit;
++		goto drop;
+ 
+ 	/* Queue packet (standard) */
+ 	skb->sk = sock;
+ 
+ 	if (sock_queue_rcv_skb(sock, skb) < 0)
+-		goto freeit;
+-out:
+-	return 0;
+-freeit:
++		goto drop;
++
++	return NET_RX_SUCCESS;
++
++drop:
+ 	kfree_skb(skb);
+-	goto out;
++out:
++	return NET_RX_DROP;
++
+ }
+ 
+ /*
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ata-pata_marvell-vs-ahci.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ata-pata_marvell-vs-ahci.patch
@@ -0,0 +1,195 @@
+commit 5b66c829bf5c65663b2f68ee6b42f6e834cd39cd
+Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Date:   Wed Sep 3 14:48:34 2008 +0100
+
+    ahci, pata_marvell: play nicely together
+    
+    I've been chasing Jeff about this for months.  Jeff added the Marvell
+    device identifiers to the ahci driver without making the AHCI driver
+    handle the PATA port. This means a lot of users can't use current
+    kernels and in most distro cases can't even install.
+    
+    This has been going on since March 2008 for the 6121 Marvell, and late 2007
+    for the 6145!!!
+    
+    This was all pointed out at the time and repeatedly ignored. Bugs assigned
+    to Jeff about this are ignored also.
+    
+    To quote Jeff in email
+    
+    > "Just switch the order of 'ahci' and 'pata_marvell' in
+    > /etc/modprobe.conf, then use Fedora's tools regenerate the initrd.
+    
+    > See?  It's not rocket science, and the current configuration can be
+    > easily made to work for Fedora users."
+    
+    (Which isn't trivial, isn't end user, shouldn't be needed, and as it usually
+    breaks at install time is in fact impossible)
+    
+    To quote Jeff in August 2007
+    
+    > "   mv-ahci-pata
+    > Marvell 6121/6141 PATA support.  Needs fixing in the 'PATA controller
+    > command' area before it is usable, and can go upstream."
+    
+    Only he add the ids anyway later and caused regressions, adding a further
+    id in March causing more regresions.
+    
+    The actual fix for the moment is very simple. If the user has included
+    the pata_marvell driver let it drive the ports. If they've only selected
+    for SATA support give them the AHCI driver which will run the port a fraction
+    faster. Allow the user to control this decision via ahci.marvell_enable as
+    a module parameter so that distributions can ship 'it works' defaults and
+    smarter users (or config tools) can then flip it over it desired.
+    
+    Signed-off-by: Alan Cox <alan@redhat.com>
+    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+
+diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
+index ae84949..11c8c19 100644
+--- a/drivers/ata/Kconfig
++++ b/drivers/ata/Kconfig
+@@ -448,8 +448,10 @@ config PATA_MARVELL
+ 	tristate "Marvell PATA support via legacy mode"
+ 	depends on PCI
+ 	help
+-	  This option enables limited support for the Marvell 88SE6145 ATA
+-	  controller.
++	  This option enables limited support for the Marvell 88SE61xx ATA
++	  controllers. If you wish to use only the SATA ports then select
++	  the AHCI driver alone. If you wish to the use the PATA port or
++	  both SATA and PATA include this driver.
+ 
+ 	  If unsure, say N.
+ 
+diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
+index c729e69..bce26ee 100644
+--- a/drivers/ata/ahci.c
++++ b/drivers/ata/ahci.c
+@@ -610,6 +610,15 @@ module_param(ahci_em_messages, int, 0444);
+ };
+ 
+ 
++#if defined(CONFIG_PATA_MARVELL) || defined(CONFIG_PATA_MARVELL_MODULE)
++static int marvell_enable;
++#else
++static int marvell_enable = 1;
++#endif
++module_param(marvell_enable, int, 0644);
++MODULE_PARM_DESC(marvell_enable, "Marvell SATA via AHCI (1 = enabled)");
++
++
+ static inline int ahci_nr_ports(u32 cap)
+ {
+ 	return (cap & 0x1f) + 1;
+@@ -732,6 +741,8 @@ static void ahci_save_initial_config(struct pci_dev *pdev,
+ 			   "MV_AHCI HACK: port_map %x -> %x\n",
+ 			   port_map,
+ 			   port_map & mv);
++		dev_printk(KERN_ERR, &pdev->dev,
++			  "Disabling your PATA port. Use the boot option 'ahci.marvell_enable=0' to avoid this.\n");
+ 
+ 		port_map &= mv;
+ 	}
+@@ -2533,6 +2544,12 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	if (!printed_version++)
+ 		dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");
+ 
++	/* The AHCI driver can only drive the SATA ports, the PATA driver
++	   can drive them all so if both drivers are selected make sure
++	   AHCI stays out of the way */
++	if (pdev->vendor == PCI_VENDOR_ID_MARVELL && !marvell_enable)
++		return -ENODEV;
++
+ 	/* acquire resources */
+ 	rc = pcim_enable_device(pdev);
+ 	if (rc)
+diff --git a/drivers/ata/pata_marvell.c b/drivers/ata/pata_marvell.c
+index 24a011b..0d87eec 100644
+--- a/drivers/ata/pata_marvell.c
++++ b/drivers/ata/pata_marvell.c
+@@ -20,29 +20,30 @@
+ #include <linux/ata.h>
+ 
+ #define DRV_NAME	"pata_marvell"
+-#define DRV_VERSION	"0.1.4"
++#define DRV_VERSION	"0.1.6"
+ 
+ /**
+- *	marvell_pre_reset	-	check for 40/80 pin
+- *	@link: link
+- *	@deadline: deadline jiffies for the operation
++ *	marvell_pata_active	-	check if PATA is active
++ *	@pdev: PCI device
+  *
+- *	Perform the PATA port setup we need.
++ *	Returns 1 if the PATA port may be active. We know how to check this
++ *	for the 6145 but not the other devices
+  */
+ 
+-static int marvell_pre_reset(struct ata_link *link, unsigned long deadline)
++static int marvell_pata_active(struct pci_dev *pdev)
+ {
+-	struct ata_port *ap = link->ap;
+-	struct pci_dev *pdev = to_pci_dev(ap->host->dev);
++	int i;
+ 	u32 devices;
+ 	void __iomem *barp;
+-	int i;
+ 
+-	/* Check if our port is enabled */
++	/* We don't yet know how to do this for other devices */
++	if (pdev->device != 0x6145)
++		return 1;	
+ 
+ 	barp = pci_iomap(pdev, 5, 0x10);
+ 	if (barp == NULL)
+ 		return -ENOMEM;
++
+ 	printk("BAR5:");
+ 	for(i = 0; i <= 0x0F; i++)
+ 		printk("%02X:%02X ", i, ioread8(barp + i));
+@@ -51,9 +52,27 @@ static int marvell_pre_reset(struct ata_link *link, unsigned long deadline)
+ 	devices = ioread32(barp + 0x0C);
+ 	pci_iounmap(pdev, barp);
+ 
+-	if ((pdev->device == 0x6145) && (ap->port_no == 0) &&
+-	    (!(devices & 0x10)))	/* PATA enable ? */
+-		return -ENOENT;
++	if (devices & 0x10)
++		return 1;
++	return 0;
++}
++
++/**
++ *	marvell_pre_reset	-	check for 40/80 pin
++ *	@link: link
++ *	@deadline: deadline jiffies for the operation
++ *
++ *	Perform the PATA port setup we need.
++ */
++
++static int marvell_pre_reset(struct ata_link *link, unsigned long deadline)
++{
++	struct ata_port *ap = link->ap;
++	struct pci_dev *pdev = to_pci_dev(ap->host->dev);
++
++	if (pdev->device == 0x6145 && ap->port_no == 0 &&
++		!marvell_pata_active(pdev))	/* PATA enable ? */
++			return -ENOENT;
+ 
+ 	return ata_sff_prereset(link, deadline);
+ }
+@@ -128,6 +147,12 @@ static int marvell_init_one (struct pci_dev *pdev, const struct pci_device_id *i
+ 	if (pdev->device == 0x6101)
+ 		ppi[1] = &ata_dummy_port_info;
+ 
++#if defined(CONFIG_AHCI) || defined(CONFIG_AHCI_MODULE)
++	if (!marvell_pata_active(pdev)) {
++		printk(KERN_INFO DRV_NAME ": PATA port not active, deferring to AHCI driver.\n");
++		return -ENODEV;
++	}
++#endif
+ 	return ata_pci_sff_init_one(pdev, ppi, &marvell_sht, NULL);
+ }
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/can-fix-raw_getname-leak.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/can-fix-raw_getname-leak.patch
@@ -0,0 +1,27 @@
+commit e84b90ae5eb3c112d1f208964df1d8156a538289
+Author: Eric Dumazet <eric.dumazet@gmail.com>
+Date:   Thu Aug 6 20:27:04 2009 +0000
+
+    can: Fix raw_getname() leak
+    
+    raw_getname() can leak 10 bytes of kernel memory to user
+    
+    (two bytes hole between can_family and can_ifindex,
+    8 bytes at the end of sockaddr_can structure)
+    
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Acked-by: Oliver Hartkopp <oliver@hartkopp.net>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/can/raw.c b/net/can/raw.c
+index f4cc445..db3152d 100644
+--- a/net/can/raw.c
++++ b/net/can/raw.c
+@@ -401,6 +401,7 @@ static int raw_getname(struct socket *sock, struct sockaddr *uaddr,
+ 	if (peer)
+ 		return -EOPNOTSUPP;
+ 
++	memset(addr, 0, sizeof(*addr));
+ 	addr->can_family  = AF_CAN;
+ 	addr->can_ifindex = ro->ifindex;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/atl1e_config_pm.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/atl1e_config_pm.patch
@@ -0,0 +1,30 @@
+From: Jeff Garzik <jeff@garzik.org>
+Date: Wed, 23 Jul 2008 01:17:38 +0000 (-0400)
+Subject: [netdrvr] atl1d: fix !CONFIG_PM build
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=d6f8aa8586dabe605454f3c98a5c1a577c3e0cfb
+
+[netdrvr] atl1d: fix !CONFIG_PM build
+
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+---
+
+diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c
+index 367c727..35264c2 100644
+--- a/drivers/net/atl1e/atl1e_main.c
++++ b/drivers/net/atl1e/atl1e_main.c
+@@ -2073,7 +2073,6 @@ static int atl1e_close(struct net_device *netdev)
+ 	return 0;
+ }
+ 
+-#ifdef CONFIG_PM
+ static int atl1e_suspend(struct pci_dev *pdev, pm_message_t state)
+ {
+ 	struct net_device *netdev = pci_get_drvdata(pdev);
+@@ -2207,6 +2206,7 @@ suspend_exit:
+ 	return 0;
+ }
+ 
++#ifdef CONFIG_PM
+ static int atl1e_resume(struct pci_dev *pdev)
+ {
+ 	struct net_device *netdev = pci_get_drvdata(pdev);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cifs-fix-unicode-string-area-word-alignment-in-session-setup.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cifs-fix-unicode-string-area-word-alignment-in-session-setup.patch
@@ -0,0 +1,116 @@
+commit 27b87fe52baba0a55e9723030e76fce94fabcea4
+Author: Jeff Layton <jlayton@redhat.com>
+Date:   Tue Apr 14 11:00:53 2009 -0400
+
+    cifs: fix unicode string area word alignment in session setup
+    
+    The handling of unicode string area alignment is wrong.
+    decode_unicode_ssetup improperly assumes that it will always be preceded
+    by a pad byte. This isn't the case if the string area is already
+    word-aligned.
+    
+    This problem, combined with the bad buffer sizing for the serverDomain
+    string can cause memory corruption. The bad alignment can make it so
+    that the alignment of the characters is off. This can make them
+    translate to characters that are greater than 2 bytes each. If this
+    happens we can overflow the allocation.
+    
+    Fix this by fixing the alignment in CIFS_SessSetup instead so we can
+    verify it against the head of the response. Also, clean up the
+    workaround for improperly terminated strings by checking for a
+    odd-length unicode buffers and then forcibly terminating them.
+    
+    Finally, resize the buffer for serverDomain. Now that we've fixed
+    the alignment, it's probably fine, but a malicious server could
+    overflow it.
+    
+    A better solution for handling these strings is still needed, but
+    this should be a suitable bandaid.
+    
+    Signed-off-by: Jeff Layton <jlayton@redhat.com>
+    CC: Stable <stable@vger.kernel.org>
+    Signed-off-by: Steve French <sfrench@us.ibm.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/cifs/sess.c linux-source-2.6.26/fs/cifs/sess.c
+--- linux-source-2.6.26.orig/fs/cifs/sess.c	2009-05-11 12:06:56.000000000 -0600
++++ linux-source-2.6.26/fs/cifs/sess.c	2009-05-25 23:24:01.000000000 -0600
+@@ -202,27 +202,26 @@ static int decode_unicode_ssetup(char **
+ 	int words_left, len;
+ 	char *data = *pbcc_area;
+ 
+-
+-
+ 	cFYI(1, ("bleft %d", bleft));
+ 
+-
+-	/* SMB header is unaligned, so cifs servers word align start of
+-	   Unicode strings */
+-	data++;
+-	bleft--; /* Windows servers do not always double null terminate
+-		    their final Unicode string - in which case we
+-		    now will not attempt to decode the byte of junk
+-		    which follows it */
++	/*
++	 * Windows servers do not always double null terminate their final
++	 * Unicode string. Check to see if there are an uneven number of bytes
++	 * left. If so, then add an extra NULL pad byte to the end of the
++	 * response.
++	 *
++	 * See section 2.7.2 in "Implementing CIFS" for details
++	 */
++	if (bleft % 2) {
++		data[bleft] = 0;
++		++bleft;
++	}
+ 
+ 	words_left = bleft / 2;
+ 
+ 	/* save off server operating system */
+ 	len = UniStrnlen((wchar_t *) data, words_left);
+ 
+-/* We look for obvious messed up bcc or strings in response so we do not go off
+-   the end since (at least) WIN2K and Windows XP have a major bug in not null
+-   terminating last Unicode string in response  */
+ 	if (len >= words_left)
+ 		return rc;
+ 
+@@ -260,13 +259,10 @@ static int decode_unicode_ssetup(char **
+ 		return rc;
+ 
+ 	kfree(ses->serverDomain);
+-	ses->serverDomain = kzalloc(2 * (len + 1), GFP_KERNEL); /* BB FIXME wrong length */
+-	if (ses->serverDomain != NULL) {
++	ses->serverDomain = kzalloc((4 * len) + 2, GFP_KERNEL);
++	if (ses->serverDomain != NULL)
+ 		cifs_strfromUCS_le(ses->serverDomain, (__le16 *)data, len,
+ 				   nls_cp);
+-		ses->serverDomain[2*len] = 0;
+-		ses->serverDomain[(2*len) + 1] = 0;
+-	}
+ 	data += 2 * (len + 1);
+ 	words_left -= len + 1;
+ 
+@@ -605,12 +601,18 @@ CIFS_SessSetup(unsigned int xid, struct 
+ 	}
+ 
+ 	/* BB check if Unicode and decode strings */
+-	if (smb_buf->Flags2 & SMBFLG2_UNICODE)
++	if (smb_buf->Flags2 & SMBFLG2_UNICODE) {
++		/* unicode string area must be word-aligned */
++		if (((unsigned long) bcc_ptr - (unsigned long) smb_buf) % 2) {
++			++bcc_ptr;
++			--bytes_remaining;
++		}
+ 		rc = decode_unicode_ssetup(&bcc_ptr, bytes_remaining,
+-						   ses, nls_cp);
+-	else
++					   ses, nls_cp);
++	} else {
+ 		rc = decode_ascii_ssetup(&bcc_ptr, bytes_remaining,
+ 					 ses, nls_cp);
++	}
+ 
+ ssetup_exit:
+ 	if (spnego_key)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/atm-duplicate-listen-on-socket-corrupts-the-vcc-table.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/atm-duplicate-listen-on-socket-corrupts-the-vcc-table.patch
@@ -0,0 +1,37 @@
+commit 17b24b3c97498935a2ef9777370b1151dfed3f6f
+Author: Chas Williams <chas@cmf.nrl.navy.mil>
+Date:   Thu Dec 4 14:58:13 2008 -0800
+
+    ATM: CVE-2008-5079: duplicate listen() on socket corrupts the vcc table
+    
+    As reported by Hugo Dias that it is possible to cause a local denial
+    of service attack by calling the svc_listen function twice on the same
+    socket and reading /proc/net/atm/*vc
+    
+    Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/atm/svc.c b/net/atm/svc.c
+index de1e4f2..8fb54dc 100644
+--- a/net/atm/svc.c
++++ b/net/atm/svc.c
+@@ -293,7 +293,10 @@ static int svc_listen(struct socket *sock,int backlog)
+ 		error = -EINVAL;
+ 		goto out;
+ 	}
+-	vcc_insert_socket(sk);
++	if (test_bit(ATM_VF_LISTEN, &vcc->flags)) {
++		error = -EADDRINUSE;
++		goto out;
++        }
+ 	set_bit(ATM_VF_WAITING, &vcc->flags);
+ 	prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE);
+ 	sigd_enq(vcc,as_listen,NULL,NULL,&vcc->local);
+@@ -307,6 +310,7 @@ static int svc_listen(struct socket *sock,int backlog)
+ 		goto out;
+ 	}
+ 	set_bit(ATM_VF_LISTEN,&vcc->flags);
++	vcc_insert_socket(sk);
+ 	sk->sk_max_ack_backlog = backlog > 0 ? backlog : ATM_BACKLOG_DEFAULT;
+ 	error = -sk->sk_err;
+ out:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/atyfb-fix-display-corruption-on-ppc.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/atyfb-fix-display-corruption-on-ppc.patch
@@ -0,0 +1,54 @@
+From: Risto Suominen <Risto.Suominen@gmail.com>
+Date: Tue, 13 Jan 2009 20:09:30 +0000 (+0000)
+Subject: fbdev/atyfb: Fix DSP config on some PowerMacs & PowerBooks
+X-Git-Tag: v2.6.29-rc4~67^2
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=7fbb7cadd062baf299fd8b26a80ea99da0c3fe01;hp=59b608c2c33feacc8be281ec3ba9ca2a3a5cb9a7
+
+fbdev/atyfb: Fix DSP config on some PowerMacs & PowerBooks
+
+Since the complete re-write in 2.6.10, some PowerMacs (At least PowerMac 5500
+and PowerMac G3 Beige rev A) with ATI Mach64 chip have suffered from unstable
+columns in their framebuffer image. This seems to depend on a value (4) read
+from PLL_EXT_CNTL register, which leads to incorrect DSP config parameters to
+be written to the chip. This patch uses a value calculated by aty_init_pll_ct
+instead, as a starting point.
+
+There are questions as to whether this should be extended to other platforms
+or maybe made dependent on specific chip types, but in the meantime, this has
+been tested on various powermacs and works for them so let's commit it.
+
+Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
+Tested-by: Michael Pettersson <mike@it.uu.se>
+Cc: <stable@kernel.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+---
+
+diff --git a/drivers/video/aty/mach64_ct.c b/drivers/video/aty/mach64_ct.c
+index c50c7cf..2745b85 100644
+--- a/drivers/video/aty/mach64_ct.c
++++ b/drivers/video/aty/mach64_ct.c
+@@ -8,6 +8,9 @@
+ #include <asm/io.h>
+ #include <video/mach64.h>
+ #include "atyfb.h"
++#ifdef CONFIG_PPC
++#include <asm/machdep.h>
++#endif
+ 
+ #undef DEBUG
+ 
+@@ -536,6 +539,14 @@ static int __devinit aty_init_pll_ct(const struct fb_info *info,
+ 	pll->ct.xclk_post_div_real = postdividers[xpost_div];
+ 	pll->ct.mclk_fb_div = q * pll->ct.xclk_post_div_real / 8;
+ 
++#ifdef CONFIG_PPC
++	if (machine_is(powermac)) {
++		/* Override PLL_EXT_CNTL & 0x07. */
++		pll->ct.xclk_post_div = xpost_div;
++		pll->ct.xclk_ref_div = 1;
++	}
++#endif
++
+ #ifdef DEBUG
+ 	pllmclk = (1000000 * pll->ct.mclk_fb_mult * pll->ct.mclk_fb_div) /
+ 			(par->ref_clk_per * pll->ct.pll_ref_div);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/autofs4-dont-make-expiring-dentry-negative.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/autofs4-dont-make-expiring-dentry-negative.patch
@@ -0,0 +1,297 @@
+commit 5f6f4f28b6ba543beef8bad91aa6f69c7ffeee51
+Author: Ian Kent <raven@themaw.net>
+Date:   Wed Jul 23 21:30:09 2008 -0700
+
+    autofs4: don't make expiring dentry negative
+    
+    Correct the error of making a positive dentry negative after it has been
+    instantiated.
+    
+    The code that makes this error attempts to re-use the dentry from a
+    concurrent expire and mount to resolve a race and the dentry used for the
+    lookup must be negative for mounts to trigger in the required cases.  The
+    fact is that the dentry doesn't need to be re-used because all that is
+    needed is to preserve the flag that indicates an expire is still
+    incomplete at the time of the mount request.
+    
+    This change uses the the dentry to check the flag and wait for the expire
+    to complete then discards it instead of attempting to re-use it.
+    
+    Signed-off-by: Ian Kent <raven@themaw.net>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/fs/autofs4/autofs_i.h b/fs/autofs4/autofs_i.h
+index c3d352d..69b1497 100644
+--- a/fs/autofs4/autofs_i.h
++++ b/fs/autofs4/autofs_i.h
+@@ -52,7 +52,7 @@ struct autofs_info {
+ 
+ 	int		flags;
+ 
+-	struct list_head rehash;
++	struct list_head expiring;
+ 
+ 	struct autofs_sb_info *sbi;
+ 	unsigned long last_used;
+@@ -112,8 +112,8 @@ struct autofs_sb_info {
+ 	struct mutex wq_mutex;
+ 	spinlock_t fs_lock;
+ 	struct autofs_wait_queue *queues; /* Wait queue pointer */
+-	spinlock_t rehash_lock;
+-	struct list_head rehash_list;
++	spinlock_t lookup_lock;
++	struct list_head expiring_list;
+ };
+ 
+ static inline struct autofs_sb_info *autofs4_sbi(struct super_block *sb)
+diff --git a/fs/autofs4/inode.c b/fs/autofs4/inode.c
+index 2fdcf5e..94bfc15 100644
+--- a/fs/autofs4/inode.c
++++ b/fs/autofs4/inode.c
+@@ -47,7 +47,7 @@ struct autofs_info *autofs4_init_ino(struct autofs_info *ino,
+ 	ino->dentry = NULL;
+ 	ino->size = 0;
+ 
+-	INIT_LIST_HEAD(&ino->rehash);
++	INIT_LIST_HEAD(&ino->expiring);
+ 
+ 	ino->last_used = jiffies;
+ 	atomic_set(&ino->count, 0);
+@@ -338,8 +338,8 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
+ 	mutex_init(&sbi->wq_mutex);
+ 	spin_lock_init(&sbi->fs_lock);
+ 	sbi->queues = NULL;
+-	spin_lock_init(&sbi->rehash_lock);
+-	INIT_LIST_HEAD(&sbi->rehash_list);
++	spin_lock_init(&sbi->lookup_lock);
++	INIT_LIST_HEAD(&sbi->expiring_list);
+ 	s->s_blocksize = 1024;
+ 	s->s_blocksize_bits = 10;
+ 	s->s_magic = AUTOFS_SUPER_MAGIC;
+diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
+index edf5b6b..9ead227 100644
+--- a/fs/autofs4/root.c
++++ b/fs/autofs4/root.c
+@@ -493,10 +493,10 @@ void autofs4_dentry_release(struct dentry *de)
+ 		struct autofs_sb_info *sbi = autofs4_sbi(de->d_sb);
+ 
+ 		if (sbi) {
+-			spin_lock(&sbi->rehash_lock);
+-			if (!list_empty(&inf->rehash))
+-				list_del(&inf->rehash);
+-			spin_unlock(&sbi->rehash_lock);
++			spin_lock(&sbi->lookup_lock);
++			if (!list_empty(&inf->expiring))
++				list_del(&inf->expiring);
++			spin_unlock(&sbi->lookup_lock);
+ 		}
+ 
+ 		inf->dentry = NULL;
+@@ -518,7 +518,7 @@ static struct dentry_operations autofs4_dentry_operations = {
+ 	.d_release	= autofs4_dentry_release,
+ };
+ 
+-static struct dentry *autofs4_lookup_unhashed(struct autofs_sb_info *sbi, struct dentry *parent, struct qstr *name)
++static struct dentry *autofs4_lookup_expiring(struct autofs_sb_info *sbi, struct dentry *parent, struct qstr *name)
+ {
+ 	unsigned int len = name->len;
+ 	unsigned int hash = name->hash;
+@@ -526,14 +526,14 @@ static struct dentry *autofs4_lookup_unhashed(struct autofs_sb_info *sbi, struct
+ 	struct list_head *p, *head;
+ 
+ 	spin_lock(&dcache_lock);
+-	spin_lock(&sbi->rehash_lock);
+-	head = &sbi->rehash_list;
++	spin_lock(&sbi->lookup_lock);
++	head = &sbi->expiring_list;
+ 	list_for_each(p, head) {
+ 		struct autofs_info *ino;
+ 		struct dentry *dentry;
+ 		struct qstr *qstr;
+ 
+-		ino = list_entry(p, struct autofs_info, rehash);
++		ino = list_entry(p, struct autofs_info, expiring);
+ 		dentry = ino->dentry;
+ 
+ 		spin_lock(&dentry->d_lock);
+@@ -555,33 +555,16 @@ static struct dentry *autofs4_lookup_unhashed(struct autofs_sb_info *sbi, struct
+ 			goto next;
+ 
+ 		if (d_unhashed(dentry)) {
+-			struct inode *inode = dentry->d_inode;
+-
+-			ino = autofs4_dentry_ino(dentry);
+-			list_del_init(&ino->rehash);
+ 			dget(dentry);
+-			/*
+-			 * Make the rehashed dentry negative so the VFS
+-			 * behaves as it should.
+-			 */
+-			if (inode) {
+-				dentry->d_inode = NULL;
+-				list_del_init(&dentry->d_alias);
+-				spin_unlock(&dentry->d_lock);
+-				spin_unlock(&sbi->rehash_lock);
+-				spin_unlock(&dcache_lock);
+-				iput(inode);
+-				return dentry;
+-			}
+ 			spin_unlock(&dentry->d_lock);
+-			spin_unlock(&sbi->rehash_lock);
++			spin_unlock(&sbi->lookup_lock);
+ 			spin_unlock(&dcache_lock);
+ 			return dentry;
+ 		}
+ next:
+ 		spin_unlock(&dentry->d_lock);
+ 	}
+-	spin_unlock(&sbi->rehash_lock);
++	spin_unlock(&sbi->lookup_lock);
+ 	spin_unlock(&dcache_lock);
+ 
+ 	return NULL;
+@@ -591,7 +574,7 @@ next:
+ static struct dentry *autofs4_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
+ {
+ 	struct autofs_sb_info *sbi;
+-	struct dentry *unhashed;
++	struct dentry *expiring;
+ 	int oz_mode;
+ 
+ 	DPRINTK("name = %.*s",
+@@ -607,44 +590,44 @@ static struct dentry *autofs4_lookup(struct inode *dir, struct dentry *dentry, s
+ 	DPRINTK("pid = %u, pgrp = %u, catatonic = %d, oz_mode = %d",
+ 		 current->pid, task_pgrp_nr(current), sbi->catatonic, oz_mode);
+ 
+-	unhashed = autofs4_lookup_unhashed(sbi, dentry->d_parent, &dentry->d_name);
+-	if (!unhashed) {
+-		/*
+-		 * Mark the dentry incomplete but don't hash it. We do this
+-		 * to serialize our inode creation operations (symlink and
+-		 * mkdir) which prevents deadlock during the callback to
+-		 * the daemon. Subsequent user space lookups for the same
+-		 * dentry are placed on the wait queue while the daemon
+-		 * itself is allowed passage unresticted so the create
+-		 * operation itself can then hash the dentry. Finally,
+-		 * we check for the hashed dentry and return the newly
+-		 * hashed dentry.
+-		 */
+-		dentry->d_op = &autofs4_root_dentry_operations;
+-
+-		dentry->d_fsdata = NULL;
+-		d_instantiate(dentry, NULL);
+-	} else {
+-		struct autofs_info *ino = autofs4_dentry_ino(unhashed);
+-		DPRINTK("rehash %p with %p", dentry, unhashed);
++	expiring = autofs4_lookup_expiring(sbi, dentry->d_parent, &dentry->d_name);
++	if (expiring) {
++		struct autofs_info *ino = autofs4_dentry_ino(expiring);
+ 		/*
+ 		 * If we are racing with expire the request might not
+ 		 * be quite complete but the directory has been removed
+ 		 * so it must have been successful, so just wait for it.
+-		 * We need to ensure the AUTOFS_INF_EXPIRING flag is clear
+-		 * before continuing as revalidate may fail when calling
+-		 * try_to_fill_dentry (returning EAGAIN) if we don't.
+ 		 */
+ 		while (ino && (ino->flags & AUTOFS_INF_EXPIRING)) {
+ 			DPRINTK("wait for incomplete expire %p name=%.*s",
+-				unhashed, unhashed->d_name.len,
+-				unhashed->d_name.name);
+-			autofs4_wait(sbi, unhashed, NFY_NONE);
++				expiring, expiring->d_name.len,
++				expiring->d_name.name);
++			autofs4_wait(sbi, expiring, NFY_NONE);
+ 			DPRINTK("request completed");
+ 		}
+-		dentry = unhashed;
++		spin_lock(&sbi->lookup_lock);
++		if (!list_empty(&ino->expiring))
++			list_del_init(&ino->expiring);
++		spin_unlock(&sbi->lookup_lock);
++		dput(expiring);
+ 	}
+ 
++	/*
++	 * Mark the dentry incomplete but don't hash it. We do this
++	 * to serialize our inode creation operations (symlink and
++	 * mkdir) which prevents deadlock during the callback to
++	 * the daemon. Subsequent user space lookups for the same
++	 * dentry are placed on the wait queue while the daemon
++	 * itself is allowed passage unresticted so the create
++	 * operation itself can then hash the dentry. Finally,
++	 * we check for the hashed dentry and return the newly
++	 * hashed dentry.
++	 */
++	dentry->d_op = &autofs4_root_dentry_operations;
++
++	dentry->d_fsdata = NULL;
++	d_instantiate(dentry, NULL);
++
+ 	if (!oz_mode) {
+ 		spin_lock(&dentry->d_lock);
+ 		dentry->d_flags |= DCACHE_AUTOFS_PENDING;
+@@ -668,8 +651,6 @@ static struct dentry *autofs4_lookup(struct inode *dir, struct dentry *dentry, s
+ 			if (sigismember (sigset, SIGKILL) ||
+ 			    sigismember (sigset, SIGQUIT) ||
+ 			    sigismember (sigset, SIGINT)) {
+-			    if (unhashed)
+-				dput(unhashed);
+ 			    return ERR_PTR(-ERESTARTNOINTR);
+ 			}
+ 		}
+@@ -699,15 +680,9 @@ static struct dentry *autofs4_lookup(struct inode *dir, struct dentry *dentry, s
+ 		else
+ 			dentry = ERR_PTR(-ENOENT);
+ 
+-		if (unhashed)
+-			dput(unhashed);
+-
+ 		return dentry;
+ 	}
+ 
+-	if (unhashed)
+-		return dentry;
+-
+ 	return NULL;
+ }
+ 
+@@ -769,9 +744,8 @@ static int autofs4_dir_symlink(struct inode *dir,
+  * that the file no longer exists. However, doing that means that the
+  * VFS layer can turn the dentry into a negative dentry.  We don't want
+  * this, because the unlink is probably the result of an expire.
+- * We simply d_drop it and add it to a rehash candidates list in the
+- * super block, which allows the dentry lookup to reuse it retaining
+- * the flags, such as expire in progress, in case we're racing with expire.
++ * We simply d_drop it and add it to a expiring list in the super block,
++ * which allows the dentry lookup to check for an incomplete expire.
+  *
+  * If a process is blocked on the dentry waiting for the expire to finish,
+  * it will invalidate the dentry and try to mount with a new one.
+@@ -801,9 +775,9 @@ static int autofs4_dir_unlink(struct inode *dir, struct dentry *dentry)
+ 	dir->i_mtime = CURRENT_TIME;
+ 
+ 	spin_lock(&dcache_lock);
+-	spin_lock(&sbi->rehash_lock);
+-	list_add(&ino->rehash, &sbi->rehash_list);
+-	spin_unlock(&sbi->rehash_lock);
++	spin_lock(&sbi->lookup_lock);
++	list_add(&ino->expiring, &sbi->expiring_list);
++	spin_unlock(&sbi->lookup_lock);
+ 	spin_lock(&dentry->d_lock);
+ 	__d_drop(dentry);
+ 	spin_unlock(&dentry->d_lock);
+@@ -829,9 +803,9 @@ static int autofs4_dir_rmdir(struct inode *dir, struct dentry *dentry)
+ 		spin_unlock(&dcache_lock);
+ 		return -ENOTEMPTY;
+ 	}
+-	spin_lock(&sbi->rehash_lock);
+-	list_add(&ino->rehash, &sbi->rehash_list);
+-	spin_unlock(&sbi->rehash_lock);
++	spin_lock(&sbi->lookup_lock);
++	list_add(&ino->expiring, &sbi->expiring_list);
++	spin_unlock(&sbi->lookup_lock);
+ 	spin_lock(&dentry->d_lock);
+ 	__d_drop(dentry);
+ 	spin_unlock(&dentry->d_lock);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/axnet_cs-claim-netgear-fa411.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/axnet_cs-claim-netgear-fa411.patch
@@ -0,0 +1,99 @@
+From 208fbec5bec1de4fce48aab41efde11ba25ab04c Mon Sep 17 00:00:00 2001
+From: Cord Walter <cord.walter@gmx.de>
+Date: Thu, 20 Nov 2008 13:46:57 +0000
+Subject: [PATCH] axnet_cs / pcnet_cs: moving PCMCIA_DEVICE_PROD_ID for Netgear FA411
+
+Hi,
+
+after noticing that my Netgear FA411 (PCMCIA-NIC) [1] stopped working with
+the release of the 2.6.25 kernel (sidux-version), I checked the
+respective driver sources and noticed that the pcnet_cs driver bailed
+out with "use axnet_cs instead" for the Netgear FA411, but axnet_cs
+doesn't claim this ID.
+
+I compiled a kernel with the PCMCIA-ID for the netgear card moved to
+axnet_cs from pcnet_cs which worked. I then contacted sidux-kernel
+maintainer Stefan Lippers-Hollmann who turned the info into this patch
+and integrated it into the kernel:
+
+<http://svn.berlios.de/svnroot/repos/fullstory/linux-sidux-2.6/trunk/debian/patches/features/2.6.27.4_PCMCIA_move-PCMCIA-ID-for-Netgear-FA411-from-pcnet_cs-to-axnet_cs.patch>
+
+This works for me and AFAIK there were no reports of any breakage for
+other devices on sidux-support.
+
+This looks like a trivial patch, but since I have very limited
+experience with kernel modifications  I might be woefully wrong there.
+But if there are no side effects of this patch, is it possible to get it
+into the official kernel?
+
+I can provide more detailed information on the affected hardware if
+necessary.
+
+-cord
+
+[1]
+Socket 1 Device 0:      [axnet_cs]              (bus ID: 1.0)
+        Configuration:  state: on
+        Product Name:   NETGEAR FA411 Fast Ethernet
+        Identification: manf_id: 0x0149 card_id: 0x0411
+                        function: 6 (network)
+                        prod_id(1): "NETGEAR" (0x9aa79dc3)
+                        prod_id(2): "FA411" (0x40fad875)
+                        prod_id(3): "Fast Ethernet" (0xb4be14e3)
+                        prod_id(4): --- (---)
+
+From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
+Date: Sat, 1 Nov 2008 23:53:04 +0000
+Subject: PCMCIA: move PCMCIA ID for Netgear FA411 from pcnet_cs to axnet_cs:
+
+Since kernel 2.6.25, commit 61da96be07ec860e260ca4af0199b9d48d000b80
+(pcnet_cs: if AX88190-based card, printk "use axnet_cs instead" message.),
+pcnet_cs bails out with "use axnet_cs instead" for the Netgear FA411, but
+axnet_cs doesn't claim this ID.
+
+Socket 1 Device 0:      [axnet_cs]              (bus ID: 1.0)
+        Configuration:  state: on
+        Product Name:   NETGEAR FA411 Fast Ethernet
+        Identification: manf_id: 0x0149 card_id: 0x0411
+                        function: 6 (network)
+                        prod_id(1): "NETGEAR" (0x9aa79dc3)
+                        prod_id(2): "FA411" (0x40fad875)
+                        prod_id(3): "Fast Ethernet" (0xb4be14e3)
+                        prod_id(4): --- (---)
+
+Cc: stable <stable@kernel.org> [2.6.25, 2.6.26, 2.6.27]
+Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
+Signed-off-by: Cord Walter <qord@cwalter.net>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/pcmcia/axnet_cs.c |    1 +
+ drivers/net/pcmcia/pcnet_cs.c |    1 -
+ 2 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c
+index b37a498..713091e 100644
+--- a/drivers/net/pcmcia/axnet_cs.c
++++ b/drivers/net/pcmcia/axnet_cs.c
+@@ -779,6 +779,7 @@ static struct pcmcia_device_id axnet_ids[] = {
+ 	PCMCIA_DEVICE_PROD_ID12("IO DATA", "ETXPCM", 0x547e66dc, 0x233adac2),
+ 	PCMCIA_DEVICE_PROD_ID12("Linksys", "EtherFast 10/100 PC Card (PCMPC100 V3)", 0x0733cc81, 0x232019a8),
+ 	PCMCIA_DEVICE_PROD_ID12("MELCO", "LPC3-TX", 0x481e0094, 0xf91af609),
++	PCMCIA_DEVICE_PROD_ID12("NETGEAR", "FA411", 0x9aa79dc3, 0x40fad875),
+ 	PCMCIA_DEVICE_PROD_ID12("PCMCIA", "100BASE", 0x281f1c5d, 0x7c2add04),
+ 	PCMCIA_DEVICE_PROD_ID12("PCMCIA", "FastEtherCard", 0x281f1c5d, 0x7ef26116),
+ 	PCMCIA_DEVICE_PROD_ID12("PCMCIA", "FEP501", 0x281f1c5d, 0x2e272058),
+diff --git a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c
+index e40d630..ce486f0 100644
+--- a/drivers/net/pcmcia/pcnet_cs.c
++++ b/drivers/net/pcmcia/pcnet_cs.c
+@@ -1693,7 +1693,6 @@ static struct pcmcia_device_id pcnet_ids[] = {
+ 	PCMCIA_DEVICE_PROD_ID12("National Semiconductor", "InfoMover NE4100", 0x36e1191f, 0xa6617ec8),
+ 	PCMCIA_DEVICE_PROD_ID12("NEC", "PC-9801N-J12", 0x18df0ba0, 0xbc912d76),
+ 	PCMCIA_DEVICE_PROD_ID12("NETGEAR", "FA410TX", 0x9aa79dc3, 0x60e5bc0e),
+-	PCMCIA_DEVICE_PROD_ID12("NETGEAR", "FA411", 0x9aa79dc3, 0x40fad875),
+ 	PCMCIA_DEVICE_PROD_ID12("Network Everywhere", "Fast Ethernet 10/100 PC Card", 0x820a67b6, 0x31ed1a5f),
+ 	PCMCIA_DEVICE_PROD_ID12("NextCom K.K.", "Next Hawk", 0xaedaec74, 0xad050ef1),
+ 	PCMCIA_DEVICE_PROD_ID12("PCMCIA", "10/100Mbps Ethernet Card", 0x281f1c5d, 0x6e41773b),
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/capabilities-move-cap_file_mmap-to-commoncap.c.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/capabilities-move-cap_file_mmap-to-commoncap.c.patch
@@ -0,0 +1,91 @@
+commit 9c0d90103c7e0eb6e638e5b649e9f6d8d9c1b4b3
+Author: Eric Paris <eparis@redhat.com>
+Date:   Fri Jul 31 12:53:58 2009 -0400
+
+    Capabilities: move cap_file_mmap to commoncap.c
+    
+    Currently we duplicate the mmap_min_addr test in cap_file_mmap and in
+    security_file_mmap if !CONFIG_SECURITY.  This patch moves cap_file_mmap
+    into commoncap.c and then calls that function directly from
+    security_file_mmap ifndef CONFIG_SECURITY like all of the other capability
+    checks are done.
+    
+    Signed-off-by: Eric Paris <eparis@redhat.com>
+    Acked-by: Serge Hallyn <serue@us.ibm.com>
+    Signed-off-by: James Morris <jmorris@namei.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/security.h linux-source-2.6.26/include/linux/security.h
+--- linux-source-2.6.26.orig/include/linux/security.h	2009-09-30 09:13:56.000000000 -0600
++++ linux-source-2.6.26/include/linux/security.h	2009-09-30 09:14:23.000000000 -0600
+@@ -58,6 +58,9 @@ extern int cap_inode_setxattr(struct den
+ extern int cap_inode_removexattr(struct dentry *dentry, const char *name);
+ extern int cap_inode_need_killpriv(struct dentry *dentry);
+ extern int cap_inode_killpriv(struct dentry *dentry);
++extern int cap_file_mmap(struct file *file, unsigned long reqprot,
++			 unsigned long prot, unsigned long flags,
++			 unsigned long addr, unsigned long addr_only);
+ extern int cap_task_post_setuid(uid_t old_ruid, uid_t old_euid, uid_t old_suid, int flags);
+ extern void cap_task_reparent_to_init(struct task_struct *p);
+ extern int cap_task_prctl(int option, unsigned long arg2, unsigned long arg3,
+@@ -2135,9 +2138,7 @@ static inline int security_file_mmap(str
+ 				     unsigned long addr,
+ 				     unsigned long addr_only)
+ {
+-	if ((addr < mmap_min_addr) && !capable(CAP_SYS_RAWIO))
+-		return -EACCES;
+-	return 0;
++	return cap_file_mmap(file, reqprot, prot, flags, addr, addr_only);
+ }
+ 
+ static inline int security_file_mprotect(struct vm_area_struct *vma,
+diff -urpN linux-source-2.6.26.orig/security/commoncap.c linux-source-2.6.26/security/commoncap.c
+--- linux-source-2.6.26.orig/security/commoncap.c	2009-08-18 23:15:10.000000000 -0600
++++ linux-source-2.6.26/security/commoncap.c	2009-09-30 09:17:19.000000000 -0600
+@@ -689,3 +689,31 @@ int cap_vm_enough_memory(struct mm_struc
+ 	return __vm_enough_memory(mm, pages, cap_sys_admin);
+ }
+ 
++/*
++ * cap_file_mmap - check if able to map given addr
++ * @file: unused
++ * @reqprot: unused
++ * @prot: unused
++ * @flags: unused
++ * @addr: address attempting to be mapped
++ * @addr_only: unused
++ *
++ * If the process is attempting to map memory below mmap_min_addr they need
++ * CAP_SYS_RAWIO.  The other parameters to this function are unused by the
++ * capability security module.  Returns 0 if this mapping should be allowed
++ * -EPERM if not.
++ */
++int cap_file_mmap(struct file *file, unsigned long reqprot,
++		  unsigned long prot, unsigned long flags,
++		  unsigned long addr, unsigned long addr_only)
++{
++	int ret = 0;
++
++	if (addr < dac_mmap_min_addr) {
++		ret = cap_capable(current, CAP_SYS_RAWIO);
++		/* set PF_SUPERPRIV if it turns out we allow the low mmap */
++		if (ret == 0)
++			current->flags |= PF_SUPERPRIV;
++	}
++	return ret;
++}
+diff -urpN linux-source-2.6.26.orig/security/dummy.c linux-source-2.6.26/security/dummy.c
+--- linux-source-2.6.26.orig/security/dummy.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/security/dummy.c	2009-09-30 09:14:23.000000000 -0600
+@@ -459,9 +459,7 @@ static int dummy_file_mmap (struct file 
+ 			    unsigned long addr,
+ 			    unsigned long addr_only)
+ {
+-	if ((addr < mmap_min_addr) && !capable(CAP_SYS_RAWIO))
+-		return -EACCES;
+-	return 0;
++	return cap_file_mmap(file, reqprot, prot, flags, addr, addr_only);
+ }
+ 
+ static int dummy_file_mprotect (struct vm_area_struct *vma,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cciss-p711m,p712m-add-ids.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cciss-p711m,p712m-add-ids.patch
@@ -0,0 +1,48 @@
+commit 77ca7286d10b798e4907af941f29672bf484db77
+Author: Mike Miller <mike.miller@hp.com>
+Date:   Thu Nov 6 12:53:14 2008 -0800
+
+    cciss: new hardware support
+    
+    Add support for 2 new SAS/SATA controllers.
+    
+    Signed-off-by: Mike Miller <mike.miller@hp.com>
+    Cc: Jens Axboe <jens.axboe@oracle.com>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt
+index 8244c64..48d80d9 100644
+--- a/Documentation/cciss.txt
++++ b/Documentation/cciss.txt
+@@ -26,6 +26,8 @@ This driver is known to work with the following cards:
+ 	* SA P410i
+ 	* SA P411
+ 	* SA P812
++	* SA P712m
++	* SA P711m
+ 
+ Detecting drive failures:
+ -------------------------
+diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
+index 4023885..00048bd 100644
+--- a/drivers/block/cciss.c
++++ b/drivers/block/cciss.c
+@@ -96,6 +96,8 @@ static const struct pci_device_id cciss_pci_device_id[] = {
+ 	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x3245},
+ 	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x3247},
+ 	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x3249},
++	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x324A},
++	{PCI_VENDOR_ID_HP,     PCI_DEVICE_ID_HP_CISSE,     0x103C, 0x324B},
+ 	{PCI_VENDOR_ID_HP,     PCI_ANY_ID,	PCI_ANY_ID, PCI_ANY_ID,
+ 		PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
+ 	{0,}
+@@ -133,6 +135,8 @@ static struct board_type products[] = {
+ 	{0x3245103C, "Smart Array P410i", &SA5_access},
+ 	{0x3247103C, "Smart Array P411", &SA5_access},
+ 	{0x3249103C, "Smart Array P812", &SA5_access},
++	{0x324A103C, "Smart Array P712m", &SA5_access},
++	{0x324B103C, "Smart Array P711m", &SA5_access},
+ 	{0xFFFF103C, "Unknown Smart Array", &SA5_access},
+ };
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cdc-acm-mtk-gps-quirk.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cdc-acm-mtk-gps-quirk.patch
@@ -0,0 +1,33 @@
+From: Andrew Lunn <andrew@lunn.ch>
+Date: Tue, 23 Dec 2008 16:31:23 +0000 (+0100)
+Subject: USB: CDC-ACM quirk for MTK GPS
+X-Git-Tag: v2.6.29-rc3~6^2~17
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=0f9c7b4a1cc24d6f05a848f0acf72dbff7c5d42d
+
+USB: CDC-ACM quirk for MTK GPS
+
+This patch adds a device quirk for a MediaTek Inc GPS chipset. The
+device implements USB CDC ACM, but is missing the union descriptor, so
+the ACM class driver fails to probe the device.
+
+I've tested this patch with an iBlue A+ GPS which uses this chipset
+and using kernel 2.6.28-rc9.
+
+Signed-off-by: Andrew Lunn, <andrew@lunn.ch>
+Acked-by: Oliver Neukum <oneukum@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+
+--- a/drivers/usb/class/cdc-acm.c	2009-04-21 20:09:19.000000000 +0000
++++ b/drivers/usb/class/cdc-acm.c	2009-04-21 20:09:21.000000000 +0000
+@@ -1230,6 +1230,9 @@
+ 	{ USB_DEVICE(0x0e8d, 0x0003), /* FIREFLY, MediaTek Inc; andrey.arapov@gmail.com */
+ 	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
+ 	},
++	{ USB_DEVICE(0x0e8d, 0x3329), /* MediaTek Inc GPS */
++	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
++	},
+ 	{ USB_DEVICE(0x0482, 0x0203), /* KYOCERA AH-K3001V */
+ 	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
+ 	},
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cifs-fix-buffer-size-for-tcon-nativeFileSystem-field.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cifs-fix-buffer-size-for-tcon-nativeFileSystem-field.patch
@@ -0,0 +1,42 @@
+commit f083def68f84b04fe3f97312498911afce79609e
+Author: Jeff Layton <jlayton@redhat.com>
+Date:   Thu Apr 16 11:21:52 2009 -0400
+
+    cifs: fix buffer size for tcon->nativeFileSystem field
+    
+    The buffer for this was resized recently to fix a bug. It's still
+    possible however that a malicious server could overflow this field
+    by sending characters in it that are >2 bytes in the local charset.
+    Double the size of the buffer to account for this possibility.
+    
+    Also get rid of some really strange and seemingly pointless NULL
+    termination. It's NULL terminating the string in the source buffer,
+    but by the time that happens, we've already copied the string.
+    
+    Signed-off-by: Jeff Layton <jlayton@redhat.com>
+    Signed-off-by: Steve French <sfrench@us.ibm.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/cifs/connect.c linux-source-2.6.26/fs/cifs/connect.c
+--- linux-source-2.6.26.orig/fs/cifs/connect.c	2009-04-20 21:58:14.000000000 -0600
++++ linux-source-2.6.26/fs/cifs/connect.c	2009-04-20 22:06:23.000000000 -0600
+@@ -3466,16 +3466,13 @@ CIFSTCon(unsigned int xid, struct cifsSe
+ 			    BCC(smb_buffer_response)) {
+ 				kfree(tcon->nativeFileSystem);
+ 				tcon->nativeFileSystem =
+-				    kzalloc(2*(length + 1), GFP_KERNEL);
++				    kzalloc((4 * length) + 2, GFP_KERNEL);
+ 				if (tcon->nativeFileSystem)
+ 					cifs_strfromUCS_le(
+ 						tcon->nativeFileSystem,
+ 						(__le16 *) bcc_ptr,
+ 						length, nls_codepage);
+-				bcc_ptr += 2 * length;
+-				bcc_ptr[0] = 0;	/* null terminate the string */
+-				bcc_ptr[1] = 0;
+-				bcc_ptr += 2;
++				bcc_ptr += (2 * length) + 2;
+ 			}
+ 			/* else do not bother copying these information fields*/
+ 		} else {
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cifs-fix-oops-in-cifs_strfromUCS_le.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cifs-fix-oops-in-cifs_strfromUCS_le.patch
@@ -0,0 +1,41 @@
+commit 69765529d701c838df19ea1f5ad2f33a528261ae
+Author: Steve French <sfrench@us.ibm.com>
+Date:   Tue Feb 17 01:29:40 2009 +0000
+
+    [CIFS] Fix oops in cifs_strfromUCS_le mounting to servers which do not specify their OS
+    
+    Fixes kernel bug #10451 http://bugzilla.kernel.org/show_bug.cgi?id=10451
+    
+    Certain NAS appliances do not set the operating system or network operating system
+    fields in the session setup response on the wire.  cifs was oopsing on the unexpected
+    zero length response fields (when trying to null terminate a zero length field).
+    
+    This fixes the oops.
+    
+    Acked-by: Jeff Layton <jlayton@redhat.com>
+    CC: stable <stable@kernel.org>
+    Signed-off-by: Steve French <sfrench@us.ibm.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/fs/cifs/sess.c b/fs/cifs/sess.c
+--- a/fs/cifs/sess.c	2008-07-13 15:51:29.000000000 -0600
++++ b/fs/cifs/sess.c	2009-03-22 23:06:06.000000000 -0600
+@@ -228,7 +228,7 @@ static int decode_unicode_ssetup(char **
+ 
+ 	kfree(ses->serverOS);
+ 	/* UTF-8 string will not grow more than four times as big as UCS-16 */
+-	ses->serverOS = kzalloc(4 * len, GFP_KERNEL);
++	ses->serverOS = kzalloc((4 * len) + 2 /* trailing null */, GFP_KERNEL);
+ 	if (ses->serverOS != NULL)
+ 		cifs_strfromUCS_le(ses->serverOS, (__le16 *)data, len, nls_cp);
+ 	data += 2 * (len + 1);
+@@ -241,7 +241,7 @@ static int decode_unicode_ssetup(char **
+ 		return rc;
+ 
+ 	kfree(ses->serverNOS);
+-	ses->serverNOS = kzalloc(4 * len, GFP_KERNEL); /* BB this is wrong length FIXME BB */
++	ses->serverNOS = kzalloc((4 * len) + 2 /* trailing null */, GFP_KERNEL);
+ 	if (ses->serverNOS != NULL) {
+ 		cifs_strfromUCS_le(ses->serverNOS, (__le16 *)data, len,
+ 				   nls_cp);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-01-add-hw-start-helpers-for-the-8168-and-the-8101.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-01-add-hw-start-helpers-for-the-8168-and-the-8101.patch
@@ -0,0 +1,122 @@
+Based on:
+
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Sat, 2 Aug 2008 20:44:13 +0200
+Subject: [PATCH] r8169: add hw start helpers for the 8168 and the 8101
+
+This commit triggers three 'defined but not used' warnings but
+I prefer avoiding to tie these helpers to a specific change in
+the hw start sequences of the 8168 or of the 8101.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -526,6 +526,77 @@ static int mdio_read(void __iomem *ioaddr, int reg_addr)
+ 	return value;
+ }
+ 
++static void mdio_patch(void __iomem *ioaddr, int reg_addr, int value)
++{
++	mdio_write(ioaddr, reg_addr, mdio_read(ioaddr, reg_addr) | value);
++}
++
++static void rtl_ephy_write(void __iomem *ioaddr, int reg_addr, int value)
++{
++	unsigned int i;
++
++	RTL_W32(EPHYAR, EPHYAR_WRITE_CMD | (value & EPHYAR_DATA_MASK) |
++		(reg_addr & EPHYAR_REG_MASK) << EPHYAR_REG_SHIFT);
++
++	for (i = 0; i < 100; i++) {
++		if (!(RTL_R32(EPHYAR) & EPHYAR_FLAG))
++			break;
++		udelay(10);
++	}
++}
++
++static u16 rtl_ephy_read(void __iomem *ioaddr, int reg_addr)
++{
++	u16 value = 0xffff;
++	unsigned int i;
++
++	RTL_W32(EPHYAR, (reg_addr & EPHYAR_REG_MASK) << EPHYAR_REG_SHIFT);
++
++	for (i = 0; i < 100; i++) {
++		if (RTL_R32(EPHYAR) & EPHYAR_FLAG) {
++			value = RTL_R32(EPHYAR) & EPHYAR_DATA_MASK;
++			break;
++		}
++		udelay(10);
++	}
++
++	return value;
++}
++
++static void rtl_csi_write(void __iomem *ioaddr, int addr, int value)
++{
++	unsigned int i;
++
++	RTL_W32(CSIDR, value);
++	RTL_W32(CSIAR, CSIAR_WRITE_CMD | (addr & CSIAR_ADDR_MASK) |
++		CSIAR_BYTE_ENABLE << CSIAR_BYTE_ENABLE_SHIFT);
++
++	for (i = 0; i < 100; i++) {
++		if (!(RTL_R32(CSIAR) & CSIAR_FLAG))
++			break;
++		udelay(10);
++	}
++}
++
++static u32 rtl_csi_read(void __iomem *ioaddr, int addr)
++{
++	u32 value = ~0x00;
++	unsigned int i;
++
++	RTL_W32(CSIAR, (addr & CSIAR_ADDR_MASK) |
++		CSIAR_BYTE_ENABLE << CSIAR_BYTE_ENABLE_SHIFT);
++
++	for (i = 0; i < 100; i++) {
++		if (RTL_R32(CSIAR) & CSIAR_FLAG) {
++			value = RTL_R32(CSIDR);
++			break;
++		}
++		udelay(10);
++	}
++
++	return value;
++}
++
+ static void rtl8169_irq_mask_and_ack(void __iomem *ioaddr)
+ {
+ 	RTL_W16(IntrMask, 0x0000);
+@@ -2114,6 +2185,31 @@ static void rtl_tx_performance_tweak(struct pci_dev *pdev, u16 force)
+ 	RTL_W16(IntrMask, tp->intr_event);
+ }
+ 
++static void rtl_csi_access_enable(void __iomem *ioaddr)
++{
++	u32 csi;
++
++	csi = rtl_csi_read(ioaddr, 0x070c) & 0x00ffffff;
++	rtl_csi_write(ioaddr, 0x070c, csi | 0x27000000);
++}
++
++struct ephy_info {
++	unsigned int offset;
++	u16 mask;
++	u16 bits;
++};
++
++static void rtl_ephy_init(void __iomem *ioaddr, struct ephy_info *e, int len)
++{
++	u16 w;
++
++	while (len-- > 0) {
++		w = (rtl_ephy_read(ioaddr, e->offset) & ~e->mask) | e->bits;
++		rtl_ephy_write(ioaddr, e->offset, w);
++		e++;
++	}
++}
++
+ static void rtl_hw_start_8168(struct net_device *dev)
+ {
+ 	struct rtl8169_private *tp = netdev_priv(dev);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-02-wake-up-the-PHY-of-the-8168.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-02-wake-up-the-PHY-of-the-8168.patch
@@ -0,0 +1,41 @@
+From a2de6b89b74b28052e293fdb39975a5a03c432e0 Mon Sep 17 00:00:00 2001
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Thu, 4 Sep 2008 00:17:12 +0200
+Subject: [PATCH] r8169: wake up the PHY of the 8168
+
+This is typically needed when some other OS puts the PHY
+to sleep due to the disabling of WOL options in the BIOS
+of the system.
+
+Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
+Tested-by: Chiaki Ishikawa <chiaki.ishikawa@ubin.jp>
+Cc: Edward Hsu <edward_hsu@realtek.com.tw>
+Cc: RyanKao <ryankao@realtek.com.tw>
+---
+ drivers/net/r8169.c |   10 +++++++---
+ 1 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index 59fbc64..9881563 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -865,9 +865,13 @@ static int rtl8169_set_speed_xmii(struct net_device *dev,
+ 
+ 	auto_nego |= ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM;
+ 
+-	if ((tp->mac_version == RTL_GIGA_MAC_VER_12) ||
+-	    (tp->mac_version == RTL_GIGA_MAC_VER_17)) {
+-		/* Vendor specific (0x1f) and reserved (0x0e) MII registers. */
++	if ((tp->mac_version == RTL_GIGA_MAC_VER_11) ||
++	    (tp->mac_version == RTL_GIGA_MAC_VER_12) ||
++	    (tp->mac_version >= RTL_GIGA_MAC_VER_17)) {
++		/*
++		 * Wake up the PHY.
++		 * Vendor specific (0x1f) and reserved (0x0e) MII registers.
++		 */
+ 		mdio_write(ioaddr, 0x1f, 0x0000);
+ 		mdio_write(ioaddr, 0x0e, 0x0000);
+ 	}
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-03-update-phy-init-parameters.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-03-update-phy-init-parameters.patch
@@ -0,0 +1,74 @@
+From f50d4275422415cfb2a5b94bad3b2b229d0ec1aa Mon Sep 17 00:00:00 2001
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Fri, 30 May 2008 16:07:07 +0200
+Subject: [PATCH] r8169: update phy init parameters
+
+The modified parameters are synced with Realtek's driver
+version 8.006.00.
+
+The change should only be noticeable with some 8168c.
+
+Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
+Cc: Edward Hsu <edward_hsu@realtek.com.tw>
+---
+ drivers/net/r8169.c |   29 ++++++++++++++++++++++++-----
+ 1 files changed, 24 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index 9881563..62e1115 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -1379,26 +1379,45 @@ static void rtl8168c_hw_phy_config(void __iomem *ioaddr)
+ 		{ 0x1f, 0x0003 },
+ 		{ 0x12, 0xc096 },
+ 		{ 0x16, 0x000a },
+-		{ 0x1f, 0x0000 }
++		{ 0x1f, 0x0000 },
++		{ 0x1f, 0x0000 },
++		{ 0x09, 0x2000 },
++		{ 0x09, 0x0000 }
+ 	};
+ 
+ 	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
++
++	mdio_patch(ioaddr, 0x14, 1 << 5);
++	mdio_patch(ioaddr, 0x0d, 1 << 5);
++	mdio_write(ioaddr, 0x1f, 0x0000);
+ }
+ 
+ static void rtl8168cx_hw_phy_config(void __iomem *ioaddr)
+ {
+ 	struct phy_reg phy_reg_init[] = {
+-		{ 0x1f, 0x0000 },
++		{ 0x1f, 0x0001 },
+ 		{ 0x12, 0x2300 },
+-		{ 0x1f, 0x0003 },
+-		{ 0x16, 0x0f0a },
+-		{ 0x1f, 0x0000 },
++		{ 0x03, 0x802f },
++		{ 0x02, 0x4f02 },
++		{ 0x01, 0x0409 },
++		{ 0x00, 0xf099 },
++		{ 0x04, 0x9800 },
++		{ 0x04, 0x9000 },
++		{ 0x1d, 0x3d98 },
+ 		{ 0x1f, 0x0002 },
+ 		{ 0x0c, 0x7eb8 },
++		{ 0x06, 0x0761 },
++		{ 0x1f, 0x0003 },
++		{ 0x16, 0x0f0a },
+ 		{ 0x1f, 0x0000 }
+ 	};
+ 
+ 	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
++
++	mdio_patch(ioaddr, 0x16, 1 << 0);
++	mdio_patch(ioaddr, 0x14, 1 << 5);
++	mdio_patch(ioaddr, 0x0d, 1 << 5);
++	mdio_write(ioaddr, 0x1f, 0x0000);
+ }
+ 
+ static void rtl8102e_hw_phy_config(void __iomem *ioaddr)
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-04-new-phy-init-parameters-for-the-8168b.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-04-new-phy-init-parameters-for-the-8168b.patch
@@ -0,0 +1,58 @@
+Based on:
+
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Fri, 30 May 2008 16:11:48 +0200
+Subject: [PATCH] r8169: new phy init parameters for the 8168b
+
+The new parameters are synced with Realtek's driver
+version 8.006.00.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -1350,6 +1350,30 @@ static void rtl8169sb_hw_phy_config(void __iomem *ioaddr)
+ 	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
+ }
+ 
++static void rtl8168bb_hw_phy_config(void __iomem *ioaddr)
++{
++	struct phy_reg phy_reg_init[] = {
++		{ 0x10, 0xf41b },
++		{ 0x1f, 0x0000 }
++	};
++
++	mdio_write(ioaddr, 0x1f, 0x0001);
++	mdio_patch(ioaddr, 0x16, 1 << 0);
++
++	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
++}
++
++static void rtl8168bef_hw_phy_config(void __iomem *ioaddr)
++{
++	struct phy_reg phy_reg_init[] = {
++		{ 0x1f, 0x0001 },
++		{ 0x10, 0xf41b },
++		{ 0x1f, 0x0000 }
++	};
++
++	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
++}
++
+ static void rtl8168cp_hw_phy_config(void __iomem *ioaddr)
+ {
+ 	struct phy_reg phy_reg_init[] = {
+@@ -1458,6 +1482,15 @@ static void rtl_hw_phy_config(struct net_device *dev)
+	case RTL_GIGA_MAC_VER_04:
+		rtl8169sb_hw_phy_config(ioaddr);
+		break;
++	case RTL_GIGA_MAC_VER_11:
++		rtl8168bb_hw_phy_config(ioaddr);
++		break;
++	case RTL_GIGA_MAC_VER_12:
++		rtl8168bef_hw_phy_config(ioaddr);
++		break;
++	case RTL_GIGA_MAC_VER_17:
++		rtl8168bef_hw_phy_config(ioaddr);
++		break;
+ 	case RTL_GIGA_MAC_VER_18:
+ 		rtl8168cp_hw_phy_config(ioaddr);
+ 		break;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-05-shuffle-some-registers-handling-around-8168-op.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-05-shuffle-some-registers-handling-around-8168-op.patch
@@ -0,0 +1,53 @@
+Based on:
+
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Sun, 1 Jun 2008 12:31:57 +0200
+Subject: [PATCH] r8169: shuffle some registers handling around (8168 operation only)
+
+I can not argue strongly for (or against) a specific ordering
+on a purely technical ground but the patch avoids to swallow
+Realtek's changes in one big, hard-to-read gulp.
+
+Let aside the way the RxConfig register is written (see
+rtl_set_rx_tx_config_registers / RxConfig / rtl_set_rx_mode),
+this change brings the registers write ordering closer with
+Realtek's driver one (version 8.006.00) for the 8168 chipsets.
+
+More 8168 specific code which touches the Configx registers will
+be added in the section covered by Cfg9346_UnLock / Cfg9346_Lock.
+
+This code should not be the cause of regression for 810x and
+8110 users.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -2396,8 +2396,6 @@ static void rtl_hw_start_8168(struct net_device *dev)
+ 
+ 	rtl_set_rx_max_size(ioaddr, tp->rx_buf_sz);
+ 
+-	rtl_set_rx_tx_config_registers(tp);
+-
+ 	tp->cp_cmd |= RTL_R16(CPlusCmd) | PktCntrDisable | INTT_1;
+ 
+ 	RTL_W16(CPlusCmd, tp->cp_cmd);
+@@ -2414,14 +2410,17 @@ static void rtl_hw_start_8168(struct net_device *dev)
+ 
+ 	rtl_set_rx_tx_desc_registers(tp, ioaddr);
+ 
+-	RTL_W8(Cfg9346, Cfg9346_Lock);
++	rtl_set_rx_mode(dev);
++
++	RTL_W32(TxConfig, (TX_DMA_BURST << TxDMAShift) |
++		(InterFrameGap << TxInterFrameGapShift));
+ 
+ 	RTL_R8(IntrMask);
+ 
+-	rtl_set_rx_mode(dev);
+-
+ 	RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb);
+ 
++	RTL_W8(Cfg9346, Cfg9346_Lock);
++
+ 	RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xF000);
+ 
+ 	RTL_W16(IntrMask, tp->intr_event);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-06-make-room-for-more-specific-8168-hardware-star.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-06-make-room-for-more-specific-8168-hardware-star.patch
@@ -0,0 +1,117 @@
+Based on:
+
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Sat, 28 Jun 2008 11:58:39 +0200
+Subject: [PATCH] r8169: make room for more specific 8168 hardware start procedure
+
+Broadly speaking the 8168c* share some common code which will
+be factored in __rtl_hw_start_8168cp. The 8168b* share some
+code too but it will be a bit different.
+
+Any change of behavior should be confined to the currently
+unidentified 8168 chipsets. They will not be applied the Tx
+performance tweak and will emit a warning instead.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -1387,7 +1387,7 @@ static void rtl8168cp_hw_phy_config(void __iomem *ioaddr)
+ 	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
+ }
+ 
+-static void rtl8168c_hw_phy_config(void __iomem *ioaddr)
++static void rtl8168c_1_hw_phy_config(void __iomem *ioaddr)
+ {
+ 	struct phy_reg phy_reg_init[] = {
+ 		{ 0x1f, 0x0001 },
+@@ -1416,7 +1416,7 @@ static void rtl8168c_hw_phy_config(void __iomem *ioaddr)
+ 	mdio_write(ioaddr, 0x1f, 0x0000);
+ }
+ 
+-static void rtl8168cx_hw_phy_config(void __iomem *ioaddr)
++static void rtl8168c_2_hw_phy_config(void __iomem *ioaddr)
+ {
+ 	struct phy_reg phy_reg_init[] = {
+ 		{ 0x1f, 0x0001 },
+@@ -1495,10 +1495,10 @@ static void rtl_hw_phy_config(struct net_device *dev)
+ 		rtl8168cp_hw_phy_config(ioaddr);
+ 		break;
+ 	case RTL_GIGA_MAC_VER_19:
+-		rtl8168c_hw_phy_config(ioaddr);
++		rtl8168c_1_hw_phy_config(ioaddr);
+ 		break;
+ 	case RTL_GIGA_MAC_VER_20:
+-		rtl8168cx_hw_phy_config(ioaddr);
++		rtl8168c_2_hw_phy_config(ioaddr);
+ 		break;
+ 	default:
+ 		break;
+@@ -2384,6 +2384,34 @@ static void rtl_ephy_init(void __iomem *ioaddr, struct ephy_info *e, int len)
+ 	}
+ }
+ 
++static void rtl_hw_start_8168bb(void __iomem *ioaddr, struct pci_dev *pdev)
++{
++}
++
++static void rtl_hw_start_8168bef(void __iomem *ioaddr, struct pci_dev *pdev)
++{
++	rtl_hw_start_8168bb(ioaddr, pdev);
++}
++
++static void __rtl_hw_start_8168cp(void __iomem *ioaddr, struct pci_dev *pdev)
++{
++}
++
++static void rtl_hw_start_8168cp(void __iomem *ioaddr, struct pci_dev *pdev)
++{
++	__rtl_hw_start_8168cp(ioaddr, pdev);
++}
++
++static void rtl_hw_start_8168c_1(void __iomem *ioaddr, struct pci_dev *pdev)
++{
++	__rtl_hw_start_8168cp(ioaddr, pdev);
++}
++
++static void rtl_hw_start_8168c_2(void __iomem *ioaddr, struct pci_dev *pdev)
++{
++	__rtl_hw_start_8168cp(ioaddr, pdev);
++}
++
+ static void rtl_hw_start_8168(struct net_device *dev)
+ {
+ 	struct rtl8169_private *tp = netdev_priv(dev);
+@@ -2417,6 +2447,34 @@ static void rtl_hw_start_8168(struct net_device *dev)
+ 
+ 	RTL_R8(IntrMask);
+ 
++	switch (tp->mac_version) {
++	case RTL_GIGA_MAC_VER_11:
++		rtl_hw_start_8168bb(ioaddr, pdev);
++	break;
++
++	case RTL_GIGA_MAC_VER_12:
++	case RTL_GIGA_MAC_VER_17:
++		rtl_hw_start_8168bef(ioaddr, pdev);
++	break;
++
++	case RTL_GIGA_MAC_VER_18:
++		rtl_hw_start_8168cp(ioaddr, pdev);
++	break;
++
++	case RTL_GIGA_MAC_VER_19:
++		rtl_hw_start_8168c_1(ioaddr, pdev);
++	break;
++
++	case RTL_GIGA_MAC_VER_20:
++		rtl_hw_start_8168c_2(ioaddr, pdev);
++	break;
++
++	default:
++		printk(KERN_ERR PFX "%s: unknown chipset (mac_version = %d).\n",
++			dev->name, tp->mac_version);
++	break;
++	}
++
+ 	RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb);
+ 
+ 	RTL_W8(Cfg9346, Cfg9346_Lock);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-07-sync-existing-8168-device-hardware-start-seque.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-07-sync-existing-8168-device-hardware-start-seque.patch
@@ -0,0 +1,117 @@
+Based on:
+
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Sat, 28 Jun 2008 12:22:59 +0200
+Subject: [PATCH] r8169: sync existing 8168 device hardware start sequences with vendor driver
+
+This part of the driver should be reasonably in line with Realtek's
+8.006.00 driver.
+
+I have left some bits related to jumbo frame and optional features
+aside for now.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -2384,31 +2384,102 @@ static void rtl_ephy_init(void __iomem *ioaddr, struct ephy_info *e, int len)
+ 	}
+ }
+ 
++static void rtl_disable_clock_request(struct pci_dev *pdev)
++{
++	int cap = pci_find_capability(pdev, PCI_CAP_ID_EXP);
++
++	if (cap) {
++		u16 ctl;
++
++		pci_read_config_word(pdev, cap + PCI_EXP_LNKCTL, &ctl);
++		ctl &= ~PCI_EXP_LNKCTL_CLKREQ_EN;
++		pci_write_config_word(pdev, cap + PCI_EXP_LNKCTL, ctl);
++	}
++}
++
++#define R8168_CPCMD_QUIRK_MASK (\
++	EnableBist | \
++	Mac_dbgo_oe | \
++	Force_half_dup | \
++	Force_rxflow_en | \
++	Force_txflow_en | \
++	Cxpl_dbg_sel | \
++	ASF | \
++	PktCntrDisable | \
++	Mac_dbgo_sel)
++
+ static void rtl_hw_start_8168bb(void __iomem *ioaddr, struct pci_dev *pdev)
+ {
++	RTL_W8(Config3, RTL_R8(Config3) & ~Beacon_en);
++
++	RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK);
+ }
+ 
+ static void rtl_hw_start_8168bef(void __iomem *ioaddr, struct pci_dev *pdev)
+ {
+ 	rtl_hw_start_8168bb(ioaddr, pdev);
++
++	RTL_W8(EarlyTxThres, EarlyTxThld);
++
++	RTL_W8(Config4, RTL_R8(Config4) & ~(1 << 0));
+ }
+ 
+ static void __rtl_hw_start_8168cp(void __iomem *ioaddr, struct pci_dev *pdev)
+ {
++	RTL_W8(Config1, RTL_R8(Config1) | Speed_down);
++
++	RTL_W8(Config3, RTL_R8(Config3) & ~Beacon_en);
++
++	rtl_disable_clock_request(pdev);
++
++	RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK);
+ }
+ 
+ static void rtl_hw_start_8168cp(void __iomem *ioaddr, struct pci_dev *pdev)
+ {
++	static struct ephy_info e_info_8168cp[] = {
++		{ 0x01, 0,	0x0001 },
++		{ 0x02, 0x0800,	0x1000 },
++		{ 0x03, 0,	0x0042 },
++		{ 0x06, 0x0080,	0x0000 },
++		{ 0x07, 0,	0x2000 }
++	};
++
++	rtl_csi_access_enable(ioaddr);
++
++	rtl_ephy_init(ioaddr, e_info_8168cp, ARRAY_SIZE(e_info_8168cp));
++
+ 	__rtl_hw_start_8168cp(ioaddr, pdev);
+ }
+ 
+ static void rtl_hw_start_8168c_1(void __iomem *ioaddr, struct pci_dev *pdev)
+ {
++	static struct ephy_info e_info_8168c_1[] = {
++		{ 0x02, 0x0800,	0x1000 },
++		{ 0x03, 0,	0x0002 },
++		{ 0x06, 0x0080,	0x0000 }
++	};
++
++	rtl_csi_access_enable(ioaddr);
++
++	RTL_W8(DBG_REG, 0x06 | FIX_NAK_1 | FIX_NAK_2);
++
++	rtl_ephy_init(ioaddr, e_info_8168c_1, ARRAY_SIZE(e_info_8168c_1));
++
+ 	__rtl_hw_start_8168cp(ioaddr, pdev);
+ }
+ 
+ static void rtl_hw_start_8168c_2(void __iomem *ioaddr, struct pci_dev *pdev)
+ {
++	static struct ephy_info e_info_8168c_2[] = {
++		{ 0x01, 0,	0x0001 },
++		{ 0x03, 0x0400,	0x0220 }
++	};
++
++	rtl_csi_access_enable(ioaddr);
++
++	rtl_ephy_init(ioaddr, e_info_8168c_2, ARRAY_SIZE(e_info_8168c_2));
++
+ 	__rtl_hw_start_8168cp(ioaddr, pdev);
+ }
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-08-Don-t-update-statistics-counters-when-interfac.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-08-Don-t-update-statistics-counters-when-interfac.patch
@@ -0,0 +1,169 @@
+Based on:
+
+From: Ivan Vecera <ivecera@redhat.com>
+Date: Fri, 6 Feb 2009 21:49:57 -0800
+Subject: [PATCH] r8169: Don't update statistics counters when interface is down
+
+Some Realtek chips (RTL8169sb/8110sb in my case) are unable to retrieve
+ethtool statistics when the interface is down. The process stays in
+endless loop in rtl8169_get_ethtool_stats. This is because these chips
+need to have receiver enabled (CmdRxEnb bit in ChipCmd register) that is
+cleared when the interface is going down. It's better to update statistics
+only when the interface is up and otherwise return copy of statistics
+grabbed when the interface was up (in rtl8169_close).
+
+It is interesting that PCI-E NICs (like 8168b/8111b...) are not affected.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -437,6 +437,22 @@ enum features {
+ 	RTL_FEATURE_MSI	= (1 << 1),
+ };
+ 
++struct rtl8169_counters {
++	__le64	tx_packets;
++	__le64	rx_packets;
++	__le64	tx_errors;
++	__le32	rx_errors;
++	__le16	rx_missed;
++	__le16	align_errors;
++	__le32	tx_one_collision;
++	__le32	tx_multi_collision;
++	__le64	rx_unicast;
++	__le64	rx_broadcast;
++	__le32	rx_multicast;
++	__le16	tx_aborted;
++	__le16	tx_underun;
++};
++
+ struct rtl8169_private {
+ 	void __iomem *mmio_addr;	/* memory map physical address */
+ 	struct pci_dev *pci_dev;	/* Index of PCI device */
+@@ -480,6 +496,7 @@ struct rtl8169_private {
+ 	unsigned int (*link_ok)(void __iomem *);
+ 	struct delayed_work task;
+ 	unsigned features;
++	struct rtl8169_counters counters;
+ };
+ 
+ MODULE_AUTHOR("Realtek and the Linux r8169 crew <netdev@vger.kernel.org>");
+@@ -1100,22 +1117,6 @@ static const char rtl8169_gstrings[][ETH_GSTRING_LEN] = {
+ 	"tx_underrun",
+ };
+ 
+-struct rtl8169_counters {
+-	__le64	tx_packets;
+-	__le64	rx_packets;
+-	__le64	tx_errors;
+-	__le32	rx_errors;
+-	__le16	rx_missed;
+-	__le16	align_errors;
+-	__le32	tx_one_collision;
+-	__le32	tx_multi_collision;
+-	__le64	rx_unicast;
+-	__le64	rx_broadcast;
+-	__le32	rx_multicast;
+-	__le16	tx_aborted;
+-	__le16	tx_underun;
+-};
+-
+ static int rtl8169_get_sset_count(struct net_device *dev, int sset)
+ {
+ 	switch (sset) {
+@@ -1126,16 +1127,21 @@ static int rtl8169_get_sset_count(struct net_device *dev, int sset)
+ 	}
+ }
+ 
+-static void rtl8169_get_ethtool_stats(struct net_device *dev,
+-				      struct ethtool_stats *stats, u64 *data)
++static void rtl8169_update_counters(struct net_device *dev)
+ {
+ 	struct rtl8169_private *tp = netdev_priv(dev);
+ 	void __iomem *ioaddr = tp->mmio_addr;
+ 	struct rtl8169_counters *counters;
+ 	dma_addr_t paddr;
+ 	u32 cmd;
++	int wait = 1000;
+ 
+-	ASSERT_RTNL();
++	/*
++	 * Some chips are unable to dump tally counters when the receiver
++	 * is disabled.
++	 */
++	if ((RTL_R8(ChipCmd) & CmdRxEnb) == 0)
++		return;
+ 
+ 	counters = pci_alloc_consistent(tp->pci_dev, sizeof(*counters), &paddr);
+ 	if (!counters)
+@@ -1146,31 +1152,45 @@ static void rtl8169_get_ethtool_stats(struct net_device *dev,
+ 	RTL_W32(CounterAddrLow, cmd);
+ 	RTL_W32(CounterAddrLow, cmd | CounterDump);
+ 
+-	while (RTL_R32(CounterAddrLow) & CounterDump) {
+-		if (msleep_interruptible(1))
++	while (wait--) {
++		if ((RTL_R32(CounterAddrLow) & CounterDump) == 0) {
++			/* copy updated counters */
++			memcpy(&tp->counters, counters, sizeof(*counters));
+ 			break;
++		}
++		udelay(10);
+ 	}
+ 
+ 	RTL_W32(CounterAddrLow, 0);
+ 	RTL_W32(CounterAddrHigh, 0);
+ 
+-	data[0] = le64_to_cpu(counters->tx_packets);
+-	data[1] = le64_to_cpu(counters->rx_packets);
+-	data[2] = le64_to_cpu(counters->tx_errors);
+-	data[3] = le32_to_cpu(counters->rx_errors);
+-	data[4] = le16_to_cpu(counters->rx_missed);
+-	data[5] = le16_to_cpu(counters->align_errors);
+-	data[6] = le32_to_cpu(counters->tx_one_collision);
+-	data[7] = le32_to_cpu(counters->tx_multi_collision);
+-	data[8] = le64_to_cpu(counters->rx_unicast);
+-	data[9] = le64_to_cpu(counters->rx_broadcast);
+-	data[10] = le32_to_cpu(counters->rx_multicast);
+-	data[11] = le16_to_cpu(counters->tx_aborted);
+-	data[12] = le16_to_cpu(counters->tx_underun);
+-
+ 	pci_free_consistent(tp->pci_dev, sizeof(*counters), counters, paddr);
+ }
+ 
++static void rtl8169_get_ethtool_stats(struct net_device *dev,
++				      struct ethtool_stats *stats, u64 *data)
++{
++	struct rtl8169_private *tp = netdev_priv(dev);
++
++	ASSERT_RTNL();
++
++	rtl8169_update_counters(dev);
++
++	data[0] = le64_to_cpu(tp->counters.tx_packets);
++	data[1] = le64_to_cpu(tp->counters.rx_packets);
++	data[2] = le64_to_cpu(tp->counters.tx_errors);
++	data[3] = le32_to_cpu(tp->counters.rx_errors);
++	data[4] = le16_to_cpu(tp->counters.rx_missed);
++	data[5] = le16_to_cpu(tp->counters.align_errors);
++	data[6] = le32_to_cpu(tp->counters.tx_one_collision);
++	data[7] = le32_to_cpu(tp->counters.tx_multi_collision);
++	data[8] = le64_to_cpu(tp->counters.rx_unicast);
++	data[9] = le64_to_cpu(tp->counters.rx_broadcast);
++	data[10] = le32_to_cpu(tp->counters.rx_multicast);
++	data[11] = le16_to_cpu(tp->counters.tx_aborted);
++	data[12] = le16_to_cpu(tp->counters.tx_underun);
++}
++
+ static void rtl8169_get_strings(struct net_device *dev, u32 stringset, u8 *data)
+ {
+ 	switch(stringset) {
+@@ -3682,6 +3702,9 @@ static int rtl8169_close(struct net_device *dev)
+ 	struct rtl8169_private *tp = netdev_priv(dev);
+ 	struct pci_dev *pdev = tp->pci_dev;
+ 
++	/* update counters before going down */
++	rtl8169_update_counters(dev);
++
+ 	rtl8169_down(dev);
+ 
+ 	free_irq(dev->irq, dev);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-09-reset-IntrStatus-after-chip-reset.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-09-reset-IntrStatus-after-chip-reset.patch
@@ -0,0 +1,41 @@
+Based on:
+
+From: Karsten Wiese <fzu@wemgehoertderstaat.de>
+Date: Thu, 2 Apr 2009 01:06:01 -0700
+Subject: [PATCH] r8169: reset IntrStatus after chip reset
+
+Original comment (Karsten):
+On a MSI MS-6702E mainboard, when in rtl8169_init_one() for the first time
+after BIOS has run, IntrStatus reads 5 after chip has been reset.
+IntrStatus should equal 0 there, so patch changes IntrStatus reset to happen
+after chip reset instead of before.
+
+Remark (Francois):
+Assuming that the loglevel of the driver is increased above NETIF_MSG_INTR,
+the bug reveals itself with a typical "interrupt 0025 in poll" message
+at startup. In retrospect, the message should had been read as an hint of
+an unexpected hardware state several months ago :o(
+
+Fixes (at least part of) https://bugzilla.redhat.com/show_bug.cgi?id=460747
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -2075,8 +2075,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 		goto err_out_free_res_4;
+ 	}
+ 
+-	/* Unneeded ? Don't mess with Mrs. Murphy. */
+-	rtl8169_irq_mask_and_ack(ioaddr);
++	RTL_W16(IntrMask, 0x0000);
+ 
+ 	/* Soft reset the chip. */
+ 	RTL_W8(ChipCmd, CmdReset);
+@@ -2088,6 +2087,8 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 		msleep_interruptible(1);
+ 	}
+ 
++	RTL_W16(IntrStatus, 0xffff);
++
+ 	/* Identify chip attached to board */
+ 	rtl8169_get_mac_version(tp, ioaddr);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-10-Use-a-different-default-for-each-family.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-10-Use-a-different-default-for-each-family.patch
@@ -0,0 +1,116 @@
+Based on:
+
+From: Jean Delvare <jdelvare@suse.de>
+Date: Tue, 26 May 2009 20:54:48 -0700
+Subject: [PATCH] r8169: Use a different default for each family
+
+The r8169 driver supports 3 different families of network chips
+(RTL8169, RTL8168 and RTL8101). When an unknown version is found, the
+driver currently always defaults to the RTL8169 variant. This has very
+little chance to ever work for chips of the other families. So better
+define a per-family default.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -94,6 +94,7 @@ static const int multicast_filter_limit = 32;
+ #define RTL_R32(reg)		((unsigned long) readl (ioaddr + (reg)))
+ 
+ enum mac_version {
++	RTL_GIGA_MAC_NONE   = 0x00,
+ 	RTL_GIGA_MAC_VER_01 = 0x01, // 8169
+ 	RTL_GIGA_MAC_VER_02 = 0x02, // 8169S
+ 	RTL_GIGA_MAC_VER_03 = 0x03, // 8110S
+@@ -1300,7 +1301,8 @@ static void rtl8169_get_mac_version(struct rtl8169_private *tp,
+ 		{ 0xfc800000, 0x00800000,	RTL_GIGA_MAC_VER_02 },
+ 		{ 0xfc800000, 0x00000000,	RTL_GIGA_MAC_VER_01 },
+ 
+-		{ 0x00000000, 0x00000000,	RTL_GIGA_MAC_VER_01 }	/* Catch-all */
++		/* Catch-all */
++		{ 0x00000000, 0x00000000,	RTL_GIGA_MAC_NONE   }
+ 	}, *p = mac_info;
+ 	u32 reg;
+ 
+@@ -1308,12 +1310,6 @@ static void rtl8169_get_mac_version(struct rtl8169_private *tp,
+ 	while ((reg & p->mask) != p->val)
+ 		p++;
+ 	tp->mac_version = p->mac_version;
+-
+-	if (p->mask == 0x00000000) {
+-		struct pci_dev *pdev = tp->pci_dev;
+-
+-		dev_info(&pdev->dev, "unknown MAC (%08x)\n", reg);
+-	}
+ }
+ 
+ static void rtl8169_print_mac_version(struct rtl8169_private *tp)
+@@ -1889,6 +1885,7 @@ static const struct rtl_cfg_info {
+ 	u16 intr_event;
+ 	u16 napi_event;
+ 	unsigned msi;
++	u8 default_ver;
+ } rtl_cfg_infos [] = {
+ 	[RTL_CFG_0] = {
+ 		.hw_start	= rtl_hw_start_8169,
+@@ -1897,7 +1894,8 @@ static const struct rtl_cfg_info {
+ 		.intr_event	= SYSErr | LinkChg | RxOverflow |
+ 				  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
+ 		.napi_event	= RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
+-		.msi		= 0
++		.msi		= 0,
++		.default_ver	= RTL_GIGA_MAC_VER_01,
+ 	},
+ 	[RTL_CFG_1] = {
+ 		.hw_start	= rtl_hw_start_8168,
+@@ -1906,7 +1904,8 @@ static const struct rtl_cfg_info {
+ 		.intr_event	= SYSErr | LinkChg | RxOverflow |
+ 				  TxErr | TxOK | RxOK | RxErr,
+ 		.napi_event	= TxErr | TxOK | RxOK | RxOverflow,
+-		.msi		= RTL_FEATURE_MSI
++		.msi		= RTL_FEATURE_MSI,
++		.default_ver	= RTL_GIGA_MAC_VER_11,
+ 	},
+ 	[RTL_CFG_2] = {
+ 		.hw_start	= rtl_hw_start_8101,
+@@ -1915,7 +1914,8 @@ static const struct rtl_cfg_info {
+ 		.intr_event	= SYSErr | LinkChg | RxOverflow | PCSTimeout |
+ 				  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
+ 		.napi_event	= RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
+-		.msi		= RTL_FEATURE_MSI
++		.msi		= RTL_FEATURE_MSI,
++		.default_ver	= RTL_GIGA_MAC_VER_13,
+ 	}
+ };
+ 
+@@ -2096,6 +2096,15 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	/* Identify chip attached to board */
+ 	rtl8169_get_mac_version(tp, ioaddr);
+ 
++	/* Use appropriate default if unknown */
++	if (tp->mac_version == RTL_GIGA_MAC_NONE) {
++		if (netif_msg_probe(tp)) {
++			dev_notice(&pdev->dev,
++				   "unknown MAC, using family default\n");
++		}
++		tp->mac_version = cfg->default_ver;
++	}
++
+ 	rtl8169_print_mac_version(tp);
+ 
+ 	for (i = 0; i < ARRAY_SIZE(rtl_chip_info); i++) {
+@@ -2103,13 +2112,9 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 			break;
+ 	}
+ 	if (i == ARRAY_SIZE(rtl_chip_info)) {
+-		/* Unknown chip: assume array element #0, original RTL-8169 */
+-		if (netif_msg_probe(tp)) {
+-			dev_printk(KERN_DEBUG, &pdev->dev,
+-				"unknown chip version, assuming %s\n",
+-				rtl_chip_info[0].name);
+-		}
+-		i = 0;
++		dev_err(&pdev->dev,
++			"driver bug, MAC version not found in rtl_chip_info\n");
++		goto err_out_msi_5;
+ 	}
+ 	tp->chipset = i;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-11-phy-init-for-the-8169sce.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-11-phy-init-for-the-8169sce.patch
@@ -0,0 +1,80 @@
+Based on:
+
+From: =?UTF-8?q?fran=C3=A7ois=20romieu?= <romieu@fr.zoreil.com>
+Date: Mon, 10 Aug 2009 19:43:29 +0000
+Subject: [PATCH] r8169: phy init for the 8169sce
+
+Synced with Realtek's 6.011.00 r8169 driver.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -1389,6 +1389,59 @@ static void rtl8169sb_hw_phy_config(void __iomem *ioaddr)
+ 	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
+ }
+ 
++static void rtl8169sce_hw_phy_config(void __iomem *ioaddr)
++{
++	struct phy_reg phy_reg_init[] = {
++		{ 0x1f, 0x0001 },
++		{ 0x04, 0x0000 },
++		{ 0x03, 0x00a1 },
++		{ 0x02, 0x0008 },
++		{ 0x01, 0x0120 },
++		{ 0x00, 0x1000 },
++		{ 0x04, 0x0800 },
++		{ 0x04, 0x9000 },
++		{ 0x03, 0x802f },
++		{ 0x02, 0x4f02 },
++		{ 0x01, 0x0409 },
++		{ 0x00, 0xf099 },
++		{ 0x04, 0x9800 },
++		{ 0x04, 0xa000 },
++		{ 0x03, 0xdf01 },
++		{ 0x02, 0xdf20 },
++		{ 0x01, 0xff95 },
++		{ 0x00, 0xba00 },
++		{ 0x04, 0xa800 },
++		{ 0x04, 0xf000 },
++		{ 0x03, 0xdf01 },
++		{ 0x02, 0xdf20 },
++		{ 0x01, 0x101a },
++		{ 0x00, 0xa0ff },
++		{ 0x04, 0xf800 },
++		{ 0x04, 0x0000 },
++		{ 0x1f, 0x0000 },
++
++		{ 0x1f, 0x0001 },
++		{ 0x0b, 0x8480 },
++		{ 0x1f, 0x0000 },
++
++		{ 0x1f, 0x0001 },
++		{ 0x18, 0x67c7 },
++		{ 0x04, 0x2000 },
++		{ 0x03, 0x002f },
++		{ 0x02, 0x4360 },
++		{ 0x01, 0x0109 },
++		{ 0x00, 0x3022 },
++		{ 0x04, 0x2800 },
++		{ 0x1f, 0x0000 },
++
++		{ 0x1f, 0x0001 },
++		{ 0x17, 0x0cc0 },
++		{ 0x1f, 0x0000 }
++	};
++
++	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
++}
++
+ static void rtl8168bb_hw_phy_config(void __iomem *ioaddr)
+ {
+ 	struct phy_reg phy_reg_init[] = {
+@@ -1628,6 +1681,9 @@ static void rtl_hw_phy_config(struct net_device *dev)
+ 	case RTL_GIGA_MAC_VER_04:
+ 		rtl8169sb_hw_phy_config(ioaddr);
+ 		break;
++	case RTL_GIGA_MAC_VER_06:
++		rtl8169sce_hw_phy_config(ioaddr);
++		break;
+	case RTL_GIGA_MAC_VER_11:
+		rtl8168bb_hw_phy_config(ioaddr);
+		break;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-12-phy-init-for-the-8169scd.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-12-phy-init-for-the-8169scd.patch
@@ -0,0 +1,92 @@
+Based on:
+
+From: =?UTF-8?q?fran=C3=A7ois=20romieu?= <romieu@fr.zoreil.com>
+Date: Mon, 10 Aug 2009 19:44:19 +0000
+Subject: [PATCH] r8169: phy init for the 8169scd
+
+Synced with Realtek's 6.011.00 r8169 driver.
+
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -1389,6 +1389,71 @@ static void rtl8169sb_hw_phy_config(void __iomem *ioaddr)
+ 	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
+ }
+ 
++static void rtl8169scd_hw_phy_config_quirk(struct rtl8169_private *tp,
++					   void __iomem *ioaddr)
++{
++	struct pci_dev *pdev = tp->pci_dev;
++	u16 vendor_id, device_id;
++
++	pci_read_config_word(pdev, PCI_SUBSYSTEM_VENDOR_ID, &vendor_id);
++	pci_read_config_word(pdev, PCI_SUBSYSTEM_ID, &device_id);
++
++	if ((vendor_id != 0x1458) || (device_id != 0xe000))
++		return;
++
++	mdio_write(ioaddr, 0x1f, 0x0001);
++	mdio_write(ioaddr, 0x10, 0xf01b);
++	mdio_write(ioaddr, 0x1f, 0x0000);
++}
++
++static void rtl8169scd_hw_phy_config(struct rtl8169_private *tp,
++				     void __iomem *ioaddr)
++{
++	struct phy_reg phy_reg_init[] = {
++		{ 0x1f, 0x0001 },
++		{ 0x04, 0x0000 },
++		{ 0x03, 0x00a1 },
++		{ 0x02, 0x0008 },
++		{ 0x01, 0x0120 },
++		{ 0x00, 0x1000 },
++		{ 0x04, 0x0800 },
++		{ 0x04, 0x9000 },
++		{ 0x03, 0x802f },
++		{ 0x02, 0x4f02 },
++		{ 0x01, 0x0409 },
++		{ 0x00, 0xf099 },
++		{ 0x04, 0x9800 },
++		{ 0x04, 0xa000 },
++		{ 0x03, 0xdf01 },
++		{ 0x02, 0xdf20 },
++		{ 0x01, 0xff95 },
++		{ 0x00, 0xba00 },
++		{ 0x04, 0xa800 },
++		{ 0x04, 0xf000 },
++		{ 0x03, 0xdf01 },
++		{ 0x02, 0xdf20 },
++		{ 0x01, 0x101a },
++		{ 0x00, 0xa0ff },
++		{ 0x04, 0xf800 },
++		{ 0x04, 0x0000 },
++		{ 0x1f, 0x0000 },
++
++		{ 0x1f, 0x0001 },
++		{ 0x10, 0xf41b },
++		{ 0x14, 0xfb54 },
++		{ 0x18, 0xf5c7 },
++		{ 0x1f, 0x0000 },
++
++		{ 0x1f, 0x0001 },
++		{ 0x17, 0x0cc0 },
++		{ 0x1f, 0x0000 }
++	};
++
++	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
++
++	rtl8169scd_hw_phy_config_quirk(tp, ioaddr);
++}
++
+ static void rtl8169sce_hw_phy_config(void __iomem *ioaddr)
+ {
+ 	struct phy_reg phy_reg_init[] = {
+@@ -1681,6 +1746,9 @@ static void rtl_hw_phy_config(struct net_device *dev)
+ 	case RTL_GIGA_MAC_VER_04:
+ 		rtl8169sb_hw_phy_config(ioaddr);
+ 		break;
++	case RTL_GIGA_MAC_VER_05:
++		rtl8169scd_hw_phy_config(tp, ioaddr);
++		break;
+ 	case RTL_GIGA_MAC_VER_06:
+ 		rtl8169sce_hw_phy_config(ioaddr);
+ 		break;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169/r8169-13-phy-init-for-the-8169s.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169/r8169-13-phy-init-for-the-8169s.patch
@@ -0,0 +1,154 @@
+From 0b9b571d246d1c2621a5e4e5a0fa5cb95e18365d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?fran=C3=A7ois=20romieu?= <romieu@fr.zoreil.com>
+Date: Mon, 10 Aug 2009 19:44:56 +0000
+Subject: [PATCH] r8169: phy init for the 8169s
+
+Synced with Realtek's 6.011.00 r8169 driver.
+
+Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
+Cc: Edward Hsu <edward_hsu@realtek.com.tw>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/r8169.c |  116 ++++++++++++++++++++++++++------------------------
+ 1 files changed, 60 insertions(+), 56 deletions(-)
+
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index 4470fef..93a87aa 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -1222,17 +1222,6 @@ static const struct ethtool_ops rtl8169_ethtool_ops = {
+ 	.get_ethtool_stats	= rtl8169_get_ethtool_stats,
+ };
+ 
+-static void rtl8169_write_gmii_reg_bit(void __iomem *ioaddr, int reg,
+-				       int bitnum, int bitval)
+-{
+-	int val;
+-
+-	val = mdio_read(ioaddr, reg);
+-	val = (bitval == 1) ?
+-		val | (bitval << bitnum) :  val & ~(0x0001 << bitnum);
+-	mdio_write(ioaddr, reg, val & 0xffff);
+-}
+-
+ static void rtl8169_get_mac_version(struct rtl8169_private *tp,
+ 				    void __iomem *ioaddr)
+ {
+@@ -1328,54 +1317,69 @@ static void rtl_phy_write(void __iomem *ioaddr, struct phy_reg *regs, int len)
+ 
+ static void rtl8169s_hw_phy_config(void __iomem *ioaddr)
+ {
+-	struct {
+-		u16 regs[5]; /* Beware of bit-sign propagation */
+-	} phy_magic[5] = { {
+-		{ 0x0000,	//w 4 15 12 0
+-		  0x00a1,	//w 3 15 0 00a1
+-		  0x0008,	//w 2 15 0 0008
+-		  0x1020,	//w 1 15 0 1020
+-		  0x1000 } },{	//w 0 15 0 1000
+-		{ 0x7000,	//w 4 15 12 7
+-		  0xff41,	//w 3 15 0 ff41
+-		  0xde60,	//w 2 15 0 de60
+-		  0x0140,	//w 1 15 0 0140
+-		  0x0077 } },{	//w 0 15 0 0077
+-		{ 0xa000,	//w 4 15 12 a
+-		  0xdf01,	//w 3 15 0 df01
+-		  0xdf20,	//w 2 15 0 df20
+-		  0xff95,	//w 1 15 0 ff95
+-		  0xfa00 } },{	//w 0 15 0 fa00
+-		{ 0xb000,	//w 4 15 12 b
+-		  0xff41,	//w 3 15 0 ff41
+-		  0xde20,	//w 2 15 0 de20
+-		  0x0140,	//w 1 15 0 0140
+-		  0x00bb } },{	//w 0 15 0 00bb
+-		{ 0xf000,	//w 4 15 12 f
+-		  0xdf01,	//w 3 15 0 df01
+-		  0xdf20,	//w 2 15 0 df20
+-		  0xff95,	//w 1 15 0 ff95
+-		  0xbf00 }	//w 0 15 0 bf00
+-		}
+-	}, *p = phy_magic;
+-	unsigned int i;
++	struct phy_reg phy_reg_init[] = {
++		{ 0x1f, 0x0001 },
++		{ 0x06, 0x006e },
++		{ 0x08, 0x0708 },
++		{ 0x15, 0x4000 },
++		{ 0x18, 0x65c7 },
+ 
+-	mdio_write(ioaddr, 0x1f, 0x0001);		//w 31 2 0 1
+-	mdio_write(ioaddr, 0x15, 0x1000);		//w 21 15 0 1000
+-	mdio_write(ioaddr, 0x18, 0x65c7);		//w 24 15 0 65c7
+-	rtl8169_write_gmii_reg_bit(ioaddr, 4, 11, 0);	//w 4 11 11 0
++		{ 0x1f, 0x0001 },
++		{ 0x03, 0x00a1 },
++		{ 0x02, 0x0008 },
++		{ 0x01, 0x0120 },
++		{ 0x00, 0x1000 },
++		{ 0x04, 0x0800 },
++		{ 0x04, 0x0000 },
+ 
+-	for (i = 0; i < ARRAY_SIZE(phy_magic); i++, p++) {
+-		int val, pos = 4;
++		{ 0x03, 0xff41 },
++		{ 0x02, 0xdf60 },
++		{ 0x01, 0x0140 },
++		{ 0x00, 0x0077 },
++		{ 0x04, 0x7800 },
++		{ 0x04, 0x7000 },
+ 
+-		val = (mdio_read(ioaddr, pos) & 0x0fff) | (p->regs[0] & 0xffff);
+-		mdio_write(ioaddr, pos, val);
+-		while (--pos >= 0)
+-			mdio_write(ioaddr, pos, p->regs[4 - pos] & 0xffff);
+-		rtl8169_write_gmii_reg_bit(ioaddr, 4, 11, 1); //w 4 11 11 1
+-		rtl8169_write_gmii_reg_bit(ioaddr, 4, 11, 0); //w 4 11 11 0
+-	}
+-	mdio_write(ioaddr, 0x1f, 0x0000); //w 31 2 0 0
++		{ 0x03, 0x802f },
++		{ 0x02, 0x4f02 },
++		{ 0x01, 0x0409 },
++		{ 0x00, 0xf0f9 },
++		{ 0x04, 0x9800 },
++		{ 0x04, 0x9000 },
++
++		{ 0x03, 0xdf01 },
++		{ 0x02, 0xdf20 },
++		{ 0x01, 0xff95 },
++		{ 0x00, 0xba00 },
++		{ 0x04, 0xa800 },
++		{ 0x04, 0xa000 },
++
++		{ 0x03, 0xff41 },
++		{ 0x02, 0xdf20 },
++		{ 0x01, 0x0140 },
++		{ 0x00, 0x00bb },
++		{ 0x04, 0xb800 },
++		{ 0x04, 0xb000 },
++
++		{ 0x03, 0xdf41 },
++		{ 0x02, 0xdc60 },
++		{ 0x01, 0x6340 },
++		{ 0x00, 0x007d },
++		{ 0x04, 0xd800 },
++		{ 0x04, 0xd000 },
++
++		{ 0x03, 0xdf01 },
++		{ 0x02, 0xdf20 },
++		{ 0x01, 0x100a },
++		{ 0x00, 0xa0ff },
++		{ 0x04, 0xf800 },
++		{ 0x04, 0xf000 },
++
++		{ 0x1f, 0x0000 },
++		{ 0x0b, 0x0000 },
++		{ 0x00, 0x9200 }
++	};
++
++	rtl_phy_write(ioaddr, phy_reg_init, ARRAY_SIZE(phy_reg_init));
+ }
+ 
+ static void rtl8169sb_hw_phy_config(void __iomem *ioaddr)
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cyclades-fix-probe-error-path.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cyclades-fix-probe-error-path.patch
@@ -0,0 +1,28 @@
+commit c847d47cb7b2fa78b17c9e17ed3fbd010ee3d3ca
+Author: Andrew Morton <akpm@linux-foundation.org>
+Date:   Fri Jan 2 13:50:07 2009 +0000
+
+    drivers/char/cyclades.c: cy_pci_probe: fix error path
+    
+    We forgot to release resources in one case.
+    
+    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12137
+    
+    Reported-by: Florian Lohoff <flo@rfc822.org>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Alan Cox <alan@redhat.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
+index 5e5b1dc..6a59f72 100644
+--- a/drivers/char/cyclades.c
++++ b/drivers/char/cyclades.c
+@@ -5010,7 +5010,7 @@ static int __devinit cy_pci_probe(struct pci_dev *pdev,
+ 		if (nchan == 0) {
+ 			dev_err(&pdev->dev, "Cyclom-Y PCI host card with no "
+ 					"Serial-Modules\n");
+-			return -EIO;
++			goto err_unmap;
+ 		}
+ 	} else if (device_id == PCI_DEVICE_ID_CYCLOM_Z_Hi) {
+ 		struct RUNTIME_9060 __iomem *ctl_addr;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cifs-fix-memory-overwrite-when-saving-nativeFileSystem-field-during-mount.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cifs-fix-memory-overwrite-when-saving-nativeFileSystem-field-during-mount.patch
@@ -0,0 +1,29 @@
+commit b363b3304bcf68c4541683b2eff70b29f0446a5b
+Author: Steve French <sfrench@us.ibm.com>
+Date:   Wed Mar 18 05:57:22 2009 +0000
+
+    [CIFS] Fix memory overwrite when saving nativeFileSystem field during mount
+    
+    CIFS can allocate a few bytes to little for the nativeFileSystem field
+    during tree connect response processing during mount.  This can result
+    in a "Redzone overwritten" message to be logged.
+    
+    Signed-off-by: Sridhar Vinay <vinaysridhar@in.ibm.com>
+    Acked-by: Shirish Pargaonkar <shirishp@us.ibm.com>
+    CC: Stable <stable@kernel.org>
+    Signed-off-by: Steve French <sfrench@us.ibm.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/cifs/connect.c linux-source-2.6.26/fs/cifs/connect.c
+--- linux-source-2.6.26.orig/fs/cifs/connect.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/cifs/connect.c	2009-04-20 21:58:14.000000000 -0600
+@@ -3466,7 +3466,7 @@ CIFSTCon(unsigned int xid, struct cifsSe
+ 			    BCC(smb_buffer_response)) {
+ 				kfree(tcon->nativeFileSystem);
+ 				tcon->nativeFileSystem =
+-				    kzalloc(length + 2, GFP_KERNEL);
++				    kzalloc(2*(length + 1), GFP_KERNEL);
+ 				if (tcon->nativeFileSystem)
+ 					cifs_strfromUCS_le(
+ 						tcon->nativeFileSystem,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drivers-ata-sata_nv-broken-hardreset.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drivers-ata-sata_nv-broken-hardreset.patch
@@ -0,0 +1,203 @@
+Fix bug #498271.  This patch combines the following upstream changes:
+
+7dac745 sata_nv: give up hardreset on nf2
+8d993ea sata_nv: ck804 has borked hardreset too
+2d77570 sata_nv: fix MCP5x reset
+e8caa3c sata_nv: rename nv_nf2_hardreset()
+3c32428 sata_nv: fix generic, nf2/3 detection regression
+4c1eb90 sata_nv: reinstate nv_hardreset() for non generic controllers
+2fd673e sata_nv: disable hardreset for generic
+
+--- a/drivers/ata/sata_nv.c
++++ b/drivers/ata/sata_nv.c
+@@ -305,12 +305,12 @@ static void nv_ck804_host_stop(struct ata_host *host);
+ static int nv_scr_read(struct ata_port *ap, unsigned int sc_reg, u32 *val);
+ static int nv_scr_write(struct ata_port *ap, unsigned int sc_reg, u32 val);
+ 
++static int nv_noclassify_hardreset(struct ata_link *link, unsigned int *class,
++				   unsigned long deadline);
+ static void nv_nf2_freeze(struct ata_port *ap);
+ static void nv_nf2_thaw(struct ata_port *ap);
+ static void nv_ck804_freeze(struct ata_port *ap);
+ static void nv_ck804_thaw(struct ata_port *ap);
+-static int nv_hardreset(struct ata_link *link, unsigned int *class,
+-			unsigned long deadline);
+ static int nv_adma_slave_config(struct scsi_device *sdev);
+ static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc);
+ static void nv_adma_qc_prep(struct ata_queued_cmd *qc);
+@@ -352,6 +352,7 @@ enum nv_host_type
+ 	NFORCE3 = NFORCE2,	/* NF2 == NF3 as far as sata_nv is concerned */
+ 	CK804,
+ 	ADMA,
++	MCP5x,
+ 	SWNCQ,
+ };
+ 
+@@ -363,10 +364,10 @@ static const struct pci_device_id nv_pci_tbl[] = {
+ 	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2), CK804 },
+ 	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA), CK804 },
+ 	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2), CK804 },
+-	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA), SWNCQ },
+-	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA2), SWNCQ },
+-	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA), SWNCQ },
+-	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA2), SWNCQ },
++	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA), MCP5x },
++	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA2), MCP5x },
++	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA), MCP5x },
++	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA2), MCP5x },
+ 	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA), GENERIC },
+ 	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA2), GENERIC },
+ 	{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA3), GENERIC },
+@@ -405,28 +406,53 @@ static struct scsi_host_template nv_swncq_sht = {
+ 	.slave_configure	= nv_swncq_slave_config,
+ };
+ 
+-static struct ata_port_operations nv_generic_ops = {
++static struct ata_port_operations nv_common_ops = {
+ 	.inherits		= &ata_bmdma_port_ops,
+-	.hardreset		= nv_hardreset,
+ 	.scr_read		= nv_scr_read,
+ 	.scr_write		= nv_scr_write,
+ };
+ 
++/* OSDL bz11195 reports that link doesn't come online after hardreset
++ * on generic nv's and there have been several other similar reports
++ * on linux-ide.  Disable hardreset for generic nv's.
++ */
++static struct ata_port_operations nv_generic_ops = {
++	.inherits		= &nv_common_ops,
++	.hardreset		= ATA_OP_NULL,
++};
++
++/* nf2 is ripe with hardreset related problems.
++ *
++ * kernel bz#3352 reports nf2/3 controllers can't determine device
++ * signature reliably.  The following thread reports detection failure
++ * on cold boot with the standard debouncing timing.
++ *
++ * http://thread.gmane.org/gmane.linux.ide/34098
++ *
++ * And bz#12176 reports that hardreset simply doesn't work on nf2.
++ * Give up on it and just don't do hardreset.
++ */
+ static struct ata_port_operations nv_nf2_ops = {
+ 	.inherits		= &nv_generic_ops,
+ 	.freeze			= nv_nf2_freeze,
+ 	.thaw			= nv_nf2_thaw,
+ };
+ 
++/* For initial probing after boot and hot plugging, hardreset mostly
++ * works fine on CK804 but curiously, reprobing on the initial port by
++ * rescanning or rmmod/insmod fails to acquire the initial D2H Reg FIS
++ * in somewhat undeterministic way.  Use noclassify hardreset.
++ */
+ static struct ata_port_operations nv_ck804_ops = {
+-	.inherits		= &nv_generic_ops,
++	.inherits		= &nv_common_ops,
+ 	.freeze			= nv_ck804_freeze,
+ 	.thaw			= nv_ck804_thaw,
++	.hardreset		= nv_noclassify_hardreset,
+ 	.host_stop		= nv_ck804_host_stop,
+ };
+ 
+ static struct ata_port_operations nv_adma_ops = {
+-	.inherits		= &nv_generic_ops,
++	.inherits		= &nv_ck804_ops,
+ 
+ 	.check_atapi_dma	= nv_adma_check_atapi_dma,
+ 	.sff_tf_read		= nv_adma_tf_read,
+@@ -449,8 +476,19 @@ static struct ata_port_operations nv_adma_ops = {
+ 	.host_stop		= nv_adma_host_stop,
+ };
+ 
++/* Kernel bz#12351 reports that when SWNCQ is enabled, for hotplug to
++ * work, hardreset should be used and hardreset can't report proper
++ * signature, which suggests that mcp5x is closer to nf2 as long as
++ * reset quirkiness is concerned.  Define separate ops for mcp5x with
++ * nv_noclassify_hardreset().
++ */
++static struct ata_port_operations nv_mcp5x_ops = {
++	.inherits		= &nv_common_ops,
++	.hardreset		= nv_noclassify_hardreset,
++};
++
+ static struct ata_port_operations nv_swncq_ops = {
+-	.inherits		= &nv_generic_ops,
++	.inherits		= &nv_mcp5x_ops,
+ 
+ 	.qc_defer		= ata_std_qc_defer,
+ 	.qc_prep		= nv_swncq_qc_prep,
+@@ -513,6 +551,15 @@ static const struct ata_port_info nv_port_info[] = {
+ 		.port_ops	= &nv_adma_ops,
+ 		.private_data	= NV_PI_PRIV(nv_adma_interrupt, &nv_adma_sht),
+ 	},
++	/* MCP5x */
++	{
++		.flags		= ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY,
++		.pio_mask	= NV_PIO_MASK,
++		.mwdma_mask	= NV_MWDMA_MASK,
++		.udma_mask	= NV_UDMA_MASK,
++		.port_ops	= &nv_mcp5x_ops,
++		.private_data	= NV_PI_PRIV(nv_generic_interrupt, &nv_sht),
++	},
+ 	/* SWNCQ */
+ 	{
+ 		.flags	        = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
+@@ -1512,6 +1559,17 @@
+ 	return 0;
+ }
+ 
++static int nv_noclassify_hardreset(struct ata_link *link, unsigned int *class,
++				   unsigned long deadline)
++{
++	bool online;
++	int rc;
++
++	rc = sata_link_hardreset(link, sata_deb_timing_hotplug, deadline,
++				 &online, NULL);
++	return online ? -EAGAIN : rc;
++}
++
+ static void nv_nf2_freeze(struct ata_port *ap)
+ {
+ 	void __iomem *scr_addr = ap->host->ports[0]->ioaddr.scr_addr;
+@@ -1588,21 +1646,6 @@ static void nv_mcp55_thaw(struct ata_port *ap)
+ 	ata_sff_thaw(ap);
+ }
+ 
+-static int nv_hardreset(struct ata_link *link, unsigned int *class,
+-			unsigned long deadline)
+-{
+-	int rc;
+-
+-	/* SATA hardreset fails to retrieve proper device signature on
+-	 * some controllers.  Request follow up SRST.  For more info,
+-	 * see http://bugzilla.kernel.org/show_bug.cgi?id=3352
+-	 */
+-	rc = sata_sff_hardreset(link, class, deadline);
+-	if (rc)
+-		return rc;
+-	return -EAGAIN;
+-}
+-
+ static void nv_adma_error_handler(struct ata_port *ap)
+ {
+ 	struct nv_adma_port_priv *pp = ap->private_data;
+@@ -2341,14 +2384,9 @@ static int nv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	if (type == CK804 && adma_enabled) {
+ 		dev_printk(KERN_NOTICE, &pdev->dev, "Using ADMA mode\n");
+ 		type = ADMA;
+-	}
+-
+-	if (type == SWNCQ) {
+-		if (swncq_enabled)
+-			dev_printk(KERN_NOTICE, &pdev->dev,
+-				   "Using SWNCQ mode\n");
+-		else
+-			type = GENERIC;
++	} else if (type == MCP5x && swncq_enabled) {
++		dev_printk(KERN_NOTICE, &pdev->dev, "Using SWNCQ mode\n");
++		type = SWNCQ;
+ 	}
+ 
+ 	ppi[0] = &nv_port_info[type];
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/do_sigaltstack-small-cleanups.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/do_sigaltstack-small-cleanups.patch
@@ -0,0 +1,35 @@
+commit 0dd8486b5cfe8048e0613334659d9252ecd1b08a
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Sat Aug 1 11:18:56 2009 -0700
+
+    do_sigaltstack: small cleanups
+    
+    The previous commit ("do_sigaltstack: avoid copying 'stack_t' as a
+    structure to user space") fixed a real bug.  This one just cleans up the
+    copy from user space to that gcc can generate better code for it (and so
+    that it looks the same as the later copy back to user space).
+    
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.30 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.30.orig/kernel/signal.c linux-source-2.6.30/kernel/signal.c
+--- linux-source-2.6.30.orig/kernel/signal.c	2009-08-14 18:04:08.000000000 -0600
++++ linux-source-2.6.30/kernel/signal.c	2009-08-14 18:05:13.000000000 -0600
+@@ -2424,10 +2424,12 @@ do_sigaltstack (const stack_t __user *us
+ 		int ss_flags;
+ 
+ 		error = -EFAULT;
+-		if (!access_ok(VERIFY_READ, uss, sizeof(*uss))
+-		    || __get_user(ss_sp, &uss->ss_sp)
+-		    || __get_user(ss_flags, &uss->ss_flags)
+-		    || __get_user(ss_size, &uss->ss_size))
++		if (!access_ok(VERIFY_READ, uss, sizeof(*uss)))
++			goto out;
++		error = __get_user(ss_sp, &uss->ss_sp) |
++			__get_user(ss_flags, &uss->ss_flags) |
++			__get_user(ss_size, &uss->ss_size);
++		if (error)
+ 			goto out;
+ 
+ 		error = -EPERM;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cifs-increase-size-of-tmp_buf-in-cifs_readdir-to-avoid-potential-overflows.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cifs-increase-size-of-tmp_buf-in-cifs_readdir-to-avoid-potential-overflows.patch
@@ -0,0 +1,27 @@
+commit 7b0c8fcff47a885743125dd843db64af41af5a61
+Author: Suresh Jayaraman <sjayaraman@suse.de>
+Date:   Mon Apr 20 18:54:36 2009 +0530
+
+    cifs: Increase size of tmp_buf in cifs_readdir to avoid potential overflows
+    
+    Increase size of tmp_buf to possible maximum to avoid potential
+    overflows.
+    
+    Pointed-out-by: Jeff Layton <jlayton@redhat.com>
+    Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
+    Acked-by: Jeff Layton <jlayton@redhat.com>
+    Signed-off-by: Steve French <sfrench@us.ibm.com>
+
+diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c
+index 1a8be62..ebd0da7 100644
+--- a/fs/cifs/readdir.c
++++ b/fs/cifs/readdir.c
+@@ -1074,7 +1074,7 @@ int cifs_readdir(struct file *file, void *direntry, filldir_t filldir)
+ 		with the rare long characters alloc more to account for
+ 		such multibyte target UTF-8 characters. cifs_unicode.c,
+ 		which actually does the conversion, has the same limit */
+-		tmp_buf = kmalloc((2 * NAME_MAX) + 4, GFP_KERNEL);
++		tmp_buf = kmalloc((4 * NAME_MAX) + 2, GFP_KERNEL);
+ 		for (i = 0; (i < num_to_fill) && (rc == 0); i++) {
+ 			if (current_entry == NULL) {
+ 				/* evaluate whether this case is an error */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cifs-remove-unneeded-bcc_ptr-update-in-CIFSTCon.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cifs-remove-unneeded-bcc_ptr-update-in-CIFSTCon.patch
@@ -0,0 +1,26 @@
+commit 22c9d52bc03b880045ab1081890a38f11b272ae7
+Author: Jeff Layton <jlayton@redhat.com>
+Date:   Thu Apr 16 13:48:49 2009 -0400
+
+    cifs: remove unneeded bcc_ptr update in CIFSTCon
+    
+    This pointer isn't used again after this point. It's also not updated in
+    the ascii case, so there's no need to update it here.
+    
+    Pointed-out-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
+    Signed-off-by: Jeff Layton <jlayton@redhat.com>
+    Signed-off-by: Steve French <sfrench@us.ibm.com>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/cifs/connect.c linux-source-2.6.26/fs/cifs/connect.c
+--- linux-source-2.6.26.orig/fs/cifs/connect.c	2009-04-20 22:23:20.000000000 -0600
++++ linux-source-2.6.26/fs/cifs/connect.c	2009-04-20 22:22:19.000000000 -0600
+@@ -3472,7 +3472,6 @@ CIFSTCon(unsigned int xid, struct cifsSe
+ 						tcon->nativeFileSystem,
+ 						(__le16 *) bcc_ptr,
+ 						length, nls_codepage);
+-				bcc_ptr += (2 * length) + 2;
+ 			}
+ 			/* else do not bother copying these information fields*/
+ 		} else {
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/cifs-rename-cifs_strncpy_to_host-and-fix-buffer-size.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/cifs-rename-cifs_strncpy_to_host-and-fix-buffer-size.patch
@@ -0,0 +1,79 @@
+commit 968460ebd8006d55661dec0fb86712b40d71c413
+Author: Suresh Jayaraman <sjayaraman@suse.de>
+Date:   Mon Apr 20 18:54:21 2009 +0530
+
+    cifs: Rename cifs_strncpy_to_host and fix buffer size
+    
+    There is a possibility for the path_name and node_name buffers to
+    overflow if they contain charcters that are >2 bytes in the local
+    charset. Resize the buffer allocation so to avoid this possibility.
+    
+    Also, as pointed out by Jeff Layton, it would be appropriate to
+    rename the function to cifs_strlcpy_to_host to reflect the fact
+    that the copied string is always NULL terminated.
+    
+    Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
+    Acked-by: Jeff Layton <jlayton@redhat.com>
+    Signed-off-by: Steve French <sfrench@us.ibm.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/cifs/cifssmb.c linux-source-2.6.26/fs/cifs/cifssmb.c
+--- linux-source-2.6.26.orig/fs/cifs/cifssmb.c	2009-05-11 12:06:53.000000000 -0600
++++ linux-source-2.6.26/fs/cifs/cifssmb.c	2009-05-25 23:30:32.000000000 -0600
+@@ -88,29 +88,29 @@ static struct {
+  *	on failure - errno
+  */
+ static int
+-cifs_strncpy_to_host(char **dst, const char *src, const int maxlen,
++cifs_strlcpy_to_host(char **dst, const char *src, const int maxlen,
+ 		 const bool is_unicode, const struct nls_table *nls_codepage)
+ {
+ 	int plen;
+ 
+ 	if (is_unicode) {
+ 		plen = UniStrnlen((wchar_t *)src, maxlen);
+-		*dst = kmalloc(plen + 2, GFP_KERNEL);
++		*dst = kmalloc((4 * plen) + 2, GFP_KERNEL);
+ 		if (!*dst)
+-			goto cifs_strncpy_to_host_ErrExit;
++			goto cifs_strlcpy_to_host_ErrExit;
+ 		cifs_strfromUCS_le(*dst, (__le16 *)src, plen, nls_codepage);
++		(*dst)[plen] = 0;
++		(*dst)[plen+1] = 0; /* needed for Unicode */
+ 	} else {
+ 		plen = strnlen(src, maxlen);
+ 		*dst = kmalloc(plen + 2, GFP_KERNEL);
+ 		if (!*dst)
+-			goto cifs_strncpy_to_host_ErrExit;
+-		strncpy(*dst, src, plen);
++			goto cifs_strlcpy_to_host_ErrExit;
++		strlcpy(*dst, src, plen);
+ 	}
+-	(*dst)[plen] = 0;
+-	(*dst)[plen+1] = 0; /* harmless for ASCII case, needed for Unicode */
+ 	return 0;
+ 
+-cifs_strncpy_to_host_ErrExit:
++cifs_strlcpy_to_host_ErrExit:
+ 	cERROR(1, ("Failed to allocate buffer for string\n"));
+ 	return -ENOMEM;
+ }
+@@ -3966,7 +3966,7 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS
+ 		/* copy DfsPath */
+ 		temp = (char *)ref + le16_to_cpu(ref->DfsPathOffset);
+ 		max_len = data_end - temp;
+-		rc = cifs_strncpy_to_host(&(node->path_name), temp,
++		rc = cifs_strlcpy_to_host(&(node->path_name), temp,
+ 					max_len, is_unicode, nls_codepage);
+ 		if (rc)
+ 			goto parse_DFS_referrals_exit;
+@@ -3974,7 +3974,7 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS
+ 		/* copy link target UNC */
+ 		temp = (char *)ref + le16_to_cpu(ref->NetworkAddressOffset);
+ 		max_len = data_end - temp;
+-		rc = cifs_strncpy_to_host(&(node->node_name), temp,
++		rc = cifs_strlcpy_to_host(&(node->node_name), temp,
+ 					max_len, is_unicode, nls_codepage);
+ 		if (rc)
+ 			goto parse_DFS_referrals_exit;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/copy_process-fix-CLONE_PARENT-and-parent_exec_id-interaction.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/copy_process-fix-CLONE_PARENT-and-parent_exec_id-interaction.patch
@@ -0,0 +1,52 @@
+commit 2d5516cbb9daf7d0e342a2e3b0fc6f8c39a81205
+Author: Oleg Nesterov <oleg@redhat.com>
+Date:   Mon Mar 2 22:58:45 2009 +0100
+
+    copy_process: fix CLONE_PARENT && parent_exec_id interaction
+    
+    CLONE_PARENT can fool the ->self_exec_id/parent_exec_id logic. If we
+    re-use the old parent, we must also re-use ->parent_exec_id to make
+    sure exit_notify() sees the right ->xxx_exec_id's when the CLONE_PARENT'ed
+    task exits.
+    
+    Also, move down the "p->parent_exec_id = p->self_exec_id" thing, to place
+    two different cases together.
+    
+    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
+    Cc: Roland McGrath <roland@redhat.com>
+    Cc: Andrew Morton <akpm@linux-foundation.org>
+    Cc: David Howells <dhowells@redhat.com>
+    Cc: Serge E. Hallyn <serge@hallyn.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+diff -urpN linux-source-2.6.26.orig/kernel/fork.c linux-source-2.6.26/kernel/fork.c
+--- linux-source-2.6.26.orig/kernel/fork.c	2009-03-25 17:20:41.000000000 -0600
++++ linux-source-2.6.26/kernel/fork.c	2009-04-03 19:10:19.000000000 -0600
+@@ -1109,10 +1109,6 @@ static struct task_struct *copy_process(
+ #endif
+ 	clear_all_latency_tracing(p);
+ 
+-	/* Our parent execution domain becomes current domain
+-	   These must match for thread signalling to apply */
+-	p->parent_exec_id = p->self_exec_id;
+-
+ 	/* ok, now we should be set up.. */
+ 	p->exit_signal = (clone_flags & CLONE_THREAD) ? -1 : (clone_flags & CSIGNAL);
+ 	p->pdeath_signal = 0;
+@@ -1152,10 +1148,13 @@ static struct task_struct *copy_process(
+ 		set_task_cpu(p, smp_processor_id());
+ 
+ 	/* CLONE_PARENT re-uses the old parent */
+-	if (clone_flags & (CLONE_PARENT|CLONE_THREAD))
++	if (clone_flags & (CLONE_PARENT|CLONE_THREAD)) {
+ 		p->real_parent = current->real_parent;
+-	else
++		p->parent_exec_id = current->parent_exec_id;
++	} else {
+ 		p->real_parent = current;
++		p->parent_exec_id = current->self_exec_id;
++	}
+ 	p->parent = p->real_parent;
+ 
+ 	spin_lock(&current->sighand->siglock);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/dm-snapshot-fix-primary_pe-race.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/dm-snapshot-fix-primary_pe-race.patch
@@ -0,0 +1,107 @@
+From 7c5f78b9d7f21937e46c26db82976df4b459c95c Mon Sep 17 00:00:00 2001
+From: Mikulas Patocka <mpatocka@redhat.com>
+Date: Tue, 21 Oct 2008 17:44:51 +0100
+Subject: [PATCH] dm snapshot: fix primary_pe race
+
+Fix a race condition with primary_pe ref_count handling.
+
+put_pending_exception runs under dm_snapshot->lock, it does atomic_dec_and_test
+on primary_pe->ref_count, and later does atomic_read primary_pe->ref_count.
+
+__origin_write does atomic_dec_and_test on primary_pe->ref_count without holding
+dm_snapshot->lock.
+
+This opens the following race condition:
+Assume two CPUs, CPU1 is executing put_pending_exception (and holding
+dm_snapshot->lock). CPU2 is executing __origin_write in parallel.
+primary_pe->ref_count == 2.
+
+CPU1:
+if (primary_pe && atomic_dec_and_test(&primary_pe->ref_count))
+	origin_bios = bio_list_get(&primary_pe->origin_bios);
+... decrements primary_pe->ref_count to 1. Doesn't load origin_bios
+
+CPU2:
+if (first && atomic_dec_and_test(&primary_pe->ref_count)) {
+	flush_bios(bio_list_get(&primary_pe->origin_bios));
+	free_pending_exception(primary_pe);
+	/* If we got here, pe_queue is necessarily empty. */
+	return r;
+}
+... decrements primary_pe->ref_count to 0, submits pending bios, frees
+primary_pe.
+
+CPU1:
+if (!primary_pe || primary_pe != pe)
+	free_pending_exception(pe);
+... this has no effect.
+if (primary_pe && !atomic_read(&primary_pe->ref_count))
+	free_pending_exception(primary_pe);
+... sees ref_count == 0 (written by CPU 2), does double free !!
+
+This bug can happen only if someone is simultaneously writing to both the
+origin and the snapshot.
+
+If someone is writing only to the origin, __origin_write will submit kcopyd
+request after it decrements primary_pe->ref_count (so it can't happen that the
+finished copy races with primary_pe->ref_count decrementation).
+
+If someone is writing only to the snapshot, __origin_write isn't invoked at all
+and the race can't happen.
+
+The race happens when someone writes to the snapshot --- this creates
+pending_exception with primary_pe == NULL and starts copying. Then, someone
+writes to the same chunk in the snapshot, and __origin_write races with
+termination of already submitted request in pending_complete (that calls
+put_pending_exception).
+
+This race may be reason for bugs:
+  http://bugzilla.kernel.org/show_bug.cgi?id=11636
+  https://bugzilla.redhat.com/show_bug.cgi?id=465825
+
+The patch fixes the code to make sure that:
+1. If atomic_dec_and_test(&primary_pe->ref_count) returns false, the process
+must no longer dereference primary_pe (because someone else may free it under
+us).
+2. If atomic_dec_and_test(&primary_pe->ref_count) returns true, the process
+is responsible for freeing primary_pe.
+
+Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
+Signed-off-by: Alasdair G Kergon <agk@redhat.com>
+Cc: stable@kernel.org
+---
+ drivers/md/dm-snap.c |   10 +++-------
+ 1 files changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
+index 6e5528a..4ed9b7a 100644
+--- a/drivers/md/dm-snap.c
++++ b/drivers/md/dm-snap.c
+@@ -824,8 +824,10 @@ static struct bio *put_pending_exception(struct dm_snap_pending_exception *pe)
+ 	 * the bios for the original write to the origin.
+ 	 */
+ 	if (primary_pe &&
+-	    atomic_dec_and_test(&primary_pe->ref_count))
++	    atomic_dec_and_test(&primary_pe->ref_count)) {
+ 		origin_bios = bio_list_get(&primary_pe->origin_bios);
++		free_pending_exception(primary_pe);
++	}
+ 
+ 	/*
+ 	 * Free the pe if it's not linked to an origin write or if
+@@ -834,12 +836,6 @@ static struct bio *put_pending_exception(struct dm_snap_pending_exception *pe)
+ 	if (!primary_pe || primary_pe != pe)
+ 		free_pending_exception(pe);
+ 
+-	/*
+-	 * Free the primary pe if nothing references it.
+-	 */
+-	if (primary_pe && !atomic_read(&primary_pe->ref_count))
+-		free_pending_exception(primary_pe);
+-
+ 	return origin_bios;
+ }
+ 
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/do_sigaltstack-avoid-copying-stack_t-as-a-structure-to-userspace.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/do_sigaltstack-avoid-copying-stack_t-as-a-structure-to-userspace.patch
@@ -0,0 +1,61 @@
+commit 0083fc2c50e6c5127c2802ad323adf8143ab7856
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Sat Aug 1 10:34:56 2009 -0700
+
+    do_sigaltstack: avoid copying 'stack_t' as a structure to user space
+    
+    Ulrich Drepper correctly points out that there is generally padding in
+    the structure on 64-bit hosts, and that copying the structure from
+    kernel to user space can leak information from the kernel stack in those
+    padding bytes.
+    
+    Avoid the whole issue by just copying the three members one by one
+    instead, which also means that the function also can avoid the need for
+    a stack frame.  This also happens to match how we copy the new structure
+    from user space, so it all even makes sense.
+    
+    [ The obvious solution of adding a memset() generates horrid code, gcc
+      does really stupid things. ]
+    
+    Reported-by: Ulrich Drepper <drepper@redhat.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.30 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.30.orig/kernel/signal.c linux-source-2.6.30/kernel/signal.c
+--- linux-source-2.6.30.orig/kernel/signal.c	2009-08-14 18:03:20.000000000 -0600
++++ linux-source-2.6.30/kernel/signal.c	2009-08-14 18:04:08.000000000 -0600
+@@ -2414,11 +2414,9 @@ do_sigaltstack (const stack_t __user *us
+ 	stack_t oss;
+ 	int error;
+ 
+-	if (uoss) {
+-		oss.ss_sp = (void __user *) current->sas_ss_sp;
+-		oss.ss_size = current->sas_ss_size;
+-		oss.ss_flags = sas_ss_flags(sp);
+-	}
++	oss.ss_sp = (void __user *) current->sas_ss_sp;
++	oss.ss_size = current->sas_ss_size;
++	oss.ss_flags = sas_ss_flags(sp);
+ 
+ 	if (uss) {
+ 		void __user *ss_sp;
+@@ -2461,13 +2459,16 @@ do_sigaltstack (const stack_t __user *us
+ 		current->sas_ss_size = ss_size;
+ 	}
+ 
++	error = 0;
+ 	if (uoss) {
+ 		error = -EFAULT;
+-		if (copy_to_user(uoss, &oss, sizeof(oss)))
++		if (!access_ok(VERIFY_WRITE, uoss, sizeof(*uoss)))
+ 			goto out;
++		error = __put_user(oss.ss_sp, &uoss->ss_sp) |
++			__put_user(oss.ss_size, &uoss->ss_size) |
++			__put_user(oss.ss_flags, &uoss->ss_flags);
+ 	}
+ 
+-	error = 0;
+ out:
+ 	return error;
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/e1000-add-missing-length-check-to-e1000-receive-routine.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/e1000-add-missing-length-check-to-e1000-receive-routine.patch
@@ -0,0 +1,46 @@
+commit ea30e11970a96cfe5e32c03a29332554573b4a10
+Author: Neil Horman <nhorman@tuxdriver.com>
+Date:   Tue Jun 2 01:29:58 2009 -0700
+
+    e1000: add missing length check to e1000 receive routine
+    
+    	Patch to fix bad length checking in e1000.  E1000 by default does two
+    things:
+    
+    1) Spans rx descriptors for packets that don't fit into 1 skb on recieve
+    2) Strips the crc from a frame by subtracting 4 bytes from the length prior to
+    doing an skb_put
+    
+    Since the e1000 driver isn't written to support receiving packets that span
+    multiple rx buffers, it checks the End of Packet bit of every frame, and
+    discards it if its not set.  This places us in a situation where, if we have a
+    spanning packet, the first part is discarded, but the second part is not (since
+    it is the end of packet, and it passes the EOP bit test).  If the second part of
+    the frame is small (4 bytes or less), we subtract 4 from it to remove its crc,
+    underflow the length, and wind up in skb_over_panic, when we try to skb_put a
+    huge number of bytes into the skb.  This amounts to a remote DOS attack through
+    careful selection of frame size in relation to interface MTU.  The fix for this
+    is already in the e1000e driver, as well as the e1000 sourceforge driver, but no
+    one ever pushed it to e1000.  This is lifted straight from e1000e, and prevents
+    small frames from causing the underflow described above
+    
+    Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
+    Tested-by: Andy Gospodarek <andy@greyhouse.net>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
+index b1419e2..fffb006 100644
+--- a/drivers/net/e1000/e1000_main.c
++++ b/drivers/net/e1000/e1000_main.c
+@@ -4027,8 +4027,9 @@ static bool e1000_clean_rx_irq(struct e1000_adapter *adapter,
+ 		                 PCI_DMA_FROMDEVICE);
+ 
+ 		length = le16_to_cpu(rx_desc->length);
+-
+-		if (unlikely(!(status & E1000_RXD_STAT_EOP))) {
++		/* !EOP means multiple descriptors were used to store a single
++		 * packet, also make sure the frame isn't just CRC only */
++		if (unlikely(!(status & E1000_RXD_STAT_EOP) || (length <= 4))) {
+ 			/* All receives must fit into a single buffer */
+ 			E1000_DBG("%s: Receive packet consumed multiple"
+ 				  " buffers\n", netdev->name);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/dont-allow-splice-to-files-opened-with-O_APPEND.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/dont-allow-splice-to-files-opened-with-O_APPEND.patch
@@ -0,0 +1,39 @@
+commit efc968d450e013049a662d22727cf132618dcb2f
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Thu Oct 9 14:04:54 2008 -0700
+
+    Don't allow splice() to files opened with O_APPEND
+    
+    This is debatable, but while we're debating it, let's disallow the
+    combination of splice and an O_APPEND destination.
+    
+    It's not entirely clear what the semantics of O_APPEND should be, and
+    POSIX apparently expects pwrite() to ignore O_APPEND, for example.  So
+    we could make up any semantics we want, including the old ones.
+    
+    But Miklos convinced me that we should at least give it some thought,
+    and that accepting writes at arbitrary offsets is wrong at least for
+    IS_APPEND() files (which always have O_APPEND set, even if the reverse
+    isn't true: you can obviously have O_APPEND set on a regular file).
+    
+    So disallow O_APPEND entirely for now.  I doubt anybody cares, and this
+    way we have one less gray area to worry about.
+    
+    Reported-and-argued-for-by: Miklos Szeredi <miklos@szeredi.hu>
+    Acked-by: Jens Axboe <ens.axboe@oracle.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/fs/splice.c b/fs/splice.c
+index 1bbc6f4..a1e701c 100644
+--- a/fs/splice.c
++++ b/fs/splice.c
+@@ -898,6 +898,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+ 	if (unlikely(!(out->f_mode & FMODE_WRITE)))
+ 		return -EBADF;
+ 
++	if (unlikely(out->f_flags & O_APPEND))
++		return -EINVAL;
++
+ 	ret = rw_verify_area(WRITE, out, ppos, len);
+ 	if (unlikely(ret < 0))
+ 		return ret;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drivers-acpi-asus_acpi-unsupported-models.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drivers-acpi-asus_acpi-unsupported-models.patch
@@ -0,0 +1,19 @@
+Fix bug #524300.  The upstream change was:
+
+commit 7745384080ef70f7710530afa3e45477b126e056
+Author: Zhang Rui <rui.zhang@intel.com>
+Date:   Fri Oct 17 01:42:41 2008 -0400
+
+    don't load asus-acpi if model is not supported
+
+--- a/drivers/acpi/asus_acpi.c
++++ b/drivers/acpi/asus_acpi.c
+@@ -1244,6 +1244,8 @@ static int asus_hotk_get_info(void)
+ 			       "default values\n", string);
+ 			printk(KERN_NOTICE
+ 			       "  send /proc/acpi/dsdt to the developers\n");
++			kfree(model);
++			return -ENODEV;
+ 		}
+ 		hotk->methods = &model_conf[hotk->model];
+ 		return AE_OK;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drivers-char-agp-intel-correct-gm4x-stolen.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drivers-char-agp-intel-correct-gm4x-stolen.patch
@@ -0,0 +1,104 @@
+commit 99d32bd5c7b1caa05d1fe3c89b08aabd459bc12a
+Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date:   Wed Jul 30 12:26:50 2008 -0700
+
+    intel_agp: official name for GM45 chipset
+
+    Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
+    Cc: Dave Airlie <airlied@linux.ie>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 82e14a6215cbc9804ecc35281e973c6c8ce22fe7
+Author: Eric Anholt <eric@anholt.net>
+Date:   Tue Oct 14 11:28:58 2008 -0700
+
+    agp: Fix stolen memory counting on G4X.
+
+    On the GM45, the amount of stolen memory mapped to the GTT was underestimated,
+    even though we had 508KB more available since the GTT doesn't take from
+    stolen memory. On the non-GM45 G4X, we overestimated how much stolen was
+    mapped to the GTT by 4KB, resulting in GPU page faults when that page was
+    accessed.
+
+    This update requires a corresponding update to xf86-video-intel to work
+    correctly.
+
+    Signed-off-by: Eric Anholt <eric@anholt.net>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+--- a/drivers/char/agp/intel-agp.c
++++ b/drivers/char/agp/intel-agp.c
+@@ -32,8 +32,8 @@
+ #define PCI_DEVICE_ID_INTEL_Q35_IG          0x29B2
+ #define PCI_DEVICE_ID_INTEL_Q33_HB          0x29D0
+ #define PCI_DEVICE_ID_INTEL_Q33_IG          0x29D2
+-#define PCI_DEVICE_ID_INTEL_IGD_HB          0x2A40
+-#define PCI_DEVICE_ID_INTEL_IGD_IG          0x2A42
++#define PCI_DEVICE_ID_INTEL_GM45_HB         0x2A40
++#define PCI_DEVICE_ID_INTEL_GM45_IG         0x2A42
+ #define PCI_DEVICE_ID_INTEL_IGD_E_HB        0x2E00
+ #define PCI_DEVICE_ID_INTEL_IGD_E_IG        0x2E02
+ #define PCI_DEVICE_ID_INTEL_Q45_HB          0x2E10
+@@ -54,8 +54,7 @@
+ 		 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965Q_HB || \
+ 		 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965G_HB || \
+ 		 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965GM_HB || \
+-		 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965GME_HB || \
+-		 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGD_HB)
++		 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82965GME_HB)
+ 
+ #define IS_G33 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G33_HB || \
+ 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q35_HB || \
+@@ -63,7 +62,8 @@
+ 
+ #define IS_G4X (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGD_E_HB || \
+ 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q45_HB || \
+-		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G45_HB)
++		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G45_HB || \
++		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_GM45_HB)
+ 
+ extern int agp_memory_reserved;
+ 
+@@ -525,8 +525,10 @@
+ 		size += 4;
+ 	} else if (IS_G4X) {
+ 		/* On 4 series hardware, GTT stolen is separate from graphics
+-		 * stolen, ignore it in stolen gtt entries counting */
+-		size = 0;
++		 * stolen, ignore it in stolen gtt entries counting.  However,
++		 * 4KB of the stolen memory doesn't get mapped to the GTT.
++		 */
++		size = 4;
+ 	} else {
+ 		/* On previous hardware, the GTT size was just what was
+ 		 * required to map the aperture.
+@@ -1182,7 +1184,7 @@
+ static void intel_i965_get_gtt_range(int *gtt_offset, int *gtt_size)
+ {
+ 	switch (agp_bridge->dev->device) {
+-	case PCI_DEVICE_ID_INTEL_IGD_HB:
++	case PCI_DEVICE_ID_INTEL_GM45_HB:
+ 	case PCI_DEVICE_ID_INTEL_IGD_E_HB:
+ 	case PCI_DEVICE_ID_INTEL_Q45_HB:
+ 	case PCI_DEVICE_ID_INTEL_G45_HB:
+@@ -2117,8 +2119,8 @@
+ 		NULL, &intel_g33_driver },
+ 	{ PCI_DEVICE_ID_INTEL_Q33_HB, PCI_DEVICE_ID_INTEL_Q33_IG, 0, "Q33",
+ 		NULL, &intel_g33_driver },
+-	{ PCI_DEVICE_ID_INTEL_IGD_HB, PCI_DEVICE_ID_INTEL_IGD_IG, 0,
+-	    "Intel Integrated Graphics Device", NULL, &intel_i965_driver },
++	{ PCI_DEVICE_ID_INTEL_GM45_HB, PCI_DEVICE_ID_INTEL_GM45_IG, 0,
++	    "Mobile Intel? GM45 Express", NULL, &intel_i965_driver },
+ 	{ PCI_DEVICE_ID_INTEL_IGD_E_HB, PCI_DEVICE_ID_INTEL_IGD_E_IG, 0,
+ 	    "Intel Integrated Graphics Device", NULL, &intel_i965_driver },
+ 	{ PCI_DEVICE_ID_INTEL_Q45_HB, PCI_DEVICE_ID_INTEL_Q45_IG, 0,
+@@ -2315,7 +2317,7 @@
+ 	ID(PCI_DEVICE_ID_INTEL_G33_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_Q35_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_Q33_HB),
+-	ID(PCI_DEVICE_ID_INTEL_IGD_HB),
++	ID(PCI_DEVICE_ID_INTEL_GM45_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_IGD_E_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_Q45_HB),
+ 	ID(PCI_DEVICE_ID_INTEL_G45_HB),
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drivers-char-drm-r128-ioctl-add-init-test.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drivers-char-drm-r128-ioctl-add-init-test.patch
@@ -0,0 +1,215 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sat, 15 Aug 2009 19:22:39 +0100
+Subject: [PATCH] r128: Add test for initialisation to all ioctls that require it
+
+Almost all r128's private ioctls require that the CCE state has
+already been initialised.  However, most do not test that this has
+been done, and will proceed to dereference a null pointer.  This may
+result in a security vulnerability, since some ioctls are
+unprivileged.
+
+This adds a macro for the common initialisation test and changes all
+ioctl implementations that require prior initialisation to use that
+macro.
+
+Also, r128_do_init_cce() does not test that the CCE state has not
+been initialised already.  Repeated initialisation may lead to a crash
+or resource leak.  This adds that test.
+
+--- a/drivers/char/drm/r128_cce.c
++++ b/drivers/char/drm/r128_cce.c
+@@ -353,6 +353,11 @@ static int r128_do_init_cce(struct drm_device * dev, drm_r128_init_t * init)
+ 
+ 	DRM_DEBUG("\n");
+ 
++	if (dev->dev_private) {
++		DRM_DEBUG("called when already initialized\n");
++		return -EINVAL;
++	}
++
+ 	dev_priv = drm_alloc(sizeof(drm_r128_private_t), DRM_MEM_DRIVER);
+ 	if (dev_priv == NULL)
+ 		return -ENOMEM;
+@@ -649,6 +654,8 @@ int r128_cce_start(struct drm_device *dev, void *data, struct drm_file *file_pri
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	if (dev_priv->cce_running || dev_priv->cce_mode == R128_PM4_NONPM4) {
+ 		DRM_DEBUG("while CCE running\n");
+ 		return 0;
+@@ -671,6 +678,8 @@ int r128_cce_stop(struct drm_device *dev, void *data, struct drm_file *file_priv
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	/* Flush any pending CCE commands.  This ensures any outstanding
+ 	 * commands are exectuted by the engine before we turn it off.
+ 	 */
+@@ -708,10 +717,7 @@ int r128_cce_reset(struct drm_device *dev, void *data, struct drm_file *file_pri
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
+-	if (!dev_priv) {
+-		DRM_DEBUG("called before init done\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	r128_do_cce_reset(dev_priv);
+ 
+@@ -728,6 +734,8 @@ int r128_cce_idle(struct drm_device *dev, void *data, struct drm_file *file_priv
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	if (dev_priv->cce_running) {
+ 		r128_do_cce_flush(dev_priv);
+ 	}
+@@ -741,6 +749,8 @@ int r128_engine_reset(struct drm_device *dev, void *data, struct drm_file *file_
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev->dev_private);
++
+ 	return r128_do_engine_reset(dev);
+ }
+ 
+--- a/drivers/char/drm/r128_drv.h
++++ b/drivers/char/drm/r128_drv.h
+@@ -422,6 +422,14 @@ static __inline__ void r128_update_ring_snapshot(drm_r128_private_t * dev_priv)
+  * Misc helper macros
+  */
+ 
++#define DEV_INIT_TEST_WITH_RETURN(_dev_priv)				\
++do {									\
++	if (!_dev_priv) {						\
++		DRM_ERROR("called with no initialization\n");		\
++		return -EINVAL;						\
++	}								\
++} while (0)
++
+ #define RING_SPACE_TEST_WITH_RETURN( dev_priv )				\
+ do {									\
+ 	drm_r128_ring_buffer_t *ring = &dev_priv->ring; int i;		\
+--- a/drivers/char/drm/r128_state.c
++++ b/drivers/char/drm/r128_state.c
+@@ -1244,14 +1244,18 @@ static void r128_cce_dispatch_stipple(struct drm_device * dev, u32 * stipple)
+ static int r128_cce_clear(struct drm_device *dev, void *data, struct drm_file *file_priv)
+ {
+ 	drm_r128_private_t *dev_priv = dev->dev_private;
+-	drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv;
++	drm_r128_sarea_t *sarea_priv;
+ 	drm_r128_clear_t *clear = data;
+ 	DRM_DEBUG("\n");
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	RING_SPACE_TEST_WITH_RETURN(dev_priv);
+ 
++	sarea_priv = dev_priv->sarea_priv;
++
+ 	if (sarea_priv->nbox > R128_NR_SAREA_CLIPRECTS)
+ 		sarea_priv->nbox = R128_NR_SAREA_CLIPRECTS;
+ 
+@@ -1312,6 +1316,8 @@ static int r128_cce_flip(struct drm_device *dev, void *data, struct drm_file *fi
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	RING_SPACE_TEST_WITH_RETURN(dev_priv);
+ 
+ 	if (!dev_priv->page_flipping)
+@@ -1331,6 +1337,8 @@ static int r128_cce_swap(struct drm_device *dev, void *data, struct drm_file *fi
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	RING_SPACE_TEST_WITH_RETURN(dev_priv);
+ 
+ 	if (sarea_priv->nbox > R128_NR_SAREA_CLIPRECTS)
+@@ -1354,10 +1362,7 @@ static int r128_cce_vertex(struct drm_device *dev, void *data, struct drm_file *
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
+-	if (!dev_priv) {
+-		DRM_ERROR("called with no initialization\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	DRM_DEBUG("pid=%d index=%d count=%d discard=%d\n",
+ 		  DRM_CURRENTPID, vertex->idx, vertex->count, vertex->discard);
+@@ -1410,10 +1415,7 @@ static int r128_cce_indices(struct drm_device *dev, void *data, struct drm_file
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
+-	if (!dev_priv) {
+-		DRM_ERROR("called with no initialization\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	DRM_DEBUG("pid=%d buf=%d s=%d e=%d d=%d\n", DRM_CURRENTPID,
+ 		  elts->idx, elts->start, elts->end, elts->discard);
+@@ -1476,6 +1478,8 @@ static int r128_cce_blit(struct drm_device *dev, void *data, struct drm_file *fi
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	DRM_DEBUG("pid=%d index=%d\n", DRM_CURRENTPID, blit->idx);
+ 
+ 	if (blit->idx < 0 || blit->idx >= dma->buf_count) {
+@@ -1501,6 +1505,8 @@ static int r128_cce_depth(struct drm_device *dev, void *data, struct drm_file *f
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	RING_SPACE_TEST_WITH_RETURN(dev_priv);
+ 
+ 	ret = -EINVAL;
+@@ -1531,6 +1537,8 @@ static int r128_cce_stipple(struct drm_device *dev, void *data, struct drm_file
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	if (DRM_COPY_FROM_USER(&mask, stipple->mask, 32 * sizeof(u32)))
+ 		return -EFAULT;
+ 
+@@ -1555,10 +1563,7 @@ static int r128_cce_indirect(struct drm_device *dev, void *data, struct drm_file
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
+-	if (!dev_priv) {
+-		DRM_ERROR("called with no initialization\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	DRM_DEBUG("idx=%d s=%d e=%d d=%d\n",
+ 		  indirect->idx, indirect->start, indirect->end,
+@@ -1620,10 +1625,7 @@ static int r128_getparam(struct drm_device *dev, void *data, struct drm_file *fi
+ 	drm_r128_getparam_t *param = data;
+ 	int value;
+ 
+-	if (!dev_priv) {
+-		DRM_ERROR("called with no initialization\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	DRM_DEBUG("pid=%d\n", DRM_CURRENTPID);
+ 
+-- 
+1.6.3.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drivers-net-atl1e-multicast-crc.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drivers-net-atl1e-multicast-crc.patch
@@ -0,0 +1,36 @@
+commit 7ee0fddfe05f105d3346aa8774695e7130697836
+Author: J. K. Cliburn <jcliburn@gmail.com>
+Date:   Tue Nov 11 16:21:48 2008 -0600
+
+    atl1e: fix broken multicast by removing unnecessary crc inversion
+    
+    Inverting the crc after calling ether_crc_le() is unnecessary and breaks
+    multicast. Remove it.
+    
+    Tested-by: David Madore <david.madore@ens.fr>
+    Signed-off-by: Jay Cliburn <jcliburn@gmail.com>
+    Cc: stable@kernel.org
+    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+
+diff --git a/drivers/net/atl1e/atl1e_hw.c b/drivers/net/atl1e/atl1e_hw.c
+index 8cbc1b5..4a77006 100644
+--- a/drivers/net/atl1e/atl1e_hw.c
++++ b/drivers/net/atl1e/atl1e_hw.c
+@@ -163,9 +163,6 @@ int atl1e_read_mac_addr(struct atl1e_hw *hw)
+  * atl1e_hash_mc_addr
+  *  purpose
+  *      set hash value for a multicast address
+- *      hash calcu processing :
+- *          1. calcu 32bit CRC for multicast address
+- *          2. reverse crc with MSB to LSB
+  */
+ u32 atl1e_hash_mc_addr(struct atl1e_hw *hw, u8 *mc_addr)
+ {
+@@ -174,7 +171,6 @@ u32 atl1e_hash_mc_addr(struct atl1e_hw *hw, u8 *mc_addr)
+ 	int i;
+ 
+ 	crc32 = ether_crc_le(6, mc_addr);
+-	crc32 = ~crc32;
+ 	for (i = 0; i < 32; i++)
+ 		value |= (((crc32 >> i) & 1) << (31 - i));
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drivers-net-r8169-multicast-8101-8168.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drivers-net-r8169-multicast-8101-8168.patch
@@ -0,0 +1,28 @@
+Fix bug #514268.  This patch combines the following upstream changes:
+
+1087f4f r8169: multicast register update (sync with Realtek's 8.004.00 8168 driver)
+f887cce r8169: multicast register update
+
+--- b/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -3091,15 +3091,11 @@
+ 	tmp = rtl8169_rx_config | rx_mode |
+ 	      (RTL_R32(RxConfig) & rtl_chip_info[tp->chipset].RxConfigMask);
+ 
+-	if ((tp->mac_version == RTL_GIGA_MAC_VER_11) ||
+-	    (tp->mac_version == RTL_GIGA_MAC_VER_12) ||
+-	    (tp->mac_version == RTL_GIGA_MAC_VER_13) ||
+-	    (tp->mac_version == RTL_GIGA_MAC_VER_14) ||
+-	    (tp->mac_version == RTL_GIGA_MAC_VER_15) ||
+-	    (tp->mac_version == RTL_GIGA_MAC_VER_16) ||
+-	    (tp->mac_version == RTL_GIGA_MAC_VER_17)) {
+-		mc_filter[0] = 0xffffffff;
+-		mc_filter[1] = 0xffffffff;
++	if (tp->mac_version > RTL_GIGA_MAC_VER_06) {
++		u32 data = mc_filter[0];
++
++		mc_filter[0] = swab32(mc_filter[1]);
++		mc_filter[1] = swab32(data);
+ 	}
+ 
+ 	RTL_W32(MAR0 + 0, mc_filter[0]);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drivers-net-wireless-iwl4965-scan-cancel.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drivers-net-wireless-iwl4965-scan-cancel.patch
@@ -0,0 +1,23 @@
+Fix bug #530884.  The upstream change was:
+
+commit 964d2777438bf7687324243d38ade538d9bbfe3c
+Author: John W. Linville <linville@tuxdriver.com>
+Date:   Thu Oct 30 14:12:21 2008 -0400
+
+    iwlagn: avoid sleep in softirq context
+
+--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
++++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
+@@ -6791,7 +6791,11 @@ static void iwl4965_mac_update_tkip_key(struct ieee80211_hw *hw,
+ 		return;
+ 	}
+ 
+-	iwl4965_scan_cancel_timeout(priv, 100);
++	if (iwl4965_scan_cancel(priv)) {
++		/* cancel scan failed, just live w/ bad key and rely
++		   briefly on SW decryption */
++		return;
++	}
+ 
+ 	key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK);
+ 	key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drivers-wireless-rt2x00-rt61pci-sleep.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drivers-wireless-rt2x00-rt61pci-sleep.patch
@@ -0,0 +1,16 @@
+diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
+index fbe2a65..087e90b 100644
+--- a/drivers/net/wireless/rt2x00/rt61pci.c
++++ b/drivers/net/wireless/rt2x00/rt61pci.c
+@@ -1004,6 +1004,11 @@ static int rt61pci_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data,
+ 	}
+ 
+ 	/*
++	 * Hardware needs another millisecond before it is ready.
++	 */
++	msleep(1);
++
++	/*
+ 	 * Reset MAC and BBP registers.
+ 	 */
+ 	reg = 0;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/drm+r128-Add-test-for-init-to-all-reqd-ioctls.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/drm+r128-Add-test-for-init-to-all-reqd-ioctls.patch
@@ -0,0 +1,222 @@
+commit 7dc482dfeeeefcfd000d4271c4626937406756d7
+Author: Ben Hutchings <ben@decadent.org.uk>
+Date:   Sun Aug 23 16:59:04 2009 +0100
+
+    drm/r128: Add test for initialisation to all ioctls that require it
+    
+    Almost all r128's private ioctls require that the CCE state has
+    already been initialised.  However, most do not test that this has
+    been done, and will proceed to dereference a null pointer.  This may
+    result in a security vulnerability, since some ioctls are
+    unprivileged.
+    
+    This adds a macro for the common initialisation test and changes all
+    ioctl implementations that require prior initialisation to use that
+    macro.
+    
+    Also, r128_do_init_cce() does not test that the CCE state has not
+    been initialised already.  Repeated initialisation may lead to a crash
+    or resource leak.  This adds that test.
+    
+    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/char/drm/r128_cce.c linux-source-2.6.26/drivers/char/drm/r128_cce.c
+--- linux-source-2.6.26.orig/drivers/char/drm/r128_cce.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/char/drm/r128_cce.c	2009-10-27 21:54:39.000000000 -0600
+@@ -353,6 +353,11 @@ static int r128_do_init_cce(struct drm_d
+ 
+ 	DRM_DEBUG("\n");
+ 
++	if (dev->dev_private) {
++		DRM_DEBUG("called when already initialized\n");
++		return -EINVAL;
++	}
++
+ 	dev_priv = drm_alloc(sizeof(drm_r128_private_t), DRM_MEM_DRIVER);
+ 	if (dev_priv == NULL)
+ 		return -ENOMEM;
+@@ -651,6 +656,8 @@ int r128_cce_start(struct drm_device *de
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	if (dev_priv->cce_running || dev_priv->cce_mode == R128_PM4_NONPM4) {
+ 		DRM_DEBUG("while CCE running\n");
+ 		return 0;
+@@ -673,6 +680,8 @@ int r128_cce_stop(struct drm_device *dev
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	/* Flush any pending CCE commands.  This ensures any outstanding
+ 	 * commands are exectuted by the engine before we turn it off.
+ 	 */
+@@ -710,10 +719,7 @@ int r128_cce_reset(struct drm_device *de
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
+-	if (!dev_priv) {
+-		DRM_DEBUG("called before init done\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	r128_do_cce_reset(dev_priv);
+ 
+@@ -730,6 +736,8 @@ int r128_cce_idle(struct drm_device *dev
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	if (dev_priv->cce_running) {
+ 		r128_do_cce_flush(dev_priv);
+ 	}
+@@ -743,6 +751,8 @@ int r128_engine_reset(struct drm_device 
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev->dev_private);
++
+ 	return r128_do_engine_reset(dev);
+ }
+ 
+diff -urpN linux-source-2.6.26.orig/drivers/char/drm/r128_drv.h linux-source-2.6.26/drivers/char/drm/r128_drv.h
+--- linux-source-2.6.26.orig/drivers/char/drm/r128_drv.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/char/drm/r128_drv.h	2009-10-27 21:53:33.000000000 -0600
+@@ -418,6 +418,14 @@ static __inline__ void r128_update_ring_
+  * Misc helper macros
+  */
+ 
++#define DEV_INIT_TEST_WITH_RETURN(_dev_priv)				\
++do {									\
++	if (!_dev_priv) {						\
++		DRM_ERROR("called with no initialization\n");		\
++		return -EINVAL;						\
++	}								\
++} while (0)
++
+ #define RING_SPACE_TEST_WITH_RETURN( dev_priv )				\
+ do {									\
+ 	drm_r128_ring_buffer_t *ring = &dev_priv->ring; int i;		\
+diff -urpN linux-source-2.6.26.orig/drivers/char/drm/r128_state.c linux-source-2.6.26/drivers/char/drm/r128_state.c
+--- linux-source-2.6.26.orig/drivers/char/drm/r128_state.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/char/drm/r128_state.c	2009-10-27 21:53:37.000000000 -0600
+@@ -1244,14 +1244,18 @@ static void r128_cce_dispatch_stipple(st
+ static int r128_cce_clear(struct drm_device *dev, void *data, struct drm_file *file_priv)
+ {
+ 	drm_r128_private_t *dev_priv = dev->dev_private;
+-	drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv;
++	drm_r128_sarea_t *sarea_priv;
+ 	drm_r128_clear_t *clear = data;
+ 	DRM_DEBUG("\n");
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	RING_SPACE_TEST_WITH_RETURN(dev_priv);
+ 
++	sarea_priv = dev_priv->sarea_priv;
++
+ 	if (sarea_priv->nbox > R128_NR_SAREA_CLIPRECTS)
+ 		sarea_priv->nbox = R128_NR_SAREA_CLIPRECTS;
+ 
+@@ -1312,6 +1316,8 @@ static int r128_cce_flip(struct drm_devi
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	RING_SPACE_TEST_WITH_RETURN(dev_priv);
+ 
+ 	if (!dev_priv->page_flipping)
+@@ -1331,6 +1337,8 @@ static int r128_cce_swap(struct drm_devi
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	RING_SPACE_TEST_WITH_RETURN(dev_priv);
+ 
+ 	if (sarea_priv->nbox > R128_NR_SAREA_CLIPRECTS)
+@@ -1354,10 +1362,7 @@ static int r128_cce_vertex(struct drm_de
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
+-	if (!dev_priv) {
+-		DRM_ERROR("called with no initialization\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	DRM_DEBUG("pid=%d index=%d count=%d discard=%d\n",
+ 		  DRM_CURRENTPID, vertex->idx, vertex->count, vertex->discard);
+@@ -1410,10 +1415,7 @@ static int r128_cce_indices(struct drm_d
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
+-	if (!dev_priv) {
+-		DRM_ERROR("called with no initialization\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	DRM_DEBUG("pid=%d buf=%d s=%d e=%d d=%d\n", DRM_CURRENTPID,
+ 		  elts->idx, elts->start, elts->end, elts->discard);
+@@ -1476,6 +1478,8 @@ static int r128_cce_blit(struct drm_devi
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	DRM_DEBUG("pid=%d index=%d\n", DRM_CURRENTPID, blit->idx);
+ 
+ 	if (blit->idx < 0 || blit->idx >= dma->buf_count) {
+@@ -1501,6 +1505,8 @@ static int r128_cce_depth(struct drm_dev
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	RING_SPACE_TEST_WITH_RETURN(dev_priv);
+ 
+ 	ret = -EINVAL;
+@@ -1531,6 +1537,8 @@ static int r128_cce_stipple(struct drm_d
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
++
+ 	if (DRM_COPY_FROM_USER(&mask, stipple->mask, 32 * sizeof(u32)))
+ 		return -EFAULT;
+ 
+@@ -1555,10 +1563,7 @@ static int r128_cce_indirect(struct drm_
+ 
+ 	LOCK_TEST_WITH_RETURN(dev, file_priv);
+ 
+-	if (!dev_priv) {
+-		DRM_ERROR("called with no initialization\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	DRM_DEBUG("idx=%d s=%d e=%d d=%d\n",
+ 		  indirect->idx, indirect->start, indirect->end,
+@@ -1620,10 +1625,7 @@ static int r128_getparam(struct drm_devi
+ 	drm_r128_getparam_t *param = data;
+ 	int value;
+ 
+-	if (!dev_priv) {
+-		DRM_ERROR("called with no initialization\n");
+-		return -EINVAL;
+-	}
++	DEV_INIT_TEST_WITH_RETURN(dev_priv);
+ 
+ 	DRM_DEBUG("pid=%d\n", DRM_CURRENTPID);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/dvb-fix-init-of-urb-list.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/dvb-fix-init-of-urb-list.patch
@@ -0,0 +1,28 @@
+From: Thomas Reitmayr <treitmayr@devbase.at>
+Date: Mon, 29 Dec 2008 13:59:29 +0000 (-0300)
+Subject: V4L/DVB (9981): [PATCH] usb-urb.c: Fix initialization of URB list.
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=d29ca09d50309bb7df5d57aec88efdcd09a56f9f
+
+V4L/DVB (9981): [PATCH] usb-urb.c: Fix initialization of URB list.
+
+Fix the initialization of the URB list for a DVB-USB device to prevent
+problems on certain platforms (MIPS).
+
+Signed-off-by: Thomas Reitmayr <treitmayr@devbase.at>
+Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+---
+
+--- a/drivers/media/dvb/dvb-usb/usb-urb.c	2008-12-31 09:48:53.000000000 +0000
++++ b/drivers/media/dvb/dvb-usb/usb-urb.c	2008-12-31 09:48:58.000000000 +0000
+@@ -152,7 +152,8 @@
+ 				stream->props.u.bulk.buffersize,
+ 				usb_urb_complete, stream);
+ 
+-		stream->urb_list[i]->transfer_flags = 0;
++		stream->urb_list[i]->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
++		stream->urb_list[i]->transfer_dma = stream->dma_addr[i];
+ 		stream->urbs_initialized++;
+ 	}
+ 	return 0;
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/eeepc-fix-oops-when-changing-backlight-brightness-during-init.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/eeepc-fix-oops-when-changing-backlight-brightness-during-init.patch
@@ -0,0 +1,72 @@
+From: Darren Salt <linux@youmustbejoking.demon.co.uk>
+Date: Sat, 7 Feb 2009 06:02:07 +0000 (-0500)
+Subject: eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init
+X-Git-Tag: v2.6.29-rc4~7^2^6~1
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=7695fb04aca62e2d8a7ca6ede50f6211e1d71e53;hp=386e4a8358239f90275e1f93d5ad11cdc93c6453
+
+eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init
+
+I got the following oops while changing the backlight brightness during
+startup.  When it happens, it prevents use of the hotkeys, Fn-Fx, and the
+lid button.
+
+It's a clear use-before-init, as I verified by testing with an
+appropriately-placed "else printk".
+
+BUG: unable to handle kernel NULL pointer dereference at 00000000
+*pde = 00000000
+Oops: 0002 [#1] PREEMPT SMP
+Pid: 160, comm: kacpi_notify Not tainted (2.6.28.1-eee901 #4) 901
+EIP: 0060:[<c0264e68>]  [<c0264e68>] eeepc_hotk_notify+26/da
+EFLAGS: 00010246 CPU: 1
+Using defaults from ksymoops -t elf32-i386 -a i386
+EAX: 00000009 EBX: 00000000 ECX: 00000009 EDX: f70dbf64
+ESI: 00000029 EDI: f7335188 EBP: c02112c9 ESP: f70dbf80
+ DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
+ f70731e0 f73acd50 c02164ac f7335180 f70aa040 c02112e6 f733518c c012b62f
+ f70aa044 f70aa040 c012bdba f70aa04c 00000000 c012be6e 00000000 f70bdf80
+ c012e198 f70dbfc4 f70dbfc4 f70aa040 c012bdba 00000000 c012e0c9 c012e091
+Call Trace:
+ [<c02164ac>] ? acpi_ev_notify_dispatch+4c/55
+ [<c02112e6>] ? acpi_os_execute_deferred+1d/25
+ [<c012b62f>] ? run_workqueue+71/f1
+ [<c012bdba>] ? worker_thread+0/bf
+ [<c012be6e>] ? worker_thread+b4/bf
+ [<c012e198>] ? autoremove_wake_function+0/2b
+ [<c012bdba>] ? worker_thread+0/bf
+ [<c012e0c9>] ? kthread+38/5f
+ [<c012e091>] ? kthread+0/5f
+ [<c0103abf>] ? kernel_thread_helper+7/10
+Code: 00 00 00 00 c3 83 3d 60 5c 50 c0 00 56 89 d6 53 0f 84 c4 00 00 00 8d 42
+e0 83 f8 0f 77 0f 8b 1d 68 5c 50 c0 89 d8 e8 a9 fa ff ff <89> 03 8b 1d 60 5c
+50 c0 89 f2 83 e2 7f 0f b7 4c 53 10 8d 41 01
+
+[With modifications for 2.6.26]
+
+Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Len Brown <len.brown@intel.com>
+---
+
+diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
+index 9d93cb9..8fb983f 100644
+--- a/drivers/platform/x86/eeepc-laptop.c
++++ b/drivers/misc/eeepc-laptop.c
+@@ -510,7 +510,8 @@ static int eeepc_hotk_check(void)
+ static void notify_brn(void)
+ {
+ 	struct backlight_device *bd = eeepc_backlight_device;
+-	bd->props.brightness = read_brightness(bd);
++	if (bd)
++		bd->props.brightness = read_brightness(bd);
+ }
+ 
+ static void eeepc_hotk_notify(acpi_handle handle, u32 event, void *data)
+
+
+
+
+
+
+
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/eata-fix-data-buffer-accessor-conversion-regression.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/eata-fix-data-buffer-accessor-conversion-regression.patch
@@ -0,0 +1,56 @@
+commit 20c09df7eb9c92a40e0ecf654b6e8f14c8583b9e
+Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
+Date:   Tue Dec 23 04:01:35 2008 +0900
+
+    [SCSI] eata: fix the data buffer accessors conversion regression
+    
+    This fixes the regression introduced by the commit
+    58e2a02eb18393e76a469580fedf7caec190eb5e (eata: convert to use the
+    data buffer accessors), reported:
+    
+    http://marc.info/?t=122987621300006&r=1&w=2
+    
+    - fix DMA_NONE handling in map_dma()
+    
+    - this driver can't use scsi_dma_map since host->shost_gendev.parent
+    is not set properly (it uses scsi_register).
+    
+    Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
+    Reported-by: Arthur Marsh <arthur.marsh@internode.on.net>
+    Tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
+    Cc: stable@kernel.org
+    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
+
+diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
+index a73a6bb..976cdd5 100644
+--- a/drivers/scsi/eata.c
++++ b/drivers/scsi/eata.c
+@@ -1626,8 +1626,15 @@ static void map_dma(unsigned int i, struct hostdata *ha)
+ 
+ 	cpp->sense_len = SCSI_SENSE_BUFFERSIZE;
+ 
+-	count = scsi_dma_map(SCpnt);
+-	BUG_ON(count < 0);
++	if (!scsi_sg_count(SCpnt)) {
++		cpp->data_len = 0;
++		return;
++	}
++
++	count = pci_map_sg(ha->pdev, scsi_sglist(SCpnt), scsi_sg_count(SCpnt),
++			   pci_dir);
++	BUG_ON(!count);
++
+ 	scsi_for_each_sg(SCpnt, sg, count, k) {
+ 		cpp->sglist[k].address = H2DEV(sg_dma_address(sg));
+ 		cpp->sglist[k].num_bytes = H2DEV(sg_dma_len(sg));
+@@ -1655,7 +1662,9 @@ static void unmap_dma(unsigned int i, struct hostdata *ha)
+ 		pci_unmap_single(ha->pdev, DEV2H(cpp->sense_addr),
+ 				 DEV2H(cpp->sense_len), PCI_DMA_FROMDEVICE);
+ 
+-	scsi_dma_unmap(SCpnt);
++	if (scsi_sg_count(SCpnt))
++		pci_unmap_sg(ha->pdev, scsi_sglist(SCpnt), scsi_sg_count(SCpnt),
++			     pci_dir);
+ 
+ 	if (!DEV2H(cpp->data_len))
+ 		pci_dir = PCI_DMA_BIDIRECTIONAL;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/econet-fix-econet_getname-leak.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/econet-fix-econet_getname-leak.patch
@@ -0,0 +1,23 @@
+commit 80922bbb12a105f858a8f0abb879cb4302d0ecaa
+Author: Eric Dumazet <eric.dumazet@gmail.com>
+Date:   Thu Aug 6 03:48:36 2009 +0000
+
+    econet: Fix econet_getname() leak
+    
+    econet_getname() can leak kernel memory to user.
+    
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/econet/af_econet.c b/net/econet/af_econet.c
+index 2e1f836..f0bbc57 100644
+--- a/net/econet/af_econet.c
++++ b/net/econet/af_econet.c
+@@ -520,6 +520,7 @@ static int econet_getname(struct socket *sock, struct sockaddr *uaddr,
+ 	if (peer)
+ 		return -EOPNOTSUPP;
+ 
++	memset(sec, 0, sizeof(*sec));
+ 	mutex_lock(&econet_mutex);
+ 
+ 	sk = sock->sk;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ecryptfs-check-readlink-result-before-use.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ecryptfs-check-readlink-result-before-use.patch
@@ -0,0 +1,36 @@
+commit a17d5232de7b53d34229de79ec22f4bb04adb7e4
+Author: Duane Griffin <duaneg@dghda.com>
+Date:   Fri Dec 19 20:47:10 2008 +0000
+
+    eCryptfs: check readlink result was not an error before using it
+    
+    The result from readlink is being used to index into the link name
+    buffer without checking whether it is a valid length. If readlink
+    returns an error this will fault or cause memory corruption.
+    
+    Cc: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+    Cc: Dustin Kirkland <kirkland@canonical.com>
+    Cc: ecryptfs-devel@lists.launchpad.net
+    Signed-off-by: Duane Griffin <duaneg@dghda.com>
+    Acked-by: Michael Halcrow <mhalcrow@us.ibm.com>
+    Acked-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/ecryptfs/inode.c linux-source-2.6.26/fs/ecryptfs/inode.c
+--- linux-source-2.6.26.orig/fs/ecryptfs/inode.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/ecryptfs/inode.c	2009-02-09 21:38:06.000000000 -0700
+@@ -654,10 +654,11 @@ static void *ecryptfs_follow_link(struct
+ 	ecryptfs_printk(KERN_DEBUG, "Calling readlink w/ "
+ 			"dentry->d_name.name = [%s]\n", dentry->d_name.name);
+ 	rc = dentry->d_inode->i_op->readlink(dentry, (char __user *)buf, len);
+-	buf[rc] = '\0';
+ 	set_fs(old_fs);
+ 	if (rc < 0)
+ 		goto out_free;
++	else
++		buf[rc] = '\0';
+ 	rc = 0;
+ 	nd_set_link(nd, buf);
+ 	goto out;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ecryptfs-check-tag-11-literal-data-buffer-size.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ecryptfs-check-tag-11-literal-data-buffer-size.patch
@@ -0,0 +1,40 @@
+Tag 11 packets are stored in the metadata section of an eCryptfs file to
+store the key signature(s) used to encrypt the file encryption key.
+After extracting the packet length field to determine the key signature
+length, a check is not performed to see if the length would exceed the
+key signature buffer size that was passed into parse_tag_11_packet().
+
+Thanks to Ramon de Carvalho Valle for finding this bug using fsfuzzer.
+
+Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+---
+ fs/ecryptfs/keystore.c |    6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org
+
+diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c
+index af737bb..5414253 100644
+--- a/fs/ecryptfs/keystore.c
++++ b/fs/ecryptfs/keystore.c
+@@ -1449,6 +1449,12 @@ parse_tag_11_packet(unsigned char *data, unsigned char *contents,
+ 		rc = -EINVAL;
+ 		goto out;
+ 	}
++	if (unlikely((*tag_11_contents_size) > max_contents_bytes)) {
++		printk(KERN_ERR "Literal data section in tag 11 packet exceeds "
++		       "expected size\n");
++		rc = -EINVAL;
++		goto out;
++	}
+ 	if (data[(*packet_size)++] != 0x62) {
+ 		printk(KERN_WARNING "Unrecognizable packet\n");
+ 		rc = -EINVAL;
+-- 
+1.6.2.5
+
+_______________________________________________
+Vendor Security mailing list
+Vendor Security@lst.de
+https://www.lst.de/cgi-bin/mailman/listinfo/vendor-sec
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ext4-initialize-the-new-group-descriptor-when-resizing-the-filesystem.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ext4-initialize-the-new-group-descriptor-when-resizing-the-filesystem.patch
@@ -0,0 +1,42 @@
+From tytso@mit.edu  Wed Feb 18 11:14:37 2009
+From: "Theodore Ts'o" <tytso@mit.edu>
+Date: Tue, 17 Feb 2009 10:58:44 -0500
+Subject: ext4: Initialize the new group descriptor when resizing the filesystem
+To: stable@kernel.org
+Cc: linux-ext4@vger.kernel.org, "Theodore Ts'o" <tytso@mit.edu>
+Message-ID: <1234886324-15105-25-git-send-email-tytso@mit.edu>
+
+From: "Theodore Ts'o" <tytso@mit.edu>
+
+(cherry picked from commit fdff73f094e7220602cc3f8959c7230517976412)
+
+Make sure all of the fields of the group descriptor are properly
+initialized.  Previously, we allowed bg_flags field to be contain
+random garbage, which could trigger non-deterministic behavior,
+including a kernel OOPS.
+
+http://bugzilla.kernel.org/show_bug.cgi?id=12433
+
+Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ fs/ext4/resize.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/fs/ext4/resize.c
++++ b/fs/ext4/resize.c
+@@ -860,11 +860,13 @@ int ext4_group_add(struct super_block *s
+ 	gdp = (struct ext4_group_desc *)((char *)primary->b_data +
+ 					 gdb_off * EXT4_DESC_SIZE(sb));
+ 
++	memset(gdp, 0, EXT4_DESC_SIZE(sb));
+ 	ext4_block_bitmap_set(sb, gdp, input->block_bitmap); /* LV FIXME */
+ 	ext4_inode_bitmap_set(sb, gdp, input->inode_bitmap); /* LV FIXME */
+ 	ext4_inode_table_set(sb, gdp, input->inode_table); /* LV FIXME */
+ 	gdp->bg_free_blocks_count = cpu_to_le16(input->free_blocks_count);
+ 	gdp->bg_free_inodes_count = cpu_to_le16(EXT4_INODES_PER_GROUP(sb));
++	gdp->bg_flags = cpu_to_le16(EXT4_BG_INODE_ZEROED);
+ 	gdp->bg_checksum = ext4_group_desc_csum(sbi, input->group, gdp);
+ 
+ 	/*
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ecryptfs-parse_tag_3_packet-check-tag-3-package-encrypted-key-size.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ecryptfs-parse_tag_3_packet-check-tag-3-package-encrypted-key-size.patch
@@ -0,0 +1,28 @@
+The parse_tag_3_packet function does not check if the tag 3 packet contains a
+encrypted key size larger than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES.
+
+Signed-off-by: Ramon de Carvalho Valle <ramon@risesecurity.org>
+Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+---
+ fs/ecryptfs/keystore.c |    7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/ecryptfs/keystore.c linux-source-2.6.26/fs/ecryptfs/keystore.c
+--- linux-source-2.6.26.orig/fs/ecryptfs/keystore.c	2009-07-25 15:02:53.000000000 -0600
++++ linux-source-2.6.26/fs/ecryptfs/keystore.c	2009-07-25 15:05:01.000000000 -0600
+@@ -730,6 +730,13 @@ parse_tag_3_packet(struct ecryptfs_crypt
+ 	}
+ 	(*new_auth_tok)->session_key.encrypted_key_size =
+ 		(body_size - (ECRYPTFS_SALT_SIZE + 5));
++	if ((*new_auth_tok)->session_key.encrypted_key_size
++	    > ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES) {
++		printk(KERN_WARNING "Tag 3 packet contains key larger "
++		       "than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES\n");
++		rc = -EINVAL;
++		goto out_free;
++	}
+ 	if (unlikely(data[(*packet_size)++] != 0x04)) {
+ 		printk(KERN_WARNING "Unknown version number [%d]\n",
+ 		       data[(*packet_size) - 1]);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ecryptfs-prevent-lower-dentry-from-going-negative-during-unlink.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ecryptfs-prevent-lower-dentry-from-going-negative-during-unlink.patch
@@ -0,0 +1,53 @@
+commit 9c2d2056647790c5034d722bd24e9d913ebca73c
+Author: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+Date:   Tue Sep 22 12:52:17 2009 -0500
+
+    eCryptfs: Prevent lower dentry from going negative during unlink
+    
+    When calling vfs_unlink() on the lower dentry, d_delete() turns the
+    dentry into a negative dentry when the d_count is 1.  This eventually
+    caused a NULL pointer deref when a read() or write() was done and the
+    negative dentry's d_inode was dereferenced in
+    ecryptfs_read_update_atime() or ecryptfs_getxattr().
+    
+    Placing mutt's tmpdir in an eCryptfs mount is what initially triggered
+    the oops and I was able to reproduce it with the following sequence:
+    
+    open("/tmp/upper/foo", O_RDWR|O_CREAT|O_EXCL|O_NOFOLLOW, 0600) = 3
+    link("/tmp/upper/foo", "/tmp/upper/bar") = 0
+    unlink("/tmp/upper/foo")                = 0
+    open("/tmp/upper/bar", O_RDWR|O_CREAT|O_NOFOLLOW, 0600) = 4
+    unlink("/tmp/upper/bar")                = 0
+    write(4, "eCryptfs test\n"..., 14 <unfinished ...>
+    +++ killed by SIGKILL +++
+    
+    https://bugs.launchpad.net/ecryptfs/+bug/387073
+    
+    Reported-by: Loïc Minier <loic.minier@canonical.com>
+    Cc: Serge Hallyn <serue@us.ibm.com>
+    Cc: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
+    Cc: ecryptfs-devel@lists.launchpad.net
+    Cc: stable <stable@kernel.org>
+    Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/ecryptfs/inode.c linux-source-2.6.26/fs/ecryptfs/inode.c
+--- linux-source-2.6.26.orig/fs/ecryptfs/inode.c	2009-08-18 23:15:12.000000000 -0600
++++ linux-source-2.6.26/fs/ecryptfs/inode.c	2009-10-08 00:26:22.000000000 -0600
+@@ -422,6 +422,7 @@ static int ecryptfs_unlink(struct inode 
+ 	struct inode *lower_dir_inode = ecryptfs_inode_to_lower(dir);
+ 	struct dentry *lower_dir_dentry;
+ 
++	dget(lower_dentry);
+ 	lower_dir_dentry = lock_parent(lower_dentry);
+ 	rc = vfs_unlink(lower_dir_inode, lower_dentry);
+ 	if (rc) {
+@@ -435,6 +436,7 @@ static int ecryptfs_unlink(struct inode 
+ 	d_drop(dentry);
+ out_unlock:
+ 	unlock_dir(lower_dir_dentry);
++	dput(lower_dentry);
+ 	return rc;
+ }
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/execve-must-clear-current-clear_child_tid.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/execve-must-clear-current-clear_child_tid.patch
@@ -0,0 +1,121 @@
+commit 9c8a8228d0827e0d91d28527209988f672f97d28
+Author: Eric Dumazet <eric.dumazet@gmail.com>
+Date:   Thu Aug 6 15:09:28 2009 -0700
+
+    execve: must clear current->clear_child_tid
+    
+    While looking at Jens Rosenboom bug report
+    (http://lkml.org/lkml/2009/7/27/35) about strange sys_futex call done from
+    a dying "ps" program, we found following problem.
+    
+    clone() syscall has special support for TID of created threads.  This
+    support includes two features.
+    
+    One (CLONE_CHILD_SETTID) is to set an integer into user memory with the
+    TID value.
+    
+    One (CLONE_CHILD_CLEARTID) is to clear this same integer once the created
+    thread dies.
+    
+    The integer location is a user provided pointer, provided at clone()
+    time.
+    
+    kernel keeps this pointer value into current->clear_child_tid.
+    
+    At execve() time, we should make sure kernel doesnt keep this user
+    provided pointer, as full user memory is replaced by a new one.
+    
+    As glibc fork() actually uses clone() syscall with CLONE_CHILD_SETTID and
+    CLONE_CHILD_CLEARTID set, chances are high that we might corrupt user
+    memory in forked processes.
+    
+    Following sequence could happen:
+    
+    1) bash (or any program) starts a new process, by a fork() call that
+       glibc maps to a clone( ...  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID
+       ...) syscall
+    
+    2) When new process starts, its current->clear_child_tid is set to a
+       location that has a meaning only in bash (or initial program) context
+       (&THREAD_SELF->tid)
+    
+    3) This new process does the execve() syscall to start a new program.
+       current->clear_child_tid is left unchanged (a non NULL value)
+    
+    4) If this new program creates some threads, and initial thread exits,
+       kernel will attempt to clear the integer pointed by
+       current->clear_child_tid from mm_release() :
+    
+            if (tsk->clear_child_tid
+                && !(tsk->flags & PF_SIGNALED)
+                && atomic_read(&mm->mm_users) > 1) {
+                    u32 __user * tidptr = tsk->clear_child_tid;
+                    tsk->clear_child_tid = NULL;
+    
+                    /*
+                     * We don't check the error code - if userspace has
+                     * not set up a proper pointer then tough luck.
+                     */
+    << here >>      put_user(0, tidptr);
+                    sys_futex(tidptr, FUTEX_WAKE, 1, NULL, NULL, 0);
+            }
+    
+    5) OR : if new program is not multi-threaded, but spied by /proc/pid
+       users (ps command for example), mm_users > 1, and the exiting program
+       could corrupt 4 bytes in a persistent memory area (shm or memory mapped
+       file)
+    
+    If current->clear_child_tid points to a writeable portion of memory of the
+    new program, kernel happily and silently corrupts 4 bytes of memory, with
+    unexpected effects.
+    
+    Fix is straightforward and should not break any sane program.
+    
+    Reported-by: Jens Rosenboom <jens@mcbone.net>
+    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
+    Cc: Peter Zijlstra <peterz@infradead.org>
+    Cc: Sonny Rao <sonnyrao@us.ibm.com>
+    Cc: Ingo Molnar <mingo@elte.hu>
+    Cc: Thomas Gleixner <tglx@linutronix.de>
+    Cc: Ulrich Drepper <drepper@redhat.com>
+    Cc: Oleg Nesterov <oleg@redhat.com>
+    Cc: <stable@kernel.org>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/kernel/fork.c b/kernel/fork.c
+index 466531e..021e113 100644
+--- a/kernel/fork.c
++++ b/kernel/fork.c
+@@ -568,18 +568,18 @@ void mm_release(struct task_struct *tsk, struct mm_struct *mm)
+ 	 * the value intact in a core dump, and to save the unnecessary
+ 	 * trouble otherwise.  Userland only wants this done for a sys_exit.
+ 	 */
+-	if (tsk->clear_child_tid
+-	    && !(tsk->flags & PF_SIGNALED)
+-	    && atomic_read(&mm->mm_users) > 1) {
+-		u32 __user * tidptr = tsk->clear_child_tid;
++	if (tsk->clear_child_tid) {
++		if (!(tsk->flags & PF_SIGNALED) &&
++		    atomic_read(&mm->mm_users) > 1) {
++			/*
++			 * We don't check the error code - if userspace has
++			 * not set up a proper pointer then tough luck.
++			 */
++			put_user(0, tsk->clear_child_tid);
++			sys_futex(tsk->clear_child_tid, FUTEX_WAKE,
++					1, NULL, NULL, 0);
++		}
+ 		tsk->clear_child_tid = NULL;
+-
+-		/*
+-		 * We don't check the error code - if userspace has
+-		 * not set up a proper pointer then tough luck.
+-		 */
+-		put_user(0, tidptr);
+-		sys_futex(tidptr, FUTEX_WAKE, 1, NULL, NULL, 0);
+ 	}
+ }
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/fbdev-check-logo-compat.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/fbdev-check-logo-compat.patch
@@ -0,0 +1,41 @@
+commit 4fb6de2561d5c47f3539a7b412108164d79fbb96
+Author: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
+Date:   Tue Jan 6 14:42:37 2009 -0800
+
+    fbdev/logo: check compatibility of main and extra logos
+    
+    The code to draw penguin logos always uses some properties of the main logo.
+    This is incorrect if additional logos (CONFIG_FB_LOGO_EXTRA=y) have different
+    types than the main logo, which causes corrupted logo images.
+    
+      http://bugzilla.kernel.org/show_bug.cgi?id=12181
+    
+    Hence skip additional logos that are not compatible with the main logo.
+    
+    Technically, it's possible to draw multiple logos of different types on
+    truecolor displays, but this would complicate the (already quite
+    complicated) logo drawing code even more.
+    
+    This patch fixes a problem with Debian's linux-image-2.6.26-1-powerpc64
+    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508173
+    
+    Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
+    Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
+index 3c65b0d..756efeb 100644
+--- a/drivers/video/fbmem.c
++++ b/drivers/video/fbmem.c
+@@ -510,6 +510,10 @@ static int fb_prepare_extra_logos(struct fb_info *info, unsigned int height,
+ 		fb_logo_ex_num = 0;
+ 
+ 	for (i = 0; i < fb_logo_ex_num; i++) {
++		if (fb_logo_ex[i].logo->type != fb_logo.logo->type) {
++			fb_logo_ex[i].logo = NULL;
++			continue;
++		}
+ 		height += fb_logo_ex[i].logo->height;
+ 		if (height > yres) {
+ 			height -= fb_logo_ex[i].logo->height;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/exit_notify-kill-wrong-CAP_KILL-check.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/exit_notify-kill-wrong-CAP_KILL-check.patch
@@ -0,0 +1,31 @@
+commit 432870dab85a2f69dc417022646cb9a70acf7f94
+Author: Oleg Nesterov <oleg@redhat.com>
+Date:   Mon Apr 6 16:16:02 2009 +0200
+
+    exit_notify: kill the wrong capable(CAP_KILL) check
+    
+    The CAP_KILL check in exit_notify() looks just wrong, kill it.
+    
+    Whatever logic we have to reset ->exit_signal, the malicious user
+    can bypass it if it execs the setuid application before exiting.
+    
+    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
+    Acked-by: Serge Hallyn <serue@us.ibm.com>
+    Acked-by: Roland McGrath <roland@redhat.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/exit.c linux-source-2.6.26/kernel/exit.c
+--- linux-source-2.6.26.orig/kernel/exit.c	2009-03-25 17:20:40.000000000 -0600
++++ linux-source-2.6.26/kernel/exit.c	2009-04-17 18:59:15.000000000 -0600
+@@ -868,8 +868,7 @@ static void exit_notify(struct task_stru
+ 	 */
+ 	if (tsk->exit_signal != SIGCHLD && !task_detached(tsk) &&
+ 	    (tsk->parent_exec_id != tsk->real_parent->self_exec_id ||
+-	     tsk->self_exec_id != tsk->parent_exec_id) &&
+-	    !capable(CAP_KILL))
++	     tsk->self_exec_id != tsk->parent_exec_id))
+ 		tsk->exit_signal = SIGCHLD;
+ 
+ 	/* If something other than our normal parent is ptracing us, then
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ext3-add-support-for-non-native-signed-unsigned-htr.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ext3-add-support-for-non-native-signed-unsigned-htr.patch
@@ -0,0 +1,230 @@
+From: Theodore Ts'o <tytso@mit.edu>
+Date: Mon, 20 Oct 2008 23:16:21 -0400
+Subject: [PATCH] ext3: Add support for non-native signed/unsigned htree hash algorithms
+
+The original ext3 hash algorithms assumed that variables of type char
+were signed, as God and K&R intended.  Unfortunately, this assumption
+is not true on some architectures.  Userspace support for marking
+filesystems with non-native signed/unsigned chars was added two years
+ago, but the kernel-side support was never added (until now).
+
+Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+
+diff -urN a/fs/ext3/hash.c b/fs/ext3/hash.c
+--- a/fs/ext3/hash.c	2008-10-28 19:43:40.000000000 +0000
++++ b/fs/ext3/hash.c	2008-10-28 19:44:22.000000000 +0000
+@@ -35,11 +35,20 @@
+ 
+ 
+ /* The old legacy hash */
+-static __u32 dx_hack_hash (const char *name, int len)
++static __u32 dx_hack_hash (const char *name, int len, int unsigned_flag)
+ {
+-	__u32 hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;
++	__u32 hash, hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;
++ 	const unsigned char *ucp = (const unsigned char *) name;
++	const signed char *scp = (const signed char *) name;
++	int c;
++
+ 	while (len--) {
+-		__u32 hash = hash1 + (hash0 ^ (*name++ * 7152373));
++		if (unsigned_flag)
++			c = (int) *ucp++;
++		else
++			c = (int) *scp++;
++
++		hash = hash1 + (hash0 ^ (c * 7152373));
+ 
+ 		if (hash & 0x80000000) hash -= 0x7fffffff;
+ 		hash1 = hash0;
+@@ -48,10 +57,13 @@
+ 	return (hash0 << 1);
+ }
+ 
+-static void str2hashbuf(const char *msg, int len, __u32 *buf, int num)
++static void str2hashbuf(const char *msg, int len, __u32 *buf, int num,
++			int unsigned_flag)
+ {
+ 	__u32	pad, val;
+-	int	i;
++	int	i, c;
++	const unsigned char *ucp = (const unsigned char *) msg;
++	const signed char *scp = (const signed char *) msg;
+ 
+ 	pad = (__u32)len | ((__u32)len << 8);
+ 	pad |= pad << 16;
+@@ -62,7 +74,12 @@
+ 	for (i=0; i < len; i++) {
+ 		if ((i % 4) == 0)
+ 			val = pad;
+-		val = msg[i] + (val << 8);
++		if (unsigned_flag)
++			c = (int) ucp[i];
++		else
++			c = (int) scp[i];
++
++		val = c + (val << 8);
+ 		if ((i % 4) == 3) {
+ 			*buf++ = val;
+ 			val = pad;
+@@ -95,6 +112,7 @@
+ 	const char	*p;
+ 	int		i;
+ 	__u32		in[8], buf[4];
++	int		unsigned_flag = 0;
+ 
+ 	/* Initialize the default seed for the hash checksum functions */
+ 	buf[0] = 0x67452301;
+@@ -113,13 +131,17 @@
+ 	}
+ 
+ 	switch (hinfo->hash_version) {
++	case DX_HASH_LEGACY_UNSIGNED:
++		unsigned_flag++;
+ 	case DX_HASH_LEGACY:
+-		hash = dx_hack_hash(name, len);
++		hash = dx_hack_hash(name, len, unsigned_flag);
+ 		break;
++	case DX_HASH_HALF_MD4_UNSIGNED:
++		unsigned_flag++;
+ 	case DX_HASH_HALF_MD4:
+ 		p = name;
+ 		while (len > 0) {
+-			str2hashbuf(p, len, in, 8);
++			str2hashbuf(p, len, in, 8, unsigned_flag);
+ 			half_md4_transform(buf, in);
+ 			len -= 32;
+ 			p += 32;
+@@ -127,10 +149,12 @@
+ 		minor_hash = buf[2];
+ 		hash = buf[1];
+ 		break;
++	case DX_HASH_TEA_UNSIGNED:
++		unsigned_flag++;
+ 	case DX_HASH_TEA:
+ 		p = name;
+ 		while (len > 0) {
+-			str2hashbuf(p, len, in, 4);
++			str2hashbuf(p, len, in, 4, unsigned_flag);
+ 			TEA_transform(buf, in);
+ 			len -= 16;
+ 			p += 16;
+diff -urN a/fs/ext3/namei.c b/fs/ext3/namei.c
+--- a/fs/ext3/namei.c	2008-10-28 19:43:40.000000000 +0000
++++ b/fs/ext3/namei.c	2008-10-28 19:44:22.000000000 +0000
+@@ -369,6 +369,8 @@
+ 		goto fail;
+ 	}
+ 	hinfo->hash_version = root->info.hash_version;
++	if (hinfo->hash_version <= DX_HASH_TEA)
++		hinfo->hash_version += EXT3_SB(dir->i_sb)->s_hash_unsigned;
+ 	hinfo->seed = EXT3_SB(dir->i_sb)->s_hash_seed;
+ 	if (dentry)
+ 		ext3fs_dirhash(dentry->d_name.name, dentry->d_name.len, hinfo);
+@@ -637,6 +639,9 @@
+ 	dir = dir_file->f_path.dentry->d_inode;
+ 	if (!(EXT3_I(dir)->i_flags & EXT3_INDEX_FL)) {
+ 		hinfo.hash_version = EXT3_SB(dir->i_sb)->s_def_hash_version;
++		if (hinfo.hash_version <= DX_HASH_TEA)
++			hinfo.hash_version +=
++				EXT3_SB(dir->i_sb)->s_hash_unsigned;
+ 		hinfo.seed = EXT3_SB(dir->i_sb)->s_hash_seed;
+ 		count = htree_dirblock_to_tree(dir_file, dir, 0, &hinfo,
+ 					       start_hash, start_minor_hash);
+@@ -1413,6 +1418,8 @@
+ 
+ 	/* Initialize as for dx_probe */
+ 	hinfo.hash_version = root->info.hash_version;
++	if (hinfo.hash_version <= DX_HASH_TEA)
++		hinfo.hash_version += EXT3_SB(dir->i_sb)->s_hash_unsigned;
+ 	hinfo.seed = EXT3_SB(dir->i_sb)->s_hash_seed;
+ 	ext3fs_dirhash(name, namelen, &hinfo);
+ 	frame = frames;
+diff -urN a/fs/ext3/super.c b/fs/ext3/super.c
+--- a/fs/ext3/super.c	2008-10-28 19:43:40.000000000 +0000
++++ b/fs/ext3/super.c	2008-10-28 19:44:22.000000000 +0000
+@@ -1712,6 +1712,21 @@
+ 	for (i=0; i < 4; i++)
+ 		sbi->s_hash_seed[i] = le32_to_cpu(es->s_hash_seed[i]);
+ 	sbi->s_def_hash_version = es->s_def_hash_version;
++	i = le32_to_cpu(es->s_flags);
++	if (i & EXT2_FLAGS_UNSIGNED_HASH)
++		sbi->s_hash_unsigned = 3;
++	else if ((i & EXT2_FLAGS_SIGNED_HASH) == 0) {
++		char	c;
++
++		c = (char) 255;
++		if (((int) c) == -1) {
++			es->s_flags |= cpu_to_le32(EXT2_FLAGS_SIGNED_HASH);
++		} else {
++			es->s_flags |= cpu_to_le32(EXT2_FLAGS_UNSIGNED_HASH);
++			sbi->s_hash_unsigned = 3;
++		}
++		sb->s_dirt = 1;
++	}
+ 
+ 	if (sbi->s_blocks_per_group > blocksize * 8) {
+ 		printk (KERN_ERR
+diff -urN a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h
+--- a/include/linux/ext3_fs.h	2008-10-28 19:43:42.000000000 +0000
++++ b/include/linux/ext3_fs.h	2008-10-28 19:44:22.000000000 +0000
+@@ -354,6 +354,13 @@
+ #define	EXT3_ORPHAN_FS			0x0004	/* Orphans being recovered */
+ 
+ /*
++ * Misc. filesystem flags
++ */
++#define EXT2_FLAGS_SIGNED_HASH		0x0001  /* Signed dirhash in use */
++#define EXT2_FLAGS_UNSIGNED_HASH	0x0002  /* Unsigned dirhash in use */
++#define EXT2_FLAGS_TEST_FILESYS		0x0004	/* to test development code */
++
++/*
+  * Mount flags
+  */
+ #define EXT3_MOUNT_CHECK		0x00001	/* Do mount-time checks */
+@@ -487,7 +494,23 @@
+ 	__u16	s_reserved_word_pad;
+ 	__le32	s_default_mount_opts;
+ 	__le32	s_first_meta_bg;	/* First metablock block group */
+-	__u32	s_reserved[190];	/* Padding to the end of the block */
++	__le32	s_mkfs_time;		/* When the filesystem was created */
++	__le32	s_jnl_blocks[17];	/* Backup of the journal inode */
++	/* 64bit support valid if EXT4_FEATURE_COMPAT_64BIT */
++/*150*/	__le32	s_blocks_count_hi;	/* Blocks count */
++	__le32	s_r_blocks_count_hi;	/* Reserved blocks count */
++	__le32	s_free_blocks_count_hi;	/* Free blocks count */
++	__le16	s_min_extra_isize;	/* All inodes have at least # bytes */
++	__le16	s_want_extra_isize; 	/* New inodes should reserve # bytes */
++	__le32	s_flags;		/* Miscellaneous flags */
++	__le16  s_raid_stride;		/* RAID stride */
++	__le16  s_mmp_interval;         /* # seconds to wait in MMP checking */
++	__le64  s_mmp_block;            /* Block for multi-mount protection */
++	__le32  s_raid_stripe_width;    /* blocks on all data disks (N*stride)*/
++	__u8	s_log_groups_per_flex;  /* FLEX_BG group size */
++	__u8	s_reserved_char_pad2;
++	__le16  s_reserved_pad;
++	__u32   s_reserved[162];        /* Padding to the end of the block */
+ };
+ 
+ #ifdef __KERNEL__
+@@ -692,6 +715,9 @@
+ #define DX_HASH_LEGACY		0
+ #define DX_HASH_HALF_MD4	1
+ #define DX_HASH_TEA		2
++#define DX_HASH_LEGACY_UNSIGNED	3
++#define DX_HASH_HALF_MD4_UNSIGNED	4
++#define DX_HASH_TEA_UNSIGNED		5
+ 
+ #ifdef __KERNEL__
+ 
+diff -urN a/include/linux/ext3_fs_sb.h b/include/linux/ext3_fs_sb.h
+--- a/include/linux/ext3_fs_sb.h	2008-10-28 19:43:42.000000000 +0000
++++ b/include/linux/ext3_fs_sb.h	2008-10-28 19:44:22.000000000 +0000
+@@ -57,6 +57,7 @@
+ 	u32 s_next_generation;
+ 	u32 s_hash_seed[4];
+ 	int s_def_hash_version;
++	int s_hash_unsigned;	/* 3 if hash should be signed, 0 if not */
+ 	struct percpu_counter s_freeblocks_counter;
+ 	struct percpu_counter s_freeinodes_counter;
+ 	struct percpu_counter s_dirs_counter;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ext4-add-sanity-check-to-make_indexed_dir.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ext4-add-sanity-check-to-make_indexed_dir.patch
@@ -0,0 +1,64 @@
+commit e6b8bc09ba2075cd91fbffefcd2778b1a00bd76f
+Author: Theodore Ts'o <tytso@mit.edu>
+Date:   Fri Jan 16 11:13:40 2009 -0500
+
+    ext4: Add sanity check to make_indexed_dir
+    
+    Make sure the rec_len field in the '..' entry is sane, lest we overrun
+    the directory block and cause a kernel oops on a purposefully
+    corrupted filesystem.
+    
+    Thanks to Sami Liedes for reporting this bug.
+    
+    http://bugzilla.kernel.org/show_bug.cgi?id=12430
+    
+    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+    Cc: stable@kernel.org
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/ext4/namei.c linux-source-2.6.26/fs/ext4/namei.c
+--- linux-source-2.6.26.orig/fs/ext4/namei.c	2009-02-07 16:43:11.000000000 -0700
++++ linux-source-2.6.26/fs/ext4/namei.c	2009-03-08 14:40:32.000000000 -0600
+@@ -1379,7 +1379,7 @@ static int make_indexed_dir(handle_t *ha
+ 	struct fake_dirent *fde;
+ 
+ 	blocksize =  dir->i_sb->s_blocksize;
+-	dxtrace(printk("Creating index\n"));
++	dxtrace(printk("Creating index: inode %lu\n", dir->i_ino));
+ 	retval = ext4_journal_get_write_access(handle, bh);
+ 	if (retval) {
+ 		ext4_std_error(dir->i_sb, retval);
+@@ -1388,6 +1388,20 @@ static int make_indexed_dir(handle_t *ha
+ 	}
+ 	root = (struct dx_root *) bh->b_data;
+ 
++	/* The 0th block becomes the root, move the dirents out */
++	fde = &root->dotdot;
++	de = (struct ext4_dir_entry_2 *)((char *)fde +
++		ext4_rec_len_from_disk(fde->rec_len));
++	if ((char *) de >= (((char *) root) + blocksize)) {
++		ext4_error(dir->i_sb, __func__,
++			   "invalid rec_len for '..' in inode %lu",
++			   dir->i_ino);
++		brelse(bh);
++		return -EIO;
++	}
++	len = ((char *) root) + blocksize - (char *) de;
++
++	/* Allocate new block for the 0th block's dirents */
+ 	bh2 = ext4_append (handle, dir, &block, &retval);
+ 	if (!(bh2)) {
+ 		brelse(bh);
+@@ -1396,11 +1410,6 @@ static int make_indexed_dir(handle_t *ha
+ 	EXT4_I(dir)->i_flags |= EXT4_INDEX_FL;
+ 	data1 = bh2->b_data;
+ 
+-	/* The 0th block becomes the root, move the dirents out */
+-	fde = &root->dotdot;
+-	de = (struct ext4_dir_entry_2 *)((char *)fde +
+-		ext4_rec_len_from_disk(fde->rec_len));
+-	len = ((char *) root) + blocksize - (char *) de;
+ 	memcpy (data1, de, len);
+ 	de = (struct ext4_dir_entry_2 *) data1;
+ 	top = data1 + len;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ext4-add-sanity-checks-for-the-superblock-before-mounting.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ext4-add-sanity-checks-for-the-superblock-before-mounting.patch
@@ -0,0 +1,74 @@
+commit 4ec110281379826c5cf6ed14735e47027c3c5765
+Author: Theodore Ts'o <tytso@mit.edu>
+Date:   Tue Jan 6 14:53:26 2009 -0500
+
+    ext4: Add sanity checks for the superblock before mounting the filesystem
+    
+    This avoids insane superblock configurations that could lead to kernel
+    oops due to null pointer derefences.
+    
+    http://bugzilla.kernel.org/show_bug.cgi?id=12371
+    
+    Thanks to David Maciejak at Fortinet's FortiGuard Global Security
+    Research Team who discovered this bug independently (but at
+    approximately the same time) as Thiemo Nagel, who submitted the patch.
+    
+    Signed-off-by: Thiemo Nagel <thiemo.nagel@ph.tum.de>
+    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+    Cc: stable@kernel.org
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/ext4/super.c linux-source-2.6.26/fs/ext4/super.c
+--- linux-source-2.6.26.orig/fs/ext4/super.c	2009-02-07 16:43:11.000000000 -0700
++++ linux-source-2.6.26/fs/ext4/super.c	2009-03-08 14:57:15.000000000 -0600
+@@ -1827,8 +1827,8 @@ static int ext4_fill_super (struct super
+ 	struct inode *root;
+ 	int ret = -EINVAL;
+ 	int blocksize;
+-	int db_count;
+-	int i;
++	unsigned int db_count;
++	unsigned int i;
+ 	int needs_recovery;
+ 	__le32 features;
+ 	__u64 blocks_count;
+@@ -2113,20 +2113,30 @@ static int ext4_fill_super (struct super
+ 	if (EXT4_BLOCKS_PER_GROUP(sb) == 0)
+ 		goto cantfind_ext4;
+ 
+-	/* ensure blocks_count calculation below doesn't sign-extend */
+-	if (ext4_blocks_count(es) + EXT4_BLOCKS_PER_GROUP(sb) <
+-	    le32_to_cpu(es->s_first_data_block) + 1) {
+-		printk(KERN_WARNING "EXT4-fs: bad geometry: block count %llu, "
+-		       "first data block %u, blocks per group %lu\n",
+-			ext4_blocks_count(es),
+-			le32_to_cpu(es->s_first_data_block),
+-			EXT4_BLOCKS_PER_GROUP(sb));
++        /*
++         * It makes no sense for the first data block to be beyond the end
++         * of the filesystem.
++         */
++        if (le32_to_cpu(es->s_first_data_block) >= ext4_blocks_count(es)) {
++                printk(KERN_WARNING "EXT4-fs: bad geometry: first data"
++		       "block %u is beyond end of filesystem (%llu)\n",
++		       le32_to_cpu(es->s_first_data_block),
++		       ext4_blocks_count(es));
+ 		goto failed_mount;
+ 	}
+ 	blocks_count = (ext4_blocks_count(es) -
+ 			le32_to_cpu(es->s_first_data_block) +
+ 			EXT4_BLOCKS_PER_GROUP(sb) - 1);
+ 	do_div(blocks_count, EXT4_BLOCKS_PER_GROUP(sb));
++	if (blocks_count > ((uint64_t)1<<32) - EXT4_DESC_PER_BLOCK(sb)) {
++		printk(KERN_WARNING "EXT4-fs: groups count too large: %u "
++		       "(block count %llu, first data block %u, "
++		       "blocks per group %lu)\n", sbi->s_groups_count,
++		       ext4_blocks_count(es),
++		       le32_to_cpu(es->s_first_data_block),
++		       EXT4_BLOCKS_PER_GROUP(sb));
++		goto failed_mount;
++	}
+ 	sbi->s_groups_count = blocks_count;
+ 	db_count = (sbi->s_groups_count + EXT4_DESC_PER_BLOCK(sb) - 1) /
+ 		   EXT4_DESC_PER_BLOCK(sb);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ext4-only-use-i_size_high-for-regular-files.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ext4-only-use-i_size_high-for-regular-files.patch
@@ -0,0 +1,59 @@
+commit 06a279d636734da32bb62dd2f7b0ade666f65d7c
+Author: Theodore Ts'o <tytso@mit.edu>
+Date:   Sat Jan 17 18:41:37 2009 -0500
+
+    ext4: only use i_size_high for regular files
+    
+    Directories are not allowed to be bigger than 2GB, so don't use
+    i_size_high for anything other than regular files.  E2fsck should
+    complain about these inodes, but the simplest thing to do for the
+    kernel is to only use i_size_high for regular files.
+    
+    This prevents an intentially corrupted filesystem from causing the
+    kernel to burn a huge amount of CPU and issuing error messages such
+    as:
+    
+    EXT4-fs warning (device loop0): ext4_block_to_path: block 135090028 > max
+    
+    Thanks to David Maciejak from Fortinet's FortiGuard Global Security
+    Research Team for reporting this issue.
+    
+    http://bugzilla.kernel.org/show_bug.cgi?id=12375
+    
+    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+    Cc: stable@kernel.org
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/ext4/ext4.h linux-source-2.6.26/fs/ext4/ext4.h
+--- linux-source-2.6.26.orig/fs/ext4/ext4.h	2009-02-07 16:43:11.000000000 -0700
++++ linux-source-2.6.26/fs/ext4/ext4.h	2009-03-08 14:49:23.000000000 -0600
+@@ -1139,8 +1139,11 @@ static inline void ext4_r_blocks_count_s
+ 
+ static inline loff_t ext4_isize(struct ext4_inode *raw_inode)
+ {
+-	return ((loff_t)le32_to_cpu(raw_inode->i_size_high) << 32) |
+-		le32_to_cpu(raw_inode->i_size_lo);
++	if (S_ISREG(le16_to_cpu(raw_inode->i_mode)))
++		return ((loff_t)le32_to_cpu(raw_inode->i_size_high) << 32) |
++			le32_to_cpu(raw_inode->i_size_lo);
++	else
++		return (loff_t) le32_to_cpu(raw_inode->i_size_lo);
+ }
+ 
+ static inline void ext4_isize_set(struct ext4_inode *raw_inode, loff_t i_size)
+diff -urpN linux-source-2.6.26.orig/fs/ext4/inode.c linux-source-2.6.26/fs/ext4/inode.c
+--- linux-source-2.6.26.orig/fs/ext4/inode.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/ext4/inode.c	2009-03-08 14:49:23.000000000 -0600
+@@ -308,9 +308,9 @@ static int ext4_block_to_path(struct ino
+ 		final = ptrs;
+ 	} else {
+ 		ext4_warning(inode->i_sb, "ext4_block_to_path",
+-				"block %lu > max",
++				"block %lu > max in inode %lu",
+ 				i_block + direct_blocks +
+-				indirect_blocks + double_blocks);
++				indirect_blocks + double_blocks, inode->i_ino);
+ 	}
+ 	if (boundary)
+ 		*boundary = final - 1 - (i_block & (ptrs - 1));
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ext4-add-support-for-non-native-signed-unsigned-htr.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ext4-add-support-for-non-native-signed-unsigned-htr.patch
@@ -0,0 +1,191 @@
+From: Theodore Ts'o <tytso@mit.edu>
+Date: Mon, 20 Oct 2008 22:57:37 -0400
+Subject: [PATCH] ext4: Add support for non-native signed/unsigned htree hash algorithms
+
+The original ext3 hash algorithms assumed that variables of type char
+were signed, as God and K&R intended.  Unfortunately, this assumption
+is not true on some architectures.  Userspace support for marking
+filesystems with non-native signed/unsigned chars was added two years
+ago, but the kernel-side support was never added (until now).
+
+Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+
+diff -urN a/fs/ext4/ext4.h b/fs/ext4/ext4.h
+--- a/fs/ext4/ext4.h	2008-10-28 19:43:40.000000000 +0000
++++ b/fs/ext4/ext4.h	2008-10-28 19:48:22.000000000 +0000
+@@ -872,6 +872,9 @@
+ #define DX_HASH_LEGACY		0
+ #define DX_HASH_HALF_MD4	1
+ #define DX_HASH_TEA		2
++#define DX_HASH_LEGACY_UNSIGNED	3
++#define DX_HASH_HALF_MD4_UNSIGNED	4
++#define DX_HASH_TEA_UNSIGNED		5
+ 
+ #ifdef __KERNEL__
+ 
+diff -urN a/fs/ext4/ext4_sb.h b/fs/ext4/ext4_sb.h
+--- a/fs/ext4/ext4_sb.h	2008-10-28 19:43:40.000000000 +0000
++++ b/fs/ext4/ext4_sb.h	2008-10-28 19:48:22.000000000 +0000
+@@ -56,6 +56,7 @@
+ 	u32 s_next_generation;
+ 	u32 s_hash_seed[4];
+ 	int s_def_hash_version;
++	int s_hash_unsigned;	/* 3 if hash should be signed, 0 if not */
+ 	struct percpu_counter s_freeblocks_counter;
+ 	struct percpu_counter s_freeinodes_counter;
+ 	struct percpu_counter s_dirs_counter;
+diff -urN a/fs/ext4/hash.c b/fs/ext4/hash.c
+--- a/fs/ext4/hash.c	2008-10-28 19:43:40.000000000 +0000
++++ b/fs/ext4/hash.c	2008-10-28 19:59:19.000000000 +0000
+@@ -35,11 +35,20 @@
+ 
+ 
+ /* The old legacy hash */
+-static __u32 dx_hack_hash (const char *name, int len)
++static __u32 dx_hack_hash(const char *name, int len, int unsigned_flag)
+ {
+-	__u32 hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;
++	__u32 hash, hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;
++	const unsigned char *ucp = (const unsigned char *) name;
++	const signed char *scp = (const signed char *) name;
++	int c;
++
+ 	while (len--) {
+-		__u32 hash = hash1 + (hash0 ^ (*name++ * 7152373));
++		if (unsigned_flag)
++			c = (int) *ucp++;
++		else
++			c = (int) *scp++;
++
++		hash = hash1 + (hash0 ^ (c * 7152373));
+ 
+ 		if (hash & 0x80000000) hash -= 0x7fffffff;
+ 		hash1 = hash0;
+@@ -48,10 +57,13 @@
+ 	return (hash0 << 1);
+ }
+ 
+-static void str2hashbuf(const char *msg, int len, __u32 *buf, int num)
++static void str2hashbuf(const char *msg, int len, __u32 *buf, int num,
++			int unsigned_flag)
+ {
+ 	__u32	pad, val;
+-	int	i;
++	int	i, c;
++	const unsigned char *ucp = (const unsigned char *) msg;
++	const signed char *scp = (const signed char *) msg;
+ 
+ 	pad = (__u32)len | ((__u32)len << 8);
+ 	pad |= pad << 16;
+@@ -62,7 +74,12 @@
+ 	for (i=0; i < len; i++) {
+ 		if ((i % 4) == 0)
+ 			val = pad;
+-		val = msg[i] + (val << 8);
++		if (unsigned_flag)
++			c = (int) ucp[i];
++		else
++			c = (int) scp[i];
++
++		val = c + (val << 8);
+ 		if ((i % 4) == 3) {
+ 			*buf++ = val;
+ 			val = pad;
+@@ -95,6 +112,7 @@
+ 	const char	*p;
+ 	int		i;
+ 	__u32		in[8], buf[4];
++	int		unsigned_flag = 0;
+ 
+ 	/* Initialize the default seed for the hash checksum functions */
+ 	buf[0] = 0x67452301;
+@@ -113,13 +131,17 @@
+ 	}
+ 
+ 	switch (hinfo->hash_version) {
++	case DX_HASH_LEGACY_UNSIGNED:
++		unsigned_flag++;
+ 	case DX_HASH_LEGACY:
+-		hash = dx_hack_hash(name, len);
++		hash = dx_hack_hash(name, len, unsigned_flag);
+ 		break;
++	case DX_HASH_HALF_MD4_UNSIGNED:
++		unsigned_flag++;
+ 	case DX_HASH_HALF_MD4:
+ 		p = name;
+ 		while (len > 0) {
+-			str2hashbuf(p, len, in, 8);
++			str2hashbuf(p, len, in, 8, unsigned_flag);
+ 			half_md4_transform(buf, in);
+ 			len -= 32;
+ 			p += 32;
+@@ -127,10 +149,12 @@
+ 		minor_hash = buf[2];
+ 		hash = buf[1];
+ 		break;
++	case DX_HASH_TEA_UNSIGNED:
++		unsigned_flag++;
+ 	case DX_HASH_TEA:
+ 		p = name;
+ 		while (len > 0) {
+-			str2hashbuf(p, len, in, 4);
++			str2hashbuf(p, len, in, 4, unsigned_flag);
+ 			TEA_transform(buf, in);
+ 			len -= 16;
+ 			p += 16;
+diff -urN a/fs/ext4/namei.c b/fs/ext4/namei.c
+--- a/fs/ext4/namei.c	2008-10-28 19:43:40.000000000 +0000
++++ b/fs/ext4/namei.c	2008-10-28 19:48:22.000000000 +0000
+@@ -361,6 +361,8 @@
+ 		goto fail;
+ 	}
+ 	hinfo->hash_version = root->info.hash_version;
++	if (hinfo->hash_version <= DX_HASH_TEA)
++		hinfo->hash_version += EXT4_SB(dir->i_sb)->s_hash_unsigned;
+ 	hinfo->seed = EXT4_SB(dir->i_sb)->s_hash_seed;
+ 	if (dentry)
+ 		ext4fs_dirhash(dentry->d_name.name, dentry->d_name.len, hinfo);
+@@ -639,6 +641,9 @@
+ 	dir = dir_file->f_path.dentry->d_inode;
+ 	if (!(EXT4_I(dir)->i_flags & EXT4_INDEX_FL)) {
+ 		hinfo.hash_version = EXT4_SB(dir->i_sb)->s_def_hash_version;
++		if (hinfo.hash_version <= DX_HASH_TEA)
++			hinfo.hash_version +=
++				EXT4_SB(dir->i_sb)->s_hash_unsigned;
+ 		hinfo.seed = EXT4_SB(dir->i_sb)->s_hash_seed;
+ 		count = htree_dirblock_to_tree(dir_file, dir, 0, &hinfo,
+ 					       start_hash, start_minor_hash);
+@@ -1415,6 +1420,8 @@
+ 
+ 	/* Initialize as for dx_probe */
+ 	hinfo.hash_version = root->info.hash_version;
++	if (hinfo.hash_version <= DX_HASH_TEA)
++		hinfo.hash_version += EXT4_SB(dir->i_sb)->s_hash_unsigned;
+ 	hinfo.seed = EXT4_SB(dir->i_sb)->s_hash_seed;
+ 	ext4fs_dirhash(name, namelen, &hinfo);
+ 	frame = frames;
+diff -urN a/fs/ext4/super.c b/fs/ext4/super.c
+--- a/fs/ext4/super.c	2008-10-28 19:43:40.000000000 +0000
++++ b/fs/ext4/super.c	2008-10-28 19:48:22.000000000 +0000
+@@ -2071,6 +2071,21 @@
+ 	for (i=0; i < 4; i++)
+ 		sbi->s_hash_seed[i] = le32_to_cpu(es->s_hash_seed[i]);
+ 	sbi->s_def_hash_version = es->s_def_hash_version;
++	i = le32_to_cpu(es->s_flags);
++	if (i & EXT2_FLAGS_UNSIGNED_HASH)
++		sbi->s_hash_unsigned = 3;
++	else if ((i & EXT2_FLAGS_SIGNED_HASH) == 0) {
++		char	c;
++
++		c = (char) 255;
++		if (((int) c) == -1) {
++			es->s_flags |= cpu_to_le32(EXT2_FLAGS_SIGNED_HASH);
++		} else {
++			es->s_flags |= cpu_to_le32(EXT2_FLAGS_UNSIGNED_HASH);
++			sbi->s_hash_unsigned = 3;
++		}
++		sb->s_dirt = 1;
++	}
+ 
+ 	if (sbi->s_blocks_per_group > blocksize * 8) {
+ 		printk (KERN_ERR
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ext4-avoid-null-pointer-deref-when-decoding-EROFS-wo-a-journal.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ext4-avoid-null-pointer-deref-when-decoding-EROFS-wo-a-journal.patch
@@ -0,0 +1,26 @@
+commit 78f1ddbb498283c2445c11b0dfa666424c301803
+Author: Theodore Ts'o <tytso@mit.edu>
+Date:   Mon Jul 27 23:09:47 2009 -0400
+
+    ext4: Avoid null pointer dereference when decoding EROFS w/o a journal
+    
+    We need to check to make sure a journal is present before checking the
+    journal flags in ext4_decode_error().
+    
+    Signed-off-by: Eric Sesterhenn <eric.sesterhenn@lsexperts.de>
+    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+
+diff --git a/fs/ext4/super.c b/fs/ext4/super.c
+index 8f4f079..fe3f376 100644
+--- a/fs/ext4/super.c
++++ b/fs/ext4/super.c
+@@ -344,7 +344,8 @@ static const char *ext4_decode_error(struct super_block *sb, int errno,
+ 		errstr = "Out of memory";
+ 		break;
+ 	case -EROFS:
+-		if (!sb || EXT4_SB(sb)->s_journal->j_flags & JBD2_ABORT)
++		if (!sb || (EXT4_SB(sb)->s_journal &&
++			    EXT4_SB(sb)->s_journal->j_flags & JBD2_ABORT))
+ 			errstr = "Journal has aborted";
+ 		else
+ 			errstr = "Readonly filesystem";
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/floppy-request-and-release-only-the-ports-we-actually-use.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/floppy-request-and-release-only-the-ports-we-actually-use.patch
@@ -0,0 +1,194 @@
+commit 5a74db06cc8d36a325913aa4968ae169f997a466
+Author: Philippe De Muyter <phdm@macqel.be>
+Date:   Wed Feb 18 14:48:36 2009 -0800
+
+    floppy: request and release only the ports we actually use
+    
+    The floppy driver requests an I/O port it doesn't need, and sometimes this
+    causes a conflict with a motherboard device reported by PNPBIOS.
+    
+    This patch makes the floppy driver request and release only the ports it
+    actually uses.  It also factors out the request/release stuff and the
+    io-ports list so they're all in one place now.
+    
+    The current floppy driver uses only these ports:
+    
+        0x3f2 (FD_DOR)
+        0x3f4 (FD_STATUS)
+        0x3f5 (FD_DATA)
+        0x3f7 (FD_DCR/FD_DIR)
+    
+    but it requests 0x3f2-0x3f5 and 0x3f7, which includes the unused port
+    0x3f3.
+    
+    Some BIOSes report 0x3f3 as a motherboard resource.  The PNP system driver
+    reserves that, which causes a conflict when the floppy driver requests
+    0x3f2-0x3f5 later.
+    
+    Philippe reported that this conflict broke the floppy driver between
+    2.6.11 and 2.6.22.  His PNPBIOS reports these devices:
+    
+        $ cat 00:07/id 00:07/resources	# motherboard device
+        PNP0c02
+        state = active
+        io 0x80-0x80
+        io 0x10-0x1f
+        io 0x22-0x3f
+        io 0x44-0x5f
+        io 0x90-0x9f
+        io 0xa2-0xbf
+        io 0x3f0-0x3f1
+        io 0x3f3-0x3f3
+    
+        $ cat 00:03/id 00:03/resources	# floppy device
+        PNP0700
+        state = active
+        io 0x3f4-0x3f5
+        io 0x3f2-0x3f2
+    
+    Reference:
+        http://lkml.org/lkml/2009/1/31/162
+    
+    Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
+    Signed-off-by: Philippe De Muyter <phdm@macqel.be>
+    Reported-by: Philippe De Muyter <phdm@macqel.be>
+    Tested-by: Philippe De Muyter <phdm@macqel.be>
+    Cc: Adam M Belay <abelay@mit.edu>
+    Cc: Robert Hancock <hancockrwd@gmail.com>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
+index cf29cc4..83d8ed3 100644
+--- a/drivers/block/floppy.c
++++ b/drivers/block/floppy.c
+@@ -558,6 +558,8 @@ static void process_fd_request(void);
+ static void recalibrate_floppy(void);
+ static void floppy_shutdown(unsigned long);
+ 
++static int floppy_request_regions(int);
++static void floppy_release_regions(int);
+ static int floppy_grab_irq_and_dma(void);
+ static void floppy_release_irq_and_dma(void);
+ 
+@@ -4274,8 +4276,7 @@ static int __init floppy_init(void)
+ 		FDCS->rawcmd = 2;
+ 		if (user_reset_fdc(-1, FD_RESET_ALWAYS, 0)) {
+ 			/* free ioports reserved by floppy_grab_irq_and_dma() */
+-			release_region(FDCS->address + 2, 4);
+-			release_region(FDCS->address + 7, 1);
++			floppy_release_regions(fdc);
+ 			FDCS->address = -1;
+ 			FDCS->version = FDC_NONE;
+ 			continue;
+@@ -4284,8 +4285,7 @@ static int __init floppy_init(void)
+ 		FDCS->version = get_fdc_version();
+ 		if (FDCS->version == FDC_NONE) {
+ 			/* free ioports reserved by floppy_grab_irq_and_dma() */
+-			release_region(FDCS->address + 2, 4);
+-			release_region(FDCS->address + 7, 1);
++			floppy_release_regions(fdc);
+ 			FDCS->address = -1;
+ 			continue;
+ 		}
+@@ -4358,6 +4358,47 @@ out_put_disk:
+ 
+ static DEFINE_SPINLOCK(floppy_usage_lock);
+ 
++static const struct io_region {
++	int offset;
++	int size;
++} io_regions[] = {
++	{ 2, 1 },
++	/* address + 3 is sometimes reserved by pnp bios for motherboard */
++	{ 4, 2 },
++	/* address + 6 is reserved, and may be taken by IDE.
++	 * Unfortunately, Adaptec doesn't know this :-(, */
++	{ 7, 1 },
++};
++
++static void floppy_release_allocated_regions(int fdc, const struct io_region *p)
++{
++	while (p != io_regions) {
++		p--;
++		release_region(FDCS->address + p->offset, p->size);
++	}
++}
++
++#define ARRAY_END(X) (&((X)[ARRAY_SIZE(X)]))
++
++static int floppy_request_regions(int fdc)
++{
++	const struct io_region *p;
++
++	for (p = io_regions; p < ARRAY_END(io_regions); p++) {
++		if (!request_region(FDCS->address + p->offset, p->size, "floppy")) {
++			DPRINT("Floppy io-port 0x%04lx in use\n", FDCS->address + p->offset);
++			floppy_release_allocated_regions(fdc, p);
++			return -EBUSY;
++		}
++	}
++	return 0;
++}
++
++static void floppy_release_regions(int fdc)
++{
++	floppy_release_allocated_regions(fdc, ARRAY_END(io_regions));
++}
++
+ static int floppy_grab_irq_and_dma(void)
+ {
+ 	unsigned long flags;
+@@ -4399,18 +4440,8 @@ static int floppy_grab_irq_and_dma(void)
+ 
+ 	for (fdc = 0; fdc < N_FDC; fdc++) {
+ 		if (FDCS->address != -1) {
+-			if (!request_region(FDCS->address + 2, 4, "floppy")) {
+-				DPRINT("Floppy io-port 0x%04lx in use\n",
+-				       FDCS->address + 2);
+-				goto cleanup1;
+-			}
+-			if (!request_region(FDCS->address + 7, 1, "floppy DIR")) {
+-				DPRINT("Floppy io-port 0x%04lx in use\n",
+-				       FDCS->address + 7);
+-				goto cleanup2;
+-			}
+-			/* address + 6 is reserved, and may be taken by IDE.
+-			 * Unfortunately, Adaptec doesn't know this :-(, */
++			if (floppy_request_regions(fdc))
++				goto cleanup;
+ 		}
+ 	}
+ 	for (fdc = 0; fdc < N_FDC; fdc++) {
+@@ -4432,15 +4463,11 @@ static int floppy_grab_irq_and_dma(void)
+ 	fdc = 0;
+ 	irqdma_allocated = 1;
+ 	return 0;
+-cleanup2:
+-	release_region(FDCS->address + 2, 4);
+-cleanup1:
++cleanup:
+ 	fd_free_irq();
+ 	fd_free_dma();
+-	while (--fdc >= 0) {
+-		release_region(FDCS->address + 2, 4);
+-		release_region(FDCS->address + 7, 1);
+-	}
++	while (--fdc >= 0)
++		floppy_release_regions(fdc);
+ 	spin_lock_irqsave(&floppy_usage_lock, flags);
+ 	usage_count--;
+ 	spin_unlock_irqrestore(&floppy_usage_lock, flags);
+@@ -4501,10 +4528,8 @@ static void floppy_release_irq_and_dma(void)
+ #endif
+ 	old_fdc = fdc;
+ 	for (fdc = 0; fdc < N_FDC; fdc++)
+-		if (FDCS->address != -1) {
+-			release_region(FDCS->address + 2, 4);
+-			release_region(FDCS->address + 7, 1);
+-		}
++		if (FDCS->address != -1)
++			floppy_release_regions(fdc);
+ 	fdc = old_fdc;
+ }
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/fbdefio-add-set_page_dirty-handler-to-deferred-io-fb.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/fbdefio-add-set_page_dirty-handler-to-deferred-io-fb.patch
@@ -0,0 +1,103 @@
+commit d847471d063663b9f36927d265c66a270c0cfaab
+Author: Ian Campbell <ijc@hellion.org.uk>
+Date:   Wed Aug 20 14:09:23 2008 -0700
+
+    fbdefio: add set_page_dirty handler to deferred IO FB
+    
+    Fixes kernel BUG at lib/radix-tree.c:473.
+    
+    Previously the handler was incidentally provided by tmpfs but this was
+    removed with:
+    
+      commit 14fcc23fdc78e9d32372553ccf21758a9bd56fa1
+      Author: Hugh Dickins <hugh@veritas.com>
+      Date:   Mon Jul 28 15:46:19 2008 -0700
+    
+        tmpfs: fix kernel BUG in shmem_delete_inode
+    
+    relying on this behaviour was incorrect in any case and the BUG also
+    appeared when the device node was on an ext3 filesystem.
+    
+    v2: override a_ops at open() time rather than mmap() time to minimise
+    races per AKPM's concerns.
+    
+    Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
+    Cc: Jaya Kumar <jayakumar.lkml@gmail.com>
+    Cc: Nick Piggin <npiggin@suse.de>
+    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
+    Cc: Hugh Dickins <hugh@veritas.com>
+    Cc: Johannes Weiner <hannes@saeurebad.de>
+    Cc: Jeremy Fitzhardinge <jeremy@goop.org>
+    Cc: Kel Modderman <kel@otaku42.de>
+    Cc: Markus Armbruster <armbru@redhat.com>
+    Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
+    Cc: <stable@kernel.org> [14fcc23fd is in 2.6.25.14 and 2.6.26.1]
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c
+index 59df132..4835bdc 100644
+--- a/drivers/video/fb_defio.c
++++ b/drivers/video/fb_defio.c
+@@ -114,6 +114,17 @@ static struct vm_operations_struct fb_deferred_io_vm_ops = {
+ 	.page_mkwrite	= fb_deferred_io_mkwrite,
+ };
+ 
++static int fb_deferred_io_set_page_dirty(struct page *page)
++{
++	if (!PageDirty(page))
++		SetPageDirty(page);
++	return 0;
++}
++
++static const struct address_space_operations fb_deferred_io_aops = {
++	.set_page_dirty = fb_deferred_io_set_page_dirty,
++};
++
+ static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma)
+ {
+ 	vma->vm_ops = &fb_deferred_io_vm_ops;
+@@ -163,6 +174,14 @@ void fb_deferred_io_init(struct fb_info *info)
+ }
+ EXPORT_SYMBOL_GPL(fb_deferred_io_init);
+ 
++void fb_deferred_io_open(struct fb_info *info,
++			 struct inode *inode,
++			 struct file *file)
++{
++	file->f_mapping->a_ops = &fb_deferred_io_aops;
++}
++EXPORT_SYMBOL_GPL(fb_deferred_io_open);
++
+ void fb_deferred_io_cleanup(struct fb_info *info)
+ {
+ 	void *screen_base = (void __force *) info->screen_base;
+diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
+index 6b48780..98843c2 100644
+--- a/drivers/video/fbmem.c
++++ b/drivers/video/fbmem.c
+@@ -1340,6 +1340,10 @@ fb_open(struct inode *inode, struct file *file)
+ 		if (res)
+ 			module_put(info->fbops->owner);
+ 	}
++#ifdef CONFIG_FB_DEFERRED_IO
++	if (info->fbdefio)
++		fb_deferred_io_open(info, inode, file);
++#endif
+ 	return res;
+ }
+ 
+diff --git a/include/linux/fb.h b/include/linux/fb.h
+index 3b8870e..531ccd5 100644
+--- a/include/linux/fb.h
++++ b/include/linux/fb.h
+@@ -976,6 +976,9 @@ static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch,
+ 
+ /* drivers/video/fb_defio.c */
+ extern void fb_deferred_io_init(struct fb_info *info);
++extern void fb_deferred_io_open(struct fb_info *info,
++				struct inode *inode,
++				struct file *file);
+ extern void fb_deferred_io_cleanup(struct fb_info *info);
+ extern int fb_deferred_io_fsync(struct file *file, struct dentry *dentry,
+ 				int datasync);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/fbmon-work-around-compiler-bug.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/fbmon-work-around-compiler-bug.patch
@@ -0,0 +1,48 @@
+commit 3730793d457fed79a6d49bae72996d458c8e4f2d
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Wed Jul 22 08:49:22 2009 -0700
+
+    fbmon: work around compiler bug in gcc-2.4.2
+    
+    There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent
+    he loop counter is of type 'unsigned char' and it should count to 128.
+    
+    The compiler will incorrectly decide that a trivial loop like this:
+    
+    	unsigned char i, ...
+    
+    	for (i = 0; i < 128; i++) {
+    		..
+    
+    is endless, and will compile it to a single instruction that just
+    branches to itself.
+    
+    This was triggered by the addition of '-fno-strict-overflow', and we
+    could play games with compiler versions and go back to '-fwrapv'
+    instead, but the trivial way to avoid it is to just make the loop
+    induction variable be an 'int' instead.
+    
+    Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure
+    for digging through assembler differences and finding it.
+    
+    Reported-and-tested-by: Krzysztof Oledzki <olel@ans.pl>
+    Found-by: Troy Moure <twmoure@szypr.net>
+    Gcc-bug-acked-by: Ian Lance Taylor <iant@google.com>
+    Cc: stable@kernel.org
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
+index 5c1a2c0..9ae9cd3 100644
+--- a/drivers/video/fbmon.c
++++ b/drivers/video/fbmon.c
+@@ -256,8 +256,8 @@ static void fix_edid(unsigned char *edid, int fix)
+ 
+ static int edid_checksum(unsigned char *edid)
+ {
+-	unsigned char i, csum = 0, all_null = 0;
+-	int err = 0, fix = check_edid(edid);
++	unsigned char csum = 0, all_null = 0;
++	int i, err = 0, fix = check_edid(edid);
+ 
+ 	if (fix)
+ 		fix_edid(edid, fix);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/fix-llseek-sign-extend-issue.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/fix-llseek-sign-extend-issue.patch
@@ -0,0 +1,70 @@
+Here is a patch for testing.
+
+  Ralf
+
+Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+
+ arch/mips/kernel/linux32.c     |    7 -------
+ arch/mips/kernel/scall64-o32.S |    2 +-
+ fs/read_write.c                |    4 ++--
+ 3 files changed, 3 insertions(+), 10 deletions(-)
+
+Backport to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
+--- a/arch/mips/kernel/linux32.c	2009-03-24 14:21:04.000000000 -0600
++++ b/arch/mips/kernel/linux32.c	2009-03-24 14:23:58.000000000 -0600
+@@ -253,13 +253,6 @@ sys32_settimeofday(struct compat_timeval
+ 	return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
+ }
+ 
+-SYSCALL_DEFINE5(32_llseek, unsigned long, fd, unsigned long, offset_high,
+-	unsigned long, offset_low, loff_t __user *, result,
+-	unsigned long, origin)
+-{
+-	return sys_llseek(fd, offset_high, offset_low, result, origin);
+-}
+-
+ /* From the Single Unix Spec: pread & pwrite act like lseek to pos + op +
+    lseek back to original location.  They fail just like lseek does on
+    non-seekable files.  */
+diff -urpN a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
+--- a/arch/mips/kernel/scall64-o32.S	2009-03-24 14:21:04.000000000 -0600
++++ b/arch/mips/kernel/scall64-o32.S	2009-03-24 14:23:58.000000000 -0600
+@@ -343,7 +343,7 @@ sys_call_table:
+ 	PTR	sys_ni_syscall	 		/* for afs_syscall */
+ 	PTR	sys_setfsuid
+ 	PTR	sys_setfsgid
+-	PTR	sys_32_llseek			/* 4140 */
++	PTR	sys_llseek			/* 4140 */
+ 	PTR	compat_sys_getdents
+ 	PTR	compat_sys_select
+ 	PTR	sys_flock
+diff -urpN a/fs/read_write.c b/fs/read_write.c
+--- a/fs/read_write.c	2009-03-24 14:21:04.000000000 -0600
++++ b/fs/read_write.c	2009-03-24 14:23:58.000000000 -0600
+@@ -152,8 +152,8 @@ bad:
+ }
+ 
+ #ifdef __ARCH_WANT_SYS_LLSEEK
+-SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high,
+-		unsigned long, offset_low, loff_t __user *, result,
++SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned int, offset_high,
++		unsigned int, offset_low, loff_t __user *, result,
+ 		unsigned int, origin)
+ {
+ 	int retval;
+diff -urpN a/include/linux/syscalls.h b/include/linux/syscalls.h
+--- a/include/linux/syscalls.h	2009-03-24 14:21:04.000000000 -0600
++++ b/include/linux/syscalls.h	2009-03-24 14:25:05.000000000 -0600
+@@ -443,8 +443,8 @@ asmlinkage long sys_utimes(char __user *
+ 				struct timeval __user *utimes);
+ asmlinkage long sys_lseek(unsigned int fd, off_t offset,
+ 			  unsigned int origin);
+-asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high,
+-			unsigned long offset_low, loff_t __user *result,
++asmlinkage long sys_llseek(unsigned int fd, unsigned int offset_high,
++			unsigned int offset_low, loff_t __user *result,
+ 			unsigned int origin);
+ asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count);
+ asmlinkage long sys_readahead(int fd, loff_t offset, size_t count);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/hpet-avoid-log-flooding.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/hpet-avoid-log-flooding.patch
@@ -0,0 +1,31 @@
+From: Matt Fleming <mjf@gentoo.org>
+Date: Sun, 2 Nov 2008 16:04:18 +0000 (+0000)
+Subject: x86: HPET: convert WARN_ON to WARN_ON_ONCE
+X-Git-Tag: v2.6.28-rc5~78^2~5
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fstable%2Flinux-2.6.28.y.git;a=commitdiff_plain;h=1de5b0854623d30d01d72cd4ea323eb5f39d1f16
+
+x86: HPET: convert WARN_ON to WARN_ON_ONCE
+
+It is possible to flood the console with call traces if the WARN_ON
+condition is true because of the frequency with which this function is
+called.
+
+Signed-off-by: Matt Fleming <mjf@gentoo.org>
+Cc: mingo@elte.hu
+Cc: venkatesh.pallipadi@intel.com
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+---
+
+diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
+index 77017e8..f10f946 100644
+--- a/arch/x86/kernel/hpet.c
++++ b/arch/x86/kernel/hpet.c
+@@ -322,7 +322,7 @@ static int hpet_next_event(unsigned long delta,
+ 	 * what we wrote hit the chip before we compare it to the
+ 	 * counter.
+ 	 */
+-	WARN_ON((u32)hpet_readl(HPET_T0_CMP) != cnt);
++	WARN_ON_ONCE((u32)hpet_readl(HPET_T0_CMP) != cnt);
+ 
+ 	return (s32)((u32)hpet_readl(HPET_COUNTER) - cnt) >= 0 ? -ETIME : 0;
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/firewire-ohci-handle-receive-packets-with-a-data-length-of-zero.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/firewire-ohci-handle-receive-packets-with-a-data-length-of-zero.patch
@@ -0,0 +1,55 @@
+commit 8c0c0cc2d9f4c523fde04bdfe41e4380dec8ee54
+Author: Jay Fenlason <fenlason@redhat.com>
+Date:   Fri Dec 11 14:23:58 2009 -0500
+
+    firewire: ohci: handle receive packets with a data length of zero
+    
+    Queueing to receive an ISO packet with a payload length of zero
+    silently does nothing in dualbuffer mode, and crashes the kernel in
+    packet-per-buffer mode.  Return an error in dualbuffer mode, because
+    the DMA controller won't let us do what we want, and work correctly in
+    packet-per-buffer mode.
+    
+    Signed-off-by: Jay Fenlason <fenlason@redhat.com>
+    Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
+    Cc: stable@kernel.org
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/firewire/fw-ohci.c linux-source-2.6.26/drivers/firewire/fw-ohci.c
+--- linux-source-2.6.26.orig/drivers/firewire/fw-ohci.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/firewire/fw-ohci.c	2009-12-24 00:20:17.000000000 -0700
+@@ -2142,6 +2142,13 @@ ohci_queue_iso_receive_dualbuffer(struct
+ 	page     = payload >> PAGE_SHIFT;
+ 	offset   = payload & ~PAGE_MASK;
+ 	rest     = p->payload_length;
++	/*
++	 * The controllers I've tested have not worked correctly when
++	 * second_req_count is zero.  Rather than do something we know won't
++	 * work, return an error
++	 */
++	if (rest == 0)
++		return -EINVAL;
+ 
+ 	/* FIXME: make packet-per-buffer/dual-buffer a context option */
+ 	while (rest > 0) {
+@@ -2195,7 +2202,7 @@ ohci_queue_iso_receive_packet_per_buffer
+ 					 unsigned long payload)
+ {
+ 	struct iso_context *ctx = container_of(base, struct iso_context, base);
+-	struct descriptor *d = NULL, *pd = NULL;
++	struct descriptor *d, *pd;
+ 	struct fw_iso_packet *p = packet;
+ 	dma_addr_t d_bus, page_bus;
+ 	u32 z, header_z, rest;
+@@ -2233,8 +2240,9 @@ ohci_queue_iso_receive_packet_per_buffer
+ 		d->data_address = cpu_to_le32(d_bus + (z * sizeof(*d)));
+ 
+ 		rest = payload_per_buffer;
++		pd = d;
+ 		for (j = 1; j < z; j++) {
+-			pd = d + j;
++			pd++;
+ 			pd->control = cpu_to_le16(DESCRIPTOR_STATUS |
+ 						  DESCRIPTOR_INPUT_MORE);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/fix-off-by-2-error-in-console-selection.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/fix-off-by-2-error-in-console-selection.patch
@@ -0,0 +1,35 @@
+commit 878b8619f711280fd05845e21956434b5e588cc4
+Author: Mikulas Patocka <mpatocka@redhat.com>
+Date:   Fri Jan 30 15:27:14 2009 -0500
+
+    Fix memory corruption in console selection
+    
+    Fix an off-by-two memory error in console selection.
+    
+    The loop below goes from sel_start to sel_end (inclusive), so it writes
+    one more character.  This one more character was added to the allocated
+    size (+1), but it was not multiplied by an UTF-8 multiplier.
+    
+    This patch fixes a memory corruption when UTF-8 console is used and the
+    user selects a few characters, all of them 3-byte in UTF-8 (for example
+    a frame line).
+    
+    When memory redzones are enabled, a redzone corruption is reported.
+    When they are not enabled, trashing of random memory occurs.
+    
+    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/drivers/char/selection.c b/drivers/char/selection.c
+index f29fbe9..cb8ca56 100644
+--- a/drivers/char/selection.c
++++ b/drivers/char/selection.c
+@@ -268,7 +268,7 @@ int set_selection(const struct tiocl_selection __user *sel, struct tty_struct *t
+ 
+ 	/* Allocate a new buffer before freeing the old one ... */
+ 	multiplier = use_unicode ? 3 : 1;  /* chars can take up to 3 bytes */
+-	bp = kmalloc((sel_end-sel_start)/2*multiplier+1, GFP_KERNEL);
++	bp = kmalloc(((sel_end-sel_start)/2+1)*multiplier, GFP_KERNEL);
+ 	if (!bp) {
+ 		printk(KERN_WARNING "selection: kmalloc() failed\n");
+ 		clear_selection();
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/hfsplus-check_read_mapping_page-return-value.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/hfsplus-check_read_mapping_page-return-value.patch
@@ -0,0 +1,102 @@
+commit 649f1ee6c705aab644035a7998d7b574193a598a
+Author: Eric Sesterhenn <snakebyte@gmx.de>
+Date:   Wed Oct 15 22:04:10 2008 -0700
+
+    hfsplus: check read_mapping_page() return value
+    
+    While testing more corrupted images with hfsplus, i came across
+    one which triggered the following bug:
+    
+    [15840.675016] BUG: unable to handle kernel paging request at fffffffb
+    [15840.675016] IP: [<c0116a4f>] kmap+0x15/0x56
+    [15840.675016] *pde = 00008067 *pte = 00000000
+    [15840.675016] Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC
+    [15840.675016] Modules linked in:
+    [15840.675016]
+    [15840.675016] Pid: 11575, comm: ln Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #29)
+    [15840.675016] EIP: 0060:[<c0116a4f>] EFLAGS: 00010202 CPU: 0
+    [15840.675016] EIP is at kmap+0x15/0x56
+    [15840.675016] EAX: 00000246 EBX: fffffffb ECX: 00000000 EDX: cab919c0
+    [15840.675016] ESI: 000007dd EDI: cab0bcf4 EBP: cab0bc98 ESP: cab0bc94
+    [15840.675016]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
+    [15840.675016] Process ln (pid: 11575, ti=cab0b000 task=cab919c0 task.ti=cab0b000)
+    [15840.675016] Stack: 00000000 cab0bcdc c0231cfb 00000000 cab0bce0 00000800 ca9290c0 fffffffb
+    [15840.675016]        cab145d0 cab919c0 cab15998 22222222 22222222 22222222 00000001 cab15960
+    [15840.675016]        000007dd cab0bcf4 cab0bd04 c022cb3a cab0bcf4 cab15a6c ca9290c0 00000000
+    [15840.675016] Call Trace:
+    [15840.675016]  [<c0231cfb>] ? hfsplus_block_allocate+0x6f/0x2d3
+    [15840.675016]  [<c022cb3a>] ? hfsplus_file_extend+0xc4/0x1db
+    [15840.675016]  [<c022ce41>] ? hfsplus_get_block+0x8c/0x19d
+    [15840.675016]  [<c06adde4>] ? sub_preempt_count+0x9d/0xab
+    [15840.675016]  [<c019ece6>] ? __block_prepare_write+0x147/0x311
+    [15840.675016]  [<c0161934>] ? __grab_cache_page+0x52/0x73
+    [15840.675016]  [<c019ef4f>] ? block_write_begin+0x79/0xd5
+    [15840.675016]  [<c022cdb5>] ? hfsplus_get_block+0x0/0x19d
+    [15840.675016]  [<c019f22a>] ? cont_write_begin+0x27f/0x2af
+    [15840.675016]  [<c022cdb5>] ? hfsplus_get_block+0x0/0x19d
+    [15840.675016]  [<c0139ebe>] ? tick_program_event+0x28/0x4c
+    [15840.675016]  [<c013bd35>] ? trace_hardirqs_off+0xb/0xd
+    [15840.675016]  [<c022b723>] ? hfsplus_write_begin+0x2d/0x32
+    [15840.675016]  [<c022cdb5>] ? hfsplus_get_block+0x0/0x19d
+    [15840.675016]  [<c0161988>] ? pagecache_write_begin+0x33/0x107
+    [15840.675016]  [<c01879e5>] ? __page_symlink+0x3c/0xae
+    [15840.675016]  [<c019ad34>] ? __mark_inode_dirty+0x12f/0x137
+    [15840.675016]  [<c0187a70>] ? page_symlink+0x19/0x1e
+    [15840.675016]  [<c022e6eb>] ? hfsplus_symlink+0x41/0xa6
+    [15840.675016]  [<c01886a9>] ? vfs_symlink+0x99/0x101
+    [15840.675016]  [<c018a2f6>] ? sys_symlinkat+0x6b/0xad
+    [15840.675016]  [<c018a348>] ? sys_symlink+0x10/0x12
+    [15840.675016]  [<c01038bd>] ? sysenter_do_call+0x12/0x31
+    [15840.675016]  =======================
+    [15840.675016] Code: 00 00 75 10 83 3d 88 2f ec c0 02 75 07 89 d0 e8 12 56 05 00 5d c3 55 ba 06 00 00 00 89 e5 53 89 c3 b8 3d eb 7e c0 e8 16 74 00 00 <8b> 03 c1 e8 1e 69 c0 d8 02 00 00 05 b8 69 8e c0 2b 80 c4 02 00
+    [15840.675016] EIP: [<c0116a4f>] kmap+0x15/0x56 SS:ESP 0068:cab0bc94
+    [15840.675016] ---[ end trace 4fea40dad6b70e5f ]---
+    
+    This happens because the return value of read_mapping_page() is passed on
+    to kmap unchecked.  The bug is triggered after the first
+    read_mapping_page() in hfsplus_block_allocate(), this patch fixes all
+    three usages in this functions but leaves the ones further down in the
+    file unchanged.
+    
+    Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
+    Cc: Roman Zippel <zippel@linux-m68k.org>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/fs/hfsplus/bitmap.c b/fs/hfsplus/bitmap.c
+index d128a25..ea30afc 100644
+--- a/fs/hfsplus/bitmap.c
++++ b/fs/hfsplus/bitmap.c
+@@ -32,6 +32,10 @@ int hfsplus_block_allocate(struct super_block *sb, u32 size, u32 offset, u32 *ma
+ 	mutex_lock(&HFSPLUS_SB(sb).alloc_file->i_mutex);
+ 	mapping = HFSPLUS_SB(sb).alloc_file->i_mapping;
+ 	page = read_mapping_page(mapping, offset / PAGE_CACHE_BITS, NULL);
++	if (IS_ERR(page)) {
++		start = size;
++		goto out;
++	}
+ 	pptr = kmap(page);
+ 	curr = pptr + (offset & (PAGE_CACHE_BITS - 1)) / 32;
+ 	i = offset % 32;
+@@ -73,6 +77,10 @@ int hfsplus_block_allocate(struct super_block *sb, u32 size, u32 offset, u32 *ma
+ 			break;
+ 		page = read_mapping_page(mapping, offset / PAGE_CACHE_BITS,
+ 					 NULL);
++		if (IS_ERR(page)) {
++			start = size;
++			goto out;
++		}
+ 		curr = pptr = kmap(page);
+ 		if ((size ^ offset) / PAGE_CACHE_BITS)
+ 			end = pptr + PAGE_CACHE_BITS / 32;
+@@ -120,6 +128,10 @@ found:
+ 		offset += PAGE_CACHE_BITS;
+ 		page = read_mapping_page(mapping, offset / PAGE_CACHE_BITS,
+ 					 NULL);
++		if (IS_ERR(page)) {
++			start = size;
++			goto out;
++		}
+ 		pptr = kmap(page);
+ 		curr = pptr;
+ 		end = pptr + PAGE_CACHE_BITS / 32;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/fs-nfs-avoid-overrun-copying-client-ip.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/fs-nfs-avoid-overrun-copying-client-ip.patch
@@ -0,0 +1,25 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sun, 04 Oct 2009 14:25:50 +0100
+Subject: [PATCH] nfs: Avoid overrun when copying client IP address string
+
+As seen in <http://bugs.debian.org/549002>, nfs4_init_client() can
+overrun the source string when copying the client IP address from
+nfs_parsed_mount_data::client_address to nfs_client::cl_ipaddr.  Since
+these are both treated as null-terminated strings elsewhere, the copy
+should be done with strlcpy() not memcpy().
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+diff --git a/fs/nfs/client.c b/fs/nfs/client.c
+index 75c9cd2..f525a2f 100644
+--- a/fs/nfs/client.c
++++ b/fs/nfs/client.c
+@@ -1073,7 +1073,7 @@ static int nfs4_init_client(struct nfs_client *clp,
+ 				      1, flags & NFS_MOUNT_NORESVPORT);
+ 	if (error < 0)
+ 		goto error;
+-	memcpy(clp->cl_ipaddr, ip_addr, sizeof(clp->cl_ipaddr));
++	strlcpy(clp->cl_ipaddr, ip_addr, sizeof(clp->cl_ipaddr));
+ 
+ 	error = nfs_idmap_new(clp);
+ 	if (error < 0) {
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/fs-pipe-null-pointer-dereference.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/fs-pipe-null-pointer-dereference.patch
@@ -0,0 +1,130 @@
+commit ad3960243e55320d74195fb85c975e0a8cc4466c
+Author: Earl Chew <earl_chew@agilent.com>
+Date:   Mon Oct 19 15:55:41 2009 -0700
+
+    fs: pipe.c null pointer dereference
+    
+    This patch fixes a null pointer exception in pipe_rdwr_open() which
+    generates the stack trace:
+    
+    > Unable to handle kernel NULL pointer dereference at 0000000000000028 RIP:
+    >  [<ffffffff802899a5>] pipe_rdwr_open+0x35/0x70
+    >  [<ffffffff8028125c>] __dentry_open+0x13c/0x230
+    >  [<ffffffff8028143d>] do_filp_open+0x2d/0x40
+    >  [<ffffffff802814aa>] do_sys_open+0x5a/0x100
+    >  [<ffffffff8021faf3>] sysenter_do_call+0x1b/0x67
+    
+    The failure mode is triggered by an attempt to open an anonymous
+    pipe via /proc/pid/fd/* as exemplified by this script:
+    
+    =============================================================
+    while : ; do
+       { echo y ; sleep 1 ; } | { while read ; do echo z$REPLY; done ; } &
+       PID=$!
+       OUT=$(ps -efl | grep 'sleep 1' | grep -v grep |
+            { read PID REST ; echo $PID; } )
+       OUT="${OUT%% *}"
+       DELAY=$((RANDOM * 1000 / 32768))
+       usleep $((DELAY * 1000 + RANDOM % 1000 ))
+       echo n > /proc/$OUT/fd/1                 # Trigger defect
+    done
+    =============================================================
+    
+    Note that the failure window is quite small and I could only
+    reliably reproduce the defect by inserting a small delay
+    in pipe_rdwr_open(). For example:
+    
+     static int
+     pipe_rdwr_open(struct inode *inode, struct file *filp)
+     {
+           msleep(100);
+           mutex_lock(&inode->i_mutex);
+    
+    Although the defect was observed in pipe_rdwr_open(), I think it
+    makes sense to replicate the change through all the pipe_*_open()
+    functions.
+    
+    The core of the change is to verify that inode->i_pipe has not
+    been released before attempting to manipulate it. If inode->i_pipe
+    is no longer present, return ENOENT to indicate so.
+    
+    The comment about potentially using atomic_t for i_pipe->readers
+    and i_pipe->writers has also been removed because it is no longer
+    relevant in this context. The inode->i_mutex lock must be used so
+    that inode->i_pipe can be dealt with correctly.
+    
+    Signed-off-by: Earl Chew <earl_chew@agilent.com>
+    Cc: stable@kernel.org
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/fs/pipe.c b/fs/pipe.c
+index 52c4151..ae17d02 100644
+--- a/fs/pipe.c
++++ b/fs/pipe.c
+@@ -777,36 +777,55 @@ pipe_rdwr_release(struct inode *inode, struct file *filp)
+ static int
+ pipe_read_open(struct inode *inode, struct file *filp)
+ {
+-	/* We could have perhaps used atomic_t, but this and friends
+-	   below are the only places.  So it doesn't seem worthwhile.  */
++	int ret = -ENOENT;
++
+ 	mutex_lock(&inode->i_mutex);
+-	inode->i_pipe->readers++;
++
++	if (inode->i_pipe) {
++		ret = 0;
++		inode->i_pipe->readers++;
++	}
++
+ 	mutex_unlock(&inode->i_mutex);
+ 
+-	return 0;
++	return ret;
+ }
+ 
+ static int
+ pipe_write_open(struct inode *inode, struct file *filp)
+ {
++	int ret = -ENOENT;
++
+ 	mutex_lock(&inode->i_mutex);
+-	inode->i_pipe->writers++;
++
++	if (inode->i_pipe) {
++		ret = 0;
++		inode->i_pipe->writers++;
++	}
++
+ 	mutex_unlock(&inode->i_mutex);
+ 
+-	return 0;
++	return ret;
+ }
+ 
+ static int
+ pipe_rdwr_open(struct inode *inode, struct file *filp)
+ {
++	int ret = -ENOENT;
++
+ 	mutex_lock(&inode->i_mutex);
+-	if (filp->f_mode & FMODE_READ)
+-		inode->i_pipe->readers++;
+-	if (filp->f_mode & FMODE_WRITE)
+-		inode->i_pipe->writers++;
++
++	if (inode->i_pipe) {
++		ret = 0;
++		if (filp->f_mode & FMODE_READ)
++			inode->i_pipe->readers++;
++		if (filp->f_mode & FMODE_WRITE)
++			inode->i_pipe->writers++;
++	}
++
+ 	mutex_unlock(&inode->i_mutex);
+ 
+-	return 0;
++	return ret;
+ }
+ 
+ /*
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/gdth-prevent-negative-offsets-in-ioctl.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/gdth-prevent-negative-offsets-in-ioctl.patch
@@ -0,0 +1,26 @@
+commit 690e744869f3262855b83b4fb59199cf142765b0
+Author: Dave Jones <davej@redhat.com>
+Date:   Mon Oct 19 19:55:13 2009 -0400
+
+    [SCSI] gdth: Prevent negative offsets in ioctl CVE-2009-3080
+    
+    A negative offset could be used to index before the event buffer and
+    lead to a security breach.
+    
+    Signed-off-by: Dave Jones <davej@redhat.com>
+    Cc: Stable Tree <stable@kernel.org>
+    Signed-off-by: James Bottomley <James.Bottomley@suse.de>
+
+diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
+index 185e6bc..9e8fce0 100644
+--- a/drivers/scsi/gdth.c
++++ b/drivers/scsi/gdth.c
+@@ -2900,7 +2900,7 @@ static int gdth_read_event(gdth_ha_str *ha, int handle, gdth_evt_str *estr)
+         eindex = handle;
+     estr->event_source = 0;
+ 
+-    if (eindex >= MAX_EVENTS) {
++    if (eindex < 0 || eindex >= MAX_EVENTS) {
+         spin_unlock_irqrestore(&ha->smp_lock, flags);
+         return eindex;
+     }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/fuse-prevent-fuse_put_request-on-invalid-pointer.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/fuse-prevent-fuse_put_request-on-invalid-pointer.patch
@@ -0,0 +1,29 @@
+commit f60311d5f7670d9539b424e4ed8b5c0872fc9e83
+Author: Anand V. Avati <avati@gluster.com>
+Date:   Thu Oct 22 06:24:52 2009 -0700
+
+    fuse: prevent fuse_put_request on invalid pointer
+    
+    fuse_direct_io() has a loop where requests are allocated in each
+    iteration. if allocation fails, the loop is broken out and follows
+    into an unconditional fuse_put_request() on that invalid pointer.
+    
+    Signed-off-by: Anand V. Avati <avati@gluster.com>
+    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
+    Cc: stable@kernel.org
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/fuse/file.c linux-source-2.6.26/fs/fuse/file.c
+--- linux-source-2.6.26.orig/fs/fuse/file.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/fuse/file.c	2009-11-25 12:29:51.000000000 -0700
+@@ -1005,7 +1005,8 @@ static ssize_t fuse_direct_io(struct fil
+ 				break;
+ 		}
+ 	}
+-	fuse_put_request(fc, req);
++	if (!IS_ERR(req))
++		fuse_put_request(fc, req);
+ 	if (res > 0) {
+ 		if (write)
+ 			fuse_write_update_size(inode, pos);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/hfs-fix-a-potential-buffer-overflow.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/hfs-fix-a-potential-buffer-overflow.patch
@@ -0,0 +1,92 @@
+commit ec81aecb29668ad71f699f4e7b96ec46691895b6
+Author: Amerigo Wang <amwang@redhat.com>
+Date:   Mon Dec 14 17:57:37 2009 -0800
+
+    hfs: fix a potential buffer overflow
+    
+    A specially-crafted Hierarchical File System (HFS) filesystem could cause
+    a buffer overflow to occur in a process's kernel stack during a memcpy()
+    call within the hfs_bnode_read() function (at fs/hfs/bnode.c:24).  The
+    attacker can provide the source buffer and length, and the destination
+    buffer is a local variable of a fixed length.  This local variable (passed
+    as "&entry" from fs/hfs/dir.c:112 and allocated on line 60) is stored in
+    the stack frame of hfs_bnode_read()'s caller, which is hfs_readdir().
+    Because the hfs_readdir() function executes upon any attempt to read a
+    directory on the filesystem, it gets called whenever a user attempts to
+    inspect any filesystem contents.
+    
+    [amwang@redhat.com: modify this patch and fix coding style problems]
+    Signed-off-by: WANG Cong <amwang@redhat.com>
+    Cc: Eugene Teo <eteo@redhat.com>
+    Cc: Roman Zippel <zippel@linux-m68k.org>
+    Cc: Al Viro <viro@zeniv.linux.org.uk>
+    Cc: Christoph Hellwig <hch@lst.de>
+    Cc: Alexey Dobriyan <adobriyan@gmail.com>
+    Cc: Dave Anderson <anderson@redhat.com>
+    Cc: <stable@kernel.org>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/fs/hfs/catalog.c b/fs/hfs/catalog.c
+index 6d98f11..424b033 100644
+--- a/fs/hfs/catalog.c
++++ b/fs/hfs/catalog.c
+@@ -289,6 +289,10 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, struct qstr *src_name,
+ 	err = hfs_brec_find(&src_fd);
+ 	if (err)
+ 		goto out;
++	if (src_fd.entrylength > sizeof(entry) || src_fd.entrylength < 0) {
++		err = -EIO;
++		goto out;
++	}
+ 
+ 	hfs_bnode_read(src_fd.bnode, &entry, src_fd.entryoffset,
+ 			    src_fd.entrylength);
+diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c
+index 7c69b98..2b3b861 100644
+--- a/fs/hfs/dir.c
++++ b/fs/hfs/dir.c
+@@ -79,6 +79,11 @@ static int hfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
+ 		filp->f_pos++;
+ 		/* fall through */
+ 	case 1:
++		if (fd.entrylength > sizeof(entry) || fd.entrylength < 0) {
++			err = -EIO;
++			goto out;
++		}
++
+ 		hfs_bnode_read(fd.bnode, &entry, fd.entryoffset, fd.entrylength);
+ 		if (entry.type != HFS_CDR_THD) {
+ 			printk(KERN_ERR "hfs: bad catalog folder thread\n");
+@@ -109,6 +114,12 @@ static int hfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
+ 			err = -EIO;
+ 			goto out;
+ 		}
++
++		if (fd.entrylength > sizeof(entry) || fd.entrylength < 0) {
++			err = -EIO;
++			goto out;
++		}
++
+ 		hfs_bnode_read(fd.bnode, &entry, fd.entryoffset, fd.entrylength);
+ 		type = entry.type;
+ 		len = hfs_mac2asc(sb, strbuf, &fd.key->cat.CName);
+diff --git a/fs/hfs/super.c b/fs/hfs/super.c
+index f7fcbe4..5ed7252 100644
+--- a/fs/hfs/super.c
++++ b/fs/hfs/super.c
+@@ -409,8 +409,13 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent)
+ 	/* try to get the root inode */
+ 	hfs_find_init(HFS_SB(sb)->cat_tree, &fd);
+ 	res = hfs_cat_find_brec(sb, HFS_ROOT_CNID, &fd);
+-	if (!res)
++	if (!res) {
++		if (fd.entrylength > sizeof(rec) || fd.entrylength < 0) {
++			res =  -EIO;
++			goto bail;
++		}
+ 		hfs_bnode_read(fd.bnode, &rec, fd.entryoffset, fd.entrylength);
++	}
+ 	if (res) {
+ 		hfs_find_exit(&fd);
+ 		goto bail_no_root;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/hfs-fix-namelength-memory-corruption.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/hfs-fix-namelength-memory-corruption.patch
@@ -0,0 +1,31 @@
+commit d38b7aa7fc3371b52d036748028db50b585ade2e
+Author: Eric Sesterhenn <snakebyte@gmx.de>
+Date:   Wed Oct 15 22:04:11 2008 -0700
+
+    hfs: fix namelength memory corruption
+    
+    Fix a stack corruption caused by a corrupted hfs filesystem.  If the
+    catalog name length is corrupted the memcpy overwrites the catalog btree
+    structure.  Since the field is limited to HFS_NAMELEN bytes in the
+    structure and the file format, we throw an error if it is too long.
+    
+    Cc: Roman Zippel <zippel@linux-m68k.org>
+    Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/fs/hfs/catalog.c b/fs/hfs/catalog.c
+index ba85157..6d98f11 100644
+--- a/fs/hfs/catalog.c
++++ b/fs/hfs/catalog.c
+@@ -190,6 +190,10 @@ int hfs_cat_find_brec(struct super_block *sb, u32 cnid,
+ 
+ 	fd->search_key->cat.ParID = rec.thread.ParID;
+ 	len = fd->search_key->cat.CName.len = rec.thread.CName.len;
++	if (len > HFS_NAMELEN) {
++		printk(KERN_ERR "hfs: bad catalog namelength\n");
++		return -EIO;
++	}
+ 	memcpy(fd->search_key->cat.CName.name, rec.thread.CName.name, len);
+ 	return hfs_brec_find(fd);
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/hfsplus-limit-to-2tb.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/hfsplus-limit-to-2tb.patch
@@ -0,0 +1,35 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Subject: [PATCH] hfsplus: Refuse to mount volumes larger than 2TB
+
+As found in <http://bugs.debian.org/550010>, hfsplus is using type u32
+rather than sector_t for some sector number calculations.
+
+In particular, hfsplus_get_block() does:
+
+        u32 ablock, dblock, mask;
+...
+        map_bh(bh_result, sb, (dblock << HFSPLUS_SB(sb).fs_shift) + HFSPLUS_SB(sb).blockoffset + (iblock & mask));
+
+I am not confident that I can find and fix all cases where a sector
+number may be truncated.  For now, avoid data loss by refusing to mount
+HFS+ volumes with more than 2^32 sectors (2TB).
+
+[plus fix by Andrew Morton <akpm@linux-foundation.org>]
+---
+--- a/fs/hfsplus/wrapper.c
++++ b/fs/hfsplus/wrapper.c
+@@ -99,6 +99,10 @@
+ 
+ 	if (hfsplus_get_last_session(sb, &part_start, &part_size))
+ 		return -EINVAL;
++	if ((u64)part_start + part_size > 0x100000000ULL) {
++		pr_err("hfs: volumes larger than 2TB are not supported yet\n");
++		return -EINVAL;
++	}
+ 	while (1) {
+ 		bh = sb_bread512(sb, part_start + HFSPLUS_VOLHEAD_SECTOR, vhdr);
+ 		if (!bh)
+
+-- 
+Ben Hutchings
+Quantity is no substitute for quality, but it's the only one we've got.
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/loopback-enable-tso.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/loopback-enable-tso.patch
@@ -0,0 +1,43 @@
+On Fri, Aug 15, 2008 at 06:14:42PM +1000, Herbert Xu wrote:
+> 
+> It's OK, I can reproduce it now.
+
+This fixes it for me.
+
+loopback: Enable TSO
+
+This patch enables TSO since the loopback device is naturally
+capable of handling packets of any size.  This also means that
+we won't enable GSO on lo which is good until GSO is fixed to
+preserve netfilter state as netfilter treats loopback packets
+in a special way.
+
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+
+I'll work on the netfilter state preservation next.
+
+Cheers,
+-- 
+Visit Openswan at http://www.openswan.org/
+Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
+Home Page: http://gondor.apana.org.au/~herbert/
+PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
+--
+diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
+index 49f6bc0..c11e621 100644
+--- a/drivers/net/loopback.c
++++ b/drivers/net/loopback.c
+@@ -234,9 +231,7 @@ static void loopback_setup(struct net_device *dev)
+ 	dev->type		= ARPHRD_LOOPBACK;	/* 0x0001*/
+ 	dev->flags		= IFF_LOOPBACK;
+ 	dev->features 		= NETIF_F_SG | NETIF_F_FRAGLIST
+-#ifdef LOOPBACK_TSO
+ 		| NETIF_F_TSO
+-#endif
+ 		| NETIF_F_NO_CSUM
+ 		| NETIF_F_HIGHDMA
+ 		| NETIF_F_LLTX
+--
+To unsubscribe from this list: send the line "unsubscribe netdev" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/hfsplus-fix-Buffer-overflow-with-a-corrupted-image.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/hfsplus-fix-Buffer-overflow-with-a-corrupted-image.patch
@@ -0,0 +1,119 @@
+commit efc7ffcb4237f8cb9938909041c4ed38f6e1bf40
+Author: Eric Sesterhenn <snakebyte@gmx.de>
+Date:   Wed Oct 15 22:04:08 2008 -0700
+
+    hfsplus: fix Buffer overflow with a corrupted image
+    
+    When an hfsplus image gets corrupted it might happen that the catalog
+    namelength field gets b0rked.  If we mount such an image the memcpy() in
+    hfsplus_cat_build_key_uni() writes more than the 255 that fit in the name
+    field.  Depending on the size of the overwritten data, we either only get
+    memory corruption or also trigger an oops like this:
+    
+    [  221.628020] BUG: unable to handle kernel paging request at c82b0000
+    [  221.629066] IP: [<c022d4b1>] hfsplus_find_cat+0x10d/0x151
+    [  221.629066] *pde = 0ea29163 *pte = 082b0160
+    [  221.629066] Oops: 0002 [#1] PREEMPT DEBUG_PAGEALLOC
+    [  221.629066] Modules linked in:
+    [  221.629066]
+    [  221.629066] Pid: 4845, comm: mount Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #28)
+    [  221.629066] EIP: 0060:[<c022d4b1>] EFLAGS: 00010206 CPU: 0
+    [  221.629066] EIP is at hfsplus_find_cat+0x10d/0x151
+    [  221.629066] EAX: 00000029 EBX: 00016210 ECX: 000042c2 EDX: 00000002
+    [  221.629066] ESI: c82d70ca EDI: c82b0000 EBP: c82d1bcc ESP: c82d199c
+    [  221.629066]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
+    [  221.629066] Process mount (pid: 4845, ti=c82d1000 task=c8224060 task.ti=c82d1000)
+    [  221.629066] Stack: c080b3c4 c82aa8f8 c82d19c2 00016210 c080b3be c82d1bd4 c82aa8f0 00000300
+    [  221.629066]        01000000 750008b1 74006e00 74006900 65006c00 c82d6400 c013bd35 c8224060
+    [  221.629066]        00000036 00000046 c82d19f0 00000082 c8224548 c8224060 00000036 c0d653cc
+    [  221.629066] Call Trace:
+    [  221.629066]  [<c013bd35>] ? trace_hardirqs_off+0xb/0xd
+    [  221.629066]  [<c013bca3>] ? trace_hardirqs_off_caller+0x14/0x9b
+    [  221.629066]  [<c013bd35>] ? trace_hardirqs_off+0xb/0xd
+    [  221.629066]  [<c013bca3>] ? trace_hardirqs_off_caller+0x14/0x9b
+    [  221.629066]  [<c013bd35>] ? trace_hardirqs_off+0xb/0xd
+    [  221.629066]  [<c0107aa3>] ? native_sched_clock+0x82/0x96
+    [  221.629066]  [<c01302d2>] ? __kernel_text_address+0x1b/0x27
+    [  221.629066]  [<c010487a>] ? dump_trace+0xca/0xd6
+    [  221.629066]  [<c0109e32>] ? save_stack_address+0x0/0x2c
+    [  221.629066]  [<c0109eaf>] ? save_stack_trace+0x1c/0x3a
+    [  221.629066]  [<c013b571>] ? save_trace+0x37/0x8d
+    [  221.629066]  [<c013b62e>] ? add_lock_to_list+0x67/0x8d
+    [  221.629066]  [<c013ea1c>] ? validate_chain+0x8a4/0x9f4
+    [  221.629066]  [<c013553d>] ? down+0xc/0x2f
+    [  221.629066]  [<c013f1f6>] ? __lock_acquire+0x68a/0x6e0
+    [  221.629066]  [<c013bd35>] ? trace_hardirqs_off+0xb/0xd
+    [  221.629066]  [<c013bca3>] ? trace_hardirqs_off_caller+0x14/0x9b
+    [  221.629066]  [<c013bd35>] ? trace_hardirqs_off+0xb/0xd
+    [  221.629066]  [<c0107aa3>] ? native_sched_clock+0x82/0x96
+    [  221.629066]  [<c013da5d>] ? mark_held_locks+0x43/0x5a
+    [  221.629066]  [<c013dc3a>] ? trace_hardirqs_on+0xb/0xd
+    [  221.629066]  [<c013dbf4>] ? trace_hardirqs_on_caller+0xf4/0x12f
+    [  221.629066]  [<c06abec8>] ? _spin_unlock_irqrestore+0x42/0x58
+    [  221.629066]  [<c013555c>] ? down+0x2b/0x2f
+    [  221.629066]  [<c022aa68>] ? hfsplus_iget+0xa0/0x154
+    [  221.629066]  [<c022b0b9>] ? hfsplus_fill_super+0x280/0x447
+    [  221.629066]  [<c0107aa3>] ? native_sched_clock+0x82/0x96
+    [  221.629066]  [<c013bca3>] ? trace_hardirqs_off_caller+0x14/0x9b
+    [  221.629066]  [<c013bca3>] ? trace_hardirqs_off_caller+0x14/0x9b
+    [  221.629066]  [<c013f1f6>] ? __lock_acquire+0x68a/0x6e0
+    [  221.629066]  [<c041c9e4>] ? string+0x2b/0x74
+    [  221.629066]  [<c041cd16>] ? vsnprintf+0x2e9/0x512
+    [  221.629066]  [<c010487a>] ? dump_trace+0xca/0xd6
+    [  221.629066]  [<c0109eaf>] ? save_stack_trace+0x1c/0x3a
+    [  221.629066]  [<c0109eaf>] ? save_stack_trace+0x1c/0x3a
+    [  221.629066]  [<c013b571>] ? save_trace+0x37/0x8d
+    [  221.629066]  [<c013b62e>] ? add_lock_to_list+0x67/0x8d
+    [  221.629066]  [<c013ea1c>] ? validate_chain+0x8a4/0x9f4
+    [  221.629066]  [<c01354d3>] ? up+0xc/0x2f
+    [  221.629066]  [<c013f1f6>] ? __lock_acquire+0x68a/0x6e0
+    [  221.629066]  [<c013bd35>] ? trace_hardirqs_off+0xb/0xd
+    [  221.629066]  [<c013bca3>] ? trace_hardirqs_off_caller+0x14/0x9b
+    [  221.629066]  [<c013bd35>] ? trace_hardirqs_off+0xb/0xd
+    [  221.629066]  [<c0107aa3>] ? native_sched_clock+0x82/0x96
+    [  221.629066]  [<c041cfb7>] ? snprintf+0x1b/0x1d
+    [  221.629066]  [<c01ba466>] ? disk_name+0x25/0x67
+    [  221.629066]  [<c0183960>] ? get_sb_bdev+0xcd/0x10b
+    [  221.629066]  [<c016ad92>] ? kstrdup+0x2a/0x4c
+    [  221.629066]  [<c022a7b3>] ? hfsplus_get_sb+0x13/0x15
+    [  221.629066]  [<c022ae39>] ? hfsplus_fill_super+0x0/0x447
+    [  221.629066]  [<c0183583>] ? vfs_kern_mount+0x3b/0x76
+    [  221.629066]  [<c0183602>] ? do_kern_mount+0x32/0xba
+    [  221.629066]  [<c01960d4>] ? do_new_mount+0x46/0x74
+    [  221.629066]  [<c0196277>] ? do_mount+0x175/0x193
+    [  221.629066]  [<c013dbf4>] ? trace_hardirqs_on_caller+0xf4/0x12f
+    [  221.629066]  [<c01663b2>] ? __get_free_pages+0x1e/0x24
+    [  221.629066]  [<c06ac07b>] ? lock_kernel+0x19/0x8c
+    [  221.629066]  [<c01962e6>] ? sys_mount+0x51/0x9b
+    [  221.629066]  [<c01962f9>] ? sys_mount+0x64/0x9b
+    [  221.629066]  [<c01038bd>] ? sysenter_do_call+0x12/0x31
+    [  221.629066]  =======================
+    [  221.629066] Code: 89 c2 c1 e2 08 c1 e8 08 09 c2 8b 85 e8 fd ff ff 66 89 50 06 89 c7 53 83 c7 08 56 57 68 c4 b3 80 c0 e8 8c 5c ef ff 89 d9 c1 e9 02 <f3> a5 89 d9 83 e1 03 74 02 f3 a4 83 c3 06 8b 95 e8 fd ff ff 0f
+    [  221.629066] EIP: [<c022d4b1>] hfsplus_find_cat+0x10d/0x151 SS:ESP 0068:c82d199c
+    [  221.629066] ---[ end trace e417a1d67f0d0066 ]---
+    
+    Since hfsplus_cat_build_key_uni() returns void and only has one callsite,
+    the check is performed at the callsite.
+    
+    Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
+    Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
+    Cc: Roman Zippel <zippel@linux-m68k.org>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/fs/hfsplus/catalog.c b/fs/hfsplus/catalog.c
+index ba117c4..f6874ac 100644
+--- a/fs/hfsplus/catalog.c
++++ b/fs/hfsplus/catalog.c
+@@ -168,6 +168,11 @@ int hfsplus_find_cat(struct super_block *sb, u32 cnid,
+ 		return -EIO;
+ 	}
+ 
++	if (be16_to_cpu(tmp.thread.nodeName.length) > 255) {
++		printk(KERN_ERR "hfs: catalog name length corrupted\n");
++		return -EIO;
++	}
++
+ 	hfsplus_cat_build_key_uni(fd->search_key, be32_to_cpu(tmp.thread.parentID),
+ 				 &tmp.thread.nodeName);
+ 	return hfs_brec_find(fd);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/isdn-hfc_usb-fix-read-buffer-overflow.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/isdn-hfc_usb-fix-read-buffer-overflow.patch
@@ -0,0 +1,28 @@
+commit 286e633ef0ff5bb63c07b4516665da8004966fec
+Author: Roel Kluin <roel.kluin@gmail.com>
+Date:   Wed Nov 4 08:31:59 2009 -0800
+
+    isdn: hfc_usb: Fix read buffer overflow
+    
+    Check whether index is within bounds before testing the element.
+    
+    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
+    Cc: Karsten Keil <isdn@linux-pingi.de>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/drivers/isdn/hisax/hfc_usb.c b/drivers/isdn/hisax/hfc_usb.c
+index 9de5420..a420b64 100644
+--- a/drivers/isdn/hisax/hfc_usb.c
++++ b/drivers/isdn/hisax/hfc_usb.c
+@@ -817,8 +817,8 @@ collect_rx_frame(usb_fifo * fifo, __u8 * data, int len, int finish)
+ 	}
+ 	/* we have a complete hdlc packet */
+ 	if (finish) {
+-		if ((!fifo->skbuff->data[fifo->skbuff->len - 1])
+-		    && (fifo->skbuff->len > 3)) {
++		if (fifo->skbuff->len > 3 &&
++				!fifo->skbuff->data[fifo->skbuff->len - 1]) {
+ 
+ 			if (fifon == HFCUSB_D_RX) {
+ 				DBG(HFCUSB_DBG_DCHANNEL,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/inotify-watch-removal-umount-races.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/inotify-watch-removal-umount-races.patch
@@ -0,0 +1,564 @@
+commit 8f7b0ba1c853919b85b54774775f567f30006107
+Author: Al Viro <viro@ZenIV.linux.org.uk>
+Date:   Sat Nov 15 01:15:43 2008 +0000
+
+    Fix inotify watch removal/umount races
+    
+    Inotify watch removals suck violently.
+    
+    To kick the watch out we need (in this order) inode->inotify_mutex and
+    ih->mutex.  That's fine if we have a hold on inode; however, for all
+    other cases we need to make damn sure we don't race with umount.  We can
+    *NOT* just grab a reference to a watch - inotify_unmount_inodes() will
+    happily sail past it and we'll end with reference to inode potentially
+    outliving its superblock.
+    
+    Ideally we just want to grab an active reference to superblock if we
+    can; that will make sure we won't go into inotify_umount_inodes() until
+    we are done.  Cleanup is just deactivate_super().
+    
+    However, that leaves a messy case - what if we *are* racing with
+    umount() and active references to superblock can't be acquired anymore?
+    We can bump ->s_count, grab ->s_umount, which will almost certainly wait
+    until the superblock is shut down and the watch in question is pining
+    for fjords.  That's fine, but there is a problem - we might have hit the
+    window between ->s_active getting to 0 / ->s_count - below S_BIAS (i.e.
+    the moment when superblock is past the point of no return and is heading
+    for shutdown) and the moment when deactivate_super() acquires
+    ->s_umount.
+    
+    We could just do drop_super() yield() and retry, but that's rather
+    antisocial and this stuff is luser-triggerable.  OTOH, having grabbed
+    ->s_umount and having found that we'd got there first (i.e.  that
+    ->s_root is non-NULL) we know that we won't race with
+    inotify_umount_inodes().
+    
+    So we could grab a reference to watch and do the rest as above, just
+    with drop_super() instead of deactivate_super(), right? Wrong.  We had
+    to drop ih->mutex before we could grab ->s_umount.  So the watch
+    could've been gone already.
+    
+    That still can be dealt with - we need to save watch->wd, do idr_find()
+    and compare its result with our pointer.  If they match, we either have
+    the damn thing still alive or we'd lost not one but two races at once,
+    the watch had been killed and a new one got created with the same ->wd
+    at the same address.  That couldn't have happened in inotify_destroy(),
+    but inotify_rm_wd() could run into that.  Still, "new one got created"
+    is not a problem - we have every right to kill it or leave it alone,
+    whatever's more convenient.
+    
+    So we can use idr_find(...) == watch && watch->inode->i_sb == sb as
+    "grab it and kill it" check.  If it's been our original watch, we are
+    fine, if it's a newcomer - nevermind, just pretend that we'd won the
+    race and kill the fscker anyway; we are safe since we know that its
+    superblock won't be going away.
+    
+    And yes, this is far beyond mere "not very pretty"; so's the entire
+    concept of inotify to start with.
+    
+    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+    Acked-by: Greg KH <greg@kroah.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/fs/inotify.c b/fs/inotify.c
+index 690e725..7bbed1b 100644
+--- a/fs/inotify.c
++++ b/fs/inotify.c
+@@ -106,6 +106,20 @@ void get_inotify_watch(struct inotify_watch *watch)
+ }
+ EXPORT_SYMBOL_GPL(get_inotify_watch);
+ 
++int pin_inotify_watch(struct inotify_watch *watch)
++{
++	struct super_block *sb = watch->inode->i_sb;
++	spin_lock(&sb_lock);
++	if (sb->s_count >= S_BIAS) {
++		atomic_inc(&sb->s_active);
++		spin_unlock(&sb_lock);
++		atomic_inc(&watch->count);
++		return 1;
++	}
++	spin_unlock(&sb_lock);
++	return 0;
++}
++
+ /**
+  * put_inotify_watch - decrements the ref count on a given watch.  cleans up
+  * watch references if the count reaches zero.  inotify_watch is freed by
+@@ -124,6 +138,13 @@ void put_inotify_watch(struct inotify_watch *watch)
+ }
+ EXPORT_SYMBOL_GPL(put_inotify_watch);
+ 
++void unpin_inotify_watch(struct inotify_watch *watch)
++{
++	struct super_block *sb = watch->inode->i_sb;
++	put_inotify_watch(watch);
++	deactivate_super(sb);
++}
++
+ /*
+  * inotify_handle_get_wd - returns the next WD for use by the given handle
+  *
+@@ -479,6 +500,112 @@ void inotify_init_watch(struct inotify_watch *watch)
+ }
+ EXPORT_SYMBOL_GPL(inotify_init_watch);
+ 
++/*
++ * Watch removals suck violently.  To kick the watch out we need (in this
++ * order) inode->inotify_mutex and ih->mutex.  That's fine if we have
++ * a hold on inode; however, for all other cases we need to make damn sure
++ * we don't race with umount.  We can *NOT* just grab a reference to a
++ * watch - inotify_unmount_inodes() will happily sail past it and we'll end
++ * with reference to inode potentially outliving its superblock.  Ideally
++ * we just want to grab an active reference to superblock if we can; that
++ * will make sure we won't go into inotify_umount_inodes() until we are
++ * done.  Cleanup is just deactivate_super().  However, that leaves a messy
++ * case - what if we *are* racing with umount() and active references to
++ * superblock can't be acquired anymore?  We can bump ->s_count, grab
++ * ->s_umount, which will almost certainly wait until the superblock is shut
++ * down and the watch in question is pining for fjords.  That's fine, but
++ * there is a problem - we might have hit the window between ->s_active
++ * getting to 0 / ->s_count - below S_BIAS (i.e. the moment when superblock
++ * is past the point of no return and is heading for shutdown) and the
++ * moment when deactivate_super() acquires ->s_umount.  We could just do
++ * drop_super() yield() and retry, but that's rather antisocial and this
++ * stuff is luser-triggerable.  OTOH, having grabbed ->s_umount and having
++ * found that we'd got there first (i.e. that ->s_root is non-NULL) we know
++ * that we won't race with inotify_umount_inodes().  So we could grab a
++ * reference to watch and do the rest as above, just with drop_super() instead
++ * of deactivate_super(), right?  Wrong.  We had to drop ih->mutex before we
++ * could grab ->s_umount.  So the watch could've been gone already.
++ *
++ * That still can be dealt with - we need to save watch->wd, do idr_find()
++ * and compare its result with our pointer.  If they match, we either have
++ * the damn thing still alive or we'd lost not one but two races at once,
++ * the watch had been killed and a new one got created with the same ->wd
++ * at the same address.  That couldn't have happened in inotify_destroy(),
++ * but inotify_rm_wd() could run into that.  Still, "new one got created"
++ * is not a problem - we have every right to kill it or leave it alone,
++ * whatever's more convenient.
++ *
++ * So we can use idr_find(...) == watch && watch->inode->i_sb == sb as
++ * "grab it and kill it" check.  If it's been our original watch, we are
++ * fine, if it's a newcomer - nevermind, just pretend that we'd won the
++ * race and kill the fscker anyway; we are safe since we know that its
++ * superblock won't be going away.
++ *
++ * And yes, this is far beyond mere "not very pretty"; so's the entire
++ * concept of inotify to start with.
++ */
++
++/**
++ * pin_to_kill - pin the watch down for removal
++ * @ih: inotify handle
++ * @watch: watch to kill
++ *
++ * Called with ih->mutex held, drops it.  Possible return values:
++ * 0 - nothing to do, it has died
++ * 1 - remove it, drop the reference and deactivate_super()
++ * 2 - remove it, drop the reference and drop_super(); we tried hard to avoid
++ * that variant, since it involved a lot of PITA, but that's the best that
++ * could've been done.
++ */
++static int pin_to_kill(struct inotify_handle *ih, struct inotify_watch *watch)
++{
++	struct super_block *sb = watch->inode->i_sb;
++	s32 wd = watch->wd;
++
++	spin_lock(&sb_lock);
++	if (sb->s_count >= S_BIAS) {
++		atomic_inc(&sb->s_active);
++		spin_unlock(&sb_lock);
++		get_inotify_watch(watch);
++		mutex_unlock(&ih->mutex);
++		return 1;	/* the best outcome */
++	}
++	sb->s_count++;
++	spin_unlock(&sb_lock);
++	mutex_unlock(&ih->mutex); /* can't grab ->s_umount under it */
++	down_read(&sb->s_umount);
++	if (likely(!sb->s_root)) {
++		/* fs is already shut down; the watch is dead */
++		drop_super(sb);
++		return 0;
++	}
++	/* raced with the final deactivate_super() */
++	mutex_lock(&ih->mutex);
++	if (idr_find(&ih->idr, wd) != watch || watch->inode->i_sb != sb) {
++		/* the watch is dead */
++		mutex_unlock(&ih->mutex);
++		drop_super(sb);
++		return 0;
++	}
++	/* still alive or freed and reused with the same sb and wd; kill */
++	get_inotify_watch(watch);
++	mutex_unlock(&ih->mutex);
++	return 2;
++}
++
++static void unpin_and_kill(struct inotify_watch *watch, int how)
++{
++	struct super_block *sb = watch->inode->i_sb;
++	put_inotify_watch(watch);
++	switch (how) {
++	case 1:
++		deactivate_super(sb);
++		break;
++	case 2:
++		drop_super(sb);
++	}
++}
++
+ /**
+  * inotify_destroy - clean up and destroy an inotify instance
+  * @ih: inotify handle
+@@ -490,11 +617,15 @@ void inotify_destroy(struct inotify_handle *ih)
+ 	 * pretty.  We cannot do a simple iteration over the list, because we
+ 	 * do not know the inode until we iterate to the watch.  But we need to
+ 	 * hold inode->inotify_mutex before ih->mutex.  The following works.
++	 *
++	 * AV: it had to become even uglier to start working ;-/
+ 	 */
+ 	while (1) {
+ 		struct inotify_watch *watch;
+ 		struct list_head *watches;
++		struct super_block *sb;
+ 		struct inode *inode;
++		int how;
+ 
+ 		mutex_lock(&ih->mutex);
+ 		watches = &ih->watches;
+@@ -503,8 +634,10 @@ void inotify_destroy(struct inotify_handle *ih)
+ 			break;
+ 		}
+ 		watch = list_first_entry(watches, struct inotify_watch, h_list);
+-		get_inotify_watch(watch);
+-		mutex_unlock(&ih->mutex);
++		sb = watch->inode->i_sb;
++		how = pin_to_kill(ih, watch);
++		if (!how)
++			continue;
+ 
+ 		inode = watch->inode;
+ 		mutex_lock(&inode->inotify_mutex);
+@@ -518,7 +651,7 @@ void inotify_destroy(struct inotify_handle *ih)
+ 
+ 		mutex_unlock(&ih->mutex);
+ 		mutex_unlock(&inode->inotify_mutex);
+-		put_inotify_watch(watch);
++		unpin_and_kill(watch, how);
+ 	}
+ 
+ 	/* free this handle: the put matching the get in inotify_init() */
+@@ -719,7 +852,9 @@ void inotify_evict_watch(struct inotify_watch *watch)
+ int inotify_rm_wd(struct inotify_handle *ih, u32 wd)
+ {
+ 	struct inotify_watch *watch;
++	struct super_block *sb;
+ 	struct inode *inode;
++	int how;
+ 
+ 	mutex_lock(&ih->mutex);
+ 	watch = idr_find(&ih->idr, wd);
+@@ -727,9 +862,12 @@ int inotify_rm_wd(struct inotify_handle *ih, u32 wd)
+ 		mutex_unlock(&ih->mutex);
+ 		return -EINVAL;
+ 	}
+-	get_inotify_watch(watch);
++	sb = watch->inode->i_sb;
++	how = pin_to_kill(ih, watch);
++	if (!how)
++		return 0;
++
+ 	inode = watch->inode;
+-	mutex_unlock(&ih->mutex);
+ 
+ 	mutex_lock(&inode->inotify_mutex);
+ 	mutex_lock(&ih->mutex);
+@@ -740,7 +878,7 @@ int inotify_rm_wd(struct inotify_handle *ih, u32 wd)
+ 
+ 	mutex_unlock(&ih->mutex);
+ 	mutex_unlock(&inode->inotify_mutex);
+-	put_inotify_watch(watch);
++	unpin_and_kill(watch, how);
+ 
+ 	return 0;
+ }
+diff --git a/include/linux/inotify.h b/include/linux/inotify.h
+index bd57857..37ea289 100644
+--- a/include/linux/inotify.h
++++ b/include/linux/inotify.h
+@@ -134,6 +134,8 @@ extern void inotify_remove_watch_locked(struct inotify_handle *,
+ 					struct inotify_watch *);
+ extern void get_inotify_watch(struct inotify_watch *);
+ extern void put_inotify_watch(struct inotify_watch *);
++extern int pin_inotify_watch(struct inotify_watch *);
++extern void unpin_inotify_watch(struct inotify_watch *);
+ 
+ #else
+ 
+@@ -228,6 +230,15 @@ static inline void put_inotify_watch(struct inotify_watch *watch)
+ {
+ }
+ 
++extern inline int pin_inotify_watch(struct inotify_watch *watch)
++{
++	return 0;
++}
++
++extern inline void unpin_inotify_watch(struct inotify_watch *watch)
++{
++}
++
+ #endif	/* CONFIG_INOTIFY */
+ 
+ #endif	/* __KERNEL __ */
+diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c
+index 8ba0e0d..8b50944 100644
+--- a/kernel/audit_tree.c
++++ b/kernel/audit_tree.c
+@@ -24,6 +24,7 @@ struct audit_chunk {
+ 	struct list_head trees;		/* with root here */
+ 	int dead;
+ 	int count;
++	atomic_long_t refs;
+ 	struct rcu_head head;
+ 	struct node {
+ 		struct list_head list;
+@@ -56,7 +57,8 @@ static LIST_HEAD(prune_list);
+  * tree is refcounted; one reference for "some rules on rules_list refer to
+  * it", one for each chunk with pointer to it.
+  *
+- * chunk is refcounted by embedded inotify_watch.
++ * chunk is refcounted by embedded inotify_watch + .refs (non-zero refcount
++ * of watch contributes 1 to .refs).
+  *
+  * node.index allows to get from node.list to containing chunk.
+  * MSB of that sucker is stolen to mark taggings that we might have to
+@@ -121,6 +123,7 @@ static struct audit_chunk *alloc_chunk(int count)
+ 	INIT_LIST_HEAD(&chunk->hash);
+ 	INIT_LIST_HEAD(&chunk->trees);
+ 	chunk->count = count;
++	atomic_long_set(&chunk->refs, 1);
+ 	for (i = 0; i < count; i++) {
+ 		INIT_LIST_HEAD(&chunk->owners[i].list);
+ 		chunk->owners[i].index = i;
+@@ -129,9 +132,8 @@ static struct audit_chunk *alloc_chunk(int count)
+ 	return chunk;
+ }
+ 
+-static void __free_chunk(struct rcu_head *rcu)
++static void free_chunk(struct audit_chunk *chunk)
+ {
+-	struct audit_chunk *chunk = container_of(rcu, struct audit_chunk, head);
+ 	int i;
+ 
+ 	for (i = 0; i < chunk->count; i++) {
+@@ -141,14 +143,16 @@ static void __free_chunk(struct rcu_head *rcu)
+ 	kfree(chunk);
+ }
+ 
+-static inline void free_chunk(struct audit_chunk *chunk)
++void audit_put_chunk(struct audit_chunk *chunk)
+ {
+-	call_rcu(&chunk->head, __free_chunk);
++	if (atomic_long_dec_and_test(&chunk->refs))
++		free_chunk(chunk);
+ }
+ 
+-void audit_put_chunk(struct audit_chunk *chunk)
++static void __put_chunk(struct rcu_head *rcu)
+ {
+-	put_inotify_watch(&chunk->watch);
++	struct audit_chunk *chunk = container_of(rcu, struct audit_chunk, head);
++	audit_put_chunk(chunk);
+ }
+ 
+ enum {HASH_SIZE = 128};
+@@ -176,7 +180,7 @@ struct audit_chunk *audit_tree_lookup(const struct inode *inode)
+ 
+ 	list_for_each_entry_rcu(p, list, hash) {
+ 		if (p->watch.inode == inode) {
+-			get_inotify_watch(&p->watch);
++			atomic_long_inc(&p->refs);
+ 			return p;
+ 		}
+ 	}
+@@ -194,17 +198,49 @@ int audit_tree_match(struct audit_chunk *chunk, struct audit_tree *tree)
+ 
+ /* tagging and untagging inodes with trees */
+ 
+-static void untag_chunk(struct audit_chunk *chunk, struct node *p)
++static struct audit_chunk *find_chunk(struct node *p)
++{
++	int index = p->index & ~(1U<<31);
++	p -= index;
++	return container_of(p, struct audit_chunk, owners[0]);
++}
++
++static void untag_chunk(struct node *p)
+ {
++	struct audit_chunk *chunk = find_chunk(p);
+ 	struct audit_chunk *new;
+ 	struct audit_tree *owner;
+ 	int size = chunk->count - 1;
+ 	int i, j;
+ 
++	if (!pin_inotify_watch(&chunk->watch)) {
++		/*
++		 * Filesystem is shutting down; all watches are getting
++		 * evicted, just take it off the node list for this
++		 * tree and let the eviction logics take care of the
++		 * rest.
++		 */
++		owner = p->owner;
++		if (owner->root == chunk) {
++			list_del_init(&owner->same_root);
++			owner->root = NULL;
++		}
++		list_del_init(&p->list);
++		p->owner = NULL;
++		put_tree(owner);
++		return;
++	}
++
++	spin_unlock(&hash_lock);
++
++	/*
++	 * pin_inotify_watch() succeeded, so the watch won't go away
++	 * from under us.
++	 */
+ 	mutex_lock(&chunk->watch.inode->inotify_mutex);
+ 	if (chunk->dead) {
+ 		mutex_unlock(&chunk->watch.inode->inotify_mutex);
+-		return;
++		goto out;
+ 	}
+ 
+ 	owner = p->owner;
+@@ -221,7 +257,7 @@ static void untag_chunk(struct audit_chunk *chunk, struct node *p)
+ 		inotify_evict_watch(&chunk->watch);
+ 		mutex_unlock(&chunk->watch.inode->inotify_mutex);
+ 		put_inotify_watch(&chunk->watch);
+-		return;
++		goto out;
+ 	}
+ 
+ 	new = alloc_chunk(size);
+@@ -263,7 +299,7 @@ static void untag_chunk(struct audit_chunk *chunk, struct node *p)
+ 	inotify_evict_watch(&chunk->watch);
+ 	mutex_unlock(&chunk->watch.inode->inotify_mutex);
+ 	put_inotify_watch(&chunk->watch);
+-	return;
++	goto out;
+ 
+ Fallback:
+ 	// do the best we can
+@@ -277,6 +313,9 @@ Fallback:
+ 	put_tree(owner);
+ 	spin_unlock(&hash_lock);
+ 	mutex_unlock(&chunk->watch.inode->inotify_mutex);
++out:
++	unpin_inotify_watch(&chunk->watch);
++	spin_lock(&hash_lock);
+ }
+ 
+ static int create_chunk(struct inode *inode, struct audit_tree *tree)
+@@ -387,13 +426,6 @@ static int tag_chunk(struct inode *inode, struct audit_tree *tree)
+ 	return 0;
+ }
+ 
+-static struct audit_chunk *find_chunk(struct node *p)
+-{
+-	int index = p->index & ~(1U<<31);
+-	p -= index;
+-	return container_of(p, struct audit_chunk, owners[0]);
+-}
+-
+ static void kill_rules(struct audit_tree *tree)
+ {
+ 	struct audit_krule *rule, *next;
+@@ -431,17 +463,10 @@ static void prune_one(struct audit_tree *victim)
+ 	spin_lock(&hash_lock);
+ 	while (!list_empty(&victim->chunks)) {
+ 		struct node *p;
+-		struct audit_chunk *chunk;
+ 
+ 		p = list_entry(victim->chunks.next, struct node, list);
+-		chunk = find_chunk(p);
+-		get_inotify_watch(&chunk->watch);
+-		spin_unlock(&hash_lock);
+-
+-		untag_chunk(chunk, p);
+ 
+-		put_inotify_watch(&chunk->watch);
+-		spin_lock(&hash_lock);
++		untag_chunk(p);
+ 	}
+ 	spin_unlock(&hash_lock);
+ 	put_tree(victim);
+@@ -469,7 +494,6 @@ static void trim_marked(struct audit_tree *tree)
+ 
+ 	while (!list_empty(&tree->chunks)) {
+ 		struct node *node;
+-		struct audit_chunk *chunk;
+ 
+ 		node = list_entry(tree->chunks.next, struct node, list);
+ 
+@@ -477,14 +501,7 @@ static void trim_marked(struct audit_tree *tree)
+ 		if (!(node->index & (1U<<31)))
+ 			break;
+ 
+-		chunk = find_chunk(node);
+-		get_inotify_watch(&chunk->watch);
+-		spin_unlock(&hash_lock);
+-
+-		untag_chunk(chunk, node);
+-
+-		put_inotify_watch(&chunk->watch);
+-		spin_lock(&hash_lock);
++		untag_chunk(node);
+ 	}
+ 	if (!tree->root && !tree->goner) {
+ 		tree->goner = 1;
+@@ -878,7 +895,7 @@ static void handle_event(struct inotify_watch *watch, u32 wd, u32 mask,
+ static void destroy_watch(struct inotify_watch *watch)
+ {
+ 	struct audit_chunk *chunk = container_of(watch, struct audit_chunk, watch);
+-	free_chunk(chunk);
++	call_rcu(&chunk->head, __put_chunk);
+ }
+ 
+ static const struct inotify_operations rtree_inotify_ops = {
+diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c
+index b7d354e..9fd85a4 100644
+--- a/kernel/auditfilter.c
++++ b/kernel/auditfilter.c
+@@ -1094,8 +1094,8 @@ static void audit_inotify_unregister(struct list_head *in_list)
+ 	list_for_each_entry_safe(p, n, in_list, ilist) {
+ 		list_del(&p->ilist);
+ 		inotify_rm_watch(audit_ih, &p->wdata);
+-		/* the put matching the get in audit_do_del_rule() */
+-		put_inotify_watch(&p->wdata);
++		/* the unpin matching the pin in audit_do_del_rule() */
++		unpin_inotify_watch(&p->wdata);
+ 	}
+ }
+ 
+@@ -1389,9 +1389,13 @@ static inline int audit_del_rule(struct audit_entry *entry,
+ 				/* Put parent on the inotify un-registration
+ 				 * list.  Grab a reference before releasing
+ 				 * audit_filter_mutex, to be released in
+-				 * audit_inotify_unregister(). */
+-				list_add(&parent->ilist, &inotify_list);
+-				get_inotify_watch(&parent->wdata);
++				 * audit_inotify_unregister().
++				 * If filesystem is going away, just leave
++				 * the sucker alone, eviction will take
++				 * care of it.
++				 */
++				if (pin_inotify_watch(&parent->wdata))
++					list_add(&parent->ilist, &inotify_list);
+ 			}
+ 		}
+ 	}
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/irda-fix-irda_getname-leak.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/irda-fix-irda_getname-leak.patch
@@ -0,0 +1,23 @@
+commit 09384dfc76e526c3993c09c42e016372dc9dd22c
+Author: Eric Dumazet <eric.dumazet@gmail.com>
+Date:   Thu Aug 6 03:55:04 2009 +0000
+
+    irda: Fix irda_getname() leak
+    
+    irda_getname() can leak kernel memory to user.
+    
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c
+index cb762c8..3ec2b43 100644
+--- a/net/irda/af_irda.c
++++ b/net/irda/af_irda.c
+@@ -714,6 +714,7 @@ static int irda_getname(struct socket *sock, struct sockaddr *uaddr,
+ 	struct sock *sk = sock->sk;
+ 	struct irda_sock *self = irda_sk(sk);
+ 
++	memset(&saddr, 0, sizeof(saddr));
+ 	if (peer) {
+ 		if (sk->sk_state != TCP_ESTABLISHED)
+ 			return -ENOTCONN;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sound_hda_ich9.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sound_hda_ich9.patch
@@ -0,0 +1,23 @@
+commit abbc9d1b25637b1948a4718fa8f7b257233136bc
+Author: Kailang Yang <kailang@realtek.com.tw>
+Date:   Tue May 27 11:48:01 2008 +0200
+
+    [ALSA] hda - Add ICH9 controller support (8086:2911)
+    
+    Added the missing PCI ID for ICH9 controller (8086:2911)
+    
+    Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
+index 7f62196..6e2dc4f 100644
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -2184,6 +2184,7 @@ static struct pci_device_id azx_ids[] = {
+ 	{ PCI_DEVICE(0x8086, 0x27d8), .driver_data = AZX_DRIVER_ICH },
+ 	{ PCI_DEVICE(0x8086, 0x269a), .driver_data = AZX_DRIVER_ICH },
+ 	{ PCI_DEVICE(0x8086, 0x284b), .driver_data = AZX_DRIVER_ICH },
++	{ PCI_DEVICE(0x8086, 0x2911), .driver_data = AZX_DRIVER_ICH },
+ 	{ PCI_DEVICE(0x8086, 0x293e), .driver_data = AZX_DRIVER_ICH },
+ 	{ PCI_DEVICE(0x8086, 0x293f), .driver_data = AZX_DRIVER_ICH },
+ 	{ PCI_DEVICE(0x8086, 0x3a3e), .driver_data = AZX_DRIVER_ICH },
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/input-alps-support-toshiba-satellite-pro-m10.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/input-alps-support-toshiba-satellite-pro-m10.patch
@@ -0,0 +1,26 @@
+From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Date: Fri, 24 Apr 2009 02:25:51 +0000 (-0700)
+Subject: Input: ALPS - add signature for Toshiba Satellite Pro M10
+X-Git-Tag: v2.6.30-rc8~21^2~19
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=b75d17285b9de74a0f19e64e1389efcc6626d3fc
+
+Input: ALPS - add signature for Toshiba Satellite Pro M10
+
+This toshiba has a touchpad with trackpoint and 2 sets of left
+and right buttons (above and below touchpad).
+
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+---
+
+diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
+index cbedf95..daecc75 100644
+--- a/drivers/input/mouse/alps.c
++++ b/drivers/input/mouse/alps.c
+@@ -37,6 +37,7 @@
+ #define ALPS_FW_BK_2	0x40
+ 
+ static const struct alps_model_info alps_model_data[] = {
++	{ { 0x32, 0x02, 0x14 },	0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* Toshiba Salellite Pro M10 */
+ 	{ { 0x33, 0x02, 0x0a },	0x88, 0xf8, ALPS_OLDPROTO },		/* UMAX-530T */
+ 	{ { 0x53, 0x02, 0x0a },	0xf8, 0xf8, 0 },
+ 	{ { 0x53, 0x02, 0x14 },	0xf8, 0xf8, 0 },
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/maps-visible-during-initial-setuid-ELF-loading.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/maps-visible-during-initial-setuid-ELF-loading.patch
@@ -0,0 +1,59 @@
+kernel: /proc/$pid/maps visible during initial setuid ELF loading
+
+Description of problem:
+From Kees Cook: Steve Beattie and I noticed that the /proc/$pid/maps and smaps
+files are readable during ELF loading for processes that a user should not
+normally be able to see (for example, when launching a setuid process).  
+
+Oleg Nesterov wrote the original version of this patch and Clark Williams
+slighly modified it.
+
+Author: Oleg Nesterov <onestero@redhat.com>
+Signed-off-by: Clark Williams <williams@redhat.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/exec.c linux-source-2.6.26/fs/exec.c
+--- linux-source-2.6.26.orig/fs/exec.c	2009-10-23 16:53:12.000000000 -0600
++++ linux-source-2.6.26/fs/exec.c	2009-12-02 13:18:15.000000000 -0700
+@@ -355,6 +355,7 @@ int bprm_mm_init(struct linux_binprm *bp
+ 	if (err)
+ 		goto err;
+ 
++	mm->flags |= MMF_IN_EXEC;
+ 	return 0;
+ 
+ err:
+@@ -1103,6 +1104,7 @@ void compute_creds(struct linux_binprm *
+ 	task_lock(current);
+ 	unsafe = unsafe_exec(current);
+ 	security_bprm_apply_creds(bprm, unsafe);
++	clear_bit(MMF_IN_EXEC, &current->mm->flags);
+ 	task_unlock(current);
+ 	security_bprm_post_apply_creds(bprm);
+ }
+diff -urpN linux-source-2.6.26.orig/fs/proc/base.c linux-source-2.6.26/fs/proc/base.c
+--- linux-source-2.6.26.orig/fs/proc/base.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/proc/base.c	2009-12-02 13:18:15.000000000 -0700
+@@ -251,7 +251,8 @@ struct mm_struct *mm_for_maps(struct tas
+ 	task_lock(task);
+ 	if (task->mm != mm)
+ 		goto out;
+-	if (task->mm != current->mm && __ptrace_may_attach(task) < 0)
++	if (task->mm != current->mm && ((mm->flags & MMF_IN_EXEC) ||
++					__ptrace_may_attach(task) < 0))
+ 		goto out;
+ 	task_unlock(task);
+ 	return mm;
+diff -urpN linux-source-2.6.26.orig/include/linux/sched.h linux-source-2.6.26/include/linux/sched.h
+--- linux-source-2.6.26.orig/include/linux/sched.h	2009-10-23 16:53:12.000000000 -0600
++++ linux-source-2.6.26/include/linux/sched.h	2009-12-02 13:18:15.000000000 -0700
+@@ -395,6 +395,8 @@ extern int get_dumpable(struct mm_struct
+ #define MMF_DUMP_SECURELY 1  /* core file is readable only by root */
+ #define MMF_DUMPABLE_BITS 2
+ 
++#define MMF_IN_EXEC	  4  /* Not sure we can use 4 .... */
++
+ /* coredump filter bits */
+ #define MMF_DUMP_ANON_PRIVATE	2
+ #define MMF_DUMP_ANON_SHARED	3
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/kvm-limit-instructions-to-15-bytes-abi.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/kvm-limit-instructions-to-15-bytes-abi.patch
@@ -0,0 +1,22 @@
+diff -urpN linux-source-2.6.26.orig/include/asm-x86/kvm_x86_emulate.h linux-source-2.6.26/include/asm-x86/kvm_x86_emulate.h
+--- linux-source-2.6.26.orig/include/asm-x86/kvm_x86_emulate.h	2009-12-25 10:51:51.000000000 -0700
++++ linux-source-2.6.26/include/asm-x86/kvm_x86_emulate.h	2009-12-26 00:31:33.000000000 -0700
+@@ -127,7 +127,7 @@ struct decode_cache {
+ 	unsigned long *override_base;
+ 	unsigned int d;
+ 	unsigned long regs[NR_VCPU_REGS];
+-	unsigned long eip, eip_orig;
++	unsigned long eip;
+ 	/* modrm */
+ 	u8 modrm;
+ 	u8 modrm_mod;
+@@ -138,6 +138,9 @@ struct decode_cache {
+ 	void *modrm_ptr;
+ 	unsigned long modrm_val;
+ 	struct fetch_cache fetch;
++#ifndef __GENKSYMS__
++	unsigned long eip_orig;
++#endif
+ };
+ 
+ struct x86_emulate_ctxt {
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/libata-LBA28-LBA48-off-by-one.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/libata-LBA28-LBA48-off-by-one.patch
@@ -0,0 +1,84 @@
+commit 97b697a11b07e2ebfa69c488132596cc5eb24119
+Author: Taisuke Yamada <tai@rakugaki.org>
+Date:   Sat Sep 13 16:46:15 2008 -0400
+
+    [libata] LBA28/LBA48 off-by-one bug in ata.h
+    
+    I recently bought 3 HGST P7K500-series 500GB SATA drives and
+    had trouble accessing the block right on the LBA28-LBA48 border.
+    Here's how it fails (same for all 3 drives):
+    
+      # dd if=/dev/sdc bs=512 count=1 skip=268435455 > /dev/null
+      dd: reading `/dev/sdc': Input/output error
+      0+0 records in
+      0+0 records out
+      0 bytes (0 B) copied, 0.288033 seconds, 0.0 kB/s
+      # dmesg
+      ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
+      ata1.00: BMDMA stat 0x25
+      ata1.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
+      res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
+      ata1.00: status: { DRDY ERR }
+      ata1.00: error: { ABRT }
+      ata1.00: configured for UDMA/33
+      ata1: EH complete
+      ...
+    
+    After some investigations, it turned out this seems to be caused
+    by misinterpretation of the ATA specification on LBA28 access.
+    Following part is the code in question:
+    
+      === include/linux/ata.h ===
+      static inline int lba_28_ok(u64 block, u32 n_block)
+      {
+        /* check the ending block number */
+        return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);
+      }
+    
+    HGST drive (sometimes) fails with LBA28 access of {block = 0xfffffff,
+    n_block = 1}, and this behavior seems to be comformant. Other drives,
+    including other HGST drives are not that strict, through.
+    
+    >From the ATA specification:
+    (http://www.t13.org/Documents/UploadedDocuments/project/d1410r3b-ATA-ATAPI-6.pdf)
+    
+      8.15.29  Word (61:60): Total number of user addressable sectors
+      This field contains a value that is one greater than the total number
+      of user addressable sectors (see 6.2). The maximum value that shall
+      be placed in this field is 0FFFFFFFh.
+    
+    So the driver shouldn't use the value of 0xfffffff for LBA28 request
+    as this exceeds maximum user addressable sector. The logical maximum
+    value for LBA28 is 0xffffffe.
+    
+    The obvious fix is to cut "- 1" part, and the patch attached just do
+    that. I've been using the patched kernel for about a month now, and
+    the same fix is also floating on the net for some time. So I believe
+    this fix works reliably.
+    
+    Just FYI, many Windows/Intel platform users also seems to be struck
+    by this, and HGST has issued a note pointing to Intel ICH8/9 driver.
+    
+      "28-bit LBA command is being used to access LBAs 29-bits in length"
+    http://www.hitachigst.com/hddt/knowtree.nsf/cffe836ed7c12018862565b000530c74/b531b8bce8745fb78825740f00580e23
+    
+    Also, *BSDs seems to have similar fix included sometime around ~2004,
+    through I have not checked out exact portion of the code.
+    
+    Signed-off-by: Taisuke Yamada <tai@rakugaki.org>
+    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/ata.h linux-source-2.6.26/include/linux/ata.h
+--- linux-source-2.6.26.orig/include/linux/ata.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/ata.h	2008-10-09 00:28:12.000000000 -0600
+@@ -682,7 +682,7 @@ static inline int ata_ok(u8 status)
+ static inline int lba_28_ok(u64 block, u32 n_block)
+ {
+ 	/* check the ending block number */
+-	return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);
++	return ((block + n_block) < ((u64)1 << 28)) && (n_block <= 256);
+ }
+ 
+ static inline int lba_48_ok(u64 block, u32 n_block)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/limit_kill_sig_-1_to_callers_namespace.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/limit_kill_sig_-1_to_callers_namespace.patch
@@ -0,0 +1,36 @@
+commit d25141a818383b3c3b09f065698c544a7a0ec6e7
+Author: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
+Date:   Wed Oct 29 14:01:11 2008 -0700
+
+    'kill sig -1' must only apply to caller's namespace
+    
+    Currently "kill <sig> -1" kills processes in all namespaces and breaks the
+    isolation of namespaces.  Earlier attempt to fix this was discussed at:
+    
+    	http://lkml.org/lkml/2008/7/23/148
+    
+    As suggested by Oleg Nesterov in that thread, use "task_pid_vnr() > 1"
+    check since task_pid_vnr() returns 0 if process is outside the caller's
+    namespace.
+    
+    Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
+    Acked-by: Eric W. Biederman <ebiederm@xmission.com>
+    Tested-by: Daniel Hokka Zakrisson <daniel@hozac.com>
+    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/kernel/signal.c b/kernel/signal.c
+index 105217d..4530fc6 100644
+--- a/kernel/signal.c
++++ b/kernel/signal.c
+@@ -1144,7 +1144,8 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
+ 		struct task_struct * p;
+ 
+ 		for_each_process(p) {
+-			if (p->pid > 1 && !same_thread_group(p, current)) {
++			if (task_pid_vnr(p) > 1 &&
++					!same_thread_group(p, current)) {
+ 				int err = group_send_sig_info(sig, info, p);
+ 				++count;
+ 				if (err != -EPERM)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/net-SO_BSDCOMPAT-leak.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/net-SO_BSDCOMPAT-leak.patch
@@ -0,0 +1,42 @@
+commit df0bca049d01c0ee94afb7cd5dfd959541e6c8da
+Author: Clément Lecigne <clement.lecigne@netasq.com>
+Date:   Thu Feb 12 16:59:09 2009 -0800
+
+    net: 4 bytes kernel memory disclosure in SO_BSDCOMPAT gsopt try #2
+    
+    In function sock_getsockopt() located in net/core/sock.c, optval v.val
+    is not correctly initialized and directly returned in userland in case
+    we have SO_BSDCOMPAT option set.
+    
+    This dummy code should trigger the bug:
+    
+    int main(void)
+    {
+    	unsigned char buf[4] = { 0, 0, 0, 0 };
+    	int len;
+    	int sock;
+    	sock = socket(33, 2, 2);
+    	getsockopt(sock, 1, SO_BSDCOMPAT, &buf, &len);
+    	printf("%x%x%x%x\n", buf[0], buf[1], buf[2], buf[3]);
+    	close(sock);
+    }
+    
+    Here is a patch that fix this bug by initalizing v.val just after its
+    declaration.
+    
+    Signed-off-by: Clément Lecigne <clement.lecigne@netasq.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/core/sock.c b/net/core/sock.c
+index f3a0d08..6f2e133 100644
+--- a/net/core/sock.c
++++ b/net/core/sock.c
+@@ -696,6 +696,8 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
+ 	if (len < 0)
+ 		return -EINVAL;
+ 
++	v.val = 0;
++
+ 	switch(optname) {
+ 	case SO_DEBUG:
+ 		v.val = sock_flag(sk, SOCK_DBG);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/libata-make-sure-port-is-thawed-when-skipping-reset.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/libata-make-sure-port-is-thawed-when-skipping-reset.patch
@@ -0,0 +1,60 @@
+From b4a89846bb7f5e5775b33eb39a20c4616259e204 Mon Sep 17 00:00:00 2001
+From: Tejun Heo <tj@kernel.org>
+Date: Thu, 5 Mar 2009 15:22:54 +0000
+Subject: [PATCH] libata: make sure port is thawed when skipping resets
+
+When SCR access is available and the link is offline, softreset is
+skipped as it only wastes time and some controllers don't respond very
+well.  However, the skip path forgot to thaw the port, which not only
+blocks further event notification from the port but also causes
+repeated EH invocations on the same event on drivers which rely on
+->thaw() to clear events if the IRQ is shared with another device or
+port.
+
+This problem has always been there but is uncovered by recent sata_nv
+nf2/3 change which dropped hardreset support while maintaining SCR
+access.  nf2/3 doesn't clear hotplug event mask from the interrupt
+handler but relies on ->thaw() to clear them.  When the hardreset was
+there, the reset action was never skipped and the port was always
+thawed but, with the hardreset gone, ->prereset() determines that
+there's no need for softreset and both ->softreset() and ->thaw() are
+skipped.  This leads to stuck hotplug event in the IRQ status register
+triggering hotplug event whenever IRQ is delieverd on the same IRQ.
+As the controller shares the same IRQ for both ports, this happens on
+every IO if one port is occpupied and the other isn't.
+
+This patch fixes the problem by making sure that the port is thawed on
+reset-skip path.
+
+bko#11615 reports this problem.
+
+Signed-off-by: Tejun Heo <tj@kernel.org>
+Cc: Robert Hancock <hancockrwd@gmail.com>
+Reported-by: Dan Andresan <danyer@gmail.com>
+Reported-by: Arne Woerner <arne_woerner@yahoo.com>
+Reported-by: Stefan Lippers-Hollmann <s.L-H@gmx.de>
+---
+ drivers/ata/libata-eh.c |    5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/ata/libata-eh.c linux-source-2.6.26/drivers/ata/libata-eh.c
+--- linux-source-2.6.26.orig/drivers/ata/libata-eh.c	2009-05-11 12:06:53.000000000 -0600
++++ linux-source-2.6.26/drivers/ata/libata-eh.c	2009-06-19 13:59:43.000000000 -0600
+@@ -2137,11 +2137,14 @@ int ata_eh_reset(struct ata_link *link, 
+ 		}
+ 
+ 		/* prereset() might have cleared ATA_EH_RESET.  If so,
+-		 * bang classes and return.
++		 * bang classes, thaw and return.
+ 		 */
+ 		if (reset && !(ehc->i.action & ATA_EH_RESET)) {
+ 			ata_link_for_each_dev(dev, link)
+ 				classes[dev->devno] = ATA_DEV_NONE;
++			if ((ap->pflags & ATA_PFLAG_FROZEN) &&
++			    ata_is_host_link(link))
++				ata_eh_thaw_port(ap);
+ 			rc = 0;
+ 			goto out;
+ 		}
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/lockd-increase-sv_maxconn.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/lockd-increase-sv_maxconn.patch
@@ -0,0 +1,60 @@
+commit c72a476b4b7ecadb80185de31236edb303c1a5d0
+Author: Jeff Layton <jlayton@redhat.com>
+Date:   Mon Oct 20 11:51:58 2008 -0400
+
+    lockd: set svc_serv->sv_maxconn to a more reasonable value (try #3)
+    
+    The default method for calculating the number of connections allowed
+    per RPC service arbitrarily limits single-threaded services to 80
+    connections. This is too low for services like lockd and artificially
+    limits the number of TCP clients that it can support.
+    
+    Have lockd set a default sv_maxconn value to 1024 (which is the typical
+    default value for RLIMIT_NOFILE. Also add a module parameter to allow an
+    admin to set this to an arbitrary value.
+    
+    Signed-off-by: Jeff Layton <jlayton@redhat.com>
+    Acked-by: Neil Brown <neilb@suse.de>
+    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/fs/lockd/svc.c b/fs/lockd/svc.c
+--- a/fs/lockd/svc.c	2008-07-13 15:51:29.000000000 -0600
++++ b/fs/lockd/svc.c	2009-03-22 14:55:51.000000000 -0600
+@@ -63,6 +63,9 @@ static unsigned long		nlm_timeout = LOCK
+ static int			nlm_udpport, nlm_tcpport;
+ int				nsm_use_hostnames = 0;
+ 
++/* RLIM_NOFILE defaults to 1024. That seems like a reasonable default here. */
++static unsigned int		nlm_max_connections = 1024;
++
+ /*
+  * Constants needed for the sysctl interface.
+  */
+@@ -149,6 +152,9 @@ lockd(void *vrqstp)
+ 		long timeout = MAX_SCHEDULE_TIMEOUT;
+ 		RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]);
+ 
++		/* update sv_maxconn if it has changed */
++		rqstp->rq_server->sv_maxconn = nlm_max_connections;
++
+ 		if (signalled()) {
+ 			flush_signals(current);
+ 			if (nlmsvc_ops) {
+@@ -298,6 +304,7 @@ lockd_up(int proto) /* Maybe add a 'fami
+ 	}
+ 
+ 	svc_sock_update_bufs(serv);
++	serv->sv_maxconn = nlm_max_connections;
+ 	nlmsvc_serv = rqstp->rq_server;
+ 
+ 	nlmsvc_task = kthread_run(lockd, rqstp, serv->sv_name);
+@@ -505,6 +512,7 @@ module_param_call(nlm_udpport, param_set
+ module_param_call(nlm_tcpport, param_set_port, param_get_int,
+ 		  &nlm_tcpport, 0644);
+ module_param(nsm_use_hostnames, bool, 0644);
++module_param(nlm_max_connections, uint, 0644);
+ 
+ /*
+  * Initialising and terminating the module.
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/make-sock_sendpage-use-kernel_sendpage.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/make-sock_sendpage-use-kernel_sendpage.patch
@@ -0,0 +1,34 @@
+commit e694958388c50148389b0e9b9e9e8945cf0f1b98
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Thu Aug 13 08:28:36 2009 -0700
+
+    Make sock_sendpage() use kernel_sendpage()
+    
+    kernel_sendpage() does the proper default case handling for when the
+    socket doesn't have a native sendpage implementation.
+    
+    Now, arguably this might be something that we could instead solve by
+    just specifying that all protocols should do it themselves at the
+    protocol level, but we really only care about the common protocols.
+    Does anybody really care about sendpage on something like Appletalk? Not
+    likely.
+    
+    Acked-by: David S. Miller <davem@davemloft.net>
+    Acked-by: Julien TINNES <julien@cr0.org>
+    Acked-by: Tavis Ormandy <taviso@sdf.lonestar.org>
+    Cc: stable@kernel.org
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/net/socket.c b/net/socket.c
+index 791d71a..6d47165 100644
+--- a/net/socket.c
++++ b/net/socket.c
+@@ -736,7 +736,7 @@ static ssize_t sock_sendpage(struct file *file, struct page *page,
+ 	if (more)
+ 		flags |= MSG_MORE;
+ 
+-	return sock->ops->sendpage(sock, page, offset, size, flags);
++	return kernel_sendpage(sock, page, offset, size, flags);
+ }
+ 
+ static ssize_t sock_splice_read(struct file *file, loff_t *ppos,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/net-ax25-fix-signed-comparison-in-the-sockopt-handler.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/net-ax25-fix-signed-comparison-in-the-sockopt-handler.patch
@@ -0,0 +1,54 @@
+From arjan@infradead.org  Thu Oct  1 11:19:55 2009
+From: Arjan van de Ven <arjan@infradead.org>
+Date: Wed, 30 Sep 2009 13:51:11 +0200
+Subject: net ax25: Fix signed comparison in the sockopt handler
+To: davem@davemloft.net
+Cc: jakub@redhat.com, torvalds@linux-foundation.org, mingo@elte.hu, stable@kernel.org
+Message-ID: <20090930135111.64240d86@infradead.org>
+
+
+From: Arjan van de Ven <arjan@linux.intel.com>
+
+fixed upstream in commit b7058842c940ad2c08dd829b21e5c92ebe3b8758 in a different way
+
+The ax25 code tried to use
+
+        if (optlen < sizeof(int))
+                return -EINVAL;
+
+as a security check against optlen being negative (or zero) in the
+set socket option.
+
+Unfortunately, "sizeof(int)" is an unsigned property, with the
+result that the whole comparison is done in unsigned, letting
+negative values slip through.
+
+This patch changes this to
+
+        if (optlen < (int)sizeof(int))
+                return -EINVAL;
+
+so that the comparison is done as signed, and negative values
+get properly caught.
+
+Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
+Cc: David S. Miller <davem@davemloft.net>
+Cc: Ingo Molnar <mingo@elte.hu>
+Cc: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/ax25/af_ax25.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/ax25/af_ax25.c
++++ b/net/ax25/af_ax25.c
+@@ -538,7 +538,7 @@ static int ax25_setsockopt(struct socket
+ 	if (level != SOL_AX25)
+ 		return -ENOPROTOOPT;
+ 
+-	if (optlen < sizeof(int))
++	if (optlen < (int)sizeof(int))
+ 		return -EINVAL;
+ 
+ 	if (get_user(opt, (int __user *)optval))
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/md-avoid-NULL-deref-with-suspend-sysfs-attribs.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/md-avoid-NULL-deref-with-suspend-sysfs-attribs.patch
@@ -0,0 +1,39 @@
+commit b8d966efd9a46a9a35beac50cbff6e30565125ef
+Author: NeilBrown <neilb@suse.de>
+Date:   Wed Jul 1 11:14:04 2009 +1000
+
+    md: avoid dereferencing NULL pointer when accessing suspend_* sysfs attributes.
+    
+    If we try to modify one of the md/ sysfs files
+      suspend_lo or suspend_hi
+    when the array is not active, we dereference a NULL.
+    Protect against that.
+    
+    Cc: stable@kernel.org
+    Signed-off-by: NeilBrown <neilb@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/md/md.c linux-source-2.6.26/drivers/md/md.c
+--- linux-source-2.6.26.orig/drivers/md/md.c	2009-06-19 23:16:56.000000000 -0600
++++ linux-source-2.6.26/drivers/md/md.c	2009-08-18 22:42:48.000000000 -0600
+@@ -3123,7 +3123,8 @@ suspend_lo_store(mddev_t *mddev, const c
+ 	char *e;
+ 	unsigned long long new = simple_strtoull(buf, &e, 10);
+ 
+-	if (mddev->pers->quiesce == NULL)
++	if (mddev->pers == NULL ||
++	    mddev->pers->quiesce == NULL)
+ 		return -EINVAL;
+ 	if (buf == e || (*e && *e != '\n'))
+ 		return -EINVAL;
+@@ -3151,7 +3152,8 @@ suspend_hi_store(mddev_t *mddev, const c
+ 	char *e;
+ 	unsigned long long new = simple_strtoull(buf, &e, 10);
+ 
+-	if (mddev->pers->quiesce == NULL)
++	if (mddev->pers == NULL || 
++	    mddev->pers->quiesce == NULL)
+ 		return -EINVAL;
+ 	if (buf == e || (*e && *e != '\n'))
+ 		return -EINVAL;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/megaraid_sas-fix-sysfs-dbg_lvl-permissions.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/megaraid_sas-fix-sysfs-dbg_lvl-permissions.patch
@@ -0,0 +1,31 @@
+commit 66dca9b8c50b5e59d3bea8b21cee5c6dae6c9c46
+Author: Joe Malicki <jmalicki@metacarta.com>
+Date:   Thu Aug 14 17:14:48 2008 -0400
+
+    [SCSI] megaraid_sas: remove sysfs dbg_lvl world writeable permissions
+    
+    /sys/bus/pci/drivers/megaraid_sas/dbg_lvl defaults to being
+    world-writable, which seems bad (letting any user affect kernel driver
+    behavior and logging level).
+    
+    This turns off group and user write permissions, so that on typical
+    production systems only root can write to it.
+    
+    [jejb: fix up rejections]
+    Signed-off-by: Joseph Malicki <jmalicki@metacarta.com>
+    Acked-by: "Yang, Bo" <Bo.Yang@lsi.com>
+    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
+
+diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
+index 870dc1c..97b7633 100644
+--- a/drivers/scsi/megaraid/megaraid_sas.c
++++ b/drivers/scsi/megaraid/megaraid_sas.c
+@@ -3405,7 +3405,7 @@ megasas_sysfs_set_dbg_lvl(struct device_driver *dd, const char *buf, size_t coun
+ 	return retval;
+ }
+ 
+-static DRIVER_ATTR(dbg_lvl, S_IRUGO|S_IWUGO, megasas_sysfs_show_dbg_lvl,
++static DRIVER_ATTR(dbg_lvl, S_IRUGO|S_IWUSR, megasas_sysfs_show_dbg_lvl,
+ 		megasas_sysfs_set_dbg_lvl);
+ 
+ static ssize_t
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/md-dont-wait-uninterruptible-for-other-resync-to-finish.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/md-dont-wait-uninterruptible-for-other-resync-to-finish.patch
@@ -0,0 +1,44 @@
+commit 9744197c3d7b329590c2be33ad7b17409bd798fe
+Author: NeilBrown <neilb@suse.de>
+Date:   Fri Sep 19 11:49:54 2008 +1000
+
+    md: Don't wait UNINTERRUPTIBLE for other resync to finish
+    
+    When two md arrays share some block device (e.g each uses different
+    partitions on the one device), a resync of one array will wait for
+    the resync on the other to finish.
+    
+    This can be a long time and as it currently waits TASK_UNINTERRUPTIBLE,
+    the softlockup code notices and complains.
+    
+    So use TASK_INTERRUPTIBLE instead and make sure to flush signals
+    before calling schedule.
+    
+    Signed-off-by: NeilBrown <neilb@suse.de>
+
+diff --git a/drivers/md/md.c b/drivers/md/md.c
+index 4790c83..deeac4b 100644
+--- a/drivers/md/md.c
++++ b/drivers/md/md.c
+@@ -5761,7 +5761,11 @@ void md_do_sync(mddev_t *mddev)
+ 					 * time 'round when curr_resync == 2
+ 					 */
+ 					continue;
+-				prepare_to_wait(&resync_wait, &wq, TASK_UNINTERRUPTIBLE);
++				/* We need to wait 'interruptible' so as not to
++				 * contribute to the load average, and not to
++				 * be caught by 'softlockup'
++				 */
++				prepare_to_wait(&resync_wait, &wq, TASK_INTERRUPTIBLE);
+ 				if (!kthread_should_stop() &&
+ 				    mddev2->curr_resync >= mddev->curr_resync) {
+ 					printk(KERN_INFO "md: delaying %s of %s"
+@@ -5769,6 +5773,8 @@ void md_do_sync(mddev_t *mddev)
+ 					       " share one or more physical units)\n",
+ 					       desc, mdname(mddev), mdname(mddev2));
+ 					mddev_put(mddev2);
++					if (signal_pending(current))
++						flush_signals(current);
+ 					schedule();
+ 					finish_wait(&resync_wait, &wq);
+ 					goto try_again;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/mmc-increase-power-up-delay.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/mmc-increase-power-up-delay.patch
@@ -0,0 +1,42 @@
+From 79bccc5aefb4e64e651abe04f78c3e6bf8acd6f0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20M.=20Fern=C3=A1ndez?= <josemariafg@gmail.com>
+Date: Tue, 10 Mar 2009 02:21:21 +0100
+Subject: [PATCH] mmc: increase power up delay
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The TI controller on Toshiba Tecra M5 needs more time to power up or
+the cards will init incorrectly or not at all.
+
+Signed-off-by: José M. Fernández <josemariafg@gmail.com>
+Signed-off-by: Pierre Ossman <pierre@ossman.eu>
+---
+ drivers/mmc/core/core.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
+index fa073ab..2649117 100644
+--- a/drivers/mmc/core/core.c
++++ b/drivers/mmc/core/core.c
+@@ -706,7 +706,7 @@ static void mmc_power_up(struct mmc_host *host)
+ 	 * This delay should be sufficient to allow the power supply
+ 	 * to reach the minimum voltage.
+ 	 */
+-	mmc_delay(2);
++	mmc_delay(10);
+ 
+ 	host->ios.clock = host->f_min;
+ 	host->ios.power_mode = MMC_POWER_ON;
+@@ -716,7 +716,7 @@ static void mmc_power_up(struct mmc_host *host)
+ 	 * This delay must be at least 74 clock sizes, or 1 ms, or the
+ 	 * time required to reach a stable voltage.
+ 	 */
+-	mmc_delay(2);
++	mmc_delay(10);
+ }
+ 
+ static void mmc_power_off(struct mmc_host *host)
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nbd-fix-io-hang-on-disconnected-nbds.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nbd-fix-io-hang-on-disconnected-nbds.patch
@@ -0,0 +1,64 @@
+From: Paul Clements <paul.clements@steeleye.com>
+Date: Wed, 11 Feb 2009 21:04:45 +0000 (-0800)
+Subject: nbd: fix I/O hang on disconnected nbds
+X-Git-Tag: v2.6.29-rc5~8
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=4d48a542b42747c36a5937447d9c3de7c897ea50
+
+nbd: fix I/O hang on disconnected nbds
+
+Fix a problem that causes I/O to a disconnected (or partially initialized)
+nbd device to hang indefinitely.  To reproduce:
+
+# ioctl NBD_SET_SIZE_BLOCKS /dev/nbd23 514048
+# dd if=/dev/nbd23 of=/dev/null bs=4096 count=1
+
+...hangs...
+
+This can also occur when an nbd device loses its nbd-client/server
+connection.  Although we clear the queue of any outstanding I/Os after the
+client/server connection fails, any additional I/Os that get queued later
+will hang.
+
+This bug may also be the problem reported in this bug report:
+http://bugzilla.kernel.org/show_bug.cgi?id=12277
+
+Testing would need to be performed to determine if the two issues are the
+same.
+
+This problem was introduced by the new request handling thread code ("NBD:
+allow nbd to be used locally", 3/2008), which entered into mainline around
+2.6.25.
+
+The fix, which is fairly simple, is to restore the check for lo->sock
+being NULL in do_nbd_request.  This causes I/O to an uninitialized nbd to
+immediately fail with an I/O error, as it did prior to the introduction of
+this bug.
+
+Signed-off-by: Paul Clements <paul.clements@steeleye.com>
+Reported-by: Jon Nelson <jnelson-kernel-bugzilla@jamponi.net>
+Acked-by: Pavel Machek <pavel@ucw.cz>
+Cc: <stable@kernel.org>		[2.6.26.x, 2.6.27.x, 2.6.28.x]
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+
+diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
+index 34f80fa..8299e2d 100644
+--- a/drivers/block/nbd.c
++++ b/drivers/block/nbd.c
+@@ -549,6 +549,15 @@ static void do_nbd_request(struct request_queue * q)
+ 
+ 		BUG_ON(lo->magic != LO_MAGIC);
+ 
++		if (unlikely(!lo->sock)) {
++			printk(KERN_ERR "%s: Attempted send on closed socket\n",
++				lo->disk->disk_name);
++			req->errors++;
++			nbd_end_request(req);
++			spin_lock_irq(q->queue_lock);
++			continue;
++		}
++
+ 		spin_lock_irq(&lo->queue_lock);
+ 		list_add_tail(&req->queuelist, &lo->waiting_queue);
+ 		spin_unlock_irq(&lo->queue_lock);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/net-SO_BSDCOMPAT-leak-2.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/net-SO_BSDCOMPAT-leak-2.patch
@@ -0,0 +1,31 @@
+From: Eugene Teo <eugeneteo@kernel.sg>
+Date: Mon, 23 Feb 2009 23:38:41 +0000 (-0800)
+Subject: net: amend the fix for SO_BSDCOMPAT gsopt infoleak
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet-2.6.git;a=commitdiff_plain;h=50fee1dec5d71b8a14c1b82f2f42e16adc227f8b
+
+net: amend the fix for SO_BSDCOMPAT gsopt infoleak
+
+The fix for CVE-2009-0676 (upstream commit df0bca04) is incomplete. Note
+that the same problem of leaking kernel memory will reappear if someone
+on some architecture uses struct timeval with some internal padding (for
+example tv_sec 64-bit and tv_usec 32-bit) --- then, you are going to
+leak the padded bytes to userspace.
+
+Signed-off-by: Eugene Teo <eugeneteo@kernel.sg>
+Reported-by: Mikulas Patocka <mpatocka@redhat.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+diff --git a/net/core/sock.c b/net/core/sock.c
+index 6e4f14d..5f97caa 100644
+--- a/net/core/sock.c
++++ b/net/core/sock.c
+@@ -696,7 +696,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
+ 	if (len < 0)
+ 		return -EINVAL;
+ 
+-	v.val = 0;
++	memset(&v, 0, sizeof(v));
+ 
+ 	switch(optname) {
+ 	case SO_DEBUG:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/mtd-prevent-physmap-from-causing-request_module-runaway-loop-modprobe-net-pf-1.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/mtd-prevent-physmap-from-causing-request_module-runaway-loop-modprobe-net-pf-1.patch
@@ -0,0 +1,199 @@
+From: "Gordon Farquharson" <gordonfarquharson@gmail.com>
+
+On machines that register a physmap flash platform device (e.g.  many arm
+machines), parse_mtd_partitions() in drivers/mtd/mtdpart.c can cause the
+following output in the boot log:
+
+request_module: runaway loop modprobe net-pf-1
+modprobe: FATAL: Could not load
+/lib/modules/2.6.25-rc4-iop32x/modules.dep: No such file or directory
+
+modprobe: FATAL: Could not load
+/lib/modules/2.6.25-rc4-iop32x/modules.dep: No such file or directory
+
+modprobe: FATAL: Could not load
+/lib/modules/2.6.25-rc4-iop32x/modules.dep: No such file or directory
+...
+
+To illustrate how this can occur, I'll use the example where CONFIG_KMOD=y,
+CONFIG_MTD_PARTITIONS=y, CONFIG_MTD_REDBOOT_PARTS=y, and CONFIG_CMDLINE_PARTS
+is not set.  I'll also refer to the following code segment which is in
+drivers/mtd/mtdpart.c:parse_mtd_partitions():
+
+	for ( ; ret <= 0 && *types; types++) {
+		parser = get_partition_parser(*types);
+#ifdef CONFIG_KMOD
+		if (!parser && !request_module("%s", *types))
+				parser = get_partition_parser(*types);
+#endif
+		if (!parser) {
+			printk(KERN_NOTICE "%s partition parsing not available\n",
+			       *types);
+			continue;
+		}
+		ret = (*parser->parse_fn)(master, pparts, origin);
+		if (ret > 0) {
+			printk(KERN_NOTICE "%d %s partitions found on MTD device %s\n",
+			       ret, parser->name, master->name);
+		}
+		put_partition_parser(parser);
+
+I should note that I am assuming (because I don't understand how) that
+request_module() requires net-pf-1 to succeed.  This assumption is based on my
+observation of the request_module message ("request_module: runaway loop
+modprobe net-pf-1"), and that af_unix_init() (net-pf-1 initialization) is
+called only after the call to request_module() in this example.
+
+Based on the configuration and assumptions described above, the sequence of
+events that cause the boot log messages above are:
+
+1. the first call to get_partition_parser() in parse_mtd_partitions() does
+   not find the parser in the the list of registered parsers, i.e. 
+   get_partition_parser() returns a NULL pointer.  In this example, the only
+   registered parser in the list is called Redboot;
+
+2. parse_mtd_partitions() calls request_module() with (in this example)
+   the parameter "cmdlinepart";
+
+3. request_module() complains (request_module: runaway loop modprobe
+   net-pf-1, etc.) because af_unix_init() has not been called.  The boot log
+   shows that af_unix_init() is called only after parse_mtd_partitions()
+   finishes.
+
+register_mtd_parser: RedBoot
+physmap platform flash device: 00080000 at f0000000
+Found: ST M29W400DB
+physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
+number of JEDEC chips: 1
+cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
+parse_mtd_partitions:
+get_partition_parser: name=cmdlinepart
+get_partition_parser: p->name=RedBoot
+get_partition_parser: p->owner=00000000
+get_partition_parser: ret=00000000
+parse_mtd_partitions: cmdlinepart
+request_module: runaway loop modprobe net-pf-1
+modprobe: FATAL: Could not load
+/lib/modules/2.6.25-rc4-iop32x/modules.dep: No such file or directory
+
+modprobe: FATAL: Could not load
+/lib/modules/2.6.25-rc4-iop32x/modules.dep: No such file or directory
+
+modprobe: FATAL: Could not load
+/lib/modules/2.6.25-rc4-iop32x/modules.dep: No such file or directory
+
+<--- 47 repeated modprobe messages deleted --->
+parse_mtd_partitions: request_module called
+cmdlinepart partition parsing not available
+get_partition_parser: name=RedBoot
+get_partition_parser: p->name=RedBoot
+get_partition_parser: p->owner=00000000
+get_partition_parser: ret->name=RedBoot
+get_partition_parser: ret=c02b0f8c
+parse_mtd_partitions: RedBoot
+parse_mtd_partitions: request_module called
+Searching for RedBoot partition table in physmap-flash.0 at offset 0x70000
+No RedBoot partition table detected in physmap-flash.0
+parse_mtd_partitions: end of function
+mice: PS/2 mouse device common for all mice
+i2c /dev entries driver
+rtc-rs5c372 0-0032: rs5c372a found, 24hr, driver version 0.5
+rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0
+iop-adma iop-adma.0: Intel(R) IOP: ( cpy intr )
+iop-adma iop-adma.1: Intel(R) IOP: ( cpy intr )
+NET: Registered protocol family 26
+TCP bic registered
+af_unix_init:
+NET: Registered protocol family 1
+NET: Registered protocol family 17
+XScale DSP coprocessor detected.
+registered taskstats version 1
+rtc-rs5c372 0-0032: setting system clock to 2008-03-11 03:16:46 UTC (1205205406)
+
+The reason parse_mtd_partitions() tries to use cmdlinepart, even though it is
+not a registered parsing scheme when CONFIG_CMDLINE_PARTS is not set, is
+because cmdlinepart is hard coded in drivers/mtd/maps/physmap.c:
+
+#ifdef CONFIG_MTD_PARTITIONS
+static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
+#endif
+
+The patch below changes CONFIG_MTD_REDBOOT_PARTS, CONFIG_MTD_AFS_PARTS, and
+CONFIG_MTD_OF_PARTS from tristate to bool, and removes the call to
+request_module() in drivers/mtd/mtdpart.c:parse_mtd_partitions().  The changes
+to the definitions of the configuration variables ensure that MTD parsers
+compiled into the kernel are registered before parse_mtd_partitions() is
+called, which negates the need to have parse_mtd_partitions() call
+request_module(), and thereby eliminating the call to request_module() before
+af_unix_init().  The patch also changes the setting of
+CONFIG_MTD_REDBOOT_PARTS in arch/mips/configs/mtx1_defconfig from 'm' to 'y'. 
+This defconfig is the only one that set any of the partitioning schemes to be
+compiled as a module.
+
+Signed-off-by: Gordon Farquharson <gordonfarquharson@gmail.com>
+Cc: David Woodhouse <dwmw2@infradead.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+---
+
+ arch/mips/configs/mtx1_defconfig |    2 +-
+ drivers/mtd/Kconfig              |    6 +++---
+ drivers/mtd/mtdpart.c            |    4 ----
+ 3 files changed, 4 insertions(+), 8 deletions(-)
+
+diff -puN arch/mips/configs/mtx1_defconfig~mtd-prevent-physmap-from-causing-request_module-runaway-loop-modprobe-net-pf-1 arch/mips/configs/mtx1_defconfig
+--- a/arch/mips/configs/mtx1_defconfig~mtd-prevent-physmap-from-causing-request_module-runaway-loop-modprobe-net-pf-1
++++ a/arch/mips/configs/mtx1_defconfig
+@@ -743,7 +743,7 @@ CONFIG_MTD=m
+ # CONFIG_MTD_DEBUG is not set
+ CONFIG_MTD_CONCAT=m
+ CONFIG_MTD_PARTITIONS=y
+-CONFIG_MTD_REDBOOT_PARTS=m
++CONFIG_MTD_REDBOOT_PARTS=y
+ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+ # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+ # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+diff -puN drivers/mtd/Kconfig~mtd-prevent-physmap-from-causing-request_module-runaway-loop-modprobe-net-pf-1 drivers/mtd/Kconfig
+--- a/drivers/mtd/Kconfig~mtd-prevent-physmap-from-causing-request_module-runaway-loop-modprobe-net-pf-1
++++ a/drivers/mtd/Kconfig
+@@ -48,7 +48,7 @@ config MTD_PARTITIONS
+ 	  'normal' form of partitioning used on a block device.
+ 
+ config MTD_REDBOOT_PARTS
+-	tristate "RedBoot partition table parsing"
++	bool "RedBoot partition table parsing"
+ 	depends on MTD_PARTITIONS
+ 	---help---
+ 	  RedBoot is a ROM monitor and bootloader which deals with multiple
+@@ -135,7 +135,7 @@ config MTD_CMDLINE_PARTS
+ 	  If unsure, say 'N'.
+ 
+ config MTD_AFS_PARTS
+-	tristate "ARM Firmware Suite partition parsing"
++	bool "ARM Firmware Suite partition parsing"
+ 	depends on ARM && MTD_PARTITIONS
+ 	---help---
+ 	  The ARM Firmware Suite allows the user to divide flash devices into
+@@ -151,7 +151,7 @@ config MTD_AFS_PARTS
+ 	  'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example.
+ 
+ config MTD_OF_PARTS
+-	tristate "Flash partition map based on OF description"
++	bool "Flash partition map based on OF description"
+ 	depends on PPC_OF && MTD_PARTITIONS
+ 	help
+ 	  This provides a partition parsing function which derives
+diff -puN drivers/mtd/mtdpart.c~mtd-prevent-physmap-from-causing-request_module-runaway-loop-modprobe-net-pf-1 drivers/mtd/mtdpart.c
+--- a/drivers/mtd/mtdpart.c~mtd-prevent-physmap-from-causing-request_module-runaway-loop-modprobe-net-pf-1
++++ a/drivers/mtd/mtdpart.c
+@@ -555,10 +555,6 @@ int parse_mtd_partitions(struct mtd_info
+ 
+ 	for ( ; ret <= 0 && *types; types++) {
+ 		parser = get_partition_parser(*types);
+-#ifdef CONFIG_KMOD
+-		if (!parser && !request_module("%s", *types))
+-				parser = get_partition_parser(*types);
+-#endif
+ 		if (!parser) {
+ 			printk(KERN_NOTICE "%s partition parsing not available\n",
+ 			       *types);
+_
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/net-llc-zero-sockaddr_llc-struct.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/net-llc-zero-sockaddr_llc-struct.patch
@@ -0,0 +1,24 @@
+commit 28e9fc592cb8c7a43e4d3147b38be6032a0e81bc
+Author: Jiri Slaby <jirislaby@gmail.com>
+Date:   Sun Aug 23 22:55:51 2009 -0700
+
+    NET: llc, zero sockaddr_llc struct
+    
+    sllc_arphrd member of sockaddr_llc might not be changed. Zero sllc
+    before copying to the above layer's structure.
+    
+    Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
+index 9208cf5..c45eee1 100644
+--- a/net/llc/af_llc.c
++++ b/net/llc/af_llc.c
+@@ -914,6 +914,7 @@ static int llc_ui_getname(struct socket *sock, struct sockaddr *uaddr,
+ 	struct llc_sock *llc = llc_sk(sk);
+ 	int rc = 0;
+ 
++	memset(&sllc, 0, sizeof(sllc));
+ 	lock_sock(sk);
+ 	if (sock_flag(sk, SOCK_ZAPPED))
+ 		goto out;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/net-kill-skb_truesize_check.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/net-kill-skb_truesize_check.patch
@@ -0,0 +1,79 @@
+commit 92a0acce186cde8ead56c6915d9479773673ea1a
+Author: David S. Miller <davem@davemloft.net>
+Date:   Tue Feb 17 21:24:05 2009 -0800
+
+    net: Kill skb_truesize_check(), it only catches false-positives.
+    
+    A long time ago we had bugs, primarily in TCP, where we would modify
+    skb->truesize (for TSO queue collapsing) in ways which would corrupt
+    the socket memory accounting.
+    
+    skb_truesize_check() was added in order to try and catch this error
+    more systematically.
+    
+    However this debugging check has morphed into a Frankenstein of sorts
+    and these days it does nothing other than catch false-positives.
+    
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/include/linux/skbuff.h b/include/linux/skbuff.h
+--- a/include/linux/skbuff.h	2008-07-13 15:51:29.000000000 -0600
++++ b/include/linux/skbuff.h	2009-03-22 23:21:54.000000000 -0600
+@@ -390,15 +390,6 @@ extern void	      skb_over_panic(struct 
+ 				     void *here);
+ extern void	      skb_under_panic(struct sk_buff *skb, int len,
+ 				      void *here);
+-extern void	      skb_truesize_bug(struct sk_buff *skb);
+-
+-static inline void skb_truesize_check(struct sk_buff *skb)
+-{
+-	int len = sizeof(struct sk_buff) + skb->len;
+-
+-	if (unlikely((int)skb->truesize < len))
+-		skb_truesize_bug(skb);
+-}
+ 
+ extern int skb_append_datato_frags(struct sock *sk, struct sk_buff *skb,
+ 			int getfrag(void *from, char *to, int offset,
+diff -urpN a/include/net/sock.h b/include/net/sock.h
+--- a/include/net/sock.h	2008-07-13 15:51:29.000000000 -0600
++++ b/include/net/sock.h	2009-03-22 23:21:54.000000000 -0600
+@@ -777,7 +777,6 @@ static inline void sk_mem_uncharge(struc
+ 
+ static inline void sk_wmem_free_skb(struct sock *sk, struct sk_buff *skb)
+ {
+-	skb_truesize_check(skb);
+ 	sock_set_flag(sk, SOCK_QUEUE_SHRUNK);
+ 	sk->sk_wmem_queued -= skb->truesize;
+ 	sk_mem_uncharge(sk, skb->truesize);
+diff -urpN a/net/core/skbuff.c b/net/core/skbuff.c
+--- a/net/core/skbuff.c	2009-03-22 22:54:51.000000000 -0600
++++ b/net/core/skbuff.c	2009-03-22 23:22:24.000000000 -0600
+@@ -149,14 +149,6 @@ void skb_under_panic(struct sk_buff *skb
+ 	BUG();
+ }
+ 
+-void skb_truesize_bug(struct sk_buff *skb)
+-{
+-	printk(KERN_ERR "SKB BUG: Invalid truesize (%u) "
+-	       "len=%u, sizeof(sk_buff)=%Zd\n",
+-	       skb->truesize, skb->len, sizeof(struct sk_buff));
+-}
+-EXPORT_SYMBOL(skb_truesize_bug);
+-
+ /* 	Allocate a new skbuff. We do this ourselves so we can fill in a few
+  *	'private' fields and also do memory statistics to find all the
+  *	[BEEP] leaks.
+diff -urpN a/net/core/sock.c b/net/core/sock.c
+--- a/net/core/sock.c	2009-03-22 22:54:58.000000000 -0600
++++ b/net/core/sock.c	2009-03-22 23:21:56.000000000 -0600
+@@ -1138,7 +1138,6 @@ void sock_rfree(struct sk_buff *skb)
+ {
+ 	struct sock *sk = skb->sk;
+ 
+-	skb_truesize_check(skb);
+ 	atomic_sub(skb->truesize, &sk->sk_rmem_alloc);
+ 	sk_mem_uncharge(skb->sk, skb->truesize);
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/net-unix-gc-fix-soft-lockups-oom-issues.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/net-unix-gc-fix-soft-lockups-oom-issues.patch
@@ -0,0 +1,104 @@
+From: dann frazier <dannf@hp.com>
+Date: Wed, 26 Nov 2008 23:32:27 +0000 (-0800)
+Subject: net: Fix soft lockups/OOM issues w/ unix garbage collector
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet-2.6.git;a=commitdiff_plain;h=5f23b734963ec7eaa3ebcd9050da0c9b7d143dd3
+
+net: Fix soft lockups/OOM issues w/ unix garbage collector
+
+This is an implementation of David Miller's suggested fix in:
+  https://bugzilla.redhat.com/show_bug.cgi?id=470201
+
+It has been updated to use wait_event() instead of
+wait_event_interruptible().
+
+Paraphrasing the description from the above report, it makes sendmsg()
+block while UNIX garbage collection is in progress. This avoids a
+situation where child processes continue to queue new FDs over a
+AF_UNIX socket to a parent which is in the exit path and running
+garbage collection on these FDs. This contention can result in soft
+lockups and oom-killing of unrelated processes.
+
+Signed-off-by: dann frazier <dannf@hp.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+diff --git a/include/net/af_unix.h b/include/net/af_unix.h
+index c29ff1d..1614d78 100644
+--- a/include/net/af_unix.h
++++ b/include/net/af_unix.h
+@@ -9,6 +9,7 @@
+ extern void unix_inflight(struct file *fp);
+ extern void unix_notinflight(struct file *fp);
+ extern void unix_gc(void);
++extern void wait_for_unix_gc(void);
+ 
+ #define UNIX_HASH_SIZE	256
+ 
+diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
+index eb90f77..66d5ac4 100644
+--- a/net/unix/af_unix.c
++++ b/net/unix/af_unix.c
+@@ -1343,6 +1343,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
+ 
+ 	if (NULL == siocb->scm)
+ 		siocb->scm = &tmp_scm;
++	wait_for_unix_gc();
+ 	err = scm_send(sock, msg, siocb->scm);
+ 	if (err < 0)
+ 		return err;
+@@ -1493,6 +1494,7 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
+ 
+ 	if (NULL == siocb->scm)
+ 		siocb->scm = &tmp_scm;
++	wait_for_unix_gc();
+ 	err = scm_send(sock, msg, siocb->scm);
+ 	if (err < 0)
+ 		return err;
+diff --git a/net/unix/garbage.c b/net/unix/garbage.c
+index 6d4a9a8..abb3ab3 100644
+--- a/net/unix/garbage.c
++++ b/net/unix/garbage.c
+@@ -80,6 +80,7 @@
+ #include <linux/file.h>
+ #include <linux/proc_fs.h>
+ #include <linux/mutex.h>
++#include <linux/wait.h>
+ 
+ #include <net/sock.h>
+ #include <net/af_unix.h>
+@@ -91,6 +92,7 @@
+ static LIST_HEAD(gc_inflight_list);
+ static LIST_HEAD(gc_candidates);
+ static DEFINE_SPINLOCK(unix_gc_lock);
++static DECLARE_WAIT_QUEUE_HEAD(unix_gc_wait);
+ 
+ unsigned int unix_tot_inflight;
+ 
+@@ -266,12 +268,16 @@ static void inc_inflight_move_tail(struct unix_sock *u)
+ 		list_move_tail(&u->link, &gc_candidates);
+ }
+ 
+-/* The external entry point: unix_gc() */
++static bool gc_in_progress = false;
+ 
+-void unix_gc(void)
++void wait_for_unix_gc(void)
+ {
+-	static bool gc_in_progress = false;
++	wait_event(unix_gc_wait, gc_in_progress == false);
++}
+ 
++/* The external entry point: unix_gc() */
++void unix_gc(void)
++{
+ 	struct unix_sock *u;
+ 	struct unix_sock *next;
+ 	struct sk_buff_head hitlist;
+@@ -376,6 +382,7 @@ void unix_gc(void)
+ 	/* All candidates should have been detached by now. */
+ 	BUG_ON(!list_empty(&gc_candidates));
+ 	gc_in_progress = false;
++	wake_up(&unix_gc_wait);
+ 
+  out:
+ 	spin_unlock(&unix_gc_lock);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/net-preserve-netfilter-attributes.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/net-preserve-netfilter-attributes.patch
@@ -0,0 +1,62 @@
+On Fri, Aug 15, 2008 at 08:32:35PM +1000, Herbert Xu wrote:
+> 
+> I'll work on the netfilter state preservation next.
+
+Here it is:
+
+net: Preserve netfilter attributes in skb_gso_segment using __copy_skb_header
+
+skb_gso_segment didn't preserve some attributes in the original skb
+such as the netfilter fields.  This was harmless until they were used
+which is the case for packets going through lo.
+
+This patch makes it call __copy_skb_header which also picks up some
+other missing attributes.
+
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+
+--- a/net/core/skbuff.c	2008-08-17 13:07:00.000000000 +0000
++++ b/net/core/skbuff.c	2008-08-17 13:07:06.000000000 +0000
+@@ -2284,13 +2284,7 @@
+ 			segs = nskb;
+ 		tail = nskb;
+ 
+-		nskb->dev = skb->dev;
+-		skb_copy_queue_mapping(nskb, skb);
+-		nskb->priority = skb->priority;
+-		nskb->protocol = skb->protocol;
+-		nskb->dst = dst_clone(skb->dst);
+-		memcpy(nskb->cb, skb->cb, sizeof(skb->cb));
+-		nskb->pkt_type = skb->pkt_type;
++		__copy_skb_header(nskb, skb);
+ 		nskb->mac_len = skb->mac_len;
+ 
+ 		skb_reserve(nskb, headroom);
+@@ -2301,6 +2295,7 @@
+ 		skb_copy_from_linear_data(skb, skb_put(nskb, doffset),
+ 					  doffset);
+ 		if (!sg) {
++			nskb->ip_summed = CHECKSUM_NONE;
+ 			nskb->csum = skb_copy_and_csum_bits(skb, offset,
+ 							    skb_put(nskb, len),
+ 							    len, 0);
+@@ -2310,8 +2305,6 @@
+ 		frag = skb_shinfo(nskb)->frags;
+ 		k = 0;
+ 
+-		nskb->ip_summed = CHECKSUM_PARTIAL;
+-		nskb->csum = skb->csum;
+ 		skb_copy_from_linear_data_offset(skb, offset,
+ 						 skb_put(nskb, hsize), hsize);
+ 
+
+Cheers,
+-- 
+Visit Openswan at http://www.openswan.org/
+Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
+Home Page: http://gondor.apana.org.au/~herbert/
+PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
+--
+To unsubscribe from this list: send the line "unsubscribe netdev" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nfs-fix-authenticated-deep-mounting.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nfs-fix-authenticated-deep-mounting.patch
@@ -0,0 +1,96 @@
+commit 37ca8f5c6041516aac603a5abb89b05675493802
+Author: EG Keizer <keie@few.vu.nl>
+Date:   Tue Aug 19 16:34:36 2008 -0400
+
+    nfs: authenticated deep mounting
+    
+    Allow mount to do authenticated mounts below the root of the exported tree.
+    The wording in RFC 2623, sec 2.3.2. allows fsinfo with UNIX authentication
+    on the root of the export. Mounts are not always done on the root
+    of the exported tree. Especially autoumounts often mount below the root of
+    the exported tree.
+    Some server implementations (justly) require full authentication for the
+    so-called deep mounts. The old code used AUTH_SYS only. This caused deep
+    mounts to fail on systems requiring stronger authentication..
+    The client should try both authentication types and use the first one that
+    succeeds.
+    This method was already partially implemented. This patch completes
+    the implementation for NFS2 and NFS3.
+    This patch was developed to allow Debian systems to automount home directories
+    on Solaris servers with krb5 authentication.
+    
+    Tested on kernel 2.6.24-etchnhalf.1
+    
+    Signed-off-by: E.G. Keizer <keie@few.vu.nl>
+    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
+    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/nfs/nfs3proc.c linux-source-2.6.26/fs/nfs/nfs3proc.c
+--- linux-source-2.6.26.orig/fs/nfs/nfs3proc.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/nfs/nfs3proc.c	2009-02-08 16:43:39.000000000 -0700
+@@ -684,7 +684,7 @@ nfs3_proc_statfs(struct nfs_server *serv
+ }
+ 
+ static int
+-nfs3_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle,
++do_proc_fsinfo(struct rpc_clnt *client, struct nfs_fh *fhandle,
+ 		 struct nfs_fsinfo *info)
+ {
+ 	struct rpc_message msg = {
+@@ -696,11 +696,27 @@ nfs3_proc_fsinfo(struct nfs_server *serv
+ 
+ 	dprintk("NFS call  fsinfo\n");
+ 	nfs_fattr_init(info->fattr);
+-	status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0);
++	status = rpc_call_sync(client, &msg, 0);
+ 	dprintk("NFS reply fsinfo: %d\n", status);
+ 	return status;
+ }
+ 
++/*
++ * Bare-bones access to fsinfo: this is for nfs_get_root/nfs_get_sb via
++ * nfs_create_server
++ */
++static int
++nfs3_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle,
++		   struct nfs_fsinfo *info)
++{
++	int	status;
++
++	status = do_proc_fsinfo(server->client, fhandle, info);
++	if (status && server->nfs_client->cl_rpcclient != server->client)
++		status = do_proc_fsinfo(server->nfs_client->cl_rpcclient, fhandle, info);
++	return status;
++}
++
+ static int
+ nfs3_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle,
+ 		   struct nfs_pathconf *info)
+diff -urpN linux-source-2.6.26.orig/fs/nfs/proc.c linux-source-2.6.26/fs/nfs/proc.c
+--- linux-source-2.6.26.orig/fs/nfs/proc.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/nfs/proc.c	2009-02-08 16:43:39.000000000 -0700
+@@ -65,14 +65,20 @@ nfs_proc_get_root(struct nfs_server *ser
+ 
+ 	dprintk("%s: call getattr\n", __func__);
+ 	nfs_fattr_init(fattr);
+-	status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0);
++	status = rpc_call_sync(server->client, &msg, 0);
++	/* Retry with default authentication if different */
++	if (status && server->nfs_client->cl_rpcclient != server->client)
++		status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0);
+ 	dprintk("%s: reply getattr: %d\n", __func__, status);
+ 	if (status)
+ 		return status;
+ 	dprintk("%s: call statfs\n", __func__);
+ 	msg.rpc_proc = &nfs_procedures[NFSPROC_STATFS];
+ 	msg.rpc_resp = &fsinfo;
+-	status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0);
++	status = rpc_call_sync(server->client, &msg, 0);
++	/* Retry with default authentication if different */
++	if (status && server->nfs_client->cl_rpcclient != server->client)
++		status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0);
+ 	dprintk("%s: reply statfs: %d\n", __func__, status);
+ 	if (status)
+ 		return status;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/netlink-fix-typo-in-initialization.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/netlink-fix-typo-in-initialization.patch
@@ -0,0 +1,27 @@
+commit ad61df918c44316940404891d5082c63e79c256a
+Author: Jiri Pirko <jpirko@redhat.com>
+Date:   Thu Oct 8 01:21:46 2009 -0700
+
+    netlink: fix typo in initialization
+    
+    Commit 9ef1d4c7c7aca1cd436612b6ca785b726ffb8ed8 ("[NETLINK]: Missing
+    initializations in dumped data") introduced a typo in
+    initialization. This patch fixes this.
+    
+    Signed-off-by: Jiri Pirko <jpirko@redhat.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/net/sched/cls_api.c linux-source-2.6.26/net/sched/cls_api.c
+--- linux-source-2.6.26.orig/net/sched/cls_api.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/sched/cls_api.c	2009-10-27 21:47:00.000000000 -0600
+@@ -333,7 +333,7 @@ static int tcf_fill_node(struct sk_buff 
+ 	tcm = NLMSG_DATA(nlh);
+ 	tcm->tcm_family = AF_UNSPEC;
+ 	tcm->tcm__pad1 = 0;
+-	tcm->tcm__pad1 = 0;
++	tcm->tcm__pad2 = 0;
+ 	tcm->tcm_ifindex = tp->q->dev->ifindex;
+ 	tcm->tcm_parent = tp->classid;
+ 	tcm->tcm_info = TC_H_MAKE(tp->prio, tp->protocol);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/netrom-fix-nr_getname-leak.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/netrom-fix-nr_getname-leak.patch
@@ -0,0 +1,23 @@
+commit f6b97b29513950bfbf621a83d85b6f86b39ec8db
+Author: Eric Dumazet <eric.dumazet@gmail.com>
+Date:   Thu Aug 6 03:31:07 2009 +0000
+
+    netrom: Fix nr_getname() leak
+    
+    nr_getname() can leak kernel memory to user.
+    
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
+index ce51ce0..ce1a34b 100644
+--- a/net/netrom/af_netrom.c
++++ b/net/netrom/af_netrom.c
+@@ -847,6 +847,7 @@ static int nr_getname(struct socket *sock, struct sockaddr *uaddr,
+ 		sax->fsa_ax25.sax25_family = AF_NETROM;
+ 		sax->fsa_ax25.sax25_ndigis = 1;
+ 		sax->fsa_ax25.sax25_call   = nr->user_addr;
++		memset(sax->fsa_digipeater, 0, sizeof(sax->fsa_digipeater));
+ 		sax->fsa_digipeater[0]     = nr->dest_addr;
+ 		*uaddr_len = sizeof(struct full_sockaddr_ax25);
+ 	} else {
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nfs-v4-client-fix-MAY_EXEC-handling.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nfs-v4-client-fix-MAY_EXEC-handling.patch
@@ -0,0 +1,38 @@
+commit 7ee2cb7f32b299c2b06a31fde155457203e4b7dd
+Author: Frank Filz <ffilzlnx@us.ibm.com>
+Date:   Mon May 18 17:41:40 2009 -0400
+
+    nfs: Fix NFS v4 client handling of MAY_EXEC in nfs_permission.
+    
+    The problem is that permission checking is skipped if atomic open is
+    possible, but when exec opens a file, it just opens it O_READONLY which
+    means EXEC permission will not be checked at that time.
+    
+    This problem is observed by the following sequence (executed as root):
+    
+      mount -t nfs4 server:/ /mnt4
+      echo "ls" >/mnt4/foo
+      chmod 744 /mnt4/foo
+      su guest -c "mnt4/foo"
+    
+    Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
+    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+    Cc: stable@kernel.org
+    Tested-by: Eugene Teo <eugeneteo@kernel.sg>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/nfs/dir.c linux-source-2.6.26/fs/nfs/dir.c
+--- linux-source-2.6.26.orig/fs/nfs/dir.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/nfs/dir.c	2009-05-24 14:36:52.000000000 -0600
+@@ -1949,7 +1949,8 @@ int nfs_permission(struct inode *inode, 
+ 			/* NFSv4 has atomic_open... */
+ 			if (nfs_server_capable(inode, NFS_CAP_ATOMIC_OPEN)
+ 					&& nd != NULL
+-					&& (nd->flags & LOOKUP_OPEN))
++					&& (nd->flags & LOOKUP_OPEN)
++					&& !(mask & MAY_EXEC))
+ 				goto out;
+ 			break;
+ 		case S_IFDIR:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nfs-handle-ESTALE-error-in-access.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nfs-handle-ESTALE-error-in-access.patch
@@ -0,0 +1,71 @@
+From a71ee337b31271e701f689d544b6153b75609bc5 Mon Sep 17 00:00:00 2001
+From: Suresh Jayaraman <sjayaraman@suse.de>
+Date: Tue, 10 Mar 2009 20:33:21 -0400
+Subject: [PATCH] NFS: Handle -ESTALE error in access()
+
+Hi Trond,
+
+I have been looking at a bugreport where trying to open applications on KDE
+on a NFS mounted home fails temporarily. There have been multiple reports on
+different kernel versions pointing to this common issue:
+http://bugzilla.kernel.org/show_bug.cgi?id=12557
+https://bugs.launchpad.net/ubuntu/+source/linux/+bug/269954
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508866.html
+
+This issue can be reproducible consistently by doing this on a NFS mounted
+home (KDE):
+1. Open 2 xterm sessions
+2. From one of the xterm session, do "ssh -X <remote host>"
+3. "stat ~/.Xauthority" on the remote SSH session
+4. Close the two xterm sessions
+5. On the server do a "stat ~/.Xauthority"
+6. Now on the client, try to open xterm
+This will fail.
+
+Even if the filehandle had become stale, the NFS client should invalidate
+the cache/inode and should repeat LOOKUP. Looking at the packet capture when
+the failure occurs shows that there were two subsequent ACCESS() calls with
+the same filehandle and both fails with -ESTALE error.
+
+I have tested the fix below. Now the client issue a LOOKUP after the
+ACCESS() call fails with -ESTALE. If all this makes sense to you, can you
+consider this for inclusion?
+
+Thanks,
+
+
+If the server returns an -ESTALE error due to stale filehandle in response to
+an ACCESS() call, we need to invalidate the cache and inode so that LOOKUP()
+can be retried. Without this change, the nfs client retries ACCESS() with the
+same filehandle, fails again and could lead to temporary failure of
+applications running on nfs mounted home.
+
+Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
+Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+---
+ fs/nfs/dir.c |    8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
+index e35c819..672368f 100644
+--- a/fs/nfs/dir.c
++++ b/fs/nfs/dir.c
+@@ -1892,8 +1892,14 @@ static int nfs_do_access(struct inode *inode, struct rpc_cred *cred, int mask)
+ 	cache.cred = cred;
+ 	cache.jiffies = jiffies;
+ 	status = NFS_PROTO(inode)->access(inode, &cache);
+-	if (status != 0)
++	if (status != 0) {
++		if (status == -ESTALE) {
++			nfs_zap_caches(inode);
++			if (!S_ISDIR(inode->i_mode))
++				set_bit(NFS_INO_STALE, &NFS_I(inode)->flags);
++		}
+ 		return status;
++	}
+ 	nfs_access_add_cache(inode, &cache);
+ out:
+ 	if ((mask & ~cache.mask & (MAY_READ | MAY_WRITE | MAY_EXEC)) == 0)
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ocfs2-dlm-fix-race-during-lockres-mastery.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ocfs2-dlm-fix-race-during-lockres-mastery.patch
@@ -0,0 +1,53 @@
+commit 7b791d68562e4ce5ab57cbacb10a1ad4ee33956e
+Author: Sunil Mushran <sunil.mushran@oracle.com>
+Date:   Tue Dec 16 15:49:23 2008 -0800
+
+    ocfs2/dlm: Fix race during lockres mastery
+    
+    dlm_get_lock_resource() is supposed to return a lock resource with a proper
+    master. If multiple concurrent threads attempt to lookup the lockres for the
+    same lockid while the lock mastery in underway, one or more threads are likely
+    to return a lockres without a proper master.
+    
+    This patch makes the threads wait in dlm_get_lock_resource() while the mastery
+    is underway, ensuring all threads return the lockres with a proper master.
+    
+    This issue is known to be limited to users using the flock() syscall. For all
+    other fs operations, the ocfs2 dlmglue layer serializes the dlm op for each
+    lockid.
+    
+    Users encountering this bug will see flock() return EINVAL and dmesg have the
+    following error:
+    ERROR: Dlm error "DLM_BADARGS" while calling dlmlock on resource <LOCKID>: bad api args
+    
+    Reported-by: Coly Li <coyli@suse.de>
+    Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
+    Signed-off-by: Mark Fasheh <mfasheh@suse.com>
+
+diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c
+index cbf3abe..54e182a 100644
+--- a/fs/ocfs2/dlm/dlmmaster.c
++++ b/fs/ocfs2/dlm/dlmmaster.c
+@@ -732,14 +732,21 @@ lookup:
+ 	if (tmpres) {
+ 		int dropping_ref = 0;
+ 
++		spin_unlock(&dlm->spinlock);
++
+ 		spin_lock(&tmpres->spinlock);
++		/* We wait for the other thread that is mastering the resource */
++		if (tmpres->owner == DLM_LOCK_RES_OWNER_UNKNOWN) {
++			__dlm_wait_on_lockres(tmpres);
++			BUG_ON(tmpres->owner == DLM_LOCK_RES_OWNER_UNKNOWN);
++		}
++
+ 		if (tmpres->owner == dlm->node_num) {
+ 			BUG_ON(tmpres->state & DLM_LOCK_RES_DROPPING_REF);
+ 			dlm_lockres_grab_inflight_ref(dlm, tmpres);
+ 		} else if (tmpres->state & DLM_LOCK_RES_DROPPING_REF)
+ 			dropping_ref = 1;
+ 		spin_unlock(&tmpres->spinlock);
+-		spin_unlock(&dlm->spinlock);
+ 
+ 		/* wait until done messaging the master, drop our ref to allow
+ 		 * the lockres to be purged, start over. */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nfsd-drop-CAP_MKNOD-for-non-root.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nfsd-drop-CAP_MKNOD-for-non-root.patch
@@ -0,0 +1,36 @@
+commit 76a67ec6fb79ff3570dcb5342142c16098299911
+Author: J. Bruce Fields <bfields@citi.umich.edu>
+Date:   Mon Mar 16 18:34:20 2009 -0400
+
+    nfsd: nfsd should drop CAP_MKNOD for non-root
+    
+    Since creating a device node is normally an operation requiring special
+    privilege, Igor Zhbanov points out that it is surprising (to say the
+    least) that a client can, for example, create a device node on a
+    filesystem exported with root_squash.
+    
+    So, make sure CAP_MKNOD is among the capabilities dropped when an nfsd
+    thread handles a request from a non-root user.
+    
+    Reported-by: Igor Zhbanov <izh1979@gmail.com>
+    Cc: stable@kernel.org
+    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/capability.h linux-source-2.6.26/include/linux/capability.h
+--- linux-source-2.6.26.orig/include/linux/capability.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/capability.h	2009-04-05 19:17:27.000000000 -0600
+@@ -382,8 +382,10 @@ typedef struct kernel_cap_struct {
+ # define CAP_FULL_SET     ((kernel_cap_t){{ ~0, ~0 }})
+ # define CAP_INIT_EFF_SET ((kernel_cap_t){{ ~CAP_TO_MASK(CAP_SETPCAP), ~0 }})
+ # define CAP_FS_SET       ((kernel_cap_t){{ CAP_FS_MASK_B0, CAP_FS_MASK_B1 } })
+-# define CAP_NFSD_SET     ((kernel_cap_t){{ CAP_FS_MASK_B0|CAP_TO_MASK(CAP_SYS_RESOURCE), \
+-					CAP_FS_MASK_B1 } })
++# define CAP_NFSD_SET     ((kernel_cap_t){{ CAP_FS_MASK_B0 \
++					    | CAP_TO_MASK(CAP_SYS_RESOURCE) \
++					    | CAP_TO_MASK(CAP_MKNOD), \
++					    CAP_FS_MASK_B1 } })
+ 
+ #endif /* _KERNEL_CAPABILITY_U32S != 2 */
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nfsd4-de-union-iattr-and-verf.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nfsd4-de-union-iattr-and-verf.patch
@@ -0,0 +1,29 @@
+un-union iattr & verf, from 79fb54abd285b442e1f30f851902f3ddf58e7704
+
+diff -urpN linux-source-2.6.26.orig/include/linux/nfsd/xdr4.h linux-source-2.6.26/include/linux/nfsd/xdr4.h
+--- linux-source-2.6.26.orig/include/linux/nfsd/xdr4.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/nfsd/xdr4.h	2009-10-15 23:55:47.000000000 -0600
+@@ -207,10 +207,8 @@ struct nfsd4_open {
+ 	u32		op_create;     	    /* request */
+ 	u32		op_createmode;      /* request */
+ 	u32		op_bmval[2];        /* request */
+-	union {                             /* request */
+-		struct iattr	iattr;                      /* UNCHECKED4,GUARDED4 */
+-		nfs4_verifier	verf;                                /* EXCLUSIVE4 */
+-	} u;
++	struct iattr	iattr;              /* UNCHECKED4, GUARDED4, EXCLUSIVE4_1 */
++	nfs4_verifier	verf;               /* EXCLUSIVE4 */
+ 	clientid_t	op_clientid;        /* request */
+ 	struct xdr_netobj op_owner;           /* request */
+ 	u32		op_seqid;           /* request */
+@@ -224,8 +222,8 @@ struct nfsd4_open {
+ 	struct nfs4_stateowner *op_stateowner; /* used during processing */
+ 	struct nfs4_acl *op_acl;
+ };
+-#define op_iattr	u.iattr
+-#define op_verf		u.verf
++#define op_iattr	iattr
++#define op_verf		verf
+ 
+ struct nfsd4_open_confirm {
+ 	stateid_t	oc_req_stateid		/* request */;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nfsv4-buggy-server-oops.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nfsv4-buggy-server-oops.patch
@@ -0,0 +1,72 @@
+commit d953126a28f97ec965d23c69fd5795854c048f30
+Author: Trond Myklebust <Trond.Myklebust@netapp.com>
+Date:   Tue Jul 21 19:22:38 2009 -0400
+
+    NFSv4: Fix a problem whereby a buggy server can oops the kernel
+    
+    We just had a case in which a buggy server occasionally returns the wrong
+    attributes during an OPEN call. While the client does catch this sort of
+    condition in nfs4_open_done(), and causes the nfs4_atomic_open() to return
+    -EISDIR, the logic in nfs_atomic_lookup() is broken, since it causes a
+    fallback to an ordinary lookup instead of just returning the error.
+    
+    When the buggy server then returns a regular file for the fallback lookup,
+    the VFS allows the open, and bad things start to happen, since the open
+    file doesn't have any associated NFSv4 state.
+    
+    The fix is firstly to return the EISDIR/ENOTDIR errors immediately, and
+    secondly to ensure that we are always careful when dereferencing the
+    nfs_open_context state pointer.
+    
+    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+
+diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
+index 38d42c2..32062c3 100644
+--- a/fs/nfs/dir.c
++++ b/fs/nfs/dir.c
+@@ -1025,12 +1025,12 @@ static struct dentry *nfs_atomic_lookup(struct inode *dir, struct dentry *dentry
+ 				res = NULL;
+ 				goto out;
+ 			/* This turned out not to be a regular file */
+-			case -EISDIR:
+ 			case -ENOTDIR:
+ 				goto no_open;
+ 			case -ELOOP:
+ 				if (!(nd->intent.open.flags & O_NOFOLLOW))
+ 					goto no_open;
++			/* case -EISDIR: */
+ 			/* case -EINVAL: */
+ 			default:
+ 				goto out;
+diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
+index df24f67..6917311 100644
+--- a/fs/nfs/nfs4proc.c
++++ b/fs/nfs/nfs4proc.c
+@@ -4093,15 +4093,23 @@ nfs4_proc_lock(struct file *filp, int cmd, struct file_lock *request)
+ 	if (request->fl_start < 0 || request->fl_end < 0)
+ 		return -EINVAL;
+ 
+-	if (IS_GETLK(cmd))
+-		return nfs4_proc_getlk(state, F_GETLK, request);
++	if (IS_GETLK(cmd)) {
++		if (state != NULL)
++			return nfs4_proc_getlk(state, F_GETLK, request);
++		return 0;
++	}
+ 
+ 	if (!(IS_SETLK(cmd) || IS_SETLKW(cmd)))
+ 		return -EINVAL;
+ 
+-	if (request->fl_type == F_UNLCK)
+-		return nfs4_proc_unlck(state, cmd, request);
++	if (request->fl_type == F_UNLCK) {
++		if (state != NULL)
++			return nfs4_proc_unlck(state, cmd, request);
++		return 0;
++	}
+ 
++	if (state == NULL)
++		return -ENOLCK;
+ 	do {
+ 		status = nfs4_proc_setlk(state, cmd, request);
+ 		if ((status != -EAGAIN) || IS_SETLK(cmd))
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nohz-dont-stop-if-softirqs-pending.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nohz-dont-stop-if-softirqs-pending.patch
@@ -0,0 +1,45 @@
+From 857f3fd7a496ddf4329345af65a4a2b16dd25fe8 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Fri, 11 Jul 2008 11:09:22 +0200
+Subject: [PATCH] nohz: don't stop idle tick if softirqs are pending.
+
+In case a cpu goes idle but softirqs are pending only an error message is
+printed to the console. It may take a very long time until the pending
+softirqs will finally be executed. Worst case would be a hanging system.
+
+With this patch the timer tick just continues and the softirqs will be
+executed after the next interrupt. Still a delay but better than a
+hanging system.
+
+Currently we have at least two device drivers on s390 which under certain
+circumstances schedule a tasklet from process context. This is a reason
+why we can end up with pending softirqs when going idle. Fixing these
+drivers seems to be non-trivial.
+However there is no question that the drivers should be fixed.
+This patch shouldn't be considered as a bug fix. It just is intended to
+keep a system running even if device drivers are buggy.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Cc: Jan Glauber <jan.glauber@de.ibm.com>
+Cc: Stefan Weinhuber <wein@de.ibm.com>
+Cc: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+---
+ kernel/time/tick-sched.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
+index cb75394..86baa4f 100644
+--- a/kernel/time/tick-sched.c
++++ b/kernel/time/tick-sched.c
+@@ -235,6 +235,7 @@ void tick_nohz_stop_sched_tick(void)
+ 			       local_softirq_pending());
+ 			ratelimit++;
+ 		}
++		goto end;
+ 	}
+ 
+ 	ts->idle_calls++;
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/nohz-dont-stop-outside-idle-loop.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/nohz-dont-stop-outside-idle-loop.patch
@@ -0,0 +1,316 @@
+From b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af Mon Sep 17 00:00:00 2001
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Fri, 18 Jul 2008 17:27:28 +0200
+Subject: [PATCH] nohz: prevent tick stop outside of the idle loop
+
+Jack Ren and Eric Miao tracked down the following long standing
+problem in the NOHZ code:
+
+	scheduler switch to idle task
+	enable interrupts
+
+Window starts here
+
+	----> interrupt happens (does not set NEED_RESCHED)
+	      	irq_exit() stops the tick
+
+	----> interrupt happens (does set NEED_RESCHED)
+
+	return from schedule()
+
+	cpu_idle(): preempt_disable();
+
+Window ends here
+
+The interrupts can happen at any point inside the race window. The
+first interrupt stops the tick, the second one causes the scheduler to
+rerun and switch away from idle again and we end up with the tick
+disabled.
+
+The fact that it needs two interrupts where the first one does not set
+NEED_RESCHED and the second one does made the bug obscure and extremly
+hard to reproduce and analyse. Kudos to Jack and Eric.
+
+Solution: Limit the NOHZ functionality to the idle loop to make sure
+that we can not run into such a situation ever again.
+
+cpu_idle()
+{
+	preempt_disable();
+
+	while(1) {
+		 tick_nohz_stop_sched_tick(1); <- tell NOHZ code that we
+		 			          are in the idle loop
+
+		 while (!need_resched())
+		       halt();
+
+		 tick_nohz_restart_sched_tick(); <- disables NOHZ mode
+		 preempt_enable_no_resched();
+		 schedule();
+		 preempt_disable();
+	}
+}
+
+In hindsight we should have done this forever, but ...
+
+/me grabs a large brown paperbag.
+
+Debugged-by: Jack Ren <jack.ren@marvell.com>,
+Debugged-by: eric miao <eric.y.miao@gmail.com>
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+---
+ arch/arm/kernel/process.c              |    2 +-
+ arch/avr32/kernel/process.c            |    2 +-
+ arch/blackfin/kernel/process.c         |    2 +-
+ arch/mips/kernel/process.c             |    2 +-
+ arch/powerpc/kernel/idle.c             |    2 +-
+ arch/powerpc/platforms/iseries/setup.c |    4 ++--
+ arch/sh/kernel/process_32.c            |    2 +-
+ arch/sparc64/kernel/process.c          |    2 +-
+ arch/um/kernel/process.c               |    2 +-
+ arch/x86/kernel/process_32.c           |    2 +-
+ arch/x86/kernel/process_64.c           |    2 +-
+ include/linux/tick.h                   |    5 +++--
+ kernel/softirq.c                       |    2 +-
+ kernel/time/tick-sched.c               |   12 ++++++++++--
+ 14 files changed, 26 insertions(+), 17 deletions(-)
+
+diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
+index 46bf2ed..84f5a4c 100644
+--- a/arch/arm/kernel/process.c
++++ b/arch/arm/kernel/process.c
+@@ -164,7 +164,7 @@ void cpu_idle(void)
+ 		if (!idle)
+ 			idle = default_idle;
+ 		leds_event(led_idle_start);
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched())
+ 			idle();
+ 		leds_event(led_idle_end);
+diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c
+index 6cf9df1..ff820a9 100644
+--- a/arch/avr32/kernel/process.c
++++ b/arch/avr32/kernel/process.c
+@@ -31,7 +31,7 @@ void cpu_idle(void)
+ {
+ 	/* endless idle loop with no priority at all */
+ 	while (1) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched())
+ 			cpu_idle_sleep();
+ 		tick_nohz_restart_sched_tick();
+diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
+index 53c2cd2..77800dd 100644
+--- a/arch/blackfin/kernel/process.c
++++ b/arch/blackfin/kernel/process.c
+@@ -105,7 +105,7 @@ void cpu_idle(void)
+ #endif
+ 		if (!idle)
+ 			idle = default_idle;
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched())
+ 			idle();
+ 		tick_nohz_restart_sched_tick();
+diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
+index 2c09a44..bdead3a 100644
+--- a/arch/mips/kernel/process.c
++++ b/arch/mips/kernel/process.c
+@@ -53,7 +53,7 @@ void __noreturn cpu_idle(void)
+ {
+ 	/* endless idle loop with no priority at all */
+ 	while (1) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched()) {
+ #ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG
+ 			extern void smtc_idle_loop_hook(void);
+diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c
+index c3cf0e8..d308a9f 100644
+--- a/arch/powerpc/kernel/idle.c
++++ b/arch/powerpc/kernel/idle.c
+@@ -60,7 +60,7 @@ void cpu_idle(void)
+ 
+ 	set_thread_flag(TIF_POLLING_NRFLAG);
+ 	while (1) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched() && !cpu_should_die()) {
+ 			ppc64_runlatch_off();
+ 
+diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c
+index b721207..70b688c 100644
+--- a/arch/powerpc/platforms/iseries/setup.c
++++ b/arch/powerpc/platforms/iseries/setup.c
+@@ -561,7 +561,7 @@ static void yield_shared_processor(void)
+ static void iseries_shared_idle(void)
+ {
+ 	while (1) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched() && !hvlpevent_is_pending()) {
+ 			local_irq_disable();
+ 			ppc64_runlatch_off();
+@@ -591,7 +591,7 @@ static void iseries_dedicated_idle(void)
+ 	set_thread_flag(TIF_POLLING_NRFLAG);
+ 
+ 	while (1) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		if (!need_resched()) {
+ 			while (!need_resched()) {
+ 				ppc64_runlatch_off();
+diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c
+index b98e37a..921892c 100644
+--- a/arch/sh/kernel/process_32.c
++++ b/arch/sh/kernel/process_32.c
+@@ -86,7 +86,7 @@ void cpu_idle(void)
+ 		if (!idle)
+ 			idle = default_idle;
+ 
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched())
+ 			idle();
+ 		tick_nohz_restart_sched_tick();
+diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
+index 2084f81..0798928 100644
+--- a/arch/sparc64/kernel/process.c
++++ b/arch/sparc64/kernel/process.c
+@@ -97,7 +97,7 @@ void cpu_idle(void)
+ 	set_thread_flag(TIF_POLLING_NRFLAG);
+ 
+ 	while(1) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 
+ 		while (!need_resched() && !cpu_is_offline(cpu))
+ 			sparc64_yield(cpu);
+diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c
+index 83603cf..a1c6d07 100644
+--- a/arch/um/kernel/process.c
++++ b/arch/um/kernel/process.c
+@@ -243,7 +243,7 @@ void default_idle(void)
+ 		if (need_resched())
+ 			schedule();
+ 
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		nsecs = disable_timer();
+ 		idle_sleep(nsecs);
+ 		tick_nohz_restart_sched_tick();
+diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
+index f8476df..1f5fa1c 100644
+--- a/arch/x86/kernel/process_32.c
++++ b/arch/x86/kernel/process_32.c
+@@ -166,7 +166,7 @@ void cpu_idle(void)
+ 
+ 	/* endless idle loop with no priority at all */
+ 	while (1) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched()) {
+ 			void (*idle)(void);
+ 
+diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
+index e2319f3..c0a5c2a 100644
+--- a/arch/x86/kernel/process_64.c
++++ b/arch/x86/kernel/process_64.c
+@@ -148,7 +148,7 @@ void cpu_idle(void)
+ 	current_thread_info()->status |= TS_POLLING;
+ 	/* endless idle loop with no priority at all */
+ 	while (1) {
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(1);
+ 		while (!need_resched()) {
+ 			void (*idle)(void);
+ 
+diff --git a/include/linux/tick.h b/include/linux/tick.h
+index a881c65..d3c0269 100644
+--- a/include/linux/tick.h
++++ b/include/linux/tick.h
+@@ -49,6 +49,7 @@ struct tick_sched {
+ 	unsigned long			check_clocks;
+ 	enum tick_nohz_mode		nohz_mode;
+ 	ktime_t				idle_tick;
++	int				inidle;
+ 	int				tick_stopped;
+ 	unsigned long			idle_jiffies;
+ 	unsigned long			idle_calls;
+@@ -105,14 +106,14 @@ static inline int tick_check_oneshot_change(int allow_nohz) { return 0; }
+ #endif /* !CONFIG_GENERIC_CLOCKEVENTS */
+ 
+ # ifdef CONFIG_NO_HZ
+-extern void tick_nohz_stop_sched_tick(void);
++extern void tick_nohz_stop_sched_tick(int inidle);
+ extern void tick_nohz_restart_sched_tick(void);
+ extern void tick_nohz_update_jiffies(void);
+ extern ktime_t tick_nohz_get_sleep_length(void);
+ extern void tick_nohz_stop_idle(int cpu);
+ extern u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time);
+ # else
+-static inline void tick_nohz_stop_sched_tick(void) { }
++static inline void tick_nohz_stop_sched_tick(int inidle) { }
+ static inline void tick_nohz_restart_sched_tick(void) { }
+ static inline void tick_nohz_update_jiffies(void) { }
+ static inline ktime_t tick_nohz_get_sleep_length(void)
+diff --git a/kernel/softirq.c b/kernel/softirq.c
+index 36e0617..05f2480 100644
+--- a/kernel/softirq.c
++++ b/kernel/softirq.c
+@@ -312,7 +312,7 @@ void irq_exit(void)
+ #ifdef CONFIG_NO_HZ
+ 	/* Make sure that timer wheel updates are propagated */
+ 	if (!in_interrupt() && idle_cpu(smp_processor_id()) && !need_resched())
+-		tick_nohz_stop_sched_tick();
++		tick_nohz_stop_sched_tick(0);
+ 	rcu_irq_exit();
+ #endif
+ 	preempt_enable_no_resched();
+diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
+index 86baa4f..ee962d1 100644
+--- a/kernel/time/tick-sched.c
++++ b/kernel/time/tick-sched.c
+@@ -195,7 +195,7 @@ u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time)
+  * Called either from the idle loop or from irq_exit() when an idle period was
+  * just interrupted by an interrupt which did not cause a reschedule.
+  */
+-void tick_nohz_stop_sched_tick(void)
++void tick_nohz_stop_sched_tick(int inidle)
+ {
+ 	unsigned long seq, last_jiffies, next_jiffies, delta_jiffies, flags;
+ 	struct tick_sched *ts;
+@@ -224,6 +224,11 @@ void tick_nohz_stop_sched_tick(void)
+ 	if (unlikely(ts->nohz_mode == NOHZ_MODE_INACTIVE))
+ 		goto end;
+ 
++	if (!inidle && !ts->inidle)
++		goto end;
++
++	ts->inidle = 1;
++
+ 	if (need_resched())
+ 		goto end;
+ 
+@@ -372,11 +377,14 @@ void tick_nohz_restart_sched_tick(void)
+ 	local_irq_disable();
+ 	tick_nohz_stop_idle(cpu);
+ 
+-	if (!ts->tick_stopped) {
++	if (!ts->inidle || !ts->tick_stopped) {
++		ts->inidle = 0;
+ 		local_irq_enable();
+ 		return;
+ 	}
+ 
++	ts->inidle = 0;
++
+ 	rcu_exit_nohz();
+ 
+ 	/* Update jiffies first */
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ntp-fix-convergence-regression.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ntp-fix-convergence-regression.patch
@@ -0,0 +1,103 @@
+From: john stultz <johnstul@us.ibm.com>
+Date: Wed, 6 May 2009 09:43:57 +0000 (+0200)
+Subject: ntp: adjust SHIFT_PLL to improve NTP convergence
+X-Git-Tag: v2.6.31-rc1~329^2~1
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=22cfbbfd9f67b67fe073010f51cb71d3632387d5
+
+ntp: adjust SHIFT_PLL to improve NTP convergence
+
+The conversion to the ntpv4 reference model
+f19923937321244e7dc334767eb4b67e0e3d5c74 ("ntp: convert to the NTP4
+reference model") in 2.6.19 added nanosecond resolution the adjtimex
+interface, but also changed the "stiffness" of the frequency adjustments,
+causing NTP convergence time to greatly increase.
+
+SHIFT_PLL, which reduces the stiffness of the freq adjustments, was
+designed to be inversely linked to HZ, and the reference value of 4 was
+designed for Unix systems using HZ=100.  However Linux's clock steering
+code mostly independent of HZ.
+
+So this patch reduces the SHIFT_PLL value from 4 to 2, which causes NTPd
+behavior to match kernels prior to 2.6.19, greatly reducing convergence
+times, and improving close synchronization through environmental thermal
+changes.
+
+The patch also changes some l's to L's in nearby code to avoid misreading
+50l as 501.
+
+[ Impact: tweak NTP algorithm for faster convergence ]
+
+Signed-off-by: John Stultz <johnstul@us.ibm.com>
+Acked-by: Rik van Riel <riel@redhat.com>
+Cc: zippel@linux-m68k.org
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+LKML-Reference: <200905051956.n45JuVo9025575@imap1.linux-foundation.org>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+---
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/timex.h linux-source-2.6.26/include/linux/timex.h
+--- linux-source-2.6.26.orig/include/linux/timex.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/timex.h	2009-07-31 00:23:21.000000000 -0600
+@@ -61,17 +61,37 @@
+ #define NTP_API		4	/* NTP API version */
+ 
+ /*
+- * SHIFT_KG and SHIFT_KF establish the damping of the PLL and are chosen
+- * for a slightly underdamped convergence characteristic. SHIFT_KH
+- * establishes the damping of the FLL and is chosen by wisdom and black
+- * art.
+- *
+- * MAXTC establishes the maximum time constant of the PLL. With the
+- * SHIFT_KG and SHIFT_KF values given and a time constant range from
+- * zero to MAXTC, the PLL will converge in 15 minutes to 16 hours,
+- * respectively.
++ * SHIFT_PLL is used as a dampening factor to define how much we
++ * adjust the frequency correction for a given offset in PLL mode.
++ * It also used in dampening the offset correction, to define how
++ * much of the current value in time_offset we correct for each
++ * second. Changing this value changes the stiffness of the ntp
++ * adjustment code. A lower value makes it more flexible, reducing
++ * NTP convergence time. A higher value makes it stiffer, increasing
++ * convergence time, but making the clock more stable.
++ *
++ * In David Mills' nanokenrel reference implmentation SHIFT_PLL is 4.
++ * However this seems to increase convergence time much too long.
++ *
++ * https://lists.ntp.org/pipermail/hackers/2008-January/003487.html
++ *
++ * In the above mailing list discussion, it seems the value of 4
++ * was appropriate for other Unix systems with HZ=100, and that
++ * SHIFT_PLL should be decreased as HZ increases. However, Linux's
++ * clock steering implementation is HZ independent.
++ *
++ * Through experimentation, a SHIFT_PLL value of 2 was found to allow
++ * for fast convergence (very similar to the NTPv3 code used prior to
++ * v2.6.19), with good clock stability.
++ *
++ *
++ * SHIFT_FLL is used as a dampening factor to define how much we
++ * adjust the frequency correction for a given offset in FLL mode.
++ * In David Mills' nanokenrel reference implmentation SHIFT_PLL is 2.
++ *
++ * MAXTC establishes the maximum time constant of the PLL.
+  */
+-#define SHIFT_PLL	4	/* PLL frequency factor (shift) */
++#define SHIFT_PLL	2	/* PLL frequency factor (shift) */
+ #define SHIFT_FLL	2	/* FLL frequency factor (shift) */
+ #define MAXTC		10	/* maximum time constant (shift) */
+ 
+@@ -83,10 +103,10 @@
+ #define SHIFT_USEC 16		/* frequency offset scale (shift) */
+ #define PPM_SCALE (NSEC_PER_USEC << (NTP_SCALE_SHIFT - SHIFT_USEC))
+ #define PPM_SCALE_INV_SHIFT 20
+-#define PPM_SCALE_INV ((1ll << (PPM_SCALE_INV_SHIFT + NTP_SCALE_SHIFT)) / \
++#define PPM_SCALE_INV ((1LL << (PPM_SCALE_INV_SHIFT + NTP_SCALE_SHIFT)) / \
+ 		       PPM_SCALE + 1)
+ 
+-#define MAXPHASE 500000000l	/* max phase error (ns) */
++#define MAXPHASE 500000000L	/* max phase error (ns) */
+ #define MAXFREQ 500000		/* max frequency error (ns/s) */
+ #define MAXFREQ_SCALED ((s64)MAXFREQ << NTP_SCALE_SHIFT)
+ #define MINSEC 256		/* min interval between updates (s) */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/printk-robustify-printk.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/printk-robustify-printk.patch
@@ -0,0 +1,99 @@
+From b845b517b5e3706a3729f6ea83b88ab85f0725b0 Mon Sep 17 00:00:00 2001
+From: Peter Zijlstra <a.p.zijlstra@chello.nl>
+Date: Fri, 8 Aug 2008 21:47:09 +0200
+Subject: [PATCH] printk: robustify printk
+
+Avoid deadlocks against rq->lock and xtime_lock by deferring the klogd
+wakeup by polling from the timer tick.
+
+Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+---
+ include/linux/kernel.h   |    4 ++++
+ kernel/printk.c          |   19 +++++++++++++++++--
+ kernel/time/tick-sched.c |    2 +-
+ kernel/timer.c           |    1 +
+ 4 files changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/include/linux/kernel.h b/include/linux/kernel.h
+index aaa998f..113ac8d 100644
+--- a/include/linux/kernel.h
++++ b/include/linux/kernel.h
+@@ -200,6 +200,8 @@ extern struct ratelimit_state printk_ratelimit_state;
+ extern int printk_ratelimit(void);
+ extern bool printk_timed_ratelimit(unsigned long *caller_jiffies,
+ 				   unsigned int interval_msec);
++extern void printk_tick(void);
++extern int printk_needs_cpu(int);
+ #else
+ static inline int vprintk(const char *s, va_list args)
+ 	__attribute__ ((format (printf, 1, 0)));
+@@ -211,6 +213,8 @@ static inline int printk_ratelimit(void) { return 0; }
+ static inline bool printk_timed_ratelimit(unsigned long *caller_jiffies, \
+ 					  unsigned int interval_msec)	\
+ 		{ return false; }
++static inline void printk_tick(void) { }
++static inline int printk_needs_cpu(int) { return 0; }
+ #endif
+ 
+ extern void asmlinkage __attribute__((format(printf, 1, 2)))
+diff --git a/kernel/printk.c b/kernel/printk.c
+index b51b156..655cc2c 100644
+--- a/kernel/printk.c
++++ b/kernel/printk.c
+@@ -982,10 +982,25 @@ int is_console_locked(void)
+ 	return console_locked;
+ }
+ 
+-void wake_up_klogd(void)
++static DEFINE_PER_CPU(int, printk_pending);
++
++void printk_tick(void)
+ {
+-	if (!oops_in_progress && waitqueue_active(&log_wait))
++	if (__get_cpu_var(printk_pending)) {
++		__get_cpu_var(printk_pending) = 0;
+ 		wake_up_interruptible(&log_wait);
++	}
++}
++
++int printk_needs_cpu(int cpu)
++{
++	return per_cpu(printk_pending, cpu);
++}
++
++void wake_up_klogd(void)
++{
++	if (waitqueue_active(&log_wait))
++		__get_cpu_var(printk_pending) = 1;
+ }
+ 
+ /**
+diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
+index 825b4c0..c13d4f1 100644
+--- a/kernel/time/tick-sched.c
++++ b/kernel/time/tick-sched.c
+@@ -255,7 +255,7 @@ void tick_nohz_stop_sched_tick(int inidle)
+ 	next_jiffies = get_next_timer_interrupt(last_jiffies);
+ 	delta_jiffies = next_jiffies - last_jiffies;
+ 
+-	if (rcu_needs_cpu(cpu))
++	if (rcu_needs_cpu(cpu) || printk_needs_cpu(cpu))
+ 		delta_jiffies = 1;
+ 	/*
+ 	 * Do not stop the tick, if we are only one off
+diff --git a/kernel/timer.c b/kernel/timer.c
+index 03bc7f1..510fe69 100644
+--- a/kernel/timer.c
++++ b/kernel/timer.c
+@@ -978,6 +978,7 @@ void update_process_times(int user_tick)
+ 	run_local_timers();
+ 	if (rcu_pending(cpu))
+ 		rcu_check_callbacks(cpu, user_tick);
++	printk_tick();
+ 	scheduler_tick();
+ 	run_posix_cpu_timers(p);
+ }
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/ocfs2-splice-deadlock.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/ocfs2-splice-deadlock.patch
@@ -0,0 +1,113 @@
+commit 7bfac9ecf0585962fe13584f5cf526d8c8e76f17
+Author: Miklos Szeredi <mszeredi@suse.cz>
+Date:   Mon Apr 6 17:41:00 2009 +0200
+
+    splice: fix deadlock in splicing to file
+    
+    There's a possible deadlock in generic_file_splice_write(),
+    splice_from_pipe() and ocfs2_file_splice_write():
+    
+     - task A calls generic_file_splice_write()
+     - this calls inode_double_lock(), which locks i_mutex on both
+       pipe->inode and target inode
+     - ordering depends on inode pointers, can happen that pipe->inode is
+       locked first
+     - __splice_from_pipe() needs more data, calls pipe_wait()
+     - this releases lock on pipe->inode, goes to interruptible sleep
+     - task B calls generic_file_splice_write(), similarly to the first
+     - this locks pipe->inode, then tries to lock inode, but that is
+       already held by task A
+     - task A is interrupted, it tries to lock pipe->inode, but fails, as
+       it is already held by task B
+     - ABBA deadlock
+    
+    Fix this by explicitly ordering locks: the outer lock must be on
+    target inode and the inner lock (which is later unlocked and relocked)
+    must be on pipe->inode.  This is OK, pipe inodes and target inodes
+    form two nonoverlapping sets, generic_file_splice_write() and friends
+    are not called with a target which is a pipe.
+    
+    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
+    Acked-by: Mark Fasheh <mfasheh@suse.com>
+    Acked-by: Jens Axboe <jens.axboe@oracle.com>
+    Cc: stable@kernel.org
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/ocfs2/file.c linux-source-2.6.26/fs/ocfs2/file.c
+--- linux-source-2.6.26.orig/fs/ocfs2/file.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/ocfs2/file.c	2009-06-09 00:15:54.000000000 -0600
+@@ -2089,7 +2089,7 @@ static ssize_t ocfs2_file_splice_write(s
+ 		   out->f_path.dentry->d_name.len,
+ 		   out->f_path.dentry->d_name.name);
+ 
+-	inode_double_lock(inode, pipe->inode);
++	mutex_lock_nested(&inode->i_mutex, I_MUTEX_PARENT);
+ 
+ 	ret = ocfs2_rw_lock(inode, 1);
+ 	if (ret < 0) {
+@@ -2104,12 +2104,16 @@ static ssize_t ocfs2_file_splice_write(s
+ 		goto out_unlock;
+ 	}
+ 
++	if (pipe->inode)
++		mutex_lock_nested(&pipe->inode->i_mutex, I_MUTEX_CHILD);
+ 	ret = generic_file_splice_write_nolock(pipe, out, ppos, len, flags);
++	if (pipe->inode)
++		mutex_unlock(&pipe->inode->i_mutex);
+ 
+ out_unlock:
+ 	ocfs2_rw_unlock(inode, 1);
+ out:
+-	inode_double_unlock(inode, pipe->inode);
++	mutex_unlock(&inode->i_mutex);
+ 
+ 	mlog_exit(ret);
+ 	return ret;
+diff -urpN linux-source-2.6.26.orig/fs/splice.c linux-source-2.6.26/fs/splice.c
+--- linux-source-2.6.26.orig/fs/splice.c	2009-05-11 12:06:55.000000000 -0600
++++ linux-source-2.6.26/fs/splice.c	2009-06-09 00:17:13.000000000 -0600
+@@ -726,10 +726,19 @@ ssize_t splice_from_pipe(struct pipe_ino
+ 	 * ->commit_write. Most of the time, these expect i_mutex to
+ 	 * be held. Since this may result in an ABBA deadlock with
+ 	 * pipe->inode, we have to order lock acquiry here.
++	 *
++	 * Outer lock must be inode->i_mutex, as pipe_wait() will
++	 * release and reacquire pipe->inode->i_mutex, AND inode must
++	 * never be a pipe.
+ 	 */
+-	inode_double_lock(inode, pipe->inode);
++	WARN_ON(S_ISFIFO(inode->i_mode));
++	mutex_lock_nested(&inode->i_mutex, I_MUTEX_PARENT);
++	if (pipe->inode)
++		mutex_lock_nested(&pipe->inode->i_mutex, I_MUTEX_CHILD);
+ 	ret = __splice_from_pipe(pipe, &sd, actor);
+-	inode_double_unlock(inode, pipe->inode);
++	if (pipe->inode)
++		mutex_unlock(&pipe->inode->i_mutex);
++	mutex_unlock(&inode->i_mutex);
+ 
+ 	return ret;
+ }
+@@ -820,11 +829,17 @@ generic_file_splice_write(struct pipe_in
+ 	};
+ 	ssize_t ret;
+ 
+-	inode_double_lock(inode, pipe->inode);
++	WARN_ON(S_ISFIFO(inode->i_mode));
++	mutex_lock_nested(&inode->i_mutex, I_MUTEX_PARENT);
+ 	ret = remove_suid(out->f_path.dentry);
+-	if (likely(!ret))
++	if (likely(!ret)) {
++		if (pipe->inode)
++			mutex_lock_nested(&pipe->inode->i_mutex, I_MUTEX_CHILD);
+ 		ret = __splice_from_pipe(pipe, &sd, pipe_to_file);
+-	inode_double_unlock(inode, pipe->inode);
++		if (pipe->inode)
++			mutex_unlock(&pipe->inode->i_mutex);
++	}
++	mutex_unlock(&inode->i_mutex);
+ 	if (ret > 0) {
+ 		unsigned long nr_pages;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/replace_fwrapv_with_fno-strict-overflow.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/replace_fwrapv_with_fno-strict-overflow.patch
@@ -0,0 +1,54 @@
+commit a137802ee839ace40079bebde24cfb416f73208a
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Sun Jul 12 11:25:04 2009 -0700
+
+    Don't use '-fwrapv' compiler option: it's buggy in gcc-4.1.x
+    
+    This causes kernel images that don't run init to completion with certain
+    broken gcc versions.
+    
+    This fixes kernel bugzilla entry:
+    	http://bugzilla.kernel.org/show_bug.cgi?id=13012
+    
+    I suspect the gcc problem is this:
+    	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28230
+    
+    Fix the problem by using the -fno-strict-overflow flag instead, which
+    not only does not exist in the known-to-be-broken versions of gcc (it
+    was introduced later than fwrapv), but seems to be much less disturbing
+    to gcc too: the difference in the generated code by -fno-strict-overflow
+    are smaller (compared to using neither flag) than when using -fwrapv.
+    
+    Reported-by: Barry K. Nathan <barryn@pobox.com>
+    Pushed-by: Frans Pop <elendil@planet.nl>
+    Cc: Andrew Morton <akpm@linux-foundation.org>
+    Cc: stable@kernel.org
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/Makefile b/Makefile
+--- a/Makefile	2009-07-18 18:33:02.000000000 -0600
++++ b/Makefile	2009-07-18 18:39:39.000000000 -0600
+@@ -321,15 +321,18 @@ KBUILD_CPPFLAGS := -D__KERNEL__ $(LINUXI
+ KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
+ 		   -fno-strict-aliasing -fno-common \
+ 		   -Werror-implicit-function-declaration
+-KBUILD_CFLAGS	+= $(call cc-option,-fwrapv)
++
++# .kernelvariables must be included before cc-option
++# since it may change the value of $(CC)
++-include .kernelvariables
++
++KBUILD_CFLAGS	+= $(call cc-option,-fno-strict-overflow)
+ KBUILD_AFLAGS   := -D__ASSEMBLY__
+ 
+ # Read KERNELRELEASE from include/config/kernel.release (if it exists)
+ KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
+ KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
+ 
+--include .kernelvariables
+-
+ # Architecture as present in compile.h
+ UTS_MACHINE 	:= $(ARCH)
+ SRCARCH 	:= $(ARCH)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/pagemap-fix-32-bit-pagemap-regression.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/pagemap-fix-32-bit-pagemap-regression.patch
@@ -0,0 +1,40 @@
+From 49c50342c728344b79c8f9e8293637fe80ef5ad5 Mon Sep 17 00:00:00 2001
+From: Matt Mackall <mpm@selenic.com>
+Date: Tue, 9 Dec 2008 13:14:21 -0800
+Subject: [PATCH] pagemap: fix 32-bit pagemap regression
+
+The large pages fix from bcf8039ed45 broke 32-bit pagemap by pulling the
+pagemap entry code out into a function with the wrong return type.
+Pagemap entries are 64 bits on all systems and unsigned long is only 32
+bits on 32-bit systems.
+
+Signed-off-by: Matt Mackall <mpm@selenic.com>
+Reported-by: Doug Graham <dgraham@nortel.com>
+Cc: Alexey Dobriyan <adobriyan@gmail.com>
+Cc: Dave Hansen <dave@linux.vnet.ibm.com>
+Cc: <stable@kernel.org>		[2.6.26.x, 2.6.27.x]
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ fs/proc/task_mmu.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
+index b770c09..3a8bdd7 100644
+--- a/fs/proc/task_mmu.c
++++ b/fs/proc/task_mmu.c
+@@ -557,9 +557,9 @@ static u64 swap_pte_to_pagemap_entry(pte_t pte)
+ 	return swp_type(e) | (swp_offset(e) << MAX_SWAPFILES_SHIFT);
+ }
+ 
+-static unsigned long pte_to_pagemap_entry(pte_t pte)
++static u64 pte_to_pagemap_entry(pte_t pte)
+ {
+-	unsigned long pme = 0;
++	u64 pme = 0;
+ 	if (is_swap_pte(pte))
+ 		pme = PM_PFRAME(swap_pte_to_pagemap_entry(pte))
+ 			| PM_PSHIFT(PAGE_SHIFT) | PM_SWAP;
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/personality-fix-PER_CLEAR_ON_SETID.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/personality-fix-PER_CLEAR_ON_SETID.patch
@@ -0,0 +1,52 @@
+commit f9fabcb58a6d26d6efde842d1703ac7cfa9427b6
+Author: Julien Tinnes <jt@cr0.org>
+Date:   Fri Jun 26 20:27:40 2009 +0200
+
+    personality: fix PER_CLEAR_ON_SETID
+    
+    We have found that the current PER_CLEAR_ON_SETID mask on Linux doesn't
+    include neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO.
+    
+    The current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE.
+    
+    We believe it is important to add MMAP_PAGE_ZERO, because by using this
+    personality it is possible to have the first page mapped inside a
+    process running as setuid root.  This could be used in those scenarios:
+    
+     - Exploiting a NULL pointer dereference issue in a setuid root binary
+     - Bypassing the mmap_min_addr restrictions of the Linux kernel: by
+       running a setuid binary that would drop privileges before giving us
+       control back (for instance by loading a user-supplied library), we
+       could get the first page mapped in a process we control.  By further
+       using mremap and mprotect on this mapping, we can then completely
+       bypass the mmap_min_addr restrictions.
+    
+    Less importantly, we believe ADDR_COMPAT_LAYOUT should also be added
+    since on x86 32bits it will in practice disable most of the address
+    space layout randomization (only the stack will remain randomized).
+    
+    Signed-off-by: Julien Tinnes <jt@cr0.org>
+    Signed-off-by: Tavis Ormandy <taviso@sdf.lonestar.org>
+    Cc: stable@kernel.org
+    Acked-by: Christoph Hellwig <hch@infradead.org>
+    Acked-by: Kees Cook <kees@ubuntu.com>
+    Acked-by: Eugene Teo <eugene@redhat.com>
+    [ Shortened lines and fixed whitespace as per Christophs' suggestion ]
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/include/linux/personality.h b/include/linux/personality.h
+index a84e9ff..1261208 100644
+--- a/include/linux/personality.h
++++ b/include/linux/personality.h
+@@ -40,7 +40,10 @@ enum {
+  * Security-relevant compatibility flags that must be
+  * cleared upon setuid or setgid exec:
+  */
+-#define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE)
++#define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC  | \
++			    ADDR_NO_RANDOMIZE  | \
++			    ADDR_COMPAT_LAYOUT | \
++			    MMAP_PAGE_ZERO)
+ 
+ /*
+  * Personality types.
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169-fix-rx_missed_errors.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169-fix-rx_missed_errors.patch
@@ -0,0 +1,89 @@
+Backported to 2.6.26 from:
+
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Wed, 10 Sep 2008 22:28:56 +0200
+Subject: [PATCH] r8169: fix RxMissed register access
+
+- the register is defined for the 8169 chipset only and there is
+  no 8169 beyond RTL_GIGA_MAC_VER_06.
+- only the lower 3 bytes of the register are valid
+
+Fixes:
+1. http://bugzilla.kernel.org/show_bug.cgi?id=10180
+2. http://bugzilla.kernel.org/show_bug.cgi?id=11062 (bits of)
+
+Tested by Hermann Gausterer and Adam Huffman.
+
+Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
+Cc: Edward Hsu <edward_hsu@realtek.com.tw>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+---
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -2122,8 +2122,6 @@ static void rtl_hw_start_8168(struct net_device *dev)
+ 
+ 	RTL_R8(IntrMask);
+ 
+-	RTL_W32(RxMissed, 0);
+-
+ 	rtl_set_rx_mode(dev);
+ 
+ 	RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb);
+@@ -2166,8 +2166,6 @@ static void rtl_hw_start_8101(struct net_device *dev)
+ 
+ 	RTL_R8(IntrMask);
+ 
+-	RTL_W32(RxMissed, 0);
+-
+ 	rtl_set_rx_mode(dev);
+ 
+ 	RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb);
+@@ -2978,6 +2974,17 @@ static int rtl8169_poll(struct napi_struct *napi, int budget)
+ }
+ #endif
+ 
++static void rtl8169_rx_missed(struct net_device *dev, void __iomem *ioaddr)
++{
++	struct rtl8169_private *tp = netdev_priv(dev);
++
++	if (tp->mac_version > RTL_GIGA_MAC_VER_06)
++		return;
++
++	dev->stats.rx_missed_errors += (RTL_R32(RxMissed) & 0xffffff);
++	RTL_W32(RxMissed, 0);
++}
++
+ static void rtl8169_down(struct net_device *dev)
+ {
+ 	struct rtl8169_private *tp = netdev_priv(dev);
+@@ -2997,9 +3006,7 @@ core_down:
+ 
+ 	rtl8169_asic_down(ioaddr);
+ 
+-	/* Update the error counts. */
+-	dev->stats.rx_missed_errors += RTL_R32(RxMissed);
+-	RTL_W32(RxMissed, 0);
++	rtl8169_rx_missed(dev, ioaddr);
+ 
+ 	spin_unlock_irq(&tp->lock);
+ 
+@@ -3121,8 +3126,7 @@ static struct net_device_stats *rtl8169_get_stats(struct net_device *dev)
+ 
+ 	if (netif_running(dev)) {
+ 		spin_lock_irqsave(&tp->lock, flags);
+-		dev->stats.rx_missed_errors += RTL_R32(RxMissed);
+-		RTL_W32(RxMissed, 0);
++		rtl8169_rx_missed(dev, ioaddr);
+ 		spin_unlock_irqrestore(&tp->lock, flags);
+ 	}
+ 
+@@ -3147,8 +3151,7 @@ static int rtl8169_suspend(struct pci_dev *pdev, pm_message_t state)
+ 
+ 	rtl8169_asic_down(ioaddr);
+ 
+-	dev->stats.rx_missed_errors += RTL_R32(RxMissed);
+-	RTL_W32(RxMissed, 0);
++	rtl8169_rx_missed(dev, ioaddr);
+ 
+ 	spin_unlock_irq(&tp->lock);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/rtc-ds1286-include.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/rtc-ds1286-include.patch
@@ -0,0 +1,51 @@
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+Date: Thu, 16 Oct 2008 07:28:47 +0000 (+0200)
+Subject: rtc: rtc-ds1286 and rtc-m48t35 need <linux/io.h>
+X-Git-Tag: v2.6.28-rc1~290
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=d7a6119f457f48a94985fdbdc400cbb03e136a76
+
+rtc: rtc-ds1286 and rtc-m48t35 need <linux/io.h>
+
+With m68k allmodconfig, I get:
+
+| drivers/rtc/rtc-ds1286.c: In function 'ds1286_rtc_read':
+| drivers/rtc/rtc-ds1286.c:33: error: implicit declaration of function '__raw_readl'
+| drivers/rtc/rtc-ds1286.c: In function 'ds1286_rtc_write':
+| drivers/rtc/rtc-ds1286.c:38: error: implicit declaration of function '__raw_writel'
+| drivers/rtc/rtc-ds1286.c: In function 'ds1286_probe':
+| drivers/rtc/rtc-ds1286.c:345: error: implicit declaration of function 'ioremap'
+| drivers/rtc/rtc-ds1286.c:345: warning: assignment makes pointer from integer without a cast
+| drivers/rtc/rtc-ds1286.c:365: error: implicit declaration of function 'iounmap'
+
+and
+
+| drivers/rtc/rtc-m48t35.c: In function 'm48t35_read_time':
+| drivers/rtc/rtc-m48t35.c:59: error: implicit declaration of function 'readb'
+| drivers/rtc/rtc-m48t35.c:60: error: implicit declaration of function 'writeb'
+| drivers/rtc/rtc-m48t35.c: In function 'm48t35_probe':
+| drivers/rtc/rtc-m48t35.c:168: error: implicit declaration of function 'ioremap'
+| drivers/rtc/rtc-m48t35.c:168: warning: assignment makes pointer from integer without a cast
+| drivers/rtc/rtc-m48t35.c:188: error: implicit declaration of function 'iounmap'
+
+Include <linux/io.h> to get access to the I/O API.
+
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+
+diff --git a/drivers/rtc/rtc-ds1286.c b/drivers/rtc/rtc-ds1286.c
+index 4b4c1b6..4fcb16b 100644
+--- a/drivers/rtc/rtc-ds1286.c
++++ b/drivers/rtc/rtc-ds1286.c
+@@ -17,6 +17,7 @@
+ #include <linux/platform_device.h>
+ #include <linux/bcd.h>
+ #include <linux/ds1286.h>
++#include <linux/io.h>
+ 
+ #define DRV_VERSION		"1.0"
+ 
+
+[ rtc-m48t35.c patch removed since that's not in 2.6.26 -- tbm ]
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169-fix-crash-when-large-packets-are-received.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169-fix-crash-when-large-packets-are-received.patch
@@ -0,0 +1,81 @@
+commit fdd7b4c3302c93f6833e338903ea77245eb510b4
+Author: Eric Dumazet <eric.dumazet@gmail.com>
+Date:   Tue Jun 9 04:01:02 2009 -0700
+
+    r8169: fix crash when large packets are received
+    
+    Michael Tokarev reported receiving a large packet could crash
+    a machine with RTL8169 NIC.
+    ( original thread at http://lkml.org/lkml/2009/6/8/192 )
+    
+    Problem is this driver tells that NIC frames up to 16383 bytes
+    can be received but provides skb to rx ring allocated with
+    smaller sizes (1536 bytes in case standard 1500 bytes MTU is used)
+    
+    When a frame larger than what was allocated by driver is received,
+    dma transfert can occurs past the end of buffer and corrupt
+    kernel memory.
+    
+    Fix is to tell to NIC what is the maximum size a frame can be.
+    
+    This bug is very old, (before git introduction, linux-2.6.10), and
+    should be backported to stable versions.
+    
+    Reported-by: Michael Tokarev <mjt@tls.msk.ru>
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Tested-by: Michael Tokarev <mjt@tls.msk.ru>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/net/r8169.c linux-source-2.6.26/drivers/net/r8169.c
+--- linux-source-2.6.26.orig/drivers/net/r8169.c	2009-05-11 12:06:52.000000000 -0600
++++ linux-source-2.6.26/drivers/net/r8169.c	2009-06-09 08:44:34.000000000 -0600
+@@ -81,7 +81,6 @@ static const int multicast_filter_limit 
+ #define RX_DMA_BURST	6	/* Maximum PCI burst, '6' is 1024 */
+ #define TX_DMA_BURST	6	/* Maximum PCI burst, '6' is 1024 */
+ #define EarlyTxThld	0x3F	/* 0x3F means NO early transmit */
+-#define RxPacketMaxSize	0x3FE8	/* 16K - 1 - ETH_HLEN - VLAN - CRC... */
+ #define SafeMtu		0x1c20	/* ... actually life sucks beyond ~7k */
+ #define InterFrameGap	0x03	/* 3 means InterFrameGap = the shortest one */
+ 
+@@ -1982,10 +1981,10 @@ static u16 rtl_rw_cpluscmd(void __iomem 
+ 	return cmd;
+ }
+ 
+-static void rtl_set_rx_max_size(void __iomem *ioaddr)
++static void rtl_set_rx_max_size(void __iomem *ioaddr, unsigned int rx_buf_sz)
+ {
+ 	/* Low hurts. Let's disable the filtering. */
+-	RTL_W16(RxMaxSize, 16383);
++	RTL_W16(RxMaxSize, rx_buf_sz);
+ }
+ 
+ static void rtl8169_set_magic_reg(void __iomem *ioaddr, unsigned mac_version)
+@@ -2032,7 +2031,7 @@ static void rtl_hw_start_8169(struct net
+ 
+ 	RTL_W8(EarlyTxThres, EarlyTxThld);
+ 
+-	rtl_set_rx_max_size(ioaddr);
++	rtl_set_rx_max_size(ioaddr, tp->rx_buf_sz);
+ 
+ 	if ((tp->mac_version == RTL_GIGA_MAC_VER_01) ||
+ 	    (tp->mac_version == RTL_GIGA_MAC_VER_02) ||
+@@ -2096,7 +2095,7 @@ static void rtl_hw_start_8168(struct net
+ 
+ 	RTL_W8(EarlyTxThres, EarlyTxThld);
+ 
+-	rtl_set_rx_max_size(ioaddr);
++	rtl_set_rx_max_size(ioaddr, tp->rx_buf_sz);
+ 
+ 	rtl_set_rx_tx_config_registers(tp);
+ 
+@@ -2150,7 +2149,7 @@ static void rtl_hw_start_8101(struct net
+ 
+ 	RTL_W8(EarlyTxThres, EarlyTxThld);
+ 
+-	rtl_set_rx_max_size(ioaddr);
++	rtl_set_rx_max_size(ioaddr, tp->rx_buf_sz);
+ 
+ 	tp->cp_cmd |= rtl_rw_cpluscmd(ioaddr) | PCIMulRW;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/r8169-use-hardware-auto-padding.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/r8169-use-hardware-auto-padding.patch
@@ -0,0 +1,39 @@
+commit 97d477a914b146e7e6722ded21afa79886ae8ccd
+Author: françois romieu <romieu@fr.zoreil.com>
+Date:   Sun Mar 15 01:09:54 2009 +0000
+
+    r8169: use hardware auto-padding.
+    
+    It shortens the code and fixes the current pci_unmap leak with
+    padded skb reported by Dave Jones.
+    
+    Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/net/r8169.c linux-source-2.6.26/drivers/net/r8169.c
+--- linux-source-2.6.26.orig/drivers/net/r8169.c	2009-08-18 23:15:14.000000000 -0600
++++ linux-source-2.6.26/drivers/net/r8169.c	2009-10-16 16:21:15.000000000 -0600
+@@ -2565,13 +2565,6 @@ static int rtl8169_start_xmit(struct sk_
+ 		opts1 |= FirstFrag;
+ 	} else {
+ 		len = skb->len;
+-
+-		if (unlikely(len < ETH_ZLEN)) {
+-			if (skb_padto(skb, ETH_ZLEN))
+-				goto err_update_stats;
+-			len = ETH_ZLEN;
+-		}
+-
+ 		opts1 |= FirstFrag | LastFrag;
+ 		tp->tx_skb[entry].skb = skb;
+ 	}
+@@ -2609,7 +2602,6 @@ out:
+ err_stop:
+ 	netif_stop_queue(dev);
+ 	ret = NETDEV_TX_BUSY;
+-err_update_stats:
+ 	dev->stats.tx_dropped++;
+ 	goto out;
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/rt2500usb-disable-link-tuning.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/rt2500usb-disable-link-tuning.patch
@@ -0,0 +1,64 @@
+commit d06193f311102b2c990ec5f66b470ea49ecc73a4
+Author: Ivo van Doorn <IvDoorn@gmail.com>
+Date:   Sun Aug 3 23:36:01 2008 +0200
+
+    rt2x00: Disable link tuning in rt2500usb
+    
+    In the legacy rt2570 driver the link tuner was never
+    really called. And now the reason has finally become
+    apparent: It breaks TX capabilities
+    
+    As soon as the device has been associated all following
+    TX frames will be queued in the hardware and never transmitted
+    to the air. Disabling sections of the link tuner did not
+    have the expected result, but completely disabling the
+    link tuner did have the right result (Both of my rt2570 devices
+    came back to life).
+    
+    This should fix Fedora bug: 411481
+    
+    v2: Fix typos
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+    Signed-off-by: John W. Linville <linville@tuxdriver.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/net/wireless/rt2x00/rt2500usb.c linux-source-2.6.26/drivers/net/wireless/rt2x00/rt2500usb.c
+--- linux-source-2.6.26.orig/drivers/net/wireless/rt2x00/rt2500usb.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/net/wireless/rt2x00/rt2500usb.c	2009-01-04 21:33:49.000000000 -0700
+@@ -622,6 +622,16 @@ static void rt2500usb_reset_tuner(struct
+ 	rt2x00dev->link.vgc_level = value;
+ }
+ 
++/*
++ * NOTE: This function is directly ported from legacy driver, but
++ * despite it being declared it was never called. Although link tuning
++ * sounds like a good idea, and usually works well for the other drivers,
++ * it does _not_ work with rt2500usb. Enabling this function will result
++ * in TX capabilities only until association kicks in. Immediately
++ * after the successful association all TX frames will be kept in the
++ * hardware queue and never transmitted.
++ */
++#if 0
+ static void rt2500usb_link_tuner(struct rt2x00_dev *rt2x00dev)
+ {
+ 	int rssi = rt2x00_get_link_rssi(&rt2x00dev->link);
+@@ -741,6 +751,9 @@ dynamic_cca_tune:
+ 		rt2x00dev->link.vgc_level = r17;
+ 	}
+ }
++#else
++#define rt2500usb_link_tuner	NULL
++#endif
+ 
+ /*
+  * Initialization functions.
+@@ -1675,6 +1688,7 @@ static int rt2500usb_probe_hw(struct rt2
+ 	__set_bit(DRIVER_REQUIRE_ATIM_QUEUE, &rt2x00dev->flags);
+ 	__set_bit(DRIVER_REQUIRE_BEACON_GUARD, &rt2x00dev->flags);
+ 	__set_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags);
++	__set_bit(CONFIG_DISABLE_LINK_TUNING, &rt2x00dev->flags);
+ 
+ 	/*
+ 	 * Set the rssi offset.
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/random-make-get_random_int-more-random.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/random-make-get_random_int-more-random.patch
@@ -0,0 +1,65 @@
+commit 8a0a9bd4db63bc45e3017bedeafbd88d0eb84d02
+Author: Linus Torvalds <torvalds@linux-foundation.org>
+Date:   Tue May 5 08:17:43 2009 -0700
+
+    random: make get_random_int() more random
+    
+    It's a really simple patch that basically just open-codes the current
+    "secure_ip_id()" call, but when open-coding it we now use a _static_
+    hashing area, so that it gets updated every time.
+    
+    And to make sure somebody can't just start from the same original seed of
+    all-zeroes, and then do the "half_md4_transform()" over and over until
+    they get the same sequence as the kernel has, each iteration also mixes in
+    the same old "current->pid + jiffies" we used - so we should now have a
+    regular strong pseudo-number generator, but we also have one that doesn't
+    have a single seed.
+    
+    Note: the "pid + jiffies" is just meant to be a tiny tiny bit of noise. It
+    has no real meaning. It could be anything. I just picked the previous
+    seed, it's just that now we keep the state in between calls and that will
+    feed into the next result, and that should make all the difference.
+    
+    I made that hash be a per-cpu data just to avoid cache-line ping-pong:
+    having multiple CPU's write to the same data would be fine for randomness,
+    and add yet another layer of chaos to it, but since get_random_int() is
+    supposed to be a fast interface I did it that way instead. I considered
+    using "__raw_get_cpu_var()" to avoid any preemption overhead while still
+    getting the hash be _mostly_ ping-pong free, but in the end good taste won
+    out.
+    
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/drivers/char/random.c b/drivers/char/random.c
+index f824ef8..b2ced39 100644
+--- a/drivers/char/random.c
++++ b/drivers/char/random.c
+@@ -1665,15 +1665,20 @@ EXPORT_SYMBOL(secure_dccp_sequence_number);
+  * value is not cryptographically secure but for several uses the cost of
+  * depleting entropy is too high
+  */
++DEFINE_PER_CPU(__u32 [4], get_random_int_hash);
+ unsigned int get_random_int(void)
+ {
+-	/*
+-	 * Use IP's RNG. It suits our purpose perfectly: it re-keys itself
+-	 * every second, from the entropy pool (and thus creates a limited
+-	 * drain on it), and uses halfMD4Transform within the second. We
+-	 * also mix it with jiffies and the PID:
+-	 */
+-	return secure_ip_id((__force __be32)(current->pid + jiffies));
++	struct keydata *keyptr;
++	__u32 *hash = get_cpu_var(get_random_int_hash);
++	int ret;
++
++	keyptr = get_keyptr();
++	hash[0] += current->pid + jiffies + get_cycles() + (int)(long)&ret;
++
++	ret = half_md4_transform(hash, keyptr->secret);
++	put_cpu_var(get_random_int_hash);
++
++	return ret;
+ }
+ 
+ /*
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/rose-fix-rose_getname-leak.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/rose-fix-rose_getname-leak.patch
@@ -0,0 +1,23 @@
+commit 17ac2e9c58b69a1e25460a568eae1b0dc0188c25
+Author: Eric Dumazet <eric.dumazet@gmail.com>
+Date:   Thu Aug 6 03:34:06 2009 +0000
+
+    rose: Fix rose_getname() leak
+    
+    rose_getname() can leak kernel memory to user.
+    
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
+index f0a76f6..e5f478c 100644
+--- a/net/rose/af_rose.c
++++ b/net/rose/af_rose.c
+@@ -954,6 +954,7 @@ static int rose_getname(struct socket *sock, struct sockaddr *uaddr,
+ 	struct rose_sock *rose = rose_sk(sk);
+ 	int n;
+ 
++	memset(srose, 0, sizeof(*srose));
+ 	if (peer != 0) {
+ 		if (sk->sk_state != TCP_ESTABLISHED)
+ 			return -ENOTCONN;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sis190-correct-dma-sync-small-packets.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sis190-correct-dma-sync-small-packets.patch
@@ -0,0 +1,35 @@
+From 744c6b2976778ac6944e580fc413842df85be84e Mon Sep 17 00:00:00 2001
+From: Riccardo Ghetta <birrachiara@tin.it>
+Date: Sun, 7 Jun 2009 19:47:58 +0000
+Subject: [PATCH] sis190: fix for x86_64 (bug 11509)
+
+Corrected dma sync handling on small packets. Should fix
+http://bugzilla.kernel.org/show_bug.cgi?id=11509
+Note:
+While this bug was reported only on x86_64, it could have affected
+any architecture.
+
+Signed-off-by: Riccardo Ghetta <birrachiara@tin.it>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/sis190.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
+index 13b8ca4..9ea13c0 100644
+--- a/drivers/net/sis190.c
++++ b/drivers/net/sis190.c
+@@ -539,8 +539,8 @@ static bool sis190_try_rx_copy(struct sis190_private *tp,
+ 	if (!skb)
+ 		goto out;
+ 
+-	pci_dma_sync_single_for_device(tp->pci_dev, addr, pkt_size,
+-				       PCI_DMA_FROMDEVICE);
++	pci_dma_sync_single_for_cpu(tp->pci_dev, addr, tp->rx_buf_sz,
++				PCI_DMA_FROMDEVICE);
+ 	skb_reserve(skb, 2);
+ 	skb_copy_to_linear_data(skb, sk_buff[0]->data, pkt_size);
+ 	*sk_buff = skb;
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/rt2x00-fix-vgc-lower-bounc-init.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/rt2x00-fix-vgc-lower-bounc-init.patch
@@ -0,0 +1,42 @@
+From: Ivo van Doorn <ivdoorn@gmail.com>
+Date: Mon, 28 Jul 2008 08:20:12 +0000 (+0200)
+Subject: rt2x00: Fix VGC lower bound initialization
+X-Git-Tag: v2.6.27-rc2~2^2~24^2~7
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=8d8acd46fb7e962ac04baef5a118d431fae6b0f6
+
+rt2x00: Fix VGC lower bound initialization
+
+When the EEPROM_BBPTUNE_VGC word is valid, we should
+override EEPROM_BBPTUNE_VGCLOWER field with the BBP
+value.
+
+And we should _not_ do that when EEPROM_BBPTUNE_R17 is valid.
+
+Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+---
+
+diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
+index 3078417..c6f6eb6 100644
+--- a/drivers/net/wireless/rt2x00/rt2500usb.c
++++ b/drivers/net/wireless/rt2x00/rt2500usb.c
+@@ -1376,6 +1376,9 @@ static int rt2500usb_validate_eeprom(struct rt2x00_dev *rt2x00dev)
+ 		rt2x00_set_field16(&word, EEPROM_BBPTUNE_VGCLOWER, bbp);
+ 		rt2x00_eeprom_write(rt2x00dev, EEPROM_BBPTUNE_VGC, word);
+ 		EEPROM(rt2x00dev, "BBPtune vgc: 0x%04x\n", word);
++	} else {
++		rt2x00_set_field16(&word, EEPROM_BBPTUNE_VGCLOWER, bbp);
++		rt2x00_eeprom_write(rt2x00dev, EEPROM_BBPTUNE_VGC, word);
+ 	}
+ 
+ 	rt2x00_eeprom_read(rt2x00dev, EEPROM_BBPTUNE_R17, &word);
+@@ -1384,9 +1387,6 @@ static int rt2500usb_validate_eeprom(struct rt2x00_dev *rt2x00dev)
+ 		rt2x00_set_field16(&word, EEPROM_BBPTUNE_R17_HIGH, 0x41);
+ 		rt2x00_eeprom_write(rt2x00dev, EEPROM_BBPTUNE_R17, word);
+ 		EEPROM(rt2x00dev, "BBPtune r17: 0x%04x\n", word);
+-	} else {
+-		rt2x00_set_field16(&word, EEPROM_BBPTUNE_VGCLOWER, bbp);
+-		rt2x00_eeprom_write(rt2x00dev, EEPROM_BBPTUNE_VGC, word);
+ 	}
+ 
+ 	rt2x00_eeprom_read(rt2x00dev, EEPROM_BBPTUNE_R24, &word);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sanitise-linux-socket-h.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sanitise-linux-socket-h.patch
@@ -0,0 +1,71 @@
+Subject: [PATCH] net: Support inclusion of <linux/socket.h> before <sys/socket.h>
+From: Ben Hutchings <ben@decadent.org.uk>
+Author: Bastian Blank <waldi@debian.org>
+
+The following user-space program fails to compile:
+
+    #include <linux/socket.h>
+    #include <sys/socket.h>
+    int main() { return 0; }
+
+The reason is that <linux/socket.h> tests __GLIBC__ to decide whether it
+should define various structures and macros that are now defined for
+user-space by <sys/socket.h>, but __GLIBC__ is not defined if no libc
+headers have yet been included.
+
+It seems safe to drop support for libc 5 now.
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Bastian Blank <waldi@debian.org>
+---
+--- a/include/linux/socket.h
++++ b/include/linux/socket.h
+@@ -16,7 +16,7 @@ struct __kernel_sockaddr_storage {
+ 				/* _SS_MAXSIZE value minus size of ss_family */
+ } __attribute__ ((aligned(_K_SS_ALIGNSIZE)));	/* force desired alignment */
+ 
+-#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
++#ifdef __KERNEL__
+ 
+ #include <asm/socket.h>			/* arch-dependent defines	*/
+ #include <linux/sockios.h>		/* the SIOCxxx I/O controls	*/
+@@ -101,21 +101,6 @@ struct cmsghdr {
+ 			      ((char *)(cmsg) - (char *)(mhdr)->msg_control)))
+ 
+ /*
+- *	This mess will go away with glibc
+- */
+- 
+-#ifdef __KERNEL__
+-#define __KINLINE static inline
+-#elif  defined(__GNUC__) 
+-#define __KINLINE static __inline__
+-#elif defined(__cplusplus)
+-#define __KINLINE static inline
+-#else
+-#define __KINLINE static
+-#endif
+-
+-
+-/*
+  *	Get the next cmsg header
+  *
+  *	PLEASE, do not touch this function. If you think, that it is
+@@ -128,7 +113,7 @@ struct cmsghdr {
+  *	ancillary object DATA.				--ANK (980731)
+  */
+  
+-__KINLINE struct cmsghdr * __cmsg_nxthdr(void *__ctl, __kernel_size_t __size,
++static inline struct cmsghdr * __cmsg_nxthdr(void *__ctl, __kernel_size_t __size,
+ 					       struct cmsghdr *__cmsg)
+ {
+ 	struct cmsghdr * __ptr;
+@@ -140,7 +125,7 @@ __KINLINE struct cmsghdr * __cmsg_nxthdr(void *__ctl, __kernel_size_t __size,
+ 	return __ptr;
+ }
+ 
+-__KINLINE struct cmsghdr * cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr *__cmsg)
++static inline struct cmsghdr * cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr *__cmsg)
+ {
+ 	return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg);
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sanitise-linux-uio-h.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sanitise-linux-uio-h.patch
@@ -0,0 +1,66 @@
+From 812ed032cdc8138b7546eecc996879756b92d801 Mon Sep 17 00:00:00 2001
+From: Jiri Slaby <jirislaby@gmail.com>
+Date: Wed, 29 Jul 2009 15:04:19 -0700
+Subject: [PATCH] uio: mark uio.h functions __KERNEL__ only
+
+To avoid userspace build failures such as:
+
+.../linux/uio.h:37: error: expected `=', `,', `;', `asm' or `__attribute__' before `iov_length'
+.../linux/uio.h:47: error: expected declaration specifiers or `...' before `size_t'
+
+move uio functions inside a __KERNEL__ block.
+
+Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
+Acked-by: Sam Ravnborg <sam@ravnborg.org>
+Cc: Alexander Viro <viro@zeniv.linux.org.uk>
+Cc: Christoph Hellwig <hch@infradead.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ include/linux/uio.h |   17 ++++++++---------
+ 1 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/include/linux/uio.h b/include/linux/uio.h
+index b7fe138..98c1143 100644
+--- a/include/linux/uio.h
++++ b/include/linux/uio.h
+@@ -19,15 +19,6 @@ struct iovec
+ 	__kernel_size_t iov_len; /* Must be size_t (1003.1g) */
+ };
+ 
+-#ifdef __KERNEL__
+-
+-struct kvec {
+-	void *iov_base; /* and that should *never* hold a userland pointer */
+-	size_t iov_len;
+-};
+-
+-#endif
+-
+ /*
+  *	UIO_MAXIOV shall be at least 16 1003.1g (5.4.1.1)
+  */
+@@ -35,6 +26,13 @@ struct kvec {
+ #define UIO_FASTIOV	8
+ #define UIO_MAXIOV	1024
+ 
++#ifdef __KERNEL__
++
++struct kvec {
++	void *iov_base; /* and that should *never* hold a userland pointer */
++	size_t iov_len;
++};
++
+ /*
+  * Total number of bytes covered by an iovec.
+  *
+@@ -53,5 +51,6 @@ static inline size_t iov_length(const struct iovec *iov, unsigned long nr_segs)
+ }
+ 
+ unsigned long iov_shorten(struct iovec *iov, unsigned long nr_segs, size_t to);
++#endif
+ 
+ #endif
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sata_mv-add_gen_iie_flag.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sata_mv-add_gen_iie_flag.patch
@@ -0,0 +1,35 @@
+From: Saeed Bishara <saeed@marvell.com>
+Subject: [PATCH] sata_mv: add the Gen IIE flag to the SoC devices.
+Date: Mon,  4 Aug 2008 00:52:55 -1100
+To: liml@rtr.ca, linux-ide@vger.kernel.org, jeff@garzik.org
+Cc: buytenh@marvell.com, Saeed Bishara <saeed@marvell.com>
+
+The SoC sata port is based on the 7042/6042 devices (Gen IIE). This patch
+will fix various issues when working with PMP and/or NCQ.
+
+Signed-off-by: Saeed Bishara <saeed@marvell.com>
+---
+ drivers/ata/sata_mv.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
+index ad169ff..f483067 100644
+--- a/drivers/ata/sata_mv.c
++++ b/drivers/ata/sata_mv.c
+@@ -3036,7 +3036,8 @@ static int mv_chip_id(struct ata_host *host, unsigned int board_idx)
+ 		break;
+ 	case chip_soc:
+ 		hpriv->ops = &mv_soc_ops;
+-		hp_flags |= MV_HP_FLAG_SOC | MV_HP_ERRATA_60X1C0;
++		hp_flags |= MV_HP_FLAG_SOC | MV_HP_GEN_IIE |
++			MV_HP_ERRATA_60X1C0;
+ 		break;
+ 
+ 	default:
+-- 
+1.5.2.5
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-ide" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sata_mv-clear_irq.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sata_mv-clear_irq.patch
@@ -0,0 +1,61 @@
+From: Lennert Buytenhek <buytenh@wantstofly.org>
+Subject: [PATCH,RFC] sata_mv: don't avoid clearing interrupt status on SoC host adapters
+Date: Sun, 24 Aug 2008 05:04:29 +0200
+To: Saeed Bishara <saeed@marvell.com>, linux-ide@vger.kernel.org
+Cc: Mark Lord <liml@rtr.ca>, Jeff Garzik <jeff@garzik.org>
+
+For some reason, sata_mv doesn't clear interrupt status during init
+when it's running on an SoC host adapter.  If the bootloader has
+touched the SATA controller before starting Linux, Linux can end up
+enabling the SATA interrupt with events pending, which will cause the
+interrupt to be marked as spurious and then be disabled, which then
+breaks all further accesses to the controller.
+
+This patch makes the SoC path clear interrupt status on init like in
+the non-SoC case.
+
+Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
+---
+ drivers/ata/sata_mv.c |   21 ++++++++++-----------
+ 1 files changed, 10 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
+index ad169ff..e829a3a 100644
+--- a/drivers/ata/sata_mv.c
++++ b/drivers/ata/sata_mv.c
+@@ -3131,19 +3131,18 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
+ 		writelfl(0, hc_mmio + HC_IRQ_CAUSE_OFS);
+ 	}
+ 
+-	if (!IS_SOC(hpriv)) {
+-		/* Clear any currently outstanding host interrupt conditions */
+-		writelfl(0, mmio + hpriv->irq_cause_ofs);
++	/* Clear any currently outstanding host interrupt conditions */
++	writelfl(0, mmio + hpriv->irq_cause_ofs);
+ 
+-		/* and unmask interrupt generation for host regs */
+-		writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs);
++	/* and unmask interrupt generation for host regs */
++	writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs);
++
++	/*
++	 * enable only global host interrupts for now.
++	 * The per-port interrupts get done later as ports are set up.
++	 */
++	mv_set_main_irq_mask(host, 0, PCI_ERR);
+ 
+-		/*
+-		 * enable only global host interrupts for now.
+-		 * The per-port interrupts get done later as ports are set up.
+-		 */
+-		mv_set_main_irq_mask(host, 0, PCI_ERR);
+-	}
+ done:
+ 	return rc;
+ }
+-- 
+1.5.6.4
+--
+To unsubscribe from this list: send the line "unsubscribe linux-ide" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sata_mv-fix-8-port-timeouts.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sata_mv-fix-8-port-timeouts.patch
@@ -0,0 +1,30 @@
+From: Mark Lord <liml@rtr.ca>
+Date: Mon, 19 Jan 2009 23:04:37 +0000 (-0500)
+Subject: sata_mv: fix 8-port timeouts on 508x/6081 chips
+X-Git-Tag: v2.6.29-rc3~13^2~7
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=b0bccb18bc523d1d5060d25958f12438062829a9
+
+sata_mv: fix 8-port timeouts on 508x/6081 chips
+
+Fix a longstanding bug for the 8-port Marvell Sata controllers (508x/6081),
+where accesses to the upper 4 ports would cause lost-interrupts / timeouts
+for the lower 4-ports.  With this patch, the 6081 boards should finally be
+reliable enough for mainstream use with Linux.
+
+Signed-off-by: Mark Lord <mlord@pobox.com>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+---
+
+diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
+index 8691863..ce9d6ad 100644
+--- a/drivers/ata/sata_mv.c
++++ b/drivers/ata/sata_mv.c
+@@ -883,7 +883,7 @@ static void mv_start_dma(struct ata_port *ap, void __iomem *port_mmio,
+ 		struct mv_host_priv *hpriv = ap->host->private_data;
+ 		int hardport = mv_hardport_from_port(ap->port_no);
+ 		void __iomem *hc_mmio = mv_hc_base_from_port(
+-					mv_host_base(ap->host), hardport);
++					mv_host_base(ap->host), ap->port_no);
+ 		u32 hc_irq_cause, ipending;
+ 
+ 		/* clear EDMA event indicators, if any */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sata_mv-init-main-irq-mask.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sata_mv-init-main-irq-mask.patch
@@ -0,0 +1,53 @@
+From: Thomas Reitmayr <treitmayr@devbase.at>
+Date: Sat, 24 Jan 2009 19:24:58 +0000 (+0100)
+Subject: sata_mv: Properly initialize main irq mask
+X-Git-Tag: v2.6.29-rc3~13^2~4
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=5d0fb2e730e2085021cf5c8b6d14983e92aea75b
+
+sata_mv: Properly initialize main irq mask
+
+I noticed that during initialization sata_mv.c assumes that the main
+interrupt mask has its default value of 0. The function
+mv_platform_probe(..) initializes a shadow irq mask with 0 assuming
+that's the value of the controller's register. Now
+mv_set_main_irq_mask(..) only writes the controller's register if the
+new value differs from the "shadowed" value. This is fatal when trying
+to disable all interrupts in mv_init_host(..), i.e. the following
+function call does not write anything to the main irq mask register:
+
+  mv_set_main_irq_mask(host, ~0, 0);
+
+The effect I see on my machine (QNAP TS-109 II) with booting via kexec
+(with Linux as a 2nd-stage boot loader) is that if the sata_mv module
+was still loaded when performing kexec, then the new kernel's sata_mv
+module starts up with interrupts enabled. This results in an unhandled
+IRQ and breaks the boot process.
+
+The unhandled interrupt itself might also be fixed by Lennert's patch
+proposed at http://markmail.org/message/kwvzxstnlsa3s26w which I did not
+try yet.
+
+However I still propose to additionally initialize the shadow variable
+with the current contents of the main irq mask register to get both in
+sync and allow proper disabling the main irq mask. This fixes the
+unhandled irq on my machine.
+
+Signed-off-by: Thomas Reitmayr <treitmayr@devbase.at>
+Signed-off-by: Mark Lord <mlord@pobox.com>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+---
+
+diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
+index 874b60b..9e9fb95 100644
+--- a/drivers/ata/sata_mv.c
++++ b/drivers/ata/sata_mv.c
+@@ -3059,6 +3059,9 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
+ 		hpriv->main_irq_mask_addr  = mmio + PCI_HC_MAIN_IRQ_MASK_OFS;
+ 	}
+ 
++	/* initialize shadow irq mask with register's value */
++	hpriv->main_irq_mask = readl(hpriv->main_irq_mask_addr);
++
+ 	/* global interrupt mask: 0 == mask everything */
+ 	mv_set_main_irq_mask(host, ~0, 0);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sctp-avoid-memory-overflow.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sctp-avoid-memory-overflow.patch
@@ -0,0 +1,74 @@
+commit 9fcb95a105758b81ef0131cd18e2db5149f13e95
+Author: Wei Yongjun <yjwei@cn.fujitsu.com>
+Date:   Thu Dec 25 16:58:11 2008 -0800
+
+    sctp: Avoid memory overflow while FWD-TSN chunk is received with bad stream ID
+    
+    If FWD-TSN chunk is received with bad stream ID, the sctp will not do the
+    validity check, this may cause memory overflow when overwrite the TSN of
+    the stream ID.
+    
+    The FORWARD-TSN chunk is like this:
+    
+    FORWARD-TSN chunk
+      Type                       = 192
+      Flags                      = 0
+      Length                     = 172
+      NewTSN                     = 99
+      Stream                     = 10000
+      StreamSequence             = 0xFFFF
+    
+    This patch fix this problem by discard the chunk if stream ID is not
+    less than MIS.
+    
+    Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
+    Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/net/sctp/sm_statefuns.c linux-source-2.6.26/net/sctp/sm_statefuns.c
+--- linux-source-2.6.26.orig/net/sctp/sm_statefuns.c	2009-01-10 05:42:12.000000000 -0700
++++ linux-source-2.6.26/net/sctp/sm_statefuns.c	2009-01-19 16:37:09.000000000 -0700
+@@ -3641,6 +3641,7 @@ sctp_disposition_t sctp_sf_eat_fwd_tsn(c
+ {
+ 	struct sctp_chunk *chunk = arg;
+ 	struct sctp_fwdtsn_hdr *fwdtsn_hdr;
++	struct sctp_fwdtsn_skip *skip;
+ 	__u16 len;
+ 	__u32 tsn;
+ 
+@@ -3670,6 +3671,12 @@ sctp_disposition_t sctp_sf_eat_fwd_tsn(c
+ 	if (sctp_tsnmap_check(&asoc->peer.tsn_map, tsn) < 0)
+ 		goto discard_noforce;
+ 
++	/* Silently discard the chunk if stream-id is not valid */
++	sctp_walk_fwdtsn(skip, chunk) {
++		if (ntohs(skip->stream) >= asoc->c.sinit_max_instreams)
++			goto discard_noforce;
++	}
++
+ 	sctp_add_cmd_sf(commands, SCTP_CMD_REPORT_FWDTSN, SCTP_U32(tsn));
+ 	if (len > sizeof(struct sctp_fwdtsn_hdr))
+ 		sctp_add_cmd_sf(commands, SCTP_CMD_PROCESS_FWDTSN,
+@@ -3701,6 +3708,7 @@ sctp_disposition_t sctp_sf_eat_fwd_tsn_f
+ {
+ 	struct sctp_chunk *chunk = arg;
+ 	struct sctp_fwdtsn_hdr *fwdtsn_hdr;
++	struct sctp_fwdtsn_skip *skip;
+ 	__u16 len;
+ 	__u32 tsn;
+ 
+@@ -3730,6 +3738,12 @@ sctp_disposition_t sctp_sf_eat_fwd_tsn_f
+ 	if (sctp_tsnmap_check(&asoc->peer.tsn_map, tsn) < 0)
+ 		goto gen_shutdown;
+ 
++	/* Silently discard the chunk if stream-id is not valid */
++	sctp_walk_fwdtsn(skip, chunk) {
++		if (ntohs(skip->stream) >= asoc->c.sinit_max_instreams)
++			goto gen_shutdown;
++	}
++
+ 	sctp_add_cmd_sf(commands, SCTP_CMD_REPORT_FWDTSN, SCTP_U32(tsn));
+ 	if (len > sizeof(struct sctp_fwdtsn_hdr))
+ 		sctp_add_cmd_sf(commands, SCTP_CMD_PROCESS_FWDTSN,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/seccomp-fix-32+64-syscall-hole.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/seccomp-fix-32+64-syscall-hole.patch
@@ -0,0 +1,214 @@
+commit 5b1017404aea6d2e552e991b3fd814d839e9cd67
+Author: Roland McGrath <roland@redhat.com>
+Date:   Fri Feb 27 23:25:54 2009 -0800
+
+    x86-64: seccomp: fix 32/64 syscall hole
+    
+    On x86-64, a 32-bit process (TIF_IA32) can switch to 64-bit mode with
+    ljmp, and then use the "syscall" instruction to make a 64-bit system
+    call.  A 64-bit process make a 32-bit system call with int $0x80.
+    
+    In both these cases under CONFIG_SECCOMP=y, secure_computing() will use
+    the wrong system call number table.  The fix is simple: test TS_COMPAT
+    instead of TIF_IA32.  Here is an example exploit:
+    
+    	/* test case for seccomp circumvention on x86-64
+    
+    	   There are two failure modes: compile with -m64 or compile with -m32.
+    
+    	   The -m64 case is the worst one, because it does "chmod 777 ." (could
+    	   be any chmod call).  The -m32 case demonstrates it was able to do
+    	   stat(), which can glean information but not harm anything directly.
+    
+    	   A buggy kernel will let the test do something, print, and exit 1; a
+    	   fixed kernel will make it exit with SIGKILL before it does anything.
+    	*/
+    
+    	#define _GNU_SOURCE
+    	#include <assert.h>
+    	#include <inttypes.h>
+    	#include <stdio.h>
+    	#include <linux/prctl.h>
+    	#include <sys/stat.h>
+    	#include <unistd.h>
+    	#include <asm/unistd.h>
+    
+    	int
+    	main (int argc, char **argv)
+    	{
+    	  char buf[100];
+    	  static const char dot[] = ".";
+    	  long ret;
+    	  unsigned st[24];
+    
+    	  if (prctl (PR_SET_SECCOMP, 1, 0, 0, 0) != 0)
+    	    perror ("prctl(PR_SET_SECCOMP) -- not compiled into kernel?");
+    
+    	#ifdef __x86_64__
+    	  assert ((uintptr_t) dot < (1UL << 32));
+    	  asm ("int $0x80 # %0 <- %1(%2 %3)"
+    	       : "=a" (ret) : "0" (15), "b" (dot), "c" (0777));
+    	  ret = snprintf (buf, sizeof buf,
+    			  "result %ld (check mode on .!)\n", ret);
+    	#elif defined __i386__
+    	  asm (".code32\n"
+    	       "pushl %%cs\n"
+    	       "pushl $2f\n"
+    	       "ljmpl $0x33, $1f\n"
+    	       ".code64\n"
+    	       "1: syscall # %0 <- %1(%2 %3)\n"
+    	       "lretl\n"
+    	       ".code32\n"
+    	       "2:"
+    	       : "=a" (ret) : "0" (4), "D" (dot), "S" (&st));
+    	  if (ret == 0)
+    	    ret = snprintf (buf, sizeof buf,
+    			    "stat . -> st_uid=%u\n", st[7]);
+    	  else
+    	    ret = snprintf (buf, sizeof buf, "result %ld\n", ret);
+    	#else
+    	# error "not this one"
+    	#endif
+    
+    	  write (1, buf, ret);
+    
+    	  syscall (__NR_exit, 1);
+    	  return 2;
+    	}
+    
+    Signed-off-by: Roland McGrath <roland@redhat.com>
+    [ I don't know if anybody actually uses seccomp, but it's enabled in
+      at least both Fedora and SuSE kernels, so maybe somebody is. - Linus ]
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/asm-mips/seccomp.h linux-source-2.6.26/include/asm-mips/seccomp.h
+--- linux-source-2.6.26.orig/include/asm-mips/seccomp.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-mips/seccomp.h	2009-04-04 11:43:34.000000000 -0600
+@@ -1,6 +1,5 @@
+ #ifndef __ASM_SECCOMP_H
+ 
+-#include <linux/thread_info.h>
+ #include <linux/unistd.h>
+ 
+ #define __NR_seccomp_read __NR_read
+diff -urpN linux-source-2.6.26.orig/include/asm-powerpc/compat.h linux-source-2.6.26/include/asm-powerpc/compat.h
+--- linux-source-2.6.26.orig/include/asm-powerpc/compat.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-powerpc/compat.h	2009-04-04 11:43:34.000000000 -0600
+@@ -210,5 +210,10 @@ struct compat_shmid64_ds {
+ 	compat_ulong_t __unused6;
+ };
+ 
++static inline int is_compat_task(void)
++{
++	return test_thread_flag(TIF_32BIT);
++}
++
+ #endif /* __KERNEL__ */
+ #endif /* _ASM_POWERPC_COMPAT_H */
+diff -urpN linux-source-2.6.26.orig/include/asm-powerpc/seccomp.h linux-source-2.6.26/include/asm-powerpc/seccomp.h
+--- linux-source-2.6.26.orig/include/asm-powerpc/seccomp.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-powerpc/seccomp.h	2009-04-04 11:43:33.000000000 -0600
+@@ -1,10 +1,6 @@
+ #ifndef _ASM_POWERPC_SECCOMP_H
+ #define _ASM_POWERPC_SECCOMP_H
+ 
+-#ifdef __KERNEL__
+-#include <linux/thread_info.h>
+-#endif
+-
+ #include <linux/unistd.h>
+ 
+ #define __NR_seccomp_read __NR_read
+diff -urpN linux-source-2.6.26.orig/include/asm-sparc64/compat.h linux-source-2.6.26/include/asm-sparc64/compat.h
+--- linux-source-2.6.26.orig/include/asm-sparc64/compat.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-sparc64/compat.h	2009-04-04 11:43:32.000000000 -0600
+@@ -240,4 +240,9 @@ struct compat_shmid64_ds {
+ 	unsigned int	__unused2;
+ };
+ 
++static inline int is_compat_task(void)
++{
++	return test_thread_flag(TIF_32BIT);
++}
++
+ #endif /* _ASM_SPARC64_COMPAT_H */
+diff -urpN linux-source-2.6.26.orig/include/asm-sparc64/seccomp.h linux-source-2.6.26/include/asm-sparc64/seccomp.h
+--- linux-source-2.6.26.orig/include/asm-sparc64/seccomp.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-sparc64/seccomp.h	2009-04-04 11:42:11.000000000 -0600
+@@ -1,11 +1,5 @@
+ #ifndef _ASM_SECCOMP_H
+ 
+-#include <linux/thread_info.h> /* already defines TIF_32BIT */
+-
+-#ifndef TIF_32BIT
+-#error "unexpected TIF_32BIT on sparc64"
+-#endif
+-
+ #include <linux/unistd.h>
+ 
+ #define __NR_seccomp_read __NR_read
+diff -urpN linux-source-2.6.26.orig/include/asm-x86/seccomp_32.h linux-source-2.6.26/include/asm-x86/seccomp_32.h
+--- linux-source-2.6.26.orig/include/asm-x86/seccomp_32.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-x86/seccomp_32.h	2009-04-04 11:42:29.000000000 -0600
+@@ -1,11 +1,5 @@
+ #ifndef _ASM_SECCOMP_H
+ 
+-#include <linux/thread_info.h>
+-
+-#ifdef TIF_32BIT
+-#error "unexpected TIF_32BIT on i386"
+-#endif
+-
+ #include <linux/unistd.h>
+ 
+ #define __NR_seccomp_read __NR_read
+diff -urpN linux-source-2.6.26.orig/include/asm-x86/seccomp_64.h linux-source-2.6.26/include/asm-x86/seccomp_64.h
+--- linux-source-2.6.26.orig/include/asm-x86/seccomp_64.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-x86/seccomp_64.h	2009-04-04 11:42:47.000000000 -0600
+@@ -1,13 +1,5 @@
+ #ifndef _ASM_SECCOMP_H
+ 
+-#include <linux/thread_info.h>
+-
+-#ifdef TIF_32BIT
+-#error "unexpected TIF_32BIT on x86_64"
+-#else
+-#define TIF_32BIT TIF_IA32
+-#endif
+-
+ #include <linux/unistd.h>
+ #include <asm/ia32_unistd.h>
+ 
+diff -urpN linux-source-2.6.26.orig/kernel/seccomp.c linux-source-2.6.26/kernel/seccomp.c
+--- linux-source-2.6.26.orig/kernel/seccomp.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/seccomp.c	2009-04-04 11:43:28.000000000 -0600
+@@ -8,6 +8,7 @@
+ 
+ #include <linux/seccomp.h>
+ #include <linux/sched.h>
++#include <linux/compat.h>
+ 
+ /* #define SECCOMP_DEBUG 1 */
+ #define NR_SECCOMP_MODES 1
+@@ -22,7 +23,7 @@ static int mode1_syscalls[] = {
+ 	0, /* null terminated */
+ };
+ 
+-#ifdef TIF_32BIT
++#ifdef CONFIG_COMPAT
+ static int mode1_syscalls_32[] = {
+ 	__NR_seccomp_read_32, __NR_seccomp_write_32, __NR_seccomp_exit_32, __NR_seccomp_sigreturn_32,
+ 	0, /* null terminated */
+@@ -37,8 +38,8 @@ void __secure_computing(int this_syscall
+ 	switch (mode) {
+ 	case 1:
+ 		syscall = mode1_syscalls;
+-#ifdef TIF_32BIT
+-		if (test_thread_flag(TIF_32BIT))
++#ifdef CONFIG_COMPAT
++		if (is_compat_task())
+ 			syscall = mode1_syscalls_32;
+ #endif
+ 		do {
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/security-keyctl-missing-kfree.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/security-keyctl-missing-kfree.patch
@@ -0,0 +1,26 @@
+commit 0d54ee1c7850a954026deec4cd4885f331da35cc
+Author: Vegard Nossum <vegard.nossum@gmail.com>
+Date:   Sat Jan 17 17:45:45 2009 +0100
+
+    security: introduce missing kfree
+    
+    Plug this leak.
+    
+    Acked-by: David Howells <dhowells@redhat.com>
+    Cc: James Morris <jmorris@namei.org>
+    Cc: <stable@kernel.org>
+    Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c
+index e9335e1..b1ec3b4 100644
+--- a/security/keys/keyctl.c
++++ b/security/keys/keyctl.c
+@@ -270,6 +270,7 @@ long keyctl_join_session_keyring(const char __user *_name)
+ 
+ 	/* join the session */
+ 	ret = join_session_keyring(name);
++	kfree(name);
+ 
+  error:
+ 	return ret;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/skfp-fix-inverted-cap-logic.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/skfp-fix-inverted-cap-logic.patch
@@ -0,0 +1,27 @@
+commit c25b9abbc2c2c0da88e180c3933d6e773245815a
+Author: Roel Kluin <roel.kluin@gmail.com>
+Date:   Thu Jan 29 17:32:20 2009 -0800
+
+    drivers/net/skfp: if !capable(CAP_NET_ADMIN): inverted logic
+    
+    Fix inverted logic
+    
+    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c
+index 607efea..9a00e55 100644
+--- a/drivers/net/skfp/skfddi.c
++++ b/drivers/net/skfp/skfddi.c
+@@ -1003,9 +1003,9 @@ static int skfp_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+ 		break;
+ 	case SKFP_CLR_STATS:	/* Zero out the driver statistics */
+ 		if (!capable(CAP_NET_ADMIN)) {
+-			memset(&lp->MacStat, 0, sizeof(lp->MacStat));
+-		} else {
+ 			status = -EPERM;
++		} else {
++			memset(&lp->MacStat, 0, sizeof(lp->MacStat));
+ 		}
+ 		break;
+ 	default:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sctp-fix-kernel-panic-while-process-protocol-violation-parameter.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sctp-fix-kernel-panic-while-process-protocol-violation-parameter.patch
@@ -0,0 +1,187 @@
+commit ba0166708ef4da7eeb61dd92bbba4d5a749d6561
+Author: Wei Yongjun <yjwei@cn.fujitsu.com>
+Date:   Tue Sep 30 05:32:24 2008 -0700
+
+    sctp: Fix kernel panic while process protocol violation parameter
+    
+    Since call to function sctp_sf_abort_violation() need paramter 'arg' with
+    'struct sctp_chunk' type, it will read the chunk type and chunk length from
+    the chunk_hdr member of chunk. But call to sctp_sf_violation_paramlen()
+    always with 'struct sctp_paramhdr' type's parameter, it will be passed to
+    sctp_sf_abort_violation(). This may cause kernel panic.
+    
+       sctp_sf_violation_paramlen()
+         |-- sctp_sf_abort_violation()
+            |-- sctp_make_abort_violation()
+    
+    This patch fixed this problem. This patch also fix two place which called
+    sctp_sf_violation_paramlen() with wrong paramter type.
+    
+    Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
+    Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h
+index 2481173..029a54a 100644
+--- a/include/net/sctp/sm.h
++++ b/include/net/sctp/sm.h
+@@ -227,6 +227,9 @@ struct sctp_chunk *sctp_make_abort_violation(const struct sctp_association *,
+ 				   const struct sctp_chunk *,
+ 				   const __u8 *,
+ 				   const size_t );
++struct sctp_chunk *sctp_make_violation_paramlen(const struct sctp_association *,
++				   const struct sctp_chunk *,
++				   struct sctp_paramhdr *);
+ struct sctp_chunk *sctp_make_heartbeat(const struct sctp_association *,
+ 				  const struct sctp_transport *,
+ 				  const void *payload,
+diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
+index b599cbb..d68869f 100644
+--- a/net/sctp/sm_make_chunk.c
++++ b/net/sctp/sm_make_chunk.c
+@@ -1012,6 +1012,29 @@ end:
+ 	return retval;
+ }
+ 
++struct sctp_chunk *sctp_make_violation_paramlen(
++	const struct sctp_association *asoc,
++	const struct sctp_chunk *chunk,
++	struct sctp_paramhdr *param)
++{
++	struct sctp_chunk *retval;
++	static const char error[] = "The following parameter had invalid length:";
++	size_t payload_len = sizeof(error) + sizeof(sctp_errhdr_t) +
++				sizeof(sctp_paramhdr_t);
++
++	retval = sctp_make_abort(asoc, chunk, payload_len);
++	if (!retval)
++		goto nodata;
++
++	sctp_init_cause(retval, SCTP_ERROR_PROTO_VIOLATION,
++			sizeof(error) + sizeof(sctp_paramhdr_t));
++	sctp_addto_chunk(retval, sizeof(error), error);
++	sctp_addto_param(retval, sizeof(sctp_paramhdr_t), param);
++
++nodata:
++	return retval;
++}
++
+ /* Make a HEARTBEAT chunk.  */
+ struct sctp_chunk *sctp_make_heartbeat(const struct sctp_association *asoc,
+ 				  const struct sctp_transport *transport,
+@@ -1782,11 +1805,6 @@ static int sctp_process_inv_paramlength(const struct sctp_association *asoc,
+ 					const struct sctp_chunk *chunk,
+ 					struct sctp_chunk **errp)
+ {
+-	static const char error[] = "The following parameter had invalid length:";
+-	size_t		payload_len = WORD_ROUND(sizeof(error)) +
+-						sizeof(sctp_paramhdr_t);
+-
+-
+ 	/* This is a fatal error.  Any accumulated non-fatal errors are
+ 	 * not reported.
+ 	 */
+@@ -1794,14 +1812,7 @@ static int sctp_process_inv_paramlength(const struct sctp_association *asoc,
+ 		sctp_chunk_free(*errp);
+ 
+ 	/* Create an error chunk and fill it in with our payload. */
+-	*errp = sctp_make_op_error_space(asoc, chunk, payload_len);
+-
+-	if (*errp) {
+-		sctp_init_cause(*errp, SCTP_ERROR_PROTO_VIOLATION,
+-				sizeof(error) + sizeof(sctp_paramhdr_t));
+-		sctp_addto_chunk(*errp, sizeof(error), error);
+-		sctp_addto_param(*errp, sizeof(sctp_paramhdr_t), param);
+-	}
++	*errp = sctp_make_violation_paramlen(asoc, chunk, param);
+ 
+ 	return 0;
+ }
+diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
+index 8848d32..7c622af 100644
+--- a/net/sctp/sm_statefuns.c
++++ b/net/sctp/sm_statefuns.c
+@@ -119,7 +119,7 @@ static sctp_disposition_t sctp_sf_violation_paramlen(
+ 				     const struct sctp_endpoint *ep,
+ 				     const struct sctp_association *asoc,
+ 				     const sctp_subtype_t type,
+-				     void *arg,
++				     void *arg, void *ext,
+ 				     sctp_cmd_seq_t *commands);
+ 
+ static sctp_disposition_t sctp_sf_violation_ctsn(
+@@ -3425,7 +3425,7 @@ sctp_disposition_t sctp_sf_do_asconf(const struct sctp_endpoint *ep,
+ 	addr_param = (union sctp_addr_param *)hdr->params;
+ 	length = ntohs(addr_param->p.length);
+ 	if (length < sizeof(sctp_paramhdr_t))
+-		return sctp_sf_violation_paramlen(ep, asoc, type,
++		return sctp_sf_violation_paramlen(ep, asoc, type, arg,
+ 			   (void *)addr_param, commands);
+ 
+ 	/* Verify the ASCONF chunk before processing it. */
+@@ -3433,8 +3433,8 @@ sctp_disposition_t sctp_sf_do_asconf(const struct sctp_endpoint *ep,
+ 			    (sctp_paramhdr_t *)((void *)addr_param + length),
+ 			    (void *)chunk->chunk_end,
+ 			    &err_param))
+-		return sctp_sf_violation_paramlen(ep, asoc, type,
+-						  (void *)&err_param, commands);
++		return sctp_sf_violation_paramlen(ep, asoc, type, arg,
++						  (void *)err_param, commands);
+ 
+ 	/* ADDIP 5.2 E1) Compare the value of the serial number to the value
+ 	 * the endpoint stored in a new association variable
+@@ -3542,8 +3542,8 @@ sctp_disposition_t sctp_sf_do_asconf_ack(const struct sctp_endpoint *ep,
+ 	    (sctp_paramhdr_t *)addip_hdr->params,
+ 	    (void *)asconf_ack->chunk_end,
+ 	    &err_param))
+-		return sctp_sf_violation_paramlen(ep, asoc, type,
+-			   (void *)&err_param, commands);
++		return sctp_sf_violation_paramlen(ep, asoc, type, arg,
++			   (void *)err_param, commands);
+ 
+ 	if (last_asconf) {
+ 		addip_hdr = (sctp_addiphdr_t *)last_asconf->subh.addip_hdr;
+@@ -4240,12 +4240,38 @@ static sctp_disposition_t sctp_sf_violation_paramlen(
+ 				     const struct sctp_endpoint *ep,
+ 				     const struct sctp_association *asoc,
+ 				     const sctp_subtype_t type,
+-				     void *arg,
+-				     sctp_cmd_seq_t *commands) {
+-	static const char err_str[] = "The following parameter had invalid length:";
++				     void *arg, void *ext,
++				     sctp_cmd_seq_t *commands)
++{
++	struct sctp_chunk *chunk =  arg;
++	struct sctp_paramhdr *param = ext;
++	struct sctp_chunk *abort = NULL;
+ 
+-	return sctp_sf_abort_violation(ep, asoc, arg, commands, err_str,
+-					sizeof(err_str));
++	if (sctp_auth_recv_cid(SCTP_CID_ABORT, asoc))
++		goto discard;
++
++	/* Make the abort chunk. */
++	abort = sctp_make_violation_paramlen(asoc, chunk, param);
++	if (!abort)
++		goto nomem;
++
++	sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(abort));
++	SCTP_INC_STATS(SCTP_MIB_OUTCTRLCHUNKS);
++
++	sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
++			SCTP_ERROR(ECONNABORTED));
++	sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED,
++			SCTP_PERR(SCTP_ERROR_PROTO_VIOLATION));
++	SCTP_DEC_STATS(SCTP_MIB_CURRESTAB);
++
++discard:
++	sctp_sf_pdiscard(ep, asoc, SCTP_ST_CHUNK(0), arg, commands);
++
++	SCTP_INC_STATS(SCTP_MIB_ABORTEDS);
++
++	return SCTP_DISPOSITION_ABORT;
++nomem:
++	return SCTP_DISPOSITION_NOMEM;
+ }
+ 
+ /* Handle a protocol violation when the peer trying to advance the
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sound_hda_intel_dg33.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sound_hda_intel_dg33.patch
@@ -0,0 +1,172 @@
+commit 17bba1b72d190742c99a140154f0abac9c1996c3
+Author: Jiang zhe <zhe.jiang@intel.com>
+Date:   Wed Jun 4 12:11:07 2008 +0200
+
+    [ALSA] hda - support intel DG33 motherboards
+    
+    These two motherboards's pin configuration are not covered by driver.
+    I wrote a new model to support them.
+    
+    Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
+    Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index cb3e028..048cb84 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -209,6 +209,7 @@ enum {
+ 	ALC883_MITAC,
+ 	ALC883_CLEVO_M720,
+ 	ALC883_FUJITSU_PI2515,
++	ALC883_3ST_6ch_INTEL,
+ 	ALC883_AUTO,
+ 	ALC883_MODEL_LAST,
+ };
+@@ -6603,6 +6604,16 @@ static struct hda_input_mux alc883_capture_source = {
+ 	},
+ };
+ 
++static struct hda_input_mux alc883_3stack_6ch_intel = {
++	.num_items = 4,
++	.items = {
++		{ "Mic", 0x1 },
++		{ "Front Mic", 0x0 },
++		{ "Line", 0x2 },
++		{ "CD", 0x4 },
++	},
++};
++
+ static struct hda_input_mux alc883_lenovo_101e_capture_source = {
+ 	.num_items = 2,
+ 	.items = {
+@@ -6684,6 +6695,48 @@ static struct hda_channel_mode alc883_3ST_6ch_modes[3] = {
+ };
+ 
+ /*
++ * 2ch mode
++ */
++static struct hda_verb alc883_3ST_ch2_intel_init[] = {
++	{ 0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 },
++	{ 0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE },
++	{ 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN },
++	{ 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE },
++	{ } /* end */
++};
++
++/*
++ * 4ch mode
++ */
++static struct hda_verb alc883_3ST_ch4_intel_init[] = {
++	{ 0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 },
++	{ 0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE },
++	{ 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
++	{ 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE },
++	{ 0x1a, AC_VERB_SET_CONNECT_SEL, 0x01 },
++	{ } /* end */
++};
++
++/*
++ * 6ch mode
++ */
++static struct hda_verb alc883_3ST_ch6_intel_init[] = {
++	{ 0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
++	{ 0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE },
++	{ 0x19, AC_VERB_SET_CONNECT_SEL, 0x02 },
++	{ 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
++	{ 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE },
++	{ 0x1a, AC_VERB_SET_CONNECT_SEL, 0x01 },
++	{ } /* end */
++};
++
++static struct hda_channel_mode alc883_3ST_6ch_intel_modes[3] = {
++	{ 2, alc883_3ST_ch2_intel_init },
++	{ 4, alc883_3ST_ch4_intel_init },
++	{ 6, alc883_3ST_ch6_intel_init },
++};
++
++/*
+  * 6ch mode
+  */
+ static struct hda_verb alc883_sixstack_ch6_init[] = {
+@@ -6915,6 +6968,45 @@ static struct snd_kcontrol_new alc883_3ST_6ch_mixer[] = {
+ 	{ } /* end */
+ };
+ 
++static struct snd_kcontrol_new alc883_3ST_6ch_intel_mixer[] = {
++	HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
++	HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT),
++	HDA_CODEC_VOLUME("Surround Playback Volume", 0x0d, 0x0, HDA_OUTPUT),
++	HDA_BIND_MUTE("Surround Playback Switch", 0x0d, 2, HDA_INPUT),
++	HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x0e, 1, 0x0,
++			      HDA_OUTPUT),
++	HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x0e, 2, 0x0, HDA_OUTPUT),
++	HDA_BIND_MUTE_MONO("Center Playback Switch", 0x0e, 1, 2, HDA_INPUT),
++	HDA_BIND_MUTE_MONO("LFE Playback Switch", 0x0e, 2, 2, HDA_INPUT),
++	HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT),
++	HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT),
++	HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT),
++	HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT),
++	HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
++	HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x1, HDA_INPUT),
++	HDA_CODEC_VOLUME("Mic Boost", 0x19, 0, HDA_INPUT),
++	HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x1, HDA_INPUT),
++	HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
++	HDA_CODEC_VOLUME("Front Mic Boost", 0x18, 0, HDA_INPUT),
++	HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
++	HDA_CODEC_VOLUME("PC Speaker Playback Volume", 0x0b, 0x05, HDA_INPUT),
++	HDA_CODEC_MUTE("PC Speaker Playback Switch", 0x0b, 0x05, HDA_INPUT),
++	HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT),
++	HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT),
++	HDA_CODEC_VOLUME_IDX("Capture Volume", 1, 0x09, 0x0, HDA_INPUT),
++	HDA_CODEC_MUTE_IDX("Capture Switch", 1, 0x09, 0x0, HDA_INPUT),
++	{
++		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
++		/* .name = "Capture Source", */
++		.name = "Input Source",
++		.count = 2,
++		.info = alc883_mux_enum_info,
++		.get = alc883_mux_enum_get,
++		.put = alc883_mux_enum_put,
++	},
++	{ } /* end */
++};
++
+ static struct snd_kcontrol_new alc883_fivestack_mixer[] = {
+ 	HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
+ 	HDA_CODEC_MUTE("Front Playback Switch", 0x14, 0x0, HDA_OUTPUT),
+@@ -7763,6 +7855,7 @@ static const char *alc883_models[ALC883_MODEL_LAST] = {
+ 	[ALC883_MITAC]		= "mitac",
+ 	[ALC883_CLEVO_M720]	= "clevo-m720",
+ 	[ALC883_FUJITSU_PI2515] = "fujitsu-pi2515",
++	[ALC883_3ST_6ch_INTEL]	= "3stack-6ch-intel",
+ 	[ALC883_AUTO]		= "auto",
+ };
+ 
+@@ -7820,6 +7913,8 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = {
+ 	SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
+ 	SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG),
+ 	SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66),
++	SND_PCI_QUIRK(0x8086, 0x0001, "DG33BUC", ALC883_3ST_6ch_INTEL),
++	SND_PCI_QUIRK(0x8086, 0x0002, "DG33FBC", ALC883_3ST_6ch_INTEL),
+ 	SND_PCI_QUIRK(0x8086, 0xd601, "D102GGC", ALC883_3ST_6ch),
+ 	{}
+ };
+@@ -7858,6 +7953,18 @@ static struct alc_config_preset alc883_presets[] = {
+ 		.need_dac_fix = 1,
+ 		.input_mux = &alc883_capture_source,
+ 	},
++	[ALC883_3ST_6ch_INTEL] = {
++		.mixers = { alc883_3ST_6ch_intel_mixer, alc883_chmode_mixer },
++		.init_verbs = { alc883_init_verbs },
++		.num_dacs = ARRAY_SIZE(alc883_dac_nids),
++		.dac_nids = alc883_dac_nids,
++		.dig_out_nid = ALC883_DIGOUT_NID,
++		.dig_in_nid = ALC883_DIGIN_NID,
++		.num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_intel_modes),
++		.channel_mode = alc883_3ST_6ch_intel_modes,
++		.need_dac_fix = 1,
++		.input_mux = &alc883_3stack_6ch_intel,
++	},
+ 	[ALC883_6ST_DIG] = {
+ 		.mixers = { alc883_base_mixer, alc883_chmode_mixer },
+ 		.init_verbs = { alc883_init_verbs },
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/security-define-round_hint_to_min-when-CONFIG_SECURITY-is-off.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/security-define-round_hint_to_min-when-CONFIG_SECURITY-is-off.patch
@@ -0,0 +1,63 @@
+commit 1d9959734a1949ea4f2427bd2d8b21ede6b2441c
+Author: Eric Paris <eparis@redhat.com>
+Date:   Fri Aug 7 14:53:57 2009 -0400
+
+    security: define round_hint_to_min in !CONFIG_SECURITY
+    
+    Fix the header files to define round_hint_to_min() and to define
+    mmap_min_addr_handler() in the !CONFIG_SECURITY case.
+    
+    Built and tested with !CONFIG_SECURITY
+    
+    Signed-off-by: Eric Paris <eparis@redhat.com>
+    Signed-off-by: James Morris <jmorris@namei.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/security.h linux-source-2.6.26/include/linux/security.h
+--- linux-source-2.6.26.orig/include/linux/security.h	2009-09-30 09:21:57.000000000 -0600
++++ linux-source-2.6.26/include/linux/security.h	2009-09-30 10:08:42.000000000 -0600
+@@ -115,6 +115,21 @@ struct request_sock;
+ #define LSM_UNSAFE_PTRACE	2
+ #define LSM_UNSAFE_PTRACE_CAP	4
+ 
++/*
++ * If a hint addr is less than mmap_min_addr change hint to be as
++ * low as possible but still greater than mmap_min_addr
++ */
++static inline unsigned long round_hint_to_min(unsigned long hint)
++{
++	hint &= PAGE_MASK;
++	if (((void *)hint != NULL) &&
++	    (hint < mmap_min_addr))
++		return PAGE_ALIGN(mmap_min_addr);
++	return hint;
++}
++extern int mmap_min_addr_handler(struct ctl_table *table, int write, struct file *filp,
++				 void __user *buffer, size_t *lenp, loff_t *ppos);
++
+ #ifdef CONFIG_SECURITY
+ 
+ struct security_mnt_opts {
+@@ -143,21 +158,6 @@ static inline void security_free_mnt_opt
+ 	opts->num_mnt_opts = 0;
+ }
+ 
+-/*
+- * If a hint addr is less than mmap_min_addr change hint to be as
+- * low as possible but still greater than mmap_min_addr
+- */
+-static inline unsigned long round_hint_to_min(unsigned long hint)
+-{
+-	hint &= PAGE_MASK;
+-	if (((void *)hint != NULL) &&
+-	    (hint < mmap_min_addr))
+-		return PAGE_ALIGN(mmap_min_addr);
+-	return hint;
+-}
+-
+-extern int mmap_min_addr_handler(struct ctl_table *table, int write, struct file *filp,
+-				 void __user *buffer, size_t *lenp, loff_t *ppos);
+ /**
+  * struct security_operations - main security structure
+  *
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/security-keys-init-user-keyring.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/security-keys-init-user-keyring.patch
@@ -0,0 +1,40 @@
+diff --git a/security/keys/internal.h b/security/keys/internal.h
+index 8c05587..2bdfacc 100644
+--- a/security/keys/internal.h
++++ b/security/keys/internal.h
+@@ -108,6 +108,7 @@ extern key_ref_t search_process_keyrings(struct key_type *type,
+
+ extern struct key *find_keyring_by_name(const char *name, bool skip_perm_check);
+
++extern int install_user_keyrings(struct task_struct *tsk);
+ extern int install_thread_keyring(struct task_struct *tsk);
+ extern int install_process_keyring(struct task_struct *tsk);
+
+diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c
+index 5be6d01..45b240a 100644
+--- a/security/keys/process_keys.c
++++ b/security/keys/process_keys.c
+@@ -40,7 +40,7 @@ struct key_user root_key_user = {
+ /*
+  * install user and user session keyrings for a particular UID
+  */
+-static int install_user_keyrings(struct task_struct *tsk)
++int install_user_keyrings(struct task_struct *tsk)
+ {
+ 	struct user_struct *user = tsk->user;
+ 	struct key *uid_keyring, *session_keyring;
+diff --git a/security/keys/request_key.c b/security/keys/request_key.c
+index ba32ca6..abea08f 100644
+--- a/security/keys/request_key.c
++++ b/security/keys/request_key.c
+@@ -74,6 +74,10 @@ static int call_sbin_request_key(struct key_construction *cons,
+
+ 	kenter("{%d},{%d},%s", key->serial, authkey->serial, op);
+
++	ret = install_user_keyrings(tsk);
++	if (ret < 0)
++		goto error_alloc;
++
+ 	/* allocate a new session keyring */
+ 	sprintf(desc, "_req.%u", key->serial);
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/shm-fix-shmctl-SHM_INFO-lockup-without-CONFIG_SHMEM.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/shm-fix-shmctl-SHM_INFO-lockup-without-CONFIG_SHMEM.patch
@@ -0,0 +1,46 @@
+commit a68e61e8ff2d46327a37b69056998b47745db6fa
+Author: Tony Battersby <tonyb@cybernetics.com>
+Date:   Wed Feb 4 15:12:04 2009 -0800
+
+    shm: fix shmctl(SHM_INFO) lockup with !CONFIG_SHMEM
+    
+    shm_get_stat() assumes that the inode is a "struct shmem_inode_info",
+    which is incorrect for !CONFIG_SHMEM (see fs/ramfs/inode.c:
+    ramfs_get_inode() vs.  mm/shmem.c: shmem_get_inode()).
+    
+    This bad assumption can cause shmctl(SHM_INFO) to lockup when
+    shm_get_stat() tries to spin_lock(&info->lock).  Users of !CONFIG_SHMEM
+    may encounter this lockup simply by invoking the 'ipcs' command.
+    
+    Reported by Jiri Olsa back in February 2008:
+    http://lkml.org/lkml/2008/2/29/74
+    
+    Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
+    Cc: Jiri Kosina <jkosina@suse.cz>
+    Reported-by: Jiri Olsa <olsajiri@gmail.com>
+    Cc: Hugh Dickins <hugh@veritas.com>
+    Cc: <stable@kernel.org>		[2.6.everything]
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org
+
+diff -urpN linux-source-2.6.26.orig/ipc/shm.c linux-source-2.6.26/ipc/shm.c
+--- linux-source-2.6.26.orig/ipc/shm.c	2009-03-25 17:20:41.000000000 -0600
++++ linux-source-2.6.26/ipc/shm.c	2009-04-04 15:13:27.000000000 -0600
+@@ -579,11 +579,15 @@ static void shm_get_stat(struct ipc_name
+ 			struct address_space *mapping = inode->i_mapping;
+ 			*rss += (HPAGE_SIZE/PAGE_SIZE)*mapping->nrpages;
+ 		} else {
++#ifdef CONFIG_SHMEM
+ 			struct shmem_inode_info *info = SHMEM_I(inode);
+ 			spin_lock(&info->lock);
+ 			*rss += inode->i_mapping->nrpages;
+ 			*swp += info->swapped;
+ 			spin_unlock(&info->lock);
++#else
++			*rss += inode->i_mapping->nrpages;
++#endif
+ 		}
+ 
+ 		total++;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/security-seperate-lsm-specific-mmap_min_addr-abi.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/security-seperate-lsm-specific-mmap_min_addr-abi.patch
@@ -0,0 +1,13 @@
+diff -urpN a/include/linux/security.h b/include/linux/security.h
+--- a/include/linux/security.h	2009-10-16 17:19:44.000000000 -0600
++++ b/include/linux/security.h	2009-10-16 17:23:16.000000000 -0600
+@@ -28,7 +28,9 @@
+ #include <linux/resource.h>
+ #include <linux/sem.h>
+ #include <linux/shm.h>
++#ifndef __GENKSYMS__
+ #include <linux/mm.h> /* PAGE_ALIGN */
++#endif
+ #include <linux/msg.h>
+ #include <linux/sched.h>
+ #include <linux/key.h>
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/security-seperate-lsm-specific-mmap_min_addr.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/security-seperate-lsm-specific-mmap_min_addr.patch
@@ -0,0 +1,250 @@
+commit a2551df7ec568d87793d2eea4ca744e86318f205
+Author: Eric Paris <eparis@redhat.com>
+Date:   Fri Jul 31 12:54:11 2009 -0400
+
+    Security/SELinux: seperate lsm specific mmap_min_addr
+    
+    Currently SELinux enforcement of controls on the ability to map low memory
+    is determined by the mmap_min_addr tunable.  This patch causes SELinux to
+    ignore the tunable and instead use a seperate Kconfig option specific to how
+    much space the LSM should protect.
+    
+    The tunable will now only control the need for CAP_SYS_RAWIO and SELinux
+    permissions will always protect the amount of low memory designated by
+    CONFIG_LSM_MMAP_MIN_ADDR.
+    
+    This allows users who need to disable the mmap_min_addr controls (usual reason
+    being they run WINE as a non-root user) to do so and still have SELinux
+    controls preventing confined domains (like a web server) from being able to
+    map some area of low memory.
+    
+    Signed-off-by: Eric Paris <eparis@redhat.com>
+    Signed-off-by: James Morris <jmorris@namei.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/mm.h linux-source-2.6.26/include/linux/mm.h
+--- linux-source-2.6.26.orig/include/linux/mm.h	2009-09-30 09:13:56.000000000 -0600
++++ linux-source-2.6.26/include/linux/mm.h	2009-09-30 09:21:57.000000000 -0600
+@@ -33,8 +33,6 @@ extern int sysctl_legacy_va_layout;
+ #define sysctl_legacy_va_layout 0
+ #endif
+ 
+-extern unsigned long mmap_min_addr;
+-
+ #include <asm/page.h>
+ #include <asm/pgtable.h>
+ #include <asm/processor.h>
+@@ -558,19 +556,6 @@ static inline void set_page_links(struct
+ }
+ 
+ /*
+- * If a hint addr is less than mmap_min_addr change hint to be as
+- * low as possible but still greater than mmap_min_addr
+- */
+-static inline unsigned long round_hint_to_min(unsigned long hint)
+-{
+-	hint &= PAGE_MASK;
+-	if (((void *)hint != NULL) &&
+-	    (hint < mmap_min_addr))
+-		return PAGE_ALIGN(mmap_min_addr);
+-	return hint;
+-}
+-
+-/*
+  * Some inline functions in vmstat.h depend on page_zone()
+  */
+ #include <linux/vmstat.h>
+diff -urpN linux-source-2.6.26.orig/include/linux/security.h linux-source-2.6.26/include/linux/security.h
+--- linux-source-2.6.26.orig/include/linux/security.h	2009-09-30 09:13:56.000000000 -0600
++++ linux-source-2.6.26/include/linux/security.h	2009-09-30 09:21:57.000000000 -0600
+@@ -28,6 +28,7 @@
+ #include <linux/resource.h>
+ #include <linux/sem.h>
+ #include <linux/shm.h>
++#include <linux/mm.h> /* PAGE_ALIGN */
+ #include <linux/msg.h>
+ #include <linux/sched.h>
+ #include <linux/key.h>
+@@ -84,6 +88,7 @@ extern int cap_netlink_send(struct sock 
+ extern int cap_netlink_recv(struct sk_buff *skb, int cap);
+ 
+ extern unsigned long mmap_min_addr;
++extern unsigned long dac_mmap_min_addr;
+ /*
+  * Values used in the task_security_ops calls
+  */
+@@ -138,6 +143,21 @@ static inline void security_free_mnt_opt
+ 	opts->num_mnt_opts = 0;
+ }
+ 
++/*
++ * If a hint addr is less than mmap_min_addr change hint to be as
++ * low as possible but still greater than mmap_min_addr
++ */
++static inline unsigned long round_hint_to_min(unsigned long hint)
++{
++	hint &= PAGE_MASK;
++	if (((void *)hint != NULL) &&
++	    (hint < mmap_min_addr))
++		return PAGE_ALIGN(mmap_min_addr);
++	return hint;
++}
++
++extern int mmap_min_addr_handler(struct ctl_table *table, int write, struct file *filp,
++				 void __user *buffer, size_t *lenp, loff_t *ppos);
+ /**
+  * struct security_operations - main security structure
+  *
+diff -urpN linux-source-2.6.26.orig/kernel/sysctl.c linux-source-2.6.26/kernel/sysctl.c
+--- linux-source-2.6.26.orig/kernel/sysctl.c	2009-09-30 09:13:56.000000000 -0600
++++ linux-source-2.6.26/kernel/sysctl.c	2009-09-30 09:21:57.000000000 -0600
+@@ -1096,10 +1096,10 @@ static struct ctl_table vm_table[] = {
+ 	{
+ 		.ctl_name	= CTL_UNNUMBERED,
+ 		.procname	= "mmap_min_addr",
+-		.data		= &mmap_min_addr,
+-		.maxlen         = sizeof(unsigned long),
++		.data		= &dac_mmap_min_addr,
++		.maxlen		= sizeof(unsigned long),
+ 		.mode		= 0644,
+-		.proc_handler	= &proc_doulongvec_minmax,
++		.proc_handler	= &mmap_min_addr_handler,
+ 	},
+ #ifdef CONFIG_NUMA
+ 	{
+diff -urpN linux-source-2.6.26.orig/mm/Kconfig linux-source-2.6.26/mm/Kconfig
+--- linux-source-2.6.26.orig/mm/Kconfig	2009-09-30 09:13:56.000000000 -0600
++++ linux-source-2.6.26/mm/Kconfig	2009-09-30 09:21:57.000000000 -0600
+@@ -217,9 +217,9 @@ config DEFAULT_MMAP_MIN_ADDR
+ 	  For most ia64, ppc64 and x86 users with lots of address space
+ 	  a value of 65536 is reasonable and should cause no problems.
+ 	  On arm and other archs it should not be higher than 32768.
+-	  Programs which use vm86 functionality would either need additional
+-	  permissions from either the LSM or the capabilities module or have
+-	  this protection disabled.
++	  Programs which use vm86 functionality or have some need to map
++	  this low address space will need CAP_SYS_RAWIO or disable this
++	  protection by setting the value to 0.
+ 
+ 	  This value can be changed after boot using the
+ 	  /proc/sys/vm/mmap_min_addr tunable.
+diff -urpN linux-source-2.6.26.orig/mm/mmap.c linux-source-2.6.26/mm/mmap.c
+--- linux-source-2.6.26.orig/mm/mmap.c	2009-09-30 09:13:56.000000000 -0600
++++ linux-source-2.6.26/mm/mmap.c	2009-09-30 09:21:57.000000000 -0600
+@@ -82,9 +82,6 @@ int sysctl_overcommit_ratio = 50;	/* def
+ int sysctl_max_map_count __read_mostly = DEFAULT_MAX_MAP_COUNT;
+ atomic_long_t vm_committed_space = ATOMIC_LONG_INIT(0);
+ 
+-/* amount of vm to protect from userspace access */
+-unsigned long mmap_min_addr = CONFIG_DEFAULT_MMAP_MIN_ADDR;
+-
+ /*
+  * Check that a process has enough memory to allocate a new virtual
+  * mapping. 0 means there is enough memory for the allocation to
+diff -urpN linux-source-2.6.26.orig/security/Kconfig linux-source-2.6.26/security/Kconfig
+--- linux-source-2.6.26.orig/security/Kconfig	2009-09-30 09:13:56.000000000 -0600
++++ linux-source-2.6.26/security/Kconfig	2009-09-30 09:21:57.000000000 -0600
+@@ -104,6 +104,22 @@ config SECURITY_ROOTPLUG
+ 
+ 	  If you are unsure how to answer this question, answer N.
+ 
++config LSM_MMAP_MIN_ADDR
++	int "Low address space for LSM to from user allocation"
++	depends on SECURITY && SECURITY_SELINUX
++	default 65535
++	help
++	  This is the portion of low virtual memory which should be protected
++	  from userspace allocation.  Keeping a user from writing to low pages
++	  can help reduce the impact of kernel NULL pointer bugs.
++
++	  For most ia64, ppc64 and x86 users with lots of address space
++	  a value of 65536 is reasonable and should cause no problems.
++	  On arm and other archs it should not be higher than 32768.
++	  Programs which use vm86 functionality or have some need to map
++	  this low address space will need the permission specific to the
++	  systems running LSM.
++
+ source security/selinux/Kconfig
+ source security/smack/Kconfig
+ 
+diff -urpN linux-source-2.6.26.orig/security/Makefile linux-source-2.6.26/security/Makefile
+--- linux-source-2.6.26.orig/security/Makefile	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/security/Makefile	2009-09-30 09:33:07.000000000 -0600
+@@ -6,10 +6,7 @@ obj-$(CONFIG_KEYS)			+= keys/
+ subdir-$(CONFIG_SECURITY_SELINUX)	+= selinux
+ subdir-$(CONFIG_SECURITY_SMACK)		+= smack
+ 
+-# if we don't select a security model, use the default capabilities
+-ifneq ($(CONFIG_SECURITY),y)
+-obj-y		+= commoncap.o
+-endif
++obj-y		+= commoncap.o min_addr.o # Is it ok to enable commoncap when CONFIG_SECURITY=y? have to now that we moved cap_file_mmap there
+ 
+ # Object file lists
+ obj-$(CONFIG_SECURITY)			+= security.o dummy.o inode.o
+diff -urpN linux-source-2.6.26.orig/security/min_addr.c linux-source-2.6.26/security/min_addr.c
+--- linux-source-2.6.26.orig/security/min_addr.c	1969-12-31 17:00:00.000000000 -0700
++++ linux-source-2.6.26/security/min_addr.c	2009-09-30 09:21:57.000000000 -0600
+@@ -0,0 +1,49 @@
++#include <linux/init.h>
++#include <linux/mm.h>
++#include <linux/security.h>
++#include <linux/sysctl.h>
++
++/* amount of vm to protect from userspace access by both DAC and the LSM*/
++unsigned long mmap_min_addr;
++/* amount of vm to protect from userspace using CAP_SYS_RAWIO (DAC) */
++unsigned long dac_mmap_min_addr = CONFIG_DEFAULT_MMAP_MIN_ADDR;
++/* amount of vm to protect from userspace using the LSM = CONFIG_LSM_MMAP_MIN_ADDR */
++
++/*
++ * Update mmap_min_addr = max(dac_mmap_min_addr, CONFIG_LSM_MMAP_MIN_ADDR)
++ */
++static void update_mmap_min_addr(void)
++{
++#ifdef CONFIG_LSM_MMAP_MIN_ADDR
++	if (dac_mmap_min_addr > CONFIG_LSM_MMAP_MIN_ADDR)
++		mmap_min_addr = dac_mmap_min_addr;
++	else
++		mmap_min_addr = CONFIG_LSM_MMAP_MIN_ADDR;
++#else
++	mmap_min_addr = dac_mmap_min_addr;
++#endif
++}
++
++/*
++ * sysctl handler which just sets dac_mmap_min_addr = the new value and then
++ * calls update_mmap_min_addr() so non MAP_FIXED hints get rounded properly
++ */
++int mmap_min_addr_handler(struct ctl_table *table, int write, struct file *filp,
++			  void __user *buffer, size_t *lenp, loff_t *ppos)
++{
++	int ret;
++
++	ret = proc_doulongvec_minmax(table, write, filp, buffer, lenp, ppos);
++
++	update_mmap_min_addr();
++
++	return ret;
++}
++
++int __init init_mmap_min_addr(void)
++{
++	update_mmap_min_addr();
++
++	return 0;
++}
++pure_initcall(init_mmap_min_addr);
+diff -urpN linux-source-2.6.26.orig/security/selinux/hooks.c linux-source-2.6.26/security/selinux/hooks.c
+--- linux-source-2.6.26.orig/security/selinux/hooks.c	2009-09-30 09:14:01.000000000 -0600
++++ linux-source-2.6.26/security/selinux/hooks.c	2009-09-30 09:21:57.000000000 -0600
+@@ -2951,7 +2951,7 @@ static int selinux_file_mmap(struct file
+ 	 * at bad behaviour/exploit that we always want to get the AVC, even
+ 	 * if DAC would have also denied the operation.
+ 	 */
+-	if (addr < mmap_min_addr) {
++	if (addr < CONFIG_LSM_MMAP_MIN_ADDR) {
+ 		rc = avc_has_perm(sid, sid, SECCLASS_MEMPROTECT,
+ 				  MEMPROTECT__MMAP_ZERO, NULL);
+ 		if (rc)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/selinux-call-cap_file_mmap-in-selinux_file_mmap.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/selinux-call-cap_file_mmap-in-selinux_file_mmap.patch
@@ -0,0 +1,44 @@
+commit 8cf948e744e0218af604c32edecde10006dc8e9e
+Author: Eric Paris <eparis@redhat.com>
+Date:   Fri Jul 31 12:54:05 2009 -0400
+
+    SELinux: call cap_file_mmap in selinux_file_mmap
+    
+    Currently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook.  This
+    means there is no DAC check on the ability to mmap low addresses in the
+    memory space.  This function adds the DAC check for CAP_SYS_RAWIO while
+    maintaining the selinux check on mmap_zero.  This means that processes
+    which need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will
+    NOT need the SELinux sys_rawio capability.
+    
+    Signed-off-by: Eric Paris <eparis@redhat.com>
+    Signed-off-by: James Morris <jmorris@namei.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/security/selinux/hooks.c linux-source-2.6.26/security/selinux/hooks.c
+--- linux-source-2.6.26.orig/security/selinux/hooks.c	2009-08-18 23:15:14.000000000 -0600
++++ linux-source-2.6.26/security/selinux/hooks.c	2009-09-29 23:38:01.000000000 -0600
+@@ -2945,9 +2945,21 @@ static int selinux_file_mmap(struct file
+ 	int rc = 0;
+ 	u32 sid = ((struct task_security_struct *)(current->security))->sid;
+ 
+-	if (addr < mmap_min_addr)
++	/*
++	 * notice that we are intentionally putting the SELinux check before
++	 * the secondary cap_file_mmap check.  This is such a likely attempt
++	 * at bad behaviour/exploit that we always want to get the AVC, even
++	 * if DAC would have also denied the operation.
++	 */
++	if (addr < mmap_min_addr) {
+ 		rc = avc_has_perm(sid, sid, SECCLASS_MEMPROTECT,
+ 				  MEMPROTECT__MMAP_ZERO, NULL);
++		if (rc)
++			return rc;
++	}
++
++	/* do DAC check on address space usage */
++	rc = cap_file_mmap(file, reqprot, prot, flags, addr, addr_only);
+ 	if (rc || addr_only)
+ 		return rc;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/security-use-mmap_min_addr-independently-of-security-models.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/security-use-mmap_min_addr-independently-of-security-models.patch
@@ -0,0 +1,152 @@
+commit e0a94c2a63f2644826069044649669b5e7ca75d3
+Author: Christoph Lameter <cl@linux-foundation.org>
+Date:   Wed Jun 3 16:04:31 2009 -0400
+
+    security: use mmap_min_addr indepedently of security models
+    
+    This patch removes the dependency of mmap_min_addr on CONFIG_SECURITY.
+    It also sets a default mmap_min_addr of 4096.
+    
+    mmapping of addresses below 4096 will only be possible for processes
+    with CAP_SYS_RAWIO.
+    
+    Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
+    Acked-by: Eric Paris <eparis@redhat.com>
+    Looks-ok-by: Linus Torvalds <torvalds@linux-foundation.org>
+    Signed-off-by: James Morris <jmorris@namei.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/mm.h linux-source-2.6.26/include/linux/mm.h
+--- linux-source-2.6.26.orig/include/linux/mm.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/mm.h	2009-09-29 23:26:05.000000000 -0600
+@@ -563,12 +563,10 @@ static inline void set_page_links(struct
+  */
+ static inline unsigned long round_hint_to_min(unsigned long hint)
+ {
+-#ifdef CONFIG_SECURITY
+ 	hint &= PAGE_MASK;
+ 	if (((void *)hint != NULL) &&
+ 	    (hint < mmap_min_addr))
+ 		return PAGE_ALIGN(mmap_min_addr);
+-#endif
+ 	return hint;
+ }
+ 
+diff -urpN linux-source-2.6.26.orig/include/linux/security.h linux-source-2.6.26/include/linux/security.h
+--- linux-source-2.6.26.orig/include/linux/security.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/security.h	2009-09-29 23:26:05.000000000 -0600
+@@ -2135,6 +2135,8 @@ static inline int security_file_mmap(str
+ 				     unsigned long addr,
+ 				     unsigned long addr_only)
+ {
++	if ((addr < mmap_min_addr) && !capable(CAP_SYS_RAWIO))
++		return -EACCES;
+ 	return 0;
+ }
+ 
+diff -urpN linux-source-2.6.26.orig/kernel/sysctl.c linux-source-2.6.26/kernel/sysctl.c
+--- linux-source-2.6.26.orig/kernel/sysctl.c	2009-08-18 23:15:11.000000000 -0600
++++ linux-source-2.6.26/kernel/sysctl.c	2009-09-29 23:26:05.000000000 -0600
+@@ -1093,7 +1093,6 @@ static struct ctl_table vm_table[] = {
+ 		.strategy	= &sysctl_jiffies,
+ 	},
+ #endif
+-#ifdef CONFIG_SECURITY
+ 	{
+ 		.ctl_name	= CTL_UNNUMBERED,
+ 		.procname	= "mmap_min_addr",
+@@ -1102,7 +1101,6 @@ static struct ctl_table vm_table[] = {
+ 		.mode		= 0644,
+ 		.proc_handler	= &proc_doulongvec_minmax,
+ 	},
+-#endif
+ #ifdef CONFIG_NUMA
+ 	{
+ 		.ctl_name	= CTL_UNNUMBERED,
+diff -urpN linux-source-2.6.26.orig/mm/Kconfig linux-source-2.6.26/mm/Kconfig
+--- linux-source-2.6.26.orig/mm/Kconfig	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/Kconfig	2009-09-29 23:28:51.000000000 -0600
+@@ -205,3 +205,23 @@ config NR_QUICK
+ config VIRT_TO_BUS
+ 	def_bool y
+ 	depends on !ARCH_NO_VIRT_TO_BUS
++
++config DEFAULT_MMAP_MIN_ADDR
++        int "Low address space to protect from user allocation"
++        default 4096
++        help
++	  This is the portion of low virtual memory which should be protected
++	  from userspace allocation.  Keeping a user from writing to low pages
++	  can help reduce the impact of kernel NULL pointer bugs.
++
++	  For most ia64, ppc64 and x86 users with lots of address space
++	  a value of 65536 is reasonable and should cause no problems.
++	  On arm and other archs it should not be higher than 32768.
++	  Programs which use vm86 functionality would either need additional
++	  permissions from either the LSM or the capabilities module or have
++	  this protection disabled.
++
++	  This value can be changed after boot using the
++	  /proc/sys/vm/mmap_min_addr tunable.
++
++
+diff -urpN linux-source-2.6.26.orig/mm/mmap.c linux-source-2.6.26/mm/mmap.c
+--- linux-source-2.6.26.orig/mm/mmap.c	2009-08-18 23:15:11.000000000 -0600
++++ linux-source-2.6.26/mm/mmap.c	2009-09-29 23:26:05.000000000 -0600
+@@ -82,6 +82,9 @@ int sysctl_overcommit_ratio = 50;	/* def
+ int sysctl_max_map_count __read_mostly = DEFAULT_MAX_MAP_COUNT;
+ atomic_long_t vm_committed_space = ATOMIC_LONG_INIT(0);
+ 
++/* amount of vm to protect from userspace access */
++unsigned long mmap_min_addr = CONFIG_DEFAULT_MMAP_MIN_ADDR;
++
+ /*
+  * Check that a process has enough memory to allocate a new virtual
+  * mapping. 0 means there is enough memory for the allocation to
+diff -urpN linux-source-2.6.26.orig/security/Kconfig linux-source-2.6.26/security/Kconfig
+--- linux-source-2.6.26.orig/security/Kconfig	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/security/Kconfig	2009-09-29 23:26:05.000000000 -0600
+@@ -101,28 +101,8 @@ config SECURITY_ROOTPLUG
+ 
+ 	  See <http://www.linuxjournal.com/article.php?sid=6279> for
+ 	  more information about this module.
+-	  
+-	  If you are unsure how to answer this question, answer N.
+-
+-config SECURITY_DEFAULT_MMAP_MIN_ADDR
+-        int "Low address space to protect from user allocation"
+-        depends on SECURITY
+-        default 0
+-        help
+-	  This is the portion of low virtual memory which should be protected
+-	  from userspace allocation.  Keeping a user from writing to low pages
+-	  can help reduce the impact of kernel NULL pointer bugs.
+-
+-	  For most ia64, ppc64 and x86 users with lots of address space
+-	  a value of 65536 is reasonable and should cause no problems.
+-	  On arm and other archs it should not be higher than 32768.
+-	  Programs which use vm86 functionality would either need additional
+-	  permissions from either the LSM or the capabilities module or have
+-	  this protection disabled.
+-
+-	  This value can be changed after boot using the
+-	  /proc/sys/vm/mmap_min_addr tunable.
+ 
++	  If you are unsure how to answer this question, answer N.
+ 
+ source security/selinux/Kconfig
+ source security/smack/Kconfig
+diff -urpN linux-source-2.6.26.orig/security/security.c linux-source-2.6.26/security/security.c
+--- linux-source-2.6.26.orig/security/security.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/security/security.c	2009-09-29 23:26:05.000000000 -0600
+@@ -26,9 +26,6 @@ extern void security_fixup_ops(struct se
+ 
+ struct security_operations *security_ops;	/* Initialized to NULL */
+ 
+-/* amount of vm to protect from userspace access */
+-unsigned long mmap_min_addr = CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR;
+-
+ static inline int verify(struct security_operations *ops)
+ {
+ 	/* verify the security_operations structure exists */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sunrpc-fix-performance-regression-in-rpc-auth-code.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sunrpc-fix-performance-regression-in-rpc-auth-code.patch
@@ -0,0 +1,57 @@
+commit 23918b03060f6e572168fdde1798a905679d2e06
+Author: Trond Myklebust <Trond.Myklebust@netapp.com>
+Date:   Thu Nov 20 16:06:21 2008 -0500
+
+    SUNRPC: Fix a performance regression in the RPC authentication code
+    
+    Fix a regression reported by Max Kellermann whereby kernel profiling
+    showed that his clients were spending 45% of their time in
+    rpcauth_lookup_credcache.
+    
+    It turns out that although his processes had identical uid/gid/groups,
+    generic_match() was failing to detect this, because the task->group_info
+    pointers were not shared. This again lead to the creation of a huge number
+    of identical credentials at the RPC layer.
+    
+    The regression is fixed by comparing the contents of task->group_info
+    if the actual pointers are not identical.
+    
+    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/net/sunrpc/auth_generic.c b/net/sunrpc/auth_generic.c
+index 744b79f..4028502 100644
+--- a/net/sunrpc/auth_generic.c
++++ b/net/sunrpc/auth_generic.c
+@@ -133,13 +133,29 @@ static int
+ generic_match(struct auth_cred *acred, struct rpc_cred *cred, int flags)
+ {
+ 	struct generic_cred *gcred = container_of(cred, struct generic_cred, gc_base);
++	int i;
+ 
+ 	if (gcred->acred.uid != acred->uid ||
+ 	    gcred->acred.gid != acred->gid ||
+-	    gcred->acred.group_info != acred->group_info ||
+ 	    gcred->acred.machine_cred != acred->machine_cred)
+-		return 0;
++		goto out_nomatch;
++
++	/* Optimisation in the case where pointers are identical... */
++	if (gcred->acred.group_info == acred->group_info)
++		goto out_match;
++
++	/* Slow path... */
++	if (gcred->acred.group_info->ngroups != acred->group_info->ngroups)
++		goto out_nomatch;
++	for (i = 0; i < gcred->acred.group_info->ngroups; i++) {
++		if (GROUP_AT(gcred->acred.group_info, i) !=
++				GROUP_AT(acred->group_info, i))
++			goto out_nomatch;
++	}
++out_match:
+ 	return 1;
++out_nomatch:
++	return 0;
+ }
+ 
+ void __init rpc_init_generic_auth(void)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/softlockup-fix-false-positives-on-nohz-idle.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/softlockup-fix-false-positives-on-nohz-idle.patch
@@ -0,0 +1,46 @@
+From 02ff375590ac4140d88afc76505df1ad45c6af59 Mon Sep 17 00:00:00 2001
+From: Ingo Molnar <mingo@elte.hu>
+Date: Mon, 12 May 2008 15:43:53 +0200
+Subject: [PATCH] softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds
+
+Fix (probably theoretical only) rq->clock update bug:
+in tick_nohz_update_jiffies() [which is called on all irq
+entry on all cpus where the irq entry hits an idle cpu] we
+call touch_softlockup_watchdog() before we update jiffies.
+That works fine most of the time when idle timeouts are within
+60 seconds. But when an idle timeout is beyond 60 seconds,
+jiffies is updated with a jump of more than 60 seconds,
+which causes a jump in cpu-clock of more than 60 seconds,
+triggering a false positive.
+
+Reported-by: David Miller <davem@davemloft.net>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+---
+ kernel/time/tick-sched.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
+index b854a89..28abad6 100644
+--- a/kernel/time/tick-sched.c
++++ b/kernel/time/tick-sched.c
+@@ -133,8 +133,6 @@ void tick_nohz_update_jiffies(void)
+ 	if (!ts->tick_stopped)
+ 		return;
+ 
+-	touch_softlockup_watchdog();
+-
+ 	cpu_clear(cpu, nohz_cpu_mask);
+ 	now = ktime_get();
+ 	ts->idle_waketime = now;
+@@ -142,6 +140,8 @@ void tick_nohz_update_jiffies(void)
+ 	local_irq_save(flags);
+ 	tick_do_update_jiffies64(now);
+ 	local_irq_restore(flags);
++
++	touch_softlockup_watchdog();
+ }
+ 
+ void tick_nohz_stop_idle(int cpu)
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sound-enable-snoop-for-nvidia-hda.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sound-enable-snoop-for-nvidia-hda.patch
@@ -0,0 +1,44 @@
+From 320dcc30f498e0a8b282b14cf0feed1897ea3b34 Mon Sep 17 00:00:00 2001
+From: Peer Chen <peerchen@gmail.com>
+Date: Wed, 20 Aug 2008 16:43:24 -0700
+Subject: [PATCH] ALSA: hda_intel: enable snoop for nvidia HDA controller
+
+Enable the snoop for nvidia hda controller to avoid data coherence issue.
+
+Signed-off-by: Peer Chen <peerchen@gmail.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ sound/pci/hda/hda_intel.c |    9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
+index a73d6ca..1c53e33 100644
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -278,6 +278,9 @@ enum {
+ /* Defines for Nvidia HDA support */
+ #define NVIDIA_HDA_TRANSREG_ADDR      0x4e
+ #define NVIDIA_HDA_ENABLE_COHBITS     0x0f
++#define NVIDIA_HDA_ISTRM_COH          0x4d
++#define NVIDIA_HDA_OSTRM_COH          0x4c
++#define NVIDIA_HDA_ENABLE_COHBIT      0x01
+ 
+ /* Defines for Intel SCH HDA snoop control */
+ #define INTEL_SCH_HDA_DEVC      0x78
+@@ -900,6 +903,12 @@ static void azx_init_pci(struct azx *chip)
+ 		update_pci_byte(chip->pci,
+ 				NVIDIA_HDA_TRANSREG_ADDR,
+ 				0x0f, NVIDIA_HDA_ENABLE_COHBITS);
++		update_pci_byte(chip->pci,
++				NVIDIA_HDA_ISTRM_COH,
++				0x01, NVIDIA_HDA_ENABLE_COHBIT);
++		update_pci_byte(chip->pci,
++				NVIDIA_HDA_OSTRM_COH,
++				0x01, NVIDIA_HDA_ENABLE_COHBIT);
+ 		break;
+ 	case AZX_DRIVER_SCH:
+ 		pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop);
+-- 
+1.6.2
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/sunrpc-add-sv_maxconn-field-to-svc_serv.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/sunrpc-add-sv_maxconn-field-to-svc_serv.patch
@@ -0,0 +1,96 @@
+commit c9233eb7b0b11ef176d4bf68da2ce85464b6ec39
+Author: Jeff Layton <jlayton@redhat.com>
+Date:   Mon Oct 20 11:51:57 2008 -0400
+
+    sunrpc: add sv_maxconn field to svc_serv (try #3)
+    
+    svc_check_conn_limits() attempts to prevent denial of service attacks
+    by having the service close old connections once it reaches a
+    threshold. This threshold is based on the number of threads in the
+    service:
+    
+    	(serv->sv_nrthreads + 3) * 20
+    
+    Once we reach this, we drop the oldest connections and a printk pops
+    to warn the admin that they should increase the number of threads.
+    
+    Increasing the number of threads isn't an option however for services
+    like lockd. We don't want to eliminate this check entirely for such
+    services but we need some way to increase this limit.
+    
+    This patch adds a sv_maxconn field to the svc_serv struct. When it's
+    set to 0, we use the current method to calculate the max number of
+    connections. RPC services can then set this on an as-needed basis.
+    
+    Signed-off-by: Jeff Layton <jlayton@redhat.com>
+    Acked-by: Neil Brown <neilb@suse.de>
+    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
+--- a/include/linux/sunrpc/svc.h	2008-07-13 15:51:29.000000000 -0600
++++ b/include/linux/sunrpc/svc.h	2009-03-22 14:48:06.000000000 -0600
+@@ -58,10 +58,13 @@ struct svc_serv {
+ 	struct svc_stat *	sv_stats;	/* RPC statistics */
+ 	spinlock_t		sv_lock;
+ 	unsigned int		sv_nrthreads;	/* # of server threads */
++	unsigned int		sv_maxconn;	/* max connections allowed or
++						 * '0' causing max to be based
++						 * on number of threads. */
++
+ 	unsigned int		sv_max_payload;	/* datagram payload size */
+ 	unsigned int		sv_max_mesg;	/* max_payload + 1 page for overheads */
+ 	unsigned int		sv_xdrsize;	/* XDR buffer size */
+-
+ 	struct list_head	sv_permsocks;	/* all permanent sockets */
+ 	struct list_head	sv_tempsocks;	/* all temporary sockets */
+ 	int			sv_tmpcnt;	/* count of temporary sockets */
+diff -urpN a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
+--- a/net/sunrpc/svc_xprt.c	2009-03-22 14:15:29.000000000 -0600
++++ b/net/sunrpc/svc_xprt.c	2009-03-22 14:48:06.000000000 -0600
+@@ -488,8 +488,10 @@ int svc_port_is_privileged(struct sockad
+ }
+ 
+ /*
+- * Make sure that we don't have too many active connections.  If we
+- * have, something must be dropped.
++ * Make sure that we don't have too many active connections. If we have,
++ * something must be dropped. It's not clear what will happen if we allow
++ * "too many" connections, but when dealing with network-facing software,
++ * we have to code defensively. Here we do that by imposing hard limits.
+  *
+  * There's no point in trying to do random drop here for DoS
+  * prevention. The NFS clients does 1 reconnect in 15 seconds. An
+@@ -498,19 +500,27 @@ int svc_port_is_privileged(struct sockad
+  * The only somewhat efficient mechanism would be if drop old
+  * connections from the same IP first. But right now we don't even
+  * record the client IP in svc_sock.
++ *
++ * single-threaded services that expect a lot of clients will probably
++ * need to set sv_maxconn to override the default value which is based
++ * on the number of threads
+  */
+ static void svc_check_conn_limits(struct svc_serv *serv)
+ {
+-	if (serv->sv_tmpcnt > (serv->sv_nrthreads+3)*20) {
++	unsigned int limit = serv->sv_maxconn ? serv->sv_maxconn :
++				(serv->sv_nrthreads+3) * 20;
++
++	if (serv->sv_tmpcnt > limit) {
+ 		struct svc_xprt *xprt = NULL;
+ 		spin_lock_bh(&serv->sv_lock);
+ 		if (!list_empty(&serv->sv_tempsocks)) {
+ 			if (net_ratelimit()) {
+ 				/* Try to help the admin */
+ 				printk(KERN_NOTICE "%s: too many open  "
+-				       "connections, consider increasing the "
+-				       "number of nfsd threads\n",
+-				       serv->sv_name);
++				       "connections, consider increasing %s\n",
++				       serv->sv_name, serv->sv_maxconn ?
++				       "the max number of connections." :
++				       "the number of threads.");
+ 			}
+ 			/*
+ 			 * Always select the oldest connection. It's not fair,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/x86-acpi-sleep-x61s.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/x86-acpi-sleep-x61s.patch
@@ -0,0 +1,77 @@
+commit 3bf2e77453a87c22eb57ed4926760ac131c84459
+Author: H. Peter Anvin <hpa@zytor.com>
+Date:   Sun Jul 13 21:18:02 2008 -0700
+
+    x86, suspend, acpi: enter Big Real Mode
+    
+    The explanation for recent video BIOS suspend quirk failures is that
+    the VESA BIOS expects to be entered in Big Real Mode (*.limit = 0xffffffff)
+    instead of ordinary Real Mode (*.limit = 0xffff).
+    
+    This patch changes the segment descriptors to Big Real Mode instead.
+    
+    The segment descriptor registers (what Intel calls "segment cache") is
+    always active.  The only thing that changes based on CR0.PE is how it is
+    *loaded* and the interpretation of the CS flags.
+    
+    The segment descriptor registers contain of the following sub-registers:
+    selector (the "visible" part), base, limit and flags.  In protected mode
+    or long mode, they are loaded from descriptors (or fs.base or gs.base can
+    be manipulated directly in long mode.)  In real mode, the only thing
+    changed by a segment register load is the selector and the base, where the
+    base <- selector << 4.  In particular, *the limit and the flags are not
+    changed*.
+    
+    As far as the handling of the CS flags: a code segment cannot be writable
+    in protected mode, whereas it is "just another segment" in real mode, so
+    fixees some kind of quirk that kicks in for this when CR0.PE <- 0.  I'm
+    not sure if this is accomplished by actually changing the cs.flags register
+    or just changing the interpretation; it might be something that is
+    CPU-specific.  In particular, the Transmeta CPUs had an explicit "CS is
+    writable if you're in real mode" override, so even if you had loaded CS
+    with an execute-only segment it'd be writable (but not readable!) on return
+    to real mode.  I'm not at all sure if that is how other CPUs behave.
+    
+    Signed-off-by: "H. Peter Anvin" <hpa@zytor.com>
+    Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+    regression concering 4b4f7280 see
+    http://bugzilla.kernel.org/show_bug.cgi?id=11064
+    http://marc.info/?l=linux-kernel&m=121584459809675&w=4
+
+diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
+index 36af01f..130711f 100644
+--- a/arch/x86/kernel/acpi/sleep.c
++++ b/arch/x86/kernel/acpi/sleep.c
+@@ -23,6 +23,15 @@ static unsigned long acpi_realmode;
+ static char temp_stack[10240];
+ #endif
+ 
++/* XXX: this macro should move to asm-x86/segment.h and be shared with the
++   boot code... */
++#define GDT_ENTRY(flags, base, limit)		\
++	(((u64)(base & 0xff000000) << 32) |	\
++	 ((u64)flags << 40) |			\
++	 ((u64)(limit & 0x00ff0000) << 32) |	\
++	 ((u64)(base & 0x00ffffff) << 16) |	\
++	 ((u64)(limit & 0x0000ffff)))
++
+ /**
+  * acpi_save_state_mem - save kernel state
+  *
+@@ -58,11 +67,11 @@ int acpi_save_state_mem(void)
+ 			((char *)&header->wakeup_gdt - (char *)acpi_realmode))
+ 				<< 16);
+ 	/* GDT[1]: real-mode-like code segment */
+-	header->wakeup_gdt[1] = (0x009bULL << 40) +
+-		((u64)acpi_wakeup_address << 16) + 0xffff;
++	header->wakeup_gdt[1] =
++		GDT_ENTRY(0x809b, acpi_wakeup_address, 0xfffff);
+ 	/* GDT[2]: real-mode-like data segment */
+-	header->wakeup_gdt[2] = (0x0093ULL << 40) +
+-		((u64)acpi_wakeup_address << 16) + 0xffff;
++	header->wakeup_gdt[2] =
++		GDT_ENTRY(0x8093, acpi_wakeup_address, 0xfffff);
+ 
+ #ifndef CONFIG_64BIT
+ 	store_gdt((struct desc_ptr *)&header->pmode_gdt);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/tc-fix-pad-leak.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/tc-fix-pad-leak.patch
@@ -0,0 +1,26 @@
+commit 16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b
+Author: Eric Dumazet <eric.dumazet@gmail.com>
+Date:   Wed Sep 2 02:40:09 2009 +0000
+
+    tc: Fix unitialized kernel memory leak
+    
+    Three bytes of uninitialized kernel memory are currently leaked to user
+    
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Reviewed-by: Jiri Pirko <jpirko@redhat.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/net/sched/sch_api.c linux-source-2.6.26/net/sched/sch_api.c
+--- linux-source-2.6.26.orig/net/sched/sch_api.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/sched/sch_api.c	2009-10-27 21:31:09.000000000 -0600
+@@ -1080,6 +1080,8 @@ static int tc_fill_tclass(struct sk_buff
+ 	nlh = NLMSG_NEW(skb, pid, seq, event, sizeof(*tcm), flags);
+ 	tcm = NLMSG_DATA(nlh);
+ 	tcm->tcm_family = AF_UNSPEC;
++	tcm->tcm__pad1 = 0;
++	tcm->tcm__pad2 = 0;
+ 	tcm->tcm_ifindex = q->dev->ifindex;
+ 	tcm->tcm_parent = q->handle;
+ 	tcm->tcm_handle = q->handle;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/svc-Clean-up-deferred-requests-on-transport-destruc.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/svc-Clean-up-deferred-requests-on-transport-destruc.patch
@@ -0,0 +1,83 @@
+From 22945e4a1c7454c97f5d8aee1ef526c83fef3223 Mon Sep 17 00:00:00 2001
+From: Tom Tucker <tom@opengridcomputing.com>
+Date: Mon, 5 Jan 2009 15:21:19 -0600
+Subject: [PATCH] svc: Clean up deferred requests on transport destruction
+
+A race between svc_revisit and svc_delete_xprt can result in
+deferred requests holding references on a transport that can never be
+recovered because dead transports are not enqueued for subsequent
+processing.
+
+Check for XPT_DEAD in revisit to clean up completing deferrals on a dead
+transport and sweep a transport's deferred queue to do the same for queued
+but unprocessed deferrals.
+
+Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
+Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
+---
+ net/sunrpc/svc_xprt.c |   25 ++++++++++++++++++-------
+ 1 files changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
+index 2961961..a78b879 100644
+--- a/net/sunrpc/svc_xprt.c
++++ b/net/sunrpc/svc_xprt.c
+@@ -850,6 +850,11 @@ static void svc_age_temp_xprts(unsigned long closure)
+ void svc_delete_xprt(struct svc_xprt *xprt)
+ {
+ 	struct svc_serv	*serv = xprt->xpt_server;
++	struct svc_deferred_req *dr;
++
++	/* Only do this once */
++	if (test_and_set_bit(XPT_DEAD, &xprt->xpt_flags))
++		return;
+ 
+ 	dprintk("svc: svc_delete_xprt(%p)\n", xprt);
+ 	xprt->xpt_ops->xpo_detach(xprt);
+@@ -864,12 +869,16 @@ void svc_delete_xprt(struct svc_xprt *xprt)
+ 	 * while still attached to a queue, the queue itself
+ 	 * is about to be destroyed (in svc_destroy).
+ 	 */
+-	if (!test_and_set_bit(XPT_DEAD, &xprt->xpt_flags)) {
+-		BUG_ON(atomic_read(&xprt->xpt_ref.refcount) < 2);
+-		if (test_bit(XPT_TEMP, &xprt->xpt_flags))
+-			serv->sv_tmpcnt--;
++	if (test_bit(XPT_TEMP, &xprt->xpt_flags))
++		serv->sv_tmpcnt--;
++
++	for (dr = svc_deferred_dequeue(xprt); dr;
++	     dr = svc_deferred_dequeue(xprt)) {
+ 		svc_xprt_put(xprt);
++		kfree(dr);
+ 	}
++
++	svc_xprt_put(xprt);
+ 	spin_unlock_bh(&serv->sv_lock);
+ }
+ 
+@@ -915,17 +924,19 @@ static void svc_revisit(struct cache_deferred_req *dreq, int too_many)
+ 		container_of(dreq, struct svc_deferred_req, handle);
+ 	struct svc_xprt *xprt = dr->xprt;
+ 
+-	if (too_many) {
++	spin_lock(&xprt->xpt_lock);
++	set_bit(XPT_DEFERRED, &xprt->xpt_flags);
++	if (too_many || test_bit(XPT_DEAD, &xprt->xpt_flags)) {
++		spin_unlock(&xprt->xpt_lock);
++		dprintk("revisit canceled\n");
+ 		svc_xprt_put(xprt);
+ 		kfree(dr);
+ 		return;
+ 	}
+ 	dprintk("revisit queued\n");
+ 	dr->xprt = NULL;
+-	spin_lock(&xprt->xpt_lock);
+ 	list_add(&dr->handle.recent, &xprt->xpt_deferred);
+ 	spin_unlock(&xprt->xpt_lock);
+-	set_bit(XPT_DEFERRED, &xprt->xpt_flags);
+ 	svc_xprt_enqueue(xprt);
+ 	svc_xprt_put(xprt);
+ }
+-- 
+1.5.6.5
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/usb-unusual-dev-kyocera-contax-sl300r-t.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/usb-unusual-dev-kyocera-contax-sl300r-t.patch
@@ -0,0 +1,34 @@
+commit 74511bb340059be5a3fceb032213c7f325344694
+Author: Jens Taprogge <jens.taprogge@taprogge.org>
+Date:   Sun Oct 26 18:16:09 2008 +0100
+
+    USB: Unusual dev for the "Kyocera / Contax SL300R T*" digital camera.
+    
+    The camera reports an incorrect size and fails to handle PREVENT-ALLOW
+    MEDIUM REMOVAL commands.  The patch marks the camera as an unusual dev
+    and adds the flags to enable the workarounds for both shortcomings.
+    
+    Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org>
+    Cc: Alan Stern <stern@rowland.harvard.edu>
+    Cc: Phil Dibowitz <phil@ipom.com>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/usb/storage/unusual_devs.h linux-source-2.6.26/drivers/usb/storage/unusual_devs.h
+--- linux-source-2.6.26.orig/drivers/usb/storage/unusual_devs.h	2009-02-07 16:43:12.000000000 -0700
++++ linux-source-2.6.26/drivers/usb/storage/unusual_devs.h	2009-03-08 22:10:12.000000000 -0600
+@@ -307,6 +307,13 @@ UNUSUAL_DEV(  0x0482, 0x0103, 0x0100, 0x
+ 		"Finecam S5",
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
+ 
++/* Patch submitted by Jens Taprogge <jens.taprogge@taprogge.org> */
++UNUSUAL_DEV(  0x0482, 0x0107, 0x0100, 0x0100,
++		"Kyocera",
++		"CONTAX SL300R T*",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE),
++
+ /* Reported by Paul Stewart <stewart@wetlogic.net>
+  * This entry is needed because the device reports Sub=ff */
+ UNUSUAL_DEV(  0x04a4, 0x0004, 0x0001, 0x0001,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/tvaudio-treble-bass-control-oops.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/tvaudio-treble-bass-control-oops.patch
@@ -0,0 +1,126 @@
+commit 01a1a3cc1e3fbe718bd06a2a5d4d1a2d0fb4d7d9
+Author: Mauro Carvalho Chehab <mchehab@redhat.com>
+Date:   Fri Nov 14 10:46:59 2008 -0300
+
+    V4L/DVB (9624): CVE-2008-5033: fix OOPS on tvaudio when controlling bass/treble
+    
+    This bug were supposed to be fixed by 5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1,
+    where a call to NULL happens.
+    
+    Not all tvaudio chips allow controlling bass/treble. So, the driver
+    has a table with a flag to indicate if the chip does support it.
+    
+    Unfortunately, the handling of this logic were broken for a very long
+    time (probably since the first module version). Due to that, an OOPS
+    were generated for devices that don't support bass/treble.
+    
+    This were the resulting OOPS message before the patch, with debug messages
+    enabled:
+    
+    tvaudio' 1-005b: VIDIOC_S_CTRL
+    BUG: unable to handle kernel NULL pointer dereference at 00000000
+    IP: [<00000000>]
+    *pde = 22fda067 *pte = 00000000
+    Oops: 0000 [#1] SMP
+    Modules linked in: snd_hda_intel snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device
+    snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_hwdep snd soundcore tuner_simple tuner_types tea5767 tuner
+    tvaudio bttv bridgebnep rfcomm l2cap bluetooth it87 hwmon_vid hwmon fuse sunrpc ipt_REJECT
+    nf_conntrack_ipv4 iptable_filter ip_tables ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack
+    ip6table_filter ip6_tables x_tables ipv6 dm_mirrordm_multipath dm_mod configfs videodev v4l1_compat
+    ir_common 8139cp compat_ioctl32 v4l2_common 8139too videobuf_dma_sg videobuf_core mii btcx_risc tveeprom
+    i915 button snd_page_alloc serio_raw drm pcspkr i2c_algo_bit i2c_i801 i2c_core iTCO_wdt
+    iTCO_vendor_support sr_mod cdrom sg ata_generic pata_acpi ata_piix libata sd_mod scsi_mod ext3 jbdmbcache
+    uhci_hcd ohci_hcd ehci_hcd [last unloaded: soundcore]
+    
+    Pid: 15413, comm: qv4l2 Not tainted (2.6.25.14-108.fc9.i686 #1)
+    EIP: 0060:[<00000000>] EFLAGS: 00210246 CPU: 0
+    EIP is at 0x0
+    EAX: 00008000 EBX: ebd21600 ECX: e2fd9ec4 EDX: 00200046
+    ESI: f8c0f0c4 EDI: f8c0f0c4 EBP: e2fd9d50 ESP: e2fd9d2c
+     DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
+    Process qv4l2 (pid: 15413, ti=e2fd9000 task=ebe44000 task.ti=e2fd9000)
+    Stack: f8c0c6ae e2ff2a00 00000d00 e2fd9ec4 ebc4e000 e2fd9d5c f8c0c448 00000000
+           f899c12a e2fd9d5c f899c154 e2fd9d68 e2fd9d80 c0560185 e2fd9d88 f8f3e1d8
+           f8f3e1dc ebc4e034 f8f3e18c e2fd9ec4 00000000 e2fd9d90 f899c286 c008561c
+    Call Trace:
+     [<f8c0c6ae>] ? chip_command+0x266/0x4b6 [tvaudio]
+     [<f8c0c448>] ? chip_command+0x0/0x4b6 [tvaudio]
+     [<f899c12a>] ? i2c_cmd+0x0/0x2f [i2c_core]
+     [<f899c154>] ? i2c_cmd+0x2a/0x2f [i2c_core]
+     [<c0560185>] ? device_for_each_child+0x21/0x49
+     [<f899c286>] ? i2c_clients_command+0x1c/0x1e [i2c_core]
+     [<f8f283d8>] ? bttv_call_i2c_clients+0x14/0x16 [bttv]
+     [<f8f23601>] ? bttv_s_ctrl+0x1bc/0x313 [bttv]
+     [<f8f23445>] ? bttv_s_ctrl+0x0/0x313 [bttv]
+     [<f8b6096d>] ? __video_do_ioctl+0x1f84/0x3726 [videodev]
+     [<c05abb4e>] ? sock_aio_write+0x100/0x10d
+     [<c041b23e>] ? kmap_atomic_prot+0x1dd/0x1df
+     [<c043a0c9>] ? enqueue_hrtimer+0xc2/0xcd
+     [<c04f4fa4>] ? copy_from_user+0x39/0x121
+     [<f8b622b9>] ? __video_ioctl2+0x1aa/0x24a [videodev]
+     [<c04054fd>] ? do_notify_resume+0x768/0x795
+     [<c043c0f7>] ? getnstimeofday+0x34/0xd1
+     [<c0437b77>] ? autoremove_wake_function+0x0/0x33
+     [<f8b62368>] ? video_ioctl2+0xf/0x13 [videodev]
+     [<c048c6f0>] ? vfs_ioctl+0x50/0x69
+     [<c048c942>] ? do_vfs_ioctl+0x239/0x24c
+     [<c048c995>] ? sys_ioctl+0x40/0x5b
+     [<c0405bf2>] ? syscall_call+0x7/0xb
+     [<c0620000>] ? cpuid4_cache_sysfs_exit+0x3d/0x69
+     =======================
+    Code:  Bad EIP value.
+    EIP: [<00000000>] 0x0 SS:ESP 0068:e2fd9d2c
+    
+    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/media/video/tvaudio.c linux-source-2.6.26/drivers/media/video/tvaudio.c
+--- linux-source-2.6.26.orig/drivers/media/video/tvaudio.c	2008-11-17 16:42:39.000000000 -0700
++++ linux-source-2.6.26/drivers/media/video/tvaudio.c	2008-11-17 23:25:12.000000000 -0700
+@@ -1589,13 +1589,13 @@ static int tvaudio_get_ctrl(struct CHIPS
+ 		return 0;
+ 	}
+ 	case V4L2_CID_AUDIO_BASS:
+-		if (desc->flags & CHIP_HAS_BASSTREBLE)
++		if (!(desc->flags & CHIP_HAS_BASSTREBLE))
+ 			break;
+ 		ctrl->value = chip->bass;
+ 		return 0;
+ 	case V4L2_CID_AUDIO_TREBLE:
+-		if (desc->flags & CHIP_HAS_BASSTREBLE)
+-			return -EINVAL;
++		if (!(desc->flags & CHIP_HAS_BASSTREBLE))
++			break;
+ 		ctrl->value = chip->treble;
+ 		return 0;
+ 	}
+@@ -1655,16 +1655,15 @@ static int tvaudio_set_ctrl(struct CHIPS
+ 		return 0;
+ 	}
+ 	case V4L2_CID_AUDIO_BASS:
+-		if (desc->flags & CHIP_HAS_BASSTREBLE)
++		if (!(desc->flags & CHIP_HAS_BASSTREBLE))
+ 			break;
+ 		chip->bass = ctrl->value;
+ 		chip_write(chip,desc->bassreg,desc->bassfunc(chip->bass));
+ 
+ 		return 0;
+ 	case V4L2_CID_AUDIO_TREBLE:
+-		if (desc->flags & CHIP_HAS_BASSTREBLE)
+-			return -EINVAL;
+-
++		if (!(desc->flags & CHIP_HAS_BASSTREBLE))
++			break;
+ 		chip->treble = ctrl->value;
+ 		chip_write(chip,desc->treblereg,desc->treblefunc(chip->treble));
+ 
+@@ -1708,7 +1707,7 @@ static int chip_command(struct i2c_clien
+ 				break;
+ 			case V4L2_CID_AUDIO_BASS:
+ 			case V4L2_CID_AUDIO_TREBLE:
+-				if (desc->flags & CHIP_HAS_BASSTREBLE)
++				if (!(desc->flags & CHIP_HAS_BASSTREBLE))
+ 					return -EINVAL;
+ 				break;
+ 			default:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/usb-storage-unusual_devs-updates.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/usb-storage-unusual_devs-updates.patch
@@ -0,0 +1,432 @@
+commit 0047ca0a45c6a481abd467fb52d2a480ffc8c6b9
+Author: Paul Ready <lxtwin@homecall.co.uk>
+Date:   Wed Oct 29 14:25:50 2008 -0700
+
+    USB: add Nikon D300 camera to unusual_devs
+    
+    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11685
+    
+    When A Nikon D300 camera is connected to a system it is seen in
+    /proc/bus/pci/devices but is not accessible.
+    
+    This is seen in the above file:
+    
+    T:  Bus=01 Lev=01 Prnt=01 Port=05 Cnt=03 Dev#= 11 Spd=480 MxCh= 0
+    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
+    P:  Vendor=04b0 ProdID=041a Rev= 1.03
+    S:  Manufacturer=NIKON
+    S:  Product=NIKON DSC D300
+    S:  SerialNumber=000008014379
+    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
+    I:* If#= 0 Alt= 0 #EPs= 3 Cls=06(still) Sub=01 Prot=01 Driver=usbfs
+    E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
+    E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
+    E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
+    
+    Cc: Alan Stern <stern@rowland.harvard.edu>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit 48e1a540e1e9ea62a2b3088a69ecf934f3172b14
+Author: Ozan Sener <themgzzy@gmail.com>
+Date:   Mon Dec 8 19:15:45 2008 +0200
+
+    USB: Unusual devs patch for Nokia 3500c
+    
+    T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
+    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
+    P:  Vendor=0421 ProdID=0060 Rev= 5.51
+    S:  Manufacturer=Nokia
+    S:  Product=Nokia 3500c
+    S:  SerialNumber=357687010280751
+    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
+    I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
+    E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
+    E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
+    
+    From: Ozan Sener <themgzzy@gmail.com>
+    Cc: stable <stable@kernel.org>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit ed4103b3fcf38985995e732dab6c3e2b9693f6cb
+Author: Ricky Wong <evilbladewarrior@gmail.com>
+Date:   Tue Nov 4 19:13:45 2008 +0800
+
+    usb: unusual devs patch for Nokia 7610 Supernova
+    
+    Additional sectors were reported by the Nokia 7610 Supernova phone in
+    usb storage mode. The following patch rectifies the aforementioned
+    problem.
+    
+    Signed-off-by: Ricky Wong Yung Fei <evilbladewarrior@gmail.com>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit a6b7b034d7f20761c55743be2acb762ce09a0c6b
+Author: Alan Stern <stern@rowland.harvard.edu>
+Date:   Fri Nov 21 16:15:12 2008 -0500
+
+    USB: storage: unusual_devs entry for Mio C520-GPS
+    
+    This patch (as1176) adds an unusual_devs entry for the Mio C520 GPS
+    unit.  Other devices also based on the Mitac hardware use the same USB
+    interface firmware, so the Vendor and Product names are generalized.
+    
+    This fixes Bugzilla #11583.
+    
+    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+    Tested-by: Tamas Kerecsen <kerecsen@bigfoot.com>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit 621b239d75b790ac66854d46b094874f69e6776e
+Author: Tobias Kunze Briseño <t@fictive.com>
+Date:   Mon Nov 24 11:28:31 2008 -0500
+
+    USB: usb-storage: unusual_devs entry for Nikon D2H
+    
+    This patch adds an unusual_devs entry for the Nikon D2H camera.
+    
+    From: Tobias Kunze Briseño <t@fictive.com>,
+    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit e8fab4ce763c36869624c5388714ff19c30a91a7
+Author: Frédéric Marchal <frederic.marchal@wowcompany.com>
+Date:   Mon Oct 13 14:00:11 2008 +0200
+
+    USB: Unusual dev for Mio moov 330 gps
+    
+    Here is an entry for the unusual_devs.h file to handle a Mio Moov 330 GPS that
+    stops responding when it is requested to transfer more than 64KB. The patch is
+    taken against kernel-2.6.27-git3.
+    
+    Signed-off-by: Frédéric Marchal <frederic.marchal@wowcompany.co
+    Signed-off-by: Phil Dibowitz <phil@ipom.com>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit af747c460b663a4b7795dc3f6897b5506fde6888
+Author: David Almaroad <dalmaroad@gmail.com>
+Date:   Mon Sep 22 15:00:11 2008 -0700
+
+    usb: unusual devs patch for Nokia 5310 Music Xpress
+    
+    The Nokia 5310 Music Xpress phone reports one too many sectors in
+    usb-storage mode.  This patch resolves that.
+    
+    Signed-off-by: David Almaroad <dalmaroad@gmail.com>
+    Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit d28525f8866244a77b677c0470d4859cb2b6c2a8
+Author: Alan Stern <stern@rowland.harvard.edu>
+Date:   Thu Aug 7 13:02:40 2008 -0400
+
+    usb-storage: unusual_devs entry for Nokia 5300
+    
+    This patch (as1120) adds an unusual_devs entry for the Nokia 5300.
+    Maybe once Nokia releases the Symbian code we'll be able to fix all
+    the problems it has with the USB mass-storage protocol.
+    
+    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+    Tested-by: Cedric Godin <cedric@belbone.be>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit 589afd3bec907f02c133d7b8185b8af534f14a8e
+Author: Alan Stern <stern@rowland.harvard.edu>
+Date:   Mon Nov 17 14:32:16 2008 -0500
+
+    USB: storage: update unusual_devs entries for Nokia 5300 and 5310
+    
+    This patch (as1168) updates the unusual_devs entry for the Nokia 5300.
+    According to Jorge Lucangeli Obes <t4m5yn@gmail.com>, some existing
+    models have a revision number lower than the lower limit of the
+    current entry.
+    
+    The patch also moves the entry for the Nokia 5310 to its correct place
+    in the file.
+    
+    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit 1393fce7189427bdb4d6115ca5566ca8d0fc86f3
+Author: CSÉCSY László <boobaa@frugalware.org>
+Date:   Tue Dec 9 23:39:14 2008 +0100
+
+    USB: storage: unusual_devs.h: Nokia 3109c addition
+    
+    2.6.26(.x, cannot remember) could handle the microSD card in my Nokia
+    3109c attached via USB as mass storage, 2.6.27(.x, up to and included
+    2.6.27.8) cannot. Please find the attached patch which fixes this
+    regression, and a copy of /proc/bus/usb/devices with my phone plugged in
+    running with this patch on Frugalware.
+    
+    T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
+    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
+    P:  Vendor=0421 ProdID=0063 Rev= 6.01
+    S:  Manufacturer=Nokia
+    S:  Product=Nokia 3109c
+    S:  SerialNumber=359561013742570
+    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
+    I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
+    E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
+    E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
+    
+    From: CSÉCSY László <boobaa@frugalware.org>
+    Cc: Phil Dibowitz <phil@ipom.com>
+    Cc: stable <stable@kernel.org>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit a4b188095912eee83d065f000dfe06f25919750b
+Author: Alan Stern <stern@rowland.harvard.edu>
+Date:   Mon Dec 1 10:23:43 2008 -0500
+
+    usb-storage: update unusual_devs entry for Nokia 5310
+    
+    This patch (as1179) updates the unusual_devs entry for Nokia's 5310
+    phone to include a more recent firmware revision.
+    
+    This fixes Bugzilla #12099.
+    
+    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+    Tested-by: Robson Roberto Souza Peixoto <robsonpeixoto@gmail.com>
+    Cc: stable <stable@kernel.org>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit f9dc8f99e5846606b1f475b3905eaf5ae1017c50
+Author: Alan Stern <stern@rowland.harvard.edu>
+Date:   Tue Nov 18 14:08:07 2008 -0500
+
+    usb-storage: clean up unusual_devs.h
+    
+    This patch (as1170) removes some duplicate entries in unusual_devs.h
+    and rearranges a few others to put the list in proper numerical order.
+    
+    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
+--- a/drivers/usb/storage/unusual_devs.h	2009-03-20 16:54:45.000000000 -0600
++++ b/drivers/usb/storage/unusual_devs.h	2009-03-20 16:55:37.000000000 -0600
+@@ -162,6 +162,28 @@ UNUSUAL_DEV(  0x0421, 0x0019, 0x0592, 0x
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_MAX_SECTORS_64 ),
+ 
++/* Reported by CSECSY Laszlo <boobaa@frugalware.org> */
++UNUSUAL_DEV(  0x0421, 0x0063, 0x0001, 0x0601,
++		"Nokia",
++		"Nokia 3109c",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_FIX_CAPACITY ),
++
++/* Patch for Nokia 5310 capacity */
++UNUSUAL_DEV(  0x0421, 0x006a, 0x0000, 0x0701,
++		"Nokia",
++		"5310",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_FIX_CAPACITY ),
++
++/* Submitted by Ricky Wong Yung Fei <evilbladewarrior@gmail.com> */
++/* Nokia 7610 Supernova - Too many sectors reported in usb storage mode */
++UNUSUAL_DEV(  0x0421, 0x00f5, 0x0000, 0x0470,
++		"Nokia",
++		"7610 Supernova",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_FIX_CAPACITY ),
++
+ /* Reported by Mario Rettig <mariorettig@web.de> */
+ UNUSUAL_DEV(  0x0421, 0x042e, 0x0100, 0x0100,
+ 		"Nokia",
+@@ -227,6 +249,13 @@ UNUSUAL_DEV(  0x0421, 0x0495, 0x0370, 0x
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_MAX_SECTORS_64 ),
+ 
++/* Reported by Cedric Godin <cedric@belbone.be> */
++UNUSUAL_DEV(  0x0421, 0x04b9, 0x0500, 0x0551,
++		"Nokia",
++		"5300",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_FIX_CAPACITY ),
++
+ /* Reported by Olaf Hering <olh@suse.de> from novell bug #105878 */
+ UNUSUAL_DEV(  0x0424, 0x0fdc, 0x0210, 0x0210,
+ 		"SMSC",
+@@ -277,6 +306,18 @@ UNUSUAL_DEV(  0x045a, 0x5210, 0x0101, 0x
+ 		US_SC_SCSI, US_PR_KARMA, rio_karma_init, 0),
+ #endif
+ 
++/* Reported by Tamas Kerecsen <kerecsen@bigfoot.com>
++ * Obviously the PROM has not been customized by the VAR;
++ * the Vendor and Product string descriptors are:
++ *	Generic Mass Storage (PROTOTYPE--Remember to change idVendor)
++ *	Generic Manufacturer (PROTOTYPE--Remember to change idVendor)
++ */
++UNUSUAL_DEV(  0x045e, 0xffff, 0x0000, 0x0000,
++		"Mitac",
++		"GPS",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_MAX_SECTORS_64 ),
++
+ /*
+  * This virtual floppy is found in Sun equipment (x4600, x4200m2, etc.)
+  * Reported by Pete Zaitcev <zaitcev@redhat.com>
+@@ -321,6 +362,15 @@ UNUSUAL_DEV(  0x04a4, 0x0004, 0x0001, 0x
+ 		"DVD-CAM DZ-MV100A Camcorder",
+ 		US_SC_SCSI, US_PR_CB, NULL, US_FL_SINGLE_LUN),
+ 
++/* BENQ DC5330
++ * Reported by Manuel Fombuena <mfombuena@ya.com> and
++ * Frank Copeland <fjc@thingy.apana.org.au> */
++UNUSUAL_DEV(  0x04a5, 0x3010, 0x0100, 0x0100,
++		"Tekom Technologies, Inc",
++		"300_CAMERA",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_IGNORE_RESIDUE ),
++
+ /* Patch for Nikon coolpix 2000
+  * Submitted by Fabien Cosse <fabien.cosse@wanadoo.fr>*/
+ UNUSUAL_DEV(  0x04b0, 0x0301, 0x0010, 0x0010,
+@@ -336,6 +386,13 @@ UNUSUAL_DEV(  0x04b0, 0x0401, 0x0200, 0x
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_CAPACITY),
+ 
++/* Reported by Tobias Kunze Briseno <t-linux@fictive.com> */
++UNUSUAL_DEV(  0x04b0, 0x0403, 0x0200, 0x0200,
++		"NIKON",
++		"NIKON DSC D2H",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_FIX_CAPACITY),
++
+ /* Reported by Milinevsky Dmitry <niam.niam@gmail.com> */
+ UNUSUAL_DEV(  0x04b0, 0x0409, 0x0100, 0x0100,
+ 		"NIKON",
+@@ -392,6 +449,13 @@ UNUSUAL_DEV(  0x04b0, 0x0417, 0x0100, 0x
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_CAPACITY),
+ 
++/* Reported by paul ready <lxtwin@homecall.co.uk> */
++UNUSUAL_DEV(  0x04b0, 0x0419, 0x0100, 0x0200,
++		"NIKON",
++		"NIKON DSC D300",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_FIX_CAPACITY),
++
+ /* Reported by Doug Maxey (dwm@austin.ibm.com) */
+ UNUSUAL_DEV(  0x04b3, 0x4001, 0x0110, 0x0110,
+ 		"IBM",
+@@ -399,15 +463,6 @@ UNUSUAL_DEV(  0x04b3, 0x4001, 0x0110, 0x
+ 		US_SC_DEVICE, US_PR_CB, NULL,
+ 		US_FL_MAX_SECTORS_MIN),
+ 
+-/* BENQ DC5330
+- * Reported by Manuel Fombuena <mfombuena@ya.com> and
+- * Frank Copeland <fjc@thingy.apana.org.au> */
+-UNUSUAL_DEV(  0x04a5, 0x3010, 0x0100, 0x0100,
+-		"Tekom Technologies, Inc",
+-		"300_CAMERA",
+-		US_SC_DEVICE, US_PR_DEVICE, NULL,
+-		US_FL_IGNORE_RESIDUE ),
+-
+ #ifdef CONFIG_USB_STORAGE_CYPRESS_ATACB
+ /* CY7C68300 : support atacb */
+ UNUSUAL_DEV(  0x04b4, 0x6830, 0x0000, 0x9999,
+@@ -726,15 +781,15 @@ UNUSUAL_DEV(  0x054c, 0x006d, 0x0000, 0x
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_INQUIRY ),
+ 
+-/* Submitted by Mike Alborn <malborn@deandra.homeip.net> */
+-UNUSUAL_DEV(  0x054c, 0x016a, 0x0000, 0x9999,
++/* Submitted by Frank Engel <frankie@cse.unsw.edu.au> */
++UNUSUAL_DEV(  0x054c, 0x0099, 0x0000, 0x9999,
+ 		"Sony",
+ 		"PEG Mass Storage",
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_INQUIRY ),
+-		
+-/* Submitted by Frank Engel <frankie@cse.unsw.edu.au> */
+-UNUSUAL_DEV(  0x054c, 0x0099, 0x0000, 0x9999,
++
++/* Submitted by Mike Alborn <malborn@deandra.homeip.net> */
++UNUSUAL_DEV(  0x054c, 0x016a, 0x0000, 0x9999,
+ 		"Sony",
+ 		"PEG Mass Storage",
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+@@ -1373,6 +1428,16 @@ UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xf
+ 		US_FL_SINGLE_LUN ),
+ #endif
+ 
++/*
++ * Pete Zaitcev <zaitcev@yahoo.com>, bz#164688.
++ * The device blatantly ignores LUN and returns 1 in GetMaxLUN.
++ */
++UNUSUAL_DEV( 0x0c45, 0x1060, 0x0100, 0x0100,
++		"Unknown",
++		"Unknown",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_SINGLE_LUN ),
++
+ /* Submitted by: Nick Sillik <n.sillik@temple.edu>
+  * Needed for OneTouch extension to usb-storage
+  *
+@@ -1390,16 +1455,6 @@ UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xf
+ 			0),
+ #endif
+ 
+-/*
+- * Pete Zaitcev <zaitcev@yahoo.com>, bz#164688.
+- * The device blatantly ignores LUN and returns 1 in GetMaxLUN.
+- */
+-UNUSUAL_DEV( 0x0c45, 0x1060, 0x0100, 0x0100,
+-		"Unknown",
+-		"Unknown",
+-		US_SC_DEVICE, US_PR_DEVICE, NULL,
+-		US_FL_SINGLE_LUN ),
+-
+ /* Submitted by Joris Struyve <joris@struyve.be> */
+ UNUSUAL_DEV( 0x0d96, 0x410a, 0x0001, 0xffff,
+ 		"Medion",
+@@ -1539,13 +1594,6 @@ UNUSUAL_DEV(  0x0fce, 0xe030, 0x0000, 0x
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),
+ 
+-/* Reported by Ricardo Barberis <ricardo@dattatec.com> */
+-UNUSUAL_DEV(  0x0fce, 0xe092, 0x0000, 0x0000,
+-		"Sony Ericsson",
+-		"P1i",
+-		US_SC_DEVICE, US_PR_DEVICE, NULL,
+-		US_FL_IGNORE_RESIDUE ),
+-
+ /* Reported by Emmanuel Vasilakis <evas@forthnet.gr> */
+ UNUSUAL_DEV(  0x0fce, 0xe031, 0x0000, 0x0000,
+ 		"Sony Ericsson",
+@@ -1553,6 +1601,13 @@ UNUSUAL_DEV(  0x0fce, 0xe031, 0x0000, 0x
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),
+ 
++/* Reported by Ricardo Barberis <ricardo@dattatec.com> */
++UNUSUAL_DEV(  0x0fce, 0xe092, 0x0000, 0x0000,
++		"Sony Ericsson",
++		"P1i",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_IGNORE_RESIDUE ),
++
+ /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu>
+  * Tested on hardware version 1.10.
+  * Entry is needed only for the initializer function override.
+@@ -1779,6 +1834,15 @@ UNUSUAL_DEV(  0x2770, 0x915d, 0x0010, 0x
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_CAPACITY ),
+ 
++/* Reported by Frederic Marchal <frederic.marchal@wowcompany.com>
++ * Mio Moov 330
++ */
++UNUSUAL_DEV(  0x3340, 0xffff, 0x0000, 0x0000,
++		"Mitac",
++		"Mio DigiWalker USB Sync",
++		US_SC_DEVICE,US_PR_DEVICE,NULL,
++		US_FL_MAX_SECTORS_64 ),
++
+ /* Reported by Andrey Rahmatullin <wrar@altlinux.org> */
+ UNUSUAL_DEV(  0x4102, 0x1020, 0x0100,  0x0100,
+ 		"iRiver",
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/unreached-code-in-selinux_ip_postroute_iptables_compat-2.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/unreached-code-in-selinux_ip_postroute_iptables_compat-2.patch
@@ -0,0 +1,62 @@
+This should fix the problem you are seeing with the Debian 2.6.26 kernels ... 
+let me know if you have any problems/questions.
+
+Good luck.
+
+----------  Forwarded Message  ----------
+
+Subject: [PATCH] SELinux: BUG in SELinux compat_net code
+Date: Tuesday 19 May 2009
+From: Eric Paris <eparis@redhat.com>
+To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, 
+selinux@vger.kernel.org
+
+This patch is not applicable to Linus's tree as the code in question has
+been removed for 2.6.30.  I'm sending in case any of the stable
+maintainers would like to push to their branches (which I think anything
+pre 2.6.30 would like to do).
+
+Ubuntu users were experiencing a kernel panic when they enabled SELinux
+due to an old bug in our handling of the compatibility mode network
+controls, introduced Jan 1 2008 effad8df44261031a882e1a895415f7186a5098e
+Most distros have not used the compat_net code since the new code was
+introduced and so noone has hit this problem before.  Ubuntu is the only
+distro I know that enabled that legacy cruft by default.  But, I was ask
+to look at it and found that the above patch changed a call to
+avc_has_perm from if(send_perm) to if(!send_perm) in
+selinux_ip_postroute_iptables_compat().  The result is that users who
+turn on SELinux and have compat_net set can (and oftern will) BUG() in
+avc_has_perm_noaudit since they are requesting 0 permissions.
+
+This patch corrects that accidental bug introduction.
+
+Signed-off-by: Eric Paris <eparis@redhat.com>
+
+---
+
+ security/selinux/hooks.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff -up linux-source-2.6.28/security/selinux/hooks.c.pre.send linux-
+source-2.6.28/security/selinux/hooks.c
+--- linux-source-2.6.28/security/selinux/hooks.c.pre.send	2009-05-18 
+13:23:16.043632602 -0400
++++ linux-source-2.6.28/security/selinux/hooks.c	2009-05-18 13:23:27.899632772 
+-0400
+@@ -4561,7 +4561,7 @@ static int selinux_ip_postroute_iptables
+ 	if (err)
+ 		return err;
+ 
+-	if (send_perm != 0)
++	if (!send_perm)
+ 		return 0;
+ 
+ 	err = sel_netport_sid(sk->sk_protocol,
+
+
+
+-------------------------------------------------------
+-- 
+paul moore
+linux @ hp
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/unreached-code-in-selinux_ip_postroute_iptables_compat.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/unreached-code-in-selinux_ip_postroute_iptables_compat.patch
@@ -0,0 +1,31 @@
+commit 910c9e41186762de3717baaf392ab5ff0c454496
+Author: Eugene Teo <eteo@redhat.com>
+Date:   Mon Apr 13 10:04:41 2009 +0800
+
+    unreached code in selinux_ip_postroute_iptables_compat() (CVE-2009-1184)
+    
+    Not upstream in 2.6.30, as the function was removed there, making this a
+    non-issue.
+    
+    Node and port send checks can skip in the compat_net=1 case. This bug
+    was introduced in commit effad8d.
+    
+    Signed-off-by: Eugene Teo <eugeneteo@kernel.sg>
+    Reported-by: Dan Carpenter <error27@gmail.com>
+    Acked-by: James Morris <jmorris@namei.org>
+    Acked-by: Paul Moore <paul.moore@hp.com>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/security/selinux/hooks.c linux-source-2.6.26/security/selinux/hooks.c
+--- linux-source-2.6.26.orig/security/selinux/hooks.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/security/selinux/hooks.c	2009-05-03 12:29:51.000000000 -0600
+@@ -4416,6 +4416,7 @@ static int selinux_ip_postroute_iptables
+ 	if (err)
+ 		return err;
+ 	err = avc_has_perm(sk_sid, if_sid, SECCLASS_NETIF, netif_perm, ad);
++	if (err)
+ 		return err;
+ 
+ 	err = sel_netnode_sid(addrp, family, &node_sid);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/v4l2-add-some-missing-compat32-ioctls.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/v4l2-add-some-missing-compat32-ioctls.patch
@@ -0,0 +1,30 @@
+Backported to 2.6.26 from:
+
+From: Gregor Jasny <jasny@vidsoft.de>
+Date: Thu, 23 Oct 2008 09:55:22 -0300
+Subject: [PATCH] V4L/DVB (9352): Add some missing compat32 ioctls
+
+This patch adds the missing compat ioctls that are needed to
+operate Skype in combination with libv4l and a MJPEG only camera.
+
+If you think it's trivial enough please submit it to -stable, too.
+---
+--- a/drivers/media/video/compat_ioctl32.c
++++ b/drivers/media/video/compat_ioctl32.c
+@@ -867,6 +867,7 @@ long v4l_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg)
+ 	case VIDIOC_STREAMON32:
+ 	case VIDIOC_STREAMOFF32:
+ 	case VIDIOC_G_PARM:
++	case VIDIOC_S_PARM:
+ 	case VIDIOC_G_STD:
+ 	case VIDIOC_S_STD:
+ 	case VIDIOC_G_TUNER:
+@@ -885,6 +886,8 @@ long v4l_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg)
+ 	case VIDIOC_QUERYCTRL:
+ 	case VIDIOC_S_INPUT32:
+ 	case VIDIOC_TRY_FMT32:
++	case VIDIOC_ENUM_FRAMESIZES:
++	case VIDIOC_ENUM_FRAMEINTERVALS:
+ 		ret = do_video_ioctl(file, cmd, arg);
+ 		break;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/usb-unusual-devs-update-nokia-6233.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/usb-unusual-devs-update-nokia-6233.patch
@@ -0,0 +1,28 @@
+commit 716a9c8561d9c50ec454f4fbd39a265892feda2c
+Author: Moritz Muehlenhoff <jmm@debian.org>
+Date:   Sat Mar 14 00:43:21 2009 +0100
+
+    USB: Updated unusual-devs entry for USB mass storage on Nokia 6233
+    
+    Current firmware revision 5.60 still behaves the same,
+    so update the quirk up a (non-existing) 99.99 revision.
+    
+    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493415
+    
+    Signed-off-by: Moritz Muehlenhoff <jmm@debian.org>
+    Tested-by: Jan Heitkoetter <devnull@heitkoetter.net>
+    Cc: stable <stable@kernel.org>
+    Signed-off-by: Phil Dibowitz <phil@ipom.com>
+
+diff -urpN a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
+--- a/drivers/usb/storage/unusual_devs.h	2009-03-22 22:54:59.000000000 -0600
++++ b/drivers/usb/storage/unusual_devs.h	2009-03-22 22:57:59.000000000 -0600
+@@ -236,7 +236,7 @@ UNUSUAL_DEV(  0x0421, 0x047c, 0x0370, 0x
+ 		US_FL_MAX_SECTORS_64 ),
+ 
+ /* Reported by Manuel Osdoba <manuel.osdoba@tu-ilmenau.de> */
+-UNUSUAL_DEV( 0x0421, 0x0492, 0x0452, 0x0452,
++UNUSUAL_DEV( 0x0421, 0x0492, 0x0452, 0x9999,
+ 		"Nokia",
+ 		"Nokia 6233",
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/usbmidi-fix-oops-at-disconnection.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/usbmidi-fix-oops-at-disconnection.patch
@@ -0,0 +1,38 @@
+From 7a17daae8ed71bf3259d905a4fc48a5b424fa935 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 2 Oct 2008 14:50:22 +0200
+Subject: [PATCH] ALSA: usb - Fix possible Oops at USB-MIDI disconnection
+
+The endpoints should be released immediately at disconnection
+rather than the delayed release.  This could be a reason of Oops
+at USB-audio device disconnection being used.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ sound/usb/usbmidi.c |    9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c
+index c0c7770..5962e4b 100644
+--- a/sound/usb/usbmidi.c
++++ b/sound/usb/usbmidi.c
+@@ -1112,6 +1112,15 @@ void snd_usbmidi_disconnect(struct list_head* p)
+ 		}
+ 		if (ep->in)
+ 			usb_kill_urb(ep->in->urb);
++		/* free endpoints here; later call can result in Oops */
++		if (ep->out) {
++			snd_usbmidi_out_endpoint_delete(ep->out);
++			ep->out = NULL;
++		}
++		if (ep->in) {
++			snd_usbmidi_in_endpoint_delete(ep->in);
++			ep->in = NULL;
++		}
+ 	}
+ 	del_timer_sync(&umidi->error_timer);
+ }
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/usb-unusual_devs-addition-for-RockChip-MP3-player.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/usb-unusual_devs-addition-for-RockChip-MP3-player.patch
@@ -0,0 +1,31 @@
+commit fe1926a0f549741ed0ca778aa1c7d3e208895dee
+Author: Alan Stern <stern@rowland.harvard.edu>
+Date:   Thu Sep 4 09:56:35 2008 -0400
+
+    USB: unusual_devs addition for RockChip MP3 player
+    
+    This patch (as1136) adds an unusual_devs entry for a version of the
+    RockChip MP3 player which can't handle the MODE SENSE command used for
+    write-protect detection.
+    
+    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
+index b311300..4d9ca02 100644
+--- a/drivers/usb/storage/unusual_devs.h
++++ b/drivers/usb/storage/unusual_devs.h
+@@ -1001,6 +1001,13 @@ UNUSUAL_DEV(  0x069b, 0x3004, 0x0001, 0x0001,
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_CAPACITY ),
+ 
++/* Reported by Adrian Pilchowiec <adi1981@epf.pl> */
++UNUSUAL_DEV(  0x071b, 0x3203, 0x0000, 0x0000,
++		"RockChip",
++		"MP3",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_NO_WP_DETECT | US_FL_MAX_SECTORS_64),
++
+ /* Reported by Massimiliano Ghilardi <massimiliano.ghilardi@gmail.com>
+  * This USB MP3/AVI player device fails and disconnects if more than 128
+  * sectors (64kB) are read/written in a single command, and may be present
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/uvcvideo-fix-incomplete-frame-drop.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/uvcvideo-fix-incomplete-frame-drop.patch
@@ -0,0 +1,45 @@
+commit d63beb9ef004ff9587b3c466361276254d57d7a7
+Author: Laurent Pinchart <laurent.pinchart@skynet.be>
+Date:   Mon Sep 15 22:24:29 2008 -0300
+
+    V4L/DVB (9031): uvcvideo: Fix incomplete frame drop when switching to a variable size format.
+    
+    When streaming in a fixed size format the driver sets a flag in the uvc_queue
+    structure to drop incomplete incoming frames. The flag wasn't cleared when
+    switching to a variable size format, which resulted in a broken
+    'MJPEG after YUV'.
+    
+    Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+
+diff --git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c
+index d4758c8..78e4c4e 100644
+--- a/drivers/media/video/uvc/uvc_v4l2.c
++++ b/drivers/media/video/uvc/uvc_v4l2.c
+@@ -842,10 +842,6 @@ static int uvc_v4l2_do_ioctl(struct inode *inode, struct file *file,
+ 		if (ret < 0)
+ 			return ret;
+ 
+-		if (!(video->streaming->cur_format->flags &
+-		    UVC_FMT_FLAG_COMPRESSED))
+-			video->queue.flags |= UVC_QUEUE_DROP_INCOMPLETE;
+-
+ 		rb->count = ret;
+ 		ret = 0;
+ 		break;
+diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
+index 593aebf..b7bb238 100644
+--- a/drivers/media/video/uvc/uvc_video.c
++++ b/drivers/media/video/uvc/uvc_video.c
+@@ -971,6 +971,11 @@ int uvc_video_enable(struct uvc_video_device *video, int enable)
+ 		return 0;
+ 	}
+ 
++	if (video->streaming->cur_format->flags & UVC_FMT_FLAG_COMPRESSED)
++		video->queue.flags &= ~UVC_QUEUE_DROP_INCOMPLETE;
++	else
++		video->queue.flags |= UVC_QUEUE_DROP_INCOMPLETE;
++
+ 	if ((ret = uvc_queue_enable(&video->queue, 1)) < 0)
+ 		return ret;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/usbnet-link-down-initially-for-drivers-that-update.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/usbnet-link-down-initially-for-drivers-that-update.patch
@@ -0,0 +1,111 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Subject: [PATCH] usbnet: Set link down initially for drivers that update link state
+
+Some usbnet drivers update link state while others do not due to
+hardware limitations.  Add a flag to distinguish those that do, and
+set the link down initially for their devices.
+
+--- a/drivers/net/usb/asix.c
++++ b/drivers/net/usb/asix.c
+@@ -1291,7 +1291,7 @@ static const struct driver_info ax8817x_info = {
+ 	.status = asix_status,
+ 	.link_reset = ax88172_link_reset,
+ 	.reset = ax88172_link_reset,
+-	.flags =  FLAG_ETHER,
++	.flags =  FLAG_ETHER | FLAG_LINK_INTR,
+ 	.data = 0x00130103,
+ };
+ 
+@@ -1301,7 +1301,7 @@ static const struct driver_info dlink_dub_e100_info = {
+ 	.status = asix_status,
+ 	.link_reset = ax88172_link_reset,
+ 	.reset = ax88172_link_reset,
+-	.flags =  FLAG_ETHER,
++	.flags =  FLAG_ETHER | FLAG_LINK_INTR,
+ 	.data = 0x009f9d9f,
+ };
+ 
+@@ -1311,7 +1311,7 @@ static const struct driver_info netgear_fa120_info = {
+ 	.status = asix_status,
+ 	.link_reset = ax88172_link_reset,
+ 	.reset = ax88172_link_reset,
+-	.flags =  FLAG_ETHER,
++	.flags =  FLAG_ETHER | FLAG_LINK_INTR,
+ 	.data = 0x00130103,
+ };
+ 
+@@ -1321,7 +1321,7 @@ static const struct driver_info hawking_uf200_info = {
+ 	.status = asix_status,
+ 	.link_reset = ax88172_link_reset,
+ 	.reset = ax88172_link_reset,
+-	.flags =  FLAG_ETHER,
++	.flags =  FLAG_ETHER | FLAG_LINK_INTR,
+ 	.data = 0x001f1d1f,
+ };
+ 
+@@ -1331,7 +1331,7 @@ static const struct driver_info ax88772_info = {
+ 	.status = asix_status,
+ 	.link_reset = ax88772_link_reset,
+ 	.reset = ax88772_link_reset,
+-	.flags = FLAG_ETHER | FLAG_FRAMING_AX,
++	.flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_LINK_INTR,
+ 	.rx_fixup = asix_rx_fixup,
+ 	.tx_fixup = asix_tx_fixup,
+ };
+@@ -1342,7 +1342,7 @@ static const struct driver_info ax88178_info = {
+ 	.status = asix_status,
+ 	.link_reset = ax88178_link_reset,
+ 	.reset = ax88178_link_reset,
+-	.flags = FLAG_ETHER | FLAG_FRAMING_AX,
++	.flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_LINK_INTR,
+ 	.rx_fixup = asix_rx_fixup,
+ 	.tx_fixup = asix_tx_fixup,
+ };
+--- a/drivers/net/usb/cdc_ether.c
++++ b/drivers/net/usb/cdc_ether.c
+@@ -413,7 +413,7 @@ static int cdc_bind(struct usbnet *dev, struct usb_interface *intf)
+ 
+ static const struct driver_info	cdc_info = {
+ 	.description =	"CDC Ethernet Device",
+-	.flags =	FLAG_ETHER,
++	.flags =	FLAG_ETHER | FLAG_LINK_INTR,
+ 	// .check_connect = cdc_check_connect,
+ 	.bind =		cdc_bind,
+ 	.unbind =	usbnet_cdc_unbind,
+--- a/drivers/net/usb/dm9601.c
++++ b/drivers/net/usb/dm9601.c
+@@ -611,7 +611,7 @@ static int dm9601_link_reset(struct usbnet *dev)
+ 
+ static const struct driver_info dm9601_info = {
+ 	.description	= "Davicom DM9601 USB Ethernet",
+-	.flags		= FLAG_ETHER,
++	.flags		= FLAG_ETHER | FLAG_LINK_INTR,
+ 	.bind		= dm9601_bind,
+ 	.rx_fixup	= dm9601_rx_fixup,
+ 	.tx_fixup	= dm9601_tx_fixup,
+--- a/drivers/net/usb/usbnet.c
++++ b/drivers/net/usb/usbnet.c
+@@ -1352,9 +1352,11 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
+ 	// ok, it's ready to go.
+ 	usb_set_intfdata (udev, dev);
+ 
+-	// start as if the link is up
+ 	netif_device_attach (net);
+ 
++	if (dev->driver_info->flags & FLAG_LINK_INTR)
++		netif_carrier_off(net);
++
+ 	return 0;
+ 
+ out3:
+--- a/include/linux/usb/usbnet.h
++++ b/include/linux/usb/usbnet.h
+@@ -92,6 +92,7 @@ struct driver_info {
+ #define FLAG_FRAMING_AX 0x0040		/* AX88772/178 packets */
+ #define FLAG_WLAN	0x0080		/* use "wlan%d" names */
+ 
++#define FLAG_LINK_INTR	0x0800		/* updates link (carrier) status */
+ 
+ 	/* init device ... can sleep, or cause probe() failure */
+ 	int	(*bind)(struct usbnet *, struct usb_interface *);
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/video-support-avertv-cardbus-hybrid-e506r.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/video-support-avertv-cardbus-hybrid-e506r.patch
@@ -0,0 +1,35 @@
+Support avertv cardbus hybrid e506r
+
+Reported in
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511385
+
+This patch is a subset of the following commit:
+
+From: Massimo Piccioni <alsa@piccio.org>
+Date: Fri, 11 Jul 2008 16:48:02 +0000 (-0300)
+Subject: V4L/DVB (8244): saa7134: add support for AVerMedia M103
+X-Git-Tag: v2.6.27-rc1~966^2~125
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=e2fc00c21124d9d9a8d4f396e5498ea27ddfc8fd
+
+V4L/DVB (8244): saa7134: add support for AVerMedia M103
+
+The following patch updates saa7134 driver to add support for AVerMedia
+M103 MiniPCI DVB-T Hybrid card.
+
+Signed-off-by: Massimo Piccioni <alsa@piccio.org>
+[mchehab@infradead.org: fixed merge conflicts and a small codingstyle]
+Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
+---
+
+diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
+index 341b101..be48b9b 100644
+--- a/drivers/media/video/saa7134/saa7134-dvb.c
++++ b/drivers/media/video/saa7134/saa7134-dvb.c
+@@ -1263,6 +1263,7 @@ static int dvb_init(struct saa7134_dev *dev)
+ 						&avermedia_xc3028_mt352_dev,
+ 						&dev->i2c_adap);
+ 		attach_xc3028 = 1;
++		break;
+ 	case SAA7134_BOARD_MD7134_BRIDGE_2:
+ 		dev->dvb.frontend = dvb_attach(tda10086_attach,
+ 						&sd1878_4m, &dev->i2c_adap);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/v4l2-compat-test-for-unlocked_ioctl.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/v4l2-compat-test-for-unlocked_ioctl.patch
@@ -0,0 +1,31 @@
+From 3ca81a55256f38d9a8a4d5e9a6a9288ddc672e19 Mon Sep 17 00:00:00 2001
+From: Hans Verkuil <hverkuil@xs4all.nl>
+Date: Tue, 16 Dec 2008 08:32:37 -0300
+Subject: [PATCH] V4L/DVB (9906): v4l2-compat: test for unlocked_ioctl as well.
+
+The v4l_compat_ioctl32() function only tested for the presence of the
+ioctl op, not for unlocked_ioctl. So it would always return an error
+when used with drivers that use unlocked_ioctl instead of ioctl.
+
+Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+---
+ drivers/media/video/compat_ioctl32.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/media/video/compat_ioctl32.c b/drivers/media/video/compat_ioctl32.c
+index e6ca401..0ea85a0 100644
+--- a/drivers/media/video/compat_ioctl32.c
++++ b/drivers/media/video/compat_ioctl32.c
+@@ -831,7 +831,7 @@ long v4l_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg)
+ {
+ 	int ret = -ENOIOCTLCMD;
+ 
+-	if (!file->f_op->ioctl)
++	if (!file->f_op->ioctl && !file->f_op->unlocked_ioctl)
+ 		return ret;
+ 
+ 	switch (cmd) {
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/virtio_balloon-fix-towards_target-when-deflating.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/virtio_balloon-fix-towards_target-when-deflating.patch
@@ -0,0 +1,38 @@
+From 532a6086e35fa3b5761e68af36d4e42a550eba15 Mon Sep 17 00:00:00 2001
+From: Anthony Liguori <aliguori@us.ibm.com>
+Date: Mon, 18 Aug 2008 17:15:31 -0500
+Subject: [PATCH] virtio_balloon: fix towards_target when deflating balloon
+
+Both v and vb->num_pages are u32 and unsigned int respectively.  If v is less
+than vb->num_pages (and it is, when deflating the balloon), the result is a
+very large 32-bit number.  Since we're returning a s64, instead of getting the
+same negative number we desire, we get a very large positive number.
+
+This handles the case where v < vb->num_pages and ensures we get a small,
+negative, s64 as the result.
+
+Rusty: please push this for 2.6.27-rc4.  It's probably appropriate for the
+stable tree too as it will cause an unexpected OOM when ballooning.
+
+Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
+Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (simplified)
+---
+ drivers/virtio/virtio_balloon.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
+index bfef604..62eab43 100644
+--- a/drivers/virtio/virtio_balloon.c
++++ b/drivers/virtio/virtio_balloon.c
+@@ -158,7 +158,7 @@ static inline s64 towards_target(struct virtio_balloon *vb)
+ 	vb->vdev->config->get(vb->vdev,
+ 			      offsetof(struct virtio_balloon_config, num_pages),
+ 			      &v, sizeof(v));
+-	return v - vb->num_pages;
++	return (s64)v - vb->num_pages;
+ }
+ 
+ static void update_balloon_size(struct virtio_balloon *vb)
+-- 
+1.6.4.3
+
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/watchdog-ib700wdt-buffer_underflow.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/watchdog-ib700wdt-buffer_underflow.patch
@@ -0,0 +1,31 @@
+commit 7c2500f17d65092d93345f3996cf82ebca17e9ff
+Author: Wim Van Sebroeck <wim@iguana.be>
+Date:   Wed Oct 15 08:53:06 2008 +0000
+
+    [WATCHDOG] ib700wdt.c - fix buffer_underflow bug
+    
+    This fixes Bug 11399:
+    if ibwdt_set_heartbeat(int t) is called with value 30 then
+    the check "if ((t < 0) || (t > 30))" in ibwdt_set_heartbeat
+    is not going to fail because t == 30, but in the loop, the
+    check wd_times[i] > t is never going to be true because
+    none of the wd_times are greater than the value of t (i.e. 30).
+    So we are exiting the loop with i == -1 and therefore setting
+    wd_margin to -1 which is wrong.
+    
+    Reported-by: Zvonimir Rakamaric <zrakamar@cs.ubc.ca>
+    Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
+
+diff --git a/drivers/watchdog/ib700wdt.c b/drivers/watchdog/ib700wdt.c
+index 05a2810..8782ec1 100644
+--- a/drivers/watchdog/ib700wdt.c
++++ b/drivers/watchdog/ib700wdt.c
+@@ -154,7 +154,7 @@ static int ibwdt_set_heartbeat(int t)
+ 		return -EINVAL;
+ 
+ 	for (i = 0x0F; i > -1; i--)
+-		if (wd_times[i] > t)
++		if (wd_times[i] >= t)
+ 			break;
+ 	wd_margin = i;
+ 	return 0;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/wireless-regulatory-default-EU.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/wireless-regulatory-default-EU.patch
@@ -0,0 +1,13 @@
+diff --git a/net/wireless/reg.c b/net/wireless/reg.c
+index 855bff4..5969480 100644
+--- a/net/wireless/reg.c
++++ b/net/wireless/reg.c
+@@ -29,7 +29,7 @@
+ #include <net/wireless.h>
+ #include "core.h"
+ 
+-static char *ieee80211_regdom = "US";
++static char *ieee80211_regdom = "EU";
+ module_param(ieee80211_regdom, charp, 0444);
+ MODULE_PARM_DESC(ieee80211_regdom, "IEEE 802.11 regulatory domain code");
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.2-abi-1.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.2-abi-1.patch
@@ -0,0 +1,21 @@
+All snd_emu_chip_details instances are statically allocated and all users of
+this new member are within one module.
+
+diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h
+index 10ee28e..1515459 100644
+--- a/include/sound/emu10k1.h
++++ b/include/sound/emu10k1.h
+@@ -1670,10 +1670,12 @@ struct snd_emu_chip_details {
+ 	unsigned char spi_dac;      /* SPI interface for DAC */
+ 	unsigned char i2c_adc;      /* I2C interface for ADC */
+ 	unsigned char adc_1361t;    /* Use Philips 1361T ADC */
+-	unsigned char invert_shared_spdif; /* analog/digital switch inverted */
+ 	const char *driver;
+ 	const char *name;
+ 	const char *id;		/* for backward compatibility - can be NULL if not needed */
++#ifndef __GENKSYMS__
++	unsigned char invert_shared_spdif; /* analog/digital switch inverted */
++#endif
+ };
+ 
+ struct snd_emu1010 {
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.1.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.1.patch
@@ -0,0 +1,2187 @@
+diff --git a/Documentation/networking/udplite.txt b/Documentation/networking/udplite.txt
+index 3870f28..855d8da 100644
+--- a/Documentation/networking/udplite.txt
++++ b/Documentation/networking/udplite.txt
+@@ -148,7 +148,7 @@
+         getsockopt(sockfd, SOL_SOCKET, SO_NO_CHECK, &value, ...);
+ 
+   is meaningless (as in TCP). Packets with a zero checksum field are
+-  illegal (cf. RFC 3828, sec. 3.1) will be silently discarded.
++  illegal (cf. RFC 3828, sec. 3.1) and will be silently discarded.
+ 
+   4) Fragmentation
+ 
+diff --git a/Documentation/video4linux/cx18.txt b/Documentation/video4linux/cx18.txt
+index 6842c26..63f3aef 100644
+--- a/Documentation/video4linux/cx18.txt
++++ b/Documentation/video4linux/cx18.txt
+@@ -23,14 +23,8 @@ encoder chip:
+ 
+ Firmware:
+ 
+-The firmware needs to be extracted from the Windows Hauppauge HVR-1600
+-driver, available here:
++You can obtain the firmware files here:
+ 
+-http://hauppauge.lightpath.net/software/install_cd/hauppauge_cd_3.4d1.zip
++http://dl.ivtvdriver.org/ivtv/firmware/cx18-firmware.tar.gz
+ 
+-Unzip, then copy the following files to the firmware directory
+-and rename them as follows:
+-
+-Drivers/Driver18/hcw18apu.rom -> v4l-cx23418-apu.fw
+-Drivers/Driver18/hcw18enc.rom -> v4l-cx23418-cpu.fw
+-Drivers/Driver18/hcw18mlC.rom -> v4l-cx23418-dig.fw
++Untar and copy the .fw files to your firmware directory.
+diff --git a/Makefile b/Makefile
+index e3c5eb6..c536d7b 100644
+diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
+index 318b811..5152ba0 100644
+--- a/arch/ia64/kvm/kvm-ia64.c
++++ b/arch/ia64/kvm/kvm-ia64.c
+@@ -1460,6 +1460,9 @@ int kvm_arch_set_memory_region(struct kvm *kvm,
+ 	return 0;
+ }
+ 
++void kvm_arch_flush_shadow(struct kvm *kvm)
++{
++}
+ 
+ long kvm_arch_dev_ioctl(struct file *filp,
+ 		unsigned int ioctl, unsigned long arg)
+diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
+index 777e0f3..1eaa3e4 100644
+--- a/arch/powerpc/kvm/powerpc.c
++++ b/arch/powerpc/kvm/powerpc.c
+@@ -167,6 +167,10 @@ int kvm_arch_set_memory_region(struct kvm *kvm,
+ 	return 0;
+ }
+ 
++void kvm_arch_flush_shadow(struct kvm *kvm)
++{
++}
++
+ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id)
+ {
+ 	struct kvm_vcpu *vcpu;
+diff --git a/arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c b/arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c
+index 69288f6..3233fe8 100644
+--- a/arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c
++++ b/arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c
+@@ -96,6 +96,12 @@ static int pmi_notifier(struct notifier_block *nb,
+ 	struct cpufreq_frequency_table *cbe_freqs;
+ 	u8 node;
+ 
++	/* Should this really be called for CPUFREQ_ADJUST, CPUFREQ_INCOMPATIBLE
++	 * and CPUFREQ_NOTIFY policy events?)
++	 */
++	if (event == CPUFREQ_START)
++		return 0;
++
+ 	cbe_freqs = cpufreq_frequency_get_table(policy->cpu);
+ 	node = cbe_cpu_to_node(policy->cpu);
+ 
+diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
+index 6558b09..b19c170 100644
+--- a/arch/s390/kvm/kvm-s390.c
++++ b/arch/s390/kvm/kvm-s390.c
+@@ -672,6 +672,10 @@ int kvm_arch_set_memory_region(struct kvm *kvm,
+ 	return 0;
+ }
+ 
++void kvm_arch_flush_shadow(struct kvm *kvm)
++{
++}
++
+ gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
+ {
+ 	return gfn;
+diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
+index b441a26..c481673 100644
+--- a/arch/sparc64/kernel/irq.c
++++ b/arch/sparc64/kernel/irq.c
+@@ -621,8 +621,9 @@ unsigned int sun4v_build_irq(u32 devhandle, unsigned int devino)
+ unsigned int sun4v_build_virq(u32 devhandle, unsigned int devino)
+ {
+ 	struct irq_handler_data *data;
+-	struct ino_bucket *bucket;
+ 	unsigned long hv_err, cookie;
++	struct ino_bucket *bucket;
++	struct irq_desc *desc;
+ 	unsigned int virt_irq;
+ 
+ 	bucket = kzalloc(sizeof(struct ino_bucket), GFP_ATOMIC);
+@@ -643,6 +644,13 @@ unsigned int sun4v_build_virq(u32 devhandle, unsigned int devino)
+ 	if (unlikely(!data))
+ 		return 0;
+ 
++	/* In order to make the LDC channel startup sequence easier,
++	 * especially wrt. locking, we do not let request_irq() enable
++	 * the interrupt.
++	 */
++	desc = irq_desc + virt_irq;
++	desc->status |= IRQ_NOAUTOEN;
++
+ 	set_irq_chip_data(virt_irq, data);
+ 
+ 	/* Catch accidental accesses to these things.  IMAP/ICLR handling
+diff --git a/arch/sparc64/kernel/ldc.c b/arch/sparc64/kernel/ldc.c
+index 63969f6..d689823 100644
+--- a/arch/sparc64/kernel/ldc.c
++++ b/arch/sparc64/kernel/ldc.c
+@@ -1,6 +1,6 @@
+ /* ldc.c: Logical Domain Channel link-layer protocol driver.
+  *
+- * Copyright (C) 2007 David S. Miller <davem@davemloft.net>
++ * Copyright (C) 2007, 2008 David S. Miller <davem@davemloft.net>
+  */
+ 
+ #include <linux/kernel.h>
+@@ -23,8 +23,8 @@
+ 
+ #define DRV_MODULE_NAME		"ldc"
+ #define PFX DRV_MODULE_NAME	": "
+-#define DRV_MODULE_VERSION	"1.0"
+-#define DRV_MODULE_RELDATE	"June 25, 2007"
++#define DRV_MODULE_VERSION	"1.1"
++#define DRV_MODULE_RELDATE	"July 22, 2008"
+ 
+ static char version[] __devinitdata =
+ 	DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
+@@ -1235,13 +1235,9 @@ int ldc_bind(struct ldc_channel *lp, const char *name)
+ 	unsigned long hv_err, flags;
+ 	int err = -EINVAL;
+ 
+-	spin_lock_irqsave(&lp->lock, flags);
+-
+-	if (!name)
+-		goto out_err;
+-
+-	if (lp->state != LDC_STATE_INIT)
+-		goto out_err;
++	if (!name ||
++	    (lp->state != LDC_STATE_INIT))
++		return -EINVAL;
+ 
+ 	snprintf(lp->rx_irq_name, LDC_IRQ_NAME_MAX, "%s RX", name);
+ 	snprintf(lp->tx_irq_name, LDC_IRQ_NAME_MAX, "%s TX", name);
+@@ -1250,25 +1246,32 @@ int ldc_bind(struct ldc_channel *lp, const char *name)
+ 			  IRQF_SAMPLE_RANDOM | IRQF_SHARED,
+ 			  lp->rx_irq_name, lp);
+ 	if (err)
+-		goto out_err;
++		return err;
+ 
+ 	err = request_irq(lp->cfg.tx_irq, ldc_tx,
+ 			  IRQF_SAMPLE_RANDOM | IRQF_SHARED,
+ 			  lp->tx_irq_name, lp);
+-	if (err)
+-		goto out_free_rx_irq;
++	if (err) {
++		free_irq(lp->cfg.rx_irq, lp);
++		return err;
++	}
++
+ 
++	spin_lock_irqsave(&lp->lock, flags);
++
++	enable_irq(lp->cfg.rx_irq);
++	enable_irq(lp->cfg.tx_irq);
+ 
+ 	lp->flags |= LDC_FLAG_REGISTERED_IRQS;
+ 
+ 	err = -ENODEV;
+ 	hv_err = sun4v_ldc_tx_qconf(lp->id, 0, 0);
+ 	if (hv_err)
+-		goto out_free_tx_irq;
++		goto out_free_irqs;
+ 
+ 	hv_err = sun4v_ldc_tx_qconf(lp->id, lp->tx_ra, lp->tx_num_entries);
+ 	if (hv_err)
+-		goto out_free_tx_irq;
++		goto out_free_irqs;
+ 
+ 	hv_err = sun4v_ldc_rx_qconf(lp->id, 0, 0);
+ 	if (hv_err)
+@@ -1304,14 +1307,11 @@ out_unmap_rx:
+ out_unmap_tx:
+ 	sun4v_ldc_tx_qconf(lp->id, 0, 0);
+ 
+-out_free_tx_irq:
++out_free_irqs:
+ 	lp->flags &= ~LDC_FLAG_REGISTERED_IRQS;
+ 	free_irq(lp->cfg.tx_irq, lp);
+-
+-out_free_rx_irq:
+ 	free_irq(lp->cfg.rx_irq, lp);
+ 
+-out_err:
+ 	spin_unlock_irqrestore(&lp->lock, flags);
+ 
+ 	return err;
+diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c
+index e5d2389..f464023 100644
+--- a/arch/sparc64/kernel/time.c
++++ b/arch/sparc64/kernel/time.c
+@@ -883,6 +883,16 @@ static struct notifier_block sparc64_cpufreq_notifier_block = {
+ 	.notifier_call	= sparc64_cpufreq_notifier
+ };
+ 
++static int __init register_sparc64_cpufreq_notifier(void)
++{
++
++	cpufreq_register_notifier(&sparc64_cpufreq_notifier_block,
++				  CPUFREQ_TRANSITION_NOTIFIER);
++	return 0;
++}
++
++core_initcall(register_sparc64_cpufreq_notifier);
++
+ #endif /* CONFIG_CPU_FREQ */
+ 
+ static int sparc64_next_event(unsigned long delta,
+@@ -1049,11 +1059,6 @@ void __init time_init(void)
+ 	       sparc64_clockevent.mult, sparc64_clockevent.shift);
+ 
+ 	setup_sparc64_timer();
+-
+-#ifdef CONFIG_CPU_FREQ
+-	cpufreq_register_notifier(&sparc64_cpufreq_notifier_block,
+-				  CPUFREQ_TRANSITION_NOTIFIER);
+-#endif
+ }
+ 
+ unsigned long long sched_clock(void)
+diff --git a/arch/um/include/init.h b/arch/um/include/init.h
+index b00a957..37dd097 100644
+--- a/arch/um/include/init.h
++++ b/arch/um/include/init.h
+@@ -45,6 +45,8 @@ typedef void (*exitcall_t)(void);
+ # define __section(S) __attribute__ ((__section__(#S)))
+ #endif
+ 
++#if __GNUC__ == 3
++
+ #if __GNUC_MINOR__ >= 3
+ # define __used			__attribute__((__used__))
+ #else
+@@ -52,6 +54,12 @@ typedef void (*exitcall_t)(void);
+ #endif
+ 
+ #else
++#if __GNUC__ == 4
++# define __used			__attribute__((__used__))
++#endif
++#endif
++
++#else
+ #include <linux/compiler.h>
+ #endif
+ /* These are for everybody (although not all archs will actually
+diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
+index 2ad6301..dd138a2 100644
+--- a/arch/x86/Kconfig.cpu
++++ b/arch/x86/Kconfig.cpu
+@@ -414,4 +414,4 @@ config X86_MINIMUM_CPU_FAMILY
+ 
+ config X86_DEBUGCTLMSR
+ 	def_bool y
+-	depends on !(M586MMX || M586TSC || M586 || M486 || M386)
++	depends on !(MK6 || MWINCHIPC6 || MWINCHIP2 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486 || M386)
+diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
+index 36af01f..130711f 100644
+--- a/arch/x86/kernel/acpi/sleep.c
++++ b/arch/x86/kernel/acpi/sleep.c
+@@ -23,6 +23,15 @@ static unsigned long acpi_realmode;
+ static char temp_stack[10240];
+ #endif
+ 
++/* XXX: this macro should move to asm-x86/segment.h and be shared with the
++   boot code... */
++#define GDT_ENTRY(flags, base, limit)		\
++	(((u64)(base & 0xff000000) << 32) |	\
++	 ((u64)flags << 40) |			\
++	 ((u64)(limit & 0x00ff0000) << 32) |	\
++	 ((u64)(base & 0x00ffffff) << 16) |	\
++	 ((u64)(limit & 0x0000ffff)))
++
+ /**
+  * acpi_save_state_mem - save kernel state
+  *
+@@ -58,11 +67,11 @@ int acpi_save_state_mem(void)
+ 			((char *)&header->wakeup_gdt - (char *)acpi_realmode))
+ 				<< 16);
+ 	/* GDT[1]: real-mode-like code segment */
+-	header->wakeup_gdt[1] = (0x009bULL << 40) +
+-		((u64)acpi_wakeup_address << 16) + 0xffff;
++	header->wakeup_gdt[1] =
++		GDT_ENTRY(0x809b, acpi_wakeup_address, 0xfffff);
+ 	/* GDT[2]: real-mode-like data segment */
+-	header->wakeup_gdt[2] = (0x0093ULL << 40) +
+-		((u64)acpi_wakeup_address << 16) + 0xffff;
++	header->wakeup_gdt[2] =
++		GDT_ENTRY(0x8093, acpi_wakeup_address, 0xfffff);
+ 
+ #ifndef CONFIG_64BIT
+ 	store_gdt((struct desc_ptr *)&header->pmode_gdt);
+diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
+index 95e80e5..eb9ddd8 100644
+--- a/arch/x86/kernel/i387.c
++++ b/arch/x86/kernel/i387.c
+@@ -162,7 +162,7 @@ int xfpregs_get(struct task_struct *target, const struct user_regset *regset,
+ 	int ret;
+ 
+ 	if (!cpu_has_fxsr)
+-		return -EIO;
++		return -ENODEV;
+ 
+ 	ret = init_fpu(target);
+ 	if (ret)
+@@ -179,7 +179,7 @@ int xfpregs_set(struct task_struct *target, const struct user_regset *regset,
+ 	int ret;
+ 
+ 	if (!cpu_has_fxsr)
+-		return -EIO;
++		return -ENODEV;
+ 
+ 	ret = init_fpu(target);
+ 	if (ret)
+diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
+index a7835f2..77040b6 100644
+--- a/arch/x86/kernel/ptrace.c
++++ b/arch/x86/kernel/ptrace.c
+@@ -943,13 +943,13 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
+ 		return copy_regset_to_user(child, &user_x86_32_view,
+ 					   REGSET_XFP,
+ 					   0, sizeof(struct user_fxsr_struct),
+-					   datap);
++					   datap) ? -EIO : 0;
+ 
+ 	case PTRACE_SETFPXREGS:	/* Set the child extended FPU state. */
+ 		return copy_regset_from_user(child, &user_x86_32_view,
+ 					     REGSET_XFP,
+ 					     0, sizeof(struct user_fxsr_struct),
+-					     datap);
++					     datap) ? -EIO : 0;
+ #endif
+ 
+ #if defined CONFIG_X86_32 || defined CONFIG_IA32_EMULATION
+diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
+index f6be7d5..d834b36 100644
+--- a/arch/x86/kernel/reboot.c
++++ b/arch/x86/kernel/reboot.c
+@@ -177,6 +177,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
+ 			DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 2400"),
+ 		},
+ 	},
++	{	/* Handle problems with rebooting on Dell T5400's */
++		.callback = set_bios_reboot,
++		.ident = "Dell Precision T5400",
++		.matches = {
++			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
++			DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T5400"),
++		},
++	},
+ 	{	/* Handle problems with rebooting on HP laptops */
+ 		.callback = set_bios_reboot,
+ 		.ident = "HP Compaq Laptop",
+diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
+index 7e7c396..c26d811 100644
+--- a/arch/x86/kvm/mmu.c
++++ b/arch/x86/kvm/mmu.c
+@@ -1171,9 +1171,10 @@ static int __direct_map(struct kvm_vcpu *vcpu, gpa_t v, int write,
+ 				return -ENOMEM;
+ 			}
+ 
+-			table[index] = __pa(new_table->spt)
+-				| PT_PRESENT_MASK | PT_WRITABLE_MASK
+-				| shadow_user_mask | shadow_x_mask;
++			set_shadow_pte(&table[index],
++				       __pa(new_table->spt)
++				       | PT_PRESENT_MASK | PT_WRITABLE_MASK
++				       | shadow_user_mask | shadow_x_mask);
+ 		}
+ 		table_addr = table[index] & PT64_BASE_ADDR_MASK;
+ 	}
+@@ -1968,6 +1969,8 @@ static int mmu_shrink(int nr_to_scan, gfp_t gfp_mask)
+ 	list_for_each_entry(kvm, &vm_list, vm_list) {
+ 		int npages;
+ 
++		if (!down_read_trylock(&kvm->slots_lock))
++			continue;
+ 		spin_lock(&kvm->mmu_lock);
+ 		npages = kvm->arch.n_alloc_mmu_pages -
+ 			 kvm->arch.n_free_mmu_pages;
+@@ -1980,6 +1983,7 @@ static int mmu_shrink(int nr_to_scan, gfp_t gfp_mask)
+ 		nr_to_scan--;
+ 
+ 		spin_unlock(&kvm->mmu_lock);
++		up_read(&kvm->slots_lock);
+ 	}
+ 	if (kvm_freed)
+ 		list_move_tail(&kvm_freed->vm_list, &vm_list);
+diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
+index 6b0d5fa..06992d6 100644
+--- a/arch/x86/kvm/svm.c
++++ b/arch/x86/kvm/svm.c
+@@ -270,19 +270,11 @@ static int has_svm(void)
+ 
+ static void svm_hardware_disable(void *garbage)
+ {
+-	struct svm_cpu_data *svm_data
+-		= per_cpu(svm_data, raw_smp_processor_id());
+-
+-	if (svm_data) {
+-		uint64_t efer;
++	uint64_t efer;
+ 
+-		wrmsrl(MSR_VM_HSAVE_PA, 0);
+-		rdmsrl(MSR_EFER, efer);
+-		wrmsrl(MSR_EFER, efer & ~MSR_EFER_SVME_MASK);
+-		per_cpu(svm_data, raw_smp_processor_id()) = NULL;
+-		__free_page(svm_data->save_area);
+-		kfree(svm_data);
+-	}
++	wrmsrl(MSR_VM_HSAVE_PA, 0);
++	rdmsrl(MSR_EFER, efer);
++	wrmsrl(MSR_EFER, efer & ~MSR_EFER_SVME_MASK);
+ }
+ 
+ static void svm_hardware_enable(void *garbage)
+@@ -321,6 +313,19 @@ static void svm_hardware_enable(void *garbage)
+ 	       page_to_pfn(svm_data->save_area) << PAGE_SHIFT);
+ }
+ 
++static void svm_cpu_uninit(int cpu)
++{
++	struct svm_cpu_data *svm_data
++		= per_cpu(svm_data, raw_smp_processor_id());
++
++	if (!svm_data)
++		return;
++
++	per_cpu(svm_data, raw_smp_processor_id()) = NULL;
++	__free_page(svm_data->save_area);
++	kfree(svm_data);
++}
++
+ static int svm_cpu_init(int cpu)
+ {
+ 	struct svm_cpu_data *svm_data;
+@@ -458,6 +463,11 @@ err:
+ 
+ static __exit void svm_hardware_unsetup(void)
+ {
++	int cpu;
++
++	for_each_online_cpu(cpu)
++		svm_cpu_uninit(cpu);
++
+ 	__free_pages(pfn_to_page(iopm_base >> PAGE_SHIFT), IOPM_ALLOC_ORDER);
+ 	iopm_base = 0;
+ }
+diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
+index 540e951..2ce9063 100644
+--- a/arch/x86/kvm/vmx.c
++++ b/arch/x86/kvm/vmx.c
+@@ -88,6 +88,7 @@ static inline struct vcpu_vmx *to_vmx(struct kvm_vcpu *vcpu)
+ }
+ 
+ static int init_rmode(struct kvm *kvm);
++static u64 construct_eptp(unsigned long root_hpa);
+ 
+ static DEFINE_PER_CPU(struct vmcs *, vmxarea);
+ static DEFINE_PER_CPU(struct vmcs *, current_vmcs);
+@@ -1389,6 +1390,8 @@ static void exit_lmode(struct kvm_vcpu *vcpu)
+ static void vmx_flush_tlb(struct kvm_vcpu *vcpu)
+ {
+ 	vpid_sync_vcpu_all(to_vmx(vcpu));
++	if (vm_need_ept())
++		ept_sync_context(construct_eptp(vcpu->arch.mmu.root_hpa));
+ }
+ 
+ static void vmx_decache_cr4_guest_bits(struct kvm_vcpu *vcpu)
+@@ -1420,7 +1423,7 @@ static void ept_update_paging_mode_cr0(unsigned long *hw_cr0,
+ 	if (!(cr0 & X86_CR0_PG)) {
+ 		/* From paging/starting to nonpaging */
+ 		vmcs_write32(CPU_BASED_VM_EXEC_CONTROL,
+-			     vmcs_config.cpu_based_exec_ctrl |
++			     vmcs_read32(CPU_BASED_VM_EXEC_CONTROL) |
+ 			     (CPU_BASED_CR3_LOAD_EXITING |
+ 			      CPU_BASED_CR3_STORE_EXITING));
+ 		vcpu->arch.cr0 = cr0;
+@@ -1430,7 +1433,7 @@ static void ept_update_paging_mode_cr0(unsigned long *hw_cr0,
+ 	} else if (!is_paging(vcpu)) {
+ 		/* From nonpaging to paging */
+ 		vmcs_write32(CPU_BASED_VM_EXEC_CONTROL,
+-			     vmcs_config.cpu_based_exec_ctrl &
++			     vmcs_read32(CPU_BASED_VM_EXEC_CONTROL) &
+ 			     ~(CPU_BASED_CR3_LOAD_EXITING |
+ 			       CPU_BASED_CR3_STORE_EXITING));
+ 		vcpu->arch.cr0 = cr0;
+diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
+index 63a77ca..5a7406e 100644
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -4016,6 +4016,11 @@ int kvm_arch_set_memory_region(struct kvm *kvm,
+ 	return 0;
+ }
+ 
++void kvm_arch_flush_shadow(struct kvm *kvm)
++{
++	kvm_mmu_zap_all(kvm);
++}
++
+ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
+ {
+ 	return vcpu->arch.mp_state == KVM_MP_STATE_RUNNABLE
+diff --git a/arch/x86/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c
+index 932f216..d41b9bc 100644
+--- a/arch/x86/kvm/x86_emulate.c
++++ b/arch/x86/kvm/x86_emulate.c
+@@ -1666,7 +1666,7 @@ special_insn:
+ 		break;
+ 	case 0xf4:              /* hlt */
+ 		ctxt->vcpu->arch.halt_request = 1;
+-		goto done;
++		break;
+ 	case 0xf5:	/* cmc */
+ 		/* complement carry flag from eflags reg */
+ 		ctxt->eflags ^= EFLG_CF;
+diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
+index 819dad9..7b27710 100644
+--- a/arch/x86/mm/init_64.c
++++ b/arch/x86/mm/init_64.c
+@@ -579,7 +579,7 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, unsigned lon
+ 		else
+ 			pud = alloc_low_page(&pud_phys);
+ 
+-		next = start + PGDIR_SIZE;
++		next = (start + PGDIR_SIZE) & PGDIR_MASK;
+ 		if (next > end)
+ 			next = end;
+ 		last_map_addr = phys_pud_init(pud, __pa(start), __pa(next));
+diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c
+index d80b2d1..8c06a53 100644
+--- a/drivers/acpi/processor_perflib.c
++++ b/drivers/acpi/processor_perflib.c
+@@ -64,7 +64,13 @@ static DEFINE_MUTEX(performance_mutex);
+  * policy is adjusted accordingly.
+  */
+ 
+-static unsigned int ignore_ppc = 0;
++/* ignore_ppc:
++ * -1 -> cpufreq low level drivers not initialized -> _PSS, etc. not called yet
++ *       ignore _PPC
++ *  0 -> cpufreq low level drivers initialized -> consider _PPC values
++ *  1 -> ignore _PPC totally -> forced by user through boot param
++ */
++static unsigned int ignore_ppc = -1;
+ module_param(ignore_ppc, uint, 0644);
+ MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \
+ 		 "limited by BIOS, this should help");
+@@ -72,7 +78,7 @@ MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \
+ #define PPC_REGISTERED   1
+ #define PPC_IN_USE       2
+ 
+-static int acpi_processor_ppc_status = 0;
++static int acpi_processor_ppc_status;
+ 
+ static int acpi_processor_ppc_notifier(struct notifier_block *nb,
+ 				       unsigned long event, void *data)
+@@ -81,6 +87,11 @@ static int acpi_processor_ppc_notifier(struct notifier_block *nb,
+ 	struct acpi_processor *pr;
+ 	unsigned int ppc = 0;
+ 
++	if (event == CPUFREQ_START && ignore_ppc <= 0) {
++		ignore_ppc = 0;
++		return 0;
++	}
++
+ 	if (ignore_ppc)
+ 		return 0;
+ 
+diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
+index 1d41496..0471ef5 100644
+--- a/drivers/cpufreq/cpufreq.c
++++ b/drivers/cpufreq/cpufreq.c
+@@ -825,6 +825,9 @@ static int cpufreq_add_dev(struct sys_device *sys_dev)
+ 	policy->user_policy.min = policy->cpuinfo.min_freq;
+ 	policy->user_policy.max = policy->cpuinfo.max_freq;
+ 
++	blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
++				     CPUFREQ_START, policy);
++
+ #ifdef CONFIG_SMP
+ 
+ #ifdef CONFIG_HOTPLUG_CPU
+diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c
+index 0ec0f43..4e6b052 100644
+--- a/drivers/dma/iop-adma.c
++++ b/drivers/dma/iop-adma.c
+@@ -1387,6 +1387,8 @@ static void iop_chan_start_null_xor(struct iop_adma_chan *iop_chan)
+ 	spin_unlock_bh(&iop_chan->lock);
+ }
+ 
++MODULE_ALIAS("platform:iop-adma");
++
+ static struct platform_driver iop_adma_driver = {
+ 	.probe		= iop_adma_probe,
+ 	.remove		= iop_adma_remove,
+diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
+index 68e7f19..0cc854e 100644
+--- a/drivers/ide/ide-cd.c
++++ b/drivers/ide/ide-cd.c
+@@ -1308,13 +1308,30 @@ static int cdrom_read_capacity(ide_drive_t *drive, unsigned long *capacity,
+ 	req.cmd_flags |= REQ_QUIET;
+ 
+ 	stat = ide_cd_queue_pc(drive, &req);
+-	if (stat == 0) {
+-		*capacity = 1 + be32_to_cpu(capbuf.lba);
+-		*sectors_per_frame =
+-			be32_to_cpu(capbuf.blocklen) >> SECTOR_BITS;
++	if (stat)
++		return stat;
++
++	/*
++	 * Sanity check the given block size
++	 */
++	switch (capbuf.blocklen) {
++	case __constant_cpu_to_be32(512):
++	case __constant_cpu_to_be32(1024):
++	case __constant_cpu_to_be32(2048):
++	case __constant_cpu_to_be32(4096):
++		break;
++	default:
++		printk(KERN_ERR "%s: weird block size %u\n",
++			drive->name, capbuf.blocklen);
++		printk(KERN_ERR "%s: default to 2kb block size\n",
++			drive->name);
++		capbuf.blocklen = __constant_cpu_to_be32(2048);
++		break;
+ 	}
+ 
+-	return stat;
++	*capacity = 1 + be32_to_cpu(capbuf.lba);
++	*sectors_per_frame = be32_to_cpu(capbuf.blocklen) >> SECTOR_BITS;
++	return 0;
+ }
+ 
+ static int cdrom_read_tocentry(ide_drive_t *drive, int trackno, int msf_flag,
+diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c
+index c4d40fe..3dd20bf 100644
+--- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
++++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
+@@ -1117,6 +1117,7 @@ struct usb_device_id dib0700_usb_id_table[] = {
+ 	{ USB_DEVICE(USB_VID_TERRATEC,	USB_PID_TERRATEC_CINERGY_HT_EXPRESS) },
+ 	{ USB_DEVICE(USB_VID_TERRATEC,	USB_PID_TERRATEC_CINERGY_T_XXS) },
+ 	{ USB_DEVICE(USB_VID_LEADTEK,   USB_PID_WINFAST_DTV_DONGLE_STK7700P_2) },
++	{ USB_DEVICE(USB_VID_HAUPPAUGE, USB_PID_HAUPPAUGE_NOVA_TD_STICK_52009) },
+ 	{ 0 }		/* Terminating entry */
+ };
+ MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table);
+@@ -1372,7 +1373,7 @@ struct dvb_usb_device_properties dib0700_devices[] = {
+ 			}
+ 		},
+ 
+-		.num_device_descs = 2,
++		.num_device_descs = 3,
+ 		.devices = {
+ 			{   "DiBcom STK7070PD reference design",
+ 				{ &dib0700_usb_id_table[17], NULL },
+@@ -1381,6 +1382,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
+ 			{   "Pinnacle PCTV Dual DVB-T Diversity Stick",
+ 				{ &dib0700_usb_id_table[18], NULL },
+ 				{ NULL },
++			},
++			{   "Hauppauge Nova-TD Stick (52009)",
++				{ &dib0700_usb_id_table[35], NULL },
++				{ NULL },
+ 			}
+ 		}
+ 	}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
+diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
+index 34245d1..31ded10 100644
+--- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
++++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
+@@ -132,6 +132,7 @@
+ #define USB_PID_HAUPPAUGE_NOVA_T_STICK_3		0x7070
+ #define USB_PID_HAUPPAUGE_MYTV_T			0x7080
+ #define USB_PID_HAUPPAUGE_NOVA_TD_STICK			0x9580
++#define USB_PID_HAUPPAUGE_NOVA_TD_STICK_52009		0x5200
+ #define USB_PID_AVERMEDIA_EXPRESS			0xb568
+ #define USB_PID_AVERMEDIA_VOLAR				0xa807
+ #define USB_PID_AVERMEDIA_VOLAR_2			0xb808
+diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
+index 5ccb0ae..e00717d 100644
+--- a/drivers/media/video/Kconfig
++++ b/drivers/media/video/Kconfig
+@@ -793,13 +793,7 @@ menuconfig V4L_USB_DRIVERS
+ 
+ if V4L_USB_DRIVERS && USB
+ 
+-config USB_VIDEO_CLASS
+-	tristate "USB Video Class (UVC)"
+-	---help---
+-	  Support for the USB Video Class (UVC).  Currently only video
+-	  input devices, such as webcams, are supported.
+-
+-	  For more information see: <http://linux-uvc.berlios.de/>
++source "drivers/media/video/uvc/Kconfig"
+ 
+ source "drivers/media/video/pvrusb2/Kconfig"
+ 
+diff --git a/drivers/media/video/cx18/cx18-firmware.c b/drivers/media/video/cx18/cx18-firmware.c
+index 2694ce3..9dda2ca 100644
+--- a/drivers/media/video/cx18/cx18-firmware.c
++++ b/drivers/media/video/cx18/cx18-firmware.c
+@@ -90,7 +90,7 @@
+ #define CX18_DSP0_INTERRUPT_MASK     	0xd0004C
+ 
+ /* Encoder/decoder firmware sizes */
+-#define CX18_FW_CPU_SIZE 		(174716)
++#define CX18_FW_CPU_SIZE 		(158332)
+ #define CX18_FW_APU_SIZE 		(141200)
+ 
+ #define APU_ROM_SYNC1 0x6D676553 /* "mgeS" */
+diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
+index c4cc2f3..ad143f1 100644
+--- a/drivers/media/video/cx23885/cx23885-core.c
++++ b/drivers/media/video/cx23885/cx23885-core.c
+@@ -76,6 +76,117 @@ LIST_HEAD(cx23885_devlist);
+  * 0x00010ea0 0x00010xxx Free
+  */
+ 
++static struct sram_channel cx23885_sram_channels[] = {
++	[SRAM_CH01] = {
++		.name		= "VID A",
++		.cmds_start	= 0x10000,
++		.ctrl_start	= 0x10380,
++		.cdt		= 0x104c0,
++		.fifo_start	= 0x40,
++		.fifo_size	= 0x2800,
++		.ptr1_reg	= DMA1_PTR1,
++		.ptr2_reg	= DMA1_PTR2,
++		.cnt1_reg	= DMA1_CNT1,
++		.cnt2_reg	= DMA1_CNT2,
++	},
++	[SRAM_CH02] = {
++		.name		= "ch2",
++		.cmds_start	= 0x0,
++		.ctrl_start	= 0x0,
++		.cdt		= 0x0,
++		.fifo_start	= 0x0,
++		.fifo_size	= 0x0,
++		.ptr1_reg	= DMA2_PTR1,
++		.ptr2_reg	= DMA2_PTR2,
++		.cnt1_reg	= DMA2_CNT1,
++		.cnt2_reg	= DMA2_CNT2,
++	},
++	[SRAM_CH03] = {
++		.name		= "TS1 B",
++		.cmds_start	= 0x100A0,
++		.ctrl_start	= 0x10400,
++		.cdt		= 0x10580,
++		.fifo_start	= 0x5000,
++		.fifo_size	= 0x1000,
++		.ptr1_reg	= DMA3_PTR1,
++		.ptr2_reg	= DMA3_PTR2,
++		.cnt1_reg	= DMA3_CNT1,
++		.cnt2_reg	= DMA3_CNT2,
++	},
++	[SRAM_CH04] = {
++		.name		= "ch4",
++		.cmds_start	= 0x0,
++		.ctrl_start	= 0x0,
++		.cdt		= 0x0,
++		.fifo_start	= 0x0,
++		.fifo_size	= 0x0,
++		.ptr1_reg	= DMA4_PTR1,
++		.ptr2_reg	= DMA4_PTR2,
++		.cnt1_reg	= DMA4_CNT1,
++		.cnt2_reg	= DMA4_CNT2,
++	},
++	[SRAM_CH05] = {
++		.name		= "ch5",
++		.cmds_start	= 0x0,
++		.ctrl_start	= 0x0,
++		.cdt		= 0x0,
++		.fifo_start	= 0x0,
++		.fifo_size	= 0x0,
++		.ptr1_reg	= DMA5_PTR1,
++		.ptr2_reg	= DMA5_PTR2,
++		.cnt1_reg	= DMA5_CNT1,
++		.cnt2_reg	= DMA5_CNT2,
++	},
++	[SRAM_CH06] = {
++		.name		= "TS2 C",
++		.cmds_start	= 0x10140,
++		.ctrl_start	= 0x10440,
++		.cdt		= 0x105e0,
++		.fifo_start	= 0x6000,
++		.fifo_size	= 0x1000,
++		.ptr1_reg	= DMA5_PTR1,
++		.ptr2_reg	= DMA5_PTR2,
++		.cnt1_reg	= DMA5_CNT1,
++		.cnt2_reg	= DMA5_CNT2,
++	},
++	[SRAM_CH07] = {
++		.name		= "ch7",
++		.cmds_start	= 0x0,
++		.ctrl_start	= 0x0,
++		.cdt		= 0x0,
++		.fifo_start	= 0x0,
++		.fifo_size	= 0x0,
++		.ptr1_reg	= DMA6_PTR1,
++		.ptr2_reg	= DMA6_PTR2,
++		.cnt1_reg	= DMA6_CNT1,
++		.cnt2_reg	= DMA6_CNT2,
++	},
++	[SRAM_CH08] = {
++		.name		= "ch8",
++		.cmds_start	= 0x0,
++		.ctrl_start	= 0x0,
++		.cdt		= 0x0,
++		.fifo_start	= 0x0,
++		.fifo_size	= 0x0,
++		.ptr1_reg	= DMA7_PTR1,
++		.ptr2_reg	= DMA7_PTR2,
++		.cnt1_reg	= DMA7_CNT1,
++		.cnt2_reg	= DMA7_CNT2,
++	},
++	[SRAM_CH09] = {
++		.name		= "ch9",
++		.cmds_start	= 0x0,
++		.ctrl_start	= 0x0,
++		.cdt		= 0x0,
++		.fifo_start	= 0x0,
++		.fifo_size	= 0x0,
++		.ptr1_reg	= DMA8_PTR1,
++		.ptr2_reg	= DMA8_PTR2,
++		.cnt1_reg	= DMA8_CNT1,
++		.cnt2_reg	= DMA8_CNT2,
++	},
++};
++
+ static struct sram_channel cx23887_sram_channels[] = {
+ 	[SRAM_CH01] = {
+ 		.name		= "VID A",
+@@ -104,8 +215,8 @@ static struct sram_channel cx23887_sram_channels[] = {
+ 	[SRAM_CH03] = {
+ 		.name		= "TS1 B",
+ 		.cmds_start	= 0x100A0,
+-		.ctrl_start	= 0x10780,
+-		.cdt		= 0x10400,
++		.ctrl_start	= 0x10630,
++		.cdt		= 0x10870,
+ 		.fifo_start	= 0x5000,
+ 		.fifo_size	= 0x1000,
+ 		.ptr1_reg	= DMA3_PTR1,
+@@ -140,7 +251,7 @@ static struct sram_channel cx23887_sram_channels[] = {
+ 	[SRAM_CH06] = {
+ 		.name		= "TS2 C",
+ 		.cmds_start	= 0x10140,
+-		.ctrl_start	= 0x10680,
++		.ctrl_start	= 0x10670,
+ 		.cdt		= 0x108d0,
+ 		.fifo_start	= 0x6000,
+ 		.fifo_size	= 0x1000,
+@@ -460,6 +571,7 @@ static void cx23885_reset(struct cx23885_dev *dev)
+ 	cx_write(AUDIO_INT_INT_STAT, 0xffffffff);
+ 	cx_write(AUDIO_EXT_INT_STAT, 0xffffffff);
+ 	cx_write(CLK_DELAY, cx_read(CLK_DELAY) & 0x80000000);
++	cx_write(PAD_CTRL, 0x00500300);
+ 
+ 	mdelay(100);
+ 
+@@ -625,7 +737,6 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
+ 	atomic_inc(&dev->refcount);
+ 
+ 	dev->nr = cx23885_devcount++;
+-	dev->sram_channels = cx23887_sram_channels;
+ 	sprintf(dev->name, "cx23885[%d]", dev->nr);
+ 
+ 	mutex_lock(&devlist);
+@@ -637,11 +748,13 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
+ 		dev->bridge = CX23885_BRIDGE_887;
+ 		/* Apply a sensible clock frequency for the PCIe bridge */
+ 		dev->clk_freq = 25000000;
++		dev->sram_channels = cx23887_sram_channels;
+ 	} else
+ 	if(dev->pci->device == 0x8852) {
+ 		dev->bridge = CX23885_BRIDGE_885;
+ 		/* Apply a sensible clock frequency for the PCIe bridge */
+ 		dev->clk_freq = 28000000;
++		dev->sram_channels = cx23885_sram_channels;
+ 	} else
+ 		BUG();
+ 
+@@ -1042,6 +1155,9 @@ static int cx23885_start_dma(struct cx23885_tsport *port,
+ 	dprintk(1, "%s() w: %d, h: %d, f: %d\n", __func__,
+ 		buf->vb.width, buf->vb.height, buf->vb.field);
+ 
++	/* Stop the fifo and risc engine for this port */
++	cx_clear(port->reg_dma_ctl, port->dma_ctl_val);
++
+ 	/* setup fifo + format */
+ 	cx23885_sram_channel_setup(dev,
+ 				   &dev->sram_channels[ port->sram_chno ],
+@@ -1083,7 +1199,21 @@ static int cx23885_start_dma(struct cx23885_tsport *port,
+ 	cx_write(port->reg_gpcnt_ctl, 3);
+ 	q->count = 1;
+ 
+-	if (cx23885_boards[dev->board].portb & CX23885_MPEG_ENCODER) {
++	/* Set VIDB pins to input */
++	if (cx23885_boards[dev->board].portb == CX23885_MPEG_DVB) {
++		reg = cx_read(PAD_CTRL);
++		reg &= ~0x3; /* Clear TS1_OE & TS1_SOP_OE */
++		cx_write(PAD_CTRL, reg);
++	}
++
++	/* Set VIDC pins to input */
++	if (cx23885_boards[dev->board].portc == CX23885_MPEG_DVB) {
++		reg = cx_read(PAD_CTRL);
++		reg &= ~0x4; /* Clear TS2_SOP_OE */
++		cx_write(PAD_CTRL, reg);
++	}
++
++	if (cx23885_boards[dev->board].portb == CX23885_MPEG_ENCODER) {
+ 
+ 		reg = cx_read(PAD_CTRL);
+ 		reg = reg & ~0x1;    /* Clear TS1_OE */
+@@ -1133,7 +1263,7 @@ static int cx23885_stop_dma(struct cx23885_tsport *port)
+ 	cx_clear(port->reg_ts_int_msk, port->ts_int_msk_val);
+ 	cx_clear(port->reg_dma_ctl, port->dma_ctl_val);
+ 
+-	if (cx23885_boards[dev->board].portb & CX23885_MPEG_ENCODER) {
++	if (cx23885_boards[dev->board].portb == CX23885_MPEG_ENCODER) {
+ 
+ 		reg = cx_read(PAD_CTRL);
+ 
+diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
+index 2618cfa..0227cf9 100644
+--- a/drivers/media/video/saa7134/saa7134-cards.c
++++ b/drivers/media/video/saa7134/saa7134-cards.c
+@@ -5703,9 +5703,6 @@ int saa7134_board_init2(struct saa7134_dev *dev)
+ 	unsigned char buf;
+ 	int board;
+ 
+-	dev->tuner_type = saa7134_boards[dev->board].tuner_type;
+-	dev->tuner_addr = saa7134_boards[dev->board].tuner_addr;
+-
+ 	switch (dev->board) {
+ 	case SAA7134_BOARD_BMK_MPEX_NOTUNER:
+ 	case SAA7134_BOARD_BMK_MPEX_TUNER:
+diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
+index 2c19cd0..69f340d 100644
+--- a/drivers/media/video/saa7134/saa7134-core.c
++++ b/drivers/media/video/saa7134/saa7134-core.c
+@@ -946,11 +946,12 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,
+ 		dev->board = SAA7134_BOARD_UNKNOWN;
+ 	}
+ 	dev->autodetected = card[dev->nr] != dev->board;
+-	dev->tuner_type   = saa7134_boards[dev->board].tuner_type;
++	dev->tuner_type = saa7134_boards[dev->board].tuner_type;
++	dev->tuner_addr = saa7134_boards[dev->board].tuner_addr;
+ 	dev->tda9887_conf = saa7134_boards[dev->board].tda9887_conf;
+ 	if (UNSET != tuner[dev->nr])
+ 		dev->tuner_type = tuner[dev->nr];
+-		printk(KERN_INFO "%s: subsystem: %04x:%04x, board: %s [card=%d,%s]\n",
++	printk(KERN_INFO "%s: subsystem: %04x:%04x, board: %s [card=%d,%s]\n",
+ 		dev->name,pci_dev->subsystem_vendor,
+ 		pci_dev->subsystem_device,saa7134_boards[dev->board].name,
+ 		dev->board, dev->autodetected ?
+diff --git a/drivers/media/video/uvc/Kconfig b/drivers/media/video/uvc/Kconfig
+new file mode 100644
+index 0000000..c2d9760
+--- /dev/null
++++ b/drivers/media/video/uvc/Kconfig
+@@ -0,0 +1,17 @@
++config USB_VIDEO_CLASS
++	tristate "USB Video Class (UVC)"
++	---help---
++	  Support for the USB Video Class (UVC).  Currently only video
++	  input devices, such as webcams, are supported.
++
++	  For more information see: <http://linux-uvc.berlios.de/>
++
++config USB_VIDEO_CLASS_INPUT_EVDEV
++	bool "UVC input events device support"
++	default y
++	depends on USB_VIDEO_CLASS && INPUT
++	---help---
++	  This option makes USB Video Class devices register an input device
++	  to report button events.
++
++	  If you are in doubt, say Y.
+diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
+index 60ced58..9d954d2 100644
+--- a/drivers/media/video/uvc/uvc_driver.c
++++ b/drivers/media/video/uvc/uvc_driver.c
+@@ -298,7 +298,8 @@ static int uvc_parse_format(struct uvc_device *dev,
+ 	switch (buffer[2]) {
+ 	case VS_FORMAT_UNCOMPRESSED:
+ 	case VS_FORMAT_FRAME_BASED:
+-		if (buflen < 27) {
++		n = buffer[2] == VS_FORMAT_UNCOMPRESSED ? 27 : 28;
++		if (buflen < n) {
+ 			uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming"
+ 			       "interface %d FORMAT error\n",
+ 			       dev->udev->devnum,
+@@ -1891,6 +1892,15 @@ static struct usb_device_id uvc_ids[] = {
+ 	  .bInterfaceSubClass	= 1,
+ 	  .bInterfaceProtocol	= 0,
+ 	  .driver_info		= UVC_QUIRK_PROBE_MINMAX },
++	/* Medion Akoya Mini E1210 */
++	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
++				| USB_DEVICE_ID_MATCH_INT_INFO,
++	  .idVendor		= 0x5986,
++	  .idProduct		= 0x0141,
++	  .bInterfaceClass	= USB_CLASS_VIDEO,
++	  .bInterfaceSubClass	= 1,
++	  .bInterfaceProtocol	= 0,
++	  .driver_info		= UVC_QUIRK_PROBE_MINMAX },
+ 	/* Acer OrbiCam - Unknown vendor */
+ 	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
+ 				| USB_DEVICE_ID_MATCH_INT_INFO,
+diff --git a/drivers/media/video/uvc/uvc_status.c b/drivers/media/video/uvc/uvc_status.c
+index be9084e..eb2f970 100644
+--- a/drivers/media/video/uvc/uvc_status.c
++++ b/drivers/media/video/uvc/uvc_status.c
+@@ -22,6 +22,7 @@
+ /* --------------------------------------------------------------------------
+  * Input device
+  */
++#ifdef CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV
+ static int uvc_input_init(struct uvc_device *dev)
+ {
+ 	struct usb_device *udev = dev->udev;
+@@ -67,6 +68,19 @@ static void uvc_input_cleanup(struct uvc_device *dev)
+ 		input_unregister_device(dev->input);
+ }
+ 
++static void uvc_input_report_key(struct uvc_device *dev, unsigned int code,
++	int value)
++{
++	if (dev->input)
++		input_report_key(dev->input, code, value);
++}
++
++#else
++#define uvc_input_init(dev)
++#define uvc_input_cleanup(dev)
++#define uvc_input_report_key(dev, code, value)
++#endif /* CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV */
++
+ /* --------------------------------------------------------------------------
+  * Status interrupt endpoint
+  */
+@@ -83,8 +97,7 @@ static void uvc_event_streaming(struct uvc_device *dev, __u8 *data, int len)
+ 			return;
+ 		uvc_trace(UVC_TRACE_STATUS, "Button (intf %u) %s len %d\n",
+ 			data[1], data[3] ? "pressed" : "released", len);
+-		if (dev->input)
+-			input_report_key(dev->input, BTN_0, data[3]);
++		uvc_input_report_key(dev, BTN_0, data[3]);
+ 	} else {
+ 		uvc_trace(UVC_TRACE_STATUS, "Stream %u error event %02x %02x "
+ 			"len %d.\n", data[1], data[2], data[3], len);
+@@ -203,5 +216,5 @@ int uvc_status_resume(struct uvc_device *dev)
+ 	if (dev->int_urb == NULL)
+ 		return 0;
+ 
+-	return usb_submit_urb(dev->int_urb, GFP_KERNEL);
++	return usb_submit_urb(dev->int_urb, GFP_NOIO);
+ }
+diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
+index 6faf1fb..817af2e 100644
+--- a/drivers/media/video/uvc/uvc_video.c
++++ b/drivers/media/video/uvc/uvc_video.c
+@@ -554,9 +554,56 @@ static void uvc_video_complete(struct urb *urb)
+ }
+ 
+ /*
++ * Free transfer buffers.
++ */
++static void uvc_free_urb_buffers(struct uvc_video_device *video)
++{
++	unsigned int i;
++
++	for (i = 0; i < UVC_URBS; ++i) {
++		if (video->urb_buffer[i]) {
++			usb_buffer_free(video->dev->udev, video->urb_size,
++				video->urb_buffer[i], video->urb_dma[i]);
++			video->urb_buffer[i] = NULL;
++		}
++	}
++
++	video->urb_size = 0;
++}
++
++/*
++ * Allocate transfer buffers. This function can be called with buffers
++ * already allocated when resuming from suspend, in which case it will
++ * return without touching the buffers.
++ *
++ * Return 0 on success or -ENOMEM when out of memory.
++ */
++static int uvc_alloc_urb_buffers(struct uvc_video_device *video,
++	unsigned int size)
++{
++	unsigned int i;
++
++	/* Buffers are already allocated, bail out. */
++	if (video->urb_size)
++		return 0;
++
++	for (i = 0; i < UVC_URBS; ++i) {
++		video->urb_buffer[i] = usb_buffer_alloc(video->dev->udev,
++			size, GFP_KERNEL, &video->urb_dma[i]);
++		if (video->urb_buffer[i] == NULL) {
++			uvc_free_urb_buffers(video);
++			return -ENOMEM;
++		}
++	}
++
++	video->urb_size = size;
++	return 0;
++}
++
++/*
+  * Uninitialize isochronous/bulk URBs and free transfer buffers.
+  */
+-static void uvc_uninit_video(struct uvc_video_device *video)
++static void uvc_uninit_video(struct uvc_video_device *video, int free_buffers)
+ {
+ 	struct urb *urb;
+ 	unsigned int i;
+@@ -566,19 +613,12 @@ static void uvc_uninit_video(struct uvc_video_device *video)
+ 			continue;
+ 
+ 		usb_kill_urb(urb);
+-		/* urb->transfer_buffer_length is not touched by USB core, so
+-		 * we can use it here as the buffer length.
+-		 */
+-		if (video->urb_buffer[i]) {
+-			usb_buffer_free(video->dev->udev,
+-				urb->transfer_buffer_length,
+-				video->urb_buffer[i], urb->transfer_dma);
+-			video->urb_buffer[i] = NULL;
+-		}
+-
+ 		usb_free_urb(urb);
+ 		video->urb[i] = NULL;
+ 	}
++
++	if (free_buffers)
++		uvc_free_urb_buffers(video);
+ }
+ 
+ /*
+@@ -586,7 +626,7 @@ static void uvc_uninit_video(struct uvc_video_device *video)
+  * is given by the endpoint.
+  */
+ static int uvc_init_video_isoc(struct uvc_video_device *video,
+-	struct usb_host_endpoint *ep)
++	struct usb_host_endpoint *ep, gfp_t gfp_flags)
+ {
+ 	struct urb *urb;
+ 	unsigned int npackets, i, j;
+@@ -610,18 +650,13 @@ static int uvc_init_video_isoc(struct uvc_video_device *video,
+ 
+ 	size = npackets * psize;
+ 
++	if (uvc_alloc_urb_buffers(video, size) < 0)
++		return -ENOMEM;
++
+ 	for (i = 0; i < UVC_URBS; ++i) {
+-		urb = usb_alloc_urb(npackets, GFP_KERNEL);
++		urb = usb_alloc_urb(npackets, gfp_flags);
+ 		if (urb == NULL) {
+-			uvc_uninit_video(video);
+-			return -ENOMEM;
+-		}
+-
+-		video->urb_buffer[i] = usb_buffer_alloc(video->dev->udev,
+-			size, GFP_KERNEL, &urb->transfer_dma);
+-		if (video->urb_buffer[i] == NULL) {
+-			usb_free_urb(urb);
+-			uvc_uninit_video(video);
++			uvc_uninit_video(video, 1);
+ 			return -ENOMEM;
+ 		}
+ 
+@@ -632,6 +667,7 @@ static int uvc_init_video_isoc(struct uvc_video_device *video,
+ 		urb->transfer_flags = URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP;
+ 		urb->interval = ep->desc.bInterval;
+ 		urb->transfer_buffer = video->urb_buffer[i];
++		urb->transfer_dma = video->urb_dma[i];
+ 		urb->complete = uvc_video_complete;
+ 		urb->number_of_packets = npackets;
+ 		urb->transfer_buffer_length = size;
+@@ -652,7 +688,7 @@ static int uvc_init_video_isoc(struct uvc_video_device *video,
+  * given by the endpoint.
+  */
+ static int uvc_init_video_bulk(struct uvc_video_device *video,
+-	struct usb_host_endpoint *ep)
++	struct usb_host_endpoint *ep, gfp_t gfp_flags)
+ {
+ 	struct urb *urb;
+ 	unsigned int pipe, i;
+@@ -671,20 +707,15 @@ static int uvc_init_video_bulk(struct uvc_video_device *video,
+ 	if (size > psize * UVC_MAX_ISO_PACKETS)
+ 		size = psize * UVC_MAX_ISO_PACKETS;
+ 
++	if (uvc_alloc_urb_buffers(video, size) < 0)
++		return -ENOMEM;
++
+ 	pipe = usb_rcvbulkpipe(video->dev->udev, ep->desc.bEndpointAddress);
+ 
+ 	for (i = 0; i < UVC_URBS; ++i) {
+-		urb = usb_alloc_urb(0, GFP_KERNEL);
++		urb = usb_alloc_urb(0, gfp_flags);
+ 		if (urb == NULL) {
+-			uvc_uninit_video(video);
+-			return -ENOMEM;
+-		}
+-
+-		video->urb_buffer[i] = usb_buffer_alloc(video->dev->udev,
+-			size, GFP_KERNEL, &urb->transfer_dma);
+-		if (video->urb_buffer[i] == NULL) {
+-			usb_free_urb(urb);
+-			uvc_uninit_video(video);
++			uvc_uninit_video(video, 1);
+ 			return -ENOMEM;
+ 		}
+ 
+@@ -692,6 +723,7 @@ static int uvc_init_video_bulk(struct uvc_video_device *video,
+ 			video->urb_buffer[i], size, uvc_video_complete,
+ 			video);
+ 		urb->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
++		urb->transfer_dma = video->urb_dma[i];
+ 
+ 		video->urb[i] = urb;
+ 	}
+@@ -702,7 +734,7 @@ static int uvc_init_video_bulk(struct uvc_video_device *video,
+ /*
+  * Initialize isochronous/bulk URBs and allocate transfer buffers.
+  */
+-static int uvc_init_video(struct uvc_video_device *video)
++static int uvc_init_video(struct uvc_video_device *video, gfp_t gfp_flags)
+ {
+ 	struct usb_interface *intf = video->streaming->intf;
+ 	struct usb_host_interface *alts;
+@@ -747,7 +779,7 @@ static int uvc_init_video(struct uvc_video_device *video)
+ 		if ((ret = usb_set_interface(video->dev->udev, intfnum, i)) < 0)
+ 			return ret;
+ 
+-		ret = uvc_init_video_isoc(video, ep);
++		ret = uvc_init_video_isoc(video, ep, gfp_flags);
+ 	} else {
+ 		/* Bulk endpoint, proceed to URB initialization. */
+ 		ep = uvc_find_endpoint(&intf->altsetting[0],
+@@ -755,7 +787,7 @@ static int uvc_init_video(struct uvc_video_device *video)
+ 		if (ep == NULL)
+ 			return -EIO;
+ 
+-		ret = uvc_init_video_bulk(video, ep);
++		ret = uvc_init_video_bulk(video, ep, gfp_flags);
+ 	}
+ 
+ 	if (ret < 0)
+@@ -763,10 +795,10 @@ static int uvc_init_video(struct uvc_video_device *video)
+ 
+ 	/* Submit the URBs. */
+ 	for (i = 0; i < UVC_URBS; ++i) {
+-		if ((ret = usb_submit_urb(video->urb[i], GFP_KERNEL)) < 0) {
++		if ((ret = usb_submit_urb(video->urb[i], gfp_flags)) < 0) {
+ 			uvc_printk(KERN_ERR, "Failed to submit URB %u "
+ 					"(%d).\n", i, ret);
+-			uvc_uninit_video(video);
++			uvc_uninit_video(video, 1);
+ 			return ret;
+ 		}
+ 	}
+@@ -791,7 +823,7 @@ int uvc_video_suspend(struct uvc_video_device *video)
+ 		return 0;
+ 
+ 	video->frozen = 1;
+-	uvc_uninit_video(video);
++	uvc_uninit_video(video, 0);
+ 	usb_set_interface(video->dev->udev, video->streaming->intfnum, 0);
+ 	return 0;
+ }
+@@ -818,7 +850,7 @@ int uvc_video_resume(struct uvc_video_device *video)
+ 	if (!uvc_queue_streaming(&video->queue))
+ 		return 0;
+ 
+-	if ((ret = uvc_init_video(video)) < 0)
++	if ((ret = uvc_init_video(video, GFP_NOIO)) < 0)
+ 		uvc_queue_enable(&video->queue, 0);
+ 
+ 	return ret;
+@@ -920,7 +952,7 @@ int uvc_video_enable(struct uvc_video_device *video, int enable)
+ 	int ret;
+ 
+ 	if (!enable) {
+-		uvc_uninit_video(video);
++		uvc_uninit_video(video, 1);
+ 		usb_set_interface(video->dev->udev,
+ 			video->streaming->intfnum, 0);
+ 		uvc_queue_enable(&video->queue, 0);
+@@ -930,5 +962,5 @@ int uvc_video_enable(struct uvc_video_device *video, int enable)
+ 	if ((ret = uvc_queue_enable(&video->queue, 1)) < 0)
+ 		return ret;
+ 
+-	return uvc_init_video(video);
++	return uvc_init_video(video, GFP_KERNEL);
+ }
+diff --git a/drivers/media/video/uvc/uvcvideo.h b/drivers/media/video/uvc/uvcvideo.h
+index a995a78..2444b8a 100644
+--- a/drivers/media/video/uvc/uvcvideo.h
++++ b/drivers/media/video/uvc/uvcvideo.h
+@@ -602,6 +602,8 @@ struct uvc_video_device {
+ 
+ 	struct urb *urb[UVC_URBS];
+ 	char *urb_buffer[UVC_URBS];
++	dma_addr_t urb_dma[UVC_URBS];
++	unsigned int urb_size;
+ 
+ 	__u8 last_fid;
+ };
+diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
+index d89475d..5c35e63 100644
+--- a/drivers/mmc/host/pxamci.c
++++ b/drivers/mmc/host/pxamci.c
+@@ -177,7 +177,7 @@ static void pxamci_setup_data(struct pxamci_host *host, struct mmc_data *data)
+ 	if (dalgn)
+ 		DALGN |= (1 << host->dma);
+ 	else
+-		DALGN &= (1 << host->dma);
++		DALGN &= ~(1 << host->dma);
+ 	DDADR(host->dma) = host->sg_dma;
+ 	DCSR(host->dma) = DCSR_RUN;
+ }
+diff --git a/drivers/net/hamradio/hdlcdrv.c b/drivers/net/hamradio/hdlcdrv.c
+index ae9629f..c258a05 100644
+--- a/drivers/net/hamradio/hdlcdrv.c
++++ b/drivers/net/hamradio/hdlcdrv.c
+@@ -88,6 +88,7 @@
+ static inline void append_crc_ccitt(unsigned char *buffer, int len)
+ {
+  	unsigned int crc = crc_ccitt(0xffff, buffer, len) ^ 0xffff;
++	buffer += len;
+ 	*buffer++ = crc;
+ 	*buffer++ = crc >> 8;
+ }
+diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
+index 8f04609..e248f80 100644
+--- a/drivers/net/ixgbe/ixgbe_main.c
++++ b/drivers/net/ixgbe/ixgbe_main.c
+@@ -70,8 +70,6 @@ static struct pci_device_id ixgbe_pci_tbl[] = {
+ 	 board_82598 },
+ 	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT),
+ 	 board_82598 },
+-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT_DUAL_PORT),
+-	 board_82598 },
+ 	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_CX4),
+ 	 board_82598 },
+ 
+diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
+index e0d76c7..9e28d91 100644
+--- a/drivers/net/myri10ge/myri10ge.c
++++ b/drivers/net/myri10ge/myri10ge.c
+@@ -3126,6 +3126,8 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 
+ 	mgp = netdev_priv(netdev);
+ 	mgp->dev = netdev;
++	mgp->ss.mgp = mgp;
++	mgp->ss.dev = mgp->dev;
+ 	netif_napi_add(netdev, &mgp->ss.napi, myri10ge_poll, myri10ge_napi_weight);
+ 	mgp->pdev = pdev;
+ 	mgp->csum_flag = MXGEFW_FLAGS_CKSUM;
+@@ -3213,26 +3215,26 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	for (i = 0; i < ETH_ALEN; i++)
+ 		netdev->dev_addr[i] = mgp->mac_addr[i];
+ 
+-	/* allocate rx done ring */
+-	bytes = mgp->max_intr_slots * sizeof(*mgp->ss.rx_done.entry);
+-	mgp->ss.rx_done.entry = dma_alloc_coherent(&pdev->dev, bytes,
+-						&mgp->ss.rx_done.bus, GFP_KERNEL);
+-	if (mgp->ss.rx_done.entry == NULL)
+-		goto abort_with_ioremap;
+-	memset(mgp->ss.rx_done.entry, 0, bytes);
+-
+ 	myri10ge_select_firmware(mgp);
+ 
+ 	status = myri10ge_load_firmware(mgp);
+ 	if (status != 0) {
+ 		dev_err(&pdev->dev, "failed to load firmware\n");
+-		goto abort_with_rx_done;
++		goto abort_with_ioremap;
+ 	}
+ 
++	/* allocate rx done ring */
++	bytes = mgp->max_intr_slots * sizeof(*mgp->ss.rx_done.entry);
++	mgp->ss.rx_done.entry = dma_alloc_coherent(&pdev->dev, bytes,
++						&mgp->ss.rx_done.bus, GFP_KERNEL);
++	if (mgp->ss.rx_done.entry == NULL)
++		goto abort_with_firmware;
++	memset(mgp->ss.rx_done.entry, 0, bytes);
++
+ 	status = myri10ge_reset(mgp);
+ 	if (status != 0) {
+ 		dev_err(&pdev->dev, "failed reset\n");
+-		goto abort_with_firmware;
++		goto abort_with_rx_done;
+ 	}
+ 
+ 	pci_set_drvdata(pdev, mgp);
+@@ -3258,7 +3260,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ 	 * is set to correct value if MSI is enabled */
+ 	status = myri10ge_request_irq(mgp);
+ 	if (status != 0)
+-		goto abort_with_firmware;
++		goto abort_with_rx_done;
+ 	netdev->irq = pdev->irq;
+ 	myri10ge_free_irq(mgp);
+ 
+@@ -3287,14 +3289,14 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ abort_with_state:
+ 	pci_restore_state(pdev);
+ 
+-abort_with_firmware:
+-	myri10ge_dummy_rdma(mgp, 0);
+-
+ abort_with_rx_done:
+ 	bytes = mgp->max_intr_slots * sizeof(*mgp->ss.rx_done.entry);
+ 	dma_free_coherent(&pdev->dev, bytes,
+ 			  mgp->ss.rx_done.entry, mgp->ss.rx_done.bus);
+ 
++abort_with_firmware:
++	myri10ge_dummy_rdma(mgp, 0);
++
+ abort_with_ioremap:
+ 	iounmap(mgp->sram);
+ 
+diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
+index 635b9ac..e57905c 100644
+--- a/drivers/net/wireless/ath5k/base.c
++++ b/drivers/net/wireless/ath5k/base.c
+@@ -487,9 +487,6 @@ ath5k_pci_probe(struct pci_dev *pdev,
+ 	/* Set private data */
+ 	pci_set_drvdata(pdev, hw);
+ 
+-	/* Enable msi for devices that support it */
+-	pci_enable_msi(pdev);
+-
+ 	/* Setup interrupt handler */
+ 	ret = request_irq(pdev->irq, ath5k_intr, IRQF_SHARED, "ath", sc);
+ 	if (ret) {
+@@ -567,7 +564,6 @@ err_ah:
+ err_irq:
+ 	free_irq(pdev->irq, sc);
+ err_free:
+-	pci_disable_msi(pdev);
+ 	ieee80211_free_hw(hw);
+ err_map:
+ 	pci_iounmap(pdev, mem);
+@@ -589,7 +585,6 @@ ath5k_pci_remove(struct pci_dev *pdev)
+ 	ath5k_detach(pdev, hw);
+ 	ath5k_hw_detach(sc->ah);
+ 	free_irq(pdev->irq, sc);
+-	pci_disable_msi(pdev);
+ 	pci_iounmap(pdev, sc->iobase);
+ 	pci_release_region(pdev, 0);
+ 	pci_disable_device(pdev);
+diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wireless/b43legacy/main.c
+index 3e612d0..9bba3ec 100644
+--- a/drivers/net/wireless/b43legacy/main.c
++++ b/drivers/net/wireless/b43legacy/main.c
+@@ -3862,10 +3862,10 @@ static int b43legacy_resume(struct ssb_device *dev)
+ 			goto out;
+ 		}
+ 	}
+-	mutex_unlock(&wl->mutex);
+ 
+ 	b43legacydbg(wl, "Device resumed.\n");
+ out:
++	mutex_unlock(&wl->mutex);
+ 	return err;
+ }
+ 
+diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c
+index 39e64ab..67c7a01 100644
+--- a/drivers/rtc/rtc-at91rm9200.c
++++ b/drivers/rtc/rtc-at91rm9200.c
+@@ -175,8 +175,10 @@ static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
+ 		| BIN2BCD(tm.tm_mday) << 24
+ 		| AT91_RTC_DATEEN | AT91_RTC_MTHEN);
+ 
+-	if (alrm->enabled)
++	if (alrm->enabled) {
++		at91_sys_write(AT91_RTC_SCCR, AT91_RTC_ALARM);
+ 		at91_sys_write(AT91_RTC_IER, AT91_RTC_ALARM);
++	}
+ 
+ 	pr_debug("%s(): %4d-%02d-%02d %02d:%02d:%02d\n", __func__,
+ 		at91_alarm_year, tm.tm_mon, tm.tm_mday, tm.tm_hour,
+@@ -195,28 +197,22 @@ static int at91_rtc_ioctl(struct device *dev, unsigned int cmd,
+ 
+ 	pr_debug("%s(): cmd=%08x, arg=%08lx.\n", __func__, cmd, arg);
+ 
++	/* important:  scrub old status before enabling IRQs */
+ 	switch (cmd) {
+ 	case RTC_AIE_OFF:	/* alarm off */
+ 		at91_sys_write(AT91_RTC_IDR, AT91_RTC_ALARM);
+ 		break;
+ 	case RTC_AIE_ON:	/* alarm on */
++		at91_sys_write(AT91_RTC_SCCR, AT91_RTC_ALARM);
+ 		at91_sys_write(AT91_RTC_IER, AT91_RTC_ALARM);
+ 		break;
+ 	case RTC_UIE_OFF:	/* update off */
+-	case RTC_PIE_OFF:	/* periodic off */
+ 		at91_sys_write(AT91_RTC_IDR, AT91_RTC_SECEV);
+ 		break;
+ 	case RTC_UIE_ON:	/* update on */
+-	case RTC_PIE_ON:	/* periodic on */
++		at91_sys_write(AT91_RTC_SCCR, AT91_RTC_SECEV);
+ 		at91_sys_write(AT91_RTC_IER, AT91_RTC_SECEV);
+ 		break;
+-	case RTC_IRQP_READ:	/* read periodic alarm frequency */
+-		ret = put_user(AT91_RTC_FREQ, (unsigned long *) arg);
+-		break;
+-	case RTC_IRQP_SET:	/* set periodic alarm frequency */
+-		if (arg != AT91_RTC_FREQ)
+-			ret = -EINVAL;
+-		break;
+ 	default:
+ 		ret = -ENOIOCTLCMD;
+ 		break;
+diff --git a/drivers/spi/mpc52xx_psc_spi.c b/drivers/spi/mpc52xx_psc_spi.c
+index 681d623..d8a1f91 100644
+--- a/drivers/spi/mpc52xx_psc_spi.c
++++ b/drivers/spi/mpc52xx_psc_spi.c
+@@ -148,7 +148,6 @@ static int mpc52xx_psc_spi_transfer_rxtx(struct spi_device *spi,
+ 	unsigned rfalarm;
+ 	unsigned send_at_once = MPC52xx_PSC_BUFSIZE;
+ 	unsigned recv_at_once;
+-	unsigned bpw = mps->bits_per_word / 8;
+ 
+ 	if (!t->tx_buf && !t->rx_buf && t->len)
+ 		return -EINVAL;
+@@ -164,22 +163,15 @@ static int mpc52xx_psc_spi_transfer_rxtx(struct spi_device *spi,
+ 		}
+ 
+ 		dev_dbg(&spi->dev, "send %d bytes...\n", send_at_once);
+-		if (tx_buf) {
+-			for (; send_at_once; sb++, send_at_once--) {
+-				/* set EOF flag */
+-				if (mps->bits_per_word
+-						&& (sb + 1) % bpw == 0)
+-					out_8(&psc->ircr2, 0x01);
++		for (; send_at_once; sb++, send_at_once--) {
++			/* set EOF flag before the last word is sent */
++			if (send_at_once == 1)
++				out_8(&psc->ircr2, 0x01);
++
++			if (tx_buf)
+ 				out_8(&psc->mpc52xx_psc_buffer_8, tx_buf[sb]);
+-			}
+-		} else {
+-			for (; send_at_once; sb++, send_at_once--) {
+-				/* set EOF flag */
+-				if (mps->bits_per_word
+-						&& ((sb + 1) % bpw) == 0)
+-					out_8(&psc->ircr2, 0x01);
++			else
+ 				out_8(&psc->mpc52xx_psc_buffer_8, 0);
+-			}
+ 		}
+ 
+ 
+diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
+index 0cb0d77..db1db4c 100644
+--- a/drivers/usb/serial/usb-serial.c
++++ b/drivers/usb/serial/usb-serial.c
+@@ -283,7 +283,10 @@ static void serial_close(struct tty_struct *tty, struct file * filp)
+ 	}
+ 
+ 	if (port->open_count == 0) {
+-		usb_autopm_put_interface(port->serial->interface);
++		mutex_lock(&port->serial->disc_mutex);
++		if (!port->serial->disconnected)
++			usb_autopm_put_interface(port->serial->interface);
++		mutex_unlock(&port->serial->disc_mutex);
+ 		module_put(port->serial->type->driver.owner);
+ 	}
+ 
+diff --git a/fs/dquot.c b/fs/dquot.c
+index 5ac77da..ad88cf6 100644
+--- a/fs/dquot.c
++++ b/fs/dquot.c
+@@ -562,6 +562,8 @@ static struct shrinker dqcache_shrinker = {
+  */
+ static void dqput(struct dquot *dquot)
+ {
++	int ret;
++
+ 	if (!dquot)
+ 		return;
+ #ifdef __DQUOT_PARANOIA
+@@ -594,7 +596,19 @@ we_slept:
+ 	if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags) && dquot_dirty(dquot)) {
+ 		spin_unlock(&dq_list_lock);
+ 		/* Commit dquot before releasing */
+-		dquot->dq_sb->dq_op->write_dquot(dquot);
++		ret = dquot->dq_sb->dq_op->write_dquot(dquot);
++		if (ret < 0) {
++			printk(KERN_ERR "VFS: cannot write quota structure on "
++				"device %s (error %d). Quota may get out of "
++				"sync!\n", dquot->dq_sb->s_id, ret);
++			/*
++			 * We clear dirty bit anyway, so that we avoid
++			 * infinite loop here
++			 */
++			spin_lock(&dq_list_lock);
++			clear_dquot_dirty(dquot);
++			spin_unlock(&dq_list_lock);
++		}
+ 		goto we_slept;
+ 	}
+ 	/* Clear flag in case dquot was inactive (something bad happened) */
+diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
+index e2832bc..a82e0cb 100644
+--- a/fs/ecryptfs/crypto.c
++++ b/fs/ecryptfs/crypto.c
+@@ -474,8 +474,8 @@ int ecryptfs_encrypt_page(struct page *page)
+ {
+ 	struct inode *ecryptfs_inode;
+ 	struct ecryptfs_crypt_stat *crypt_stat;
+-	char *enc_extent_virt = NULL;
+-	struct page *enc_extent_page;
++	char *enc_extent_virt;
++	struct page *enc_extent_page = NULL;
+ 	loff_t extent_offset;
+ 	int rc = 0;
+ 
+@@ -491,14 +491,14 @@ int ecryptfs_encrypt_page(struct page *page)
+ 			       page->index);
+ 		goto out;
+ 	}
+-	enc_extent_virt = kmalloc(PAGE_CACHE_SIZE, GFP_USER);
+-	if (!enc_extent_virt) {
++	enc_extent_page = alloc_page(GFP_USER);
++	if (!enc_extent_page) {
+ 		rc = -ENOMEM;
+ 		ecryptfs_printk(KERN_ERR, "Error allocating memory for "
+ 				"encrypted extent\n");
+ 		goto out;
+ 	}
+-	enc_extent_page = virt_to_page(enc_extent_virt);
++	enc_extent_virt = kmap(enc_extent_page);
+ 	for (extent_offset = 0;
+ 	     extent_offset < (PAGE_CACHE_SIZE / crypt_stat->extent_size);
+ 	     extent_offset++) {
+@@ -526,7 +526,10 @@ int ecryptfs_encrypt_page(struct page *page)
+ 		}
+ 	}
+ out:
+-	kfree(enc_extent_virt);
++	if (enc_extent_page) {
++		kunmap(enc_extent_page);
++		__free_page(enc_extent_page);
++	}
+ 	return rc;
+ }
+ 
+@@ -608,8 +611,8 @@ int ecryptfs_decrypt_page(struct page *page)
+ {
+ 	struct inode *ecryptfs_inode;
+ 	struct ecryptfs_crypt_stat *crypt_stat;
+-	char *enc_extent_virt = NULL;
+-	struct page *enc_extent_page;
++	char *enc_extent_virt;
++	struct page *enc_extent_page = NULL;
+ 	unsigned long extent_offset;
+ 	int rc = 0;
+ 
+@@ -626,14 +629,14 @@ int ecryptfs_decrypt_page(struct page *page)
+ 			       page->index);
+ 		goto out;
+ 	}
+-	enc_extent_virt = kmalloc(PAGE_CACHE_SIZE, GFP_USER);
+-	if (!enc_extent_virt) {
++	enc_extent_page = alloc_page(GFP_USER);
++	if (!enc_extent_page) {
+ 		rc = -ENOMEM;
+ 		ecryptfs_printk(KERN_ERR, "Error allocating memory for "
+ 				"encrypted extent\n");
+ 		goto out;
+ 	}
+-	enc_extent_page = virt_to_page(enc_extent_virt);
++	enc_extent_virt = kmap(enc_extent_page);
+ 	for (extent_offset = 0;
+ 	     extent_offset < (PAGE_CACHE_SIZE / crypt_stat->extent_size);
+ 	     extent_offset++) {
+@@ -661,7 +664,10 @@ int ecryptfs_decrypt_page(struct page *page)
+ 		}
+ 	}
+ out:
+-	kfree(enc_extent_virt);
++	if (enc_extent_page) {
++		kunmap(enc_extent_page);
++		__free_page(enc_extent_page);
++	}
+ 	return rc;
+ }
+ 
+diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c
+index 6bd48f0..c2fb2dd 100644
+--- a/fs/isofs/rock.c
++++ b/fs/isofs/rock.c
+@@ -209,6 +209,11 @@ repeat:
+ 
+ 	while (rs.len > 2) { /* There may be one byte for padding somewhere */
+ 		rr = (struct rock_ridge *)rs.chr;
++		/*
++		 * Ignore rock ridge info if rr->len is out of range, but
++		 * don't return -EIO because that would make the file
++		 * invisible.
++		 */
+ 		if (rr->len < 3)
+ 			goto out;	/* Something got screwed up here */
+ 		sig = isonum_721(rs.chr);
+@@ -216,8 +221,12 @@ repeat:
+ 			goto eio;
+ 		rs.chr += rr->len;
+ 		rs.len -= rr->len;
++		/*
++		 * As above, just ignore the rock ridge info if rr->len
++		 * is bogus.
++		 */
+ 		if (rs.len < 0)
+-			goto eio;	/* corrupted isofs */
++			goto out;	/* Something got screwed up here */
+ 
+ 		switch (sig) {
+ 		case SIG('R', 'R'):
+@@ -307,6 +316,11 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
+ repeat:
+ 	while (rs.len > 2) { /* There may be one byte for padding somewhere */
+ 		rr = (struct rock_ridge *)rs.chr;
++		/*
++		 * Ignore rock ridge info if rr->len is out of range, but
++		 * don't return -EIO because that would make the file
++		 * invisible.
++		 */
+ 		if (rr->len < 3)
+ 			goto out;	/* Something got screwed up here */
+ 		sig = isonum_721(rs.chr);
+@@ -314,8 +328,12 @@ repeat:
+ 			goto eio;
+ 		rs.chr += rr->len;
+ 		rs.len -= rr->len;
++		/*
++		 * As above, just ignore the rock ridge info if rr->len
++		 * is bogus.
++		 */
+ 		if (rs.len < 0)
+-			goto eio;	/* corrupted isofs */
++			goto out;	/* Something got screwed up here */
+ 
+ 		switch (sig) {
+ #ifndef CONFIG_ZISOFS		/* No flag for SF or ZF */
+diff --git a/fs/libfs.c b/fs/libfs.c
+index baeb71e..1add676 100644
+--- a/fs/libfs.c
++++ b/fs/libfs.c
+@@ -216,8 +216,8 @@ int get_sb_pseudo(struct file_system_type *fs_type, char *name,
+ 
+ 	s->s_flags = MS_NOUSER;
+ 	s->s_maxbytes = ~0ULL;
+-	s->s_blocksize = 1024;
+-	s->s_blocksize_bits = 10;
++	s->s_blocksize = PAGE_SIZE;
++	s->s_blocksize_bits = PAGE_SHIFT;
+ 	s->s_magic = magic;
+ 	s->s_op = ops ? ops : &simple_super_operations;
+ 	s->s_time_gran = 1;
+diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
+index c492449..1eaa39a 100644
+--- a/fs/proc/task_mmu.c
++++ b/fs/proc/task_mmu.c
+@@ -636,7 +636,7 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
+ 	struct pagemapread pm;
+ 	int pagecount;
+ 	int ret = -ESRCH;
+-	struct mm_walk pagemap_walk;
++	struct mm_walk pagemap_walk = {};
+ 	unsigned long src;
+ 	unsigned long svpfn;
+ 	unsigned long start_vaddr;
+diff --git a/include/asm-arm/bitops.h b/include/asm-arm/bitops.h
+index 5c60bfc..9a1db20 100644
+--- a/include/asm-arm/bitops.h
++++ b/include/asm-arm/bitops.h
+@@ -277,9 +277,16 @@ static inline int constant_fls(int x)
+  * the clz instruction for much better code efficiency.
+  */
+ 
+-#define fls(x) \
++#define __fls(x) \
+ 	( __builtin_constant_p(x) ? constant_fls(x) : \
+ 	  ({ int __r; asm("clz\t%0, %1" : "=r"(__r) : "r"(x) : "cc"); 32-__r; }) )
++
++/* Implement fls() in C so that 64-bit args are suitably truncated */
++static inline int fls(int x)
++{
++	return __fls(x);
++}
++
+ #define ffs(x) ({ unsigned long __t = (x); fls(__t & -__t); })
+ #define __ffs(x) (ffs(x) - 1)
+ #define ffz(x) __ffs( ~(x) )
+diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
+index f054778..5a544bf 100644
+--- a/include/asm-generic/vmlinux.lds.h
++++ b/include/asm-generic/vmlinux.lds.h
+@@ -204,6 +204,7 @@
+  * during second ld run in second ld pass when generating System.map */
+ #define TEXT_TEXT							\
+ 		ALIGN_FUNCTION();					\
++		*(.text.hot)						\
+ 		*(.text)						\
+ 		*(.ref.text)						\
+ 		*(.text.init.refok)					\
+@@ -213,7 +214,8 @@
+ 	CPU_KEEP(init.text)						\
+ 	CPU_KEEP(exit.text)						\
+ 	MEM_KEEP(init.text)						\
+-	MEM_KEEP(exit.text)
++	MEM_KEEP(exit.text)						\
++		*(.text.unlikely)
+ 
+ 
+ /* sched.text is aling to function alignment to secure we have same
+diff --git a/include/asm-sparc64/io.h b/include/asm-sparc64/io.h
+index 3158960..38e7ba6 100644
+--- a/include/asm-sparc64/io.h
++++ b/include/asm-sparc64/io.h
+@@ -16,7 +16,6 @@
+ /* BIO layer definitions. */
+ extern unsigned long kern_base, kern_size;
+ #define page_to_phys(page)	(page_to_pfn(page) << PAGE_SHIFT)
+-#define BIO_VMERGE_BOUNDARY	8192
+ 
+ static inline u8 _inb(unsigned long addr)
+ {
+diff --git a/include/asm-x86/signal.h b/include/asm-x86/signal.h
+index f15186d..6dac493 100644
+--- a/include/asm-x86/signal.h
++++ b/include/asm-x86/signal.h
+@@ -181,12 +181,12 @@ typedef struct sigaltstack {
+ #ifdef __KERNEL__
+ #include <asm/sigcontext.h>
+ 
+-#ifdef __386__
++#ifdef __i386__
+ 
+ #define __HAVE_ARCH_SIG_BITOPS
+ 
+ #define sigaddset(set,sig)		    \
+-	(__builtin_constantp(sig)	    \
++	(__builtin_constant_p(sig)	    \
+ 	 ? __const_sigaddset((set), (sig))  \
+ 	 : __gen_sigaddset((set), (sig)))
+ 
+diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
+index e7e91db..07cb761 100644
+--- a/include/linux/cpufreq.h
++++ b/include/linux/cpufreq.h
+@@ -109,6 +109,7 @@ struct cpufreq_policy {
+ #define CPUFREQ_ADJUST		(0)
+ #define CPUFREQ_INCOMPATIBLE	(1)
+ #define CPUFREQ_NOTIFY		(2)
++#define CPUFREQ_START		(3)
+ 
+ #define CPUFREQ_SHARED_TYPE_NONE (0) /* None */
+ #define CPUFREQ_SHARED_TYPE_HW	 (1) /* HW does needed coordination */
+diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
+index cde056e..0bfd97f 100644
+--- a/include/linux/ipv6.h
++++ b/include/linux/ipv6.h
+@@ -123,6 +123,7 @@ struct ipv6hdr {
+ 	struct	in6_addr	daddr;
+ };
+ 
++#ifdef __KERNEL__
+ /*
+  * This structure contains configuration options per IPv6 link.
+  */
+@@ -165,6 +166,7 @@ struct ipv6_devconf {
+ #endif
+ 	void		*sysctl;
+ };
++#endif
+ 
+ /* index values for the variables in ipv6_devconf */
+ enum {
+diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
+index de9d1df..d413e89 100644
+--- a/include/linux/kvm_host.h
++++ b/include/linux/kvm_host.h
+@@ -166,6 +166,7 @@ int kvm_arch_set_memory_region(struct kvm *kvm,
+ 				struct kvm_userspace_memory_region *mem,
+ 				struct kvm_memory_slot old,
+ 				int user_alloc);
++void kvm_arch_flush_shadow(struct kvm *kvm);
+ gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn);
+ struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn);
+ unsigned long gfn_to_hva(struct kvm *kvm, gfn_t gfn);
+diff --git a/kernel/cpuset.c b/kernel/cpuset.c
+index 798b3ab..2a028f5 100644
+--- a/kernel/cpuset.c
++++ b/kernel/cpuset.c
+@@ -679,7 +679,9 @@ restart:
+ 				if (apn == b->pn) {
+ 					cpus_or(*dp, *dp, b->cpus_allowed);
+ 					b->pn = -1;
+-					update_domain_attr(dattr, b);
++					if (dattr)
++						update_domain_attr(dattr
++								   + nslot, b);
+ 				}
+ 			}
+ 			nslot++;
+diff --git a/kernel/marker.c b/kernel/marker.c
+index b5a9fe1..39e7596 100644
+--- a/kernel/marker.c
++++ b/kernel/marker.c
+@@ -127,6 +127,11 @@ void marker_probe_cb(const struct marker *mdata, void *call_private,
+ 		struct marker_probe_closure *multi;
+ 		int i;
+ 		/*
++		 * Read mdata->ptype before mdata->multi.
++		 */
++		smp_rmb();
++		multi = mdata->multi;
++		/*
+ 		 * multi points to an array, therefore accessing the array
+ 		 * depends on reading multi. However, even in this case,
+ 		 * we must insure that the pointer is read _before_ the array
+@@ -134,7 +139,6 @@ void marker_probe_cb(const struct marker *mdata, void *call_private,
+ 		 * in the fast path, so put the explicit barrier here.
+ 		 */
+ 		smp_read_barrier_depends();
+-		multi = mdata->multi;
+ 		for (i = 0; multi[i].func; i++) {
+ 			va_start(args, fmt);
+ 			multi[i].func(multi[i].probe_private, call_private, fmt,
+@@ -177,6 +181,11 @@ void marker_probe_cb_noarg(const struct marker *mdata,
+ 		struct marker_probe_closure *multi;
+ 		int i;
+ 		/*
++		 * Read mdata->ptype before mdata->multi.
++		 */
++		smp_rmb();
++		multi = mdata->multi;
++		/*
+ 		 * multi points to an array, therefore accessing the array
+ 		 * depends on reading multi. However, even in this case,
+ 		 * we must insure that the pointer is read _before_ the array
+@@ -184,7 +193,6 @@ void marker_probe_cb_noarg(const struct marker *mdata,
+ 		 * in the fast path, so put the explicit barrier here.
+ 		 */
+ 		smp_read_barrier_depends();
+-		multi = mdata->multi;
+ 		for (i = 0; multi[i].func; i++)
+ 			multi[i].func(multi[i].probe_private, call_private, fmt,
+ 				&args);
+diff --git a/kernel/rcupreempt.c b/kernel/rcupreempt.c
+index 41d275a..379c25e 100644
+--- a/kernel/rcupreempt.c
++++ b/kernel/rcupreempt.c
+@@ -567,7 +567,7 @@ rcu_try_flip_waitack_needed(int cpu)
+ 	 * that this CPU already acknowledged the counter.
+ 	 */
+ 
+-	if ((curr - snap) > 2 || (snap & 0x1) == 0)
++	if ((curr - snap) > 2 || (curr & 0x1) == 0)
+ 		return 0;
+ 
+ 	/* We need this CPU to explicitly acknowledge the counter flip. */
+diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c
+index 5b9b467..0fea0ee 100644
+--- a/kernel/sys_ni.c
++++ b/kernel/sys_ni.c
+@@ -59,6 +59,7 @@ cond_syscall(sys_epoll_create);
+ cond_syscall(sys_epoll_ctl);
+ cond_syscall(sys_epoll_wait);
+ cond_syscall(sys_epoll_pwait);
++cond_syscall(compat_sys_epoll_pwait);
+ cond_syscall(sys_semget);
+ cond_syscall(sys_semop);
+ cond_syscall(sys_semtimedop);
+diff --git a/mm/filemap.c b/mm/filemap.c
+index 1e6a7d3..4f32423 100644
+--- a/mm/filemap.c
++++ b/mm/filemap.c
+@@ -1778,7 +1778,7 @@ void iov_iter_advance(struct iov_iter *i, size_t bytes)
+ 		 * The !iov->iov_len check ensures we skip over unlikely
+ 		 * zero-length segments (without overruning the iovec).
+ 		 */
+-		while (bytes || unlikely(!iov->iov_len && i->count)) {
++		while (bytes || unlikely(i->count && !iov->iov_len)) {
+ 			int copy;
+ 
+ 			copy = min(bytes, iov->iov_len - base);
+diff --git a/mm/shmem.c b/mm/shmem.c
+index e2a6ae1..8f8412b 100644
+--- a/mm/shmem.c
++++ b/mm/shmem.c
+@@ -1503,7 +1503,6 @@ shmem_get_inode(struct super_block *sb, int mode, dev_t dev)
+ 		inode->i_uid = current->fsuid;
+ 		inode->i_gid = current->fsgid;
+ 		inode->i_blocks = 0;
+-		inode->i_mapping->a_ops = &shmem_aops;
+ 		inode->i_mapping->backing_dev_info = &shmem_backing_dev_info;
+ 		inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
+ 		inode->i_generation = get_seconds();
+@@ -1518,6 +1517,7 @@ shmem_get_inode(struct super_block *sb, int mode, dev_t dev)
+ 			init_special_inode(inode, mode, dev);
+ 			break;
+ 		case S_IFREG:
++			inode->i_mapping->a_ops = &shmem_aops;
+ 			inode->i_op = &shmem_inode_operations;
+ 			inode->i_fop = &shmem_file_operations;
+ 			mpol_shared_policy_init(&info->policy,
+@@ -1907,6 +1907,7 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s
+ 			return error;
+ 		}
+ 		unlock_page(page);
++		inode->i_mapping->a_ops = &shmem_aops;
+ 		inode->i_op = &shmem_symlink_inode_operations;
+ 		kaddr = kmap_atomic(page, KM_USER0);
+ 		memcpy(kaddr, symname, len);
+diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
+index cad73b7..c443a7f 100644
+--- a/net/ipv4/tcp_input.c
++++ b/net/ipv4/tcp_input.c
+@@ -3273,6 +3273,7 @@ static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag)
+ 	 * log. Something worked...
+ 	 */
+ 	sk->sk_err_soft = 0;
++	icsk->icsk_probes_out = 0;
+ 	tp->rcv_tstamp = tcp_time_stamp;
+ 	prior_packets = tp->packets_out;
+ 	if (!prior_packets)
+@@ -3305,8 +3306,6 @@ static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag)
+ 	return 1;
+ 
+ no_queue:
+-	icsk->icsk_probes_out = 0;
+-
+ 	/* If this ack opens up a zero window, clear backoff.  It was
+ 	 * being used to time the probes, and is probably far higher than
+ 	 * it needs to be for normal retransmission.
+diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
+index 56fcda3..9f3f7ba 100644
+--- a/net/ipv4/udp.c
++++ b/net/ipv4/udp.c
+@@ -1319,6 +1319,8 @@ int udp_lib_setsockopt(struct sock *sk, int level, int optname,
+ 			return -ENOPROTOOPT;
+ 		if (val != 0 && val < 8) /* Illegal coverage: use default (8) */
+ 			val = 8;
++		else if (val > USHORT_MAX)
++			val = USHORT_MAX;
+ 		up->pcslen = val;
+ 		up->pcflag |= UDPLITE_SEND_CC;
+ 		break;
+@@ -1331,6 +1333,8 @@ int udp_lib_setsockopt(struct sock *sk, int level, int optname,
+ 			return -ENOPROTOOPT;
+ 		if (val != 0 && val < 8) /* Avoid silly minimal values.       */
+ 			val = 8;
++		else if (val > USHORT_MAX)
++			val = USHORT_MAX;
+ 		up->pcrlen = val;
+ 		up->pcflag |= UDPLITE_RECV_CC;
+ 		break;
+diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
+index 1ee4fa1..918fde4 100644
+--- a/net/ipv6/ip6_fib.c
++++ b/net/ipv6/ip6_fib.c
+@@ -663,7 +663,7 @@ static int fib6_add_rt2node(struct fib6_node *fn, struct rt6_info *rt,
+ 
+ static __inline__ void fib6_start_gc(struct net *net, struct rt6_info *rt)
+ {
+-	if (net->ipv6.ip6_fib_timer->expires == 0 &&
++	if (!timer_pending(net->ipv6.ip6_fib_timer) &&
+ 	    (rt->rt6i_flags & (RTF_EXPIRES|RTF_CACHE)))
+ 		mod_timer(net->ipv6.ip6_fib_timer, jiffies +
+ 			  net->ipv6.sysctl.ip6_rt_gc_interval);
+@@ -671,7 +671,7 @@ static __inline__ void fib6_start_gc(struct net *net, struct rt6_info *rt)
+ 
+ void fib6_force_start_gc(struct net *net)
+ {
+-	if (net->ipv6.ip6_fib_timer->expires == 0)
++	if (!timer_pending(net->ipv6.ip6_fib_timer))
+ 		mod_timer(net->ipv6.ip6_fib_timer, jiffies +
+ 			  net->ipv6.sysctl.ip6_rt_gc_interval);
+ }
+diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
+index 17092d6..9ee9783 100644
+--- a/scripts/Makefile.modpost
++++ b/scripts/Makefile.modpost
+@@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
+       cmd_kernel-mod = $(modpost) $@
+ 
+ vmlinux.o: FORCE
++	@rm -fr $(kernelmarkersfile)
+ 	$(call cmd,kernel-mod)
+ 
+ # Declare generated files as targets for modpost
+diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
+index a07f91a..8f038e6 100644
+--- a/scripts/mod/modpost.c
++++ b/scripts/mod/modpost.c
+@@ -1992,7 +1992,8 @@ static void read_markers(const char *fname)
+ 			mod->skip = 1;
+ 		}
+ 
+-		add_marker(mod, marker, fmt);
++		if (!mod->skip)
++			add_marker(mod, marker, fmt);
+ 	}
+ 	return;
+ fail:
+diff --git a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c
+index bbcee2c..a69b420 100644
+--- a/sound/pci/trident/trident_main.c
++++ b/sound/pci/trident/trident_main.c
+@@ -1590,7 +1590,10 @@ static int snd_trident_trigger(struct snd_pcm_substream *substream,
+ 	if (spdif_flag) {
+ 		if (trident->device != TRIDENT_DEVICE_ID_SI7018) {
+ 			outl(trident->spdif_pcm_bits, TRID_REG(trident, NX_SPCSTATUS));
+-			outb(trident->spdif_pcm_ctrl, TRID_REG(trident, NX_SPCTRL_SPCSO + 3));
++			val = trident->spdif_pcm_ctrl;
++			if (!go)
++				val &= ~(0x28);
++			outb(val, TRID_REG(trident, NX_SPCTRL_SPCSO + 3));
+ 		} else {
+ 			outl(trident->spdif_pcm_bits, TRID_REG(trident, SI_SPDIF_CS));
+ 			val = inl(TRID_REG(trident, SI_SERIAL_INTF_CTRL)) | SPDIF_EN;
+diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
+index 2d29e26..0262847 100644
+--- a/virt/kvm/kvm_main.c
++++ b/virt/kvm/kvm_main.c
+@@ -377,6 +377,9 @@ int __kvm_set_memory_region(struct kvm *kvm,
+ 	if (mem->slot >= kvm->nmemslots)
+ 		kvm->nmemslots = mem->slot + 1;
+ 
++	if (!npages)
++		kvm_arch_flush_shadow(kvm);
++
+ 	*memslot = new;
+ 
+ 	r = kvm_arch_set_memory_region(kvm, mem, old, user_alloc);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.6-abi-1.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.6-abi-1.patch
@@ -0,0 +1,12 @@
+diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h
+index 10c92bd..3e9cc13 100644
+--- a/drivers/net/wireless/rt2x00/rt2x00.h
++++ b/drivers/net/wireless/rt2x00/rt2x00.h
+@@ -824,6 +824,7 @@ struct rt2x00_dev {
+ 	 * which means it cannot be placed on the hw->workqueue
+ 	 * due to RTNL locking requirements.
+ 	 */
++	struct workqueue_struct *workqueue;
+ 	struct work_struct intf_work;
+ 	struct work_struct filter_work;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.2.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.2.patch
@@ -0,0 +1,2512 @@
+diff --git a/Documentation/ftrace.txt b/Documentation/ftrace.txt
+deleted file mode 100644
+index 13e4bf0..0000000
+--- a/Documentation/ftrace.txt
++++ /dev/null
+@@ -1,1353 +0,0 @@
+-		ftrace - Function Tracer
+-		========================
+-
+-Copyright 2008 Red Hat Inc.
+-Author: Steven Rostedt <srostedt@redhat.com>
+-
+-
+-Introduction
+-------------
+-
+-Ftrace is an internal tracer designed to help out developers and
+-designers of systems to find what is going on inside the kernel.
+-It can be used for debugging or analyzing latencies and performance
+-issues that take place outside of user-space.
+-
+-Although ftrace is the function tracer, it also includes an
+-infrastructure that allows for other types of tracing. Some of the
+-tracers that are currently in ftrace is a tracer to trace
+-context switches, the time it takes for a high priority task to
+-run after it was woken up, the time interrupts are disabled, and
+-more.
+-
+-
+-The File System
+----------------
+-
+-Ftrace uses the debugfs file system to hold the control files as well
+-as the files to display output.
+-
+-To mount the debugfs system:
+-
+-  # mkdir /debug
+-  # mount -t debugfs nodev /debug
+-
+-
+-That's it! (assuming that you have ftrace configured into your kernel)
+-
+-After mounting the debugfs, you can see a directory called
+-"tracing".  This directory contains the control and output files
+-of ftrace. Here is a list of some of the key files:
+-
+-
+- Note: all time values are in microseconds.
+-
+-  current_tracer : This is used to set or display the current tracer
+-		that is configured.
+-
+-  available_tracers : This holds the different types of tracers that
+-		has been compiled into the kernel. The tracers
+-		listed here can be configured by echoing in their
+-		name into current_tracer.
+-
+-  tracing_enabled : This sets or displays whether the current_tracer
+-		is activated and tracing or not. Echo 0 into this
+-		file to disable the tracer or 1 (or non-zero) to
+-		enable it.
+-
+-  trace : This file holds the output of the trace in a human readable
+-		format.
+-
+-  latency_trace : This file shows the same trace but the information
+-		is organized more to display possible latencies
+-		in the system.
+-
+-  trace_pipe : The output is the same as the "trace" file but this
+-		file is meant to be streamed with live tracing.
+-		Reads from this file will block until new data
+-		is retrieved. Unlike the "trace" and "latency_trace"
+-		files, this file is a consumer. This means reading
+-		from this file causes sequential reads to display
+-		more current data. Once data is read from this
+-		file, it is consumed, and will not be read
+-		again with a sequential read. The "trace" and
+-		"latency_trace" files are static, and if the
+-		tracer isn't adding more data, they will display
+-		the same information every time they are read.
+-
+-  iter_ctrl : This file lets the user control the amount of data
+-		that is displayed in one of the above output
+-		files.
+-
+-  trace_max_latency : Some of the tracers record the max latency.
+-		For example, the time interrupts are disabled.
+-		This time is saved in this file. The max trace
+-		will also be stored, and displayed by either
+-		"trace" or "latency_trace".  A new max trace will
+-		only be recorded if the latency is greater than
+-		the value in this file. (in microseconds)
+-
+-  trace_entries : This sets or displays the number of trace
+-		entries each CPU buffer can hold. The tracer buffers
+-		are the same size for each CPU, so care must be
+-		taken when modifying the trace_entries. The number
+-		of actually entries will be the number given
+-		times the number of possible CPUS. The buffers
+-		are saved as individual pages, and the actual entries
+-		will always be rounded up to entries per page.
+-
+-		This can only be updated when the current_tracer
+-		is set to "none".
+-
+-		NOTE: It is planned on changing the allocated buffers
+-		      from being the number of possible CPUS to
+-		      the number of online CPUS.
+-
+-  tracing_cpumask : This is a mask that lets the user only trace
+-		on specified CPUS. The format is a hex string
+-		representing the CPUS.
+-
+-  set_ftrace_filter : When dynamic ftrace is configured in, the
+-		code is dynamically modified to disable calling
+-		of the function profiler (mcount). This lets
+-		tracing be configured in with practically no overhead
+-		in performance.  This also has a side effect of
+-		enabling or disabling specific functions to be
+-		traced.  Echoing in names of functions into this
+-		file will limit the trace to only those files.
+-
+-  set_ftrace_notrace: This has the opposite effect that
+-		set_ftrace_filter has. Any function that is added
+-		here will not be traced. If a function exists
+-		in both set_ftrace_filter and set_ftrace_notrace
+-		the function will _not_ bet traced.
+-
+-  available_filter_functions : When a function is encountered the first
+-		time by the dynamic tracer, it is recorded and
+-		later the call is converted into a nop. This file
+-		lists the functions that have been recorded
+-		by the dynamic tracer and these functions can
+-		be used to set the ftrace filter by the above
+-		"set_ftrace_filter" file.
+-
+-
+-The Tracers
+------------
+-
+-Here are the list of current tracers that can be configured.
+-
+-  ftrace - function tracer that uses mcount to trace all functions.
+-		It is possible to filter out which functions that are
+-		traced when dynamic ftrace is configured in.
+-
+-  sched_switch - traces the context switches between tasks.
+-
+-  irqsoff - traces the areas that disable interrupts and saves off
+-  		the trace with the longest max latency.
+-		See tracing_max_latency.  When a new max is recorded,
+-		it replaces the old trace. It is best to view this
+-		trace with the latency_trace file.
+-
+-  preemptoff - Similar to irqsoff but traces and records the time
+-		preemption is disabled.
+-
+-  preemptirqsoff - Similar to irqsoff and preemptoff, but traces and
+-		 records the largest time irqs and/or preemption is
+-		 disabled.
+-
+-  wakeup - Traces and records the max latency that it takes for
+-		the highest priority task to get scheduled after
+-		it has been woken up.
+-
+-  none - This is not a tracer. To remove all tracers from tracing
+-		simply echo "none" into current_tracer.
+-
+-
+-Examples of using the tracer
+-----------------------------
+-
+-Here are typical examples of using the tracers with only controlling
+-them with the debugfs interface (without using any user-land utilities).
+-
+-Output format:
+---------------
+-
+-Here's an example of the output format of the file "trace"
+-
+-                             --------
+-# tracer: ftrace
+-#
+-#           TASK-PID   CPU#    TIMESTAMP  FUNCTION
+-#              | |      |          |         |
+-            bash-4251  [01] 10152.583854: path_put <-path_walk
+-            bash-4251  [01] 10152.583855: dput <-path_put
+-            bash-4251  [01] 10152.583855: _atomic_dec_and_lock <-dput
+-                             --------
+-
+-A header is printed with the trace that is represented. In this case
+-the tracer is "ftrace". Then a header showing the format. Task name
+-"bash", the task PID "4251", the CPU that it was running on
+-"01", the timestamp in <secs>.<usecs> format, the function name that was
+-traced "path_put" and the parent function that called this function
+-"path_walk".
+-
+-The sched_switch tracer also includes tracing of task wake ups and
+-context switches.
+-
+-     ksoftirqd/1-7     [01]  1453.070013:      7:115:R   +  2916:115:S
+-     ksoftirqd/1-7     [01]  1453.070013:      7:115:R   +    10:115:S
+-     ksoftirqd/1-7     [01]  1453.070013:      7:115:R ==>    10:115:R
+-        events/1-10    [01]  1453.070013:     10:115:S ==>  2916:115:R
+-     kondemand/1-2916  [01]  1453.070013:   2916:115:S ==>     7:115:R
+-     ksoftirqd/1-7     [01]  1453.070013:      7:115:S ==>     0:140:R
+-
+-Wake ups are represented by a "+" and the context switches show
+-"==>".  The format is:
+-
+- Context switches:
+-
+-       Previous task              Next Task
+-
+-  <pid>:<prio>:<state>  ==>  <pid>:<prio>:<state>
+-
+- Wake ups:
+-
+-       Current task               Task waking up
+-
+-  <pid>:<prio>:<state>    +  <pid>:<prio>:<state>
+-
+-The prio is the internal kernel priority, which is inverse to the
+-priority that is usually displayed by user-space tools. Zero represents
+-the highest priority (99). Prio 100 starts the "nice" priorities with
+-100 being equal to nice -20 and 139 being nice 19. The prio "140" is
+-reserved for the idle task which is the lowest priority thread (pid 0).
+-
+-
+-Latency trace format
+---------------------
+-
+-For traces that display latency times, the latency_trace file gives
+-a bit more information to see why a latency happened. Here's a typical
+-trace.
+-
+-# tracer: irqsoff
+-#
+-irqsoff latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 97 us, #3/3, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)
+-    -----------------
+- => started at: apic_timer_interrupt
+- => ended at:   do_softirq
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-  <idle>-0     0d..1    0us+: trace_hardirqs_off_thunk (apic_timer_interrupt)
+-  <idle>-0     0d.s.   97us : __do_softirq (do_softirq)
+-  <idle>-0     0d.s1   98us : trace_hardirqs_on (do_softirq)
+-
+-
+-vim:ft=help
+-
+-
+-This shows that the current tracer is "irqsoff" tracing the time
+-interrupts are disabled. It gives the trace version and the kernel
+-this was executed on (2.6.26-rc8). Then it displays the max latency
+-in microsecs (97 us). The number of trace entries displayed
+-by the total number recorded (both are three: #3/3). The type of
+-preemption that was used (PREEMPT). VP, KP, SP, and HP are always zero
+-and reserved for later use. #P is the number of online CPUS (#P:2).
+-
+-The task is the process that was running when the latency happened.
+-(swapper pid: 0).
+-
+-The start and stop that caused the latencies:
+-
+-  apic_timer_interrupt is where the interrupts were disabled.
+-  do_softirq is where they were enabled again.
+-
+-The next lines after the header are the trace itself. The header
+-explains which is which.
+-
+-  cmd: The name of the process in the trace.
+-
+-  pid: The PID of that process.
+-
+-  CPU#: The CPU that the process was running on.
+-
+-  irqs-off: 'd' interrupts are disabled. '.' otherwise.
+-
+-  need-resched: 'N' task need_resched is set, '.' otherwise.
+-
+-  hardirq/softirq:
+-	'H' - hard irq happened inside a softirq.
+-	'h' - hard irq is running
+-	's' - soft irq is running
+-	'.' - normal context.
+-
+-  preempt-depth: The level of preempt_disabled
+-
+-The above is mostly meaningful for kernel developers.
+-
+-  time: This differs from the trace output where as the trace output
+-	contained a absolute timestamp. This timestamp is relative
+-	to the start of the first entry in the the trace.
+-
+-  delay: This is just to help catch your eye a bit better. And
+-	needs to be fixed to be only relative to the same CPU.
+-	The marks is determined by the difference between this
+-	current trace and the next trace.
+-	 '!' - greater than preempt_mark_thresh (default 100)
+-	 '+' - greater than 1 microsecond
+-	 ' ' - less than or equal to 1 microsecond.
+-
+-  The rest is the same as the 'trace' file.
+-
+-
+-iter_ctrl
+----------
+-
+-The iter_ctrl file is used to control what gets printed in the trace
+-output. To see what is available, simply cat the file:
+-
+-  cat /debug/tracing/iter_ctrl
+-  print-parent nosym-offset nosym-addr noverbose noraw nohex nobin \
+- noblock nostacktrace nosched-tree
+-
+-To disable one of the options, echo in the option appended with "no".
+-
+-  echo noprint-parent > /debug/tracing/iter_ctrl
+-
+-To enable an option, leave off the "no".
+-
+-  echo sym-offest > /debug/tracing/iter_ctrl
+-
+-Here are the available options:
+-
+-  print-parent - On function traces, display the calling function
+-		as well as the function being traced.
+-
+-  print-parent:
+-   bash-4000  [01]  1477.606694: simple_strtoul <-strict_strtoul
+-
+-  noprint-parent:
+-   bash-4000  [01]  1477.606694: simple_strtoul
+-
+-
+-  sym-offset - Display not only the function name, but also the offset
+-		in the function. For example, instead of seeing just
+-		"ktime_get" you will see "ktime_get+0xb/0x20"
+-
+-  sym-offset:
+-   bash-4000  [01]  1477.606694: simple_strtoul+0x6/0xa0
+-
+-  sym-addr - this will also display the function address as well as
+-		the function name.
+-
+-  sym-addr:
+-   bash-4000  [01]  1477.606694: simple_strtoul <c0339346>
+-
+-  verbose - This deals with the latency_trace file.
+-
+-    bash  4000 1 0 00000000 00010a95 [58127d26] 1720.415ms \
+-    (+0.000ms): simple_strtoul (strict_strtoul)
+-
+-  raw - This will display raw numbers. This option is best for use with
+-	user applications that can translate the raw numbers better than
+-	having it done in the kernel.
+-
+-  hex - similar to raw, but the numbers will be in a hexadecimal format.
+-
+-  bin - This will print out the formats in raw binary.
+-
+-  block - TBD (needs update)
+-
+-  stacktrace - This is one of the options that changes the trace itself.
+-		When a trace is recorded, so is the stack of functions.
+-		This allows for back traces of trace sites.
+-
+-  sched-tree - TBD (any users??)
+-
+-
+-sched_switch
+-------------
+-
+-This tracer simply records schedule switches. Here's an example
+-on how to implement it.
+-
+- # echo sched_switch > /debug/tracing/current_tracer
+- # echo 1 > /debug/tracing/tracing_enabled
+- # sleep 1
+- # echo 0 > /debug/tracing/tracing_enabled
+- # cat /debug/tracing/trace
+-
+-# tracer: sched_switch
+-#
+-#           TASK-PID   CPU#    TIMESTAMP  FUNCTION
+-#              | |      |          |         |
+-            bash-3997  [01]   240.132281:   3997:120:R   +  4055:120:R
+-            bash-3997  [01]   240.132284:   3997:120:R ==>  4055:120:R
+-           sleep-4055  [01]   240.132371:   4055:120:S ==>  3997:120:R
+-            bash-3997  [01]   240.132454:   3997:120:R   +  4055:120:S
+-            bash-3997  [01]   240.132457:   3997:120:R ==>  4055:120:R
+-           sleep-4055  [01]   240.132460:   4055:120:D ==>  3997:120:R
+-            bash-3997  [01]   240.132463:   3997:120:R   +  4055:120:D
+-            bash-3997  [01]   240.132465:   3997:120:R ==>  4055:120:R
+-          <idle>-0     [00]   240.132589:      0:140:R   +     4:115:S
+-          <idle>-0     [00]   240.132591:      0:140:R ==>     4:115:R
+-     ksoftirqd/0-4     [00]   240.132595:      4:115:S ==>     0:140:R
+-          <idle>-0     [00]   240.132598:      0:140:R   +     4:115:S
+-          <idle>-0     [00]   240.132599:      0:140:R ==>     4:115:R
+-     ksoftirqd/0-4     [00]   240.132603:      4:115:S ==>     0:140:R
+-           sleep-4055  [01]   240.133058:   4055:120:S ==>  3997:120:R
+- [...]
+-
+-
+-As we have discussed previously about this format, the header shows
+-the name of the trace and points to the options. The "FUNCTION"
+-is a misnomer since here it represents the wake ups and context
+-switches.
+-
+-The sched_switch only lists the wake ups (represented with '+')
+-and context switches ('==>') with the previous task or current
+-first followed by the next task or task waking up. The format for both
+-of these is PID:KERNEL-PRIO:TASK-STATE. Remember that the KERNEL-PRIO
+-is the inverse of the actual priority with zero (0) being the highest
+-priority and the nice values starting at 100 (nice -20). Below is
+-a quick chart to map the kernel priority to user land priorities.
+-
+-  Kernel priority: 0 to 99    ==> user RT priority 99 to 0
+-  Kernel priority: 100 to 139 ==> user nice -20 to 19
+-  Kernel priority: 140        ==> idle task priority
+-
+-The task states are:
+-
+- R - running : wants to run, may not actually be running
+- S - sleep   : process is waiting to be woken up (handles signals)
+- D - deep sleep : process must be woken up (ignores signals)
+- T - stopped : process suspended
+- t - traced  : process is being traced (with something like gdb)
+- Z - zombie  : process waiting to be cleaned up
+- X - unknown
+-
+-
+-ftrace_enabled
+---------------
+-
+-The following tracers give different output depending on whether
+-or not the sysctl ftrace_enabled is set. To set ftrace_enabled,
+-one can either use the sysctl function or set it via the proc
+-file system interface.
+-
+-  sysctl kernel.ftrace_enabled=1
+-
+- or
+-
+-  echo 1 > /proc/sys/kernel/ftrace_enabled
+-
+-To disable ftrace_enabled simply replace the '1' with '0' in
+-the above commands.
+-
+-When ftrace_enabled is set the tracers will also record the functions
+-that are within the trace. The descriptions of the tracers
+-will also show an example with ftrace enabled.
+-
+-
+-irqsoff
+--------
+-
+-When interrupts are disabled, the CPU can not react to any other
+-external event (besides NMIs and SMIs). This prevents the timer
+-interrupt from triggering or the mouse interrupt from letting the
+-kernel know of a new mouse event. The result is a latency with the
+-reaction time.
+-
+-The irqsoff tracer tracks the time interrupts are disabled and when
+-they are re-enabled. When a new maximum latency is hit, it saves off
+-the trace so that it may be retrieved at a later time. Every time a
+-new maximum in reached, the old saved trace is discarded and the new
+-trace is saved.
+-
+-To reset the maximum, echo 0 into tracing_max_latency. Here's an
+-example:
+-
+- # echo irqsoff > /debug/tracing/current_tracer
+- # echo 0 > /debug/tracing/tracing_max_latency
+- # echo 1 > /debug/tracing/tracing_enabled
+- # ls -ltr
+- [...]
+- # echo 0 > /debug/tracing/tracing_enabled
+- # cat /debug/tracing/latency_trace
+-# tracer: irqsoff
+-#
+-irqsoff latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 6 us, #3/3, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: bash-4269 (uid:0 nice:0 policy:0 rt_prio:0)
+-    -----------------
+- => started at: copy_page_range
+- => ended at:   copy_page_range
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-    bash-4269  1...1    0us+: _spin_lock (copy_page_range)
+-    bash-4269  1...1    7us : _spin_unlock (copy_page_range)
+-    bash-4269  1...2    7us : trace_preempt_on (copy_page_range)
+-
+-
+-vim:ft=help
+-
+-Here we see that that we had a latency of 6 microsecs (which is
+-very good). The spin_lock in copy_page_range disabled interrupts.
+-The difference between the 6 and the displayed timestamp 7us is
+-because the clock must have incremented between the time of recording
+-the max latency and recording the function that had that latency.
+-
+-Note the above had ftrace_enabled not set. If we set the ftrace_enabled
+-we get a much larger output:
+-
+-# tracer: irqsoff
+-#
+-irqsoff latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 50 us, #101/101, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: ls-4339 (uid:0 nice:0 policy:0 rt_prio:0)
+-    -----------------
+- => started at: __alloc_pages_internal
+- => ended at:   __alloc_pages_internal
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-      ls-4339  0...1    0us+: get_page_from_freelist (__alloc_pages_internal)
+-      ls-4339  0d..1    3us : rmqueue_bulk (get_page_from_freelist)
+-      ls-4339  0d..1    3us : _spin_lock (rmqueue_bulk)
+-      ls-4339  0d..1    4us : add_preempt_count (_spin_lock)
+-      ls-4339  0d..2    4us : __rmqueue (rmqueue_bulk)
+-      ls-4339  0d..2    5us : __rmqueue_smallest (__rmqueue)
+-      ls-4339  0d..2    5us : __mod_zone_page_state (__rmqueue_smallest)
+-      ls-4339  0d..2    6us : __rmqueue (rmqueue_bulk)
+-      ls-4339  0d..2    6us : __rmqueue_smallest (__rmqueue)
+-      ls-4339  0d..2    7us : __mod_zone_page_state (__rmqueue_smallest)
+-      ls-4339  0d..2    7us : __rmqueue (rmqueue_bulk)
+-      ls-4339  0d..2    8us : __rmqueue_smallest (__rmqueue)
+-[...]
+-      ls-4339  0d..2   46us : __rmqueue_smallest (__rmqueue)
+-      ls-4339  0d..2   47us : __mod_zone_page_state (__rmqueue_smallest)
+-      ls-4339  0d..2   47us : __rmqueue (rmqueue_bulk)
+-      ls-4339  0d..2   48us : __rmqueue_smallest (__rmqueue)
+-      ls-4339  0d..2   48us : __mod_zone_page_state (__rmqueue_smallest)
+-      ls-4339  0d..2   49us : _spin_unlock (rmqueue_bulk)
+-      ls-4339  0d..2   49us : sub_preempt_count (_spin_unlock)
+-      ls-4339  0d..1   50us : get_page_from_freelist (__alloc_pages_internal)
+-      ls-4339  0d..2   51us : trace_hardirqs_on (__alloc_pages_internal)
+-
+-
+-vim:ft=help
+-
+-
+-Here we traced a 50 microsecond latency. But we also see all the
+-functions that were called during that time. Note that enabling
+-function tracing we endure an added overhead. This overhead may
+-extend the latency times. But never the less, this trace has provided
+-some very helpful debugging.
+-
+-
+-preemptoff
+-----------
+-
+-When preemption is disabled we may be able to receive interrupts but
+-the task can not be preempted and a higher priority task must wait
+-for preemption to be enabled again before it can preempt a lower
+-priority task.
+-
+-The preemptoff tracer traces the places that disables preemption.
+-Like the irqsoff, it records the maximum latency that preemption
+-was disabled. The control of preemptoff is much like the irqsoff.
+-
+- # echo preemptoff > /debug/tracing/current_tracer
+- # echo 0 > /debug/tracing/tracing_max_latency
+- # echo 1 > /debug/tracing/tracing_enabled
+- # ls -ltr
+- [...]
+- # echo 0 > /debug/tracing/tracing_enabled
+- # cat /debug/tracing/latency_trace
+-# tracer: preemptoff
+-#
+-preemptoff latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 29 us, #3/3, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: sshd-4261 (uid:0 nice:0 policy:0 rt_prio:0)
+-    -----------------
+- => started at: do_IRQ
+- => ended at:   __do_softirq
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-    sshd-4261  0d.h.    0us+: irq_enter (do_IRQ)
+-    sshd-4261  0d.s.   29us : _local_bh_enable (__do_softirq)
+-    sshd-4261  0d.s1   30us : trace_preempt_on (__do_softirq)
+-
+-
+-vim:ft=help
+-
+-This has some more changes. Preemption was disabled when an interrupt
+-came in (notice the 'h'), and was enabled while doing a softirq.
+-(notice the 's'). But we also see that interrupts have been disabled
+-when entering the preempt off section and leaving it (the 'd').
+-We do not know if interrupts were enabled in the mean time.
+-
+-# tracer: preemptoff
+-#
+-preemptoff latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 63 us, #87/87, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: sshd-4261 (uid:0 nice:0 policy:0 rt_prio:0)
+-    -----------------
+- => started at: remove_wait_queue
+- => ended at:   __do_softirq
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-    sshd-4261  0d..1    0us : _spin_lock_irqsave (remove_wait_queue)
+-    sshd-4261  0d..1    1us : _spin_unlock_irqrestore (remove_wait_queue)
+-    sshd-4261  0d..1    2us : do_IRQ (common_interrupt)
+-    sshd-4261  0d..1    2us : irq_enter (do_IRQ)
+-    sshd-4261  0d..1    2us : idle_cpu (irq_enter)
+-    sshd-4261  0d..1    3us : add_preempt_count (irq_enter)
+-    sshd-4261  0d.h1    3us : idle_cpu (irq_enter)
+-    sshd-4261  0d.h.    4us : handle_fasteoi_irq (do_IRQ)
+-[...]
+-    sshd-4261  0d.h.   12us : add_preempt_count (_spin_lock)
+-    sshd-4261  0d.h1   12us : ack_ioapic_quirk_irq (handle_fasteoi_irq)
+-    sshd-4261  0d.h1   13us : move_native_irq (ack_ioapic_quirk_irq)
+-    sshd-4261  0d.h1   13us : _spin_unlock (handle_fasteoi_irq)
+-    sshd-4261  0d.h1   14us : sub_preempt_count (_spin_unlock)
+-    sshd-4261  0d.h1   14us : irq_exit (do_IRQ)
+-    sshd-4261  0d.h1   15us : sub_preempt_count (irq_exit)
+-    sshd-4261  0d..2   15us : do_softirq (irq_exit)
+-    sshd-4261  0d...   15us : __do_softirq (do_softirq)
+-    sshd-4261  0d...   16us : __local_bh_disable (__do_softirq)
+-    sshd-4261  0d...   16us+: add_preempt_count (__local_bh_disable)
+-    sshd-4261  0d.s4   20us : add_preempt_count (__local_bh_disable)
+-    sshd-4261  0d.s4   21us : sub_preempt_count (local_bh_enable)
+-    sshd-4261  0d.s5   21us : sub_preempt_count (local_bh_enable)
+-[...]
+-    sshd-4261  0d.s6   41us : add_preempt_count (__local_bh_disable)
+-    sshd-4261  0d.s6   42us : sub_preempt_count (local_bh_enable)
+-    sshd-4261  0d.s7   42us : sub_preempt_count (local_bh_enable)
+-    sshd-4261  0d.s5   43us : add_preempt_count (__local_bh_disable)
+-    sshd-4261  0d.s5   43us : sub_preempt_count (local_bh_enable_ip)
+-    sshd-4261  0d.s6   44us : sub_preempt_count (local_bh_enable_ip)
+-    sshd-4261  0d.s5   44us : add_preempt_count (__local_bh_disable)
+-    sshd-4261  0d.s5   45us : sub_preempt_count (local_bh_enable)
+-[...]
+-    sshd-4261  0d.s.   63us : _local_bh_enable (__do_softirq)
+-    sshd-4261  0d.s1   64us : trace_preempt_on (__do_softirq)
+-
+-
+-The above is an example of the preemptoff trace with ftrace_enabled
+-set. Here we see that interrupts were disabled the entire time.
+-The irq_enter code lets us know that we entered an interrupt 'h'.
+-Before that, the functions being traced still show that it is not
+-in an interrupt, but we can see by the functions themselves that
+-this is not the case.
+-
+-Notice that the __do_softirq when called doesn't have a preempt_count.
+-It may seem that we missed a preempt enabled. What really happened
+-is that the preempt count is held on the threads stack and we
+-switched to the softirq stack (4K stacks in effect). The code
+-does not copy the preempt count, but because interrupts are disabled
+-we don't need to worry about it. Having a tracer like this is good
+-to let people know what really happens inside the kernel.
+-
+-
+-preemptirqsoff
+---------------
+-
+-Knowing the locations that have interrupts disabled or preemption
+-disabled for the longest times is helpful. But sometimes we would
+-like to know when either preemption and/or interrupts are disabled.
+-
+-The following code:
+-
+-    local_irq_disable();
+-    call_function_with_irqs_off();
+-    preempt_disable();
+-    call_function_with_irqs_and_preemption_off();
+-    local_irq_enable();
+-    call_function_with_preemption_off();
+-    preempt_enable();
+-
+-The irqsoff tracer will record the total length of
+-call_function_with_irqs_off() and
+-call_function_with_irqs_and_preemption_off().
+-
+-The preemptoff tracer will record the total length of
+-call_function_with_irqs_and_preemption_off() and
+-call_function_with_preemption_off().
+-
+-But neither will trace the time that interrupts and/or preemption
+-is disabled. This total time is the time that we can not schedule.
+-To record this time, use the preemptirqsoff tracer.
+-
+-Again, using this trace is much like the irqsoff and preemptoff tracers.
+-
+- # echo preemptoff > /debug/tracing/current_tracer
+- # echo 0 > /debug/tracing/tracing_max_latency
+- # echo 1 > /debug/tracing/tracing_enabled
+- # ls -ltr
+- [...]
+- # echo 0 > /debug/tracing/tracing_enabled
+- # cat /debug/tracing/latency_trace
+-# tracer: preemptirqsoff
+-#
+-preemptirqsoff latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 293 us, #3/3, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: ls-4860 (uid:0 nice:0 policy:0 rt_prio:0)
+-    -----------------
+- => started at: apic_timer_interrupt
+- => ended at:   __do_softirq
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-      ls-4860  0d...    0us!: trace_hardirqs_off_thunk (apic_timer_interrupt)
+-      ls-4860  0d.s.  294us : _local_bh_enable (__do_softirq)
+-      ls-4860  0d.s1  294us : trace_preempt_on (__do_softirq)
+-
+-
+-vim:ft=help
+-
+-
+-The trace_hardirqs_off_thunk is called from assembly on x86 when
+-interrupts are disabled in the assembly code. Without the function
+-tracing, we don't know if interrupts were enabled within the preemption
+-points. We do see that it started with preemption enabled.
+-
+-Here is a trace with ftrace_enabled set:
+-
+-
+-# tracer: preemptirqsoff
+-#
+-preemptirqsoff latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 105 us, #183/183, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: sshd-4261 (uid:0 nice:0 policy:0 rt_prio:0)
+-    -----------------
+- => started at: write_chan
+- => ended at:   __do_softirq
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-      ls-4473  0.N..    0us : preempt_schedule (write_chan)
+-      ls-4473  0dN.1    1us : _spin_lock (schedule)
+-      ls-4473  0dN.1    2us : add_preempt_count (_spin_lock)
+-      ls-4473  0d..2    2us : put_prev_task_fair (schedule)
+-[...]
+-      ls-4473  0d..2   13us : set_normalized_timespec (ktime_get_ts)
+-      ls-4473  0d..2   13us : __switch_to (schedule)
+-    sshd-4261  0d..2   14us : finish_task_switch (schedule)
+-    sshd-4261  0d..2   14us : _spin_unlock_irq (finish_task_switch)
+-    sshd-4261  0d..1   15us : add_preempt_count (_spin_lock_irqsave)
+-    sshd-4261  0d..2   16us : _spin_unlock_irqrestore (hrtick_set)
+-    sshd-4261  0d..2   16us : do_IRQ (common_interrupt)
+-    sshd-4261  0d..2   17us : irq_enter (do_IRQ)
+-    sshd-4261  0d..2   17us : idle_cpu (irq_enter)
+-    sshd-4261  0d..2   18us : add_preempt_count (irq_enter)
+-    sshd-4261  0d.h2   18us : idle_cpu (irq_enter)
+-    sshd-4261  0d.h.   18us : handle_fasteoi_irq (do_IRQ)
+-    sshd-4261  0d.h.   19us : _spin_lock (handle_fasteoi_irq)
+-    sshd-4261  0d.h.   19us : add_preempt_count (_spin_lock)
+-    sshd-4261  0d.h1   20us : _spin_unlock (handle_fasteoi_irq)
+-    sshd-4261  0d.h1   20us : sub_preempt_count (_spin_unlock)
+-[...]
+-    sshd-4261  0d.h1   28us : _spin_unlock (handle_fasteoi_irq)
+-    sshd-4261  0d.h1   29us : sub_preempt_count (_spin_unlock)
+-    sshd-4261  0d.h2   29us : irq_exit (do_IRQ)
+-    sshd-4261  0d.h2   29us : sub_preempt_count (irq_exit)
+-    sshd-4261  0d..3   30us : do_softirq (irq_exit)
+-    sshd-4261  0d...   30us : __do_softirq (do_softirq)
+-    sshd-4261  0d...   31us : __local_bh_disable (__do_softirq)
+-    sshd-4261  0d...   31us+: add_preempt_count (__local_bh_disable)
+-    sshd-4261  0d.s4   34us : add_preempt_count (__local_bh_disable)
+-[...]
+-    sshd-4261  0d.s3   43us : sub_preempt_count (local_bh_enable_ip)
+-    sshd-4261  0d.s4   44us : sub_preempt_count (local_bh_enable_ip)
+-    sshd-4261  0d.s3   44us : smp_apic_timer_interrupt (apic_timer_interrupt)
+-    sshd-4261  0d.s3   45us : irq_enter (smp_apic_timer_interrupt)
+-    sshd-4261  0d.s3   45us : idle_cpu (irq_enter)
+-    sshd-4261  0d.s3   46us : add_preempt_count (irq_enter)
+-    sshd-4261  0d.H3   46us : idle_cpu (irq_enter)
+-    sshd-4261  0d.H3   47us : hrtimer_interrupt (smp_apic_timer_interrupt)
+-    sshd-4261  0d.H3   47us : ktime_get (hrtimer_interrupt)
+-[...]
+-    sshd-4261  0d.H3   81us : tick_program_event (hrtimer_interrupt)
+-    sshd-4261  0d.H3   82us : ktime_get (tick_program_event)
+-    sshd-4261  0d.H3   82us : ktime_get_ts (ktime_get)
+-    sshd-4261  0d.H3   83us : getnstimeofday (ktime_get_ts)
+-    sshd-4261  0d.H3   83us : set_normalized_timespec (ktime_get_ts)
+-    sshd-4261  0d.H3   84us : clockevents_program_event (tick_program_event)
+-    sshd-4261  0d.H3   84us : lapic_next_event (clockevents_program_event)
+-    sshd-4261  0d.H3   85us : irq_exit (smp_apic_timer_interrupt)
+-    sshd-4261  0d.H3   85us : sub_preempt_count (irq_exit)
+-    sshd-4261  0d.s4   86us : sub_preempt_count (irq_exit)
+-    sshd-4261  0d.s3   86us : add_preempt_count (__local_bh_disable)
+-[...]
+-    sshd-4261  0d.s1   98us : sub_preempt_count (net_rx_action)
+-    sshd-4261  0d.s.   99us : add_preempt_count (_spin_lock_irq)
+-    sshd-4261  0d.s1   99us+: _spin_unlock_irq (run_timer_softirq)
+-    sshd-4261  0d.s.  104us : _local_bh_enable (__do_softirq)
+-    sshd-4261  0d.s.  104us : sub_preempt_count (_local_bh_enable)
+-    sshd-4261  0d.s.  105us : _local_bh_enable (__do_softirq)
+-    sshd-4261  0d.s1  105us : trace_preempt_on (__do_softirq)
+-
+-
+-This is a very interesting trace. It started with the preemption of
+-the ls task. We see that the task had the "need_resched" bit set
+-with the 'N' in the trace.  Interrupts are disabled in the spin_lock
+-and the trace started. We see that a schedule took place to run
+-sshd.  When the interrupts were enabled we took an interrupt.
+-On return of the interrupt the softirq ran. We took another interrupt
+-while running the softirq as we see with the capital 'H'.
+-
+-
+-wakeup
+-------
+-
+-In Real-Time environment it is very important to know the wakeup
+-time it takes for the highest priority task that wakes up to the
+-time it executes. This is also known as "schedule latency".
+-I stress the point that this is about RT tasks. It is also important
+-to know the scheduling latency of non-RT tasks, but the average
+-schedule latency is better for non-RT tasks. Tools like
+-LatencyTop is more appropriate for such measurements.
+-
+-Real-Time environments is interested in the worst case latency.
+-That is the longest latency it takes for something to happen, and
+-not the average. We can have a very fast scheduler that may only
+-have a large latency once in a while, but that would not work well
+-with Real-Time tasks.  The wakeup tracer was designed to record
+-the worst case wakeups of RT tasks. Non-RT tasks are not recorded
+-because the tracer only records one worst case and tracing non-RT
+-tasks that are unpredictable will overwrite the worst case latency
+-of RT tasks.
+-
+-Since this tracer only deals with RT tasks, we will run this slightly
+-different than we did with the previous tracers. Instead of performing
+-an 'ls' we will run 'sleep 1' under 'chrt' which changes the
+-priority of the task.
+-
+- # echo wakeup > /debug/tracing/current_tracer
+- # echo 0 > /debug/tracing/tracing_max_latency
+- # echo 1 > /debug/tracing/tracing_enabled
+- # chrt -f 5 sleep 1
+- # echo 0 > /debug/tracing/tracing_enabled
+- # cat /debug/tracing/latency_trace
+-# tracer: wakeup
+-#
+-wakeup latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 4 us, #2/2, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: sleep-4901 (uid:0 nice:0 policy:1 rt_prio:5)
+-    -----------------
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-  <idle>-0     1d.h4    0us+: try_to_wake_up (wake_up_process)
+-  <idle>-0     1d..4    4us : schedule (cpu_idle)
+-
+-
+-vim:ft=help
+-
+-
+-Running this on an idle system we see that it only took 4 microseconds
+-to perform the task switch.  Note, since the trace marker in the
+-schedule is before the actual "switch" we stop the tracing when
+-the recorded task is about to schedule in. This may change if
+-we add a new marker at the end of the scheduler.
+-
+-Notice that the recorded task is 'sleep' with the PID of 4901 and it
+-has an rt_prio of 5. This priority is user-space priority and not
+-the internal kernel priority. The policy is 1 for SCHED_FIFO and 2
+-for SCHED_RR.
+-
+-Doing the same with chrt -r 5 and ftrace_enabled set.
+-
+-# tracer: wakeup
+-#
+-wakeup latency trace v1.1.5 on 2.6.26-rc8
+---------------------------------------------------------------------
+- latency: 50 us, #60/60, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)
+-    -----------------
+-    | task: sleep-4068 (uid:0 nice:0 policy:2 rt_prio:5)
+-    -----------------
+-
+-#                _------=> CPU#
+-#               / _-----=> irqs-off
+-#              | / _----=> need-resched
+-#              || / _---=> hardirq/softirq
+-#              ||| / _--=> preempt-depth
+-#              |||| /
+-#              |||||     delay
+-#  cmd     pid ||||| time  |   caller
+-#     \   /    |||||   \   |   /
+-ksoftirq-7     1d.H3    0us : try_to_wake_up (wake_up_process)
+-ksoftirq-7     1d.H4    1us : sub_preempt_count (marker_probe_cb)
+-ksoftirq-7     1d.H3    2us : check_preempt_wakeup (try_to_wake_up)
+-ksoftirq-7     1d.H3    3us : update_curr (check_preempt_wakeup)
+-ksoftirq-7     1d.H3    4us : calc_delta_mine (update_curr)
+-ksoftirq-7     1d.H3    5us : __resched_task (check_preempt_wakeup)
+-ksoftirq-7     1d.H3    6us : task_wake_up_rt (try_to_wake_up)
+-ksoftirq-7     1d.H3    7us : _spin_unlock_irqrestore (try_to_wake_up)
+-[...]
+-ksoftirq-7     1d.H2   17us : irq_exit (smp_apic_timer_interrupt)
+-ksoftirq-7     1d.H2   18us : sub_preempt_count (irq_exit)
+-ksoftirq-7     1d.s3   19us : sub_preempt_count (irq_exit)
+-ksoftirq-7     1..s2   20us : rcu_process_callbacks (__do_softirq)
+-[...]
+-ksoftirq-7     1..s2   26us : __rcu_process_callbacks (rcu_process_callbacks)
+-ksoftirq-7     1d.s2   27us : _local_bh_enable (__do_softirq)
+-ksoftirq-7     1d.s2   28us : sub_preempt_count (_local_bh_enable)
+-ksoftirq-7     1.N.3   29us : sub_preempt_count (ksoftirqd)
+-ksoftirq-7     1.N.2   30us : _cond_resched (ksoftirqd)
+-ksoftirq-7     1.N.2   31us : __cond_resched (_cond_resched)
+-ksoftirq-7     1.N.2   32us : add_preempt_count (__cond_resched)
+-ksoftirq-7     1.N.2   33us : schedule (__cond_resched)
+-ksoftirq-7     1.N.2   33us : add_preempt_count (schedule)
+-ksoftirq-7     1.N.3   34us : hrtick_clear (schedule)
+-ksoftirq-7     1dN.3   35us : _spin_lock (schedule)
+-ksoftirq-7     1dN.3   36us : add_preempt_count (_spin_lock)
+-ksoftirq-7     1d..4   37us : put_prev_task_fair (schedule)
+-ksoftirq-7     1d..4   38us : update_curr (put_prev_task_fair)
+-[...]
+-ksoftirq-7     1d..5   47us : _spin_trylock (tracing_record_cmdline)
+-ksoftirq-7     1d..5   48us : add_preempt_count (_spin_trylock)
+-ksoftirq-7     1d..6   49us : _spin_unlock (tracing_record_cmdline)
+-ksoftirq-7     1d..6   49us : sub_preempt_count (_spin_unlock)
+-ksoftirq-7     1d..4   50us : schedule (__cond_resched)
+-
+-The interrupt went off while running ksoftirqd. This task runs at
+-SCHED_OTHER. Why didn't we see the 'N' set early? This may be
+-a harmless bug with x86_32 and 4K stacks. The need_reched() function
+-that tests if we need to reschedule looks on the actual stack.
+-Where as the setting of the NEED_RESCHED bit happens on the
+-task's stack. But because we are in a hard interrupt, the test
+-is with the interrupts stack which has that to be false. We don't
+-see the 'N' until we switch back to the task's stack.
+-
+-ftrace
+-------
+-
+-ftrace is not only the name of the tracing infrastructure, but it
+-is also a name of one of the tracers. The tracer is the function
+-tracer. Enabling the function tracer can be done from the
+-debug file system. Make sure the ftrace_enabled is set otherwise
+-this tracer is a nop.
+-
+- # sysctl kernel.ftrace_enabled=1
+- # echo ftrace > /debug/tracing/current_tracer
+- # echo 1 > /debug/tracing/tracing_enabled
+- # usleep 1
+- # echo 0 > /debug/tracing/tracing_enabled
+- # cat /debug/tracing/trace
+-# tracer: ftrace
+-#
+-#           TASK-PID   CPU#    TIMESTAMP  FUNCTION
+-#              | |      |          |         |
+-            bash-4003  [00]   123.638713: finish_task_switch <-schedule
+-            bash-4003  [00]   123.638714: _spin_unlock_irq <-finish_task_switch
+-            bash-4003  [00]   123.638714: sub_preempt_count <-_spin_unlock_irq
+-            bash-4003  [00]   123.638715: hrtick_set <-schedule
+-            bash-4003  [00]   123.638715: _spin_lock_irqsave <-hrtick_set
+-            bash-4003  [00]   123.638716: add_preempt_count <-_spin_lock_irqsave
+-            bash-4003  [00]   123.638716: _spin_unlock_irqrestore <-hrtick_set
+-            bash-4003  [00]   123.638717: sub_preempt_count <-_spin_unlock_irqrestore
+-            bash-4003  [00]   123.638717: hrtick_clear <-hrtick_set
+-            bash-4003  [00]   123.638718: sub_preempt_count <-schedule
+-            bash-4003  [00]   123.638718: sub_preempt_count <-preempt_schedule
+-            bash-4003  [00]   123.638719: wait_for_completion <-__stop_machine_run
+-            bash-4003  [00]   123.638719: wait_for_common <-wait_for_completion
+-            bash-4003  [00]   123.638720: _spin_lock_irq <-wait_for_common
+-            bash-4003  [00]   123.638720: add_preempt_count <-_spin_lock_irq
+-[...]
+-
+-
+-Note: It is sometimes better to enable or disable tracing directly from
+-a program, because the buffer may be overflowed by the echo commands
+-before you get to the point you want to trace. It is also easier to
+-stop the tracing at the point that you hit the part that you are
+-interested in. Since the ftrace buffer is a ring buffer with the
+-oldest data being overwritten, usually it is sufficient to start the
+-tracer with an echo command but have you code stop it. Something
+-like the following is usually appropriate for this.
+-
+-int trace_fd;
+-[...]
+-int main(int argc, char *argv[]) {
+-	[...]
+-	trace_fd = open("/debug/tracing/tracing_enabled", O_WRONLY);
+-	[...]
+-	if (condition_hit()) {
+-	write(trace_fd, "0", 1);
+-	}
+-	[...]
+-}
+-
+-
+-dynamic ftrace
+---------------
+-
+-If CONFIG_DYNAMIC_FTRACE is set, then the system will run with
+-virtually no overhead when function tracing is disabled. The way
+-this works is the mcount function call (placed at the start of
+-every kernel function, produced by the -pg switch in gcc), starts
+-of pointing to a simple return.
+-
+-When dynamic ftrace is initialized, it calls kstop_machine to make it
+-act like a uniprocessor so that it can freely modify code without
+-worrying about other processors executing that same code.  At
+-initialization, the mcount calls are change to call a "record_ip"
+-function.  After this, the first time a kernel function is called,
+-it has the calling address saved in a hash table.
+-
+-Later on the ftraced kernel thread is awoken and will again call
+-kstop_machine if new functions have been recorded. The ftraced thread
+-will change all calls to mcount to "nop".  Just calling mcount
+-and having mcount return has shown a 10% overhead. By converting
+-it to a nop, there is no recordable overhead to the system.
+-
+-One special side-effect to the recording of the functions being
+-traced, is that we can now selectively choose which functions we
+-want to trace and which ones we want the mcount calls to remain as
+-nops.
+-
+-Two files that contain to the enabling and disabling of recorded
+-functions are:
+-
+-  set_ftrace_filter
+-
+-and
+-
+-  set_ftrace_notrace
+-
+-A list of available functions that you can add to this files is listed
+-in:
+-
+-   available_filter_functions
+-
+- # cat /debug/tracing/available_filter_functions
+-put_prev_task_idle
+-kmem_cache_create
+-pick_next_task_rt
+-get_online_cpus
+-pick_next_task_fair
+-mutex_lock
+-[...]
+-
+-If I'm only interested in sys_nanosleep and hrtimer_interrupt:
+-
+- # echo sys_nanosleep hrtimer_interrupt \
+-		> /debug/tracing/set_ftrace_filter
+- # echo ftrace > /debug/tracing/current_tracer
+- # echo 1 > /debug/tracing/tracing_enabled
+- # usleep 1
+- # echo 0 > /debug/tracing/tracing_enabled
+- # cat /debug/tracing/trace
+-# tracer: ftrace
+-#
+-#           TASK-PID   CPU#    TIMESTAMP  FUNCTION
+-#              | |      |          |         |
+-          usleep-4134  [00]  1317.070017: hrtimer_interrupt <-smp_apic_timer_interrupt
+-          usleep-4134  [00]  1317.070111: sys_nanosleep <-syscall_call
+-          <idle>-0     [00]  1317.070115: hrtimer_interrupt <-smp_apic_timer_interrupt
+-
+-To see what functions are being traced, you can cat the file:
+-
+- # cat /debug/tracing/set_ftrace_filter
+-hrtimer_interrupt
+-sys_nanosleep
+-
+-
+-Perhaps this isn't enough. The filters also allow simple wild cards.
+-Only the following is currently available
+-
+-  <match>*  - will match functions that begins with <match>
+-  *<match>  - will match functions that end with <match>
+-  *<match>* - will match functions that have <match> in it
+-
+-Thats all the wild cards that are allowed.
+-
+-  <match>*<match> will not work.
+-
+- # echo hrtimer_* > /debug/tracing/set_ftrace_filter
+-
+-Produces:
+-
+-# tracer: ftrace
+-#
+-#           TASK-PID   CPU#    TIMESTAMP  FUNCTION
+-#              | |      |          |         |
+-            bash-4003  [00]  1480.611794: hrtimer_init <-copy_process
+-            bash-4003  [00]  1480.611941: hrtimer_start <-hrtick_set
+-            bash-4003  [00]  1480.611956: hrtimer_cancel <-hrtick_clear
+-            bash-4003  [00]  1480.611956: hrtimer_try_to_cancel <-hrtimer_cancel
+-          <idle>-0     [00]  1480.612019: hrtimer_get_next_event <-get_next_timer_interrupt
+-          <idle>-0     [00]  1480.612025: hrtimer_get_next_event <-get_next_timer_interrupt
+-          <idle>-0     [00]  1480.612032: hrtimer_get_next_event <-get_next_timer_interrupt
+-          <idle>-0     [00]  1480.612037: hrtimer_get_next_event <-get_next_timer_interrupt
+-          <idle>-0     [00]  1480.612382: hrtimer_get_next_event <-get_next_timer_interrupt
+-
+-
+-Notice that we lost the sys_nanosleep.
+-
+- # cat /debug/tracing/set_ftrace_filter
+-hrtimer_run_queues
+-hrtimer_run_pending
+-hrtimer_init
+-hrtimer_cancel
+-hrtimer_try_to_cancel
+-hrtimer_forward
+-hrtimer_start
+-hrtimer_reprogram
+-hrtimer_force_reprogram
+-hrtimer_get_next_event
+-hrtimer_interrupt
+-hrtimer_nanosleep
+-hrtimer_wakeup
+-hrtimer_get_remaining
+-hrtimer_get_res
+-hrtimer_init_sleeper
+-
+-
+-This is because the '>' and '>>' act just like they do in bash.
+-To rewrite the filters, use '>'
+-To append to the filters, use '>>'
+-
+-To clear out a filter so that all functions will be recorded again.
+-
+- # echo > /debug/tracing/set_ftrace_filter
+- # cat /debug/tracing/set_ftrace_filter
+- #
+-
+-Again, now we want to append.
+-
+- # echo sys_nanosleep > /debug/tracing/set_ftrace_filter
+- # cat /debug/tracing/set_ftrace_filter
+-sys_nanosleep
+- # echo hrtimer_* >> /debug/tracing/set_ftrace_filter
+- # cat /debug/tracing/set_ftrace_filter
+-hrtimer_run_queues
+-hrtimer_run_pending
+-hrtimer_init
+-hrtimer_cancel
+-hrtimer_try_to_cancel
+-hrtimer_forward
+-hrtimer_start
+-hrtimer_reprogram
+-hrtimer_force_reprogram
+-hrtimer_get_next_event
+-hrtimer_interrupt
+-sys_nanosleep
+-hrtimer_nanosleep
+-hrtimer_wakeup
+-hrtimer_get_remaining
+-hrtimer_get_res
+-hrtimer_init_sleeper
+-
+-
+-The set_ftrace_notrace prevents those functions from being traced.
+-
+- # echo '*preempt*' '*lock*' > /debug/tracing/set_ftrace_notrace
+-
+-Produces:
+-
+-# tracer: ftrace
+-#
+-#           TASK-PID   CPU#    TIMESTAMP  FUNCTION
+-#              | |      |          |         |
+-            bash-4043  [01]   115.281644: finish_task_switch <-schedule
+-            bash-4043  [01]   115.281645: hrtick_set <-schedule
+-            bash-4043  [01]   115.281645: hrtick_clear <-hrtick_set
+-            bash-4043  [01]   115.281646: wait_for_completion <-__stop_machine_run
+-            bash-4043  [01]   115.281647: wait_for_common <-wait_for_completion
+-            bash-4043  [01]   115.281647: kthread_stop <-stop_machine_run
+-            bash-4043  [01]   115.281648: init_waitqueue_head <-kthread_stop
+-            bash-4043  [01]   115.281648: wake_up_process <-kthread_stop
+-            bash-4043  [01]   115.281649: try_to_wake_up <-wake_up_process
+-
+-We can see that there's no more lock or preempt tracing.
+-
+-ftraced
+--------
+-
+-As mentioned above, when dynamic ftrace is configured in, a kernel
+-thread wakes up once a second and checks to see if there are mcount
+-calls that need to be converted into nops. If there is not, then
+-it simply goes back to sleep. But if there is, it will call
+-kstop_machine to convert the calls to nops.
+-
+-There may be a case that you do not want this added latency.
+-Perhaps you are doing some audio recording and this activity might
+-cause skips in the playback. There is an interface to disable
+-and enable the ftraced kernel thread.
+-
+- # echo 0 > /debug/tracing/ftraced_enabled
+-
+-This will disable the calling of the kstop_machine to update the
+-mcount calls to nops. Remember that there's a large overhead
+-to calling mcount. Without this kernel thread, that overhead will
+-exist.
+-
+-Any write to the ftraced_enabled file will cause the kstop_machine
+-to run if there are recorded calls to mcount. This means that a
+-user can manually perform the updates when they want to by simply
+-echoing a '0' into the ftraced_enabled file.
+-
+-The updates are also done at the beginning of enabling a tracer
+-that uses ftrace function recording.
+-
+-
+-trace_pipe
+-----------
+-
+-The trace_pipe outputs the same as trace, but the effect on the
+-tracing is different. Every read from trace_pipe is consumed.
+-This means that subsequent reads will be different. The trace
+-is live.
+-
+- # echo ftrace > /debug/tracing/current_tracer
+- # cat /debug/tracing/trace_pipe > /tmp/trace.out &
+-[1] 4153
+- # echo 1 > /debug/tracing/tracing_enabled
+- # usleep 1
+- # echo 0 > /debug/tracing/tracing_enabled
+- # cat /debug/tracing/trace
+-# tracer: ftrace
+-#
+-#           TASK-PID   CPU#    TIMESTAMP  FUNCTION
+-#              | |      |          |         |
+-
+- #
+- # cat /tmp/trace.out
+-            bash-4043  [00] 41.267106: finish_task_switch <-schedule
+-            bash-4043  [00] 41.267106: hrtick_set <-schedule
+-            bash-4043  [00] 41.267107: hrtick_clear <-hrtick_set
+-            bash-4043  [00] 41.267108: wait_for_completion <-__stop_machine_run
+-            bash-4043  [00] 41.267108: wait_for_common <-wait_for_completion
+-            bash-4043  [00] 41.267109: kthread_stop <-stop_machine_run
+-            bash-4043  [00] 41.267109: init_waitqueue_head <-kthread_stop
+-            bash-4043  [00] 41.267110: wake_up_process <-kthread_stop
+-            bash-4043  [00] 41.267110: try_to_wake_up <-wake_up_process
+-            bash-4043  [00] 41.267111: select_task_rq_rt <-try_to_wake_up
+-
+-
+-Note, reading the trace_pipe will block until more input is added.
+-By changing the tracer, trace_pipe will issue an EOF. We needed
+-to set the ftrace tracer _before_ cating the trace_pipe file.
+-
+-
+-trace entries
+--------------
+-
+-Having too much or not enough data can be troublesome in diagnosing
+-some issue in the kernel. The file trace_entries is used to modify
+-the size of the internal trace buffers. The numbers listed
+-is the number of entries that can be recorded per CPU. To know
+-the full size, multiply the number of possible CPUS with the
+-number of entries.
+-
+- # cat /debug/tracing/trace_entries
+-65620
+-
+-Note, to modify this you must have tracing fulling disabled. To do that,
+-echo "none" into the current_tracer.
+-
+- # echo none > /debug/tracing/current_tracer
+- # echo 100000 > /debug/tracing/trace_entries
+- # cat /debug/tracing/trace_entries
+-100045
+-
+-
+-Notice that we echoed in 100,000 but the size is 100,045. The entries
+-are held by individual pages. It allocates the number of pages it takes
+-to fulfill the request. If more entries may fit on the last page
+-it will add them.
+-
+- # echo 1 > /debug/tracing/trace_entries
+- # cat /debug/tracing/trace_entries
+-85
+-
+-This shows us that 85 entries can fit on a single page.
+-
+-The number of pages that will be allocated is a percentage of available
+-memory. Allocating too much will produces an error.
+-
+- # echo 1000000000000 > /debug/tracing/trace_entries
+--bash: echo: write error: Cannot allocate memory
+- # cat /debug/tracing/trace_entries
+-85
+-
+diff --git a/Makefile b/Makefile
+index c536d7b..5599044 100644
+diff --git a/arch/powerpc/kernel/ppc32.h b/arch/powerpc/kernel/ppc32.h
+index 90e5627..fda05e2 100644
+--- a/arch/powerpc/kernel/ppc32.h
++++ b/arch/powerpc/kernel/ppc32.h
+@@ -135,4 +135,6 @@ struct ucontext32 {
+ 	struct mcontext32	uc_mcontext;
+ };
+ 
++extern int copy_siginfo_to_user32(struct compat_siginfo __user *d, siginfo_t *s);
++
+ #endif  /* _PPC64_PPC32_H */
+diff --git a/arch/powerpc/kernel/ptrace32.c b/arch/powerpc/kernel/ptrace32.c
+index 4c1de6a..9d30e10 100644
+--- a/arch/powerpc/kernel/ptrace32.c
++++ b/arch/powerpc/kernel/ptrace32.c
+@@ -29,12 +29,15 @@
+ #include <linux/security.h>
+ #include <linux/signal.h>
+ #include <linux/compat.h>
++#include <linux/elf.h>
+ 
+ #include <asm/uaccess.h>
+ #include <asm/page.h>
+ #include <asm/pgtable.h>
+ #include <asm/system.h>
+ 
++#include "ppc32.h"
++
+ /*
+  * does not yet catch signals sent when the child dies.
+  * in exit.c or in signal.c.
+@@ -64,6 +67,27 @@ static long compat_ptrace_old(struct task_struct *child, long request,
+ 	return -EPERM;
+ }
+ 
++static int compat_ptrace_getsiginfo(struct task_struct *child, compat_siginfo_t __user *data)
++{
++	siginfo_t lastinfo;
++	int error = -ESRCH;
++
++	read_lock(&tasklist_lock);
++	if (likely(child->sighand != NULL)) {
++		error = -EINVAL;
++		spin_lock_irq(&child->sighand->siglock);
++		if (likely(child->last_siginfo != NULL)) {
++			lastinfo = *child->last_siginfo;
++			error = 0;
++		}
++		spin_unlock_irq(&child->sighand->siglock);
++	}
++	read_unlock(&tasklist_lock);
++	if (!error)
++		return copy_siginfo_to_user32(data, &lastinfo);
++	return error;
++}
++
+ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
+ 			compat_ulong_t caddr, compat_ulong_t cdata)
+ {
+@@ -282,6 +306,9 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
+ 			0, PT_REGS_COUNT * sizeof(compat_long_t),
+ 			compat_ptr(data));
+ 
++	case PTRACE_GETSIGINFO:
++		return compat_ptrace_getsiginfo(child, compat_ptr(data));
++
+ 	case PTRACE_GETFPREGS:
+ 	case PTRACE_SETFPREGS:
+ 	case PTRACE_GETVRREGS:
+diff --git a/arch/x86/kernel/io_delay.c b/arch/x86/kernel/io_delay.c
+index 5921e5f..1c3a66a 100644
+--- a/arch/x86/kernel/io_delay.c
++++ b/arch/x86/kernel/io_delay.c
+@@ -103,6 +103,9 @@ void __init io_delay_init(void)
+ 
+ static int __init io_delay_param(char *s)
+ {
++	if (!s)
++		return -EINVAL;
++
+ 	if (!strcmp(s, "0x80"))
+ 		io_delay_type = CONFIG_IO_DELAY_TYPE_0X80;
+ 	else if (!strcmp(s, "0xed"))
+diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
+index b8c6743..43c019f 100644
+--- a/arch/x86/kernel/kprobes.c
++++ b/arch/x86/kernel/kprobes.c
+@@ -860,7 +860,6 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs)
+ 
+ 	resume_execution(cur, regs, kcb);
+ 	regs->flags |= kcb->kprobe_saved_flags;
+-	trace_hardirqs_fixup_flags(regs->flags);
+ 
+ 	if ((kcb->kprobe_status != KPROBE_REENTER) && cur->post_handler) {
+ 		kcb->kprobe_status = KPROBE_HIT_SSDONE;
+diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
+index ba370dc..58325a6 100644
+--- a/arch/x86/kernel/process.c
++++ b/arch/x86/kernel/process.c
+@@ -164,6 +164,9 @@ void __cpuinit select_idle_routine(const struct cpuinfo_x86 *c)
+ 
+ static int __init idle_setup(char *str)
+ {
++	if (!str)
++		return -EINVAL;
++
+ 	if (!strcmp(str, "poll")) {
+ 		printk("using polling idle threads.\n");
+ 		pm_idle = poll_idle;
+diff --git a/block/bsg.c b/block/bsg.c
+index 54d617f..0526471 100644
+--- a/block/bsg.c
++++ b/block/bsg.c
+@@ -725,8 +725,13 @@ static int bsg_put_device(struct bsg_device *bd)
+ 	mutex_lock(&bsg_mutex);
+ 
+ 	do_free = atomic_dec_and_test(&bd->ref_count);
+-	if (!do_free)
++	if (!do_free) {
++		mutex_unlock(&bsg_mutex);
+ 		goto out;
++	}
++
++	hlist_del(&bd->dev_list);
++	mutex_unlock(&bsg_mutex);
+ 
+ 	dprintk("%s: tearing down\n", bd->name);
+ 
+@@ -742,10 +747,8 @@ static int bsg_put_device(struct bsg_device *bd)
+ 	 */
+ 	ret = bsg_complete_all_commands(bd);
+ 
+-	hlist_del(&bd->dev_list);
+ 	kfree(bd);
+ out:
+-	mutex_unlock(&bsg_mutex);
+ 	kref_put(&q->bsg_dev.ref, bsg_kref_release_function);
+ 	if (do_free)
+ 		blk_put_queue(q);
+diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
+index 78eb784..7828ef2 100644
+--- a/drivers/input/serio/i8042-x86ia64io.h
++++ b/drivers/input/serio/i8042-x86ia64io.h
+@@ -63,7 +63,7 @@ static inline void i8042_write_command(int val)
+ 	outb(val, I8042_COMMAND_REG);
+ }
+ 
+-#if defined(__i386__) || defined(__x86_64__)
++#ifdef CONFIG_X86
+ 
+ #include <linux/dmi.h>
+ 
+@@ -291,17 +291,36 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {
+ 			DMI_MATCH(DMI_PRODUCT_VERSION, "3000 N100"),
+ 		},
+ 	},
++	{
++		.ident = "Acer Aspire 1360",
++		.matches = {
++			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
++			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1360"),
++		},
++	},
+ 	{ }
+ };
+ 
+-
+-
++#ifdef CONFIG_PNP
++static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = {
++	{
++		.ident = "Intel MBO Desktop D845PESV",
++		.matches = {
++			DMI_MATCH(DMI_BOARD_NAME, "D845PESV"),
++			DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
++		},
++	},
++	{
++		.ident = "Gericom Bellagio",
++		.matches = {
++			DMI_MATCH(DMI_SYS_VENDOR, "Gericom"),
++			DMI_MATCH(DMI_PRODUCT_NAME, "N34AS6"),
++		},
++	},
++	{ }
++};
+ #endif
+ 
+-#ifdef CONFIG_X86
+-
+-#include <linux/dmi.h>
+-
+ /*
+  * Some Wistron based laptops need us to explicitly enable the 'Dritek
+  * keyboard extension' to make their extra keys start generating scancodes.
+@@ -356,7 +375,6 @@ static struct dmi_system_id __initdata i8042_dmi_dritek_table[] = {
+ 
+ #endif /* CONFIG_X86 */
+ 
+-
+ #ifdef CONFIG_PNP
+ #include <linux/pnp.h>
+ 
+@@ -466,6 +484,11 @@ static int __init i8042_pnp_init(void)
+ 	int pnp_data_busted = 0;
+ 	int err;
+ 
++#ifdef CONFIG_X86
++	if (dmi_check_system(i8042_dmi_nopnp_table))
++		i8042_nopnp = 1;
++#endif
++
+ 	if (i8042_nopnp) {
+ 		printk(KERN_INFO "i8042: PNP detection disabled\n");
+ 		return 0;
+@@ -591,15 +614,13 @@ static int __init i8042_platform_init(void)
+         i8042_reset = 1;
+ #endif
+ 
+-#if defined(__i386__) || defined(__x86_64__)
++#ifdef CONFIG_X86
+ 	if (dmi_check_system(i8042_dmi_noloop_table))
+ 		i8042_noloop = 1;
+ 
+ 	if (dmi_check_system(i8042_dmi_nomux_table))
+ 		i8042_nomux = 1;
+-#endif
+ 
+-#ifdef CONFIG_X86
+ 	if (dmi_check_system(i8042_dmi_dritek_table))
+ 		i8042_dritek = 1;
+ #endif /* CONFIG_X86 */
+diff --git a/drivers/md/linear.c b/drivers/md/linear.c
+index 1074824..ec921f5 100644
+--- a/drivers/md/linear.c
++++ b/drivers/md/linear.c
+@@ -126,7 +126,7 @@ static linear_conf_t *linear_conf(mddev_t *mddev, int raid_disks)
+ 		int j = rdev->raid_disk;
+ 		dev_info_t *disk = conf->disks + j;
+ 
+-		if (j < 0 || j > raid_disks || disk->rdev) {
++		if (j < 0 || j >= raid_disks || disk->rdev) {
+ 			printk("linear: disk numbering problem. Aborting!\n");
+ 			goto out;
+ 		}
+diff --git a/drivers/md/md.c b/drivers/md/md.c
+index 2580ac1..9664511 100644
+--- a/drivers/md/md.c
++++ b/drivers/md/md.c
+@@ -3326,9 +3326,9 @@ static struct kobject *md_probe(dev_t dev, int *part, void *data)
+ 	disk->queue = mddev->queue;
+ 	add_disk(disk);
+ 	mddev->gendisk = disk;
+-	mutex_unlock(&disks_mutex);
+ 	error = kobject_init_and_add(&mddev->kobj, &md_ktype, &disk->dev.kobj,
+ 				     "%s", "md");
++	mutex_unlock(&disks_mutex);
+ 	if (error)
+ 		printk(KERN_WARNING "md: cannot register %s/md - name in use\n",
+ 		       disk->disk_name);
+diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
+index e57905c..bc3ea09 100644
+--- a/drivers/net/wireless/ath5k/base.c
++++ b/drivers/net/wireless/ath5k/base.c
+@@ -1774,20 +1774,21 @@ ath5k_tasklet_rx(unsigned long data)
+ 	struct ath5k_rx_status rs = {};
+ 	struct sk_buff *skb;
+ 	struct ath5k_softc *sc = (void *)data;
+-	struct ath5k_buf *bf;
++	struct ath5k_buf *bf, *bf_last;
+ 	struct ath5k_desc *ds;
+ 	int ret;
+ 	int hdrlen;
+ 	int pad;
+ 
+ 	spin_lock(&sc->rxbuflock);
++	if (list_empty(&sc->rxbuf)) {
++		ATH5K_WARN(sc, "empty rx buf pool\n");
++		goto unlock;
++	}
++	bf_last = list_entry(sc->rxbuf.prev, struct ath5k_buf, list);
+ 	do {
+ 		rxs.flag = 0;
+ 
+-		if (unlikely(list_empty(&sc->rxbuf))) {
+-			ATH5K_WARN(sc, "empty rx buf pool\n");
+-			break;
+-		}
+ 		bf = list_first_entry(&sc->rxbuf, struct ath5k_buf, list);
+ 		BUG_ON(bf->skb == NULL);
+ 		skb = bf->skb;
+@@ -1797,8 +1798,24 @@ ath5k_tasklet_rx(unsigned long data)
+ 		pci_dma_sync_single_for_cpu(sc->pdev, sc->desc_daddr,
+ 				sc->desc_len, PCI_DMA_FROMDEVICE);
+ 
+-		if (unlikely(ds->ds_link == bf->daddr)) /* this is the end */
+-			break;
++		/*
++		 * last buffer must not be freed to ensure proper hardware
++		 * function. When the hardware finishes also a packet next to
++		 * it, we are sure, it doesn't use it anymore and we can go on.
++		 */
++		if (bf_last == bf)
++			bf->flags |= 1;
++		if (bf->flags) {
++			struct ath5k_buf *bf_next = list_entry(bf->list.next,
++					struct ath5k_buf, list);
++			ret = sc->ah->ah_proc_rx_desc(sc->ah, bf_next->desc,
++					&rs);
++			if (ret)
++				break;
++			bf->flags &= ~1;
++			/* skip the overwritten one (even status is martian) */
++			goto next;
++		}
+ 
+ 		ret = sc->ah->ah_proc_rx_desc(sc->ah, ds, &rs);
+ 		if (unlikely(ret == -EINPROGRESS))
+@@ -1921,6 +1938,7 @@ accept:
+ next:
+ 		list_move_tail(&bf->list, &sc->rxbuf);
+ 	} while (ath5k_rxbuf_setup(sc, bf) == 0);
++unlock:
+ 	spin_unlock(&sc->rxbuflock);
+ }
+ 
+@@ -2435,6 +2453,9 @@ ath5k_stop_hw(struct ath5k_softc *sc)
+ 	mutex_unlock(&sc->lock);
+ 
+ 	del_timer_sync(&sc->calib_tim);
++	tasklet_kill(&sc->rxtq);
++	tasklet_kill(&sc->txtq);
++	tasklet_kill(&sc->restq);
+ 
+ 	return ret;
+ }
+diff --git a/drivers/net/wireless/ath5k/base.h b/drivers/net/wireless/ath5k/base.h
+index 3a97558..4badca7 100644
+--- a/drivers/net/wireless/ath5k/base.h
++++ b/drivers/net/wireless/ath5k/base.h
+@@ -55,7 +55,7 @@
+ 
+ struct ath5k_buf {
+ 	struct list_head	list;
+-	unsigned int		flags;	/* tx descriptor flags */
++	unsigned int		flags;	/* rx descriptor flags */
+ 	struct ath5k_desc	*desc;	/* virtual addr of desc */
+ 	dma_addr_t		daddr;	/* physical addr of desc */
+ 	struct sk_buff		*skb;	/* skbuff for buf */
+diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c
+index c4b938b..2be2da6 100644
+--- a/drivers/scsi/ch.c
++++ b/drivers/scsi/ch.c
+@@ -926,6 +926,7 @@ static int ch_probe(struct device *dev)
+ 	if (init)
+ 		ch_init_elem(ch);
+ 
++	dev_set_drvdata(dev, ch);
+ 	sdev_printk(KERN_INFO, sd, "Attached scsi changer %s\n", ch->name);
+ 
+ 	return 0;
+diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c
+index 67ff202..8dee320 100644
+--- a/fs/jbd/transaction.c
++++ b/fs/jbd/transaction.c
+@@ -1648,12 +1648,42 @@ out:
+ 	return;
+ }
+ 
++/*
++ * journal_try_to_free_buffers() could race with journal_commit_transaction()
++ * The latter might still hold the a count on buffers when inspecting
++ * them on t_syncdata_list or t_locked_list.
++ *
++ * journal_try_to_free_buffers() will call this function to
++ * wait for the current transaction to finish syncing data buffers, before
++ * tryinf to free that buffer.
++ *
++ * Called with journal->j_state_lock held.
++ */
++static void journal_wait_for_transaction_sync_data(journal_t *journal)
++{
++	transaction_t *transaction = NULL;
++	tid_t tid;
++
++	spin_lock(&journal->j_state_lock);
++	transaction = journal->j_committing_transaction;
++
++	if (!transaction) {
++		spin_unlock(&journal->j_state_lock);
++		return;
++	}
++
++	tid = transaction->t_tid;
++	spin_unlock(&journal->j_state_lock);
++	log_wait_commit(journal, tid);
++}
+ 
+ /**
+  * int journal_try_to_free_buffers() - try to free page buffers.
+  * @journal: journal for operation
+  * @page: to try and free
+- * @unused_gfp_mask: unused
++ * @gfp_mask: we use the mask to detect how hard should we try to release
++ * buffers. If __GFP_WAIT and __GFP_FS is set, we wait for commit code to
++ * release the buffers.
+  *
+  *
+  * For all the buffers on this page,
+@@ -1682,9 +1712,11 @@ out:
+  * journal_try_to_free_buffer() is changing its state.  But that
+  * cannot happen because we never reallocate freed data as metadata
+  * while the data is part of a transaction.  Yes?
++ *
++ * Return 0 on failure, 1 on success
+  */
+ int journal_try_to_free_buffers(journal_t *journal,
+-				struct page *page, gfp_t unused_gfp_mask)
++				struct page *page, gfp_t gfp_mask)
+ {
+ 	struct buffer_head *head;
+ 	struct buffer_head *bh;
+@@ -1713,7 +1745,28 @@ int journal_try_to_free_buffers(journal_t *journal,
+ 		if (buffer_jbd(bh))
+ 			goto busy;
+ 	} while ((bh = bh->b_this_page) != head);
++
+ 	ret = try_to_free_buffers(page);
++
++	/*
++	 * There are a number of places where journal_try_to_free_buffers()
++	 * could race with journal_commit_transaction(), the later still
++	 * holds the reference to the buffers to free while processing them.
++	 * try_to_free_buffers() failed to free those buffers. Some of the
++	 * caller of releasepage() request page buffers to be dropped, otherwise
++	 * treat the fail-to-free as errors (such as generic_file_direct_IO())
++	 *
++	 * So, if the caller of try_to_release_page() wants the synchronous
++	 * behaviour(i.e make sure buffers are dropped upon return),
++	 * let's wait for the current transaction to finish flush of
++	 * dirty data buffers, then try to free those buffers again,
++	 * with the journal locked.
++	 */
++	if (ret == 0 && (gfp_mask & __GFP_WAIT) && (gfp_mask & __GFP_FS)) {
++		journal_wait_for_transaction_sync_data(journal);
++		ret = try_to_free_buffers(page);
++	}
++
+ busy:
+ 	return ret;
+ }
+diff --git a/fs/namei.c b/fs/namei.c
+index 01e67dd..3b26a24 100644
+--- a/fs/namei.c
++++ b/fs/namei.c
+@@ -519,7 +519,14 @@ static struct dentry * real_lookup(struct dentry * parent, struct qstr * name, s
+ 	 */
+ 	result = d_lookup(parent, name);
+ 	if (!result) {
+-		struct dentry * dentry = d_alloc(parent, name);
++		struct dentry *dentry;
++
++		/* Don't create child dentry for a dead directory. */
++		result = ERR_PTR(-ENOENT);
++		if (IS_DEADDIR(dir))
++			goto out_unlock;
++
++		dentry = d_alloc(parent, name);
+ 		result = ERR_PTR(-ENOMEM);
+ 		if (dentry) {
+ 			result = dir->i_op->lookup(dir, dentry, nd);
+@@ -528,6 +535,7 @@ static struct dentry * real_lookup(struct dentry * parent, struct qstr * name, s
+ 			else
+ 				result = dentry;
+ 		}
++out_unlock:
+ 		mutex_unlock(&dir->i_mutex);
+ 		return result;
+ 	}
+@@ -1317,7 +1325,14 @@ static struct dentry *__lookup_hash(struct qstr *name,
+ 
+ 	dentry = cached_lookup(base, name, nd);
+ 	if (!dentry) {
+-		struct dentry *new = d_alloc(base, name);
++		struct dentry *new;
++
++		/* Don't create child dentry for a dead directory. */
++		dentry = ERR_PTR(-ENOENT);
++		if (IS_DEADDIR(inode))
++			goto out;
++
++		new = d_alloc(base, name);
+ 		dentry = ERR_PTR(-ENOMEM);
+ 		if (!new)
+ 			goto out;
+diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
+index 596c5d8..1d7ac64 100644
+--- a/fs/nfs/inode.c
++++ b/fs/nfs/inode.c
+@@ -57,8 +57,6 @@ static int enable_ino64 = NFS_64_BIT_INODE_NUMBERS_ENABLED;
+ static void nfs_invalidate_inode(struct inode *);
+ static int nfs_update_inode(struct inode *, struct nfs_fattr *);
+ 
+-static void nfs_zap_acl_cache(struct inode *);
+-
+ static struct kmem_cache * nfs_inode_cachep;
+ 
+ static inline unsigned long
+@@ -167,7 +165,7 @@ void nfs_zap_mapping(struct inode *inode, struct address_space *mapping)
+ 	}
+ }
+ 
+-static void nfs_zap_acl_cache(struct inode *inode)
++void nfs_zap_acl_cache(struct inode *inode)
+ {
+ 	void (*clear_acl_cache)(struct inode *);
+ 
+diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
+index 04ae867..24241fc 100644
+--- a/fs/nfs/internal.h
++++ b/fs/nfs/internal.h
+@@ -150,6 +150,7 @@ extern void nfs_clear_inode(struct inode *);
+ #ifdef CONFIG_NFS_V4
+ extern void nfs4_clear_inode(struct inode *);
+ #endif
++void nfs_zap_acl_cache(struct inode *inode);
+ 
+ /* super.c */
+ extern struct file_system_type nfs_xdev_fs_type;
+diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
+index 9b73625..423842f 100644
+--- a/fs/nfs/nfs3acl.c
++++ b/fs/nfs/nfs3acl.c
+@@ -5,6 +5,8 @@
+ #include <linux/posix_acl_xattr.h>
+ #include <linux/nfsacl.h>
+ 
++#include "internal.h"
++
+ #define NFSDBG_FACILITY	NFSDBG_PROC
+ 
+ ssize_t nfs3_listxattr(struct dentry *dentry, char *buffer, size_t size)
+@@ -205,6 +207,8 @@ struct posix_acl *nfs3_proc_getacl(struct inode *inode, int type)
+ 	status = nfs_revalidate_inode(server, inode);
+ 	if (status < 0)
+ 		return ERR_PTR(status);
++	if (NFS_I(inode)->cache_validity & NFS_INO_INVALID_ACL)
++		nfs_zap_acl_cache(inode);
+ 	acl = nfs3_get_cached_acl(inode, type);
+ 	if (acl != ERR_PTR(-EAGAIN))
+ 		return acl;
+@@ -319,9 +323,8 @@ static int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
+ 	dprintk("NFS call setacl\n");
+ 	msg.rpc_proc = &server->client_acl->cl_procinfo[ACLPROC3_SETACL];
+ 	status = rpc_call_sync(server->client_acl, &msg, 0);
+-	spin_lock(&inode->i_lock);
+-	NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ACCESS;
+-	spin_unlock(&inode->i_lock);
++	nfs_access_zap_cache(inode);
++	nfs_zap_acl_cache(inode);
+ 	dprintk("NFS reply setacl: %d\n", status);
+ 
+ 	/* pages may have been allocated at the xdr layer. */
+diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
+index 1293e0a..806d17f 100644
+--- a/fs/nfs/nfs4proc.c
++++ b/fs/nfs/nfs4proc.c
+@@ -2706,6 +2706,8 @@ static ssize_t nfs4_proc_get_acl(struct inode *inode, void *buf, size_t buflen)
+ 	ret = nfs_revalidate_inode(server, inode);
+ 	if (ret < 0)
+ 		return ret;
++	if (NFS_I(inode)->cache_validity & NFS_INO_INVALID_ACL)
++		nfs_zap_acl_cache(inode);
+ 	ret = nfs4_read_cached_acl(inode, buf, buflen);
+ 	if (ret != -ENOENT)
+ 		return ret;
+@@ -2733,7 +2735,8 @@ static int __nfs4_proc_set_acl(struct inode *inode, const void *buf, size_t bufl
+ 	nfs_inode_return_delegation(inode);
+ 	buf_to_pages(buf, buflen, arg.acl_pages, &arg.acl_pgbase);
+ 	ret = rpc_call_sync(NFS_CLIENT(inode), &msg, 0);
+-	nfs_zap_caches(inode);
++	nfs_access_zap_cache(inode);
++	nfs_zap_acl_cache(inode);
+ 	return ret;
+ }
+ 
+diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
+index 3f13d49..35e5c6e 100644
+--- a/fs/romfs/inode.c
++++ b/fs/romfs/inode.c
+@@ -418,7 +418,8 @@ static int
+ romfs_readpage(struct file *file, struct page * page)
+ {
+ 	struct inode *inode = page->mapping->host;
+-	loff_t offset, avail, readlen;
++	loff_t offset, size;
++	unsigned long filled;
+ 	void *buf;
+ 	int result = -EIO;
+ 
+@@ -430,21 +431,29 @@ romfs_readpage(struct file *file, struct page * page)
+ 
+ 	/* 32 bit warning -- but not for us :) */
+ 	offset = page_offset(page);
+-	if (offset < i_size_read(inode)) {
+-		avail = inode->i_size-offset;
+-		readlen = min_t(unsigned long, avail, PAGE_SIZE);
+-		if (romfs_copyfrom(inode, buf, ROMFS_I(inode)->i_dataoffset+offset, readlen) == readlen) {
+-			if (readlen < PAGE_SIZE) {
+-				memset(buf + readlen,0,PAGE_SIZE-readlen);
+-			}
+-			SetPageUptodate(page);
+-			result = 0;
++	size = i_size_read(inode);
++	filled = 0;
++	result = 0;
++	if (offset < size) {
++		unsigned long readlen;
++
++		size -= offset;
++		readlen = size > PAGE_SIZE ? PAGE_SIZE : size;
++
++		filled = romfs_copyfrom(inode, buf, ROMFS_I(inode)->i_dataoffset+offset, readlen);
++
++		if (filled != readlen) {
++			SetPageError(page);
++			filled = 0;
++			result = -EIO;
+ 		}
+ 	}
+-	if (result) {
+-		memset(buf, 0, PAGE_SIZE);
+-		SetPageError(page);
+-	}
++
++	if (filled < PAGE_SIZE)
++		memset(buf + filled, 0, PAGE_SIZE-filled);
++
++	if (!result)
++		SetPageUptodate(page);
+ 	flush_dcache_page(page);
+ 
+ 	unlock_page(page);
+diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h
+index 7b7b9b1..10ee28e 100644
+--- a/include/sound/emu10k1.h
++++ b/include/sound/emu10k1.h
+@@ -1670,6 +1670,7 @@ struct snd_emu_chip_details {
+ 	unsigned char spi_dac;      /* SPI interface for DAC */
+ 	unsigned char i2c_adc;      /* I2C interface for ADC */
+ 	unsigned char adc_1361t;    /* Use Philips 1361T ADC */
++	unsigned char invert_shared_spdif; /* analog/digital switch inverted */
+ 	const char *driver;
+ 	const char *name;
+ 	const char *id;		/* for backward compatibility - can be NULL if not needed */
+diff --git a/mm/filemap.c b/mm/filemap.c
+index 4f32423..afb991a 100644
+--- a/mm/filemap.c
++++ b/mm/filemap.c
+@@ -2581,9 +2581,8 @@ out:
+  * Otherwise return zero.
+  *
+  * The @gfp_mask argument specifies whether I/O may be performed to release
+- * this page (__GFP_IO), and whether the call may block (__GFP_WAIT).
++ * this page (__GFP_IO), and whether the call may block (__GFP_WAIT & __GFP_FS).
+  *
+- * NOTE: @gfp_mask may go away, and this function may become non-blocking.
+  */
+ int try_to_release_page(struct page *page, gfp_t gfp_mask)
+ {
+diff --git a/net/bluetooth/bnep/core.c b/net/bluetooth/bnep/core.c
+index f85d946..24e91eb 100644
+--- a/net/bluetooth/bnep/core.c
++++ b/net/bluetooth/bnep/core.c
+@@ -507,6 +507,11 @@ static int bnep_session(void *arg)
+ 	/* Delete network device */
+ 	unregister_netdev(dev);
+ 
++	/* Wakeup user-space polling for socket errors */
++	s->sock->sk->sk_err = EUNATCH;
++
++	wake_up_interruptible(s->sock->sk->sk_sleep);
++
+ 	/* Release the socket */
+ 	fput(s->sock->file);
+ 
+diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
+index 519cdb9..96434d7 100644
+--- a/net/bluetooth/hidp/core.c
++++ b/net/bluetooth/hidp/core.c
+@@ -581,6 +581,12 @@ static int hidp_session(void *arg)
+ 		hid_free_device(session->hid);
+ 	}
+ 
++	/* Wakeup user-space polling for socket errors */
++	session->intr_sock->sk->sk_err = EUNATCH;
++	session->ctrl_sock->sk->sk_err = EUNATCH;
++
++	hidp_schedule(session);
++
+ 	fput(session->intr_sock->file);
+ 
+ 	wait_event_timeout(*(ctrl_sk->sk_sleep),
+@@ -879,6 +885,10 @@ int hidp_del_connection(struct hidp_conndel_req *req)
+ 			skb_queue_purge(&session->ctrl_transmit);
+ 			skb_queue_purge(&session->intr_transmit);
+ 
++			/* Wakeup user-space polling for socket errors */
++			session->intr_sock->sk->sk_err = EUNATCH;
++			session->ctrl_sock->sk->sk_err = EUNATCH;
++
+ 			/* Kill session thread */
+ 			atomic_inc(&session->terminate);
+ 			hidp_schedule(session);
+diff --git a/net/ipv4/netfilter/nf_nat_sip.c b/net/ipv4/netfilter/nf_nat_sip.c
+index 4334d5c..1454432 100644
+--- a/net/ipv4/netfilter/nf_nat_sip.c
++++ b/net/ipv4/netfilter/nf_nat_sip.c
+@@ -318,11 +318,11 @@ static int mangle_content_len(struct sk_buff *skb,
+ 			     buffer, buflen);
+ }
+ 
+-static unsigned mangle_sdp_packet(struct sk_buff *skb, const char **dptr,
+-				  unsigned int dataoff, unsigned int *datalen,
+-				  enum sdp_header_types type,
+-				  enum sdp_header_types term,
+-				  char *buffer, int buflen)
++static int mangle_sdp_packet(struct sk_buff *skb, const char **dptr,
++			     unsigned int dataoff, unsigned int *datalen,
++			     enum sdp_header_types type,
++			     enum sdp_header_types term,
++			     char *buffer, int buflen)
+ {
+ 	enum ip_conntrack_info ctinfo;
+ 	struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
+@@ -330,9 +330,9 @@ static unsigned mangle_sdp_packet(struct sk_buff *skb, const char **dptr,
+ 
+ 	if (ct_sip_get_sdp_header(ct, *dptr, dataoff, *datalen, type, term,
+ 				  &matchoff, &matchlen) <= 0)
+-		return 0;
++		return -ENOENT;
+ 	return mangle_packet(skb, dptr, datalen, matchoff, matchlen,
+-			     buffer, buflen);
++			     buffer, buflen) ? 0 : -EINVAL;
+ }
+ 
+ static unsigned int ip_nat_sdp_addr(struct sk_buff *skb, const char **dptr,
+@@ -346,8 +346,8 @@ static unsigned int ip_nat_sdp_addr(struct sk_buff *skb, const char **dptr,
+ 	unsigned int buflen;
+ 
+ 	buflen = sprintf(buffer, NIPQUAD_FMT, NIPQUAD(addr->ip));
+-	if (!mangle_sdp_packet(skb, dptr, dataoff, datalen, type, term,
+-			       buffer, buflen))
++	if (mangle_sdp_packet(skb, dptr, dataoff, datalen, type, term,
++			      buffer, buflen))
+ 		return 0;
+ 
+ 	return mangle_content_len(skb, dptr, datalen);
+@@ -381,15 +381,27 @@ static unsigned int ip_nat_sdp_session(struct sk_buff *skb, const char **dptr,
+ 
+ 	/* Mangle session description owner and contact addresses */
+ 	buflen = sprintf(buffer, "%u.%u.%u.%u", NIPQUAD(addr->ip));
+-	if (!mangle_sdp_packet(skb, dptr, dataoff, datalen,
++	if (mangle_sdp_packet(skb, dptr, dataoff, datalen,
+ 			       SDP_HDR_OWNER_IP4, SDP_HDR_MEDIA,
+ 			       buffer, buflen))
+ 		return 0;
+ 
+-	if (!mangle_sdp_packet(skb, dptr, dataoff, datalen,
+-			       SDP_HDR_CONNECTION_IP4, SDP_HDR_MEDIA,
+-			       buffer, buflen))
++	switch (mangle_sdp_packet(skb, dptr, dataoff, datalen,
++				  SDP_HDR_CONNECTION_IP4, SDP_HDR_MEDIA,
++				  buffer, buflen)) {
++	case 0:
++	/*
++	 * RFC 2327:
++	 *
++	 * Session description
++	 *
++	 * c=* (connection information - not required if included in all media)
++	 */
++	case -ENOENT:
++		break;
++	default:
+ 		return 0;
++	}
+ 
+ 	return mangle_content_len(skb, dptr, datalen);
+ }
+diff --git a/net/netfilter/xt_time.c b/net/netfilter/xt_time.c
+index ed76baa..9f32859 100644
+--- a/net/netfilter/xt_time.c
++++ b/net/netfilter/xt_time.c
+@@ -173,7 +173,7 @@ time_mt(const struct sk_buff *skb, const struct net_device *in,
+ 		__net_timestamp((struct sk_buff *)skb);
+ 
+ 	stamp = ktime_to_ns(skb->tstamp);
+-	do_div(stamp, NSEC_PER_SEC);
++	stamp = div_s64(stamp, NSEC_PER_SEC);
+ 
+ 	if (info->flags & XT_TIME_LOCAL_TZ)
+ 		/* Adjust for local timezone */
+diff --git a/sound/core/seq/oss/seq_oss_synth.c b/sound/core/seq/oss/seq_oss_synth.c
+index 558dadb..e024e45 100644
+--- a/sound/core/seq/oss/seq_oss_synth.c
++++ b/sound/core/seq/oss/seq_oss_synth.c
+@@ -604,6 +604,9 @@ snd_seq_oss_synth_make_info(struct seq_oss_devinfo *dp, int dev, struct synth_in
+ {
+ 	struct seq_oss_synth *rec;
+ 
++	if (dev < 0 || dev >= dp->max_synthdev)
++		return -ENXIO;
++
+ 	if (dp->synths[dev].is_midi) {
+ 		struct midi_info minf;
+ 		snd_seq_oss_midi_make_info(dp, dp->synths[dev].midi_mapped, &minf);
+diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
+index 548c9cc..2f283ea 100644
+--- a/sound/pci/emu10k1/emu10k1_main.c
++++ b/sound/pci/emu10k1/emu10k1_main.c
+@@ -1528,6 +1528,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
+ 	 .ca0151_chip = 1,
+ 	 .spk71 = 1,
+ 	 .spdif_bug = 1,
++	 .invert_shared_spdif = 1,	/* digital/analog switch swapped */
+ 	 .adc_1361t = 1,  /* 24 bit capture instead of 16bit. Fixes ALSA bug#324 */
+ 	 .ac97_chip = 1} ,
+ 	{.vendor = 0x1102, .device = 0x0004, .revision = 0x04,
+diff --git a/sound/pci/emu10k1/emumixer.c b/sound/pci/emu10k1/emumixer.c
+index fd22120..9f77692 100644
+--- a/sound/pci/emu10k1/emumixer.c
++++ b/sound/pci/emu10k1/emumixer.c
+@@ -1578,6 +1578,10 @@ static int snd_emu10k1_shared_spdif_get(struct snd_kcontrol *kcontrol,
+ 		ucontrol->value.integer.value[0] = inl(emu->port + A_IOCFG) & A_IOCFG_GPOUT0 ? 1 : 0;
+ 	else
+ 		ucontrol->value.integer.value[0] = inl(emu->port + HCFG) & HCFG_GPOUT0 ? 1 : 0;
++	if (emu->card_capabilities->invert_shared_spdif)
++		ucontrol->value.integer.value[0] =
++			!ucontrol->value.integer.value[0];
++
+ 	return 0;
+ }
+ 
+@@ -1586,15 +1590,18 @@ static int snd_emu10k1_shared_spdif_put(struct snd_kcontrol *kcontrol,
+ {
+ 	unsigned long flags;
+ 	struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
+-	unsigned int reg, val;
++	unsigned int reg, val, sw;
+ 	int change = 0;
+ 
++	sw = ucontrol->value.integer.value[0];
++	if (emu->card_capabilities->invert_shared_spdif)
++		sw = !sw;
+ 	spin_lock_irqsave(&emu->reg_lock, flags);
+ 	if ( emu->card_capabilities->i2c_adc) {
+ 		/* Do nothing for Audigy 2 ZS Notebook */
+ 	} else if (emu->audigy) {
+ 		reg = inl(emu->port + A_IOCFG);
+-		val = ucontrol->value.integer.value[0] ? A_IOCFG_GPOUT0 : 0;
++		val = sw ? A_IOCFG_GPOUT0 : 0;
+ 		change = (reg & A_IOCFG_GPOUT0) != val;
+ 		if (change) {
+ 			reg &= ~A_IOCFG_GPOUT0;
+@@ -1603,7 +1610,7 @@ static int snd_emu10k1_shared_spdif_put(struct snd_kcontrol *kcontrol,
+ 		}
+ 	}
+ 	reg = inl(emu->port + HCFG);
+-	val = ucontrol->value.integer.value[0] ? HCFG_GPOUT0 : 0;
++	val = sw ? HCFG_GPOUT0 : 0;
+ 	change |= (reg & HCFG_GPOUT0) != val;
+ 	if (change) {
+ 		reg &= ~HCFG_GPOUT0;
+diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
+index b3a618e..6ba7ac0 100644
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -285,6 +285,7 @@ struct azx_dev {
+ 	u32 *posbuf;		/* position buffer pointer */
+ 
+ 	unsigned int bufsize;	/* size of the play buffer in bytes */
++	unsigned int period_bytes; /* size of the period in bytes */
+ 	unsigned int frags;	/* number for period in the play buffer */
+ 	unsigned int fifo_size;	/* FIFO size */
+ 
+@@ -301,11 +302,10 @@ struct azx_dev {
+ 					 */
+ 	unsigned char stream_tag;	/* assigned stream */
+ 	unsigned char index;		/* stream index */
+-	/* for sanity check of position buffer */
+-	unsigned int period_intr;
+ 
+ 	unsigned int opened :1;
+ 	unsigned int running :1;
++	unsigned int irq_pending: 1;
+ };
+ 
+ /* CORB/RIRB */
+@@ -369,6 +369,9 @@ struct azx {
+ 
+ 	/* for debugging */
+ 	unsigned int last_cmd;	/* last issued command (to sync) */
++
++	/* for pending irqs */
++	struct work_struct irq_pending_work;
+ };
+ 
+ /* driver types */
+@@ -908,6 +911,8 @@ static void azx_init_pci(struct azx *chip)
+ }
+ 
+ 
++static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev);
++
+ /*
+  * interrupt handler
+  */
+@@ -930,11 +935,18 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id)
+ 		azx_dev = &chip->azx_dev[i];
+ 		if (status & azx_dev->sd_int_sta_mask) {
+ 			azx_sd_writeb(azx_dev, SD_STS, SD_INT_MASK);
+-			if (azx_dev->substream && azx_dev->running) {
+-				azx_dev->period_intr++;
++			if (!azx_dev->substream || !azx_dev->running)
++				continue;
++			/* check whether this IRQ is really acceptable */
++			if (azx_position_ok(chip, azx_dev)) {
++				azx_dev->irq_pending = 0;
+ 				spin_unlock(&chip->reg_lock);
+ 				snd_pcm_period_elapsed(azx_dev->substream);
+ 				spin_lock(&chip->reg_lock);
++			} else {
++				/* bogus IRQ, process it later */
++				azx_dev->irq_pending = 1;
++				schedule_work(&chip->irq_pending_work);
+ 			}
+ 		}
+ 	}
+@@ -973,6 +985,7 @@ static int azx_setup_periods(struct snd_pcm_substream *substream,
+ 	azx_sd_writel(azx_dev, SD_BDLPU, 0);
+ 
+ 	period_bytes = snd_pcm_lib_period_bytes(substream);
++	azx_dev->period_bytes = period_bytes;
+ 	periods = azx_dev->bufsize / period_bytes;
+ 
+ 	/* program the initial BDL entries */
+@@ -1421,27 +1434,16 @@ static int azx_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
+ 	return 0;
+ }
+ 
+-static snd_pcm_uframes_t azx_pcm_pointer(struct snd_pcm_substream *substream)
++static unsigned int azx_get_position(struct azx *chip,
++				     struct azx_dev *azx_dev)
+ {
+-	struct azx_pcm *apcm = snd_pcm_substream_chip(substream);
+-	struct azx *chip = apcm->chip;
+-	struct azx_dev *azx_dev = get_azx_dev(substream);
+ 	unsigned int pos;
+ 
+ 	if (chip->position_fix == POS_FIX_POSBUF ||
+ 	    chip->position_fix == POS_FIX_AUTO) {
+ 		/* use the position buffer */
+ 		pos = le32_to_cpu(*azx_dev->posbuf);
+-		if (chip->position_fix == POS_FIX_AUTO &&
+-		    azx_dev->period_intr == 1 && !pos) {
+-			printk(KERN_WARNING
+-			       "hda-intel: Invalid position buffer, "
+-			       "using LPIB read method instead.\n");
+-			chip->position_fix = POS_FIX_NONE;
+-			goto read_lpib;
+-		}
+ 	} else {
+-	read_lpib:
+ 		/* read LPIB */
+ 		pos = azx_sd_readl(azx_dev, SD_LPIB);
+ 		if (chip->position_fix == POS_FIX_FIFO)
+@@ -1449,7 +1451,90 @@ static snd_pcm_uframes_t azx_pcm_pointer(struct snd_pcm_substream *substream)
+ 	}
+ 	if (pos >= azx_dev->bufsize)
+ 		pos = 0;
+-	return bytes_to_frames(substream->runtime, pos);
++	return pos;
++}
++
++static snd_pcm_uframes_t azx_pcm_pointer(struct snd_pcm_substream *substream)
++{
++	struct azx_pcm *apcm = snd_pcm_substream_chip(substream);
++	struct azx *chip = apcm->chip;
++	struct azx_dev *azx_dev = get_azx_dev(substream);
++	return bytes_to_frames(substream->runtime,
++			       azx_get_position(chip, azx_dev));
++}
++
++/*
++ * Check whether the current DMA position is acceptable for updating
++ * periods.  Returns non-zero if it's OK.
++ *
++ * Many HD-audio controllers appear pretty inaccurate about
++ * the update-IRQ timing.  The IRQ is issued before actually the
++ * data is processed.  So, we need to process it afterwords in a
++ * workqueue.
++ */
++static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev)
++{
++	unsigned int pos;
++
++	pos = azx_get_position(chip, azx_dev);
++	if (chip->position_fix == POS_FIX_AUTO) {
++		if (!pos) {
++			printk(KERN_WARNING
++			       "hda-intel: Invalid position buffer, "
++			       "using LPIB read method instead.\n");
++			chip->position_fix = POS_FIX_NONE;
++			pos = azx_get_position(chip, azx_dev);
++		} else
++			chip->position_fix = POS_FIX_POSBUF;
++	}
++
++	if (pos % azx_dev->period_bytes > azx_dev->period_bytes / 2)
++		return 0; /* NG - it's below the period boundary */
++	return 1; /* OK, it's fine */
++}
++
++/*
++ * The work for pending PCM period updates.
++ */
++static void azx_irq_pending_work(struct work_struct *work)
++{
++	struct azx *chip = container_of(work, struct azx, irq_pending_work);
++	int i, pending;
++
++	for (;;) {
++		pending = 0;
++		spin_lock_irq(&chip->reg_lock);
++		for (i = 0; i < chip->num_streams; i++) {
++			struct azx_dev *azx_dev = &chip->azx_dev[i];
++			if (!azx_dev->irq_pending ||
++			    !azx_dev->substream ||
++			    !azx_dev->running)
++				continue;
++			if (azx_position_ok(chip, azx_dev)) {
++				azx_dev->irq_pending = 0;
++				spin_unlock(&chip->reg_lock);
++				snd_pcm_period_elapsed(azx_dev->substream);
++				spin_lock(&chip->reg_lock);
++			} else
++				pending++;
++		}
++		spin_unlock_irq(&chip->reg_lock);
++		if (!pending)
++			return;
++		cond_resched();
++	}
++}
++
++/* clear irq_pending flags and assure no on-going workq */
++static void azx_clear_irq_pending(struct azx *chip)
++{
++	int i;
++
++	spin_lock_irq(&chip->reg_lock);
++	for (i = 0; i < chip->num_streams; i++)
++		chip->azx_dev[i].irq_pending = 0;
++	spin_unlock_irq(&chip->reg_lock);
++	flush_scheduled_work();
+ }
+ 
+ static struct snd_pcm_ops azx_pcm_ops = {
+@@ -1676,6 +1761,7 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state)
+ 	int i;
+ 
+ 	snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
++	azx_clear_irq_pending(chip);
+ 	for (i = 0; i < AZX_MAX_PCMS; i++)
+ 		snd_pcm_suspend_all(chip->pcm[i]);
+ 	if (chip->initialized)
+@@ -1732,6 +1818,7 @@ static int azx_free(struct azx *chip)
+ 	int i;
+ 
+ 	if (chip->initialized) {
++		azx_clear_irq_pending(chip);
+ 		for (i = 0; i < chip->num_streams; i++)
+ 			azx_stream_stop(chip, &chip->azx_dev[i]);
+ 		azx_stop_chip(chip);
+@@ -1857,6 +1944,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
+ 	chip->irq = -1;
+ 	chip->driver_type = driver_type;
+ 	chip->msi = enable_msi;
++	INIT_WORK(&chip->irq_pending_work, azx_irq_pending_work);
+ 
+ 	chip->position_fix = check_position_fix(chip, position_fix[dev]);
+ 	check_probe_mask(chip, dev);
+diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
+index a99e86d..b5f655d 100644
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -1618,6 +1618,7 @@ static const char *ad1981_models[AD1981_MODELS] = {
+ 
+ static struct snd_pci_quirk ad1981_cfg_tbl[] = {
+ 	SND_PCI_QUIRK(0x1014, 0x0597, "Lenovo Z60", AD1981_THINKPAD),
++	SND_PCI_QUIRK(0x1014, 0x05b7, "Lenovo Z60m", AD1981_THINKPAD),
+ 	/* All HP models */
+ 	SND_PCI_QUIRK(0x103c, 0, "HP nx", AD1981_HP),
+ 	SND_PCI_QUIRK(0x1179, 0x0001, "Toshiba U205", AD1981_TOSHIBA),
+@@ -2623,7 +2624,7 @@ static int ad1988_auto_create_extra_out(struct hda_codec *codec, hda_nid_t pin,
+ {
+ 	struct ad198x_spec *spec = codec->spec;
+ 	hda_nid_t nid;
+-	int idx, err;
++	int i, idx, err;
+ 	char name[32];
+ 
+ 	if (! pin)
+@@ -2631,16 +2632,26 @@ static int ad1988_auto_create_extra_out(struct hda_codec *codec, hda_nid_t pin,
+ 
+ 	idx = ad1988_pin_idx(pin);
+ 	nid = ad1988_idx_to_dac(codec, idx);
+-	/* specify the DAC as the extra output */
+-	if (! spec->multiout.hp_nid)
+-		spec->multiout.hp_nid = nid;
+-	else
+-		spec->multiout.extra_out_nid[0] = nid;
+-	/* control HP volume/switch on the output mixer amp */
+-	sprintf(name, "%s Playback Volume", pfx);
+-	if ((err = add_control(spec, AD_CTL_WIDGET_VOL, name,
+-			       HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_OUTPUT))) < 0)
+-		return err;
++	/* check whether the corresponding DAC was already taken */
++	for (i = 0; i < spec->autocfg.line_outs; i++) {
++		hda_nid_t pin = spec->autocfg.line_out_pins[i];
++		hda_nid_t dac = ad1988_idx_to_dac(codec, ad1988_pin_idx(pin));
++		if (dac == nid)
++			break;
++	}
++	if (i >= spec->autocfg.line_outs) {
++		/* specify the DAC as the extra output */
++		if (!spec->multiout.hp_nid)
++			spec->multiout.hp_nid = nid;
++		else
++			spec->multiout.extra_out_nid[0] = nid;
++		/* control HP volume/switch on the output mixer amp */
++		sprintf(name, "%s Playback Volume", pfx);
++		err = add_control(spec, AD_CTL_WIDGET_VOL, name,
++				  HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_OUTPUT));
++		if (err < 0)
++			return err;
++	}
+ 	nid = ad1988_mixer_nids[idx];
+ 	sprintf(name, "%s Playback Switch", pfx);
+ 	if ((err = add_control(spec, AD_CTL_BIND_MUTE, name,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.3.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.3.patch
@@ -0,0 +1,3210 @@
+diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
+index 5152ba0..778de8d 100644
+--- a/arch/ia64/kvm/kvm-ia64.c
++++ b/arch/ia64/kvm/kvm-ia64.c
+@@ -125,9 +125,9 @@ void kvm_arch_hardware_enable(void *garbage)
+ 				PAGE_KERNEL));
+ 	local_irq_save(saved_psr);
+ 	slot = ia64_itr_entry(0x3, KVM_VMM_BASE, pte, KVM_VMM_SHIFT);
++	local_irq_restore(saved_psr);
+ 	if (slot < 0)
+ 		return;
+-	local_irq_restore(saved_psr);
+ 
+ 	spin_lock(&vp_lock);
+ 	status = ia64_pal_vp_init_env(kvm_vsa_base ?
+@@ -160,9 +160,9 @@ void kvm_arch_hardware_disable(void *garbage)
+ 
+ 	local_irq_save(saved_psr);
+ 	slot = ia64_itr_entry(0x3, KVM_VMM_BASE, pte, KVM_VMM_SHIFT);
++	local_irq_restore(saved_psr);
+ 	if (slot < 0)
+ 		return;
+-	local_irq_restore(saved_psr);
+ 
+ 	status = ia64_pal_vp_exit_env(host_iva);
+ 	if (status)
+@@ -1258,6 +1258,7 @@ static int vti_vcpu_setup(struct kvm_vcpu *vcpu, int id)
+ uninit:
+ 	kvm_vcpu_uninit(vcpu);
+ fail:
++	local_irq_restore(psr);
+ 	return r;
+ }
+ 
+diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
+index c481673..acb0b97 100644
+--- a/arch/sparc64/kernel/irq.c
++++ b/arch/sparc64/kernel/irq.c
+@@ -682,10 +682,32 @@ void ack_bad_irq(unsigned int virt_irq)
+ 	       ino, virt_irq);
+ }
+ 
++void *hardirq_stack[NR_CPUS];
++void *softirq_stack[NR_CPUS];
++
++static __attribute__((always_inline)) void *set_hardirq_stack(void)
++{
++	void *orig_sp, *sp = hardirq_stack[smp_processor_id()];
++
++	__asm__ __volatile__("mov %%sp, %0" : "=r" (orig_sp));
++	if (orig_sp < sp ||
++	    orig_sp > (sp + THREAD_SIZE)) {
++		sp += THREAD_SIZE - 192 - STACK_BIAS;
++		__asm__ __volatile__("mov %0, %%sp" : : "r" (sp));
++	}
++
++	return orig_sp;
++}
++static __attribute__((always_inline)) void restore_hardirq_stack(void *orig_sp)
++{
++	__asm__ __volatile__("mov %0, %%sp" : : "r" (orig_sp));
++}
++
+ void handler_irq(int irq, struct pt_regs *regs)
+ {
+ 	unsigned long pstate, bucket_pa;
+ 	struct pt_regs *old_regs;
++	void *orig_sp;
+ 
+ 	clear_softint(1 << irq);
+ 
+@@ -703,6 +725,8 @@ void handler_irq(int irq, struct pt_regs *regs)
+ 			       "i" (PSTATE_IE)
+ 			     : "memory");
+ 
++	orig_sp = set_hardirq_stack();
++
+ 	while (bucket_pa) {
+ 		struct irq_desc *desc;
+ 		unsigned long next_pa;
+@@ -719,10 +743,38 @@ void handler_irq(int irq, struct pt_regs *regs)
+ 		bucket_pa = next_pa;
+ 	}
+ 
++	restore_hardirq_stack(orig_sp);
++
+ 	irq_exit();
+ 	set_irq_regs(old_regs);
+ }
+ 
++void do_softirq(void)
++{
++	unsigned long flags;
++
++	if (in_interrupt())
++		return;
++
++	local_irq_save(flags);
++
++	if (local_softirq_pending()) {
++		void *orig_sp, *sp = softirq_stack[smp_processor_id()];
++
++		sp += THREAD_SIZE - 192 - STACK_BIAS;
++
++		__asm__ __volatile__("mov %%sp, %0\n\t"
++				     "mov %1, %%sp"
++				     : "=&r" (orig_sp)
++				     : "r" (sp));
++		__do_softirq();
++		__asm__ __volatile__("mov %0, %%sp"
++				     : : "r" (orig_sp));
++	}
++
++	local_irq_restore(flags);
++}
++
+ #ifdef CONFIG_HOTPLUG_CPU
+ void fixup_irqs(void)
+ {
+diff --git a/arch/sparc64/kernel/kstack.h b/arch/sparc64/kernel/kstack.h
+new file mode 100644
+index 0000000..4248d96
+--- /dev/null
++++ b/arch/sparc64/kernel/kstack.h
+@@ -0,0 +1,60 @@
++#ifndef _KSTACK_H
++#define _KSTACK_H
++
++#include <linux/thread_info.h>
++#include <linux/sched.h>
++#include <asm/ptrace.h>
++#include <asm/irq.h>
++
++/* SP must be STACK_BIAS adjusted already.  */
++static inline bool kstack_valid(struct thread_info *tp, unsigned long sp)
++{
++	unsigned long base = (unsigned long) tp;
++
++	if (sp >= (base + sizeof(struct thread_info)) &&
++	    sp <= (base + THREAD_SIZE - sizeof(struct sparc_stackf)))
++		return true;
++
++	if (hardirq_stack[tp->cpu]) {
++		base = (unsigned long) hardirq_stack[tp->cpu];
++		if (sp >= base &&
++		    sp <= (base + THREAD_SIZE - sizeof(struct sparc_stackf)))
++			return true;
++		base = (unsigned long) softirq_stack[tp->cpu];
++		if (sp >= base &&
++		    sp <= (base + THREAD_SIZE - sizeof(struct sparc_stackf)))
++			return true;
++	}
++	return false;
++}
++
++/* Does "regs" point to a valid pt_regs trap frame?  */
++static inline bool kstack_is_trap_frame(struct thread_info *tp, struct pt_regs *regs)
++{
++	unsigned long base = (unsigned long) tp;
++	unsigned long addr = (unsigned long) regs;
++
++	if (addr >= base &&
++	    addr <= (base + THREAD_SIZE - sizeof(*regs)))
++		goto check_magic;
++
++	if (hardirq_stack[tp->cpu]) {
++		base = (unsigned long) hardirq_stack[tp->cpu];
++		if (addr >= base &&
++		    addr <= (base + THREAD_SIZE - sizeof(*regs)))
++			goto check_magic;
++		base = (unsigned long) softirq_stack[tp->cpu];
++		if (addr >= base &&
++		    addr <= (base + THREAD_SIZE - sizeof(*regs)))
++			goto check_magic;
++	}
++	return false;
++
++check_magic:
++	if ((regs->magic & ~0x1ff) == PT_REGS_MAGIC)
++		return true;
++	return false;
++
++}
++
++#endif /* _KSTACK_H */
+diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
+index 2084f81..d9f4cd0 100644
+--- a/arch/sparc64/kernel/process.c
++++ b/arch/sparc64/kernel/process.c
+@@ -55,6 +55,8 @@
+ 
+ /* #define VERBOSE_SHOWREGS */
+ 
++#include "kstack.h"
++
+ static void sparc64_yield(int cpu)
+ {
+ 	if (tlb_type != hypervisor)
+@@ -316,14 +318,22 @@ static void __global_reg_self(struct thread_info *tp, struct pt_regs *regs,
+ 	global_reg_snapshot[this_cpu].o7 = regs->u_regs[UREG_I7];
+ 
+ 	if (regs->tstate & TSTATE_PRIV) {
++		struct thread_info *tp = current_thread_info();
+ 		struct reg_window *rw;
+ 
+ 		rw = (struct reg_window *)
+ 			(regs->u_regs[UREG_FP] + STACK_BIAS);
+-		global_reg_snapshot[this_cpu].i7 = rw->ins[6];
+-	} else
++		if (kstack_valid(tp, (unsigned long) rw)) {
++			global_reg_snapshot[this_cpu].i7 = rw->ins[7];
++			rw = (struct reg_window *)
++				(rw->ins[6] + STACK_BIAS);
++			if (kstack_valid(tp, (unsigned long) rw))
++				global_reg_snapshot[this_cpu].rpc = rw->ins[7];
++		}
++	} else {
+ 		global_reg_snapshot[this_cpu].i7 = 0;
+-
++		global_reg_snapshot[this_cpu].rpc = 0;
++	}
+ 	global_reg_snapshot[this_cpu].thread = tp;
+ }
+ 
+@@ -384,12 +394,14 @@ static void sysrq_handle_globreg(int key, struct tty_struct *tty)
+ 			sprint_symbol(buffer, gp->o7);
+ 			printk("O7[%s] ", buffer);
+ 			sprint_symbol(buffer, gp->i7);
+-			printk("I7[%s]\n", buffer);
++			printk("I7[%s] ", buffer);
++			sprint_symbol(buffer, gp->rpc);
++			printk("RPC[%s]\n", buffer);
+ 		} else
+ #endif
+ 		{
+-			printk("             TPC[%lx] O7[%lx] I7[%lx]\n",
+-			       gp->tpc, gp->o7, gp->i7);
++			printk("             TPC[%lx] O7[%lx] I7[%lx] RPC[%lx]\n",
++			       gp->tpc, gp->o7, gp->i7, gp->rpc);
+ 		}
+ 	}
+ 
+@@ -876,7 +888,7 @@ out:
+ unsigned long get_wchan(struct task_struct *task)
+ {
+ 	unsigned long pc, fp, bias = 0;
+-	unsigned long thread_info_base;
++	struct thread_info *tp;
+ 	struct reg_window *rw;
+         unsigned long ret = 0;
+ 	int count = 0; 
+@@ -885,14 +897,12 @@ unsigned long get_wchan(struct task_struct *task)
+             task->state == TASK_RUNNING)
+ 		goto out;
+ 
+-	thread_info_base = (unsigned long) task_stack_page(task);
++	tp = task_thread_info(task);
+ 	bias = STACK_BIAS;
+ 	fp = task_thread_info(task)->ksp + bias;
+ 
+ 	do {
+-		/* Bogus frame pointer? */
+-		if (fp < (thread_info_base + sizeof(struct thread_info)) ||
+-		    fp >= (thread_info_base + THREAD_SIZE))
++		if (!kstack_valid(tp, fp))
+ 			break;
+ 		rw = (struct reg_window *) fp;
+ 		pc = rw->ins[7];
+diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c
+index 9667e96..10a12cb 100644
+--- a/arch/sparc64/kernel/signal.c
++++ b/arch/sparc64/kernel/signal.c
+@@ -2,7 +2,7 @@
+  *  arch/sparc64/kernel/signal.c
+  *
+  *  Copyright (C) 1991, 1992  Linus Torvalds
+- *  Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
++ *  Copyright (C) 1995, 2008 David S. Miller (davem@davemloft.net)
+  *  Copyright (C) 1996 Miguel de Icaza (miguel@nuclecu.unam.mx)
+  *  Copyright (C) 1997 Eddie C. Dost   (ecd@skynet.be)
+  *  Copyright (C) 1997,1998 Jakub Jelinek   (jj@sunsite.mff.cuni.cz)
+@@ -89,7 +89,9 @@ asmlinkage void sparc64_set_context(struct pt_regs *regs)
+ 	err |= __get_user(regs->u_regs[UREG_G4], (&(*grp)[MC_G4]));
+ 	err |= __get_user(regs->u_regs[UREG_G5], (&(*grp)[MC_G5]));
+ 	err |= __get_user(regs->u_regs[UREG_G6], (&(*grp)[MC_G6]));
+-	err |= __get_user(regs->u_regs[UREG_G7], (&(*grp)[MC_G7]));
++
++	/* Skip %g7 as that's the thread register in userspace.  */
++
+ 	err |= __get_user(regs->u_regs[UREG_I0], (&(*grp)[MC_O0]));
+ 	err |= __get_user(regs->u_regs[UREG_I1], (&(*grp)[MC_O1]));
+ 	err |= __get_user(regs->u_regs[UREG_I2], (&(*grp)[MC_O2]));
+diff --git a/arch/sparc64/kernel/stacktrace.c b/arch/sparc64/kernel/stacktrace.c
+index c73ce3f..8d749ef 100644
+--- a/arch/sparc64/kernel/stacktrace.c
++++ b/arch/sparc64/kernel/stacktrace.c
+@@ -4,10 +4,12 @@
+ #include <asm/ptrace.h>
+ #include <asm/stacktrace.h>
+ 
++#include "kstack.h"
++
+ void save_stack_trace(struct stack_trace *trace)
+ {
+-	unsigned long ksp, fp, thread_base;
+ 	struct thread_info *tp = task_thread_info(current);
++	unsigned long ksp, fp;
+ 
+ 	stack_trace_flush();
+ 
+@@ -17,21 +19,18 @@ void save_stack_trace(struct stack_trace *trace)
+ 	);
+ 
+ 	fp = ksp + STACK_BIAS;
+-	thread_base = (unsigned long) tp;
+ 	do {
+ 		struct sparc_stackf *sf;
+ 		struct pt_regs *regs;
+ 		unsigned long pc;
+ 
+-		/* Bogus frame pointer? */
+-		if (fp < (thread_base + sizeof(struct thread_info)) ||
+-		    fp >= (thread_base + THREAD_SIZE))
++		if (!kstack_valid(tp, fp))
+ 			break;
+ 
+ 		sf = (struct sparc_stackf *) fp;
+ 		regs = (struct pt_regs *) (sf + 1);
+ 
+-		if ((regs->magic & ~0x1ff) == PT_REGS_MAGIC) {
++		if (kstack_is_trap_frame(tp, regs)) {
+ 			if (!(regs->tstate & TSTATE_PRIV))
+ 				break;
+ 			pc = regs->tpc;
+diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c
+index 3697492..1389e38 100644
+--- a/arch/sparc64/kernel/traps.c
++++ b/arch/sparc64/kernel/traps.c
+@@ -43,6 +43,7 @@
+ #include <asm/prom.h>
+ 
+ #include "entry.h"
++#include "kstack.h"
+ 
+ /* When an irrecoverable trap occurs at tl > 0, the trap entry
+  * code logs the trap state registers at every level in the trap
+@@ -2120,14 +2121,12 @@ void show_stack(struct task_struct *tsk, unsigned long *_ksp)
+ 		struct pt_regs *regs;
+ 		unsigned long pc;
+ 
+-		/* Bogus frame pointer? */
+-		if (fp < (thread_base + sizeof(struct thread_info)) ||
+-		    fp >= (thread_base + THREAD_SIZE))
++		if (!kstack_valid(tp, fp))
+ 			break;
+ 		sf = (struct sparc_stackf *) fp;
+ 		regs = (struct pt_regs *) (sf + 1);
+ 
+-		if ((regs->magic & ~0x1ff) == PT_REGS_MAGIC) {
++		if (kstack_is_trap_frame(tp, regs)) {
+ 			if (!(regs->tstate & TSTATE_PRIV))
+ 				break;
+ 			pc = regs->tpc;
+diff --git a/arch/sparc64/lib/mcount.S b/arch/sparc64/lib/mcount.S
+index 9e4534b..0935f84 100644
+--- a/arch/sparc64/lib/mcount.S
++++ b/arch/sparc64/lib/mcount.S
+@@ -45,12 +45,45 @@ _mcount:
+ 	sub		%g3, STACK_BIAS, %g3
+ 	cmp		%sp, %g3
+ 	bg,pt		%xcc, 1f
+-	 sethi		%hi(panicstring), %g3
++	 nop
++	lduh		[%g6 + TI_CPU], %g1
++	sethi		%hi(hardirq_stack), %g3
++	or		%g3, %lo(hardirq_stack), %g3
++	sllx		%g1, 3, %g1
++	ldx		[%g3 + %g1], %g7
++	sub		%g7, STACK_BIAS, %g7
++	cmp		%sp, %g7
++	bleu,pt		%xcc, 2f
++	 sethi		%hi(THREAD_SIZE), %g3
++	add		%g7, %g3, %g7
++	cmp		%sp, %g7
++	blu,pn		%xcc, 1f
++2:	 sethi		%hi(softirq_stack), %g3
++	or		%g3, %lo(softirq_stack), %g3
++	ldx		[%g3 + %g1], %g7
++	cmp		%sp, %g7
++	bleu,pt		%xcc, 2f
++	 sethi		%hi(THREAD_SIZE), %g3
++	add		%g7, %g3, %g7
++	cmp		%sp, %g7
++	blu,pn		%xcc, 1f
++	 nop
++	/* If we are already on ovstack, don't hop onto it
++	 * again, we are already trying to output the stack overflow
++	 * message.
++	 */
+ 	sethi		%hi(ovstack), %g7		! cant move to panic stack fast enough
+ 	 or		%g7, %lo(ovstack), %g7
+-	add		%g7, OVSTACKSIZE, %g7
++	add		%g7, OVSTACKSIZE, %g3
++	sub		%g3, STACK_BIAS + 192, %g3
+ 	sub		%g7, STACK_BIAS, %g7
+-	mov		%g7, %sp
++	cmp		%sp, %g7
++	blu,pn		%xcc, 2f
++	 cmp		%sp, %g3
++	bleu,pn		%xcc, 1f
++	 nop
++2:	mov		%g3, %sp
++	sethi		%hi(panicstring), %g3
+ 	call		prom_printf
+ 	 or		%g3, %lo(panicstring), %o0
+ 	call		prom_halt
+diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
+index 84898c4..e289a98 100644
+--- a/arch/sparc64/mm/init.c
++++ b/arch/sparc64/mm/init.c
+@@ -49,6 +49,7 @@
+ #include <asm/sstate.h>
+ #include <asm/mdesc.h>
+ #include <asm/cpudata.h>
++#include <asm/irq.h>
+ 
+ #define MAX_PHYS_ADDRESS	(1UL << 42UL)
+ #define KPTE_BITMAP_CHUNK_SZ	(256UL * 1024UL * 1024UL)
+@@ -1817,6 +1818,16 @@ void __init paging_init(void)
+ 	if (tlb_type == hypervisor)
+ 		sun4v_mdesc_init();
+ 
++	/* Once the OF device tree and MDESC have been setup, we know
++	 * the list of possible cpus.  Therefore we can allocate the
++	 * IRQ stacks.
++	 */
++	for_each_possible_cpu(i) {
++		/* XXX Use node local allocations... XXX */
++		softirq_stack[i] = __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE));
++		hardirq_stack[i] = __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE));
++	}
++
+ 	/* Setup bootmem... */
+ 	last_valid_pfn = end_pfn = bootmem_init(phys_base);
+ 
+diff --git a/arch/sparc64/mm/ultra.S b/arch/sparc64/mm/ultra.S
+index 9bb2d90..db57686 100644
+--- a/arch/sparc64/mm/ultra.S
++++ b/arch/sparc64/mm/ultra.S
+@@ -531,6 +531,13 @@ xcall_fetch_glob_regs:
+ 	stx		%g7, [%g1 + GR_SNAP_TNPC]
+ 	stx		%o7, [%g1 + GR_SNAP_O7]
+ 	stx		%i7, [%g1 + GR_SNAP_I7]
++	/* Don't try this at home kids... */
++	rdpr		%cwp, %g2
++	sub		%g2, 1, %g7
++	wrpr		%g7, %cwp
++	mov		%i7, %g7
++	wrpr		%g2, %cwp
++	stx		%g7, [%g1 + GR_SNAP_RPC]
+ 	sethi		%hi(trap_block), %g7
+ 	or		%g7, %lo(trap_block), %g7
+ 	sllx		%g2, TRAP_BLOCK_SZ_SHIFT, %g2
+diff --git a/arch/x86/boot/boot.h b/arch/x86/boot/boot.h
+index a34b998..9d4b4b4 100644
+--- a/arch/x86/boot/boot.h
++++ b/arch/x86/boot/boot.h
+@@ -25,6 +25,8 @@
+ #include <asm/boot.h>
+ #include <asm/setup.h>
+ 
++#define NCAPINTS   8
++
+ /* Useful macros */
+ #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
+ 
+@@ -242,6 +244,12 @@ int cmdline_find_option(const char *option, char *buffer, int bufsize);
+ int cmdline_find_option_bool(const char *option);
+ 
+ /* cpu.c, cpucheck.c */
++struct cpu_features {
++	int level;		/* Family, or 64 for x86-64 */
++	int model;
++	u32 flags[NCAPINTS];
++};
++extern struct cpu_features cpu;
+ int check_cpu(int *cpu_level_ptr, int *req_level_ptr, u32 **err_flags_ptr);
+ int validate_cpu(void);
+ 
+diff --git a/arch/x86/boot/cpucheck.c b/arch/x86/boot/cpucheck.c
+index 7804389..c1ce030 100644
+--- a/arch/x86/boot/cpucheck.c
++++ b/arch/x86/boot/cpucheck.c
+@@ -30,13 +30,7 @@
+ #include <asm/required-features.h>
+ #include <asm/msr-index.h>
+ 
+-struct cpu_features {
+-	int level;		/* Family, or 64 for x86-64 */
+-	int model;
+-	u32 flags[NCAPINTS];
+-};
+-
+-static struct cpu_features cpu;
++struct cpu_features cpu;
+ static u32 cpu_vendor[3];
+ static u32 err_flags[NCAPINTS];
+ 
+diff --git a/arch/x86/boot/main.c b/arch/x86/boot/main.c
+index 77569a4..1b92cb6 100644
+--- a/arch/x86/boot/main.c
++++ b/arch/x86/boot/main.c
+@@ -73,6 +73,10 @@ static void keyboard_set_repeat(void)
+  */
+ static void query_ist(void)
+ {
++	/* Some 486 BIOSes apparently crash on this call */
++	if (cpu.level < 6)
++		return;
++
+ 	asm("int $0x15"
+ 	    : "=a" (boot_params.ist_info.signature),
+ 	      "=b" (boot_params.ist_info.command),
+diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
+index 5d241ce..75b14b1 100644
+--- a/arch/x86/kernel/cpu/mtrr/generic.c
++++ b/arch/x86/kernel/cpu/mtrr/generic.c
+@@ -219,7 +219,7 @@ void __init get_mtrr_state(void)
+ 		tom2 = hi;
+ 		tom2 <<= 32;
+ 		tom2 |= lo;
+-		tom2 &= 0xffffff8000000ULL;
++		tom2 &= 0xffffff800000ULL;
+ 	}
+ 	if (mtrr_show) {
+ 		int high_width;
+diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
+index c26d811..67d00bc 100644
+--- a/arch/x86/kvm/mmu.c
++++ b/arch/x86/kvm/mmu.c
+@@ -1792,6 +1792,7 @@ int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva)
+ 	spin_unlock(&vcpu->kvm->mmu_lock);
+ 	return r;
+ }
++EXPORT_SYMBOL_GPL(kvm_mmu_unprotect_page_virt);
+ 
+ void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu)
+ {
+diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
+index 06992d6..7d6071d 100644
+--- a/arch/x86/kvm/svm.c
++++ b/arch/x86/kvm/svm.c
+@@ -1007,13 +1007,18 @@ static int pf_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run)
+ 	struct kvm *kvm = svm->vcpu.kvm;
+ 	u64 fault_address;
+ 	u32 error_code;
++	bool event_injection = false;
+ 
+ 	if (!irqchip_in_kernel(kvm) &&
+-		is_external_interrupt(exit_int_info))
++	    is_external_interrupt(exit_int_info)) {
++		event_injection = true;
+ 		push_irq(&svm->vcpu, exit_int_info & SVM_EVTINJ_VEC_MASK);
++	}
+ 
+ 	fault_address  = svm->vmcb->control.exit_info_2;
+ 	error_code = svm->vmcb->control.exit_info_1;
++	if (event_injection)
++		kvm_mmu_unprotect_page_virt(&svm->vcpu, fault_address);
+ 	return kvm_mmu_page_fault(&svm->vcpu, fault_address, error_code);
+ }
+ 
+diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
+index 2ce9063..3ff39c1 100644
+--- a/arch/x86/kvm/vmx.c
++++ b/arch/x86/kvm/vmx.c
+@@ -2258,6 +2258,8 @@ static int handle_exception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
+ 		cr2 = vmcs_readl(EXIT_QUALIFICATION);
+ 		KVMTRACE_3D(PAGE_FAULT, vcpu, error_code, (u32)cr2,
+ 			    (u32)((u64)cr2 >> 32), handler);
++		if (vect_info & VECTORING_INFO_VALID_MASK)
++			kvm_mmu_unprotect_page_virt(vcpu, cr2);
+ 		return kvm_mmu_page_fault(vcpu, cr2, error_code);
+ 	}
+ 
+diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
+index 5a7406e..8ab14ab 100644
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -3168,6 +3168,10 @@ static void seg_desct_to_kvm_desct(struct desc_struct *seg_desc, u16 selector,
+ 	kvm_desct->base |= seg_desc->base2 << 24;
+ 	kvm_desct->limit = seg_desc->limit0;
+ 	kvm_desct->limit |= seg_desc->limit << 16;
++	if (seg_desc->g) {
++		kvm_desct->limit <<= 12;
++		kvm_desct->limit |= 0xfff;
++	}
+ 	kvm_desct->selector = selector;
+ 	kvm_desct->type = seg_desc->type;
+ 	kvm_desct->present = seg_desc->p;
+@@ -3207,6 +3211,7 @@ static void get_segment_descritptor_dtable(struct kvm_vcpu *vcpu,
+ static int load_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector,
+ 					 struct desc_struct *seg_desc)
+ {
++	gpa_t gpa;
+ 	struct descriptor_table dtable;
+ 	u16 index = selector >> 3;
+ 
+@@ -3216,13 +3221,16 @@ static int load_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector,
+ 		kvm_queue_exception_e(vcpu, GP_VECTOR, selector & 0xfffc);
+ 		return 1;
+ 	}
+-	return kvm_read_guest(vcpu->kvm, dtable.base + index * 8, seg_desc, 8);
++	gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, dtable.base);
++	gpa += index * 8;
++	return kvm_read_guest(vcpu->kvm, gpa, seg_desc, 8);
+ }
+ 
+ /* allowed just for 8 bytes segments */
+ static int save_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector,
+ 					 struct desc_struct *seg_desc)
+ {
++	gpa_t gpa;
+ 	struct descriptor_table dtable;
+ 	u16 index = selector >> 3;
+ 
+@@ -3230,7 +3238,9 @@ static int save_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector,
+ 
+ 	if (dtable.limit < index * 8 + 7)
+ 		return 1;
+-	return kvm_write_guest(vcpu->kvm, dtable.base + index * 8, seg_desc, 8);
++	gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, dtable.base);
++	gpa += index * 8;
++	return kvm_write_guest(vcpu->kvm, gpa, seg_desc, 8);
+ }
+ 
+ static u32 get_tss_base_addr(struct kvm_vcpu *vcpu,
+@@ -3242,55 +3252,7 @@ static u32 get_tss_base_addr(struct kvm_vcpu *vcpu,
+ 	base_addr |= (seg_desc->base1 << 16);
+ 	base_addr |= (seg_desc->base2 << 24);
+ 
+-	return base_addr;
+-}
+-
+-static int load_tss_segment32(struct kvm_vcpu *vcpu,
+-			      struct desc_struct *seg_desc,
+-			      struct tss_segment_32 *tss)
+-{
+-	u32 base_addr;
+-
+-	base_addr = get_tss_base_addr(vcpu, seg_desc);
+-
+-	return kvm_read_guest(vcpu->kvm, base_addr, tss,
+-			      sizeof(struct tss_segment_32));
+-}
+-
+-static int save_tss_segment32(struct kvm_vcpu *vcpu,
+-			      struct desc_struct *seg_desc,
+-			      struct tss_segment_32 *tss)
+-{
+-	u32 base_addr;
+-
+-	base_addr = get_tss_base_addr(vcpu, seg_desc);
+-
+-	return kvm_write_guest(vcpu->kvm, base_addr, tss,
+-			       sizeof(struct tss_segment_32));
+-}
+-
+-static int load_tss_segment16(struct kvm_vcpu *vcpu,
+-			      struct desc_struct *seg_desc,
+-			      struct tss_segment_16 *tss)
+-{
+-	u32 base_addr;
+-
+-	base_addr = get_tss_base_addr(vcpu, seg_desc);
+-
+-	return kvm_read_guest(vcpu->kvm, base_addr, tss,
+-			      sizeof(struct tss_segment_16));
+-}
+-
+-static int save_tss_segment16(struct kvm_vcpu *vcpu,
+-			      struct desc_struct *seg_desc,
+-			      struct tss_segment_16 *tss)
+-{
+-	u32 base_addr;
+-
+-	base_addr = get_tss_base_addr(vcpu, seg_desc);
+-
+-	return kvm_write_guest(vcpu->kvm, base_addr, tss,
+-			       sizeof(struct tss_segment_16));
++	return vcpu->arch.mmu.gva_to_gpa(vcpu, base_addr);
+ }
+ 
+ static u16 get_segment_selector(struct kvm_vcpu *vcpu, int seg)
+@@ -3450,20 +3412,26 @@ static int load_state_from_tss16(struct kvm_vcpu *vcpu,
+ }
+ 
+ int kvm_task_switch_16(struct kvm_vcpu *vcpu, u16 tss_selector,
+-		       struct desc_struct *cseg_desc,
++		       u32 old_tss_base,
+ 		       struct desc_struct *nseg_desc)
+ {
+ 	struct tss_segment_16 tss_segment_16;
+ 	int ret = 0;
+ 
+-	if (load_tss_segment16(vcpu, cseg_desc, &tss_segment_16))
++	if (kvm_read_guest(vcpu->kvm, old_tss_base, &tss_segment_16,
++			   sizeof tss_segment_16))
+ 		goto out;
+ 
+ 	save_state_to_tss16(vcpu, &tss_segment_16);
+-	save_tss_segment16(vcpu, cseg_desc, &tss_segment_16);
+ 
+-	if (load_tss_segment16(vcpu, nseg_desc, &tss_segment_16))
++	if (kvm_write_guest(vcpu->kvm, old_tss_base, &tss_segment_16,
++			    sizeof tss_segment_16))
+ 		goto out;
++
++	if (kvm_read_guest(vcpu->kvm, get_tss_base_addr(vcpu, nseg_desc),
++			   &tss_segment_16, sizeof tss_segment_16))
++		goto out;
++
+ 	if (load_state_from_tss16(vcpu, &tss_segment_16))
+ 		goto out;
+ 
+@@ -3473,20 +3441,26 @@ out:
+ }
+ 
+ int kvm_task_switch_32(struct kvm_vcpu *vcpu, u16 tss_selector,
+-		       struct desc_struct *cseg_desc,
++		       u32 old_tss_base,
+ 		       struct desc_struct *nseg_desc)
+ {
+ 	struct tss_segment_32 tss_segment_32;
+ 	int ret = 0;
+ 
+-	if (load_tss_segment32(vcpu, cseg_desc, &tss_segment_32))
++	if (kvm_read_guest(vcpu->kvm, old_tss_base, &tss_segment_32,
++			   sizeof tss_segment_32))
+ 		goto out;
+ 
+ 	save_state_to_tss32(vcpu, &tss_segment_32);
+-	save_tss_segment32(vcpu, cseg_desc, &tss_segment_32);
+ 
+-	if (load_tss_segment32(vcpu, nseg_desc, &tss_segment_32))
++	if (kvm_write_guest(vcpu->kvm, old_tss_base, &tss_segment_32,
++			    sizeof tss_segment_32))
++		goto out;
++
++	if (kvm_read_guest(vcpu->kvm, get_tss_base_addr(vcpu, nseg_desc),
++			   &tss_segment_32, sizeof tss_segment_32))
+ 		goto out;
++
+ 	if (load_state_from_tss32(vcpu, &tss_segment_32))
+ 		goto out;
+ 
+@@ -3501,16 +3475,20 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason)
+ 	struct desc_struct cseg_desc;
+ 	struct desc_struct nseg_desc;
+ 	int ret = 0;
++	u32 old_tss_base = get_segment_base(vcpu, VCPU_SREG_TR);
++	u16 old_tss_sel = get_segment_selector(vcpu, VCPU_SREG_TR);
+ 
+-	get_segment(vcpu, &tr_seg, VCPU_SREG_TR);
++	old_tss_base = vcpu->arch.mmu.gva_to_gpa(vcpu, old_tss_base);
+ 
++	/* FIXME: Handle errors. Failure to read either TSS or their
++	 * descriptors should generate a pagefault.
++	 */
+ 	if (load_guest_segment_descriptor(vcpu, tss_selector, &nseg_desc))
+ 		goto out;
+ 
+-	if (load_guest_segment_descriptor(vcpu, tr_seg.selector, &cseg_desc))
++	if (load_guest_segment_descriptor(vcpu, old_tss_sel, &cseg_desc))
+ 		goto out;
+ 
+-
+ 	if (reason != TASK_SWITCH_IRET) {
+ 		int cpl;
+ 
+@@ -3528,8 +3506,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason)
+ 
+ 	if (reason == TASK_SWITCH_IRET || reason == TASK_SWITCH_JMP) {
+ 		cseg_desc.type &= ~(1 << 1); //clear the B flag
+-		save_guest_segment_descriptor(vcpu, tr_seg.selector,
+-					      &cseg_desc);
++		save_guest_segment_descriptor(vcpu, old_tss_sel, &cseg_desc);
+ 	}
+ 
+ 	if (reason == TASK_SWITCH_IRET) {
+@@ -3541,10 +3518,10 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason)
+ 	kvm_x86_ops->cache_regs(vcpu);
+ 
+ 	if (nseg_desc.type & 8)
+-		ret = kvm_task_switch_32(vcpu, tss_selector, &cseg_desc,
++		ret = kvm_task_switch_32(vcpu, tss_selector, old_tss_base,
+ 					 &nseg_desc);
+ 	else
+-		ret = kvm_task_switch_16(vcpu, tss_selector, &cseg_desc,
++		ret = kvm_task_switch_16(vcpu, tss_selector, old_tss_base,
+ 					 &nseg_desc);
+ 
+ 	if (reason == TASK_SWITCH_CALL || reason == TASK_SWITCH_GATE) {
+diff --git a/arch/x86/pci/k8-bus_64.c b/arch/x86/pci/k8-bus_64.c
+index 5c2799c..bfefdf0 100644
+--- a/arch/x86/pci/k8-bus_64.c
++++ b/arch/x86/pci/k8-bus_64.c
+@@ -384,7 +384,7 @@ static int __init early_fill_mp_bus_info(void)
+ 	/* need to take out [0, TOM) for RAM*/
+ 	address = MSR_K8_TOP_MEM1;
+ 	rdmsrl(address, val);
+-	end = (val & 0xffffff8000000ULL);
++	end = (val & 0xffffff800000ULL);
+ 	printk(KERN_INFO "TOM: %016lx aka %ldM\n", end, end>>20);
+ 	if (end < (1ULL<<32))
+ 		update_range(range, 0, end - 1);
+@@ -478,7 +478,7 @@ static int __init early_fill_mp_bus_info(void)
+ 		/* TOP_MEM2 */
+ 		address = MSR_K8_TOP_MEM2;
+ 		rdmsrl(address, val);
+-		end = (val & 0xffffff8000000ULL);
++		end = (val & 0xffffff800000ULL);
+ 		printk(KERN_INFO "TOM2: %016lx aka %ldM\n", end, end>>20);
+ 		update_range(range, 1ULL<<32, end - 1);
+ 	}
+diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
+index 78199c0..f1d2e8a 100644
+--- a/block/scsi_ioctl.c
++++ b/block/scsi_ioctl.c
+@@ -629,7 +629,7 @@ int scsi_cmd_ioctl(struct file *file, struct request_queue *q,
+ 			hdr.sbp = cgc.sense;
+ 			if (hdr.sbp)
+ 				hdr.mx_sb_len = sizeof(struct request_sense);
+-			hdr.timeout = cgc.timeout;
++			hdr.timeout = jiffies_to_msecs(cgc.timeout);
+ 			hdr.cmdp = ((struct cdrom_generic_command __user*) arg)->cmd;
+ 			hdr.cmd_len = sizeof(cgc.cmd);
+ 
+diff --git a/drivers/char/hw_random/via-rng.c b/drivers/char/hw_random/via-rng.c
+index f7feae4..128202e 100644
+--- a/drivers/char/hw_random/via-rng.c
++++ b/drivers/char/hw_random/via-rng.c
+@@ -31,6 +31,7 @@
+ #include <asm/io.h>
+ #include <asm/msr.h>
+ #include <asm/cpufeature.h>
++#include <asm/i387.h>
+ 
+ 
+ #define PFX	KBUILD_MODNAME ": "
+@@ -67,16 +68,23 @@ enum {
+  * Another possible performance boost may come from simply buffering
+  * until we have 4 bytes, thus returning a u32 at a time,
+  * instead of the current u8-at-a-time.
++ *
++ * Padlock instructions can generate a spurious DNA fault, so
++ * we have to call them in the context of irq_ts_save/restore()
+  */
+ 
+ static inline u32 xstore(u32 *addr, u32 edx_in)
+ {
+ 	u32 eax_out;
++	int ts_state;
++
++	ts_state = irq_ts_save();
+ 
+ 	asm(".byte 0x0F,0xA7,0xC0 /* xstore %%edi (addr=%0) */"
+ 		:"=m"(*addr), "=a"(eax_out)
+ 		:"D"(addr), "d"(edx_in));
+ 
++	irq_ts_restore(ts_state);
+ 	return eax_out;
+ }
+ 
+diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c
+index bb30eb9..2a5c2db 100644
+--- a/drivers/crypto/padlock-aes.c
++++ b/drivers/crypto/padlock-aes.c
+@@ -16,6 +16,7 @@
+ #include <linux/interrupt.h>
+ #include <linux/kernel.h>
+ #include <asm/byteorder.h>
++#include <asm/i387.h>
+ #include "padlock.h"
+ 
+ /* Control word. */
+@@ -141,6 +142,12 @@ static inline void padlock_reset_key(void)
+ 	asm volatile ("pushfl; popfl");
+ }
+ 
++/*
++ * While the padlock instructions don't use FP/SSE registers, they
++ * generate a spurious DNA fault when cr0.ts is '1'. These instructions
++ * should be used only inside the irq_ts_save/restore() context
++ */
++
+ static inline void padlock_xcrypt(const u8 *input, u8 *output, void *key,
+ 				  void *control_word)
+ {
+@@ -205,15 +212,23 @@ static inline u8 *padlock_xcrypt_cbc(const u8 *input, u8 *output, void *key,
+ static void aes_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
+ {
+ 	struct aes_ctx *ctx = aes_ctx(tfm);
++	int ts_state;
+ 	padlock_reset_key();
++
++	ts_state = irq_ts_save();
+ 	aes_crypt(in, out, ctx->E, &ctx->cword.encrypt);
++	irq_ts_restore(ts_state);
+ }
+ 
+ static void aes_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
+ {
+ 	struct aes_ctx *ctx = aes_ctx(tfm);
++	int ts_state;
+ 	padlock_reset_key();
++
++	ts_state = irq_ts_save();
+ 	aes_crypt(in, out, ctx->D, &ctx->cword.decrypt);
++	irq_ts_restore(ts_state);
+ }
+ 
+ static struct crypto_alg aes_alg = {
+@@ -244,12 +259,14 @@ static int ecb_aes_encrypt(struct blkcipher_desc *desc,
+ 	struct aes_ctx *ctx = blk_aes_ctx(desc->tfm);
+ 	struct blkcipher_walk walk;
+ 	int err;
++	int ts_state;
+ 
+ 	padlock_reset_key();
+ 
+ 	blkcipher_walk_init(&walk, dst, src, nbytes);
+ 	err = blkcipher_walk_virt(desc, &walk);
+ 
++	ts_state = irq_ts_save();
+ 	while ((nbytes = walk.nbytes)) {
+ 		padlock_xcrypt_ecb(walk.src.virt.addr, walk.dst.virt.addr,
+ 				   ctx->E, &ctx->cword.encrypt,
+@@ -257,6 +274,7 @@ static int ecb_aes_encrypt(struct blkcipher_desc *desc,
+ 		nbytes &= AES_BLOCK_SIZE - 1;
+ 		err = blkcipher_walk_done(desc, &walk, nbytes);
+ 	}
++	irq_ts_restore(ts_state);
+ 
+ 	return err;
+ }
+@@ -268,12 +286,14 @@ static int ecb_aes_decrypt(struct blkcipher_desc *desc,
+ 	struct aes_ctx *ctx = blk_aes_ctx(desc->tfm);
+ 	struct blkcipher_walk walk;
+ 	int err;
++	int ts_state;
+ 
+ 	padlock_reset_key();
+ 
+ 	blkcipher_walk_init(&walk, dst, src, nbytes);
+ 	err = blkcipher_walk_virt(desc, &walk);
+ 
++	ts_state = irq_ts_save();
+ 	while ((nbytes = walk.nbytes)) {
+ 		padlock_xcrypt_ecb(walk.src.virt.addr, walk.dst.virt.addr,
+ 				   ctx->D, &ctx->cword.decrypt,
+@@ -281,7 +301,7 @@ static int ecb_aes_decrypt(struct blkcipher_desc *desc,
+ 		nbytes &= AES_BLOCK_SIZE - 1;
+ 		err = blkcipher_walk_done(desc, &walk, nbytes);
+ 	}
+-
++	irq_ts_restore(ts_state);
+ 	return err;
+ }
+ 
+@@ -314,12 +334,14 @@ static int cbc_aes_encrypt(struct blkcipher_desc *desc,
+ 	struct aes_ctx *ctx = blk_aes_ctx(desc->tfm);
+ 	struct blkcipher_walk walk;
+ 	int err;
++	int ts_state;
+ 
+ 	padlock_reset_key();
+ 
+ 	blkcipher_walk_init(&walk, dst, src, nbytes);
+ 	err = blkcipher_walk_virt(desc, &walk);
+ 
++	ts_state = irq_ts_save();
+ 	while ((nbytes = walk.nbytes)) {
+ 		u8 *iv = padlock_xcrypt_cbc(walk.src.virt.addr,
+ 					    walk.dst.virt.addr, ctx->E,
+@@ -329,6 +351,7 @@ static int cbc_aes_encrypt(struct blkcipher_desc *desc,
+ 		nbytes &= AES_BLOCK_SIZE - 1;
+ 		err = blkcipher_walk_done(desc, &walk, nbytes);
+ 	}
++	irq_ts_restore(ts_state);
+ 
+ 	return err;
+ }
+@@ -340,12 +363,14 @@ static int cbc_aes_decrypt(struct blkcipher_desc *desc,
+ 	struct aes_ctx *ctx = blk_aes_ctx(desc->tfm);
+ 	struct blkcipher_walk walk;
+ 	int err;
++	int ts_state;
+ 
+ 	padlock_reset_key();
+ 
+ 	blkcipher_walk_init(&walk, dst, src, nbytes);
+ 	err = blkcipher_walk_virt(desc, &walk);
+ 
++	ts_state = irq_ts_save();
+ 	while ((nbytes = walk.nbytes)) {
+ 		padlock_xcrypt_cbc(walk.src.virt.addr, walk.dst.virt.addr,
+ 				   ctx->D, walk.iv, &ctx->cword.decrypt,
+@@ -354,6 +379,7 @@ static int cbc_aes_decrypt(struct blkcipher_desc *desc,
+ 		err = blkcipher_walk_done(desc, &walk, nbytes);
+ 	}
+ 
++	irq_ts_restore(ts_state);
+ 	return err;
+ }
+ 
+diff --git a/drivers/crypto/padlock-sha.c b/drivers/crypto/padlock-sha.c
+index c666b4e..355f8c6 100644
+--- a/drivers/crypto/padlock-sha.c
++++ b/drivers/crypto/padlock-sha.c
+@@ -22,6 +22,7 @@
+ #include <linux/interrupt.h>
+ #include <linux/kernel.h>
+ #include <linux/scatterlist.h>
++#include <asm/i387.h>
+ #include "padlock.h"
+ 
+ #define SHA1_DEFAULT_FALLBACK	"sha1-generic"
+@@ -102,6 +103,7 @@ static void padlock_do_sha1(const char *in, char *out, int count)
+ 	 *     PadLock microcode needs it that big. */
+ 	char buf[128+16];
+ 	char *result = NEAREST_ALIGNED(buf);
++	int ts_state;
+ 
+ 	((uint32_t *)result)[0] = SHA1_H0;
+ 	((uint32_t *)result)[1] = SHA1_H1;
+@@ -109,9 +111,12 @@ static void padlock_do_sha1(const char *in, char *out, int count)
+ 	((uint32_t *)result)[3] = SHA1_H3;
+ 	((uint32_t *)result)[4] = SHA1_H4;
+  
++	/* prevent taking the spurious DNA fault with padlock. */
++	ts_state = irq_ts_save();
+ 	asm volatile (".byte 0xf3,0x0f,0xa6,0xc8" /* rep xsha1 */
+ 		      : "+S"(in), "+D"(result)
+ 		      : "c"(count), "a"(0));
++	irq_ts_restore(ts_state);
+ 
+ 	padlock_output_block((uint32_t *)result, (uint32_t *)out, 5);
+ }
+@@ -123,6 +128,7 @@ static void padlock_do_sha256(const char *in, char *out, int count)
+ 	 *     PadLock microcode needs it that big. */
+ 	char buf[128+16];
+ 	char *result = NEAREST_ALIGNED(buf);
++	int ts_state;
+ 
+ 	((uint32_t *)result)[0] = SHA256_H0;
+ 	((uint32_t *)result)[1] = SHA256_H1;
+@@ -133,9 +139,12 @@ static void padlock_do_sha256(const char *in, char *out, int count)
+ 	((uint32_t *)result)[6] = SHA256_H6;
+ 	((uint32_t *)result)[7] = SHA256_H7;
+ 
++	/* prevent taking the spurious DNA fault with padlock. */
++	ts_state = irq_ts_save();
+ 	asm volatile (".byte 0xf3,0x0f,0xa6,0xd0" /* rep xsha256 */
+ 		      : "+S"(in), "+D"(result)
+ 		      : "c"(count), "a"(0));
++	irq_ts_restore(ts_state);
+ 
+ 	padlock_output_block((uint32_t *)result, (uint32_t *)out, 8);
+ }
+diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
+index 9686734..711ca08 100644
+--- a/drivers/i2c/Kconfig
++++ b/drivers/i2c/Kconfig
+@@ -38,6 +38,20 @@ config I2C_CHARDEV
+ 	  This support is also available as a module.  If so, the module 
+ 	  will be called i2c-dev.
+ 
++config I2C_HELPER_AUTO
++	bool "Autoselect pertinent helper modules"
++	default y
++	help
++	  Some I2C bus drivers require so-called "I2C algorithm" modules
++	  to work. These are basically software-only abstractions of generic
++	  I2C interfaces. This option will autoselect them so that you don't
++	  have to care.
++
++	  Unselect this only if you need to enable additional helper
++	  modules, for example for use with external I2C bus drivers.
++
++	  In doubt, say Y.
++
+ source drivers/i2c/algos/Kconfig
+ source drivers/i2c/busses/Kconfig
+ source drivers/i2c/chips/Kconfig
+diff --git a/drivers/i2c/algos/Kconfig b/drivers/i2c/algos/Kconfig
+index 7137a17..b788579 100644
+--- a/drivers/i2c/algos/Kconfig
++++ b/drivers/i2c/algos/Kconfig
+@@ -2,15 +2,20 @@
+ # I2C algorithm drivers configuration
+ #
+ 
++menu "I2C Algorithms"
++	depends on !I2C_HELPER_AUTO
++
+ config I2C_ALGOBIT
+-	tristate
++	tristate "I2C bit-banging interfaces"
+ 
+ config I2C_ALGOPCF
+-	tristate
++	tristate "I2C PCF 8584 interfaces"
+ 
+ config I2C_ALGOPCA
+-	tristate
++	tristate "I2C PCA 9564 interfaces"
+ 
+ config I2C_ALGO_SGI
+ 	tristate
+ 	depends on SGI_IP22 || SGI_IP32 || X86_VISWS
++
++endmenu
+diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
+index d0175f4..08a7384 100644
+--- a/drivers/i2c/i2c-core.c
++++ b/drivers/i2c/i2c-core.c
+@@ -1196,9 +1196,11 @@ i2c_new_probed_device(struct i2c_adapter *adap,
+ 		if ((addr_list[i] & ~0x07) == 0x30
+ 		 || (addr_list[i] & ~0x0f) == 0x50
+ 		 || !i2c_check_functionality(adap, I2C_FUNC_SMBUS_QUICK)) {
++			union i2c_smbus_data data;
++
+ 			if (i2c_smbus_xfer(adap, addr_list[i], 0,
+ 					   I2C_SMBUS_READ, 0,
+-					   I2C_SMBUS_BYTE, NULL) >= 0)
++					   I2C_SMBUS_BYTE, &data) >= 0)
+ 				break;
+ 		} else {
+ 			if (i2c_smbus_xfer(adap, addr_list[i], 0,
+diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
+index 0cc854e..614f9ce 100644
+--- a/drivers/ide/ide-cd.c
++++ b/drivers/ide/ide-cd.c
+@@ -1298,6 +1298,7 @@ static int cdrom_read_capacity(ide_drive_t *drive, unsigned long *capacity,
+ 
+ 	int stat;
+ 	struct request req;
++	u32 blocklen;
+ 
+ 	ide_cd_init_rq(drive, &req);
+ 
+@@ -1314,23 +1315,24 @@ static int cdrom_read_capacity(ide_drive_t *drive, unsigned long *capacity,
+ 	/*
+ 	 * Sanity check the given block size
+ 	 */
+-	switch (capbuf.blocklen) {
+-	case __constant_cpu_to_be32(512):
+-	case __constant_cpu_to_be32(1024):
+-	case __constant_cpu_to_be32(2048):
+-	case __constant_cpu_to_be32(4096):
++	blocklen = be32_to_cpu(capbuf.blocklen);
++	switch (blocklen) {
++	case 512:
++	case 1024:
++	case 2048:
++	case 4096:
+ 		break;
+ 	default:
+ 		printk(KERN_ERR "%s: weird block size %u\n",
+-			drive->name, capbuf.blocklen);
++			drive->name, blocklen);
+ 		printk(KERN_ERR "%s: default to 2kb block size\n",
+ 			drive->name);
+-		capbuf.blocklen = __constant_cpu_to_be32(2048);
++		blocklen = 2048;
+ 		break;
+ 	}
+ 
+ 	*capacity = 1 + be32_to_cpu(capbuf.lba);
+-	*sectors_per_frame = be32_to_cpu(capbuf.blocklen) >> SECTOR_BITS;
++	*sectors_per_frame = blocklen >> SECTOR_BITS;
+ 	return 0;
+ }
+ 
+diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c
+index 992b1cf..0cfddf4 100644
+--- a/drivers/ide/pci/cs5520.c
++++ b/drivers/ide/pci/cs5520.c
+@@ -123,6 +123,7 @@ static const struct ide_dma_ops cs5520_dma_ops = {
+ #define DECLARE_CS_DEV(name_str)				\
+ 	{							\
+ 		.name		= name_str,			\
++		.enablebits	= { {0x60, 0x01, 0x01}, {0x60, 0x02, 0x02} }, \
+ 		.port_ops	= &cs5520_port_ops,		\
+ 		.dma_ops	= &cs5520_dma_ops,		\
+ 		.host_flags	= IDE_HFLAG_ISA_PORTS |		\
+diff --git a/drivers/ide/pci/it821x.c b/drivers/ide/pci/it821x.c
+index 6ab0411..cbf6472 100644
+--- a/drivers/ide/pci/it821x.c
++++ b/drivers/ide/pci/it821x.c
+@@ -512,8 +512,14 @@ static void __devinit it821x_quirkproc(ide_drive_t *drive)
+ }
+ 
+ static struct ide_dma_ops it821x_pass_through_dma_ops = {
++	.dma_host_set		= ide_dma_host_set,
++	.dma_setup		= ide_dma_setup,
++	.dma_exec_cmd		= ide_dma_exec_cmd,
+ 	.dma_start		= it821x_dma_start,
+ 	.dma_end		= it821x_dma_end,
++	.dma_test_irq		= ide_dma_test_irq,
++	.dma_timeout		= ide_dma_timeout,
++	.dma_lost_irq		= ide_dma_lost_irq,
+ };
+ 
+ /**
+diff --git a/drivers/misc/acer-wmi.c b/drivers/misc/acer-wmi.c
+index dd13a37..3a3e4c1 100644
+--- a/drivers/misc/acer-wmi.c
++++ b/drivers/misc/acer-wmi.c
+@@ -742,11 +742,30 @@ static acpi_status get_u32(u32 *value, u32 cap)
+ 
+ static acpi_status set_u32(u32 value, u32 cap)
+ {
++	acpi_status status;
++
+ 	if (interface->capability & cap) {
+ 		switch (interface->type) {
+ 		case ACER_AMW0:
+ 			return AMW0_set_u32(value, cap, interface);
+ 		case ACER_AMW0_V2:
++			if (cap == ACER_CAP_MAILLED)
++				return AMW0_set_u32(value, cap, interface);
++
++			/*
++			 * On some models, some WMID methods don't toggle
++			 * properly. For those cases, we want to run the AMW0
++			 * method afterwards to be certain we've really toggled
++			 * the device state.
++			 */
++			if (cap == ACER_CAP_WIRELESS ||
++				cap == ACER_CAP_BLUETOOTH) {
++				status = WMID_set_u32(value, cap, interface);
++				if (ACPI_FAILURE(status))
++					return status;
++
++				return AMW0_set_u32(value, cap, interface);
++			}
+ 		case ACER_WMID:
+ 			return WMID_set_u32(value, cap, interface);
+ 		default:
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index 6572425..42d7c0a 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -1438,8 +1438,10 @@ static void rtl8169_init_phy(struct net_device *dev, struct rtl8169_private *tp)
+ 
+ 	rtl_hw_phy_config(dev);
+ 
+-	dprintk("Set MAC Reg C+CR Offset 0x82h = 0x01h\n");
+-	RTL_W8(0x82, 0x01);
++	if (tp->mac_version <= RTL_GIGA_MAC_VER_06) {
++		dprintk("Set MAC Reg C+CR Offset 0x82h = 0x01h\n");
++		RTL_W8(0x82, 0x01);
++	}
+ 
+ 	pci_write_config_byte(tp->pci_dev, PCI_LATENCY_TIMER, 0x40);
+ 
+diff --git a/drivers/net/wireless/rtl8187.h b/drivers/net/wireless/rtl8187.h
+index 076d88b..aefd4f6 100644
+--- a/drivers/net/wireless/rtl8187.h
++++ b/drivers/net/wireless/rtl8187.h
+@@ -67,6 +67,10 @@ struct rtl8187_priv {
+ 	const struct rtl818x_rf_ops *rf;
+ 	struct ieee80211_vif *vif;
+ 	int mode;
++	/* The mutex protects the TX loopback state.
++	 * Any attempt to set channels concurrently locks the device.
++	 */
++	struct mutex conf_mutex;
+ 
+ 	/* rtl8187 specific */
+ 	struct ieee80211_channel channels[14];
+diff --git a/drivers/net/wireless/rtl8187_dev.c b/drivers/net/wireless/rtl8187_dev.c
+index 9223ada..d49d1c6 100644
+--- a/drivers/net/wireless/rtl8187_dev.c
++++ b/drivers/net/wireless/rtl8187_dev.c
+@@ -580,6 +580,7 @@ static int rtl8187_config(struct ieee80211_hw *dev, struct ieee80211_conf *conf)
+ 	struct rtl8187_priv *priv = dev->priv;
+ 	u32 reg;
+ 
++	mutex_lock(&priv->conf_mutex);
+ 	reg = rtl818x_ioread32(priv, &priv->map->TX_CONF);
+ 	/* Enable TX loopback on MAC level to avoid TX during channel
+ 	 * changes, as this has be seen to causes problems and the
+@@ -610,6 +611,7 @@ static int rtl8187_config(struct ieee80211_hw *dev, struct ieee80211_conf *conf)
+ 	rtl818x_iowrite16(priv, &priv->map->ATIMTR_INTERVAL, 100);
+ 	rtl818x_iowrite16(priv, &priv->map->BEACON_INTERVAL, 100);
+ 	rtl818x_iowrite16(priv, &priv->map->BEACON_INTERVAL_TIME, 100);
++	mutex_unlock(&priv->conf_mutex);
+ 	return 0;
+ }
+ 
+@@ -814,6 +816,7 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
+ 		printk(KERN_ERR "rtl8187: Cannot register device\n");
+ 		goto err_free_dev;
+ 	}
++	mutex_init(&priv->conf_mutex);
+ 
+ 	printk(KERN_INFO "%s: hwaddr %s, rtl8187 V%d + %s\n",
+ 	       wiphy_name(dev->wiphy), print_mac(mac, dev->wiphy->perm_addr),
+diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
+index 338a3f9..c14de8e 100644
+--- a/drivers/pci/quirks.c
++++ b/drivers/pci/quirks.c
+@@ -1683,9 +1683,14 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_VIA, 0x324e, quirk_via_cx700_pci_parking_c
+  */
+ static void __devinit quirk_brcm_570x_limit_vpd(struct pci_dev *dev)
+ {
+-	/*  Only disable the VPD capability for 5706, 5708, and 5709 rev. A */
++	/*
++	 * Only disable the VPD capability for 5706, 5706S, 5708,
++	 * 5708S and 5709 rev. A
++	 */
+ 	if ((dev->device == PCI_DEVICE_ID_NX2_5706) ||
++	    (dev->device == PCI_DEVICE_ID_NX2_5706S) ||
+ 	    (dev->device == PCI_DEVICE_ID_NX2_5708) ||
++  	    (dev->device == PCI_DEVICE_ID_NX2_5708S) ||
+ 	    ((dev->device == PCI_DEVICE_ID_NX2_5709) &&
+ 	     (dev->revision & 0xf0) == 0x0)) {
+ 		if (dev->vpd)
+diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
+index da876d3..74d12b5 100644
+--- a/drivers/scsi/hptiop.c
++++ b/drivers/scsi/hptiop.c
+@@ -1249,6 +1249,13 @@ static struct pci_device_id hptiop_id_table[] = {
+ 	{ PCI_VDEVICE(TTI, 0x3522), (kernel_ulong_t)&hptiop_itl_ops },
+ 	{ PCI_VDEVICE(TTI, 0x3410), (kernel_ulong_t)&hptiop_itl_ops },
+ 	{ PCI_VDEVICE(TTI, 0x3540), (kernel_ulong_t)&hptiop_itl_ops },
++	{ PCI_VDEVICE(TTI, 0x3530), (kernel_ulong_t)&hptiop_itl_ops },
++	{ PCI_VDEVICE(TTI, 0x3560), (kernel_ulong_t)&hptiop_itl_ops },
++	{ PCI_VDEVICE(TTI, 0x4322), (kernel_ulong_t)&hptiop_itl_ops },
++	{ PCI_VDEVICE(TTI, 0x4210), (kernel_ulong_t)&hptiop_itl_ops },
++	{ PCI_VDEVICE(TTI, 0x4211), (kernel_ulong_t)&hptiop_itl_ops },
++	{ PCI_VDEVICE(TTI, 0x4310), (kernel_ulong_t)&hptiop_itl_ops },
++	{ PCI_VDEVICE(TTI, 0x4311), (kernel_ulong_t)&hptiop_itl_ops },
+ 	{ PCI_VDEVICE(TTI, 0x3120), (kernel_ulong_t)&hptiop_mv_ops },
+ 	{ PCI_VDEVICE(TTI, 0x3122), (kernel_ulong_t)&hptiop_mv_ops },
+ 	{ PCI_VDEVICE(TTI, 0x3020), (kernel_ulong_t)&hptiop_mv_ops },
+diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
+index 8dd88fc..8728e87 100644
+--- a/drivers/scsi/qla2xxx/qla_attr.c
++++ b/drivers/scsi/qla2xxx/qla_attr.c
+@@ -972,26 +972,39 @@ qla2x00_get_starget_port_id(struct scsi_target *starget)
+ }
+ 
+ static void
+-qla2x00_get_rport_loss_tmo(struct fc_rport *rport)
++qla2x00_set_rport_loss_tmo(struct fc_rport *rport, uint32_t timeout)
+ {
+-	struct Scsi_Host *host = rport_to_shost(rport);
+-	scsi_qla_host_t *ha = shost_priv(host);
+-
+-	rport->dev_loss_tmo = ha->port_down_retry_count + 5;
++	if (timeout)
++		rport->dev_loss_tmo = timeout;
++	else
++		rport->dev_loss_tmo = 1;
+ }
+ 
+ static void
+-qla2x00_set_rport_loss_tmo(struct fc_rport *rport, uint32_t timeout)
++qla2x00_dev_loss_tmo_callbk(struct fc_rport *rport)
+ {
+ 	struct Scsi_Host *host = rport_to_shost(rport);
+-	scsi_qla_host_t *ha = shost_priv(host);
++	fc_port_t *fcport = *(fc_port_t **)rport->dd_data;
++
++	qla2x00_abort_fcport_cmds(fcport);
++
++	/*
++	 * Transport has effectively 'deleted' the rport, clear
++	 * all local references.
++	 */
++	spin_lock_irq(host->host_lock);
++	fcport->rport = NULL;
++	*((fc_port_t **)rport->dd_data) = NULL;
++	spin_unlock_irq(host->host_lock);
++}
+ 
+-	if (timeout)
+-		ha->port_down_retry_count = timeout;
+-	else
+-		ha->port_down_retry_count = 1;
++static void
++qla2x00_terminate_rport_io(struct fc_rport *rport)
++{
++	fc_port_t *fcport = *(fc_port_t **)rport->dd_data;
+ 
+-	rport->dev_loss_tmo = ha->port_down_retry_count + 5;
++	qla2x00_abort_fcport_cmds(fcport);
++	scsi_target_unblock(&rport->dev);
+ }
+ 
+ static int
+@@ -1248,11 +1261,12 @@ struct fc_function_template qla2xxx_transport_functions = {
+ 	.get_starget_port_id  = qla2x00_get_starget_port_id,
+ 	.show_starget_port_id = 1,
+ 
+-	.get_rport_dev_loss_tmo = qla2x00_get_rport_loss_tmo,
+ 	.set_rport_dev_loss_tmo = qla2x00_set_rport_loss_tmo,
+ 	.show_rport_dev_loss_tmo = 1,
+ 
+ 	.issue_fc_host_lip = qla2x00_issue_lip,
++	.dev_loss_tmo_callbk = qla2x00_dev_loss_tmo_callbk,
++	.terminate_rport_io = qla2x00_terminate_rport_io,
+ 	.get_fc_host_stats = qla2x00_get_fc_host_stats,
+ 
+ 	.vport_create = qla24xx_vport_create,
+@@ -1291,11 +1305,12 @@ struct fc_function_template qla2xxx_transport_vport_functions = {
+ 	.get_starget_port_id  = qla2x00_get_starget_port_id,
+ 	.show_starget_port_id = 1,
+ 
+-	.get_rport_dev_loss_tmo = qla2x00_get_rport_loss_tmo,
+ 	.set_rport_dev_loss_tmo = qla2x00_set_rport_loss_tmo,
+ 	.show_rport_dev_loss_tmo = 1,
+ 
+ 	.issue_fc_host_lip = qla2x00_issue_lip,
++	.dev_loss_tmo_callbk = qla2x00_dev_loss_tmo_callbk,
++	.terminate_rport_io = qla2x00_terminate_rport_io,
+ 	.get_fc_host_stats = qla2x00_get_fc_host_stats,
+ };
+ 
+diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
+index 8dd6000..7b0ddc8 100644
+--- a/drivers/scsi/qla2xxx/qla_def.h
++++ b/drivers/scsi/qla2xxx/qla_def.h
+@@ -1544,7 +1544,6 @@ typedef struct fc_port {
+ 	int login_retry;
+ 	atomic_t port_down_timer;
+ 
+-	spinlock_t rport_lock;
+ 	struct fc_rport *rport, *drport;
+ 	u32 supported_classes;
+ 
+diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
+index 9b4bebe..5a50fb7 100644
+--- a/drivers/scsi/qla2xxx/qla_gbl.h
++++ b/drivers/scsi/qla2xxx/qla_gbl.h
+@@ -71,6 +71,8 @@ extern int qla2x00_post_aen_work(struct scsi_qla_host *, enum
+ extern int qla2x00_post_hwe_work(struct scsi_qla_host *, uint16_t , uint16_t,
+     uint16_t, uint16_t);
+ 
++extern void qla2x00_abort_fcport_cmds(fc_port_t *);
++
+ /*
+  * Global Functions in qla_mid.c source file.
+  */
+diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
+index bbbc5a6..c7388fa 100644
+--- a/drivers/scsi/qla2xxx/qla_init.c
++++ b/drivers/scsi/qla2xxx/qla_init.c
+@@ -1864,12 +1864,11 @@ qla2x00_rport_del(void *data)
+ {
+ 	fc_port_t *fcport = data;
+ 	struct fc_rport *rport;
+-	unsigned long flags;
+ 
+-	spin_lock_irqsave(&fcport->rport_lock, flags);
++	spin_lock_irq(fcport->ha->host->host_lock);
+ 	rport = fcport->drport;
+ 	fcport->drport = NULL;
+-	spin_unlock_irqrestore(&fcport->rport_lock, flags);
++	spin_unlock_irq(fcport->ha->host->host_lock);
+ 	if (rport)
+ 		fc_remote_port_delete(rport);
+ }
+@@ -1898,7 +1897,6 @@ qla2x00_alloc_fcport(scsi_qla_host_t *ha, gfp_t flags)
+ 	atomic_set(&fcport->state, FCS_UNCONFIGURED);
+ 	fcport->flags = FCF_RLC_SUPPORT;
+ 	fcport->supported_classes = FC_COS_UNSPECIFIED;
+-	spin_lock_init(&fcport->rport_lock);
+ 
+ 	return fcport;
+ }
+@@ -2243,28 +2241,24 @@ qla2x00_reg_remote_port(scsi_qla_host_t *ha, fc_port_t *fcport)
+ {
+ 	struct fc_rport_identifiers rport_ids;
+ 	struct fc_rport *rport;
+-	unsigned long flags;
+ 
+ 	if (fcport->drport)
+ 		qla2x00_rport_del(fcport);
+-	if (fcport->rport)
+-		return;
+ 
+ 	rport_ids.node_name = wwn_to_u64(fcport->node_name);
+ 	rport_ids.port_name = wwn_to_u64(fcport->port_name);
+ 	rport_ids.port_id = fcport->d_id.b.domain << 16 |
+ 	    fcport->d_id.b.area << 8 | fcport->d_id.b.al_pa;
+ 	rport_ids.roles = FC_RPORT_ROLE_UNKNOWN;
+-	rport = fc_remote_port_add(ha->host, 0, &rport_ids);
++	fcport->rport = rport = fc_remote_port_add(ha->host, 0, &rport_ids);
+ 	if (!rport) {
+ 		qla_printk(KERN_WARNING, ha,
+ 		    "Unable to allocate fc remote port!\n");
+ 		return;
+ 	}
+-	spin_lock_irqsave(&fcport->rport_lock, flags);
+-	fcport->rport = rport;
++	spin_lock_irq(fcport->ha->host->host_lock);
+ 	*((fc_port_t **)rport->dd_data) = fcport;
+-	spin_unlock_irqrestore(&fcport->rport_lock, flags);
++	spin_unlock_irq(fcport->ha->host->host_lock);
+ 
+ 	rport->supported_classes = fcport->supported_classes;
+ 
+diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
+index 48eaa3b..047ee64 100644
+--- a/drivers/scsi/qla2xxx/qla_os.c
++++ b/drivers/scsi/qla2xxx/qla_os.c
+@@ -388,7 +388,7 @@ qla2x00_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
+ 	}
+ 
+ 	/* Close window on fcport/rport state-transitioning. */
+-	if (!*(fc_port_t **)rport->dd_data) {
++	if (fcport->drport) {
+ 		cmd->result = DID_IMM_RETRY << 16;
+ 		goto qc_fail_command;
+ 	}
+@@ -455,7 +455,7 @@ qla24xx_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
+ 	}
+ 
+ 	/* Close window on fcport/rport state-transitioning. */
+-	if (!*(fc_port_t **)rport->dd_data) {
++	if (fcport->drport) {
+ 		cmd->result = DID_IMM_RETRY << 16;
+ 		goto qc24_fail_command;
+ 	}
+@@ -617,6 +617,40 @@ qla2x00_wait_for_loop_ready(scsi_qla_host_t *ha)
+ 	return (return_status);
+ }
+ 
++void
++qla2x00_abort_fcport_cmds(fc_port_t *fcport)
++{
++	int cnt;
++	unsigned long flags;
++	srb_t *sp;
++	scsi_qla_host_t *ha = fcport->ha;
++	scsi_qla_host_t *pha = to_qla_parent(ha);
++
++	spin_lock_irqsave(&pha->hardware_lock, flags);
++	for (cnt = 1; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) {
++		sp = pha->outstanding_cmds[cnt];
++		if (!sp)
++			continue;
++		if (sp->fcport != fcport)
++			continue;
++
++		spin_unlock_irqrestore(&pha->hardware_lock, flags);
++		if (ha->isp_ops->abort_command(ha, sp)) {
++			DEBUG2(qla_printk(KERN_WARNING, ha,
++			    "Abort failed --  %lx\n", sp->cmd->serial_number));
++		} else {
++			if (qla2x00_eh_wait_on_command(ha, sp->cmd) !=
++			    QLA_SUCCESS)
++				DEBUG2(qla_printk(KERN_WARNING, ha,
++				    "Abort failed while waiting --  %lx\n",
++				    sp->cmd->serial_number));
++
++		}
++		spin_lock_irqsave(&pha->hardware_lock, flags);
++	}
++	spin_unlock_irqrestore(&pha->hardware_lock, flags);
++}
++
+ static void
+ qla2x00_block_error_handler(struct scsi_cmnd *cmnd)
+ {
+@@ -1073,7 +1107,7 @@ qla2xxx_slave_configure(struct scsi_device *sdev)
+ 	else
+ 		scsi_deactivate_tcq(sdev, ha->max_q_depth);
+ 
+-	rport->dev_loss_tmo = ha->port_down_retry_count + 5;
++	rport->dev_loss_tmo = ha->port_down_retry_count;
+ 
+ 	return 0;
+ }
+@@ -1813,7 +1847,6 @@ static inline void
+ qla2x00_schedule_rport_del(struct scsi_qla_host *ha, fc_port_t *fcport,
+     int defer)
+ {
+-	unsigned long flags;
+ 	struct fc_rport *rport;
+ 
+ 	if (!fcport->rport)
+@@ -1821,19 +1854,13 @@ qla2x00_schedule_rport_del(struct scsi_qla_host *ha, fc_port_t *fcport,
+ 
+ 	rport = fcport->rport;
+ 	if (defer) {
+-		spin_lock_irqsave(&fcport->rport_lock, flags);
++		spin_lock_irq(ha->host->host_lock);
+ 		fcport->drport = rport;
+-		fcport->rport = NULL;
+-		*(fc_port_t **)rport->dd_data = NULL;
+-		spin_unlock_irqrestore(&fcport->rport_lock, flags);
++		spin_unlock_irq(ha->host->host_lock);
+ 		set_bit(FCPORT_UPDATE_NEEDED, &ha->dpc_flags);
+-	} else {
+-		spin_lock_irqsave(&fcport->rport_lock, flags);
+-		fcport->rport = NULL;
+-		*(fc_port_t **)rport->dd_data = NULL;
+-		spin_unlock_irqrestore(&fcport->rport_lock, flags);
++		qla2xxx_wake_dpc(ha);
++	} else
+ 		fc_remote_port_delete(rport);
+-	}
+ }
+ 
+ /*
+diff --git a/drivers/scsi/scsi_transport_spi.c b/drivers/scsi/scsi_transport_spi.c
+index 75a64a6..b29360e 100644
+--- a/drivers/scsi/scsi_transport_spi.c
++++ b/drivers/scsi/scsi_transport_spi.c
+@@ -366,12 +366,14 @@ spi_transport_rd_attr(rti, "%d\n");
+ spi_transport_rd_attr(pcomp_en, "%d\n");
+ spi_transport_rd_attr(hold_mcs, "%d\n");
+ 
+-/* we only care about the first child device so we return 1 */
++/* we only care about the first child device that's a real SCSI device
++ * so we return 1 to terminate the iteration when we find it */
+ static int child_iter(struct device *dev, void *data)
+ {
+-	struct scsi_device *sdev = to_scsi_device(dev);
++	if (!scsi_is_sdev_device(dev))
++		return 0;
+ 
+-	spi_dv_device(sdev);
++	spi_dv_device(to_scsi_device(dev));
+ 	return 1;
+ }
+ 
+diff --git a/drivers/scsi/ses.c b/drivers/scsi/ses.c
+index 0fe031f..1bcf3c3 100644
+--- a/drivers/scsi/ses.c
++++ b/drivers/scsi/ses.c
+@@ -345,14 +345,14 @@ static int ses_enclosure_find_by_addr(struct enclosure_device *edev,
+ 	return 0;
+ }
+ 
+-#define VPD_INQUIRY_SIZE 512
++#define VPD_INQUIRY_SIZE 36
+ 
+ static void ses_match_to_enclosure(struct enclosure_device *edev,
+ 				   struct scsi_device *sdev)
+ {
+ 	unsigned char *buf = kmalloc(VPD_INQUIRY_SIZE, GFP_KERNEL);
+ 	unsigned char *desc;
+-	int len;
++	u16 vpd_len;
+ 	struct efd efd = {
+ 		.addr = 0,
+ 	};
+@@ -372,9 +372,19 @@ static void ses_match_to_enclosure(struct enclosure_device *edev,
+ 			     VPD_INQUIRY_SIZE, NULL, SES_TIMEOUT, SES_RETRIES))
+ 		goto free;
+ 
+-	len = (buf[2] << 8) + buf[3];
++	vpd_len = (buf[2] << 8) + buf[3];
++	kfree(buf);
++	buf = kmalloc(vpd_len, GFP_KERNEL);
++	if (!buf)
++		return;
++	cmd[3] = vpd_len >> 8;
++	cmd[4] = vpd_len & 0xff;
++	if (scsi_execute_req(sdev, cmd, DMA_FROM_DEVICE, buf,
++			     vpd_len, NULL, SES_TIMEOUT, SES_RETRIES))
++		goto free;
++
+ 	desc = buf + 4;
+-	while (desc < buf + len) {
++	while (desc < buf + vpd_len) {
+ 		enum scsi_protocol proto = desc[0] >> 4;
+ 		u8 code_set = desc[0] & 0x0f;
+ 		u8 piv = desc[1] & 0x80;
+diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
+index fe47d14..2fdbc10 100644
+--- a/drivers/usb/core/message.c
++++ b/drivers/usb/core/message.c
+@@ -1091,8 +1091,8 @@ void usb_disable_device(struct usb_device *dev, int skip_ep0)
+ 				continue;
+ 			dev_dbg(&dev->dev, "unregistering interface %s\n",
+ 				interface->dev.bus_id);
+-			device_del(&interface->dev);
+ 			usb_remove_sysfs_intf_files(interface);
++			device_del(&interface->dev);
+ 		}
+ 
+ 		/* Now that the interfaces are unbound, nobody should
+diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
+index 0ff4a39..7ee2abc 100644
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -553,6 +553,7 @@ static struct usb_device_id id_table_combined [] = {
+ 	{ USB_DEVICE(FTDI_VID, FTDI_ELV_FHZ1300PC_PID) },
+ 	{ USB_DEVICE(FTDI_VID, FTDI_ELV_EM1010PC_PID) },
+ 	{ USB_DEVICE(FTDI_VID, FTDI_ELV_WS500_PID) },
++	{ USB_DEVICE(FTDI_VID, FTDI_ELV_HS485_PID) },
+ 	{ USB_DEVICE(FTDI_VID, LINX_SDMUSBQSS_PID) },
+ 	{ USB_DEVICE(FTDI_VID, LINX_MASTERDEVEL2_PID) },
+ 	{ USB_DEVICE(FTDI_VID, LINX_FUTURE_0_PID) },
+@@ -636,6 +637,10 @@ static struct usb_device_id id_table_combined [] = {
+ 		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
+ 	{ USB_DEVICE(FTDI_VID, FTDI_OOCDLINK_PID),
+ 		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
++	{ USB_DEVICE(FTDI_VID, LMI_LM3S_DEVEL_BOARD_PID),
++		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
++	{ USB_DEVICE(FTDI_VID, LMI_LM3S_EVAL_BOARD_PID),
++		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
+ 	{ USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID_USB60F) },
+ 	{ USB_DEVICE(FTDI_VID, FTDI_REU_TINY_PID) },
+ 	{ },					/* Optional parameter entry */
+diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h
+index 8302eca..ac23a3a 100644
+--- a/drivers/usb/serial/ftdi_sio.h
++++ b/drivers/usb/serial/ftdi_sio.h
+@@ -524,6 +524,7 @@
+ #define FTDI_ELV_WS300PC_PID	0xE0F6	/* PC-Wetterstation (WS 300 PC) */
+ #define FTDI_ELV_FHZ1300PC_PID	0xE0E8	/* FHZ 1300 PC */
+ #define FTDI_ELV_WS500_PID	0xE0E9	/* PC-Wetterstation (WS 500) */
++#define FTDI_ELV_HS485_PID	0xE0EA	/* USB to RS-485 adapter */
+ #define FTDI_ELV_EM1010PC_PID	0xE0EF	/* Engery monitor EM 1010 PC */
+ 
+ /*
+@@ -815,6 +816,11 @@
+ #define OLIMEX_VID			0x15BA
+ #define OLIMEX_ARM_USB_OCD_PID		0x0003
+ 
++/* Luminary Micro Stellaris Boards, VID = FTDI_VID */
++/* FTDI 2332C Dual channel device, side A=245 FIFO (JTAG), Side B=RS232 UART */
++#define LMI_LM3S_DEVEL_BOARD_PID	0xbcd8
++#define LMI_LM3S_EVAL_BOARD_PID		0xbcd9
++
+ /* www.elsterelectricity.com Elster Unicom III Optical Probe */
+ #define FTDI_ELSTER_UNICOM_PID		0xE700 /* Product Id */
+ 
+diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
+index 2a0dd1b..63287ad 100644
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
+@@ -89,7 +89,6 @@ static struct usb_device_id id_table [] = {
+ 	{ USB_DEVICE(ALCOR_VENDOR_ID, ALCOR_PRODUCT_ID) },
+ 	{ USB_DEVICE(WS002IN_VENDOR_ID, WS002IN_PRODUCT_ID) },
+ 	{ USB_DEVICE(COREGA_VENDOR_ID, COREGA_PRODUCT_ID) },
+-	{ USB_DEVICE(HL340_VENDOR_ID, HL340_PRODUCT_ID) },
+ 	{ USB_DEVICE(YCCABLE_VENDOR_ID, YCCABLE_PRODUCT_ID) },
+ 	{ }					/* Terminating entry */
+ };
+diff --git a/drivers/usb/serial/pl2303.h b/drivers/usb/serial/pl2303.h
+index 6ac3bbc..a3bd039 100644
+--- a/drivers/usb/serial/pl2303.h
++++ b/drivers/usb/serial/pl2303.h
+@@ -107,10 +107,6 @@
+ #define COREGA_VENDOR_ID	0x07aa
+ #define COREGA_PRODUCT_ID	0x002a
+ 
+-/* HL HL-340 (ID: 4348:5523) */
+-#define HL340_VENDOR_ID		0x4348
+-#define HL340_PRODUCT_ID	0x5523
+-
+ /* Y.C. Cable U.S.A., Inc - USB to RS-232 */
+ #define YCCABLE_VENDOR_ID	0x05ad
+ #define YCCABLE_PRODUCT_ID	0x0fba
+diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
+index db1db4c..38034e2 100644
+--- a/drivers/usb/serial/usb-serial.c
++++ b/drivers/usb/serial/usb-serial.c
+@@ -119,9 +119,6 @@ static void return_serial(struct usb_serial *serial)
+ 
+ 	dbg("%s", __func__);
+ 
+-	if (serial == NULL)
+-		return;
+-
+ 	for (i = 0; i < serial->num_ports; ++i) {
+ 		serial_table[serial->minor + i] = NULL;
+ 	}
+@@ -140,7 +137,8 @@ static void destroy_serial(struct kref *kref)
+ 	serial->type->shutdown(serial);
+ 
+ 	/* return the minor range that this device had */
+-	return_serial(serial);
++	if (serial->minor != SERIAL_TTY_NO_MINOR)
++		return_serial(serial);
+ 
+ 	for (i = 0; i < serial->num_ports; ++i)
+ 		serial->port[i]->open_count = 0;
+@@ -562,6 +560,7 @@ static struct usb_serial * create_serial (struct usb_device *dev,
+ 	serial->interface = interface;
+ 	kref_init(&serial->kref);
+ 	mutex_init(&serial->disc_mutex);
++	serial->minor = SERIAL_TTY_NO_MINOR;
+ 
+ 	return serial;
+ }
+diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c
+index 3fcde9f..d8d6633 100644
+--- a/drivers/usb/storage/scsiglue.c
++++ b/drivers/usb/storage/scsiglue.c
+@@ -73,7 +73,6 @@ static const char* host_info(struct Scsi_Host *host)
+ static int slave_alloc (struct scsi_device *sdev)
+ {
+ 	struct us_data *us = host_to_us(sdev->host);
+-	struct usb_host_endpoint *bulk_in_ep;
+ 
+ 	/*
+ 	 * Set the INQUIRY transfer length to 36.  We don't use any of
+@@ -82,16 +81,22 @@ static int slave_alloc (struct scsi_device *sdev)
+ 	 */
+ 	sdev->inquiry_len = 36;
+ 
+-	/* Scatter-gather buffers (all but the last) must have a length
+-	 * divisible by the bulk maxpacket size.  Otherwise a data packet
+-	 * would end up being short, causing a premature end to the data
+-	 * transfer.  We'll use the maxpacket value of the bulk-IN pipe
+-	 * to set the SCSI device queue's DMA alignment mask.
++	/* USB has unusual DMA-alignment requirements: Although the
++	 * starting address of each scatter-gather element doesn't matter,
++	 * the length of each element except the last must be divisible
++	 * by the Bulk maxpacket value.  There's currently no way to
++	 * express this by block-layer constraints, so we'll cop out
++	 * and simply require addresses to be aligned at 512-byte
++	 * boundaries.  This is okay since most block I/O involves
++	 * hardware sectors that are multiples of 512 bytes in length,
++	 * and since host controllers up through USB 2.0 have maxpacket
++	 * values no larger than 512.
++	 *
++	 * But it doesn't suffice for Wireless USB, where Bulk maxpacket
++	 * values can be as large as 2048.  To make that work properly
++	 * will require changes to the block layer.
+ 	 */
+-	bulk_in_ep = us->pusb_dev->ep_in[usb_pipeendpoint(us->recv_bulk_pipe)];
+-	blk_queue_update_dma_alignment(sdev->request_queue,
+-			le16_to_cpu(bulk_in_ep->desc.wMaxPacketSize) - 1);
+-			/* wMaxPacketSize must be a power of 2 */
++	blk_queue_update_dma_alignment(sdev->request_queue, (512 - 1));
+ 
+ 	/*
+ 	 * The UFI spec treates the Peripheral Qualifier bits in an
+diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
+index 6610d2d..f2062e1 100644
+--- a/drivers/usb/storage/transport.c
++++ b/drivers/usb/storage/transport.c
+@@ -1034,8 +1034,21 @@ int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us)
+ 
+ 	/* try to compute the actual residue, based on how much data
+ 	 * was really transferred and what the device tells us */
+-	if (residue) {
+-		if (!(us->flags & US_FL_IGNORE_RESIDUE)) {
++	if (residue && !(us->flags & US_FL_IGNORE_RESIDUE)) {
++
++		/* Heuristically detect devices that generate bogus residues
++		 * by seeing what happens with INQUIRY and READ CAPACITY
++		 * commands.
++		 */
++		if (bcs->Status == US_BULK_STAT_OK &&
++				scsi_get_resid(srb) == 0 &&
++					((srb->cmnd[0] == INQUIRY &&
++						transfer_length == 36) ||
++					(srb->cmnd[0] == READ_CAPACITY &&
++						transfer_length == 8))) {
++			us->flags |= US_FL_IGNORE_RESIDUE;
++
++		} else {
+ 			residue = min(residue, transfer_length);
+ 			scsi_set_resid(srb, max(scsi_get_resid(srb),
+ 			                                       (int) residue));
+diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
+index 39a7c11..6a04476 100644
+--- a/drivers/usb/storage/unusual_devs.h
++++ b/drivers/usb/storage/unusual_devs.h
+@@ -358,14 +358,14 @@ UNUSUAL_DEV(  0x04b0, 0x040f, 0x0100, 0x0200,
+ 		US_FL_FIX_CAPACITY),
+ 
+ /* Reported by Emil Larsson <emil@swip.net> */
+-UNUSUAL_DEV(  0x04b0, 0x0411, 0x0100, 0x0110,
++UNUSUAL_DEV(  0x04b0, 0x0411, 0x0100, 0x0111,
+ 		"NIKON",
+ 		"NIKON DSC D80",
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_CAPACITY),
+ 
+ /* Reported by Ortwin Glueck <odi@odi.ch> */
+-UNUSUAL_DEV(  0x04b0, 0x0413, 0x0110, 0x0110,
++UNUSUAL_DEV(  0x04b0, 0x0413, 0x0110, 0x0111,
+ 		"NIKON",
+ 		"NIKON DSC D40",
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+@@ -1187,6 +1187,13 @@ UNUSUAL_DEV(  0x07c4, 0xa400, 0x0000, 0xffff,
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_INQUIRY ),
+ 
++/* Reported by Rauch Wolke <rauchwolke@gmx.net> */
++UNUSUAL_DEV(  0x07c4, 0xa4a5, 0x0000, 0xffff,
++		"Simple Tech/Datafab",
++		"CF+SM Reader",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_IGNORE_RESIDUE ),
++
+ /* Casio QV 2x00/3x00/4000/8000 digital still cameras are not conformant
+  * to the USB storage specification in two ways:
+  * - They tell us they are using transport protocol CBI. In reality they
+@@ -1758,6 +1765,13 @@ UNUSUAL_DEV(  0x2770, 0x915d, 0x0010, 0x0010,
+ 		US_SC_DEVICE, US_PR_DEVICE, NULL,
+ 		US_FL_FIX_CAPACITY ),
+ 
++/* Reported by Andrey Rahmatullin <wrar@altlinux.org> */
++UNUSUAL_DEV(  0x4102, 0x1020, 0x0100,  0x0100,
++		"iRiver",
++		"MP3 T10",
++		US_SC_DEVICE, US_PR_DEVICE, NULL,
++		US_FL_IGNORE_RESIDUE ),
++
+ /*
+  * David Härdeman <david@2gen.com>
+  * The key makes the SCSI stack print confusing (but harmless) messages
+diff --git a/drivers/video/arkfb.c b/drivers/video/arkfb.c
+index 5001bd4..21d61b3 100644
+--- a/drivers/video/arkfb.c
++++ b/drivers/video/arkfb.c
+@@ -958,20 +958,20 @@ static int __devinit ark_pci_probe(struct pci_dev *dev, const struct pci_device_
+ 	/* Prepare PCI device */
+ 	rc = pci_enable_device(dev);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot enable PCI device\n");
++		dev_err(info->device, "cannot enable PCI device\n");
+ 		goto err_enable_device;
+ 	}
+ 
+ 	rc = pci_request_regions(dev, "arkfb");
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot reserve framebuffer region\n");
++		dev_err(info->device, "cannot reserve framebuffer region\n");
+ 		goto err_request_regions;
+ 	}
+ 
+ 	par->dac = ics5342_init(ark_dac_read_regs, ark_dac_write_regs, info);
+ 	if (! par->dac) {
+ 		rc = -ENOMEM;
+-		dev_err(info->dev, "RAMDAC initialization failed\n");
++		dev_err(info->device, "RAMDAC initialization failed\n");
+ 		goto err_dac;
+ 	}
+ 
+@@ -982,7 +982,7 @@ static int __devinit ark_pci_probe(struct pci_dev *dev, const struct pci_device_
+ 	info->screen_base = pci_iomap(dev, 0, 0);
+ 	if (! info->screen_base) {
+ 		rc = -ENOMEM;
+-		dev_err(info->dev, "iomap for framebuffer failed\n");
++		dev_err(info->device, "iomap for framebuffer failed\n");
+ 		goto err_iomap;
+ 	}
+ 
+@@ -1004,19 +1004,19 @@ static int __devinit ark_pci_probe(struct pci_dev *dev, const struct pci_device_
+ 	rc = fb_find_mode(&(info->var), info, mode_option, NULL, 0, NULL, 8);
+ 	if (! ((rc == 1) || (rc == 2))) {
+ 		rc = -EINVAL;
+-		dev_err(info->dev, "mode %s not found\n", mode_option);
++		dev_err(info->device, "mode %s not found\n", mode_option);
+ 		goto err_find_mode;
+ 	}
+ 
+ 	rc = fb_alloc_cmap(&info->cmap, 256, 0);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot allocate colormap\n");
++		dev_err(info->device, "cannot allocate colormap\n");
+ 		goto err_alloc_cmap;
+ 	}
+ 
+ 	rc = register_framebuffer(info);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot register framebugger\n");
++		dev_err(info->device, "cannot register framebugger\n");
+ 		goto err_reg_fb;
+ 	}
+ 
+@@ -1090,7 +1090,7 @@ static int ark_pci_suspend (struct pci_dev* dev, pm_message_t state)
+ 	struct fb_info *info = pci_get_drvdata(dev);
+ 	struct arkfb_info *par = info->par;
+ 
+-	dev_info(info->dev, "suspend\n");
++	dev_info(info->device, "suspend\n");
+ 
+ 	acquire_console_sem();
+ 	mutex_lock(&(par->open_lock));
+@@ -1121,7 +1121,7 @@ static int ark_pci_resume (struct pci_dev* dev)
+ 	struct fb_info *info = pci_get_drvdata(dev);
+ 	struct arkfb_info *par = info->par;
+ 
+-	dev_info(info->dev, "resume\n");
++	dev_info(info->device, "resume\n");
+ 
+ 	acquire_console_sem();
+ 	mutex_lock(&(par->open_lock));
+diff --git a/drivers/video/aty/radeon_accel.c b/drivers/video/aty/radeon_accel.c
+index 3ca27cb..aa95f83 100644
+--- a/drivers/video/aty/radeon_accel.c
++++ b/drivers/video/aty/radeon_accel.c
+@@ -55,6 +55,10 @@ static void radeonfb_prim_fillrect(struct radeonfb_info *rinfo,
+ 	OUTREG(DP_WRITE_MSK, 0xffffffff);
+ 	OUTREG(DP_CNTL, (DST_X_LEFT_TO_RIGHT | DST_Y_TOP_TO_BOTTOM));
+ 
++	radeon_fifo_wait(2);
++	OUTREG(DSTCACHE_CTLSTAT, RB2D_DC_FLUSH_ALL);
++	OUTREG(WAIT_UNTIL, (WAIT_2D_IDLECLEAN | WAIT_DMA_GUI_IDLE));
++
+ 	radeon_fifo_wait(2);  
+ 	OUTREG(DST_Y_X, (region->dy << 16) | region->dx);
+ 	OUTREG(DST_WIDTH_HEIGHT, (region->width << 16) | region->height);
+@@ -116,6 +120,10 @@ static void radeonfb_prim_copyarea(struct radeonfb_info *rinfo,
+ 	OUTREG(DP_CNTL, (xdir>=0 ? DST_X_LEFT_TO_RIGHT : 0)
+ 			| (ydir>=0 ? DST_Y_TOP_TO_BOTTOM : 0));
+ 
++	radeon_fifo_wait(2);
++	OUTREG(DSTCACHE_CTLSTAT, RB2D_DC_FLUSH_ALL);
++	OUTREG(WAIT_UNTIL, (WAIT_2D_IDLECLEAN | WAIT_DMA_GUI_IDLE));
++
+ 	radeon_fifo_wait(3);
+ 	OUTREG(SRC_Y_X, (sy << 16) | sx);
+ 	OUTREG(DST_Y_X, (dy << 16) | dx);
+@@ -241,8 +249,8 @@ void radeonfb_engine_reset(struct radeonfb_info *rinfo)
+ 	INREG(HOST_PATH_CNTL);
+ 	OUTREG(HOST_PATH_CNTL, host_path_cntl);
+ 
+-	if (rinfo->family != CHIP_FAMILY_R300 ||
+-	    rinfo->family != CHIP_FAMILY_R350 ||
++	if (rinfo->family != CHIP_FAMILY_R300 &&
++	    rinfo->family != CHIP_FAMILY_R350 &&
+ 	    rinfo->family != CHIP_FAMILY_RV350)
+ 		OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset);
+ 
+diff --git a/drivers/video/matrox/matroxfb_maven.c b/drivers/video/matrox/matroxfb_maven.c
+index 89da27b..2ad06b0 100644
+--- a/drivers/video/matrox/matroxfb_maven.c
++++ b/drivers/video/matrox/matroxfb_maven.c
+@@ -1266,7 +1266,7 @@ static int maven_detect_client(struct i2c_adapter* adapter, int address, int kin
+ ERROR4:;
+ 	i2c_detach_client(new_client);
+ ERROR3:;
+-	kfree(new_client);
++	kfree(data);
+ ERROR0:;
+ 	return err;
+ }
+diff --git a/drivers/video/s3fb.c b/drivers/video/s3fb.c
+index 2972f11..8361bd0 100644
+--- a/drivers/video/s3fb.c
++++ b/drivers/video/s3fb.c
+@@ -903,13 +903,13 @@ static int __devinit s3_pci_probe(struct pci_dev *dev, const struct pci_device_i
+ 	/* Prepare PCI device */
+ 	rc = pci_enable_device(dev);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot enable PCI device\n");
++		dev_err(info->device, "cannot enable PCI device\n");
+ 		goto err_enable_device;
+ 	}
+ 
+ 	rc = pci_request_regions(dev, "s3fb");
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot reserve framebuffer region\n");
++		dev_err(info->device, "cannot reserve framebuffer region\n");
+ 		goto err_request_regions;
+ 	}
+ 
+@@ -921,7 +921,7 @@ static int __devinit s3_pci_probe(struct pci_dev *dev, const struct pci_device_i
+ 	info->screen_base = pci_iomap(dev, 0, 0);
+ 	if (! info->screen_base) {
+ 		rc = -ENOMEM;
+-		dev_err(info->dev, "iomap for framebuffer failed\n");
++		dev_err(info->device, "iomap for framebuffer failed\n");
+ 		goto err_iomap;
+ 	}
+ 
+@@ -965,19 +965,19 @@ static int __devinit s3_pci_probe(struct pci_dev *dev, const struct pci_device_i
+ 	rc = fb_find_mode(&(info->var), info, mode_option, NULL, 0, NULL, 8);
+ 	if (! ((rc == 1) || (rc == 2))) {
+ 		rc = -EINVAL;
+-		dev_err(info->dev, "mode %s not found\n", mode_option);
++		dev_err(info->device, "mode %s not found\n", mode_option);
+ 		goto err_find_mode;
+ 	}
+ 
+ 	rc = fb_alloc_cmap(&info->cmap, 256, 0);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot allocate colormap\n");
++		dev_err(info->device, "cannot allocate colormap\n");
+ 		goto err_alloc_cmap;
+ 	}
+ 
+ 	rc = register_framebuffer(info);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot register framebuffer\n");
++		dev_err(info->device, "cannot register framebuffer\n");
+ 		goto err_reg_fb;
+ 	}
+ 
+@@ -1053,7 +1053,7 @@ static int s3_pci_suspend(struct pci_dev* dev, pm_message_t state)
+ 	struct fb_info *info = pci_get_drvdata(dev);
+ 	struct s3fb_info *par = info->par;
+ 
+-	dev_info(info->dev, "suspend\n");
++	dev_info(info->device, "suspend\n");
+ 
+ 	acquire_console_sem();
+ 	mutex_lock(&(par->open_lock));
+@@ -1085,7 +1085,7 @@ static int s3_pci_resume(struct pci_dev* dev)
+ 	struct s3fb_info *par = info->par;
+ 	int err;
+ 
+-	dev_info(info->dev, "resume\n");
++	dev_info(info->device, "resume\n");
+ 
+ 	acquire_console_sem();
+ 	mutex_lock(&(par->open_lock));
+@@ -1102,7 +1102,7 @@ static int s3_pci_resume(struct pci_dev* dev)
+ 	if (err) {
+ 		mutex_unlock(&(par->open_lock));
+ 		release_console_sem();
+-		dev_err(info->dev, "error %d enabling device for resume\n", err);
++		dev_err(info->device, "error %d enabling device for resume\n", err);
+ 		return err;
+ 	}
+ 	pci_set_master(dev);
+diff --git a/drivers/video/vt8623fb.c b/drivers/video/vt8623fb.c
+index 536ab11..f5f282d 100644
+--- a/drivers/video/vt8623fb.c
++++ b/drivers/video/vt8623fb.c
+@@ -677,13 +677,13 @@ static int __devinit vt8623_pci_probe(struct pci_dev *dev, const struct pci_devi
+ 
+ 	rc = pci_enable_device(dev);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot enable PCI device\n");
++		dev_err(info->device, "cannot enable PCI device\n");
+ 		goto err_enable_device;
+ 	}
+ 
+ 	rc = pci_request_regions(dev, "vt8623fb");
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot reserve framebuffer region\n");
++		dev_err(info->device, "cannot reserve framebuffer region\n");
+ 		goto err_request_regions;
+ 	}
+ 
+@@ -696,14 +696,14 @@ static int __devinit vt8623_pci_probe(struct pci_dev *dev, const struct pci_devi
+ 	info->screen_base = pci_iomap(dev, 0, 0);
+ 	if (! info->screen_base) {
+ 		rc = -ENOMEM;
+-		dev_err(info->dev, "iomap for framebuffer failed\n");
++		dev_err(info->device, "iomap for framebuffer failed\n");
+ 		goto err_iomap_1;
+ 	}
+ 
+ 	par->mmio_base = pci_iomap(dev, 1, 0);
+ 	if (! par->mmio_base) {
+ 		rc = -ENOMEM;
+-		dev_err(info->dev, "iomap for MMIO failed\n");
++		dev_err(info->device, "iomap for MMIO failed\n");
+ 		goto err_iomap_2;
+ 	}
+ 
+@@ -714,7 +714,7 @@ static int __devinit vt8623_pci_probe(struct pci_dev *dev, const struct pci_devi
+ 	if ((16 <= memsize1) && (memsize1 <= 64) && (memsize1 == memsize2))
+ 		info->screen_size = memsize1 << 20;
+ 	else {
+-		dev_err(info->dev, "memory size detection failed (%x %x), suppose 16 MB\n", memsize1, memsize2);
++		dev_err(info->device, "memory size detection failed (%x %x), suppose 16 MB\n", memsize1, memsize2);
+ 		info->screen_size = 16 << 20;
+ 	}
+ 
+@@ -731,19 +731,19 @@ static int __devinit vt8623_pci_probe(struct pci_dev *dev, const struct pci_devi
+ 	rc = fb_find_mode(&(info->var), info, mode_option, NULL, 0, NULL, 8);
+ 	if (! ((rc == 1) || (rc == 2))) {
+ 		rc = -EINVAL;
+-		dev_err(info->dev, "mode %s not found\n", mode_option);
++		dev_err(info->device, "mode %s not found\n", mode_option);
+ 		goto err_find_mode;
+ 	}
+ 
+ 	rc = fb_alloc_cmap(&info->cmap, 256, 0);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot allocate colormap\n");
++		dev_err(info->device, "cannot allocate colormap\n");
+ 		goto err_alloc_cmap;
+ 	}
+ 
+ 	rc = register_framebuffer(info);
+ 	if (rc < 0) {
+-		dev_err(info->dev, "cannot register framebugger\n");
++		dev_err(info->device, "cannot register framebugger\n");
+ 		goto err_reg_fb;
+ 	}
+ 
+@@ -817,7 +817,7 @@ static int vt8623_pci_suspend(struct pci_dev* dev, pm_message_t state)
+ 	struct fb_info *info = pci_get_drvdata(dev);
+ 	struct vt8623fb_info *par = info->par;
+ 
+-	dev_info(info->dev, "suspend\n");
++	dev_info(info->device, "suspend\n");
+ 
+ 	acquire_console_sem();
+ 	mutex_lock(&(par->open_lock));
+@@ -848,7 +848,7 @@ static int vt8623_pci_resume(struct pci_dev* dev)
+ 	struct fb_info *info = pci_get_drvdata(dev);
+ 	struct vt8623fb_info *par = info->par;
+ 
+-	dev_info(info->dev, "resume\n");
++	dev_info(info->device, "resume\n");
+ 
+ 	acquire_console_sem();
+ 	mutex_lock(&(par->open_lock));
+diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
+index f58e41d..4276546 100644
+--- a/fs/cifs/asn1.c
++++ b/fs/cifs/asn1.c
+@@ -400,7 +400,7 @@ asn1_oid_decode(struct asn1_ctx *ctx,
+ 	size = eoc - ctx->pointer + 1;
+ 
+ 	/* first subid actually encodes first two subids */
+-	if (size < 2 || size > ULONG_MAX/sizeof(unsigned long))
++	if (size < 2 || size > UINT_MAX/sizeof(unsigned long))
+ 		return 0;
+ 
+ 	*oid = kmalloc(size * sizeof(unsigned long), GFP_ATOMIC);
+diff --git a/fs/cifs/cifs_spnego.c b/fs/cifs/cifs_spnego.c
+index 7013aaf..2434ab0 100644
+--- a/fs/cifs/cifs_spnego.c
++++ b/fs/cifs/cifs_spnego.c
+@@ -66,8 +66,8 @@ struct key_type cifs_spnego_key_type = {
+ 	.describe	= user_describe,
+ };
+ 
+-#define MAX_VER_STR_LEN   9 /* length of longest version string e.g.
+-				strlen(";ver=0xFF") */
++#define MAX_VER_STR_LEN   8 /* length of longest version string e.g.
++				strlen("ver=0xFF") */
+ #define MAX_MECH_STR_LEN 13 /* length of longest security mechanism name, eg
+ 			       in future could have strlen(";sec=ntlmsspi") */
+ #define MAX_IPV6_ADDR_LEN 42 /* eg FEDC:BA98:7654:3210:FEDC:BA98:7654:3210/60 */
+@@ -81,11 +81,15 @@ cifs_get_spnego_key(struct cifsSesInfo *sesInfo)
+ 	struct key *spnego_key;
+ 	const char *hostname = server->hostname;
+ 
+-	/* BB: come up with better scheme for determining length */
+-	/* length of fields (with semicolons): ver=0xyz ipv4= ipaddress host=
+-	   hostname sec=mechanism uid=0x uid */
+-	desc_len = MAX_VER_STR_LEN + 5 + MAX_IPV6_ADDR_LEN + 1 + 6 +
+-		  strlen(hostname) + MAX_MECH_STR_LEN + 8 + (sizeof(uid_t) * 2);
++	/* length of fields (with semicolons): ver=0xyz ip4=ipaddress
++	   host=hostname sec=mechanism uid=0xFF user=username */
++	desc_len = MAX_VER_STR_LEN +
++		   6 /* len of "host=" */ + strlen(hostname) +
++		   5 /* len of ";ipv4=" */ + MAX_IPV6_ADDR_LEN +
++		   MAX_MECH_STR_LEN +
++		   7 /* len of ";uid=0x" */ + (sizeof(uid_t) * 2) +
++		   6 /* len of ";user=" */ + strlen(sesInfo->userName) + 1;
++
+ 	spnego_key = ERR_PTR(-ENOMEM);
+ 	description = kzalloc(desc_len, GFP_KERNEL);
+ 	if (description == NULL)
+diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
+index 86b4d5f..6203609 100644
+--- a/fs/cifs/cifsfs.c
++++ b/fs/cifs/cifsfs.c
+@@ -175,6 +175,8 @@ out_no_root:
+ 	if (inode)
+ 		iput(inode);
+ 
++	cifs_umount(sb, cifs_sb);
++
+ out_mount_failed:
+ 	if (cifs_sb) {
+ #ifdef CONFIG_CIFS_DFS_UPCALL
+diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
+index 2e904bd..227c553 100644
+--- a/fs/cifs/inode.c
++++ b/fs/cifs/inode.c
+@@ -649,6 +649,7 @@ struct inode *cifs_iget(struct super_block *sb, unsigned long ino)
+ 		inode->i_fop = &simple_dir_operations;
+ 		inode->i_uid = cifs_sb->mnt_uid;
+ 		inode->i_gid = cifs_sb->mnt_gid;
++	} else if (rc) {
+ 		_FreeXid(xid);
+ 		iget_failed(inode);
+ 		return ERR_PTR(rc);
+diff --git a/include/asm-sparc64/futex.h b/include/asm-sparc64/futex.h
+index d837893..47f9583 100644
+--- a/include/asm-sparc64/futex.h
++++ b/include/asm-sparc64/futex.h
+@@ -59,7 +59,7 @@ static inline int futex_atomic_op_inuser(int encoded_op, int __user *uaddr)
+ 		__futex_cas_op("or\t%2, %4, %1", ret, oldval, uaddr, oparg);
+ 		break;
+ 	case FUTEX_OP_ANDN:
+-		__futex_cas_op("and\t%2, %4, %1", ret, oldval, uaddr, oparg);
++		__futex_cas_op("andn\t%2, %4, %1", ret, oldval, uaddr, oparg);
+ 		break;
+ 	case FUTEX_OP_XOR:
+ 		__futex_cas_op("xor\t%2, %4, %1", ret, oldval, uaddr, oparg);
+diff --git a/include/asm-sparc64/irq.h b/include/asm-sparc64/irq.h
+index 0bb9bf5..630eb4e 100644
+--- a/include/asm-sparc64/irq.h
++++ b/include/asm-sparc64/irq.h
+@@ -90,4 +90,8 @@ static inline unsigned long get_softint(void)
+ 	return retval;
+ }
+ 
++extern void *hardirq_stack[NR_CPUS];
++extern void *softirq_stack[NR_CPUS];
++#define __ARCH_HAS_DO_SOFTIRQ
++
+ #endif
+diff --git a/include/asm-sparc64/ptrace.h b/include/asm-sparc64/ptrace.h
+index b163da7..4f18096 100644
+--- a/include/asm-sparc64/ptrace.h
++++ b/include/asm-sparc64/ptrace.h
+@@ -134,9 +134,9 @@ struct global_reg_snapshot {
+ 	unsigned long		tnpc;
+ 	unsigned long		o7;
+ 	unsigned long		i7;
++	unsigned long		rpc;
+ 	struct thread_info	*thread;
+ 	unsigned long		pad1;
+-	unsigned long		pad2;
+ };
+ 
+ #define __ARCH_WANT_COMPAT_SYS_PTRACE
+@@ -314,9 +314,9 @@ extern void __show_regs(struct pt_regs *);
+ #define GR_SNAP_TNPC	0x10
+ #define GR_SNAP_O7	0x18
+ #define GR_SNAP_I7	0x20
+-#define GR_SNAP_THREAD	0x28
+-#define GR_SNAP_PAD1	0x30
+-#define GR_SNAP_PAD2	0x38
++#define GR_SNAP_RPC	0x28
++#define GR_SNAP_THREAD	0x30
++#define GR_SNAP_PAD1	0x38
+ 
+ #endif  /*  __KERNEL__  */
+ 
+diff --git a/include/asm-x86/i387.h b/include/asm-x86/i387.h
+index 37672f7..4b683af 100644
+--- a/include/asm-x86/i387.h
++++ b/include/asm-x86/i387.h
+@@ -13,6 +13,7 @@
+ #include <linux/sched.h>
+ #include <linux/kernel_stat.h>
+ #include <linux/regset.h>
++#include <linux/hardirq.h>
+ #include <asm/asm.h>
+ #include <asm/processor.h>
+ #include <asm/sigcontext.h>
+@@ -290,6 +291,37 @@ static inline void kernel_fpu_end(void)
+ 	preempt_enable();
+ }
+ 
++/*
++ * Some instructions like VIA's padlock instructions generate a spurious
++ * DNA fault but don't modify SSE registers. And these instructions
++ * get used from interrupt context aswell. To prevent these kernel instructions
++ * in interrupt context interact wrongly with other user/kernel fpu usage, we
++ * should use them only in the context of irq_ts_save/restore()
++ */
++static inline int irq_ts_save(void)
++{
++	/*
++	 * If we are in process context, we are ok to take a spurious DNA fault.
++	 * Otherwise, doing clts() in process context require pre-emption to
++	 * be disabled or some heavy lifting like kernel_fpu_begin()
++	 */
++	if (!in_interrupt())
++		return 0;
++
++	if (read_cr0() & X86_CR0_TS) {
++		clts();
++		return 1;
++	}
++
++	return 0;
++}
++
++static inline void irq_ts_restore(int TS_state)
++{
++	if (TS_state)
++		stts();
++}
++
+ #ifdef CONFIG_X86_64
+ 
+ static inline void save_init_fpu(struct task_struct *tsk)
+diff --git a/include/asm-x86/spinlock.h b/include/asm-x86/spinlock.h
+index 21e89bf..bf2a3d2 100644
+--- a/include/asm-x86/spinlock.h
++++ b/include/asm-x86/spinlock.h
+@@ -65,7 +65,7 @@ static inline int __raw_spin_is_contended(raw_spinlock_t *lock)
+ {
+ 	int tmp = ACCESS_ONCE(lock->slock);
+ 
+-	return (((tmp >> 8) & 0xff) - (tmp & 0xff)) > 1;
++	return (((tmp >> 8) - tmp) & 0xff) > 1;
+ }
+ 
+ static __always_inline void __raw_spin_lock(raw_spinlock_t *lock)
+@@ -129,7 +129,7 @@ static inline int __raw_spin_is_contended(raw_spinlock_t *lock)
+ {
+ 	int tmp = ACCESS_ONCE(lock->slock);
+ 
+-	return (((tmp >> 16) & 0xffff) - (tmp & 0xffff)) > 1;
++	return (((tmp >> 16) - tmp) & 0xffff) > 1;
+ }
+ 
+ static __always_inline void __raw_spin_lock(raw_spinlock_t *lock)
+diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h
+index 8f891cb..4a6583d 100644
+--- a/include/linux/usb/serial.h
++++ b/include/linux/usb/serial.h
+@@ -17,7 +17,8 @@
+ #include <linux/mutex.h>
+ 
+ #define SERIAL_TTY_MAJOR	188	/* Nice legal number now */
+-#define SERIAL_TTY_MINORS	255	/* loads of devices :) */
++#define SERIAL_TTY_MINORS	254	/* loads of devices :) */
++#define SERIAL_TTY_NO_MINOR	255	/* No minor was assigned */
+ 
+ /* The maximum number of ports one device can grab at once */
+ #define MAX_NUM_PORTS		8
+diff --git a/include/video/radeon.h b/include/video/radeon.h
+index 83467e1..099ffa5 100644
+--- a/include/video/radeon.h
++++ b/include/video/radeon.h
+@@ -527,8 +527,9 @@
+ 
+ 
+ /* DSTCACHE_CTLSTAT bit constants */
+-#define RB2D_DC_FLUSH				   (3 << 0)
+-#define RB2D_DC_FLUSH_ALL			   0xf
++#define RB2D_DC_FLUSH_2D			   (1 << 0)
++#define RB2D_DC_FREE_2D				   (1 << 2)
++#define RB2D_DC_FLUSH_ALL			   (RB2D_DC_FLUSH_2D | RB2D_DC_FREE_2D)
+ #define RB2D_DC_BUSY				   (1 << 31)
+ 
+ 
+@@ -741,6 +742,10 @@
+ #define SOFT_RESET_RB           		   (1 <<  6)
+ #define SOFT_RESET_HDP          		   (1 <<  7)
+ 
++/* WAIT_UNTIL bit constants */
++#define WAIT_DMA_GUI_IDLE			   (1 << 9)
++#define WAIT_2D_IDLECLEAN			   (1 << 16)
++
+ /* SURFACE_CNTL bit consants */
+ #define SURF_TRANSLATION_DIS			   (1 << 8)
+ #define NONSURF_AP0_SWP_16BPP			   (1 << 20)
+diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c
+index dbd8398..0ffaeb0 100644
+--- a/kernel/posix-timers.c
++++ b/kernel/posix-timers.c
+@@ -289,21 +289,29 @@ void do_schedule_next_timer(struct siginfo *info)
+ 		else
+ 			schedule_next_timer(timr);
+ 
+-		info->si_overrun = timr->it_overrun_last;
++		info->si_overrun += timr->it_overrun_last;
+ 	}
+ 
+ 	if (timr)
+ 		unlock_timer(timr, flags);
+ }
+ 
+-int posix_timer_event(struct k_itimer *timr,int si_private)
++int posix_timer_event(struct k_itimer *timr, int si_private)
+ {
+-	memset(&timr->sigq->info, 0, sizeof(siginfo_t));
++	/*
++	 * FIXME: if ->sigq is queued we can race with
++	 * dequeue_signal()->do_schedule_next_timer().
++	 *
++	 * If dequeue_signal() sees the "right" value of
++	 * si_sys_private it calls do_schedule_next_timer().
++	 * We re-queue ->sigq and drop ->it_lock().
++	 * do_schedule_next_timer() locks the timer
++	 * and re-schedules it while ->sigq is pending.
++	 * Not really bad, but not that we want.
++	 */
+ 	timr->sigq->info.si_sys_private = si_private;
+-	/* Send signal to the process that owns this timer.*/
+ 
+ 	timr->sigq->info.si_signo = timr->it_sigev_signo;
+-	timr->sigq->info.si_errno = 0;
+ 	timr->sigq->info.si_code = SI_TIMER;
+ 	timr->sigq->info.si_tid = timr->it_id;
+ 	timr->sigq->info.si_value = timr->it_sigev_value;
+@@ -435,6 +443,7 @@ static struct k_itimer * alloc_posix_timer(void)
+ 		kmem_cache_free(posix_timers_cache, tmr);
+ 		tmr = NULL;
+ 	}
++	memset(&tmr->sigq->info, 0, sizeof(siginfo_t));
+ 	return tmr;
+ }
+ 
+diff --git a/kernel/relay.c b/kernel/relay.c
+index 7de644c..f5a5a96 100644
+--- a/kernel/relay.c
++++ b/kernel/relay.c
+@@ -832,6 +832,10 @@ static void relay_file_read_consume(struct rchan_buf *buf,
+ 	size_t n_subbufs = buf->chan->n_subbufs;
+ 	size_t read_subbuf;
+ 
++	if (buf->subbufs_produced == buf->subbufs_consumed &&
++	    buf->offset == buf->bytes_consumed)
++		return;
++
+ 	if (buf->bytes_consumed + bytes_consumed > subbuf_size) {
+ 		relay_subbufs_consumed(buf->chan, buf->cpu, 1);
+ 		buf->bytes_consumed = 0;
+@@ -863,6 +867,8 @@ static int relay_file_read_avail(struct rchan_buf *buf, size_t read_pos)
+ 
+ 	relay_file_read_consume(buf, read_pos, 0);
+ 
++	consumed = buf->subbufs_consumed;
++
+ 	if (unlikely(buf->offset > subbuf_size)) {
+ 		if (produced == consumed)
+ 			return 0;
+@@ -881,8 +887,12 @@ static int relay_file_read_avail(struct rchan_buf *buf, size_t read_pos)
+ 	if (consumed > produced)
+ 		produced += n_subbufs * subbuf_size;
+ 
+-	if (consumed == produced)
++	if (consumed == produced) {
++		if (buf->offset == subbuf_size &&
++		    buf->subbufs_produced > buf->subbufs_consumed)
++			return 1;
+ 		return 0;
++	}
+ 
+ 	return 1;
+ }
+diff --git a/kernel/signal.c b/kernel/signal.c
+index 6c0958e..c5bf0c0 100644
+--- a/kernel/signal.c
++++ b/kernel/signal.c
+@@ -1319,6 +1319,7 @@ int send_sigqueue(struct sigqueue *q, struct task_struct *t, int group)
+ 		q->info.si_overrun++;
+ 		goto out;
+ 	}
++	q->info.si_overrun = 0;
+ 
+ 	signalfd_notify(t, sig);
+ 	pending = group ? &t->signal->shared_pending : &t->pending;
+diff --git a/lib/random32.c b/lib/random32.c
+index ca87d86..217d5c4 100644
+--- a/lib/random32.c
++++ b/lib/random32.c
+@@ -56,23 +56,12 @@ static u32 __random32(struct rnd_state *state)
+ 	return (state->s1 ^ state->s2 ^ state->s3);
+ }
+ 
+-static void __set_random32(struct rnd_state *state, unsigned long s)
++/*
++ * Handle minimum values for seeds
++ */
++static inline u32 __seed(u32 x, u32 m)
+ {
+-	if (s == 0)
+-		s = 1;      /* default seed is 1 */
+-
+-#define LCG(n) (69069 * n)
+-	state->s1 = LCG(s);
+-	state->s2 = LCG(state->s1);
+-	state->s3 = LCG(state->s2);
+-
+-	/* "warm it up" */
+-	__random32(state);
+-	__random32(state);
+-	__random32(state);
+-	__random32(state);
+-	__random32(state);
+-	__random32(state);
++	return (x < m) ? x + m : x;
+ }
+ 
+ /**
+@@ -107,7 +96,7 @@ void srandom32(u32 entropy)
+ 	 */
+ 	for_each_possible_cpu (i) {
+ 		struct rnd_state *state = &per_cpu(net_rand_state, i);
+-		__set_random32(state, state->s1 ^ entropy);
++		state->s1 = __seed(state->s1 ^ entropy, 1);
+ 	}
+ }
+ EXPORT_SYMBOL(srandom32);
+@@ -122,7 +111,19 @@ static int __init random32_init(void)
+ 
+ 	for_each_possible_cpu(i) {
+ 		struct rnd_state *state = &per_cpu(net_rand_state,i);
+-		__set_random32(state, i + jiffies);
++
++#define LCG(x)	((x) * 69069)	/* super-duper LCG */
++		state->s1 = __seed(LCG(i + jiffies), 1);
++		state->s2 = __seed(LCG(state->s1), 7);
++		state->s3 = __seed(LCG(state->s2), 15);
++
++		/* "warm it up" */
++		__random32(state);
++		__random32(state);
++		__random32(state);
++		__random32(state);
++		__random32(state);
++		__random32(state);
+ 	}
+ 	return 0;
+ }
+@@ -135,13 +136,18 @@ core_initcall(random32_init);
+ static int __init random32_reseed(void)
+ {
+ 	int i;
+-	unsigned long seed;
+ 
+ 	for_each_possible_cpu(i) {
+ 		struct rnd_state *state = &per_cpu(net_rand_state,i);
++		u32 seeds[3];
++
++		get_random_bytes(&seeds, sizeof(seeds));
++		state->s1 = __seed(seeds[0], 1);
++		state->s2 = __seed(seeds[1], 7);
++		state->s3 = __seed(seeds[2], 15);
+ 
+-		get_random_bytes(&seed, sizeof(seed));
+-		__set_random32(state, seed);
++		/* mix it in */
++		__random32(state);
+ 	}
+ 	return 0;
+ }
+diff --git a/mm/memory.c b/mm/memory.c
+index 2302d22..0755c52 100644
+--- a/mm/memory.c
++++ b/mm/memory.c
+@@ -2748,16 +2748,26 @@ int make_pages_present(unsigned long addr, unsigned long end)
+ 
+ 	vma = find_vma(current->mm, addr);
+ 	if (!vma)
+-		return -1;
++		return -ENOMEM;
+ 	write = (vma->vm_flags & VM_WRITE) != 0;
+ 	BUG_ON(addr >= end);
+ 	BUG_ON(end > vma->vm_end);
+ 	len = DIV_ROUND_UP(end, PAGE_SIZE) - addr/PAGE_SIZE;
+ 	ret = get_user_pages(current, current->mm, addr,
+ 			len, write, 0, NULL, NULL);
+-	if (ret < 0)
++	if (ret < 0) {
++		/*
++		   SUS require strange return value to mlock
++		    - invalid addr generate to ENOMEM.
++		    - out of memory should generate EAGAIN.
++		*/
++		if (ret == -EFAULT)
++			ret = -ENOMEM;
++		else if (ret == -ENOMEM)
++			ret = -EAGAIN;
+ 		return ret;
+-	return ret == len ? 0 : -1;
++	}
++	return ret == len ? 0 : -ENOMEM;
+ }
+ 
+ #if !defined(__HAVE_ARCH_GATE_AREA)
+diff --git a/mm/mlock.c b/mm/mlock.c
+index 7b26560..01fbe93 100644
+--- a/mm/mlock.c
++++ b/mm/mlock.c
+@@ -78,8 +78,6 @@ success:
+ 
+ 	mm->locked_vm -= pages;
+ out:
+-	if (ret == -ENOMEM)
+-		ret = -EAGAIN;
+ 	return ret;
+ }
+ 
+diff --git a/net/dccp/proto.c b/net/dccp/proto.c
+index 9dfe247..ebfd56b 100644
+--- a/net/dccp/proto.c
++++ b/net/dccp/proto.c
+@@ -476,6 +476,11 @@ static int dccp_setsockopt_change(struct sock *sk, int type,
+ 
+ 	if (copy_from_user(&opt, optval, sizeof(opt)))
+ 		return -EFAULT;
++	/*
++	 * rfc4340: 6.1. Change Options
++	 */
++	if (opt.dccpsf_len < 1)
++		return -EINVAL;
+ 
+ 	val = kmalloc(opt.dccpsf_len, GFP_KERNEL);
+ 	if (!val)
+diff --git a/net/ipv4/ipvs/ip_vs_est.c b/net/ipv4/ipvs/ip_vs_est.c
+index dfa0d71..f97ffc5 100644
+--- a/net/ipv4/ipvs/ip_vs_est.c
++++ b/net/ipv4/ipvs/ip_vs_est.c
+@@ -172,8 +172,11 @@ void ip_vs_kill_estimator(struct ip_vs_stats *stats)
+ 		kfree(est);
+ 		killed++;
+ 	}
+-	if (killed && est_list == NULL)
+-		del_timer_sync(&est_timer);
++	while (killed && !est_list && try_to_del_timer_sync(&est_timer) < 0) {
++		write_unlock_bh(&est_lock);
++		cpu_relax();
++		write_lock_bh(&est_lock);
++	}
+ 	write_unlock_bh(&est_lock);
+ }
+ 
+diff --git a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c
+index d182a2a..3872d4d 100644
+--- a/net/ipv4/syncookies.c
++++ b/net/ipv4/syncookies.c
+@@ -301,6 +301,7 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,
+ 	ireq->rmt_port		= th->source;
+ 	ireq->loc_addr		= ip_hdr(skb)->daddr;
+ 	ireq->rmt_addr		= ip_hdr(skb)->saddr;
++	ireq->ecn_ok		= 0;
+ 	ireq->snd_wscale	= tcp_opt.snd_wscale;
+ 	ireq->rcv_wscale	= tcp_opt.rcv_wscale;
+ 	ireq->sack_ok		= tcp_opt.sack_ok;
+diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
+index 48cdce9..4019770 100644
+--- a/net/ipv6/ip6_output.c
++++ b/net/ipv6/ip6_output.c
+@@ -231,6 +231,10 @@ int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl,
+ 	skb_reset_network_header(skb);
+ 	hdr = ipv6_hdr(skb);
+ 
++	/* Allow local fragmentation. */
++	if (ipfragok)
++		skb->local_df = 1;
++
+ 	/*
+ 	 *	Fill in the IPv6 header
+ 	 */
+diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c
+index 3ecc115..c8d84e3 100644
+--- a/net/ipv6/syncookies.c
++++ b/net/ipv6/syncookies.c
+@@ -223,6 +223,7 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb)
+ 
+ 	req->expires = 0UL;
+ 	req->retrans = 0;
++	ireq->ecn_ok		= 0;
+ 	ireq->snd_wscale	= tcp_opt.snd_wscale;
+ 	ireq->rcv_wscale	= tcp_opt.rcv_wscale;
+ 	ireq->sack_ok		= tcp_opt.sack_ok;
+diff --git a/sound/soc/fsl/fsl_dma.c b/sound/soc/fsl/fsl_dma.c
+index 78de716..9596331 100644
+--- a/sound/soc/fsl/fsl_dma.c
++++ b/sound/soc/fsl/fsl_dma.c
+@@ -132,12 +132,17 @@ struct fsl_dma_private {
+  * Since each link descriptor has a 32-bit byte count field, we set
+  * period_bytes_max to the largest 32-bit number.  We also have no maximum
+  * number of periods.
++ *
++ * Note that we specify SNDRV_PCM_INFO_JOINT_DUPLEX here, but only because a
++ * limitation in the SSI driver requires the sample rates for playback and
++ * capture to be the same.
+  */
+ static const struct snd_pcm_hardware fsl_dma_hardware = {
+ 
+ 	.info   		= SNDRV_PCM_INFO_INTERLEAVED |
+ 				  SNDRV_PCM_INFO_MMAP |
+-				  SNDRV_PCM_INFO_MMAP_VALID,
++				  SNDRV_PCM_INFO_MMAP_VALID |
++				  SNDRV_PCM_INFO_JOINT_DUPLEX,
+ 	.formats		= FSLDMA_PCM_FORMATS,
+ 	.rates  		= FSLDMA_PCM_RATES,
+ 	.rate_min       	= 5512,
+@@ -322,14 +327,75 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_codec_dai *dai,
+  * fsl_dma_open: open a new substream.
+  *
+  * Each substream has its own DMA buffer.
++ *
++ * ALSA divides the DMA buffer into N periods.  We create NUM_DMA_LINKS link
++ * descriptors that ping-pong from one period to the next.  For example, if
++ * there are six periods and two link descriptors, this is how they look
++ * before playback starts:
++ *
++ *      	   The last link descriptor
++ *   ____________  points back to the first
++ *  |   	 |
++ *  V   	 |
++ *  ___    ___   |
++ * |   |->|   |->|
++ * |___|  |___|
++ *   |      |
++ *   |      |
++ *   V      V
++ *  _________________________________________
++ * |      |      |      |      |      |      |  The DMA buffer is
++ * |      |      |      |      |      |      |    divided into 6 parts
++ * |______|______|______|______|______|______|
++ *
++ * and here's how they look after the first period is finished playing:
++ *
++ *   ____________
++ *  |   	 |
++ *  V   	 |
++ *  ___    ___   |
++ * |   |->|   |->|
++ * |___|  |___|
++ *   |      |
++ *   |______________
++ *          |       |
++ *          V       V
++ *  _________________________________________
++ * |      |      |      |      |      |      |
++ * |      |      |      |      |      |      |
++ * |______|______|______|______|______|______|
++ *
++ * The first link descriptor now points to the third period.  The DMA
++ * controller is currently playing the second period.  When it finishes, it
++ * will jump back to the first descriptor and play the third period.
++ *
++ * There are four reasons we do this:
++ *
++ * 1. The only way to get the DMA controller to automatically restart the
++ *    transfer when it gets to the end of the buffer is to use chaining
++ *    mode.  Basic direct mode doesn't offer that feature.
++ * 2. We need to receive an interrupt at the end of every period.  The DMA
++ *    controller can generate an interrupt at the end of every link transfer
++ *    (aka segment).  Making each period into a DMA segment will give us the
++ *    interrupts we need.
++ * 3. By creating only two link descriptors, regardless of the number of
++ *    periods, we do not need to reallocate the link descriptors if the
++ *    number of periods changes.
++ * 4. All of the audio data is still stored in a single, contiguous DMA
++ *    buffer, which is what ALSA expects.  We're just dividing it into
++ *    contiguous parts, and creating a link descriptor for each one.
+  */
+ static int fsl_dma_open(struct snd_pcm_substream *substream)
+ {
+ 	struct snd_pcm_runtime *runtime = substream->runtime;
+ 	struct fsl_dma_private *dma_private;
++	struct ccsr_dma_channel __iomem *dma_channel;
+ 	dma_addr_t ld_buf_phys;
++	u64 temp_link;  	/* Pointer to next link descriptor */
++	u32 mr;
+ 	unsigned int channel;
+ 	int ret = 0;
++	unsigned int i;
+ 
+ 	/*
+ 	 * Reject any DMA buffer whose size is not a multiple of the period
+@@ -390,68 +456,74 @@ static int fsl_dma_open(struct snd_pcm_substream *substream)
+ 	snd_soc_set_runtime_hwparams(substream, &fsl_dma_hardware);
+ 	runtime->private_data = dma_private;
+ 
++	/* Program the fixed DMA controller parameters */
++
++	dma_channel = dma_private->dma_channel;
++
++	temp_link = dma_private->ld_buf_phys +
++		sizeof(struct fsl_dma_link_descriptor);
++
++	for (i = 0; i < NUM_DMA_LINKS; i++) {
++		struct fsl_dma_link_descriptor *link = &dma_private->link[i];
++
++		link->source_attr = cpu_to_be32(CCSR_DMA_ATR_SNOOP);
++		link->dest_attr = cpu_to_be32(CCSR_DMA_ATR_SNOOP);
++		link->next = cpu_to_be64(temp_link);
++
++		temp_link += sizeof(struct fsl_dma_link_descriptor);
++	}
++	/* The last link descriptor points to the first */
++	dma_private->link[i - 1].next = cpu_to_be64(dma_private->ld_buf_phys);
++
++	/* Tell the DMA controller where the first link descriptor is */
++	out_be32(&dma_channel->clndar,
++		CCSR_DMA_CLNDAR_ADDR(dma_private->ld_buf_phys));
++	out_be32(&dma_channel->eclndar,
++		CCSR_DMA_ECLNDAR_ADDR(dma_private->ld_buf_phys));
++
++	/* The manual says the BCR must be clear before enabling EMP */
++	out_be32(&dma_channel->bcr, 0);
++
++	/*
++	 * Program the mode register for interrupts, external master control,
++	 * and source/destination hold.  Also clear the Channel Abort bit.
++	 */
++	mr = in_be32(&dma_channel->mr) &
++		~(CCSR_DMA_MR_CA | CCSR_DMA_MR_DAHE | CCSR_DMA_MR_SAHE);
++
++	/*
++	 * We want External Master Start and External Master Pause enabled,
++	 * because the SSI is controlling the DMA controller.  We want the DMA
++	 * controller to be set up in advance, and then we signal only the SSI
++	 * to start transferring.
++	 *
++	 * We want End-Of-Segment Interrupts enabled, because this will generate
++	 * an interrupt at the end of each segment (each link descriptor
++	 * represents one segment).  Each DMA segment is the same thing as an
++	 * ALSA period, so this is how we get an interrupt at the end of every
++	 * period.
++	 *
++	 * We want Error Interrupt enabled, so that we can get an error if
++	 * the DMA controller is mis-programmed somehow.
++	 */
++	mr |= CCSR_DMA_MR_EOSIE | CCSR_DMA_MR_EIE | CCSR_DMA_MR_EMP_EN |
++		CCSR_DMA_MR_EMS_EN;
++
++	/* For playback, we want the destination address to be held.  For
++	   capture, set the source address to be held. */
++	mr |= (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ?
++		CCSR_DMA_MR_DAHE : CCSR_DMA_MR_SAHE;
++
++	out_be32(&dma_channel->mr, mr);
++
+ 	return 0;
+ }
+ 
+ /**
+- * fsl_dma_hw_params: allocate the DMA buffer and the DMA link descriptors.
++ * fsl_dma_hw_params: continue initializing the DMA links
+  *
+- * ALSA divides the DMA buffer into N periods.  We create NUM_DMA_LINKS link
+- * descriptors that ping-pong from one period to the next.  For example, if
+- * there are six periods and two link descriptors, this is how they look
+- * before playback starts:
+- *
+- *      	   The last link descriptor
+- *   ____________  points back to the first
+- *  |   	 |
+- *  V   	 |
+- *  ___    ___   |
+- * |   |->|   |->|
+- * |___|  |___|
+- *   |      |
+- *   |      |
+- *   V      V
+- *  _________________________________________
+- * |      |      |      |      |      |      |  The DMA buffer is
+- * |      |      |      |      |      |      |    divided into 6 parts
+- * |______|______|______|______|______|______|
+- *
+- * and here's how they look after the first period is finished playing:
+- *
+- *   ____________
+- *  |   	 |
+- *  V   	 |
+- *  ___    ___   |
+- * |   |->|   |->|
+- * |___|  |___|
+- *   |      |
+- *   |______________
+- *          |       |
+- *          V       V
+- *  _________________________________________
+- * |      |      |      |      |      |      |
+- * |      |      |      |      |      |      |
+- * |______|______|______|______|______|______|
+- *
+- * The first link descriptor now points to the third period.  The DMA
+- * controller is currently playing the second period.  When it finishes, it
+- * will jump back to the first descriptor and play the third period.
+- *
+- * There are four reasons we do this:
+- *
+- * 1. The only way to get the DMA controller to automatically restart the
+- *    transfer when it gets to the end of the buffer is to use chaining
+- *    mode.  Basic direct mode doesn't offer that feature.
+- * 2. We need to receive an interrupt at the end of every period.  The DMA
+- *    controller can generate an interrupt at the end of every link transfer
+- *    (aka segment).  Making each period into a DMA segment will give us the
+- *    interrupts we need.
+- * 3. By creating only two link descriptors, regardless of the number of
+- *    periods, we do not need to reallocate the link descriptors if the
+- *    number of periods changes.
+- * 4. All of the audio data is still stored in a single, contiguous DMA
+- *    buffer, which is what ALSA expects.  We're just dividing it into
+- *    contiguous parts, and creating a link descriptor for each one.
++ * This function obtains hardware parameters about the opened stream and
++ * programs the DMA controller accordingly.
+  *
+  * Note that due to a quirk of the SSI's STX register, the target address
+  * for the DMA operations depends on the sample size.  So we don't program
+@@ -463,11 +535,8 @@ static int fsl_dma_hw_params(struct snd_pcm_substream *substream,
+ {
+ 	struct snd_pcm_runtime *runtime = substream->runtime;
+ 	struct fsl_dma_private *dma_private = runtime->private_data;
+-	struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel;
+ 
+ 	dma_addr_t temp_addr;   /* Pointer to next period */
+-	u64 temp_link;  	/* Pointer to next link descriptor */
+-	u32 mr; 		/* Temporary variable for MR register */
+ 
+ 	unsigned int i;
+ 
+@@ -485,8 +554,6 @@ static int fsl_dma_hw_params(struct snd_pcm_substream *substream,
+ 		dma_private->dma_buf_next = dma_private->dma_buf_phys;
+ 
+ 	/*
+-	 * Initialize each link descriptor.
+-	 *
+ 	 * The actual address in STX0 (destination for playback, source for
+ 	 * capture) is based on the sample size, but we don't know the sample
+ 	 * size in this function, so we'll have to adjust that later.  See
+@@ -502,16 +569,11 @@ static int fsl_dma_hw_params(struct snd_pcm_substream *substream,
+ 	 * buffer itself.
+ 	 */
+ 	temp_addr = substream->dma_buffer.addr;
+-	temp_link = dma_private->ld_buf_phys +
+-		sizeof(struct fsl_dma_link_descriptor);
+ 
+ 	for (i = 0; i < NUM_DMA_LINKS; i++) {
+ 		struct fsl_dma_link_descriptor *link = &dma_private->link[i];
+ 
+ 		link->count = cpu_to_be32(period_size);
+-		link->source_attr = cpu_to_be32(CCSR_DMA_ATR_SNOOP);
+-		link->dest_attr = cpu_to_be32(CCSR_DMA_ATR_SNOOP);
+-		link->next = cpu_to_be64(temp_link);
+ 
+ 		if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+ 			link->source_addr = cpu_to_be32(temp_addr);
+@@ -519,51 +581,7 @@ static int fsl_dma_hw_params(struct snd_pcm_substream *substream,
+ 			link->dest_addr = cpu_to_be32(temp_addr);
+ 
+ 		temp_addr += period_size;
+-		temp_link += sizeof(struct fsl_dma_link_descriptor);
+ 	}
+-	/* The last link descriptor points to the first */
+-	dma_private->link[i - 1].next = cpu_to_be64(dma_private->ld_buf_phys);
+-
+-	/* Tell the DMA controller where the first link descriptor is */
+-	out_be32(&dma_channel->clndar,
+-		CCSR_DMA_CLNDAR_ADDR(dma_private->ld_buf_phys));
+-	out_be32(&dma_channel->eclndar,
+-		CCSR_DMA_ECLNDAR_ADDR(dma_private->ld_buf_phys));
+-
+-	/* The manual says the BCR must be clear before enabling EMP */
+-	out_be32(&dma_channel->bcr, 0);
+-
+-	/*
+-	 * Program the mode register for interrupts, external master control,
+-	 * and source/destination hold.  Also clear the Channel Abort bit.
+-	 */
+-	mr = in_be32(&dma_channel->mr) &
+-		~(CCSR_DMA_MR_CA | CCSR_DMA_MR_DAHE | CCSR_DMA_MR_SAHE);
+-
+-	/*
+-	 * We want External Master Start and External Master Pause enabled,
+-	 * because the SSI is controlling the DMA controller.  We want the DMA
+-	 * controller to be set up in advance, and then we signal only the SSI
+-	 * to start transfering.
+-	 *
+-	 * We want End-Of-Segment Interrupts enabled, because this will generate
+-	 * an interrupt at the end of each segment (each link descriptor
+-	 * represents one segment).  Each DMA segment is the same thing as an
+-	 * ALSA period, so this is how we get an interrupt at the end of every
+-	 * period.
+-	 *
+-	 * We want Error Interrupt enabled, so that we can get an error if
+-	 * the DMA controller is mis-programmed somehow.
+-	 */
+-	mr |= CCSR_DMA_MR_EOSIE | CCSR_DMA_MR_EIE | CCSR_DMA_MR_EMP_EN |
+-		CCSR_DMA_MR_EMS_EN;
+-
+-	/* For playback, we want the destination address to be held.  For
+-	   capture, set the source address to be held. */
+-	mr |= (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ?
+-		CCSR_DMA_MR_DAHE : CCSR_DMA_MR_SAHE;
+-
+-	out_be32(&dma_channel->mr, mr);
+ 
+ 	return 0;
+ }
+diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
+index f588545..94f8567 100644
+--- a/sound/soc/fsl/fsl_ssi.c
++++ b/sound/soc/fsl/fsl_ssi.c
+@@ -67,6 +67,8 @@
+  * @ssi: pointer to the SSI's registers
+  * @ssi_phys: physical address of the SSI registers
+  * @irq: IRQ of this SSI
++ * @first_stream: pointer to the stream that was opened first
++ * @second_stream: pointer to second stream
+  * @dev: struct device pointer
+  * @playback: the number of playback streams opened
+  * @capture: the number of capture streams opened
+@@ -79,6 +81,8 @@ struct fsl_ssi_private {
+ 	struct ccsr_ssi __iomem *ssi;
+ 	dma_addr_t ssi_phys;
+ 	unsigned int irq;
++	struct snd_pcm_substream *first_stream;
++	struct snd_pcm_substream *second_stream;
+ 	struct device *dev;
+ 	unsigned int playback;
+ 	unsigned int capture;
+@@ -342,6 +346,49 @@ static int fsl_ssi_startup(struct snd_pcm_substream *substream)
+ 		 */
+ 	}
+ 
++	if (!ssi_private->first_stream)
++		ssi_private->first_stream = substream;
++	else {
++		/* This is the second stream open, so we need to impose sample
++		 * rate and maybe sample size constraints.  Note that this can
++		 * cause a race condition if the second stream is opened before
++		 * the first stream is fully initialized.
++		 *
++		 * We provide some protection by checking to make sure the first
++		 * stream is initialized, but it's not perfect.  ALSA sometimes
++		 * re-initializes the driver with a different sample rate or
++		 * size.  If the second stream is opened before the first stream
++		 * has received its final parameters, then the second stream may
++		 * be constrained to the wrong sample rate or size.
++		 *
++		 * FIXME: This code does not handle opening and closing streams
++		 * repeatedly.  If you open two streams and then close the first
++		 * one, you may not be able to open another stream until you
++		 * close the second one as well.
++		 */
++		struct snd_pcm_runtime *first_runtime =
++			ssi_private->first_stream->runtime;
++
++		if (!first_runtime->rate || !first_runtime->sample_bits) {
++			dev_err(substream->pcm->card->dev,
++				"set sample rate and size in %s stream first\n",
++				substream->stream == SNDRV_PCM_STREAM_PLAYBACK
++				? "capture" : "playback");
++			return -EAGAIN;
++		}
++
++		snd_pcm_hw_constraint_minmax(substream->runtime,
++			SNDRV_PCM_HW_PARAM_RATE,
++			first_runtime->rate, first_runtime->rate);
++
++		snd_pcm_hw_constraint_minmax(substream->runtime,
++			SNDRV_PCM_HW_PARAM_SAMPLE_BITS,
++			first_runtime->sample_bits,
++			first_runtime->sample_bits);
++
++		ssi_private->second_stream = substream;
++	}
++
+ 	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+ 		ssi_private->playback++;
+ 
+@@ -371,18 +418,16 @@ static int fsl_ssi_prepare(struct snd_pcm_substream *substream)
+ 	struct fsl_ssi_private *ssi_private = rtd->dai->cpu_dai->private_data;
+ 
+ 	struct ccsr_ssi __iomem *ssi = ssi_private->ssi;
+-	u32 wl;
+ 
+-	wl = CCSR_SSI_SxCCR_WL(snd_pcm_format_width(runtime->format));
++	if (substream == ssi_private->first_stream) {
++		u32 wl;
+ 
+-	clrbits32(&ssi->scr, CCSR_SSI_SCR_SSIEN);
++		/* The SSI should always be disabled at this points (SSIEN=0) */
++		wl = CCSR_SSI_SxCCR_WL(snd_pcm_format_width(runtime->format));
+ 
+-	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
++		/* In synchronous mode, the SSI uses STCCR for capture */
+ 		clrsetbits_be32(&ssi->stccr, CCSR_SSI_SxCCR_WL_MASK, wl);
+-	else
+-		clrsetbits_be32(&ssi->srccr, CCSR_SSI_SxCCR_WL_MASK, wl);
+-
+-	setbits32(&ssi->scr, CCSR_SSI_SCR_SSIEN);
++	}
+ 
+ 	return 0;
+ }
+@@ -407,9 +452,13 @@ static int fsl_ssi_trigger(struct snd_pcm_substream *substream, int cmd)
+ 	case SNDRV_PCM_TRIGGER_RESUME:
+ 	case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
+ 		if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
+-			setbits32(&ssi->scr, CCSR_SSI_SCR_TE);
++			clrbits32(&ssi->scr, CCSR_SSI_SCR_SSIEN);
++			setbits32(&ssi->scr,
++				CCSR_SSI_SCR_SSIEN | CCSR_SSI_SCR_TE);
+ 		} else {
+-			setbits32(&ssi->scr, CCSR_SSI_SCR_RE);
++			clrbits32(&ssi->scr, CCSR_SSI_SCR_SSIEN);
++			setbits32(&ssi->scr,
++				CCSR_SSI_SCR_SSIEN | CCSR_SSI_SCR_RE);
+ 
+ 			/*
+ 			 * I think we need this delay to allow time for the SSI
+@@ -452,6 +501,11 @@ static void fsl_ssi_shutdown(struct snd_pcm_substream *substream)
+ 	if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
+ 		ssi_private->capture--;
+ 
++	if (ssi_private->first_stream == substream)
++		ssi_private->first_stream = ssi_private->second_stream;
++
++	ssi_private->second_stream = NULL;
++
+ 	/*
+ 	 * If this is the last active substream, disable the SSI and release
+ 	 * the IRQ.
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.4.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.4.patch
@@ -0,0 +1,1847 @@
+diff --git a/Makefile b/Makefile
+index e537896..63c96c6 100644
+diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
+index e289a98..387d3f6 100644
+--- a/arch/sparc64/mm/init.c
++++ b/arch/sparc64/mm/init.c
+@@ -842,6 +842,9 @@ static unsigned long nid_range(unsigned long start, unsigned long end,
+ 		start += PAGE_SIZE;
+ 	}
+ 
++	if (start > end)
++		start = end;
++
+ 	return start;
+ }
+ #else
+@@ -1769,8 +1772,7 @@ void __init paging_init(void)
+ 
+ 	find_ramdisk(phys_base);
+ 
+-	if (cmdline_memory_size)
+-		lmb_enforce_memory_limit(phys_base + cmdline_memory_size);
++	lmb_enforce_memory_limit(cmdline_memory_size);
+ 
+ 	lmb_analyze();
+ 	lmb_dump_all();
+@@ -2007,6 +2009,15 @@ void __init mem_init(void)
+ void free_initmem(void)
+ {
+ 	unsigned long addr, initend;
++	int do_free = 1;
++
++	/* If the physical memory maps were trimmed by kernel command
++	 * line options, don't even try freeing this initmem stuff up.
++	 * The kernel image could have been in the trimmed out region
++	 * and if so the freeing below will free invalid page structs.
++	 */
++	if (cmdline_memory_size)
++		do_free = 0;
+ 
+ 	/*
+ 	 * The init section is aligned to 8k in vmlinux.lds. Page align for >8k pagesizes.
+@@ -2021,13 +2032,16 @@ void free_initmem(void)
+ 			((unsigned long) __va(kern_base)) -
+ 			((unsigned long) KERNBASE));
+ 		memset((void *)addr, POISON_FREE_INITMEM, PAGE_SIZE);
+-		p = virt_to_page(page);
+ 
+-		ClearPageReserved(p);
+-		init_page_count(p);
+-		__free_page(p);
+-		num_physpages++;
+-		totalram_pages++;
++		if (do_free) {
++			p = virt_to_page(page);
++
++			ClearPageReserved(p);
++			init_page_count(p);
++			__free_page(p);
++			num_physpages++;
++			totalram_pages++;
++		}
+ 	}
+ }
+ 
+diff --git a/arch/x86/kernel/cpu/cyrix.c b/arch/x86/kernel/cpu/cyrix.c
+index 3fd7a67..e710a21 100644
+--- a/arch/x86/kernel/cpu/cyrix.c
++++ b/arch/x86/kernel/cpu/cyrix.c
+@@ -134,23 +134,6 @@ static void __cpuinit set_cx86_memwb(void)
+ 	setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x14);
+ }
+ 
+-static void __cpuinit set_cx86_inc(void)
+-{
+-	unsigned char ccr3;
+-
+-	printk(KERN_INFO "Enable Incrementor on Cyrix/NSC processor.\n");
+-
+-	ccr3 = getCx86(CX86_CCR3);
+-	setCx86(CX86_CCR3, (ccr3 & 0x0f) | 0x10); /* enable MAPEN */
+-	/* PCR1 -- Performance Control */
+-	/* Incrementor on, whatever that is */
+-	setCx86(CX86_PCR1, getCx86(CX86_PCR1) | 0x02);
+-	/* PCR0 -- Performance Control */
+-	/* Incrementor Margin 10 */
+-	setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x04);
+-	setCx86(CX86_CCR3, ccr3);	/* disable MAPEN */
+-}
+-
+ /*
+  *	Configure later MediaGX and/or Geode processor.
+  */
+@@ -174,7 +157,6 @@ static void __cpuinit geode_configure(void)
+ 
+ 	set_cx86_memwb();
+ 	set_cx86_reorder();
+-	set_cx86_inc();
+ 
+ 	local_irq_restore(flags);
+ }
+diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
+index 75b14b1..745b974 100644
+--- a/arch/x86/kernel/cpu/mtrr/generic.c
++++ b/arch/x86/kernel/cpu/mtrr/generic.c
+@@ -365,6 +365,7 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base,
+ 			     unsigned long *size, mtrr_type *type)
+ {
+ 	unsigned int mask_lo, mask_hi, base_lo, base_hi;
++	unsigned int tmp, hi;
+ 
+ 	rdmsr(MTRRphysMask_MSR(reg), mask_lo, mask_hi);
+ 	if ((mask_lo & 0x800) == 0) {
+@@ -378,8 +379,23 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base,
+ 	rdmsr(MTRRphysBase_MSR(reg), base_lo, base_hi);
+ 
+ 	/* Work out the shifted address mask. */
+-	mask_lo = size_or_mask | mask_hi << (32 - PAGE_SHIFT)
+-	    | mask_lo >> PAGE_SHIFT;
++	tmp = mask_hi << (32 - PAGE_SHIFT) | mask_lo >> PAGE_SHIFT;
++	mask_lo = size_or_mask | tmp;
++	/* Expand tmp with high bits to all 1s*/
++	hi = fls(tmp);
++	if (hi > 0) {
++		tmp |= ~((1<<(hi - 1)) - 1);
++
++		if (tmp != mask_lo) {
++			static int once = 1;
++
++			if (once) {
++				printk(KERN_INFO "mtrr: your BIOS has set up an incorrect mask, fixing it up.\n");
++				once = 0;
++			}
++			mask_lo = tmp;
++		}
++	}
+ 
+ 	/* This works correctly if size is a power of two, i.e. a
+ 	   contiguous range. */
+diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
+index 934c7b6..d333a74 100644
+--- a/arch/x86/kvm/paging_tmpl.h
++++ b/arch/x86/kvm/paging_tmpl.h
+@@ -343,7 +343,7 @@ static u64 *FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr,
+ 		shadow_addr = __pa(shadow_page->spt);
+ 		shadow_pte = shadow_addr | PT_PRESENT_MASK | PT_ACCESSED_MASK
+ 			| PT_WRITABLE_MASK | PT_USER_MASK;
+-		*shadow_ent = shadow_pte;
++		set_shadow_pte(shadow_ent, shadow_pte);
+ 	}
+ 
+ 	mmu_set_spte(vcpu, shadow_ent, access, walker->pte_access & access,
+diff --git a/crypto/authenc.c b/crypto/authenc.c
+index 4b22676..fd9f06c 100644
+--- a/crypto/authenc.c
++++ b/crypto/authenc.c
+@@ -174,8 +174,9 @@ static int crypto_authenc_genicv(struct aead_request *req, u8 *iv,
+ static void crypto_authenc_encrypt_done(struct crypto_async_request *req,
+ 					int err)
+ {
++	struct aead_request *areq = req->data;
++
+ 	if (!err) {
+-		struct aead_request *areq = req->data;
+ 		struct crypto_aead *authenc = crypto_aead_reqtfm(areq);
+ 		struct crypto_authenc_ctx *ctx = crypto_aead_ctx(authenc);
+ 		struct ablkcipher_request *abreq = aead_request_ctx(areq);
+@@ -185,7 +186,7 @@ static void crypto_authenc_encrypt_done(struct crypto_async_request *req,
+ 		err = crypto_authenc_genicv(areq, iv, 0);
+ 	}
+ 
+-	aead_request_complete(req->data, err);
++	aead_request_complete(areq, err);
+ }
+ 
+ static int crypto_authenc_encrypt(struct aead_request *req)
+@@ -216,14 +217,15 @@ static int crypto_authenc_encrypt(struct aead_request *req)
+ static void crypto_authenc_givencrypt_done(struct crypto_async_request *req,
+ 					   int err)
+ {
++	struct aead_request *areq = req->data;
++
+ 	if (!err) {
+-		struct aead_request *areq = req->data;
+ 		struct skcipher_givcrypt_request *greq = aead_request_ctx(areq);
+ 
+ 		err = crypto_authenc_genicv(areq, greq->giv, 0);
+ 	}
+ 
+-	aead_request_complete(req->data, err);
++	aead_request_complete(areq, err);
+ }
+ 
+ static int crypto_authenc_givencrypt(struct aead_givcrypt_request *req)
+diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
+index ad169ff..80c655f 100644
+--- a/drivers/ata/sata_mv.c
++++ b/drivers/ata/sata_mv.c
+@@ -1134,30 +1134,16 @@ static int mv_qc_defer(struct ata_queued_cmd *qc)
+ 	if (ap->nr_active_links == 0)
+ 		return 0;
+ 
+-	if (pp->pp_flags & MV_PP_FLAG_EDMA_EN) {
+-		/*
+-		 * The port is operating in host queuing mode (EDMA).
+-		 * It can accomodate a new qc if the qc protocol
+-		 * is compatible with the current host queue mode.
+-		 */
+-		if (pp->pp_flags & MV_PP_FLAG_NCQ_EN) {
+-			/*
+-			 * The host queue (EDMA) is in NCQ mode.
+-			 * If the new qc is also an NCQ command,
+-			 * then allow the new qc.
+-			 */
+-			if (qc->tf.protocol == ATA_PROT_NCQ)
+-				return 0;
+-		} else {
+-			/*
+-			 * The host queue (EDMA) is in non-NCQ, DMA mode.
+-			 * If the new qc is also a non-NCQ, DMA command,
+-			 * then allow the new qc.
+-			 */
+-			if (qc->tf.protocol == ATA_PROT_DMA)
+-				return 0;
+-		}
+-	}
++	/*
++	 * The port is operating in host queuing mode (EDMA) with NCQ
++	 * enabled, allow multiple NCQ commands.  EDMA also allows
++	 * queueing multiple DMA commands but libata core currently
++	 * doesn't allow it.
++	 */
++	if ((pp->pp_flags & MV_PP_FLAG_EDMA_EN) &&
++	    (pp->pp_flags & MV_PP_FLAG_NCQ_EN) && ata_is_ncq(qc->tf.protocol))
++		return 0;
++
+ 	return ATA_DEFER_PORT;
+ }
+ 
+diff --git a/drivers/char/random.c b/drivers/char/random.c
+index 0cf98bd..71320d2 100644
+--- a/drivers/char/random.c
++++ b/drivers/char/random.c
+@@ -406,7 +406,7 @@ struct entropy_store {
+ 	/* read-write data: */
+ 	spinlock_t lock;
+ 	unsigned add_ptr;
+-	int entropy_count;
++	int entropy_count;	/* Must at no time exceed ->POOLBITS! */
+ 	int input_rotate;
+ };
+ 
+@@ -519,6 +519,7 @@ static void mix_pool_bytes(struct entropy_store *r, const void *in, int bytes)
+ static void credit_entropy_bits(struct entropy_store *r, int nbits)
+ {
+ 	unsigned long flags;
++	int entropy_count;
+ 
+ 	if (!nbits)
+ 		return;
+@@ -526,20 +527,20 @@ static void credit_entropy_bits(struct entropy_store *r, int nbits)
+ 	spin_lock_irqsave(&r->lock, flags);
+ 
+ 	DEBUG_ENT("added %d entropy credits to %s\n", nbits, r->name);
+-	r->entropy_count += nbits;
+-	if (r->entropy_count < 0) {
++	entropy_count = r->entropy_count;
++	entropy_count += nbits;
++	if (entropy_count < 0) {
+ 		DEBUG_ENT("negative entropy/overflow\n");
+-		r->entropy_count = 0;
+-	} else if (r->entropy_count > r->poolinfo->POOLBITS)
+-		r->entropy_count = r->poolinfo->POOLBITS;
++		entropy_count = 0;
++	} else if (entropy_count > r->poolinfo->POOLBITS)
++		entropy_count = r->poolinfo->POOLBITS;
++	r->entropy_count = entropy_count;
+ 
+ 	/* should we wake readers? */
+-	if (r == &input_pool &&
+-	    r->entropy_count >= random_read_wakeup_thresh) {
++	if (r == &input_pool && entropy_count >= random_read_wakeup_thresh) {
+ 		wake_up_interruptible(&random_read_wait);
+ 		kill_fasync(&fasync, SIGIO, POLL_IN);
+ 	}
+-
+ 	spin_unlock_irqrestore(&r->lock, flags);
+ }
+ 
+diff --git a/drivers/misc/eeepc-laptop.c b/drivers/misc/eeepc-laptop.c
+index 6d72760..3f3abf9 100644
+--- a/drivers/misc/eeepc-laptop.c
++++ b/drivers/misc/eeepc-laptop.c
+@@ -553,9 +553,9 @@ static void eeepc_hwmon_exit(void)
+ 	hwmon = eeepc_hwmon_device;
+ 	if (!hwmon)
+ 		return ;
+-	hwmon_device_unregister(hwmon);
+ 	sysfs_remove_group(&hwmon->kobj,
+ 			   &hwmon_attribute_group);
++	hwmon_device_unregister(hwmon);
+ 	eeepc_hwmon_device = NULL;
+ }
+ 
+diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
+index 3c798ae..8fe0a49 100644
+--- a/drivers/net/atlx/atl1.c
++++ b/drivers/net/atlx/atl1.c
+@@ -3019,7 +3019,6 @@ static int __devinit atl1_probe(struct pci_dev *pdev,
+ 	netdev->features = NETIF_F_HW_CSUM;
+ 	netdev->features |= NETIF_F_SG;
+ 	netdev->features |= (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX);
+-	netdev->features |= NETIF_F_TSO;
+ 	netdev->features |= NETIF_F_LLTX;
+ 
+ 	/*
+diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
+index 20d4fe9..1652f10 100644
+--- a/drivers/net/forcedeth.c
++++ b/drivers/net/forcedeth.c
+@@ -5420,7 +5420,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
+ 	if (id->driver_data & DEV_HAS_CHECKSUM) {
+ 		np->rx_csum = 1;
+ 		np->txrxctl_bits |= NVREG_TXRXCTL_RXCHECK;
+-		dev->features |= NETIF_F_HW_CSUM | NETIF_F_SG;
++		dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG;
+ 		dev->features |= NETIF_F_TSO;
+ 	}
+ 
+@@ -5728,7 +5728,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
+ 
+ 	dev_printk(KERN_INFO, &pci_dev->dev, "%s%s%s%s%s%s%s%s%s%sdesc-v%u\n",
+ 		   dev->features & NETIF_F_HIGHDMA ? "highdma " : "",
+-		   dev->features & (NETIF_F_HW_CSUM | NETIF_F_SG) ?
++		   dev->features & (NETIF_F_IP_CSUM | NETIF_F_SG) ?
+ 		   	"csum " : "",
+ 		   dev->features & (NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX) ?
+ 		   	"vlan " : "",
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index 42d7c0a..0e4eb15 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -2822,7 +2822,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev,
+ 					pkt_size, PCI_DMA_FROMDEVICE);
+ 				rtl8169_mark_to_asic(desc, tp->rx_buf_sz);
+ 			} else {
+-				pci_unmap_single(pdev, addr, pkt_size,
++				pci_unmap_single(pdev, addr, tp->rx_buf_sz,
+ 						 PCI_DMA_FROMDEVICE);
+ 				tp->Rx_skbuff[entry] = NULL;
+ 			}
+diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
+index cc4bde8..1710e49 100644
+--- a/drivers/net/tg3.c
++++ b/drivers/net/tg3.c
+@@ -1672,15 +1672,43 @@ static int tg3_set_power_state(struct tg3 *tp, pci_power_t state)
+ }
+ 
+ /* tp->lock is held. */
++static inline void tg3_generate_fw_event(struct tg3 *tp)
++{
++	u32 val;
++
++	val = tr32(GRC_RX_CPU_EVENT);
++	val |= GRC_RX_CPU_DRIVER_EVENT;
++	tw32_f(GRC_RX_CPU_EVENT, val);
++
++	tp->last_event_jiffies = jiffies;
++}
++
++#define TG3_FW_EVENT_TIMEOUT_USEC 2500
++
++/* tp->lock is held. */
+ static void tg3_wait_for_event_ack(struct tg3 *tp)
+ {
+ 	int i;
++	unsigned int delay_cnt;
++	long time_remain;
++
++	/* If enough time has passed, no wait is necessary. */
++	time_remain = (long)(tp->last_event_jiffies + 1 +
++		      usecs_to_jiffies(TG3_FW_EVENT_TIMEOUT_USEC)) -
++		      (long)jiffies;
++	if (time_remain < 0)
++		return;
+ 
+-	/* Wait for up to 2.5 milliseconds */
+-	for (i = 0; i < 250000; i++) {
++	/* Check if we can shorten the wait time. */
++	delay_cnt = jiffies_to_usecs(time_remain);
++	if (delay_cnt > TG3_FW_EVENT_TIMEOUT_USEC)
++		delay_cnt = TG3_FW_EVENT_TIMEOUT_USEC;
++	delay_cnt = (delay_cnt >> 3) + 1;
++
++	for (i = 0; i < delay_cnt; i++) {
+ 		if (!(tr32(GRC_RX_CPU_EVENT) & GRC_RX_CPU_DRIVER_EVENT))
+ 			break;
+-		udelay(10);
++		udelay(8);
+ 	}
+ }
+ 
+@@ -1729,9 +1757,7 @@ static void tg3_ump_link_report(struct tg3 *tp)
+ 		val = 0;
+ 	tg3_write_mem(tp, NIC_SRAM_FW_CMD_DATA_MBOX + 12, val);
+ 
+-	val = tr32(GRC_RX_CPU_EVENT);
+-	val |= GRC_RX_CPU_DRIVER_EVENT;
+-	tw32_f(GRC_RX_CPU_EVENT, val);
++	tg3_generate_fw_event(tp);
+ }
+ 
+ static void tg3_link_report(struct tg3 *tp)
+@@ -5565,6 +5591,7 @@ static int tg3_chip_reset(struct tg3 *tp)
+ 		tg3_read_mem(tp, NIC_SRAM_DATA_CFG, &nic_cfg);
+ 		if (nic_cfg & NIC_SRAM_DATA_CFG_ASF_ENABLE) {
+ 			tp->tg3_flags |= TG3_FLAG_ENABLE_ASF;
++			tp->last_event_jiffies = jiffies;
+ 			if (tp->tg3_flags2 & TG3_FLG2_5750_PLUS)
+ 				tp->tg3_flags2 |= TG3_FLG2_ASF_NEW_HANDSHAKE;
+ 		}
+@@ -5578,15 +5605,12 @@ static void tg3_stop_fw(struct tg3 *tp)
+ {
+ 	if ((tp->tg3_flags & TG3_FLAG_ENABLE_ASF) &&
+ 	   !(tp->tg3_flags3 & TG3_FLG3_ENABLE_APE)) {
+-		u32 val;
+-
+ 		/* Wait for RX cpu to ACK the previous event. */
+ 		tg3_wait_for_event_ack(tp);
+ 
+ 		tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX, FWCMD_NICDRV_PAUSE_FW);
+-		val = tr32(GRC_RX_CPU_EVENT);
+-		val |= GRC_RX_CPU_DRIVER_EVENT;
+-		tw32(GRC_RX_CPU_EVENT, val);
++
++		tg3_generate_fw_event(tp);
+ 
+ 		/* Wait for RX cpu to ACK this event. */
+ 		tg3_wait_for_event_ack(tp);
+@@ -7477,8 +7501,6 @@ static void tg3_timer(unsigned long __opaque)
+ 	 */
+ 	if (!--tp->asf_counter) {
+ 		if (tp->tg3_flags & TG3_FLAG_ENABLE_ASF) {
+-			u32 val;
+-
+ 			tg3_wait_for_event_ack(tp);
+ 
+ 			tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX,
+@@ -7486,9 +7508,8 @@ static void tg3_timer(unsigned long __opaque)
+ 			tg3_write_mem(tp, NIC_SRAM_FW_CMD_LEN_MBOX, 4);
+ 			/* 5 seconds timeout */
+ 			tg3_write_mem(tp, NIC_SRAM_FW_CMD_DATA_MBOX, 5);
+-			val = tr32(GRC_RX_CPU_EVENT);
+-			val |= GRC_RX_CPU_DRIVER_EVENT;
+-			tw32_f(GRC_RX_CPU_EVENT, val);
++
++			tg3_generate_fw_event(tp);
+ 		}
+ 		tp->asf_counter = tp->asf_multiplier;
+ 	}
+diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
+index 0404f93..d68b579 100644
+--- a/drivers/net/tg3.h
++++ b/drivers/net/tg3.h
+@@ -2404,7 +2404,10 @@ struct tg3 {
+ 	struct tg3_ethtool_stats	estats;
+ 	struct tg3_ethtool_stats	estats_prev;
+ 
++	union {
+ 	unsigned long			phy_crc_errors;
++	unsigned long			last_event_jiffies;
++	};
+ 
+ 	u32				rx_offset;
+ 	u32				tg3_flags;
+diff --git a/drivers/pci/search.c b/drivers/pci/search.c
+index 217814f..3b3b5f1 100644
+--- a/drivers/pci/search.c
++++ b/drivers/pci/search.c
+@@ -280,6 +280,8 @@ static struct pci_dev *pci_get_dev_by_id(const struct pci_device_id *id,
+ 			      match_pci_dev_by_id);
+ 	if (dev)
+ 		pdev = to_pci_dev(dev);
++	if (from)
++		pci_dev_put(from);
+ 	return pdev;
+ }
+ 
+diff --git a/drivers/rtc/rtc-lib.c b/drivers/rtc/rtc-lib.c
+index 9f996ec..dd70bf7 100644
+--- a/drivers/rtc/rtc-lib.c
++++ b/drivers/rtc/rtc-lib.c
+@@ -51,10 +51,11 @@ EXPORT_SYMBOL(rtc_year_days);
+  */
+ void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
+ {
+-	unsigned int days, month, year;
++	unsigned int month, year;
++	int days;
+ 
+ 	days = time / 86400;
+-	time -= days * 86400;
++	time -= (unsigned int) days * 86400;
+ 
+ 	/* day of the week, 1970-01-01 was a Thursday */
+ 	tm->tm_wday = (days + 4) % 7;
+diff --git a/drivers/s390/block/dasd_eckd.h b/drivers/s390/block/dasd_eckd.h
+index fc2509c..a466820 100644
+--- a/drivers/s390/block/dasd_eckd.h
++++ b/drivers/s390/block/dasd_eckd.h
+@@ -379,7 +379,7 @@ struct dasd_psf_prssd_data {
+ 	unsigned char flags;
+ 	unsigned char reserved[4];
+ 	unsigned char suborder;
+-	unsigned char varies[9];
++	unsigned char varies[5];
+ } __attribute__ ((packed));
+ 
+ /*
+diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
+index be95e55..4050845 100644
+--- a/drivers/serial/8250.c
++++ b/drivers/serial/8250.c
+@@ -1895,15 +1895,23 @@ static int serial8250_startup(struct uart_port *port)
+ 		 * kick the UART on a regular basis.
+ 		 */
+ 		if (!(iir1 & UART_IIR_NO_INT) && (iir & UART_IIR_NO_INT)) {
++			up->bugs |= UART_BUG_THRE;
+ 			pr_debug("ttyS%d - using backup timer\n", port->line);
+-			up->timer.function = serial8250_backup_timeout;
+-			up->timer.data = (unsigned long)up;
+-			mod_timer(&up->timer, jiffies +
+-				poll_timeout(up->port.timeout) + HZ / 5);
+ 		}
+ 	}
+ 
+ 	/*
++	 * The above check will only give an accurate result the first time
++	 * the port is opened so this value needs to be preserved.
++	 */
++	if (up->bugs & UART_BUG_THRE) {
++		up->timer.function = serial8250_backup_timeout;
++		up->timer.data = (unsigned long)up;
++		mod_timer(&up->timer, jiffies +
++			  poll_timeout(up->port.timeout) + HZ / 5);
++	}
++
++	/*
+ 	 * If the "interrupt" for this port doesn't correspond with any
+ 	 * hardware interrupt, we use a timer-based system.  The original
+ 	 * driver used to do this with IRQ0.
+diff --git a/drivers/serial/8250.h b/drivers/serial/8250.h
+index 91bd28f..245288d 100644
+--- a/drivers/serial/8250.h
++++ b/drivers/serial/8250.h
+@@ -49,6 +49,7 @@ struct serial8250_config {
+ #define UART_BUG_QUOT	(1 << 0)	/* UART has buggy quot LSB */
+ #define UART_BUG_TXEN	(1 << 1)	/* UART has buggy TX IIR status */
+ #define UART_BUG_NOMSR	(1 << 2)	/* UART has buggy MSR status bits (Au1x00) */
++#define UART_BUG_THRE	(1 << 3)	/* UART has buggy THRE reassertion */
+ 
+ #define PROBE_RSA	(1 << 0)
+ #define PROBE_ANY	(~0)
+diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
+index c3201af..560337a 100644
+--- a/drivers/usb/class/cdc-acm.c
++++ b/drivers/usb/class/cdc-acm.c
+@@ -525,8 +525,8 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp)
+ 	tasklet_schedule(&acm->urb_task);
+ 
+ done:
+-err_out:
+ 	mutex_unlock(&acm->mutex);
++err_out:
+ 	mutex_unlock(&open_mutex);
+ 	return rv;
+ 
+diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c
+index 59df132..4835bdc 100644
+--- a/drivers/video/fb_defio.c
++++ b/drivers/video/fb_defio.c
+@@ -114,6 +114,17 @@ static struct vm_operations_struct fb_deferred_io_vm_ops = {
+ 	.page_mkwrite	= fb_deferred_io_mkwrite,
+ };
+ 
++static int fb_deferred_io_set_page_dirty(struct page *page)
++{
++	if (!PageDirty(page))
++		SetPageDirty(page);
++	return 0;
++}
++
++static const struct address_space_operations fb_deferred_io_aops = {
++	.set_page_dirty = fb_deferred_io_set_page_dirty,
++};
++
+ static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma)
+ {
+ 	vma->vm_ops = &fb_deferred_io_vm_ops;
+@@ -163,6 +174,14 @@ void fb_deferred_io_init(struct fb_info *info)
+ }
+ EXPORT_SYMBOL_GPL(fb_deferred_io_init);
+ 
++void fb_deferred_io_open(struct fb_info *info,
++			 struct inode *inode,
++			 struct file *file)
++{
++	file->f_mapping->a_ops = &fb_deferred_io_aops;
++}
++EXPORT_SYMBOL_GPL(fb_deferred_io_open);
++
+ void fb_deferred_io_cleanup(struct fb_info *info)
+ {
+ 	void *screen_base = (void __force *) info->screen_base;
+diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
+index 776f7fc..ce6b5da 100644
+--- a/drivers/video/fbmem.c
++++ b/drivers/video/fbmem.c
+@@ -1340,6 +1340,10 @@ fb_open(struct inode *inode, struct file *file)
+ 		if (res)
+ 			module_put(info->fbops->owner);
+ 	}
++#ifdef CONFIG_FB_DEFERRED_IO
++	if (info->fbdefio)
++		fb_deferred_io_open(info, inode, file);
++#endif
+ 	return res;
+ }
+ 
+diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
+index 7191306..a0a7157 100644
+--- a/fs/binfmt_misc.c
++++ b/fs/binfmt_misc.c
+@@ -119,8 +119,6 @@ static int load_misc_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+ 	if (bprm->misc_bang)
+ 		goto _ret;
+ 
+-	bprm->misc_bang = 1;
+-
+ 	/* to keep locking time low, we copy the interpreter string */
+ 	read_lock(&entries_lock);
+ 	fmt = check_file(bprm);
+@@ -198,6 +196,8 @@ static int load_misc_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+ 	if (retval < 0)
+ 		goto _error;
+ 
++	bprm->misc_bang = 1;
++
+ 	retval = search_binary_handler (bprm, regs);
+ 	if (retval < 0)
+ 		goto _error;
+diff --git a/fs/bio.c b/fs/bio.c
+index 7856257..7db618c 100644
+--- a/fs/bio.c
++++ b/fs/bio.c
+@@ -464,20 +464,21 @@ static void bio_free_map_data(struct bio_map_data *bmd)
+ 	kfree(bmd);
+ }
+ 
+-static struct bio_map_data *bio_alloc_map_data(int nr_segs, int iov_count)
++static struct bio_map_data *bio_alloc_map_data(int nr_segs, int iov_count,
++					       gfp_t gfp_mask)
+ {
+-	struct bio_map_data *bmd = kmalloc(sizeof(*bmd), GFP_KERNEL);
++	struct bio_map_data *bmd = kmalloc(sizeof(*bmd), gfp_mask);
+ 
+ 	if (!bmd)
+ 		return NULL;
+ 
+-	bmd->iovecs = kmalloc(sizeof(struct bio_vec) * nr_segs, GFP_KERNEL);
++	bmd->iovecs = kmalloc(sizeof(struct bio_vec) * nr_segs, gfp_mask);
+ 	if (!bmd->iovecs) {
+ 		kfree(bmd);
+ 		return NULL;
+ 	}
+ 
+-	bmd->sgvecs = kmalloc(sizeof(struct sg_iovec) * iov_count, GFP_KERNEL);
++	bmd->sgvecs = kmalloc(sizeof(struct sg_iovec) * iov_count, gfp_mask);
+ 	if (bmd->sgvecs)
+ 		return bmd;
+ 
+@@ -486,8 +487,8 @@ static struct bio_map_data *bio_alloc_map_data(int nr_segs, int iov_count)
+ 	return NULL;
+ }
+ 
+-static int __bio_copy_iov(struct bio *bio, struct sg_iovec *iov, int iov_count,
+-			  int uncopy)
++static int __bio_copy_iov(struct bio *bio, struct bio_vec *iovecs,
++			  struct sg_iovec *iov, int iov_count, int uncopy)
+ {
+ 	int ret = 0, i;
+ 	struct bio_vec *bvec;
+@@ -497,7 +498,7 @@ static int __bio_copy_iov(struct bio *bio, struct sg_iovec *iov, int iov_count,
+ 
+ 	__bio_for_each_segment(bvec, bio, i, 0) {
+ 		char *bv_addr = page_address(bvec->bv_page);
+-		unsigned int bv_len = bvec->bv_len;
++		unsigned int bv_len = iovecs[i].bv_len;
+ 
+ 		while (bv_len && iov_idx < iov_count) {
+ 			unsigned int bytes;
+@@ -549,7 +550,7 @@ int bio_uncopy_user(struct bio *bio)
+ 	struct bio_map_data *bmd = bio->bi_private;
+ 	int ret;
+ 
+-	ret = __bio_copy_iov(bio, bmd->sgvecs, bmd->nr_sgvecs, 1);
++	ret = __bio_copy_iov(bio, bmd->iovecs, bmd->sgvecs, bmd->nr_sgvecs, 1);
+ 
+ 	bio_free_map_data(bmd);
+ 	bio_put(bio);
+@@ -591,7 +592,7 @@ struct bio *bio_copy_user_iov(struct request_queue *q, struct sg_iovec *iov,
+ 		len += iov[i].iov_len;
+ 	}
+ 
+-	bmd = bio_alloc_map_data(nr_pages, iov_count);
++	bmd = bio_alloc_map_data(nr_pages, iov_count, GFP_KERNEL);
+ 	if (!bmd)
+ 		return ERR_PTR(-ENOMEM);
+ 
+@@ -628,7 +629,7 @@ struct bio *bio_copy_user_iov(struct request_queue *q, struct sg_iovec *iov,
+ 	 * success
+ 	 */
+ 	if (!write_to_vm) {
+-		ret = __bio_copy_iov(bio, iov, iov_count, 0);
++		ret = __bio_copy_iov(bio, bio->bi_io_vec, iov, iov_count, 0);
+ 		if (ret)
+ 			goto cleanup;
+ 	}
+@@ -941,19 +942,22 @@ static void bio_copy_kern_endio(struct bio *bio, int err)
+ {
+ 	struct bio_vec *bvec;
+ 	const int read = bio_data_dir(bio) == READ;
+-	char *p = bio->bi_private;
++	struct bio_map_data *bmd = bio->bi_private;
+ 	int i;
++	char *p = bmd->sgvecs[0].iov_base;
+ 
+ 	__bio_for_each_segment(bvec, bio, i, 0) {
+ 		char *addr = page_address(bvec->bv_page);
++		int len = bmd->iovecs[i].bv_len;
+ 
+ 		if (read && !err)
+-			memcpy(p, addr, bvec->bv_len);
++			memcpy(p, addr, len);
+ 
+ 		__free_page(bvec->bv_page);
+-		p += bvec->bv_len;
++		p += len;
+ 	}
+ 
++	bio_free_map_data(bmd);
+ 	bio_put(bio);
+ }
+ 
+@@ -977,11 +981,21 @@ struct bio *bio_copy_kern(struct request_queue *q, void *data, unsigned int len,
+ 	const int nr_pages = end - start;
+ 	struct bio *bio;
+ 	struct bio_vec *bvec;
++	struct bio_map_data *bmd;
+ 	int i, ret;
++	struct sg_iovec iov;
++
++	iov.iov_base = data;
++	iov.iov_len = len;
++
++	bmd = bio_alloc_map_data(nr_pages, 1, gfp_mask);
++	if (!bmd)
++		return ERR_PTR(-ENOMEM);
+ 
++	ret = -ENOMEM;
+ 	bio = bio_alloc(gfp_mask, nr_pages);
+ 	if (!bio)
+-		return ERR_PTR(-ENOMEM);
++		goto out_bmd;
+ 
+ 	while (len) {
+ 		struct page *page;
+@@ -1015,14 +1029,18 @@ struct bio *bio_copy_kern(struct request_queue *q, void *data, unsigned int len,
+ 		}
+ 	}
+ 
+-	bio->bi_private = data;
++	bio->bi_private = bmd;
+ 	bio->bi_end_io = bio_copy_kern_endio;
++
++	bio_set_map_data(bmd, bio, &iov, 1);
+ 	return bio;
+ cleanup:
+ 	bio_for_each_segment(bvec, bio, i)
+ 		__free_page(bvec->bv_page);
+ 
+ 	bio_put(bio);
++out_bmd:
++	bio_free_map_data(bmd);
+ 
+ 	return ERR_PTR(ret);
+ }
+diff --git a/fs/cifs/file.c b/fs/cifs/file.c
+index 0aac824..8da903b 100644
+--- a/fs/cifs/file.c
++++ b/fs/cifs/file.c
+@@ -832,6 +832,10 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data,
+ 		return -EBADF;
+ 	open_file = (struct cifsFileInfo *) file->private_data;
+ 
++	rc = generic_write_checks(file, poffset, &write_size, 0);
++	if (rc)
++		return rc;
++
+ 	xid = GetXid();
+ 
+ 	if (*poffset > file->f_path.dentry->d_inode->i_size)
+diff --git a/fs/cramfs/inode.c b/fs/cramfs/inode.c
+index 0c3b618..f40423e 100644
+--- a/fs/cramfs/inode.c
++++ b/fs/cramfs/inode.c
+@@ -43,58 +43,13 @@ static DEFINE_MUTEX(read_mutex);
+ static int cramfs_iget5_test(struct inode *inode, void *opaque)
+ {
+ 	struct cramfs_inode *cramfs_inode = opaque;
+-
+-	if (inode->i_ino != CRAMINO(cramfs_inode))
+-		return 0; /* does not match */
+-
+-	if (inode->i_ino != 1)
+-		return 1;
+-
+-	/* all empty directories, char, block, pipe, and sock, share inode #1 */
+-
+-	if ((inode->i_mode != cramfs_inode->mode) ||
+-	    (inode->i_gid != cramfs_inode->gid) ||
+-	    (inode->i_uid != cramfs_inode->uid))
+-		return 0; /* does not match */
+-
+-	if ((S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) &&
+-	    (inode->i_rdev != old_decode_dev(cramfs_inode->size)))
+-		return 0; /* does not match */
+-
+-	return 1; /* matches */
++	return inode->i_ino == CRAMINO(cramfs_inode) && inode->i_ino != 1;
+ }
+ 
+ static int cramfs_iget5_set(struct inode *inode, void *opaque)
+ {
+-	static struct timespec zerotime;
+ 	struct cramfs_inode *cramfs_inode = opaque;
+-	inode->i_mode = cramfs_inode->mode;
+-	inode->i_uid = cramfs_inode->uid;
+-	inode->i_size = cramfs_inode->size;
+-	inode->i_blocks = (cramfs_inode->size - 1) / 512 + 1;
+-	inode->i_gid = cramfs_inode->gid;
+-	/* Struct copy intentional */
+-	inode->i_mtime = inode->i_atime = inode->i_ctime = zerotime;
+ 	inode->i_ino = CRAMINO(cramfs_inode);
+-	/* inode->i_nlink is left 1 - arguably wrong for directories,
+-	   but it's the best we can do without reading the directory
+-           contents.  1 yields the right result in GNU find, even
+-	   without -noleaf option. */
+-	if (S_ISREG(inode->i_mode)) {
+-		inode->i_fop = &generic_ro_fops;
+-		inode->i_data.a_ops = &cramfs_aops;
+-	} else if (S_ISDIR(inode->i_mode)) {
+-		inode->i_op = &cramfs_dir_inode_operations;
+-		inode->i_fop = &cramfs_directory_operations;
+-	} else if (S_ISLNK(inode->i_mode)) {
+-		inode->i_op = &page_symlink_inode_operations;
+-		inode->i_data.a_ops = &cramfs_aops;
+-	} else {
+-		inode->i_size = 0;
+-		inode->i_blocks = 0;
+-		init_special_inode(inode, inode->i_mode,
+-			old_decode_dev(cramfs_inode->size));
+-	}
+ 	return 0;
+ }
+ 
+@@ -104,12 +59,48 @@ static struct inode *get_cramfs_inode(struct super_block *sb,
+ 	struct inode *inode = iget5_locked(sb, CRAMINO(cramfs_inode),
+ 					    cramfs_iget5_test, cramfs_iget5_set,
+ 					    cramfs_inode);
++	static struct timespec zerotime;
++
+ 	if (inode && (inode->i_state & I_NEW)) {
++		inode->i_mode = cramfs_inode->mode;
++		inode->i_uid = cramfs_inode->uid;
++		inode->i_size = cramfs_inode->size;
++		inode->i_blocks = (cramfs_inode->size - 1) / 512 + 1;
++		inode->i_gid = cramfs_inode->gid;
++		/* Struct copy intentional */
++		inode->i_mtime = inode->i_atime = inode->i_ctime = zerotime;
++		/* inode->i_nlink is left 1 - arguably wrong for directories,
++		   but it's the best we can do without reading the directory
++		   contents.  1 yields the right result in GNU find, even
++		   without -noleaf option. */
++		if (S_ISREG(inode->i_mode)) {
++			inode->i_fop = &generic_ro_fops;
++			inode->i_data.a_ops = &cramfs_aops;
++		} else if (S_ISDIR(inode->i_mode)) {
++			inode->i_op = &cramfs_dir_inode_operations;
++			inode->i_fop = &cramfs_directory_operations;
++		} else if (S_ISLNK(inode->i_mode)) {
++			inode->i_op = &page_symlink_inode_operations;
++			inode->i_data.a_ops = &cramfs_aops;
++		} else {
++			inode->i_size = 0;
++			inode->i_blocks = 0;
++			init_special_inode(inode, inode->i_mode,
++				old_decode_dev(cramfs_inode->size));
++		}
+ 		unlock_new_inode(inode);
+ 	}
+ 	return inode;
+ }
+ 
++static void cramfs_drop_inode(struct inode *inode)
++{
++	if (inode->i_ino == 1)
++		generic_delete_inode(inode);
++	else
++		generic_drop_inode(inode);
++}
++
+ /*
+  * We have our own block cache: don't fill up the buffer cache
+  * with the rom-image, because the way the filesystem is set
+@@ -534,6 +525,7 @@ static const struct super_operations cramfs_ops = {
+ 	.put_super	= cramfs_put_super,
+ 	.remount_fs	= cramfs_remount,
+ 	.statfs		= cramfs_statfs,
++	.drop_inode	= cramfs_drop_inode,
+ };
+ 
+ static int cramfs_get_sb(struct file_system_type *fs_type,
+diff --git a/fs/nfsd/nfs4acl.c b/fs/nfsd/nfs4acl.c
+index b6ed383..54b8b41 100644
+--- a/fs/nfsd/nfs4acl.c
++++ b/fs/nfsd/nfs4acl.c
+@@ -443,7 +443,7 @@ init_state(struct posix_acl_state *state, int cnt)
+ 	 * enough space for either:
+ 	 */
+ 	alloc = sizeof(struct posix_ace_state_array)
+-		+ cnt*sizeof(struct posix_ace_state);
++		+ cnt*sizeof(struct posix_user_ace_state);
+ 	state->users = kzalloc(alloc, GFP_KERNEL);
+ 	if (!state->users)
+ 		return -ENOMEM;
+diff --git a/include/linux/fb.h b/include/linux/fb.h
+index 72295b0..dd82c76 100644
+--- a/include/linux/fb.h
++++ b/include/linux/fb.h
+@@ -973,6 +973,9 @@ static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch,
+ 
+ /* drivers/video/fb_defio.c */
+ extern void fb_deferred_io_init(struct fb_info *info);
++extern void fb_deferred_io_open(struct fb_info *info,
++				struct inode *inode,
++				struct file *file);
+ extern void fb_deferred_io_cleanup(struct fb_info *info);
+ extern int fb_deferred_io_fsync(struct file *file, struct dentry *dentry,
+ 				int datasync);
+diff --git a/include/net/addrconf.h b/include/net/addrconf.h
+index bbd3d58..99ca7cd 100644
+--- a/include/net/addrconf.h
++++ b/include/net/addrconf.h
+@@ -80,7 +80,8 @@ extern struct inet6_ifaddr      *ipv6_get_ifaddr(struct net *net,
+ 						 struct net_device *dev,
+ 						 int strict);
+ 
+-extern int			ipv6_dev_get_saddr(struct net_device *dev, 
++extern int			ipv6_dev_get_saddr(struct net *net,
++					       struct net_device *dev,
+ 					       const struct in6_addr *daddr,
+ 					       unsigned int srcprefs,
+ 					       struct in6_addr *saddr);
+diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
+index 9313491..03462e5 100644
+--- a/include/net/ip6_route.h
++++ b/include/net/ip6_route.h
+@@ -112,6 +112,7 @@ struct rt6_rtnl_dump_arg
+ {
+ 	struct sk_buff *skb;
+ 	struct netlink_callback *cb;
++	struct net *net;
+ };
+ 
+ extern int rt6_dump_route(struct rt6_info *rt, void *p_arg);
+diff --git a/mm/page_alloc.c b/mm/page_alloc.c
+index f32fae3..0d520dc 100644
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -693,6 +693,9 @@ int move_freepages(struct zone *zone,
+ #endif
+ 
+ 	for (page = start_page; page <= end_page;) {
++		/* Make sure we are not inadvertently changing nodes */
++		VM_BUG_ON(page_to_nid(page) != zone_to_nid(zone));
++
+ 		if (!pfn_valid_within(page_to_pfn(page))) {
+ 			page++;
+ 			continue;
+@@ -2475,6 +2478,10 @@ static void setup_zone_migrate_reserve(struct zone *zone)
+ 			continue;
+ 		page = pfn_to_page(pfn);
+ 
++		/* Watch out for overlapping nodes */
++		if (page_to_nid(page) != zone_to_nid(zone))
++			continue;
++
+ 		/* Blocks with reserved pages will never free, skip them. */
+ 		if (PageReserved(page))
+ 			continue;
+diff --git a/net/ax25/sysctl_net_ax25.c b/net/ax25/sysctl_net_ax25.c
+index f597987..f288fc4 100644
+--- a/net/ax25/sysctl_net_ax25.c
++++ b/net/ax25/sysctl_net_ax25.c
+@@ -36,6 +36,7 @@ static struct ctl_path ax25_path[] = {
+ 	{ .procname = "ax25", .ctl_name = NET_AX25, },
+ 	{ }
+ };
++
+ static const ctl_table ax25_param_table[] = {
+ 	{
+ 		.ctl_name	= NET_AX25_IP_DEFAULT_MODE,
+@@ -167,6 +168,7 @@ static const ctl_table ax25_param_table[] = {
+ 		.extra1		= &min_proto,
+ 		.extra2		= &max_proto
+ 	},
++#ifdef CONFIG_AX25_DAMA_SLAVE
+ 	{
+ 		.ctl_name	= NET_AX25_DAMA_SLAVE_TIMEOUT,
+ 		.procname	= "dama_slave_timeout",
+@@ -177,6 +179,8 @@ static const ctl_table ax25_param_table[] = {
+ 		.extra1		= &min_ds_timeout,
+ 		.extra2		= &max_ds_timeout
+ 	},
++#endif
++
+ 	{ .ctl_name = 0 }	/* that's all, folks! */
+ };
+ 
+@@ -210,16 +214,6 @@ void ax25_register_sysctl(void)
+ 		ax25_table[n].procname     = ax25_dev->dev->name;
+ 		ax25_table[n].mode         = 0555;
+ 
+-#ifndef CONFIG_AX25_DAMA_SLAVE
+-		/*
+-		 * We do not wish to have a representation of this parameter
+-		 * in /proc/sys/ when configured *not* to include the
+-		 * AX.25 DAMA slave code, do we?
+-		 */
+-
+-		child[AX25_VALUES_DS_TIMEOUT].procname = NULL;
+-#endif
+-
+ 		child[AX25_MAX_VALUES].ctl_name = 0;	/* just in case... */
+ 
+ 		for (k = 0; k < AX25_MAX_VALUES; k++)
+diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
+index 9f3f7ba..b6e7ec0 100644
+--- a/net/ipv4/udp.c
++++ b/net/ipv4/udp.c
+@@ -988,7 +988,9 @@ int udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb)
+ 		    up->encap_rcv != NULL) {
+ 			int ret;
+ 
++			bh_unlock_sock(sk);
+ 			ret = (*up->encap_rcv)(sk, skb);
++			bh_lock_sock(sk);
+ 			if (ret <= 0) {
+ 				UDP_INC_STATS_BH(UDP_MIB_INDATAGRAMS,
+ 						 is_udplite);
+@@ -1087,7 +1089,7 @@ static int __udp4_lib_mcast_deliver(struct sk_buff *skb,
+ 			if (skb1) {
+ 				int ret = 0;
+ 
+-				bh_lock_sock_nested(sk);
++				bh_lock_sock(sk);
+ 				if (!sock_owned_by_user(sk))
+ 					ret = udp_queue_rcv_skb(sk, skb1);
+ 				else
+@@ -1187,7 +1189,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[],
+ 
+ 	if (sk != NULL) {
+ 		int ret = 0;
+-		bh_lock_sock_nested(sk);
++		bh_lock_sock(sk);
+ 		if (!sock_owned_by_user(sk))
+ 			ret = udp_queue_rcv_skb(sk, skb);
+ 		else
+diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
+index ff61a5c..1a1d494 100644
+--- a/net/ipv6/addrconf.c
++++ b/net/ipv6/addrconf.c
+@@ -1076,13 +1076,12 @@ out:
+ 	return ret;
+ }
+ 
+-int ipv6_dev_get_saddr(struct net_device *dst_dev,
++int ipv6_dev_get_saddr(struct net *net, struct net_device *dst_dev,
+ 		       const struct in6_addr *daddr, unsigned int prefs,
+ 		       struct in6_addr *saddr)
+ {
+ 	struct ipv6_saddr_score scores[2],
+ 				*score = &scores[0], *hiscore = &scores[1];
+-	struct net *net = dev_net(dst_dev);
+ 	struct ipv6_saddr_dst dst;
+ 	struct net_device *dev;
+ 	int dst_type;
+diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c
+index 8d05527..f5de3f9 100644
+--- a/net/ipv6/fib6_rules.c
++++ b/net/ipv6/fib6_rules.c
+@@ -93,7 +93,8 @@ static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp,
+ 			if (flags & RT6_LOOKUP_F_SRCPREF_COA)
+ 				srcprefs |= IPV6_PREFER_SRC_COA;
+ 
+-			if (ipv6_dev_get_saddr(ip6_dst_idev(&rt->u.dst)->dev,
++			if (ipv6_dev_get_saddr(net,
++					       ip6_dst_idev(&rt->u.dst)->dev,
+ 					       &flp->fl6_dst, srcprefs,
+ 					       &saddr))
+ 				goto again;
+diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
+index 918fde4..fe80171 100644
+--- a/net/ipv6/ip6_fib.c
++++ b/net/ipv6/ip6_fib.c
+@@ -380,6 +380,7 @@ static int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
+ 
+ 	arg.skb = skb;
+ 	arg.cb = cb;
++	arg.net = net;
+ 	w->args = &arg;
+ 
+ 	for (h = s_h; h < FIB_TABLE_HASHSZ; h++, s_e = 0) {
+diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
+index 4019770..d99f094 100644
+--- a/net/ipv6/ip6_output.c
++++ b/net/ipv6/ip6_output.c
+@@ -925,7 +925,7 @@ static int ip6_dst_lookup_tail(struct sock *sk,
+ 		goto out_err_release;
+ 
+ 	if (ipv6_addr_any(&fl->fl6_src)) {
+-		err = ipv6_dev_get_saddr(ip6_dst_idev(*dst)->dev,
++		err = ipv6_dev_get_saddr(net, ip6_dst_idev(*dst)->dev,
+ 					 &fl->fl6_dst,
+ 					 sk ? inet6_sk(sk)->srcprefs : 0,
+ 					 &fl->fl6_src);
+diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
+index 282fdb3..efa84ae 100644
+--- a/net/ipv6/ndisc.c
++++ b/net/ipv6/ndisc.c
+@@ -549,7 +549,7 @@ static void ndisc_send_na(struct net_device *dev, struct neighbour *neigh,
+ 			override = 0;
+ 		in6_ifa_put(ifp);
+ 	} else {
+-		if (ipv6_dev_get_saddr(dev, daddr,
++		if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr,
+ 				       inet6_sk(dev_net(dev)->ipv6.ndisc_sk)->srcprefs,
+ 				       &tmpaddr))
+ 			return;
+diff --git a/net/ipv6/route.c b/net/ipv6/route.c
+index 7ff6870..9deee59 100644
+--- a/net/ipv6/route.c
++++ b/net/ipv6/route.c
+@@ -2098,7 +2098,8 @@ static inline size_t rt6_nlmsg_size(void)
+ 	       + nla_total_size(sizeof(struct rta_cacheinfo));
+ }
+ 
+-static int rt6_fill_node(struct sk_buff *skb, struct rt6_info *rt,
++static int rt6_fill_node(struct net *net,
++			 struct sk_buff *skb, struct rt6_info *rt,
+ 			 struct in6_addr *dst, struct in6_addr *src,
+ 			 int iif, int type, u32 pid, u32 seq,
+ 			 int prefix, int nowait, unsigned int flags)
+@@ -2179,8 +2180,9 @@ static int rt6_fill_node(struct sk_buff *skb, struct rt6_info *rt,
+ #endif
+ 			NLA_PUT_U32(skb, RTA_IIF, iif);
+ 	} else if (dst) {
++		struct inet6_dev *idev = ip6_dst_idev(&rt->u.dst);
+ 		struct in6_addr saddr_buf;
+-		if (ipv6_dev_get_saddr(ip6_dst_idev(&rt->u.dst)->dev,
++		if (ipv6_dev_get_saddr(net, idev ? idev->dev : NULL,
+ 				       dst, 0, &saddr_buf) == 0)
+ 			NLA_PUT(skb, RTA_PREFSRC, 16, &saddr_buf);
+ 	}
+@@ -2225,7 +2227,8 @@ int rt6_dump_route(struct rt6_info *rt, void *p_arg)
+ 	} else
+ 		prefix = 0;
+ 
+-	return rt6_fill_node(arg->skb, rt, NULL, NULL, 0, RTM_NEWROUTE,
++	return rt6_fill_node(arg->net,
++		     arg->skb, rt, NULL, NULL, 0, RTM_NEWROUTE,
+ 		     NETLINK_CB(arg->cb->skb).pid, arg->cb->nlh->nlmsg_seq,
+ 		     prefix, 0, NLM_F_MULTI);
+ }
+@@ -2291,7 +2294,7 @@ static int inet6_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr* nlh, void
+ 	rt = (struct rt6_info*) ip6_route_output(net, NULL, &fl);
+ 	skb->dst = &rt->u.dst;
+ 
+-	err = rt6_fill_node(skb, rt, &fl.fl6_dst, &fl.fl6_src, iif,
++	err = rt6_fill_node(net, skb, rt, &fl.fl6_dst, &fl.fl6_src, iif,
+ 			    RTM_NEWROUTE, NETLINK_CB(in_skb).pid,
+ 			    nlh->nlmsg_seq, 0, 0, 0);
+ 	if (err < 0) {
+@@ -2318,7 +2321,7 @@ void inet6_rt_notify(int event, struct rt6_info *rt, struct nl_info *info)
+ 	if (skb == NULL)
+ 		goto errout;
+ 
+-	err = rt6_fill_node(skb, rt, NULL, NULL, 0,
++	err = rt6_fill_node(net, skb, rt, NULL, NULL, 0,
+ 				event, info->pid, seq, 0, 0, 0);
+ 	if (err < 0) {
+ 		/* -EMSGSIZE implies BUG in rt6_nlmsg_size() */
+diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
+index dd30962..e14aa66 100644
+--- a/net/ipv6/udp.c
++++ b/net/ipv6/udp.c
+@@ -376,7 +376,7 @@ static int __udp6_lib_mcast_deliver(struct sk_buff *skb, struct in6_addr *saddr,
+ 					uh->source, saddr, dif))) {
+ 		struct sk_buff *buff = skb_clone(skb, GFP_ATOMIC);
+ 		if (buff) {
+-			bh_lock_sock_nested(sk2);
++			bh_lock_sock(sk2);
+ 			if (!sock_owned_by_user(sk2))
+ 				udpv6_queue_rcv_skb(sk2, buff);
+ 			else
+@@ -384,7 +384,7 @@ static int __udp6_lib_mcast_deliver(struct sk_buff *skb, struct in6_addr *saddr,
+ 			bh_unlock_sock(sk2);
+ 		}
+ 	}
+-	bh_lock_sock_nested(sk);
++	bh_lock_sock(sk);
+ 	if (!sock_owned_by_user(sk))
+ 		udpv6_queue_rcv_skb(sk, skb);
+ 	else
+@@ -502,7 +502,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[],
+ 
+ 	/* deliver */
+ 
+-	bh_lock_sock_nested(sk);
++	bh_lock_sock(sk);
+ 	if (!sock_owned_by_user(sk))
+ 		udpv6_queue_rcv_skb(sk, skb);
+ 	else
+diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c
+index 8f1e054..08e4cbb 100644
+--- a/net/ipv6/xfrm6_policy.c
++++ b/net/ipv6/xfrm6_policy.c
+@@ -52,12 +52,14 @@ static struct dst_entry *xfrm6_dst_lookup(int tos, xfrm_address_t *saddr,
+ static int xfrm6_get_saddr(xfrm_address_t *saddr, xfrm_address_t *daddr)
+ {
+ 	struct dst_entry *dst;
++	struct net_device *dev;
+ 
+ 	dst = xfrm6_dst_lookup(0, NULL, daddr);
+ 	if (IS_ERR(dst))
+ 		return -EHOSTUNREACH;
+ 
+-	ipv6_dev_get_saddr(ip6_dst_idev(dst)->dev,
++	dev = ip6_dst_idev(dst)->dev;
++	ipv6_dev_get_saddr(dev_net(dev), dev,
+ 			   (struct in6_addr *)&daddr->a6, 0,
+ 			   (struct in6_addr *)&saddr->a6);
+ 	dst_release(dst);
+diff --git a/net/sched/act_api.c b/net/sched/act_api.c
+index 74e662c..b5e116c 100644
+--- a/net/sched/act_api.c
++++ b/net/sched/act_api.c
+@@ -205,10 +205,9 @@ struct tcf_common *tcf_hash_check(u32 index, struct tc_action *a, int bind,
+ {
+ 	struct tcf_common *p = NULL;
+ 	if (index && (p = tcf_hash_lookup(index, hinfo)) != NULL) {
+-		if (bind) {
++		if (bind)
+ 			p->tcfc_bindcnt++;
+-			p->tcfc_refcnt++;
+-		}
++		p->tcfc_refcnt++;
+ 		a->priv = p;
+ 	}
+ 	return p;
+diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
+index 3fb58f4..51c3f68 100644
+--- a/net/sched/sch_htb.c
++++ b/net/sched/sch_htb.c
+@@ -595,11 +595,13 @@ static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch)
+ 		kfree_skb(skb);
+ 		return ret;
+ #endif
+-	} else if (cl->un.leaf.q->enqueue(skb, cl->un.leaf.q) !=
++	} else if ((ret = cl->un.leaf.q->enqueue(skb, cl->un.leaf.q)) !=
+ 		   NET_XMIT_SUCCESS) {
+-		sch->qstats.drops++;
+-		cl->qstats.drops++;
+-		return NET_XMIT_DROP;
++		if (ret == NET_XMIT_DROP) {
++			sch->qstats.drops++;
++			cl->qstats.drops++;
++		}
++		return ret;
+ 	} else {
+ 		cl->bstats.packets +=
+ 			skb_is_gso(skb)?skb_shinfo(skb)->gso_segs:1;
+@@ -639,11 +641,13 @@ static int htb_requeue(struct sk_buff *skb, struct Qdisc *sch)
+ 		kfree_skb(skb);
+ 		return ret;
+ #endif
+-	} else if (cl->un.leaf.q->ops->requeue(skb, cl->un.leaf.q) !=
++	} else if ((ret = cl->un.leaf.q->ops->requeue(skb, cl->un.leaf.q)) !=
+ 		   NET_XMIT_SUCCESS) {
+-		sch->qstats.drops++;
+-		cl->qstats.drops++;
+-		return NET_XMIT_DROP;
++		if (ret == NET_XMIT_DROP) {
++			sch->qstats.drops++;
++			cl->qstats.drops++;
++		}
++		return ret;
+ 	} else
+ 		htb_activate(q, cl);
+ 
+diff --git a/net/sched/sch_prio.c b/net/sched/sch_prio.c
+index 5532f10..ec0c921 100644
+--- a/net/sched/sch_prio.c
++++ b/net/sched/sch_prio.c
+@@ -228,14 +228,20 @@ static int prio_tune(struct Qdisc *sch, struct nlattr *opt)
+ {
+ 	struct prio_sched_data *q = qdisc_priv(sch);
+ 	struct tc_prio_qopt *qopt;
+-	struct nlattr *tb[TCA_PRIO_MAX + 1];
++	struct nlattr *tb[TCA_PRIO_MAX + 1] = {0};
+ 	int err;
+ 	int i;
+ 
+-	err = nla_parse_nested_compat(tb, TCA_PRIO_MAX, opt, NULL, qopt,
+-				      sizeof(*qopt));
+-	if (err < 0)
+-		return err;
++	qopt = nla_data(opt);
++	if (nla_len(opt) < sizeof(*qopt))
++		return -1;
++
++	if (nla_len(opt) >= sizeof(*qopt) + sizeof(struct nlattr)) {
++		err = nla_parse_nested(tb, TCA_PRIO_MAX,
++				       (struct nlattr *) (qopt + 1), NULL);
++		if (err < 0)
++			return err;
++	}
+ 
+ 	q->bands = qopt->bands;
+ 	/* If we're multiqueue, make sure the number of incoming bands
+diff --git a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c
+index 0b7d78f..fc6f8f3 100644
+--- a/net/sched/sch_tbf.c
++++ b/net/sched/sch_tbf.c
+@@ -123,15 +123,8 @@ static int tbf_enqueue(struct sk_buff *skb, struct Qdisc* sch)
+ 	struct tbf_sched_data *q = qdisc_priv(sch);
+ 	int ret;
+ 
+-	if (skb->len > q->max_size) {
+-		sch->qstats.drops++;
+-#ifdef CONFIG_NET_CLS_ACT
+-		if (sch->reshape_fail == NULL || sch->reshape_fail(skb, sch))
+-#endif
+-			kfree_skb(skb);
+-
+-		return NET_XMIT_DROP;
+-	}
++	if (skb->len > q->max_size)
++		return qdisc_reshape_fail(skb, sch);
+ 
+ 	if ((ret = q->qdisc->enqueue(skb, q->qdisc)) != 0) {
+ 		sch->qstats.drops++;
+diff --git a/net/sctp/auth.c b/net/sctp/auth.c
+index 675a5c3..52db5f6 100644
+--- a/net/sctp/auth.c
++++ b/net/sctp/auth.c
+@@ -80,6 +80,10 @@ static struct sctp_auth_bytes *sctp_auth_create_key(__u32 key_len, gfp_t gfp)
+ {
+ 	struct sctp_auth_bytes *key;
+ 
++	/* Verify that we are not going to overflow INT_MAX */
++	if ((INT_MAX - key_len) < sizeof(struct sctp_auth_bytes))
++		return NULL;
++
+ 	/* Allocate the shared key */
+ 	key = kmalloc(sizeof(struct sctp_auth_bytes) + key_len, gfp);
+ 	if (!key)
+@@ -782,6 +786,9 @@ int sctp_auth_ep_set_hmacs(struct sctp_endpoint *ep,
+ 	for (i = 0; i < hmacs->shmac_num_idents; i++) {
+ 		id = hmacs->shmac_idents[i];
+ 
++		if (id > SCTP_AUTH_HMAC_ID_MAX)
++			return -EOPNOTSUPP;
++
+ 		if (SCTP_AUTH_HMAC_ID_SHA1 == id)
+ 			has_sha1 = 1;
+ 
+diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c
+index e39a0cd..4c8d9f4 100644
+--- a/net/sctp/endpointola.c
++++ b/net/sctp/endpointola.c
+@@ -103,6 +103,7 @@ static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep,
+ 
+ 		/* Initialize the CHUNKS parameter */
+ 		auth_chunks->param_hdr.type = SCTP_PARAM_CHUNKS;
++		auth_chunks->param_hdr.length = htons(sizeof(sctp_paramhdr_t));
+ 
+ 		/* If the Add-IP functionality is enabled, we must
+ 		 * authenticate, ASCONF and ASCONF-ACK chunks
+@@ -110,8 +111,7 @@ static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep,
+ 		if (sctp_addip_enable) {
+ 			auth_chunks->chunks[0] = SCTP_CID_ASCONF;
+ 			auth_chunks->chunks[1] = SCTP_CID_ASCONF_ACK;
+-			auth_chunks->param_hdr.length =
+-					htons(sizeof(sctp_paramhdr_t) + 2);
++			auth_chunks->param_hdr.length += htons(2);
+ 		}
+ 	}
+ 
+diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
+index a2f4d4d..38a5d80 100644
+--- a/net/sctp/ipv6.c
++++ b/net/sctp/ipv6.c
+@@ -317,7 +317,8 @@ static void sctp_v6_get_saddr(struct sctp_sock *sk,
+ 			  __func__, asoc, dst, NIP6(daddr->v6.sin6_addr));
+ 
+ 	if (!asoc) {
+-		ipv6_dev_get_saddr(dst ? ip6_dst_idev(dst)->dev : NULL,
++		ipv6_dev_get_saddr(sock_net(sctp_opt2sk(sk)),
++				   dst ? ip6_dst_idev(dst)->dev : NULL,
+ 				   &daddr->v6.sin6_addr,
+ 				   inet6_sk(&sk->inet.sk)->srcprefs,
+ 				   &saddr->v6.sin6_addr);
+diff --git a/net/sctp/socket.c b/net/sctp/socket.c
+index 0dbcde6..700d27d 100644
+--- a/net/sctp/socket.c
++++ b/net/sctp/socket.c
+@@ -2965,6 +2965,9 @@ static int sctp_setsockopt_auth_chunk(struct sock *sk,
+ {
+ 	struct sctp_authchunk val;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen != sizeof(struct sctp_authchunk))
+ 		return -EINVAL;
+ 	if (copy_from_user(&val, optval, optlen))
+@@ -2993,8 +2996,12 @@ static int sctp_setsockopt_hmac_ident(struct sock *sk,
+ 				    int optlen)
+ {
+ 	struct sctp_hmacalgo *hmacs;
++	u32 idents;
+ 	int err;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen < sizeof(struct sctp_hmacalgo))
+ 		return -EINVAL;
+ 
+@@ -3007,8 +3014,9 @@ static int sctp_setsockopt_hmac_ident(struct sock *sk,
+ 		goto out;
+ 	}
+ 
+-	if (hmacs->shmac_num_idents == 0 ||
+-	    hmacs->shmac_num_idents > SCTP_AUTH_NUM_HMACS) {
++	idents = hmacs->shmac_num_idents;
++	if (idents == 0 || idents > SCTP_AUTH_NUM_HMACS ||
++	    (idents * sizeof(u16)) > (optlen - sizeof(struct sctp_hmacalgo))) {
+ 		err = -EINVAL;
+ 		goto out;
+ 	}
+@@ -3033,6 +3041,9 @@ static int sctp_setsockopt_auth_key(struct sock *sk,
+ 	struct sctp_association *asoc;
+ 	int ret;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen <= sizeof(struct sctp_authkey))
+ 		return -EINVAL;
+ 
+@@ -3045,6 +3056,11 @@ static int sctp_setsockopt_auth_key(struct sock *sk,
+ 		goto out;
+ 	}
+ 
++	if (authkey->sca_keylength > optlen - sizeof(struct sctp_authkey)) {
++		ret = -EINVAL;
++		goto out;
++	}
++
+ 	asoc = sctp_id2assoc(sk, authkey->sca_assoc_id);
+ 	if (!asoc && authkey->sca_assoc_id && sctp_style(sk, UDP)) {
+ 		ret = -EINVAL;
+@@ -3070,6 +3086,9 @@ static int sctp_setsockopt_active_key(struct sock *sk,
+ 	struct sctp_authkeyid val;
+ 	struct sctp_association *asoc;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen != sizeof(struct sctp_authkeyid))
+ 		return -EINVAL;
+ 	if (copy_from_user(&val, optval, optlen))
+@@ -3095,6 +3114,9 @@ static int sctp_setsockopt_del_key(struct sock *sk,
+ 	struct sctp_authkeyid val;
+ 	struct sctp_association *asoc;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (optlen != sizeof(struct sctp_authkeyid))
+ 		return -EINVAL;
+ 	if (copy_from_user(&val, optval, optlen))
+@@ -5053,19 +5075,29 @@ static int sctp_getsockopt_maxburst(struct sock *sk, int len,
+ static int sctp_getsockopt_hmac_ident(struct sock *sk, int len,
+ 				    char __user *optval, int __user *optlen)
+ {
++	struct sctp_hmacalgo  __user *p = (void __user *)optval;
+ 	struct sctp_hmac_algo_param *hmacs;
+-	__u16 param_len;
++	__u16 data_len = 0;
++	u32 num_idents;
++
++	if (!sctp_auth_enable)
++		return -EACCES;
+ 
+ 	hmacs = sctp_sk(sk)->ep->auth_hmacs_list;
+-	param_len = ntohs(hmacs->param_hdr.length);
++	data_len = ntohs(hmacs->param_hdr.length) - sizeof(sctp_paramhdr_t);
+ 
+-	if (len < param_len)
++	if (len < sizeof(struct sctp_hmacalgo) + data_len)
+ 		return -EINVAL;
++
++	len = sizeof(struct sctp_hmacalgo) + data_len;
++	num_idents = data_len / sizeof(u16);
++
+ 	if (put_user(len, optlen))
+ 		return -EFAULT;
+-	if (copy_to_user(optval, hmacs->hmac_ids, len))
++	if (put_user(num_idents, &p->shmac_num_idents))
++		return -EFAULT;
++	if (copy_to_user(p->shmac_idents, hmacs->hmac_ids, data_len))
+ 		return -EFAULT;
+-
+ 	return 0;
+ }
+ 
+@@ -5075,6 +5107,9 @@ static int sctp_getsockopt_active_key(struct sock *sk, int len,
+ 	struct sctp_authkeyid val;
+ 	struct sctp_association *asoc;
+ 
++	if (!sctp_auth_enable)
++		return -EACCES;
++
+ 	if (len < sizeof(struct sctp_authkeyid))
+ 		return -EINVAL;
+ 	if (copy_from_user(&val, optval, sizeof(struct sctp_authkeyid)))
+@@ -5089,6 +5124,12 @@ static int sctp_getsockopt_active_key(struct sock *sk, int len,
+ 	else
+ 		val.scact_keynumber = sctp_sk(sk)->ep->active_key_id;
+ 
++	len = sizeof(struct sctp_authkeyid);
++	if (put_user(len, optlen))
++		return -EFAULT;
++	if (copy_to_user(optval, &val, len))
++		return -EFAULT;
++
+ 	return 0;
+ }
+ 
+@@ -5099,13 +5140,16 @@ static int sctp_getsockopt_peer_auth_chunks(struct sock *sk, int len,
+ 	struct sctp_authchunks val;
+ 	struct sctp_association *asoc;
+ 	struct sctp_chunks_param *ch;
+-	u32    num_chunks;
++	u32    num_chunks = 0;
+ 	char __user *to;
+ 
+-	if (len <= sizeof(struct sctp_authchunks))
++	if (!sctp_auth_enable)
++		return -EACCES;
++
++	if (len < sizeof(struct sctp_authchunks))
+ 		return -EINVAL;
+ 
+-	if (copy_from_user(&val, p, sizeof(struct sctp_authchunks)))
++	if (copy_from_user(&val, optval, sizeof(struct sctp_authchunks)))
+ 		return -EFAULT;
+ 
+ 	to = p->gauth_chunks;
+@@ -5114,20 +5158,21 @@ static int sctp_getsockopt_peer_auth_chunks(struct sock *sk, int len,
+ 		return -EINVAL;
+ 
+ 	ch = asoc->peer.peer_chunks;
++	if (!ch)
++		goto num;
+ 
+ 	/* See if the user provided enough room for all the data */
+ 	num_chunks = ntohs(ch->param_hdr.length) - sizeof(sctp_paramhdr_t);
+ 	if (len < num_chunks)
+ 		return -EINVAL;
+ 
+-	len = num_chunks;
+-	if (put_user(len, optlen))
++	if (copy_to_user(to, ch->chunks, num_chunks))
+ 		return -EFAULT;
++num:
++	len = sizeof(struct sctp_authchunks) + num_chunks;
++	if (put_user(len, optlen)) return -EFAULT;
+ 	if (put_user(num_chunks, &p->gauth_number_of_chunks))
+ 		return -EFAULT;
+-	if (copy_to_user(to, ch->chunks, len))
+-		return -EFAULT;
+-
+ 	return 0;
+ }
+ 
+@@ -5138,13 +5183,16 @@ static int sctp_getsockopt_local_auth_chunks(struct sock *sk, int len,
+ 	struct sctp_authchunks val;
+ 	struct sctp_association *asoc;
+ 	struct sctp_chunks_param *ch;
+-	u32    num_chunks;
++	u32    num_chunks = 0;
+ 	char __user *to;
+ 
+-	if (len <= sizeof(struct sctp_authchunks))
++	if (!sctp_auth_enable)
++		return -EACCES;
++
++	if (len < sizeof(struct sctp_authchunks))
+ 		return -EINVAL;
+ 
+-	if (copy_from_user(&val, p, sizeof(struct sctp_authchunks)))
++	if (copy_from_user(&val, optval, sizeof(struct sctp_authchunks)))
+ 		return -EFAULT;
+ 
+ 	to = p->gauth_chunks;
+@@ -5157,17 +5205,21 @@ static int sctp_getsockopt_local_auth_chunks(struct sock *sk, int len,
+ 	else
+ 		ch = sctp_sk(sk)->ep->auth_chunk_list;
+ 
++	if (!ch)
++		goto num;
++
+ 	num_chunks = ntohs(ch->param_hdr.length) - sizeof(sctp_paramhdr_t);
+-	if (len < num_chunks)
++	if (len < sizeof(struct sctp_authchunks) + num_chunks)
+ 		return -EINVAL;
+ 
+-	len = num_chunks;
++	if (copy_to_user(to, ch->chunks, num_chunks))
++		return -EFAULT;
++num:
++	len = sizeof(struct sctp_authchunks) + num_chunks;
+ 	if (put_user(len, optlen))
+ 		return -EFAULT;
+ 	if (put_user(num_chunks, &p->gauth_number_of_chunks))
+ 		return -EFAULT;
+-	if (copy_to_user(to, ch->chunks, len))
+-		return -EFAULT;
+ 
+ 	return 0;
+ }
+diff --git a/net/sunrpc/sysctl.c b/net/sunrpc/sysctl.c
+index 0f8c439..5231f7a 100644
+--- a/net/sunrpc/sysctl.c
++++ b/net/sunrpc/sysctl.c
+@@ -60,24 +60,14 @@ static int proc_do_xprt(ctl_table *table, int write, struct file *file,
+ 			void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+ 	char tmpbuf[256];
+-	int len;
++	size_t len;
++
+ 	if ((*ppos && !write) || !*lenp) {
+ 		*lenp = 0;
+ 		return 0;
+ 	}
+-	if (write)
+-		return -EINVAL;
+-	else {
+-		len = svc_print_xprts(tmpbuf, sizeof(tmpbuf));
+-		if (!access_ok(VERIFY_WRITE, buffer, len))
+-			return -EFAULT;
+-
+-		if (__copy_to_user(buffer, tmpbuf, len))
+-			return -EFAULT;
+-	}
+-	*lenp -= len;
+-	*ppos += len;
+-	return 0;
++	len = svc_print_xprts(tmpbuf, sizeof(tmpbuf));
++	return simple_read_from_buffer(buffer, *lenp, ppos, tmpbuf, len);
+ }
+ 
+ static int
+diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
+index 72fddaf..391f456 100644
+--- a/net/xfrm/xfrm_state.c
++++ b/net/xfrm/xfrm_state.c
+@@ -780,11 +780,13 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
+ {
+ 	unsigned int h;
+ 	struct hlist_node *entry;
+-	struct xfrm_state *x, *x0;
++	struct xfrm_state *x, *x0, *to_put;
+ 	int acquire_in_progress = 0;
+ 	int error = 0;
+ 	struct xfrm_state *best = NULL;
+ 
++	to_put = NULL;
++
+ 	spin_lock_bh(&xfrm_state_lock);
+ 	h = xfrm_dst_hash(daddr, saddr, tmpl->reqid, family);
+ 	hlist_for_each_entry(x, entry, xfrm_state_bydst+h, bydst) {
+@@ -833,7 +835,7 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
+ 		if (tmpl->id.spi &&
+ 		    (x0 = __xfrm_state_lookup(daddr, tmpl->id.spi,
+ 					      tmpl->id.proto, family)) != NULL) {
+-			xfrm_state_put(x0);
++			to_put = x0;
+ 			error = -EEXIST;
+ 			goto out;
+ 		}
+@@ -849,7 +851,7 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
+ 		error = security_xfrm_state_alloc_acquire(x, pol->security, fl->secid);
+ 		if (error) {
+ 			x->km.state = XFRM_STATE_DEAD;
+-			xfrm_state_put(x);
++			to_put = x;
+ 			x = NULL;
+ 			goto out;
+ 		}
+@@ -870,7 +872,7 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
+ 			xfrm_hash_grow_check(x->bydst.next != NULL);
+ 		} else {
+ 			x->km.state = XFRM_STATE_DEAD;
+-			xfrm_state_put(x);
++			to_put = x;
+ 			x = NULL;
+ 			error = -ESRCH;
+ 		}
+@@ -881,6 +883,8 @@ out:
+ 	else
+ 		*err = acquire_in_progress ? -EAGAIN : error;
+ 	spin_unlock_bh(&xfrm_state_lock);
++	if (to_put)
++		xfrm_state_put(to_put);
+ 	return x;
+ }
+ 
+@@ -1067,18 +1071,20 @@ static struct xfrm_state *__xfrm_find_acq_byseq(u32 seq);
+ 
+ int xfrm_state_add(struct xfrm_state *x)
+ {
+-	struct xfrm_state *x1;
++	struct xfrm_state *x1, *to_put;
+ 	int family;
+ 	int err;
+ 	int use_spi = xfrm_id_proto_match(x->id.proto, IPSEC_PROTO_ANY);
+ 
+ 	family = x->props.family;
+ 
++	to_put = NULL;
++
+ 	spin_lock_bh(&xfrm_state_lock);
+ 
+ 	x1 = __xfrm_state_locate(x, use_spi, family);
+ 	if (x1) {
+-		xfrm_state_put(x1);
++		to_put = x1;
+ 		x1 = NULL;
+ 		err = -EEXIST;
+ 		goto out;
+@@ -1088,7 +1094,7 @@ int xfrm_state_add(struct xfrm_state *x)
+ 		x1 = __xfrm_find_acq_byseq(x->km.seq);
+ 		if (x1 && ((x1->id.proto != x->id.proto) ||
+ 		    xfrm_addr_cmp(&x1->id.daddr, &x->id.daddr, family))) {
+-			xfrm_state_put(x1);
++			to_put = x1;
+ 			x1 = NULL;
+ 		}
+ 	}
+@@ -1110,6 +1116,9 @@ out:
+ 		xfrm_state_put(x1);
+ 	}
+ 
++	if (to_put)
++		xfrm_state_put(to_put);
++
+ 	return err;
+ }
+ EXPORT_SYMBOL(xfrm_state_add);
+@@ -1269,10 +1278,12 @@ EXPORT_SYMBOL(xfrm_state_migrate);
+ 
+ int xfrm_state_update(struct xfrm_state *x)
+ {
+-	struct xfrm_state *x1;
++	struct xfrm_state *x1, *to_put;
+ 	int err;
+ 	int use_spi = xfrm_id_proto_match(x->id.proto, IPSEC_PROTO_ANY);
+ 
++	to_put = NULL;
++
+ 	spin_lock_bh(&xfrm_state_lock);
+ 	x1 = __xfrm_state_locate(x, use_spi, x->props.family);
+ 
+@@ -1281,7 +1292,7 @@ int xfrm_state_update(struct xfrm_state *x)
+ 		goto out;
+ 
+ 	if (xfrm_state_kern(x1)) {
+-		xfrm_state_put(x1);
++		to_put = x1;
+ 		err = -EEXIST;
+ 		goto out;
+ 	}
+@@ -1295,6 +1306,9 @@ int xfrm_state_update(struct xfrm_state *x)
+ out:
+ 	spin_unlock_bh(&xfrm_state_lock);
+ 
++	if (to_put)
++		xfrm_state_put(to_put);
++
+ 	if (err)
+ 		return err;
+ 
+diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
+index 6facac5..05eb899 100644
+--- a/sound/pci/oxygen/oxygen_mixer.c
++++ b/sound/pci/oxygen/oxygen_mixer.c
+@@ -512,9 +512,12 @@ static int ac97_switch_get(struct snd_kcontrol *ctl,
+ 
+ static void mute_ac97_ctl(struct oxygen *chip, unsigned int control)
+ {
+-	unsigned int priv_idx = chip->controls[control]->private_value & 0xff;
++	unsigned int priv_idx;
+ 	u16 value;
+ 
++	if (!chip->controls[control])
++		return;
++	priv_idx = chip->controls[control]->private_value & 0xff;
+ 	value = oxygen_read_ac97(chip, 0, priv_idx);
+ 	if (!(value & 0x8000)) {
+ 		oxygen_write_ac97(chip, 0, priv_idx, value | 0x8000);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.8-abi-1.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.8-abi-1.patch
@@ -0,0 +1,24 @@
+diff --git a/include/linux/sched.h b/include/linux/sched.h
+index 7ed3ae7..9f428dc 100644
+--- a/include/linux/sched.h
++++ b/include/linux/sched.h
+@@ -1288,8 +1288,6 @@ struct task_struct {
+ 	atomic_t fs_excl;	/* holding fs exclusive resources */
+ 	struct rcu_head rcu;
+ 
+-	struct list_head	*scm_work_list;
+-
+ 	/*
+ 	 * cache last used pipe for splice
+ 	 */
+@@ -1305,6 +1303,10 @@ struct task_struct {
+ 	int latency_record_count;
+ 	struct latency_record latency_record[LT_SAVECOUNT];
+ #endif
++
++#ifndef __GENKSYMS__
++	struct list_head	*scm_work_list;
++#endif
+ };
+ 
+ /*
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.6.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.6.patch
@@ -0,0 +1,3087 @@
+This is 2.6.26.6 except the following patches:
+- acpi-avoid-bogus-ec-timeout-when-ec-is-in-polling-mode.patch
+
+diff --git a/arch/s390/kernel/compat_ptrace.h b/arch/s390/kernel/compat_ptrace.h
+index 419aef9..7731b82 100644
+--- a/arch/s390/kernel/compat_ptrace.h
++++ b/arch/s390/kernel/compat_ptrace.h
+@@ -42,6 +42,7 @@ struct user_regs_struct32
+ 	u32 gprs[NUM_GPRS];
+ 	u32 acrs[NUM_ACRS];
+ 	u32 orig_gpr2;
++	/* nb: there's a 4-byte hole here */
+ 	s390_fp_regs fp_regs;
+ 	/*
+ 	 * These per registers are in here so that gdb can modify them
+diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
+index 35827b9..75fea19 100644
+--- a/arch/s390/kernel/ptrace.c
++++ b/arch/s390/kernel/ptrace.c
+@@ -177,6 +177,13 @@ peek_user(struct task_struct *child, addr_t addr, addr_t data)
+ 		 */
+ 		tmp = (addr_t) task_pt_regs(child)->orig_gpr2;
+ 
++	} else if (addr < (addr_t) &dummy->regs.fp_regs) {
++		/*
++		 * prevent reads of padding hole between
++		 * orig_gpr2 and fp_regs on s390.
++		 */
++		tmp = 0;
++
+ 	} else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) {
+ 		/* 
+ 		 * floating point regs. are stored in the thread structure
+@@ -268,6 +275,13 @@ poke_user(struct task_struct *child, addr_t addr, addr_t data)
+ 		 */
+ 		task_pt_regs(child)->orig_gpr2 = data;
+ 
++	} else if (addr < (addr_t) &dummy->regs.fp_regs) {
++		/*
++		 * prevent writes of padding hole between
++		 * orig_gpr2 and fp_regs on s390.
++		 */
++		return 0;
++
+ 	} else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) {
+ 		/*
+ 		 * floating point regs. are stored in the thread structure
+@@ -409,6 +423,13 @@ peek_user_emu31(struct task_struct *child, addr_t addr, addr_t data)
+ 		 */
+ 		tmp = *(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4);
+ 
++	} else if (addr < (addr_t) &dummy32->regs.fp_regs) {
++		/*
++		 * prevent reads of padding hole between
++		 * orig_gpr2 and fp_regs on s390.
++		 */
++		tmp = 0;
++
+ 	} else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) {
+ 		/*
+ 		 * floating point regs. are stored in the thread structure 
+@@ -488,6 +509,13 @@ poke_user_emu31(struct task_struct *child, addr_t addr, addr_t data)
+ 		 */
+ 		*(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4) = tmp;
+ 
++	} else if (addr < (addr_t) &dummy32->regs.fp_regs) {
++		/*
++		 * prevent writess of padding hole between
++		 * orig_gpr2 and fp_regs on s390.
++		 */
++		return 0;
++
+ 	} else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) {
+ 		/*
+ 		 * floating point regs. are stored in the thread structure 
+diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
+index d569f60..b456609 100644
+--- a/arch/sparc64/kernel/of_device.c
++++ b/arch/sparc64/kernel/of_device.c
+@@ -170,7 +170,7 @@ static unsigned int of_bus_default_get_flags(const u32 *addr)
+ 
+ static int of_bus_pci_match(struct device_node *np)
+ {
+-	if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) {
++	if (!strcmp(np->name, "pci")) {
+ 		const char *model = of_get_property(np, "model", NULL);
+ 
+ 		if (model && !strcmp(model, "SUNW,simba"))
+@@ -201,7 +201,7 @@ static int of_bus_simba_match(struct device_node *np)
+ 	/* Treat PCI busses lacking ranges property just like
+ 	 * simba.
+ 	 */
+-	if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) {
++	if (!strcmp(np->name, "pci")) {
+ 		if (!of_find_property(np, "ranges", NULL))
+ 			return 1;
+ 	}
+@@ -426,7 +426,7 @@ static int __init use_1to1_mapping(struct device_node *pp)
+ 	 * it lacks a ranges property, and this will include
+ 	 * cases like Simba.
+ 	 */
+-	if (!strcmp(pp->type, "pci") || !strcmp(pp->type, "pciex"))
++	if (!strcmp(pp->name, "pci"))
+ 		return 0;
+ 
+ 	return 1;
+@@ -709,8 +709,7 @@ static unsigned int __init build_one_device_irq(struct of_device *op,
+ 				break;
+ 			}
+ 		} else {
+-			if (!strcmp(pp->type, "pci") ||
+-			    !strcmp(pp->type, "pciex")) {
++			if (!strcmp(pp->name, "pci")) {
+ 				unsigned int this_orig_irq = irq;
+ 
+ 				irq = pci_irq_swizzle(dp, pp, irq);
+diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
+index 112b09f..2db2148 100644
+--- a/arch/sparc64/kernel/pci.c
++++ b/arch/sparc64/kernel/pci.c
+@@ -425,7 +425,7 @@ struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,
+ 	dev->current_state = 4;		/* unknown power state */
+ 	dev->error_state = pci_channel_io_normal;
+ 
+-	if (!strcmp(type, "pci") || !strcmp(type, "pciex")) {
++	if (!strcmp(node->name, "pci")) {
+ 		/* a PCI-PCI bridge */
+ 		dev->hdr_type = PCI_HEADER_TYPE_BRIDGE;
+ 		dev->rom_base_reg = PCI_ROM_ADDRESS1;
+diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c
+index 994dbe0..21128cf 100644
+--- a/arch/sparc64/kernel/pci_psycho.c
++++ b/arch/sparc64/kernel/pci_psycho.c
+@@ -575,7 +575,7 @@ static irqreturn_t psycho_pcierr_intr_other(struct pci_pbm_info *pbm, int is_pbm
+ {
+ 	unsigned long csr_reg, csr, csr_error_bits;
+ 	irqreturn_t ret = IRQ_NONE;
+-	u16 stat;
++	u16 stat, *addr;
+ 
+ 	if (is_pbm_a) {
+ 		csr_reg = pbm->controller_regs + PSYCHO_PCIA_CTRL;
+@@ -597,7 +597,9 @@ static irqreturn_t psycho_pcierr_intr_other(struct pci_pbm_info *pbm, int is_pbm
+ 			printk("%s: PCI SERR signal asserted.\n", pbm->name);
+ 		ret = IRQ_HANDLED;
+ 	}
+-	pci_read_config_word(pbm->pci_bus->self, PCI_STATUS, &stat);
++	addr = psycho_pci_config_mkaddr(pbm, pbm->pci_first_busno,
++					0, PCI_STATUS);
++	pci_config_read16(addr, &stat);
+ 	if (stat & (PCI_STATUS_PARITY |
+ 		    PCI_STATUS_SIG_TARGET_ABORT |
+ 		    PCI_STATUS_REC_TARGET_ABORT |
+@@ -605,7 +607,7 @@ static irqreturn_t psycho_pcierr_intr_other(struct pci_pbm_info *pbm, int is_pbm
+ 		    PCI_STATUS_SIG_SYSTEM_ERROR)) {
+ 		printk("%s: PCI bus error, PCI_STATUS[%04x]\n",
+ 		       pbm->name, stat);
+-		pci_write_config_word(pbm->pci_bus->self, PCI_STATUS, 0xffff);
++		pci_config_write16(addr, 0xffff);
+ 		ret = IRQ_HANDLED;
+ 	}
+ 	return ret;
+@@ -744,16 +746,16 @@ static void psycho_register_error_handlers(struct pci_pbm_info *pbm)
+ 	 * the second will just error out since we do not pass in
+ 	 * IRQF_SHARED.
+ 	 */
+-	err = request_irq(op->irqs[1], psycho_ue_intr, 0,
++	err = request_irq(op->irqs[1], psycho_ue_intr, IRQF_SHARED,
+ 			  "PSYCHO_UE", pbm);
+-	err = request_irq(op->irqs[2], psycho_ce_intr, 0,
++	err = request_irq(op->irqs[2], psycho_ce_intr, IRQF_SHARED,
+ 			  "PSYCHO_CE", pbm);
+ 
+ 	/* This one, however, ought not to fail.  We can just warn
+ 	 * about it since the system can still operate properly even
+ 	 * if this fails.
+ 	 */
+-	err = request_irq(op->irqs[0], psycho_pcierr_intr, 0,
++	err = request_irq(op->irqs[0], psycho_pcierr_intr, IRQF_SHARED,
+ 			  "PSYCHO_PCIERR", pbm);
+ 	if (err)
+ 		printk(KERN_WARNING "%s: Could not register PCIERR, "
+diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c
+index ed03a18..a72f793 100644
+--- a/arch/sparc64/kernel/prom.c
++++ b/arch/sparc64/kernel/prom.c
+@@ -156,55 +156,11 @@ static unsigned long psycho_pcislot_imap_offset(unsigned long ino)
+ 		return PSYCHO_IMAP_B_SLOT0 + (slot * 8);
+ }
+ 
+-#define PSYCHO_IMAP_SCSI	0x1000UL
+-#define PSYCHO_IMAP_ETH		0x1008UL
+-#define PSYCHO_IMAP_BPP		0x1010UL
+-#define PSYCHO_IMAP_AU_REC	0x1018UL
+-#define PSYCHO_IMAP_AU_PLAY	0x1020UL
+-#define PSYCHO_IMAP_PFAIL	0x1028UL
+-#define PSYCHO_IMAP_KMS		0x1030UL
+-#define PSYCHO_IMAP_FLPY	0x1038UL
+-#define PSYCHO_IMAP_SHW		0x1040UL
+-#define PSYCHO_IMAP_KBD		0x1048UL
+-#define PSYCHO_IMAP_MS		0x1050UL
+-#define PSYCHO_IMAP_SER		0x1058UL
+-#define PSYCHO_IMAP_TIM0	0x1060UL
+-#define PSYCHO_IMAP_TIM1	0x1068UL
+-#define PSYCHO_IMAP_UE		0x1070UL
+-#define PSYCHO_IMAP_CE		0x1078UL
+-#define PSYCHO_IMAP_A_ERR	0x1080UL
+-#define PSYCHO_IMAP_B_ERR	0x1088UL
+-#define PSYCHO_IMAP_PMGMT	0x1090UL
+-#define PSYCHO_IMAP_GFX		0x1098UL
+-#define PSYCHO_IMAP_EUPA	0x10a0UL
+-
+-static unsigned long __psycho_onboard_imap_off[] = {
+-/*0x20*/	PSYCHO_IMAP_SCSI,
+-/*0x21*/	PSYCHO_IMAP_ETH,
+-/*0x22*/	PSYCHO_IMAP_BPP,
+-/*0x23*/	PSYCHO_IMAP_AU_REC,
+-/*0x24*/	PSYCHO_IMAP_AU_PLAY,
+-/*0x25*/	PSYCHO_IMAP_PFAIL,
+-/*0x26*/	PSYCHO_IMAP_KMS,
+-/*0x27*/	PSYCHO_IMAP_FLPY,
+-/*0x28*/	PSYCHO_IMAP_SHW,
+-/*0x29*/	PSYCHO_IMAP_KBD,
+-/*0x2a*/	PSYCHO_IMAP_MS,
+-/*0x2b*/	PSYCHO_IMAP_SER,
+-/*0x2c*/	PSYCHO_IMAP_TIM0,
+-/*0x2d*/	PSYCHO_IMAP_TIM1,
+-/*0x2e*/	PSYCHO_IMAP_UE,
+-/*0x2f*/	PSYCHO_IMAP_CE,
+-/*0x30*/	PSYCHO_IMAP_A_ERR,
+-/*0x31*/	PSYCHO_IMAP_B_ERR,
+-/*0x32*/	PSYCHO_IMAP_PMGMT,
+-/*0x33*/	PSYCHO_IMAP_GFX,
+-/*0x34*/	PSYCHO_IMAP_EUPA,
+-};
++#define PSYCHO_OBIO_IMAP_BASE	0x1000UL
++
+ #define PSYCHO_ONBOARD_IRQ_BASE		0x20
+-#define PSYCHO_ONBOARD_IRQ_LAST		0x34
+ #define psycho_onboard_imap_offset(__ino) \
+-	__psycho_onboard_imap_off[(__ino) - PSYCHO_ONBOARD_IRQ_BASE]
++	(PSYCHO_OBIO_IMAP_BASE + (((__ino) & 0x1f) << 3))
+ 
+ #define PSYCHO_ICLR_A_SLOT0	0x1400UL
+ #define PSYCHO_ICLR_SCSI	0x1800UL
+@@ -228,10 +184,6 @@ static unsigned int psycho_irq_build(struct device_node *dp,
+ 		imap_off = psycho_pcislot_imap_offset(ino);
+ 	} else {
+ 		/* Onboard device */
+-		if (ino > PSYCHO_ONBOARD_IRQ_LAST) {
+-			prom_printf("psycho_irq_build: Wacky INO [%x]\n", ino);
+-			prom_halt();
+-		}
+ 		imap_off = psycho_onboard_imap_offset(ino);
+ 	}
+ 
+@@ -318,23 +270,6 @@ static void sabre_wsync_handler(unsigned int ino, void *_arg1, void *_arg2)
+ 
+ #define SABRE_IMAP_A_SLOT0	0x0c00UL
+ #define SABRE_IMAP_B_SLOT0	0x0c20UL
+-#define SABRE_IMAP_SCSI		0x1000UL
+-#define SABRE_IMAP_ETH		0x1008UL
+-#define SABRE_IMAP_BPP		0x1010UL
+-#define SABRE_IMAP_AU_REC	0x1018UL
+-#define SABRE_IMAP_AU_PLAY	0x1020UL
+-#define SABRE_IMAP_PFAIL	0x1028UL
+-#define SABRE_IMAP_KMS		0x1030UL
+-#define SABRE_IMAP_FLPY		0x1038UL
+-#define SABRE_IMAP_SHW		0x1040UL
+-#define SABRE_IMAP_KBD		0x1048UL
+-#define SABRE_IMAP_MS		0x1050UL
+-#define SABRE_IMAP_SER		0x1058UL
+-#define SABRE_IMAP_UE		0x1070UL
+-#define SABRE_IMAP_CE		0x1078UL
+-#define SABRE_IMAP_PCIERR	0x1080UL
+-#define SABRE_IMAP_GFX		0x1098UL
+-#define SABRE_IMAP_EUPA		0x10a0UL
+ #define SABRE_ICLR_A_SLOT0	0x1400UL
+ #define SABRE_ICLR_B_SLOT0	0x1480UL
+ #define SABRE_ICLR_SCSI		0x1800UL
+@@ -364,33 +299,10 @@ static unsigned long sabre_pcislot_imap_offset(unsigned long ino)
+ 		return SABRE_IMAP_B_SLOT0 + (slot * 8);
+ }
+ 
+-static unsigned long __sabre_onboard_imap_off[] = {
+-/*0x20*/	SABRE_IMAP_SCSI,
+-/*0x21*/	SABRE_IMAP_ETH,
+-/*0x22*/	SABRE_IMAP_BPP,
+-/*0x23*/	SABRE_IMAP_AU_REC,
+-/*0x24*/	SABRE_IMAP_AU_PLAY,
+-/*0x25*/	SABRE_IMAP_PFAIL,
+-/*0x26*/	SABRE_IMAP_KMS,
+-/*0x27*/	SABRE_IMAP_FLPY,
+-/*0x28*/	SABRE_IMAP_SHW,
+-/*0x29*/	SABRE_IMAP_KBD,
+-/*0x2a*/	SABRE_IMAP_MS,
+-/*0x2b*/	SABRE_IMAP_SER,
+-/*0x2c*/	0 /* reserved */,
+-/*0x2d*/	0 /* reserved */,
+-/*0x2e*/	SABRE_IMAP_UE,
+-/*0x2f*/	SABRE_IMAP_CE,
+-/*0x30*/	SABRE_IMAP_PCIERR,
+-/*0x31*/	0 /* reserved */,
+-/*0x32*/	0 /* reserved */,
+-/*0x33*/	SABRE_IMAP_GFX,
+-/*0x34*/	SABRE_IMAP_EUPA,
+-};
+-#define SABRE_ONBOARD_IRQ_BASE		0x20
+-#define SABRE_ONBOARD_IRQ_LAST		0x30
++#define SABRE_OBIO_IMAP_BASE	0x1000UL
++#define SABRE_ONBOARD_IRQ_BASE	0x20
+ #define sabre_onboard_imap_offset(__ino) \
+-	__sabre_onboard_imap_off[(__ino) - SABRE_ONBOARD_IRQ_BASE]
++	(SABRE_OBIO_IMAP_BASE + (((__ino) & 0x1f) << 3))
+ 
+ #define sabre_iclr_offset(ino)					      \
+ 	((ino & 0x20) ? (SABRE_ICLR_SCSI + (((ino) & 0x1f) << 3)) :  \
+@@ -453,10 +365,6 @@ static unsigned int sabre_irq_build(struct device_node *dp,
+ 		imap_off = sabre_pcislot_imap_offset(ino);
+ 	} else {
+ 		/* onboard device */
+-		if (ino > SABRE_ONBOARD_IRQ_LAST) {
+-			prom_printf("sabre_irq_build: Wacky INO [%x]\n", ino);
+-			prom_halt();
+-		}
+ 		imap_off = sabre_onboard_imap_offset(ino);
+ 	}
+ 
+diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
+index 65c7857..d5ccf42 100644
+--- a/arch/x86/kernel/alternative.c
++++ b/arch/x86/kernel/alternative.c
+@@ -1,6 +1,6 @@
+ #include <linux/module.h>
+ #include <linux/sched.h>
+-#include <linux/spinlock.h>
++#include <linux/mutex.h>
+ #include <linux/list.h>
+ #include <linux/kprobes.h>
+ #include <linux/mm.h>
+@@ -279,7 +279,7 @@ struct smp_alt_module {
+ 	struct list_head next;
+ };
+ static LIST_HEAD(smp_alt_modules);
+-static DEFINE_SPINLOCK(smp_alt);
++static DEFINE_MUTEX(smp_alt);
+ static int smp_mode = 1;	/* protected by smp_alt */
+ 
+ void alternatives_smp_module_add(struct module *mod, char *name,
+@@ -312,12 +312,12 @@ void alternatives_smp_module_add(struct module *mod, char *name,
+ 		__func__, smp->locks, smp->locks_end,
+ 		smp->text, smp->text_end, smp->name);
+ 
+-	spin_lock(&smp_alt);
++	mutex_lock(&smp_alt);
+ 	list_add_tail(&smp->next, &smp_alt_modules);
+ 	if (boot_cpu_has(X86_FEATURE_UP))
+ 		alternatives_smp_unlock(smp->locks, smp->locks_end,
+ 					smp->text, smp->text_end);
+-	spin_unlock(&smp_alt);
++	mutex_unlock(&smp_alt);
+ }
+ 
+ void alternatives_smp_module_del(struct module *mod)
+@@ -327,17 +327,17 @@ void alternatives_smp_module_del(struct module *mod)
+ 	if (smp_alt_once || noreplace_smp)
+ 		return;
+ 
+-	spin_lock(&smp_alt);
++	mutex_lock(&smp_alt);
+ 	list_for_each_entry(item, &smp_alt_modules, next) {
+ 		if (mod != item->mod)
+ 			continue;
+ 		list_del(&item->next);
+-		spin_unlock(&smp_alt);
++		mutex_unlock(&smp_alt);
+ 		DPRINTK("%s: %s\n", __func__, item->name);
+ 		kfree(item);
+ 		return;
+ 	}
+-	spin_unlock(&smp_alt);
++	mutex_unlock(&smp_alt);
+ }
+ 
+ void alternatives_smp_switch(int smp)
+@@ -359,7 +359,7 @@ void alternatives_smp_switch(int smp)
+ 		return;
+ 	BUG_ON(!smp && (num_online_cpus() > 1));
+ 
+-	spin_lock(&smp_alt);
++	mutex_lock(&smp_alt);
+ 
+ 	/*
+ 	 * Avoid unnecessary switches because it forces JIT based VMs to
+@@ -383,7 +383,7 @@ void alternatives_smp_switch(int smp)
+ 						mod->text, mod->text_end);
+ 	}
+ 	smp_mode = smp;
+-	spin_unlock(&smp_alt);
++	mutex_unlock(&smp_alt);
+ }
+ 
+ #endif
+diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c
+index 4b99b1b..c17fdb0 100644
+--- a/arch/x86/kernel/apic_32.c
++++ b/arch/x86/kernel/apic_32.c
+@@ -552,8 +552,31 @@ void __init setup_boot_APIC_clock(void)
+ 	setup_APIC_timer();
+ }
+ 
+-void __devinit setup_secondary_APIC_clock(void)
++/*
++ * AMD C1E enabled CPUs have a real nasty problem: Some BIOSes set the
++ * C1E flag only in the secondary CPU, so when we detect the wreckage
++ * we already have enabled the boot CPU local apic timer. Check, if
++ * disable_apic_timer is set and the DUMMY flag is cleared. If yes,
++ * set the DUMMY flag again and force the broadcast mode in the
++ * clockevents layer.
++ */
++static void __cpuinit check_boot_apic_timer_broadcast(void)
+ {
++	if (!local_apic_timer_disabled ||
++	    (lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY))
++		return;
++
++	lapic_clockevent.features |= CLOCK_EVT_FEAT_DUMMY;
++
++	local_irq_enable();
++	clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_FORCE,
++			   &boot_cpu_physical_apicid);
++	local_irq_disable();
++}
++
++void __cpuinit setup_secondary_APIC_clock(void)
++{
++	check_boot_apic_timer_broadcast();
+ 	setup_APIC_timer();
+ }
+ 
+@@ -1513,6 +1536,9 @@ void __cpuinit generic_processor_info(int apicid, int version)
+ 		 */
+ 		cpu = 0;
+ 
++	if (apicid > max_physical_apicid)
++		max_physical_apicid = apicid;
++
+ 	/*
+ 	 * Would be preferable to switch to bigsmp when CONFIG_HOTPLUG_CPU=y
+ 	 * but we need to work other dependencies like SMP_SUSPEND etc
+@@ -1520,7 +1546,7 @@ void __cpuinit generic_processor_info(int apicid, int version)
+ 	 * if (CPU_HOTPLUG_ENABLED || num_processors > 8)
+ 	 *       - Ashok Raj <ashok.raj@intel.com>
+ 	 */
+-	if (num_processors > 8) {
++	if (max_physical_apicid >= 8) {
+ 		switch (boot_cpu_data.x86_vendor) {
+ 		case X86_VENDOR_INTEL:
+ 			if (!APIC_XAPIC(version)) {
+diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
+index 0633cfd..8472bdf 100644
+--- a/arch/x86/kernel/apic_64.c
++++ b/arch/x86/kernel/apic_64.c
+@@ -1090,6 +1090,9 @@ void __cpuinit generic_processor_info(int apicid, int version)
+ 		 */
+ 		cpu = 0;
+ 	}
++	if (apicid > max_physical_apicid)
++		max_physical_apicid = apicid;
++
+ 	/* are we being called early in kernel startup? */
+ 	if (x86_cpu_to_apicid_early_ptr) {
+ 		u16 *cpu_to_apicid = x86_cpu_to_apicid_early_ptr;
+diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
+index 170d2f5..912a84b 100644
+--- a/arch/x86/kernel/cpu/bugs.c
++++ b/arch/x86/kernel/cpu/bugs.c
+@@ -50,6 +50,8 @@ static double __initdata y = 3145727.0;
+  */
+ static void __init check_fpu(void)
+ {
++	s32 fdiv_bug;
++
+ 	if (!boot_cpu_data.hard_math) {
+ #ifndef CONFIG_MATH_EMULATION
+ 		printk(KERN_EMERG "No coprocessor found and no math emulation present.\n");
+@@ -70,8 +72,10 @@ static void __init check_fpu(void)
+ 		"fistpl %0\n\t"
+ 		"fwait\n\t"
+ 		"fninit"
+-		: "=m" (*&boot_cpu_data.fdiv_bug)
++		: "=m" (*&fdiv_bug)
+ 		: "m" (*&x), "m" (*&y));
++
++	boot_cpu_data.fdiv_bug = fdiv_bug;
+ 	if (boot_cpu_data.fdiv_bug)
+ 		printk("Hmm, FPU with FDIV bug.\n");
+ }
+diff --git a/arch/x86/kernel/e820_32.c b/arch/x86/kernel/e820_32.c
+index ed733e7..a540c4e 100644
+--- a/arch/x86/kernel/e820_32.c
++++ b/arch/x86/kernel/e820_32.c
+@@ -697,7 +697,7 @@ static int __init parse_memmap(char *arg)
+ 	if (!arg)
+ 		return -EINVAL;
+ 
+-	if (strcmp(arg, "exactmap") == 0) {
++	if (strncmp(arg, "exactmap", 8) == 0) {
+ #ifdef CONFIG_CRASH_DUMP
+ 		/* If we are doing a crash dump, we
+ 		 * still need to know the real mem
+diff --git a/arch/x86/kernel/e820_64.c b/arch/x86/kernel/e820_64.c
+index 124480c..4da8e2b 100644
+--- a/arch/x86/kernel/e820_64.c
++++ b/arch/x86/kernel/e820_64.c
+@@ -776,7 +776,7 @@ static int __init parse_memmap_opt(char *p)
+ 	char *oldp;
+ 	unsigned long long start_at, mem_size;
+ 
+-	if (!strcmp(p, "exactmap")) {
++	if (!strncmp(p, "exactmap", 8)) {
+ #ifdef CONFIG_CRASH_DUMP
+ 		/*
+ 		 * If we are doing a crash dump, we still need to know
+diff --git a/arch/x86/kernel/genapic_64.c b/arch/x86/kernel/genapic_64.c
+index cbaaf69..1fa8be5 100644
+--- a/arch/x86/kernel/genapic_64.c
++++ b/arch/x86/kernel/genapic_64.c
+@@ -51,7 +51,7 @@ void __init setup_apic_routing(void)
+ 	else
+ #endif
+ 
+-	if (num_possible_cpus() <= 8)
++	if (max_physical_apicid < 8)
+ 		genapic = &apic_flat;
+ 	else
+ 		genapic = &apic_physflat;
+diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
+index e25c57b..d946c37 100644
+--- a/arch/x86/kernel/head64.c
++++ b/arch/x86/kernel/head64.c
+@@ -135,6 +135,7 @@ void __init x86_64_start_kernel(char * real_mode_data)
+ 	BUILD_BUG_ON(!(MODULES_VADDR > __START_KERNEL));
+ 	BUILD_BUG_ON(!(((MODULES_END - 1) & PGDIR_MASK) ==
+ 				(__START_KERNEL & PGDIR_MASK)));
++	BUILD_BUG_ON(__fix_to_virt(__end_of_fixed_addresses) <= MODULES_END);
+ 
+ 	/* clear bss before set_intr_gate with early_idt_handler */
+ 	clear_bss();
+diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
+index 9b5cfcd..0f3e379 100644
+--- a/arch/x86/kernel/hpet.c
++++ b/arch/x86/kernel/hpet.c
+@@ -223,8 +223,8 @@ static void hpet_legacy_clockevent_register(void)
+ 	/* Calculate the min / max delta */
+ 	hpet_clockevent.max_delta_ns = clockevent_delta2ns(0x7FFFFFFF,
+ 							   &hpet_clockevent);
+-	hpet_clockevent.min_delta_ns = clockevent_delta2ns(0x30,
+-							   &hpet_clockevent);
++	/* 5 usec minimum reprogramming delta. */
++	hpet_clockevent.min_delta_ns = 5000;
+ 
+ 	/*
+ 	 * Start hpet with the boot cpu mask and make it
+@@ -283,15 +283,22 @@ static void hpet_legacy_set_mode(enum clock_event_mode mode,
+ }
+ 
+ static int hpet_legacy_next_event(unsigned long delta,
+-			   struct clock_event_device *evt)
++				  struct clock_event_device *evt)
+ {
+-	unsigned long cnt;
++	u32 cnt;
+ 
+ 	cnt = hpet_readl(HPET_COUNTER);
+-	cnt += delta;
++	cnt += (u32) delta;
+ 	hpet_writel(cnt, HPET_T0_CMP);
+ 
+-	return ((long)(hpet_readl(HPET_COUNTER) - cnt ) > 0) ? -ETIME : 0;
++	/*
++	 * We need to read back the CMP register to make sure that
++	 * what we wrote hit the chip before we compare it to the
++	 * counter.
++	 */
++	WARN_ON((u32)hpet_readl(HPET_T0_CMP) != cnt);
++
++	return (s32)((u32)hpet_readl(HPET_COUNTER) - cnt) >= 0 ? -ETIME : 0;
+ }
+ 
+ /*
+diff --git a/arch/x86/kernel/io_delay.c b/arch/x86/kernel/io_delay.c
+index 1c3a66a..720d260 100644
+--- a/arch/x86/kernel/io_delay.c
++++ b/arch/x86/kernel/io_delay.c
+@@ -92,6 +92,14 @@ static struct dmi_system_id __initdata io_delay_0xed_port_dmi_table[] = {
+ 			DMI_MATCH(DMI_BOARD_NAME, "30BF")
+ 		}
+ 	},
++	{
++		.callback	= dmi_io_delay_0xed_port,
++		.ident		= "Presario F700",
++		.matches	= {
++			DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
++			DMI_MATCH(DMI_BOARD_NAME, "30D3")
++		}
++	},
+ 	{ }
+ };
+ 
+diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c
+index 404683b..d5b8691 100644
+--- a/arch/x86/kernel/mpparse.c
++++ b/arch/x86/kernel/mpparse.c
+@@ -402,6 +402,11 @@ static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early)
+ 		++mpc_record;
+ #endif
+ 	}
++
++#ifdef CONFIG_X86_GENERICARCH
++       generic_bigsmp_probe();
++#endif
++
+ 	setup_apic_routing();
+ 	if (!num_processors)
+ 		printk(KERN_ERR "MPTABLE: no processors registered!\n");
+diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
+index 6f80b85..03e357a 100644
+--- a/arch/x86/kernel/setup.c
++++ b/arch/x86/kernel/setup.c
+@@ -17,6 +17,7 @@ unsigned int num_processors;
+ unsigned disabled_cpus __cpuinitdata;
+ /* Processor that is doing the boot up */
+ unsigned int boot_cpu_physical_apicid = -1U;
++unsigned int max_physical_apicid;
+ EXPORT_SYMBOL(boot_cpu_physical_apicid);
+ 
+ DEFINE_PER_CPU(u16, x86_cpu_to_apicid) = BAD_APICID;
+diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
+index 5a2f8e0..3bf22f0 100644
+--- a/arch/x86/kernel/setup_32.c
++++ b/arch/x86/kernel/setup_32.c
+@@ -914,6 +914,12 @@ void __init setup_arch(char **cmdline_p)
+ 
+ #ifdef CONFIG_ACPI
+ 	acpi_boot_init();
++#endif
++
++#ifdef CONFIG_X86_LOCAL_APIC
++	if (smp_found_config)
++		get_smp_config();
++#endif
+ 
+ #if defined(CONFIG_SMP) && defined(CONFIG_X86_PC)
+ 	if (def_to_bigsmp)
+@@ -921,11 +927,6 @@ void __init setup_arch(char **cmdline_p)
+ 			"CONFIG_X86_PC cannot handle it.\nUse "
+ 			"CONFIG_X86_GENERICARCH or CONFIG_X86_BIGSMP.\n");
+ #endif
+-#endif
+-#ifdef CONFIG_X86_LOCAL_APIC
+-	if (smp_found_config)
+-		get_smp_config();
+-#endif
+ 
+ 	e820_register_memory();
+ 	e820_mark_nosave_regions();
+diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c
+index e53b267..c56034d 100644
+--- a/arch/x86/kernel/signal_64.c
++++ b/arch/x86/kernel/signal_64.c
+@@ -53,6 +53,68 @@ sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss,
+ 	return do_sigaltstack(uss, uoss, regs->sp);
+ }
+ 
++/*
++ * Signal frame handlers.
++ */
++
++static inline int save_i387(struct _fpstate __user *buf)
++{
++	struct task_struct *tsk = current;
++	int err = 0;
++
++	BUILD_BUG_ON(sizeof(struct user_i387_struct) !=
++			sizeof(tsk->thread.xstate->fxsave));
++
++	if ((unsigned long)buf % 16)
++		printk("save_i387: bad fpstate %p\n", buf);
++
++	if (!used_math())
++		return 0;
++	clear_used_math(); /* trigger finit */
++	if (task_thread_info(tsk)->status & TS_USEDFPU) {
++		err = save_i387_checking((struct i387_fxsave_struct __user *)
++					 buf);
++		if (err)
++			return err;
++		task_thread_info(tsk)->status &= ~TS_USEDFPU;
++		stts();
++	} else {
++		if (__copy_to_user(buf, &tsk->thread.xstate->fxsave,
++				   sizeof(struct i387_fxsave_struct)))
++			return -1;
++	}
++	return 1;
++}
++
++/*
++ * This restores directly out of user space. Exceptions are handled.
++ */
++static inline int restore_i387(struct _fpstate __user *buf)
++{
++	struct task_struct *tsk = current;
++	int err;
++
++	if (!used_math()) {
++		err = init_fpu(tsk);
++		if (err)
++			return err;
++	}
++
++	if (!(task_thread_info(current)->status & TS_USEDFPU)) {
++		clts();
++		task_thread_info(current)->status |= TS_USEDFPU;
++	}
++	err = restore_fpu_checking((__force struct i387_fxsave_struct *)buf);
++	if (unlikely(err)) {
++		/*
++		 * Encountered an error while doing the restore from the
++		 * user buffer, clear the fpu state.
++		 */
++		clear_fpu(tsk);
++		clear_used_math();
++	}
++	return err;
++}
+ 
+ /*
+  * Do a signal return; undo the signal stack.
+diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c
+index adff76e..9e26f39 100644
+--- a/arch/x86/kernel/traps_64.c
++++ b/arch/x86/kernel/traps_64.c
+@@ -1141,7 +1141,14 @@ asmlinkage void math_state_restore(void)
+ 	}
+ 
+ 	clts();			/* Allow maths ops (or we recurse) */
+-	restore_fpu_checking(&me->thread.xstate->fxsave);
++ 	/*
++ 	 * Paranoid restore. send a SIGSEGV if we fail to restore the state.
++ 	 */
++ 	if (unlikely(restore_fpu_checking(&me->thread.xstate->fxsave))) {
++ 		stts();
++ 		force_sig(SIGSEGV, me);
++ 		return;
++ 	}
+ 	task_thread_info(me)->status |= TS_USEDFPU;
+ 	me->fpu_counter++;
+ }
+diff --git a/arch/x86/kernel/vmi_32.c b/arch/x86/kernel/vmi_32.c
+index 956f389..9b3e795 100644
+--- a/arch/x86/kernel/vmi_32.c
++++ b/arch/x86/kernel/vmi_32.c
+@@ -234,7 +234,7 @@ static void vmi_write_ldt_entry(struct desc_struct *dt, int entry,
+ 				const void *desc)
+ {
+ 	u32 *ldt_entry = (u32 *)desc;
+-	vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[1]);
++	vmi_ops.write_ldt_entry(dt, entry, ldt_entry[0], ldt_entry[1]);
+ }
+ 
+ static void vmi_load_sp0(struct tss_struct *tss,
+diff --git a/arch/x86/kernel/vsmp_64.c b/arch/x86/kernel/vsmp_64.c
+index ba8c0b7..a3c9869 100644
+--- a/arch/x86/kernel/vsmp_64.c
++++ b/arch/x86/kernel/vsmp_64.c
+@@ -58,7 +58,7 @@ static void vsmp_irq_enable(void)
+ 	native_restore_fl((flags | X86_EFLAGS_IF) & (~X86_EFLAGS_AC));
+ }
+ 
+-static unsigned __init vsmp_patch(u8 type, u16 clobbers, void *ibuf,
++static unsigned __init_or_module vsmp_patch(u8 type, u16 clobbers, void *ibuf,
+ 				  unsigned long addr, unsigned len)
+ {
+ 	switch (type) {
+diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
+index 7d6071d..45e2280 100644
+--- a/arch/x86/kvm/svm.c
++++ b/arch/x86/kvm/svm.c
+@@ -60,6 +60,7 @@ static int npt = 1;
+ module_param(npt, int, S_IRUGO);
+ 
+ static void kvm_reput_irq(struct vcpu_svm *svm);
++static void svm_flush_tlb(struct kvm_vcpu *vcpu);
+ 
+ static inline struct vcpu_svm *to_svm(struct kvm_vcpu *vcpu)
+ {
+@@ -879,6 +880,10 @@ set:
+ static void svm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4)
+ {
+ 	unsigned long host_cr4_mce = read_cr4() & X86_CR4_MCE;
++	unsigned long old_cr4 = to_svm(vcpu)->vmcb->save.cr4;
++
++	if (npt_enabled && ((old_cr4 ^ cr4) & X86_CR4_PGE))
++		force_new_asid(vcpu);
+ 
+ 	vcpu->arch.cr4 = cr4;
+ 	if (!npt_enabled)
+@@ -1017,6 +1022,15 @@ static int pf_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run)
+ 
+ 	fault_address  = svm->vmcb->control.exit_info_2;
+ 	error_code = svm->vmcb->control.exit_info_1;
++
++	/*
++	 * FIXME: Tis shouldn't be necessary here, but there is a flush
++	 * missing in the MMU code. Until we find this bug, flush the
++	 * complete TLB here on an NPF
++	 */
++	if (npt_enabled)
++		svm_flush_tlb(&svm->vcpu);
++
+ 	if (event_injection)
+ 		kvm_mmu_unprotect_page_virt(&svm->vcpu, fault_address);
+ 	return kvm_mmu_page_fault(&svm->vcpu, fault_address, error_code);
+diff --git a/arch/x86/mach-generic/bigsmp.c b/arch/x86/mach-generic/bigsmp.c
+index 95fc463..2a24301 100644
+--- a/arch/x86/mach-generic/bigsmp.c
++++ b/arch/x86/mach-generic/bigsmp.c
+@@ -48,7 +48,7 @@ static const struct dmi_system_id bigsmp_dmi_table[] = {
+ static int probe_bigsmp(void)
+ {
+ 	if (def_to_bigsmp)
+-	dmi_bigsmp = 1;
++		dmi_bigsmp = 1;
+ 	else
+ 		dmi_check_system(bigsmp_dmi_table);
+ 	return dmi_bigsmp;
+diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
+index 60bcb5b..b384297 100644
+--- a/arch/x86/mm/pageattr.c
++++ b/arch/x86/mm/pageattr.c
+@@ -789,7 +789,7 @@ int set_memory_uc(unsigned long addr, int numpages)
+ 	/*
+ 	 * for now UC MINUS. see comments in ioremap_nocache()
+ 	 */
+-	if (reserve_memtype(addr, addr + numpages * PAGE_SIZE,
++	if (reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
+ 			    _PAGE_CACHE_UC_MINUS, NULL))
+ 		return -EINVAL;
+ 
+@@ -808,7 +808,7 @@ int set_memory_wc(unsigned long addr, int numpages)
+ 	if (!pat_wc_enabled)
+ 		return set_memory_uc(addr, numpages);
+ 
+-	if (reserve_memtype(addr, addr + numpages * PAGE_SIZE,
++	if (reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
+ 		_PAGE_CACHE_WC, NULL))
+ 		return -EINVAL;
+ 
+@@ -824,7 +824,7 @@ int _set_memory_wb(unsigned long addr, int numpages)
+ 
+ int set_memory_wb(unsigned long addr, int numpages)
+ {
+-	free_memtype(addr, addr + numpages * PAGE_SIZE);
++	free_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE);
+ 
+ 	return _set_memory_wb(addr, numpages);
+ }
+diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
+index cc48d3f..d38d5d0 100644
+--- a/arch/x86/oprofile/nmi_int.c
++++ b/arch/x86/oprofile/nmi_int.c
+@@ -15,6 +15,7 @@
+ #include <linux/slab.h>
+ #include <linux/moduleparam.h>
+ #include <linux/kdebug.h>
++#include <linux/cpu.h>
+ #include <asm/nmi.h>
+ #include <asm/msr.h>
+ #include <asm/apic.h>
+@@ -28,23 +29,48 @@ static DEFINE_PER_CPU(unsigned long, saved_lvtpc);
+ 
+ static int nmi_start(void);
+ static void nmi_stop(void);
++static void nmi_cpu_start(void *dummy);
++static void nmi_cpu_stop(void *dummy);
+ 
+ /* 0 == registered but off, 1 == registered and on */
+ static int nmi_enabled = 0;
+ 
++#ifdef CONFIG_SMP
++static int oprofile_cpu_notifier(struct notifier_block *b, unsigned long action,
++				 void *data)
++{
++	int cpu = (unsigned long)data;
++	switch (action) {
++	case CPU_DOWN_FAILED:
++	case CPU_ONLINE:
++		smp_call_function_single(cpu, nmi_cpu_start, NULL, 0, 0);
++		break;
++	case CPU_DOWN_PREPARE:
++		smp_call_function_single(cpu, nmi_cpu_stop, NULL, 0, 1);
++		break;
++	}
++	return NOTIFY_DONE;
++}
++
++static struct notifier_block oprofile_cpu_nb = {
++	.notifier_call = oprofile_cpu_notifier
++};
++#endif
++
+ #ifdef CONFIG_PM
+ 
+ static int nmi_suspend(struct sys_device *dev, pm_message_t state)
+ {
++	/* Only one CPU left, just stop that one */
+ 	if (nmi_enabled == 1)
+-		nmi_stop();
++		nmi_cpu_stop(NULL);
+ 	return 0;
+ }
+ 
+ static int nmi_resume(struct sys_device *dev)
+ {
+ 	if (nmi_enabled == 1)
+-		nmi_start();
++		nmi_cpu_start(NULL);
+ 	return 0;
+ }
+ 
+@@ -448,6 +474,9 @@ int __init op_nmi_init(struct oprofile_operations *ops)
+ 	}
+ 
+ 	init_sysfs();
++#ifdef CONFIG_SMP
++	register_cpu_notifier(&oprofile_cpu_nb);
++#endif
+ 	using_nmi = 1;
+ 	ops->create_files = nmi_create_files;
+ 	ops->setup = nmi_setup;
+@@ -461,6 +490,10 @@ int __init op_nmi_init(struct oprofile_operations *ops)
+ 
+ void op_nmi_exit(void)
+ {
+-	if (using_nmi)
++	if (using_nmi) {
+ 		exit_sysfs();
++#ifdef CONFIG_SMP
++		unregister_cpu_notifier(&oprofile_cpu_nb);
++#endif
++	}
+ }
+diff --git a/crypto/async_tx/async_tx.c b/crypto/async_tx/async_tx.c
+index c6e772f..bfffb3d 100644
+--- a/crypto/async_tx/async_tx.c
++++ b/crypto/async_tx/async_tx.c
+@@ -136,7 +136,8 @@ async_tx_run_dependencies(struct dma_async_tx_descriptor *tx)
+ 		spin_lock_bh(&next->lock);
+ 		next->parent = NULL;
+ 		_next = next->next;
+-		next->next = NULL;
++		if (_next && _next->chan == chan)
++			next->next = NULL;
+ 		spin_unlock_bh(&next->lock);
+ 
+ 		next->tx_submit(next);
+diff --git a/drivers/accessibility/braille/braille_console.c b/drivers/accessibility/braille/braille_console.c
+index 0a5f6b2..d672cfe 100644
+--- a/drivers/accessibility/braille/braille_console.c
++++ b/drivers/accessibility/braille/braille_console.c
+@@ -376,6 +376,8 @@ int braille_register_console(struct console *console, int index,
+ 	console->flags |= CON_ENABLED;
+ 	console->index = index;
+ 	braille_co = console;
++	register_keyboard_notifier(&keyboard_notifier_block);
++	register_vt_notifier(&vt_notifier_block);
+ 	return 0;
+ }
+ 
+@@ -383,15 +385,8 @@ int braille_unregister_console(struct console *console)
+ {
+ 	if (braille_co != console)
+ 		return -EINVAL;
++	unregister_keyboard_notifier(&keyboard_notifier_block);
++	unregister_vt_notifier(&vt_notifier_block);
+ 	braille_co = NULL;
+ 	return 0;
+ }
+-
+-static int __init braille_init(void)
+-{
+-	register_keyboard_notifier(&keyboard_notifier_block);
+-	register_vt_notifier(&vt_notifier_block);
+-	return 0;
+-}
+-
+-console_initcall(braille_init);
+diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c
+index 8c06a53..6f4a5e1 100644
+--- a/drivers/acpi/processor_perflib.c
++++ b/drivers/acpi/processor_perflib.c
+@@ -70,7 +70,7 @@ static DEFINE_MUTEX(performance_mutex);
+  *  0 -> cpufreq low level drivers initialized -> consider _PPC values
+  *  1 -> ignore _PPC totally -> forced by user through boot param
+  */
+-static unsigned int ignore_ppc = -1;
++static int ignore_ppc = -1;
+ module_param(ignore_ppc, uint, 0644);
+ MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \
+ 		 "limited by BIOS, this should help");
+diff --git a/drivers/i2c/i2c-dev.c b/drivers/i2c/i2c-dev.c
+index d34c14c..436c7e1 100644
+--- a/drivers/i2c/i2c-dev.c
++++ b/drivers/i2c/i2c-dev.c
+@@ -581,8 +581,10 @@ static int __init i2c_dev_init(void)
+ 		goto out;
+ 
+ 	i2c_dev_class = class_create(THIS_MODULE, "i2c-dev");
+-	if (IS_ERR(i2c_dev_class))
++	if (IS_ERR(i2c_dev_class)) {
++		res = PTR_ERR(i2c_dev_class);
+ 		goto out_unreg_chrdev;
++	}
+ 
+ 	res = i2c_add_driver(&i2cdev_driver);
+ 	if (res)
+diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
+index f9ad960..55a104d 100644
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -103,8 +103,10 @@ static int mmc_blk_open(struct inode *inode, struct file *filp)
+ 			check_disk_change(inode->i_bdev);
+ 		ret = 0;
+ 
+-		if ((filp->f_mode & FMODE_WRITE) && md->read_only)
++		if ((filp->f_mode & FMODE_WRITE) && md->read_only) {
++			mmc_blk_put(md);
+ 			ret = -EROFS;
++		}
+ 	}
+ 
+ 	return ret;
+diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
+index e248f80..6fbfaf0 100644
+--- a/drivers/net/ixgbe/ixgbe_main.c
++++ b/drivers/net/ixgbe/ixgbe_main.c
+@@ -2258,6 +2258,12 @@ static int __devinit ixgbe_set_interrupt_capability(struct ixgbe_adapter
+ 	int vector, v_budget;
+ 
+ 	/*
++	 * Set the default interrupt throttle rate.
++	 */
++	adapter->rx_eitr = (1000000 / IXGBE_DEFAULT_ITR_RX_USECS);
++	adapter->tx_eitr = (1000000 / IXGBE_DEFAULT_ITR_TX_USECS);
++
++	/*
+ 	 * It's easy to be greedy for MSI-X vectors, but it really
+ 	 * doesn't do us much good if we have a lot more vectors
+ 	 * than CPU's.  So let's be conservative and only ask for
+diff --git a/drivers/net/niu.c b/drivers/net/niu.c
+index 918f802..78d90eb 100644
+--- a/drivers/net/niu.c
++++ b/drivers/net/niu.c
+@@ -5978,6 +5978,56 @@ static void niu_netif_start(struct niu *np)
+ 	niu_enable_interrupts(np, 1);
+ }
+ 
++static void niu_reset_buffers(struct niu *np)
++{
++	int i, j, k, err;
++
++	if (np->rx_rings) {
++		for (i = 0; i < np->num_rx_rings; i++) {
++			struct rx_ring_info *rp = &np->rx_rings[i];
++
++			for (j = 0, k = 0; j < MAX_RBR_RING_SIZE; j++) {
++				struct page *page;
++
++				page = rp->rxhash[j];
++				while (page) {
++					struct page *next =
++						(struct page *) page->mapping;
++					u64 base = page->index;
++					base = base >> RBR_DESCR_ADDR_SHIFT;
++					rp->rbr[k++] = cpu_to_le32(base);
++					page = next;
++				}
++			}
++			for (; k < MAX_RBR_RING_SIZE; k++) {
++				err = niu_rbr_add_page(np, rp, GFP_ATOMIC, k);
++				if (unlikely(err))
++					break;
++			}
++
++			rp->rbr_index = rp->rbr_table_size - 1;
++			rp->rcr_index = 0;
++			rp->rbr_pending = 0;
++			rp->rbr_refill_pending = 0;
++		}
++	}
++	if (np->tx_rings) {
++		for (i = 0; i < np->num_tx_rings; i++) {
++			struct tx_ring_info *rp = &np->tx_rings[i];
++
++			for (j = 0; j < MAX_TX_RING_SIZE; j++) {
++				if (rp->tx_buffs[j].skb)
++					(void) release_tx_packet(np, rp, j);
++			}
++
++			rp->pending = MAX_TX_RING_SIZE;
++			rp->prod = 0;
++			rp->cons = 0;
++			rp->wrap_bit = 0;
++		}
++	}
++}
++
+ static void niu_reset_task(struct work_struct *work)
+ {
+ 	struct niu *np = container_of(work, struct niu, reset_task);
+@@ -6000,6 +6050,12 @@ static void niu_reset_task(struct work_struct *work)
+ 
+ 	niu_stop_hw(np);
+ 
++	spin_unlock_irqrestore(&np->lock, flags);
++
++	niu_reset_buffers(np);
++
++	spin_lock_irqsave(&np->lock, flags);
++
+ 	err = niu_init_hw(np);
+ 	if (!err) {
+ 		np->timer.expires = jiffies + HZ;
+diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h
+index b4bf1e0..10c92bd 100644
+--- a/drivers/net/wireless/rt2x00/rt2x00.h
++++ b/drivers/net/wireless/rt2x00/rt2x00.h
+@@ -820,8 +820,10 @@ struct rt2x00_dev {
+ 
+ 	/*
+ 	 * Scheduled work.
++	 * NOTE: intf_work will use ieee80211_iterate_active_interfaces()
++	 * which means it cannot be placed on the hw->workqueue
++	 * due to RTNL locking requirements.
+ 	 */
+-	struct workqueue_struct *workqueue;
+ 	struct work_struct intf_work;
+ 	struct work_struct filter_work;
+ 
+diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
+index c997d4f..78fa714 100644
+--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
++++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
+@@ -75,7 +75,7 @@ static void rt2x00lib_start_link_tuner(struct rt2x00_dev *rt2x00dev)
+ 
+ 	rt2x00lib_reset_link_tuner(rt2x00dev);
+ 
+-	queue_delayed_work(rt2x00dev->workqueue,
++	queue_delayed_work(rt2x00dev->hw->workqueue,
+ 			   &rt2x00dev->link.work, LINK_TUNE_INTERVAL);
+ }
+ 
+@@ -390,7 +390,7 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
+ 	 * Increase tuner counter, and reschedule the next link tuner run.
+ 	 */
+ 	rt2x00dev->link.count++;
+-	queue_delayed_work(rt2x00dev->workqueue,
++	queue_delayed_work(rt2x00dev->hw->workqueue,
+ 			   &rt2x00dev->link.work, LINK_TUNE_INTERVAL);
+ }
+ 
+@@ -488,7 +488,7 @@ void rt2x00lib_beacondone(struct rt2x00_dev *rt2x00dev)
+ 						   rt2x00lib_beacondone_iter,
+ 						   rt2x00dev);
+ 
+-	queue_work(rt2x00dev->workqueue, &rt2x00dev->intf_work);
++	schedule_work(&rt2x00dev->intf_work);
+ }
+ EXPORT_SYMBOL_GPL(rt2x00lib_beacondone);
+ 
+@@ -1131,10 +1131,6 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
+ 	/*
+ 	 * Initialize configuration work.
+ 	 */
+-	rt2x00dev->workqueue = create_singlethread_workqueue("rt2x00lib");
+-	if (!rt2x00dev->workqueue)
+-		goto exit;
+-
+ 	INIT_WORK(&rt2x00dev->intf_work, rt2x00lib_intf_scheduled);
+ 	INIT_WORK(&rt2x00dev->filter_work, rt2x00lib_packetfilter_scheduled);
+ 	INIT_DELAYED_WORK(&rt2x00dev->link.work, rt2x00lib_link_tuner);
+@@ -1195,13 +1191,6 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev)
+ 	rt2x00leds_unregister(rt2x00dev);
+ 
+ 	/*
+-	 * Stop all queued work. Note that most tasks will already be halted
+-	 * during rt2x00lib_disable_radio() and rt2x00lib_uninitialize().
+-	 */
+-	flush_workqueue(rt2x00dev->workqueue);
+-	destroy_workqueue(rt2x00dev->workqueue);
+-
+-	/*
+ 	 * Free ieee80211_hw memory.
+ 	 */
+ 	rt2x00lib_remove_hw(rt2x00dev);
+diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
+index 9cb023e..802ddba 100644
+--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
++++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
+@@ -428,7 +428,7 @@ void rt2x00mac_configure_filter(struct ieee80211_hw *hw,
+ 	if (!test_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags))
+ 		rt2x00dev->ops->lib->config_filter(rt2x00dev, *total_flags);
+ 	else
+-		queue_work(rt2x00dev->workqueue, &rt2x00dev->filter_work);
++		queue_work(rt2x00dev->hw->workqueue, &rt2x00dev->filter_work);
+ }
+ EXPORT_SYMBOL_GPL(rt2x00mac_configure_filter);
+ 
+@@ -509,7 +509,7 @@ void rt2x00mac_bss_info_changed(struct ieee80211_hw *hw,
+ 	memcpy(&intf->conf, bss_conf, sizeof(*bss_conf));
+ 	if (delayed) {
+ 		intf->delayed_flags |= delayed;
+-		queue_work(rt2x00dev->workqueue, &rt2x00dev->intf_work);
++		schedule_work(&rt2x00dev->intf_work);
+ 	}
+ 	spin_unlock(&intf->lock);
+ }
+diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
+index e407754..7d82315 100644
+--- a/drivers/pcmcia/ds.c
++++ b/drivers/pcmcia/ds.c
+@@ -428,6 +428,18 @@ static int pcmcia_device_probe(struct device * dev)
+ 	p_drv = to_pcmcia_drv(dev->driver);
+ 	s = p_dev->socket;
+ 
++	/* The PCMCIA code passes the match data in via dev->driver_data
++	 * which is an ugly hack. Once the driver probe is called it may
++	 * and often will overwrite the match data so we must save it first
++	 *
++	 * handle pseudo multifunction devices:
++	 * there are at most two pseudo multifunction devices.
++	 * if we're matching against the first, schedule a
++	 * call which will then check whether there are two
++	 * pseudo devices, and if not, add the second one.
++	 */
++	did = p_dev->dev.driver_data;
++
+ 	ds_dbg(1, "trying to bind %s to %s\n", p_dev->dev.bus_id,
+ 	       p_drv->drv.name);
+ 
+@@ -456,21 +468,14 @@ static int pcmcia_device_probe(struct device * dev)
+ 		goto put_module;
+ 	}
+ 
+-	/* handle pseudo multifunction devices:
+-	 * there are at most two pseudo multifunction devices.
+-	 * if we're matching against the first, schedule a
+-	 * call which will then check whether there are two
+-	 * pseudo devices, and if not, add the second one.
+-	 */
+-	did = p_dev->dev.driver_data;
+ 	if (did && (did->match_flags & PCMCIA_DEV_ID_MATCH_DEVICE_NO) &&
+ 	    (p_dev->socket->device_count == 1) && (p_dev->device_no == 0))
+ 		pcmcia_add_device_later(p_dev->socket, 0);
+ 
+- put_module:
++put_module:
+ 	if (ret)
+ 		module_put(p_drv->owner);
+- put_dev:
++put_dev:
+ 	if (ret)
+ 		put_device(dev);
+ 	return (ret);
+diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c
+index 90dfa0d..846582b 100644
+--- a/drivers/rtc/rtc-dev.c
++++ b/drivers/rtc/rtc-dev.c
+@@ -401,6 +401,12 @@ static int rtc_dev_ioctl(struct inode *inode, struct file *file,
+ 	return err;
+ }
+ 
++static int rtc_dev_fasync(int fd, struct file *file, int on)
++{
++	struct rtc_device *rtc = file->private_data;
++	return fasync_helper(fd, file, on, &rtc->async_queue);
++}
++
+ static int rtc_dev_release(struct inode *inode, struct file *file)
+ {
+ 	struct rtc_device *rtc = file->private_data;
+@@ -411,16 +417,13 @@ static int rtc_dev_release(struct inode *inode, struct file *file)
+ 	if (rtc->ops->release)
+ 		rtc->ops->release(rtc->dev.parent);
+ 
++	if (file->f_flags & FASYNC)
++		rtc_dev_fasync(-1, file, 0);
++
+ 	clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
+ 	return 0;
+ }
+ 
+-static int rtc_dev_fasync(int fd, struct file *file, int on)
+-{
+-	struct rtc_device *rtc = file->private_data;
+-	return fasync_helper(fd, file, on, &rtc->async_queue);
+-}
+-
+ static const struct file_operations rtc_dev_fops = {
+ 	.owner		= THIS_MODULE,
+ 	.llseek		= no_llseek,
+diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
+index ec63b79..d191cec 100644
+--- a/drivers/scsi/qla2xxx/qla_isr.c
++++ b/drivers/scsi/qla2xxx/qla_isr.c
+@@ -1838,7 +1838,6 @@ clear_risc_ints:
+ 		WRT_REG_WORD(&reg->isp.hccr, HCCR_CLR_HOST_INT);
+ 	}
+ 	spin_unlock_irq(&ha->hardware_lock);
+-	ha->isp_ops->enable_intrs(ha);
+ 
+ fail:
+ 	return ret;
+diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
+index 047ee64..4c6b902 100644
+--- a/drivers/scsi/qla2xxx/qla_os.c
++++ b/drivers/scsi/qla2xxx/qla_os.c
+@@ -1740,6 +1740,8 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
+ 	if (ret)
+ 		goto probe_failed;
+ 
++	ha->isp_ops->enable_intrs(ha);
++
+ 	scsi_scan_host(host);
+ 
+ 	qla2x00_alloc_sysfs_attr(ha);
+diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c
+index 0c452c4..2b7ba85 100644
+--- a/drivers/spi/pxa2xx_spi.c
++++ b/drivers/spi/pxa2xx_spi.c
+@@ -48,9 +48,10 @@ MODULE_ALIAS("platform:pxa2xx-spi");
+ 
+ #define MAX_BUSES 3
+ 
+-#define DMA_INT_MASK (DCSR_ENDINTR | DCSR_STARTINTR | DCSR_BUSERR)
+-#define RESET_DMA_CHANNEL (DCSR_NODESC | DMA_INT_MASK)
+-#define IS_DMA_ALIGNED(x) (((u32)(x)&0x07)==0)
++#define DMA_INT_MASK		(DCSR_ENDINTR | DCSR_STARTINTR | DCSR_BUSERR)
++#define RESET_DMA_CHANNEL	(DCSR_NODESC | DMA_INT_MASK)
++#define IS_DMA_ALIGNED(x)	((((u32)(x)) & 0x07) == 0)
++#define MAX_DMA_LEN		8191
+ 
+ /*
+  * for testing SSCR1 changes that require SSP restart, basically
+@@ -145,7 +146,6 @@ struct driver_data {
+ 	size_t tx_map_len;
+ 	u8 n_bytes;
+ 	u32 dma_width;
+-	int cs_change;
+ 	int (*write)(struct driver_data *drv_data);
+ 	int (*read)(struct driver_data *drv_data);
+ 	irqreturn_t (*transfer_handler)(struct driver_data *drv_data);
+@@ -407,8 +407,45 @@ static void giveback(struct driver_data *drv_data)
+ 					struct spi_transfer,
+ 					transfer_list);
+ 
++	/* Delay if requested before any change in chip select */
++	if (last_transfer->delay_usecs)
++		udelay(last_transfer->delay_usecs);
++
++	/* Drop chip select UNLESS cs_change is true or we are returning
++	 * a message with an error, or next message is for another chip
++	 */
+ 	if (!last_transfer->cs_change)
+ 		drv_data->cs_control(PXA2XX_CS_DEASSERT);
++	else {
++		struct spi_message *next_msg;
++
++		/* Holding of cs was hinted, but we need to make sure
++		 * the next message is for the same chip.  Don't waste
++		 * time with the following tests unless this was hinted.
++		 *
++		 * We cannot postpone this until pump_messages, because
++		 * after calling msg->complete (below) the driver that
++		 * sent the current message could be unloaded, which
++		 * could invalidate the cs_control() callback...
++		 */
++
++		/* get a pointer to the next message, if any */
++		spin_lock_irqsave(&drv_data->lock, flags);
++		if (list_empty(&drv_data->queue))
++			next_msg = NULL;
++		else
++			next_msg = list_entry(drv_data->queue.next,
++					struct spi_message, queue);
++		spin_unlock_irqrestore(&drv_data->lock, flags);
++
++		/* see if the next and current messages point
++		 * to the same chip
++		 */
++		if (next_msg && next_msg->spi != msg->spi)
++			next_msg = NULL;
++		if (!next_msg || msg->state == ERROR_STATE)
++			drv_data->cs_control(PXA2XX_CS_DEASSERT);
++	}
+ 
+ 	msg->state = NULL;
+ 	if (msg->complete)
+@@ -491,10 +528,9 @@ static void dma_transfer_complete(struct driver_data *drv_data)
+ 	msg->actual_length += drv_data->len -
+ 				(drv_data->rx_end - drv_data->rx);
+ 
+-	/* Release chip select if requested, transfer delays are
+-	 * handled in pump_transfers */
+-	if (drv_data->cs_change)
+-		drv_data->cs_control(PXA2XX_CS_DEASSERT);
++	/* Transfer delays and chip select release are
++	 * handled in pump_transfers or giveback
++	 */
+ 
+ 	/* Move to next transfer */
+ 	msg->state = next_transfer(drv_data);
+@@ -603,10 +639,9 @@ static void int_transfer_complete(struct driver_data *drv_data)
+ 	drv_data->cur_msg->actual_length += drv_data->len -
+ 				(drv_data->rx_end - drv_data->rx);
+ 
+-	/* Release chip select if requested, transfer delays are
+-	 * handled in pump_transfers */
+-	if (drv_data->cs_change)
+-		drv_data->cs_control(PXA2XX_CS_DEASSERT);
++	/* Transfer delays and chip select release are
++	 * handled in pump_transfers or giveback
++	 */
+ 
+ 	/* Move to next transfer */
+ 	drv_data->cur_msg->state = next_transfer(drv_data);
+@@ -841,23 +876,40 @@ static void pump_transfers(unsigned long data)
+ 		return;
+ 	}
+ 
+-	/* Delay if requested at end of transfer*/
++	/* Delay if requested at end of transfer before CS change */
+ 	if (message->state == RUNNING_STATE) {
+ 		previous = list_entry(transfer->transfer_list.prev,
+ 					struct spi_transfer,
+ 					transfer_list);
+ 		if (previous->delay_usecs)
+ 			udelay(previous->delay_usecs);
++
++		/* Drop chip select only if cs_change is requested */
++		if (previous->cs_change)
++			drv_data->cs_control(PXA2XX_CS_DEASSERT);
+ 	}
+ 
+-	/* Check transfer length */
+-	if (transfer->len > 8191)
+-	{
+-		dev_warn(&drv_data->pdev->dev, "pump_transfers: transfer "
+-				"length greater than 8191\n");
+-		message->status = -EINVAL;
+-		giveback(drv_data);
+-		return;
++	/* Check for transfers that need multiple DMA segments */
++	if (transfer->len > MAX_DMA_LEN && chip->enable_dma) {
++
++		/* reject already-mapped transfers; PIO won't always work */
++		if (message->is_dma_mapped
++				|| transfer->rx_dma || transfer->tx_dma) {
++			dev_err(&drv_data->pdev->dev,
++				"pump_transfers: mapped transfer length "
++				"of %u is greater than %d\n",
++				transfer->len, MAX_DMA_LEN);
++			message->status = -EINVAL;
++			giveback(drv_data);
++			return;
++		}
++
++		/* warn ... we force this to PIO mode */
++		if (printk_ratelimit())
++			dev_warn(&message->spi->dev, "pump_transfers: "
++				"DMA disabled for transfer length %ld "
++				"greater than %d\n",
++				(long)drv_data->len, MAX_DMA_LEN);
+ 	}
+ 
+ 	/* Setup the transfer state based on the type of transfer */
+@@ -879,7 +931,6 @@ static void pump_transfers(unsigned long data)
+ 	drv_data->len = transfer->len & DCMD_LENGTH;
+ 	drv_data->write = drv_data->tx ? chip->write : null_writer;
+ 	drv_data->read = drv_data->rx ? chip->read : null_reader;
+-	drv_data->cs_change = transfer->cs_change;
+ 
+ 	/* Change speed and bit per word on a per transfer */
+ 	cr0 = chip->cr0;
+@@ -926,7 +977,7 @@ static void pump_transfers(unsigned long data)
+ 							&dma_thresh))
+ 				if (printk_ratelimit())
+ 					dev_warn(&message->spi->dev,
+-						"pump_transfer: "
++						"pump_transfers: "
+ 						"DMA burst size reduced to "
+ 						"match bits_per_word\n");
+ 		}
+@@ -940,8 +991,23 @@ static void pump_transfers(unsigned long data)
+ 
+ 	message->state = RUNNING_STATE;
+ 
+-	/* Try to map dma buffer and do a dma transfer if successful */
+-	if ((drv_data->dma_mapped = map_dma_buffers(drv_data))) {
++	/* Try to map dma buffer and do a dma transfer if successful, but
++	 * only if the length is non-zero and less than MAX_DMA_LEN.
++	 *
++	 * Zero-length non-descriptor DMA is illegal on PXA2xx; force use
++	 * of PIO instead.  Care is needed above because the transfer may
++	 * have have been passed with buffers that are already dma mapped.
++	 * A zero-length transfer in PIO mode will not try to write/read
++	 * to/from the buffers
++	 *
++	 * REVISIT large transfers are exactly where we most want to be
++	 * using DMA.  If this happens much, split those transfers into
++	 * multiple DMA segments rather than forcing PIO.
++	 */
++	drv_data->dma_mapped = 0;
++	if (drv_data->len > 0 && drv_data->len <= MAX_DMA_LEN)
++		drv_data->dma_mapped = map_dma_buffers(drv_data);
++	if (drv_data->dma_mapped) {
+ 
+ 		/* Ensure we have the correct interrupt handler */
+ 		drv_data->transfer_handler = dma_transfer;
+diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
+index 42a4364..7e6130a 100644
+--- a/drivers/usb/core/hcd.c
++++ b/drivers/usb/core/hcd.c
+@@ -1885,7 +1885,8 @@ int usb_add_hcd(struct usb_hcd *hcd,
+ 		 * with IRQF_SHARED. As usb_hcd_irq() will always disable
+ 		 * interrupts we can remove it here.
+ 		 */
+-		irqflags &= ~IRQF_DISABLED;
++		if (irqflags & IRQF_SHARED)
++			irqflags &= ~IRQF_DISABLED;
+ 
+ 		snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
+ 				hcd->driver->description, hcd->self.busnum);
+diff --git a/drivers/video/console/fbcon.h b/drivers/video/console/fbcon.h
+index 0135e03..e3437c4 100644
+--- a/drivers/video/console/fbcon.h
++++ b/drivers/video/console/fbcon.h
+@@ -110,7 +110,7 @@ static inline int mono_col(const struct fb_info *info)
+ 	__u32 max_len;
+ 	max_len = max(info->var.green.length, info->var.red.length);
+ 	max_len = max(info->var.blue.length, max_len);
+-	return ~(0xfff << (max_len & 0xff));
++	return (~(0xfff << max_len)) & 0xff;
+ }
+ 
+ static inline int attr_col_ec(int shift, struct vc_data *vc,
+diff --git a/fs/buffer.c b/fs/buffer.c
+index 0f51c0f..42d2104 100644
+--- a/fs/buffer.c
++++ b/fs/buffer.c
+@@ -2868,14 +2868,17 @@ int submit_bh(int rw, struct buffer_head * bh)
+ 	BUG_ON(!buffer_mapped(bh));
+ 	BUG_ON(!bh->b_end_io);
+ 
+-	if (buffer_ordered(bh) && (rw == WRITE))
+-		rw = WRITE_BARRIER;
++	/*
++	 * Mask in barrier bit for a write (could be either a WRITE or a
++	 * WRITE_SYNC
++	 */
++	if (buffer_ordered(bh) && (rw & WRITE))
++		rw |= WRITE_BARRIER;
+ 
+ 	/*
+-	 * Only clear out a write error when rewriting, should this
+-	 * include WRITE_SYNC as well?
++	 * Only clear out a write error when rewriting
+ 	 */
+-	if (test_set_buffer_req(bh) && (rw == WRITE || rw == WRITE_BARRIER))
++	if (test_set_buffer_req(bh) && (rw & WRITE))
+ 		clear_buffer_write_io_error(bh);
+ 
+ 	/*
+diff --git a/fs/exec.c b/fs/exec.c
+index fd92343..85e9948 100644
+--- a/fs/exec.c
++++ b/fs/exec.c
+@@ -740,11 +740,11 @@ static int exec_mmap(struct mm_struct *mm)
+ 	tsk->active_mm = mm;
+ 	activate_mm(active_mm, mm);
+ 	task_unlock(tsk);
+-	mm_update_next_owner(old_mm);
+ 	arch_pick_mmap_layout(mm);
+ 	if (old_mm) {
+ 		up_read(&old_mm->mmap_sem);
+ 		BUG_ON(active_mm != old_mm);
++		mm_update_next_owner(old_mm);
+ 		mmput(old_mm);
+ 		return 0;
+ 	}
+diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c
+index 10e149a..07f348b 100644
+--- a/fs/ocfs2/stackglue.c
++++ b/fs/ocfs2/stackglue.c
+@@ -97,13 +97,14 @@ static int ocfs2_stack_driver_request(const char *stack_name,
+ 		goto out;
+ 	}
+ 
+-	/* Ok, the stack is pinned */
+-	p->sp_count++;
+ 	active_stack = p;
+-
+ 	rc = 0;
+ 
+ out:
++	/* If we found it, pin it */
++	if (!rc)
++		active_stack->sp_count++;
++
+ 	spin_unlock(&ocfs2_stack_lock);
+ 	return rc;
+ }
+diff --git a/fs/proc/array.c b/fs/proc/array.c
+index 797d775..0b2a88c 100644
+--- a/fs/proc/array.c
++++ b/fs/proc/array.c
+@@ -332,65 +332,6 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
+ 	return 0;
+ }
+ 
+-/*
+- * Use precise platform statistics if available:
+- */
+-#ifdef CONFIG_VIRT_CPU_ACCOUNTING
+-static cputime_t task_utime(struct task_struct *p)
+-{
+-	return p->utime;
+-}
+-
+-static cputime_t task_stime(struct task_struct *p)
+-{
+-	return p->stime;
+-}
+-#else
+-static cputime_t task_utime(struct task_struct *p)
+-{
+-	clock_t utime = cputime_to_clock_t(p->utime),
+-		total = utime + cputime_to_clock_t(p->stime);
+-	u64 temp;
+-
+-	/*
+-	 * Use CFS's precise accounting:
+-	 */
+-	temp = (u64)nsec_to_clock_t(p->se.sum_exec_runtime);
+-
+-	if (total) {
+-		temp *= utime;
+-		do_div(temp, total);
+-	}
+-	utime = (clock_t)temp;
+-
+-	p->prev_utime = max(p->prev_utime, clock_t_to_cputime(utime));
+-	return p->prev_utime;
+-}
+-
+-static cputime_t task_stime(struct task_struct *p)
+-{
+-	clock_t stime;
+-
+-	/*
+-	 * Use CFS's precise accounting. (we subtract utime from
+-	 * the total, to make sure the total observed by userspace
+-	 * grows monotonically - apps rely on that):
+-	 */
+-	stime = nsec_to_clock_t(p->se.sum_exec_runtime) -
+-			cputime_to_clock_t(task_utime(p));
+-
+-	if (stime >= 0)
+-		p->prev_stime = max(p->prev_stime, clock_t_to_cputime(stime));
+-
+-	return p->prev_stime;
+-}
+-#endif
+-
+-static cputime_t task_gtime(struct task_struct *p)
+-{
+-	return p->gtime;
+-}
+-
+ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
+ 			struct pid *pid, struct task_struct *task, int whole)
+ {
+diff --git a/include/asm-generic/rtc.h b/include/asm-generic/rtc.h
+index be4af00..71ef3f0 100644
+--- a/include/asm-generic/rtc.h
++++ b/include/asm-generic/rtc.h
+@@ -15,6 +15,7 @@
+ #include <linux/mc146818rtc.h>
+ #include <linux/rtc.h>
+ #include <linux/bcd.h>
++#include <linux/delay.h>
+ 
+ #define RTC_PIE 0x40		/* periodic interrupt enable */
+ #define RTC_AIE 0x20		/* alarm interrupt enable */
+@@ -43,7 +44,6 @@ static inline unsigned char rtc_is_updating(void)
+ 
+ static inline unsigned int get_rtc_time(struct rtc_time *time)
+ {
+-	unsigned long uip_watchdog = jiffies;
+ 	unsigned char ctrl;
+ 	unsigned long flags;
+ 
+@@ -53,19 +53,15 @@ static inline unsigned int get_rtc_time(struct rtc_time *time)
+ 
+ 	/*
+ 	 * read RTC once any update in progress is done. The update
+-	 * can take just over 2ms. We wait 10 to 20ms. There is no need to
++	 * can take just over 2ms. We wait 20ms. There is no need to
+ 	 * to poll-wait (up to 1s - eeccch) for the falling edge of RTC_UIP.
+ 	 * If you need to know *exactly* when a second has started, enable
+ 	 * periodic update complete interrupts, (via ioctl) and then 
+ 	 * immediately read /dev/rtc which will block until you get the IRQ.
+ 	 * Once the read clears, read the RTC time (again via ioctl). Easy.
+ 	 */
+-
+-	if (rtc_is_updating() != 0)
+-		while (jiffies - uip_watchdog < 2*HZ/100) {
+-			barrier();
+-			cpu_relax();
+-		}
++	if (rtc_is_updating())
++		mdelay(20);
+ 
+ 	/*
+ 	 * Only the values that we read from the RTC are set. We leave
+diff --git a/include/asm-x86/i387.h b/include/asm-x86/i387.h
+index 4b683af..56d00e3 100644
+--- a/include/asm-x86/i387.h
++++ b/include/asm-x86/i387.h
+@@ -63,8 +63,6 @@ static inline int restore_fpu_checking(struct i387_fxsave_struct *fx)
+ #else
+ 		     : [fx] "cdaSDb" (fx), "m" (*fx), "0" (0));
+ #endif
+-	if (unlikely(err))
+-		init_fpu(current);
+ 	return err;
+ }
+ 
+@@ -138,60 +136,6 @@ static inline void __save_init_fpu(struct task_struct *tsk)
+ 	task_thread_info(tsk)->status &= ~TS_USEDFPU;
+ }
+ 
+-/*
+- * Signal frame handlers.
+- */
+-
+-static inline int save_i387(struct _fpstate __user *buf)
+-{
+-	struct task_struct *tsk = current;
+-	int err = 0;
+-
+-	BUILD_BUG_ON(sizeof(struct user_i387_struct) !=
+-			sizeof(tsk->thread.xstate->fxsave));
+-
+-	if ((unsigned long)buf % 16)
+-		printk("save_i387: bad fpstate %p\n", buf);
+-
+-	if (!used_math())
+-		return 0;
+-	clear_used_math(); /* trigger finit */
+-	if (task_thread_info(tsk)->status & TS_USEDFPU) {
+-		err = save_i387_checking((struct i387_fxsave_struct __user *)
+-					 buf);
+-		if (err)
+-			return err;
+-		task_thread_info(tsk)->status &= ~TS_USEDFPU;
+-		stts();
+-	} else {
+-		if (__copy_to_user(buf, &tsk->thread.xstate->fxsave,
+-				   sizeof(struct i387_fxsave_struct)))
+-			return -1;
+-	}
+-	return 1;
+-}
+-
+-/*
+- * This restores directly out of user space. Exceptions are handled.
+- */
+-static inline int restore_i387(struct _fpstate __user *buf)
+-{
+-	struct task_struct *tsk = current;
+-	int err;
+-
+-	if (!used_math()) {
+-		err = init_fpu(tsk);
+-		if (err)
+-			return err;
+-	}
+-
+-	if (!(task_thread_info(current)->status & TS_USEDFPU)) {
+-		clts();
+-		task_thread_info(current)->status |= TS_USEDFPU;
+-	}
+-	return restore_fpu_checking((__force struct i387_fxsave_struct *)buf);
+-}
+-
+ #else  /* CONFIG_X86_32 */
+ 
+ extern void finit(void);
+diff --git a/include/asm-x86/mpspec.h b/include/asm-x86/mpspec.h
+index 57a991b..4c75587 100644
+--- a/include/asm-x86/mpspec.h
++++ b/include/asm-x86/mpspec.h
+@@ -35,6 +35,7 @@ extern DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BUSSES);
+ extern int mp_bus_id_to_pci_bus[MAX_MP_BUSSES];
+ 
+ extern unsigned int boot_cpu_physical_apicid;
++extern unsigned int max_physical_apicid;
+ extern int smp_found_config;
+ extern int mpc_default_type;
+ extern unsigned long mp_lapic_addr;
+diff --git a/include/asm-x86/pgtable_64.h b/include/asm-x86/pgtable_64.h
+index 1cc50d2..3922eca 100644
+--- a/include/asm-x86/pgtable_64.h
++++ b/include/asm-x86/pgtable_64.h
+@@ -146,7 +146,7 @@ static inline void native_pgd_clear(pgd_t *pgd)
+ #define VMALLOC_END      _AC(0xffffe1ffffffffff, UL)
+ #define VMEMMAP_START	 _AC(0xffffe20000000000, UL)
+ #define MODULES_VADDR    _AC(0xffffffffa0000000, UL)
+-#define MODULES_END      _AC(0xfffffffffff00000, UL)
++#define MODULES_END      _AC(0xffffffffff000000, UL)
+ #define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+ 
+ #ifndef __ASSEMBLY__
+diff --git a/include/linux/clockchips.h b/include/linux/clockchips.h
+index c33b0dc..ed3a5d4 100644
+--- a/include/linux/clockchips.h
++++ b/include/linux/clockchips.h
+@@ -127,6 +127,8 @@ extern int clockevents_register_notifier(struct notifier_block *nb);
+ extern int clockevents_program_event(struct clock_event_device *dev,
+ 				     ktime_t expires, ktime_t now);
+ 
++extern void clockevents_handle_noop(struct clock_event_device *dev);
++
+ #ifdef CONFIG_GENERIC_CLOCKEVENTS
+ extern void clockevents_notify(unsigned long reason, void *arg);
+ #else
+diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
+index 443bc7c..428328a 100644
+--- a/include/linux/mmzone.h
++++ b/include/linux/mmzone.h
+@@ -751,8 +751,9 @@ static inline int zonelist_node_idx(struct zoneref *zoneref)
+  *
+  * This function returns the next zone at or below a given zone index that is
+  * within the allowed nodemask using a cursor as the starting point for the
+- * search. The zoneref returned is a cursor that is used as the next starting
+- * point for future calls to next_zones_zonelist().
++ * search. The zoneref returned is a cursor that represents the current zone
++ * being examined. It should be advanced by one before calling
++ * next_zones_zonelist again.
+  */
+ struct zoneref *next_zones_zonelist(struct zoneref *z,
+ 					enum zone_type highest_zoneidx,
+@@ -768,9 +769,8 @@ struct zoneref *next_zones_zonelist(struct zoneref *z,
+  *
+  * This function returns the first zone at or below a given zone index that is
+  * within the allowed nodemask. The zoneref returned is a cursor that can be
+- * used to iterate the zonelist with next_zones_zonelist. The cursor should
+- * not be used by the caller as it does not match the value of the zone
+- * returned.
++ * used to iterate the zonelist with next_zones_zonelist by advancing it by
++ * one before calling.
+  */
+ static inline struct zoneref *first_zones_zonelist(struct zonelist *zonelist,
+ 					enum zone_type highest_zoneidx,
+@@ -795,7 +795,7 @@ static inline struct zoneref *first_zones_zonelist(struct zonelist *zonelist,
+ #define for_each_zone_zonelist_nodemask(zone, z, zlist, highidx, nodemask) \
+ 	for (z = first_zones_zonelist(zlist, highidx, nodemask, &zone);	\
+ 		zone;							\
+-		z = next_zones_zonelist(z, highidx, nodemask, &zone))	\
++		z = next_zones_zonelist(++z, highidx, nodemask, &zone))	\
+ 
+ /**
+  * for_each_zone_zonelist - helper macro to iterate over valid zones in a zonelist at or below a given zone index
+diff --git a/include/linux/rmap.h b/include/linux/rmap.h
+index 1383692..0e889fa 100644
+--- a/include/linux/rmap.h
++++ b/include/linux/rmap.h
+@@ -94,7 +94,7 @@ int try_to_unmap(struct page *, int ignore_refs);
+  * Called from mm/filemap_xip.c to unmap empty zero page
+  */
+ pte_t *page_check_address(struct page *, struct mm_struct *,
+-				unsigned long, spinlock_t **);
++				unsigned long, spinlock_t **, int);
+ 
+ /*
+  * Used by swapoff to help locate where page is expected in vma.
+diff --git a/include/linux/sched.h b/include/linux/sched.h
+index c5d3f84..2103c73 100644
+--- a/include/linux/sched.h
++++ b/include/linux/sched.h
+@@ -1477,6 +1477,10 @@ static inline void put_task_struct(struct task_struct *t)
+ 		__put_task_struct(t);
+ }
+ 
++extern cputime_t task_utime(struct task_struct *p);
++extern cputime_t task_stime(struct task_struct *p);
++extern cputime_t task_gtime(struct task_struct *p);
++
+ /*
+  * Per process flags
+  */
+diff --git a/include/linux/smb.h b/include/linux/smb.h
+index caa43b2..82fefdd 100644
+--- a/include/linux/smb.h
++++ b/include/linux/smb.h
+@@ -11,7 +11,9 @@
+ 
+ #include <linux/types.h>
+ #include <linux/magic.h>
++#ifdef __KERNEL__
+ #include <linux/time.h>
++#endif
+ 
+ enum smb_protocol { 
+ 	SMB_PROTOCOL_NONE, 
+diff --git a/include/net/netlink.h b/include/net/netlink.h
+index dfc3701..6a5fdd8 100644
+--- a/include/net/netlink.h
++++ b/include/net/netlink.h
+@@ -702,7 +702,7 @@ static inline int nla_len(const struct nlattr *nla)
+  */
+ static inline int nla_ok(const struct nlattr *nla, int remaining)
+ {
+-	return remaining >= sizeof(*nla) &&
++	return remaining >= (int) sizeof(*nla) &&
+ 	       nla->nla_len >= sizeof(*nla) &&
+ 	       nla->nla_len <= remaining;
+ }
+diff --git a/kernel/cgroup.c b/kernel/cgroup.c
+index 15ac0e1..d53caaa 100644
+--- a/kernel/cgroup.c
++++ b/kernel/cgroup.c
+@@ -2761,14 +2761,15 @@ void cgroup_fork_callbacks(struct task_struct *child)
+  */
+ void cgroup_mm_owner_callbacks(struct task_struct *old, struct task_struct *new)
+ {
+-	struct cgroup *oldcgrp, *newcgrp;
++	struct cgroup *oldcgrp, *newcgrp = NULL;
+ 
+ 	if (need_mm_owner_callback) {
+ 		int i;
+ 		for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
+ 			struct cgroup_subsys *ss = subsys[i];
+ 			oldcgrp = task_cgroup(old, ss->subsys_id);
+-			newcgrp = task_cgroup(new, ss->subsys_id);
++			if (new)
++				newcgrp = task_cgroup(new, ss->subsys_id);
+ 			if (oldcgrp == newcgrp)
+ 				continue;
+ 			if (ss->mm_owner_changed)
+diff --git a/kernel/exit.c b/kernel/exit.c
+index 8f6185e..f68b081 100644
+--- a/kernel/exit.c
++++ b/kernel/exit.c
+@@ -111,9 +111,9 @@ static void __exit_signal(struct task_struct *tsk)
+ 		 * We won't ever get here for the group leader, since it
+ 		 * will have been the last reference on the signal_struct.
+ 		 */
+-		sig->utime = cputime_add(sig->utime, tsk->utime);
+-		sig->stime = cputime_add(sig->stime, tsk->stime);
+-		sig->gtime = cputime_add(sig->gtime, tsk->gtime);
++		sig->utime = cputime_add(sig->utime, task_utime(tsk));
++		sig->stime = cputime_add(sig->stime, task_stime(tsk));
++		sig->gtime = cputime_add(sig->gtime, task_gtime(tsk));
+ 		sig->min_flt += tsk->min_flt;
+ 		sig->maj_flt += tsk->maj_flt;
+ 		sig->nvcsw += tsk->nvcsw;
+@@ -577,8 +577,6 @@ mm_need_new_owner(struct mm_struct *mm, struct task_struct *p)
+ 	 * If there are other users of the mm and the owner (us) is exiting
+ 	 * we need to find a new owner to take on the responsibility.
+ 	 */
+-	if (!mm)
+-		return 0;
+ 	if (atomic_read(&mm->mm_users) <= 1)
+ 		return 0;
+ 	if (mm->owner != p)
+@@ -621,6 +619,16 @@ retry:
+ 	} while_each_thread(g, c);
+ 
+ 	read_unlock(&tasklist_lock);
++	/*
++	 * We found no owner yet mm_users > 1: this implies that we are
++	 * most likely racing with swapoff (try_to_unuse()) or /proc or
++	 * ptrace or page migration (get_task_mm()).  Mark owner as NULL,
++	 * so that subsystems can understand the callback and take action.
++	 */
++	down_write(&mm->mmap_sem);
++	cgroup_mm_owner_callbacks(mm->owner, NULL);
++	mm->owner = NULL;
++	up_write(&mm->mmap_sem);
+ 	return;
+ 
+ assign_new_owner:
+diff --git a/kernel/sched.c b/kernel/sched.c
+index 4e2f603..0a50ee4 100644
+--- a/kernel/sched.c
++++ b/kernel/sched.c
+@@ -3995,6 +3995,65 @@ void account_steal_time(struct task_struct *p, cputime_t steal)
+ }
+ 
+ /*
++ * Use precise platform statistics if available:
++ */
++#ifdef CONFIG_VIRT_CPU_ACCOUNTING
++cputime_t task_utime(struct task_struct *p)
++{
++	return p->utime;
++}
++
++cputime_t task_stime(struct task_struct *p)
++{
++	return p->stime;
++}
++#else
++cputime_t task_utime(struct task_struct *p)
++{
++	clock_t utime = cputime_to_clock_t(p->utime),
++		total = utime + cputime_to_clock_t(p->stime);
++	u64 temp;
++
++	/*
++	 * Use CFS's precise accounting:
++	 */
++	temp = (u64)nsec_to_clock_t(p->se.sum_exec_runtime);
++
++	if (total) {
++		temp *= utime;
++		do_div(temp, total);
++	}
++	utime = (clock_t)temp;
++
++	p->prev_utime = max(p->prev_utime, clock_t_to_cputime(utime));
++	return p->prev_utime;
++}
++
++cputime_t task_stime(struct task_struct *p)
++{
++	clock_t stime;
++
++	/*
++	 * Use CFS's precise accounting. (we subtract utime from
++	 * the total, to make sure the total observed by userspace
++	 * grows monotonically - apps rely on that):
++	 */
++	stime = nsec_to_clock_t(p->se.sum_exec_runtime) -
++			cputime_to_clock_t(task_utime(p));
++
++	if (stime >= 0)
++		p->prev_stime = max(p->prev_stime, clock_t_to_cputime(stime));
++
++	return p->prev_stime;
++}
++#endif
++
++inline cputime_t task_gtime(struct task_struct *p)
++{
++	return p->gtime;
++}
++
++/*
+  * This function gets called by the timer code, with HZ frequency.
+  * We call it with interrupts disabled.
+  *
+diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
+index 3d1e3e1..1876b52 100644
+--- a/kernel/time/clockevents.c
++++ b/kernel/time/clockevents.c
+@@ -177,7 +177,7 @@ void clockevents_register_device(struct clock_event_device *dev)
+ /*
+  * Noop handler when we shut down an event device
+  */
+-static void clockevents_handle_noop(struct clock_event_device *dev)
++void clockevents_handle_noop(struct clock_event_device *dev)
+ {
+ }
+ 
+@@ -199,7 +199,6 @@ void clockevents_exchange_device(struct clock_event_device *old,
+ 	 * released list and do a notify add later.
+ 	 */
+ 	if (old) {
+-		old->event_handler = clockevents_handle_noop;
+ 		clockevents_set_mode(old, CLOCK_EVT_MODE_UNUSED);
+ 		list_del(&old->list);
+ 		list_add(&old->list, &clockevents_released);
+diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
+index 5125ddd..1ad46f3 100644
+--- a/kernel/time/ntp.c
++++ b/kernel/time/ntp.c
+@@ -245,7 +245,7 @@ static void sync_cmos_clock(unsigned long dummy)
+ 	if (abs(now.tv_nsec - (NSEC_PER_SEC / 2)) <= tick_nsec / 2)
+ 		fail = update_persistent_clock(now);
+ 
+-	next.tv_nsec = (NSEC_PER_SEC / 2) - now.tv_nsec;
++	next.tv_nsec = (NSEC_PER_SEC / 2) - now.tv_nsec - (TICK_NSEC / 2);
+ 	if (next.tv_nsec <= 0)
+ 		next.tv_nsec += NSEC_PER_SEC;
+ 
+diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
+index 57a1f02..e20a365 100644
+--- a/kernel/time/tick-broadcast.c
++++ b/kernel/time/tick-broadcast.c
+@@ -174,6 +174,8 @@ static void tick_do_periodic_broadcast(void)
+  */
+ static void tick_handle_periodic_broadcast(struct clock_event_device *dev)
+ {
++	ktime_t next;
++
+ 	tick_do_periodic_broadcast();
+ 
+ 	/*
+@@ -184,10 +186,13 @@ static void tick_handle_periodic_broadcast(struct clock_event_device *dev)
+ 
+ 	/*
+ 	 * Setup the next period for devices, which do not have
+-	 * periodic mode:
++	 * periodic mode. We read dev->next_event first and add to it
++	 * when the event alrady expired. clockevents_program_event()
++	 * sets dev->next_event only when the event is really
++	 * programmed to the device.
+ 	 */
+-	for (;;) {
+-		ktime_t next = ktime_add(dev->next_event, tick_period);
++	for (next = dev->next_event; ;) {
++		next = ktime_add(next, tick_period);
+ 
+ 		if (!clockevents_program_event(dev, next, ktime_get()))
+ 			return;
+@@ -204,7 +209,7 @@ static void tick_do_broadcast_on_off(void *why)
+ 	struct clock_event_device *bc, *dev;
+ 	struct tick_device *td;
+ 	unsigned long flags, *reason = why;
+-	int cpu;
++	int cpu, bc_stopped;
+ 
+ 	spin_lock_irqsave(&tick_broadcast_lock, flags);
+ 
+@@ -222,6 +227,8 @@ static void tick_do_broadcast_on_off(void *why)
+ 	if (!tick_device_is_functional(dev))
+ 		goto out;
+ 
++	bc_stopped = cpus_empty(tick_broadcast_mask);
++
+ 	switch (*reason) {
+ 	case CLOCK_EVT_NOTIFY_BROADCAST_ON:
+ 	case CLOCK_EVT_NOTIFY_BROADCAST_FORCE:
+@@ -243,9 +250,10 @@ static void tick_do_broadcast_on_off(void *why)
+ 		break;
+ 	}
+ 
+-	if (cpus_empty(tick_broadcast_mask))
+-		clockevents_set_mode(bc, CLOCK_EVT_MODE_SHUTDOWN);
+-	else {
++	if (cpus_empty(tick_broadcast_mask)) {
++		if (!bc_stopped)
++			clockevents_set_mode(bc, CLOCK_EVT_MODE_SHUTDOWN);
++	} else if (bc_stopped) {
+ 		if (tick_broadcast_device.mode == TICKDEV_MODE_PERIODIC)
+ 			tick_broadcast_start_periodic(bc);
+ 		else
+@@ -362,16 +370,8 @@ cpumask_t *tick_get_broadcast_oneshot_mask(void)
+ static int tick_broadcast_set_event(ktime_t expires, int force)
+ {
+ 	struct clock_event_device *bc = tick_broadcast_device.evtdev;
+-	ktime_t now = ktime_get();
+-	int res;
+-
+-	for(;;) {
+-		res = clockevents_program_event(bc, expires, now);
+-		if (!res || !force)
+-			return res;
+-		now = ktime_get();
+-		expires = ktime_add(now, ktime_set(0, bc->min_delta_ns));
+-	}
++
++	return tick_dev_program_event(bc, expires, force);
+ }
+ 
+ int tick_resume_broadcast_oneshot(struct clock_event_device *bc)
+@@ -490,14 +490,52 @@ static void tick_broadcast_clear_oneshot(int cpu)
+ 	cpu_clear(cpu, tick_broadcast_oneshot_mask);
+ }
+ 
++static void tick_broadcast_init_next_event(cpumask_t *mask, ktime_t expires)
++{
++	struct tick_device *td;
++	int cpu;
++
++	for_each_cpu_mask_nr(cpu, *mask) {
++		td = &per_cpu(tick_cpu_device, cpu);
++		if (td->evtdev)
++			td->evtdev->next_event = expires;
++	}
++}
++
+ /**
+  * tick_broadcast_setup_oneshot - setup the broadcast device
+  */
+ void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
+ {
+-	bc->event_handler = tick_handle_oneshot_broadcast;
+-	clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT);
+-	bc->next_event.tv64 = KTIME_MAX;
++	/* Set it up only once ! */
++	if (bc->event_handler != tick_handle_oneshot_broadcast) {
++		int was_periodic = bc->mode == CLOCK_EVT_MODE_PERIODIC;
++		int cpu = smp_processor_id();
++		cpumask_t mask;
++
++		bc->event_handler = tick_handle_oneshot_broadcast;
++		clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT);
++
++		/* Take the do_timer update */
++		tick_do_timer_cpu = cpu;
++
++		/*
++		 * We must be careful here. There might be other CPUs
++		 * waiting for periodic broadcast. We need to set the
++		 * oneshot_mask bits for those and program the
++		 * broadcast device to fire.
++		 */
++		mask = tick_broadcast_mask;
++		cpu_clear(cpu, mask);
++		cpus_or(tick_broadcast_oneshot_mask,
++			tick_broadcast_oneshot_mask, mask);
++
++		if (was_periodic && !cpus_empty(mask)) {
++			tick_broadcast_init_next_event(&mask, tick_next_period);
++			tick_broadcast_set_event(tick_next_period, 1);
++		} else
++			bc->next_event.tv64 = KTIME_MAX;
++	}
+ }
+ 
+ /*
+diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c
+index 4f38865..5471cba 100644
+--- a/kernel/time/tick-common.c
++++ b/kernel/time/tick-common.c
+@@ -161,6 +161,7 @@ static void tick_setup_device(struct tick_device *td,
+ 	} else {
+ 		handler = td->evtdev->event_handler;
+ 		next_event = td->evtdev->next_event;
++		td->evtdev->event_handler = clockevents_handle_noop;
+ 	}
+ 
+ 	td->evtdev = newdev;
+diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h
+index f13f2b7..0ffc291 100644
+--- a/kernel/time/tick-internal.h
++++ b/kernel/time/tick-internal.h
+@@ -17,6 +17,8 @@ extern void tick_handle_periodic(struct clock_event_device *dev);
+ extern void tick_setup_oneshot(struct clock_event_device *newdev,
+ 			       void (*handler)(struct clock_event_device *),
+ 			       ktime_t nextevt);
++extern int tick_dev_program_event(struct clock_event_device *dev,
++				  ktime_t expires, int force);
+ extern int tick_program_event(ktime_t expires, int force);
+ extern void tick_oneshot_notify(void);
+ extern int tick_switch_to_oneshot(void (*handler)(struct clock_event_device *));
+diff --git a/kernel/time/tick-oneshot.c b/kernel/time/tick-oneshot.c
+index 450c049..2e8de67 100644
+--- a/kernel/time/tick-oneshot.c
++++ b/kernel/time/tick-oneshot.c
+@@ -23,24 +23,56 @@
+ #include "tick-internal.h"
+ 
+ /**
+- * tick_program_event
++ * tick_program_event internal worker function
+  */
+-int tick_program_event(ktime_t expires, int force)
++int tick_dev_program_event(struct clock_event_device *dev, ktime_t expires,
++			   int force)
+ {
+-	struct clock_event_device *dev = __get_cpu_var(tick_cpu_device).evtdev;
+ 	ktime_t now = ktime_get();
++	int i;
+ 
+-	while (1) {
++	for (i = 0;;) {
+ 		int ret = clockevents_program_event(dev, expires, now);
+ 
+ 		if (!ret || !force)
+ 			return ret;
++
++		/*
++		 * We tried 2 times to program the device with the given
++		 * min_delta_ns. If that's not working then we double it
++		 * and emit a warning.
++		 */
++		if (++i > 2) {
++			/* Increase the min. delta and try again */
++			if (!dev->min_delta_ns)
++				dev->min_delta_ns = 5000;
++			else
++				dev->min_delta_ns += dev->min_delta_ns >> 1;
++
++			printk(KERN_WARNING
++			       "CE: %s increasing min_delta_ns to %lu nsec\n",
++			       dev->name ? dev->name : "?",
++			       dev->min_delta_ns << 1);
++
++			i = 0;
++		}
++
+ 		now = ktime_get();
+-		expires = ktime_add(now, ktime_set(0, dev->min_delta_ns));
++		expires = ktime_add_ns(now, dev->min_delta_ns);
+ 	}
+ }
+ 
+ /**
++ * tick_program_event
++ */
++int tick_program_event(ktime_t expires, int force)
++{
++	struct clock_event_device *dev = __get_cpu_var(tick_cpu_device).evtdev;
++
++	return tick_dev_program_event(dev, expires, force);
++}
++
++/**
+  * tick_resume_onshot - resume oneshot mode
+  */
+ void tick_resume_oneshot(void)
+@@ -61,7 +93,7 @@ void tick_setup_oneshot(struct clock_event_device *newdev,
+ {
+ 	newdev->event_handler = handler;
+ 	clockevents_set_mode(newdev, CLOCK_EVT_MODE_ONESHOT);
+-	clockevents_program_event(newdev, next_event, ktime_get());
++	tick_dev_program_event(newdev, next_event, 1);
+ }
+ 
+ /**
+diff --git a/lib/scatterlist.c b/lib/scatterlist.c
+index b80c211..8c11004 100644
+--- a/lib/scatterlist.c
++++ b/lib/scatterlist.c
+@@ -312,8 +312,9 @@ static size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents,
+ 	struct scatterlist *sg;
+ 	size_t buf_off = 0;
+ 	int i;
++	unsigned long flags;
+ 
+-	WARN_ON(!irqs_disabled());
++	local_irq_save(flags);
+ 
+ 	for_each_sg(sgl, sg, nents, i) {
+ 		struct page *page;
+@@ -358,6 +359,8 @@ static size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents,
+ 			break;
+ 	}
+ 
++	local_irq_restore(flags);
++
+ 	return buf_off;
+ }
+ 
+diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c
+index 3e744ab..4e8bd50 100644
+--- a/mm/filemap_xip.c
++++ b/mm/filemap_xip.c
+@@ -184,7 +184,7 @@ __xip_unmap (struct address_space * mapping,
+ 		address = vma->vm_start +
+ 			((pgoff - vma->vm_pgoff) << PAGE_SHIFT);
+ 		BUG_ON(address < vma->vm_start || address >= vma->vm_end);
+-		pte = page_check_address(page, mm, address, &ptl);
++		pte = page_check_address(page, mm, address, &ptl, 1);
+ 		if (pte) {
+ 			/* Nuke the page table entry. */
+ 			flush_cache_page(vma, address, pte_pfn(*pte));
+diff --git a/mm/memcontrol.c b/mm/memcontrol.c
+index e46451e..ed1cfb1 100644
+--- a/mm/memcontrol.c
++++ b/mm/memcontrol.c
+@@ -250,6 +250,14 @@ static struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont)
+ 
+ struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p)
+ {
++	/*
++	 * mm_update_next_owner() may clear mm->owner to NULL
++	 * if it races with swapoff, page migration, etc.
++	 * So this can be called with p == NULL.
++	 */
++	if (unlikely(!p))
++		return NULL;
++
+ 	return container_of(task_subsys_state(p, mem_cgroup_subsys_id),
+ 				struct mem_cgroup, css);
+ }
+@@ -574,6 +582,11 @@ retry:
+ 
+ 	rcu_read_lock();
+ 	mem = mem_cgroup_from_task(rcu_dereference(mm->owner));
++	if (unlikely(!mem)) {
++		rcu_read_unlock();
++		kmem_cache_free(page_cgroup_cache, pc);
++		return 0;
++	}
+ 	/*
+ 	 * For every charge from the cgroup, increment reference count
+ 	 */
+diff --git a/mm/mmzone.c b/mm/mmzone.c
+index 486ed59..16ce8b9 100644
+--- a/mm/mmzone.c
++++ b/mm/mmzone.c
+@@ -69,6 +69,6 @@ struct zoneref *next_zones_zonelist(struct zoneref *z,
+ 				(z->zone && !zref_in_nodemask(z, nodes)))
+ 			z++;
+ 
+-	*zone = zonelist_zone(z++);
++	*zone = zonelist_zone(z);
+ 	return z;
+ }
+diff --git a/mm/rmap.c b/mm/rmap.c
+index bf0a5b7..ded8f9e 100644
+--- a/mm/rmap.c
++++ b/mm/rmap.c
+@@ -223,10 +223,14 @@ unsigned long page_address_in_vma(struct page *page, struct vm_area_struct *vma)
+ /*
+  * Check that @page is mapped at @address into @mm.
+  *
++ * If @sync is false, page_check_address may perform a racy check to avoid
++ * the page table lock when the pte is not present (helpful when reclaiming
++ * highly shared pages).
++ *
+  * On success returns with pte mapped and locked.
+  */
+ pte_t *page_check_address(struct page *page, struct mm_struct *mm,
+-			  unsigned long address, spinlock_t **ptlp)
++			  unsigned long address, spinlock_t **ptlp, int sync)
+ {
+ 	pgd_t *pgd;
+ 	pud_t *pud;
+@@ -248,7 +252,7 @@ pte_t *page_check_address(struct page *page, struct mm_struct *mm,
+ 
+ 	pte = pte_offset_map(pmd, address);
+ 	/* Make a quick check before getting the lock */
+-	if (!pte_present(*pte)) {
++	if (!sync && !pte_present(*pte)) {
+ 		pte_unmap(pte);
+ 		return NULL;
+ 	}
+@@ -280,7 +284,7 @@ static int page_referenced_one(struct page *page,
+ 	if (address == -EFAULT)
+ 		goto out;
+ 
+-	pte = page_check_address(page, mm, address, &ptl);
++	pte = page_check_address(page, mm, address, &ptl, 0);
+ 	if (!pte)
+ 		goto out;
+ 
+@@ -449,7 +453,7 @@ static int page_mkclean_one(struct page *page, struct vm_area_struct *vma)
+ 	if (address == -EFAULT)
+ 		goto out;
+ 
+-	pte = page_check_address(page, mm, address, &ptl);
++	pte = page_check_address(page, mm, address, &ptl, 1);
+ 	if (!pte)
+ 		goto out;
+ 
+@@ -707,7 +711,7 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
+ 	if (address == -EFAULT)
+ 		goto out;
+ 
+-	pte = page_check_address(page, mm, address, &ptl);
++	pte = page_check_address(page, mm, address, &ptl, 0);
+ 	if (!pte)
+ 		goto out;
+ 
+diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
+index b6e7ec0..9ca32e6 100644
+--- a/net/ipv4/udp.c
++++ b/net/ipv4/udp.c
+@@ -950,6 +950,27 @@ int udp_disconnect(struct sock *sk, int flags)
+ 	return 0;
+ }
+ 
++static int __udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
++{
++	int is_udplite = IS_UDPLITE(sk);
++	int rc;
++
++	if ((rc = sock_queue_rcv_skb(sk, skb)) < 0) {
++		/* Note that an ENOMEM error is charged twice */
++		if (rc == -ENOMEM)
++			UDP_INC_STATS_BH(UDP_MIB_RCVBUFERRORS,
++					 is_udplite);
++		goto drop;
++	}
++
++	return 0;
++
++drop:
++	UDP_INC_STATS_BH(UDP_MIB_INERRORS, is_udplite);
++	kfree_skb(skb);
++	return -1;
++}
++
+ /* returns:
+  *  -1: error
+  *   0: success
+@@ -988,9 +1009,7 @@ int udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb)
+ 		    up->encap_rcv != NULL) {
+ 			int ret;
+ 
+-			bh_unlock_sock(sk);
+ 			ret = (*up->encap_rcv)(sk, skb);
+-			bh_lock_sock(sk);
+ 			if (ret <= 0) {
+ 				UDP_INC_STATS_BH(UDP_MIB_INDATAGRAMS,
+ 						 is_udplite);
+@@ -1042,14 +1061,16 @@ int udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb)
+ 			goto drop;
+ 	}
+ 
+-	if ((rc = sock_queue_rcv_skb(sk,skb)) < 0) {
+-		/* Note that an ENOMEM error is charged twice */
+-		if (rc == -ENOMEM)
+-			UDP_INC_STATS_BH(UDP_MIB_RCVBUFERRORS, is_udplite);
+-		goto drop;
+-	}
++	rc = 0;
+ 
+-	return 0;
++	bh_lock_sock(sk);
++	if (!sock_owned_by_user(sk))
++		rc = __udp_queue_rcv_skb(sk, skb);
++	else
++		sk_add_backlog(sk, skb);
++	bh_unlock_sock(sk);
++
++	return rc;
+ 
+ drop:
+ 	UDP_INC_STATS_BH(UDP_MIB_INERRORS, is_udplite);
+@@ -1087,15 +1108,7 @@ static int __udp4_lib_mcast_deliver(struct sk_buff *skb,
+ 				skb1 = skb_clone(skb, GFP_ATOMIC);
+ 
+ 			if (skb1) {
+-				int ret = 0;
+-
+-				bh_lock_sock(sk);
+-				if (!sock_owned_by_user(sk))
+-					ret = udp_queue_rcv_skb(sk, skb1);
+-				else
+-					sk_add_backlog(sk, skb1);
+-				bh_unlock_sock(sk);
+-
++				int ret = udp_queue_rcv_skb(sk, skb1);
+ 				if (ret > 0)
+ 					/* we should probably re-process instead
+ 					 * of dropping packets here. */
+@@ -1188,13 +1201,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[],
+ 			uh->dest, inet_iif(skb), udptable);
+ 
+ 	if (sk != NULL) {
+-		int ret = 0;
+-		bh_lock_sock(sk);
+-		if (!sock_owned_by_user(sk))
+-			ret = udp_queue_rcv_skb(sk, skb);
+-		else
+-			sk_add_backlog(sk, skb);
+-		bh_unlock_sock(sk);
++		int ret = udp_queue_rcv_skb(sk, skb);
+ 		sock_put(sk);
+ 
+ 		/* a return value > 0 means to resubmit the input, but
+@@ -1487,7 +1494,7 @@ struct proto udp_prot = {
+ 	.sendmsg	   = udp_sendmsg,
+ 	.recvmsg	   = udp_recvmsg,
+ 	.sendpage	   = udp_sendpage,
+-	.backlog_rcv	   = udp_queue_rcv_skb,
++	.backlog_rcv	   = __udp_queue_rcv_skb,
+ 	.hash		   = udp_lib_hash,
+ 	.unhash		   = udp_lib_unhash,
+ 	.get_port	   = udp_v4_get_port,
+diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
+index d99f094..c3f6687 100644
+--- a/net/ipv6/ip6_output.c
++++ b/net/ipv6/ip6_output.c
+@@ -934,39 +934,39 @@ static int ip6_dst_lookup_tail(struct sock *sk,
+ 	}
+ 
+ #ifdef CONFIG_IPV6_OPTIMISTIC_DAD
+-		/*
+-		 * Here if the dst entry we've looked up
+-		 * has a neighbour entry that is in the INCOMPLETE
+-		 * state and the src address from the flow is
+-		 * marked as OPTIMISTIC, we release the found
+-		 * dst entry and replace it instead with the
+-		 * dst entry of the nexthop router
+-		 */
+-		if (!((*dst)->neighbour->nud_state & NUD_VALID)) {
+-			struct inet6_ifaddr *ifp;
+-			struct flowi fl_gw;
+-			int redirect;
+-
+-			ifp = ipv6_get_ifaddr(net, &fl->fl6_src,
+-					      (*dst)->dev, 1);
+-
+-			redirect = (ifp && ifp->flags & IFA_F_OPTIMISTIC);
+-			if (ifp)
+-				in6_ifa_put(ifp);
+-
+-			if (redirect) {
+-				/*
+-				 * We need to get the dst entry for the
+-				 * default router instead
+-				 */
+-				dst_release(*dst);
+-				memcpy(&fl_gw, fl, sizeof(struct flowi));
+-				memset(&fl_gw.fl6_dst, 0, sizeof(struct in6_addr));
+-				*dst = ip6_route_output(net, sk, &fl_gw);
+-				if ((err = (*dst)->error))
+-					goto out_err_release;
+-			}
++	/*
++	 * Here if the dst entry we've looked up
++	 * has a neighbour entry that is in the INCOMPLETE
++	 * state and the src address from the flow is
++	 * marked as OPTIMISTIC, we release the found
++	 * dst entry and replace it instead with the
++	 * dst entry of the nexthop router
++	 */
++	if ((*dst)->neighbour && !((*dst)->neighbour->nud_state & NUD_VALID)) {
++		struct inet6_ifaddr *ifp;
++		struct flowi fl_gw;
++		int redirect;
++
++		ifp = ipv6_get_ifaddr(net, &fl->fl6_src,
++				      (*dst)->dev, 1);
++
++		redirect = (ifp && ifp->flags & IFA_F_OPTIMISTIC);
++		if (ifp)
++			in6_ifa_put(ifp);
++
++		if (redirect) {
++			/*
++			 * We need to get the dst entry for the
++			 * default router instead
++			 */
++			dst_release(*dst);
++			memcpy(&fl_gw, fl, sizeof(struct flowi));
++			memset(&fl_gw.fl6_dst, 0, sizeof(struct in6_addr));
++			*dst = ip6_route_output(net, sk, &fl_gw);
++			if ((err = (*dst)->error))
++				goto out_err_release;
+ 		}
++	}
+ #endif
+ 
+ 	return 0;
+diff --git a/net/ipv6/route.c b/net/ipv6/route.c
+index 9deee59..990fef2 100644
+--- a/net/ipv6/route.c
++++ b/net/ipv6/route.c
+@@ -2718,6 +2718,8 @@ int __init ip6_route_init(void)
+ 	if (ret)
+ 		goto out_kmem_cache;
+ 
++	ip6_dst_blackhole_ops.kmem_cachep = ip6_dst_ops_template.kmem_cachep;
++
+ 	/* Registering of the loopback is done before this portion of code,
+ 	 * the loopback reference in rt6_info will not be taken, do it
+ 	 * manually for init_net */
+diff --git a/net/key/af_key.c b/net/key/af_key.c
+index 7470e36..49805ec 100644
+--- a/net/key/af_key.c
++++ b/net/key/af_key.c
+@@ -73,22 +73,18 @@ static int pfkey_can_dump(struct sock *sk)
+ 	return 0;
+ }
+ 
+-static int pfkey_do_dump(struct pfkey_sock *pfk)
++static void pfkey_terminate_dump(struct pfkey_sock *pfk)
+ {
+-	int rc;
+-
+-	rc = pfk->dump.dump(pfk);
+-	if (rc == -ENOBUFS)
+-		return 0;
+-
+-	pfk->dump.done(pfk);
+-	pfk->dump.dump = NULL;
+-	pfk->dump.done = NULL;
+-	return rc;
++	if (pfk->dump.dump) {
++		pfk->dump.done(pfk);
++		pfk->dump.dump = NULL;
++		pfk->dump.done = NULL;
++	}
+ }
+ 
+ static void pfkey_sock_destruct(struct sock *sk)
+ {
++	pfkey_terminate_dump(pfkey_sk(sk));
+ 	skb_queue_purge(&sk->sk_receive_queue);
+ 
+ 	if (!sock_flag(sk, SOCK_DEAD)) {
+@@ -310,6 +306,18 @@ static int pfkey_broadcast(struct sk_buff *skb, gfp_t allocation,
+ 	return err;
+ }
+ 
++static int pfkey_do_dump(struct pfkey_sock *pfk)
++{
++	int rc;
++
++	rc = pfk->dump.dump(pfk);
++	if (rc == -ENOBUFS)
++		return 0;
++
++	pfkey_terminate_dump(pfk);
++	return rc;
++}
++
+ static inline void pfkey_hdr_dup(struct sadb_msg *new, struct sadb_msg *orig)
+ {
+ 	*new = *orig;
+diff --git a/net/sctp/associola.c b/net/sctp/associola.c
+index 024c3eb..31ca4f4 100644
+--- a/net/sctp/associola.c
++++ b/net/sctp/associola.c
+@@ -597,11 +597,12 @@ struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *asoc,
+ 	/* Check to see if this is a duplicate. */
+ 	peer = sctp_assoc_lookup_paddr(asoc, addr);
+ 	if (peer) {
++		/* An UNKNOWN state is only set on transports added by
++		 * user in sctp_connectx() call.  Such transports should be
++		 * considered CONFIRMED per RFC 4960, Section 5.4.
++		 */
+ 		if (peer->state == SCTP_UNKNOWN) {
+-			if (peer_state == SCTP_ACTIVE)
+-				peer->state = SCTP_ACTIVE;
+-			if (peer_state == SCTP_UNCONFIRMED)
+-				peer->state = SCTP_UNCONFIRMED;
++			peer->state = SCTP_ACTIVE;
+ 		}
+ 		return peer;
+ 	}
+diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
+index bbc7107..650f759 100644
+--- a/net/sctp/sm_make_chunk.c
++++ b/net/sctp/sm_make_chunk.c
+@@ -1886,11 +1886,13 @@ static void sctp_process_ext_param(struct sctp_association *asoc,
+ 			    /* if the peer reports AUTH, assume that he
+ 			     * supports AUTH.
+ 			     */
+-			    asoc->peer.auth_capable = 1;
++			    if (sctp_auth_enable)
++				    asoc->peer.auth_capable = 1;
+ 			    break;
+ 		    case SCTP_CID_ASCONF:
+ 		    case SCTP_CID_ASCONF_ACK:
+-			    asoc->peer.asconf_capable = 1;
++			    if (sctp_addip_enable)
++				    asoc->peer.asconf_capable = 1;
+ 			    break;
+ 		    default:
+ 			    break;
+@@ -2319,12 +2321,10 @@ clean_up:
+ 	/* Release the transport structures. */
+ 	list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
+ 		transport = list_entry(pos, struct sctp_transport, transports);
+-		list_del_init(pos);
+-		sctp_transport_free(transport);
++		if (transport->state != SCTP_ACTIVE)
++			sctp_assoc_rm_peer(asoc, transport);
+ 	}
+ 
+-	asoc->peer.transport_count = 0;
+-
+ nomem:
+ 	return 0;
+ }
+@@ -2455,6 +2455,9 @@ static int sctp_process_param(struct sctp_association *asoc,
+ 		break;
+ 
+ 	case SCTP_PARAM_SET_PRIMARY:
++		if (!sctp_addip_enable)
++			goto fall_through;
++
+ 		addr_param = param.v + sizeof(sctp_addip_param_t);
+ 
+ 		af = sctp_get_af_specific(param_type2af(param.p->type));
+diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
+index 3f964db..5360c86 100644
+--- a/net/xfrm/xfrm_output.c
++++ b/net/xfrm/xfrm_output.c
+@@ -27,10 +27,14 @@ static int xfrm_state_check_space(struct xfrm_state *x, struct sk_buff *skb)
+ 		- skb_headroom(skb);
+ 	int ntail = dst->dev->needed_tailroom - skb_tailroom(skb);
+ 
+-	if (nhead > 0 || ntail > 0)
+-		return pskb_expand_head(skb, nhead, ntail, GFP_ATOMIC);
+-
+-	return 0;
++	if (nhead <= 0) {
++		if (ntail <= 0)
++			return 0;
++		nhead = 0;
++	} else if (ntail < 0)
++		ntail = 0;
++
++	return pskb_expand_head(skb, nhead, ntail, GFP_ATOMIC);
+ }
+ 
+ static int xfrm_output_one(struct sk_buff *skb, int err)
+diff --git a/sound/core/pcm.c b/sound/core/pcm.c
+index 9dd9bc7..ece25c7 100644
+--- a/sound/core/pcm.c
++++ b/sound/core/pcm.c
+@@ -781,7 +781,7 @@ int snd_pcm_attach_substream(struct snd_pcm *pcm, int stream,
+ 		return -ENODEV;
+ 
+ 	card = pcm->card;
+-	down_read(&card->controls_rwsem);
++	read_lock(&card->ctl_files_rwlock);
+ 	list_for_each_entry(kctl, &card->ctl_files, list) {
+ 		if (kctl->pid == current->pid) {
+ 			prefer_subdevice = kctl->prefer_pcm_subdevice;
+@@ -789,7 +789,7 @@ int snd_pcm_attach_substream(struct snd_pcm *pcm, int stream,
+ 				break;
+ 		}
+ 	}
+-	up_read(&card->controls_rwsem);
++	read_unlock(&card->ctl_files_rwlock);
+ 
+ 	switch (stream) {
+ 	case SNDRV_PCM_STREAM_PLAYBACK:
+diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
+index 61f5d42..225112b 100644
+--- a/sound/core/pcm_native.c
++++ b/sound/core/pcm_native.c
+@@ -1545,16 +1545,10 @@ static int snd_pcm_drop(struct snd_pcm_substream *substream)
+ 	card = substream->pcm->card;
+ 
+ 	if (runtime->status->state == SNDRV_PCM_STATE_OPEN ||
+-	    runtime->status->state == SNDRV_PCM_STATE_DISCONNECTED)
++	    runtime->status->state == SNDRV_PCM_STATE_DISCONNECTED ||
++	    runtime->status->state == SNDRV_PCM_STATE_SUSPENDED)
+ 		return -EBADFD;
+ 
+-	snd_power_lock(card);
+-	if (runtime->status->state == SNDRV_PCM_STATE_SUSPENDED) {
+-		result = snd_power_wait(card, SNDRV_CTL_POWER_D0);
+-		if (result < 0)
+-			goto _unlock;
+-	}
+-
+ 	snd_pcm_stream_lock_irq(substream);
+ 	/* resume pause */
+ 	if (runtime->status->state == SNDRV_PCM_STATE_PAUSED)
+@@ -1563,8 +1557,7 @@ static int snd_pcm_drop(struct snd_pcm_substream *substream)
+ 	snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP);
+ 	/* runtime->control->appl_ptr = runtime->status->hw_ptr; */
+ 	snd_pcm_stream_unlock_irq(substream);
+- _unlock:
+-	snd_power_unlock(card);
++
+ 	return result;
+ }
+ 
+diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c
+index f7ea728..b917a9f 100644
+--- a/sound/core/rawmidi.c
++++ b/sound/core/rawmidi.c
+@@ -418,7 +418,7 @@ static int snd_rawmidi_open(struct inode *inode, struct file *file)
+ 	mutex_lock(&rmidi->open_mutex);
+ 	while (1) {
+ 		subdevice = -1;
+-		down_read(&card->controls_rwsem);
++		read_lock(&card->ctl_files_rwlock);
+ 		list_for_each_entry(kctl, &card->ctl_files, list) {
+ 			if (kctl->pid == current->pid) {
+ 				subdevice = kctl->prefer_rawmidi_subdevice;
+@@ -426,7 +426,7 @@ static int snd_rawmidi_open(struct inode *inode, struct file *file)
+ 					break;
+ 			}
+ 		}
+-		up_read(&card->controls_rwsem);
++		read_unlock(&card->ctl_files_rwlock);
+ 		err = snd_rawmidi_kernel_open(rmidi->card, rmidi->device,
+ 					      subdevice, fflags, rawmidi_file);
+ 		if (err >= 0)
+diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
+index a4f44a0..7207759 100644
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -1667,8 +1667,8 @@ static struct snd_pci_quirk stac927x_cfg_tbl[] = {
+ 	/* Dell 3 stack systems with verb table in BIOS */
+ 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL,  0x01f3, "Dell Inspiron 1420", STAC_DELL_BIOS),
+ 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL,  0x0227, "Dell Vostro 1400  ", STAC_DELL_BIOS),
+-	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL,  0x022f, "Dell     ", STAC_DELL_BIOS),
+ 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL,  0x022e, "Dell     ", STAC_DELL_BIOS),
++	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL,  0x022f, "Dell Inspiron 1525", STAC_DELL_3ST),
+ 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL,  0x0242, "Dell     ", STAC_DELL_BIOS),
+ 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL,  0x0243, "Dell     ", STAC_DELL_BIOS),
+ 	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL,  0x02ff, "Dell     ", STAC_DELL_BIOS),
+diff --git a/sound/pci/oxygen/hifier.c b/sound/pci/oxygen/hifier.c
+index 090dd43..841e45d 100644
+--- a/sound/pci/oxygen/hifier.c
++++ b/sound/pci/oxygen/hifier.c
+@@ -17,6 +17,7 @@
+  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+  */
+ 
++#include <linux/delay.h>
+ #include <linux/pci.h>
+ #include <sound/control.h>
+ #include <sound/core.h>
+@@ -95,6 +96,9 @@ static void set_ak4396_params(struct oxygen *chip,
+ 	else
+ 		value |= AK4396_DFS_QUAD;
+ 	data->ak4396_ctl2 = value;
++
++	msleep(1); /* wait for the new MCLK to become stable */
++
+ 	ak4396_write(chip, AK4396_CONTROL_1, AK4396_DIF_24_MSB);
+ 	ak4396_write(chip, AK4396_CONTROL_2, value);
+ 	ak4396_write(chip, AK4396_CONTROL_1, AK4396_DIF_24_MSB | AK4396_RSTN);
+diff --git a/sound/pci/oxygen/oxygen.c b/sound/pci/oxygen/oxygen.c
+index 63f185c..6a59041 100644
+--- a/sound/pci/oxygen/oxygen.c
++++ b/sound/pci/oxygen/oxygen.c
+@@ -28,6 +28,7 @@
+  * GPIO 1 -> DFS1 of AK5385
+  */
+ 
++#include <linux/delay.h>
+ #include <linux/mutex.h>
+ #include <linux/pci.h>
+ #include <sound/ac97_codec.h>
+@@ -173,6 +174,9 @@ static void set_ak4396_params(struct oxygen *chip,
+ 	else
+ 		value |= AK4396_DFS_QUAD;
+ 	data->ak4396_ctl2 = value;
++
++	msleep(1); /* wait for the new MCLK to become stable */
++
+ 	for (i = 0; i < 4; ++i) {
+ 		ak4396_write(chip, i,
+ 			     AK4396_CONTROL_1, AK4396_DIF_24_MSB);
+diff --git a/sound/ppc/awacs.c b/sound/ppc/awacs.c
+index 566a6d0..106c482 100644
+--- a/sound/ppc/awacs.c
++++ b/sound/ppc/awacs.c
+@@ -621,6 +621,13 @@ static struct snd_kcontrol_new snd_pmac_screamer_mixers_imac[] __initdata = {
+ 	AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0),
+ };
+ 
++static struct snd_kcontrol_new snd_pmac_screamer_mixers_g4agp[] __initdata = {
++	AWACS_VOLUME("Line out Playback Volume", 2, 6, 1),
++	AWACS_VOLUME("Master Playback Volume", 5, 6, 1),
++	AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0),
++	AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0),
++};
++
+ static struct snd_kcontrol_new snd_pmac_awacs_mixers_pmac7500[] __initdata = {
+ 	AWACS_VOLUME("Line out Playback Volume", 2, 6, 1),
+ 	AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0),
+@@ -688,7 +695,10 @@ static struct snd_kcontrol_new snd_pmac_awacs_speaker_vol[] __initdata = {
+ static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw __initdata =
+ AWACS_SWITCH("PC Speaker Playback Switch", 1, SHIFT_SPKMUTE, 1);
+ 
+-static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw_imac __initdata =
++static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw_imac1 __initdata =
++AWACS_SWITCH("PC Speaker Playback Switch", 1, SHIFT_PAROUT1, 1);
++
++static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw_imac2 __initdata =
+ AWACS_SWITCH("PC Speaker Playback Switch", 1, SHIFT_PAROUT1, 0);
+ 
+ 
+@@ -765,11 +775,12 @@ static void snd_pmac_awacs_resume(struct snd_pmac *chip)
+ 
+ #define IS_PM7500 (machine_is_compatible("AAPL,7500"))
+ #define IS_BEIGE (machine_is_compatible("AAPL,Gossamer"))
+-#define IS_IMAC (machine_is_compatible("PowerMac2,1") \
+-		|| machine_is_compatible("PowerMac2,2") \
++#define IS_IMAC1 (machine_is_compatible("PowerMac2,1"))
++#define IS_IMAC2 (machine_is_compatible("PowerMac2,2") \
+ 		|| machine_is_compatible("PowerMac4,1"))
++#define IS_G4AGP (machine_is_compatible("PowerMac3,1"))
+ 
+-static int imac;
++static int imac1, imac2;
+ 
+ #ifdef PMAC_SUPPORT_AUTOMUTE
+ /*
+@@ -815,13 +826,18 @@ static void snd_pmac_awacs_update_automute(struct snd_pmac *chip, int do_notify)
+ 		{
+ 			int reg = chip->awacs_reg[1]
+ 				| (MASK_HDMUTE | MASK_SPKMUTE);
+-			if (imac) {
++			if (imac1) {
++				reg &= ~MASK_SPKMUTE;
++				reg |= MASK_PAROUT1;
++			} else if (imac2) {
+ 				reg &= ~MASK_SPKMUTE;
+ 				reg &= ~MASK_PAROUT1;
+ 			}
+ 			if (snd_pmac_awacs_detect_headphone(chip))
+ 				reg &= ~MASK_HDMUTE;
+-			else if (imac)
++			else if (imac1)
++				reg &= ~MASK_PAROUT1;
++			else if (imac2)
+ 				reg |= MASK_PAROUT1;
+ 			else
+ 				reg &= ~MASK_SPKMUTE;
+@@ -850,9 +866,13 @@ snd_pmac_awacs_init(struct snd_pmac *chip)
+ {
+ 	int pm7500 = IS_PM7500;
+ 	int beige = IS_BEIGE;
++	int g4agp = IS_G4AGP;
++	int imac;
+ 	int err, vol;
+ 
+-	imac = IS_IMAC;
++	imac1 = IS_IMAC1;
++	imac2 = IS_IMAC2;
++	imac = imac1 || imac2;
+ 	/* looks like MASK_GAINLINE triggers something, so we set here
+ 	 * as start-up
+ 	 */
+@@ -939,7 +959,7 @@ snd_pmac_awacs_init(struct snd_pmac *chip)
+ 				snd_pmac_awacs_mixers);
+ 	if (err < 0)
+ 		return err;
+-	if (beige)
++	if (beige || g4agp)
+ 		;
+ 	else if (chip->model == PMAC_SCREAMER)
+ 		err = build_mixers(chip, ARRAY_SIZE(snd_pmac_screamer_mixers2),
+@@ -961,13 +981,17 @@ snd_pmac_awacs_init(struct snd_pmac *chip)
+ 		err = build_mixers(chip,
+ 				   ARRAY_SIZE(snd_pmac_screamer_mixers_imac),
+ 				   snd_pmac_screamer_mixers_imac);
++	else if (g4agp)
++		err = build_mixers(chip,
++				   ARRAY_SIZE(snd_pmac_screamer_mixers_g4agp),
++				   snd_pmac_screamer_mixers_g4agp);
+ 	else
+ 		err = build_mixers(chip,
+ 				   ARRAY_SIZE(snd_pmac_awacs_mixers_pmac),
+ 				   snd_pmac_awacs_mixers_pmac);
+ 	if (err < 0)
+ 		return err;
+-	chip->master_sw_ctl = snd_ctl_new1((pm7500 || imac)
++	chip->master_sw_ctl = snd_ctl_new1((pm7500 || imac || g4agp)
+ 			? &snd_pmac_awacs_master_sw_imac
+ 			: &snd_pmac_awacs_master_sw, chip);
+ 	err = snd_ctl_add(chip->card, chip->master_sw_ctl);
+@@ -1004,15 +1028,17 @@ snd_pmac_awacs_init(struct snd_pmac *chip)
+ 					snd_pmac_awacs_speaker_vol);
+ 		if (err < 0)
+ 			return err;
+-		chip->speaker_sw_ctl = snd_ctl_new1(imac
+-				? &snd_pmac_awacs_speaker_sw_imac
++		chip->speaker_sw_ctl = snd_ctl_new1(imac1
++				? &snd_pmac_awacs_speaker_sw_imac1
++				: imac2
++				? &snd_pmac_awacs_speaker_sw_imac2
+ 				: &snd_pmac_awacs_speaker_sw, chip);
+ 		err = snd_ctl_add(chip->card, chip->speaker_sw_ctl);
+ 		if (err < 0)
+ 			return err;
+ 	}
+ 
+-	if (beige)
++	if (beige || g4agp)
+ 		err = build_mixers(chip,
+ 				ARRAY_SIZE(snd_pmac_screamer_mic_boost_beige),
+ 				snd_pmac_screamer_mic_boost_beige);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.6-revert_kernel_tick_broadcast_oneshot_1.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.6-revert_kernel_tick_broadcast_oneshot_1.patch
@@ -0,0 +1,57 @@
+diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
+index e20a365..bcd4176 100644
+--- a/kernel/time/tick-broadcast.c
++++ b/kernel/time/tick-broadcast.c
+@@ -490,18 +490,6 @@ static void tick_broadcast_clear_oneshot(int cpu)
+ 	cpu_clear(cpu, tick_broadcast_oneshot_mask);
+ }
+ 
+-static void tick_broadcast_init_next_event(cpumask_t *mask, ktime_t expires)
+-{
+-	struct tick_device *td;
+-	int cpu;
+-
+-	for_each_cpu_mask_nr(cpu, *mask) {
+-		td = &per_cpu(tick_cpu_device, cpu);
+-		if (td->evtdev)
+-			td->evtdev->next_event = expires;
+-	}
+-}
+-
+ /**
+  * tick_broadcast_setup_oneshot - setup the broadcast device
+  */
+@@ -509,32 +497,9 @@ void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
+ {
+ 	/* Set it up only once ! */
+ 	if (bc->event_handler != tick_handle_oneshot_broadcast) {
+-		int was_periodic = bc->mode == CLOCK_EVT_MODE_PERIODIC;
+-		int cpu = smp_processor_id();
+-		cpumask_t mask;
+-
+ 		bc->event_handler = tick_handle_oneshot_broadcast;
+ 		clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT);
+-
+-		/* Take the do_timer update */
+-		tick_do_timer_cpu = cpu;
+-
+-		/*
+-		 * We must be careful here. There might be other CPUs
+-		 * waiting for periodic broadcast. We need to set the
+-		 * oneshot_mask bits for those and program the
+-		 * broadcast device to fire.
+-		 */
+-		mask = tick_broadcast_mask;
+-		cpu_clear(cpu, mask);
+-		cpus_or(tick_broadcast_oneshot_mask,
+-			tick_broadcast_oneshot_mask, mask);
+-
+-		if (was_periodic && !cpus_empty(mask)) {
+-			tick_broadcast_init_next_event(&mask, tick_next_period);
+-			tick_broadcast_set_event(tick_next_period, 1);
+-		} else
+-			bc->next_event.tv64 = KTIME_MAX;
++		bc->next_event.tv64 = KTIME_MAX;
+ 	}
+ }
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.6-revert_kernel_tick_broadcast_oneshot_2.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.6-revert_kernel_tick_broadcast_oneshot_2.patch
@@ -0,0 +1,52 @@
+diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
+index f2c5fef..104cd47 100644
+--- a/kernel/time/tick-broadcast.c
++++ b/kernel/time/tick-broadcast.c
+@@ -209,7 +209,7 @@ static void tick_do_broadcast_on_off(void *why)
+ 	struct clock_event_device *bc, *dev;
+ 	struct tick_device *td;
+ 	unsigned long flags, *reason = why;
+-	int cpu, bc_stopped;
++	int cpu;
+ 
+ 	spin_lock_irqsave(&tick_broadcast_lock, flags);
+ 
+@@ -227,8 +227,6 @@ static void tick_do_broadcast_on_off(void *why)
+ 	if (!tick_device_is_functional(dev))
+ 		goto out;
+ 
+-	bc_stopped = cpus_empty(tick_broadcast_mask);
+-
+ 	switch (*reason) {
+ 	case CLOCK_EVT_NOTIFY_BROADCAST_ON:
+ 	case CLOCK_EVT_NOTIFY_BROADCAST_FORCE:
+@@ -250,10 +248,9 @@ static void tick_do_broadcast_on_off(void *why)
+ 		break;
+ 	}
+ 
+-	if (cpus_empty(tick_broadcast_mask)) {
+-		if (!bc_stopped)
+-			clockevents_set_mode(bc, CLOCK_EVT_MODE_SHUTDOWN);
+-	} else if (bc_stopped) {
++	if (cpus_empty(tick_broadcast_mask))
++		clockevents_set_mode(bc, CLOCK_EVT_MODE_SHUTDOWN);
++	else {
+ 		if (tick_broadcast_device.mode == TICKDEV_MODE_PERIODIC)
+ 			tick_broadcast_start_periodic(bc);
+ 		else
+@@ -503,12 +500,9 @@ static void tick_broadcast_clear_oneshot(int cpu)
+  */
+ void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
+ {
+-	/* Set it up only once ! */
+-	if (bc->event_handler != tick_handle_oneshot_broadcast) {
+-		bc->event_handler = tick_handle_oneshot_broadcast;
+-		clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT);
+-		bc->next_event.tv64 = KTIME_MAX;
+-	}
++	bc->event_handler = tick_handle_oneshot_broadcast;
++	clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT);
++	bc->next_event.tv64 = KTIME_MAX;
+ }
+ 
+ /*
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.7.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.7.patch
@@ -0,0 +1,958 @@
+diff --git a/Documentation/video4linux/CARDLIST.au0828 b/Documentation/video4linux/CARDLIST.au0828
+index 86d1c8e..e441214 100644
+--- a/Documentation/video4linux/CARDLIST.au0828
++++ b/Documentation/video4linux/CARDLIST.au0828
+@@ -1,4 +1,4 @@
+   0 -> Unknown board                            (au0828)
+-  1 -> Hauppauge HVR950Q                        (au0828)        [2040:7200,2040:7210,2040:7217,2040:721b,2040:721f,2040:7280,0fd9:0008]
++  1 -> Hauppauge HVR950Q                        (au0828)        [2040:7200,2040:7210,2040:7217,2040:721b,2040:721e,2040:721f,2040:7280,0fd9:0008]
+   2 -> Hauppauge HVR850                         (au0828)        [2040:7240]
+   3 -> DViCO FusionHDTV USB                     (au0828)        [0fe9:d620]
+diff --git a/Makefile b/Makefile
+index 0250a37..ac8e8a1 100644
+diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
+index d5ccf42..5e1c92b 100644
+--- a/arch/x86/kernel/alternative.c
++++ b/arch/x86/kernel/alternative.c
+@@ -454,7 +454,7 @@ void __init alternative_instructions(void)
+ 					    _text, _etext);
+ 
+ 		/* Only switch to UP mode if we don't immediately boot others */
+-		if (num_possible_cpus() == 1 || setup_max_cpus <= 1)
++		if (num_present_cpus() == 1 || setup_max_cpus <= 1)
+ 			alternatives_smp_switch(0);
+ 	}
+ #endif
+diff --git a/arch/x86/kernel/io_apic_32.c b/arch/x86/kernel/io_apic_32.c
+index 4dc8600..ad745cd 100644
+--- a/arch/x86/kernel/io_apic_32.c
++++ b/arch/x86/kernel/io_apic_32.c
+@@ -2264,6 +2264,9 @@ void __init setup_IO_APIC(void)
+ 	for (i = FIRST_SYSTEM_VECTOR; i < NR_VECTORS; i++)
+ 		set_bit(i, used_vectors);
+ 
++	/* Mark FIRST_DEVICE_VECTOR which is assigned to IRQ0 as used. */
++	set_bit(FIRST_DEVICE_VECTOR, used_vectors);
++
+ 	enable_IO_APIC();
+ 
+ 	if (acpi_ioapic)
+diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
+index c6eb5c9..a803de3 100644
+--- a/arch/x86/kernel/process_64.c
++++ b/arch/x86/kernel/process_64.c
+@@ -740,12 +740,12 @@ unsigned long get_wchan(struct task_struct *p)
+ 	if (!p || p == current || p->state==TASK_RUNNING)
+ 		return 0; 
+ 	stack = (unsigned long)task_stack_page(p);
+-	if (p->thread.sp < stack || p->thread.sp > stack+THREAD_SIZE)
++	if (p->thread.sp < stack || p->thread.sp >= stack+THREAD_SIZE)
+ 		return 0;
+ 	fp = *(u64 *)(p->thread.sp);
+ 	do { 
+ 		if (fp < (unsigned long)stack ||
+-		    fp > (unsigned long)stack+THREAD_SIZE)
++		    fp >= (unsigned long)stack+THREAD_SIZE)
+ 			return 0; 
+ 		ip = *(u64 *)(fp+8);
+ 		if (!in_sched_functions(ip))
+diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
+index d1b8671..035752d 100644
+--- a/arch/x86/mm/ioremap.c
++++ b/arch/x86/mm/ioremap.c
+@@ -582,7 +582,7 @@ void __init *early_ioremap(unsigned long phys_addr, unsigned long size)
+ 	 */
+ 	offset = phys_addr & ~PAGE_MASK;
+ 	phys_addr &= PAGE_MASK;
+-	size = PAGE_ALIGN(last_addr) - phys_addr;
++	size = PAGE_ALIGN(last_addr + 1) - phys_addr;
+ 
+ 	/*
+ 	 * Mappings have to fit in the FIX_BTMAP area.
+diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
+index d089c45..004da4d 100644
+--- a/drivers/acpi/video.c
++++ b/drivers/acpi/video.c
+@@ -720,7 +720,7 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
+ 
+ 	kfree(obj);
+ 
+-	if (device->cap._BCL && device->cap._BCM && device->cap._BQC && max_level > 0){
++	if (device->cap._BCL && device->cap._BCM && max_level > 0) {
+ 		int result;
+ 		static int count = 0;
+ 		char *name;
+@@ -732,7 +732,17 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
+ 		device->backlight = backlight_device_register(name,
+ 			NULL, device, &acpi_backlight_ops);
+ 		device->backlight->props.max_brightness = device->brightness->count-3;
+-		device->backlight->props.brightness = acpi_video_get_brightness(device->backlight);
++		/*
++		 * If there exists the _BQC object, the _BQC object will be
++		 * called to get the current backlight brightness. Otherwise
++		 * the brightness will be set to the maximum.
++		 */
++		if (device->cap._BQC)
++			device->backlight->props.brightness =
++				acpi_video_get_brightness(device->backlight);
++		else
++			device->backlight->props.brightness =
++				device->backlight->props.max_brightness;
+ 		backlight_update_status(device->backlight);
+ 		kfree(name);
+ 
+diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
+index 7894d83..27023e3 100644
+--- a/drivers/ata/libata-eh.c
++++ b/drivers/ata/libata-eh.c
+@@ -2050,18 +2050,12 @@ static int ata_do_reset(struct ata_link *link, ata_reset_fn_t reset,
+ }
+ 
+ static int ata_eh_followup_srst_needed(struct ata_link *link,
+-				       int rc, int classify,
+-				       const unsigned int *classes)
++				       int rc, const unsigned int *classes)
+ {
+ 	if ((link->flags & ATA_LFLAG_NO_SRST) || ata_link_offline(link))
+ 		return 0;
+-	if (rc == -EAGAIN) {
+-		if (classify)
+-			return 1;
+-		rc = 0;
+-	}
+-	if (rc != 0)
+-		return 0;
++	if (rc == -EAGAIN)
++		return 1;
+ 	if (sata_pmp_supported(link->ap) && ata_is_host_link(link))
+ 		return 1;
+ 	return 0;
+@@ -2118,10 +2112,10 @@ int ata_eh_reset(struct ata_link *link, int classify,
+ 	ehc->i.action &= ~ATA_EH_RESET;
+ 	if (hardreset) {
+ 		reset = hardreset;
+-		ehc->i.action = ATA_EH_HARDRESET;
++		ehc->i.action |= ATA_EH_HARDRESET;
+ 	} else if (softreset) {
+ 		reset = softreset;
+-		ehc->i.action = ATA_EH_SOFTRESET;
++		ehc->i.action |= ATA_EH_SOFTRESET;
+ 	}
+ 
+ 	if (prereset) {
+@@ -2174,9 +2168,11 @@ int ata_eh_reset(struct ata_link *link, int classify,
+ 			ehc->i.flags |= ATA_EHI_DID_SOFTRESET;
+ 
+ 		rc = ata_do_reset(link, reset, classes, deadline);
++		if (rc && rc != -EAGAIN)
++			goto fail;
+ 
+ 		if (reset == hardreset &&
+-		    ata_eh_followup_srst_needed(link, rc, classify, classes)) {
++		    ata_eh_followup_srst_needed(link, rc, classes)) {
+ 			/* okay, let's do follow-up softreset */
+ 			reset = softreset;
+ 
+@@ -2191,10 +2187,6 @@ int ata_eh_reset(struct ata_link *link, int classify,
+ 			ata_eh_about_to_do(link, NULL, ATA_EH_RESET);
+ 			rc = ata_do_reset(link, reset, classes, deadline);
+ 		}
+-
+-		/* -EAGAIN can happen if we skipped followup SRST */
+-		if (rc && rc != -EAGAIN)
+-			goto fail;
+ 	} else {
+ 		if (verbose)
+ 			ata_link_printk(link, KERN_INFO, "no reset method "
+diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c
+index 8897434..a219ae4 100644
+--- a/drivers/char/drm/i915_dma.c
++++ b/drivers/char/drm/i915_dma.c
+@@ -836,7 +836,7 @@ struct drm_ioctl_desc i915_ioctls[] = {
+ 	DRM_IOCTL_DEF(DRM_I915_SET_VBLANK_PIPE,  i915_vblank_pipe_set, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY ),
+ 	DRM_IOCTL_DEF(DRM_I915_GET_VBLANK_PIPE,  i915_vblank_pipe_get, DRM_AUTH ),
+ 	DRM_IOCTL_DEF(DRM_I915_VBLANK_SWAP, i915_vblank_swap, DRM_AUTH),
+-	DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH),
++	DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
+ };
+ 
+ int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls);
+diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
+index 7501310..a51374e 100644
+--- a/drivers/char/tty_io.c
++++ b/drivers/char/tty_io.c
+@@ -3474,7 +3474,7 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+ 	case TIOCSTI:
+ 		return tiocsti(tty, p);
+ 	case TIOCGWINSZ:
+-		return tiocgwinsz(tty, p);
++		return tiocgwinsz(real_tty, p);
+ 	case TIOCSWINSZ:
+ 		return tiocswinsz(tty, real_tty, p);
+ 	case TIOCCONS:
+diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c
+index e12c132..48b9f28 100644
+--- a/drivers/hwmon/it87.c
++++ b/drivers/hwmon/it87.c
+@@ -46,6 +46,8 @@
+ #include <linux/err.h>
+ #include <linux/mutex.h>
+ #include <linux/sysfs.h>
++#include <linux/string.h>
++#include <linux/dmi.h>
+ #include <asm/io.h>
+ 
+ #define DRVNAME "it87"
+@@ -235,6 +237,8 @@ struct it87_sio_data {
+ 	enum chips type;
+ 	/* Values read from Super-I/O config space */
+ 	u8 vid_value;
++	/* Values set based on DMI strings */
++	u8 skip_pwm;
+ };
+ 
+ /* For each registered chip, we need to keep some data in memory.
+@@ -952,6 +956,7 @@ static int __init it87_find(unsigned short *address,
+ {
+ 	int err = -ENODEV;
+ 	u16 chip_type;
++	const char *board_vendor, *board_name;
+ 
+ 	superio_enter();
+ 	chip_type = force_id ? force_id : superio_inw(DEVID);
+@@ -1009,6 +1014,25 @@ static int __init it87_find(unsigned short *address,
+ 			pr_info("it87: in7 is VCCH (+5V Stand-By)\n");
+ 	}
+ 
++	sio_data->skip_pwm = 0;
++	/* Disable specific features based on DMI strings */
++	board_vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
++	board_name = dmi_get_system_info(DMI_BOARD_NAME);
++	if (board_vendor && board_name) {
++		if (strcmp(board_vendor, "nVIDIA") == 0
++		 && strcmp(board_name, "FN68PT") == 0) {
++			/* On the Shuttle SN68PT, FAN_CTL2 is apparently not
++			   connected to a fan, but to something else. One user
++			   has reported instant system power-off when changing
++			   the PWM2 duty cycle, so we disable it.
++			   I use the board name string as the trigger in case
++			   the same board is ever used in other systems. */
++			pr_info("it87: Disabling pwm2 due to "
++				"hardware constraints\n");
++			sio_data->skip_pwm = (1 << 1);
++		}
++	}
++
+ exit:
+ 	superio_exit();
+ 	return err;
+@@ -1157,22 +1181,25 @@ static int __devinit it87_probe(struct platform_device *pdev)
+ 		if ((err = device_create_file(dev,
+ 		     &sensor_dev_attr_pwm1_enable.dev_attr))
+ 		 || (err = device_create_file(dev,
+-		     &sensor_dev_attr_pwm2_enable.dev_attr))
+-		 || (err = device_create_file(dev,
+ 		     &sensor_dev_attr_pwm3_enable.dev_attr))
+ 		 || (err = device_create_file(dev,
+ 		     &sensor_dev_attr_pwm1.dev_attr))
+ 		 || (err = device_create_file(dev,
+-		     &sensor_dev_attr_pwm2.dev_attr))
+-		 || (err = device_create_file(dev,
+ 		     &sensor_dev_attr_pwm3.dev_attr))
+ 		 || (err = device_create_file(dev,
+ 		     &dev_attr_pwm1_freq))
+ 		 || (err = device_create_file(dev,
+-		     &dev_attr_pwm2_freq))
+-		 || (err = device_create_file(dev,
+ 		     &dev_attr_pwm3_freq)))
+ 			goto ERROR4;
++		if (!(sio_data->skip_pwm & (1 << 1))) {
++			if ((err = device_create_file(dev,
++			     &sensor_dev_attr_pwm2_enable.dev_attr))
++			 || (err = device_create_file(dev,
++			     &sensor_dev_attr_pwm2.dev_attr))
++			 || (err = device_create_file(dev,
++			     &dev_attr_pwm2_freq)))
++				goto ERROR4;
++		}
+ 	}
+ 
+ 	if (data->type == it8712 || data->type == it8716
+diff --git a/drivers/media/video/au0828/au0828-cards.c b/drivers/media/video/au0828/au0828-cards.c
+index 898e123..4177bf6 100644
+--- a/drivers/media/video/au0828/au0828-cards.c
++++ b/drivers/media/video/au0828/au0828-cards.c
+@@ -83,6 +83,7 @@ static void hauppauge_eeprom(struct au0828_dev *dev, u8 *eeprom_data)
+ 	case 72221: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and basic analog video */
+ 	case 72231: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and basic analog video */
+ 	case 72241: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and basic analog video */
++	case 72251: /* WinTV-HVR950q (Retail, IR, ATSC/QAM and basic analog video */
+ 	case 72301: /* WinTV-HVR850 (Retail, IR, ATSC and basic analog video */
+ 	case 72500: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM */
+ 		break;
+@@ -187,6 +188,8 @@ struct usb_device_id au0828_usb_id_table [] = {
+ 		.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q },
+ 	{ USB_DEVICE(0x2040, 0x721b),
+ 		.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q },
++	{ USB_DEVICE(0x2040, 0x721e),
++		.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q },
+ 	{ USB_DEVICE(0x2040, 0x721f),
+ 		.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q },
+ 	{ USB_DEVICE(0x2040, 0x7280),
+diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
+index 0165aac..7bcd328 100644
+--- a/drivers/media/video/bt8xx/bttv-driver.c
++++ b/drivers/media/video/bt8xx/bttv-driver.c
+@@ -3428,7 +3428,7 @@ static int radio_open(struct inode *inode, struct file *file)
+ 	dprintk("bttv: open minor=%d\n",minor);
+ 
+ 	for (i = 0; i < bttv_num; i++) {
+-		if (bttvs[i].radio_dev->minor == minor) {
++		if (bttvs[i].radio_dev && bttvs[i].radio_dev->minor == minor) {
+ 			btv = &bttvs[i];
+ 			break;
+ 		}
+diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c
+index c77914d..0ce64e1 100644
+--- a/drivers/media/video/tvaudio.c
++++ b/drivers/media/video/tvaudio.c
+@@ -1805,7 +1805,7 @@ static int chip_command(struct i2c_client *client,
+ 		break;
+ 	case VIDIOC_S_FREQUENCY:
+ 		chip->mode = 0; /* automatic */
+-		if (desc->checkmode) {
++		if (desc->checkmode && desc->setmode) {
+ 			desc->setmode(chip,V4L2_TUNER_MODE_MONO);
+ 			if (chip->prevmode != V4L2_TUNER_MODE_MONO)
+ 				chip->prevmode = -1; /* reset previous mode */
+diff --git a/drivers/media/video/uvc/uvc_ctrl.c b/drivers/media/video/uvc/uvc_ctrl.c
+index f0ee46d..18c9f71 100644
+--- a/drivers/media/video/uvc/uvc_ctrl.c
++++ b/drivers/media/video/uvc/uvc_ctrl.c
+@@ -585,13 +585,18 @@ int uvc_query_v4l2_ctrl(struct uvc_video_device *video,
+ 	struct uvc_control_mapping *mapping;
+ 	struct uvc_menu_info *menu;
+ 	unsigned int i;
+-	__u8 data[8];
++	__u8 *data;
+ 	int ret;
+ 
+ 	ctrl = uvc_find_control(video, v4l2_ctrl->id, &mapping);
+ 	if (ctrl == NULL)
+ 		return -EINVAL;
+ 
++	data = kmalloc(ctrl->info->size, GFP_KERNEL);
++	if (data == NULL)
++		return -ENOMEM;
++
++	memset(v4l2_ctrl, 0, sizeof *v4l2_ctrl);
+ 	v4l2_ctrl->id = mapping->id;
+ 	v4l2_ctrl->type = mapping->v4l2_type;
+ 	strncpy(v4l2_ctrl->name, mapping->name, sizeof v4l2_ctrl->name);
+@@ -603,12 +608,13 @@ int uvc_query_v4l2_ctrl(struct uvc_video_device *video,
+ 	if (ctrl->info->flags & UVC_CONTROL_GET_DEF) {
+ 		if ((ret = uvc_query_ctrl(video->dev, GET_DEF, ctrl->entity->id,
+ 				video->dev->intfnum, ctrl->info->selector,
+-				&data, ctrl->info->size)) < 0)
+-			return ret;
++				data, ctrl->info->size)) < 0)
++			goto out;
+ 		v4l2_ctrl->default_value = uvc_get_le_value(data, mapping);
+ 	}
+ 
+-	if (mapping->v4l2_type == V4L2_CTRL_TYPE_MENU) {
++	switch (mapping->v4l2_type) {
++	case V4L2_CTRL_TYPE_MENU:
+ 		v4l2_ctrl->minimum = 0;
+ 		v4l2_ctrl->maximum = mapping->menu_count - 1;
+ 		v4l2_ctrl->step = 1;
+@@ -621,32 +627,46 @@ int uvc_query_v4l2_ctrl(struct uvc_video_device *video,
+ 			}
+ 		}
+ 
+-		return 0;
++		ret = 0;
++		goto out;
++
++	case V4L2_CTRL_TYPE_BOOLEAN:
++		v4l2_ctrl->minimum = 0;
++		v4l2_ctrl->maximum = 1;
++		v4l2_ctrl->step = 1;
++		ret = 0;
++		goto out;
++
++	default:
++		break;
+ 	}
+ 
+ 	if (ctrl->info->flags & UVC_CONTROL_GET_MIN) {
+ 		if ((ret = uvc_query_ctrl(video->dev, GET_MIN, ctrl->entity->id,
+ 				video->dev->intfnum, ctrl->info->selector,
+-				&data, ctrl->info->size)) < 0)
+-			return ret;
++				data, ctrl->info->size)) < 0)
++			goto out;
+ 		v4l2_ctrl->minimum = uvc_get_le_value(data, mapping);
+ 	}
+ 	if (ctrl->info->flags & UVC_CONTROL_GET_MAX) {
+ 		if ((ret = uvc_query_ctrl(video->dev, GET_MAX, ctrl->entity->id,
+ 				video->dev->intfnum, ctrl->info->selector,
+-				&data, ctrl->info->size)) < 0)
+-			return ret;
++				data, ctrl->info->size)) < 0)
++			goto out;
+ 		v4l2_ctrl->maximum = uvc_get_le_value(data, mapping);
+ 	}
+ 	if (ctrl->info->flags & UVC_CONTROL_GET_RES) {
+ 		if ((ret = uvc_query_ctrl(video->dev, GET_RES, ctrl->entity->id,
+ 				video->dev->intfnum, ctrl->info->selector,
+-				&data, ctrl->info->size)) < 0)
+-			return ret;
++				data, ctrl->info->size)) < 0)
++			goto out;
+ 		v4l2_ctrl->step = uvc_get_le_value(data, mapping);
+ 	}
+ 
+-	return 0;
++	ret = 0;
++out:
++	kfree(data);
++	return ret;
+ }
+ 
+ 
+diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
+index 817af2e..9a8a94a 100644
+--- a/drivers/media/video/uvc/uvc_video.c
++++ b/drivers/media/video/uvc/uvc_video.c
+@@ -90,17 +90,20 @@ static void uvc_fixup_buffer_size(struct uvc_video_device *video,
+ static int uvc_get_video_ctrl(struct uvc_video_device *video,
+ 	struct uvc_streaming_control *ctrl, int probe, __u8 query)
+ {
+-	__u8 data[34];
+-	__u8 size;
++	__u8 *data;
++	__u16 size;
+ 	int ret;
+ 
+ 	size = video->dev->uvc_version >= 0x0110 ? 34 : 26;
++	data = kmalloc(size, GFP_KERNEL);
++	if (data == NULL)
++		return -ENOMEM;
++
+ 	ret = __uvc_query_ctrl(video->dev, query, 0, video->streaming->intfnum,
+-		probe ? VS_PROBE_CONTROL : VS_COMMIT_CONTROL, &data, size,
++		probe ? VS_PROBE_CONTROL : VS_COMMIT_CONTROL, data, size,
+ 		UVC_CTRL_STREAMING_TIMEOUT);
+-
+ 	if (ret < 0)
+-		return ret;
++		goto out;
+ 
+ 	ctrl->bmHint = le16_to_cpup((__le16 *)&data[0]);
+ 	ctrl->bFormatIndex = data[2];
+@@ -136,17 +139,22 @@ static int uvc_get_video_ctrl(struct uvc_video_device *video,
+ 	 */
+ 	uvc_fixup_buffer_size(video, ctrl);
+ 
+-	return 0;
++out:
++	kfree(data);
++	return ret;
+ }
+ 
+ int uvc_set_video_ctrl(struct uvc_video_device *video,
+ 	struct uvc_streaming_control *ctrl, int probe)
+ {
+-	__u8 data[34];
+-	__u8 size;
++	__u8 *data;
++	__u16 size;
++	int ret;
+ 
+ 	size = video->dev->uvc_version >= 0x0110 ? 34 : 26;
+-	memset(data, 0, sizeof data);
++	data = kzalloc(size, GFP_KERNEL);
++	if (data == NULL)
++		return -ENOMEM;
+ 
+ 	*(__le16 *)&data[0] = cpu_to_le16(ctrl->bmHint);
+ 	data[2] = ctrl->bFormatIndex;
+@@ -174,10 +182,13 @@ int uvc_set_video_ctrl(struct uvc_video_device *video,
+ 		data[33] = ctrl->bMaxVersion;
+ 	}
+ 
+-	return __uvc_query_ctrl(video->dev, SET_CUR, 0,
++	ret = __uvc_query_ctrl(video->dev, SET_CUR, 0,
+ 		video->streaming->intfnum,
+-		probe ? VS_PROBE_CONTROL : VS_COMMIT_CONTROL, &data, size,
++		probe ? VS_PROBE_CONTROL : VS_COMMIT_CONTROL, data, size,
+ 		UVC_CTRL_STREAMING_TIMEOUT);
++
++	kfree(data);
++	return ret;
+ }
+ 
+ int uvc_probe_video(struct uvc_video_device *video,
+diff --git a/drivers/media/video/zoran_driver.c b/drivers/media/video/zoran_driver.c
+index 5394d7a..27b7072 100644
+--- a/drivers/media/video/zoran_driver.c
++++ b/drivers/media/video/zoran_driver.c
+@@ -134,7 +134,7 @@ const struct zoran_format zoran_formats[] = {
+ 	}, {
+ 		.name = "16-bit RGB BE",
+ 		ZFMT(-1,
+-		     V4L2_PIX_FMT_RGB565, V4L2_COLORSPACE_SRGB),
++		     V4L2_PIX_FMT_RGB565X, V4L2_COLORSPACE_SRGB),
+ 		.depth = 16,
+ 		.flags = ZORAN_FORMAT_CAPTURE |
+ 			 ZORAN_FORMAT_OVERLAY,
+diff --git a/drivers/net/wireless/b43legacy/xmit.c b/drivers/net/wireless/b43legacy/xmit.c
+index dcad249..1b71a9f 100644
+--- a/drivers/net/wireless/b43legacy/xmit.c
++++ b/drivers/net/wireless/b43legacy/xmit.c
+@@ -626,7 +626,7 @@ void b43legacy_handle_hwtxstatus(struct b43legacy_wldev *dev,
+ 	tmp = hw->count;
+ 	status.frame_count = (tmp >> 4);
+ 	status.rts_count = (tmp & 0x0F);
+-	tmp = hw->flags;
++	tmp = hw->flags << 1;
+ 	status.supp_reason = ((tmp & 0x1C) >> 2);
+ 	status.pm_indicated = !!(tmp & 0x80);
+ 	status.intermediate = !!(tmp & 0x40);
+diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
+index 9d6fc8e..c2dc92b 100644
+--- a/drivers/pci/pci-acpi.c
++++ b/drivers/pci/pci-acpi.c
+@@ -11,6 +11,7 @@
+ #include <linux/init.h>
+ #include <linux/pci.h>
+ #include <linux/module.h>
++#include <linux/pci-aspm.h>
+ #include <acpi/acpi.h>
+ #include <acpi/acnamesp.h>
+ #include <acpi/acresrc.h>
+@@ -394,6 +395,12 @@ static int __init acpi_pci_init(void)
+ 		printk(KERN_INFO"ACPI FADT declares the system doesn't support MSI, so disable it\n");
+ 		pci_no_msi();
+ 	}
++
++	if (acpi_gbl_FADT.boot_flags & BAF_PCIE_ASPM_CONTROL) {
++		printk(KERN_INFO"ACPI FADT declares the system doesn't support PCIe ASPM, so disable it\n");
++		pcie_no_aspm();
++	}
++
+ 	ret = register_acpi_bus_type(&acpi_pci_bus);
+ 	if (ret)
+ 		return 0;
+diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
+index 9c71858..96c4750 100644
+--- a/drivers/pci/pci-sysfs.c
++++ b/drivers/pci/pci-sysfs.c
+@@ -16,6 +16,7 @@
+ 
+ 
+ #include <linux/kernel.h>
++#include <linux/sched.h>
+ #include <linux/pci.h>
+ #include <linux/stat.h>
+ #include <linux/topology.h>
+@@ -484,6 +485,21 @@ pci_mmap_legacy_mem(struct kobject *kobj, struct bin_attribute *attr,
+ #endif /* HAVE_PCI_LEGACY */
+ 
+ #ifdef HAVE_PCI_MMAP
++
++static int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct *vma)
++{
++	unsigned long nr, start, size;
++
++	nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
++	start = vma->vm_pgoff;
++	size = pci_resource_len(pdev, resno) >> PAGE_SHIFT;
++	if (start < size && size - start >= nr)
++		return 1;
++	printk(KERN_WARNING "WARNING: process \"%s\" tried to map 0x%08lx-0x%08lx on %s BAR %d (size 0x%08lx)\n",
++		current->comm, start, start+nr, pci_name(pdev), resno, size);
++	return 0;
++}
++
+ /**
+  * pci_mmap_resource - map a PCI resource into user memory space
+  * @kobj: kobject for mapping
+@@ -510,6 +526,9 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+ 	if (i >= PCI_ROM_RESOURCE)
+ 		return -ENODEV;
+ 
++	if (!pci_mmap_fits(pdev, i, vma))
++		return -EINVAL;
++
+ 	/* pci_mmap_page_range() expects the same kind of entry as coming
+ 	 * from /proc/bus/pci/ which is a "user visible" value. If this is
+ 	 * different from the resource itself, arch will do necessary fixup.
+diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
+index f824955..7046052 100644
+--- a/drivers/pci/pcie/aspm.c
++++ b/drivers/pci/pcie/aspm.c
+@@ -510,6 +510,7 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev)
+ {
+ 	struct pci_dev *child_dev;
+ 	int child_pos;
++	u32 reg32;
+ 
+ 	/*
+ 	 * Some functions in a slot might not all be PCIE functions, very
+@@ -519,6 +520,18 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev)
+ 		child_pos = pci_find_capability(child_dev, PCI_CAP_ID_EXP);
+ 		if (!child_pos)
+ 			return -EINVAL;
++
++		/*
++		 * Disable ASPM for pre-1.1 PCIe device, we follow MS to use
++		 * RBER bit to determine if a function is 1.1 version device
++		 */
++		pci_read_config_dword(child_dev, child_pos + PCI_EXP_DEVCAP,
++			&reg32);
++		if (!(reg32 & PCI_EXP_DEVCAP_RBER)) {
++			printk("Pre-1.1 PCIe device detected, "
++				"disable ASPM for %s\n", pci_name(pdev));
++			return -EINVAL;
++		}
+ 	}
+ 	return 0;
+ }
+@@ -808,6 +821,11 @@ static int __init pcie_aspm_disable(char *str)
+ 
+ __setup("pcie_noaspm", pcie_aspm_disable);
+ 
++void pcie_no_aspm(void)
++{
++	aspm_disabled = 1;
++}
++
+ #ifdef CONFIG_ACPI
+ #include <acpi/acpi_bus.h>
+ #include <linux/pci-acpi.h>
+diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
+index 3706ce7..4f90250 100644
+--- a/drivers/pci/probe.c
++++ b/drivers/pci/probe.c
+@@ -1047,7 +1047,8 @@ int pci_scan_slot(struct pci_bus *bus, int devfn)
+ 		}
+ 	}
+ 
+-	if (bus->self)
++	/* only one slot has pcie device */
++	if (bus->self && nr)
+ 		pcie_aspm_init_link_state(bus->self);
+ 
+ 	return nr;
+diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
+index 97aff8d..e27f6bd 100644
+--- a/drivers/video/console/fbcon.c
++++ b/drivers/video/console/fbcon.c
+@@ -2990,8 +2990,8 @@ static void fbcon_set_all_vcs(struct fb_info *info)
+ 		p = &fb_display[vc->vc_num];
+ 		set_blitting_type(vc, info);
+ 		var_to_display(p, &info->var, info);
+-		cols = FBCON_SWAP(p->rotate, info->var.xres, info->var.yres);
+-		rows = FBCON_SWAP(p->rotate, info->var.yres, info->var.xres);
++		cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres);
++		rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres);
+ 		cols /= vc->vc_font.width;
+ 		rows /= vc->vc_font.height;
+ 		vc_resize(vc, cols, rows);
+diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
+index 9cfcf32..646b04f 100644
+--- a/fs/cifs/cifsglob.h
++++ b/fs/cifs/cifsglob.h
+@@ -308,6 +308,7 @@ struct cifs_search_info {
+ 	__u32 resume_key;
+ 	char *ntwrk_buf_start;
+ 	char *srch_entries_start;
++	char *last_entry;
+ 	char *presume_name;
+ 	unsigned int resume_name_len;
+ 	bool endOfSearch:1;
+diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
+index 4511b70..0f7286c 100644
+--- a/fs/cifs/cifssmb.c
++++ b/fs/cifs/cifssmb.c
+@@ -3638,6 +3638,8 @@ findFirstRetry:
+ 					le16_to_cpu(parms->SearchCount);
+ 			psrch_inf->index_of_last_entry = 2 /* skip . and .. */ +
+ 				psrch_inf->entries_in_buffer;
++			psrch_inf->last_entry = psrch_inf->srch_entries_start +
++					le16_to_cpu(parms->LastNameOffset);
+ 			*pnetfid = parms->SearchHandle;
+ 		} else {
+ 			cifs_buf_release(pSMB);
+@@ -3753,6 +3755,8 @@ int CIFSFindNext(const int xid, struct cifsTconInfo *tcon,
+ 						le16_to_cpu(parms->SearchCount);
+ 			psrch_inf->index_of_last_entry +=
+ 				psrch_inf->entries_in_buffer;
++			psrch_inf->last_entry = psrch_inf->srch_entries_start +
++					le16_to_cpu(parms->LastNameOffset);
+ /*  cFYI(1,("fnxt2 entries in buf %d index_of_last %d",
+ 	    psrch_inf->entries_in_buffer, psrch_inf->index_of_last_entry)); */
+ 
+diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c
+index 83f3069..85ea3c6 100644
+--- a/fs/cifs/readdir.c
++++ b/fs/cifs/readdir.c
+@@ -640,6 +640,70 @@ static int is_dir_changed(struct file *file)
+ 
+ }
+ 
++static int cifs_save_resume_key(const char *current_entry,
++	struct cifsFileInfo *cifsFile)
++{
++	int rc = 0;
++	unsigned int len = 0;
++	__u16 level;
++	char *filename;
++
++	if ((cifsFile == NULL) || (current_entry == NULL))
++		return -EINVAL;
++
++	level = cifsFile->srch_inf.info_level;
++
++	if (level == SMB_FIND_FILE_UNIX) {
++		FILE_UNIX_INFO *pFindData = (FILE_UNIX_INFO *)current_entry;
++
++		filename = &pFindData->FileName[0];
++		if (cifsFile->srch_inf.unicode) {
++			len = cifs_unicode_bytelen(filename);
++		} else {
++			/* BB should we make this strnlen of PATH_MAX? */
++			len = strnlen(filename, PATH_MAX);
++		}
++		cifsFile->srch_inf.resume_key = pFindData->ResumeKey;
++	} else if (level == SMB_FIND_FILE_DIRECTORY_INFO) {
++		FILE_DIRECTORY_INFO *pFindData =
++			(FILE_DIRECTORY_INFO *)current_entry;
++		filename = &pFindData->FileName[0];
++		len = le32_to_cpu(pFindData->FileNameLength);
++		cifsFile->srch_inf.resume_key = pFindData->FileIndex;
++	} else if (level == SMB_FIND_FILE_FULL_DIRECTORY_INFO) {
++		FILE_FULL_DIRECTORY_INFO *pFindData =
++			(FILE_FULL_DIRECTORY_INFO *)current_entry;
++		filename = &pFindData->FileName[0];
++		len = le32_to_cpu(pFindData->FileNameLength);
++		cifsFile->srch_inf.resume_key = pFindData->FileIndex;
++	} else if (level == SMB_FIND_FILE_ID_FULL_DIR_INFO) {
++		SEARCH_ID_FULL_DIR_INFO *pFindData =
++			(SEARCH_ID_FULL_DIR_INFO *)current_entry;
++		filename = &pFindData->FileName[0];
++		len = le32_to_cpu(pFindData->FileNameLength);
++		cifsFile->srch_inf.resume_key = pFindData->FileIndex;
++	} else if (level == SMB_FIND_FILE_BOTH_DIRECTORY_INFO) {
++		FILE_BOTH_DIRECTORY_INFO *pFindData =
++			(FILE_BOTH_DIRECTORY_INFO *)current_entry;
++		filename = &pFindData->FileName[0];
++		len = le32_to_cpu(pFindData->FileNameLength);
++		cifsFile->srch_inf.resume_key = pFindData->FileIndex;
++	} else if (level == SMB_FIND_FILE_INFO_STANDARD) {
++		FIND_FILE_STANDARD_INFO *pFindData =
++			(FIND_FILE_STANDARD_INFO *)current_entry;
++		filename = &pFindData->FileName[0];
++		/* one byte length, no name conversion */
++		len = (unsigned int)pFindData->FileNameLength;
++		cifsFile->srch_inf.resume_key = pFindData->ResumeKey;
++	} else {
++		cFYI(1, ("Unknown findfirst level %d", level));
++		return -EINVAL;
++	}
++	cifsFile->srch_inf.resume_name_len = len;
++	cifsFile->srch_inf.presume_name = filename;
++	return rc;
++}
++
+ /* find the corresponding entry in the search */
+ /* Note that the SMB server returns search entries for . and .. which
+    complicates logic here if we choose to parse for them and we do not
+@@ -702,6 +766,7 @@ static int find_cifs_entry(const int xid, struct cifsTconInfo *pTcon,
+ 	while ((index_to_find >= cifsFile->srch_inf.index_of_last_entry) &&
+ 	      (rc == 0) && !cifsFile->srch_inf.endOfSearch) {
+ 		cFYI(1, ("calling findnext2"));
++		cifs_save_resume_key(cifsFile->srch_inf.last_entry, cifsFile);
+ 		rc = CIFSFindNext(xid, pTcon, cifsFile->netfid,
+ 				  &cifsFile->srch_inf);
+ 		if (rc)
+@@ -918,69 +983,6 @@ static int cifs_filldir(char *pfindEntry, struct file *file,
+ 	return rc;
+ }
+ 
+-static int cifs_save_resume_key(const char *current_entry,
+-	struct cifsFileInfo *cifsFile)
+-{
+-	int rc = 0;
+-	unsigned int len = 0;
+-	__u16 level;
+-	char *filename;
+-
+-	if ((cifsFile == NULL) || (current_entry == NULL))
+-		return -EINVAL;
+-
+-	level = cifsFile->srch_inf.info_level;
+-
+-	if (level == SMB_FIND_FILE_UNIX) {
+-		FILE_UNIX_INFO *pFindData = (FILE_UNIX_INFO *)current_entry;
+-
+-		filename = &pFindData->FileName[0];
+-		if (cifsFile->srch_inf.unicode) {
+-			len = cifs_unicode_bytelen(filename);
+-		} else {
+-			/* BB should we make this strnlen of PATH_MAX? */
+-			len = strnlen(filename, PATH_MAX);
+-		}
+-		cifsFile->srch_inf.resume_key = pFindData->ResumeKey;
+-	} else if (level == SMB_FIND_FILE_DIRECTORY_INFO) {
+-		FILE_DIRECTORY_INFO *pFindData =
+-			(FILE_DIRECTORY_INFO *)current_entry;
+-		filename = &pFindData->FileName[0];
+-		len = le32_to_cpu(pFindData->FileNameLength);
+-		cifsFile->srch_inf.resume_key = pFindData->FileIndex;
+-	} else if (level == SMB_FIND_FILE_FULL_DIRECTORY_INFO) {
+-		FILE_FULL_DIRECTORY_INFO *pFindData =
+-			(FILE_FULL_DIRECTORY_INFO *)current_entry;
+-		filename = &pFindData->FileName[0];
+-		len = le32_to_cpu(pFindData->FileNameLength);
+-		cifsFile->srch_inf.resume_key = pFindData->FileIndex;
+-	} else if (level == SMB_FIND_FILE_ID_FULL_DIR_INFO) {
+-		SEARCH_ID_FULL_DIR_INFO *pFindData =
+-			(SEARCH_ID_FULL_DIR_INFO *)current_entry;
+-		filename = &pFindData->FileName[0];
+-		len = le32_to_cpu(pFindData->FileNameLength);
+-		cifsFile->srch_inf.resume_key = pFindData->FileIndex;
+-	} else if (level == SMB_FIND_FILE_BOTH_DIRECTORY_INFO) {
+-		FILE_BOTH_DIRECTORY_INFO *pFindData =
+-			(FILE_BOTH_DIRECTORY_INFO *)current_entry;
+-		filename = &pFindData->FileName[0];
+-		len = le32_to_cpu(pFindData->FileNameLength);
+-		cifsFile->srch_inf.resume_key = pFindData->FileIndex;
+-	} else if (level == SMB_FIND_FILE_INFO_STANDARD) {
+-		FIND_FILE_STANDARD_INFO *pFindData =
+-			(FIND_FILE_STANDARD_INFO *)current_entry;
+-		filename = &pFindData->FileName[0];
+-		/* one byte length, no name conversion */
+-		len = (unsigned int)pFindData->FileNameLength;
+-		cifsFile->srch_inf.resume_key = pFindData->ResumeKey;
+-	} else {
+-		cFYI(1, ("Unknown findfirst level %d", level));
+-		return -EINVAL;
+-	}
+-	cifsFile->srch_inf.resume_name_len = len;
+-	cifsFile->srch_inf.presume_name = filename;
+-	return rc;
+-}
+ 
+ int cifs_readdir(struct file *file, void *direntry, filldir_t filldir)
+ {
+diff --git a/fs/splice.c b/fs/splice.c
+index aa5f6f6..df75dcc 100644
+--- a/fs/splice.c
++++ b/fs/splice.c
+@@ -889,6 +889,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+ 	if (unlikely(!(out->f_mode & FMODE_WRITE)))
+ 		return -EBADF;
+ 
++	if (unlikely(out->f_flags & O_APPEND))
++		return -EINVAL;
++
+ 	ret = rw_verify_area(WRITE, out, ppos, len);
+ 	if (unlikely(ret < 0))
+ 		return ret;
+diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h
+index 1ebbe88..13a3d9a 100644
+--- a/include/acpi/actbl.h
++++ b/include/acpi/actbl.h
+@@ -277,6 +277,7 @@ enum acpi_prefered_pm_profiles {
+ #define BAF_LEGACY_DEVICES              0x0001
+ #define BAF_8042_KEYBOARD_CONTROLLER    0x0002
+ #define BAF_MSI_NOT_SUPPORTED           0x0008
++#define BAF_PCIE_ASPM_CONTROL           0x0010
+ 
+ #define FADT2_REVISION_ID               3
+ #define FADT2_MINUS_REVISION_ID         2
+diff --git a/include/linux/ata.h b/include/linux/ata.h
+index 1c622e2..636589b 100644
+--- a/include/linux/ata.h
++++ b/include/linux/ata.h
+@@ -682,7 +682,7 @@ static inline int ata_ok(u8 status)
+ static inline int lba_28_ok(u64 block, u32 n_block)
+ {
+ 	/* check the ending block number */
+-	return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);
++	return ((block + n_block) < ((u64)1 << 28)) && (n_block <= 256);
+ }
+ 
+ static inline int lba_48_ok(u64 block, u32 n_block)
+diff --git a/include/linux/pci-aspm.h b/include/linux/pci-aspm.h
+index a1a1e61..91ba0b3 100644
+--- a/include/linux/pci-aspm.h
++++ b/include/linux/pci-aspm.h
+@@ -27,6 +27,7 @@ extern void pcie_aspm_init_link_state(struct pci_dev *pdev);
+ extern void pcie_aspm_exit_link_state(struct pci_dev *pdev);
+ extern void pcie_aspm_pm_state_change(struct pci_dev *pdev);
+ extern void pci_disable_link_state(struct pci_dev *pdev, int state);
++extern void pcie_no_aspm(void);
+ #else
+ static inline void pcie_aspm_init_link_state(struct pci_dev *pdev)
+ {
+@@ -40,6 +41,10 @@ static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev)
+ static inline void pci_disable_link_state(struct pci_dev *pdev, int state)
+ {
+ }
++
++static inline void pcie_no_aspm(void)
++{
++}
+ #endif
+ 
+ #ifdef CONFIG_PCIEASPM_DEBUG /* this depends on CONFIG_PCIEASPM */
+diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h
+index c0c1223..81045aa 100644
+--- a/include/linux/pci_regs.h
++++ b/include/linux/pci_regs.h
+@@ -373,6 +373,7 @@
+ #define  PCI_EXP_DEVCAP_ATN_BUT	0x1000	/* Attention Button Present */
+ #define  PCI_EXP_DEVCAP_ATN_IND	0x2000	/* Attention Indicator Present */
+ #define  PCI_EXP_DEVCAP_PWR_IND	0x4000	/* Power Indicator Present */
++#define  PCI_EXP_DEVCAP_RBER	0x8000	/* Role-Based Error Reporting */
+ #define  PCI_EXP_DEVCAP_PWR_VAL	0x3fc0000 /* Slot Power Limit Value */
+ #define  PCI_EXP_DEVCAP_PWR_SCL	0xc000000 /* Slot Power Limit Scale */
+ #define PCI_EXP_DEVCTL		8	/* Device Control */
+diff --git a/kernel/module.c b/kernel/module.c
+index 5f80478..f12c92c 100644
+--- a/kernel/module.c
++++ b/kernel/module.c
+@@ -1143,7 +1143,7 @@ static void free_notes_attrs(struct module_notes_attrs *notes_attrs,
+ 		while (i-- > 0)
+ 			sysfs_remove_bin_file(notes_attrs->dir,
+ 					      &notes_attrs->attrs[i]);
+-		kobject_del(notes_attrs->dir);
++		kobject_put(notes_attrs->dir);
+ 	}
+ 	kfree(notes_attrs);
+ }
+diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
+index 0f3c191..957e238 100644
+--- a/kernel/sched_rt.c
++++ b/kernel/sched_rt.c
+@@ -96,12 +96,12 @@ static void dequeue_rt_entity(struct sched_rt_entity *rt_se);
+ 
+ static void sched_rt_rq_enqueue(struct rt_rq *rt_rq)
+ {
++	struct task_struct *curr = rq_of_rt_rq(rt_rq)->curr;
+ 	struct sched_rt_entity *rt_se = rt_rq->rt_se;
+ 
+-	if (rt_se && !on_rt_rq(rt_se) && rt_rq->rt_nr_running) {
+-		struct task_struct *curr = rq_of_rt_rq(rt_rq)->curr;
+-
+-		enqueue_rt_entity(rt_se);
++	if (rt_rq->rt_nr_running) {
++		if (rt_se && !on_rt_rq(rt_se))
++			enqueue_rt_entity(rt_se);
+ 		if (rt_rq->highest_prio < curr->prio)
+ 			resched_task(curr);
+ 	}
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/2.6.26.8.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/2.6.26.8.patch
@@ -0,0 +1,961 @@
+diff --git a/Makefile b/Makefile
+index ac8e8a1..7f13632 100644
+diff --git a/arch/sparc64/kernel/trampoline.S b/arch/sparc64/kernel/trampoline.S
+index 704a3af..83abd5a 100644
+--- a/arch/sparc64/kernel/trampoline.S
++++ b/arch/sparc64/kernel/trampoline.S
+@@ -328,6 +328,12 @@ after_lock_tlb:
+ 
+ 	wrpr		%g0, 0, %wstate
+ 
++	sethi		%hi(prom_entry_lock), %g2
++1:	ldstub		[%g2 + %lo(prom_entry_lock)], %g1
++	membar		#StoreLoad | #StoreStore
++	brnz,pn		%g1, 1b
++	 nop
++
+ 	/* As a hack, put &init_thread_union into %g6.
+ 	 * prom_world() loads from here to restore the %asi
+ 	 * register.
+@@ -337,7 +343,7 @@ after_lock_tlb:
+ 
+ 	sethi		%hi(is_sun4v), %o0
+ 	lduw		[%o0 + %lo(is_sun4v)], %o0
+-	brz,pt		%o0, 1f
++	brz,pt		%o0, 2f
+ 	 nop
+ 
+ 	TRAP_LOAD_TRAP_BLOCK(%g2, %g3)
+@@ -369,10 +375,10 @@ after_lock_tlb:
+ 	call		%o1
+ 	 add		%sp, (2047 + 128), %o0
+ 
+-	ba,pt		%xcc, 2f
++	ba,pt		%xcc, 3f
+ 	 nop
+ 
+-1:	sethi		%hi(sparc64_ttable_tl0), %o0
++2:	sethi		%hi(sparc64_ttable_tl0), %o0
+ 	set		prom_set_trap_table_name, %g2
+ 	stx		%g2, [%sp + 2047 + 128 + 0x00]
+ 	mov		1, %g2
+@@ -386,7 +392,11 @@ after_lock_tlb:
+ 	call		%o1
+ 	 add		%sp, (2047 + 128), %o0
+ 
+-2:	ldx		[%l0], %g6
++3:	sethi		%hi(prom_entry_lock), %g2
++	stb		%g0, [%g2 + %lo(prom_entry_lock)]
++	membar		#StoreStore | #StoreLoad
++
++	ldx		[%l0], %g6
+ 	ldx		[%g6 + TI_TASK], %g4
+ 
+ 	mov		1, %g5
+diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
+index 1dfec41..59352d9 100644
+--- a/drivers/acpi/button.c
++++ b/drivers/acpi/button.c
+@@ -262,6 +262,7 @@ static int acpi_lid_send_state(struct acpi_button *button)
+ 		return -ENODEV;
+ 	/* input layer checks if event is redundant */
+ 	input_report_switch(button->input, SW_LID, !state);
++	input_sync(button->input);
+ 	return 0;
+ }
+ 
+@@ -285,8 +286,8 @@ static void acpi_button_notify(acpi_handle handle, u32 event, void *data)
+ 			input_report_key(input, keycode, 1);
+ 			input_sync(input);
+ 			input_report_key(input, keycode, 0);
++			input_sync(input);
+ 		}
+-		input_sync(input);
+ 
+ 		acpi_bus_generate_proc_event(button->device, event,
+ 					++button->pushed);
+diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c
+index bb7c51f..45ebdb3 100644
+--- a/drivers/acpi/dock.c
++++ b/drivers/acpi/dock.c
+@@ -599,14 +599,17 @@ static int handle_eject_request(struct dock_station *ds, u32 event)
+ static void dock_notify(acpi_handle handle, u32 event, void *data)
+ {
+ 	struct dock_station *ds = data;
++	struct acpi_device *tmp;
+ 
+ 	switch (event) {
+ 	case ACPI_NOTIFY_BUS_CHECK:
+-		if (!dock_in_progress(ds) && dock_present(ds)) {
++		if (!dock_in_progress(ds) && acpi_bus_get_device(ds->handle,
++		   &tmp)) {
+ 			begin_dock(ds);
+ 			dock(ds);
+ 			if (!dock_present(ds)) {
+ 				printk(KERN_ERR PREFIX "Unable to dock!\n");
++				complete_dock(ds);
+ 				break;
+ 			}
+ 			atomic_notifier_call_chain(&dock_notifier_list,
+diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
+index 004da4d..e32b6c1 100644
+--- a/drivers/acpi/video.c
++++ b/drivers/acpi/video.c
+@@ -631,6 +631,76 @@ acpi_video_bus_DOS(struct acpi_video_bus *video, int bios_flag, int lcd_flag)
+  *  	device	: video output device (LCD, CRT, ..)
+  *
+  *  Return Value:
++ *	Maximum brightness level
++ *
++ *  Allocate and initialize device->brightness.
++ */
++
++static int
++acpi_video_init_brightness(struct acpi_video_device *device)
++{
++	union acpi_object *obj = NULL;
++	int i, max_level = 0, count = 0;
++	union acpi_object *o;
++	struct acpi_video_device_brightness *br = NULL;
++
++	if (!ACPI_SUCCESS(acpi_video_device_lcd_query_levels(device, &obj))) {
++		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Could not query available "
++						"LCD brightness level\n"));
++		goto out;
++	}
++
++	if (obj->package.count < 2)
++		goto out;
++
++	br = kzalloc(sizeof(*br), GFP_KERNEL);
++	if (!br) {
++		printk(KERN_ERR "can't allocate memory\n");
++		goto out;
++	}
++
++	br->levels = kmalloc(obj->package.count * sizeof *(br->levels),
++				GFP_KERNEL);
++	if (!br->levels)
++		goto out_free;
++
++	for (i = 0; i < obj->package.count; i++) {
++		o = (union acpi_object *)&obj->package.elements[i];
++		if (o->type != ACPI_TYPE_INTEGER) {
++			printk(KERN_ERR PREFIX "Invalid data\n");
++			continue;
++		}
++		br->levels[count] = (u32) o->integer.value;
++
++		if (br->levels[count] > max_level)
++			max_level = br->levels[count];
++		count++;
++	}
++
++	if (count < 2)
++		goto out_free_levels;
++
++	br->count = count;
++	device->brightness = br;
++	ACPI_DEBUG_PRINT((ACPI_DB_INFO, "found %d brightness levels\n", count));
++	kfree(obj);
++	return max_level;
++
++out_free_levels:
++	kfree(br->levels);
++out_free:
++	kfree(br);
++out:
++	device->brightness = NULL;
++	kfree(obj);
++	return 0;
++}
++
++/*
++ *  Arg:
++ *	device	: video output device (LCD, CRT, ..)
++ *
++ *  Return Value:
+  *  	None
+  *
+  *  Find out all required AML methods defined under the output
+@@ -640,10 +710,7 @@ acpi_video_bus_DOS(struct acpi_video_bus *video, int bios_flag, int lcd_flag)
+ static void acpi_video_device_find_cap(struct acpi_video_device *device)
+ {
+ 	acpi_handle h_dummy1;
+-	int i;
+ 	u32 max_level = 0;
+-	union acpi_object *obj = NULL;
+-	struct acpi_video_device_brightness *br = NULL;
+ 
+ 
+ 	memset(&device->cap, 0, sizeof(device->cap));
+@@ -672,53 +739,7 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
+ 		device->cap._DSS = 1;
+ 	}
+ 
+-	if (ACPI_SUCCESS(acpi_video_device_lcd_query_levels(device, &obj))) {
+-
+-		if (obj->package.count >= 2) {
+-			int count = 0;
+-			union acpi_object *o;
+-
+-			br = kzalloc(sizeof(*br), GFP_KERNEL);
+-			if (!br) {
+-				printk(KERN_ERR "can't allocate memory\n");
+-			} else {
+-				br->levels = kmalloc(obj->package.count *
+-						     sizeof *(br->levels), GFP_KERNEL);
+-				if (!br->levels)
+-					goto out;
+-
+-				for (i = 0; i < obj->package.count; i++) {
+-					o = (union acpi_object *)&obj->package.
+-					    elements[i];
+-					if (o->type != ACPI_TYPE_INTEGER) {
+-						printk(KERN_ERR PREFIX "Invalid data\n");
+-						continue;
+-					}
+-					br->levels[count] = (u32) o->integer.value;
+-
+-					if (br->levels[count] > max_level)
+-						max_level = br->levels[count];
+-					count++;
+-				}
+-			      out:
+-				if (count < 2) {
+-					kfree(br->levels);
+-					kfree(br);
+-				} else {
+-					br->count = count;
+-					device->brightness = br;
+-					ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+-							  "found %d brightness levels\n",
+-							  count));
+-				}
+-			}
+-		}
+-
+-	} else {
+-		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Could not query available LCD brightness level\n"));
+-	}
+-
+-	kfree(obj);
++	max_level = acpi_video_init_brightness(device);
+ 
+ 	if (device->cap._BCL && device->cap._BCM && max_level > 0) {
+ 		int result;
+@@ -1705,6 +1726,8 @@ static void
+ acpi_video_switch_brightness(struct acpi_video_device *device, int event)
+ {
+ 	unsigned long level_current, level_next;
++	if (!device->brightness)
++		return;
+ 	acpi_video_device_lcd_get_level_current(device, &level_current);
+ 	level_next = acpi_video_get_next_level(device, level_current, event);
+ 	acpi_video_device_lcd_set_level(device, level_next);
+diff --git a/drivers/edac/cell_edac.c b/drivers/edac/cell_edac.c
+index b54112f..00b8539 100644
+--- a/drivers/edac/cell_edac.c
++++ b/drivers/edac/cell_edac.c
+@@ -141,7 +141,7 @@ static void __devinit cell_edac_init_csrows(struct mem_ctl_info *mci)
+ 		csrow->nr_pages = (r.end - r.start + 1) >> PAGE_SHIFT;
+ 		csrow->last_page = csrow->first_page + csrow->nr_pages - 1;
+ 		csrow->mtype = MEM_XDR;
+-		csrow->edac_mode = EDAC_FLAG_EC | EDAC_FLAG_SECDED;
++		csrow->edac_mode = EDAC_SECDED;
+ 		dev_dbg(mci->dev,
+ 			"Initialized on node %d, chanmask=0x%x,"
+ 			" first_page=0x%lx, nr_pages=0x%x\n",
+diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
+index beaf6b3..2e85d82 100644
+--- a/drivers/gpio/gpiolib.c
++++ b/drivers/gpio/gpiolib.c
+@@ -517,7 +517,7 @@ int gpio_get_value_cansleep(unsigned gpio)
+ 
+ 	might_sleep_if(extra_checks);
+ 	chip = gpio_to_chip(gpio);
+-	return chip->get(chip, gpio - chip->base);
++	return chip->get ? chip->get(chip, gpio - chip->base) : 0;
+ }
+ EXPORT_SYMBOL_GPL(gpio_get_value_cansleep);
+ 
+diff --git a/drivers/i2c/busses/scx200_i2c.c b/drivers/i2c/busses/scx200_i2c.c
+index c3022a0..bb591e5 100644
+--- a/drivers/i2c/busses/scx200_i2c.c
++++ b/drivers/i2c/busses/scx200_i2c.c
+@@ -81,6 +81,7 @@ static struct i2c_algo_bit_data scx200_i2c_data = {
+ 
+ static struct i2c_adapter scx200_i2c_ops = {
+ 	.owner		   = THIS_MODULE,
++	.class             = I2C_CLASS_HWMON,
+ 	.id		   = I2C_HW_B_SCX200,
+ 	.algo_data	   = &scx200_i2c_data,
+ 	.name	= "NatSemi SCx200 I2C",
+diff --git a/drivers/media/dvb/frontends/s5h1411.c b/drivers/media/dvb/frontends/s5h1411.c
+index eb5bfc9..782625b 100644
+--- a/drivers/media/dvb/frontends/s5h1411.c
++++ b/drivers/media/dvb/frontends/s5h1411.c
+@@ -472,6 +472,20 @@ static int s5h1411_set_spectralinversion(struct dvb_frontend *fe, int inversion)
+ 	return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x24, val);
+ }
+ 
++static int s5h1411_set_serialmode(struct dvb_frontend *fe, int serial)
++{
++	struct s5h1411_state *state = fe->demodulator_priv;
++	u16 val;
++
++	dprintk("%s(%d)\n", __func__, serial);
++	val = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xbd) & ~0x100;
++
++	if (serial == 1)
++		val |= 0x100;
++
++	return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xbd, val);
++}
++
+ static int s5h1411_enable_modulation(struct dvb_frontend *fe,
+ 				     fe_modulation_t m)
+ {
+@@ -535,7 +549,7 @@ static int s5h1411_set_gpio(struct dvb_frontend *fe, int enable)
+ 		return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xe0, val);
+ }
+ 
+-static int s5h1411_sleep(struct dvb_frontend *fe, int enable)
++static int s5h1411_set_powerstate(struct dvb_frontend *fe, int enable)
+ {
+ 	struct s5h1411_state *state = fe->demodulator_priv;
+ 
+@@ -551,6 +565,11 @@ static int s5h1411_sleep(struct dvb_frontend *fe, int enable)
+ 	return 0;
+ }
+ 
++static int s5h1411_sleep(struct dvb_frontend *fe)
++{
++	return s5h1411_set_powerstate(fe, 1);
++}
++
+ static int s5h1411_register_reset(struct dvb_frontend *fe)
+ {
+ 	struct s5h1411_state *state = fe->demodulator_priv;
+@@ -574,9 +593,6 @@ static int s5h1411_set_frontend(struct dvb_frontend *fe,
+ 
+ 	s5h1411_enable_modulation(fe, p->u.vsb.modulation);
+ 
+-	/* Allow the demod to settle */
+-	msleep(100);
+-
+ 	if (fe->ops.tuner_ops.set_params) {
+ 		if (fe->ops.i2c_gate_ctrl)
+ 			fe->ops.i2c_gate_ctrl(fe, 1);
+@@ -587,6 +603,10 @@ static int s5h1411_set_frontend(struct dvb_frontend *fe,
+ 			fe->ops.i2c_gate_ctrl(fe, 0);
+ 	}
+ 
++	/* Issue a reset to the demod so it knows to resync against the
++	   newly tuned frequency */
++	s5h1411_softreset(fe);
++
+ 	return 0;
+ }
+ 
+@@ -599,7 +619,7 @@ static int s5h1411_init(struct dvb_frontend *fe)
+ 
+ 	dprintk("%s()\n", __func__);
+ 
+-	s5h1411_sleep(fe, 0);
++	s5h1411_set_powerstate(fe, 0);
+ 	s5h1411_register_reset(fe);
+ 
+ 	for (i = 0; i < ARRAY_SIZE(init_tab); i++)
+@@ -612,10 +632,10 @@ static int s5h1411_init(struct dvb_frontend *fe)
+ 
+ 	if (state->config->output_mode == S5H1411_SERIAL_OUTPUT)
+ 		/* Serial */
+-		s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xbd, 0x1101);
++		s5h1411_set_serialmode(fe, 1);
+ 	else
+ 		/* Parallel */
+-		s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xbd, 0x1001);
++		s5h1411_set_serialmode(fe, 0);
+ 
+ 	s5h1411_set_spectralinversion(fe, state->config->inversion);
+ 	s5h1411_set_if_freq(fe, state->config->vsb_if);
+@@ -863,6 +883,7 @@ static struct dvb_frontend_ops s5h1411_ops = {
+ 	},
+ 
+ 	.init                 = s5h1411_init,
++	.sleep                = s5h1411_sleep,
+ 	.i2c_gate_ctrl        = s5h1411_i2c_gate_ctrl,
+ 	.set_frontend         = s5h1411_set_frontend,
+ 	.get_frontend         = s5h1411_get_frontend,
+diff --git a/drivers/media/video/pvrusb2/pvrusb2-encoder.c b/drivers/media/video/pvrusb2/pvrusb2-encoder.c
+index c46d367..fbf80c6 100644
+--- a/drivers/media/video/pvrusb2/pvrusb2-encoder.c
++++ b/drivers/media/video/pvrusb2/pvrusb2-encoder.c
+@@ -403,6 +403,10 @@ static int pvr2_encoder_prep_config(struct pvr2_hdw *hdw)
+ 	ret |= pvr2_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 0,3,0,0);
+ 	ret |= pvr2_encoder_vcmd(hdw, CX2341X_ENC_MISC,4,15,0,0,0);
+ 
++	/* prevent the PTSs from slowly drifting away in the generated
++	   MPEG stream */
++	ret |= pvr2_encoder_vcmd(hdw, CX2341X_ENC_MISC, 2, 4, 1);
++
+ 	return ret;
+ }
+ 
+diff --git a/drivers/net/wireless/libertas/scan.c b/drivers/net/wireless/libertas/scan.c
+index 387d487..76b15e2 100644
+--- a/drivers/net/wireless/libertas/scan.c
++++ b/drivers/net/wireless/libertas/scan.c
+@@ -598,8 +598,8 @@ static int lbs_process_bss(struct bss_descriptor *bss,
+ 
+ 		switch (elem->id) {
+ 		case MFIE_TYPE_SSID:
+-			bss->ssid_len = elem->len;
+-			memcpy(bss->ssid, elem->data, elem->len);
++			bss->ssid_len = min_t(int, 32, elem->len);
++			memcpy(bss->ssid, elem->data, bss->ssid_len);
+ 			lbs_deb_scan("got SSID IE: '%s', len %u\n",
+ 			             escape_essid(bss->ssid, bss->ssid_len),
+ 			             bss->ssid_len);
+diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
+index 4cb80b4..c2a4bfb 100644
+--- a/drivers/scsi/qla2xxx/qla_gs.c
++++ b/drivers/scsi/qla2xxx/qla_gs.c
+@@ -1661,6 +1661,12 @@ qla2x00_fdmi_register(scsi_qla_host_t *ha)
+ {
+ 	int rval;
+ 
++	if (IS_QLA2100(ha) || IS_QLA2200(ha)) {
++		DEBUG2(printk("scsi(%ld): FDMI unsupported on "
++		    "ISP2100/ISP2200.\n", ha->host_no));
++		return QLA_SUCCESS;
++	}
++
+ 	rval = qla2x00_mgmt_svr_login(ha);
+ 	if (rval)
+ 		return rval;
+diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c
+index a78c6b4..11a49ce 100644
+--- a/fs/ext2/dir.c
++++ b/fs/ext2/dir.c
+@@ -103,7 +103,7 @@ static int ext2_commit_chunk(struct page *page, loff_t pos, unsigned len)
+ 	return err;
+ }
+ 
+-static void ext2_check_page(struct page *page)
++static void ext2_check_page(struct page *page, int quiet)
+ {
+ 	struct inode *dir = page->mapping->host;
+ 	struct super_block *sb = dir->i_sb;
+@@ -146,10 +146,10 @@ out:
+ 	/* Too bad, we had an error */
+ 
+ Ebadsize:
+-	ext2_error(sb, "ext2_check_page",
+-		"size of directory #%lu is not a multiple of chunk size",
+-		dir->i_ino
+-	);
++	if (!quiet)
++		ext2_error(sb, __func__,
++			"size of directory #%lu is not a multiple "
++			"of chunk size", dir->i_ino);
+ 	goto fail;
+ Eshort:
+ 	error = "rec_len is smaller than minimal";
+@@ -166,32 +166,36 @@ Espan:
+ Einumber:
+ 	error = "inode out of bounds";
+ bad_entry:
+-	ext2_error (sb, "ext2_check_page", "bad entry in directory #%lu: %s - "
+-		"offset=%lu, inode=%lu, rec_len=%d, name_len=%d",
+-		dir->i_ino, error, (page->index<<PAGE_CACHE_SHIFT)+offs,
+-		(unsigned long) le32_to_cpu(p->inode),
+-		rec_len, p->name_len);
++	if (!quiet)
++		ext2_error(sb, __func__, "bad entry in directory #%lu: : %s - "
++			"offset=%lu, inode=%lu, rec_len=%d, name_len=%d",
++			dir->i_ino, error, (page->index<<PAGE_CACHE_SHIFT)+offs,
++			(unsigned long) le32_to_cpu(p->inode),
++			rec_len, p->name_len);
+ 	goto fail;
+ Eend:
+-	p = (ext2_dirent *)(kaddr + offs);
+-	ext2_error (sb, "ext2_check_page",
+-		"entry in directory #%lu spans the page boundary"
+-		"offset=%lu, inode=%lu",
+-		dir->i_ino, (page->index<<PAGE_CACHE_SHIFT)+offs,
+-		(unsigned long) le32_to_cpu(p->inode));
++	if (!quiet) {
++		p = (ext2_dirent *)(kaddr + offs);
++		ext2_error(sb, "ext2_check_page",
++			"entry in directory #%lu spans the page boundary"
++			"offset=%lu, inode=%lu",
++			dir->i_ino, (page->index<<PAGE_CACHE_SHIFT)+offs,
++			(unsigned long) le32_to_cpu(p->inode));
++	}
+ fail:
+ 	SetPageChecked(page);
+ 	SetPageError(page);
+ }
+ 
+-static struct page * ext2_get_page(struct inode *dir, unsigned long n)
++static struct page * ext2_get_page(struct inode *dir, unsigned long n,
++				   int quiet)
+ {
+ 	struct address_space *mapping = dir->i_mapping;
+ 	struct page *page = read_mapping_page(mapping, n, NULL);
+ 	if (!IS_ERR(page)) {
+ 		kmap(page);
+ 		if (!PageChecked(page))
+-			ext2_check_page(page);
++			ext2_check_page(page, quiet);
+ 		if (PageError(page))
+ 			goto fail;
+ 	}
+@@ -292,7 +296,7 @@ ext2_readdir (struct file * filp, void * dirent, filldir_t filldir)
+ 	for ( ; n < npages; n++, offset = 0) {
+ 		char *kaddr, *limit;
+ 		ext2_dirent *de;
+-		struct page *page = ext2_get_page(inode, n);
++		struct page *page = ext2_get_page(inode, n, 0);
+ 
+ 		if (IS_ERR(page)) {
+ 			ext2_error(sb, __func__,
+@@ -361,6 +365,7 @@ struct ext2_dir_entry_2 * ext2_find_entry (struct inode * dir,
+ 	struct page *page = NULL;
+ 	struct ext2_inode_info *ei = EXT2_I(dir);
+ 	ext2_dirent * de;
++	int dir_has_error = 0;
+ 
+ 	if (npages == 0)
+ 		goto out;
+@@ -374,7 +379,7 @@ struct ext2_dir_entry_2 * ext2_find_entry (struct inode * dir,
+ 	n = start;
+ 	do {
+ 		char *kaddr;
+-		page = ext2_get_page(dir, n);
++		page = ext2_get_page(dir, n, dir_has_error);
+ 		if (!IS_ERR(page)) {
+ 			kaddr = page_address(page);
+ 			de = (ext2_dirent *) kaddr;
+@@ -391,7 +396,9 @@ struct ext2_dir_entry_2 * ext2_find_entry (struct inode * dir,
+ 				de = ext2_next_entry(de);
+ 			}
+ 			ext2_put_page(page);
+-		}
++		} else
++			dir_has_error = 1;
++
+ 		if (++n >= npages)
+ 			n = 0;
+ 		/* next page is past the blocks we've got */
+@@ -414,7 +421,7 @@ found:
+ 
+ struct ext2_dir_entry_2 * ext2_dotdot (struct inode *dir, struct page **p)
+ {
+-	struct page *page = ext2_get_page(dir, 0);
++	struct page *page = ext2_get_page(dir, 0, 0);
+ 	ext2_dirent *de = NULL;
+ 
+ 	if (!IS_ERR(page)) {
+@@ -487,7 +494,7 @@ int ext2_add_link (struct dentry *dentry, struct inode *inode)
+ 	for (n = 0; n <= npages; n++) {
+ 		char *dir_end;
+ 
+-		page = ext2_get_page(dir, n);
++		page = ext2_get_page(dir, n, 0);
+ 		err = PTR_ERR(page);
+ 		if (IS_ERR(page))
+ 			goto out;
+@@ -655,14 +662,17 @@ int ext2_empty_dir (struct inode * inode)
+ {
+ 	struct page *page = NULL;
+ 	unsigned long i, npages = dir_pages(inode);
++	int dir_has_error = 0;
+ 
+ 	for (i = 0; i < npages; i++) {
+ 		char *kaddr;
+ 		ext2_dirent * de;
+-		page = ext2_get_page(inode, i);
++		page = ext2_get_page(inode, i, dir_has_error);
+ 
+-		if (IS_ERR(page))
++		if (IS_ERR(page)) {
++			dir_has_error = 1;
+ 			continue;
++		}
+ 
+ 		kaddr = page_address(page);
+ 		de = (ext2_dirent *)kaddr;
+diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c
+index 8ca3bfd..fba60c0 100644
+--- a/fs/ext3/dir.c
++++ b/fs/ext3/dir.c
+@@ -102,6 +102,7 @@ static int ext3_readdir(struct file * filp,
+ 	int err;
+ 	struct inode *inode = filp->f_path.dentry->d_inode;
+ 	int ret = 0;
++	int dir_has_error = 0;
+ 
+ 	sb = inode->i_sb;
+ 
+@@ -148,9 +149,12 @@ static int ext3_readdir(struct file * filp,
+ 		 * of recovering data when there's a bad sector
+ 		 */
+ 		if (!bh) {
+-			ext3_error (sb, "ext3_readdir",
+-				"directory #%lu contains a hole at offset %lu",
+-				inode->i_ino, (unsigned long)filp->f_pos);
++			if (!dir_has_error) {
++				ext3_error(sb, __func__, "directory #%lu "
++					"contains a hole at offset %lld",
++					inode->i_ino, filp->f_pos);
++				dir_has_error = 1;
++			}
+ 			/* corrupt size?  Maybe no more blocks to read */
+ 			if (filp->f_pos > inode->i_blocks << 9)
+ 				break;
+diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
+index 2bf0331..6c3a36a 100644
+--- a/fs/ext4/dir.c
++++ b/fs/ext4/dir.c
+@@ -102,6 +102,7 @@ static int ext4_readdir(struct file * filp,
+ 	int err;
+ 	struct inode *inode = filp->f_path.dentry->d_inode;
+ 	int ret = 0;
++	int dir_has_error = 0;
+ 
+ 	sb = inode->i_sb;
+ 
+@@ -147,9 +148,13 @@ static int ext4_readdir(struct file * filp,
+ 		 * of recovering data when there's a bad sector
+ 		 */
+ 		if (!bh) {
+-			ext4_error (sb, "ext4_readdir",
+-				"directory #%lu contains a hole at offset %lu",
+-				inode->i_ino, (unsigned long)filp->f_pos);
++			if (!dir_has_error) {
++				ext4_error(sb, __func__, "directory #%lu "
++					   "contains a hole at offset %Lu",
++					   inode->i_ino,
++					   (unsigned long long) filp->f_pos);
++				dir_has_error = 1;
++			}
+ 			/* corrupt size?  Maybe no more blocks to read */
+ 			if (filp->f_pos > inode->i_blocks << 9)
+ 				break;
+diff --git a/include/linux/sched.h b/include/linux/sched.h
+index 2103c73..7ed3ae7 100644
+--- a/include/linux/sched.h
++++ b/include/linux/sched.h
+@@ -1288,6 +1288,8 @@ struct task_struct {
+ 	atomic_t fs_excl;	/* holding fs exclusive resources */
+ 	struct rcu_head rcu;
+ 
++	struct list_head	*scm_work_list;
++
+ 	/*
+ 	 * cache last used pipe for splice
+ 	 */
+diff --git a/include/math-emu/op-common.h b/include/math-emu/op-common.h
+index bb46e76..408f743 100644
+--- a/include/math-emu/op-common.h
++++ b/include/math-emu/op-common.h
+@@ -139,18 +139,27 @@ do {								\
+ 	if (X##_e <= _FP_WFRACBITS_##fs)			\
+ 	  {							\
+ 	    _FP_FRAC_SRS_##wc(X, X##_e, _FP_WFRACBITS_##fs);	\
+-	    _FP_ROUND(wc, X);					\
+ 	    if (_FP_FRAC_HIGH_##fs(X)				\
+ 		& (_FP_OVERFLOW_##fs >> 1))			\
+ 	      {							\
+ 	        X##_e = 1;					\
+ 	        _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc);	\
+-	        FP_SET_EXCEPTION(FP_EX_INEXACT);		\
+ 	      }							\
+ 	    else						\
+ 	      {							\
+-		X##_e = 0;					\
+-		_FP_FRAC_SRL_##wc(X, _FP_WORKBITS);		\
++		_FP_ROUND(wc, X);				\
++		if (_FP_FRAC_HIGH_##fs(X)			\
++		   & (_FP_OVERFLOW_##fs >> 1))			\
++		  {						\
++		    X##_e = 1;					\
++		    _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc);	\
++		    FP_SET_EXCEPTION(FP_EX_INEXACT);		\
++		  }						\
++		else						\
++		  {						\
++		    X##_e = 0;					\
++		    _FP_FRAC_SRL_##wc(X, _FP_WORKBITS);		\
++		  }						\
+ 	      }							\
+ 	    if ((FP_CUR_EXCEPTIONS & FP_EX_INEXACT) ||		\
+ 		(FP_TRAPPING_EXCEPTIONS & FP_EX_UNDERFLOW))	\
+diff --git a/include/net/scm.h b/include/net/scm.h
+index 06df126..33e9986 100644
+--- a/include/net/scm.h
++++ b/include/net/scm.h
+@@ -14,8 +14,9 @@
+ 
+ struct scm_fp_list
+ {
+-	int		count;
+-	struct file	*fp[SCM_MAX_FD];
++	struct list_head	list;
++	int			count;
++	struct file		*fp[SCM_MAX_FD];
+ };
+ 
+ struct scm_cookie
+diff --git a/net/core/dev.c b/net/core/dev.c
+index fca23a3..a5cf84c 100644
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -3624,14 +3624,11 @@ static int dev_new_index(struct net *net)
+ }
+ 
+ /* Delayed registration/unregisteration */
+-static DEFINE_SPINLOCK(net_todo_list_lock);
+ static LIST_HEAD(net_todo_list);
+ 
+ static void net_set_todo(struct net_device *dev)
+ {
+-	spin_lock(&net_todo_list_lock);
+ 	list_add_tail(&dev->todo_list, &net_todo_list);
+-	spin_unlock(&net_todo_list_lock);
+ }
+ 
+ static void rollback_registered(struct net_device *dev)
+@@ -3941,33 +3938,24 @@ static void netdev_wait_allrefs(struct net_device *dev)
+  *	free_netdev(y1);
+  *	free_netdev(y2);
+  *
+- * We are invoked by rtnl_unlock() after it drops the semaphore.
++ * We are invoked by rtnl_unlock().
+  * This allows us to deal with problems:
+  * 1) We can delete sysfs objects which invoke hotplug
+  *    without deadlocking with linkwatch via keventd.
+  * 2) Since we run with the RTNL semaphore not held, we can sleep
+  *    safely in order to wait for the netdev refcnt to drop to zero.
++ *
++ * We must not return until all unregister events added during
++ * the interval the lock was held have been completed.
+  */
+-static DEFINE_MUTEX(net_todo_run_mutex);
+ void netdev_run_todo(void)
+ {
+ 	struct list_head list;
+ 
+-	/* Need to guard against multiple cpu's getting out of order. */
+-	mutex_lock(&net_todo_run_mutex);
+-
+-	/* Not safe to do outside the semaphore.  We must not return
+-	 * until all unregister events invoked by the local processor
+-	 * have been completed (either by this todo run, or one on
+-	 * another cpu).
+-	 */
+-	if (list_empty(&net_todo_list))
+-		goto out;
+-
+ 	/* Snapshot list, allow later requests */
+-	spin_lock(&net_todo_list_lock);
+ 	list_replace_init(&net_todo_list, &list);
+-	spin_unlock(&net_todo_list_lock);
++
++	__rtnl_unlock();
+ 
+ 	while (!list_empty(&list)) {
+ 		struct net_device *dev
+@@ -3997,9 +3985,6 @@ void netdev_run_todo(void)
+ 		/* Free network device */
+ 		kobject_put(&dev->dev.kobj);
+ 	}
+-
+-out:
+-	mutex_unlock(&net_todo_run_mutex);
+ }
+ 
+ static struct net_device_stats *internal_stats(struct net_device *dev)
+diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
+index a9a7721..8705e6e 100644
+--- a/net/core/rtnetlink.c
++++ b/net/core/rtnetlink.c
+@@ -73,7 +73,7 @@ void __rtnl_unlock(void)
+ 
+ void rtnl_unlock(void)
+ {
+-	mutex_unlock(&rtnl_mutex);
++	/* This fellow will unlock it for us. */
+ 	netdev_run_todo();
+ }
+ 
+diff --git a/net/core/scm.c b/net/core/scm.c
+index 10f5c65..ab242cc 100644
+--- a/net/core/scm.c
++++ b/net/core/scm.c
+@@ -75,6 +75,7 @@ static int scm_fp_copy(struct cmsghdr *cmsg, struct scm_fp_list **fplp)
+ 		if (!fpl)
+ 			return -ENOMEM;
+ 		*fplp = fpl;
++		INIT_LIST_HEAD(&fpl->list);
+ 		fpl->count = 0;
+ 	}
+ 	fpp = &fpl->fp[fpl->count];
+@@ -106,9 +107,25 @@ void __scm_destroy(struct scm_cookie *scm)
+ 
+ 	if (fpl) {
+ 		scm->fp = NULL;
+-		for (i=fpl->count-1; i>=0; i--)
+-			fput(fpl->fp[i]);
+-		kfree(fpl);
++		if (current->scm_work_list) {
++			list_add_tail(&fpl->list, current->scm_work_list);
++		} else {
++			LIST_HEAD(work_list);
++
++			current->scm_work_list = &work_list;
++
++			list_add(&fpl->list, &work_list);
++			while (!list_empty(&work_list)) {
++				fpl = list_first_entry(&work_list, struct scm_fp_list, list);
++
++				list_del(&fpl->list);
++				for (i=fpl->count-1; i>=0; i--)
++					fput(fpl->fp[i]);
++				kfree(fpl);
++			}
++
++			current->scm_work_list = NULL;
++		}
+ 	}
+ }
+ 
+@@ -284,6 +301,7 @@ struct scm_fp_list *scm_fp_dup(struct scm_fp_list *fpl)
+ 
+ 	new_fpl = kmalloc(sizeof(*fpl), GFP_KERNEL);
+ 	if (new_fpl) {
++		INIT_LIST_HEAD(&new_fpl->list);
+ 		for (i=fpl->count-1; i>=0; i--)
+ 			get_file(fpl->fp[i]);
+ 		memcpy(new_fpl, fpl, sizeof(*fpl));
+diff --git a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
+index 5a955c4..7eb0b61 100644
+--- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
++++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
+@@ -150,10 +150,12 @@ static unsigned int ipv4_conntrack_defrag(unsigned int hooknum,
+ 					  const struct net_device *out,
+ 					  int (*okfn)(struct sk_buff *))
+ {
++#if !defined(CONFIG_NF_NAT) && !defined(CONFIG_NF_NAT_MODULE)
+ 	/* Previously seen (loopback)?  Ignore.  Do this before
+ 	   fragment check. */
+ 	if (skb->nfct)
+ 		return NF_ACCEPT;
++#endif
+ 
+ 	/* Gather fragments. */
+ 	if (ip_hdr(skb)->frag_off & htons(IP_MF | IP_OFFSET)) {
+diff --git a/net/ipv4/netfilter/nf_nat_snmp_basic.c b/net/ipv4/netfilter/nf_nat_snmp_basic.c
+index ffeaffc..8303e4b 100644
+--- a/net/ipv4/netfilter/nf_nat_snmp_basic.c
++++ b/net/ipv4/netfilter/nf_nat_snmp_basic.c
+@@ -742,6 +742,7 @@ static unsigned char snmp_object_decode(struct asn1_ctx *ctx,
+ 			*obj = kmalloc(sizeof(struct snmp_object) + len,
+ 				       GFP_ATOMIC);
+ 			if (*obj == NULL) {
++				kfree(p);
+ 				kfree(id);
+ 				if (net_ratelimit())
+ 					printk("OOM in bsalg (%d)\n", __LINE__);
+diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
+index 40ea9c3..f2e7b37 100644
+--- a/net/ipv6/tcp_ipv6.c
++++ b/net/ipv6/tcp_ipv6.c
+@@ -1147,7 +1147,7 @@ static void tcp_v6_send_ack(struct tcp_timewait_sock *tw,
+ 		*topt++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) |
+ 				(TCPOPT_TIMESTAMP << 8) | TCPOLEN_TIMESTAMP);
+ 		*topt++ = htonl(tcp_time_stamp);
+-		*topt = htonl(ts);
++		*topt++ = htonl(ts);
+ 	}
+ 
+ #ifdef CONFIG_TCP_MD5SIG
+diff --git a/net/netfilter/xt_iprange.c b/net/netfilter/xt_iprange.c
+index c63e933..4b5741b 100644
+--- a/net/netfilter/xt_iprange.c
++++ b/net/netfilter/xt_iprange.c
+@@ -67,7 +67,7 @@ iprange_mt4(const struct sk_buff *skb, const struct net_device *in,
+ 	if (info->flags & IPRANGE_SRC) {
+ 		m  = ntohl(iph->saddr) < ntohl(info->src_min.ip);
+ 		m |= ntohl(iph->saddr) > ntohl(info->src_max.ip);
+-		m ^= info->flags & IPRANGE_SRC_INV;
++		m ^= !!(info->flags & IPRANGE_SRC_INV);
+ 		if (m) {
+ 			pr_debug("src IP " NIPQUAD_FMT " NOT in range %s"
+ 			         NIPQUAD_FMT "-" NIPQUAD_FMT "\n",
+@@ -81,7 +81,7 @@ iprange_mt4(const struct sk_buff *skb, const struct net_device *in,
+ 	if (info->flags & IPRANGE_DST) {
+ 		m  = ntohl(iph->daddr) < ntohl(info->dst_min.ip);
+ 		m |= ntohl(iph->daddr) > ntohl(info->dst_max.ip);
+-		m ^= info->flags & IPRANGE_DST_INV;
++		m ^= !!(info->flags & IPRANGE_DST_INV);
+ 		if (m) {
+ 			pr_debug("dst IP " NIPQUAD_FMT " NOT in range %s"
+ 			         NIPQUAD_FMT "-" NIPQUAD_FMT "\n",
+@@ -123,14 +123,14 @@ iprange_mt6(const struct sk_buff *skb, const struct net_device *in,
+ 	if (info->flags & IPRANGE_SRC) {
+ 		m  = iprange_ipv6_sub(&iph->saddr, &info->src_min.in6) < 0;
+ 		m |= iprange_ipv6_sub(&iph->saddr, &info->src_max.in6) > 0;
+-		m ^= info->flags & IPRANGE_SRC_INV;
++		m ^= !!(info->flags & IPRANGE_SRC_INV);
+ 		if (m)
+ 			return false;
+ 	}
+ 	if (info->flags & IPRANGE_DST) {
+ 		m  = iprange_ipv6_sub(&iph->daddr, &info->dst_min.in6) < 0;
+ 		m |= iprange_ipv6_sub(&iph->daddr, &info->dst_max.in6) > 0;
+-		m ^= info->flags & IPRANGE_DST_INV;
++		m ^= !!(info->flags & IPRANGE_DST_INV);
+ 		if (m)
+ 			return false;
+ 	}
+diff --git a/security/commoncap.c b/security/commoncap.c
+index 33d3433..17fc5ab 100644
+--- a/security/commoncap.c
++++ b/security/commoncap.c
+@@ -247,10 +247,10 @@ static int get_file_caps(struct linux_binprm *bprm)
+ 	struct vfs_cap_data vcaps;
+ 	struct inode *inode;
+ 
+-	if (bprm->file->f_vfsmnt->mnt_flags & MNT_NOSUID) {
+-		bprm_clear_caps(bprm);
++	bprm_clear_caps(bprm);
++
++	if (bprm->file->f_vfsmnt->mnt_flags & MNT_NOSUID)
+ 		return 0;
+-	}
+ 
+ 	dentry = dget(bprm->file->f_dentry);
+ 	inode = dentry->d_inode;
+diff --git a/sound/core/control.c b/sound/core/control.c
+index 01a1a5a..7ac4bbb 100644
+--- a/sound/core/control.c
++++ b/sound/core/control.c
+@@ -1426,12 +1426,12 @@ static int snd_ctl_dev_disconnect(struct snd_device *device)
+ 	cardnum = card->number;
+ 	snd_assert(cardnum >= 0 && cardnum < SNDRV_CARDS, return -ENXIO);
+ 
+-	down_read(&card->controls_rwsem);
++	read_lock(&card->ctl_files_rwlock);
+ 	list_for_each_entry(ctl, &card->ctl_files, list) {
+ 		wake_up(&ctl->change_sleep);
+ 		kill_fasync(&ctl->fasync, SIGIO, POLL_ERR);
+ 	}
+-	up_read(&card->controls_rwsem);
++	read_unlock(&card->ctl_files_rwlock);
+ 
+ 	if ((err = snd_unregister_device(SNDRV_DEVICE_TYPE_CONTROL,
+ 					 card, -1)) < 0)
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/stable/gen-patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/stable/gen-patch
@@ -0,0 +1,62 @@
+#!/usr/bin/env python
+
+import os.path, re, sys, textwrap
+
+class Version(object):
+    _rules = ur"^(\d+\.\d+\.\d+)\.(\d+)$"
+    _re = re.compile(_rules)
+
+    def __init__(self, version):
+        self.complete = version
+        match = self._re.match(version)
+        if match is None:
+            raise RuntimeError
+        self.release = match.group(1)
+        self.patch = int(match.group(2))
+
+class GenPatch(object):
+    def __init__(self, path, repo, version):
+        self.path = path
+        self.repo = repo
+        self.version = version
+
+    def __call__(self):
+        base = self.version.complete
+        patch = base + '.patch'
+        log = base + '.log'
+        series = base + '.series'
+
+        if self.version.patch == 1:
+            tag_in = "v%s" % self.version.release
+        else:
+            tag_in = "v%s.%d" % (self.version.release, self.version.patch - 1)
+        tag_out = "v%s" % self.version.complete
+        print tag_in, tag_out
+
+        f = os.popen("cd %s; git diff %s %s | filterdiff -p 1 -x Makefile > %s" % (self.repo, tag_in, tag_out, os.path.join(self.path, patch)))
+        if f.close() is not None:
+            raise RuntimeError
+
+        f = os.popen("cd %s; git log --pretty=oneline -r %s..%s^" % (self.repo, tag_in, tag_out))
+        out = file(os.path.join(self.path, log), 'w')
+        out.write("  * Add stable release %s:\n" % self.version.complete)
+        for line in f:
+            line = line.strip()
+            if not line:
+                continue
+            hash, log = line.split(' ', 1)
+            log = textwrap.wrap(log, 74)
+            log = '\n      '.join(log)
+            out.write("    - %s\n" % log)
+        if f.close() is not None:
+            raise RuntimeError
+
+        out = file(os.path.join(self.path, series), 'w')
+        out.write("+ bugfix/all/stable/%s\n" % patch)
+        out.close()
+
+if __name__ == '__main__':
+    path = os.path.realpath(os.path.dirname(sys.argv[0]))
+    repo = sys.argv[1]
+    for i in sys.argv[2:]:
+        GenPatch(path, repo, Version(i))()
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/mips-wire-up-o32-syscall-to-the-right-function.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/mips-wire-up-o32-syscall-to-the-right-function.patch
@@ -0,0 +1,25 @@
+From: Ralf Baechle <ralf@linux-mips.org>
+Date: Mon, 23 Feb 2009 15:52:58 +0000 (+0000)
+Subject: MIPS: Wire up o32 syscall to the right function.
+X-Git-Tag: linux-2.6.29-rc6~1
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff_plain;h=962d49e91781f7904b134d3bac700d516315764a
+
+MIPS: Wire up o32 syscall to the right function.
+
+Reported-by: David Daney <ddaney@caviumnetworks.com>
+Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+---
+
+diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
+index 6ee7997..98f89f7 100644
+--- a/arch/mips/kernel/scall64-o32.S
++++ b/arch/mips/kernel/scall64-o32.S
+@@ -320,7 +320,7 @@ sys_call_table:
+ 	PTR	compat_sys_wait4
+ 	PTR	sys_swapoff			/* 4115 */
+ 	PTR	compat_sys_sysinfo
+-	PTR	sys32_ipc
++	PTR	sys_32_ipc
+ 	PTR	sys_fsync
+ 	PTR	sys32_sigreturn
+ 	PTR	sys32_clone			/* 4120 */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0001-Move-compat-system-call-declarations.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0001-Move-compat-system-call-declarations.patch
@@ -0,0 +1,71 @@
+From 4c696ba7982501d43dea11dbbaabd2aa8a19cc42 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:13:53 +0100
+Subject: [PATCH 01/44] [CVE-2009-0029] Move compat system call declarations to compat header file
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 4c696ba7982501d43dea11dbbaabd2aa8a19cc42 upstream.
+
+Move declarations to correct header file.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ include/linux/compat.h   |   13 +++++++++++++
+ include/linux/syscalls.h |   12 ------------
+ 2 files changed, 13 insertions(+), 12 deletions(-)
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/linux/compat.h linux-source-2.6.26/include/linux/compat.h
+--- linux-source-2.6.26.orig/include/linux/compat.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/compat.h	2009-01-19 11:09:53.000000000 -0700
+@@ -278,5 +278,18 @@ asmlinkage long compat_sys_timerfd_setti
+ asmlinkage long compat_sys_timerfd_gettime(int ufd,
+ 				   struct compat_itimerspec __user *otmr);
+ 
++asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_page,
++				      __u32 __user *pages,
++				      const int __user *nodes,
++				      int __user *status,
++				      int flags);
++asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename,
++				     struct compat_timeval __user *t);
++asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * filename,
++				      struct compat_stat __user *statbuf,
++				      int flag);
++asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename,
++				  int flags, int mode);
++
+ #endif /* CONFIG_COMPAT */
+ #endif /* _LINUX_COMPAT_H */
+diff -urpN linux-source-2.6.26.orig/include/linux/syscalls.h linux-source-2.6.26/include/linux/syscalls.h
+--- linux-source-2.6.26.orig/include/linux/syscalls.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/linux/syscalls.h	2009-01-19 11:09:54.000000000 -0700
+@@ -527,11 +527,6 @@ asmlinkage long sys_move_pages(pid_t pid
+ 				const int __user *nodes,
+ 				int __user *status,
+ 				int flags);
+-asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_page,
+-				__u32 __user *pages,
+-				const int __user *nodes,
+-				int __user *status,
+-				int flags);
+ asmlinkage long sys_mbind(unsigned long start, unsigned long len,
+ 				unsigned long mode,
+ 				unsigned long __user *nmask,
+@@ -579,13 +574,6 @@ asmlinkage long sys_readlinkat(int dfd, 
+ 			       int bufsiz);
+ asmlinkage long sys_utimensat(int dfd, char __user *filename,
+ 				struct timespec __user *utimes, int flags);
+-asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename,
+-				     struct compat_timeval __user *t);
+-asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * filename,
+-				      struct compat_stat __user *statbuf,
+-				      int flag);
+-asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename,
+-				   int flags, int mode);
+ asmlinkage long sys_unshare(unsigned long unshare_flags);
+ 
+ asmlinkage long sys_splice(int fd_in, loff_t __user *off_in,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0002-Convert-all-system-calls-to-return-a.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0002-Convert-all-system-calls-to-return-a.patch
@@ -0,0 +1,402 @@
+From 2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:13:54 +0100
+Subject: [PATCH 02/44] [CVE-2009-0029] Convert all system calls to return a long
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba upstream.
+
+Convert all system calls to return a long. This should be a NOP since all
+converted types should have the same size anyway.
+With the exception of sys_exit_group which returned void. But that doesn't
+matter since the system call doesn't return.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org)
+
+diff -urpN linux-source-2.6.26.orig/fs/read_write.c linux-source-2.6.26/fs/read_write.c
+--- linux-source-2.6.26.orig/fs/read_write.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/read_write.c	2009-01-19 11:12:44.000000000 -0700
+@@ -128,7 +128,7 @@ loff_t vfs_llseek(struct file *file, lof
+ }
+ EXPORT_SYMBOL(vfs_llseek);
+ 
+-asmlinkage off_t sys_lseek(unsigned int fd, off_t offset, unsigned int origin)
++asmlinkage long sys_lseek(unsigned int fd, off_t offset, unsigned int origin)
+ {
+ 	off_t retval;
+ 	struct file * file;
+@@ -350,7 +350,7 @@ static inline void file_pos_write(struct
+ 	file->f_pos = pos;
+ }
+ 
+-asmlinkage ssize_t sys_read(unsigned int fd, char __user * buf, size_t count)
++asmlinkage long sys_read(unsigned int fd, char __user * buf, size_t count)
+ {
+ 	struct file *file;
+ 	ssize_t ret = -EBADF;
+@@ -367,7 +367,7 @@ asmlinkage ssize_t sys_read(unsigned int
+ 	return ret;
+ }
+ 
+-asmlinkage ssize_t sys_write(unsigned int fd, const char __user * buf, size_t count)
++asmlinkage long sys_write(unsigned int fd, const char __user * buf, size_t count)
+ {
+ 	struct file *file;
+ 	ssize_t ret = -EBADF;
+@@ -384,7 +384,7 @@ asmlinkage ssize_t sys_write(unsigned in
+ 	return ret;
+ }
+ 
+-asmlinkage ssize_t sys_pread64(unsigned int fd, char __user *buf,
++asmlinkage long sys_pread64(unsigned int fd, char __user *buf,
+ 			     size_t count, loff_t pos)
+ {
+ 	struct file *file;
+@@ -405,7 +405,7 @@ asmlinkage ssize_t sys_pread64(unsigned 
+ 	return ret;
+ }
+ 
+-asmlinkage ssize_t sys_pwrite64(unsigned int fd, const char __user *buf,
++asmlinkage long sys_pwrite64(unsigned int fd, const char __user *buf,
+ 			      size_t count, loff_t pos)
+ {
+ 	struct file *file;
+@@ -653,7 +653,7 @@ ssize_t vfs_writev(struct file *file, co
+ 
+ EXPORT_SYMBOL(vfs_writev);
+ 
+-asmlinkage ssize_t
++asmlinkage long
+ sys_readv(unsigned long fd, const struct iovec __user *vec, unsigned long vlen)
+ {
+ 	struct file *file;
+@@ -674,7 +674,7 @@ sys_readv(unsigned long fd, const struct
+ 	return ret;
+ }
+ 
+-asmlinkage ssize_t
++asmlinkage long
+ sys_writev(unsigned long fd, const struct iovec __user *vec, unsigned long vlen)
+ {
+ 	struct file *file;
+@@ -793,7 +793,7 @@ out:
+ 	return retval;
+ }
+ 
+-asmlinkage ssize_t sys_sendfile(int out_fd, int in_fd, off_t __user *offset, size_t count)
++asmlinkage long sys_sendfile(int out_fd, int in_fd, off_t __user *offset, size_t count)
+ {
+ 	loff_t pos;
+ 	off_t off;
+@@ -812,7 +812,7 @@ asmlinkage ssize_t sys_sendfile(int out_
+ 	return do_sendfile(out_fd, in_fd, NULL, count, 0);
+ }
+ 
+-asmlinkage ssize_t sys_sendfile64(int out_fd, int in_fd, loff_t __user *offset, size_t count)
++asmlinkage long sys_sendfile64(int out_fd, int in_fd, loff_t __user *offset, size_t count)
+ {
+ 	loff_t pos;
+ 	ssize_t ret;
+diff -urpN linux-source-2.6.26.orig/fs/xattr.c linux-source-2.6.26/fs/xattr.c
+--- linux-source-2.6.26.orig/fs/xattr.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/xattr.c	2009-01-19 11:14:17.000000000 -0700
+@@ -349,7 +349,7 @@ getxattr(struct dentry *d, const char __
+ 	return error;
+ }
+ 
+-asmlinkage ssize_t
++asmlinkage long
+ sys_getxattr(const char __user *path, const char __user *name,
+ 	     void __user *value, size_t size)
+ {
+@@ -364,7 +364,7 @@ sys_getxattr(const char __user *path, co
+ 	return error;
+ }
+ 
+-asmlinkage ssize_t
++asmlinkage long
+ sys_lgetxattr(const char __user *path, const char __user *name, void __user *value,
+ 	      size_t size)
+ {
+@@ -379,7 +379,7 @@ sys_lgetxattr(const char __user *path, c
+ 	return error;
+ }
+ 
+-asmlinkage ssize_t
++asmlinkage long
+ sys_fgetxattr(int fd, const char __user *name, void __user *value, size_t size)
+ {
+ 	struct file *f;
+@@ -424,7 +424,7 @@ listxattr(struct dentry *d, char __user 
+ 	return error;
+ }
+ 
+-asmlinkage ssize_t
++asmlinkage long
+ sys_listxattr(const char __user *path, char __user *list, size_t size)
+ {
+ 	struct nameidata nd;
+@@ -438,7 +438,7 @@ sys_listxattr(const char __user *path, c
+ 	return error;
+ }
+ 
+-asmlinkage ssize_t
++asmlinkage long
+ sys_llistxattr(const char __user *path, char __user *list, size_t size)
+ {
+ 	struct nameidata nd;
+@@ -452,7 +452,7 @@ sys_llistxattr(const char __user *path, 
+ 	return error;
+ }
+ 
+-asmlinkage ssize_t
++asmlinkage long
+ sys_flistxattr(int fd, char __user *list, size_t size)
+ {
+ 	struct file *f;
+diff -urpN linux-source-2.6.26.orig/include/linux/syscalls.h linux-source-2.6.26/include/linux/syscalls.h
+--- linux-source-2.6.26.orig/include/linux/syscalls.h	2009-01-19 11:09:54.000000000 -0700
++++ linux-source-2.6.26/include/linux/syscalls.h	2009-01-19 11:12:44.000000000 -0700
+@@ -77,7 +77,7 @@ asmlinkage long sys_times(struct tms __u
+ 
+ asmlinkage long sys_gettid(void);
+ asmlinkage long sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp);
+-asmlinkage unsigned long sys_alarm(unsigned int seconds);
++asmlinkage long sys_alarm(unsigned int seconds);
+ asmlinkage long sys_getpid(void);
+ asmlinkage long sys_getppid(void);
+ asmlinkage long sys_getuid(void);
+@@ -166,7 +166,7 @@ asmlinkage long sys_kexec_load(unsigned 
+ 				unsigned long flags);
+ 
+ asmlinkage long sys_exit(int error_code);
+-asmlinkage void sys_exit_group(int error_code);
++asmlinkage long sys_exit_group(int error_code);
+ asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr,
+ 				int options, struct rusage __user *ru);
+ asmlinkage long sys_waitid(int which, pid_t pid,
+@@ -196,7 +196,7 @@ asmlinkage long sys_tkill(int pid, int s
+ asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo);
+ asmlinkage long sys_sgetmask(void);
+ asmlinkage long sys_ssetmask(int newmask);
+-asmlinkage unsigned long sys_signal(int sig, __sighandler_t handler);
++asmlinkage long sys_signal(int sig, __sighandler_t handler);
+ asmlinkage long sys_pause(void);
+ 
+ asmlinkage long sys_sync(void);
+@@ -246,29 +246,29 @@ asmlinkage long sys_lsetxattr(const char
+ 			      const void __user *value, size_t size, int flags);
+ asmlinkage long sys_fsetxattr(int fd, const char __user *name,
+ 			      const void __user *value, size_t size, int flags);
+-asmlinkage ssize_t sys_getxattr(const char __user *path, const char __user *name,
+-				void __user *value, size_t size);
+-asmlinkage ssize_t sys_lgetxattr(const char __user *path, const char __user *name,
+-				void __user *value, size_t size);
+-asmlinkage ssize_t sys_fgetxattr(int fd, const char __user *name,
+-				void __user *value, size_t size);
+-asmlinkage ssize_t sys_listxattr(const char __user *path, char __user *list,
+-				size_t size);
+-asmlinkage ssize_t sys_llistxattr(const char __user *path, char __user *list,
+-				size_t size);
+-asmlinkage ssize_t sys_flistxattr(int fd, char __user *list, size_t size);
++asmlinkage long sys_getxattr(const char __user *path, const char __user *name,
++			     void __user *value, size_t size);
++asmlinkage long sys_lgetxattr(const char __user *path, const char __user *name,
++			      void __user *value, size_t size);
++asmlinkage long sys_fgetxattr(int fd, const char __user *name,
++			      void __user *value, size_t size);
++asmlinkage long sys_listxattr(const char __user *path, char __user *list,
++			      size_t size);
++asmlinkage long sys_llistxattr(const char __user *path, char __user *list,
++			       size_t size);
++asmlinkage long sys_flistxattr(int fd, char __user *list, size_t size);
+ asmlinkage long sys_removexattr(const char __user *path,
+ 				const char __user *name);
+ asmlinkage long sys_lremovexattr(const char __user *path,
+ 				 const char __user *name);
+ asmlinkage long sys_fremovexattr(int fd, const char __user *name);
+ 
+-asmlinkage unsigned long sys_brk(unsigned long brk);
++asmlinkage long sys_brk(unsigned long brk);
+ asmlinkage long sys_mprotect(unsigned long start, size_t len,
+ 				unsigned long prot);
+-asmlinkage unsigned long sys_mremap(unsigned long addr,
+-				unsigned long old_len, unsigned long new_len,
+-				unsigned long flags, unsigned long new_addr);
++asmlinkage long sys_mremap(unsigned long addr,
++			   unsigned long old_len, unsigned long new_len,
++			   unsigned long flags, unsigned long new_addr);
+ asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size,
+ 			unsigned long prot, unsigned long pgoff,
+ 			unsigned long flags);
+@@ -320,10 +320,10 @@ asmlinkage long sys_io_submit(aio_contex
+ 				struct iocb __user * __user *);
+ asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb,
+ 			      struct io_event __user *result);
+-asmlinkage ssize_t sys_sendfile(int out_fd, int in_fd,
+-				off_t __user *offset, size_t count);
+-asmlinkage ssize_t sys_sendfile64(int out_fd, int in_fd,
+-				loff_t __user *offset, size_t count);
++asmlinkage long sys_sendfile(int out_fd, int in_fd,
++			     off_t __user *offset, size_t count);
++asmlinkage long sys_sendfile64(int out_fd, int in_fd,
++			       loff_t __user *offset, size_t count);
+ asmlinkage long sys_readlink(const char __user *path,
+ 				char __user *buf, int bufsiz);
+ asmlinkage long sys_creat(const char __user *pathname, int mode);
+@@ -367,26 +367,25 @@ asmlinkage long sys_utime(char __user *f
+ 				struct utimbuf __user *times);
+ asmlinkage long sys_utimes(char __user *filename,
+ 				struct timeval __user *utimes);
+-asmlinkage off_t sys_lseek(unsigned int fd, off_t offset,
+-				unsigned int origin);
++asmlinkage long sys_lseek(unsigned int fd, off_t offset,
++			  unsigned int origin);
+ asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high,
+ 			unsigned long offset_low, loff_t __user *result,
+ 			unsigned int origin);
+-asmlinkage ssize_t sys_read(unsigned int fd, char __user *buf,
+-				size_t count);
+-asmlinkage ssize_t sys_readahead(int fd, loff_t offset, size_t count);
+-asmlinkage ssize_t sys_readv(unsigned long fd,
+-				const struct iovec __user *vec,
+-				unsigned long vlen);
+-asmlinkage ssize_t sys_write(unsigned int fd, const char __user *buf,
+-				size_t count);
+-asmlinkage ssize_t sys_writev(unsigned long fd,
+-				const struct iovec __user *vec,
+-				unsigned long vlen);
+-asmlinkage ssize_t sys_pread64(unsigned int fd, char __user *buf,
+-				size_t count, loff_t pos);
+-asmlinkage ssize_t sys_pwrite64(unsigned int fd, const char __user *buf,
+-				size_t count, loff_t pos);
++asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count);
++asmlinkage long sys_readahead(int fd, loff_t offset, size_t count);
++asmlinkage long sys_readv(unsigned long fd,
++			  const struct iovec __user *vec,
++			  unsigned long vlen);
++asmlinkage long sys_write(unsigned int fd, const char __user *buf,
++			  size_t count);
++asmlinkage long sys_writev(unsigned long fd,
++			   const struct iovec __user *vec,
++			   unsigned long vlen);
++asmlinkage long sys_pread64(unsigned int fd, char __user *buf,
++			    size_t count, loff_t pos);
++asmlinkage long sys_pwrite64(unsigned int fd, const char __user *buf,
++			     size_t count, loff_t pos);
+ asmlinkage long sys_getcwd(char __user *buf, unsigned long size);
+ asmlinkage long sys_mkdir(const char __user *pathname, int mode);
+ asmlinkage long sys_chdir(const char __user *filename);
+@@ -473,7 +472,7 @@ asmlinkage long sys_shmctl(int shmid, in
+ asmlinkage long sys_mq_open(const char __user *name, int oflag, mode_t mode, struct mq_attr __user *attr);
+ asmlinkage long sys_mq_unlink(const char __user *name);
+ asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout);
+-asmlinkage ssize_t sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout);
++asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout);
+ asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification);
+ asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat);
+ 
+diff -urpN linux-source-2.6.26.orig/ipc/mqueue.c linux-source-2.6.26/ipc/mqueue.c
+--- linux-source-2.6.26.orig/ipc/mqueue.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/ipc/mqueue.c	2009-01-19 11:12:44.000000000 -0700
+@@ -907,7 +907,7 @@ out:
+ 	return ret;
+ }
+ 
+-asmlinkage ssize_t sys_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
++asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
+ 	size_t msg_len, unsigned int __user *u_msg_prio,
+ 	const struct timespec __user *u_abs_timeout)
+ {
+diff -urpN linux-source-2.6.26.orig/kernel/exit.c linux-source-2.6.26/kernel/exit.c
+--- linux-source-2.6.26.orig/kernel/exit.c	2009-01-10 05:42:12.000000000 -0700
++++ linux-source-2.6.26/kernel/exit.c	2009-01-19 11:12:44.000000000 -0700
+@@ -1162,9 +1162,11 @@ do_group_exit(int exit_code)
+  * wait4()-ing process will get the correct exit code - even if this
+  * thread is not the thread group leader.
+  */
+-asmlinkage void sys_exit_group(int error_code)
++asmlinkage long sys_exit_group(int error_code)
+ {
+ 	do_group_exit((error_code & 0xff) << 8);
++	/* NOTREACHED */
++	return 0;
+ }
+ 
+ static struct pid *task_pid_type(struct task_struct *task, enum pid_type type)
+diff -urpN linux-source-2.6.26.orig/kernel/signal.c linux-source-2.6.26/kernel/signal.c
+--- linux-source-2.6.26.orig/kernel/signal.c	2009-01-10 05:42:11.000000000 -0700
++++ linux-source-2.6.26/kernel/signal.c	2009-01-19 11:12:44.000000000 -0700
+@@ -2532,7 +2532,7 @@ sys_ssetmask(int newmask)
+ /*
+  * For backwards compatibility.  Functionality superseded by sigaction.
+  */
+-asmlinkage unsigned long
++asmlinkage long
+ sys_signal(int sig, __sighandler_t handler)
+ {
+ 	struct k_sigaction new_sa, old_sa;
+diff -urpN linux-source-2.6.26.orig/kernel/timer.c linux-source-2.6.26/kernel/timer.c
+--- linux-source-2.6.26.orig/kernel/timer.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/timer.c	2009-01-19 11:12:44.000000000 -0700
+@@ -1082,7 +1082,7 @@ void do_timer(unsigned long ticks)
+  * For backwards compatibility?  This can be done in libc so Alpha
+  * and all newer ports shouldn't need it.
+  */
+-asmlinkage unsigned long sys_alarm(unsigned int seconds)
++asmlinkage long sys_alarm(unsigned int seconds)
+ {
+ 	return alarm_setitimer(seconds);
+ }
+diff -urpN linux-source-2.6.26.orig/mm/filemap.c linux-source-2.6.26/mm/filemap.c
+--- linux-source-2.6.26.orig/mm/filemap.c	2009-01-10 05:42:11.000000000 -0700
++++ linux-source-2.6.26/mm/filemap.c	2009-01-19 11:12:44.000000000 -0700
+@@ -1253,7 +1253,7 @@ do_readahead(struct address_space *mappi
+ 	return 0;
+ }
+ 
+-asmlinkage ssize_t sys_readahead(int fd, loff_t offset, size_t count)
++asmlinkage long sys_readahead(int fd, loff_t offset, size_t count)
+ {
+ 	ssize_t ret;
+ 	struct file *file;
+diff -urpN linux-source-2.6.26.orig/mm/mmap.c linux-source-2.6.26/mm/mmap.c
+--- linux-source-2.6.26.orig/mm/mmap.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/mmap.c	2009-01-19 11:12:44.000000000 -0700
+@@ -240,7 +240,7 @@ static struct vm_area_struct *remove_vma
+ 	return next;
+ }
+ 
+-asmlinkage unsigned long sys_brk(unsigned long brk)
++asmlinkage long sys_brk(unsigned long brk)
+ {
+ 	unsigned long rlim, retval;
+ 	unsigned long newbrk, oldbrk;
+diff -urpN linux-source-2.6.26.orig/mm/mremap.c linux-source-2.6.26/mm/mremap.c
+--- linux-source-2.6.26.orig/mm/mremap.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/mremap.c	2009-01-19 11:12:44.000000000 -0700
+@@ -412,7 +412,7 @@ out_nc:
+ 	return ret;
+ }
+ 
+-asmlinkage unsigned long sys_mremap(unsigned long addr,
++asmlinkage long sys_mremap(unsigned long addr,
+ 	unsigned long old_len, unsigned long new_len,
+ 	unsigned long flags, unsigned long new_addr)
+ {
+diff -urpN linux-source-2.6.26.orig/mm/nommu.c linux-source-2.6.26/mm/nommu.c
+--- linux-source-2.6.26.orig/mm/nommu.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/nommu.c	2009-01-19 11:12:44.000000000 -0700
+@@ -334,7 +334,7 @@ EXPORT_SYMBOL(vm_insert_page);
+  *  to a regular file.  in this case, the unmapping will need
+  *  to invoke file system routines that need the global lock.
+  */
+-asmlinkage unsigned long sys_brk(unsigned long brk)
++asmlinkage long sys_brk(unsigned long brk)
+ {
+ 	struct mm_struct *mm = current->mm;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0003-Rename-old_readdir-to-sys_old_readdi.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0003-Rename-old_readdir-to-sys_old_readdi.patch
@@ -0,0 +1,203 @@
+From e55380edf68796d75bf41391a781c68ee678587d Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:13:55 +0100
+Subject: [PATCH 03/44] [CVE-2009-0029] Rename old_readdir to sys_old_readdir
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit e55380edf68796d75bf41391a781c68ee678587d upstream.
+
+This way it matches the generic system call name convention.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/arm/kernel/calls.S linux-source-2.6.26/arch/arm/kernel/calls.S
+--- linux-source-2.6.26.orig/arch/arm/kernel/calls.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/arm/kernel/calls.S	2009-01-19 11:16:52.000000000 -0700
+@@ -98,7 +98,7 @@
+ 		CALL(sys_uselib)
+ 		CALL(sys_swapon)
+ 		CALL(sys_reboot)
+-		CALL(OBSOLETE(old_readdir))	/* used by libc4 */
++		CALL(OBSOLETE(sys_old_readdir))	/* used by libc4 */
+ /* 90 */	CALL(OBSOLETE(old_mmap))	/* used by libc4 */
+ 		CALL(sys_munmap)
+ 		CALL(sys_truncate)
+diff -urpN linux-source-2.6.26.orig/arch/cris/arch-v10/kernel/entry.S linux-source-2.6.26/arch/cris/arch-v10/kernel/entry.S
+--- linux-source-2.6.26.orig/arch/cris/arch-v10/kernel/entry.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/cris/arch-v10/kernel/entry.S	2009-01-19 11:16:52.000000000 -0700
+@@ -691,7 +691,7 @@ sys_call_table:	
+ 	.long sys_uselib
+ 	.long sys_swapon
+ 	.long sys_reboot
+-	.long old_readdir
++	.long sys_old_readdir
+ 	.long old_mmap		/* 90 */
+ 	.long sys_munmap
+ 	.long sys_truncate
+diff -urpN linux-source-2.6.26.orig/arch/cris/arch-v32/kernel/entry.S linux-source-2.6.26/arch/cris/arch-v32/kernel/entry.S
+--- linux-source-2.6.26.orig/arch/cris/arch-v32/kernel/entry.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/cris/arch-v32/kernel/entry.S	2009-01-19 11:16:52.000000000 -0700
+@@ -614,7 +614,7 @@ sys_call_table:
+ 	.long sys_uselib
+ 	.long sys_swapon
+ 	.long sys_reboot
+-	.long old_readdir
++	.long sys_old_readdir
+ 	.long old_mmap		/* 90 */
+ 	.long sys_munmap
+ 	.long sys_truncate
+diff -urpN linux-source-2.6.26.orig/arch/h8300/kernel/syscalls.S linux-source-2.6.26/arch/h8300/kernel/syscalls.S
+--- linux-source-2.6.26.orig/arch/h8300/kernel/syscalls.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/h8300/kernel/syscalls.S	2009-01-19 11:16:52.000000000 -0700
+@@ -103,7 +103,7 @@ SYMBOL_NAME_LABEL(sys_call_table)	
+ 	.long SYMBOL_NAME(sys_uselib)
+ 	.long SYMBOL_NAME(sys_swapon)
+ 	.long SYMBOL_NAME(sys_reboot)
+-	.long SYMBOL_NAME(old_readdir)
++	.long SYMBOL_NAME(sys_old_readdir)
+ 	.long SYMBOL_NAME(old_mmap)		/* 90 */
+ 	.long SYMBOL_NAME(sys_munmap)
+ 	.long SYMBOL_NAME(sys_truncate)
+diff -urpN linux-source-2.6.26.orig/arch/m68k/kernel/entry.S linux-source-2.6.26/arch/m68k/kernel/entry.S
+--- linux-source-2.6.26.orig/arch/m68k/kernel/entry.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/m68k/kernel/entry.S	2009-01-19 11:16:52.000000000 -0700
+@@ -513,7 +513,7 @@ sys_call_table:
+ 	.long sys_uselib
+ 	.long sys_swapon
+ 	.long sys_reboot
+-	.long old_readdir
++	.long sys_old_readdir
+ 	.long old_mmap		/* 90 */
+ 	.long sys_munmap
+ 	.long sys_truncate
+diff -urpN linux-source-2.6.26.orig/arch/m68knommu/kernel/syscalltable.S linux-source-2.6.26/arch/m68knommu/kernel/syscalltable.S
+--- linux-source-2.6.26.orig/arch/m68knommu/kernel/syscalltable.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/m68knommu/kernel/syscalltable.S	2009-01-19 11:16:52.000000000 -0700
+@@ -107,7 +107,7 @@ ENTRY(sys_call_table)
+ 	.long sys_uselib
+ 	.long sys_ni_syscall	/* sys_swapon */
+ 	.long sys_reboot
+-	.long old_readdir
++	.long sys_old_readdir
+ 	.long old_mmap		/* 90 */
+ 	.long sys_munmap
+ 	.long sys_truncate
+diff -urpN linux-source-2.6.26.orig/arch/mips/kernel/scall32-o32.S linux-source-2.6.26/arch/mips/kernel/scall32-o32.S
+--- linux-source-2.6.26.orig/arch/mips/kernel/scall32-o32.S	2009-01-10 05:42:16.000000000 -0700
++++ linux-source-2.6.26/arch/mips/kernel/scall32-o32.S	2009-01-19 11:16:52.000000000 -0700
+@@ -413,7 +413,7 @@ einval:	li	v0, -EINVAL
+ 	sys	sys_uselib		1
+ 	sys	sys_swapon		2
+ 	sys	sys_reboot		3
+-	sys	old_readdir		3
++	sys	sys_old_readdir		3
+ 	sys	old_mmap		6	/* 4090 */
+ 	sys	sys_munmap		2
+ 	sys	sys_truncate		2
+diff -urpN linux-source-2.6.26.orig/arch/mn10300/kernel/entry.S linux-source-2.6.26/arch/mn10300/kernel/entry.S
+--- linux-source-2.6.26.orig/arch/mn10300/kernel/entry.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/mn10300/kernel/entry.S	2009-01-19 11:16:52.000000000 -0700
+@@ -477,7 +477,7 @@ ENTRY(sys_call_table)
+ 	.long sys_uselib
+ 	.long sys_swapon
+ 	.long sys_reboot
+-	.long old_readdir
++	.long sys_old_readdir
+ 	.long old_mmap		/* 90 */
+ 	.long sys_munmap
+ 	.long sys_truncate
+diff -urpN linux-source-2.6.26.orig/arch/sh/kernel/syscalls_32.S linux-source-2.6.26/arch/sh/kernel/syscalls_32.S
+--- linux-source-2.6.26.orig/arch/sh/kernel/syscalls_32.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/sh/kernel/syscalls_32.S	2009-01-19 11:17:08.000000000 -0700
+@@ -105,7 +105,7 @@ ENTRY(sys_call_table)
+ 	.long sys_uselib
+ 	.long sys_swapon
+ 	.long sys_reboot
+-	.long old_readdir
++	.long sys_old_readdir
+ 	.long old_mmap		/* 90 */
+ 	.long sys_munmap
+ 	.long sys_truncate
+diff -urpN linux-source-2.6.26.orig/arch/sh/kernel/syscalls_64.S linux-source-2.6.26/arch/sh/kernel/syscalls_64.S
+--- linux-source-2.6.26.orig/arch/sh/kernel/syscalls_64.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/sh/kernel/syscalls_64.S	2009-01-19 11:17:08.000000000 -0700
+@@ -109,7 +109,7 @@ sys_call_table:
+ 	.long sys_uselib
+ 	.long sys_swapon
+ 	.long sys_reboot
+-	.long old_readdir
++	.long sys_old_readdir
+ 	.long old_mmap			/* 90 */
+ 	.long sys_munmap
+ 	.long sys_truncate
+diff -urpN linux-source-2.6.26.orig/arch/sparc/kernel/systbls.S linux-source-2.6.26/arch/sparc/kernel/systbls.S
+--- linux-source-2.6.26.orig/arch/sparc/kernel/systbls.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/sparc/kernel/systbls.S	2009-01-19 11:17:08.000000000 -0700
+@@ -56,7 +56,7 @@ sys_call_table:
+ /*185*/	.long sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname
+ /*190*/	.long sys_init_module, sys_personality, sparc_remap_file_pages, sys_epoll_create, sys_epoll_ctl
+ /*195*/	.long sys_epoll_wait, sys_ioprio_set, sys_getppid, sparc_sigaction, sys_sgetmask
+-/*200*/	.long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, old_readdir
++/*200*/	.long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, sys_old_readdir
+ /*205*/	.long sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_fadvise64
+ /*210*/	.long sys_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, sys_sysinfo
+ /*215*/	.long sys_ipc, sys_sigreturn, sys_clone, sys_ioprio_get, sys_adjtimex
+diff -urpN linux-source-2.6.26.orig/arch/x86/kernel/syscall_table_32.S linux-source-2.6.26/arch/x86/kernel/syscall_table_32.S
+--- linux-source-2.6.26.orig/arch/x86/kernel/syscall_table_32.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/x86/kernel/syscall_table_32.S	2009-01-19 11:17:08.000000000 -0700
+@@ -88,7 +88,7 @@ ENTRY(sys_call_table)
+ 	.long sys_uselib
+ 	.long sys_swapon
+ 	.long sys_reboot
+-	.long old_readdir
++	.long sys_old_readdir
+ 	.long old_mmap		/* 90 */
+ 	.long sys_munmap
+ 	.long sys_truncate
+diff -urpN linux-source-2.6.26.orig/fs/readdir.c linux-source-2.6.26/fs/readdir.c
+--- linux-source-2.6.26.orig/fs/readdir.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/readdir.c	2009-01-19 11:17:08.000000000 -0700
+@@ -100,7 +100,7 @@ efault:
+ 	return -EFAULT;
+ }
+ 
+-asmlinkage long old_readdir(unsigned int fd, struct old_linux_dirent __user * dirent, unsigned int count)
++asmlinkage long sys_old_readdir(unsigned int fd, struct old_linux_dirent __user * dirent, unsigned int count)
+ {
+ 	int error;
+ 	struct file * file;
+diff -urpN linux-source-2.6.26.orig/include/asm-powerpc/systbl.h linux-source-2.6.26/include/asm-powerpc/systbl.h
+--- linux-source-2.6.26.orig/include/asm-powerpc/systbl.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-powerpc/systbl.h	2009-01-19 11:18:35.000000000 -0700
+@@ -92,7 +92,7 @@ COMPAT_SYS_SPU(readlink)
+ SYSCALL(uselib)
+ SYSCALL(swapon)
+ SYSCALL(reboot)
+-SYSX(sys_ni_syscall,old32_readdir,old_readdir)
++SYSX(sys_ni_syscall,old32_readdir,sys_old_readdir)
+ SYSCALL_SPU(mmap)
+ SYSCALL_SPU(munmap)
+ SYSCALL_SPU(truncate)
+diff -urpN linux-source-2.6.26.orig/include/linux/syscalls.h linux-source-2.6.26/include/linux/syscalls.h
+--- linux-source-2.6.26.orig/include/linux/syscalls.h	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/include/linux/syscalls.h	2009-01-19 11:17:08.000000000 -0700
+@@ -54,6 +54,7 @@ struct compat_stat;
+ struct compat_timeval;
+ struct robust_list_head;
+ struct getcpu_cache;
++struct old_linux_dirent;
+ 
+ #include <linux/types.h>
+ #include <linux/aio_abi.h>
+@@ -602,6 +603,7 @@ asmlinkage long sys_timerfd_settime(int 
+ asmlinkage long sys_timerfd_gettime(int ufd, struct itimerspec __user *otmr);
+ asmlinkage long sys_eventfd(unsigned int count);
+ asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len);
++asmlinkage long sys_old_readdir(unsigned int, struct old_linux_dirent __user *, unsigned int);
+ 
+ int kernel_execve(const char *filename, char *const argv[], char *const envp[]);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0004-Remove-__attribute__-weak-from-sy.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0004-Remove-__attribute__-weak-from-sy.patch
@@ -0,0 +1,214 @@
+From 1134723e96f6e2abcf8bfd7a2d1c96fcc323ef35 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:13:56 +0100
+Subject: [PATCH 04/44] [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 1134723e96f6e2abcf8bfd7a2d1c96fcc323ef35 upstream.
+
+Remove __attribute__((weak)) from common code sys_pipe implemantation.
+IA64, ALPHA, SUPERH (32bit) and SPARC (32bit) have own implemantations
+with the same name. Just rename them.
+For sys_pipe2 there is no architecture specific implementation.
+
+Cc: Richard Henderson <rth@twiddle.net>
+Cc: David S. Miller <davem@davemloft.net>
+Cc: Paul Mundt <lethal@linux-sh.org>
+Cc: Tony Luck <tony.luck@intel.com>
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/alpha/kernel/entry.S linux-source-2.6.26/arch/alpha/kernel/entry.S
+--- linux-source-2.6.26.orig/arch/alpha/kernel/entry.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/alpha/kernel/entry.S	2009-01-19 11:38:17.000000000 -0700
+@@ -894,9 +894,9 @@ sys_getxpid:
+ .end sys_getxpid
+ 
+ 	.align	4
+-	.globl	sys_pipe
+-	.ent	sys_pipe
+-sys_pipe:
++	.globl	sys_alpha_pipe
++	.ent	sys_alpha_pipe
++sys_alpha_pipe:
+ 	lda	$sp, -16($sp)
+ 	stq	$26, 0($sp)
+ 	.prologue 0
+@@ -914,7 +914,7 @@ sys_pipe:
+ 	stq	$1, 80+16($sp)
+ 1:	lda	$sp, 16($sp)
+ 	ret
+-.end sys_pipe
++.end sys_alpha_pipe
+ 
+ 	.align	4
+ 	.globl	sys_execve
+diff -urpN linux-source-2.6.26.orig/arch/alpha/kernel/systbls.S linux-source-2.6.26/arch/alpha/kernel/systbls.S
+--- linux-source-2.6.26.orig/arch/alpha/kernel/systbls.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/alpha/kernel/systbls.S	2009-01-19 11:38:17.000000000 -0700
+@@ -52,7 +52,7 @@ sys_call_table:
+ 	.quad sys_setpgid
+ 	.quad alpha_ni_syscall			/* 40 */
+ 	.quad sys_dup
+-	.quad sys_pipe
++	.quad sys_alpha_pipe
+ 	.quad osf_set_program_attributes
+ 	.quad alpha_ni_syscall
+ 	.quad sys_open				/* 45 */
+diff -urpN linux-source-2.6.26.orig/arch/ia64/ia32/ia32_entry.S linux-source-2.6.26/arch/ia64/ia32/ia32_entry.S
+--- linux-source-2.6.26.orig/arch/ia64/ia32/ia32_entry.S	2009-01-19 11:33:32.000000000 -0700
++++ linux-source-2.6.26/arch/ia64/ia32/ia32_entry.S	2009-01-19 11:38:17.000000000 -0700
+@@ -215,7 +215,7 @@ ia32_syscall_table:
+ 	data8 sys_mkdir
+ 	data8 sys_rmdir		  /* 40 */
+ 	data8 sys_dup
+-	data8 sys_pipe
++	data8 sys_ia64_pipe
+ 	data8 compat_sys_times
+ 	data8 sys_ni_syscall	  /* old prof syscall holder */
+ 	data8 sys32_brk		  /* 45 */
+diff -urpN linux-source-2.6.26.orig/arch/ia64/kernel/entry.S linux-source-2.6.26/arch/ia64/kernel/entry.S
+--- linux-source-2.6.26.orig/arch/ia64/kernel/entry.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/ia64/kernel/entry.S	2009-01-19 11:38:32.000000000 -0700
+@@ -1408,7 +1408,7 @@ sys_call_table:
+ 	data8 sys_mkdir				// 1055
+ 	data8 sys_rmdir
+ 	data8 sys_dup
+-	data8 sys_pipe
++	data8 sys_ia64_pipe
+ 	data8 sys_times
+ 	data8 ia64_brk				// 1060
+ 	data8 sys_setgid
+diff -urpN linux-source-2.6.26.orig/arch/ia64/kernel/sys_ia64.c linux-source-2.6.26/arch/ia64/kernel/sys_ia64.c
+--- linux-source-2.6.26.orig/arch/ia64/kernel/sys_ia64.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/ia64/kernel/sys_ia64.c	2009-01-19 11:38:32.000000000 -0700
+@@ -154,7 +154,7 @@ out:
+  * and r9) as this is faster than doing a copy_to_user().
+  */
+ asmlinkage long
+-sys_pipe (void)
++sys_ia64_pipe (void)
+ {
+ 	struct pt_regs *regs = task_pt_regs(current);
+ 	int fd[2];
+diff -urpN linux-source-2.6.26.orig/arch/s390/kernel/entry.h linux-source-2.6.26/arch/s390/kernel/entry.h
+--- linux-source-2.6.26.orig/arch/s390/kernel/entry.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/s390/kernel/entry.h	2009-01-19 11:38:32.000000000 -0700
+@@ -30,7 +30,6 @@ struct fadvise64_64_args;
+ struct old_sigaction;
+ struct sel_arg_struct;
+ 
+-long sys_pipe(unsigned long __user *fildes);
+ long sys_mmap2(struct mmap_arg_struct __user  *arg);
+ long old_mmap(struct mmap_arg_struct __user *arg);
+ long sys_ipc(uint call, int first, unsigned long second,
+diff -urpN linux-source-2.6.26.orig/arch/sh/kernel/syscalls_32.S linux-source-2.6.26/arch/sh/kernel/syscalls_32.S
+--- linux-source-2.6.26.orig/arch/sh/kernel/syscalls_32.S	2009-01-19 11:17:08.000000000 -0700
++++ linux-source-2.6.26/arch/sh/kernel/syscalls_32.S	2009-01-19 11:38:35.000000000 -0700
+@@ -58,7 +58,7 @@ ENTRY(sys_call_table)
+ 	.long sys_mkdir
+ 	.long sys_rmdir		/* 40 */
+ 	.long sys_dup
+-	.long sys_pipe
++	.long sys_sh_pipe
+ 	.long sys_times
+ 	.long sys_ni_syscall	/* old prof syscall holder */
+ 	.long sys_brk		/* 45 */
+diff -urpN linux-source-2.6.26.orig/arch/sh/kernel/sys_sh32.c linux-source-2.6.26/arch/sh/kernel/sys_sh32.c
+--- linux-source-2.6.26.orig/arch/sh/kernel/sys_sh32.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/sh/kernel/sys_sh32.c	2009-01-19 11:38:35.000000000 -0700
+@@ -21,7 +21,7 @@
+  * sys_pipe() is the normal C calling standard for creating
+  * a pipe. It's not the way Unix traditionally does this, though.
+  */
+-asmlinkage int sys_pipe(unsigned long r4, unsigned long r5,
++asmlinkage int sys_sh_pipe(unsigned long r4, unsigned long r5,
+ 	unsigned long r6, unsigned long r7,
+ 	struct pt_regs __regs)
+ {
+diff -urpN linux-source-2.6.26.orig/arch/sparc/kernel/entry.S linux-source-2.6.26/arch/sparc/kernel/entry.S
+--- linux-source-2.6.26.orig/arch/sparc/kernel/entry.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/sparc/kernel/entry.S	2009-01-19 11:38:35.000000000 -0700
+@@ -1141,8 +1141,8 @@ sunos_execv:
+ 	 ld	[%sp + STACKFRAME_SZ + PT_I0], %o0
+ 
+ 	.align	4
+-	.globl	sys_pipe
+-sys_pipe:
++	.globl	sys_sparc_pipe
++sys_sparc_pipe:
+ 	mov	%o7, %l5
+ 	add	%sp, STACKFRAME_SZ, %o0		! pt_regs *regs arg
+ 	call	sparc_pipe
+diff -urpN linux-source-2.6.26.orig/arch/sparc/kernel/systbls.S linux-source-2.6.26/arch/sparc/kernel/systbls.S
+--- linux-source-2.6.26.orig/arch/sparc/kernel/systbls.S	2009-01-19 11:17:08.000000000 -0700
++++ linux-source-2.6.26/arch/sparc/kernel/systbls.S	2009-01-19 11:38:35.000000000 -0700
+@@ -24,7 +24,7 @@ sys_call_table:
+ /*25*/	.long sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_pause
+ /*30*/	.long sys_utime, sys_lchown, sys_fchown, sys_access, sys_nice
+ /*35*/	.long sys_chown, sys_sync, sys_kill, sys_newstat, sys_sendfile
+-/*40*/	.long sys_newlstat, sys_dup, sys_pipe, sys_times, sys_getuid
++/*40*/	.long sys_newlstat, sys_dup, sys_sparc_pipe, sys_times, sys_getuid
+ /*45*/	.long sys_umount, sys_setgid16, sys_getgid16, sys_signal, sys_geteuid16
+ /*50*/	.long sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, sys_ioctl
+ /*55*/	.long sys_reboot, sys_mmap2, sys_symlink, sys_readlink, sys_execve
+diff -urpN linux-source-2.6.26.orig/arch/sparc64/kernel/syscalls.S linux-source-2.6.26/arch/sparc64/kernel/syscalls.S
+--- linux-source-2.6.26.orig/arch/sparc64/kernel/syscalls.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/sparc64/kernel/syscalls.S	2009-01-19 11:38:35.000000000 -0700
+@@ -20,7 +20,7 @@ execve_merge:
+ 	 add	%sp, PTREGS_OFF, %o0
+ 
+ 	.align	32
+-sys_pipe:
++sys_sparc_pipe:
+ 	ba,pt	%xcc, sparc_pipe
+ 	 add	%sp, PTREGS_OFF, %o0
+ sys_nis_syscall:
+diff -urpN linux-source-2.6.26.orig/arch/sparc64/kernel/systbls.S linux-source-2.6.26/arch/sparc64/kernel/systbls.S
+--- linux-source-2.6.26.orig/arch/sparc64/kernel/systbls.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/sparc64/kernel/systbls.S	2009-01-19 11:40:10.000000000 -0700
+@@ -26,7 +26,7 @@ sys_call_table32:
+ /*25*/	.word sys32_vmsplice, compat_sys_ptrace, sys_alarm, sys32_sigaltstack, sys32_pause
+ /*30*/	.word compat_sys_utime, sys_lchown, sys_fchown, sys32_access, sys32_nice
+ 	.word sys_chown, sys_sync, sys32_kill, compat_sys_newstat, sys32_sendfile
+-/*40*/	.word compat_sys_newlstat, sys_dup, sys_pipe, compat_sys_times, sys_getuid
++/*40*/	.word compat_sys_newlstat, sys_dup, sys_sparc_pipe, compat_sys_times, sys_getuid
+ 	.word sys32_umount, sys32_setgid16, sys32_getgid16, sys32_signal, sys32_geteuid16
+ /*50*/	.word sys32_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl
+ 	.word sys32_reboot, sys32_mmap2, sys_symlink, sys32_readlink, sys32_execve
+@@ -99,7 +99,7 @@ sys_call_table:
+ /*25*/	.word sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall
+ /*30*/	.word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice
+ 	.word sys_nis_syscall, sys_sync, sys_kill, sys_newstat, sys_sendfile64
+-/*40*/	.word sys_newlstat, sys_dup, sys_pipe, sys_times, sys_nis_syscall
++/*40*/	.word sys_newlstat, sys_dup, sys_sparc_pipe, sys_times, sys_nis_syscall
+ 	.word sys_umount, sys_setgid, sys_getgid, sys_signal, sys_geteuid
+ /*50*/	.word sys_getegid, sys_acct, sys_memory_ordering, sys_nis_syscall, sys_ioctl
+ 	.word sys_reboot, sys_nis_syscall, sys_symlink, sys_readlink, sys_execve
+diff -urpN linux-source-2.6.26.orig/fs/pipe.c linux-source-2.6.26/fs/pipe.c
+--- linux-source-2.6.26.orig/fs/pipe.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/pipe.c	2009-01-19 11:38:50.000000000 -0700
+@@ -1078,7 +1078,7 @@ int do_pipe(int *fd)
+  * sys_pipe() is the normal C calling standard for creating
+  * a pipe. It's not the way Unix traditionally does this, though.
+  */
+-asmlinkage long __weak sys_pipe(int __user *fildes)
++asmlinkage long sys_pipe(int __user *fildes)
+ {
+ 	int fd[2];
+ 	int error;
+diff -urpN linux-source-2.6.26.orig/include/asm-ia64/unistd.h linux-source-2.6.26/include/asm-ia64/unistd.h
+--- linux-source-2.6.26.orig/include/asm-ia64/unistd.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-ia64/unistd.h	2009-01-19 11:38:32.000000000 -0700
+@@ -357,7 +357,7 @@ struct pt_regs;
+ struct sigaction;
+ long sys_execve(char __user *filename, char __user * __user *argv,
+ 			   char __user * __user *envp, struct pt_regs *regs);
+-asmlinkage long sys_pipe(void);
++asmlinkage long sys_ia64_pipe(void);
+ asmlinkage long sys_rt_sigaction(int sig,
+ 				 const struct sigaction __user *act,
+ 				 struct sigaction __user *oact,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0004pre1-ia64-kill-sys32_pipe.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0004pre1-ia64-kill-sys32_pipe.patch
@@ -0,0 +1,51 @@
+commit 0f32dc9dc2cfe3e4608fd5cf7afa5d2acb6e3c10
+Author: Christoph Hellwig <hch@lst.de>
+Date:   Mon Sep 1 18:18:10 2008 +0200
+
+    [IA64] kill sys32_pipe
+    
+    It's just a duplicate of the generic sys_pipe that still lacks the
+    recently added error handling.
+    
+    Signed-off-by: Christoph Hellwig <hch@lst.de>
+    Signed-off-by: Tony Luck <tony.luck@intel.com>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/ia64/ia32/ia32_entry.S linux-source-2.6.26/arch/ia64/ia32/ia32_entry.S
+--- linux-source-2.6.26.orig/arch/ia64/ia32/ia32_entry.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/ia64/ia32/ia32_entry.S	2009-01-19 11:33:32.000000000 -0700
+@@ -215,7 +215,7 @@ ia32_syscall_table:
+ 	data8 sys_mkdir
+ 	data8 sys_rmdir		  /* 40 */
+ 	data8 sys_dup
+-	data8 sys32_pipe
++	data8 sys_pipe
+ 	data8 compat_sys_times
+ 	data8 sys_ni_syscall	  /* old prof syscall holder */
+ 	data8 sys32_brk		  /* 45 */
+diff -urpN linux-source-2.6.26.orig/arch/ia64/ia32/sys_ia32.c linux-source-2.6.26/arch/ia64/ia32/sys_ia32.c
+--- linux-source-2.6.26.orig/arch/ia64/ia32/sys_ia32.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/ia64/ia32/sys_ia32.c	2009-01-19 11:34:39.000000000 -0700
+@@ -1133,21 +1133,6 @@ sys32_mremap (unsigned int addr, unsigne
+ 	return ret;
+ }
+ 
+-asmlinkage long
+-sys32_pipe (int __user *fd)
+-{
+-	int retval;
+-	int fds[2];
+-
+-	retval = do_pipe(fds);
+-	if (retval)
+-		goto out;
+-	if (copy_to_user(fd, fds, sizeof(fds)))
+-		retval = -EFAULT;
+-  out:
+-	return retval;
+-}
+-
+ static inline long
+ get_tv32 (struct timeval *o, struct compat_timeval __user *i)
+ {
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0005-Make-sys_pselect7-static.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0005-Make-sys_pselect7-static.patch
@@ -0,0 +1,66 @@
+From c9da9f2129d6a421c32e334a83770a9e67f7feac Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:13:57 +0100
+Subject: [PATCH 05/44] [CVE-2009-0029] Make sys_pselect7 static
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit c9da9f2129d6a421c32e334a83770a9e67f7feac upstream.
+
+Not a single architecture has wired up sys_pselect7 plus it is the
+only system call with seven parameters. Just make it static and
+rename it to do_pselect which will do the work for sys_pselect6.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/compat.c linux-source-2.6.26/fs/compat.c
+--- linux-source-2.6.26.orig/fs/compat.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/compat.c	2009-01-19 11:42:04.000000000 -0700
+@@ -1636,7 +1636,7 @@ sticky:
+ }
+ 
+ #ifdef HAVE_SET_RESTORE_SIGMASK
+-asmlinkage long compat_sys_pselect7(int n, compat_ulong_t __user *inp,
++static long do_compat_pselect(int n, compat_ulong_t __user *inp,
+ 	compat_ulong_t __user *outp, compat_ulong_t __user *exp,
+ 	struct compat_timespec __user *tsp, compat_sigset_t __user *sigmask,
+ 	compat_size_t sigsetsize)
+@@ -1744,8 +1744,8 @@ asmlinkage long compat_sys_pselect6(int 
+ 				(compat_size_t __user *)(sig+sizeof(up))))
+ 			return -EFAULT;
+ 	}
+-	return compat_sys_pselect7(n, inp, outp, exp, tsp, compat_ptr(up),
+-					sigsetsize);
++	return do_compat_pselect(n, inp, outp, exp, tsp, compat_ptr(up),
++				 sigsetsize);
+ }
+ 
+ asmlinkage long compat_sys_ppoll(struct pollfd __user *ufds,
+diff -urpN linux-source-2.6.26.orig/fs/select.c linux-source-2.6.26/fs/select.c
+--- linux-source-2.6.26.orig/fs/select.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/select.c	2009-01-19 11:42:04.000000000 -0700
+@@ -427,9 +427,9 @@ sticky:
+ }
+ 
+ #ifdef HAVE_SET_RESTORE_SIGMASK
+-asmlinkage long sys_pselect7(int n, fd_set __user *inp, fd_set __user *outp,
+-		fd_set __user *exp, struct timespec __user *tsp,
+-		const sigset_t __user *sigmask, size_t sigsetsize)
++static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp,
++		       fd_set __user *exp, struct timespec __user *tsp,
++		       const sigset_t __user *sigmask, size_t sigsetsize)
+ {
+ 	s64 timeout = MAX_SCHEDULE_TIMEOUT;
+ 	sigset_t ksigmask, sigsaved;
+@@ -527,7 +527,7 @@ asmlinkage long sys_pselect6(int n, fd_s
+ 			return -EFAULT;
+ 	}
+ 
+-	return sys_pselect7(n, inp, outp, exp, tsp, up, sigsetsize);
++	return do_pselect(n, inp, outp, exp, tsp, up, sigsetsize);
+ }
+ #endif /* HAVE_SET_RESTORE_SIGMASK */
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0006-Make-sys_syslog-a-conditional-system.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0006-Make-sys_syslog-a-conditional-system.patch
@@ -0,0 +1,44 @@
+From f627a741d24f12955fa2d9f8831c3b12860635bd Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:13:58 +0100
+Subject: [PATCH 06/44] [CVE-2009-0029] Make sys_syslog a conditional system call
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit f627a741d24f12955fa2d9f8831c3b12860635bd upstream.
+
+Remove the -ENOSYS implementation for !CONFIG_PRINTK and use
+the cond_syscall infrastructure instead.
+
+Acked-by: Kyle McMartin <kyle@redhat.com>
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/printk.c linux-source-2.6.26/kernel/printk.c
+--- linux-source-2.6.26.orig/kernel/printk.c	2009-01-10 05:42:11.000000000 -0700
++++ linux-source-2.6.26/kernel/printk.c	2009-01-19 11:44:54.000000000 -0700
+@@ -802,11 +802,6 @@ EXPORT_SYMBOL(vprintk);
+ 
+ #else
+ 
+-asmlinkage long sys_syslog(int type, char __user *buf, int len)
+-{
+-	return -ENOSYS;
+-}
+-
+ static void call_console_drivers(unsigned start, unsigned end)
+ {
+ }
+diff -urpN linux-source-2.6.26.orig/kernel/sys_ni.c linux-source-2.6.26/kernel/sys_ni.c
+--- linux-source-2.6.26.orig/kernel/sys_ni.c	2009-01-10 05:42:11.000000000 -0700
++++ linux-source-2.6.26/kernel/sys_ni.c	2009-01-19 11:48:00.000000000 -0700
+@@ -122,6 +122,7 @@ cond_syscall(sys_vm86old);
+ cond_syscall(sys_vm86);
+ cond_syscall(compat_sys_ipc);
+ cond_syscall(compat_sys_sysctl);
++cond_syscall(sys_syslog);
+ 
+ /* arch-specific weak syscall entries */
+ cond_syscall(sys_pciconfig_read);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0007-System-call-wrapper-infrastructure.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0007-System-call-wrapper-infrastructure.patch
@@ -0,0 +1,110 @@
+From 1a94bc34768e463a93cb3751819709ab0ea80a01 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:13:59 +0100
+Subject: [PATCH 07/44] [CVE-2009-0029] System call wrapper infrastructure
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 1a94bc34768e463a93cb3751819709ab0ea80a01 upstream.
+
+From: Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+By selecting HAVE_SYSCALL_WRAPPERS architectures can activate
+system call wrappers in order to sign extend system call arguments.
+
+All architectures where the ABI defines that the caller of a function
+has to perform sign extension probably need this.
+
+Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Acked-by: Ralf Baechle <ralf@linux-mips.org>
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/Kconfig linux-source-2.6.26/arch/Kconfig
+--- linux-source-2.6.26.orig/arch/Kconfig	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/Kconfig	2009-01-19 11:50:53.000000000 -0700
+@@ -27,6 +27,9 @@ config KPROBES
+ 	  for kernel debugging, non-intrusive instrumentation and testing.
+ 	  If in doubt, say "N".
+ 
++config HAVE_SYSCALL_WRAPPERS
++	bool
++
+ config KRETPROBES
+ 	def_bool y
+ 	depends on KPROBES && HAVE_KRETPROBES
+diff -urpN linux-source-2.6.26.orig/include/linux/syscalls.h linux-source-2.6.26/include/linux/syscalls.h
+--- linux-source-2.6.26.orig/include/linux/syscalls.h	2009-01-19 11:17:08.000000000 -0700
++++ linux-source-2.6.26/include/linux/syscalls.h	2009-01-19 11:50:53.000000000 -0700
+@@ -66,6 +66,68 @@ struct old_linux_dirent;
+ #include <linux/quota.h>
+ #include <linux/key.h>
+ 
++#define __SC_DECL1(t1, a1)	t1 a1
++#define __SC_DECL2(t2, a2, ...) t2 a2, __SC_DECL1(__VA_ARGS__)
++#define __SC_DECL3(t3, a3, ...) t3 a3, __SC_DECL2(__VA_ARGS__)
++#define __SC_DECL4(t4, a4, ...) t4 a4, __SC_DECL3(__VA_ARGS__)
++#define __SC_DECL5(t5, a5, ...) t5 a5, __SC_DECL4(__VA_ARGS__)
++#define __SC_DECL6(t6, a6, ...) t6 a6, __SC_DECL5(__VA_ARGS__)
++
++#define __SC_LONG1(t1, a1) 	long a1
++#define __SC_LONG2(t2, a2, ...) long a2, __SC_LONG1(__VA_ARGS__)
++#define __SC_LONG3(t3, a3, ...) long a3, __SC_LONG2(__VA_ARGS__)
++#define __SC_LONG4(t4, a4, ...) long a4, __SC_LONG3(__VA_ARGS__)
++#define __SC_LONG5(t5, a5, ...) long a5, __SC_LONG4(__VA_ARGS__)
++#define __SC_LONG6(t6, a6, ...) long a6, __SC_LONG5(__VA_ARGS__)
++
++#define __SC_CAST1(t1, a1)	(t1) a1
++#define __SC_CAST2(t2, a2, ...) (t2) a2, __SC_CAST1(__VA_ARGS__)
++#define __SC_CAST3(t3, a3, ...) (t3) a3, __SC_CAST2(__VA_ARGS__)
++#define __SC_CAST4(t4, a4, ...) (t4) a4, __SC_CAST3(__VA_ARGS__)
++#define __SC_CAST5(t5, a5, ...) (t5) a5, __SC_CAST4(__VA_ARGS__)
++#define __SC_CAST6(t6, a6, ...) (t6) a6, __SC_CAST5(__VA_ARGS__)
++
++#define __SC_TEST(type)		BUILD_BUG_ON(sizeof(type) > sizeof(long))
++#define __SC_TEST1(t1, a1)	__SC_TEST(t1)
++#define __SC_TEST2(t2, a2, ...)	__SC_TEST(t2); __SC_TEST1(__VA_ARGS__)
++#define __SC_TEST3(t3, a3, ...)	__SC_TEST(t3); __SC_TEST2(__VA_ARGS__)
++#define __SC_TEST4(t4, a4, ...)	__SC_TEST(t4); __SC_TEST3(__VA_ARGS__)
++#define __SC_TEST5(t5, a5, ...)	__SC_TEST(t5); __SC_TEST4(__VA_ARGS__)
++#define __SC_TEST6(t6, a6, ...)	__SC_TEST(t6); __SC_TEST5(__VA_ARGS__)
++
++#define SYSCALL_DEFINE0(name)   asmlinkage long sys_##name(void)
++#define SYSCALL_DEFINE1(...)    SYSCALL_DEFINEx(1, __VA_ARGS__)
++#define SYSCALL_DEFINE2(...)    SYSCALL_DEFINEx(2, __VA_ARGS__)
++#define SYSCALL_DEFINE3(...)    SYSCALL_DEFINEx(3, __VA_ARGS__)
++#define SYSCALL_DEFINE4(...)    SYSCALL_DEFINEx(4, __VA_ARGS__)
++#define SYSCALL_DEFINE5(...)    SYSCALL_DEFINEx(5, __VA_ARGS__)
++#define SYSCALL_DEFINE6(...)    SYSCALL_DEFINEx(6, __VA_ARGS__)
++
++#define SYSCALL_ALIAS(alias, name)					\
++	asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
++
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++
++#define SYSCALL_DEFINE(name) static inline long SYSC_##name
++#define SYSCALL_DEFINEx(x, name, ...)					\
++	asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__));		\
++	static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__));	\
++	asmlinkage long SyS_##name(__SC_LONG##x(__VA_ARGS__))		\
++	{								\
++		__SC_TEST##x(__VA_ARGS__);				\
++		return (long) SYSC_##name(__SC_CAST##x(__VA_ARGS__));	\
++	}								\
++	SYSCALL_ALIAS(sys_##name, SyS_##name);				\
++	static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__))
++
++#else /* CONFIG_HAVE_SYSCALL_WRAPPERS */
++
++#define SYSCALL_DEFINE(name) asmlinkage long sys_##name
++#define SYSCALL_DEFINEx(x, name, ...)					\
++	asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__))
++
++#endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */
++
+ asmlinkage long sys_time(time_t __user *tloc);
+ asmlinkage long sys_stime(time_t __user *tptr);
+ asmlinkage long sys_gettimeofday(struct timeval __user *tv,
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0008-powerpc-Enable-syscall-wrappers-for.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0008-powerpc-Enable-syscall-wrappers-for.patch
@@ -0,0 +1,47 @@
+From ee6a093222549ac0c72cfd296c69fa5e7d6daa34 Mon Sep 17 00:00:00 2001
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Wed, 14 Jan 2009 14:14:00 +0100
+Subject: [PATCH 08/44] [CVE-2009-0029] powerpc: Enable syscall wrappers for 64-bit
+
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+commit ee6a093222549ac0c72cfd296c69fa5e7d6daa34 upstream.
+
+This enables the use of syscall wrappers to do proper sign extension
+for 64-bit programs.
+
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/powerpc/Kconfig linux-source-2.6.26/arch/powerpc/Kconfig
+--- linux-source-2.6.26.orig/arch/powerpc/Kconfig	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/powerpc/Kconfig	2009-01-19 11:54:09.000000000 -0700
+@@ -110,6 +110,7 @@ config PPC
+ 	select HAVE_KPROBES
+ 	select HAVE_KRETPROBES
+ 	select HAVE_LMB
++	select HAVE_SYSCALL_WRAPPERS if PPC64
+ 
+ config EARLY_PRINTK
+ 	bool
+diff -urpN linux-source-2.6.26.orig/include/linux/syscalls.h linux-source-2.6.26/include/linux/syscalls.h
+--- linux-source-2.6.26.orig/include/linux/syscalls.h	2009-01-19 11:50:53.000000000 -0700
++++ linux-source-2.6.26/include/linux/syscalls.h	2009-01-19 11:53:03.000000000 -0700
+@@ -103,8 +103,14 @@ struct old_linux_dirent;
+ #define SYSCALL_DEFINE5(...)    SYSCALL_DEFINEx(5, __VA_ARGS__)
+ #define SYSCALL_DEFINE6(...)    SYSCALL_DEFINEx(6, __VA_ARGS__)
+ 
++#ifdef CONFIG_PPC64
++#define SYSCALL_ALIAS(alias, name)					\
++	asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n"	\
++	     "\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
++#else
+ #define SYSCALL_ALIAS(alias, name)					\
+ 	asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
++#endif
+ 
+ #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0009-s390-enable-system-call-wrappers.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0009-s390-enable-system-call-wrappers.patch
@@ -0,0 +1,25 @@
+From ed6bb6194350dc6ae97a65dbf2d621a3dbe6bbe9 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:01 +0100
+Subject: [PATCH 09/44] [CVE-2009-0029] s390: enable system call wrappers
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit ed6bb6194350dc6ae97a65dbf2d621a3dbe6bbe9 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ arch/s390/Kconfig |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/s390/Kconfig
++++ b/arch/s390/Kconfig
+@@ -70,6 +70,7 @@ mainmenu "Linux Kernel Configuration"
+ 
+ config S390
+ 	def_bool y
++	select HAVE_SYSCALL_WRAPPERS
+ 	select HAVE_OPROFILE
+ 	select HAVE_KPROBES
+ 	select HAVE_KRETPROBES
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0010-System-call-wrapper-special-cases.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0010-System-call-wrapper-special-cases.patch
@@ -0,0 +1,295 @@
+From 6673e0c3fbeaed2cd08e2fd4a4aa97382d6fedb0 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:02 +0100
+Subject: [PATCH 10/44] [CVE-2009-0029] System call wrapper special cases
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 6673e0c3fbeaed2cd08e2fd4a4aa97382d6fedb0 upstream.
+
+System calls with an unsigned long long argument can't be converted with
+the standard wrappers since that would include a cast to long, which in
+turn means that we would lose the upper 32 bit on 32 bit architectures.
+Also semctl can't use the standard wrapper since it has a 'union'
+parameter.
+
+So we handle them as special case and add some extra wrappers instead.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/dcookies.c linux-source-2.6.26/fs/dcookies.c
+--- linux-source-2.6.26.orig/fs/dcookies.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/dcookies.c	2009-01-19 11:55:54.000000000 -0700
+@@ -140,7 +140,7 @@ out:
+ /* And here is where the userspace process can look up the cookie value
+  * to retrieve the path.
+  */
+-asmlinkage long sys_lookup_dcookie(u64 cookie64, char __user * buf, size_t len)
++SYSCALL_DEFINE(lookup_dcookie)(u64 cookie64, char __user * buf, size_t len)
+ {
+ 	unsigned long cookie = (unsigned long)cookie64;
+ 	int err = -EINVAL;
+@@ -193,7 +193,13 @@ out:
+ 	mutex_unlock(&dcookie_mutex);
+ 	return err;
+ }
+-
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_lookup_dcookie(u64 cookie64, long buf, long len)
++{
++	return SYSC_lookup_dcookie(cookie64, (char __user *) buf, (size_t) len);
++}
++SYSCALL_ALIAS(sys_lookup_dcookie, SyS_lookup_dcookie);
++#endif
+ 
+ static int dcookie_init(void)
+ {
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/open.c	2009-01-19 11:55:54.000000000 -0700
+@@ -345,21 +345,35 @@ asmlinkage long sys_ftruncate(unsigned i
+ 
+ /* LFS versions of truncate are only needed on 32 bit machines */
+ #if BITS_PER_LONG == 32
+-asmlinkage long sys_truncate64(const char __user * path, loff_t length)
++SYSCALL_DEFINE(truncate64)(const char __user * path, loff_t length)
+ {
+ 	return do_sys_truncate(path, length);
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_truncate64(long path, loff_t length)
++{
++	return SYSC_truncate64((const char __user *) path, length);
++}
++SYSCALL_ALIAS(sys_truncate64, SyS_truncate64);
++#endif
+ 
+-asmlinkage long sys_ftruncate64(unsigned int fd, loff_t length)
++SYSCALL_DEFINE(ftruncate64)(unsigned int fd, loff_t length)
+ {
+ 	long ret = do_sys_ftruncate(fd, length, 0);
+ 	/* avoid REGPARM breakage on x86: */
+ 	asmlinkage_protect(2, ret, fd, length);
+ 	return ret;
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_ftruncate64(long fd, loff_t length)
++{
++	return SYSC_ftruncate64((unsigned int) fd, length);
++}
++SYSCALL_ALIAS(sys_ftruncate64, SyS_ftruncate64);
+ #endif
++#endif /* BITS_PER_LONG == 32 */
+ 
+-asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len)
++SYSCALL_DEFINE(fallocate)(int fd, int mode, loff_t offset, loff_t len)
+ {
+ 	struct file *file;
+ 	struct inode *inode;
+@@ -416,6 +430,13 @@ out_fput:
+ out:
+ 	return ret;
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_fallocate(long fd, long mode, loff_t offset, loff_t len)
++{
++	return SYSC_fallocate((int)fd, (int)mode, offset, len);
++}
++SYSCALL_ALIAS(sys_fallocate, SyS_fallocate);
++#endif
+ 
+ /*
+  * access() needs to use the real uid/gid, not the effective uid/gid.
+diff -urpN linux-source-2.6.26.orig/fs/read_write.c linux-source-2.6.26/fs/read_write.c
+--- linux-source-2.6.26.orig/fs/read_write.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/fs/read_write.c	2009-01-19 11:55:54.000000000 -0700
+@@ -384,8 +384,8 @@ asmlinkage long sys_write(unsigned int f
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_pread64(unsigned int fd, char __user *buf,
+-			     size_t count, loff_t pos)
++SYSCALL_DEFINE(pread64)(unsigned int fd, char __user *buf,
++			size_t count, loff_t pos)
+ {
+ 	struct file *file;
+ 	ssize_t ret = -EBADF;
+@@ -404,9 +404,17 @@ asmlinkage long sys_pread64(unsigned int
+ 
+ 	return ret;
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_pread64(long fd, long buf, long count, loff_t pos)
++{
++	return SYSC_pread64((unsigned int) fd, (char __user *) buf,
++			    (size_t) count, pos);
++}
++SYSCALL_ALIAS(sys_pread64, SyS_pread64);
++#endif
+ 
+-asmlinkage long sys_pwrite64(unsigned int fd, const char __user *buf,
+-			      size_t count, loff_t pos)
++SYSCALL_DEFINE(pwrite64)(unsigned int fd, const char __user *buf,
++			 size_t count, loff_t pos)
+ {
+ 	struct file *file;
+ 	ssize_t ret = -EBADF;
+@@ -425,6 +433,14 @@ asmlinkage long sys_pwrite64(unsigned in
+ 
+ 	return ret;
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_pwrite64(long fd, long buf, long count, loff_t pos)
++{
++	return SYSC_pwrite64((unsigned int) fd, (const char __user *) buf,
++			     (size_t) count, pos);
++}
++SYSCALL_ALIAS(sys_pwrite64, SyS_pwrite64);
++#endif
+ 
+ /*
+  * Reduce an iovec's length in-place.  Return the resulting number of segments
+diff -urpN linux-source-2.6.26.orig/fs/sync.c linux-source-2.6.26/fs/sync.c
+--- linux-source-2.6.26.orig/fs/sync.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/sync.c	2009-01-19 11:55:54.000000000 -0700
+@@ -174,8 +174,8 @@ asmlinkage long sys_fdatasync(unsigned i
+  * already-instantiated disk blocks, there are no guarantees here that the data
+  * will be available after a crash.
+  */
+-asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes,
+-					unsigned int flags)
++SYSCALL_DEFINE(sync_file_range)(int fd, loff_t offset, loff_t nbytes,
++				unsigned int flags)
+ {
+ 	int ret;
+ 	struct file *file;
+@@ -235,14 +235,32 @@ out_put:
+ out:
+ 	return ret;
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_sync_file_range(long fd, loff_t offset, loff_t nbytes,
++				    long flags)
++{
++	return SYSC_sync_file_range((int) fd, offset, nbytes,
++				    (unsigned int) flags);
++}
++SYSCALL_ALIAS(sys_sync_file_range, SyS_sync_file_range);
++#endif
+ 
+ /* It would be nice if people remember that not all the world's an i386
+    when they introduce new system calls */
+-asmlinkage long sys_sync_file_range2(int fd, unsigned int flags,
+-				     loff_t offset, loff_t nbytes)
++SYSCALL_DEFINE(sync_file_range2)(int fd, unsigned int flags,
++				 loff_t offset, loff_t nbytes)
+ {
+ 	return sys_sync_file_range(fd, offset, nbytes, flags);
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_sync_file_range2(long fd, long flags,
++				     loff_t offset, loff_t nbytes)
++{
++	return SYSC_sync_file_range2((int) fd, (unsigned int) flags,
++				     offset, nbytes);
++}
++SYSCALL_ALIAS(sys_sync_file_range2, SyS_sync_file_range2);
++#endif
+ 
+ /*
+  * `endbyte' is inclusive
+diff -urpN linux-source-2.6.26.orig/ipc/sem.c linux-source-2.6.26/ipc/sem.c
+--- linux-source-2.6.26.orig/ipc/sem.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/ipc/sem.c	2009-01-19 11:55:54.000000000 -0700
+@@ -893,7 +893,7 @@ out_up:
+ 	return err;
+ }
+ 
+-asmlinkage long sys_semctl (int semid, int semnum, int cmd, union semun arg)
++SYSCALL_DEFINE(semctl)(int semid, int semnum, int cmd, union semun arg)
+ {
+ 	int err = -EINVAL;
+ 	int version;
+@@ -929,6 +929,13 @@ asmlinkage long sys_semctl (int semid, i
+ 		return -EINVAL;
+ 	}
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_semctl(int semid, int semnum, int cmd, union semun arg)
++{
++	return SYSC_semctl((int) semid, (int) semnum, (int) cmd, arg);
++}
++SYSCALL_ALIAS(sys_semctl, SyS_semctl);
++#endif
+ 
+ /* If the task doesn't already have a undo_list, then allocate one
+  * here.  We guarantee there is only one thread using this undo list,
+diff -urpN linux-source-2.6.26.orig/mm/fadvise.c linux-source-2.6.26/mm/fadvise.c
+--- linux-source-2.6.26.orig/mm/fadvise.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/fadvise.c	2009-01-19 11:55:54.000000000 -0700
+@@ -24,7 +24,7 @@
+  * POSIX_FADV_WILLNEED could set PG_Referenced, and POSIX_FADV_NOREUSE could
+  * deactivate the pages and clear PG_Referenced.
+  */
+-asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice)
++SYSCALL_DEFINE(fadvise64_64)(int fd, loff_t offset, loff_t len, int advice)
+ {
+ 	struct file *file = fget(fd);
+ 	struct address_space *mapping;
+@@ -126,12 +126,26 @@ out:
+ 	fput(file);
+ 	return ret;
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_fadvise64_64(long fd, loff_t offset, loff_t len, long advice)
++{
++	return SYSC_fadvise64_64((int) fd, offset, len, (int) advice);
++}
++SYSCALL_ALIAS(sys_fadvise64_64, SyS_fadvise64_64);
++#endif
+ 
+ #ifdef __ARCH_WANT_SYS_FADVISE64
+ 
+-asmlinkage long sys_fadvise64(int fd, loff_t offset, size_t len, int advice)
++SYSCALL_DEFINE(fadvise64)(int fd, loff_t offset, size_t len, int advice)
+ {
+ 	return sys_fadvise64_64(fd, offset, len, advice);
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_fadvise64(long fd, loff_t offset, long len, long advice)
++{
++	return SYSC_fadvise64((int) fd, offset, (size_t)len, (int)advice);
++}
++SYSCALL_ALIAS(sys_fadvise64, SyS_fadvise64);
++#endif
+ 
+ #endif
+diff -urpN linux-source-2.6.26.orig/mm/filemap.c linux-source-2.6.26/mm/filemap.c
+--- linux-source-2.6.26.orig/mm/filemap.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/mm/filemap.c	2009-01-19 11:55:54.000000000 -0700
+@@ -1253,7 +1253,7 @@ do_readahead(struct address_space *mappi
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_readahead(int fd, loff_t offset, size_t count)
++SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count)
+ {
+ 	ssize_t ret;
+ 	struct file *file;
+@@ -1272,6 +1272,13 @@ asmlinkage long sys_readahead(int fd, lo
+ 	}
+ 	return ret;
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_readahead(long fd, loff_t offset, long count)
++{
++	return SYSC_readahead((int) fd, offset, (size_t) count);
++}
++SYSCALL_ALIAS(sys_readahead, SyS_readahead);
++#endif
+ 
+ #ifdef CONFIG_MMU
+ /**
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0011-System-call-wrappers-part-01.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0011-System-call-wrappers-part-01.patch
@@ -0,0 +1,122 @@
+From 58fd3aa288939d3097fa04505b25c2f5e6e144d1 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:03 +0100
+Subject: [PATCH 11/44] [CVE-2009-0029] System call wrappers part 01
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 58fd3aa288939d3097fa04505b25c2f5e6e144d1 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/hrtimer.c linux-source-2.6.26/kernel/hrtimer.c
+--- linux-source-2.6.26.orig/kernel/hrtimer.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/hrtimer.c	2009-01-19 11:57:28.000000000 -0700
+@@ -1561,8 +1561,8 @@ out:
+ 	return ret;
+ }
+ 
+-asmlinkage long
+-sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp)
++SYSCALL_DEFINE2(nanosleep, struct timespec __user *, rqtp,
++		struct timespec __user *, rmtp)
+ {
+ 	struct timespec tu;
+ 
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 11:57:28.000000000 -0700
+@@ -868,7 +868,7 @@ asmlinkage long sys_setfsgid(gid_t gid)
+ 	return old_fsgid;
+ }
+ 
+-asmlinkage long sys_times(struct tms __user * tbuf)
++SYSCALL_DEFINE1(times, struct tms __user *, tbuf)
+ {
+ 	/*
+ 	 *	In the SMP world we might just be unlucky and have one of
+diff -urpN linux-source-2.6.26.orig/kernel/time.c linux-source-2.6.26/kernel/time.c
+--- linux-source-2.6.26.orig/kernel/time.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/time.c	2009-01-19 11:57:28.000000000 -0700
+@@ -59,7 +59,7 @@ EXPORT_SYMBOL(sys_tz);
+  * why not move it into the appropriate arch directory (for those
+  * architectures that need it).
+  */
+-asmlinkage long sys_time(time_t __user * tloc)
++SYSCALL_DEFINE1(time, time_t __user *, tloc)
+ {
+ 	time_t i = get_seconds();
+ 
+@@ -77,7 +77,7 @@ asmlinkage long sys_time(time_t __user *
+  * architectures that need it).
+  */
+ 
+-asmlinkage long sys_stime(time_t __user *tptr)
++SYSCALL_DEFINE1(stime, time_t __user *, tptr)
+ {
+ 	struct timespec tv;
+ 	int err;
+@@ -97,8 +97,8 @@ asmlinkage long sys_stime(time_t __user 
+ 
+ #endif /* __ARCH_WANT_SYS_TIME */
+ 
+-asmlinkage long sys_gettimeofday(struct timeval __user *tv,
+-				 struct timezone __user *tz)
++SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv,
++		struct timezone __user *, tz)
+ {
+ 	if (likely(tv != NULL)) {
+ 		struct timeval ktv;
+@@ -182,8 +182,8 @@ int do_sys_settimeofday(struct timespec 
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_settimeofday(struct timeval __user *tv,
+-				struct timezone __user *tz)
++SYSCALL_DEFINE2(settimeofday, struct timeval __user *, tv,
++		struct timezone __user *, tz)
+ {
+ 	struct timeval user_tv;
+ 	struct timespec	new_ts;
+@@ -203,7 +203,7 @@ asmlinkage long sys_settimeofday(struct 
+ 	return do_sys_settimeofday(tv ? &new_ts : NULL, tz ? &new_tz : NULL);
+ }
+ 
+-asmlinkage long sys_adjtimex(struct timex __user *txc_p)
++SYSCALL_DEFINE1(adjtimex, struct timex __user *, txc_p)
+ {
+ 	struct timex txc;		/* Local copy of parameter */
+ 	int ret;
+diff -urpN linux-source-2.6.26.orig/kernel/timer.c linux-source-2.6.26/kernel/timer.c
+--- linux-source-2.6.26.orig/kernel/timer.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/kernel/timer.c	2009-01-19 11:57:28.000000000 -0700
+@@ -1082,7 +1082,7 @@ void do_timer(unsigned long ticks)
+  * For backwards compatibility?  This can be done in libc so Alpha
+  * and all newer ports shouldn't need it.
+  */
+-asmlinkage long sys_alarm(unsigned int seconds)
++SYSCALL_DEFINE1(alarm, unsigned int, seconds)
+ {
+ 	return alarm_setitimer(seconds);
+ }
+@@ -1105,7 +1105,7 @@ asmlinkage long sys_alarm(unsigned int s
+  *
+  * This is SMP safe as current->tgid does not change.
+  */
+-asmlinkage long sys_getpid(void)
++SYSCALL_DEFINE0(getpid)
+ {
+ 	return task_tgid_vnr(current);
+ }
+@@ -1261,7 +1261,7 @@ signed long __sched schedule_timeout_uni
+ EXPORT_SYMBOL(schedule_timeout_uninterruptible);
+ 
+ /* Thread ID - the internal kernel "pid" */
+-asmlinkage long sys_gettid(void)
++SYSCALL_DEFINE0(gettid)
+ {
+ 	return task_pid_vnr(current);
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0012-System-call-wrappers-part-02.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0012-System-call-wrappers-part-02.patch
@@ -0,0 +1,103 @@
+From dbf040d9d1cbf1ef6250bdb095c5c118950bcde8 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:04 +0100
+Subject: [PATCH 12/44] [CVE-2009-0029] System call wrappers part 02
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit dbf040d9d1cbf1ef6250bdb095c5c118950bcde8 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2009-01-19 11:57:28.000000000 -0700
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 11:58:42.000000000 -0700
+@@ -748,7 +748,7 @@ asmlinkage long sys_setresuid(uid_t ruid
+ 	return security_task_post_setuid(old_ruid, old_euid, old_suid, LSM_SETID_RES);
+ }
+ 
+-asmlinkage long sys_getresuid(uid_t __user *ruid, uid_t __user *euid, uid_t __user *suid)
++SYSCALL_DEFINE3(getresuid, uid_t __user *, ruid, uid_t __user *, euid, uid_t __user *, suid)
+ {
+ 	int retval;
+ 
+@@ -799,7 +799,7 @@ asmlinkage long sys_setresgid(gid_t rgid
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_getresgid(gid_t __user *rgid, gid_t __user *egid, gid_t __user *sgid)
++SYSCALL_DEFINE3(getresgid, gid_t __user *, rgid, gid_t __user *, egid, gid_t __user *, sgid)
+ {
+ 	int retval;
+ 
+@@ -989,7 +989,7 @@ out:
+ 	return err;
+ }
+ 
+-asmlinkage long sys_getpgid(pid_t pid)
++SYSCALL_DEFINE1(getpgid, pid_t, pid)
+ {
+ 	struct task_struct *p;
+ 	struct pid *grp;
+@@ -1019,14 +1019,14 @@ out:
+ 
+ #ifdef __ARCH_WANT_SYS_GETPGRP
+ 
+-asmlinkage long sys_getpgrp(void)
++SYSCALL_DEFINE0(getpgrp)
+ {
+ 	return sys_getpgid(0);
+ }
+ 
+ #endif
+ 
+-asmlinkage long sys_getsid(pid_t pid)
++SYSCALL_DEFINE1(getsid, pid_t, pid)
+ {
+ 	struct task_struct *p;
+ 	struct pid *sid;
+diff -urpN linux-source-2.6.26.orig/kernel/timer.c linux-source-2.6.26/kernel/timer.c
+--- linux-source-2.6.26.orig/kernel/timer.c	2009-01-19 11:57:28.000000000 -0700
++++ linux-source-2.6.26/kernel/timer.c	2009-01-19 11:58:42.000000000 -0700
+@@ -1116,7 +1116,7 @@ SYSCALL_DEFINE0(getpid)
+  * value of ->real_parent under rcu_read_lock(), see
+  * release_task()->call_rcu(delayed_put_task_struct).
+  */
+-asmlinkage long sys_getppid(void)
++SYSCALL_DEFINE0(getppid)
+ {
+ 	int pid;
+ 
+@@ -1127,25 +1127,25 @@ asmlinkage long sys_getppid(void)
+ 	return pid;
+ }
+ 
+-asmlinkage long sys_getuid(void)
++SYSCALL_DEFINE0(getuid)
+ {
+ 	/* Only we change this so SMP safe */
+ 	return current->uid;
+ }
+ 
+-asmlinkage long sys_geteuid(void)
++SYSCALL_DEFINE0(geteuid)
+ {
+ 	/* Only we change this so SMP safe */
+ 	return current->euid;
+ }
+ 
+-asmlinkage long sys_getgid(void)
++SYSCALL_DEFINE0(getgid)
+ {
+ 	/* Only we change this so SMP safe */
+ 	return current->gid;
+ }
+ 
+-asmlinkage long sys_getegid(void)
++SYSCALL_DEFINE0(getegid)
+ {
+ 	/* Only we change this so SMP safe */
+ 	return  current->egid;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0013-System-call-wrappers-part-03.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0013-System-call-wrappers-part-03.patch
@@ -0,0 +1,98 @@
+From ae1251ab785f6da87219df8352ffdac68bba23e4 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:05 +0100
+Subject: [PATCH 13/44] [CVE-2009-0029] System call wrappers part 03
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit ae1251ab785f6da87219df8352ffdac68bba23e4 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2009-01-19 11:58:42.000000000 -0700
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 11:59:57.000000000 -0700
+@@ -485,7 +485,7 @@ void ctrl_alt_del(void)
+  * SMP: There are not races, the GIDs are checked only by filesystem
+  *      operations (as far as semantic preservation is concerned).
+  */
+-asmlinkage long sys_setregid(gid_t rgid, gid_t egid)
++SYSCALL_DEFINE2(setregid, gid_t, rgid, gid_t, egid)
+ {
+ 	int old_rgid = current->gid;
+ 	int old_egid = current->egid;
+@@ -534,7 +534,7 @@ asmlinkage long sys_setregid(gid_t rgid,
+  *
+  * SMP: Same implicit races as above.
+  */
+-asmlinkage long sys_setgid(gid_t gid)
++SYSCALL_DEFINE1(setgid, gid_t, gid)
+ {
+ 	int old_egid = current->egid;
+ 	int retval;
+@@ -604,7 +604,7 @@ static int set_user(uid_t new_ruid, int 
+  * 100% compatible with BSD.  A program which uses just setuid() will be
+  * 100% compatible with POSIX with saved IDs. 
+  */
+-asmlinkage long sys_setreuid(uid_t ruid, uid_t euid)
++SYSCALL_DEFINE2(setreuid, uid_t, ruid, uid_t, euid)
+ {
+ 	int old_ruid, old_euid, old_suid, new_ruid, new_euid;
+ 	int retval;
+@@ -666,7 +666,7 @@ asmlinkage long sys_setreuid(uid_t ruid,
+  * will allow a root program to temporarily drop privileges and be able to
+  * regain them by swapping the real and effective uid.  
+  */
+-asmlinkage long sys_setuid(uid_t uid)
++SYSCALL_DEFINE1(setuid, uid_t, uid)
+ {
+ 	int old_euid = current->euid;
+ 	int old_ruid, old_suid, new_suid;
+@@ -705,7 +705,7 @@ asmlinkage long sys_setuid(uid_t uid)
+  * This function implements a generic ability to update ruid, euid,
+  * and suid.  This allows you to implement the 4.4 compatible seteuid().
+  */
+-asmlinkage long sys_setresuid(uid_t ruid, uid_t euid, uid_t suid)
++SYSCALL_DEFINE3(setresuid, uid_t, ruid, uid_t, euid, uid_t, suid)
+ {
+ 	int old_ruid = current->uid;
+ 	int old_euid = current->euid;
+@@ -762,7 +762,7 @@ SYSCALL_DEFINE3(getresuid, uid_t __user 
+ /*
+  * Same as above, but for rgid, egid, sgid.
+  */
+-asmlinkage long sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid)
++SYSCALL_DEFINE3(setresgid, gid_t, rgid, gid_t, egid, gid_t, sgid)
+ {
+ 	int retval;
+ 
+@@ -817,7 +817,7 @@ SYSCALL_DEFINE3(getresgid, gid_t __user 
+  * whatever uid it wants to). It normally shadows "euid", except when
+  * explicitly set by setfsuid() or for access..
+  */
+-asmlinkage long sys_setfsuid(uid_t uid)
++SYSCALL_DEFINE1(setfsuid, uid_t, uid)
+ {
+ 	int old_fsuid;
+ 
+@@ -846,7 +846,7 @@ asmlinkage long sys_setfsuid(uid_t uid)
+ /*
+  * Samma på svenska..
+  */
+-asmlinkage long sys_setfsgid(gid_t gid)
++SYSCALL_DEFINE1(setfsgid, gid_t, gid)
+ {
+ 	int old_fsgid;
+ 
+@@ -1260,7 +1260,7 @@ int set_current_groups(struct group_info
+ 
+ EXPORT_SYMBOL(set_current_groups);
+ 
+-asmlinkage long sys_getgroups(int gidsetsize, gid_t __user *grouplist)
++SYSCALL_DEFINE2(getgroups, int, gidsetsize, gid_t __user *, grouplist)
+ {
+ 	int i = 0;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0014-System-call-wrappers-part-04.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0014-System-call-wrappers-part-04.patch
@@ -0,0 +1,126 @@
+From b290ebe2c46d01b742b948ce03f09e8a3efb9a92 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:06 +0100
+Subject: [PATCH 14/44] [CVE-2009-0029] System call wrappers part 04
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit b290ebe2c46d01b742b948ce03f09e8a3efb9a92 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/acct.c linux-source-2.6.26/kernel/acct.c
+--- linux-source-2.6.26.orig/kernel/acct.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/acct.c	2009-01-19 12:00:45.000000000 -0700
+@@ -255,7 +255,7 @@ static int acct_on(char *name)
+  * should be written. If the filename is NULL, accounting will be
+  * shutdown.
+  */
+-asmlinkage long sys_acct(const char __user *name)
++SYSCALL_DEFINE1(acct, const char __user *, name)
+ {
+ 	int error;
+ 
+diff -urpN linux-source-2.6.26.orig/kernel/capability.c linux-source-2.6.26/kernel/capability.c
+--- linux-source-2.6.26.orig/kernel/capability.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/capability.c	2009-01-19 12:00:45.000000000 -0700
+@@ -151,7 +151,7 @@ EXPORT_SYMBOL(cap_set_effective);
+  *
+  * Returns 0 on success and < 0 on error.
+  */
+-asmlinkage long sys_capget(cap_user_header_t header, cap_user_data_t dataptr)
++SYSCALL_DEFINE2(capget, cap_user_header_t, header, cap_user_data_t, dataptr)
+ {
+ 	int ret = 0;
+ 	pid_t pid;
+@@ -308,7 +308,7 @@ static inline int cap_set_all(kernel_cap
+  *
+  * Returns 0 on success and < 0 on error.
+  */
+-asmlinkage long sys_capset(cap_user_header_t header, const cap_user_data_t data)
++SYSCALL_DEFINE2(capset, cap_user_header_t, header, const cap_user_data_t, data)
+ {
+ 	struct __user_cap_data_struct kdata[_KERNEL_CAPABILITY_U32S];
+ 	unsigned i, tocopy;
+diff -urpN linux-source-2.6.26.orig/kernel/exec_domain.c linux-source-2.6.26/kernel/exec_domain.c
+--- linux-source-2.6.26.orig/kernel/exec_domain.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/exec_domain.c	2009-01-19 12:00:45.000000000 -0700
+@@ -189,8 +189,7 @@ get_exec_domain_list(char *page)
+ 	return (len);
+ }
+ 
+-asmlinkage long
+-sys_personality(u_long personality)
++SYSCALL_DEFINE1(personality, u_long, personality)
+ {
+ 	u_long old = current->personality;
+ 
+diff -urpN linux-source-2.6.26.orig/kernel/itimer.c linux-source-2.6.26/kernel/itimer.c
+--- linux-source-2.6.26.orig/kernel/itimer.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/itimer.c	2009-01-19 12:00:45.000000000 -0700
+@@ -109,7 +109,7 @@ int do_getitimer(int which, struct itime
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_getitimer(int which, struct itimerval __user *value)
++SYSCALL_DEFINE2(getitimer, int, which, struct itimerval __user *, value)
+ {
+ 	int error = -EFAULT;
+ 	struct itimerval get_buffer;
+diff -urpN linux-source-2.6.26.orig/kernel/signal.c linux-source-2.6.26/kernel/signal.c
+--- linux-source-2.6.26.orig/kernel/signal.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/kernel/signal.c	2009-01-19 12:00:45.000000000 -0700
+@@ -2407,8 +2407,7 @@ out:
+ 
+ #ifdef __ARCH_WANT_SYS_SIGPENDING
+ 
+-asmlinkage long
+-sys_sigpending(old_sigset_t __user *set)
++SYSCALL_DEFINE1(sigpending, old_sigset_t __user *, set)
+ {
+ 	return do_sigpending(set, sizeof(*set));
+ }
+@@ -2419,8 +2418,8 @@ sys_sigpending(old_sigset_t __user *set)
+ /* Some platforms have their own version with special arguments others
+    support only sys_rt_sigprocmask.  */
+ 
+-asmlinkage long
+-sys_sigprocmask(int how, old_sigset_t __user *set, old_sigset_t __user *oset)
++SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, set,
++		old_sigset_t __user *, oset)
+ {
+ 	int error;
+ 	old_sigset_t old_set, new_set;
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2009-01-19 11:59:57.000000000 -0700
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 12:00:45.000000000 -0700
+@@ -918,7 +918,7 @@ SYSCALL_DEFINE1(times, struct tms __user
+  * Auch. Had to add the 'did_exec' flag to conform completely to POSIX.
+  * LBT 04.03.94
+  */
+-asmlinkage long sys_setpgid(pid_t pid, pid_t pgid)
++SYSCALL_DEFINE2(setpgid, pid_t, pid, pid_t, pgid)
+ {
+ 	struct task_struct *p;
+ 	struct task_struct *group_leader = current->group_leader;
+@@ -1054,7 +1054,7 @@ out:
+ 	return retval;
+ }
+ 
+-asmlinkage long sys_setsid(void)
++SYSCALL_DEFINE0(setsid)
+ {
+ 	struct task_struct *group_leader = current->group_leader;
+ 	struct pid *sid = task_pid(group_leader);
+@@ -1293,7 +1293,7 @@ out:
+  *	without another task interfering.
+  */
+  
+-asmlinkage long sys_setgroups(int gidsetsize, gid_t __user *grouplist)
++SYSCALL_DEFINE2(setgroups, int, gidsetsize, gid_t __user *, grouplist)
+ {
+ 	struct group_info *group_info;
+ 	int retval;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0015-System-call-wrappers-part-05.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0015-System-call-wrappers-part-05.patch
@@ -0,0 +1,138 @@
+From 362e9c07c7220c0a78c88826fc0d2bf7e4a4bb68 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:07 +0100
+Subject: [PATCH 15/44] [CVE-2009-0029] System call wrappers part 05
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 362e9c07c7220c0a78c88826fc0d2bf7e4a4bb68 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/itimer.c linux-source-2.6.26/kernel/itimer.c
+--- linux-source-2.6.26.orig/kernel/itimer.c	2009-01-19 12:00:45.000000000 -0700
++++ linux-source-2.6.26/kernel/itimer.c	2009-01-19 12:03:27.000000000 -0700
+@@ -273,9 +273,8 @@ unsigned int alarm_setitimer(unsigned in
+ 	return it_old.it_value.tv_sec;
+ }
+ 
+-asmlinkage long sys_setitimer(int which,
+-			      struct itimerval __user *value,
+-			      struct itimerval __user *ovalue)
++SYSCALL_DEFINE3(setitimer, int, which, struct itimerval __user *, value,
++		struct itimerval __user *, ovalue)
+ {
+ 	struct itimerval set_buffer, get_buffer;
+ 	int error;
+diff -urpN linux-source-2.6.26.orig/kernel/posix-timers.c linux-source-2.6.26/kernel/posix-timers.c
+--- linux-source-2.6.26.orig/kernel/posix-timers.c	2009-01-10 05:42:11.000000000 -0700
++++ linux-source-2.6.26/kernel/posix-timers.c	2009-01-19 12:03:27.000000000 -0700
+@@ -466,10 +466,9 @@ static void release_posix_timer(struct k
+ 
+ /* Create a POSIX.1b interval timer. */
+ 
+-asmlinkage long
+-sys_timer_create(const clockid_t which_clock,
+-		 struct sigevent __user *timer_event_spec,
+-		 timer_t __user * created_timer_id)
++SYSCALL_DEFINE3(timer_create, const clockid_t, which_clock,
++		struct sigevent __user *, timer_event_spec,
++		timer_t __user *, created_timer_id)
+ {
+ 	int error = 0;
+ 	struct k_itimer *new_timer = NULL;
+@@ -685,8 +684,8 @@ common_timer_get(struct k_itimer *timr, 
+ }
+ 
+ /* Get the time remaining on a POSIX.1b interval timer. */
+-asmlinkage long
+-sys_timer_gettime(timer_t timer_id, struct itimerspec __user *setting)
++SYSCALL_DEFINE2(timer_gettime, timer_t, timer_id,
++		struct itimerspec __user *, setting)
+ {
+ 	struct k_itimer *timr;
+ 	struct itimerspec cur_setting;
+@@ -715,8 +714,7 @@ sys_timer_gettime(timer_t timer_id, stru
+  * the call back to do_schedule_next_timer().  So all we need to do is
+  * to pick up the frozen overrun.
+  */
+-asmlinkage long
+-sys_timer_getoverrun(timer_t timer_id)
++SYSCALL_DEFINE1(timer_getoverrun, timer_t, timer_id)
+ {
+ 	struct k_itimer *timr;
+ 	int overrun;
+@@ -786,10 +784,9 @@ common_timer_set(struct k_itimer *timr, 
+ }
+ 
+ /* Set a POSIX.1b interval timer */
+-asmlinkage long
+-sys_timer_settime(timer_t timer_id, int flags,
+-		  const struct itimerspec __user *new_setting,
+-		  struct itimerspec __user *old_setting)
++SYSCALL_DEFINE4(timer_settime, timer_t, timer_id, int, flags,
++		const struct itimerspec __user *, new_setting,
++		struct itimerspec __user *, old_setting)
+ {
+ 	struct k_itimer *timr;
+ 	struct itimerspec new_spec, old_spec;
+@@ -842,8 +839,7 @@ static inline int timer_delete_hook(stru
+ }
+ 
+ /* Delete a POSIX.1b interval timer. */
+-asmlinkage long
+-sys_timer_delete(timer_t timer_id)
++SYSCALL_DEFINE1(timer_delete, timer_t, timer_id)
+ {
+ 	struct k_itimer *timer;
+ 	unsigned long flags;
+@@ -935,8 +931,8 @@ int do_posix_clock_nonanosleep(const clo
+ }
+ EXPORT_SYMBOL_GPL(do_posix_clock_nonanosleep);
+ 
+-asmlinkage long sys_clock_settime(const clockid_t which_clock,
+-				  const struct timespec __user *tp)
++SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
++		const struct timespec __user *, tp)
+ {
+ 	struct timespec new_tp;
+ 
+@@ -948,8 +944,8 @@ asmlinkage long sys_clock_settime(const 
+ 	return CLOCK_DISPATCH(which_clock, clock_set, (which_clock, &new_tp));
+ }
+ 
+-asmlinkage long
+-sys_clock_gettime(const clockid_t which_clock, struct timespec __user *tp)
++SYSCALL_DEFINE2(clock_gettime, const clockid_t, which_clock,
++		struct timespec __user *,tp)
+ {
+ 	struct timespec kernel_tp;
+ 	int error;
+@@ -965,8 +961,8 @@ sys_clock_gettime(const clockid_t which_
+ 
+ }
+ 
+-asmlinkage long
+-sys_clock_getres(const clockid_t which_clock, struct timespec __user *tp)
++SYSCALL_DEFINE2(clock_getres, const clockid_t, which_clock,
++		struct timespec __user *, tp)
+ {
+ 	struct timespec rtn_tp;
+ 	int error;
+@@ -995,10 +991,9 @@ static int common_nsleep(const clockid_t
+ 				 which_clock);
+ }
+ 
+-asmlinkage long
+-sys_clock_nanosleep(const clockid_t which_clock, int flags,
+-		    const struct timespec __user *rqtp,
+-		    struct timespec __user *rmtp)
++SYSCALL_DEFINE4(clock_nanosleep, const clockid_t, which_clock, int, flags,
++		const struct timespec __user *, rqtp,
++		struct timespec __user *, rmtp)
+ {
+ 	struct timespec t;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0016-System-call-wrappers-part-06.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0016-System-call-wrappers-part-06.patch
@@ -0,0 +1,113 @@
+From 5add95d4f7cf08f6f62510f19576992912387501 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:08 +0100
+Subject: [PATCH 16/44] [CVE-2009-0029] System call wrappers part 06
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 5add95d4f7cf08f6f62510f19576992912387501 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/sched.c linux-source-2.6.26/kernel/sched.c
+--- linux-source-2.6.26.orig/kernel/sched.c	2009-01-10 05:42:12.000000000 -0700
++++ linux-source-2.6.26/kernel/sched.c	2009-01-19 12:05:32.000000000 -0700
+@@ -4694,7 +4694,7 @@ int can_nice(const struct task_struct *p
+  * sys_setpriority is a more generic, but much slower function that
+  * does similar things.
+  */
+-asmlinkage long sys_nice(int increment)
++SYSCALL_DEFINE1(nice, int, increment)
+ {
+ 	long nice, retval;
+ 
+@@ -4959,8 +4959,8 @@ do_sched_setscheduler(pid_t pid, int pol
+  * @policy: new policy.
+  * @param: structure containing the new RT priority.
+  */
+-asmlinkage long
+-sys_sched_setscheduler(pid_t pid, int policy, struct sched_param __user *param)
++SYSCALL_DEFINE3(sched_setscheduler, pid_t, pid, int, policy,
++		struct sched_param __user *, param)
+ {
+ 	/* negative values for policy are not valid */
+ 	if (policy < 0)
+@@ -4974,7 +4974,7 @@ sys_sched_setscheduler(pid_t pid, int po
+  * @pid: the pid in question.
+  * @param: structure containing the new RT priority.
+  */
+-asmlinkage long sys_sched_setparam(pid_t pid, struct sched_param __user *param)
++SYSCALL_DEFINE2(sched_setparam, pid_t, pid, struct sched_param __user *, param)
+ {
+ 	return do_sched_setscheduler(pid, -1, param);
+ }
+@@ -4983,7 +4983,7 @@ asmlinkage long sys_sched_setparam(pid_t
+  * sys_sched_getscheduler - get the policy (scheduling class) of a thread
+  * @pid: the pid in question.
+  */
+-asmlinkage long sys_sched_getscheduler(pid_t pid)
++SYSCALL_DEFINE1(sched_getscheduler, pid_t, pid)
+ {
+ 	struct task_struct *p;
+ 	int retval;
+@@ -5008,7 +5008,7 @@ asmlinkage long sys_sched_getscheduler(p
+  * @pid: the pid in question.
+  * @param: structure containing the RT priority.
+  */
+-asmlinkage long sys_sched_getparam(pid_t pid, struct sched_param __user *param)
++SYSCALL_DEFINE2(sched_getparam, pid_t, pid, struct sched_param __user *, param)
+ {
+ 	struct sched_param lp;
+ 	struct task_struct *p;
+@@ -5116,8 +5116,8 @@ static int get_user_cpu_mask(unsigned lo
+  * @len: length in bytes of the bitmask pointed to by user_mask_ptr
+  * @user_mask_ptr: user-space pointer to the new cpu mask
+  */
+-asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len,
+-				      unsigned long __user *user_mask_ptr)
++SYSCALL_DEFINE3(sched_setaffinity, pid_t, pid, unsigned int, len,
++		unsigned long __user *, user_mask_ptr)
+ {
+ 	cpumask_t new_mask;
+ 	int retval;
+@@ -5179,8 +5179,8 @@ out_unlock:
+  * @len: length in bytes of the bitmask pointed to by user_mask_ptr
+  * @user_mask_ptr: user-space pointer to hold the current cpu mask
+  */
+-asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len,
+-				      unsigned long __user *user_mask_ptr)
++SYSCALL_DEFINE3(sched_getaffinity, pid_t, pid, unsigned int, len,
++		unsigned long __user *, user_mask_ptr)
+ {
+ 	int ret;
+ 	cpumask_t mask;
+@@ -5204,7 +5204,7 @@ asmlinkage long sys_sched_getaffinity(pi
+  * This function yields the current CPU to other tasks. If there are no
+  * other threads running on this CPU then this function will return.
+  */
+-asmlinkage long sys_sched_yield(void)
++SYSCALL_DEFINE0(sched_yield)
+ {
+ 	struct rq *rq = this_rq_lock();
+ 
+@@ -5345,7 +5345,7 @@ long __sched io_schedule_timeout(long ti
+  * this syscall returns the maximum rt_priority that can be used
+  * by a given scheduling class.
+  */
+-asmlinkage long sys_sched_get_priority_max(int policy)
++SYSCALL_DEFINE1(sched_get_priority_max, int, policy)
+ {
+ 	int ret = -EINVAL;
+ 
+@@ -5370,7 +5370,7 @@ asmlinkage long sys_sched_get_priority_m
+  * this syscall returns the minimum rt_priority that can be used
+  * by a given scheduling class.
+  */
+-asmlinkage long sys_sched_get_priority_min(int policy)
++SYSCALL_DEFINE1(sched_get_priority_min, int, policy)
+ {
+ 	int ret = -EINVAL;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0017-System-call-wrappers-part-07.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0017-System-call-wrappers-part-07.patch
@@ -0,0 +1,130 @@
+From 754fe8d297bfae7b77f7ce866e2fb0c5fb186506 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:09 +0100
+Subject: [PATCH 17/44] [CVE-2009-0029] System call wrappers part 07
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 754fe8d297bfae7b77f7ce866e2fb0c5fb186506 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/exit.c linux-source-2.6.26/kernel/exit.c
+--- linux-source-2.6.26.orig/kernel/exit.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/kernel/exit.c	2009-01-19 12:07:11.000000000 -0700
+@@ -1121,7 +1121,7 @@ NORET_TYPE void complete_and_exit(struct
+ 
+ EXPORT_SYMBOL(complete_and_exit);
+ 
+-asmlinkage long sys_exit(int error_code)
++SYSCALL_DEFINE1(exit, int, error_code)
+ {
+ 	do_exit((error_code&0xff)<<8);
+ }
+@@ -1162,7 +1162,7 @@ do_group_exit(int exit_code)
+  * wait4()-ing process will get the correct exit code - even if this
+  * thread is not the thread group leader.
+  */
+-asmlinkage long sys_exit_group(int error_code)
++SYSCALL_DEFINE1(exit_group, int, error_code)
+ {
+ 	do_group_exit((error_code & 0xff) << 8);
+ 	/* NOTREACHED */
+@@ -1698,8 +1698,8 @@ asmlinkage long sys_waitid(int which, pi
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_wait4(pid_t upid, int __user *stat_addr,
+-			  int options, struct rusage __user *ru)
++SYSCALL_DEFINE4(wait4, pid_t, upid, int __user *, stat_addr,
++		int, options, struct rusage __user *, ru)
+ {
+ 	struct pid *pid = NULL;
+ 	enum pid_type type;
+diff -urpN linux-source-2.6.26.orig/kernel/kexec.c linux-source-2.6.26/kernel/kexec.c
+--- linux-source-2.6.26.orig/kernel/kexec.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/kexec.c	2009-01-19 12:07:11.000000000 -0700
+@@ -921,9 +921,8 @@ struct kimage *kexec_crash_image;
+  */
+ static int kexec_lock;
+ 
+-asmlinkage long sys_kexec_load(unsigned long entry, unsigned long nr_segments,
+-				struct kexec_segment __user *segments,
+-				unsigned long flags)
++SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
++		struct kexec_segment __user *, segments, unsigned long, flags)
+ {
+ 	struct kimage **dest_image, *image;
+ 	int locked;
+diff -urpN linux-source-2.6.26.orig/kernel/sched.c linux-source-2.6.26/kernel/sched.c
+--- linux-source-2.6.26.orig/kernel/sched.c	2009-01-19 12:05:32.000000000 -0700
++++ linux-source-2.6.26/kernel/sched.c	2009-01-19 12:07:11.000000000 -0700
+@@ -5395,8 +5395,8 @@ SYSCALL_DEFINE1(sched_get_priority_min, 
+  * this syscall writes the default timeslice value of a given process
+  * into the user-space timespec buffer. A value of '0' means infinity.
+  */
+-asmlinkage
+-long sys_sched_rr_get_interval(pid_t pid, struct timespec __user *interval)
++SYSCALL_DEFINE4(sched_rr_get_interval, pid_t, pid,
++		struct timespec __user *, interval)
+ {
+ 	struct task_struct *p;
+ 	unsigned int time_slice;
+diff -urpN linux-source-2.6.26.orig/kernel/signal.c linux-source-2.6.26/kernel/signal.c
+--- linux-source-2.6.26.orig/kernel/signal.c	2009-01-19 12:00:45.000000000 -0700
++++ linux-source-2.6.26/kernel/signal.c	2009-01-19 12:07:11.000000000 -0700
+@@ -1934,7 +1934,7 @@ EXPORT_SYMBOL(unblock_all_signals);
+  * System call entry points.
+  */
+ 
+-asmlinkage long sys_restart_syscall(void)
++SYSCALL_DEFINE0(restart_syscall)
+ {
+ 	struct restart_block *restart = &current_thread_info()->restart_block;
+ 	return restart->fn(restart);
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2009-01-19 12:00:45.000000000 -0700
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 12:07:11.000000000 -0700
+@@ -137,7 +137,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_setpriority(int which, int who, int niceval)
++SYSCALL_DEFINE3(setpriority, int, which, int, who, int, niceval)
+ {
+ 	struct task_struct *g, *p;
+ 	struct user_struct *user;
+@@ -201,7 +201,7 @@ out:
+  * has been offset by 20 (ie it returns 40..1 instead of -20..19)
+  * to stay compatible.
+  */
+-asmlinkage long sys_getpriority(int which, int who)
++SYSCALL_DEFINE2(getpriority, int, which, int, who)
+ {
+ 	struct task_struct *g, *p;
+ 	struct user_struct *user;
+@@ -367,7 +367,8 @@ EXPORT_SYMBOL_GPL(kernel_power_off);
+  *
+  * reboot doesn't sync: do that yourself before calling this.
+  */
+-asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, void __user * arg)
++SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd,
++		void __user *, arg)
+ {
+ 	char buffer[256];
+ 
+diff -urpN linux-source-2.6.26.orig/net/socket.c linux-source-2.6.26/net/socket.c
+--- linux-source-2.6.26.orig/net/socket.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/net/socket.c	2009-01-19 12:07:11.000000000 -0700
+@@ -1758,7 +1758,7 @@ out_put:
+  *	Shutdown a socket.
+  */
+ 
+-asmlinkage long sys_shutdown(int fd, int how)
++SYSCALL_DEFINE2(shutdown, int, fd, int, how)
+ {
+ 	int err, fput_needed;
+ 	struct socket *sock;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0018-System-call-wrappers-part-08.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0018-System-call-wrappers-part-08.patch
@@ -0,0 +1,154 @@
+From 17da2bd90abf428523de0fb98f7075e00e3ed42e Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:10 +0100
+Subject: [PATCH 18/44] [CVE-2009-0029] System call wrappers part 08
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 17da2bd90abf428523de0fb98f7075e00e3ed42e upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/kernel/exit.c linux-source-2.6.26/kernel/exit.c
+--- linux-source-2.6.26.orig/kernel/exit.c	2009-01-19 12:07:11.000000000 -0700
++++ linux-source-2.6.26/kernel/exit.c	2009-01-19 12:08:21.000000000 -0700
+@@ -1657,9 +1657,8 @@ end:
+ 	return retval;
+ }
+ 
+-asmlinkage long sys_waitid(int which, pid_t upid,
+-			   struct siginfo __user *infop, int options,
+-			   struct rusage __user *ru)
++SYSCALL_DEFINE5(waitid, int, which, pid_t, upid, struct siginfo __user *,
++		infop, int, options, struct rusage __user *, ru)
+ {
+ 	struct pid *pid = NULL;
+ 	enum pid_type type;
+@@ -1736,7 +1735,7 @@ SYSCALL_DEFINE4(wait4, pid_t, upid, int 
+  * sys_waitpid() remains for compatibility. waitpid() should be
+  * implemented by calling sys_wait4() from libc.a.
+  */
+-asmlinkage long sys_waitpid(pid_t pid, int __user *stat_addr, int options)
++SYSCALL_DEFINE3(waitpid, pid_t, pid, int __user *, stat_addr, int, options)
+ {
+ 	return sys_wait4(pid, stat_addr, options, NULL);
+ }
+diff -urpN linux-source-2.6.26.orig/kernel/fork.c linux-source-2.6.26/kernel/fork.c
+--- linux-source-2.6.26.orig/kernel/fork.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/fork.c	2009-01-19 12:08:21.000000000 -0700
+@@ -838,7 +838,7 @@ static void copy_flags(unsigned long clo
+ 	clear_freeze_flag(p);
+ }
+ 
+-asmlinkage long sys_set_tid_address(int __user *tidptr)
++SYSCALL_DEFINE1(set_tid_address, int __user *, tidptr)
+ {
+ 	current->clear_child_tid = tidptr;
+ 
+diff -urpN linux-source-2.6.26.orig/kernel/futex.c linux-source-2.6.26/kernel/futex.c
+--- linux-source-2.6.26.orig/kernel/futex.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/futex.c	2009-01-19 12:08:21.000000000 -0700
+@@ -2036,9 +2036,9 @@ long do_futex(u32 __user *uaddr, int op,
+ }
+ 
+ 
+-asmlinkage long sys_futex(u32 __user *uaddr, int op, u32 val,
+-			  struct timespec __user *utime, u32 __user *uaddr2,
+-			  u32 val3)
++SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
++		struct timespec __user *, utime, u32 __user *, uaddr2,
++		u32, val3)
+ {
+ 	struct timespec ts;
+ 	ktime_t t, *tp = NULL;
+diff -urpN linux-source-2.6.26.orig/kernel/module.c linux-source-2.6.26/kernel/module.c
+--- linux-source-2.6.26.orig/kernel/module.c	2009-01-10 05:42:12.000000000 -0700
++++ linux-source-2.6.26/kernel/module.c	2009-01-19 12:08:21.000000000 -0700
+@@ -685,8 +685,8 @@ static void wait_for_zero_refcount(struc
+ 	mutex_lock(&module_mutex);
+ }
+ 
+-asmlinkage long
+-sys_delete_module(const char __user *name_user, unsigned int flags)
++SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
++		unsigned int, flags)
+ {
+ 	struct module *mod;
+ 	char name[MODULE_NAME_LEN];
+@@ -2189,10 +2189,8 @@ static struct module *load_module(void _
+ }
+ 
+ /* This is where the real work happens */
+-asmlinkage long
+-sys_init_module(void __user *umod,
+-		unsigned long len,
+-		const char __user *uargs)
++SYSCALL_DEFINE3(init_module, void __user *, umod,
++		unsigned long, len, const char __user *, uargs)
+ {
+ 	struct module *mod;
+ 	int ret = 0;
+diff -urpN linux-source-2.6.26.orig/kernel/sched.c linux-source-2.6.26/kernel/sched.c
+--- linux-source-2.6.26.orig/kernel/sched.c	2009-01-19 12:07:11.000000000 -0700
++++ linux-source-2.6.26/kernel/sched.c	2009-01-19 12:08:21.000000000 -0700
+@@ -5395,7 +5395,7 @@ SYSCALL_DEFINE1(sched_get_priority_min, 
+  * this syscall writes the default timeslice value of a given process
+  * into the user-space timespec buffer. A value of '0' means infinity.
+  */
+-SYSCALL_DEFINE4(sched_rr_get_interval, pid_t, pid,
++SYSCALL_DEFINE2(sched_rr_get_interval, pid_t, pid,
+ 		struct timespec __user *, interval)
+ {
+ 	struct task_struct *p;
+diff -urpN linux-source-2.6.26.orig/kernel/signal.c linux-source-2.6.26/kernel/signal.c
+--- linux-source-2.6.26.orig/kernel/signal.c	2009-01-19 12:07:11.000000000 -0700
++++ linux-source-2.6.26/kernel/signal.c	2009-01-19 12:09:29.000000000 -0700
+@@ -1987,8 +1987,8 @@ int sigprocmask(int how, sigset_t *set, 
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_rt_sigprocmask(int how, sigset_t __user *set, sigset_t __user *oset, size_t sigsetsize)
++SYSCALL_DEFINE4(rt_sigprocmask, int, how, sigset_t __user *, set,
++		sigset_t __user *, oset, size_t, sigsetsize)
+ {
+ 	int error = -EINVAL;
+ 	sigset_t old_set, new_set;
+@@ -2047,8 +2047,7 @@ out:
+ 	return error;
+ }	
+ 
+-asmlinkage long
+-sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize)
++SYSCALL_DEFINE2(rt_sigpending, sigset_t __user *, set, size_t, sigsetsize)
+ {
+ 	return do_sigpending(set, sigsetsize);
+ }
+@@ -2119,11 +2118,9 @@ int copy_siginfo_to_user(siginfo_t __use
+ 
+ #endif
+ 
+-asmlinkage long
+-sys_rt_sigtimedwait(const sigset_t __user *uthese,
+-		    siginfo_t __user *uinfo,
+-		    const struct timespec __user *uts,
+-		    size_t sigsetsize)
++SYSCALL_DEFINE4(rt_sigtimedwait, const sigset_t __user *, uthese,
++		siginfo_t __user *, uinfo, const struct timespec __user *, uts,
++		size_t, sigsetsize)
+ {
+ 	int ret, sig;
+ 	sigset_t these;
+@@ -2196,8 +2193,7 @@ sys_rt_sigtimedwait(const sigset_t __use
+ 	return ret;
+ }
+ 
+-asmlinkage long
+-sys_kill(int pid, int sig)
++SYSCALL_DEFINE2(kill, int, pid, int, sig)
+ {
+ 	struct siginfo info;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0019-System-call-wrappers-part-09.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0019-System-call-wrappers-part-09.patch
@@ -0,0 +1,112 @@
+From a5f8fa9e9ba5ef3305e147f41ad6e1e84ac1f0bd Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:11 +0100
+Subject: [PATCH 19/44] [CVE-2009-0029] System call wrappers part 09
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit a5f8fa9e9ba5ef3305e147f41ad6e1e84ac1f0bd upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/sync.c linux-source-2.6.26/fs/sync.c
+--- linux-source-2.6.26.orig/fs/sync.c	2009-01-19 11:55:54.000000000 -0700
++++ linux-source-2.6.26/fs/sync.c	2009-01-19 12:11:32.000000000 -0700
+@@ -36,7 +36,7 @@ static void do_sync(unsigned long wait)
+ 		laptop_sync_completion();
+ }
+ 
+-asmlinkage long sys_sync(void)
++SYSCALL_DEFINE0(sync)
+ {
+ 	do_sync(1);
+ 	return 0;
+@@ -118,12 +118,12 @@ static long __do_fsync(unsigned int fd, 
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_fsync(unsigned int fd)
++SYSCALL_DEFINE1(fsync, unsigned int, fd)
+ {
+ 	return __do_fsync(fd, 0);
+ }
+ 
+-asmlinkage long sys_fdatasync(unsigned int fd)
++SYSCALL_DEFINE1(fdatasync, unsigned int, fd)
+ {
+ 	return __do_fsync(fd, 1);
+ }
+diff -urpN linux-source-2.6.26.orig/kernel/signal.c linux-source-2.6.26/kernel/signal.c
+--- linux-source-2.6.26.orig/kernel/signal.c	2009-01-19 12:09:29.000000000 -0700
++++ linux-source-2.6.26/kernel/signal.c	2009-01-19 12:13:12.000000000 -0700
+@@ -2252,7 +2252,7 @@ static int do_tkill(int tgid, int pid, i
+  *  exists but it's not belonging to the target process anymore. This
+  *  method solves the problem of threads exiting and PIDs getting reused.
+  */
+-asmlinkage long sys_tgkill(int tgid, int pid, int sig)
++SYSCALL_DEFINE3(tgkill, int, tgid, int, pid, int, sig)
+ {
+ 	/* This is only valid for single tasks */
+ 	if (pid <= 0 || tgid <= 0)
+@@ -2264,8 +2264,7 @@ asmlinkage long sys_tgkill(int tgid, int
+ /*
+  *  Send a signal to only one task, even if it's a CLONE_THREAD task.
+  */
+-asmlinkage long
+-sys_tkill(int pid, int sig)
++SYSCALL_DEFINE2(tkill, int, pid, int, sig)
+ {
+ 	/* This is only valid for single tasks */
+ 	if (pid <= 0)
+@@ -2274,8 +2273,8 @@ sys_tkill(int pid, int sig)
+ 	return do_tkill(0, pid, sig);
+ }
+ 
+-asmlinkage long
+-sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo)
++SYSCALL_DEFINE3(rt_sigqueueinfo, int, pid, int, sig,
++		siginfo_t __user *, uinfo)
+ {
+ 	siginfo_t info;
+ 
+@@ -2499,15 +2498,13 @@ out:
+ /*
+  * For backwards compatibility.  Functionality superseded by sigprocmask.
+  */
+-asmlinkage long
+-sys_sgetmask(void)
++SYSCALL_DEFINE0(sgetmask)
+ {
+ 	/* SMP safe */
+ 	return current->blocked.sig[0];
+ }
+ 
+-asmlinkage long
+-sys_ssetmask(int newmask)
++SYSCALL_DEFINE1(ssetmask, int, newmask)
+ {
+ 	int old;
+ 
+@@ -2527,8 +2524,7 @@ sys_ssetmask(int newmask)
+ /*
+  * For backwards compatibility.  Functionality superseded by sigaction.
+  */
+-asmlinkage long
+-sys_signal(int sig, __sighandler_t handler)
++SYSCALL_DEFINE2(signal, int, sig, __sighandler_t, handler)
+ {
+ 	struct k_sigaction new_sa, old_sa;
+ 	int ret;
+@@ -2545,8 +2541,7 @@ sys_signal(int sig, __sighandler_t handl
+ 
+ #ifdef __ARCH_WANT_SYS_PAUSE
+ 
+-asmlinkage long
+-sys_pause(void)
++SYSCALL_DEFINE0(pause)
+ {
+ 	current->state = TASK_INTERRUPTIBLE;
+ 	schedule();
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0020-System-call-wrappers-part-10.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0020-System-call-wrappers-part-10.patch
@@ -0,0 +1,121 @@
+From bdc480e3bef6eb0e7071770834cbdda7e30a5436 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:12 +0100
+Subject: [PATCH 20/44] [CVE-2009-0029] System call wrappers part 10
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit bdc480e3bef6eb0e7071770834cbdda7e30a5436 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/buffer.c linux-source-2.6.26/fs/buffer.c
+--- linux-source-2.6.26.orig/fs/buffer.c	2009-01-10 05:42:12.000000000 -0700
++++ linux-source-2.6.26/fs/buffer.c	2009-01-19 12:15:07.000000000 -0700
+@@ -3119,7 +3119,7 @@ void block_sync_page(struct page *page)
+  * Use of bdflush() is deprecated and will be removed in a future kernel.
+  * The `pdflush' kernel threads fully replace bdflush daemons and this call.
+  */
+-asmlinkage long sys_bdflush(int func, long data)
++SYSCALL_DEFINE2(bdflush, int, func, long, data)
+ {
+ 	static int msg_count;
+ 
+diff -urpN linux-source-2.6.26.orig/fs/namespace.c linux-source-2.6.26/fs/namespace.c
+--- linux-source-2.6.26.orig/fs/namespace.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/namespace.c	2009-01-19 12:15:07.000000000 -0700
+@@ -1119,7 +1119,7 @@ static int do_umount(struct vfsmount *mn
+  * unixes. Our API is identical to OSF/1 to avoid making a mess of AMD
+  */
+ 
+-asmlinkage long sys_umount(char __user * name, int flags)
++SYSCALL_DEFINE2(umount, char __user *, name, int, flags)
+ {
+ 	struct nameidata nd;
+ 	int retval;
+@@ -1151,7 +1151,7 @@ out:
+ /*
+  *	The 2.0 compatible umount. No flags.
+  */
+-asmlinkage long sys_oldumount(char __user * name)
++SYSCALL_DEFINE1(oldumount, char __user *, name)
+ {
+ 	return sys_umount(name, 0);
+ }
+@@ -2045,9 +2045,8 @@ struct mnt_namespace *copy_mnt_ns(unsign
+ 	return new_ns;
+ }
+ 
+-asmlinkage long sys_mount(char __user * dev_name, char __user * dir_name,
+-			  char __user * type, unsigned long flags,
+-			  void __user * data)
++SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name,
++		char __user *, type, unsigned long, flags, void __user *, data)
+ {
+ 	int retval;
+ 	unsigned long data_page;
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2009-01-19 11:55:54.000000000 -0700
++++ linux-source-2.6.26/fs/open.c	2009-01-19 12:17:22.000000000 -0700
+@@ -121,7 +121,7 @@ static int vfs_statfs64(struct dentry *d
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_statfs(const char __user * path, struct statfs __user * buf)
++SYSCALL_DEFINE2(statfs, const char __user *, path, struct statfs __user *, buf)
+ {
+ 	struct nameidata nd;
+ 	int error;
+@@ -137,8 +137,7 @@ asmlinkage long sys_statfs(const char __
+ 	return error;
+ }
+ 
+-
+-asmlinkage long sys_statfs64(const char __user *path, size_t sz, struct statfs64 __user *buf)
++SYSCALL_DEFINE3(statfs64, const char __user *, path, size_t, sz, struct statfs64 __user *, buf)
+ {
+ 	struct nameidata nd;
+ 	long error;
+@@ -156,8 +155,7 @@ asmlinkage long sys_statfs64(const char 
+ 	return error;
+ }
+ 
+-
+-asmlinkage long sys_fstatfs(unsigned int fd, struct statfs __user * buf)
++SYSCALL_DEFINE2(fstatfs, unsigned int, fd, struct statfs __user *, buf)
+ {
+ 	struct file * file;
+ 	struct statfs tmp;
+@@ -286,7 +284,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_truncate(const char __user * path, unsigned long length)
++SYSCALL_DEFINE2(truncate, const char __user *, path, unsigned long, length)
+ {
+ 	/* on 32-bit boxen it will cut the range 2^31--2^32-1 off */
+ 	return do_sys_truncate(path, (long)length);
+@@ -335,7 +333,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_ftruncate(unsigned int fd, unsigned long length)
++SYSCALL_DEFINE2(ftruncate, unsigned int, fd, unsigned long, length)
+ {
+ 	long ret = do_sys_ftruncate(fd, length, 1);
+ 	/* avoid REGPARM breakage on x86: */
+diff -urpN linux-source-2.6.26.orig/fs/stat.c linux-source-2.6.26/fs/stat.c
+--- linux-source-2.6.26.orig/fs/stat.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/stat.c	2009-01-19 12:15:07.000000000 -0700
+@@ -152,7 +152,7 @@ static int cp_old_stat(struct kstat *sta
+ 	return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
+ }
+ 
+-asmlinkage long sys_stat(char __user * filename, struct __old_kernel_stat __user * statbuf)
++SYSCALL_DEFINE2(stat, char __user *, filename, struct __old_kernel_stat __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_stat_fd(AT_FDCWD, filename, &stat);
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0021-System-call-wrappers-part-11.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0021-System-call-wrappers-part-11.patch
@@ -0,0 +1,117 @@
+From 257ac264d69017270fbc3cf5536953525db4076c Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:13 +0100
+Subject: [PATCH 21/44] [CVE-2009-0029] System call wrappers part 11
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 257ac264d69017270fbc3cf5536953525db4076c upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2009-01-19 12:17:22.000000000 -0700
++++ linux-source-2.6.26/fs/open.c	2009-01-19 12:18:41.000000000 -0700
+@@ -173,7 +173,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_fstatfs64(unsigned int fd, size_t sz, struct statfs64 __user *buf)
++SYSCALL_DEFINE3(fstatfs64, unsigned int, fd, size_t, sz, struct statfs64 __user *, buf)
+ {
+ 	struct file * file;
+ 	struct statfs64 tmp;
+diff -urpN linux-source-2.6.26.orig/fs/stat.c linux-source-2.6.26/fs/stat.c
+--- linux-source-2.6.26.orig/fs/stat.c	2009-01-19 12:15:07.000000000 -0700
++++ linux-source-2.6.26/fs/stat.c	2009-01-19 12:18:41.000000000 -0700
+@@ -162,7 +162,8 @@ SYSCALL_DEFINE2(stat, char __user *, fil
+ 
+ 	return error;
+ }
+-asmlinkage long sys_lstat(char __user * filename, struct __old_kernel_stat __user * statbuf)
++
++SYSCALL_DEFINE2(lstat, char __user *, filename, struct __old_kernel_stat __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_lstat_fd(AT_FDCWD, filename, &stat);
+@@ -172,7 +173,8 @@ asmlinkage long sys_lstat(char __user * 
+ 
+ 	return error;
+ }
+-asmlinkage long sys_fstat(unsigned int fd, struct __old_kernel_stat __user * statbuf)
++
++SYSCALL_DEFINE2(fstat, unsigned int, fd, struct __old_kernel_stat __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_fstat(fd, &stat);
+@@ -235,7 +237,7 @@ static int cp_new_stat(struct kstat *sta
+ 	return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
+ }
+ 
+-asmlinkage long sys_newstat(char __user *filename, struct stat __user *statbuf)
++SYSCALL_DEFINE2(newstat, char __user *, filename, struct stat __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_stat_fd(AT_FDCWD, filename, &stat);
+@@ -246,7 +248,7 @@ asmlinkage long sys_newstat(char __user 
+ 	return error;
+ }
+ 
+-asmlinkage long sys_newlstat(char __user *filename, struct stat __user *statbuf)
++SYSCALL_DEFINE2(newlstat, char __user *, filename, struct stat __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_lstat_fd(AT_FDCWD, filename, &stat);
+@@ -280,7 +282,7 @@ out:
+ }
+ #endif
+ 
+-asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf)
++SYSCALL_DEFINE2(newfstat, unsigned int, fd, struct stat __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_fstat(fd, &stat);
+@@ -365,7 +367,7 @@ static long cp_new_stat64(struct kstat *
+ 	return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
+ }
+ 
+-asmlinkage long sys_stat64(char __user * filename, struct stat64 __user * statbuf)
++SYSCALL_DEFINE2(stat64, char __user *, filename, struct stat64 __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_stat(filename, &stat);
+@@ -375,7 +377,8 @@ asmlinkage long sys_stat64(char __user *
+ 
+ 	return error;
+ }
+-asmlinkage long sys_lstat64(char __user * filename, struct stat64 __user * statbuf)
++
++SYSCALL_DEFINE2(lstat64, char __user *, filename, struct stat64 __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_lstat(filename, &stat);
+@@ -385,7 +388,8 @@ asmlinkage long sys_lstat64(char __user 
+ 
+ 	return error;
+ }
+-asmlinkage long sys_fstat64(unsigned long fd, struct stat64 __user * statbuf)
++
++SYSCALL_DEFINE2(fstat64, unsigned long, fd, struct stat64 __user *, statbuf)
+ {
+ 	struct kstat stat;
+ 	int error = vfs_fstat(fd, &stat);
+diff -urpN linux-source-2.6.26.orig/fs/super.c linux-source-2.6.26/fs/super.c
+--- linux-source-2.6.26.orig/fs/super.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/super.c	2009-01-19 12:18:41.000000000 -0700
+@@ -533,7 +533,7 @@ rescan:
+ 	return NULL;
+ }
+ 
+-asmlinkage long sys_ustat(unsigned dev, struct ustat __user * ubuf)
++SYSCALL_DEFINE2(ustat, unsigned, dev, struct ustat __user *, ubuf)
+ {
+         struct super_block *s;
+         struct ustat tmp;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0022-System-call-wrappers-part-12.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0022-System-call-wrappers-part-12.patch
@@ -0,0 +1,133 @@
+From 64fd1de3d821659ac0a3004fd5ee1de59e64af30 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:14 +0100
+Subject: [PATCH 22/44] [CVE-2009-0029] System call wrappers part 12
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 64fd1de3d821659ac0a3004fd5ee1de59e64af30 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/xattr.c linux-source-2.6.26/fs/xattr.c
+--- linux-source-2.6.26.orig/fs/xattr.c	2009-01-19 11:14:17.000000000 -0700
++++ linux-source-2.6.26/fs/xattr.c	2009-01-19 12:22:58.000000000 -0700
+@@ -251,9 +251,9 @@ setxattr(struct dentry *d, const char __
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_setxattr(const char __user *path, const char __user *name,
+-	     const void __user *value, size_t size, int flags)
++SYSCALL_DEFINE5(setxattr, const char __user *, path,
++		const char __user *, name, const void __user *, value,
++		size_t, size, int, flags)
+ {
+ 	struct nameidata nd;
+ 	int error;
+@@ -270,9 +270,9 @@ sys_setxattr(const char __user *path, co
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_lsetxattr(const char __user *path, const char __user *name,
+-	      const void __user *value, size_t size, int flags)
++SYSCALL_DEFINE5(lsetxattr, const char __user *, path,
++		const char __user *, name, const void __user *, value,
++		size_t, size, int, flags)
+ {
+ 	struct nameidata nd;
+ 	int error;
+@@ -289,9 +289,8 @@ sys_lsetxattr(const char __user *path, c
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_fsetxattr(int fd, const char __user *name, const void __user *value,
+-	      size_t size, int flags)
++SYSCALL_DEFINE5(fsetxattr, int, fd, const char __user *, name,
++		const void __user *,value, size_t, size, int, flags)
+ {
+ 	struct file *f;
+ 	struct dentry *dentry;
+@@ -349,9 +348,8 @@ getxattr(struct dentry *d, const char __
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_getxattr(const char __user *path, const char __user *name,
+-	     void __user *value, size_t size)
++SYSCALL_DEFINE4(getxattr, const char __user *, path,
++		const char __user *, name, void __user *, value, size_t, size)
+ {
+ 	struct nameidata nd;
+ 	ssize_t error;
+@@ -364,9 +362,8 @@ sys_getxattr(const char __user *path, co
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_lgetxattr(const char __user *path, const char __user *name, void __user *value,
+-	      size_t size)
++SYSCALL_DEFINE4(lgetxattr, const char __user *, path,
++		const char __user *, name, void __user *, value, size_t, size)
+ {
+ 	struct nameidata nd;
+ 	ssize_t error;
+@@ -379,8 +376,8 @@ sys_lgetxattr(const char __user *path, c
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_fgetxattr(int fd, const char __user *name, void __user *value, size_t size)
++SYSCALL_DEFINE4(fgetxattr, int, fd, const char __user *, name,
++		void __user *, value, size_t, size)
+ {
+ 	struct file *f;
+ 	ssize_t error = -EBADF;
+@@ -424,8 +421,8 @@ listxattr(struct dentry *d, char __user 
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_listxattr(const char __user *path, char __user *list, size_t size)
++SYSCALL_DEFINE3(listxattr, const char __user *, path, char __user *, list,
++		size_t, size)
+ {
+ 	struct nameidata nd;
+ 	ssize_t error;
+@@ -438,8 +435,8 @@ sys_listxattr(const char __user *path, c
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_llistxattr(const char __user *path, char __user *list, size_t size)
++SYSCALL_DEFINE3(llistxattr, const char __user *, path, char __user *, list,
++		size_t, size)
+ {
+ 	struct nameidata nd;
+ 	ssize_t error;
+@@ -452,8 +449,7 @@ sys_llistxattr(const char __user *path, 
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_flistxattr(int fd, char __user *list, size_t size)
++SYSCALL_DEFINE3(flistxattr, int, fd, char __user *, list, size_t, size)
+ {
+ 	struct file *f;
+ 	ssize_t error = -EBADF;
+@@ -485,8 +481,8 @@ removexattr(struct dentry *d, const char
+ 	return vfs_removexattr(d, kname);
+ }
+ 
+-asmlinkage long
+-sys_removexattr(const char __user *path, const char __user *name)
++SYSCALL_DEFINE2(removexattr, const char __user *, path,
++		const char __user *, name)
+ {
+ 	struct nameidata nd;
+ 	int error;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0023-System-call-wrappers-part-13.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0023-System-call-wrappers-part-13.patch
@@ -0,0 +1,170 @@
+From 6a6160a7b5c27b3c38651baef92a14fa7072b3c1 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:15 +0100
+Subject: [PATCH 23/44] [CVE-2009-0029] System call wrappers part 13
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 6a6160a7b5c27b3c38651baef92a14fa7072b3c1 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/xattr.c linux-source-2.6.26/fs/xattr.c
+--- linux-source-2.6.26.orig/fs/xattr.c	2009-01-19 12:22:58.000000000 -0700
++++ linux-source-2.6.26/fs/xattr.c	2009-01-19 12:24:41.000000000 -0700
+@@ -499,8 +499,8 @@ SYSCALL_DEFINE2(removexattr, const char 
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_lremovexattr(const char __user *path, const char __user *name)
++SYSCALL_DEFINE2(lremovexattr, const char __user *, path,
++		const char __user *, name)
+ {
+ 	struct nameidata nd;
+ 	int error;
+@@ -517,8 +517,7 @@ sys_lremovexattr(const char __user *path
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_fremovexattr(int fd, const char __user *name)
++SYSCALL_DEFINE2(fremovexattr, int, fd, const char __user *, name)
+ {
+ 	struct file *f;
+ 	struct dentry *dentry;
+diff -urpN linux-source-2.6.26.orig/mm/fremap.c linux-source-2.6.26/mm/fremap.c
+--- linux-source-2.6.26.orig/mm/fremap.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/fremap.c	2009-01-19 12:24:06.000000000 -0700
+@@ -117,8 +117,8 @@ static int populate_range(struct mm_stru
+  * and the vma's default protection is used. Arbitrary protections
+  * might be implemented in the future.
+  */
+-asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size,
+-	unsigned long prot, unsigned long pgoff, unsigned long flags)
++SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
++		unsigned long, prot, unsigned long, pgoff, unsigned long, flags)
+ {
+ 	struct mm_struct *mm = current->mm;
+ 	struct address_space *mapping;
+diff -urpN linux-source-2.6.26.orig/mm/mlock.c linux-source-2.6.26/mm/mlock.c
+--- linux-source-2.6.26.orig/mm/mlock.c	2009-01-10 05:42:11.000000000 -0700
++++ linux-source-2.6.26/mm/mlock.c	2009-01-19 12:24:06.000000000 -0700
+@@ -130,7 +130,7 @@ static int do_mlock(unsigned long start,
+ 	return error;
+ }
+ 
+-asmlinkage long sys_mlock(unsigned long start, size_t len)
++SYSCALL_DEFINE2(mlock, unsigned long, start, size_t, len)
+ {
+ 	unsigned long locked;
+ 	unsigned long lock_limit;
+@@ -156,7 +156,7 @@ asmlinkage long sys_mlock(unsigned long 
+ 	return error;
+ }
+ 
+-asmlinkage long sys_munlock(unsigned long start, size_t len)
++SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len)
+ {
+ 	int ret;
+ 
+diff -urpN linux-source-2.6.26.orig/mm/mmap.c linux-source-2.6.26/mm/mmap.c
+--- linux-source-2.6.26.orig/mm/mmap.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/mm/mmap.c	2009-01-19 12:24:06.000000000 -0700
+@@ -240,7 +240,7 @@ static struct vm_area_struct *remove_vma
+ 	return next;
+ }
+ 
+-asmlinkage long sys_brk(unsigned long brk)
++SYSCALL_DEFINE1(brk, unsigned long, brk)
+ {
+ 	unsigned long rlim, retval;
+ 	unsigned long newbrk, oldbrk;
+@@ -1915,7 +1915,7 @@ int do_munmap(struct mm_struct *mm, unsi
+ 
+ EXPORT_SYMBOL(do_munmap);
+ 
+-asmlinkage long sys_munmap(unsigned long addr, size_t len)
++SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
+ {
+ 	int ret;
+ 	struct mm_struct *mm = current->mm;
+diff -urpN linux-source-2.6.26.orig/mm/mprotect.c linux-source-2.6.26/mm/mprotect.c
+--- linux-source-2.6.26.orig/mm/mprotect.c	2009-01-10 05:42:11.000000000 -0700
++++ linux-source-2.6.26/mm/mprotect.c	2009-01-19 12:24:06.000000000 -0700
+@@ -218,8 +218,8 @@ fail:
+ 	return error;
+ }
+ 
+-asmlinkage long
+-sys_mprotect(unsigned long start, size_t len, unsigned long prot)
++SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
++		unsigned long, prot)
+ {
+ 	unsigned long vm_flags, nstart, end, tmp, reqprot;
+ 	struct vm_area_struct *vma, *prev;
+diff -urpN linux-source-2.6.26.orig/mm/mremap.c linux-source-2.6.26/mm/mremap.c
+--- linux-source-2.6.26.orig/mm/mremap.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/mm/mremap.c	2009-01-19 12:24:06.000000000 -0700
+@@ -412,9 +412,9 @@ out_nc:
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_mremap(unsigned long addr,
+-	unsigned long old_len, unsigned long new_len,
+-	unsigned long flags, unsigned long new_addr)
++SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
++		unsigned long, new_len, unsigned long, flags,
++		unsigned long, new_addr)
+ {
+ 	unsigned long ret;
+ 
+diff -urpN linux-source-2.6.26.orig/mm/msync.c linux-source-2.6.26/mm/msync.c
+--- linux-source-2.6.26.orig/mm/msync.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/msync.c	2009-01-19 12:24:06.000000000 -0700
+@@ -28,7 +28,7 @@
+  * So by _not_ starting I/O in MS_ASYNC we provide complete flexibility to
+  * applications.
+  */
+-asmlinkage long sys_msync(unsigned long start, size_t len, int flags)
++SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags)
+ {
+ 	unsigned long end;
+ 	struct mm_struct *mm = current->mm;
+diff -urpN linux-source-2.6.26.orig/mm/nommu.c linux-source-2.6.26/mm/nommu.c
+--- linux-source-2.6.26.orig/mm/nommu.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/mm/nommu.c	2009-01-19 12:24:06.000000000 -0700
+@@ -334,7 +334,7 @@ EXPORT_SYMBOL(vm_insert_page);
+  *  to a regular file.  in this case, the unmapping will need
+  *  to invoke file system routines that need the global lock.
+  */
+-asmlinkage long sys_brk(unsigned long brk)
++SYSCALL_DEFINE1(brk, unsigned long, brk)
+ {
+ 	struct mm_struct *mm = current->mm;
+ 
+@@ -1149,7 +1149,7 @@ int do_munmap(struct mm_struct *mm, unsi
+ }
+ EXPORT_SYMBOL(do_munmap);
+ 
+-asmlinkage long sys_munmap(unsigned long addr, size_t len)
++SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
+ {
+ 	int ret;
+ 	struct mm_struct *mm = current->mm;
+@@ -1240,9 +1240,9 @@ unsigned long do_mremap(unsigned long ad
+ }
+ EXPORT_SYMBOL(do_mremap);
+ 
+-asmlinkage unsigned long sys_mremap(unsigned long addr,
+-	unsigned long old_len, unsigned long new_len,
+-	unsigned long flags, unsigned long new_addr)
++SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
++		unsigned long, new_len, unsigned long, flags,
++		unsigned long, new_addr)
+ {
+ 	unsigned long ret;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0024-System-call-wrappers-part-14.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0024-System-call-wrappers-part-14.patch
@@ -0,0 +1,126 @@
+From 3480b25743cb7404928d57efeaa3d085708b04c2 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:16 +0100
+Subject: [PATCH 24/44] [CVE-2009-0029] System call wrappers part 14
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 3480b25743cb7404928d57efeaa3d085708b04c2 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/namei.c linux-source-2.6.26/fs/namei.c
+--- linux-source-2.6.26.orig/fs/namei.c	2009-01-10 05:42:11.000000000 -0700
++++ linux-source-2.6.26/fs/namei.c	2009-01-19 12:25:45.000000000 -0700
+@@ -2138,7 +2138,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_mknod(const char __user *filename, int mode, unsigned dev)
++SYSCALL_DEFINE3(mknod, const char __user *, filename, int, mode, unsigned, dev)
+ {
+ 	return sys_mknodat(AT_FDCWD, filename, mode, dev);
+ }
+@@ -2419,7 +2419,7 @@ asmlinkage long sys_unlinkat(int dfd, co
+ 	return do_unlinkat(dfd, pathname);
+ }
+ 
+-asmlinkage long sys_unlink(const char __user *pathname)
++SYSCALL_DEFINE1(unlink, const char __user *, pathname)
+ {
+ 	return do_unlinkat(AT_FDCWD, pathname);
+ }
+@@ -2487,7 +2487,7 @@ out_putname:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_symlink(const char __user *oldname, const char __user *newname)
++SYSCALL_DEFINE2(symlink, const char __user *, oldname, const char __user *, newname)
+ {
+ 	return sys_symlinkat(oldname, AT_FDCWD, newname);
+ }
+@@ -2589,7 +2589,7 @@ exit:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_link(const char __user *oldname, const char __user *newname)
++SYSCALL_DEFINE2(link, const char __user *, oldname, const char __user *, newname)
+ {
+ 	return sys_linkat(AT_FDCWD, oldname, AT_FDCWD, newname, 0);
+ }
+diff -urpN linux-source-2.6.26.orig/fs/namespace.c linux-source-2.6.26/fs/namespace.c
+--- linux-source-2.6.26.orig/fs/namespace.c	2009-01-19 12:15:07.000000000 -0700
++++ linux-source-2.6.26/fs/namespace.c	2009-01-19 12:25:45.000000000 -0700
+@@ -2171,8 +2171,8 @@ static void chroot_fs_refs(struct path *
+  *    though, so you may need to say mount --bind /nfs/my_root /nfs/my_root
+  *    first.
+  */
+-asmlinkage long sys_pivot_root(const char __user * new_root,
+-			       const char __user * put_old)
++SYSCALL_DEFINE2(pivot_root, const char __user *, new_root,
++		const char __user *, put_old)
+ {
+ 	struct vfsmount *tmp;
+ 	struct nameidata new_nd, old_nd;
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2009-01-19 12:18:41.000000000 -0700
++++ linux-source-2.6.26/fs/open.c	2009-01-19 12:25:45.000000000 -0700
+@@ -562,7 +562,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_chroot(const char __user * filename)
++SYSCALL_DEFINE1(chroot, const char __user *, filename)
+ {
+ 	struct nameidata nd;
+ 	int error;
+diff -urpN linux-source-2.6.26.orig/mm/madvise.c linux-source-2.6.26/mm/madvise.c
+--- linux-source-2.6.26.orig/mm/madvise.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/madvise.c	2009-01-19 12:25:45.000000000 -0700
+@@ -281,7 +281,7 @@ madvise_vma(struct vm_area_struct *vma, 
+  *  -EBADF  - map exists, but area maps something that isn't a file.
+  *  -EAGAIN - a kernel resource was temporarily unavailable.
+  */
+-asmlinkage long sys_madvise(unsigned long start, size_t len_in, int behavior)
++SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior)
+ {
+ 	unsigned long end, tmp;
+ 	struct vm_area_struct * vma, *prev;
+diff -urpN linux-source-2.6.26.orig/mm/mincore.c linux-source-2.6.26/mm/mincore.c
+--- linux-source-2.6.26.orig/mm/mincore.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/mincore.c	2009-01-19 12:25:45.000000000 -0700
+@@ -177,8 +177,8 @@ none_mapped:
+  *		mapped
+  *  -EAGAIN - A kernel resource was temporarily unavailable.
+  */
+-asmlinkage long sys_mincore(unsigned long start, size_t len,
+-	unsigned char __user * vec)
++SYSCALL_DEFINE3(mincore, unsigned long, start, size_t, len,
++		unsigned char __user *, vec)
+ {
+ 	long retval;
+ 	unsigned long pages;
+diff -urpN linux-source-2.6.26.orig/mm/mlock.c linux-source-2.6.26/mm/mlock.c
+--- linux-source-2.6.26.orig/mm/mlock.c	2009-01-19 12:24:06.000000000 -0700
++++ linux-source-2.6.26/mm/mlock.c	2009-01-19 12:25:45.000000000 -0700
+@@ -193,7 +193,7 @@ out:
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_mlockall(int flags)
++SYSCALL_DEFINE1(mlockall, int, flags)
+ {
+ 	unsigned long lock_limit;
+ 	int ret = -EINVAL;
+@@ -219,7 +219,7 @@ out:
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_munlockall(void)
++SYSCALL_DEFINE0(munlockall)
+ {
+ 	int ret;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0025-System-call-wrappers-part-15.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0025-System-call-wrappers-part-15.patch
@@ -0,0 +1,99 @@
+From a26eab2400f0477bfac0255600552394855016f7 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:17 +0100
+Subject: [PATCH 25/44] [CVE-2009-0029] System call wrappers part 15
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit a26eab2400f0477bfac0255600552394855016f7 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/fcntl.c linux-source-2.6.26/fs/fcntl.c
+--- linux-source-2.6.26.orig/fs/fcntl.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/fcntl.c	2009-01-19 12:26:42.000000000 -0700
+@@ -126,7 +126,7 @@ static int dupfd(struct file *file, unsi
+ 	return fd;
+ }
+ 
+-asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd)
++SYSCALL_DEFINE2(dup2, unsigned int, oldfd, unsigned int, newfd)
+ {
+ 	int err = -EBADF;
+ 	struct file * file, *tofree;
+@@ -182,7 +182,7 @@ out_fput:
+ 	goto out;
+ }
+ 
+-asmlinkage long sys_dup(unsigned int fildes)
++SYSCALL_DEFINE1(dup, unsigned int, fildes)
+ {
+ 	int ret = -EBADF;
+ 	struct file * file = fget(fildes);
+@@ -376,7 +376,7 @@ static long do_fcntl(int fd, unsigned in
+ 	return err;
+ }
+ 
+-asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg)
++SYSCALL_DEFINE3(fcntl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
+ {	
+ 	struct file *filp;
+ 	long err = -EBADF;
+@@ -399,7 +399,8 @@ out:
+ }
+ 
+ #if BITS_PER_LONG == 32
+-asmlinkage long sys_fcntl64(unsigned int fd, unsigned int cmd, unsigned long arg)
++SYSCALL_DEFINE3(fcntl64, unsigned int, fd, unsigned int, cmd,
++		unsigned long, arg)
+ {	
+ 	struct file * filp;
+ 	long err;
+diff -urpN linux-source-2.6.26.orig/fs/ioctl.c linux-source-2.6.26/fs/ioctl.c
+--- linux-source-2.6.26.orig/fs/ioctl.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/ioctl.c	2009-01-19 12:26:42.000000000 -0700
+@@ -191,7 +191,7 @@ int do_vfs_ioctl(struct file *filp, unsi
+ 	return error;
+ }
+ 
+-asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
++SYSCALL_DEFINE3(ioctl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
+ {
+ 	struct file *filp;
+ 	int error = -EBADF;
+diff -urpN linux-source-2.6.26.orig/fs/namei.c linux-source-2.6.26/fs/namei.c
+--- linux-source-2.6.26.orig/fs/namei.c	2009-01-19 12:25:45.000000000 -0700
++++ linux-source-2.6.26/fs/namei.c	2009-01-19 12:26:42.000000000 -0700
+@@ -2841,7 +2841,7 @@ asmlinkage long sys_renameat(int olddfd,
+ 	return error;
+ }
+ 
+-asmlinkage long sys_rename(const char __user *oldname, const char __user *newname)
++SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newname)
+ {
+ 	return sys_renameat(AT_FDCWD, oldname, AT_FDCWD, newname);
+ }
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2009-01-19 12:25:45.000000000 -0700
++++ linux-source-2.6.26/fs/open.c	2009-01-19 12:26:42.000000000 -0700
+@@ -588,7 +588,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_fchmod(unsigned int fd, mode_t mode)
++SYSCALL_DEFINE2(fchmod, unsigned int, fd, mode_t, mode)
+ {
+ 	struct inode * inode;
+ 	struct dentry * dentry;
+@@ -664,7 +664,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_chmod(const char __user *filename, mode_t mode)
++SYSCALL_DEFINE2(chmod, const char __user *, filename, mode_t, mode)
+ {
+ 	return sys_fchmodat(AT_FDCWD, filename, mode);
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0026-System-call-wrappers-part-16.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0026-System-call-wrappers-part-16.patch
@@ -0,0 +1,133 @@
+From 002c8976ee537724b20a5e179d9b349309438836 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:18 +0100
+Subject: [PATCH 26/44] [CVE-2009-0029] System call wrappers part 16
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 002c8976ee537724b20a5e179d9b349309438836 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/aio.c linux-source-2.6.26/fs/aio.c
+--- linux-source-2.6.26.orig/fs/aio.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/aio.c	2009-01-19 12:30:49.000000000 -0700
+@@ -1260,7 +1260,7 @@ static void io_destroy(struct kioctx *io
+  *	pointer is passed for ctxp.  Will fail with -ENOSYS if not
+  *	implemented.
+  */
+-asmlinkage long sys_io_setup(unsigned nr_events, aio_context_t __user *ctxp)
++SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
+ {
+ 	struct kioctx *ioctx = NULL;
+ 	unsigned long ctx;
+@@ -1298,7 +1298,7 @@ out:
+  *	implemented.  May fail with -EFAULT if the context pointed to
+  *	is invalid.
+  */
+-asmlinkage long sys_io_destroy(aio_context_t ctx)
++SYSCALL_DEFINE1(io_destroy, aio_context_t, ctx)
+ {
+ 	struct kioctx *ioctx = lookup_ioctx(ctx);
+ 	if (likely(NULL != ioctx)) {
+@@ -1652,8 +1652,8 @@ out_put_req:
+  *	are available to queue any iocbs.  Will return 0 if nr is 0.  Will
+  *	fail with -ENOSYS if not implemented.
+  */
+-asmlinkage long sys_io_submit(aio_context_t ctx_id, long nr,
+-			      struct iocb __user * __user *iocbpp)
++SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
++		struct iocb __user * __user *, iocbpp)
+ {
+ 	struct kioctx *ctx;
+ 	long ret = 0;
+@@ -1727,8 +1727,8 @@ static struct kiocb *lookup_kiocb(struct
+  *	invalid.  May fail with -EAGAIN if the iocb specified was not
+  *	cancelled.  Will fail with -ENOSYS if not implemented.
+  */
+-asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb,
+-			      struct io_event __user *result)
++SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
++		struct io_event __user *, result)
+ {
+ 	int (*cancel)(struct kiocb *iocb, struct io_event *res);
+ 	struct kioctx *ctx;
+@@ -1789,11 +1789,11 @@ asmlinkage long sys_io_cancel(aio_contex
+  *	will be updated if not NULL and the operation blocks.  Will fail
+  *	with -ENOSYS if not implemented.
+  */
+-asmlinkage long sys_io_getevents(aio_context_t ctx_id,
+-				 long min_nr,
+-				 long nr,
+-				 struct io_event __user *events,
+-				 struct timespec __user *timeout)
++SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
++		long, min_nr,
++		long, nr,
++		struct io_event __user *, events,
++		struct timespec __user *, timeout)
+ {
+ 	struct kioctx *ioctx = lookup_ioctx(ctx_id);
+ 	long ret = -EINVAL;
+diff -urpN linux-source-2.6.26.orig/fs/locks.c linux-source-2.6.26/fs/locks.c
+--- linux-source-2.6.26.orig/fs/locks.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/locks.c	2009-01-19 12:30:49.000000000 -0700
+@@ -1564,7 +1564,7 @@ EXPORT_SYMBOL(flock_lock_file_wait);
+  *	%LOCK_MAND can be combined with %LOCK_READ or %LOCK_WRITE to allow other
+  *	processes read and write access respectively.
+  */
+-asmlinkage long sys_flock(unsigned int fd, unsigned int cmd)
++SYSCALL_DEFINE2(flock, unsigned int, fd, unsigned int, cmd)
+ {
+ 	struct file *filp;
+ 	struct file_lock *lock;
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2009-01-19 12:26:42.000000000 -0700
++++ linux-source-2.6.26/fs/open.c	2009-01-19 12:30:49.000000000 -0700
+@@ -1155,7 +1155,7 @@ asmlinkage long sys_openat(int dfd, cons
+  * For backward compatibility?  Maybe this should be moved
+  * into arch/i386 instead?
+  */
+-asmlinkage long sys_creat(const char __user * pathname, int mode)
++SYSCALL_DEFINE2(creat, const char __user *, pathname, int, mode)
+ {
+ 	return sys_open(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode);
+ }
+diff -urpN linux-source-2.6.26.orig/fs/read_write.c linux-source-2.6.26/fs/read_write.c
+--- linux-source-2.6.26.orig/fs/read_write.c	2009-01-19 11:55:54.000000000 -0700
++++ linux-source-2.6.26/fs/read_write.c	2009-01-19 12:30:49.000000000 -0700
+@@ -809,7 +809,7 @@ out:
+ 	return retval;
+ }
+ 
+-asmlinkage long sys_sendfile(int out_fd, int in_fd, off_t __user *offset, size_t count)
++SYSCALL_DEFINE4(sendfile, int, out_fd, int, in_fd, off_t __user *, offset, size_t, count)
+ {
+ 	loff_t pos;
+ 	off_t off;
+@@ -828,7 +828,7 @@ asmlinkage long sys_sendfile(int out_fd,
+ 	return do_sendfile(out_fd, in_fd, NULL, count, 0);
+ }
+ 
+-asmlinkage long sys_sendfile64(int out_fd, int in_fd, loff_t __user *offset, size_t count)
++SYSCALL_DEFINE4(sendfile64, int, out_fd, int, in_fd, loff_t __user *, offset, size_t, count)
+ {
+ 	loff_t pos;
+ 	ssize_t ret;
+diff -urpN linux-source-2.6.26.orig/fs/stat.c linux-source-2.6.26/fs/stat.c
+--- linux-source-2.6.26.orig/fs/stat.c	2009-01-19 12:18:41.000000000 -0700
++++ linux-source-2.6.26/fs/stat.c	2009-01-19 12:30:49.000000000 -0700
+@@ -320,8 +320,8 @@ asmlinkage long sys_readlinkat(int dfd, 
+ 	return error;
+ }
+ 
+-asmlinkage long sys_readlink(const char __user *path, char __user *buf,
+-				int bufsiz)
++SYSCALL_DEFINE3(readlink, const char __user *, path, char __user *, buf,
++		int, bufsiz)
+ {
+ 	return sys_readlinkat(AT_FDCWD, path, buf, bufsiz);
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0027-System-call-wrappers-part-17.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0027-System-call-wrappers-part-17.patch
@@ -0,0 +1,118 @@
+From ca013e945b1ba5828b151ee646946f1297b67a4c Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:19 +0100
+Subject: [PATCH 27/44] [CVE-2009-0029] System call wrappers part 17
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit ca013e945b1ba5828b151ee646946f1297b67a4c upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2009-01-19 12:30:49.000000000 -0700
++++ linux-source-2.6.26/fs/open.c	2009-01-19 12:31:38.000000000 -0700
+@@ -509,7 +509,7 @@ out:
+ 	return res;
+ }
+ 
+-asmlinkage long sys_access(const char __user *filename, int mode)
++SYSCALL_DEFINE2(access, const char __user *, filename, int, mode)
+ {
+ 	return sys_faccessat(AT_FDCWD, filename, mode);
+ }
+@@ -702,7 +702,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_chown(const char __user * filename, uid_t user, gid_t group)
++SYSCALL_DEFINE3(chown, const char __user *, filename, uid_t, user, gid_t, group)
+ {
+ 	struct nameidata nd;
+ 	int error;
+@@ -746,7 +746,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_lchown(const char __user * filename, uid_t user, gid_t group)
++SYSCALL_DEFINE3(lchown, const char __user *, filename, uid_t, user, gid_t, group)
+ {
+ 	struct nameidata nd;
+ 	int error;
+@@ -765,8 +765,7 @@ out:
+ 	return error;
+ }
+ 
+-
+-asmlinkage long sys_fchown(unsigned int fd, uid_t user, gid_t group)
++SYSCALL_DEFINE3(fchown, unsigned int, fd, uid_t, user, gid_t, group)
+ {
+ 	struct file * file;
+ 	int error = -EBADF;
+@@ -1122,7 +1121,7 @@ long do_sys_open(int dfd, const char __u
+ 	return fd;
+ }
+ 
+-asmlinkage long sys_open(const char __user *filename, int flags, int mode)
++SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, int, mode)
+ {
+ 	long ret;
+ 
+@@ -1191,7 +1190,7 @@ EXPORT_SYMBOL(filp_close);
+  * releasing the fd. This ensures that one clone task can't release
+  * an fd while another clone is opening it.
+  */
+-asmlinkage long sys_close(unsigned int fd)
++SYSCALL_DEFINE1(close, unsigned int, fd)
+ {
+ 	struct file * filp;
+ 	struct files_struct *files = current->files;
+@@ -1224,14 +1223,13 @@ out_unlock:
+ 	spin_unlock(&files->file_lock);
+ 	return -EBADF;
+ }
+-
+ EXPORT_SYMBOL(sys_close);
+ 
+ /*
+  * This routine simulates a hangup on the tty, to arrange that users
+  * are given clean terminals at login time.
+  */
+-asmlinkage long sys_vhangup(void)
++SYSCALL_DEFINE0(vhangup)
+ {
+ 	if (capable(CAP_SYS_TTY_CONFIG)) {
+ 		/* XXX: this needs locking */
+diff -urpN linux-source-2.6.26.orig/kernel/uid16.c linux-source-2.6.26/kernel/uid16.c
+--- linux-source-2.6.26.orig/kernel/uid16.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/uid16.c	2009-01-19 12:31:38.000000000 -0700
+@@ -17,7 +17,7 @@
+ 
+ #include <asm/uaccess.h>
+ 
+-asmlinkage long sys_chown16(const char __user * filename, old_uid_t user, old_gid_t group)
++SYSCALL_DEFINE3(chown16, const char __user *, filename, old_uid_t, user, old_gid_t, group)
+ {
+ 	long ret = sys_chown(filename, low2highuid(user), low2highgid(group));
+ 	/* avoid REGPARM breakage on x86: */
+@@ -25,7 +25,7 @@ asmlinkage long sys_chown16(const char _
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_lchown16(const char __user * filename, old_uid_t user, old_gid_t group)
++SYSCALL_DEFINE3(lchown16, const char __user *, filename, old_uid_t, user, old_gid_t, group)
+ {
+ 	long ret = sys_lchown(filename, low2highuid(user), low2highgid(group));
+ 	/* avoid REGPARM breakage on x86: */
+@@ -33,7 +33,7 @@ asmlinkage long sys_lchown16(const char 
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_fchown16(unsigned int fd, old_uid_t user, old_gid_t group)
++SYSCALL_DEFINE3(fchown16, unsigned int, fd, old_uid_t, user, old_gid_t, group)
+ {
+ 	long ret = sys_fchown(fd, low2highuid(user), low2highgid(group));
+ 	/* avoid REGPARM breakage on x86: */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0028-System-call-wrappers-part-18.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0028-System-call-wrappers-part-18.patch
@@ -0,0 +1,108 @@
+From a6b42e83f249aad723589b2bdf6d1dfb2b0997c8 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:20 +0100
+Subject: [PATCH 28/44] [CVE-2009-0029] System call wrappers part 18
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit a6b42e83f249aad723589b2bdf6d1dfb2b0997c8 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ kernel/uid16.c |   21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+--- a/kernel/uid16.c
++++ b/kernel/uid16.c
+@@ -41,7 +41,7 @@ SYSCALL_DEFINE3(fchown16, unsigned int, 
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_setregid16(old_gid_t rgid, old_gid_t egid)
++SYSCALL_DEFINE2(setregid16, old_gid_t, rgid, old_gid_t, egid)
+ {
+ 	long ret = sys_setregid(low2highgid(rgid), low2highgid(egid));
+ 	/* avoid REGPARM breakage on x86: */
+@@ -49,7 +49,7 @@ asmlinkage long sys_setregid16(old_gid_t
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_setgid16(old_gid_t gid)
++SYSCALL_DEFINE1(setgid16, old_gid_t, gid)
+ {
+ 	long ret = sys_setgid(low2highgid(gid));
+ 	/* avoid REGPARM breakage on x86: */
+@@ -57,7 +57,7 @@ asmlinkage long sys_setgid16(old_gid_t g
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_setreuid16(old_uid_t ruid, old_uid_t euid)
++SYSCALL_DEFINE2(setreuid16, old_uid_t, ruid, old_uid_t, euid)
+ {
+ 	long ret = sys_setreuid(low2highuid(ruid), low2highuid(euid));
+ 	/* avoid REGPARM breakage on x86: */
+@@ -65,7 +65,7 @@ asmlinkage long sys_setreuid16(old_uid_t
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_setuid16(old_uid_t uid)
++SYSCALL_DEFINE1(setuid16, old_uid_t, uid)
+ {
+ 	long ret = sys_setuid(low2highuid(uid));
+ 	/* avoid REGPARM breakage on x86: */
+@@ -73,7 +73,7 @@ asmlinkage long sys_setuid16(old_uid_t u
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_setresuid16(old_uid_t ruid, old_uid_t euid, old_uid_t suid)
++SYSCALL_DEFINE3(setresuid16, old_uid_t, ruid, old_uid_t, euid, old_uid_t, suid)
+ {
+ 	long ret = sys_setresuid(low2highuid(ruid), low2highuid(euid),
+ 				 low2highuid(suid));
+@@ -82,7 +82,7 @@ asmlinkage long sys_setresuid16(old_uid_
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_getresuid16(old_uid_t __user *ruid, old_uid_t __user *euid, old_uid_t __user *suid)
++SYSCALL_DEFINE3(getresuid16, old_uid_t __user *, ruid, old_uid_t __user *, euid, old_uid_t __user *, suid)
+ {
+ 	int retval;
+ 
+@@ -93,7 +93,7 @@ asmlinkage long sys_getresuid16(old_uid_
+ 	return retval;
+ }
+ 
+-asmlinkage long sys_setresgid16(old_gid_t rgid, old_gid_t egid, old_gid_t sgid)
++SYSCALL_DEFINE3(setresgid16, old_gid_t, rgid, old_gid_t, egid, old_gid_t, sgid)
+ {
+ 	long ret = sys_setresgid(low2highgid(rgid), low2highgid(egid),
+ 				 low2highgid(sgid));
+@@ -102,7 +102,8 @@ asmlinkage long sys_setresgid16(old_gid_
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_getresgid16(old_gid_t __user *rgid, old_gid_t __user *egid, old_gid_t __user *sgid)
++
++SYSCALL_DEFINE3(getresgid16, old_gid_t __user *, rgid, old_gid_t __user *, egid, old_gid_t __user *, sgid)
+ {
+ 	int retval;
+ 
+@@ -113,7 +114,7 @@ asmlinkage long sys_getresgid16(old_gid_
+ 	return retval;
+ }
+ 
+-asmlinkage long sys_setfsuid16(old_uid_t uid)
++SYSCALL_DEFINE1(setfsuid16, old_uid_t, uid)
+ {
+ 	long ret = sys_setfsuid(low2highuid(uid));
+ 	/* avoid REGPARM breakage on x86: */
+@@ -121,7 +122,7 @@ asmlinkage long sys_setfsuid16(old_uid_t
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_setfsgid16(old_gid_t gid)
++SYSCALL_DEFINE1(setfsgid16, old_gid_t, gid)
+ {
+ 	long ret = sys_setfsgid(low2highgid(gid));
+ 	/* avoid REGPARM breakage on x86: */
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0029-System-call-wrappers-part-19.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0029-System-call-wrappers-part-19.patch
@@ -0,0 +1,109 @@
+From 003d7ab479168132a2b2c6700fe682b08f08ab0c Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:21 +0100
+Subject: [PATCH 29/44] [CVE-2009-0029] System call wrappers part 19
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 003d7ab479168132a2b2c6700fe682b08f08ab0c upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/read_write.c linux-source-2.6.26/fs/read_write.c
+--- linux-source-2.6.26.orig/fs/read_write.c	2009-01-19 12:30:49.000000000 -0700
++++ linux-source-2.6.26/fs/read_write.c	2009-01-19 12:32:59.000000000 -0700
+@@ -128,7 +128,7 @@ loff_t vfs_llseek(struct file *file, lof
+ }
+ EXPORT_SYMBOL(vfs_llseek);
+ 
+-asmlinkage long sys_lseek(unsigned int fd, off_t offset, unsigned int origin)
++SYSCALL_DEFINE3(lseek, unsigned int, fd, off_t, offset, unsigned int, origin)
+ {
+ 	off_t retval;
+ 	struct file * file;
+@@ -152,9 +152,9 @@ bad:
+ }
+ 
+ #ifdef __ARCH_WANT_SYS_LLSEEK
+-asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high,
+-			   unsigned long offset_low, loff_t __user * result,
+-			   unsigned int origin)
++SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high,
++		unsigned long, offset_low, loff_t __user *, result,
++		unsigned int, origin)
+ {
+ 	int retval;
+ 	struct file * file;
+diff -urpN linux-source-2.6.26.orig/fs/utimes.c linux-source-2.6.26/fs/utimes.c
+--- linux-source-2.6.26.orig/fs/utimes.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/utimes.c	2009-01-19 12:32:59.000000000 -0700
+@@ -24,7 +24,7 @@
+  * must be owner or have write permission.
+  * Else, update from *times, must be owner or super user.
+  */
+-asmlinkage long sys_utime(char __user *filename, struct utimbuf __user *times)
++SYSCALL_DEFINE2(utime, char __user *, filename, struct utimbuf __user *, times)
+ {
+ 	struct timespec tv[2];
+ 
+@@ -211,7 +211,8 @@ asmlinkage long sys_futimesat(int dfd, c
+ 	return do_utimes(dfd, filename, utimes ? tstimes : NULL, 0);
+ }
+ 
+-asmlinkage long sys_utimes(char __user *filename, struct timeval __user *utimes)
++SYSCALL_DEFINE2(utimes, char __user *, filename,
++		struct timeval __user *, utimes)
+ {
+ 	return sys_futimesat(AT_FDCWD, filename, utimes);
+ }
+diff -urpN linux-source-2.6.26.orig/kernel/uid16.c linux-source-2.6.26/kernel/uid16.c
+--- linux-source-2.6.26.orig/kernel/uid16.c	2009-01-19 12:32:45.000000000 -0700
++++ linux-source-2.6.26/kernel/uid16.c	2009-01-19 12:32:59.000000000 -0700
+@@ -160,7 +160,7 @@ static int groups16_from_user(struct gro
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist)
++SYSCALL_DEFINE2(getgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
+ {
+ 	int i = 0;
+ 
+@@ -184,7 +184,7 @@ out:
+ 	return i;
+ }
+ 
+-asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist)
++SYSCALL_DEFINE2(setgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
+ {
+ 	struct group_info *group_info;
+ 	int retval;
+@@ -209,22 +209,22 @@ asmlinkage long sys_setgroups16(int gids
+ 	return retval;
+ }
+ 
+-asmlinkage long sys_getuid16(void)
++SYSCALL_DEFINE0(getuid16)
+ {
+ 	return high2lowuid(current->uid);
+ }
+ 
+-asmlinkage long sys_geteuid16(void)
++SYSCALL_DEFINE0(geteuid16)
+ {
+ 	return high2lowuid(current->euid);
+ }
+ 
+-asmlinkage long sys_getgid16(void)
++SYSCALL_DEFINE0(getgid16)
+ {
+ 	return high2lowgid(current->gid);
+ }
+ 
+-asmlinkage long sys_getegid16(void)
++SYSCALL_DEFINE0(getegid16)
+ {
+ 	return high2lowgid(current->egid);
+ }
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0030-System-call-wrappers-part-20.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0030-System-call-wrappers-part-20.patch
@@ -0,0 +1,125 @@
+From 3cdad42884bbd95d5aa01297e8236ea1bad70053 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:22 +0100
+Subject: [PATCH 30/44] [CVE-2009-0029] System call wrappers part 20
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 3cdad42884bbd95d5aa01297e8236ea1bad70053 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/dcache.c linux-source-2.6.26/fs/dcache.c
+--- linux-source-2.6.26.orig/fs/dcache.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/dcache.c	2009-01-19 12:33:56.000000000 -0700
+@@ -1956,7 +1956,7 @@ Elong:
+  *		return NULL;
+  *	}
+  */
+-asmlinkage long sys_getcwd(char __user *buf, unsigned long size)
++SYSCALL_DEFINE2(getcwd, char __user *, buf, unsigned long, size)
+ {
+ 	int error;
+ 	struct path pwd, root;
+diff -urpN linux-source-2.6.26.orig/fs/namei.c linux-source-2.6.26/fs/namei.c
+--- linux-source-2.6.26.orig/fs/namei.c	2009-01-19 12:26:42.000000000 -0700
++++ linux-source-2.6.26/fs/namei.c	2009-01-19 12:33:56.000000000 -0700
+@@ -2203,7 +2203,7 @@ out_err:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_mkdir(const char __user *pathname, int mode)
++SYSCALL_DEFINE2(mkdir, const char __user *, pathname, int, mode)
+ {
+ 	return sys_mkdirat(AT_FDCWD, pathname, mode);
+ }
+@@ -2315,7 +2315,7 @@ exit:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_rmdir(const char __user *pathname)
++SYSCALL_DEFINE1(rmdir, const char __user *, pathname)
+ {
+ 	return do_rmdir(AT_FDCWD, pathname);
+ }
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2009-01-19 12:31:38.000000000 -0700
++++ linux-source-2.6.26/fs/open.c	2009-01-19 12:33:56.000000000 -0700
+@@ -514,7 +514,7 @@ SYSCALL_DEFINE2(access, const char __use
+ 	return sys_faccessat(AT_FDCWD, filename, mode);
+ }
+ 
+-asmlinkage long sys_chdir(const char __user * filename)
++SYSCALL_DEFINE1(chdir, const char __user *, filename)
+ {
+ 	struct nameidata nd;
+ 	int error;
+@@ -536,7 +536,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_fchdir(unsigned int fd)
++SYSCALL_DEFINE1(fchdir, unsigned int, fd)
+ {
+ 	struct file *file;
+ 	struct inode *inode;
+diff -urpN linux-source-2.6.26.orig/fs/quota.c linux-source-2.6.26/fs/quota.c
+--- linux-source-2.6.26.orig/fs/quota.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/quota.c	2009-01-19 12:33:56.000000000 -0700
+@@ -362,7 +362,8 @@ static inline struct super_block *quotac
+  * calls. Maybe we need to add the process quotas etc. in the future,
+  * but we probably should use rlimits for that.
+  */
+-asmlinkage long sys_quotactl(unsigned int cmd, const char __user *special, qid_t id, void __user *addr)
++SYSCALL_DEFINE4(quotactl, unsigned int, cmd, const char __user *, special,
++		qid_t, id, void __user *, addr)
+ {
+ 	uint cmds, type;
+ 	struct super_block *sb = NULL;
+diff -urpN linux-source-2.6.26.orig/fs/read_write.c linux-source-2.6.26/fs/read_write.c
+--- linux-source-2.6.26.orig/fs/read_write.c	2009-01-19 12:32:59.000000000 -0700
++++ linux-source-2.6.26/fs/read_write.c	2009-01-19 12:33:56.000000000 -0700
+@@ -350,7 +350,7 @@ static inline void file_pos_write(struct
+ 	file->f_pos = pos;
+ }
+ 
+-asmlinkage long sys_read(unsigned int fd, char __user * buf, size_t count)
++SYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count)
+ {
+ 	struct file *file;
+ 	ssize_t ret = -EBADF;
+@@ -367,7 +367,8 @@ asmlinkage long sys_read(unsigned int fd
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_write(unsigned int fd, const char __user * buf, size_t count)
++SYSCALL_DEFINE3(write, unsigned int, fd, const char __user *, buf,
++		size_t, count)
+ {
+ 	struct file *file;
+ 	ssize_t ret = -EBADF;
+@@ -669,8 +670,8 @@ ssize_t vfs_writev(struct file *file, co
+ 
+ EXPORT_SYMBOL(vfs_writev);
+ 
+-asmlinkage long
+-sys_readv(unsigned long fd, const struct iovec __user *vec, unsigned long vlen)
++SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
++		unsigned long, vlen)
+ {
+ 	struct file *file;
+ 	ssize_t ret = -EBADF;
+@@ -690,8 +691,8 @@ sys_readv(unsigned long fd, const struct
+ 	return ret;
+ }
+ 
+-asmlinkage long
+-sys_writev(unsigned long fd, const struct iovec __user *vec, unsigned long vlen)
++SYSCALL_DEFINE3(writev, unsigned long, fd, const struct iovec __user *, vec,
++		unsigned long, vlen)
+ {
+ 	struct file *file;
+ 	ssize_t ret = -EBADF;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0031-System-call-wrappers-part-21.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0031-System-call-wrappers-part-21.patch
@@ -0,0 +1,115 @@
+From 20f37034fb966a1c35894f9fe529fda0b6440101 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:23 +0100
+Subject: [PATCH 31/44] [CVE-2009-0029] System call wrappers part 21
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 20f37034fb966a1c35894f9fe529fda0b6440101 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/readdir.c linux-source-2.6.26/fs/readdir.c
+--- linux-source-2.6.26.orig/fs/readdir.c	2009-01-19 11:17:08.000000000 -0700
++++ linux-source-2.6.26/fs/readdir.c	2009-01-19 12:34:46.000000000 -0700
+@@ -183,7 +183,8 @@ efault:
+ 	return -EFAULT;
+ }
+ 
+-asmlinkage long sys_getdents(unsigned int fd, struct linux_dirent __user * dirent, unsigned int count)
++SYSCALL_DEFINE3(getdents, unsigned int, fd,
++		struct linux_dirent __user *, dirent, unsigned int, count)
+ {
+ 	struct file * file;
+ 	struct linux_dirent __user * lastdirent;
+@@ -267,7 +268,8 @@ efault:
+ 	return -EFAULT;
+ }
+ 
+-asmlinkage long sys_getdents64(unsigned int fd, struct linux_dirent64 __user * dirent, unsigned int count)
++SYSCALL_DEFINE3(getdents64, unsigned int, fd,
++		struct linux_dirent64 __user *, dirent, unsigned int, count)
+ {
+ 	struct file * file;
+ 	struct linux_dirent64 __user * lastdirent;
+diff -urpN linux-source-2.6.26.orig/net/socket.c linux-source-2.6.26/net/socket.c
+--- linux-source-2.6.26.orig/net/socket.c	2009-01-19 12:07:11.000000000 -0700
++++ linux-source-2.6.26/net/socket.c	2009-01-19 12:34:46.000000000 -0700
+@@ -1338,7 +1338,7 @@ out_fd:
+  *	the protocol layer (having also checked the address is ok).
+  */
+ 
+-asmlinkage long sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen)
++SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen)
+ {
+ 	struct socket *sock;
+ 	char address[MAX_SOCK_ADDR];
+@@ -1400,8 +1400,8 @@ asmlinkage long sys_listen(int fd, int b
+  *	clean when we restucture accept also.
+  */
+ 
+-asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr,
+-			   int __user *upeer_addrlen)
++SYSCALL_DEFINE3(accept, int, fd, struct sockaddr __user *, upeer_sockaddr,
++		int __user *, upeer_addrlen)
+ {
+ 	struct socket *sock, *newsock;
+ 	struct file *newfile;
+@@ -1490,8 +1490,8 @@ out_fd:
+  *	include the -EINPROGRESS status for such sockets.
+  */
+ 
+-asmlinkage long sys_connect(int fd, struct sockaddr __user *uservaddr,
+-			    int addrlen)
++SYSCALL_DEFINE3(connect, int, fd, struct sockaddr __user *, uservaddr,
++		int, addrlen)
+ {
+ 	struct socket *sock;
+ 	char address[MAX_SOCK_ADDR];
+@@ -1522,8 +1522,8 @@ out:
+  *	name to user space.
+  */
+ 
+-asmlinkage long sys_getsockname(int fd, struct sockaddr __user *usockaddr,
+-				int __user *usockaddr_len)
++SYSCALL_DEFINE3(getsockname, int, fd, struct sockaddr __user *, usockaddr,
++		int __user *, usockaddr_len)
+ {
+ 	struct socket *sock;
+ 	char address[MAX_SOCK_ADDR];
+@@ -1553,8 +1553,8 @@ out:
+  *	name to user space.
+  */
+ 
+-asmlinkage long sys_getpeername(int fd, struct sockaddr __user *usockaddr,
+-				int __user *usockaddr_len)
++SYSCALL_DEFINE3(getpeername, int, fd, struct sockaddr __user *, usockaddr,
++		int __user *, usockaddr_len)
+ {
+ 	struct socket *sock;
+ 	char address[MAX_SOCK_ADDR];
+@@ -1694,8 +1694,8 @@ asmlinkage long sys_recv(int fd, void __
+  *	to pass the user mode parameter for the protocols to sort out.
+  */
+ 
+-asmlinkage long sys_setsockopt(int fd, int level, int optname,
+-			       char __user *optval, int optlen)
++SYSCALL_DEFINE5(setsockopt, int, fd, int, level, int, optname,
++		char __user *, optval, int, optlen)
+ {
+ 	int err, fput_needed;
+ 	struct socket *sock;
+@@ -1728,8 +1728,8 @@ out_put:
+  *	to pass a user mode parameter for the protocols to sort out.
+  */
+ 
+-asmlinkage long sys_getsockopt(int fd, int level, int optname,
+-			       char __user *optval, int __user *optlen)
++SYSCALL_DEFINE5(getsockopt, int, fd, int, level, int, optname,
++		char __user *, optval, int __user *, optlen)
+ {
+ 	int err, fput_needed;
+ 	struct socket *sock;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0032-System-call-wrappers-part-22.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0032-System-call-wrappers-part-22.patch
@@ -0,0 +1,111 @@
+From 3e0fa65f8ba4fd24b3dcfaf14d5b15eaab0fdc61 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:24 +0100
+Subject: [PATCH 32/44] [CVE-2009-0029] System call wrappers part 22
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 3e0fa65f8ba4fd24b3dcfaf14d5b15eaab0fdc61 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/net/socket.c linux-source-2.6.26/net/socket.c
+--- linux-source-2.6.26.orig/net/socket.c	2009-01-19 12:34:46.000000000 -0700
++++ linux-source-2.6.26/net/socket.c	2009-01-19 12:42:27.000000000 -0700
+@@ -1213,7 +1213,7 @@ int sock_create_kern(int family, int typ
+ 	return __sock_create(&init_net, family, type, protocol, res, 1);
+ }
+ 
+-asmlinkage long sys_socket(int family, int type, int protocol)
++SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol)
+ {
+ 	int retval;
+ 	struct socket *sock;
+@@ -1239,8 +1239,8 @@ out_release:
+  *	Create a pair of connected sockets.
+  */
+ 
+-asmlinkage long sys_socketpair(int family, int type, int protocol,
+-			       int __user *usockvec)
++SYSCALL_DEFINE4(socketpair, int, family, int, type, int, protocol,
++		int __user *, usockvec)
+ {
+ 	struct socket *sock1, *sock2;
+ 	int fd1, fd2, err;
+@@ -1367,7 +1367,7 @@ SYSCALL_DEFINE3(bind, int, fd, struct so
+  *	ready for listening.
+  */
+ 
+-asmlinkage long sys_listen(int fd, int backlog)
++SYSCALL_DEFINE2(listen, int, fd, int, backlog)
+ {
+ 	struct socket *sock;
+ 	int err, fput_needed;
+@@ -1585,9 +1585,9 @@ SYSCALL_DEFINE3(getpeername, int, fd, st
+  *	the protocol.
+  */
+ 
+-asmlinkage long sys_sendto(int fd, void __user *buff, size_t len,
+-			   unsigned flags, struct sockaddr __user *addr,
+-			   int addr_len)
++SYSCALL_DEFINE6(sendto, int, fd, void __user *, buff, size_t, len,
++		unsigned, flags, struct sockaddr __user *, addr,
++		int, addr_len)
+ {
+ 	struct socket *sock;
+ 	char address[MAX_SOCK_ADDR];
+@@ -1630,7 +1630,8 @@ out:
+  *	Send a datagram down a socket.
+  */
+ 
+-asmlinkage long sys_send(int fd, void __user *buff, size_t len, unsigned flags)
++SYSCALL_DEFINE4(send, int, fd, void __user *, buff, size_t, len,
++		unsigned, flags)
+ {
+ 	return sys_sendto(fd, buff, len, flags, NULL, 0);
+ }
+@@ -1641,9 +1642,9 @@ asmlinkage long sys_send(int fd, void __
+  *	sender address from kernel to user space.
+  */
+ 
+-asmlinkage long sys_recvfrom(int fd, void __user *ubuf, size_t size,
+-			     unsigned flags, struct sockaddr __user *addr,
+-			     int __user *addr_len)
++SYSCALL_DEFINE6(recvfrom, int, fd, void __user *, ubuf, size_t, size,
++		unsigned, flags, struct sockaddr __user *, addr,
++		int __user *, addr_len)
+ {
+ 	struct socket *sock;
+ 	struct iovec iov;
+@@ -1784,7 +1785,7 @@ SYSCALL_DEFINE2(shutdown, int, fd, int, 
+  *	BSD sendmsg interface
+  */
+ 
+-asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags)
++SYSCALL_DEFINE3(sendmsg, int, fd, struct msghdr __user *, msg, unsigned, flags)
+ {
+ 	struct compat_msghdr __user *msg_compat =
+ 	    (struct compat_msghdr __user *)msg;
+@@ -1886,8 +1887,8 @@ out:
+  *	BSD recvmsg interface
+  */
+ 
+-asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg,
+-			    unsigned int flags)
++SYSCALL_DEFINE3(recvmsg, int, fd, struct msghdr __user *, msg,
++		unsigned int, flags)
+ {
+ 	struct compat_msghdr __user *msg_compat =
+ 	    (struct compat_msghdr __user *)msg;
+@@ -2004,7 +2005,7 @@ static const unsigned char nargs[18]={
+  *  it is set by the callees.
+  */
+ 
+-asmlinkage long sys_socketcall(int call, unsigned long __user *args)
++SYSCALL_DEFINE2(socketcall, int, call, unsigned long __user *, args)
+ {
+ 	unsigned long a[6];
+ 	unsigned long a0, a1;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0033-System-call-wrappers-part-23.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0033-System-call-wrappers-part-23.patch
@@ -0,0 +1,116 @@
+From 5a8a82b1d306a325d899b67715618413657efda4 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:25 +0100
+Subject: [PATCH 33/44] [CVE-2009-0029] System call wrappers part 23
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 5a8a82b1d306a325d899b67715618413657efda4 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/eventpoll.c linux-source-2.6.26/fs/eventpoll.c
+--- linux-source-2.6.26.orig/fs/eventpoll.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/eventpoll.c	2009-01-19 12:46:21.000000000 -0700
+@@ -1046,7 +1046,7 @@ retry:
+  * RB tree. With the current implementation, the "size" parameter is ignored
+  * (besides sanity checks).
+  */
+-asmlinkage long sys_epoll_create(int size)
++SYSCALL_DEFINE1(epoll_create, int, size)
+ {
+ 	int error, fd = -1;
+ 	struct eventpoll *ep;
+@@ -1084,8 +1084,8 @@ error_return:
+  * the eventpoll file that enables the insertion/removal/change of
+  * file descriptors inside the interest set.
+  */
+-asmlinkage long sys_epoll_ctl(int epfd, int op, int fd,
+-			      struct epoll_event __user *event)
++SYSCALL_DEFINE4(epoll_ctl, int, epfd, int, op, int, fd,
++		struct epoll_event __user *, event)
+ {
+ 	int error;
+ 	struct file *file, *tfile;
+@@ -1182,8 +1182,8 @@ error_return:
+  * Implement the event wait interface for the eventpoll file. It is the kernel
+  * part of the user space epoll_wait(2).
+  */
+-asmlinkage long sys_epoll_wait(int epfd, struct epoll_event __user *events,
+-			       int maxevents, int timeout)
++SYSCALL_DEFINE4(epoll_wait, int, epfd, struct epoll_event __user *, events,
++		int, maxevents, int, timeout)
+ {
+ 	int error;
+ 	struct file *file;
+@@ -1240,9 +1240,9 @@ error_return:
+  * Implement the event wait interface for the eventpoll file. It is the kernel
+  * part of the user space epoll_pwait(2).
+  */
+-asmlinkage long sys_epoll_pwait(int epfd, struct epoll_event __user *events,
+-		int maxevents, int timeout, const sigset_t __user *sigmask,
+-		size_t sigsetsize)
++SYSCALL_DEFINE6(epoll_pwait, int, epfd, struct epoll_event __user *, events,
++		int, maxevents, int, timeout, const sigset_t __user *, sigmask,
++		size_t, sigsetsize)
+ {
+ 	int error;
+ 	sigset_t ksigmask, sigsaved;
+diff -urpN linux-source-2.6.26.orig/fs/select.c linux-source-2.6.26/fs/select.c
+--- linux-source-2.6.26.orig/fs/select.c	2009-01-19 11:42:04.000000000 -0700
++++ linux-source-2.6.26/fs/select.c	2009-01-19 12:43:21.000000000 -0700
+@@ -374,8 +374,8 @@ out_nofds:
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp,
+-			fd_set __user *exp, struct timeval __user *tvp)
++SYSCALL_DEFINE5(select, int, n, fd_set __user *, inp, fd_set __user *, outp,
++		fd_set __user *, exp, struct timeval __user *, tvp)
+ {
+ 	s64 timeout = -1;
+ 	struct timeval tv;
+@@ -727,8 +727,8 @@ static long do_restart_poll(struct resta
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds,
+-			long timeout_msecs)
++SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds,
++		long, timeout_msecs)
+ {
+ 	s64 timeout_jiffies;
+ 	int ret;
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2009-01-19 12:07:11.000000000 -0700
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 12:43:21.000000000 -0700
+@@ -1357,7 +1357,7 @@ asmlinkage long sys_newuname(struct new_
+ 	return errno;
+ }
+ 
+-asmlinkage long sys_sethostname(char __user *name, int len)
++SYSCALL_DEFINE2(sethostname, char __user *, name, int, len)
+ {
+ 	int errno;
+ 	char tmp[__NEW_UTS_LEN];
+@@ -1379,7 +1379,7 @@ asmlinkage long sys_sethostname(char __u
+ 
+ #ifdef __ARCH_WANT_SYS_GETHOSTNAME
+ 
+-asmlinkage long sys_gethostname(char __user *name, int len)
++SYSCALL_DEFINE2(gethostname, char __user *, name, int, len)
+ {
+ 	int i, errno;
+ 
+@@ -1402,7 +1402,7 @@ asmlinkage long sys_gethostname(char __u
+  * Only setdomainname; getdomainname can be implemented by calling
+  * uname()
+  */
+-asmlinkage long sys_setdomainname(char __user *name, int len)
++SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len)
+ {
+ 	int errno;
+ 	char tmp[__NEW_UTS_LEN];
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0034-System-call-wrappers-part-24.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0034-System-call-wrappers-part-24.patch
@@ -0,0 +1,115 @@
+From e48fbb699f82ef1e80bd7126046394d2dc9ca7e6 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:26 +0100
+Subject: [PATCH 34/44] [CVE-2009-0029] System call wrappers part 24
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit e48fbb699f82ef1e80bd7126046394d2dc9ca7e6 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/ipc/msg.c linux-source-2.6.26/ipc/msg.c
+--- linux-source-2.6.26.orig/ipc/msg.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/ipc/msg.c	2009-01-19 12:47:29.000000000 -0700
+@@ -309,7 +309,7 @@ static inline int msg_security(struct ke
+ 	return security_msg_queue_associate(msq, msgflg);
+ }
+ 
+-asmlinkage long sys_msgget(key_t key, int msgflg)
++SYSCALL_DEFINE2(msgget, key_t, key, int, msgflg)
+ {
+ 	struct ipc_namespace *ns;
+ 	struct ipc_ops msg_ops;
+@@ -466,7 +466,7 @@ out_up:
+ 	return err;
+ }
+ 
+-asmlinkage long sys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf)
++SYSCALL_DEFINE3(msgctl, int, msqid, int, cmd, struct msqid_ds __user *, buf)
+ {
+ 	struct msg_queue *msq;
+ 	int err, version;
+@@ -723,8 +723,8 @@ out_free:
+ 	return err;
+ }
+ 
+-asmlinkage long
+-sys_msgsnd(int msqid, struct msgbuf __user *msgp, size_t msgsz, int msgflg)
++SYSCALL_DEFINE4(msgsnd, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
++		int, msgflg)
+ {
+ 	long mtype;
+ 
+@@ -904,8 +904,8 @@ out_unlock:
+ 	return msgsz;
+ }
+ 
+-asmlinkage long sys_msgrcv(int msqid, struct msgbuf __user *msgp, size_t msgsz,
+-			   long msgtyp, int msgflg)
++SYSCALL_DEFINE5(msgrcv, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
++		long, msgtyp, int, msgflg)
+ {
+ 	long err, mtype;
+ 
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2009-01-19 12:43:21.000000000 -0700
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 12:47:29.000000000 -0700
+@@ -1346,7 +1346,7 @@ DECLARE_RWSEM(uts_sem);
+ 
+ EXPORT_SYMBOL(uts_sem);
+ 
+-asmlinkage long sys_newuname(struct new_utsname __user * name)
++SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name)
+ {
+ 	int errno = 0;
+ 
+@@ -1423,7 +1423,7 @@ SYSCALL_DEFINE2(setdomainname, char __us
+ 	return errno;
+ }
+ 
+-asmlinkage long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim)
++SYSCALL_DEFINE2(getrlimit, unsigned int, resource, struct rlimit __user *, rlim)
+ {
+ 	if (resource >= RLIM_NLIMITS)
+ 		return -EINVAL;
+@@ -1442,7 +1442,8 @@ asmlinkage long sys_getrlimit(unsigned i
+  *	Back compatibility for getrlimit. Needed for some apps.
+  */
+  
+-asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim)
++SYSCALL_DEFINE2(old_getrlimit, unsigned int, resource,
++		struct rlimit __user *, rlim)
+ {
+ 	struct rlimit x;
+ 	if (resource >= RLIM_NLIMITS)
+@@ -1460,7 +1461,7 @@ asmlinkage long sys_old_getrlimit(unsign
+ 
+ #endif
+ 
+-asmlinkage long sys_setrlimit(unsigned int resource, struct rlimit __user *rlim)
++SYSCALL_DEFINE2(setrlimit, unsigned int, resource, struct rlimit __user *, rlim)
+ {
+ 	struct rlimit new_rlim, *old_rlim;
+ 	unsigned long it_prof_secs;
+@@ -1636,7 +1637,7 @@ int getrusage(struct task_struct *p, int
+ 	return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0;
+ }
+ 
+-asmlinkage long sys_getrusage(int who, struct rusage __user *ru)
++SYSCALL_DEFINE2(getrusage, int, who, struct rusage __user *, ru)
+ {
+ 	if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN &&
+ 	    who != RUSAGE_THREAD)
+@@ -1644,7 +1645,7 @@ asmlinkage long sys_getrusage(int who, s
+ 	return getrusage(current, who, ru);
+ }
+ 
+-asmlinkage long sys_umask(int mask)
++SYSCALL_DEFINE1(umask, int, mask)
+ {
+ 	mask = xchg(&current->fs->umask, mask & S_IRWXUGO);
+ 	return mask;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0035-System-call-wrappers-part-25.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0035-System-call-wrappers-part-25.patch
@@ -0,0 +1,109 @@
+From d5460c9974a321a194aded4a8c4daaac68ea8171 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:27 +0100
+Subject: [PATCH 35/44] [CVE-2009-0029] System call wrappers part 25
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit d5460c9974a321a194aded4a8c4daaac68ea8171 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/ipc/mqueue.c linux-source-2.6.26/ipc/mqueue.c
+--- linux-source-2.6.26.orig/ipc/mqueue.c	2009-01-19 11:12:44.000000000 -0700
++++ linux-source-2.6.26/ipc/mqueue.c	2009-01-19 12:48:20.000000000 -0700
+@@ -658,8 +658,8 @@ static int oflag2acc[O_ACCMODE] = { MAY_
+ 	return dentry_open(dentry, mqueue_mnt, oflag);
+ }
+ 
+-asmlinkage long sys_mq_open(const char __user *u_name, int oflag, mode_t mode,
+-				struct mq_attr __user *u_attr)
++SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, mode_t, mode,
++		struct mq_attr __user *, u_attr)
+ {
+ 	struct dentry *dentry;
+ 	struct file *filp;
+@@ -726,7 +726,7 @@ out_putname:
+ 	return fd;
+ }
+ 
+-asmlinkage long sys_mq_unlink(const char __user *u_name)
++SYSCALL_DEFINE1(mq_unlink, const char __user *, u_name)
+ {
+ 	int err;
+ 	char *name;
+diff -urpN linux-source-2.6.26.orig/ipc/sem.c linux-source-2.6.26/ipc/sem.c
+--- linux-source-2.6.26.orig/ipc/sem.c	2009-01-19 11:55:54.000000000 -0700
++++ linux-source-2.6.26/ipc/sem.c	2009-01-19 12:48:20.000000000 -0700
+@@ -309,7 +309,7 @@ static inline int sem_more_checks(struct
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_semget(key_t key, int nsems, int semflg)
++SYSCALL_DEFINE3(semget, key_t, key, int, nsems, int, semflg)
+ {
+ 	struct ipc_namespace *ns;
+ 	struct ipc_ops sem_ops;
+@@ -1046,8 +1046,8 @@ out:
+ 	return un;
+ }
+ 
+-asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops,
+-			unsigned nsops, const struct timespec __user *timeout)
++SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops,
++		unsigned, nsops, const struct timespec __user *, timeout)
+ {
+ 	int error = -EINVAL;
+ 	struct sem_array *sma;
+@@ -1210,7 +1210,8 @@ out_free:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_semop (int semid, struct sembuf __user *tsops, unsigned nsops)
++SYSCALL_DEFINE3(semop, int, semid, struct sembuf __user *, tsops,
++		unsigned, nsops)
+ {
+ 	return sys_semtimedop(semid, tsops, nsops, NULL);
+ }
+diff -urpN linux-source-2.6.26.orig/ipc/shm.c linux-source-2.6.26/ipc/shm.c
+--- linux-source-2.6.26.orig/ipc/shm.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/ipc/shm.c	2009-01-19 12:48:20.000000000 -0700
+@@ -455,7 +455,7 @@ static inline int shm_more_checks(struct
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_shmget (key_t key, size_t size, int shmflg)
++SYSCALL_DEFINE3(shmget, key_t, key, size_t, size, int, shmflg)
+ {
+ 	struct ipc_namespace *ns;
+ 	struct ipc_ops shm_ops;
+@@ -635,7 +635,7 @@ out_up:
+ 	return err;
+ }
+ 
+-asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf)
++SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf)
+ {
+ 	struct shmid_kernel *shp;
+ 	int err, version;
+@@ -955,7 +955,7 @@ out_put_dentry:
+ 	goto out_nattch;
+ }
+ 
+-asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg)
++SYSCALL_DEFINE3(shmat, int, shmid, char __user *, shmaddr, int, shmflg)
+ {
+ 	unsigned long ret;
+ 	long err;
+@@ -971,7 +971,7 @@ asmlinkage long sys_shmat(int shmid, cha
+  * detach and kill segment if marked destroyed.
+  * The work is done in shm_close.
+  */
+-asmlinkage long sys_shmdt(char __user *shmaddr)
++SYSCALL_DEFINE1(shmdt, char __user *, shmaddr)
+ {
+ 	struct mm_struct *mm = current->mm;
+ 	struct vm_area_struct *vma, *next;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0036-System-call-wrappers-part-26.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0036-System-call-wrappers-part-26.patch
@@ -0,0 +1,131 @@
+From c4ea37c26a691ad0b7e86aa5884aab27830e95c9 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:28 +0100
+Subject: [PATCH 36/44] [CVE-2009-0029] System call wrappers part 26
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit c4ea37c26a691ad0b7e86aa5884aab27830e95c9 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/drivers/pci/syscall.c linux-source-2.6.26/drivers/pci/syscall.c
+--- linux-source-2.6.26.orig/drivers/pci/syscall.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/drivers/pci/syscall.c	2009-01-19 12:49:03.000000000 -0700
+@@ -14,10 +14,8 @@
+ #include <asm/uaccess.h>
+ #include "pci.h"
+ 
+-asmlinkage long
+-sys_pciconfig_read(unsigned long bus, unsigned long dfn,
+-		   unsigned long off, unsigned long len,
+-		   void __user *buf)
++SYSCALL_DEFINE5(pciconfig_read, unsigned long, bus, unsigned long, dfn,
++		unsigned long, off, unsigned long, len, void __user *, buf)
+ {
+ 	struct pci_dev *dev;
+ 	u8 byte;
+@@ -86,10 +84,8 @@ error:
+ 	return err;
+ }
+ 
+-asmlinkage long
+-sys_pciconfig_write(unsigned long bus, unsigned long dfn,
+-		    unsigned long off, unsigned long len,
+-		    void __user *buf)
++SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
++		unsigned long, off, unsigned long, len, void __user *, buf)
+ {
+ 	struct pci_dev *dev;
+ 	u8 byte;
+diff -urpN linux-source-2.6.26.orig/ipc/mqueue.c linux-source-2.6.26/ipc/mqueue.c
+--- linux-source-2.6.26.orig/ipc/mqueue.c	2009-01-19 12:48:20.000000000 -0700
++++ linux-source-2.6.26/ipc/mqueue.c	2009-01-19 12:49:03.000000000 -0700
+@@ -819,9 +819,9 @@ static inline void pipelined_receive(str
+ 	sender->state = STATE_READY;
+ }
+ 
+-asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
+-	size_t msg_len, unsigned int msg_prio,
+-	const struct timespec __user *u_abs_timeout)
++SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
++		size_t, msg_len, unsigned int, msg_prio,
++		const struct timespec __user *, u_abs_timeout)
+ {
+ 	struct file *filp;
+ 	struct inode *inode;
+@@ -907,9 +907,9 @@ out:
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
+-	size_t msg_len, unsigned int __user *u_msg_prio,
+-	const struct timespec __user *u_abs_timeout)
++SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
++		size_t, msg_len, unsigned int __user *, u_msg_prio,
++		const struct timespec __user *, u_abs_timeout)
+ {
+ 	long timeout;
+ 	ssize_t ret;
+@@ -992,8 +992,8 @@ out:
+  * and he isn't currently owner of notification, will be silently discarded.
+  * It isn't explicitly defined in the POSIX.
+  */
+-asmlinkage long sys_mq_notify(mqd_t mqdes,
+-				const struct sigevent __user *u_notification)
++SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
++		const struct sigevent __user *, u_notification)
+ {
+ 	int ret;
+ 	struct file *filp;
+@@ -1118,9 +1118,9 @@ out:
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_mq_getsetattr(mqd_t mqdes,
+-			const struct mq_attr __user *u_mqstat,
+-			struct mq_attr __user *u_omqstat)
++SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
++		const struct mq_attr __user *, u_mqstat,
++		struct mq_attr __user *, u_omqstat)
+ {
+ 	int ret;
+ 	struct mq_attr mqstat, omqstat;
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2009-01-19 12:47:29.000000000 -0700
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 12:49:03.000000000 -0700
+@@ -1651,8 +1651,8 @@ SYSCALL_DEFINE1(umask, int, mask)
+ 	return mask;
+ }
+ 
+-asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3,
+-			  unsigned long arg4, unsigned long arg5)
++SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
++		unsigned long, arg4, unsigned long, arg5)
+ {
+ 	long error = 0;
+ 
+diff -urpN linux-source-2.6.26.orig/mm/swapfile.c linux-source-2.6.26/mm/swapfile.c
+--- linux-source-2.6.26.orig/mm/swapfile.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/swapfile.c	2009-01-19 12:49:03.000000000 -0700
+@@ -1203,7 +1203,7 @@ int page_queue_congested(struct page *pa
+ }
+ #endif
+ 
+-asmlinkage long sys_swapoff(const char __user * specialfile)
++SYSCALL_DEFINE1(swapoff, const char __user *, specialfile)
+ {
+ 	struct swap_info_struct * p = NULL;
+ 	unsigned short *swap_map;
+@@ -1437,7 +1437,7 @@ __initcall(procswaps_init);
+  *
+  * The swapon system call
+  */
+-asmlinkage long sys_swapon(const char __user * specialfile, int swap_flags)
++SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
+ {
+ 	struct swap_info_struct * p;
+ 	char *name = NULL;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0037-System-call-wrappers-part-27.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0037-System-call-wrappers-part-27.patch
@@ -0,0 +1,144 @@
+From 1e7bfb2134dfec37ce04fb3a4ca89299e892d10c Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:29 +0100
+Subject: [PATCH 37/44] [CVE-2009-0029] System call wrappers part 27
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 1e7bfb2134dfec37ce04fb3a4ca89299e892d10c upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/exec.c linux-source-2.6.26/fs/exec.c
+--- linux-source-2.6.26.orig/fs/exec.c	2009-01-10 05:42:12.000000000 -0700
++++ linux-source-2.6.26/fs/exec.c	2009-01-19 12:49:49.000000000 -0700
+@@ -106,7 +106,7 @@ static inline void put_binfmt(struct lin
+  *
+  * Also note that we take the address to load from from the file itself.
+  */
+-asmlinkage long sys_uselib(const char __user * library)
++SYSCALL_DEFINE1(uselib, const char __user *, library)
+ {
+ 	struct file * file;
+ 	struct nameidata nd;
+diff -urpN linux-source-2.6.26.orig/fs/filesystems.c linux-source-2.6.26/fs/filesystems.c
+--- linux-source-2.6.26.orig/fs/filesystems.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/filesystems.c	2009-01-19 12:49:49.000000000 -0700
+@@ -177,7 +177,7 @@ static int fs_maxindex(void)
+ /*
+  * Whee.. Weird sysv syscall. 
+  */
+-asmlinkage long sys_sysfs(int option, unsigned long arg1, unsigned long arg2)
++SYSCALL_DEFINE3(sysfs, int, option, unsigned long, arg1, unsigned long, arg2)
+ {
+ 	int retval = -EINVAL;
+ 
+diff -urpN linux-source-2.6.26.orig/fs/nfsctl.c linux-source-2.6.26/fs/nfsctl.c
+--- linux-source-2.6.26.orig/fs/nfsctl.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/nfsctl.c	2009-01-19 12:49:49.000000000 -0700
+@@ -82,8 +82,8 @@ static struct {
+ 	},
+ };
+ 
+-long
+-asmlinkage sys_nfsservctl(int cmd, struct nfsctl_arg __user *arg, void __user *res)
++SYSCALL_DEFINE3(nfsservctl, int, cmd, struct nfsctl_arg __user *, arg,
++		void __user *, res)
+ {
+ 	struct file *file;
+ 	void __user *p = &arg->u;
+diff -urpN linux-source-2.6.26.orig/kernel/printk.c linux-source-2.6.26/kernel/printk.c
+--- linux-source-2.6.26.orig/kernel/printk.c	2009-01-19 11:44:54.000000000 -0700
++++ linux-source-2.6.26/kernel/printk.c	2009-01-19 12:49:49.000000000 -0700
+@@ -432,7 +432,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_syslog(int type, char __user *buf, int len)
++SYSCALL_DEFINE3(syslog, int, type, char __user *, buf, int, len)
+ {
+ 	return do_syslog(type, buf, len);
+ }
+diff -urpN linux-source-2.6.26.orig/kernel/ptrace.c linux-source-2.6.26/kernel/ptrace.c
+--- linux-source-2.6.26.orig/kernel/ptrace.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/ptrace.c	2009-01-19 12:49:49.000000000 -0700
+@@ -534,7 +534,7 @@ struct task_struct *ptrace_get_task_stru
+ #define arch_ptrace_attach(child)	do { } while (0)
+ #endif
+ 
+-asmlinkage long sys_ptrace(long request, long pid, long addr, long data)
++SYSCALL_DEFINE4(ptrace, long, request, long, pid, long, addr, long, data)
+ {
+ 	struct task_struct *child;
+ 	long ret;
+diff -urpN linux-source-2.6.26.orig/kernel/sysctl.c linux-source-2.6.26/kernel/sysctl.c
+--- linux-source-2.6.26.orig/kernel/sysctl.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/kernel/sysctl.c	2009-01-19 12:49:49.000000000 -0700
+@@ -1533,7 +1533,7 @@ int do_sysctl(int __user *name, int nlen
+ 	return error;
+ }
+ 
+-asmlinkage long sys_sysctl(struct __sysctl_args __user *args)
++SYSCALL_DEFINE1(sysctl, struct __sysctl_args __user *, args)
+ {
+ 	struct __sysctl_args tmp;
+ 	int error;
+@@ -2744,7 +2744,7 @@ int sysctl_ms_jiffies(struct ctl_table *
+ #else /* CONFIG_SYSCTL_SYSCALL */
+ 
+ 
+-asmlinkage long sys_sysctl(struct __sysctl_args __user *args)
++SYSCALL_DEFINE1(sysctl, struct __sysctl_args __user *, args)
+ {
+ 	struct __sysctl_args tmp;
+ 	int error;
+diff -urpN linux-source-2.6.26.orig/kernel/timer.c linux-source-2.6.26/kernel/timer.c
+--- linux-source-2.6.26.orig/kernel/timer.c	2009-01-19 11:58:42.000000000 -0700
++++ linux-source-2.6.26/kernel/timer.c	2009-01-19 12:49:49.000000000 -0700
+@@ -1353,7 +1353,7 @@ out:
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_sysinfo(struct sysinfo __user *info)
++SYSCALL_DEFINE1(sysinfo, struct sysinfo __user *, info)
+ {
+ 	struct sysinfo val;
+ 
+diff -urpN linux-source-2.6.26.orig/security/keys/keyctl.c linux-source-2.6.26/security/keys/keyctl.c
+--- linux-source-2.6.26.orig/security/keys/keyctl.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/security/keys/keyctl.c	2009-01-19 12:49:49.000000000 -0700
+@@ -54,11 +54,11 @@ static int key_get_type_from_user(char *
+  * - returns the new key's serial number
+  * - implements add_key()
+  */
+-asmlinkage long sys_add_key(const char __user *_type,
+-			    const char __user *_description,
+-			    const void __user *_payload,
+-			    size_t plen,
+-			    key_serial_t ringid)
++SYSCALL_DEFINE5(add_key, const char __user *, _type,
++		const char __user *, _description,
++		const void __user *, _payload,
++		size_t, plen,
++		key_serial_t, ringid)
+ {
+ 	key_ref_t keyring_ref, key_ref;
+ 	char type[32], *description;
+@@ -146,10 +146,10 @@ asmlinkage long sys_add_key(const char _
+  *   - if the _callout_info string is empty, it will be rendered as "-"
+  * - implements request_key()
+  */
+-asmlinkage long sys_request_key(const char __user *_type,
+-				const char __user *_description,
+-				const char __user *_callout_info,
+-				key_serial_t destringid)
++SYSCALL_DEFINE4(request_key, const char __user *, _type,
++		const char __user *, _description,
++		const char __user *, _callout_info,
++		key_serial_t, destringid)
+ {
+ 	struct key_type *ktype;
+ 	struct key *key;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0038-System-call-wrappers-part-28.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0038-System-call-wrappers-part-28.patch
@@ -0,0 +1,139 @@
+From 938bb9f5e840eddbf54e4f62f6c5ba9b3ae12c9d Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:30 +0100
+Subject: [PATCH 38/44] [CVE-2009-0029] System call wrappers part 28
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 938bb9f5e840eddbf54e4f62f6c5ba9b3ae12c9d upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/inotify_user.c linux-source-2.6.26/fs/inotify_user.c
+--- linux-source-2.6.26.orig/fs/inotify_user.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/inotify_user.c	2009-01-19 12:50:36.000000000 -0700
+@@ -566,7 +566,7 @@ static const struct inotify_operations i
+ 	.destroy_watch	= free_inotify_user_watch,
+ };
+ 
+-asmlinkage long sys_inotify_init(void)
++SYSCALL_DEFINE0(inotify_init)
+ {
+ 	struct inotify_device *dev;
+ 	struct inotify_handle *ih;
+diff -urpN linux-source-2.6.26.orig/fs/ioprio.c linux-source-2.6.26/fs/ioprio.c
+--- linux-source-2.6.26.orig/fs/ioprio.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/ioprio.c	2009-01-19 12:50:36.000000000 -0700
+@@ -65,7 +65,7 @@ static int set_task_ioprio(struct task_s
+ 	return err;
+ }
+ 
+-asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
++SYSCALL_DEFINE3(ioprio_set, int, which, int, who, int, ioprio)
+ {
+ 	int class = IOPRIO_PRIO_CLASS(ioprio);
+ 	int data = IOPRIO_PRIO_DATA(ioprio);
+@@ -181,7 +181,7 @@ int ioprio_best(unsigned short aprio, un
+ 		return aprio;
+ }
+ 
+-asmlinkage long sys_ioprio_get(int which, int who)
++SYSCALL_DEFINE2(ioprio_get, int, which, int, who)
+ {
+ 	struct task_struct *g, *p;
+ 	struct user_struct *user;
+@@ -245,4 +245,3 @@ asmlinkage long sys_ioprio_get(int which
+ 	read_unlock(&tasklist_lock);
+ 	return ret;
+ }
+-
+diff -urpN linux-source-2.6.26.orig/mm/mempolicy.c linux-source-2.6.26/mm/mempolicy.c
+--- linux-source-2.6.26.orig/mm/mempolicy.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/mempolicy.c	2009-01-19 12:50:36.000000000 -0700
+@@ -1060,10 +1060,9 @@ static int copy_nodes_to_user(unsigned l
+ 	return copy_to_user(mask, nodes_addr(*nodes), copy) ? -EFAULT : 0;
+ }
+ 
+-asmlinkage long sys_mbind(unsigned long start, unsigned long len,
+-			unsigned long mode,
+-			unsigned long __user *nmask, unsigned long maxnode,
+-			unsigned flags)
++SYSCALL_DEFINE6(mbind, unsigned long, start, unsigned long, len,
++		unsigned long, mode, unsigned long __user *, nmask,
++		unsigned long, maxnode, unsigned, flags)
+ {
+ 	nodemask_t nodes;
+ 	int err;
+@@ -1083,8 +1082,8 @@ asmlinkage long sys_mbind(unsigned long 
+ }
+ 
+ /* Set the process memory policy */
+-asmlinkage long sys_set_mempolicy(int mode, unsigned long __user *nmask,
+-		unsigned long maxnode)
++SYSCALL_DEFINE3(set_mempolicy, int, mode, unsigned long __user *, nmask,
++		unsigned long, maxnode)
+ {
+ 	int err;
+ 	nodemask_t nodes;
+@@ -1102,9 +1101,9 @@ asmlinkage long sys_set_mempolicy(int mo
+ 	return do_set_mempolicy(mode, flags, &nodes);
+ }
+ 
+-asmlinkage long sys_migrate_pages(pid_t pid, unsigned long maxnode,
+-		const unsigned long __user *old_nodes,
+-		const unsigned long __user *new_nodes)
++SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
++		const unsigned long __user *, old_nodes,
++		const unsigned long __user *, new_nodes)
+ {
+ 	struct mm_struct *mm;
+ 	struct task_struct *task;
+@@ -1172,10 +1171,9 @@ out:
+ 
+ 
+ /* Retrieve NUMA policy */
+-asmlinkage long sys_get_mempolicy(int __user *policy,
+-				unsigned long __user *nmask,
+-				unsigned long maxnode,
+-				unsigned long addr, unsigned long flags)
++SYSCALL_DEFINE5(get_mempolicy, int __user *, policy,
++		unsigned long __user *, nmask, unsigned long, maxnode,
++		unsigned long, addr, unsigned long, flags)
+ {
+ 	int err;
+ 	int uninitialized_var(pval);
+diff -urpN linux-source-2.6.26.orig/mm/migrate.c linux-source-2.6.26/mm/migrate.c
+--- linux-source-2.6.26.orig/mm/migrate.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/mm/migrate.c	2009-01-19 12:50:36.000000000 -0700
+@@ -956,10 +956,10 @@ set_status:
+  * Move a list of pages in the address space of the currently executing
+  * process.
+  */
+-asmlinkage long sys_move_pages(pid_t pid, unsigned long nr_pages,
+-			const void __user * __user *pages,
+-			const int __user *nodes,
+-			int __user *status, int flags)
++SYSCALL_DEFINE6(move_pages, pid_t, pid, unsigned long, nr_pages,
++		const void __user * __user *, pages,
++		const int __user *, nodes,
++		int __user *, status, int, flags)
+ {
+ 	int err = 0;
+ 	int i;
+diff -urpN linux-source-2.6.26.orig/security/keys/keyctl.c linux-source-2.6.26/security/keys/keyctl.c
+--- linux-source-2.6.26.orig/security/keys/keyctl.c	2009-01-19 12:49:49.000000000 -0700
++++ linux-source-2.6.26/security/keys/keyctl.c	2009-01-19 12:50:36.000000000 -0700
+@@ -1152,8 +1152,8 @@ long keyctl_get_security(key_serial_t ke
+ /*
+  * the key control system call
+  */
+-asmlinkage long sys_keyctl(int option, unsigned long arg2, unsigned long arg3,
+-			   unsigned long arg4, unsigned long arg5)
++SYSCALL_DEFINE5(keyctl, int, option, unsigned long, arg2, unsigned long, arg3,
++		unsigned long, arg4, unsigned long, arg5)
+ {
+ 	switch (option) {
+ 	case KEYCTL_GET_KEYRING_ID:
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0038pre1-missing-include.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0038pre1-missing-include.patch
@@ -0,0 +1,26 @@
+commit 4f5ca265788973e3f5a1129a96ee4a9cbf587f2b
+Author: Adrian Bunk <bunk@kernel.org>
+Date:   Wed Jul 23 21:27:02 2008 -0700
+
+    mm/migrate.c should #include <linux/syscalls.h>
+    
+    Every file should include the headers containing the externs for its
+    global functions (in this case for sys_move_pages()).
+    
+    Signed-off-by: Adrian Bunk <bunk@kernel.org>
+    Acked-by: Christoph Lameter <cl@linux-foundation.org>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/mm/migrate.c b/mm/migrate.c
+index 55bd355..e7d13a7 100644
+--- a/mm/migrate.c
++++ b/mm/migrate.c
+@@ -30,6 +30,7 @@
+ #include <linux/vmalloc.h>
+ #include <linux/security.h>
+ #include <linux/memcontrol.h>
++#include <linux/syscalls.h>
+ 
+ #include "internal.h"
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0039-System-call-wrappers-part-29.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0039-System-call-wrappers-part-29.patch
@@ -0,0 +1,102 @@
+From 2e4d0924eb0c403ce4014fa139d1d61bf2c44fee Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:31 +0100
+Subject: [PATCH 39/44] [CVE-2009-0029] System call wrappers part 29
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 2e4d0924eb0c403ce4014fa139d1d61bf2c44fee upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/inotify_user.c linux-source-2.6.26/fs/inotify_user.c
+--- linux-source-2.6.26.orig/fs/inotify_user.c	2009-01-19 12:50:36.000000000 -0700
++++ linux-source-2.6.26/fs/inotify_user.c	2009-01-19 12:55:29.000000000 -0700
+@@ -638,7 +638,8 @@ out_put_fd:
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_inotify_add_watch(int fd, const char __user *path, u32 mask)
++SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, path,
++		u32, mask)
+ {
+ 	struct inode *inode;
+ 	struct inotify_device *dev;
+@@ -682,7 +683,7 @@ fput_and_out:
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_inotify_rm_watch(int fd, u32 wd)
++SYSCALL_DEFINE2(inotify_rm_watch, int, fd, u32, wd)
+ {
+ 	struct file *filp;
+ 	struct inotify_device *dev;
+diff -urpN linux-source-2.6.26.orig/fs/namei.c linux-source-2.6.26/fs/namei.c
+--- linux-source-2.6.26.orig/fs/namei.c	2009-01-19 12:33:56.000000000 -0700
++++ linux-source-2.6.26/fs/namei.c	2009-01-19 12:54:26.000000000 -0700
+@@ -2084,8 +2084,8 @@ static int may_mknod(mode_t mode)
+ 	}
+ }
+ 
+-asmlinkage long sys_mknodat(int dfd, const char __user *filename, int mode,
+-				unsigned dev)
++SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
++		unsigned, dev)
+ {
+ 	int error = 0;
+ 	char * tmp;
+@@ -2165,7 +2165,7 @@ int vfs_mkdir(struct inode *dir, struct 
+ 	return error;
+ }
+ 
+-asmlinkage long sys_mkdirat(int dfd, const char __user *pathname, int mode)
++SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)
+ {
+ 	int error = 0;
+ 	char * tmp;
+@@ -2408,7 +2408,7 @@ slashes:
+ 	goto exit2;
+ }
+ 
+-asmlinkage long sys_unlinkat(int dfd, const char __user *pathname, int flag)
++SYSCALL_DEFINE3(unlinkat, int, dfd, const char __user *, pathname, int, flag)
+ {
+ 	if ((flag & ~AT_REMOVEDIR) != 0)
+ 		return -EINVAL;
+@@ -2445,8 +2445,8 @@ int vfs_symlink(struct inode *dir, struc
+ 	return error;
+ }
+ 
+-asmlinkage long sys_symlinkat(const char __user *oldname,
+-			      int newdfd, const char __user *newname)
++SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
++		int, newdfd, const char __user *, newname)
+ {
+ 	int error = 0;
+ 	char * from;
+@@ -2539,9 +2539,8 @@ int vfs_link(struct dentry *old_dentry, 
+  * with linux 2.0, and to avoid hard-linking to directories
+  * and other special files.  --ADM
+  */
+-asmlinkage long sys_linkat(int olddfd, const char __user *oldname,
+-			   int newdfd, const char __user *newname,
+-			   int flags)
++SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
++		int, newdfd, const char __user *, newname, int, flags)
+ {
+ 	struct dentry *new_dentry;
+ 	struct nameidata nd, old_nd;
+@@ -2821,8 +2820,8 @@ exit:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_renameat(int olddfd, const char __user *oldname,
+-			     int newdfd, const char __user *newname)
++SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
++		int, newdfd, const char __user *, newname)
+ {
+ 	int error;
+ 	char * from;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0040-System-call-wrappers-part-30.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0040-System-call-wrappers-part-30.patch
@@ -0,0 +1,129 @@
+From 6559eed8ca7db0531a207cd80be5e28cd6f213c5 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:32 +0100
+Subject: [PATCH 40/44] [CVE-2009-0029] System call wrappers part 30
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 6559eed8ca7db0531a207cd80be5e28cd6f213c5 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/open.c linux-source-2.6.26/fs/open.c
+--- linux-source-2.6.26.orig/fs/open.c	2009-01-19 12:33:56.000000000 -0700
++++ linux-source-2.6.26/fs/open.c	2009-01-19 12:56:31.000000000 -0700
+@@ -441,7 +441,7 @@ SYSCALL_ALIAS(sys_fallocate, SyS_falloca
+  * We do this by temporarily clearing all FS-related capabilities and
+  * switching the fsuid/fsgid around to the real ones.
+  */
+-asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode)
++SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
+ {
+ 	struct nameidata nd;
+ 	int old_fsuid, old_fsgid;
+@@ -627,8 +627,7 @@ out:
+ 	return err;
+ }
+ 
+-asmlinkage long sys_fchmodat(int dfd, const char __user *filename,
+-			     mode_t mode)
++SYSCALL_DEFINE3(fchmodat, int, dfd, const char __user *, filename, mode_t, mode)
+ {
+ 	struct nameidata nd;
+ 	struct inode * inode;
+@@ -721,8 +720,8 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
+-			     gid_t group, int flag)
++SYSCALL_DEFINE5(fchownat, int, dfd, const char __user *, filename, uid_t, user,
++		gid_t, group, int, flag)
+ {
+ 	struct nameidata nd;
+ 	int error = -EINVAL;
+@@ -1134,8 +1133,8 @@ SYSCALL_DEFINE3(open, const char __user 
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
+-			   int mode)
++SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags,
++		int, mode)
+ {
+ 	long ret;
+ 
+diff -urpN linux-source-2.6.26.orig/fs/stat.c linux-source-2.6.26/fs/stat.c
+--- linux-source-2.6.26.orig/fs/stat.c	2009-01-19 12:30:49.000000000 -0700
++++ linux-source-2.6.26/fs/stat.c	2009-01-19 12:57:00.000000000 -0700
+@@ -260,8 +260,8 @@ SYSCALL_DEFINE2(newlstat, char __user *,
+ }
+ 
+ #if !defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_SYS_NEWFSTATAT)
+-asmlinkage long sys_newfstatat(int dfd, char __user *filename,
+-				struct stat __user *statbuf, int flag)
++SYSCALL_DEFINE4(newfstatat, int, dfd, char __user *, filename,
++		struct stat __user *, statbuf, int, flag)
+ {
+ 	struct kstat stat;
+ 	int error = -EINVAL;
+@@ -293,8 +293,8 @@ SYSCALL_DEFINE2(newfstat, unsigned int, 
+ 	return error;
+ }
+ 
+-asmlinkage long sys_readlinkat(int dfd, const char __user *path,
+-				char __user *buf, int bufsiz)
++SYSCALL_DEFINE4(readlinkat, int, dfd, const char __user *, path,
++		char __user *, buf, int, bufsiz)
+ {
+ 	struct nameidata nd;
+ 	int error;
+@@ -400,8 +400,8 @@ SYSCALL_DEFINE2(fstat64, unsigned long, 
+ 	return error;
+ }
+ 
+-asmlinkage long sys_fstatat64(int dfd, char __user *filename,
+-			       struct stat64 __user *statbuf, int flag)
++SYSCALL_DEFINE4(fstatat64, int, dfd, char __user *, filename,
++		struct stat64 __user *, statbuf, int, flag)
+ {
+ 	struct kstat stat;
+ 	int error = -EINVAL;
+diff -urpN linux-source-2.6.26.orig/fs/utimes.c linux-source-2.6.26/fs/utimes.c
+--- linux-source-2.6.26.orig/fs/utimes.c	2009-01-19 12:32:59.000000000 -0700
++++ linux-source-2.6.26/fs/utimes.c	2009-01-19 12:56:31.000000000 -0700
+@@ -167,7 +167,8 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long sys_utimensat(int dfd, char __user *filename, struct timespec __user *utimes, int flags)
++SYSCALL_DEFINE4(utimensat, int, dfd, char __user *, filename,
++		struct timespec __user *, utimes, int, flags)
+ {
+ 	struct timespec tstimes[2];
+ 
+@@ -184,7 +185,8 @@ asmlinkage long sys_utimensat(int dfd, c
+ 	return do_utimes(dfd, filename, utimes ? tstimes : NULL, flags);
+ }
+ 
+-asmlinkage long sys_futimesat(int dfd, char __user *filename, struct timeval __user *utimes)
++SYSCALL_DEFINE3(futimesat, int, dfd, char __user *, filename,
++		struct timeval __user *, utimes)
+ {
+ 	struct timeval times[2];
+ 	struct timespec tstimes[2];
+diff -urpN linux-source-2.6.26.orig/kernel/fork.c linux-source-2.6.26/kernel/fork.c
+--- linux-source-2.6.26.orig/kernel/fork.c	2009-01-19 12:08:21.000000000 -0700
++++ linux-source-2.6.26/kernel/fork.c	2009-01-19 12:56:31.000000000 -0700
+@@ -1550,7 +1550,7 @@ static int unshare_fd(unsigned long unsh
+  * constructed. Here we are modifying the current, active,
+  * task_struct.
+  */
+-asmlinkage long sys_unshare(unsigned long unshare_flags)
++SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
+ {
+ 	int err = 0;
+ 	struct fs_struct *fs, *new_fs = NULL;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0041-System-call-wrappers-part-31.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0041-System-call-wrappers-part-31.patch
@@ -0,0 +1,130 @@
+From 836f92adf121f806e9beb5b6b88bd5c9c4ea3f24 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:33 +0100
+Subject: [PATCH 41/44] [CVE-2009-0029] System call wrappers part 31
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 836f92adf121f806e9beb5b6b88bd5c9c4ea3f24 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/signalfd.c linux-source-2.6.26/fs/signalfd.c
+--- linux-source-2.6.26.orig/fs/signalfd.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/signalfd.c	2009-01-19 12:58:49.000000000 -0700
+@@ -205,7 +205,8 @@ static const struct file_operations sign
+ 	.read		= signalfd_read,
+ };
+ 
+-asmlinkage long sys_signalfd(int ufd, sigset_t __user *user_mask, size_t sizemask)
++SYSCALL_DEFINE3(signalfd, int, ufd, sigset_t __user *, user_mask,
++		size_t, sizemask)
+ {
+ 	sigset_t sigmask;
+ 	struct signalfd_ctx *ctx;
+diff -urpN linux-source-2.6.26.orig/fs/splice.c linux-source-2.6.26/fs/splice.c
+--- linux-source-2.6.26.orig/fs/splice.c	2009-01-10 05:42:12.000000000 -0700
++++ linux-source-2.6.26/fs/splice.c	2009-01-19 12:57:47.000000000 -0700
+@@ -1460,8 +1460,8 @@ static long vmsplice_to_pipe(struct file
+  * Currently we punt and implement it as a normal copy, see pipe_to_user().
+  *
+  */
+-asmlinkage long sys_vmsplice(int fd, const struct iovec __user *iov,
+-			     unsigned long nr_segs, unsigned int flags)
++SYSCALL_DEFINE4(vmsplice, int, fd, const struct iovec __user *, iov,
++		unsigned long, nr_segs, unsigned int, flags)
+ {
+ 	struct file *file;
+ 	long error;
+@@ -1486,9 +1486,9 @@ asmlinkage long sys_vmsplice(int fd, con
+ 	return error;
+ }
+ 
+-asmlinkage long sys_splice(int fd_in, loff_t __user *off_in,
+-			   int fd_out, loff_t __user *off_out,
+-			   size_t len, unsigned int flags)
++SYSCALL_DEFINE6(splice, int, fd_in, loff_t __user *, off_in,
++		int, fd_out, loff_t __user *, off_out,
++		size_t, len, unsigned int, flags)
+ {
+ 	long error;
+ 	struct file *in, *out;
+@@ -1710,7 +1710,7 @@ static long do_tee(struct file *in, stru
+ 	return ret;
+ }
+ 
+-asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags)
++SYSCALL_DEFINE4(tee, int, fdin, int, fdout, size_t, len, unsigned int, flags)
+ {
+ 	struct file *in;
+ 	int error, fput_in;
+diff -urpN linux-source-2.6.26.orig/fs/timerfd.c linux-source-2.6.26/fs/timerfd.c
+--- linux-source-2.6.26.orig/fs/timerfd.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/timerfd.c	2009-01-19 12:57:47.000000000 -0700
+@@ -179,7 +179,7 @@ static struct file *timerfd_fget(int fd)
+ 	return file;
+ }
+ 
+-asmlinkage long sys_timerfd_create(int clockid, int flags)
++SYSCALL_DEFINE2(timerfd_create, int, clockid, int, flags)
+ {
+ 	int ufd;
+ 	struct timerfd_ctx *ctx;
+@@ -205,9 +205,9 @@ asmlinkage long sys_timerfd_create(int c
+ 	return ufd;
+ }
+ 
+-asmlinkage long sys_timerfd_settime(int ufd, int flags,
+-				    const struct itimerspec __user *utmr,
+-				    struct itimerspec __user *otmr)
++SYSCALL_DEFINE4(timerfd_settime, int, ufd, int, flags,
++		const struct itimerspec __user *, utmr,
++		struct itimerspec __user *, otmr)
+ {
+ 	struct file *file;
+ 	struct timerfd_ctx *ctx;
+diff -urpN linux-source-2.6.26.orig/kernel/futex.c linux-source-2.6.26/kernel/futex.c
+--- linux-source-2.6.26.orig/kernel/futex.c	2009-01-19 12:08:21.000000000 -0700
++++ linux-source-2.6.26/kernel/futex.c	2009-01-19 12:57:47.000000000 -0700
+@@ -1797,9 +1797,8 @@ pi_faulted:
+  * @head: pointer to the list-head
+  * @len: length of the list-head, as userspace expects
+  */
+-asmlinkage long
+-sys_set_robust_list(struct robust_list_head __user *head,
+-		    size_t len)
++SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head,
++		size_t, len)
+ {
+ 	if (!futex_cmpxchg_enabled)
+ 		return -ENOSYS;
+@@ -1820,9 +1819,9 @@ sys_set_robust_list(struct robust_list_h
+  * @head_ptr: pointer to a list-head pointer, the kernel fills it in
+  * @len_ptr: pointer to a length field, the kernel fills in the header size
+  */
+-asmlinkage long
+-sys_get_robust_list(int pid, struct robust_list_head __user * __user *head_ptr,
+-		    size_t __user *len_ptr)
++SYSCALL_DEFINE3(get_robust_list, int, pid,
++		struct robust_list_head __user * __user *, head_ptr,
++		size_t __user *, len_ptr)
+ {
+ 	struct robust_list_head __user *head;
+ 	unsigned long ret;
+diff -urpN linux-source-2.6.26.orig/kernel/sys.c linux-source-2.6.26/kernel/sys.c
+--- linux-source-2.6.26.orig/kernel/sys.c	2009-01-19 12:49:03.000000000 -0700
++++ linux-source-2.6.26/kernel/sys.c	2009-01-19 12:57:47.000000000 -0700
+@@ -1753,8 +1753,8 @@ SYSCALL_DEFINE5(prctl, int, option, unsi
+ 	return error;
+ }
+ 
+-asmlinkage long sys_getcpu(unsigned __user *cpup, unsigned __user *nodep,
+-			   struct getcpu_cache __user *unused)
++SYSCALL_DEFINE3(getcpu, unsigned __user *, cpup, unsigned __user *, nodep,
++		struct getcpu_cache __user *, unused)
+ {
+ 	int err = 0;
+ 	int cpu = raw_smp_processor_id();
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0042-System-call-wrappers-part-32.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0042-System-call-wrappers-part-32.patch
@@ -0,0 +1,124 @@
+From d4e82042c4cfa87a7d51710b71f568fe80132551 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:34 +0100
+Subject: [PATCH 42/44] [CVE-2009-0029] System call wrappers part 32
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit d4e82042c4cfa87a7d51710b71f568fe80132551 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/eventfd.c linux-source-2.6.26/fs/eventfd.c
+--- linux-source-2.6.26.orig/fs/eventfd.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/fs/eventfd.c	2009-01-19 13:01:11.000000000 -0700
+@@ -198,7 +198,7 @@ struct file *eventfd_fget(int fd)
+ 	return file;
+ }
+ 
+-asmlinkage long sys_eventfd(unsigned int count)
++SYSCALL_DEFINE1(eventfd, unsigned int, count)
+ {
+ 	int fd;
+ 	struct eventfd_ctx *ctx;
+diff -urpN linux-source-2.6.26.orig/fs/readdir.c linux-source-2.6.26/fs/readdir.c
+--- linux-source-2.6.26.orig/fs/readdir.c	2009-01-19 12:34:46.000000000 -0700
++++ linux-source-2.6.26/fs/readdir.c	2009-01-19 13:00:22.000000000 -0700
+@@ -100,7 +100,8 @@ efault:
+ 	return -EFAULT;
+ }
+ 
+-asmlinkage long sys_old_readdir(unsigned int fd, struct old_linux_dirent __user * dirent, unsigned int count)
++SYSCALL_DEFINE3(old_readdir, unsigned int, fd,
++		struct old_linux_dirent __user *, dirent, unsigned int, count)
+ {
+ 	int error;
+ 	struct file * file;
+diff -urpN linux-source-2.6.26.orig/fs/select.c linux-source-2.6.26/fs/select.c
+--- linux-source-2.6.26.orig/fs/select.c	2009-01-19 12:43:21.000000000 -0700
++++ linux-source-2.6.26/fs/select.c	2009-01-19 13:00:22.000000000 -0700
+@@ -513,8 +513,9 @@ sticky:
+  * which has a pointer to the sigset_t itself followed by a size_t containing
+  * the sigset size.
+  */
+-asmlinkage long sys_pselect6(int n, fd_set __user *inp, fd_set __user *outp,
+-	fd_set __user *exp, struct timespec __user *tsp, void __user *sig)
++SYSCALL_DEFINE6(pselect6, int, n, fd_set __user *, inp, fd_set __user *, outp,
++		fd_set __user *, exp, struct timespec __user *, tsp,
++		void __user *, sig)
+ {
+ 	size_t sigsetsize = 0;
+ 	sigset_t __user *up = NULL;
+@@ -761,9 +762,9 @@ SYSCALL_DEFINE3(poll, struct pollfd __us
+ }
+ 
+ #ifdef HAVE_SET_RESTORE_SIGMASK
+-asmlinkage long sys_ppoll(struct pollfd __user *ufds, unsigned int nfds,
+-	struct timespec __user *tsp, const sigset_t __user *sigmask,
+-	size_t sigsetsize)
++SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, unsigned int, nfds,
++		struct timespec __user *, tsp, const sigset_t __user *, sigmask,
++		size_t, sigsetsize)
+ {
+ 	sigset_t ksigmask, sigsaved;
+ 	struct timespec ts;
+diff -urpN linux-source-2.6.26.orig/fs/timerfd.c linux-source-2.6.26/fs/timerfd.c
+--- linux-source-2.6.26.orig/fs/timerfd.c	2009-01-19 12:57:47.000000000 -0700
++++ linux-source-2.6.26/fs/timerfd.c	2009-01-19 13:00:22.000000000 -0700
+@@ -262,7 +262,7 @@ SYSCALL_DEFINE4(timerfd_settime, int, uf
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_timerfd_gettime(int ufd, struct itimerspec __user *otmr)
++SYSCALL_DEFINE2(timerfd_gettime, int, ufd, struct itimerspec __user *, otmr)
+ {
+ 	struct file *file;
+ 	struct timerfd_ctx *ctx;
+diff -urpN linux-source-2.6.26.orig/include/linux/syscalls.h linux-source-2.6.26/include/linux/syscalls.h
+--- linux-source-2.6.26.orig/include/linux/syscalls.h	2009-01-19 11:53:03.000000000 -0700
++++ linux-source-2.6.26/include/linux/syscalls.h	2009-01-19 13:00:22.000000000 -0700
+@@ -672,6 +672,13 @@ asmlinkage long sys_timerfd_gettime(int 
+ asmlinkage long sys_eventfd(unsigned int count);
+ asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len);
+ asmlinkage long sys_old_readdir(unsigned int, struct old_linux_dirent __user *, unsigned int);
++asmlinkage long sys_pselect6(int, fd_set __user *, fd_set __user *,
++			     fd_set __user *, struct timespec __user *,
++			     void __user *);
++asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int,
++			  struct timespec __user *, const sigset_t __user *,
++			  size_t);
++asmlinkage long sys_pipe2(int __user *, int);
+ 
+ int kernel_execve(const char *filename, char *const argv[], char *const envp[]);
+ 
+diff -urpN linux-source-2.6.26.orig/kernel/signal.c linux-source-2.6.26/kernel/signal.c
+--- linux-source-2.6.26.orig/kernel/signal.c	2009-01-19 12:13:12.000000000 -0700
++++ linux-source-2.6.26/kernel/signal.c	2009-01-19 13:00:22.000000000 -0700
+@@ -2464,11 +2464,10 @@ out:
+ #endif /* __ARCH_WANT_SYS_SIGPROCMASK */
+ 
+ #ifdef __ARCH_WANT_SYS_RT_SIGACTION
+-asmlinkage long
+-sys_rt_sigaction(int sig,
+-		 const struct sigaction __user *act,
+-		 struct sigaction __user *oact,
+-		 size_t sigsetsize)
++SYSCALL_DEFINE4(rt_sigaction, int, sig,
++		const struct sigaction __user *, act,
++		struct sigaction __user *, oact,
++		size_t, sigsetsize)
+ {
+ 	struct k_sigaction new_sa, old_sa;
+ 	int ret = -EINVAL;
+@@ -2551,7 +2550,7 @@ SYSCALL_DEFINE0(pause)
+ #endif
+ 
+ #ifdef __ARCH_WANT_SYS_RT_SIGSUSPEND
+-asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize)
++SYSCALL_DEFINE2(rt_sigsuspend, sigset_t __user *, unewset, size_t, sigsetsize)
+ {
+ 	sigset_t newset;
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0043-System-call-wrappers-part-33.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0043-System-call-wrappers-part-33.patch
@@ -0,0 +1,37 @@
+From 2b66421995d2e93c9d1a0111acf2581f8529c6e5 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:35 +0100
+Subject: [PATCH 43/44] [CVE-2009-0029] System call wrappers part 33
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 2b66421995d2e93c9d1a0111acf2581f8529c6e5 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/fs/pipe.c linux-source-2.6.26/fs/pipe.c
+--- linux-source-2.6.26.orig/fs/pipe.c	2009-01-19 13:00:22.000000000 -0700
++++ linux-source-2.6.26/fs/pipe.c	2009-01-19 13:05:38.000000000 -0700
+@@ -1078,7 +1078,7 @@ int do_pipe(int *fd)
+  * sys_pipe() is the normal C calling standard for creating
+  * a pipe. It's not the way Unix traditionally does this, though.
+  */
+-asmlinkage long sys_pipe(int __user *fildes)
++SYSCALL_DEFINE1(pipe, int __user *, fildes)
+ {
+ 	int fd[2];
+ 	int error;
+diff -urpN linux-source-2.6.26.orig/include/linux/syscalls.h linux-source-2.6.26/include/linux/syscalls.h
+--- linux-source-2.6.26.orig/include/linux/syscalls.h	2009-01-19 13:00:22.000000000 -0700
++++ linux-source-2.6.26/include/linux/syscalls.h	2009-01-19 13:05:11.000000000 -0700
+@@ -679,6 +679,7 @@ asmlinkage long sys_ppoll(struct pollfd 
+ 			  struct timespec __user *, const sigset_t __user *,
+ 			  size_t);
+ asmlinkage long sys_pipe2(int __user *, int);
++asmlinkage long sys_pipe(int __user *);
+ 
+ int kernel_execve(const char *filename, char *const argv[], char *const envp[]);
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/0044-s390-specific-system-call-wrappers.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/0044-s390-specific-system-call-wrappers.patch
@@ -0,0 +1,354 @@
+From 26689452f5ca201add63b1b1ff0dbcf82d6885e7 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 14 Jan 2009 14:14:36 +0100
+Subject: [PATCH 44/44] [CVE-2009-0029] s390 specific system call wrappers
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit 26689452f5ca201add63b1b1ff0dbcf82d6885e7 upstream.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN linux-source-2.6.26.orig/arch/s390/kernel/compat_wrapper.S linux-source-2.6.26/arch/s390/kernel/compat_wrapper.S
+--- linux-source-2.6.26.orig/arch/s390/kernel/compat_wrapper.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/s390/kernel/compat_wrapper.S	2009-01-19 13:06:27.000000000 -0700
+@@ -549,7 +549,7 @@ sys32_setdomainname_wrapper:
+ 	.globl	sys32_newuname_wrapper
+ sys32_newuname_wrapper:
+ 	llgtr	%r2,%r2			# struct new_utsname *
+-	jg	s390x_newuname		# branch to system call
++	jg	sys_s390_newuname	# branch to system call
+ 
+ 	.globl	compat_sys_adjtimex_wrapper
+ compat_sys_adjtimex_wrapper:
+@@ -617,7 +617,7 @@ sys32_sysfs_wrapper:
+ 	.globl	sys32_personality_wrapper
+ sys32_personality_wrapper:
+ 	llgfr	%r2,%r2			# unsigned long
+-	jg	s390x_personality	# branch to system call
++	jg	sys_s390_personality	# branch to system call
+ 
+ 	.globl	sys32_setfsuid16_wrapper
+ sys32_setfsuid16_wrapper:
+diff -urpN linux-source-2.6.26.orig/arch/s390/kernel/entry.h linux-source-2.6.26/arch/s390/kernel/entry.h
+--- linux-source-2.6.26.orig/arch/s390/kernel/entry.h	2009-01-19 11:38:32.000000000 -0700
++++ linux-source-2.6.26/arch/s390/kernel/entry.h	2009-01-19 13:06:27.000000000 -0700
+@@ -31,21 +31,22 @@ struct old_sigaction;
+ struct sel_arg_struct;
+ 
+ long sys_mmap2(struct mmap_arg_struct __user  *arg);
+-long old_mmap(struct mmap_arg_struct __user *arg);
++long sys_s390_old_mmap(struct mmap_arg_struct __user *arg);
+ long sys_ipc(uint call, int first, unsigned long second,
+ 	     unsigned long third, void __user *ptr);
+-long s390x_newuname(struct new_utsname __user *name);
+-long s390x_personality(unsigned long personality);
+-long s390_fadvise64(int fd, u32 offset_high, u32 offset_low,
++long sys_s390_newuname(struct new_utsname __user *name);
++long sys_s390_personality(unsigned long personality);
++long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low,
+ 		    size_t len, int advice);
+-long s390_fadvise64_64(struct fadvise64_64_args __user *args);
+-long s390_fallocate(int fd, int mode, loff_t offset, u32 len_high, u32 len_low);
++long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args);
++long sys_s390_fallocate(int fd, int mode, loff_t offset, u32 len_high,
++			u32 len_low);
+ long sys_fork(void);
+ long sys_clone(void);
+ long sys_vfork(void);
+ void execve_tail(void);
+ long sys_execve(void);
+-int sys_sigsuspend(int history0, int history1, old_sigset_t mask);
++long sys_sigsuspend(int history0, int history1, old_sigset_t mask);
+ long sys_sigaction(int sig, const struct old_sigaction __user *act,
+ 		   struct old_sigaction __user *oact);
+ long sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss);
+diff -urpN linux-source-2.6.26.orig/arch/s390/kernel/process.c linux-source-2.6.26/arch/s390/kernel/process.c
+--- linux-source-2.6.26.orig/arch/s390/kernel/process.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/s390/kernel/process.c	2009-01-19 13:06:27.000000000 -0700
+@@ -38,6 +38,7 @@
+ #include <linux/utsname.h>
+ #include <linux/tick.h>
+ #include <linux/elfcore.h>
++#include <linux/syscalls.h>
+ #include <asm/uaccess.h>
+ #include <asm/pgtable.h>
+ #include <asm/system.h>
+@@ -283,13 +284,13 @@ int copy_thread(int nr, unsigned long cl
+         return 0;
+ }
+ 
+-asmlinkage long sys_fork(void)
++SYSCALL_DEFINE0(fork)
+ {
+ 	struct pt_regs *regs = task_pt_regs(current);
+ 	return do_fork(SIGCHLD, regs->gprs[15], regs, 0, NULL, NULL);
+ }
+ 
+-asmlinkage long sys_clone(void)
++SYSCALL_DEFINE0(clone)
+ {
+ 	struct pt_regs *regs = task_pt_regs(current);
+ 	unsigned long clone_flags;
+@@ -316,7 +317,7 @@ asmlinkage long sys_clone(void)
+  * do not have enough call-clobbered registers to hold all
+  * the information you need.
+  */
+-asmlinkage long sys_vfork(void)
++SYSCALL_DEFINE0(vfork)
+ {
+ 	struct pt_regs *regs = task_pt_regs(current);
+ 	return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD,
+@@ -336,7 +337,7 @@ asmlinkage void execve_tail(void)
+ /*
+  * sys_execve() executes a new program.
+  */
+-asmlinkage long sys_execve(void)
++SYSCALL_DEFINE0(execve)
+ {
+ 	struct pt_regs *regs = task_pt_regs(current);
+ 	char *filename;
+diff -urpN linux-source-2.6.26.orig/arch/s390/kernel/signal.c linux-source-2.6.26/arch/s390/kernel/signal.c
+--- linux-source-2.6.26.orig/arch/s390/kernel/signal.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/s390/kernel/signal.c	2009-01-19 13:06:47.000000000 -0700
+@@ -24,6 +24,7 @@
+ #include <linux/tty.h>
+ #include <linux/personality.h>
+ #include <linux/binfmts.h>
++#include <linux/syscalls.h>
+ #include <asm/ucontext.h>
+ #include <asm/uaccess.h>
+ #include <asm/lowcore.h>
+@@ -52,8 +53,7 @@ typedef struct 
+ /*
+  * Atomically swap in the new signal mask, and wait for a signal.
+  */
+-asmlinkage int
+-sys_sigsuspend(int history0, int history1, old_sigset_t mask)
++SYSCALL_DEFINE3(sigsuspend, int, history0, int, history1, old_sigset_t, mask)
+ {
+ 	mask &= _BLOCKABLE;
+ 	spin_lock_irq(&current->sighand->siglock);
+@@ -69,9 +69,8 @@ sys_sigsuspend(int history0, int history
+ 	return -ERESTARTNOHAND;
+ }
+ 
+-asmlinkage long
+-sys_sigaction(int sig, const struct old_sigaction __user *act,
+-	      struct old_sigaction __user *oact)
++SYSCALL_DEFINE3(sigaction, int, sig, const struct old_sigaction __user *, act,
++		struct old_sigaction __user *, oact)
+ {
+ 	struct k_sigaction new_ka, old_ka;
+ 	int ret;
+@@ -101,15 +100,13 @@ sys_sigaction(int sig, const struct old_
+ 	return ret;
+ }
+ 
+-asmlinkage long
+-sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss)
++SYSCALL_DEFINE2(sigaltstack, const stack_t __user *, uss,
++		stack_t __user *, uoss)
+ {
+ 	struct pt_regs *regs = task_pt_regs(current);
+ 	return do_sigaltstack(uss, uoss, regs->gprs[15]);
+ }
+ 
+-
+-
+ /* Returns non-zero on fault. */
+ static int save_sigregs(struct pt_regs *regs, _sigregs __user *sregs)
+ {
+@@ -163,7 +160,7 @@ static int restore_sigregs(struct pt_reg
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_sigreturn(void)
++SYSCALL_DEFINE0(sigreturn)
+ {
+ 	struct pt_regs *regs = task_pt_regs(current);
+ 	sigframe __user *frame = (sigframe __user *)regs->gprs[15];
+@@ -190,7 +187,7 @@ badframe:
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_rt_sigreturn(void)
++SYSCALL_DEFINE0(rt_sigreturn)
+ {
+ 	struct pt_regs *regs = task_pt_regs(current);
+ 	rt_sigframe __user *frame = (rt_sigframe __user *)regs->gprs[15];
+diff -urpN linux-source-2.6.26.orig/arch/s390/kernel/syscalls.S linux-source-2.6.26/arch/s390/kernel/syscalls.S
+--- linux-source-2.6.26.orig/arch/s390/kernel/syscalls.S	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/s390/kernel/syscalls.S	2009-01-19 13:06:27.000000000 -0700
+@@ -98,7 +98,7 @@ SYSCALL(sys_uselib,sys_uselib,sys32_usel
+ SYSCALL(sys_swapon,sys_swapon,sys32_swapon_wrapper)
+ SYSCALL(sys_reboot,sys_reboot,sys32_reboot_wrapper)
+ SYSCALL(sys_ni_syscall,sys_ni_syscall,old32_readdir_wrapper)	/* old readdir syscall */
+-SYSCALL(old_mmap,old_mmap,old32_mmap_wrapper)			/* 90 */
++SYSCALL(sys_s390_old_mmap,sys_s390_old_mmap,old32_mmap_wrapper)	/* 90 */
+ SYSCALL(sys_munmap,sys_munmap,sys32_munmap_wrapper)
+ SYSCALL(sys_truncate,sys_truncate,sys32_truncate_wrapper)
+ SYSCALL(sys_ftruncate,sys_ftruncate,sys32_ftruncate_wrapper)
+@@ -130,7 +130,7 @@ SYSCALL(sys_fsync,sys_fsync,sys32_fsync_
+ SYSCALL(sys_sigreturn,sys_sigreturn,sys32_sigreturn)
+ SYSCALL(sys_clone,sys_clone,sys32_clone)			/* 120 */
+ SYSCALL(sys_setdomainname,sys_setdomainname,sys32_setdomainname_wrapper)
+-SYSCALL(sys_newuname,s390x_newuname,sys32_newuname_wrapper)
++SYSCALL(sys_newuname,sys_s390_newuname,sys32_newuname_wrapper)
+ NI_SYSCALL							/* modify_ldt for i386 */
+ SYSCALL(sys_adjtimex,sys_adjtimex,compat_sys_adjtimex_wrapper)
+ SYSCALL(sys_mprotect,sys_mprotect,sys32_mprotect_wrapper)	/* 125 */
+@@ -144,7 +144,7 @@ SYSCALL(sys_getpgid,sys_getpgid,sys32_ge
+ SYSCALL(sys_fchdir,sys_fchdir,sys32_fchdir_wrapper)
+ SYSCALL(sys_bdflush,sys_bdflush,sys32_bdflush_wrapper)
+ SYSCALL(sys_sysfs,sys_sysfs,sys32_sysfs_wrapper)		/* 135 */
+-SYSCALL(sys_personality,s390x_personality,sys32_personality_wrapper)
++SYSCALL(sys_personality,sys_s390_personality,sys32_personality_wrapper)
+ NI_SYSCALL							/* for afs_syscall */
+ SYSCALL(sys_setfsuid16,sys_ni_syscall,sys32_setfsuid16_wrapper)	/* old setfsuid16 syscall */
+ SYSCALL(sys_setfsgid16,sys_ni_syscall,sys32_setfsgid16_wrapper)	/* old setfsgid16 syscall */
+@@ -261,7 +261,7 @@ SYSCALL(sys_epoll_create,sys_epoll_creat
+ SYSCALL(sys_epoll_ctl,sys_epoll_ctl,sys_epoll_ctl_wrapper)	/* 250 */
+ SYSCALL(sys_epoll_wait,sys_epoll_wait,sys_epoll_wait_wrapper)
+ SYSCALL(sys_set_tid_address,sys_set_tid_address,sys32_set_tid_address_wrapper)
+-SYSCALL(s390_fadvise64,sys_fadvise64_64,sys32_fadvise64_wrapper)
++SYSCALL(sys_s390_fadvise64,sys_fadvise64_64,sys32_fadvise64_wrapper)
+ SYSCALL(sys_timer_create,sys_timer_create,sys32_timer_create_wrapper)
+ SYSCALL(sys_timer_settime,sys_timer_settime,sys32_timer_settime_wrapper)	/* 255 */
+ SYSCALL(sys_timer_gettime,sys_timer_gettime,sys32_timer_gettime_wrapper)
+@@ -272,7 +272,7 @@ SYSCALL(sys_clock_gettime,sys_clock_gett
+ SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper)
+ SYSCALL(sys_clock_nanosleep,sys_clock_nanosleep,sys32_clock_nanosleep_wrapper)
+ NI_SYSCALL							/* reserved for vserver */
+-SYSCALL(s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
++SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
+ SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
+ SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
+ SYSCALL(sys_remap_file_pages,sys_remap_file_pages,sys32_remap_file_pages_wrapper)
+@@ -322,7 +322,7 @@ NI_SYSCALL							/* 310 sys_move_pages *
+ SYSCALL(sys_getcpu,sys_getcpu,sys_getcpu_wrapper)
+ SYSCALL(sys_epoll_pwait,sys_epoll_pwait,compat_sys_epoll_pwait_wrapper)
+ SYSCALL(sys_utimes,sys_utimes,compat_sys_utimes_wrapper)
+-SYSCALL(s390_fallocate,sys_fallocate,sys_fallocate_wrapper)
++SYSCALL(sys_s390_fallocate,sys_fallocate,sys_fallocate_wrapper)
+ SYSCALL(sys_utimensat,sys_utimensat,compat_sys_utimensat_wrapper)	/* 315 */
+ SYSCALL(sys_signalfd,sys_signalfd,compat_sys_signalfd_wrapper)
+ NI_SYSCALL						/* 317 old sys_timer_fd */
+diff -urpN linux-source-2.6.26.orig/arch/s390/kernel/sys_s390.c linux-source-2.6.26/arch/s390/kernel/sys_s390.c
+--- linux-source-2.6.26.orig/arch/s390/kernel/sys_s390.c	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/arch/s390/kernel/sys_s390.c	2009-01-19 13:06:27.000000000 -0700
+@@ -29,6 +29,7 @@
+ #include <linux/personality.h>
+ #include <linux/unistd.h>
+ #include <linux/ipc.h>
++#include <linux/syscalls.h>
+ #include <asm/uaccess.h>
+ #include "entry.h"
+ 
+@@ -74,7 +75,7 @@ struct mmap_arg_struct {
+ 	unsigned long offset;
+ };
+ 
+-asmlinkage long sys_mmap2(struct mmap_arg_struct __user  *arg)
++SYSCALL_DEFINE1(mmap2, struct mmap_arg_struct __user *, arg)
+ {
+ 	struct mmap_arg_struct a;
+ 	int error = -EFAULT;
+@@ -86,7 +87,7 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage long old_mmap(struct mmap_arg_struct __user *arg)
++SYSCALL_DEFINE1(s390_old_mmap, struct mmap_arg_struct __user *, arg)
+ {
+ 	struct mmap_arg_struct a;
+ 	long error = -EFAULT;
+@@ -127,8 +128,8 @@ asmlinkage long old_select(struct sel_ar
+  *
+  * This is really horribly ugly.
+  */
+-asmlinkage long sys_ipc(uint call, int first, unsigned long second,
+-				  unsigned long third, void __user *ptr)
++SYSCALL_DEFINE5(ipc, uint, call, int, first, unsigned long, second,
++		unsigned long, third, void __user *, ptr)
+ {
+         struct ipc_kludge tmp;
+ 	int ret;
+@@ -194,7 +195,7 @@ asmlinkage long sys_ipc(uint call, int f
+ }
+ 
+ #ifdef CONFIG_64BIT
+-asmlinkage long s390x_newuname(struct new_utsname __user *name)
++SYSCALL_DEFINE1(s390_newuname, struct new_utsname __user *, name)
+ {
+ 	int ret = sys_newuname(name);
+ 
+@@ -205,7 +206,7 @@ asmlinkage long s390x_newuname(struct ne
+ 	return ret;
+ }
+ 
+-asmlinkage long s390x_personality(unsigned long personality)
++SYSCALL_DEFINE1(s390_personality, unsigned long, personality)
+ {
+ 	int ret;
+ 
+@@ -224,15 +225,13 @@ asmlinkage long s390x_personality(unsign
+  */
+ #ifndef CONFIG_64BIT
+ 
+-asmlinkage long
+-s390_fadvise64(int fd, u32 offset_high, u32 offset_low, size_t len, int advice)
++SYSCALL_DEFINE5(s390_fadvise64, int, fd, u32, offset_high, u32, offset_low,
++		size_t, len, int, advice)
+ {
+ 	return sys_fadvise64(fd, (u64) offset_high << 32 | offset_low,
+ 			len, advice);
+ }
+ 
+-#endif
+-
+ struct fadvise64_64_args {
+ 	int fd;
+ 	long long offset;
+@@ -240,8 +239,7 @@ struct fadvise64_64_args {
+ 	int advice;
+ };
+ 
+-asmlinkage long
+-s390_fadvise64_64(struct fadvise64_64_args __user *args)
++SYSCALL_DEFINE1(s390_fadvise64_64, struct fadvise64_64_args __user *, args)
+ {
+ 	struct fadvise64_64_args a;
+ 
+@@ -250,7 +248,6 @@ s390_fadvise64_64(struct fadvise64_64_ar
+ 	return sys_fadvise64_64(a.fd, a.offset, a.len, a.advice);
+ }
+ 
+-#ifndef CONFIG_64BIT
+ /*
+  * This is a wrapper to call sys_fallocate(). For 31 bit s390 the last
+  * 64 bit argument "len" is split into the upper and lower 32 bits. The
+@@ -263,9 +260,19 @@ s390_fadvise64_64(struct fadvise64_64_ar
+  * to
+  *   %r2: fd, %r3: mode, %r4/%r5: offset, 96(%r15)-103(%r15): len
+  */
+-asmlinkage long s390_fallocate(int fd, int mode, loff_t offset,
++SYSCALL_DEFINE(s390_fallocate)(int fd, int mode, loff_t offset,
+ 			       u32 len_high, u32 len_low)
+ {
+ 	return sys_fallocate(fd, mode, offset, ((u64)len_high << 32) | len_low);
+ }
++#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
++asmlinkage long SyS_s390_fallocate(long fd, long mode, loff_t offset,
++				   long len_high, long len_low)
++{
++	return SYSC_s390_fallocate((int) fd, (int) mode, offset,
++				   (u32) len_high, (u32) len_low);
++}
++SYSCALL_ALIAS(sys_s390_fallocate, SyS_s390_fallocate);
++#endif
++
+ #endif
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/alpha-use-syscall-wrappers.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/alpha-use-syscall-wrappers.patch
@@ -0,0 +1,578 @@
+commit e5d9a90c36e05dd080704ea58328c00f64facdc1
+Author: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
+Date:   Thu Jan 29 14:25:18 2009 -0800
+
+    alpha: use syscall wrappers
+    
+    Convert OSF syscalls and add alpha specific SYSCALL_ALIAS() macro.
+    
+    Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
+    Cc: Richard Henderson <rth@twiddle.net>
+    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/arch/alpha/Kconfig b/arch/alpha/Kconfig
+--- a/arch/alpha/Kconfig	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/alpha/Kconfig	2009-03-08 17:41:19.000000000 -0600
+@@ -7,6 +7,7 @@ config ALPHA
+ 	default y
+ 	select HAVE_IDE
+ 	select HAVE_OPROFILE
++	select HAVE_SYSCALL_WRAPPERS
+ 	help
+ 	  The Alpha is a 64-bit general-purpose processor designed and
+ 	  marketed by the Digital Equipment Corporation of blessed memory,
+diff -urpN a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
+--- a/arch/alpha/kernel/entry.S	2009-03-08 17:24:25.000000000 -0600
++++ b/arch/alpha/kernel/entry.S	2009-03-08 17:41:19.000000000 -0600
+@@ -931,7 +931,7 @@ sys_execve:
+ osf_sigprocmask:
+ 	.prologue 0
+ 	mov	$sp, $18
+-	jmp	$31, do_osf_sigprocmask
++	jmp	$31, sys_osf_sigprocmask
+ .end osf_sigprocmask
+ 
+ 	.align	4
+diff -urpN a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
+--- a/arch/alpha/kernel/osf_sys.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/alpha/kernel/osf_sys.c	2009-03-08 17:42:16.000000000 -0600
+@@ -54,8 +54,7 @@ extern int do_pipe(int *);
+  * identical to OSF as we don't return 0 on success, but doing otherwise
+  * would require changes to libc.  Hopefully this is good enough.
+  */
+-asmlinkage unsigned long
+-osf_brk(unsigned long brk)
++SYSCALL_DEFINE1(osf_brk, unsigned long, brk)
+ {
+ 	unsigned long retval = sys_brk(brk);
+ 	if (brk && brk != retval)
+@@ -66,9 +65,9 @@ osf_brk(unsigned long brk)
+ /*
+  * This is pure guess-work..
+  */
+-asmlinkage int
+-osf_set_program_attributes(unsigned long text_start, unsigned long text_len,
+-			   unsigned long bss_start, unsigned long bss_len)
++SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
++		unsigned long, text_len, unsigned long, bss_start,
++		unsigned long, bss_len)
+ {
+ 	struct mm_struct *mm;
+ 
+@@ -141,9 +140,9 @@ osf_filldir(void *__buf, const char *nam
+ 	return 0;
+ }
+ 
+-asmlinkage int
+-osf_getdirentries(unsigned int fd, struct osf_dirent __user *dirent,
+-		  unsigned int count, long __user *basep)
++SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd,
++		struct osf_dirent __user *, dirent, unsigned int, count,
++		long __user *, basep)
+ {
+ 	int error;
+ 	struct file *file;
+@@ -175,9 +174,9 @@ osf_getdirentries(unsigned int fd, struc
+ 
+ #undef NAME_OFFSET
+ 
+-asmlinkage unsigned long
+-osf_mmap(unsigned long addr, unsigned long len, unsigned long prot,
+-	 unsigned long flags, unsigned long fd, unsigned long off)
++SYSCALL_DEFINE6(osf_mmap, unsigned long, addr, unsigned long, len,
++		unsigned long, prot, unsigned long, flags, unsigned long, fd,
++		unsigned long, off)
+ {
+ 	struct file *file = NULL;
+ 	unsigned long ret = -EBADF;
+@@ -252,8 +251,8 @@ do_osf_statfs(struct dentry * dentry, st
+ 	return error;	
+ }
+ 
+-asmlinkage int
+-osf_statfs(char __user *path, struct osf_statfs __user *buffer, unsigned long bufsiz)
++SYSCALL_DEFINE3(osf_statfs, char __user *, path,
++		struct osf_statfs __user *, buffer, unsigned long, bufsiz)
+ {
+ 	struct nameidata nd;
+ 	int retval;
+@@ -266,8 +265,8 @@ osf_statfs(char __user *path, struct osf
+ 	return retval;
+ }
+ 
+-asmlinkage int
+-osf_fstatfs(unsigned long fd, struct osf_statfs __user *buffer, unsigned long bufsiz)
++SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd,
++		struct osf_statfs __user *, buffer, unsigned long, bufsiz)
+ {
+ 	struct file *file;
+ 	int retval;
+@@ -366,8 +365,8 @@ osf_procfs_mount(char *dirname, struct p
+ 	return do_mount("", dirname, "proc", flags, NULL);
+ }
+ 
+-asmlinkage int
+-osf_mount(unsigned long typenr, char __user *path, int flag, void __user *data)
++SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path,
++		int, flag, void __user *, data)
+ {
+ 	int retval = -EINVAL;
+ 	char *name;
+@@ -397,8 +396,7 @@ osf_mount(unsigned long typenr, char __u
+ 	return retval;
+ }
+ 
+-asmlinkage int
+-osf_utsname(char __user *name)
++SYSCALL_DEFINE1(osf_utsname, char __user *, name)
+ {
+ 	int error;
+ 
+@@ -421,14 +419,12 @@ osf_utsname(char __user *name)
+ 	return error;
+ }
+ 
+-asmlinkage unsigned long
+-sys_getpagesize(void)
++SYSCALL_DEFINE0(getpagesize)
+ {
+ 	return PAGE_SIZE;
+ }
+ 
+-asmlinkage unsigned long
+-sys_getdtablesize(void)
++SYSCALL_DEFINE0(getdtablesize)
+ {
+ 	return sysctl_nr_open;
+ }
+@@ -436,8 +432,7 @@ sys_getdtablesize(void)
+ /*
+  * For compatibility with OSF/1 only.  Use utsname(2) instead.
+  */
+-asmlinkage int
+-osf_getdomainname(char __user *name, int namelen)
++SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
+ {
+ 	unsigned len;
+ 	int i;
+@@ -525,8 +520,8 @@ enum pl_code {
+ 	PL_DEL = 5, PL_FDEL = 6
+ };
+ 
+-asmlinkage long
+-osf_proplist_syscall(enum pl_code code, union pl_args __user *args)
++SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
++		union pl_args __user *, args)
+ {
+ 	long error;
+ 	int __user *min_buf_size_ptr;
+@@ -565,8 +560,8 @@ osf_proplist_syscall(enum pl_code code, 
+ 	return error;
+ }
+ 
+-asmlinkage int
+-osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss)
++SYSCALL_DEFINE2(osf_sigstack, struct sigstack __user *, uss,
++		struct sigstack __user *, uoss)
+ {
+ 	unsigned long usp = rdusp();
+ 	unsigned long oss_sp = current->sas_ss_sp + current->sas_ss_size;
+@@ -606,8 +601,7 @@ osf_sigstack(struct sigstack __user *uss
+ 	return error;
+ }
+ 
+-asmlinkage long
+-osf_sysinfo(int command, char __user *buf, long count)
++SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count)
+ {
+ 	char *sysinfo_table[] = {
+ 		utsname()->sysname,
+@@ -645,9 +639,8 @@ osf_sysinfo(int command, char __user *bu
+ 	return err;
+ }
+ 
+-asmlinkage unsigned long
+-osf_getsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes,
+-	       int __user *start, void __user *arg)
++SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer,
++		unsigned long, nbytes, int __user *, start, void __user *, arg)
+ {
+ 	unsigned long w;
+ 	struct percpu_struct *cpu;
+@@ -703,9 +696,8 @@ osf_getsysinfo(unsigned long op, void __
+ 	return -EOPNOTSUPP;
+ }
+ 
+-asmlinkage unsigned long
+-osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes,
+-	       int __user *start, void __user *arg)
++SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer,
++		unsigned long, nbytes, int __user *, start, void __user *, arg)
+ {
+ 	switch (op) {
+ 	case SSI_IEEE_FP_CONTROL: {
+@@ -878,8 +870,8 @@ jiffies_to_timeval32(unsigned long jiffi
+ 	value->tv_sec = jiffies / HZ;
+ }
+ 
+-asmlinkage int
+-osf_gettimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
++SYSCALL_DEFINE2(osf_gettimeofday, struct timeval32 __user *, tv,
++		struct timezone __user *, tz)
+ {
+ 	if (tv) {
+ 		struct timeval ktv;
+@@ -894,8 +886,8 @@ osf_gettimeofday(struct timeval32 __user
+ 	return 0;
+ }
+ 
+-asmlinkage int
+-osf_settimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
++SYSCALL_DEFINE2(osf_settimeofday, struct timeval32 __user *, tv,
++		struct timezone __user *, tz)
+ {
+ 	struct timespec kts;
+ 	struct timezone ktz;
+@@ -914,8 +906,7 @@ osf_settimeofday(struct timeval32 __user
+ 	return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
+ }
+ 
+-asmlinkage int
+-osf_getitimer(int which, struct itimerval32 __user *it)
++SYSCALL_DEFINE2(osf_getitimer, int, which, struct itimerval32 __user *, it)
+ {
+ 	struct itimerval kit;
+ 	int error;
+@@ -927,8 +918,8 @@ osf_getitimer(int which, struct itimerva
+ 	return error;
+ }
+ 
+-asmlinkage int
+-osf_setitimer(int which, struct itimerval32 __user *in, struct itimerval32 __user *out)
++SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in,
++		struct itimerval32 __user *, out)
+ {
+ 	struct itimerval kin, kout;
+ 	int error;
+@@ -950,8 +941,8 @@ osf_setitimer(int which, struct itimerva
+ 
+ }
+ 
+-asmlinkage int
+-osf_utimes(char __user *filename, struct timeval32 __user *tvs)
++SYSCALL_DEFINE2(osf_utimes, char __user *, filename,
++		struct timeval32 __user *, tvs)
+ {
+ 	struct timespec tv[2];
+ 
+@@ -977,9 +968,8 @@ osf_utimes(char __user *filename, struct
+ #define MAX_SELECT_SECONDS \
+ 	((unsigned long) (MAX_SCHEDULE_TIMEOUT / HZ)-1)
+ 
+-asmlinkage int
+-osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp,
+-	   struct timeval32 __user *tvp)
++SYSCALL_DEFINE5(osf_select, int, n, fd_set __user *, inp, fd_set __user *, outp,
++		fd_set __user *, exp, struct timeval32 __user *, tvp)
+ {
+ 	s64 timeout = MAX_SCHEDULE_TIMEOUT;
+ 	if (tvp) {
+@@ -1023,8 +1013,7 @@ struct rusage32 {
+ 	long	ru_nivcsw;		/* involuntary " */
+ };
+ 
+-asmlinkage int
+-osf_getrusage(int who, struct rusage32 __user *ru)
++SYSCALL_DEFINE2(osf_getrusage, int, who, struct rusage32 __user *, ru)
+ {
+ 	struct rusage32 r;
+ 
+@@ -1050,9 +1039,8 @@ osf_getrusage(int who, struct rusage32 _
+ 	return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0;
+ }
+ 
+-asmlinkage long
+-osf_wait4(pid_t pid, int __user *ustatus, int options,
+-	  struct rusage32 __user *ur)
++SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options,
++		struct rusage32 __user *, ur)
+ {
+ 	struct rusage r;
+ 	long ret, err;
+@@ -1098,8 +1086,8 @@ osf_wait4(pid_t pid, int __user *ustatus
+  * seems to be a timeval pointer, and I suspect the second
+  * one is the time remaining.. Ho humm.. No documentation.
+  */
+-asmlinkage int
+-osf_usleep_thread(struct timeval32 __user *sleep, struct timeval32 __user *remain)
++SYSCALL_DEFINE2(osf_usleep_thread, struct timeval32 __user *, sleep,
++		struct timeval32 __user *, remain)
+ {
+ 	struct timeval tmp;
+ 	unsigned long ticks;
+@@ -1152,8 +1140,7 @@ struct timex32 {
+ 	int  :32; int  :32; int  :32; int  :32;
+ };
+ 
+-asmlinkage int
+-sys_old_adjtimex(struct timex32 __user *txc_p)
++SYSCALL_DEFINE1(old_adjtimex, struct timex32 __user *, txc_p)
+ {
+         struct timex txc;
+ 	int ret;
+@@ -1264,8 +1251,8 @@ osf_fix_iov_len(const struct iovec __use
+ 	return 0;
+ }
+ 
+-asmlinkage ssize_t
+-osf_readv(unsigned long fd, const struct iovec __user * vector, unsigned long count)
++SYSCALL_DEFINE3(osf_readv, unsigned long, fd,
++		const struct iovec __user *, vector, unsigned long, count)
+ {
+ 	if (unlikely(personality(current->personality) == PER_OSF4))
+ 		if (osf_fix_iov_len(vector, count))
+@@ -1273,8 +1260,8 @@ osf_readv(unsigned long fd, const struct
+ 	return sys_readv(fd, vector, count);
+ }
+ 
+-asmlinkage ssize_t
+-osf_writev(unsigned long fd, const struct iovec __user * vector, unsigned long count)
++SYSCALL_DEFINE3(osf_writev, unsigned long, fd,
++		const struct iovec __user *, vector, unsigned long, count)
+ {
+ 	if (unlikely(personality(current->personality) == PER_OSF4))
+ 		if (osf_fix_iov_len(vector, count))
+diff -urpN a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c
+--- a/arch/alpha/kernel/signal.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/alpha/kernel/signal.c	2009-03-08 17:41:19.000000000 -0600
+@@ -19,6 +19,7 @@
+ #include <linux/tty.h>
+ #include <linux/binfmts.h>
+ #include <linux/bitops.h>
++#include <linux/syscalls.h>
+ 
+ #include <asm/uaccess.h>
+ #include <asm/sigcontext.h>
+@@ -51,8 +52,8 @@ static void do_signal(struct pt_regs *, 
+  * Note that we don't need to acquire the kernel lock for SMP
+  * operation, as all of this is local to this thread.
+  */
+-asmlinkage unsigned long
+-do_osf_sigprocmask(int how, unsigned long newmask, struct pt_regs *regs)
++SYSCALL_DEFINE3(osf_sigprocmask, int, how, unsigned long, newmask,
++		struct pt_regs *, regs)
+ {
+ 	unsigned long oldmask = -EINVAL;
+ 
+@@ -81,9 +82,9 @@ do_osf_sigprocmask(int how, unsigned lon
+ 	return oldmask;
+ }
+ 
+-asmlinkage int 
+-osf_sigaction(int sig, const struct osf_sigaction __user *act,
+-	      struct osf_sigaction __user *oact)
++SYSCALL_DEFINE3(osf_sigaction, int, sig,
++		const struct osf_sigaction __user *, act,
++		struct osf_sigaction __user *, oact)
+ {
+ 	struct k_sigaction new_ka, old_ka;
+ 	int ret;
+@@ -112,10 +113,9 @@ osf_sigaction(int sig, const struct osf_
+ 	return ret;
+ }
+ 
+-asmlinkage long
+-sys_rt_sigaction(int sig, const struct sigaction __user *act,
+-		 struct sigaction __user *oact,
+-		 size_t sigsetsize, void __user *restorer)
++SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
++		struct sigaction __user *, oact,
++		size_t, sigsetsize, void __user *, restorer)
+ {
+ 	struct k_sigaction new_ka, old_ka;
+ 	int ret;
+diff -urpN a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S
+--- a/arch/alpha/kernel/systbls.S	2009-03-08 17:24:25.000000000 -0600
++++ b/arch/alpha/kernel/systbls.S	2009-03-08 17:41:19.000000000 -0600
+@@ -17,7 +17,7 @@ sys_call_table:
+ 	.quad sys_write
+ 	.quad alpha_ni_syscall			/* 5 */
+ 	.quad sys_close
+-	.quad osf_wait4
++	.quad sys_osf_wait4
+ 	.quad alpha_ni_syscall
+ 	.quad sys_link
+ 	.quad sys_unlink			/* 10 */
+@@ -27,11 +27,11 @@ sys_call_table:
+ 	.quad sys_mknod
+ 	.quad sys_chmod				/* 15 */
+ 	.quad sys_chown
+-	.quad osf_brk
++	.quad sys_osf_brk
+ 	.quad alpha_ni_syscall
+ 	.quad sys_lseek
+ 	.quad sys_getxpid			/* 20 */
+-	.quad osf_mount
++	.quad sys_osf_mount
+ 	.quad sys_umount
+ 	.quad sys_setuid
+ 	.quad sys_getxuid
+@@ -53,7 +53,7 @@ sys_call_table:
+ 	.quad alpha_ni_syscall			/* 40 */
+ 	.quad sys_dup
+ 	.quad sys_alpha_pipe
+-	.quad osf_set_program_attributes
++	.quad sys_osf_set_program_attributes
+ 	.quad alpha_ni_syscall
+ 	.quad sys_open				/* 45 */
+ 	.quad alpha_ni_syscall
+@@ -81,7 +81,7 @@ sys_call_table:
+ 	.quad sys_newlstat
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 70 */
+-	.quad osf_mmap
++	.quad sys_osf_mmap
+ 	.quad alpha_ni_syscall
+ 	.quad sys_munmap
+ 	.quad sys_mprotect
+@@ -94,17 +94,17 @@ sys_call_table:
+ 	.quad sys_setgroups			/* 80 */
+ 	.quad alpha_ni_syscall
+ 	.quad sys_setpgid
+-	.quad osf_setitimer
++	.quad sys_osf_setitimer
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 85 */
+-	.quad osf_getitimer
++	.quad sys_osf_getitimer
+ 	.quad sys_gethostname
+ 	.quad sys_sethostname
+ 	.quad sys_getdtablesize
+ 	.quad sys_dup2				/* 90 */
+ 	.quad sys_newfstat
+ 	.quad sys_fcntl
+-	.quad osf_select
++	.quad sys_osf_select
+ 	.quad sys_poll
+ 	.quad sys_fsync				/* 95 */
+ 	.quad sys_setpriority
+@@ -123,22 +123,22 @@ sys_call_table:
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 110 */
+ 	.quad sys_sigsuspend
+-	.quad osf_sigstack
++	.quad sys_osf_sigstack
+ 	.quad sys_recvmsg
+ 	.quad sys_sendmsg
+ 	.quad alpha_ni_syscall			/* 115 */
+-	.quad osf_gettimeofday
+-	.quad osf_getrusage
++	.quad sys_osf_gettimeofday
++	.quad sys_osf_getrusage
+ 	.quad sys_getsockopt
+ 	.quad alpha_ni_syscall
+ #ifdef CONFIG_OSF4_COMPAT
+-	.quad osf_readv				/* 120 */
+-	.quad osf_writev
++	.quad sys_osf_readv			/* 120 */
++	.quad sys_osf_writev
+ #else
+ 	.quad sys_readv				/* 120 */
+ 	.quad sys_writev
+ #endif
+-	.quad osf_settimeofday
++	.quad sys_osf_settimeofday
+ 	.quad sys_fchown
+ 	.quad sys_fchmod
+ 	.quad sys_recvfrom			/* 125 */
+@@ -154,7 +154,7 @@ sys_call_table:
+ 	.quad sys_socketpair			/* 135 */
+ 	.quad sys_mkdir
+ 	.quad sys_rmdir
+-	.quad osf_utimes
++	.quad sys_osf_utimes
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 140 */
+ 	.quad sys_getpeername
+@@ -172,16 +172,16 @@ sys_call_table:
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 155 */
+-	.quad osf_sigaction
++	.quad sys_osf_sigaction
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+-	.quad osf_getdirentries
+-	.quad osf_statfs			/* 160 */
+-	.quad osf_fstatfs
++	.quad sys_osf_getdirentries
++	.quad sys_osf_statfs			/* 160 */
++	.quad sys_osf_fstatfs
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+-	.quad osf_getdomainname			/* 165 */
++	.quad sys_osf_getdomainname		/* 165 */
+ 	.quad sys_setdomainname
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+@@ -224,7 +224,7 @@ sys_call_table:
+ 	.quad sys_semctl
+ 	.quad sys_semget			/* 205 */
+ 	.quad sys_semop
+-	.quad osf_utsname
++	.quad sys_osf_utsname
+ 	.quad sys_lchown
+ 	.quad sys_shmat
+ 	.quad sys_shmctl			/* 210 */
+@@ -258,23 +258,23 @@ sys_call_table:
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 240 */
+-	.quad osf_sysinfo
++	.quad sys_osf_sysinfo
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+-	.quad osf_proplist_syscall
++	.quad sys_osf_proplist_syscall
+ 	.quad alpha_ni_syscall			/* 245 */
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 250 */
+-	.quad osf_usleep_thread
++	.quad sys_osf_usleep_thread
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad sys_sysfs
+ 	.quad alpha_ni_syscall			/* 255 */
+-	.quad osf_getsysinfo
+-	.quad osf_setsysinfo
++	.quad sys_osf_getsysinfo
++	.quad sys_osf_setsysinfo
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 260 */
+diff -urpN a/include/linux/syscalls.h b/include/linux/syscalls.h
+--- a/include/linux/syscalls.h	2009-03-08 17:24:27.000000000 -0600
++++ b/include/linux/syscalls.h	2009-03-08 17:41:19.000000000 -0600
+@@ -108,9 +108,14 @@ struct old_linux_dirent;
+ 	asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n"	\
+ 	     "\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
+ #else
++#ifdef CONFIG_ALPHA
++#define SYSCALL_ALIAS(alias, name)					\
++	asm ( #alias " = " #name "\n\t.globl " #alias)
++#else
+ #define SYSCALL_ALIAS(alias, name)					\
+ 	asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
+ #endif
++#endif
+ 
+ #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/fix-uml-compile.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/fix-uml-compile.patch
@@ -0,0 +1,83 @@
+commit 6c5979631b4b03c9288776562c18036765e398c1
+Author: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date:   Wed Feb 11 13:04:38 2009 -0800
+
+    syscall define: fix uml compile bug
+    
+    With the new system call defines we get this on uml:
+    
+    arch/um/sys-i386/built-in.o: In function `sys_call_table':
+    (.rodata+0x308): undefined reference to `sys_sigprocmask'
+    
+    Reason for this is that uml passes the preprocessor option
+    -Dsigprocmask=kernel_sigprocmask to gcc when compiling the kernel.
+    This causes SYSCALL_DEFINE3(sigprocmask, ...) to be expanded to
+    SYSCALL_DEFINEx(3, kernel_sigprocmask, ...) and finally to a system
+    call named sys_kernel_sigprocmask.  However sys_sigprocmask is missing
+    because of this.
+    
+    To avoid macro expansion for the system call name just concatenate the
+    name at first define instead of carrying it through severel levels.
+    This was pointed out by Al Viro.
+    
+    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
+    Cc: Al Viro <viro@zeniv.linux.org.uk>
+    Reviewed-by: WANG Cong <wangcong@zeuux.org>
+    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+
+diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
+index 0eda02f..f9f900c 100644
+--- a/include/linux/syscalls.h
++++ b/include/linux/syscalls.h
+@@ -95,13 +95,13 @@ struct old_linux_dirent;
+ #define __SC_TEST5(t5, a5, ...)	__SC_TEST(t5); __SC_TEST4(__VA_ARGS__)
+ #define __SC_TEST6(t6, a6, ...)	__SC_TEST(t6); __SC_TEST5(__VA_ARGS__)
+ 
+-#define SYSCALL_DEFINE0(name)   asmlinkage long sys_##name(void)
+-#define SYSCALL_DEFINE1(...)    SYSCALL_DEFINEx(1, __VA_ARGS__)
+-#define SYSCALL_DEFINE2(...)    SYSCALL_DEFINEx(2, __VA_ARGS__)
+-#define SYSCALL_DEFINE3(...)    SYSCALL_DEFINEx(3, __VA_ARGS__)
+-#define SYSCALL_DEFINE4(...)    SYSCALL_DEFINEx(4, __VA_ARGS__)
+-#define SYSCALL_DEFINE5(...)    SYSCALL_DEFINEx(5, __VA_ARGS__)
+-#define SYSCALL_DEFINE6(...)    SYSCALL_DEFINEx(6, __VA_ARGS__)
++#define SYSCALL_DEFINE0(name)	   asmlinkage long sys_##name(void)
++#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
+ 
+ #ifdef CONFIG_PPC64
+ #define SYSCALL_ALIAS(alias, name)					\
+@@ -121,21 +121,21 @@ struct old_linux_dirent;
+ 
+ #define SYSCALL_DEFINE(name) static inline long SYSC_##name
+ #define SYSCALL_DEFINEx(x, name, ...)					\
+-	asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__));		\
+-	static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__));	\
+-	asmlinkage long SyS_##name(__SC_LONG##x(__VA_ARGS__))		\
++	asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__));		\
++	static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__));	\
++	asmlinkage long SyS##name(__SC_LONG##x(__VA_ARGS__))		\
+ 	{								\
+ 		__SC_TEST##x(__VA_ARGS__);				\
+-		return (long) SYSC_##name(__SC_CAST##x(__VA_ARGS__));	\
++		return (long) SYSC##name(__SC_CAST##x(__VA_ARGS__));	\
+ 	}								\
+-	SYSCALL_ALIAS(sys_##name, SyS_##name);				\
+-	static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__))
++	SYSCALL_ALIAS(sys##name, SyS##name);				\
++	static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__))
+ 
+ #else /* CONFIG_HAVE_SYSCALL_WRAPPERS */
+ 
+ #define SYSCALL_DEFINE(name) asmlinkage long sys_##name
+ #define SYSCALL_DEFINEx(x, name, ...)					\
+-	asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__))
++	asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__))
+ 
+ #endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */
+ 
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/mips-enable-syscall-wrappers-no-abi-change.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/mips-enable-syscall-wrappers-no-abi-change.patch
@@ -0,0 +1,13 @@
+diff -urpN a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
+--- a/arch/mips/mm/cache.c	2009-03-09 10:37:50.000000000 -0600
++++ b/arch/mips/mm/cache.c	2009-03-09 10:43:31.000000000 -0600
+@@ -13,7 +13,9 @@
+ #include <linux/linkage.h>
+ #include <linux/module.h>
+ #include <linux/sched.h>
++#ifndef __GENKSYMS__
+ #include <linux/syscalls.h>
++#endif
+ #include <linux/mm.h>
+ 
+ #include <asm/cacheflush.h>
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/mips-enable-syscall-wrappers.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/mips-enable-syscall-wrappers.patch
@@ -0,0 +1,650 @@
+commit dbda6ac0897603f6c6dfadbbc37f9882177ec7ac
+Author: Ralf Baechle <ralf@linux-mips.org>
+Date:   Sun Feb 8 16:00:26 2009 +0000
+
+    MIPS: CVE-2009-0029: Enable syscall wrappers.
+    
+    Thanks to David Daney helping with debugging and testing.
+    
+    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+    Signed-off-by: David Daney <ddaney@caviumnetworks.com>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/arch/mips/Kconfig b/arch/mips/Kconfig
+--- a/arch/mips/Kconfig	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/mips/Kconfig	2009-03-08 13:16:31.000000000 -0600
+@@ -1385,6 +1385,7 @@ config 32BIT
+ config 64BIT
+ 	bool "64-bit kernel"
+ 	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
++	select HAVE_SYSCALL_WRAPPERS
+ 	help
+ 	  Select this option if you want to build a 64-bit kernel.
+ 
+diff -urpN a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
+--- a/arch/mips/kernel/linux32.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/mips/kernel/linux32.c	2009-03-08 13:18:00.000000000 -0600
+@@ -33,6 +33,7 @@
+ #include <linux/module.h>
+ #include <linux/binfmts.h>
+ #include <linux/security.h>
++#include <linux/syscalls.h>
+ #include <linux/compat.h>
+ #include <linux/vfs.h>
+ #include <linux/ipc.h>
+@@ -99,9 +100,9 @@ int cp_compat_stat(struct kstat *stat, s
+ 	return copy_to_user(statbuf, &tmp, sizeof(tmp)) ? -EFAULT : 0;
+ }
+ 
+-asmlinkage unsigned long
+-sys32_mmap2(unsigned long addr, unsigned long len, unsigned long prot,
+-         unsigned long flags, unsigned long fd, unsigned long pgoff)
++SYSCALL_DEFINE6(32_mmap2, unsigned long, addr, unsigned long, len,
++	unsigned long, prot, unsigned long, flags, unsigned long, fd,
++	unsigned long, pgoff)
+ {
+ 	struct file * file = NULL;
+ 	unsigned long error;
+@@ -174,14 +175,14 @@ struct rlimit32 {
+ 	int	rlim_max;
+ };
+ 
+-asmlinkage long sys32_truncate64(const char __user * path,
+-	unsigned long __dummy, int a2, int a3)
++SYSCALL_DEFINE4(32_truncate64, const char __user *, path,
++	unsigned long, __dummy, unsigned long, a2, unsigned long, a3)
+ {
+ 	return sys_truncate(path, merge_64(a2, a3));
+ }
+ 
+-asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long __dummy,
+-	int a2, int a3)
++SYSCALL_DEFINE4(32_ftruncate64, unsigned long, fd, unsigned long, __dummy,
++	unsigned long, a2, unsigned long, a3)
+ {
+ 	return sys_ftruncate(fd, merge_64(a2, a3));
+ }
+@@ -252,9 +253,9 @@ sys32_settimeofday(struct compat_timeval
+ 	return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
+ }
+ 
+-asmlinkage int sys32_llseek(unsigned int fd, unsigned int offset_high,
+-			    unsigned int offset_low, loff_t __user * result,
+-			    unsigned int origin)
++SYSCALL_DEFINE5(32_llseek, unsigned long, fd, unsigned long, offset_high,
++	unsigned long, offset_low, loff_t __user *, result,
++	unsigned long, origin)
+ {
+ 	return sys_llseek(fd, offset_high, offset_low, result, origin);
+ }
+@@ -263,20 +264,20 @@ asmlinkage int sys32_llseek(unsigned int
+    lseek back to original location.  They fail just like lseek does on
+    non-seekable files.  */
+ 
+-asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf,
+-			       size_t count, u32 unused, u64 a4, u64 a5)
++SYSCALL_DEFINE6(32_pread, unsigned long, fd, char __user *, buf, size_t, count,
++	unsigned long, unused, unsigned long, a4, unsigned long, a5)
+ {
+ 	return sys_pread64(fd, buf, count, merge_64(a4, a5));
+ }
+ 
+-asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf,
+-			        size_t count, u32 unused, u64 a4, u64 a5)
++SYSCALL_DEFINE6(32_pwrite, unsigned int, fd, const char __user *, buf,
++	size_t, count, u32, unused, u64, a4, u64, a5)
+ {
+ 	return sys_pwrite64(fd, buf, count, merge_64(a4, a5));
+ }
+ 
+-asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid,
+-	struct compat_timespec __user *interval)
++SYSCALL_DEFINE2(32_sched_rr_get_interval, compat_pid_t, pid,
++	struct compat_timespec __user *, interval)
+ {
+ 	struct timespec t;
+ 	int ret;
+@@ -293,8 +294,8 @@ asmlinkage int sys32_sched_rr_get_interv
+ 
+ #ifdef CONFIG_SYSVIPC
+ 
+-asmlinkage long
+-sys32_ipc(u32 call, int first, int second, int third, u32 ptr, u32 fifth)
++SYSCALL_DEFINE6(32_ipc, u32, call, long, first, long, second, long, third,
++	unsigned long, ptr, unsigned long, fifth)
+ {
+ 	int version, err;
+ 
+@@ -352,8 +353,8 @@ sys32_ipc(u32 call, int first, int secon
+ 
+ #else
+ 
+-asmlinkage long
+-sys32_ipc(u32 call, int first, int second, int third, u32 ptr, u32 fifth)
++SYSCALL_DEFINE6(32_ipc, u32, call, int, first, int, second, int, third,
++	u32, ptr, u32 fifth)
+ {
+ 	return -ENOSYS;
+ }
+@@ -361,7 +362,7 @@ sys32_ipc(u32 call, int first, int secon
+ #endif /* CONFIG_SYSVIPC */
+ 
+ #ifdef CONFIG_MIPS32_N32
+-asmlinkage long sysn32_semctl(int semid, int semnum, int cmd, u32 arg)
++SYSCALL_DEFINE4(n32_semctl, int, semid, int, semnum, int, cmd, u32, arg)
+ {
+ 	/* compat_sys_semctl expects a pointer to union semun */
+ 	u32 __user *uptr = compat_alloc_user_space(sizeof(u32));
+@@ -370,13 +371,14 @@ asmlinkage long sysn32_semctl(int semid,
+ 	return compat_sys_semctl(semid, semnum, cmd, uptr);
+ }
+ 
+-asmlinkage long sysn32_msgsnd(int msqid, u32 msgp, unsigned msgsz, int msgflg)
++SYSCALL_DEFINE4(n32_msgsnd, int, msqid, u32, msgp, unsigned int, msgsz,
++	int, msgflg)
+ {
+ 	return compat_sys_msgsnd(msqid, msgsz, msgflg, compat_ptr(msgp));
+ }
+ 
+-asmlinkage long sysn32_msgrcv(int msqid, u32 msgp, size_t msgsz, int msgtyp,
+-			      int msgflg)
++SYSCALL_DEFINE5(n32_msgrcv, int, msqid, u32, msgp, size_t, msgsz,
++	int, msgtyp, int, msgflg)
+ {
+ 	return compat_sys_msgrcv(msqid, msgsz, msgtyp, msgflg, IPC_64,
+ 				 compat_ptr(msgp));
+@@ -396,7 +398,7 @@ struct sysctl_args32
+ 
+ #ifdef CONFIG_SYSCTL_SYSCALL
+ 
+-asmlinkage long sys32_sysctl(struct sysctl_args32 __user *args)
++SYSCALL_DEFINE1(32_sysctl, struct sysctl_args32 __user *, args)
+ {
+ 	struct sysctl_args32 tmp;
+ 	int error;
+@@ -435,9 +437,16 @@ asmlinkage long sys32_sysctl(struct sysc
+ 	return error;
+ }
+ 
++#else
++
++SYSCALL_DEFINE1(32_sysctl, struct sysctl_args32 __user *, args)
++{
++	return -ENOSYS;
++}
++
+ #endif /* CONFIG_SYSCTL_SYSCALL */
+ 
+-asmlinkage long sys32_newuname(struct new_utsname __user * name)
++SYSCALL_DEFINE1(32_newuname, struct new_utsname __user *, name)
+ {
+ 	int ret = 0;
+ 
+@@ -453,7 +462,7 @@ asmlinkage long sys32_newuname(struct ne
+ 	return ret;
+ }
+ 
+-asmlinkage int sys32_personality(unsigned long personality)
++SYSCALL_DEFINE1(32_personality, unsigned long, personality)
+ {
+ 	int ret;
+ 	personality &= 0xffffffff;
+@@ -476,7 +485,7 @@ struct ustat32 {
+ 
+ extern asmlinkage long sys_ustat(dev_t dev, struct ustat __user * ubuf);
+ 
+-asmlinkage int sys32_ustat(dev_t dev, struct ustat32 __user * ubuf32)
++SYSCALL_DEFINE2(32_ustat, dev_t, dev, struct ustat32 __user *, ubuf32)
+ {
+ 	int err;
+ 	struct ustat tmp;
+@@ -500,8 +509,8 @@ out:
+ 	return err;
+ }
+ 
+-asmlinkage int sys32_sendfile(int out_fd, int in_fd, compat_off_t __user *offset,
+-	s32 count)
++SYSCALL_DEFINE4(32_sendfile, long, out_fd, long, in_fd,
++	compat_off_t __user *, offset, s32, count)
+ {
+ 	mm_segment_t old_fs = get_fs();
+ 	int ret;
+diff -urpN a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
+--- a/arch/mips/kernel/scall32-o32.S	2009-03-03 22:15:28.000000000 -0700
++++ b/arch/mips/kernel/scall32-o32.S	2009-03-08 13:16:31.000000000 -0600
+@@ -414,7 +414,7 @@ einval:	li	v0, -EINVAL
+ 	sys	sys_swapon		2
+ 	sys	sys_reboot		3
+ 	sys	sys_old_readdir		3
+-	sys	old_mmap		6	/* 4090 */
++	sys	sys_mips_mmap		6	/* 4090 */
+ 	sys	sys_munmap		2
+ 	sys	sys_truncate		2
+ 	sys	sys_ftruncate		2
+@@ -534,7 +534,7 @@ einval:	li	v0, -EINVAL
+ 	sys	sys_sendfile		4
+ 	sys	sys_ni_syscall		0
+ 	sys	sys_ni_syscall		0
+-	sys	sys_mmap2		6	/* 4210 */
++	sys	sys_mips_mmap2		6	/* 4210 */
+ 	sys	sys_truncate64		4
+ 	sys	sys_ftruncate64		4
+ 	sys	sys_stat64		2
+diff -urpN a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
+--- a/arch/mips/kernel/scall64-64.S	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/mips/kernel/scall64-64.S	2009-03-08 13:16:31.000000000 -0600
+@@ -207,7 +207,7 @@ sys_call_table:
+ 	PTR	sys_newlstat
+ 	PTR	sys_poll
+ 	PTR	sys_lseek
+-	PTR	old_mmap
++	PTR	sys_mips_mmap
+ 	PTR	sys_mprotect			/* 5010 */
+ 	PTR	sys_munmap
+ 	PTR	sys_brk
+diff -urpN a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
+--- a/arch/mips/kernel/scall64-n32.S	2009-03-08 13:13:09.000000000 -0600
++++ b/arch/mips/kernel/scall64-n32.S	2009-03-08 13:16:31.000000000 -0600
+@@ -129,12 +129,12 @@ EXPORT(sysn32_call_table)
+ 	PTR	sys_newlstat
+ 	PTR	sys_poll
+ 	PTR	sys_lseek
+-	PTR	old_mmap
++	PTR	sys_mips_mmap
+ 	PTR	sys_mprotect			/* 6010 */
+ 	PTR	sys_munmap
+ 	PTR	sys_brk
+-	PTR	sys32_rt_sigaction
+-	PTR	sys32_rt_sigprocmask
++	PTR	sys_32_rt_sigaction
++	PTR	sys_32_rt_sigprocmask
+ 	PTR	compat_sys_ioctl		/* 6015 */
+ 	PTR	sys_pread64
+ 	PTR	sys_pwrite64
+@@ -159,7 +159,7 @@ EXPORT(sysn32_call_table)
+ 	PTR	compat_sys_setitimer
+ 	PTR	sys_alarm
+ 	PTR	sys_getpid
+-	PTR	sys32_sendfile
++	PTR	sys_32_sendfile
+ 	PTR	sys_socket			/* 6040 */
+ 	PTR	sys_connect
+ 	PTR	sys_accept
+@@ -181,14 +181,14 @@ EXPORT(sysn32_call_table)
+ 	PTR	sys_exit
+ 	PTR	compat_sys_wait4
+ 	PTR	sys_kill			/* 6060 */
+-	PTR	sys32_newuname
++	PTR	sys_32_newuname
+ 	PTR	sys_semget
+ 	PTR	sys_semop
+-	PTR	sysn32_semctl
++	PTR	sys_n32_semctl
+ 	PTR	sys_shmdt			/* 6065 */
+ 	PTR	sys_msgget
+-	PTR	sysn32_msgsnd
+-	PTR	sysn32_msgrcv
++	PTR	sys_n32_msgsnd
++	PTR	sys_n32_msgrcv
+ 	PTR	compat_sys_msgctl
+ 	PTR	compat_sys_fcntl		/* 6070 */
+ 	PTR	sys_flock
+@@ -245,15 +245,15 @@ EXPORT(sysn32_call_table)
+ 	PTR	sys_getsid
+ 	PTR	sys_capget
+ 	PTR	sys_capset
+-	PTR	sys32_rt_sigpending		/* 6125 */
++	PTR	sys_32_rt_sigpending		/* 6125 */
+ 	PTR	compat_sys_rt_sigtimedwait
+-	PTR	sys32_rt_sigqueueinfo
++	PTR	sys_32_rt_sigqueueinfo
+ 	PTR	sysn32_rt_sigsuspend
+ 	PTR	sys32_sigaltstack
+ 	PTR	compat_sys_utime		/* 6130 */
+ 	PTR	sys_mknod
+-	PTR	sys32_personality
+-	PTR	sys32_ustat
++	PTR	sys_32_personality
++	PTR	sys_32_ustat
+ 	PTR	compat_sys_statfs
+ 	PTR	compat_sys_fstatfs		/* 6135 */
+ 	PTR	sys_sysfs
+@@ -265,14 +265,14 @@ EXPORT(sysn32_call_table)
+ 	PTR	sys_sched_getscheduler
+ 	PTR	sys_sched_get_priority_max
+ 	PTR	sys_sched_get_priority_min
+-	PTR	sys32_sched_rr_get_interval	/* 6145 */
++	PTR	sys_32_sched_rr_get_interval	/* 6145 */
+ 	PTR	sys_mlock
+ 	PTR	sys_munlock
+ 	PTR	sys_mlockall
+ 	PTR	sys_munlockall
+ 	PTR	sys_vhangup			/* 6150 */
+ 	PTR	sys_pivot_root
+-	PTR	sys32_sysctl
++	PTR	sys_32_sysctl
+ 	PTR	sys_prctl
+ 	PTR	compat_sys_adjtimex
+ 	PTR	compat_sys_setrlimit		/* 6155 */
+diff -urpN a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
+--- a/arch/mips/kernel/scall64-o32.S	2009-03-08 13:15:39.000000000 -0600
++++ b/arch/mips/kernel/scall64-o32.S	2009-03-08 13:16:31.000000000 -0600
+@@ -265,12 +265,12 @@ sys_call_table:
+ 	PTR	sys_olduname
+ 	PTR	sys_umask			/* 4060 */
+ 	PTR	sys_chroot
+-	PTR	sys32_ustat
++	PTR	sys_32_ustat
+ 	PTR	sys_dup2
+ 	PTR	sys_getppid
+ 	PTR	sys_getpgrp			/* 4065 */
+ 	PTR	sys_setsid
+-	PTR	sys32_sigaction
++	PTR	sys_32_sigaction
+ 	PTR	sys_sgetmask
+ 	PTR	sys_ssetmask
+ 	PTR	sys_setreuid			/* 4070 */
+@@ -293,7 +293,7 @@ sys_call_table:
+ 	PTR	sys_swapon
+ 	PTR	sys_reboot
+ 	PTR	compat_sys_old_readdir
+-	PTR	old_mmap			/* 4090 */
++	PTR	sys_mips_mmap			/* 4090 */
+ 	PTR	sys_munmap
+ 	PTR	sys_truncate
+ 	PTR	sys_ftruncate
+@@ -320,12 +320,12 @@ sys_call_table:
+ 	PTR	compat_sys_wait4
+ 	PTR	sys_swapoff			/* 4115 */
+ 	PTR	compat_sys_sysinfo
+-	PTR	sys32_ipc
++	PTR	sys_32_ipc
+ 	PTR	sys_fsync
+ 	PTR	sys32_sigreturn
+ 	PTR	sys32_clone			/* 4120 */
+ 	PTR	sys_setdomainname
+-	PTR	sys32_newuname
++	PTR	sys_32_newuname
+ 	PTR	sys_ni_syscall			/* sys_modify_ldt */
+ 	PTR	compat_sys_adjtimex
+ 	PTR	sys_mprotect			/* 4125 */
+@@ -339,11 +339,11 @@ sys_call_table:
+ 	PTR	sys_fchdir
+ 	PTR	sys_bdflush
+ 	PTR	sys_sysfs			/* 4135 */
+-	PTR	sys32_personality
++	PTR	sys_32_personality
+ 	PTR	sys_ni_syscall	 		/* for afs_syscall */
+ 	PTR	sys_setfsuid
+ 	PTR	sys_setfsgid
+-	PTR	sys32_llseek			/* 4140 */
++	PTR	sys_32_llseek			/* 4140 */
+ 	PTR	compat_sys_getdents
+ 	PTR	compat_sys_select
+ 	PTR	sys_flock
+@@ -356,7 +356,7 @@ sys_call_table:
+ 	PTR	sys_ni_syscall			/* 4150 */
+ 	PTR	sys_getsid
+ 	PTR	sys_fdatasync
+-	PTR	sys32_sysctl
++	PTR	sys_32_sysctl
+ 	PTR	sys_mlock
+ 	PTR	sys_munlock			/* 4155 */
+ 	PTR	sys_mlockall
+@@ -368,7 +368,7 @@ sys_call_table:
+ 	PTR	sys_sched_yield
+ 	PTR	sys_sched_get_priority_max
+ 	PTR	sys_sched_get_priority_min
+-	PTR	sys32_sched_rr_get_interval 	/* 4165 */
++	PTR	sys_32_sched_rr_get_interval 	/* 4165 */
+ 	PTR	compat_sys_nanosleep
+ 	PTR	sys_mremap
+ 	PTR	sys_accept
+@@ -397,25 +397,25 @@ sys_call_table:
+ 	PTR	sys_getresgid
+ 	PTR	sys_prctl
+ 	PTR	sys32_rt_sigreturn
+-	PTR	sys32_rt_sigaction
+-	PTR	sys32_rt_sigprocmask 		/* 4195 */
+-	PTR	sys32_rt_sigpending
++	PTR	sys_32_rt_sigaction
++	PTR	sys_32_rt_sigprocmask 		/* 4195 */
++	PTR	sys_32_rt_sigpending
+ 	PTR	compat_sys_rt_sigtimedwait
+-	PTR	sys32_rt_sigqueueinfo
++	PTR	sys_32_rt_sigqueueinfo
+ 	PTR	sys32_rt_sigsuspend
+-	PTR	sys32_pread			/* 4200 */
+-	PTR	sys32_pwrite
++	PTR	sys_32_pread			/* 4200 */
++	PTR	sys_32_pwrite
+ 	PTR	sys_chown
+ 	PTR	sys_getcwd
+ 	PTR	sys_capget
+ 	PTR	sys_capset			/* 4205 */
+ 	PTR	sys32_sigaltstack
+-	PTR	sys32_sendfile
++	PTR	sys_32_sendfile
+ 	PTR	sys_ni_syscall
+ 	PTR	sys_ni_syscall
+-	PTR	sys32_mmap2			/* 4210 */
+-	PTR	sys32_truncate64
+-	PTR	sys32_ftruncate64
++	PTR	sys_mips_mmap2			/* 4210 */
++	PTR	sys_32_truncate64
++	PTR	sys_32_ftruncate64
+ 	PTR	sys_newstat
+ 	PTR	sys_newlstat
+ 	PTR	sys_newfstat			/* 4215 */
+@@ -481,7 +481,7 @@ sys_call_table:
+ 	PTR	compat_sys_mq_notify		/* 4275 */
+ 	PTR	compat_sys_mq_getsetattr
+ 	PTR	sys_ni_syscall			/* sys_vserver */
+-	PTR	sys32_waitid
++	PTR	sys_32_waitid
+ 	PTR	sys_ni_syscall			/* available, was setaltroot */
+ 	PTR	sys_add_key			/* 4280 */
+ 	PTR	sys_request_key
+diff -urpN a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
+--- a/arch/mips/kernel/signal32.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/mips/kernel/signal32.c	2009-03-08 13:16:31.000000000 -0600
+@@ -349,8 +349,8 @@ asmlinkage int sys32_rt_sigsuspend(nabi_
+ 	return -ERESTARTNOHAND;
+ }
+ 
+-asmlinkage int sys32_sigaction(int sig, const struct sigaction32 __user *act,
+-                               struct sigaction32 __user *oact)
++SYSCALL_DEFINE3(32_sigaction, long, sig, const struct sigaction32 __user *, act,
++	struct sigaction32 __user *, oact)
+ {
+ 	struct k_sigaction new_ka, old_ka;
+ 	int ret;
+@@ -692,9 +692,9 @@ struct mips_abi mips_abi_32 = {
+ 	.restart	= __NR_O32_restart_syscall
+ };
+ 
+-asmlinkage int sys32_rt_sigaction(int sig, const struct sigaction32 __user *act,
+-				  struct sigaction32 __user *oact,
+-				  unsigned int sigsetsize)
++SYSCALL_DEFINE4(32_rt_sigaction, int, sig,
++	const struct sigaction32 __user *, act,
++	struct sigaction32 __user *, oact, unsigned int, sigsetsize)
+ {
+ 	struct k_sigaction new_sa, old_sa;
+ 	int ret = -EINVAL;
+@@ -736,8 +736,8 @@ out:
+ 	return ret;
+ }
+ 
+-asmlinkage int sys32_rt_sigprocmask(int how, compat_sigset_t __user *set,
+-	compat_sigset_t __user *oset, unsigned int sigsetsize)
++SYSCALL_DEFINE4(32_rt_sigprocmask, int, how, compat_sigset_t __user *, set,
++	compat_sigset_t __user *, oset, unsigned int, sigsetsize)
+ {
+ 	sigset_t old_set, new_set;
+ 	int ret;
+@@ -758,8 +758,8 @@ asmlinkage int sys32_rt_sigprocmask(int 
+ 	return ret;
+ }
+ 
+-asmlinkage int sys32_rt_sigpending(compat_sigset_t __user *uset,
+-	unsigned int sigsetsize)
++SYSCALL_DEFINE2(32_rt_sigpending, compat_sigset_t __user *, uset,
++	unsigned int, sigsetsize)
+ {
+ 	int ret;
+ 	sigset_t set;
+@@ -775,7 +775,8 @@ asmlinkage int sys32_rt_sigpending(compa
+ 	return ret;
+ }
+ 
+-asmlinkage int sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo)
++SYSCALL_DEFINE3(32_rt_sigqueueinfo, int, pid, int, sig,
++	compat_siginfo_t __user *, uinfo)
+ {
+ 	siginfo_t info;
+ 	int ret;
+@@ -790,10 +791,9 @@ asmlinkage int sys32_rt_sigqueueinfo(int
+ 	return ret;
+ }
+ 
+-asmlinkage long
+-sys32_waitid(int which, compat_pid_t pid,
+-	     compat_siginfo_t __user *uinfo, int options,
+-	     struct compat_rusage __user *uru)
++SYSCALL_DEFINE5(32_waitid, int, which, compat_pid_t, pid,
++	     compat_siginfo_t __user *, uinfo, int, options,
++	     struct compat_rusage __user *, uru)
+ {
+ 	siginfo_t info;
+ 	struct rusage ru;
+diff -urpN a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
+--- a/arch/mips/kernel/signal.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/mips/kernel/signal.c	2009-03-08 13:16:31.000000000 -0600
+@@ -19,6 +19,7 @@
+ #include <linux/ptrace.h>
+ #include <linux/unistd.h>
+ #include <linux/compiler.h>
++#include <linux/syscalls.h>
+ #include <linux/uaccess.h>
+ 
+ #include <asm/abi.h>
+@@ -338,8 +339,8 @@ asmlinkage int sys_rt_sigsuspend(nabi_no
+ }
+ 
+ #ifdef CONFIG_TRAD_SIGNALS
+-asmlinkage int sys_sigaction(int sig, const struct sigaction __user *act,
+-	struct sigaction __user *oact)
++SYSCALL_DEFINE3(sigaction, int, sig, const struct sigaction __user *, act,
++	struct sigaction __user *, oact)
+ {
+ 	struct k_sigaction new_ka, old_ka;
+ 	int ret;
+diff -urpN a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
+--- a/arch/mips/kernel/syscall.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/mips/kernel/syscall.c	2009-03-08 13:16:31.000000000 -0600
+@@ -146,9 +146,9 @@ out:
+ 	return error;
+ }
+ 
+-asmlinkage unsigned long
+-old_mmap(unsigned long addr, unsigned long len, int prot,
+-	int flags, int fd, off_t offset)
++SYSCALL_DEFINE6(mips_mmap, unsigned long, addr, unsigned long, len,
++	unsigned long, prot, unsigned long, flags, unsigned long,
++	fd, off_t, offset)
+ {
+ 	unsigned long result;
+ 
+@@ -162,9 +162,9 @@ out:
+ 	return result;
+ }
+ 
+-asmlinkage unsigned long
+-sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot,
+-          unsigned long flags, unsigned long fd, unsigned long pgoff)
++SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len,
++	unsigned long, prot, unsigned long, flags, unsigned long, fd,
++	unsigned long, pgoff)
+ {
+ 	if (pgoff & (~PAGE_MASK >> 12))
+ 		return -EINVAL;
+@@ -234,7 +234,7 @@ out:
+ /*
+  * Compacrapability ...
+  */
+-asmlinkage int sys_uname(struct old_utsname __user * name)
++SYSCALL_DEFINE1(uname, struct old_utsname __user *, name)
+ {
+ 	if (name && !copy_to_user(name, utsname(), sizeof (*name)))
+ 		return 0;
+@@ -244,7 +244,7 @@ asmlinkage int sys_uname(struct old_utsn
+ /*
+  * Compacrapability ...
+  */
+-asmlinkage int sys_olduname(struct oldold_utsname __user * name)
++SYSCALL_DEFINE1(olduname, struct oldold_utsname __user *, name)
+ {
+ 	int error;
+ 
+@@ -273,7 +273,7 @@ asmlinkage int sys_olduname(struct oldol
+ 	return error;
+ }
+ 
+-asmlinkage int sys_set_thread_area(unsigned long addr)
++SYSCALL_DEFINE1(set_thread_area, unsigned long, addr)
+ {
+ 	struct thread_info *ti = task_thread_info(current);
+ 
+@@ -284,7 +284,7 @@ asmlinkage int sys_set_thread_area(unsig
+ 	return 0;
+ }
+ 
+-asmlinkage int _sys_sysmips(int cmd, long arg1, int arg2, int arg3)
++asmlinkage int _sys_sysmips(long cmd, long arg1, long arg2, long arg3)
+ {
+ 	switch (cmd) {
+ 	case MIPS_ATOMIC_SET:
+@@ -319,8 +319,8 @@ asmlinkage int _sys_sysmips(int cmd, lon
+  *
+  * This is really horribly ugly.
+  */
+-asmlinkage int sys_ipc(unsigned int call, int first, int second,
+-		       unsigned long third, void __user *ptr, long fifth)
++SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, int, second,
++	unsigned long, third, void __user *, ptr, long, fifth)
+ {
+ 	int version, ret;
+ 
+@@ -405,7 +405,7 @@ asmlinkage int sys_ipc(unsigned int call
+ /*
+  * No implemented yet ...
+  */
+-asmlinkage int sys_cachectl(char *addr, int nbytes, int op)
++SYSCALL_DEFINE3(cachectl, char *, addr, int, nbytes, int, op)
+ {
+ 	return -ENOSYS;
+ }
+diff -urpN a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
+--- a/arch/mips/mm/cache.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/mips/mm/cache.c	2009-03-08 13:16:31.000000000 -0600
+@@ -13,6 +13,7 @@
+ #include <linux/linkage.h>
+ #include <linux/module.h>
+ #include <linux/sched.h>
++#include <linux/syscalls.h>
+ #include <linux/mm.h>
+ 
+ #include <asm/cacheflush.h>
+@@ -57,8 +58,8 @@ EXPORT_SYMBOL(_dma_cache_wback_inv);
+  * We could optimize the case where the cache argument is not BCACHE but
+  * that seems very atypical use ...
+  */
+-asmlinkage int sys_cacheflush(unsigned long addr,
+-	unsigned long bytes, unsigned int cache)
++SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes,
++	unsigned int, cache)
+ {
+ 	if (bytes == 0)
+ 		return 0;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/mips-finish-fixing-CVE-2009-0029.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/mips-finish-fixing-CVE-2009-0029.patch
@@ -0,0 +1,40 @@
+From: David Daney <ddaney@caviumnetworks.com>
+Date: Mon, 23 Feb 2009 17:33:14 +0000 (-0800)
+Subject: MIPS: Finish fixing CVE-2009-0029.
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff_plain;h=3c48b84eb99cb7dd0255b32a6f1eba8279a32654
+
+MIPS: Finish fixing CVE-2009-0029.
+
+The initial patch for CVE-2009-0029 lacked a couple of changes in the
+syscall tables.  sys32_sysctl were renamed.
+
+Signed-off-by: David Daney <ddaney@caviumnetworks.com>
+Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+---
+
+diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
+index e423ba2..7438e92 100644
+--- a/arch/mips/kernel/scall64-n32.S
++++ b/arch/mips/kernel/scall64-n32.S
+@@ -272,7 +272,7 @@ EXPORT(sysn32_call_table)
+ 	PTR	sys_munlockall
+ 	PTR	sys_vhangup			/* 6150 */
+ 	PTR	sys_pivot_root
+-	PTR	sys32_sysctl
++	PTR	sys_32_sysctl
+ 	PTR	sys_prctl
+ 	PTR	compat_sys_adjtimex
+ 	PTR	compat_sys_setrlimit		/* 6155 */
+diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
+index 98f89f7..b0fef4f 100644
+--- a/arch/mips/kernel/scall64-o32.S
++++ b/arch/mips/kernel/scall64-o32.S
+@@ -356,7 +356,7 @@ sys_call_table:
+ 	PTR	sys_ni_syscall			/* 4150 */
+ 	PTR	sys_getsid
+ 	PTR	sys_fdatasync
+-	PTR	sys32_sysctl
++	PTR	sys_32_sysctl
+ 	PTR	sys_mlock
+ 	PTR	sys_munlock			/* 4155 */
+ 	PTR	sys_mlockall
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/mips-rename-sys_pipe.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/mips-rename-sys_pipe.patch
@@ -0,0 +1,77 @@
+commit 8213bbf9c1c0009872a3278aa7a83ec8f3508195
+Author: Ralf Baechle <ralf@linux-mips.org>
+Date:   Sun Jul 20 13:16:46 2008 +0100
+
+    [MIPS] Rename MIPS sys_pipe syscall entry point to something MIPS-specific.
+    
+    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
+--- a/arch/mips/kernel/scall32-o32.S	2009-03-01 22:49:19.000000000 +0000
++++ b/arch/mips/kernel/scall32-o32.S	2009-03-02 01:33:25.000000000 +0000
+@@ -366,7 +366,7 @@ einval:	li	v0, -EINVAL
+ 	sys	sys_mkdir		2
+ 	sys	sys_rmdir		1	/* 4040 */
+ 	sys	sys_dup			1
+-	sys	sys_pipe		0
++	sys	sysm_pipe		0
+ 	sys	sys_times		1
+ 	sys	sys_ni_syscall		0
+ 	sys	sys_brk			1	/* 4045 */
+diff -urpN a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
+--- a/arch/mips/kernel/scall64-64.S	2008-07-13 21:51:29.000000000 +0000
++++ b/arch/mips/kernel/scall64-64.S	2009-03-02 01:33:25.000000000 +0000
+@@ -219,7 +219,7 @@ sys_call_table:
+ 	PTR	sys_readv
+ 	PTR	sys_writev
+ 	PTR	sys_access			/* 5020 */
+-	PTR	sys_pipe
++	PTR	sysm_pipe
+ 	PTR	sys_select
+ 	PTR	sys_sched_yield
+ 	PTR	sys_mremap
+diff -urpN a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
+--- a/arch/mips/kernel/scall64-n32.S	2009-03-01 22:49:25.000000000 +0000
++++ b/arch/mips/kernel/scall64-n32.S	2009-03-02 01:33:25.000000000 +0000
+@@ -141,7 +141,7 @@ EXPORT(sysn32_call_table)
+ 	PTR	compat_sys_readv
+ 	PTR	compat_sys_writev
+ 	PTR	sys_access			/* 6020 */
+-	PTR	sys_pipe
++	PTR	sysm_pipe
+ 	PTR	compat_sys_select
+ 	PTR	sys_sched_yield
+ 	PTR	sys_mremap
+diff -urpN a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
+--- a/arch/mips/kernel/scall64-o32.S	2009-03-01 22:49:25.000000000 +0000
++++ b/arch/mips/kernel/scall64-o32.S	2009-03-02 01:33:25.000000000 +0000
+@@ -245,7 +245,7 @@ sys_call_table:
+ 	PTR	sys_mkdir
+ 	PTR	sys_rmdir			/* 4040 */
+ 	PTR	sys_dup
+-	PTR	sys_pipe
++	PTR	sysm_pipe
+ 	PTR	compat_sys_times
+ 	PTR	sys_ni_syscall
+ 	PTR	sys_brk				/* 4045 */
+diff -urpN a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
+--- a/arch/mips/kernel/syscall.c	2008-07-13 21:51:29.000000000 +0000
++++ b/arch/mips/kernel/syscall.c	2009-03-02 01:33:25.000000000 +0000
+@@ -40,7 +40,14 @@
+ #include <asm/sysmips.h>
+ #include <asm/uaccess.h>
+ 
+-asmlinkage int sys_pipe(nabi_no_regargs volatile struct pt_regs regs)
++/*
++ * For historic reasons the pipe(2) syscall on MIPS has an unusual calling
++ * convention.  It returns results in registers $v0 / $v1 which means there
++ * is no need for it to do verify the validity of a userspace pointer
++ * argument.  Historically that used to be expensive in Linux.  These days
++ * the performance advantage is negligible.
++ */
++asmlinkage int sysm_pipe(nabi_no_regargs volatile struct pt_regs regs)
+ {
+ 	int fd[2];
+ 	int error, res;
--- linux-2.6-2.6.26.orig/debian/patches/bugfix/all/CVE-2009-0029/sparc64-wrap-arch-specific-syscalls.patch
+++ linux-2.6-2.6.26/debian/patches/bugfix/all/CVE-2009-0029/sparc64-wrap-arch-specific-syscalls.patch
@@ -0,0 +1,231 @@
+commit e42650196df34789c825fa83f8bb37a5d5e52c14
+Author: David S. Miller <davem@davemloft.net>
+Date:   Mon Jan 19 21:11:27 2009 -0800
+
+    sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx()
+    
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf@debian.org>
+
+diff -urpN a/arch/sparc64/kernel/syscalls.S b/arch/sparc64/kernel/syscalls.S
+--- a/arch/sparc64/kernel/syscalls.S	2009-03-08 16:12:32.000000000 -0600
++++ b/arch/sparc64/kernel/syscalls.S	2009-03-08 16:27:44.000000000 -0600
+@@ -21,7 +21,7 @@ execve_merge:
+ 
+ 	.align	32
+ sys_sparc_pipe:
+-	ba,pt	%xcc, sparc_pipe
++	ba,pt	%xcc, sys_sparc_pipe_real
+ 	 add	%sp, PTREGS_OFF, %o0
+ sys_nis_syscall:
+ 	ba,pt	%xcc, c_sys_nis_syscall
+diff -urpN a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c
+--- a/arch/sparc64/kernel/sys_sparc.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/sparc64/kernel/sys_sparc.c	2009-03-08 16:27:01.000000000 -0600
+@@ -397,7 +397,7 @@ void arch_pick_mmap_layout(struct mm_str
+ 	}
+ }
+ 
+-asmlinkage unsigned long sparc_brk(unsigned long brk)
++SYSCALL_DEFINE1(sparc_brk, unsigned long, brk)
+ {
+ 	/* People could try to be nasty and use ta 0x6d in 32bit programs */
+ 	if (test_thread_flag(TIF_32BIT) && brk >= STACK_TOP32)
+@@ -413,7 +413,7 @@ asmlinkage unsigned long sparc_brk(unsig
+  * sys_pipe() is the normal C calling standard for creating
+  * a pipe. It's not the way unix traditionally does this, though.
+  */
+-asmlinkage long sparc_pipe(struct pt_regs *regs)
++SYSCALL_DEFINE1(sparc_pipe_real, struct pt_regs *, regs)
+ {
+ 	int fd[2];
+ 	int error;
+@@ -433,8 +433,8 @@ out:
+  * This is really horribly ugly.
+  */
+ 
+-asmlinkage long sys_ipc(unsigned int call, int first, unsigned long second,
+-			unsigned long third, void __user *ptr, long fifth)
++SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, unsigned long, second,
++		unsigned long, third, void __user *, ptr, long, fifth)
+ {
+ 	long err;
+ 
+@@ -517,7 +517,7 @@ out:
+ 	return err;
+ }
+ 
+-asmlinkage long sparc64_newuname(struct new_utsname __user *name)
++SYSCALL_DEFINE1(sparc64_newuname, struct new_utsname __user *, name)
+ {
+ 	int ret = sys_newuname(name);
+ 	
+@@ -528,7 +528,7 @@ asmlinkage long sparc64_newuname(struct 
+ 	return ret;
+ }
+ 
+-asmlinkage long sparc64_personality(unsigned long personality)
++SYSCALL_DEFINE1(sparc64_personality, unsigned long, personality)
+ {
+ 	int ret;
+ 
+@@ -562,9 +562,9 @@ int sparc64_mmap_check(unsigned long add
+ }
+ 
+ /* Linux version of mmap */
+-asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len,
+-	unsigned long prot, unsigned long flags, unsigned long fd,
+-	unsigned long off)
++SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
++		unsigned long, prot, unsigned long, flags, unsigned long, fd,
++		unsigned long, off)
+ {
+ 	struct file * file = NULL;
+ 	unsigned long retval = -EBADF;
+@@ -587,7 +587,7 @@ out:
+ 	return retval;
+ }
+ 
+-asmlinkage long sys64_munmap(unsigned long addr, size_t len)
++SYSCALL_DEFINE2(64_munmap, unsigned long, addr, size_t, len)
+ {
+ 	long ret;
+ 
+@@ -604,9 +604,9 @@ extern unsigned long do_mremap(unsigned 
+ 	unsigned long old_len, unsigned long new_len,
+ 	unsigned long flags, unsigned long new_addr);
+                 
+-asmlinkage unsigned long sys64_mremap(unsigned long addr,
+-	unsigned long old_len, unsigned long new_len,
+-	unsigned long flags, unsigned long new_addr)
++SYSCALL_DEFINE5(64_mremap, unsigned long, addr,	unsigned long, old_len,
++		unsigned long, new_len, unsigned long, flags,
++		unsigned long, new_addr)
+ {
+ 	unsigned long ret = -EINVAL;
+ 
+@@ -669,7 +669,7 @@ asmlinkage void sparc_breakpoint(struct 
+ 
+ extern void check_pending(int signum);
+ 
+-asmlinkage long sys_getdomainname(char __user *name, int len)
++SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len)
+ {
+         int nlen, err;
+ 
+@@ -692,11 +692,10 @@ out:
+ 	return err;
+ }
+ 
+-asmlinkage long sys_utrap_install(utrap_entry_t type,
+-				  utrap_handler_t new_p,
+-				  utrap_handler_t new_d,
+-				  utrap_handler_t __user *old_p,
+-				  utrap_handler_t __user *old_d)
++SYSCALL_DEFINE5(utrap_install, utrap_entry_t, type,
++		utrap_handler_t, new_p, utrap_handler_t, new_d,
++		utrap_handler_t __user *, old_p,
++		utrap_handler_t __user *, old_d)
+ {
+ 	if (type < UT_INSTRUCTION_EXCEPTION || type > UT_TRAP_INSTRUCTION_31)
+ 		return -EINVAL;
+@@ -762,11 +761,9 @@ asmlinkage long sparc_memory_ordering(un
+ 	return 0;
+ }
+ 
+-asmlinkage long sys_rt_sigaction(int sig,
+-				 const struct sigaction __user *act,
+-				 struct sigaction __user *oact,
+-				 void __user *restorer,
+-				 size_t sigsetsize)
++SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
++		struct sigaction __user *, oact, void __user *, restorer,
++		size_t, sigsetsize)
+ {
+ 	struct k_sigaction new_ka, old_ka;
+ 	int ret;
+@@ -806,7 +803,8 @@ asmlinkage void update_perfctrs(void)
+ 	reset_pic();
+ }
+ 
+-asmlinkage long sys_perfctr(int opcode, unsigned long arg0, unsigned long arg1, unsigned long arg2)
++SYSCALL_DEFINE4(perfctr, int, opcode, unsigned long, arg0,
++		unsigned long, arg1, unsigned long, arg2)
+ {
+ 	int err = 0;
+ 
+diff -urpN a/arch/sparc64/kernel/systbls.h b/arch/sparc64/kernel/systbls.h
+--- a/arch/sparc64/kernel/systbls.h	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/sparc64/kernel/systbls.h	2009-03-08 16:33:16.000000000 -0600
+@@ -16,9 +16,6 @@ extern asmlinkage long sys_ipc(unsigned 
+ 			       void __user *ptr, long fifth);
+ extern asmlinkage long sparc64_newuname(struct new_utsname __user *name);
+ extern asmlinkage long sparc64_personality(unsigned long personality);
+-extern asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len,
+-					 unsigned long prot, unsigned long flags,
+-					 unsigned long fd, unsigned long off);
+ extern asmlinkage long sys64_munmap(unsigned long addr, size_t len);
+ extern asmlinkage unsigned long sys64_mremap(unsigned long addr,
+ 					     unsigned long old_len,
+diff -urpN a/arch/sparc64/kernel/systbls.S b/arch/sparc64/kernel/systbls.S
+--- a/arch/sparc64/kernel/systbls.S	2009-03-08 16:12:32.000000000 -0600
++++ b/arch/sparc64/kernel/systbls.S	2009-03-08 16:33:04.000000000 -0600
+@@ -21,7 +21,7 @@ sys_call_table32:
+ /*0*/	.word sys_restart_syscall, sys32_exit, sys_fork, sys_read, sys_write
+ /*5*/	.word sys32_open, sys_close, sys32_wait4, sys32_creat, sys_link
+ /*10*/  .word sys_unlink, sunos_execv, sys_chdir, sys32_chown16, sys32_mknod
+-/*15*/	.word sys_chmod, sys32_lchown16, sparc_brk, sys32_perfctr, sys32_lseek
++/*15*/	.word sys_chmod, sys32_lchown16, sys_sparc_brk, sys32_perfctr, sys32_lseek
+ /*20*/	.word sys_getpid, sys_capget, sys_capset, sys32_setuid16, sys32_getuid16
+ /*25*/	.word sys32_vmsplic