wok rev 2990

Up linux (2.6.29.3)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon May 11 19:08:50 2009 +0200 (2009-05-11)
parents 230ebda0b94a
children 943999dafee6
files linux-acpi/receipt linux-acpi/stuff/modules-2.6.24.2.list linux-agp/receipt linux-appletalk/receipt linux-bluetooth/receipt linux-cifs/receipt linux-coda/receipt linux-cpufreq/receipt linux-cramfs/receipt linux-crypto/receipt linux-cryptoloop/receipt linux-drm/receipt linux-gfs2/receipt linux-headers/receipt linux-hfsplus/receipt linux-ieee1394/receipt linux-ieee1394/stuff/modules-2.6.24.2.list linux-ipv6/receipt linux-isdn/receipt linux-jfs/receipt linux-joystick/receipt linux-kvm/receipt linux-md/receipt linux-memstick/receipt linux-mmc/receipt linux-mwave/receipt linux-ncpfs/receipt linux-netfilter/receipt linux-reiserfs/receipt linux-reiserfs/stuff/modules-2.6.24.2.list linux-sched/receipt linux-scsi/receipt linux-sound/receipt linux-source/receipt linux-squashfs/receipt linux-tickless/receipt linux-udf/receipt linux-usbdsl/receipt linux-usbip/receipt linux-uwb/receipt linux-video/receipt linux-wireless/receipt linux-wireless/stuff/modules-2.6.24.2.list linux/receipt linux/stuff/config-acpi-2.6.22.9.u linux/stuff/config-acpi-2.6.24.2.u linux/stuff/config-ieee1394-2.6.24.2.u linux/stuff/config-reiserfs-2.6.24.2.u linux/stuff/config-tun-2.6.24.2.u linux/stuff/config-wireless-2.6.24.2.u linux/stuff/linux-2.6.22.9-slitaz.config linux/stuff/linux-2.6.24.2-slitaz.config linux/stuff/linux-2.6.29.3-slitaz.config linux/stuff/linux-diff-2.6.29.3.u linux/stuff/linux-lzma-2.6.22.9.u linux/stuff/linux-lzma-2.6.24.2.u linux/stuff/linux-lzma-2.6.29.3.u linux/stuff/linux-lzma-loram-2.6.24.2.u linux/stuff/linux-utf8-2.6.24.2.u linux/stuff/linux-utf8-2.6.25.5.u linux/stuff/linux-utf8-2.6.29.3.u linux/stuff/modules-2.6.24.2.list linux/stuff/modules-2.6.29.3.list
line diff
     1.1 --- a/linux-acpi/receipt	Mon May 11 16:40:10 2009 +0200
     1.2 +++ b/linux-acpi/receipt	Mon May 11 19:08:50 2009 +0200
     1.3 @@ -1,7 +1,7 @@
     1.4  # SliTaz package receipt.
     1.5  
     1.6  PACKAGE="linux-acpi"
     1.7 -VERSION="2.6.25.5"
     1.8 +VERSION="2.6.29.3"
     1.9  CATEGORY="base-system"
    1.10  SHORT_DESC="The Linux kernel acpi modules."
    1.11  DEPENDS="linux"
    1.12 @@ -17,10 +17,11 @@
    1.13      mkdir -p $fs/$path
    1.14      export src
    1.15      export _pkg
    1.16 -    $src/list_modules.sh drivers/acpi drivers/misc/thinkpad_acpi.ko.gz \
    1.17 -    drivers/misc/acer-wmi.ko.gz drivers/misc/asus-laptop.ko.gz \
    1.18 -    drivers/misc/fujitsu-laptop.ko.gz drivers/misc/msi-laptop.ko.gz \
    1.19 -    drivers/misc/sony-laptop.ko.gz drivers/misc/tc1100-wmi.ko.gz | \
    1.20 +    $src/list_modules.sh drivers/acpi drivers/platform/x86/thinkpad_acpi.ko.gz \
    1.21 +    drivers/platform/x86/asus-laptop.ko.gz drivers/platform/x86/eeepc-laptop.ko.gz \
    1.22 +    drivers/platform/x86/msi-laptop.ko.gz drivers/platform/x86/panasonic-laptop.ko.gz \
    1.23 +    drivers/platform/x86/sony-laptop.ko.gz drivers/platform/x86/acer-wmi.ko.gz \
    1.24 +    drivers/platform/x86/hp-wmi.ko.gz | \
    1.25      while read module; do
    1.26      	dir=$path/$(dirname $module)
    1.27      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
    1.28 @@ -31,7 +32,7 @@
    1.29  # Post install/remove commands for Tazpkg.
    1.30  post_install()
    1.31  {
    1.32 - 	chroot "$1/" depmod -a $VERSION-slitaz
    1.33 +	chroot "$1/" depmod -a $VERSION-slitaz
    1.34  }
    1.35  
    1.36  post_remove()
     2.1 --- a/linux-acpi/stuff/modules-2.6.24.2.list	Mon May 11 16:40:10 2009 +0200
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,2 +0,0 @@
     2.4 -drivers/acpi/ac.ko.gz
     2.5 -drivers/acpi/battery.ko.gz
     3.1 --- a/linux-agp/receipt	Mon May 11 16:40:10 2009 +0200
     3.2 +++ b/linux-agp/receipt	Mon May 11 19:08:50 2009 +0200
     3.3 @@ -1,7 +1,7 @@
     3.4  # SliTaz package receipt.
     3.5  
     3.6  PACKAGE="linux-agp"
     3.7 -VERSION="2.6.25.5"
     3.8 +VERSION="2.6.29.3"
     3.9  CATEGORY="base-system"
    3.10  SHORT_DESC="The Linux kernel AGP modules."
    3.11  MAINTAINER="erjo@slitaz.org"
    3.12 @@ -27,7 +27,7 @@
    3.13  # Post install/remove commands for Tazpkg.
    3.14  post_install()
    3.15  {
    3.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
    3.17 +	chroot "$1/" depmod -a $VERSION-slitaz
    3.18  }
    3.19  
    3.20  post_remove()
     4.1 --- a/linux-appletalk/receipt	Mon May 11 16:40:10 2009 +0200
     4.2 +++ b/linux-appletalk/receipt	Mon May 11 19:08:50 2009 +0200
     4.3 @@ -1,7 +1,7 @@
     4.4  # SliTaz package receipt.
     4.5  
     4.6  PACKAGE="linux-appletalk"
     4.7 -VERSION="2.6.25.5"
     4.8 +VERSION="2.6.29.3"
     4.9  CATEGORY="base-system"
    4.10  SHORT_DESC="The Linux kernel appletalk modules."
    4.11  MAINTAINER="pascal.bellard@slitaz.org"
    4.12 @@ -21,7 +21,7 @@
    4.13      export _pkg
    4.14      
    4.15      $src/list_modules.sh drivers/net/appletalk net/appletalk \
    4.16 -    net/802/p8022.ko.gz | while read module; do
    4.17 +	net/802/p8022.ko.gz | while read module; do
    4.18      	dir=$path/$(dirname $module)
    4.19      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
    4.20          cp -a $_pkg/$path/$module $fs/$dir
    4.21 @@ -31,7 +31,7 @@
    4.22  # Post install/remove commands for Tazpkg.
    4.23  post_install()
    4.24  {
    4.25 - 	chroot "$1/" depmod -a $VERSION-slitaz
    4.26 +	chroot "$1/" depmod -a $VERSION-slitaz
    4.27  }
    4.28  
    4.29  post_remove()
     5.1 --- a/linux-bluetooth/receipt	Mon May 11 16:40:10 2009 +0200
     5.2 +++ b/linux-bluetooth/receipt	Mon May 11 19:08:50 2009 +0200
     5.3 @@ -1,7 +1,7 @@
     5.4  # SliTaz package receipt.
     5.5  
     5.6  PACKAGE="linux-bluetooth"
     5.7 -VERSION="2.6.25.5"
     5.8 +VERSION="2.6.29.3"
     5.9  CATEGORY="base-system"
    5.10  SHORT_DESC="The Linux kernel bluetooth modules."
    5.11  MAINTAINER="pascal.bellard@slitaz.org"
    5.12 @@ -27,7 +27,7 @@
    5.13  # Post install/remove commands for Tazpkg.
    5.14  post_install()
    5.15  {
    5.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
    5.17 +	chroot "$1/" depmod -a $VERSION-slitaz
    5.18  }
    5.19  
    5.20  post_remove()
     6.1 --- a/linux-cifs/receipt	Mon May 11 16:40:10 2009 +0200
     6.2 +++ b/linux-cifs/receipt	Mon May 11 19:08:50 2009 +0200
     6.3 @@ -1,7 +1,7 @@
     6.4  # SliTaz package receipt.
     6.5  
     6.6  PACKAGE="linux-cifs"
     6.7 -VERSION="2.6.25.5"
     6.8 +VERSION="2.6.29.3"
     6.9  CATEGORY="base-system"
    6.10  SHORT_DESC="The Linux kernel cifs module."
    6.11  MAINTAINER="pascal.bellard@slitaz.org"
    6.12 @@ -31,7 +31,7 @@
    6.13  {
    6.14  	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
    6.15  		echo "${PACKAGE#*-}" >> $1/etc/filesystems
    6.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
    6.17 +	chroot "$1/" depmod -a $VERSION-slitaz
    6.18  }
    6.19  
    6.20  post_remove()
    6.21 @@ -39,3 +39,4 @@
    6.22  	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
    6.23  	depmod -a $VERSION-slitaz
    6.24  }
    6.25 +
     7.1 --- a/linux-coda/receipt	Mon May 11 16:40:10 2009 +0200
     7.2 +++ b/linux-coda/receipt	Mon May 11 19:08:50 2009 +0200
     7.3 @@ -1,20 +1,21 @@
     7.4  # SliTaz package receipt.
     7.5  
     7.6  PACKAGE="linux-coda"
     7.7 -VERSION="2.6.25.5"
     7.8 +VERSION="2.6.29.3"
     7.9  CATEGORY="base-system"
    7.10  SHORT_DESC="The Linux kernel coda module."
    7.11  MAINTAINER="pascal.bellard@slitaz.org"
    7.12  DEPENDS="linux"
    7.13  WANTED="linux"
    7.14  WEB_SITE="http://www.kernel.org/"
    7.15 +CONFIG_FILES="/etc/filesystems"
    7.16  
    7.17  # Rules to gen a SliTaz package suitable for Tazpkg.
    7.18  genpkg_rules()
    7.19  {
    7.20      local path
    7.21      path=lib/modules/$VERSION-slitaz/kernel
    7.22 -    mkdir -p $fs/$path
    7.23 +    mkdir -p $fs/$path $fs/etc
    7.24      export src
    7.25      export _pkg
    7.26      $src/list_modules.sh fs/coda | while read module; do
    7.27 @@ -22,16 +23,20 @@
    7.28      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
    7.29          cp -a $_pkg/$path/$module $fs/$dir
    7.30      done
    7.31 +    touch $fs/etc/filesystems
    7.32  }
    7.33  
    7.34  # Post install/remove commands for Tazpkg.
    7.35  post_install()
    7.36  {
    7.37 - 	chroot "$1/" depmod -a $VERSION-slitaz
    7.38 +	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
    7.39 +		echo "${PACKAGE#*-}" >> $1/etc/filesystems
    7.40 +	chroot "$1/" depmod -a $VERSION-slitaz
    7.41  }
    7.42  
    7.43  post_remove()
    7.44  {
    7.45 +	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
    7.46  	depmod -a $VERSION-slitaz
    7.47  }
    7.48  
     8.1 --- a/linux-cpufreq/receipt	Mon May 11 16:40:10 2009 +0200
     8.2 +++ b/linux-cpufreq/receipt	Mon May 11 19:08:50 2009 +0200
     8.3 @@ -1,7 +1,7 @@
     8.4  # SliTaz package receipt.
     8.5  
     8.6  PACKAGE="linux-cpufreq"
     8.7 -VERSION="2.6.25.5"
     8.8 +VERSION="2.6.29.3"
     8.9  CATEGORY="base-system"
    8.10  SHORT_DESC="The Linux kernel cpufreq modules."
    8.11  MAINTAINER="pascal.bellard@slitaz.org"
    8.12 @@ -28,7 +28,7 @@
    8.13  # Post install/remove commands for Tazpkg.
    8.14  post_install()
    8.15  {
    8.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
    8.17 +	chroot "$1/" depmod -a $VERSION-slitaz
    8.18  }
    8.19  
    8.20  post_remove()
     9.1 --- a/linux-cramfs/receipt	Mon May 11 16:40:10 2009 +0200
     9.2 +++ b/linux-cramfs/receipt	Mon May 11 19:08:50 2009 +0200
     9.3 @@ -1,20 +1,21 @@
     9.4  # SliTaz package receipt.
     9.5  
     9.6  PACKAGE="linux-cramfs"
     9.7 -VERSION="2.6.25.5"
     9.8 +VERSION="2.6.29.3"
     9.9  CATEGORY="base-system"
    9.10  SHORT_DESC="The Linux kernel cramfs module."
    9.11  MAINTAINER="pascal.bellard@slitaz.org"
    9.12  DEPENDS="linux"
    9.13  WANTED="linux"
    9.14  WEB_SITE="http://www.kernel.org/"
    9.15 +CONFIG_FILES="/etc/filesystems"
    9.16  
    9.17  # Rules to gen a SliTaz package suitable for Tazpkg.
    9.18  genpkg_rules()
    9.19  {
    9.20      local path
    9.21      path=lib/modules/$VERSION-slitaz/kernel
    9.22 -    mkdir -p $fs/$path
    9.23 +    mkdir -p $fs/$path $fs/etc
    9.24      export src
    9.25      export _pkg
    9.26      $src/list_modules.sh fs/cramfs | while read module; do
    9.27 @@ -22,16 +23,20 @@
    9.28      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
    9.29          cp -a $_pkg/$path/$module $fs/$dir
    9.30      done
    9.31 +    touch $fs/etc/filesystems
    9.32  }
    9.33  
    9.34  # Post install/remove commands for Tazpkg.
    9.35  post_install()
    9.36  {
    9.37 - 	chroot "$1/" depmod -a $VERSION-slitaz
    9.38 +	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
    9.39 +		echo "${PACKAGE#*-}" >> $1/etc/filesystems
    9.40 +	chroot "$1/" depmod -a $VERSION-slitaz
    9.41  }
    9.42  
    9.43  post_remove()
    9.44  {
    9.45 +	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
    9.46  	depmod -a $VERSION-slitaz
    9.47  }
    9.48  
    10.1 --- a/linux-crypto/receipt	Mon May 11 16:40:10 2009 +0200
    10.2 +++ b/linux-crypto/receipt	Mon May 11 19:08:50 2009 +0200
    10.3 @@ -1,7 +1,7 @@
    10.4  # SliTaz package receipt.
    10.5  
    10.6  PACKAGE="linux-crypto"
    10.7 -VERSION="2.6.25.5"
    10.8 +VERSION="2.6.29.3"
    10.9  CATEGORY="base-system"
   10.10  SHORT_DESC="The Linux kernel crypto modules."
   10.11  MAINTAINER="pascal.bellard@slitaz.org"
   10.12 @@ -28,7 +28,7 @@
   10.13  # Post install/remove commands for Tazpkg.
   10.14  post_install()
   10.15  {
   10.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   10.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   10.18  }
   10.19  
   10.20  post_remove()
    11.1 --- a/linux-cryptoloop/receipt	Mon May 11 16:40:10 2009 +0200
    11.2 +++ b/linux-cryptoloop/receipt	Mon May 11 19:08:50 2009 +0200
    11.3 @@ -1,7 +1,7 @@
    11.4  # SliTaz package receipt.
    11.5  
    11.6  PACKAGE="linux-cryptoloop"
    11.7 -VERSION="2.6.25.5"
    11.8 +VERSION="2.6.29.3"
    11.9  CATEGORY="base-system"
   11.10  SHORT_DESC="The Linux kernel cryptoloop modules."
   11.11  MAINTAINER="pascal.bellard@slitaz.org"
   11.12 @@ -29,7 +29,7 @@
   11.13  # Post install/remove commands for Tazpkg.
   11.14  post_install()
   11.15  {
   11.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   11.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   11.18  }
   11.19  
   11.20  post_remove()
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/linux-drm/receipt	Mon May 11 19:08:50 2009 +0200
    12.3 @@ -0,0 +1,37 @@
    12.4 +# SliTaz package receipt.
    12.5 +
    12.6 +PACKAGE="linux-drm"
    12.7 +VERSION="2.6.29.3"
    12.8 +CATEGORY="base-system"
    12.9 +SHORT_DESC="The Linux kernel drm module."
   12.10 +MAINTAINER="pascal.bellard@slitaz.org"
   12.11 +DEPENDS="linux"
   12.12 +WANTED="linux"
   12.13 +WEB_SITE="http://www.kernel.org/"
   12.14 +
   12.15 +# Rules to gen a SliTaz package suitable for Tazpkg.
   12.16 +genpkg_rules()
   12.17 +{
   12.18 +	local path
   12.19 +	path=lib/modules/$VERSION-slitaz/kernel
   12.20 +	mkdir -p $fs/$path
   12.21 +	export src
   12.22 +	export _pkg
   12.23 +	$src/list_modules.sh drivers/gpu/drm | while read module; do
   12.24 +		dir=$path/$(dirname $module)
   12.25 +		[ -d $fs/$dir ] || mkdir -p $fs/$dir
   12.26 +		cp -a $_pkg/$path/$module $fs/$dir
   12.27 +	done
   12.28 +}
   12.29 +
   12.30 +# Post install/remove commands for Tazpkg.
   12.31 +post_install()
   12.32 +{
   12.33 +	chroot "$1/" depmod -a $VERSION-slitaz
   12.34 +}
   12.35 +
   12.36 +post_remove()
   12.37 +{
   12.38 +	depmod -a $VERSION-slitaz
   12.39 +}
   12.40 +
    13.1 --- a/linux-gfs2/receipt	Mon May 11 16:40:10 2009 +0200
    13.2 +++ b/linux-gfs2/receipt	Mon May 11 19:08:50 2009 +0200
    13.3 @@ -1,20 +1,21 @@
    13.4  # SliTaz package receipt.
    13.5  
    13.6  PACKAGE="linux-gfs2"
    13.7 -VERSION="2.6.25.5"
    13.8 +VERSION="2.6.29.3"
    13.9  CATEGORY="base-system"
   13.10  SHORT_DESC="The Linux kernel gfs2 module."
   13.11  MAINTAINER="pascal.bellard@slitaz.org"
   13.12  DEPENDS="linux"
   13.13  WANTED="linux"
   13.14  WEB_SITE="http://www.kernel.org/"
   13.15 +CONFIG_FILES="/etc/filesystems"
   13.16  
   13.17  # Rules to gen a SliTaz package suitable for Tazpkg.
   13.18  genpkg_rules()
   13.19  {
   13.20      local path
   13.21      path=lib/modules/$VERSION-slitaz/kernel
   13.22 -    mkdir -p $fs/$path
   13.23 +    mkdir -p $fs/$path $fs/etc
   13.24      export src
   13.25      export _pkg
   13.26      $src/list_modules.sh fs/gfs2 | while read module; do
   13.27 @@ -22,16 +23,20 @@
   13.28      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   13.29          cp -a $_pkg/$path/$module $fs/$dir
   13.30      done
   13.31 +    touch $fs/etc/filesystems
   13.32  }
   13.33  
   13.34  # Post install/remove commands for Tazpkg.
   13.35  post_install()
   13.36  {
   13.37 - 	chroot "$1/" depmod -a $VERSION-slitaz
   13.38 +	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
   13.39 +		echo "${PACKAGE#*-}" >> $1/etc/filesystems
   13.40 +	chroot "$1/" depmod -a $VERSION-slitaz
   13.41  }
   13.42  
   13.43  post_remove()
   13.44  {
   13.45 +	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
   13.46  	depmod -a $VERSION-slitaz
   13.47  }
   13.48  
    14.1 --- a/linux-headers/receipt	Mon May 11 16:40:10 2009 +0200
    14.2 +++ b/linux-headers/receipt	Mon May 11 19:08:50 2009 +0200
    14.3 @@ -1,7 +1,7 @@
    14.4  # SliTaz package receipt.
    14.5  
    14.6  PACKAGE="linux-headers"
    14.7 -VERSION="2.6.25.5"
    14.8 +VERSION="2.6.29.3"
    14.9  CATEGORY="development"
   14.10  SHORT_DESC="The Linux Kernel headers files for devel."
   14.11  MAINTAINER="pascal.bellard@slitaz.org"
    15.1 --- a/linux-hfsplus/receipt	Mon May 11 16:40:10 2009 +0200
    15.2 +++ b/linux-hfsplus/receipt	Mon May 11 19:08:50 2009 +0200
    15.3 @@ -1,7 +1,7 @@
    15.4  # SliTaz package receipt.
    15.5  
    15.6  PACKAGE="linux-hfsplus"
    15.7 -VERSION="2.6.25.5"
    15.8 +VERSION="2.6.29.3"
    15.9  CATEGORY="base-system"
   15.10  SHORT_DESC="The Linux kernel hfsplus module."
   15.11  MAINTAINER="pascal.bellard@slitaz.org"
   15.12 @@ -31,7 +31,7 @@
   15.13  {
   15.14  	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
   15.15  		echo "${PACKAGE#*-}" >> $1/etc/filesystems
   15.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   15.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   15.18  }
   15.19  
   15.20  post_remove()
    16.1 --- a/linux-ieee1394/receipt	Mon May 11 16:40:10 2009 +0200
    16.2 +++ b/linux-ieee1394/receipt	Mon May 11 19:08:50 2009 +0200
    16.3 @@ -1,7 +1,7 @@
    16.4  # SliTaz package receipt.
    16.5  
    16.6  PACKAGE="linux-ieee1394"
    16.7 -VERSION="2.6.25.5"
    16.8 +VERSION="2.6.29.3"
    16.9  CATEGORY="base-system"
   16.10  SHORT_DESC="The Linux kernel ieee1394 modules."
   16.11  MAINTAINER="pascal.bellard@slitaz.org"
   16.12 @@ -27,7 +27,7 @@
   16.13  # Post install/remove commands for Tazpkg.
   16.14  post_install()
   16.15  {
   16.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   16.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   16.18  }
   16.19  
   16.20  post_remove()
    17.1 --- a/linux-ieee1394/stuff/modules-2.6.24.2.list	Mon May 11 16:40:10 2009 +0200
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,3 +0,0 @@
    17.4 -drivers/ieee1394/raw1394.ko.gz
    17.5 -drivers/ieee1394/ieee1394.ko.gz
    17.6 -drivers/ieee1394/ohci1394.ko.gz
    18.1 --- a/linux-ipv6/receipt	Mon May 11 16:40:10 2009 +0200
    18.2 +++ b/linux-ipv6/receipt	Mon May 11 19:08:50 2009 +0200
    18.3 @@ -1,7 +1,7 @@
    18.4  # SliTaz package receipt.
    18.5  
    18.6  PACKAGE="linux-ipv6"
    18.7 -VERSION="2.6.25.5"
    18.8 +VERSION="2.6.29.3"
    18.9  CATEGORY="base-system"
   18.10  SHORT_DESC="The Linux kernel ipv6 modules."
   18.11  MAINTAINER="pascal.bellard@slitaz.org"
   18.12 @@ -27,7 +27,7 @@
   18.13  # Post install/remove commands for Tazpkg.
   18.14  post_install()
   18.15  {
   18.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   18.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   18.18  }
   18.19  
   18.20  post_remove()
    19.1 --- a/linux-isdn/receipt	Mon May 11 16:40:10 2009 +0200
    19.2 +++ b/linux-isdn/receipt	Mon May 11 19:08:50 2009 +0200
    19.3 @@ -1,7 +1,7 @@
    19.4  # SliTaz package receipt.
    19.5  
    19.6  PACKAGE="linux-isdn"
    19.7 -VERSION="2.6.25.5"
    19.8 +VERSION="2.6.29.3"
    19.9  CATEGORY="base-system"
   19.10  SHORT_DESC="The Linux kernel isdn modules."
   19.11  MAINTAINER="pascal.bellard@slitaz.org"
   19.12 @@ -27,7 +27,7 @@
   19.13  # Post install/remove commands for Tazpkg.
   19.14  post_install()
   19.15  {
   19.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   19.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   19.18  }
   19.19  
   19.20  post_remove()
    20.1 --- a/linux-jfs/receipt	Mon May 11 16:40:10 2009 +0200
    20.2 +++ b/linux-jfs/receipt	Mon May 11 19:08:50 2009 +0200
    20.3 @@ -1,7 +1,7 @@
    20.4  # SliTaz package receipt.
    20.5  
    20.6  PACKAGE="linux-jfs"
    20.7 -VERSION="2.6.25.5"
    20.8 +VERSION="2.6.29.3"
    20.9  CATEGORY="base-system"
   20.10  SHORT_DESC="The Linux kernel jfs module."
   20.11  MAINTAINER="pascal.bellard@slitaz.org"
   20.12 @@ -31,7 +31,7 @@
   20.13  {
   20.14  	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
   20.15  		echo "${PACKAGE#*-}" >> $1/etc/filesystems
   20.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   20.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   20.18  }
   20.19  
   20.20  post_remove()
    21.1 --- a/linux-joystick/receipt	Mon May 11 16:40:10 2009 +0200
    21.2 +++ b/linux-joystick/receipt	Mon May 11 19:08:50 2009 +0200
    21.3 @@ -1,7 +1,7 @@
    21.4  # SliTaz package receipt.
    21.5  
    21.6  PACKAGE="linux-joystick"
    21.7 -VERSION="2.6.25.5"
    21.8 +VERSION="2.6.29.3"
    21.9  CATEGORY="base-system"
   21.10  SHORT_DESC="The Linux kernel joystick modules."
   21.11  MAINTAINER="pascal.bellard@slitaz.org"
   21.12 @@ -17,8 +17,9 @@
   21.13      mkdir -p $fs/$path
   21.14      export src
   21.15      export _pkg
   21.16 -    $src/list_modules.sh drivers/input/joystick drivers/input/gameport | \
   21.17 -    while read module; do
   21.18 +    $src/list_modules.sh drivers/input/joystick drivers/input/gameport \
   21.19 +	drivers/input/input-polldev.ko.gz drivers/hid/hid-dummy.ko.gz | \
   21.20 +	while read module; do
   21.21      	dir=$path/$(dirname $module)
   21.22      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   21.23          cp -a $_pkg/$path/$module $fs/$dir
   21.24 @@ -28,7 +29,7 @@
   21.25  # Post install/remove commands for Tazpkg.
   21.26  post_install()
   21.27  {
   21.28 - 	chroot "$1/" depmod -a $VERSION-slitaz
   21.29 +	chroot "$1/" depmod -a $VERSION-slitaz
   21.30  }
   21.31  
   21.32  post_remove()
    22.1 --- a/linux-kvm/receipt	Mon May 11 16:40:10 2009 +0200
    22.2 +++ b/linux-kvm/receipt	Mon May 11 19:08:50 2009 +0200
    22.3 @@ -1,7 +1,7 @@
    22.4  # SliTaz package receipt.
    22.5  
    22.6  PACKAGE="linux-kvm"
    22.7 -VERSION="2.6.25.5"
    22.8 +VERSION="2.6.29.3"
    22.9  CATEGORY="base-system"
   22.10  SHORT_DESC="The Linux kernel kvm and virtio modules."
   22.11  MAINTAINER="pascal.bellard@slitaz.org"
   22.12 @@ -17,7 +17,8 @@
   22.13      mkdir -p $fs/$path
   22.14      export src
   22.15      export _pkg
   22.16 -    $src/list_modules.sh arch/x86/kvm drivers/virtio drivers/lguest | \
   22.17 +    $src/list_modules.sh arch/x86/kvm drivers/virtio drivers/lguest \
   22.18 +    drivers/char/hw_random/virtio-rng.ko.gz drivers/char/virtio_console.ko.gz |\
   22.19      while read module; do
   22.20      	dir=$path/$(dirname $module)
   22.21      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   22.22 @@ -28,7 +29,7 @@
   22.23  # Post install/remove commands for Tazpkg.
   22.24  post_install()
   22.25  {
   22.26 - 	chroot "$1/" depmod -a $VERSION-slitaz
   22.27 +	chroot "$1/" depmod -a $VERSION-slitaz
   22.28  }
   22.29  
   22.30  post_remove()
    23.1 --- a/linux-md/receipt	Mon May 11 16:40:10 2009 +0200
    23.2 +++ b/linux-md/receipt	Mon May 11 19:08:50 2009 +0200
    23.3 @@ -1,7 +1,7 @@
    23.4  # SliTaz package receipt.
    23.5  
    23.6  PACKAGE="linux-md"
    23.7 -VERSION="2.6.25.5"
    23.8 +VERSION="2.6.29.3"
    23.9  CATEGORY="base-system"
   23.10  SHORT_DESC="The Linux kernel md modules."
   23.11  MAINTAINER="pascal.bellard@slitaz.org"
   23.12 @@ -31,7 +31,7 @@
   23.13  # Post install/remove commands for Tazpkg.
   23.14  post_install()
   23.15  {
   23.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   23.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   23.18  }
   23.19  
   23.20  post_remove()
    24.1 --- a/linux-memstick/receipt	Mon May 11 16:40:10 2009 +0200
    24.2 +++ b/linux-memstick/receipt	Mon May 11 19:08:50 2009 +0200
    24.3 @@ -1,7 +1,7 @@
    24.4  # SliTaz package receipt.
    24.5  
    24.6  PACKAGE="linux-memstick"
    24.7 -VERSION="2.6.25.5"
    24.8 +VERSION="2.6.29.3"
    24.9  CATEGORY="base-system"
   24.10  SHORT_DESC="The Linux kernel sony memory stick modules."
   24.11  MAINTAINER="pascal.bellard@slitaz.org"
   24.12 @@ -30,7 +30,7 @@
   24.13  # Post install/remove commands for Tazpkg.
   24.14  post_install()
   24.15  {
   24.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   24.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   24.18  }
   24.19  
   24.20  post_remove()
    25.1 --- a/linux-mmc/receipt	Mon May 11 16:40:10 2009 +0200
    25.2 +++ b/linux-mmc/receipt	Mon May 11 19:08:50 2009 +0200
    25.3 @@ -1,7 +1,7 @@
    25.4  # SliTaz package receipt.
    25.5  
    25.6  PACKAGE="linux-mmc"
    25.7 -VERSION="2.6.25.5"
    25.8 +VERSION="2.6.29.3"
    25.9  CATEGORY="base-system"
   25.10  SHORT_DESC="The Linux kernel mmc modules (card reader)."
   25.11  MAINTAINER="pascal.bellard@slitaz.org"
   25.12 @@ -17,7 +17,8 @@
   25.13      mkdir -p $fs/$path
   25.14      export src
   25.15      export _pkg
   25.16 -    $src/list_modules.sh drivers/mmc | while read module; do
   25.17 +    $src/list_modules.sh drivers/mmc drivers/misc/tifm_7xx1.ko.gz | \
   25.18 +	while read module; do
   25.19      	dir=$path/$(dirname $module)
   25.20      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   25.21          cp -a $_pkg/$path/$module $fs/$dir
   25.22 @@ -27,7 +28,7 @@
   25.23  # Post install/remove commands for Tazpkg.
   25.24  post_install()
   25.25  {
   25.26 - 	chroot "$1/" depmod -a $VERSION-slitaz
   25.27 +	chroot "$1/" depmod -a $VERSION-slitaz
   25.28  }
   25.29  
   25.30  post_remove()
    26.1 --- a/linux-mwave/receipt	Mon May 11 16:40:10 2009 +0200
    26.2 +++ b/linux-mwave/receipt	Mon May 11 19:08:50 2009 +0200
    26.3 @@ -1,7 +1,7 @@
    26.4  # SliTaz package receipt.
    26.5  
    26.6  PACKAGE="linux-mwave"
    26.7 -VERSION="2.6.25.5"
    26.8 +VERSION="2.6.29.3"
    26.9  CATEGORY="base-system"
   26.10  SHORT_DESC="The Linux kernel ACP Modem driver module (for IBM Thinkpad)"
   26.11  MAINTAINER="pascal.bellard@slitaz.org"
   26.12 @@ -27,7 +27,7 @@
   26.13  # Post install/remove commands for Tazpkg.
   26.14  post_install()
   26.15  {
   26.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   26.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   26.18  }
   26.19  
   26.20  post_remove()
    27.1 --- a/linux-ncpfs/receipt	Mon May 11 16:40:10 2009 +0200
    27.2 +++ b/linux-ncpfs/receipt	Mon May 11 19:08:50 2009 +0200
    27.3 @@ -1,7 +1,7 @@
    27.4  # SliTaz package receipt.
    27.5  
    27.6  PACKAGE="linux-ncpfs"
    27.7 -VERSION="2.6.25.5"
    27.8 +VERSION="2.6.29.3"
    27.9  CATEGORY="base-system"
   27.10  SHORT_DESC="The Linux kernel ncpfs module."
   27.11  MAINTAINER="pascal.bellard@slitaz.org"
   27.12 @@ -23,6 +23,7 @@
   27.13      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   27.14          cp -a $_pkg/$path/$module $fs/$dir
   27.15      done
   27.16 +    touch $fs/etc/filesystems
   27.17  }
   27.18  
   27.19  # Post install/remove commands for Tazpkg.
   27.20 @@ -30,7 +31,7 @@
   27.21  {
   27.22  	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
   27.23  		echo "${PACKAGE#*-}" >> $1/etc/filesystems
   27.24 - 	chroot "$1/" depmod -a $VERSION-slitaz
   27.25 +	chroot "$1/" depmod -a $VERSION-slitaz
   27.26  }
   27.27  
   27.28  post_remove()
   27.29 @@ -38,3 +39,4 @@
   27.30  	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
   27.31  	depmod -a $VERSION-slitaz
   27.32  }
   27.33 +
    28.1 --- a/linux-netfilter/receipt	Mon May 11 16:40:10 2009 +0200
    28.2 +++ b/linux-netfilter/receipt	Mon May 11 19:08:50 2009 +0200
    28.3 @@ -1,7 +1,7 @@
    28.4  # SliTaz package receipt.
    28.5  
    28.6  PACKAGE="linux-netfilter"
    28.7 -VERSION="2.6.25.5"
    28.8 +VERSION="2.6.29.3"
    28.9  CATEGORY="base-system"
   28.10  SHORT_DESC="The Linux kernel netfilter modules."
   28.11  MAINTAINER="pascal.bellard@slitaz.org"
   28.12 @@ -31,7 +31,7 @@
   28.13  # Post install/remove commands for Tazpkg.
   28.14  post_install()
   28.15  {
   28.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   28.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   28.18  }
   28.19  
   28.20  post_remove()
    29.1 --- a/linux-reiserfs/receipt	Mon May 11 16:40:10 2009 +0200
    29.2 +++ b/linux-reiserfs/receipt	Mon May 11 19:08:50 2009 +0200
    29.3 @@ -1,7 +1,7 @@
    29.4  # SliTaz package receipt.
    29.5  
    29.6  PACKAGE="linux-reiserfs"
    29.7 -VERSION="2.6.25.5"
    29.8 +VERSION="2.6.29.3"
    29.9  CATEGORY="base-system"
   29.10  SHORT_DESC="The Linux kernel reiserfs module."
   29.11  MAINTAINER="pascal.bellard@slitaz.org"
   29.12 @@ -31,7 +31,7 @@
   29.13  {
   29.14  	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
   29.15  		echo "${PACKAGE#*-}" >> $1/etc/filesystems
   29.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   29.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   29.18  }
   29.19  
   29.20  post_remove()
   29.21 @@ -39,3 +39,4 @@
   29.22  	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
   29.23  	depmod -a $VERSION-slitaz
   29.24  }
   29.25 +
    30.1 --- a/linux-reiserfs/stuff/modules-2.6.24.2.list	Mon May 11 16:40:10 2009 +0200
    30.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.3 @@ -1,1 +0,0 @@
    30.4 -fs/reiserfs/reiserfs.ko.gz
    31.1 --- a/linux-sched/receipt	Mon May 11 16:40:10 2009 +0200
    31.2 +++ b/linux-sched/receipt	Mon May 11 19:08:50 2009 +0200
    31.3 @@ -1,7 +1,7 @@
    31.4  # SliTaz package receipt.
    31.5  
    31.6  PACKAGE="linux-sched"
    31.7 -VERSION="2.6.25.5"
    31.8 +VERSION="2.6.29.3"
    31.9  CATEGORY="base-system"
   31.10  SHORT_DESC="The Linux kernel sched modules."
   31.11  MAINTAINER="pascal.bellard@slitaz.org"
   31.12 @@ -30,7 +30,7 @@
   31.13  # Post install/remove commands for Tazpkg.
   31.14  post_install()
   31.15  {
   31.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   31.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   31.18  }
   31.19  
   31.20  post_remove()
    32.1 --- a/linux-scsi/receipt	Mon May 11 16:40:10 2009 +0200
    32.2 +++ b/linux-scsi/receipt	Mon May 11 19:08:50 2009 +0200
    32.3 @@ -1,7 +1,7 @@
    32.4  # SliTaz package receipt.
    32.5  
    32.6  PACKAGE="linux-scsi"
    32.7 -VERSION="2.6.25.5"
    32.8 +VERSION="2.6.29.3"
    32.9  CATEGORY="base-system"
   32.10  SHORT_DESC="The Linux kernel scsi modules."
   32.11  MAINTAINER="pascal.bellard@slitaz.org"
   32.12 @@ -22,13 +22,12 @@
   32.13      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   32.14          cp -a $_pkg/$path/$module $fs/$dir
   32.15      done
   32.16 -
   32.17  }
   32.18  
   32.19  # Post install/remove commands for Tazpkg.
   32.20  post_install()
   32.21  {
   32.22 - 	chroot "$1/" depmod -a $VERSION-slitaz
   32.23 +	chroot "$1/" depmod -a $VERSION-slitaz
   32.24  }
   32.25  
   32.26  post_remove()
    33.1 --- a/linux-sound/receipt	Mon May 11 16:40:10 2009 +0200
    33.2 +++ b/linux-sound/receipt	Mon May 11 19:08:50 2009 +0200
    33.3 @@ -1,7 +1,7 @@
    33.4  # SliTaz package receipt.
    33.5  
    33.6  PACKAGE="linux-sound"
    33.7 -VERSION="2.6.25.5"
    33.8 +VERSION="2.6.29.3"
    33.9  CATEGORY="base-system"
   33.10  SHORT_DESC="The Linux kernel sound modules."
   33.11  MAINTAINER="pascal.bellard@slitaz.org"
   33.12 @@ -22,13 +22,17 @@
   33.13      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   33.14          cp -a $_pkg/$path/$module $fs/$dir
   33.15      done
   33.16 +	mkdir $fs/lib/firmware
   33.17 +	for i in ess korg sun yamaha; do
   33.18 +		cp -a $_pkg/lib/firmware/$i $fs/lib/firmware
   33.19 +	done
   33.20  
   33.21  }
   33.22  
   33.23  # Post install/remove commands for Tazpkg.
   33.24  post_install()
   33.25  {
   33.26 - 	chroot "$1/" depmod -a $VERSION-slitaz
   33.27 +	chroot "$1/" depmod -a $VERSION-slitaz
   33.28  }
   33.29  
   33.30  post_remove()
    34.1 --- a/linux-source/receipt	Mon May 11 16:40:10 2009 +0200
    34.2 +++ b/linux-source/receipt	Mon May 11 19:08:50 2009 +0200
    34.3 @@ -1,7 +1,7 @@
    34.4  # SliTaz package receipt.
    34.5  
    34.6  PACKAGE="linux-source"
    34.7 -VERSION="2.6.25.5"
    34.8 +VERSION="2.6.29.3"
    34.9  CATEGORY="development"
   34.10  SHORT_DESC="The Linux kernel source files."
   34.11  MAINTAINER="pascal.bellard@slitaz.org"
    35.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.2 +++ b/linux-squashfs/receipt	Mon May 11 19:08:50 2009 +0200
    35.3 @@ -0,0 +1,43 @@
    35.4 +# SliTaz package receipt.
    35.5 +
    35.6 +PACKAGE="linux-squashfs"
    35.7 +VERSION="2.6.29.3"
    35.8 +CATEGORY="base-system"
    35.9 +SHORT_DESC="The Linux kernel squashfs module."
   35.10 +MAINTAINER="pascal.bellard@slitaz.org"
   35.11 +DEPENDS="linux"
   35.12 +WANTED="linux"
   35.13 +WEB_SITE="http://www.kernel.org/"
   35.14 +PROVIDE="squashfs-module"
   35.15 +CONFIG_FILES="/etc/filesystems"
   35.16 +
   35.17 +# Rules to gen a SliTaz package suitable for Tazpkg.
   35.18 +genpkg_rules()
   35.19 +{
   35.20 +    local path
   35.21 +    path=lib/modules/$VERSION-slitaz/kernel
   35.22 +    mkdir -p $fs/$path $fs/etc
   35.23 +    export src
   35.24 +    export _pkg
   35.25 +    $src/list_modules.sh fs/squashfs | while read module; do
   35.26 +    	dir=$path/$(dirname $module)
   35.27 +    	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   35.28 +        cp -a $_pkg/$path/$module $fs/$dir
   35.29 +    done
   35.30 +    touch $fs/etc/filesystems
   35.31 +}
   35.32 +
   35.33 +# Post install/remove commands for Tazpkg.
   35.34 +post_install()
   35.35 +{
   35.36 +	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
   35.37 +		echo "${PACKAGE#*-}" >> $1/etc/filesystems
   35.38 +	chroot "$1/" depmod -a $VERSION-slitaz
   35.39 +}
   35.40 +
   35.41 +post_remove()
   35.42 +{
   35.43 +	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
   35.44 +	depmod -a $VERSION-slitaz
   35.45 +}
   35.46 +
    36.1 --- a/linux-tickless/receipt	Mon May 11 16:40:10 2009 +0200
    36.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.3 @@ -1,108 +0,0 @@
    36.4 -# SliTaz package receipt.
    36.5 -
    36.6 -PACKAGE="linux-tickless"
    36.7 -VERSION="2.6.25.5"
    36.8 -CATEGORY="base-system"
    36.9 -SHORT_DESC="The Linux kernel and modules."
   36.10 -DEPENDS="linux"
   36.11 -BUILD_DEPENDS="slitaz-toolchain perl"
   36.12 -MAINTAINER="pascal.bellard@slitaz.org"
   36.13 -SOURCE="linux"
   36.14 -TARBALL="$SOURCE-$VERSION.tar.bz2"
   36.15 -WEB_SITE="http://www.kernel.org/"
   36.16 -WGET_URL="http://www.eu.kernel.org/pub/linux/kernel/v2.6/$TARBALL"
   36.17 -CONFIG_FILES="/lib/modules/$VERSION-slitaz/modules.dep"
   36.18 -PROVIDE="linux"
   36.19 -
   36.20 -# Rules to configure and make the package.
   36.21 -compile_rules()
   36.22 -{
   36.23 -	cd $src
   36.24 -	rm -rf slitaz 2> /dev/null
   36.25 -	mkdir slitaz
   36.26 -	echo "$WGET_URL" > slitaz/url
   36.27 -	cp $WOK/linux/stuff/gztazmod.sh $WOK/linux/stuff/list_modules.sh slitaz
   36.28 -	# lzma and misc patches from pascal
   36.29 -	while read patch_file; do
   36.30 -		if [ -f done.$patch_file ]; then
   36.31 -			echo "Skipping $patch_file"
   36.32 -			continue
   36.33 -		fi
   36.34 -		echo "Apply $patch_file"
   36.35 -		patch -p1 < $WOK/linux/stuff/$patch_file || return 1
   36.36 -		echo "$patch_file" >> slitaz/patches
   36.37 -		cp $WOK/linux/stuff/$patch_file slitaz/$patch_file
   36.38 -		touch done.$patch_file
   36.39 -	done <<EOT
   36.40 -$SOURCE-lzma-$VERSION.u
   36.41 -$SOURCE-utf8-$VERSION.u
   36.42 -$SOURCE-diff-$VERSION.u
   36.43 -$SOURCE-rootdev.u
   36.44 -EOT
   36.45 -	make mrproper	
   36.46 -	cp $WOK/linux/stuff/$SOURCE-$VERSION-slitaz.config .config
   36.47 -	sed -i  -e 's/# CONFIG_TICK_ONESHOT .*/CONFIG_TICK_ONESHOT=y/'
   36.48 -		-e 's/# CONFIG_NO_HZ .*/CONFIG_NO_HZ=y/' .config 
   36.49 -	make oldconfig
   36.50 -	ln .config slitaz/config
   36.51 -	make bzImage
   36.52 -	make modules
   36.53 -	make INSTALL_MOD_PATH=$PWD/_pkg modules_install
   36.54 -	make INSTALL_HDR_PATH=$PWD/_pkg/usr headers_install
   36.55 -} 
   36.56 -
   36.57 -# Rules to gen a SliTaz package suitable for Tazpkg.
   36.58 -genpkg_rules()
   36.59 -{
   36.60 -    local path
   36.61 -    mkdir $fs/boot
   36.62 -    cp -a $src/arch/x86/boot/bzImage $fs/boot/vmlinuz-$VERSION-slitaz
   36.63 -    # Compress all modules.
   36.64 -    # Package module-init-tools is compiled with zlib support.
   36.65 -    #
   36.66 -    $WOK/linux/stuff/gztazmod.sh $_pkg/lib/modules/$VERSION-slitaz
   36.67 -    path=$fs/lib/modules/$VERSION-slitaz/kernel
   36.68 -    mkdir -p $path
   36.69 -    cp -a $_pkg/lib/modules/$VERSION-slitaz/mo* $fs/lib/modules/$VERSION-slitaz
   36.70 -    cp $WOK/linux/stuff/list_modules.sh $src
   36.71 -    export src
   36.72 -    export _pkg
   36.73 -    $src/list_modules.sh $(cat $WOK/linux/stuff/modules-$VERSION.list) > $src/modules.list
   36.74 -    while read module; do
   36.75 -    	dir=$(dirname $module)
   36.76 -    	[ -d $path/$dir ] || mkdir -p $path/$dir
   36.77 -        cp -a $_pkg/lib/modules/$VERSION-slitaz/kernel/$module $path/$dir
   36.78 -    done < $src/modules.list
   36.79 -    # Remove unresolved links
   36.80 -    rm -f $fs/lib/modules/$VERSION-slitaz/build
   36.81 -    rm -f $fs/lib/modules/$VERSION-slitaz/source
   36.82 -}
   36.83 -
   36.84 -# Pre and post install commands for Tazpkg.
   36.85 -# GRUB stuf.
   36.86 -post_install()
   36.87 -{
   36.88 -    echo "Processing post-install commands..."
   36.89 -    chroot "$1/" depmod -a $VERSION-slitaz
   36.90 -    if [ -f "$1/boot/grub/menu.lst" ]; then
   36.91 -    	root_dev=`cat $1/boot/grub/menu.lst | grep root= | sed 's/.*root=\([^ ]*\).*/\1/'`
   36.92 -		grub_dev=`cat $1/boot/grub/menu.lst | grep "root ("`
   36.93 -		# Add new kernel entry in case of upgrade for installed system.
   36.94 -    	cat >> $1/boot/grub/menu.lst << EOT
   36.95 -
   36.96 -title  SliTaz GNU/Linux (Kernel $VERSION-slitaz)
   36.97 -$grub_dev
   36.98 -       kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev
   36.99 -EOT
  36.100 -		# Display information message.
  36.101 -    	cat <<EOT
  36.102 -----
  36.103 -GRUB is installed, these tree lines has been added to the menu.lst:
  36.104 - 
  36.105 -title  SliTaz GNU/Linux (Kernel $VERSION-slitaz)
  36.106 -$grub_dev
  36.107 -       kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev
  36.108 -----
  36.109 -EOT
  36.110 -	fi
  36.111 -}
    37.1 --- a/linux-udf/receipt	Mon May 11 16:40:10 2009 +0200
    37.2 +++ b/linux-udf/receipt	Mon May 11 19:08:50 2009 +0200
    37.3 @@ -1,20 +1,21 @@
    37.4  # SliTaz package receipt.
    37.5  
    37.6  PACKAGE="linux-udf"
    37.7 -VERSION="2.6.25.5"
    37.8 +VERSION="2.6.29.3"
    37.9  CATEGORY="base-system"
   37.10  SHORT_DESC="The Linux kernel udf module."
   37.11  MAINTAINER="pascal.bellard@slitaz.org"
   37.12  DEPENDS="linux"
   37.13  WANTED="linux"
   37.14  WEB_SITE="http://www.kernel.org/"
   37.15 +CONFIG_FILES="/etc/filesystems"
   37.16  
   37.17  # Rules to gen a SliTaz package suitable for Tazpkg.
   37.18  genpkg_rules()
   37.19  {
   37.20      local path
   37.21      path=lib/modules/$VERSION-slitaz/kernel
   37.22 -    mkdir -p $fs/$path
   37.23 +    mkdir -p $fs/$path $fs/etc
   37.24      export src
   37.25      export _pkg
   37.26      $src/list_modules.sh fs/udf | while read module; do
   37.27 @@ -22,16 +23,20 @@
   37.28      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   37.29          cp -a $_pkg/$path/$module $fs/$dir
   37.30      done
   37.31 +    touch $fs/etc/filesystems
   37.32  }
   37.33  
   37.34  # Post install/remove commands for Tazpkg.
   37.35  post_install()
   37.36  {
   37.37 - 	chroot "$1/" depmod -a $VERSION-slitaz
   37.38 +	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
   37.39 +		echo "${PACKAGE#*-}" >> $1/etc/filesystems
   37.40 +	chroot "$1/" depmod -a $VERSION-slitaz
   37.41  }
   37.42  
   37.43  post_remove()
   37.44  {
   37.45 +	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
   37.46  	depmod -a $VERSION-slitaz
   37.47  }
   37.48  
    38.1 --- a/linux-usbdsl/receipt	Mon May 11 16:40:10 2009 +0200
    38.2 +++ b/linux-usbdsl/receipt	Mon May 11 19:08:50 2009 +0200
    38.3 @@ -1,7 +1,7 @@
    38.4  # SliTaz package receipt.
    38.5  
    38.6  PACKAGE="linux-usbdsl"
    38.7 -VERSION="2.6.25.5"
    38.8 +VERSION="2.6.29.3"
    38.9  CATEGORY="base-system"
   38.10  SHORT_DESC="The Linux kernel usb dsl modem modules."
   38.11  MAINTAINER="pascal.bellard@slitaz.org"
   38.12 @@ -31,7 +31,7 @@
   38.13  # Post install/remove commands for Tazpkg.
   38.14  post_install()
   38.15  {
   38.16 - 	chroot "$1/" depmod -a $VERSION-slitaz
   38.17 +	chroot "$1/" depmod -a $VERSION-slitaz
   38.18  }
   38.19  
   38.20  post_remove()
    39.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.2 +++ b/linux-usbip/receipt	Mon May 11 19:08:50 2009 +0200
    39.3 @@ -0,0 +1,41 @@
    39.4 +# SliTaz package receipt.
    39.5 +
    39.6 +PACKAGE="linux-usbip"
    39.7 +VERSION="2.6.29.3"
    39.8 +CATEGORY="base-system"
    39.9 +SHORT_DESC="The Linux kernel squashfs module."
   39.10 +MAINTAINER="pascal.bellard@slitaz.org"
   39.11 +DEPENDS="linux"
   39.12 +WANTED="linux"
   39.13 +WEB_SITE="http://www.kernel.org/"
   39.14 +PROVIDE="usbip-module"
   39.15 +
   39.16 +# Rules to gen a SliTaz package suitable for Tazpkg.
   39.17 +genpkg_rules()
   39.18 +{
   39.19 +    local path
   39.20 +    path=lib/modules/$VERSION-slitaz/kernel
   39.21 +    mkdir -p $fs/$path
   39.22 +    export src
   39.23 +    export _pkg
   39.24 +    $src/list_modules.sh drivers/staging/usbip | while read module; do
   39.25 +    	dir=$path/$(dirname $module)
   39.26 +    	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   39.27 +        cp -a $_pkg/$path/$module $fs/$dir
   39.28 +    done
   39.29 +}
   39.30 +
   39.31 +# Post install/remove commands for Tazpkg.
   39.32 +post_install()
   39.33 +{
   39.34 +	grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \
   39.35 +		echo "${PACKAGE#*-}" >> $1/etc/filesystems
   39.36 +	chroot "$1/" depmod -a $VERSION-slitaz
   39.37 +}
   39.38 +
   39.39 +post_remove()
   39.40 +{
   39.41 +	sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems
   39.42 +	depmod -a $VERSION-slitaz
   39.43 +}
   39.44 +
    40.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.2 +++ b/linux-uwb/receipt	Mon May 11 19:08:50 2009 +0200
    40.3 @@ -0,0 +1,41 @@
    40.4 +# SliTaz package receipt.
    40.5 +
    40.6 +PACKAGE="linux-uwb"
    40.7 +VERSION="2.6.29.3"
    40.8 +CATEGORY="base-system"
    40.9 +SHORT_DESC="The Linux kernel uwb modules."
   40.10 +MAINTAINER="pascal.bellard@slitaz.org"
   40.11 +DEPENDS="linux"
   40.12 +WANTED="linux"
   40.13 +WEB_SITE="http://www.kernel.org/"
   40.14 +
   40.15 +
   40.16 +# Rules to gen a SliTaz package suitable for Tazpkg.
   40.17 +genpkg_rules()
   40.18 +{
   40.19 +    local path
   40.20 +    path=lib/modules/$VERSION-slitaz/kernel
   40.21 +    mkdir -p $fs/$path
   40.22 +    
   40.23 +    export src
   40.24 +    export _pkg
   40.25 +    
   40.26 +    $src/list_modules.sh drivers/uwb drivers/usb/wusbcore \
   40.27 +    drivers/usb/host/whci | while read module; do
   40.28 +    	dir=$path/$(dirname $module)
   40.29 +    	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   40.30 +        cp -a $_pkg/$path/$module $fs/$dir
   40.31 +    done
   40.32 +}
   40.33 +
   40.34 +# Post install/remove commands for Tazpkg.
   40.35 +post_install()
   40.36 +{
   40.37 +	chroot "$1/" depmod -a $VERSION-slitaz
   40.38 +}
   40.39 +
   40.40 +post_remove()
   40.41 +{
   40.42 +	depmod -a $VERSION-slitaz
   40.43 +}
   40.44 +
    41.1 --- a/linux-video/receipt	Mon May 11 16:40:10 2009 +0200
    41.2 +++ b/linux-video/receipt	Mon May 11 19:08:50 2009 +0200
    41.3 @@ -1,7 +1,7 @@
    41.4  # SliTaz package receipt.
    41.5  
    41.6  PACKAGE="linux-video"
    41.7 -VERSION="2.6.25.5"
    41.8 +VERSION="2.6.29.3"
    41.9  CATEGORY="base-system"
   41.10  SHORT_DESC="The Linux kernel video modules."
   41.11  MAINTAINER="pascal.bellard@slitaz.org"
   41.12 @@ -17,7 +17,8 @@
   41.13      mkdir -p $fs/$path
   41.14      export src
   41.15      export _pkg
   41.16 -    $src/list_modules.sh drivers/media/video drivers/video | \
   41.17 +    $src/list_modules.sh drivers/media/video drivers/video \
   41.18 +	drivers/gpio/bt8xxgpio.ko.gz | \
   41.19      while read module; do
   41.20      	dir=$path/$(dirname $module)
   41.21      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   41.22 @@ -28,7 +29,7 @@
   41.23  # Post install/remove commands for Tazpkg.
   41.24  post_install()
   41.25  {
   41.26 - 	chroot "$1/" depmod -a $VERSION-slitaz
   41.27 +	chroot "$1/" depmod -a $VERSION-slitaz
   41.28  }
   41.29  
   41.30  post_remove()
    42.1 --- a/linux-wireless/receipt	Mon May 11 16:40:10 2009 +0200
    42.2 +++ b/linux-wireless/receipt	Mon May 11 19:08:50 2009 +0200
    42.3 @@ -1,11 +1,10 @@
    42.4  # SliTaz package receipt.
    42.5  
    42.6  PACKAGE="linux-wireless"
    42.7 -VERSION="2.6.25.5"
    42.8 +VERSION="2.6.29.3"
    42.9  CATEGORY="base-system"
   42.10  SHORT_DESC="The Linux kernel wireless modules."
   42.11  MAINTAINER="pascal.bellard@slitaz.org"
   42.12 -DEPENDS="linux"
   42.13  WANTED="linux"
   42.14  WEB_SITE="http://www.kernel.org/"
   42.15  DEPENDS="linux-crypto wireless_tools"
   42.16 @@ -21,8 +20,8 @@
   42.17      export src
   42.18      export _pkg
   42.19      
   42.20 -    $src/list_modules.sh drivers/net/wireless net/wireless net/ieee80211 | \
   42.21 -    while read module; do
   42.22 +    $src/list_modules.sh drivers/net/wireless drivers/staging/wlan-ng \
   42.23 +    net/wireless net/mac80211 | while read module; do
   42.24      	dir=$path/$(dirname $module)
   42.25      	[ -d $fs/$dir ] || mkdir -p $fs/$dir
   42.26          cp -a $_pkg/$path/$module $fs/$dir
   42.27 @@ -32,7 +31,7 @@
   42.28  # Post install/remove commands for Tazpkg.
   42.29  post_install()
   42.30  {
   42.31 - 	chroot "$1/" depmod -a $VERSION-slitaz
   42.32 +	chroot "$1/" depmod -a $VERSION-slitaz
   42.33  }
   42.34  
   42.35  post_remove()
    43.1 --- a/linux-wireless/stuff/modules-2.6.24.2.list	Mon May 11 16:40:10 2009 +0200
    43.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    43.3 @@ -1,25 +0,0 @@
    43.4 -crypto/arc4.ko.gz
    43.5 -crypto/ecb.ko.gz
    43.6 -crypto/aes_generic.ko.gz
    43.7 -crypto/michael_mic.ko.gz
    43.8 -drivers/misc/eeprom_93cx6.ko.gz
    43.9 -drivers/net/wireless/b43/b43.ko.gz
   43.10 -drivers/net/wireless/b43legacy/b43legacy.ko.gz
   43.11 -drivers/net/wireless/bcm43xx/bcm43xx.ko.gz
   43.12 -drivers/net/wireless/rt2x00/rt2500usb.ko.gz
   43.13 -drivers/net/wireless/rt2x00/rt2x00lib.ko.gz
   43.14 -drivers/net/wireless/rt2x00/rt2x00pci.ko.gz
   43.15 -drivers/net/wireless/rt2x00/rt2x00usb.ko.gz
   43.16 -drivers/net/wireless/rt2x00/rt2400pci.ko.gz
   43.17 -drivers/net/wireless/rt2x00/rt2500pci.ko.gz
   43.18 -drivers/net/wireless/zd1211rw/zd1211rw.ko.gz
   43.19 -drivers/net/wireless/ipw2100.ko.gz
   43.20 -drivers/net/wireless/ipw2200.ko.gz
   43.21 -net/ieee80211/ieee80211_crypt_ccmp.ko.gz
   43.22 -net/ieee80211/ieee80211_crypt_tkip.ko.gz
   43.23 -net/ieee80211/ieee80211_crypt_wep.ko.gz
   43.24 -net/ieee80211/softmac/ieee80211softmac.ko.gz
   43.25 -net/ieee80211/ieee80211.ko.gz
   43.26 -net/ieee80211/ieee80211_crypt.ko.gz
   43.27 -net/mac80211/mac80211.ko.gz
   43.28 -net/wireless/cfg80211.ko.gz
    44.1 --- a/linux/receipt	Mon May 11 16:40:10 2009 +0200
    44.2 +++ b/linux/receipt	Mon May 11 19:08:50 2009 +0200
    44.3 @@ -1,7 +1,7 @@
    44.4  # SliTaz package receipt.
    44.5  
    44.6  PACKAGE="linux"
    44.7 -VERSION="2.6.25.5"
    44.8 +VERSION="2.6.29.3"
    44.9  CATEGORY="base-system"
   44.10  SHORT_DESC="The Linux kernel and modules."
   44.11  DEPENDS="depmod"
   44.12 @@ -9,7 +9,7 @@
   44.13  MAINTAINER="pascal.bellard@slitaz.org"
   44.14  TARBALL="$PACKAGE-$VERSION.tar.bz2"
   44.15  WEB_SITE="http://www.kernel.org/"
   44.16 -WGET_URL="http://www.eu.kernel.org/pub/linux/kernel/v2.6/$TARBALL"
   44.17 +WGET_URL="http://www.eu.kernel.org/pub/linux/kernel/v${VERSION:0:3}/$TARBALL"
   44.18  CONFIG_FILES="/lib/modules/$VERSION-slitaz/modules.dep"
   44.19  
   44.20  # Rules to configure and make the package.
   44.21 @@ -36,7 +36,6 @@
   44.22  $PACKAGE-utf8-$VERSION.u
   44.23  $PACKAGE-diff-$VERSION.u
   44.24  $PACKAGE-rootdev.u
   44.25 -$PACKAGE-ioremap-$VERSION.u
   44.26  EOT
   44.27  	make mrproper	
   44.28  	cp ../stuff/$PACKAGE-$VERSION-slitaz.config .config
    45.1 --- a/linux/stuff/config-acpi-2.6.22.9.u	Mon May 11 16:40:10 2009 +0200
    45.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.3 @@ -1,131 +0,0 @@
    45.4 ---- linux-2.6.22.9/.config	Wed Feb 20 23:40:09 2008
    45.5 -+++ linux-2.6.22.9/.config	Wed Feb 20 23:45:30 2008
    45.6 -@@ -1,7 +1,7 @@
    45.7 - #
    45.8 - # Automatically generated make config: don't edit
    45.9 - # Linux kernel version: 2.6.22.9
   45.10 --# Sat Dec  1 11:06:26 2007
   45.11 -+# Wed Feb 20 23:45:08 2008
   45.12 - #
   45.13 - CONFIG_X86_32=y
   45.14 - CONFIG_GENERIC_TIME=y
   45.15 -@@ -213,6 +213,7 @@
   45.16 - # CONFIG_HIGHPTE is not set
   45.17 - CONFIG_MATH_EMULATION=y
   45.18 - CONFIG_MTRR=y
   45.19 -+# CONFIG_EFI is not set
   45.20 - CONFIG_IRQBALANCE=y
   45.21 - # CONFIG_SECCOMP is not set
   45.22 - # CONFIG_HZ_100 is not set
   45.23 -@@ -232,9 +233,36 @@
   45.24 - #
   45.25 - # Power management options (ACPI, APM)
   45.26 - #
   45.27 --# CONFIG_PM is not set
   45.28 -+CONFIG_PM=y
   45.29 -+# CONFIG_PM_LEGACY is not set
   45.30 -+# CONFIG_PM_DEBUG is not set
   45.31 -+# CONFIG_PM_SYSFS_DEPRECATED is not set
   45.32 - 
   45.33 - #
   45.34 -+# ACPI (Advanced Configuration and Power Interface) Support
   45.35 -+#
   45.36 -+CONFIG_ACPI=y
   45.37 -+CONFIG_ACPI_PROCFS=y
   45.38 -+CONFIG_ACPI_AC=m
   45.39 -+CONFIG_ACPI_BATTERY=m
   45.40 -+# CONFIG_ACPI_BUTTON is not set
   45.41 -+# CONFIG_ACPI_FAN is not set
   45.42 -+# CONFIG_ACPI_DOCK is not set
   45.43 -+CONFIG_ACPI_PROCESSOR=y
   45.44 -+CONFIG_ACPI_THERMAL=y
   45.45 -+# CONFIG_ACPI_ASUS is not set
   45.46 -+# CONFIG_ACPI_TOSHIBA is not set
   45.47 -+CONFIG_ACPI_BLACKLIST_YEAR=0
   45.48 -+# CONFIG_ACPI_DEBUG is not set
   45.49 -+CONFIG_ACPI_EC=y
   45.50 -+CONFIG_ACPI_POWER=y
   45.51 -+CONFIG_ACPI_SYSTEM=y
   45.52 -+CONFIG_X86_PM_TIMER=y
   45.53 -+# CONFIG_ACPI_CONTAINER is not set
   45.54 -+# CONFIG_ACPI_SBS is not set
   45.55 -+# CONFIG_APM is not set
   45.56 -+
   45.57 -+#
   45.58 - # CPU Frequency scaling
   45.59 - #
   45.60 - # CONFIG_CPU_FREQ is not set
   45.61 -@@ -249,6 +277,7 @@
   45.62 - CONFIG_PCI_GOANY=y
   45.63 - CONFIG_PCI_BIOS=y
   45.64 - CONFIG_PCI_DIRECT=y
   45.65 -+CONFIG_PCI_MMCONFIG=y
   45.66 - # CONFIG_PCIEPORTBUS is not set
   45.67 - CONFIG_ARCH_SUPPORTS_MSI=y
   45.68 - # CONFIG_PCI_MSI is not set
   45.69 -@@ -466,7 +495,7 @@
   45.70 - #
   45.71 - CONFIG_ISAPNP=y
   45.72 - # CONFIG_PNPBIOS is not set
   45.73 --# CONFIG_PNPACPI is not set
   45.74 -+CONFIG_PNPACPI=y
   45.75 - 
   45.76 - #
   45.77 - # Block devices
   45.78 -@@ -500,6 +529,8 @@
   45.79 - # CONFIG_PHANTOM is not set
   45.80 - # CONFIG_SGI_IOC4 is not set
   45.81 - # CONFIG_TIFM_CORE is not set
   45.82 -+# CONFIG_SONY_LAPTOP is not set
   45.83 -+# CONFIG_THINKPAD_ACPI is not set
   45.84 - CONFIG_IDE=y
   45.85 - CONFIG_BLK_DEV_IDE=y
   45.86 - 
   45.87 -@@ -516,6 +547,7 @@
   45.88 - # CONFIG_BLK_DEV_IDETAPE is not set
   45.89 - CONFIG_BLK_DEV_IDEFLOPPY=y
   45.90 - # CONFIG_BLK_DEV_IDESCSI is not set
   45.91 -+# CONFIG_BLK_DEV_IDEACPI is not set
   45.92 - # CONFIG_IDE_TASK_IOCTL is not set
   45.93 - CONFIG_IDE_PROC_FS=y
   45.94 - 
   45.95 -@@ -673,6 +705,7 @@
   45.96 - # CONFIG_PCMCIA_SYM53C500 is not set
   45.97 - CONFIG_ATA=y
   45.98 - # CONFIG_ATA_NONSTANDARD is not set
   45.99 -+CONFIG_ATA_ACPI=y
  45.100 - CONFIG_SATA_AHCI=y
  45.101 - # CONFIG_SATA_SVW is not set
  45.102 - CONFIG_ATA_PIIX=y
  45.103 -@@ -1011,6 +1044,7 @@
  45.104 - CONFIG_INPUT_MISC=y
  45.105 - CONFIG_INPUT_PCSPKR=y
  45.106 - # CONFIG_INPUT_WISTRON_BTNS is not set
  45.107 -+# CONFIG_INPUT_ATLAS_BTNS is not set
  45.108 - # CONFIG_INPUT_ATI_REMOTE is not set
  45.109 - # CONFIG_INPUT_ATI_REMOTE2 is not set
  45.110 - # CONFIG_INPUT_KEYSPAN_REMOTE is not set
  45.111 -@@ -1091,6 +1125,7 @@
  45.112 - # CONFIG_NSC_GPIO is not set
  45.113 - # CONFIG_CS5535_GPIO is not set
  45.114 - # CONFIG_RAW_DRIVER is not set
  45.115 -+# CONFIG_HPET is not set
  45.116 - # CONFIG_HANGCHECK_TIMER is not set
  45.117 - 
  45.118 - #
  45.119 -@@ -1410,6 +1445,7 @@
  45.120 - CONFIG_USB_DEVICEFS=y
  45.121 - CONFIG_USB_DEVICE_CLASS=y
  45.122 - # CONFIG_USB_DYNAMIC_MINORS is not set
  45.123 -+# CONFIG_USB_SUSPEND is not set
  45.124 - # CONFIG_USB_OTG is not set
  45.125 - 
  45.126 - #
  45.127 -@@ -1452,7 +1488,6 @@
  45.128 - # CONFIG_USB_STORAGE_SDDR55 is not set
  45.129 - # CONFIG_USB_STORAGE_JUMPSHOT is not set
  45.130 - # CONFIG_USB_STORAGE_ALAUDA is not set
  45.131 --# CONFIG_USB_STORAGE_ONETOUCH is not set
  45.132 - # CONFIG_USB_STORAGE_KARMA is not set
  45.133 - # CONFIG_USB_LIBUSUAL is not set
  45.134 - 
    46.1 --- a/linux/stuff/config-acpi-2.6.24.2.u	Mon May 11 16:40:10 2009 +0200
    46.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.3 @@ -1,151 +0,0 @@
    46.4 ---- linux-2.6.24.2/.config	Fri Feb 15 21:12:02 2008
    46.5 -+++ linux-2.6.24.2/.config	Fri Feb 15 21:11:24 2008
    46.6 -@@ -1,7 +1,7 @@
    46.7 - #
    46.8 - # Automatically generated make config: don't edit
    46.9 - # Linux kernel version: 2.6.24.2
   46.10 --# Thu Feb 14 15:28:29 2008
   46.11 -+# Fri Feb 15 20:07:05 2008
   46.12 - #
   46.13 - # CONFIG_64BIT is not set
   46.14 - CONFIG_X86_32=y
   46.15 -@@ -224,6 +224,7 @@
   46.16 - # CONFIG_HIGHPTE is not set
   46.17 - CONFIG_MATH_EMULATION=y
   46.18 - CONFIG_MTRR=y
   46.19 -+# CONFIG_EFI is not set
   46.20 - CONFIG_IRQBALANCE=y
   46.21 - # CONFIG_SECCOMP is not set
   46.22 - # CONFIG_HZ_100 is not set
   46.23 -@@ -243,9 +244,35 @@
   46.24 - #
   46.25 - # Power management options
   46.26 - #
   46.27 --# CONFIG_PM is not set
   46.28 -+CONFIG_PM=y
   46.29 -+# CONFIG_PM_LEGACY is not set
   46.30 -+# CONFIG_PM_DEBUG is not set
   46.31 - CONFIG_SUSPEND_SMP_POSSIBLE=y
   46.32 -+# CONFIG_SUSPEND is not set
   46.33 - CONFIG_HIBERNATION_SMP_POSSIBLE=y
   46.34 -+# CONFIG_HIBERNATION is not set
   46.35 -+CONFIG_ACPI=y
   46.36 -+# CONFIG_ACPI_PROCFS is not set
   46.37 -+CONFIG_ACPI_PROCFS_POWER=y
   46.38 -+CONFIG_ACPI_SYSFS_POWER=y
   46.39 -+CONFIG_ACPI_PROC_EVENT=y
   46.40 -+CONFIG_ACPI_AC=m
   46.41 -+CONFIG_ACPI_BATTERY=m
   46.42 -+# CONFIG_ACPI_BUTTON is not set
   46.43 -+# CONFIG_ACPI_FAN is not set
   46.44 -+# CONFIG_ACPI_DOCK is not set
   46.45 -+CONFIG_ACPI_PROCESSOR=y
   46.46 -+CONFIG_ACPI_THERMAL=y
   46.47 -+# CONFIG_ACPI_ASUS is not set
   46.48 -+# CONFIG_ACPI_TOSHIBA is not set
   46.49 -+CONFIG_ACPI_BLACKLIST_YEAR=0
   46.50 -+# CONFIG_ACPI_DEBUG is not set
   46.51 -+CONFIG_ACPI_EC=y
   46.52 -+CONFIG_ACPI_POWER=y
   46.53 -+CONFIG_ACPI_SYSTEM=y
   46.54 -+CONFIG_X86_PM_TIMER=y
   46.55 -+# CONFIG_ACPI_CONTAINER is not set
   46.56 -+# CONFIG_ACPI_SBS is not set
   46.57 - 
   46.58 - #
   46.59 - # CPU Frequency scaling
   46.60 -@@ -263,6 +290,7 @@
   46.61 - CONFIG_PCI_GOANY=y
   46.62 - CONFIG_PCI_BIOS=y
   46.63 - CONFIG_PCI_DIRECT=y
   46.64 -+CONFIG_PCI_MMCONFIG=y
   46.65 - CONFIG_PCI_DOMAINS=y
   46.66 - # CONFIG_PCIEPORTBUS is not set
   46.67 - CONFIG_ARCH_SUPPORTS_MSI=y
   46.68 -@@ -467,7 +495,7 @@
   46.69 - #
   46.70 - CONFIG_ISAPNP=y
   46.71 - # CONFIG_PNPBIOS is not set
   46.72 --# CONFIG_PNPACPI is not set
   46.73 -+CONFIG_PNPACPI=y
   46.74 - CONFIG_BLK_DEV=y
   46.75 - CONFIG_BLK_DEV_FD=y
   46.76 - # CONFIG_BLK_DEV_XD is not set
   46.77 -@@ -496,6 +524,8 @@
   46.78 - # CONFIG_EEPROM_93CX6 is not set
   46.79 - # CONFIG_SGI_IOC4 is not set
   46.80 - # CONFIG_TIFM_CORE is not set
   46.81 -+# CONFIG_SONY_LAPTOP is not set
   46.82 -+# CONFIG_THINKPAD_ACPI is not set
   46.83 - CONFIG_IDE=y
   46.84 - CONFIG_BLK_DEV_IDE=y
   46.85 - 
   46.86 -@@ -512,6 +542,7 @@
   46.87 - # CONFIG_BLK_DEV_IDETAPE is not set
   46.88 - CONFIG_BLK_DEV_IDEFLOPPY=y
   46.89 - # CONFIG_BLK_DEV_IDESCSI is not set
   46.90 -+# CONFIG_BLK_DEV_IDEACPI is not set
   46.91 - # CONFIG_IDE_TASK_IOCTL is not set
   46.92 - CONFIG_IDE_PROC_FS=y
   46.93 - 
   46.94 -@@ -675,6 +706,7 @@
   46.95 - # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
   46.96 - CONFIG_ATA=y
   46.97 - # CONFIG_ATA_NONSTANDARD is not set
   46.98 -+CONFIG_ATA_ACPI=y
   46.99 - CONFIG_SATA_AHCI=y
  46.100 - # CONFIG_SATA_SVW is not set
  46.101 - CONFIG_ATA_PIIX=y
  46.102 -@@ -691,6 +723,7 @@
  46.103 - CONFIG_SATA_VIA=y
  46.104 - # CONFIG_SATA_VITESSE is not set
  46.105 - # CONFIG_SATA_INIC162X is not set
  46.106 -+# CONFIG_PATA_ACPI is not set
  46.107 - # CONFIG_PATA_ALI is not set
  46.108 - # CONFIG_PATA_AMD is not set
  46.109 - # CONFIG_PATA_ARTOP is not set
  46.110 -@@ -987,6 +1020,7 @@
  46.111 - CONFIG_INPUT_MISC=y
  46.112 - CONFIG_INPUT_PCSPKR=y
  46.113 - # CONFIG_INPUT_WISTRON_BTNS is not set
  46.114 -+# CONFIG_INPUT_ATLAS_BTNS is not set
  46.115 - # CONFIG_INPUT_ATI_REMOTE is not set
  46.116 - # CONFIG_INPUT_ATI_REMOTE2 is not set
  46.117 - # CONFIG_INPUT_KEYSPAN_REMOTE is not set
  46.118 -@@ -1061,6 +1095,7 @@
  46.119 - # CONFIG_NSC_GPIO is not set
  46.120 - # CONFIG_CS5535_GPIO is not set
  46.121 - # CONFIG_RAW_DRIVER is not set
  46.122 -+# CONFIG_HPET is not set
  46.123 - # CONFIG_HANGCHECK_TIMER is not set
  46.124 - # CONFIG_TCG_TPM is not set
  46.125 - # CONFIG_TELCLOCK is not set
  46.126 -@@ -1073,7 +1108,10 @@
  46.127 - # CONFIG_SPI is not set
  46.128 - # CONFIG_SPI_MASTER is not set
  46.129 - # CONFIG_W1 is not set
  46.130 --# CONFIG_POWER_SUPPLY is not set
  46.131 -+CONFIG_POWER_SUPPLY=y
  46.132 -+# CONFIG_POWER_SUPPLY_DEBUG is not set
  46.133 -+# CONFIG_PDA_POWER is not set
  46.134 -+# CONFIG_BATTERY_DS2760 is not set
  46.135 - # CONFIG_HWMON is not set
  46.136 - # CONFIG_WATCHDOG is not set
  46.137 - 
  46.138 -@@ -1406,6 +1444,8 @@
  46.139 - CONFIG_USB_DEVICEFS=y
  46.140 - CONFIG_USB_DEVICE_CLASS=y
  46.141 - # CONFIG_USB_DYNAMIC_MINORS is not set
  46.142 -+# CONFIG_USB_SUSPEND is not set
  46.143 -+# CONFIG_USB_PERSIST is not set
  46.144 - # CONFIG_USB_OTG is not set
  46.145 - 
  46.146 - #
  46.147 -@@ -1449,7 +1489,6 @@
  46.148 - # CONFIG_USB_STORAGE_SDDR55 is not set
  46.149 - # CONFIG_USB_STORAGE_JUMPSHOT is not set
  46.150 - # CONFIG_USB_STORAGE_ALAUDA is not set
  46.151 --# CONFIG_USB_STORAGE_ONETOUCH is not set
  46.152 - # CONFIG_USB_STORAGE_KARMA is not set
  46.153 - # CONFIG_USB_LIBUSUAL is not set
  46.154 - 
    47.1 --- a/linux/stuff/config-ieee1394-2.6.24.2.u	Mon May 11 16:40:10 2009 +0200
    47.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    47.3 @@ -1,44 +0,0 @@
    47.4 ---- linux-2.6.24.2/.config	Fri Feb 29 23:03:54 2008
    47.5 -+++ linux-2.6.24.2/.config	Fri Feb 29 22:59:38 2008
    47.6 -@@ -1,7 +1,7 @@
    47.7 - #
    47.8 - # Automatically generated make config: don't edit
    47.9 - # Linux kernel version: 2.6.24.2
   47.10 --# Fri Feb 15 20:07:05 2008
   47.11 -+# Fri Feb 29 22:59:17 2008
   47.12 - #
   47.13 - # CONFIG_64BIT is not set
   47.14 - CONFIG_X86_32=y
   47.15 -@@ -775,7 +775,31 @@
   47.16 - # IEEE 1394 (FireWire) support
   47.17 - #
   47.18 - # CONFIG_FIREWIRE is not set
   47.19 --# CONFIG_IEEE1394 is not set
   47.20 -+CONFIG_IEEE1394=m
   47.21 -+
   47.22 -+#
   47.23 -+# Subsystem Options
   47.24 -+#
   47.25 -+# CONFIG_IEEE1394_VERBOSEDEBUG is not set
   47.26 -+
   47.27 -+#
   47.28 -+# Controllers
   47.29 -+#
   47.30 -+
   47.31 -+#
   47.32 -+# Texas Instruments PCILynx requires I2C
   47.33 -+#
   47.34 -+CONFIG_IEEE1394_OHCI1394=m
   47.35 -+
   47.36 -+#
   47.37 -+# Protocols
   47.38 -+#
   47.39 -+# CONFIG_IEEE1394_VIDEO1394 is not set
   47.40 -+# CONFIG_IEEE1394_SBP2 is not set
   47.41 -+# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set
   47.42 -+# CONFIG_IEEE1394_ETH1394 is not set
   47.43 -+# CONFIG_IEEE1394_DV1394 is not set
   47.44 -+CONFIG_IEEE1394_RAWIO=m
   47.45 - # CONFIG_I2O is not set
   47.46 - # CONFIG_MACINTOSH_DRIVERS is not set
   47.47 - CONFIG_NETDEVICES=y
    48.1 --- a/linux/stuff/config-reiserfs-2.6.24.2.u	Mon May 11 16:40:10 2009 +0200
    48.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.3 @@ -1,14 +0,0 @@
    48.4 ---- linux-2.6.24.2.ori/.config	Sat Mar 29 03:02:43 2008
    48.5 -+++ linux-2.6.24.2/.config	Sat Mar 29 03:04:29 2008
    48.6 -@@ -1597,7 +1597,10 @@
    48.7 - # CONFIG_EXT3_FS_XATTR is not set
    48.8 - # CONFIG_EXT4DEV_FS is not set
    48.9 - CONFIG_JBD=y
   48.10 --# CONFIG_REISERFS_FS is not set
   48.11 -+CONFIG_REISERFS_FS=m
   48.12 -+# CONFIG_REISERFS_CHECK is not set
   48.13 -+# CONFIG_REISERFS_PROC_INFO is not set
   48.14 -+# CONFIG_REISERFS_FS_XATTR is not set
   48.15 - # CONFIG_JFS_FS is not set
   48.16 - # CONFIG_FS_POSIX_ACL is not set
   48.17 - # CONFIG_XFS_FS is not set
    49.1 --- a/linux/stuff/config-tun-2.6.24.2.u	Mon May 11 16:40:10 2009 +0200
    49.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    49.3 @@ -1,11 +0,0 @@
    49.4 ---- linux-2.6.24.2/.config
    49.5 -+++ linux-2.6.24.2/.config
    49.6 -@@ -808,7 +808,7 @@
    49.7 - # CONFIG_BONDING is not set
    49.8 - # CONFIG_MACVLAN is not set
    49.9 - # CONFIG_EQUALIZER is not set
   49.10 --# CONFIG_TUN is not set
   49.11 -+CONFIG_TUN=y
   49.12 - # CONFIG_VETH is not set
   49.13 - # CONFIG_NET_SB1000 is not set
   49.14 - CONFIG_ARCNET=m
    50.1 --- a/linux/stuff/config-wireless-2.6.24.2.u	Mon May 11 16:40:10 2009 +0200
    50.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    50.3 @@ -1,144 +0,0 @@
    50.4 ---- linux-2.6.24.2/.config
    50.5 -+++ linux-2.6.24.2/.config
    50.6 -@@ -452,6 +452,7 @@
    50.7 - # CONFIG_ECONET is not set
    50.8 - # CONFIG_WAN_ROUTER is not set
    50.9 - # CONFIG_NET_SCHED is not set
   50.10 -+CONFIG_NET_SCH_FIFO=y
   50.11 - 
   50.12 - #
   50.13 - # Network testing
   50.14 -@@ -465,10 +466,19 @@
   50.15 - #
   50.16 - # Wireless
   50.17 - #
   50.18 --# CONFIG_CFG80211 is not set
   50.19 --# CONFIG_WIRELESS_EXT is not set
   50.20 --# CONFIG_MAC80211 is not set
   50.21 --# CONFIG_IEEE80211 is not set
   50.22 -+CONFIG_CFG80211=m
   50.23 -+CONFIG_NL80211=y
   50.24 -+CONFIG_WIRELESS_EXT=y
   50.25 -+CONFIG_MAC80211=m
   50.26 -+CONFIG_MAC80211_RCSIMPLE=y
   50.27 -+# CONFIG_MAC80211_DEBUG is not set
   50.28 -+CONFIG_IEEE80211=m
   50.29 -+# CONFIG_IEEE80211_DEBUG is not set
   50.30 -+CONFIG_IEEE80211_CRYPT_WEP=m
   50.31 -+CONFIG_IEEE80211_CRYPT_CCMP=m
   50.32 -+CONFIG_IEEE80211_CRYPT_TKIP=m
   50.33 -+CONFIG_IEEE80211_SOFTMAC=m
   50.34 -+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
   50.35 - # CONFIG_RFKILL is not set
   50.36 - # CONFIG_NET_9P is not set
   50.37 - 
   50.38 -@@ -521,7 +531,7 @@
   50.39 - CONFIG_MISC_DEVICES=y
   50.40 - # CONFIG_IBM_ASM is not set
   50.41 - # CONFIG_PHANTOM is not set
   50.42 --# CONFIG_EEPROM_93CX6 is not set
   50.43 -+CONFIG_EEPROM_93CX6=m
   50.44 - # CONFIG_SGI_IOC4 is not set
   50.45 - # CONFIG_TIFM_CORE is not set
   50.46 - # CONFIG_SONY_LAPTOP is not set
   50.47 -@@ -953,7 +963,69 @@
   50.48 - # Wireless LAN
   50.49 - #
   50.50 - # CONFIG_WLAN_PRE80211 is not set
   50.51 --# CONFIG_WLAN_80211 is not set
   50.52 -+CONFIG_WLAN_80211=y
   50.53 -+# CONFIG_PCMCIA_RAYCS is not set
   50.54 -+CONFIG_IPW2100=m
   50.55 -+CONFIG_IPW2100_MONITOR=y
   50.56 -+# CONFIG_IPW2100_DEBUG is not set
   50.57 -+CONFIG_IPW2200=m
   50.58 -+CONFIG_IPW2200_MONITOR=y
   50.59 -+CONFIG_IPW2200_RADIOTAP=y
   50.60 -+CONFIG_IPW2200_PROMISCUOUS=y
   50.61 -+CONFIG_IPW2200_QOS=y
   50.62 -+# CONFIG_IPW2200_DEBUG is not set
   50.63 -+# CONFIG_LIBERTAS is not set
   50.64 -+# CONFIG_AIRO is not set
   50.65 -+# CONFIG_HERMES is not set
   50.66 -+# CONFIG_ATMEL is not set
   50.67 -+# CONFIG_AIRO_CS is not set
   50.68 -+# CONFIG_PCMCIA_WL3501 is not set
   50.69 -+# CONFIG_PRISM54 is not set
   50.70 -+# CONFIG_USB_ZD1201 is not set
   50.71 -+# CONFIG_RTL8187 is not set
   50.72 -+# CONFIG_ADM8211 is not set
   50.73 -+# CONFIG_P54_COMMON is not set
   50.74 -+# CONFIG_IWLWIFI is not set
   50.75 -+# CONFIG_HOSTAP is not set
   50.76 -+CONFIG_BCM43XX=m
   50.77 -+# CONFIG_BCM43XX_DEBUG is not set
   50.78 -+CONFIG_BCM43XX_DMA=y
   50.79 -+CONFIG_BCM43XX_PIO=y
   50.80 -+CONFIG_BCM43XX_DMA_AND_PIO_MODE=y
   50.81 -+# CONFIG_BCM43XX_DMA_MODE is not set
   50.82 -+# CONFIG_BCM43XX_PIO_MODE is not set
   50.83 -+CONFIG_B43=m
   50.84 -+CONFIG_B43_PCI_AUTOSELECT=y
   50.85 -+CONFIG_B43_PCICORE_AUTOSELECT=y
   50.86 -+# CONFIG_B43_DEBUG is not set
   50.87 -+CONFIG_B43_DMA=y
   50.88 -+CONFIG_B43_PIO=y
   50.89 -+CONFIG_B43_DMA_AND_PIO_MODE=y
   50.90 -+# CONFIG_B43_DMA_MODE is not set
   50.91 -+# CONFIG_B43_PIO_MODE is not set
   50.92 -+CONFIG_B43LEGACY=m
   50.93 -+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
   50.94 -+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
   50.95 -+# CONFIG_B43LEGACY_DEBUG is not set
   50.96 -+CONFIG_B43LEGACY_DMA=y
   50.97 -+CONFIG_B43LEGACY_PIO=y
   50.98 -+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
   50.99 -+# CONFIG_B43LEGACY_DMA_MODE is not set
  50.100 -+# CONFIG_B43LEGACY_PIO_MODE is not set
  50.101 -+CONFIG_ZD1211RW=m
  50.102 -+# CONFIG_ZD1211RW_DEBUG is not set
  50.103 -+CONFIG_RT2X00=m
  50.104 -+CONFIG_RT2X00_LIB=m
  50.105 -+CONFIG_RT2X00_LIB_PCI=m
  50.106 -+CONFIG_RT2X00_LIB_USB=m
  50.107 -+CONFIG_RT2400PCI=m
  50.108 -+# CONFIG_RT2400PCI_RFKILL is not set
  50.109 -+CONFIG_RT2500PCI=m
  50.110 -+# CONFIG_RT2500PCI_RFKILL is not set
  50.111 -+# CONFIG_RT61PCI is not set
  50.112 -+CONFIG_RT2500USB=m
  50.113 -+# CONFIG_RT73USB is not set
  50.114 -+# CONFIG_RT2X00_DEBUG is not set
  50.115 - 
  50.116 - #
  50.117 - # USB Network Adapters
  50.118 -@@ -1791,7 +1863,7 @@
  50.119 - # CONFIG_CRYPTO_WP512 is not set
  50.120 - # CONFIG_CRYPTO_TGR192 is not set
  50.121 - # CONFIG_CRYPTO_GF128MUL is not set
  50.122 --# CONFIG_CRYPTO_ECB is not set
  50.123 -+CONFIG_CRYPTO_ECB=m
  50.124 - CONFIG_CRYPTO_CBC=y
  50.125 - CONFIG_CRYPTO_PCBC=m
  50.126 - # CONFIG_CRYPTO_LRW is not set
  50.127 -@@ -1803,17 +1875,17 @@
  50.128 - # CONFIG_CRYPTO_TWOFISH is not set
  50.129 - # CONFIG_CRYPTO_TWOFISH_586 is not set
  50.130 - # CONFIG_CRYPTO_SERPENT is not set
  50.131 --# CONFIG_CRYPTO_AES is not set
  50.132 -+CONFIG_CRYPTO_AES=m
  50.133 - # CONFIG_CRYPTO_AES_586 is not set
  50.134 - # CONFIG_CRYPTO_CAST5 is not set
  50.135 - # CONFIG_CRYPTO_CAST6 is not set
  50.136 - # CONFIG_CRYPTO_TEA is not set
  50.137 --# CONFIG_CRYPTO_ARC4 is not set
  50.138 -+CONFIG_CRYPTO_ARC4=m
  50.139 - # CONFIG_CRYPTO_KHAZAD is not set
  50.140 - # CONFIG_CRYPTO_ANUBIS is not set
  50.141 - # CONFIG_CRYPTO_SEED is not set
  50.142 - CONFIG_CRYPTO_DEFLATE=y
  50.143 --# CONFIG_CRYPTO_MICHAEL_MIC is not set
  50.144 -+CONFIG_CRYPTO_MICHAEL_MIC=m
  50.145 - # CONFIG_CRYPTO_CRC32C is not set
  50.146 - # CONFIG_CRYPTO_CAMELLIA is not set
  50.147 - # CONFIG_CRYPTO_TEST is not set
    51.1 --- a/linux/stuff/linux-2.6.22.9-slitaz.config	Mon May 11 16:40:10 2009 +0200
    51.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    51.3 @@ -1,1828 +0,0 @@
    51.4 -#
    51.5 -# Automatically generated make config: don't edit
    51.6 -# Linux kernel version: 2.6.22.9
    51.7 -# Sat Dec  1 11:06:26 2007
    51.8 -#
    51.9 -CONFIG_X86_32=y
   51.10 -CONFIG_GENERIC_TIME=y
   51.11 -CONFIG_CLOCKSOURCE_WATCHDOG=y
   51.12 -CONFIG_GENERIC_CLOCKEVENTS=y
   51.13 -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
   51.14 -CONFIG_LOCKDEP_SUPPORT=y
   51.15 -CONFIG_STACKTRACE_SUPPORT=y
   51.16 -CONFIG_SEMAPHORE_SLEEPERS=y
   51.17 -CONFIG_X86=y
   51.18 -CONFIG_MMU=y
   51.19 -CONFIG_ZONE_DMA=y
   51.20 -CONFIG_QUICKLIST=y
   51.21 -CONFIG_GENERIC_ISA_DMA=y
   51.22 -CONFIG_GENERIC_IOMAP=y
   51.23 -CONFIG_GENERIC_BUG=y
   51.24 -CONFIG_GENERIC_HWEIGHT=y
   51.25 -CONFIG_ARCH_MAY_HAVE_PC_FDC=y
   51.26 -CONFIG_DMI=y
   51.27 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
   51.28 -
   51.29 -#
   51.30 -# Code maturity level options
   51.31 -#
   51.32 -CONFIG_EXPERIMENTAL=y
   51.33 -CONFIG_LOCK_KERNEL=y
   51.34 -CONFIG_INIT_ENV_ARG_LIMIT=32
   51.35 -
   51.36 -#
   51.37 -# General setup
   51.38 -#
   51.39 -CONFIG_LOCALVERSION="-slitaz"
   51.40 -# CONFIG_LOCALVERSION_AUTO is not set
   51.41 -# CONFIG_KERNEL_GZIP is not set
   51.42 -# CONFIG_KERNEL_BZIP2 is not set
   51.43 -CONFIG_KERNEL_LZMA=y
   51.44 -CONFIG_SWAP=y
   51.45 -CONFIG_SYSVIPC=y
   51.46 -# CONFIG_IPC_NS is not set
   51.47 -CONFIG_SYSVIPC_SYSCTL=y
   51.48 -CONFIG_POSIX_MQUEUE=y
   51.49 -CONFIG_BSD_PROCESS_ACCT=y
   51.50 -# CONFIG_BSD_PROCESS_ACCT_V3 is not set
   51.51 -# CONFIG_TASKSTATS is not set
   51.52 -# CONFIG_UTS_NS is not set
   51.53 -# CONFIG_AUDIT is not set
   51.54 -CONFIG_IKCONFIG=y
   51.55 -CONFIG_IKCONFIG_PROC=y
   51.56 -CONFIG_LOG_BUF_SHIFT=14
   51.57 -# CONFIG_CPUSETS is not set
   51.58 -# CONFIG_SYSFS_DEPRECATED is not set
   51.59 -# CONFIG_RELAY is not set
   51.60 -CONFIG_BLK_DEV_INITRD=y
   51.61 -CONFIG_INITRAMFS_SOURCE=""
   51.62 -CONFIG_CC_OPTIMIZE_FOR_SIZE=y
   51.63 -CONFIG_SYSCTL=y
   51.64 -# CONFIG_EMBEDDED is not set
   51.65 -CONFIG_UID16=y
   51.66 -CONFIG_SYSCTL_SYSCALL=y
   51.67 -CONFIG_KALLSYMS=y
   51.68 -# CONFIG_KALLSYMS_EXTRA_PASS is not set
   51.69 -CONFIG_HOTPLUG=y
   51.70 -CONFIG_PRINTK=y
   51.71 -CONFIG_BUG=y
   51.72 -CONFIG_ELF_CORE=y
   51.73 -CONFIG_BASE_FULL=y
   51.74 -CONFIG_FUTEX=y
   51.75 -CONFIG_ANON_INODES=y
   51.76 -CONFIG_EPOLL=y
   51.77 -CONFIG_SIGNALFD=y
   51.78 -CONFIG_EVENTFD=y
   51.79 -CONFIG_SHMEM=y
   51.80 -CONFIG_VM_EVENT_COUNTERS=y
   51.81 -CONFIG_SLAB=y
   51.82 -# CONFIG_SLUB is not set
   51.83 -# CONFIG_SLOB is not set
   51.84 -CONFIG_RT_MUTEXES=y
   51.85 -# CONFIG_TINY_SHMEM is not set
   51.86 -CONFIG_BASE_SMALL=0
   51.87 -
   51.88 -#
   51.89 -# Loadable module support
   51.90 -#
   51.91 -CONFIG_MODULES=y
   51.92 -CONFIG_MODULE_UNLOAD=y
   51.93 -# CONFIG_MODULE_FORCE_UNLOAD is not set
   51.94 -# CONFIG_MODVERSIONS is not set
   51.95 -# CONFIG_MODULE_SRCVERSION_ALL is not set
   51.96 -CONFIG_KMOD=y
   51.97 -CONFIG_STOP_MACHINE=y
   51.98 -
   51.99 -#
  51.100 -# Block layer
  51.101 -#
  51.102 -CONFIG_BLOCK=y
  51.103 -# CONFIG_LBD is not set
  51.104 -# CONFIG_BLK_DEV_IO_TRACE is not set
  51.105 -# CONFIG_LSF is not set
  51.106 -
  51.107 -#
  51.108 -# IO Schedulers
  51.109 -#
  51.110 -CONFIG_IOSCHED_NOOP=y
  51.111 -# CONFIG_IOSCHED_AS is not set
  51.112 -CONFIG_IOSCHED_DEADLINE=y
  51.113 -# CONFIG_IOSCHED_CFQ is not set
  51.114 -# CONFIG_DEFAULT_AS is not set
  51.115 -CONFIG_DEFAULT_DEADLINE=y
  51.116 -# CONFIG_DEFAULT_CFQ is not set
  51.117 -# CONFIG_DEFAULT_NOOP is not set
  51.118 -CONFIG_DEFAULT_IOSCHED="deadline"
  51.119 -
  51.120 -#
  51.121 -# Processor type and features
  51.122 -#
  51.123 -# CONFIG_TICK_ONESHOT is not set
  51.124 -# CONFIG_NO_HZ is not set
  51.125 -# CONFIG_HIGH_RES_TIMERS is not set
  51.126 -CONFIG_SMP=y
  51.127 -CONFIG_X86_PC=y
  51.128 -# CONFIG_X86_ELAN is not set
  51.129 -# CONFIG_X86_VOYAGER is not set
  51.130 -# CONFIG_X86_NUMAQ is not set
  51.131 -# CONFIG_X86_SUMMIT is not set
  51.132 -# CONFIG_X86_BIGSMP is not set
  51.133 -# CONFIG_X86_VISWS is not set
  51.134 -# CONFIG_X86_GENERICARCH is not set
  51.135 -# CONFIG_X86_ES7000 is not set
  51.136 -# CONFIG_PARAVIRT is not set
  51.137 -CONFIG_M386=y
  51.138 -# CONFIG_M486 is not set
  51.139 -# CONFIG_M586 is not set
  51.140 -# CONFIG_M586TSC is not set
  51.141 -# CONFIG_M586MMX is not set
  51.142 -# CONFIG_M686 is not set
  51.143 -# CONFIG_MPENTIUMII is not set
  51.144 -# CONFIG_MPENTIUMIII is not set
  51.145 -# CONFIG_MPENTIUMM is not set
  51.146 -# CONFIG_MCORE2 is not set
  51.147 -# CONFIG_MPENTIUM4 is not set
  51.148 -# CONFIG_MK6 is not set
  51.149 -# CONFIG_MK7 is not set
  51.150 -# CONFIG_MK8 is not set
  51.151 -# CONFIG_MCRUSOE is not set
  51.152 -# CONFIG_MEFFICEON is not set
  51.153 -# CONFIG_MWINCHIPC6 is not set
  51.154 -# CONFIG_MWINCHIP2 is not set
  51.155 -# CONFIG_MWINCHIP3D is not set
  51.156 -# CONFIG_MGEODEGX1 is not set
  51.157 -# CONFIG_MGEODE_LX is not set
  51.158 -# CONFIG_MCYRIXIII is not set
  51.159 -# CONFIG_MVIAC3_2 is not set
  51.160 -# CONFIG_MVIAC7 is not set
  51.161 -CONFIG_X86_GENERIC=y
  51.162 -CONFIG_X86_L1_CACHE_SHIFT=7
  51.163 -CONFIG_RWSEM_GENERIC_SPINLOCK=y
  51.164 -# CONFIG_ARCH_HAS_ILOG2_U32 is not set
  51.165 -# CONFIG_ARCH_HAS_ILOG2_U64 is not set
  51.166 -CONFIG_GENERIC_CALIBRATE_DELAY=y
  51.167 -CONFIG_X86_PPRO_FENCE=y
  51.168 -CONFIG_X86_F00F_BUG=y
  51.169 -CONFIG_X86_INTEL_USERCOPY=y
  51.170 -CONFIG_X86_MINIMUM_CPU_MODEL=0
  51.171 -# CONFIG_HPET_TIMER is not set
  51.172 -CONFIG_NR_CPUS=8
  51.173 -# CONFIG_SCHED_SMT is not set
  51.174 -CONFIG_SCHED_MC=y
  51.175 -CONFIG_PREEMPT_NONE=y
  51.176 -# CONFIG_PREEMPT_VOLUNTARY is not set
  51.177 -# CONFIG_PREEMPT is not set
  51.178 -CONFIG_PREEMPT_BKL=y
  51.179 -CONFIG_X86_LOCAL_APIC=y
  51.180 -CONFIG_X86_IO_APIC=y
  51.181 -# CONFIG_X86_MCE is not set
  51.182 -CONFIG_VM86=y
  51.183 -# CONFIG_TOSHIBA is not set
  51.184 -# CONFIG_I8K is not set
  51.185 -# CONFIG_X86_REBOOTFIXUPS is not set
  51.186 -# CONFIG_MICROCODE is not set
  51.187 -# CONFIG_X86_MSR is not set
  51.188 -# CONFIG_X86_CPUID is not set
  51.189 -
  51.190 -#
  51.191 -# Firmware Drivers
  51.192 -#
  51.193 -# CONFIG_EDD is not set
  51.194 -# CONFIG_DELL_RBU is not set
  51.195 -# CONFIG_DCDBAS is not set
  51.196 -# CONFIG_NOHIGHMEM is not set
  51.197 -CONFIG_HIGHMEM4G=y
  51.198 -# CONFIG_HIGHMEM64G is not set
  51.199 -CONFIG_PAGE_OFFSET=0xC0000000
  51.200 -CONFIG_HIGHMEM=y
  51.201 -CONFIG_ARCH_FLATMEM_ENABLE=y
  51.202 -CONFIG_ARCH_SPARSEMEM_ENABLE=y
  51.203 -CONFIG_ARCH_SELECT_MEMORY_MODEL=y
  51.204 -CONFIG_ARCH_POPULATES_NODE_MAP=y
  51.205 -CONFIG_SELECT_MEMORY_MODEL=y
  51.206 -CONFIG_FLATMEM_MANUAL=y
  51.207 -# CONFIG_DISCONTIGMEM_MANUAL is not set
  51.208 -# CONFIG_SPARSEMEM_MANUAL is not set
  51.209 -CONFIG_FLATMEM=y
  51.210 -CONFIG_FLAT_NODE_MEM_MAP=y
  51.211 -CONFIG_SPARSEMEM_STATIC=y
  51.212 -CONFIG_SPLIT_PTLOCK_CPUS=4
  51.213 -# CONFIG_RESOURCES_64BIT is not set
  51.214 -CONFIG_ZONE_DMA_FLAG=1
  51.215 -CONFIG_NR_QUICK=1
  51.216 -# CONFIG_HIGHPTE is not set
  51.217 -CONFIG_MATH_EMULATION=y
  51.218 -CONFIG_MTRR=y
  51.219 -CONFIG_IRQBALANCE=y
  51.220 -# CONFIG_SECCOMP is not set
  51.221 -# CONFIG_HZ_100 is not set
  51.222 -# CONFIG_HZ_250 is not set
  51.223 -CONFIG_HZ_300=y
  51.224 -# CONFIG_HZ_1000 is not set
  51.225 -CONFIG_HZ=300
  51.226 -# CONFIG_KEXEC is not set
  51.227 -# CONFIG_CRASH_DUMP is not set
  51.228 -CONFIG_PHYSICAL_START=0x100000
  51.229 -# CONFIG_RELOCATABLE is not set
  51.230 -CONFIG_PHYSICAL_ALIGN=0x100000
  51.231 -# CONFIG_HOTPLUG_CPU is not set
  51.232 -CONFIG_COMPAT_VDSO=y
  51.233 -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
  51.234 -
  51.235 -#
  51.236 -# Power management options (ACPI, APM)
  51.237 -#
  51.238 -# CONFIG_PM is not set
  51.239 -
  51.240 -#
  51.241 -# CPU Frequency scaling
  51.242 -#
  51.243 -# CONFIG_CPU_FREQ is not set
  51.244 -
  51.245 -#
  51.246 -# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
  51.247 -#
  51.248 -CONFIG_PCI=y
  51.249 -# CONFIG_PCI_GOBIOS is not set
  51.250 -# CONFIG_PCI_GOMMCONFIG is not set
  51.251 -# CONFIG_PCI_GODIRECT is not set
  51.252 -CONFIG_PCI_GOANY=y
  51.253 -CONFIG_PCI_BIOS=y
  51.254 -CONFIG_PCI_DIRECT=y
  51.255 -# CONFIG_PCIEPORTBUS is not set
  51.256 -CONFIG_ARCH_SUPPORTS_MSI=y
  51.257 -# CONFIG_PCI_MSI is not set
  51.258 -CONFIG_HT_IRQ=y
  51.259 -CONFIG_ISA_DMA_API=y
  51.260 -CONFIG_ISA=y
  51.261 -# CONFIG_EISA is not set
  51.262 -# CONFIG_MCA is not set
  51.263 -# CONFIG_SCx200 is not set
  51.264 -
  51.265 -#
  51.266 -# PCCARD (PCMCIA/CardBus) support
  51.267 -#
  51.268 -CONFIG_PCCARD=m
  51.269 -# CONFIG_PCMCIA_DEBUG is not set
  51.270 -CONFIG_PCMCIA=m
  51.271 -CONFIG_PCMCIA_LOAD_CIS=y
  51.272 -CONFIG_PCMCIA_IOCTL=y
  51.273 -CONFIG_CARDBUS=y
  51.274 -
  51.275 -#
  51.276 -# PC-card bridges
  51.277 -#
  51.278 -CONFIG_YENTA=m
  51.279 -CONFIG_YENTA_O2=y
  51.280 -CONFIG_YENTA_RICOH=y
  51.281 -CONFIG_YENTA_TI=y
  51.282 -CONFIG_YENTA_ENE_TUNE=y
  51.283 -CONFIG_YENTA_TOSHIBA=y
  51.284 -CONFIG_PD6729=m
  51.285 -CONFIG_I82092=m
  51.286 -CONFIG_I82365=m
  51.287 -# CONFIG_TCIC is not set
  51.288 -CONFIG_PCMCIA_PROBE=y
  51.289 -CONFIG_PCCARD_NONSTATIC=m
  51.290 -# CONFIG_HOTPLUG_PCI is not set
  51.291 -
  51.292 -#
  51.293 -# Executable file formats
  51.294 -#
  51.295 -CONFIG_BINFMT_ELF=y
  51.296 -# CONFIG_BINFMT_AOUT is not set
  51.297 -# CONFIG_BINFMT_MISC is not set
  51.298 -
  51.299 -#
  51.300 -# Networking
  51.301 -#
  51.302 -CONFIG_NET=y
  51.303 -
  51.304 -#
  51.305 -# Networking options
  51.306 -#
  51.307 -CONFIG_PACKET=y
  51.308 -# CONFIG_PACKET_MMAP is not set
  51.309 -CONFIG_UNIX=y
  51.310 -CONFIG_XFRM=y
  51.311 -# CONFIG_XFRM_USER is not set
  51.312 -# CONFIG_XFRM_SUB_POLICY is not set
  51.313 -# CONFIG_XFRM_MIGRATE is not set
  51.314 -CONFIG_NET_KEY=y
  51.315 -# CONFIG_NET_KEY_MIGRATE is not set
  51.316 -CONFIG_INET=y
  51.317 -# CONFIG_IP_MULTICAST is not set
  51.318 -# CONFIG_IP_ADVANCED_ROUTER is not set
  51.319 -CONFIG_IP_FIB_HASH=y
  51.320 -# CONFIG_IP_PNP is not set
  51.321 -# CONFIG_NET_IPIP is not set
  51.322 -# CONFIG_NET_IPGRE is not set
  51.323 -# CONFIG_ARPD is not set
  51.324 -CONFIG_SYN_COOKIES=y
  51.325 -CONFIG_INET_AH=y
  51.326 -CONFIG_INET_ESP=y
  51.327 -CONFIG_INET_IPCOMP=y
  51.328 -CONFIG_INET_XFRM_TUNNEL=y
  51.329 -CONFIG_INET_TUNNEL=y
  51.330 -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
  51.331 -# CONFIG_INET_XFRM_MODE_TUNNEL is not set
  51.332 -# CONFIG_INET_XFRM_MODE_BEET is not set
  51.333 -CONFIG_INET_DIAG=y
  51.334 -CONFIG_INET_TCP_DIAG=y
  51.335 -# CONFIG_TCP_CONG_ADVANCED is not set
  51.336 -CONFIG_TCP_CONG_CUBIC=y
  51.337 -CONFIG_DEFAULT_TCP_CONG="cubic"
  51.338 -# CONFIG_TCP_MD5SIG is not set
  51.339 -# CONFIG_IP_VS is not set
  51.340 -# CONFIG_IPV6 is not set
  51.341 -# CONFIG_INET6_XFRM_TUNNEL is not set
  51.342 -# CONFIG_INET6_TUNNEL is not set
  51.343 -# CONFIG_NETWORK_SECMARK is not set
  51.344 -CONFIG_NETFILTER=y
  51.345 -# CONFIG_NETFILTER_DEBUG is not set
  51.346 -
  51.347 -#
  51.348 -# Core Netfilter Configuration
  51.349 -#
  51.350 -CONFIG_NETFILTER_NETLINK=y
  51.351 -# CONFIG_NETFILTER_NETLINK_QUEUE is not set
  51.352 -CONFIG_NETFILTER_NETLINK_LOG=m
  51.353 -# CONFIG_NF_CONNTRACK_ENABLED is not set
  51.354 -# CONFIG_NF_CONNTRACK is not set
  51.355 -CONFIG_NETFILTER_XTABLES=y
  51.356 -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
  51.357 -# CONFIG_NETFILTER_XT_TARGET_MARK is not set
  51.358 -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
  51.359 -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
  51.360 -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
  51.361 -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
  51.362 -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
  51.363 -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
  51.364 -# CONFIG_NETFILTER_XT_MATCH_ESP is not set
  51.365 -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
  51.366 -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
  51.367 -# CONFIG_NETFILTER_XT_MATCH_MAC is not set
  51.368 -# CONFIG_NETFILTER_XT_MATCH_MARK is not set
  51.369 -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
  51.370 -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
  51.371 -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
  51.372 -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
  51.373 -# CONFIG_NETFILTER_XT_MATCH_REALM is not set
  51.374 -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
  51.375 -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
  51.376 -# CONFIG_NETFILTER_XT_MATCH_STRING is not set
  51.377 -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
  51.378 -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
  51.379 -
  51.380 -#
  51.381 -# IP: Netfilter Configuration
  51.382 -#
  51.383 -# CONFIG_IP_NF_QUEUE is not set
  51.384 -CONFIG_IP_NF_IPTABLES=y
  51.385 -# CONFIG_IP_NF_MATCH_IPRANGE is not set
  51.386 -# CONFIG_IP_NF_MATCH_TOS is not set
  51.387 -# CONFIG_IP_NF_MATCH_RECENT is not set
  51.388 -# CONFIG_IP_NF_MATCH_ECN is not set
  51.389 -# CONFIG_IP_NF_MATCH_AH is not set
  51.390 -# CONFIG_IP_NF_MATCH_TTL is not set
  51.391 -# CONFIG_IP_NF_MATCH_OWNER is not set
  51.392 -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
  51.393 -CONFIG_IP_NF_FILTER=y
  51.394 -CONFIG_IP_NF_TARGET_REJECT=m
  51.395 -# CONFIG_IP_NF_TARGET_LOG is not set
  51.396 -# CONFIG_IP_NF_TARGET_ULOG is not set
  51.397 -# CONFIG_IP_NF_MANGLE is not set
  51.398 -# CONFIG_IP_NF_RAW is not set
  51.399 -# CONFIG_IP_NF_ARPTABLES is not set
  51.400 -# CONFIG_IP_DCCP is not set
  51.401 -# CONFIG_IP_SCTP is not set
  51.402 -# CONFIG_TIPC is not set
  51.403 -# CONFIG_ATM is not set
  51.404 -# CONFIG_BRIDGE is not set
  51.405 -# CONFIG_VLAN_8021Q is not set
  51.406 -# CONFIG_DECNET is not set
  51.407 -# CONFIG_LLC2 is not set
  51.408 -# CONFIG_IPX is not set
  51.409 -# CONFIG_ATALK is not set
  51.410 -# CONFIG_X25 is not set
  51.411 -# CONFIG_LAPB is not set
  51.412 -# CONFIG_ECONET is not set
  51.413 -# CONFIG_WAN_ROUTER is not set
  51.414 -
  51.415 -#
  51.416 -# QoS and/or fair queueing
  51.417 -#
  51.418 -# CONFIG_NET_SCHED is not set
  51.419 -
  51.420 -#
  51.421 -# Network testing
  51.422 -#
  51.423 -# CONFIG_NET_PKTGEN is not set
  51.424 -# CONFIG_HAMRADIO is not set
  51.425 -# CONFIG_IRDA is not set
  51.426 -# CONFIG_BT is not set
  51.427 -# CONFIG_AF_RXRPC is not set
  51.428 -
  51.429 -#
  51.430 -# Wireless
  51.431 -#
  51.432 -# CONFIG_CFG80211 is not set
  51.433 -# CONFIG_WIRELESS_EXT is not set
  51.434 -# CONFIG_MAC80211 is not set
  51.435 -# CONFIG_IEEE80211 is not set
  51.436 -# CONFIG_RFKILL is not set
  51.437 -
  51.438 -#
  51.439 -# Device Drivers
  51.440 -#
  51.441 -
  51.442 -#
  51.443 -# Generic Driver Options
  51.444 -#
  51.445 -CONFIG_STANDALONE=y
  51.446 -CONFIG_PREVENT_FIRMWARE_BUILD=y
  51.447 -CONFIG_FW_LOADER=m
  51.448 -# CONFIG_SYS_HYPERVISOR is not set
  51.449 -
  51.450 -#
  51.451 -# Connector - unified userspace <-> kernelspace linker
  51.452 -#
  51.453 -# CONFIG_CONNECTOR is not set
  51.454 -# CONFIG_MTD is not set
  51.455 -
  51.456 -#
  51.457 -# Parallel port support
  51.458 -#
  51.459 -# CONFIG_PARPORT is not set
  51.460 -
  51.461 -#
  51.462 -# Plug and Play support
  51.463 -#
  51.464 -CONFIG_PNP=y
  51.465 -# CONFIG_PNP_DEBUG is not set
  51.466 -
  51.467 -#
  51.468 -# Protocols
  51.469 -#
  51.470 -CONFIG_ISAPNP=y
  51.471 -# CONFIG_PNPBIOS is not set
  51.472 -# CONFIG_PNPACPI is not set
  51.473 -
  51.474 -#
  51.475 -# Block devices
  51.476 -#
  51.477 -CONFIG_BLK_DEV_FD=y
  51.478 -# CONFIG_BLK_DEV_XD is not set
  51.479 -# CONFIG_BLK_CPQ_DA is not set
  51.480 -# CONFIG_BLK_CPQ_CISS_DA is not set
  51.481 -# CONFIG_BLK_DEV_DAC960 is not set
  51.482 -# CONFIG_BLK_DEV_UMEM is not set
  51.483 -# CONFIG_BLK_DEV_COW_COMMON is not set
  51.484 -CONFIG_BLK_DEV_LOOP=y
  51.485 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set
  51.486 -# CONFIG_BLK_DEV_NBD is not set
  51.487 -# CONFIG_BLK_DEV_SX8 is not set
  51.488 -# CONFIG_BLK_DEV_UB is not set
  51.489 -CONFIG_BLK_DEV_RAM=y
  51.490 -CONFIG_BLK_DEV_RAM_COUNT=16
  51.491 -CONFIG_BLK_DEV_RAM_SIZE=4096
  51.492 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
  51.493 -# CONFIG_RD_BZIP2 is not set
  51.494 -CONFIG_RD_LZMA=y
  51.495 -CONFIG_RD_GZIP=y
  51.496 -# CONFIG_CDROM_PKTCDVD is not set
  51.497 -# CONFIG_ATA_OVER_ETH is not set
  51.498 -
  51.499 -#
  51.500 -# Misc devices
  51.501 -#
  51.502 -# CONFIG_IBM_ASM is not set
  51.503 -# CONFIG_PHANTOM is not set
  51.504 -# CONFIG_SGI_IOC4 is not set
  51.505 -# CONFIG_TIFM_CORE is not set
  51.506 -CONFIG_IDE=y
  51.507 -CONFIG_BLK_DEV_IDE=y
  51.508 -
  51.509 -#
  51.510 -# Please see Documentation/ide.txt for help/info on IDE drives
  51.511 -#
  51.512 -# CONFIG_BLK_DEV_IDE_SATA is not set
  51.513 -# CONFIG_BLK_DEV_HD_IDE is not set
  51.514 -CONFIG_BLK_DEV_IDEDISK=y
  51.515 -CONFIG_IDEDISK_MULTI_MODE=y
  51.516 -# CONFIG_BLK_DEV_IDECS is not set
  51.517 -# CONFIG_BLK_DEV_DELKIN is not set
  51.518 -CONFIG_BLK_DEV_IDECD=y
  51.519 -# CONFIG_BLK_DEV_IDETAPE is not set
  51.520 -CONFIG_BLK_DEV_IDEFLOPPY=y
  51.521 -# CONFIG_BLK_DEV_IDESCSI is not set
  51.522 -# CONFIG_IDE_TASK_IOCTL is not set
  51.523 -CONFIG_IDE_PROC_FS=y
  51.524 -
  51.525 -#
  51.526 -# IDE chipset support/bugfixes
  51.527 -#
  51.528 -CONFIG_IDE_GENERIC=y
  51.529 -CONFIG_BLK_DEV_CMD640=y
  51.530 -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
  51.531 -# CONFIG_BLK_DEV_IDEPNP is not set
  51.532 -CONFIG_BLK_DEV_IDEPCI=y
  51.533 -CONFIG_IDEPCI_SHARE_IRQ=y
  51.534 -CONFIG_IDEPCI_PCIBUS_ORDER=y
  51.535 -# CONFIG_BLK_DEV_OFFBOARD is not set
  51.536 -CONFIG_BLK_DEV_GENERIC=y
  51.537 -# CONFIG_BLK_DEV_OPTI621 is not set
  51.538 -CONFIG_BLK_DEV_RZ1000=y
  51.539 -CONFIG_BLK_DEV_IDEDMA_PCI=y
  51.540 -# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
  51.541 -# CONFIG_IDEDMA_ONLYDISK is not set
  51.542 -CONFIG_BLK_DEV_AEC62XX=y
  51.543 -CONFIG_BLK_DEV_ALI15X3=y
  51.544 -# CONFIG_WDC_ALI15X3 is not set
  51.545 -CONFIG_BLK_DEV_AMD74XX=y
  51.546 -CONFIG_BLK_DEV_ATIIXP=y
  51.547 -CONFIG_BLK_DEV_CMD64X=y
  51.548 -CONFIG_BLK_DEV_TRIFLEX=y
  51.549 -CONFIG_BLK_DEV_CY82C693=y
  51.550 -# CONFIG_BLK_DEV_CS5520 is not set
  51.551 -CONFIG_BLK_DEV_CS5530=y
  51.552 -CONFIG_BLK_DEV_CS5535=y
  51.553 -# CONFIG_BLK_DEV_HPT34X is not set
  51.554 -# CONFIG_BLK_DEV_HPT366 is not set
  51.555 -CONFIG_BLK_DEV_JMICRON=y
  51.556 -# CONFIG_BLK_DEV_SC1200 is not set
  51.557 -CONFIG_BLK_DEV_PIIX=y
  51.558 -CONFIG_BLK_DEV_IT8213=y
  51.559 -CONFIG_BLK_DEV_IT821X=y
  51.560 -CONFIG_BLK_DEV_NS87415=y
  51.561 -# CONFIG_BLK_DEV_PDC202XX_OLD is not set
  51.562 -CONFIG_BLK_DEV_PDC202XX_NEW=y
  51.563 -CONFIG_BLK_DEV_SVWKS=y
  51.564 -CONFIG_BLK_DEV_SIIMAGE=y
  51.565 -CONFIG_BLK_DEV_SIS5513=y
  51.566 -CONFIG_BLK_DEV_SLC90E66=y
  51.567 -CONFIG_BLK_DEV_TRM290=y
  51.568 -CONFIG_BLK_DEV_VIA82CXXX=y
  51.569 -# CONFIG_BLK_DEV_TC86C001 is not set
  51.570 -# CONFIG_IDE_ARM is not set
  51.571 -# CONFIG_IDE_CHIPSETS is not set
  51.572 -CONFIG_BLK_DEV_IDEDMA=y
  51.573 -# CONFIG_IDEDMA_IVB is not set
  51.574 -# CONFIG_BLK_DEV_HD is not set
  51.575 -
  51.576 -#
  51.577 -# SCSI device support
  51.578 -#
  51.579 -# CONFIG_RAID_ATTRS is not set
  51.580 -CONFIG_SCSI=y
  51.581 -# CONFIG_SCSI_TGT is not set
  51.582 -# CONFIG_SCSI_NETLINK is not set
  51.583 -CONFIG_SCSI_PROC_FS=y
  51.584 -
  51.585 -#
  51.586 -# SCSI support type (disk, tape, CD-ROM)
  51.587 -#
  51.588 -CONFIG_BLK_DEV_SD=y
  51.589 -# CONFIG_CHR_DEV_ST is not set
  51.590 -# CONFIG_CHR_DEV_OSST is not set
  51.591 -# CONFIG_BLK_DEV_SR is not set
  51.592 -# CONFIG_CHR_DEV_SG is not set
  51.593 -# CONFIG_CHR_DEV_SCH is not set
  51.594 -
  51.595 -#
  51.596 -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
  51.597 -#
  51.598 -# CONFIG_SCSI_MULTI_LUN is not set
  51.599 -# CONFIG_SCSI_CONSTANTS is not set
  51.600 -# CONFIG_SCSI_LOGGING is not set
  51.601 -# CONFIG_SCSI_SCAN_ASYNC is not set
  51.602 -CONFIG_SCSI_WAIT_SCAN=m
  51.603 -
  51.604 -#
  51.605 -# SCSI Transports
  51.606 -#
  51.607 -# CONFIG_SCSI_SPI_ATTRS is not set
  51.608 -# CONFIG_SCSI_FC_ATTRS is not set
  51.609 -# CONFIG_SCSI_ISCSI_ATTRS is not set
  51.610 -# CONFIG_SCSI_SAS_ATTRS is not set
  51.611 -# CONFIG_SCSI_SAS_LIBSAS is not set
  51.612 -
  51.613 -#
  51.614 -# SCSI low-level drivers
  51.615 -#
  51.616 -# CONFIG_ISCSI_TCP is not set
  51.617 -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
  51.618 -# CONFIG_SCSI_3W_9XXX is not set
  51.619 -# CONFIG_SCSI_7000FASST is not set
  51.620 -# CONFIG_SCSI_ACARD is not set
  51.621 -# CONFIG_SCSI_AHA152X is not set
  51.622 -# CONFIG_SCSI_AHA1542 is not set
  51.623 -# CONFIG_SCSI_AACRAID is not set
  51.624 -# CONFIG_SCSI_AIC7XXX is not set
  51.625 -# CONFIG_SCSI_AIC7XXX_OLD is not set
  51.626 -# CONFIG_SCSI_AIC79XX is not set
  51.627 -# CONFIG_SCSI_AIC94XX is not set
  51.628 -# CONFIG_SCSI_DPT_I2O is not set
  51.629 -# CONFIG_SCSI_ADVANSYS is not set
  51.630 -# CONFIG_SCSI_IN2000 is not set
  51.631 -# CONFIG_SCSI_ARCMSR is not set
  51.632 -# CONFIG_MEGARAID_NEWGEN is not set
  51.633 -# CONFIG_MEGARAID_LEGACY is not set
  51.634 -# CONFIG_MEGARAID_SAS is not set
  51.635 -# CONFIG_SCSI_HPTIOP is not set
  51.636 -# CONFIG_SCSI_BUSLOGIC is not set
  51.637 -# CONFIG_SCSI_DMX3191D is not set
  51.638 -# CONFIG_SCSI_DTC3280 is not set
  51.639 -# CONFIG_SCSI_EATA is not set
  51.640 -# CONFIG_SCSI_FUTURE_DOMAIN is not set
  51.641 -# CONFIG_SCSI_GDTH is not set
  51.642 -# CONFIG_SCSI_GENERIC_NCR5380 is not set
  51.643 -# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
  51.644 -# CONFIG_SCSI_IPS is not set
  51.645 -# CONFIG_SCSI_INITIO is not set
  51.646 -# CONFIG_SCSI_INIA100 is not set
  51.647 -# CONFIG_SCSI_NCR53C406A is not set
  51.648 -# CONFIG_SCSI_STEX is not set
  51.649 -# CONFIG_SCSI_SYM53C8XX_2 is not set
  51.650 -# CONFIG_SCSI_IPR is not set
  51.651 -# CONFIG_SCSI_PAS16 is not set
  51.652 -# CONFIG_SCSI_PSI240I is not set
  51.653 -# CONFIG_SCSI_QLOGIC_FAS is not set
  51.654 -# CONFIG_SCSI_QLOGIC_1280 is not set
  51.655 -# CONFIG_SCSI_QLA_FC is not set
  51.656 -# CONFIG_SCSI_QLA_ISCSI is not set
  51.657 -# CONFIG_SCSI_LPFC is not set
  51.658 -# CONFIG_SCSI_SEAGATE is not set
  51.659 -# CONFIG_SCSI_SYM53C416 is not set
  51.660 -# CONFIG_SCSI_DC395x is not set
  51.661 -# CONFIG_SCSI_DC390T is not set
  51.662 -# CONFIG_SCSI_T128 is not set
  51.663 -# CONFIG_SCSI_U14_34F is not set
  51.664 -# CONFIG_SCSI_ULTRASTOR is not set
  51.665 -# CONFIG_SCSI_NSP32 is not set
  51.666 -# CONFIG_SCSI_DEBUG is not set
  51.667 -# CONFIG_SCSI_SRP is not set
  51.668 -
  51.669 -#
  51.670 -# PCMCIA SCSI adapter support
  51.671 -#
  51.672 -# CONFIG_PCMCIA_AHA152X is not set
  51.673 -# CONFIG_PCMCIA_FDOMAIN is not set
  51.674 -# CONFIG_PCMCIA_NINJA_SCSI is not set
  51.675 -# CONFIG_PCMCIA_QLOGIC is not set
  51.676 -# CONFIG_PCMCIA_SYM53C500 is not set
  51.677 -CONFIG_ATA=y
  51.678 -# CONFIG_ATA_NONSTANDARD is not set
  51.679 -CONFIG_SATA_AHCI=y
  51.680 -# CONFIG_SATA_SVW is not set
  51.681 -CONFIG_ATA_PIIX=y
  51.682 -# CONFIG_SATA_MV is not set
  51.683 -CONFIG_SATA_NV=y
  51.684 -# CONFIG_PDC_ADMA is not set
  51.685 -# CONFIG_SATA_QSTOR is not set
  51.686 -# CONFIG_SATA_PROMISE is not set
  51.687 -# CONFIG_SATA_SX4 is not set
  51.688 -# CONFIG_SATA_SIL is not set
  51.689 -# CONFIG_SATA_SIL24 is not set
  51.690 -CONFIG_SATA_SIS=y
  51.691 -# CONFIG_SATA_ULI is not set
  51.692 -CONFIG_SATA_VIA=y
  51.693 -# CONFIG_SATA_VITESSE is not set
  51.694 -# CONFIG_SATA_INIC162X is not set
  51.695 -# CONFIG_PATA_ALI is not set
  51.696 -# CONFIG_PATA_AMD is not set
  51.697 -# CONFIG_PATA_ARTOP is not set
  51.698 -# CONFIG_PATA_ATIIXP is not set
  51.699 -# CONFIG_PATA_CMD640_PCI is not set
  51.700 -# CONFIG_PATA_CMD64X is not set
  51.701 -# CONFIG_PATA_CS5520 is not set
  51.702 -# CONFIG_PATA_CS5530 is not set
  51.703 -# CONFIG_PATA_CS5535 is not set
  51.704 -# CONFIG_PATA_CYPRESS is not set
  51.705 -# CONFIG_PATA_EFAR is not set
  51.706 -# CONFIG_ATA_GENERIC is not set
  51.707 -# CONFIG_PATA_HPT366 is not set
  51.708 -# CONFIG_PATA_HPT37X is not set
  51.709 -# CONFIG_PATA_HPT3X2N is not set
  51.710 -# CONFIG_PATA_HPT3X3 is not set
  51.711 -# CONFIG_PATA_ISAPNP is not set
  51.712 -# CONFIG_PATA_IT821X is not set
  51.713 -# CONFIG_PATA_IT8213 is not set
  51.714 -# CONFIG_PATA_JMICRON is not set
  51.715 -# CONFIG_PATA_LEGACY is not set
  51.716 -# CONFIG_PATA_TRIFLEX is not set
  51.717 -# CONFIG_PATA_MARVELL is not set
  51.718 -# CONFIG_PATA_MPIIX is not set
  51.719 -# CONFIG_PATA_OLDPIIX is not set
  51.720 -# CONFIG_PATA_NETCELL is not set
  51.721 -# CONFIG_PATA_NS87410 is not set
  51.722 -# CONFIG_PATA_OPTI is not set
  51.723 -# CONFIG_PATA_OPTIDMA is not set
  51.724 -# CONFIG_PATA_PCMCIA is not set
  51.725 -# CONFIG_PATA_PDC_OLD is not set
  51.726 -# CONFIG_PATA_QDI is not set
  51.727 -# CONFIG_PATA_RADISYS is not set
  51.728 -# CONFIG_PATA_RZ1000 is not set
  51.729 -# CONFIG_PATA_SC1200 is not set
  51.730 -# CONFIG_PATA_SERVERWORKS is not set
  51.731 -# CONFIG_PATA_PDC2027X is not set
  51.732 -# CONFIG_PATA_SIL680 is not set
  51.733 -CONFIG_PATA_SIS=y
  51.734 -# CONFIG_PATA_VIA is not set
  51.735 -# CONFIG_PATA_WINBOND is not set
  51.736 -# CONFIG_PATA_WINBOND_VLB is not set
  51.737 -
  51.738 -#
  51.739 -# Old CD-ROM drivers (not SCSI, not IDE)
  51.740 -#
  51.741 -# CONFIG_CD_NO_IDESCSI is not set
  51.742 -
  51.743 -#
  51.744 -# Multi-device support (RAID and LVM)
  51.745 -#
  51.746 -# CONFIG_MD is not set
  51.747 -
  51.748 -#
  51.749 -# Fusion MPT device support
  51.750 -#
  51.751 -# CONFIG_FUSION is not set
  51.752 -# CONFIG_FUSION_SPI is not set
  51.753 -# CONFIG_FUSION_FC is not set
  51.754 -# CONFIG_FUSION_SAS is not set
  51.755 -
  51.756 -#
  51.757 -# IEEE 1394 (FireWire) support
  51.758 -#
  51.759 -# CONFIG_FIREWIRE is not set
  51.760 -# CONFIG_IEEE1394 is not set
  51.761 -
  51.762 -#
  51.763 -# I2O device support
  51.764 -#
  51.765 -# CONFIG_I2O is not set
  51.766 -# CONFIG_MACINTOSH_DRIVERS is not set
  51.767 -
  51.768 -#
  51.769 -# Network device support
  51.770 -#
  51.771 -CONFIG_NETDEVICES=y
  51.772 -CONFIG_DUMMY=y
  51.773 -# CONFIG_BONDING is not set
  51.774 -# CONFIG_EQUALIZER is not set
  51.775 -# CONFIG_TUN is not set
  51.776 -# CONFIG_NET_SB1000 is not set
  51.777 -CONFIG_ARCNET=m
  51.778 -CONFIG_ARCNET_1201=m
  51.779 -# CONFIG_ARCNET_1051 is not set
  51.780 -# CONFIG_ARCNET_RAW is not set
  51.781 -# CONFIG_ARCNET_CAP is not set
  51.782 -CONFIG_ARCNET_COM90xx=m
  51.783 -# CONFIG_ARCNET_COM90xxIO is not set
  51.784 -# CONFIG_ARCNET_RIM_I is not set
  51.785 -# CONFIG_ARCNET_COM20020 is not set
  51.786 -CONFIG_PHYLIB=m
  51.787 -
  51.788 -#
  51.789 -# MII PHY device drivers
  51.790 -#
  51.791 -CONFIG_MARVELL_PHY=m
  51.792 -CONFIG_DAVICOM_PHY=m
  51.793 -CONFIG_QSEMI_PHY=m
  51.794 -CONFIG_LXT_PHY=m
  51.795 -CONFIG_CICADA_PHY=m
  51.796 -# CONFIG_VITESSE_PHY is not set
  51.797 -# CONFIG_SMSC_PHY is not set
  51.798 -CONFIG_BROADCOM_PHY=m
  51.799 -# CONFIG_FIXED_PHY is not set
  51.800 -
  51.801 -#
  51.802 -# Ethernet (10 or 100Mbit)
  51.803 -#
  51.804 -CONFIG_NET_ETHERNET=y
  51.805 -CONFIG_MII=y
  51.806 -CONFIG_HAPPYMEAL=m
  51.807 -CONFIG_SUNGEM=m
  51.808 -CONFIG_CASSINI=m
  51.809 -CONFIG_NET_VENDOR_3COM=y
  51.810 -CONFIG_EL1=m
  51.811 -CONFIG_EL2=m
  51.812 -CONFIG_ELPLUS=m
  51.813 -# CONFIG_EL16 is not set
  51.814 -CONFIG_EL3=m
  51.815 -CONFIG_3C515=m
  51.816 -CONFIG_VORTEX=m
  51.817 -CONFIG_TYPHOON=m
  51.818 -CONFIG_LANCE=m
  51.819 -CONFIG_NET_VENDOR_SMC=y
  51.820 -CONFIG_WD80x3=m
  51.821 -CONFIG_ULTRA=m
  51.822 -CONFIG_SMC9194=m
  51.823 -CONFIG_NET_VENDOR_RACAL=y
  51.824 -CONFIG_NI52=m
  51.825 -CONFIG_NI65=m
  51.826 -
  51.827 -#
  51.828 -# Tulip family network device support
  51.829 -#
  51.830 -CONFIG_NET_TULIP=y
  51.831 -# CONFIG_DE2104X is not set
  51.832 -CONFIG_TULIP=m
  51.833 -# CONFIG_TULIP_MWI is not set
  51.834 -# CONFIG_TULIP_MMIO is not set
  51.835 -# CONFIG_TULIP_NAPI is not set
  51.836 -CONFIG_DE4X5=y
  51.837 -CONFIG_WINBOND_840=y
  51.838 -CONFIG_DM9102=y
  51.839 -CONFIG_ULI526X=m
  51.840 -CONFIG_PCMCIA_XIRCOM=y
  51.841 -# CONFIG_AT1700 is not set
  51.842 -CONFIG_DEPCA=m
  51.843 -CONFIG_HP100=m
  51.844 -CONFIG_NET_ISA=y
  51.845 -CONFIG_E2100=m
  51.846 -CONFIG_EWRK3=m
  51.847 -CONFIG_EEXPRESS=m
  51.848 -CONFIG_EEXPRESS_PRO=m
  51.849 -CONFIG_HPLAN_PLUS=m
  51.850 -CONFIG_HPLAN=m
  51.851 -CONFIG_LP486E=m
  51.852 -CONFIG_ETH16I=m
  51.853 -CONFIG_NE2000=m
  51.854 -# CONFIG_ZNET is not set
  51.855 -# CONFIG_SEEQ8005 is not set
  51.856 -CONFIG_NET_PCI=y
  51.857 -CONFIG_PCNET32=y
  51.858 -# CONFIG_PCNET32_NAPI is not set
  51.859 -CONFIG_AMD8111_ETH=m
  51.860 -# CONFIG_AMD8111E_NAPI is not set
  51.861 -CONFIG_ADAPTEC_STARFIRE=m
  51.862 -# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
  51.863 -# CONFIG_AC3200 is not set
  51.864 -CONFIG_APRICOT=m
  51.865 -CONFIG_B44=y
  51.866 -CONFIG_FORCEDETH=y
  51.867 -# CONFIG_FORCEDETH_NAPI is not set
  51.868 -CONFIG_CS89x0=m
  51.869 -CONFIG_DGRS=y
  51.870 -CONFIG_EEPRO100=y
  51.871 -CONFIG_E100=y
  51.872 -CONFIG_FEALNX=m
  51.873 -CONFIG_NATSEMI=y
  51.874 -CONFIG_NE2K_PCI=y
  51.875 -# CONFIG_8139CP is not set
  51.876 -CONFIG_8139TOO=y
  51.877 -# CONFIG_8139TOO_PIO is not set
  51.878 -CONFIG_8139TOO_TUNE_TWISTER=y
  51.879 -CONFIG_8139TOO_8129=y
  51.880 -# CONFIG_8139_OLD_RX_RESET is not set
  51.881 -CONFIG_SIS900=y
  51.882 -CONFIG_EPIC100=y
  51.883 -CONFIG_SUNDANCE=y
  51.884 -# CONFIG_SUNDANCE_MMIO is not set
  51.885 -CONFIG_TLAN=y
  51.886 -CONFIG_VIA_RHINE=y
  51.887 -CONFIG_VIA_RHINE_MMIO=y
  51.888 -# CONFIG_VIA_RHINE_NAPI is not set
  51.889 -# CONFIG_SC92031 is not set
  51.890 -CONFIG_NETDEV_1000=y
  51.891 -# CONFIG_ACENIC is not set
  51.892 -CONFIG_DL2K=m
  51.893 -CONFIG_E1000=m
  51.894 -# CONFIG_E1000_NAPI is not set
  51.895 -# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
  51.896 -# CONFIG_NS83820 is not set
  51.897 -# CONFIG_HAMACHI is not set
  51.898 -# CONFIG_YELLOWFIN is not set
  51.899 -CONFIG_R8169=y
  51.900 -# CONFIG_R8169_NAPI is not set
  51.901 -CONFIG_SIS190=m
  51.902 -# CONFIG_SKGE is not set
  51.903 -# CONFIG_SKY2 is not set
  51.904 -# CONFIG_SK98LIN is not set
  51.905 -CONFIG_VIA_VELOCITY=m
  51.906 -CONFIG_TIGON3=m
  51.907 -CONFIG_BNX2=m
  51.908 -# CONFIG_QLA3XXX is not set
  51.909 -# CONFIG_ATL1 is not set
  51.910 -# CONFIG_NETDEV_10000 is not set
  51.911 -# CONFIG_TR is not set
  51.912 -
  51.913 -#
  51.914 -# Wireless LAN
  51.915 -#
  51.916 -# CONFIG_WLAN_PRE80211 is not set
  51.917 -# CONFIG_WLAN_80211 is not set
  51.918 -
  51.919 -#
  51.920 -# USB Network Adapters
  51.921 -#
  51.922 -# CONFIG_USB_CATC is not set
  51.923 -# CONFIG_USB_KAWETH is not set
  51.924 -# CONFIG_USB_PEGASUS is not set
  51.925 -# CONFIG_USB_RTL8150 is not set
  51.926 -# CONFIG_USB_USBNET_MII is not set
  51.927 -# CONFIG_USB_USBNET is not set
  51.928 -CONFIG_NET_PCMCIA=y
  51.929 -CONFIG_PCMCIA_3C589=m
  51.930 -CONFIG_PCMCIA_3C574=m
  51.931 -CONFIG_PCMCIA_FMVJ18X=m
  51.932 -CONFIG_PCMCIA_PCNET=m
  51.933 -CONFIG_PCMCIA_NMCLAN=m
  51.934 -CONFIG_PCMCIA_SMC91C92=m
  51.935 -CONFIG_PCMCIA_XIRC2PS=m
  51.936 -CONFIG_PCMCIA_AXNET=m
  51.937 -# CONFIG_WAN is not set
  51.938 -# CONFIG_FDDI is not set
  51.939 -# CONFIG_HIPPI is not set
  51.940 -CONFIG_PPP=y
  51.941 -# CONFIG_PPP_MULTILINK is not set
  51.942 -# CONFIG_PPP_FILTER is not set
  51.943 -CONFIG_PPP_ASYNC=y
  51.944 -# CONFIG_PPP_SYNC_TTY is not set
  51.945 -# CONFIG_PPP_DEFLATE is not set
  51.946 -# CONFIG_PPP_BSDCOMP is not set
  51.947 -# CONFIG_PPP_MPPE is not set
  51.948 -CONFIG_PPPOE=y
  51.949 -# CONFIG_SLIP is not set
  51.950 -CONFIG_SLHC=y
  51.951 -# CONFIG_NET_FC is not set
  51.952 -# CONFIG_SHAPER is not set
  51.953 -# CONFIG_NETCONSOLE is not set
  51.954 -# CONFIG_NETPOLL is not set
  51.955 -# CONFIG_NET_POLL_CONTROLLER is not set
  51.956 -
  51.957 -#
  51.958 -# ISDN subsystem
  51.959 -#
  51.960 -# CONFIG_ISDN is not set
  51.961 -
  51.962 -#
  51.963 -# Telephony Support
  51.964 -#
  51.965 -# CONFIG_PHONE is not set
  51.966 -
  51.967 -#
  51.968 -# Input device support
  51.969 -#
  51.970 -CONFIG_INPUT=y
  51.971 -# CONFIG_INPUT_FF_MEMLESS is not set
  51.972 -# CONFIG_INPUT_POLLDEV is not set
  51.973 -
  51.974 -#
  51.975 -# Userland interfaces
  51.976 -#
  51.977 -CONFIG_INPUT_MOUSEDEV=y
  51.978 -CONFIG_INPUT_MOUSEDEV_PSAUX=y
  51.979 -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
  51.980 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
  51.981 -# CONFIG_INPUT_JOYDEV is not set
  51.982 -# CONFIG_INPUT_TSDEV is not set
  51.983 -CONFIG_INPUT_EVDEV=y
  51.984 -# CONFIG_INPUT_EVBUG is not set
  51.985 -
  51.986 -#
  51.987 -# Input Device Drivers
  51.988 -#
  51.989 -CONFIG_INPUT_KEYBOARD=y
  51.990 -CONFIG_KEYBOARD_ATKBD=y
  51.991 -# CONFIG_KEYBOARD_SUNKBD is not set
  51.992 -# CONFIG_KEYBOARD_LKKBD is not set
  51.993 -# CONFIG_KEYBOARD_XTKBD is not set
  51.994 -# CONFIG_KEYBOARD_NEWTON is not set
  51.995 -# CONFIG_KEYBOARD_STOWAWAY is not set
  51.996 -CONFIG_INPUT_MOUSE=y
  51.997 -CONFIG_MOUSE_PS2=y
  51.998 -CONFIG_MOUSE_PS2_ALPS=y
  51.999 -CONFIG_MOUSE_PS2_LOGIPS2PP=y
 51.1000 -CONFIG_MOUSE_PS2_SYNAPTICS=y
 51.1001 -CONFIG_MOUSE_PS2_LIFEBOOK=y
 51.1002 -CONFIG_MOUSE_PS2_TRACKPOINT=y
 51.1003 -# CONFIG_MOUSE_PS2_TOUCHKIT is not set
 51.1004 -CONFIG_MOUSE_SERIAL=y
 51.1005 -# CONFIG_MOUSE_APPLETOUCH is not set
 51.1006 -CONFIG_MOUSE_INPORT=m
 51.1007 -# CONFIG_MOUSE_ATIXL is not set
 51.1008 -CONFIG_MOUSE_LOGIBM=m
 51.1009 -CONFIG_MOUSE_PC110PAD=m
 51.1010 -# CONFIG_MOUSE_VSXXXAA is not set
 51.1011 -# CONFIG_INPUT_JOYSTICK is not set
 51.1012 -# CONFIG_INPUT_TABLET is not set
 51.1013 -# CONFIG_INPUT_TOUCHSCREEN is not set
 51.1014 -CONFIG_INPUT_MISC=y
 51.1015 -CONFIG_INPUT_PCSPKR=y
 51.1016 -# CONFIG_INPUT_WISTRON_BTNS is not set
 51.1017 -# CONFIG_INPUT_ATI_REMOTE is not set
 51.1018 -# CONFIG_INPUT_ATI_REMOTE2 is not set
 51.1019 -# CONFIG_INPUT_KEYSPAN_REMOTE is not set
 51.1020 -# CONFIG_INPUT_POWERMATE is not set
 51.1021 -# CONFIG_INPUT_YEALINK is not set
 51.1022 -# CONFIG_INPUT_UINPUT is not set
 51.1023 -
 51.1024 -#
 51.1025 -# Hardware I/O ports
 51.1026 -#
 51.1027 -CONFIG_SERIO=y
 51.1028 -CONFIG_SERIO_I8042=y
 51.1029 -CONFIG_SERIO_SERPORT=y
 51.1030 -# CONFIG_SERIO_CT82C710 is not set
 51.1031 -CONFIG_SERIO_PCIPS2=y
 51.1032 -CONFIG_SERIO_LIBPS2=y
 51.1033 -CONFIG_SERIO_RAW=y
 51.1034 -# CONFIG_GAMEPORT is not set
 51.1035 -
 51.1036 -#
 51.1037 -# Character devices
 51.1038 -#
 51.1039 -CONFIG_VT=y
 51.1040 -CONFIG_VT_CONSOLE=y
 51.1041 -CONFIG_HW_CONSOLE=y
 51.1042 -# CONFIG_VT_HW_CONSOLE_BINDING is not set
 51.1043 -# CONFIG_SERIAL_NONSTANDARD is not set
 51.1044 -
 51.1045 -#
 51.1046 -# Serial drivers
 51.1047 -#
 51.1048 -CONFIG_SERIAL_8250=y
 51.1049 -# CONFIG_SERIAL_8250_CONSOLE is not set
 51.1050 -CONFIG_SERIAL_8250_PCI=y
 51.1051 -CONFIG_SERIAL_8250_PNP=y
 51.1052 -# CONFIG_SERIAL_8250_CS is not set
 51.1053 -CONFIG_SERIAL_8250_NR_UARTS=4
 51.1054 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4
 51.1055 -# CONFIG_SERIAL_8250_EXTENDED is not set
 51.1056 -
 51.1057 -#
 51.1058 -# Non-8250 serial port support
 51.1059 -#
 51.1060 -CONFIG_SERIAL_CORE=y
 51.1061 -# CONFIG_SERIAL_JSM is not set
 51.1062 -CONFIG_UNIX98_PTYS=y
 51.1063 -# CONFIG_LEGACY_PTYS is not set
 51.1064 -
 51.1065 -#
 51.1066 -# IPMI
 51.1067 -#
 51.1068 -# CONFIG_IPMI_HANDLER is not set
 51.1069 -# CONFIG_WATCHDOG is not set
 51.1070 -CONFIG_HW_RANDOM=y
 51.1071 -CONFIG_HW_RANDOM_INTEL=y
 51.1072 -CONFIG_HW_RANDOM_AMD=y
 51.1073 -CONFIG_HW_RANDOM_GEODE=y
 51.1074 -CONFIG_HW_RANDOM_VIA=y
 51.1075 -CONFIG_NVRAM=y
 51.1076 -CONFIG_RTC=m
 51.1077 -CONFIG_GEN_RTC=m
 51.1078 -# CONFIG_GEN_RTC_X is not set
 51.1079 -# CONFIG_DTLK is not set
 51.1080 -# CONFIG_R3964 is not set
 51.1081 -# CONFIG_APPLICOM is not set
 51.1082 -# CONFIG_SONYPI is not set
 51.1083 -# CONFIG_AGP is not set
 51.1084 -# CONFIG_DRM is not set
 51.1085 -
 51.1086 -#
 51.1087 -# PCMCIA character devices
 51.1088 -#
 51.1089 -# CONFIG_SYNCLINK_CS is not set
 51.1090 -# CONFIG_CARDMAN_4000 is not set
 51.1091 -# CONFIG_CARDMAN_4040 is not set
 51.1092 -# CONFIG_MWAVE is not set
 51.1093 -# CONFIG_PC8736x_GPIO is not set
 51.1094 -# CONFIG_NSC_GPIO is not set
 51.1095 -# CONFIG_CS5535_GPIO is not set
 51.1096 -# CONFIG_RAW_DRIVER is not set
 51.1097 -# CONFIG_HANGCHECK_TIMER is not set
 51.1098 -
 51.1099 -#
 51.1100 -# TPM devices
 51.1101 -#
 51.1102 -# CONFIG_TCG_TPM is not set
 51.1103 -# CONFIG_TELCLOCK is not set
 51.1104 -CONFIG_DEVPORT=y
 51.1105 -# CONFIG_I2C is not set
 51.1106 -
 51.1107 -#
 51.1108 -# SPI support
 51.1109 -#
 51.1110 -# CONFIG_SPI is not set
 51.1111 -# CONFIG_SPI_MASTER is not set
 51.1112 -
 51.1113 -#
 51.1114 -# Dallas's 1-wire bus
 51.1115 -#
 51.1116 -# CONFIG_W1 is not set
 51.1117 -# CONFIG_HWMON is not set
 51.1118 -
 51.1119 -#
 51.1120 -# Multifunction device drivers
 51.1121 -#
 51.1122 -# CONFIG_MFD_SM501 is not set
 51.1123 -
 51.1124 -#
 51.1125 -# Multimedia devices
 51.1126 -#
 51.1127 -# CONFIG_VIDEO_DEV is not set
 51.1128 -# CONFIG_DVB_CORE is not set
 51.1129 -CONFIG_DAB=y
 51.1130 -# CONFIG_USB_DABUSB is not set
 51.1131 -
 51.1132 -#
 51.1133 -# Graphics support
 51.1134 -#
 51.1135 -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
 51.1136 -
 51.1137 -#
 51.1138 -# Display device support
 51.1139 -#
 51.1140 -# CONFIG_DISPLAY_SUPPORT is not set
 51.1141 -# CONFIG_VGASTATE is not set
 51.1142 -CONFIG_FB=y
 51.1143 -# CONFIG_FIRMWARE_EDID is not set
 51.1144 -# CONFIG_FB_DDC is not set
 51.1145 -CONFIG_FB_CFB_FILLRECT=y
 51.1146 -CONFIG_FB_CFB_COPYAREA=y
 51.1147 -CONFIG_FB_CFB_IMAGEBLIT=y
 51.1148 -# CONFIG_FB_SYS_FILLRECT is not set
 51.1149 -# CONFIG_FB_SYS_COPYAREA is not set
 51.1150 -# CONFIG_FB_SYS_IMAGEBLIT is not set
 51.1151 -# CONFIG_FB_SYS_FOPS is not set
 51.1152 -CONFIG_FB_DEFERRED_IO=y
 51.1153 -# CONFIG_FB_SVGALIB is not set
 51.1154 -# CONFIG_FB_MACMODES is not set
 51.1155 -# CONFIG_FB_BACKLIGHT is not set
 51.1156 -# CONFIG_FB_MODE_HELPERS is not set
 51.1157 -# CONFIG_FB_TILEBLITTING is not set
 51.1158 -
 51.1159 -#
 51.1160 -# Frame buffer hardware drivers
 51.1161 -#
 51.1162 -# CONFIG_FB_CIRRUS is not set
 51.1163 -# CONFIG_FB_PM2 is not set
 51.1164 -# CONFIG_FB_CYBER2000 is not set
 51.1165 -# CONFIG_FB_ARC is not set
 51.1166 -# CONFIG_FB_ASILIANT is not set
 51.1167 -# CONFIG_FB_IMSTT is not set
 51.1168 -# CONFIG_FB_VGA16 is not set
 51.1169 -CONFIG_FB_VESA=y
 51.1170 -# CONFIG_FB_HECUBA is not set
 51.1171 -# CONFIG_FB_HGA is not set
 51.1172 -# CONFIG_FB_S1D13XXX is not set
 51.1173 -# CONFIG_FB_NVIDIA is not set
 51.1174 -# CONFIG_FB_RIVA is not set
 51.1175 -# CONFIG_FB_I810 is not set
 51.1176 -# CONFIG_FB_LE80578 is not set
 51.1177 -# CONFIG_FB_INTEL is not set
 51.1178 -# CONFIG_FB_MATROX is not set
 51.1179 -# CONFIG_FB_RADEON is not set
 51.1180 -# CONFIG_FB_ATY128 is not set
 51.1181 -# CONFIG_FB_ATY is not set
 51.1182 -# CONFIG_FB_S3 is not set
 51.1183 -# CONFIG_FB_SAVAGE is not set
 51.1184 -# CONFIG_FB_SIS is not set
 51.1185 -# CONFIG_FB_NEOMAGIC is not set
 51.1186 -# CONFIG_FB_KYRO is not set
 51.1187 -# CONFIG_FB_3DFX is not set
 51.1188 -# CONFIG_FB_VOODOO1 is not set
 51.1189 -# CONFIG_FB_VT8623 is not set
 51.1190 -# CONFIG_FB_CYBLA is not set
 51.1191 -# CONFIG_FB_TRIDENT is not set
 51.1192 -# CONFIG_FB_ARK is not set
 51.1193 -# CONFIG_FB_PM3 is not set
 51.1194 -# CONFIG_FB_GEODE is not set
 51.1195 -# CONFIG_FB_VIRTUAL is not set
 51.1196 -
 51.1197 -#
 51.1198 -# Console display driver support
 51.1199 -#
 51.1200 -CONFIG_VGA_CONSOLE=y
 51.1201 -# CONFIG_VGACON_SOFT_SCROLLBACK is not set
 51.1202 -CONFIG_VIDEO_SELECT=y
 51.1203 -# CONFIG_MDA_CONSOLE is not set
 51.1204 -CONFIG_DUMMY_CONSOLE=y
 51.1205 -CONFIG_FRAMEBUFFER_CONSOLE=y
 51.1206 -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
 51.1207 -# CONFIG_FONTS is not set
 51.1208 -CONFIG_FONT_8x8=y
 51.1209 -CONFIG_FONT_8x16=y
 51.1210 -CONFIG_LOGO=y
 51.1211 -CONFIG_LOGO_LINUX_MONO=y
 51.1212 -CONFIG_LOGO_LINUX_VGA16=y
 51.1213 -CONFIG_LOGO_LINUX_CLUT224=y
 51.1214 -
 51.1215 -#
 51.1216 -# Sound
 51.1217 -#
 51.1218 -CONFIG_SOUND=m
 51.1219 -
 51.1220 -#
 51.1221 -# Advanced Linux Sound Architecture
 51.1222 -#
 51.1223 -CONFIG_SND=m
 51.1224 -CONFIG_SND_TIMER=m
 51.1225 -CONFIG_SND_PCM=m
 51.1226 -CONFIG_SND_HWDEP=m
 51.1227 -CONFIG_SND_RAWMIDI=m
 51.1228 -CONFIG_SND_SEQUENCER=m
 51.1229 -# CONFIG_SND_SEQ_DUMMY is not set
 51.1230 -CONFIG_SND_OSSEMUL=y
 51.1231 -CONFIG_SND_MIXER_OSS=m
 51.1232 -CONFIG_SND_PCM_OSS=m
 51.1233 -CONFIG_SND_PCM_OSS_PLUGINS=y
 51.1234 -CONFIG_SND_SEQUENCER_OSS=y
 51.1235 -CONFIG_SND_RTCTIMER=m
 51.1236 -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
 51.1237 -# CONFIG_SND_DYNAMIC_MINORS is not set
 51.1238 -CONFIG_SND_SUPPORT_OLD_API=y
 51.1239 -# CONFIG_SND_VERBOSE_PROCFS is not set
 51.1240 -# CONFIG_SND_VERBOSE_PRINTK is not set
 51.1241 -# CONFIG_SND_DEBUG is not set
 51.1242 -
 51.1243 -#
 51.1244 -# Generic devices
 51.1245 -#
 51.1246 -CONFIG_SND_MPU401_UART=m
 51.1247 -CONFIG_SND_OPL3_LIB=m
 51.1248 -CONFIG_SND_OPL4_LIB=m
 51.1249 -CONFIG_SND_VX_LIB=m
 51.1250 -CONFIG_SND_AC97_CODEC=m
 51.1251 -# CONFIG_SND_DUMMY is not set
 51.1252 -# CONFIG_SND_VIRMIDI is not set
 51.1253 -# CONFIG_SND_MTPAV is not set
 51.1254 -# CONFIG_SND_SERIAL_U16550 is not set
 51.1255 -# CONFIG_SND_MPU401 is not set
 51.1256 -
 51.1257 -#
 51.1258 -# ISA devices
 51.1259 -#
 51.1260 -CONFIG_SND_AD1848_LIB=m
 51.1261 -CONFIG_SND_CS4231_LIB=m
 51.1262 -CONFIG_SND_ADLIB=m
 51.1263 -CONFIG_SND_AD1816A=m
 51.1264 -CONFIG_SND_AD1848=m
 51.1265 -CONFIG_SND_ALS100=m
 51.1266 -CONFIG_SND_AZT2320=m
 51.1267 -CONFIG_SND_CMI8330=m
 51.1268 -CONFIG_SND_CS4231=m
 51.1269 -CONFIG_SND_CS4232=m
 51.1270 -CONFIG_SND_CS4236=m
 51.1271 -CONFIG_SND_DT019X=m
 51.1272 -CONFIG_SND_ES968=m
 51.1273 -CONFIG_SND_ES1688=m
 51.1274 -CONFIG_SND_ES18XX=m
 51.1275 -CONFIG_SND_GUS_SYNTH=m
 51.1276 -CONFIG_SND_GUSCLASSIC=m
 51.1277 -CONFIG_SND_GUSEXTREME=m
 51.1278 -CONFIG_SND_GUSMAX=m
 51.1279 -CONFIG_SND_INTERWAVE=m
 51.1280 -CONFIG_SND_INTERWAVE_STB=m
 51.1281 -CONFIG_SND_OPL3SA2=m
 51.1282 -CONFIG_SND_OPTI92X_AD1848=m
 51.1283 -CONFIG_SND_OPTI92X_CS4231=m
 51.1284 -CONFIG_SND_OPTI93X=m
 51.1285 -CONFIG_SND_MIRO=m
 51.1286 -CONFIG_SND_SB8=m
 51.1287 -CONFIG_SND_SB16=m
 51.1288 -CONFIG_SND_SBAWE=m
 51.1289 -# CONFIG_SND_SB16_CSP is not set
 51.1290 -CONFIG_SND_SGALAXY=m
 51.1291 -CONFIG_SND_SSCAPE=m
 51.1292 -CONFIG_SND_WAVEFRONT=m
 51.1293 -CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y
 51.1294 -
 51.1295 -#
 51.1296 -# PCI devices
 51.1297 -#
 51.1298 -CONFIG_SND_AD1889=m
 51.1299 -CONFIG_SND_ALS300=m
 51.1300 -CONFIG_SND_ALS4000=m
 51.1301 -CONFIG_SND_ALI5451=m
 51.1302 -CONFIG_SND_ATIIXP=m
 51.1303 -CONFIG_SND_ATIIXP_MODEM=m
 51.1304 -CONFIG_SND_AU8810=m
 51.1305 -CONFIG_SND_AU8820=m
 51.1306 -CONFIG_SND_AU8830=m
 51.1307 -CONFIG_SND_AZT3328=m
 51.1308 -CONFIG_SND_BT87X=m
 51.1309 -# CONFIG_SND_BT87X_OVERCLOCK is not set
 51.1310 -CONFIG_SND_CA0106=m
 51.1311 -CONFIG_SND_CMIPCI=m
 51.1312 -CONFIG_SND_CS4281=m
 51.1313 -CONFIG_SND_CS46XX=m
 51.1314 -CONFIG_SND_CS46XX_NEW_DSP=y
 51.1315 -CONFIG_SND_CS5535AUDIO=m
 51.1316 -CONFIG_SND_DARLA20=m
 51.1317 -CONFIG_SND_GINA20=m
 51.1318 -CONFIG_SND_LAYLA20=m
 51.1319 -CONFIG_SND_DARLA24=m
 51.1320 -CONFIG_SND_GINA24=m
 51.1321 -CONFIG_SND_LAYLA24=m
 51.1322 -CONFIG_SND_MONA=m
 51.1323 -CONFIG_SND_MIA=m
 51.1324 -CONFIG_SND_ECHO3G=m
 51.1325 -CONFIG_SND_INDIGO=m
 51.1326 -CONFIG_SND_INDIGOIO=m
 51.1327 -CONFIG_SND_INDIGODJ=m
 51.1328 -CONFIG_SND_EMU10K1=m
 51.1329 -CONFIG_SND_EMU10K1X=m
 51.1330 -CONFIG_SND_ENS1370=m
 51.1331 -CONFIG_SND_ENS1371=m
 51.1332 -CONFIG_SND_ES1938=m
 51.1333 -CONFIG_SND_ES1968=m
 51.1334 -CONFIG_SND_FM801=m
 51.1335 -# CONFIG_SND_FM801_TEA575X_BOOL is not set
 51.1336 -CONFIG_SND_HDA_INTEL=m
 51.1337 -CONFIG_SND_HDSP=m
 51.1338 -CONFIG_SND_HDSPM=m
 51.1339 -CONFIG_SND_ICE1712=m
 51.1340 -CONFIG_SND_ICE1724=m
 51.1341 -CONFIG_SND_INTEL8X0=m
 51.1342 -CONFIG_SND_INTEL8X0M=m
 51.1343 -CONFIG_SND_KORG1212=m
 51.1344 -CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL=y
 51.1345 -CONFIG_SND_MAESTRO3=m
 51.1346 -CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL=y
 51.1347 -CONFIG_SND_MIXART=m
 51.1348 -CONFIG_SND_NM256=m
 51.1349 -CONFIG_SND_PCXHR=m
 51.1350 -CONFIG_SND_RIPTIDE=m
 51.1351 -CONFIG_SND_RME32=m
 51.1352 -CONFIG_SND_RME96=m
 51.1353 -CONFIG_SND_RME9652=m
 51.1354 -CONFIG_SND_SONICVIBES=m
 51.1355 -CONFIG_SND_TRIDENT=m
 51.1356 -CONFIG_SND_VIA82XX=m
 51.1357 -CONFIG_SND_VIA82XX_MODEM=m
 51.1358 -CONFIG_SND_VX222=m
 51.1359 -CONFIG_SND_YMFPCI=m
 51.1360 -CONFIG_SND_YMFPCI_FIRMWARE_IN_KERNEL=y
 51.1361 -# CONFIG_SND_AC97_POWER_SAVE is not set
 51.1362 -
 51.1363 -#
 51.1364 -# USB devices
 51.1365 -#
 51.1366 -# CONFIG_SND_USB_AUDIO is not set
 51.1367 -# CONFIG_SND_USB_USX2Y is not set
 51.1368 -# CONFIG_SND_USB_CAIAQ is not set
 51.1369 -
 51.1370 -#
 51.1371 -# PCMCIA devices
 51.1372 -#
 51.1373 -# CONFIG_SND_VXPOCKET is not set
 51.1374 -# CONFIG_SND_PDAUDIOCF is not set
 51.1375 -
 51.1376 -#
 51.1377 -# System on Chip audio support
 51.1378 -#
 51.1379 -# CONFIG_SND_SOC is not set
 51.1380 -
 51.1381 -#
 51.1382 -# Open Sound System
 51.1383 -#
 51.1384 -# CONFIG_SOUND_PRIME is not set
 51.1385 -CONFIG_AC97_BUS=m
 51.1386 -
 51.1387 -#
 51.1388 -# HID Devices
 51.1389 -#
 51.1390 -CONFIG_HID=y
 51.1391 -# CONFIG_HID_DEBUG is not set
 51.1392 -
 51.1393 -#
 51.1394 -# USB Input Devices
 51.1395 -#
 51.1396 -CONFIG_USB_HID=y
 51.1397 -# CONFIG_USB_HIDINPUT_POWERBOOK is not set
 51.1398 -# CONFIG_HID_FF is not set
 51.1399 -CONFIG_USB_HIDDEV=y
 51.1400 -
 51.1401 -#
 51.1402 -# USB support
 51.1403 -#
 51.1404 -CONFIG_USB_ARCH_HAS_HCD=y
 51.1405 -CONFIG_USB_ARCH_HAS_OHCI=y
 51.1406 -CONFIG_USB_ARCH_HAS_EHCI=y
 51.1407 -CONFIG_USB=y
 51.1408 -# CONFIG_USB_DEBUG is not set
 51.1409 -
 51.1410 -#
 51.1411 -# Miscellaneous USB options
 51.1412 -#
 51.1413 -CONFIG_USB_DEVICEFS=y
 51.1414 -CONFIG_USB_DEVICE_CLASS=y
 51.1415 -# CONFIG_USB_DYNAMIC_MINORS is not set
 51.1416 -# CONFIG_USB_OTG is not set
 51.1417 -
 51.1418 -#
 51.1419 -# USB Host Controller Drivers
 51.1420 -#
 51.1421 -CONFIG_USB_EHCI_HCD=y
 51.1422 -# CONFIG_USB_EHCI_SPLIT_ISO is not set
 51.1423 -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
 51.1424 -# CONFIG_USB_EHCI_TT_NEWSCHED is not set
 51.1425 -# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
 51.1426 -# CONFIG_USB_ISP116X_HCD is not set
 51.1427 -CONFIG_USB_OHCI_HCD=m
 51.1428 -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
 51.1429 -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
 51.1430 -CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 51.1431 -CONFIG_USB_UHCI_HCD=y
 51.1432 -# CONFIG_USB_SL811_HCD is not set
 51.1433 -
 51.1434 -#
 51.1435 -# USB Device Class drivers
 51.1436 -#
 51.1437 -# CONFIG_USB_ACM is not set
 51.1438 -# CONFIG_USB_PRINTER is not set
 51.1439 -
 51.1440 -#
 51.1441 -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
 51.1442 -#
 51.1443 -
 51.1444 -#
 51.1445 -# may also be needed; see USB_STORAGE Help for more information
 51.1446 -#
 51.1447 -CONFIG_USB_STORAGE=y
 51.1448 -# CONFIG_USB_STORAGE_DEBUG is not set
 51.1449 -# CONFIG_USB_STORAGE_DATAFAB is not set
 51.1450 -# CONFIG_USB_STORAGE_FREECOM is not set
 51.1451 -# CONFIG_USB_STORAGE_ISD200 is not set
 51.1452 -# CONFIG_USB_STORAGE_DPCM is not set
 51.1453 -# CONFIG_USB_STORAGE_USBAT is not set
 51.1454 -# CONFIG_USB_STORAGE_SDDR09 is not set
 51.1455 -# CONFIG_USB_STORAGE_SDDR55 is not set
 51.1456 -# CONFIG_USB_STORAGE_JUMPSHOT is not set
 51.1457 -# CONFIG_USB_STORAGE_ALAUDA is not set
 51.1458 -# CONFIG_USB_STORAGE_ONETOUCH is not set
 51.1459 -# CONFIG_USB_STORAGE_KARMA is not set
 51.1460 -# CONFIG_USB_LIBUSUAL is not set
 51.1461 -
 51.1462 -#
 51.1463 -# USB Imaging devices
 51.1464 -#
 51.1465 -# CONFIG_USB_MDC800 is not set
 51.1466 -# CONFIG_USB_MICROTEK is not set
 51.1467 -# CONFIG_USB_MON is not set
 51.1468 -
 51.1469 -#
 51.1470 -# USB port drivers
 51.1471 -#
 51.1472 -
 51.1473 -#
 51.1474 -# USB Serial Converter support
 51.1475 -#
 51.1476 -# CONFIG_USB_SERIAL is not set
 51.1477 -
 51.1478 -#
 51.1479 -# USB Miscellaneous drivers
 51.1480 -#
 51.1481 -# CONFIG_USB_EMI62 is not set
 51.1482 -# CONFIG_USB_EMI26 is not set
 51.1483 -# CONFIG_USB_ADUTUX is not set
 51.1484 -# CONFIG_USB_AUERSWALD is not set
 51.1485 -# CONFIG_USB_RIO500 is not set
 51.1486 -# CONFIG_USB_LEGOTOWER is not set
 51.1487 -# CONFIG_USB_LCD is not set
 51.1488 -# CONFIG_USB_BERRY_CHARGE is not set
 51.1489 -# CONFIG_USB_LED is not set
 51.1490 -# CONFIG_USB_CYPRESS_CY7C63 is not set
 51.1491 -# CONFIG_USB_CYTHERM is not set
 51.1492 -# CONFIG_USB_PHIDGET is not set
 51.1493 -# CONFIG_USB_IDMOUSE is not set
 51.1494 -# CONFIG_USB_FTDI_ELAN is not set
 51.1495 -# CONFIG_USB_APPLEDISPLAY is not set
 51.1496 -# CONFIG_USB_SISUSBVGA is not set
 51.1497 -# CONFIG_USB_LD is not set
 51.1498 -# CONFIG_USB_TRANCEVIBRATOR is not set
 51.1499 -# CONFIG_USB_IOWARRIOR is not set
 51.1500 -# CONFIG_USB_TEST is not set
 51.1501 -
 51.1502 -#
 51.1503 -# USB DSL modem support
 51.1504 -#
 51.1505 -
 51.1506 -#
 51.1507 -# USB Gadget Support
 51.1508 -#
 51.1509 -# CONFIG_USB_GADGET is not set
 51.1510 -# CONFIG_MMC is not set
 51.1511 -
 51.1512 -#
 51.1513 -# LED devices
 51.1514 -#
 51.1515 -# CONFIG_NEW_LEDS is not set
 51.1516 -
 51.1517 -#
 51.1518 -# LED drivers
 51.1519 -#
 51.1520 -
 51.1521 -#
 51.1522 -# LED Triggers
 51.1523 -#
 51.1524 -
 51.1525 -#
 51.1526 -# InfiniBand support
 51.1527 -#
 51.1528 -# CONFIG_INFINIBAND is not set
 51.1529 -
 51.1530 -#
 51.1531 -# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
 51.1532 -#
 51.1533 -# CONFIG_EDAC is not set
 51.1534 -
 51.1535 -#
 51.1536 -# Real Time Clock
 51.1537 -#
 51.1538 -# CONFIG_RTC_CLASS is not set
 51.1539 -
 51.1540 -#
 51.1541 -# DMA Engine support
 51.1542 -#
 51.1543 -CONFIG_DMA_ENGINE=y
 51.1544 -
 51.1545 -#
 51.1546 -# DMA Clients
 51.1547 -#
 51.1548 -CONFIG_NET_DMA=y
 51.1549 -
 51.1550 -#
 51.1551 -# DMA Devices
 51.1552 -#
 51.1553 -CONFIG_INTEL_IOATDMA=y
 51.1554 -
 51.1555 -#
 51.1556 -# Virtualization
 51.1557 -#
 51.1558 -# CONFIG_KVM is not set
 51.1559 -
 51.1560 -#
 51.1561 -# File systems
 51.1562 -#
 51.1563 -CONFIG_EXT2_FS=y
 51.1564 -# CONFIG_EXT2_FS_XATTR is not set
 51.1565 -# CONFIG_EXT2_FS_XIP is not set
 51.1566 -CONFIG_EXT3_FS=y
 51.1567 -# CONFIG_EXT3_FS_XATTR is not set
 51.1568 -# CONFIG_EXT4DEV_FS is not set
 51.1569 -CONFIG_JBD=y
 51.1570 -# CONFIG_JBD_DEBUG is not set
 51.1571 -# CONFIG_REISERFS_FS is not set
 51.1572 -# CONFIG_JFS_FS is not set
 51.1573 -# CONFIG_FS_POSIX_ACL is not set
 51.1574 -# CONFIG_XFS_FS is not set
 51.1575 -# CONFIG_GFS2_FS is not set
 51.1576 -# CONFIG_OCFS2_FS is not set
 51.1577 -# CONFIG_MINIX_FS is not set
 51.1578 -# CONFIG_ROMFS_FS is not set
 51.1579 -CONFIG_INOTIFY=y
 51.1580 -CONFIG_INOTIFY_USER=y
 51.1581 -# CONFIG_QUOTA is not set
 51.1582 -CONFIG_DNOTIFY=y
 51.1583 -# CONFIG_AUTOFS_FS is not set
 51.1584 -# CONFIG_AUTOFS4_FS is not set
 51.1585 -CONFIG_FUSE_FS=y
 51.1586 -
 51.1587 -#
 51.1588 -# CD-ROM/DVD Filesystems
 51.1589 -#
 51.1590 -CONFIG_ISO9660_FS=y
 51.1591 -CONFIG_JOLIET=y
 51.1592 -# CONFIG_ZISOFS is not set
 51.1593 -# CONFIG_UDF_FS is not set
 51.1594 -
 51.1595 -#
 51.1596 -# DOS/FAT/NT Filesystems
 51.1597 -#
 51.1598 -CONFIG_FAT_FS=m
 51.1599 -CONFIG_MSDOS_FS=m
 51.1600 -CONFIG_VFAT_FS=m
 51.1601 -CONFIG_FAT_DEFAULT_CODEPAGE=437
 51.1602 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
 51.1603 -# CONFIG_NTFS_FS is not set
 51.1604 -
 51.1605 -#
 51.1606 -# Pseudo filesystems
 51.1607 -#
 51.1608 -CONFIG_PROC_FS=y
 51.1609 -CONFIG_PROC_KCORE=y
 51.1610 -CONFIG_PROC_SYSCTL=y
 51.1611 -CONFIG_SYSFS=y
 51.1612 -CONFIG_TMPFS=y
 51.1613 -# CONFIG_TMPFS_POSIX_ACL is not set
 51.1614 -# CONFIG_HUGETLBFS is not set
 51.1615 -# CONFIG_HUGETLB_PAGE is not set
 51.1616 -CONFIG_RAMFS=y
 51.1617 -# CONFIG_CONFIGFS_FS is not set
 51.1618 -
 51.1619 -#
 51.1620 -# Miscellaneous filesystems
 51.1621 -#
 51.1622 -# CONFIG_ADFS_FS is not set
 51.1623 -# CONFIG_AFFS_FS is not set
 51.1624 -# CONFIG_HFS_FS is not set
 51.1625 -# CONFIG_HFSPLUS_FS is not set
 51.1626 -# CONFIG_BEFS_FS is not set
 51.1627 -# CONFIG_BFS_FS is not set
 51.1628 -# CONFIG_EFS_FS is not set
 51.1629 -CONFIG_CRAMFS=y
 51.1630 -# CONFIG_VXFS_FS is not set
 51.1631 -# CONFIG_HPFS_FS is not set
 51.1632 -# CONFIG_QNX4FS_FS is not set
 51.1633 -# CONFIG_SYSV_FS is not set
 51.1634 -# CONFIG_UFS_FS is not set
 51.1635 -
 51.1636 -#
 51.1637 -# Network File Systems
 51.1638 -#
 51.1639 -CONFIG_NFS_FS=y
 51.1640 -CONFIG_NFS_V3=y
 51.1641 -# CONFIG_NFS_V3_ACL is not set
 51.1642 -# CONFIG_NFS_V4 is not set
 51.1643 -# CONFIG_NFS_DIRECTIO is not set
 51.1644 -# CONFIG_NFSD is not set
 51.1645 -CONFIG_LOCKD=y
 51.1646 -CONFIG_LOCKD_V4=y
 51.1647 -CONFIG_NFS_COMMON=y
 51.1648 -CONFIG_SUNRPC=y
 51.1649 -# CONFIG_SUNRPC_BIND34 is not set
 51.1650 -# CONFIG_RPCSEC_GSS_KRB5 is not set
 51.1651 -# CONFIG_RPCSEC_GSS_SPKM3 is not set
 51.1652 -# CONFIG_SMB_FS is not set
 51.1653 -# CONFIG_CIFS is not set
 51.1654 -# CONFIG_NCP_FS is not set
 51.1655 -# CONFIG_CODA_FS is not set
 51.1656 -# CONFIG_AFS_FS is not set
 51.1657 -# CONFIG_9P_FS is not set
 51.1658 -
 51.1659 -#
 51.1660 -# Partition Types
 51.1661 -#
 51.1662 -CONFIG_PARTITION_ADVANCED=y
 51.1663 -# CONFIG_ACORN_PARTITION is not set
 51.1664 -# CONFIG_OSF_PARTITION is not set
 51.1665 -# CONFIG_AMIGA_PARTITION is not set
 51.1666 -# CONFIG_ATARI_PARTITION is not set
 51.1667 -# CONFIG_MAC_PARTITION is not set
 51.1668 -CONFIG_MSDOS_PARTITION=y
 51.1669 -# CONFIG_BSD_DISKLABEL is not set
 51.1670 -# CONFIG_MINIX_SUBPARTITION is not set
 51.1671 -# CONFIG_SOLARIS_X86_PARTITION is not set
 51.1672 -# CONFIG_UNIXWARE_DISKLABEL is not set
 51.1673 -# CONFIG_LDM_PARTITION is not set
 51.1674 -# CONFIG_SGI_PARTITION is not set
 51.1675 -# CONFIG_ULTRIX_PARTITION is not set
 51.1676 -# CONFIG_SUN_PARTITION is not set
 51.1677 -# CONFIG_KARMA_PARTITION is not set
 51.1678 -# CONFIG_EFI_PARTITION is not set
 51.1679 -# CONFIG_SYSV68_PARTITION is not set
 51.1680 -
 51.1681 -#
 51.1682 -# Native Language Support
 51.1683 -#
 51.1684 -CONFIG_NLS=y
 51.1685 -CONFIG_NLS_DEFAULT="iso8859-1"
 51.1686 -CONFIG_NLS_CODEPAGE_437=y
 51.1687 -# CONFIG_NLS_CODEPAGE_737 is not set
 51.1688 -# CONFIG_NLS_CODEPAGE_775 is not set
 51.1689 -CONFIG_NLS_CODEPAGE_850=y
 51.1690 -CONFIG_NLS_CODEPAGE_852=y
 51.1691 -# CONFIG_NLS_CODEPAGE_855 is not set
 51.1692 -# CONFIG_NLS_CODEPAGE_857 is not set
 51.1693 -# CONFIG_NLS_CODEPAGE_860 is not set
 51.1694 -# CONFIG_NLS_CODEPAGE_861 is not set
 51.1695 -# CONFIG_NLS_CODEPAGE_862 is not set
 51.1696 -CONFIG_NLS_CODEPAGE_863=y
 51.1697 -# CONFIG_NLS_CODEPAGE_864 is not set
 51.1698 -CONFIG_NLS_CODEPAGE_865=y
 51.1699 -# CONFIG_NLS_CODEPAGE_866 is not set
 51.1700 -# CONFIG_NLS_CODEPAGE_869 is not set
 51.1701 -# CONFIG_NLS_CODEPAGE_936 is not set
 51.1702 -# CONFIG_NLS_CODEPAGE_950 is not set
 51.1703 -# CONFIG_NLS_CODEPAGE_932 is not set
 51.1704 -# CONFIG_NLS_CODEPAGE_949 is not set
 51.1705 -# CONFIG_NLS_CODEPAGE_874 is not set
 51.1706 -# CONFIG_NLS_ISO8859_8 is not set
 51.1707 -# CONFIG_NLS_CODEPAGE_1250 is not set
 51.1708 -# CONFIG_NLS_CODEPAGE_1251 is not set
 51.1709 -CONFIG_NLS_ASCII=y
 51.1710 -CONFIG_NLS_ISO8859_1=y
 51.1711 -CONFIG_NLS_ISO8859_2=y
 51.1712 -# CONFIG_NLS_ISO8859_3 is not set
 51.1713 -# CONFIG_NLS_ISO8859_4 is not set
 51.1714 -# CONFIG_NLS_ISO8859_5 is not set
 51.1715 -# CONFIG_NLS_ISO8859_6 is not set
 51.1716 -# CONFIG_NLS_ISO8859_7 is not set
 51.1717 -# CONFIG_NLS_ISO8859_9 is not set
 51.1718 -# CONFIG_NLS_ISO8859_13 is not set
 51.1719 -# CONFIG_NLS_ISO8859_14 is not set
 51.1720 -CONFIG_NLS_ISO8859_15=y
 51.1721 -# CONFIG_NLS_KOI8_R is not set
 51.1722 -# CONFIG_NLS_KOI8_U is not set
 51.1723 -CONFIG_NLS_UTF8=m
 51.1724 -
 51.1725 -#
 51.1726 -# Distributed Lock Manager
 51.1727 -#
 51.1728 -# CONFIG_DLM is not set
 51.1729 -
 51.1730 -#
 51.1731 -# Instrumentation Support
 51.1732 -#
 51.1733 -# CONFIG_PROFILING is not set
 51.1734 -# CONFIG_KPROBES is not set
 51.1735 -
 51.1736 -#
 51.1737 -# Kernel hacking
 51.1738 -#
 51.1739 -CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 51.1740 -# CONFIG_PRINTK_TIME is not set
 51.1741 -CONFIG_ENABLE_MUST_CHECK=y
 51.1742 -# CONFIG_MAGIC_SYSRQ is not set
 51.1743 -CONFIG_UNUSED_SYMBOLS=y
 51.1744 -# CONFIG_DEBUG_FS is not set
 51.1745 -# CONFIG_HEADERS_CHECK is not set
 51.1746 -# CONFIG_DEBUG_KERNEL is not set
 51.1747 -CONFIG_DEBUG_BUGVERBOSE=y
 51.1748 -CONFIG_EARLY_PRINTK=y
 51.1749 -CONFIG_X86_FIND_SMP_CONFIG=y
 51.1750 -CONFIG_X86_MPPARSE=y
 51.1751 -CONFIG_DOUBLEFAULT=y
 51.1752 -
 51.1753 -#
 51.1754 -# Security options
 51.1755 -#
 51.1756 -# CONFIG_KEYS is not set
 51.1757 -# CONFIG_SECURITY is not set
 51.1758 -
 51.1759 -#
 51.1760 -# Cryptographic options
 51.1761 -#
 51.1762 -CONFIG_CRYPTO=y
 51.1763 -CONFIG_CRYPTO_ALGAPI=y
 51.1764 -CONFIG_CRYPTO_BLKCIPHER=y
 51.1765 -CONFIG_CRYPTO_HASH=y
 51.1766 -CONFIG_CRYPTO_MANAGER=y
 51.1767 -CONFIG_CRYPTO_HMAC=y
 51.1768 -# CONFIG_CRYPTO_XCBC is not set
 51.1769 -# CONFIG_CRYPTO_NULL is not set
 51.1770 -# CONFIG_CRYPTO_MD4 is not set
 51.1771 -CONFIG_CRYPTO_MD5=y
 51.1772 -CONFIG_CRYPTO_SHA1=y
 51.1773 -# CONFIG_CRYPTO_SHA256 is not set
 51.1774 -# CONFIG_CRYPTO_SHA512 is not set
 51.1775 -# CONFIG_CRYPTO_WP512 is not set
 51.1776 -# CONFIG_CRYPTO_TGR192 is not set
 51.1777 -# CONFIG_CRYPTO_GF128MUL is not set
 51.1778 -# CONFIG_CRYPTO_ECB is not set
 51.1779 -CONFIG_CRYPTO_CBC=y
 51.1780 -CONFIG_CRYPTO_PCBC=m
 51.1781 -# CONFIG_CRYPTO_LRW is not set
 51.1782 -# CONFIG_CRYPTO_CRYPTD is not set
 51.1783 -CONFIG_CRYPTO_DES=y
 51.1784 -# CONFIG_CRYPTO_FCRYPT is not set
 51.1785 -# CONFIG_CRYPTO_BLOWFISH is not set
 51.1786 -# CONFIG_CRYPTO_TWOFISH is not set
 51.1787 -# CONFIG_CRYPTO_TWOFISH_586 is not set
 51.1788 -# CONFIG_CRYPTO_SERPENT is not set
 51.1789 -# CONFIG_CRYPTO_AES is not set
 51.1790 -# CONFIG_CRYPTO_AES_586 is not set
 51.1791 -# CONFIG_CRYPTO_CAST5 is not set
 51.1792 -# CONFIG_CRYPTO_CAST6 is not set
 51.1793 -# CONFIG_CRYPTO_TEA is not set
 51.1794 -# CONFIG_CRYPTO_ARC4 is not set
 51.1795 -# CONFIG_CRYPTO_KHAZAD is not set
 51.1796 -# CONFIG_CRYPTO_ANUBIS is not set
 51.1797 -CONFIG_CRYPTO_DEFLATE=y
 51.1798 -# CONFIG_CRYPTO_MICHAEL_MIC is not set
 51.1799 -# CONFIG_CRYPTO_CRC32C is not set
 51.1800 -# CONFIG_CRYPTO_CAMELLIA is not set
 51.1801 -# CONFIG_CRYPTO_TEST is not set
 51.1802 -
 51.1803 -#
 51.1804 -# Hardware crypto devices
 51.1805 -#
 51.1806 -# CONFIG_CRYPTO_DEV_PADLOCK is not set
 51.1807 -# CONFIG_CRYPTO_DEV_GEODE is not set
 51.1808 -
 51.1809 -#
 51.1810 -# Library routines
 51.1811 -#
 51.1812 -CONFIG_BITREVERSE=y
 51.1813 -CONFIG_CRC_CCITT=y
 51.1814 -# CONFIG_CRC16 is not set
 51.1815 -# CONFIG_CRC_ITU_T is not set
 51.1816 -CONFIG_CRC32=y
 51.1817 -# CONFIG_LIBCRC32C is not set
 51.1818 -CONFIG_ZLIB_INFLATE=y
 51.1819 -CONFIG_ZLIB_DEFLATE=y
 51.1820 -CONFIG_PLIST=y
 51.1821 -CONFIG_HAS_IOMEM=y
 51.1822 -CONFIG_HAS_IOPORT=y
 51.1823 -CONFIG_HAS_DMA=y
 51.1824 -CONFIG_GENERIC_HARDIRQS=y
 51.1825 -CONFIG_GENERIC_IRQ_PROBE=y
 51.1826 -CONFIG_GENERIC_PENDING_IRQ=y
 51.1827 -CONFIG_X86_SMP=y
 51.1828 -CONFIG_X86_HT=y
 51.1829 -CONFIG_X86_BIOS_REBOOT=y
 51.1830 -CONFIG_X86_TRAMPOLINE=y
 51.1831 -CONFIG_KTIME_SCALAR=y
    52.1 --- a/linux/stuff/linux-2.6.24.2-slitaz.config	Mon May 11 16:40:10 2009 +0200
    52.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    52.3 @@ -1,1774 +0,0 @@
    52.4 -#
    52.5 -# Automatically generated make config: don't edit
    52.6 -# Linux kernel version: 2.6.24.2
    52.7 -# Thu Feb 14 15:28:29 2008
    52.8 -#
    52.9 -# CONFIG_64BIT is not set
   52.10 -CONFIG_X86_32=y
   52.11 -# CONFIG_X86_64 is not set
   52.12 -CONFIG_X86=y
   52.13 -CONFIG_GENERIC_TIME=y
   52.14 -CONFIG_GENERIC_CMOS_UPDATE=y
   52.15 -CONFIG_CLOCKSOURCE_WATCHDOG=y
   52.16 -CONFIG_GENERIC_CLOCKEVENTS=y
   52.17 -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
   52.18 -CONFIG_LOCKDEP_SUPPORT=y
   52.19 -CONFIG_STACKTRACE_SUPPORT=y
   52.20 -CONFIG_SEMAPHORE_SLEEPERS=y
   52.21 -CONFIG_MMU=y
   52.22 -CONFIG_ZONE_DMA=y
   52.23 -CONFIG_QUICKLIST=y
   52.24 -CONFIG_GENERIC_ISA_DMA=y
   52.25 -CONFIG_GENERIC_IOMAP=y
   52.26 -CONFIG_GENERIC_BUG=y
   52.27 -CONFIG_GENERIC_HWEIGHT=y
   52.28 -CONFIG_ARCH_MAY_HAVE_PC_FDC=y
   52.29 -CONFIG_DMI=y
   52.30 -CONFIG_RWSEM_GENERIC_SPINLOCK=y
   52.31 -# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
   52.32 -# CONFIG_ARCH_HAS_ILOG2_U32 is not set
   52.33 -# CONFIG_ARCH_HAS_ILOG2_U64 is not set
   52.34 -CONFIG_GENERIC_CALIBRATE_DELAY=y
   52.35 -# CONFIG_GENERIC_TIME_VSYSCALL is not set
   52.36 -CONFIG_ARCH_SUPPORTS_OPROFILE=y
   52.37 -# CONFIG_ZONE_DMA32 is not set
   52.38 -CONFIG_ARCH_POPULATES_NODE_MAP=y
   52.39 -# CONFIG_AUDIT_ARCH is not set
   52.40 -CONFIG_GENERIC_HARDIRQS=y
   52.41 -CONFIG_GENERIC_IRQ_PROBE=y
   52.42 -CONFIG_GENERIC_PENDING_IRQ=y
   52.43 -CONFIG_X86_SMP=y
   52.44 -CONFIG_X86_HT=y
   52.45 -CONFIG_X86_BIOS_REBOOT=y
   52.46 -CONFIG_X86_TRAMPOLINE=y
   52.47 -CONFIG_KTIME_SCALAR=y
   52.48 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
   52.49 -
   52.50 -#
   52.51 -# General setup
   52.52 -#
   52.53 -CONFIG_EXPERIMENTAL=y
   52.54 -CONFIG_LOCK_KERNEL=y
   52.55 -CONFIG_INIT_ENV_ARG_LIMIT=32
   52.56 -CONFIG_LOCALVERSION="-slitaz"
   52.57 -# CONFIG_LOCALVERSION_AUTO is not set
   52.58 -# CONFIG_KERNEL_GZIP is not set
   52.59 -# CONFIG_KERNEL_BZIP2 is not set
   52.60 -CONFIG_KERNEL_LZMA=y
   52.61 -CONFIG_SWAP=y
   52.62 -CONFIG_SYSVIPC=y
   52.63 -CONFIG_SYSVIPC_SYSCTL=y
   52.64 -CONFIG_POSIX_MQUEUE=y
   52.65 -CONFIG_BSD_PROCESS_ACCT=y
   52.66 -# CONFIG_BSD_PROCESS_ACCT_V3 is not set
   52.67 -# CONFIG_TASKSTATS is not set
   52.68 -# CONFIG_USER_NS is not set
   52.69 -# CONFIG_PID_NS is not set
   52.70 -# CONFIG_AUDIT is not set
   52.71 -CONFIG_IKCONFIG=y
   52.72 -CONFIG_IKCONFIG_PROC=y
   52.73 -CONFIG_LOG_BUF_SHIFT=14
   52.74 -# CONFIG_CGROUPS is not set
   52.75 -CONFIG_FAIR_GROUP_SCHED=y
   52.76 -CONFIG_FAIR_USER_SCHED=y
   52.77 -# CONFIG_FAIR_CGROUP_SCHED is not set
   52.78 -# CONFIG_SYSFS_DEPRECATED is not set
   52.79 -# CONFIG_RELAY is not set
   52.80 -CONFIG_BLK_DEV_INITRD=y
   52.81 -CONFIG_INITRAMFS_SOURCE=""
   52.82 -CONFIG_CC_OPTIMIZE_FOR_SIZE=y
   52.83 -CONFIG_SYSCTL=y
   52.84 -# CONFIG_EMBEDDED is not set
   52.85 -CONFIG_UID16=y
   52.86 -CONFIG_SYSCTL_SYSCALL=y
   52.87 -CONFIG_KALLSYMS=y
   52.88 -# CONFIG_KALLSYMS_EXTRA_PASS is not set
   52.89 -CONFIG_HOTPLUG=y
   52.90 -CONFIG_PRINTK=y
   52.91 -CONFIG_BUG=y
   52.92 -CONFIG_ELF_CORE=y
   52.93 -CONFIG_BASE_FULL=y
   52.94 -CONFIG_FUTEX=y
   52.95 -CONFIG_ANON_INODES=y
   52.96 -CONFIG_EPOLL=y
   52.97 -CONFIG_SIGNALFD=y
   52.98 -CONFIG_EVENTFD=y
   52.99 -CONFIG_SHMEM=y
  52.100 -CONFIG_VM_EVENT_COUNTERS=y
  52.101 -CONFIG_SLAB=y
  52.102 -# CONFIG_SLUB is not set
  52.103 -# CONFIG_SLOB is not set
  52.104 -CONFIG_SLABINFO=y
  52.105 -CONFIG_RT_MUTEXES=y
  52.106 -# CONFIG_TINY_SHMEM is not set
  52.107 -CONFIG_BASE_SMALL=0
  52.108 -CONFIG_MODULES=y
  52.109 -CONFIG_MODULE_UNLOAD=y
  52.110 -# CONFIG_MODULE_FORCE_UNLOAD is not set
  52.111 -# CONFIG_MODVERSIONS is not set
  52.112 -# CONFIG_MODULE_SRCVERSION_ALL is not set
  52.113 -CONFIG_KMOD=y
  52.114 -CONFIG_STOP_MACHINE=y
  52.115 -CONFIG_BLOCK=y
  52.116 -# CONFIG_LBD is not set
  52.117 -# CONFIG_BLK_DEV_IO_TRACE is not set
  52.118 -# CONFIG_LSF is not set
  52.119 -# CONFIG_BLK_DEV_BSG is not set
  52.120 -
  52.121 -#
  52.122 -# IO Schedulers
  52.123 -#
  52.124 -CONFIG_IOSCHED_NOOP=y
  52.125 -# CONFIG_IOSCHED_AS is not set
  52.126 -CONFIG_IOSCHED_DEADLINE=y
  52.127 -# CONFIG_IOSCHED_CFQ is not set
  52.128 -# CONFIG_DEFAULT_AS is not set
  52.129 -CONFIG_DEFAULT_DEADLINE=y
  52.130 -# CONFIG_DEFAULT_CFQ is not set
  52.131 -# CONFIG_DEFAULT_NOOP is not set
  52.132 -CONFIG_DEFAULT_IOSCHED="deadline"
  52.133 -
  52.134 -#
  52.135 -# Processor type and features
  52.136 -#
  52.137 -# CONFIG_TICK_ONESHOT is not set
  52.138 -# CONFIG_NO_HZ is not set
  52.139 -# CONFIG_HIGH_RES_TIMERS is not set
  52.140 -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
  52.141 -CONFIG_SMP=y
  52.142 -CONFIG_X86_PC=y
  52.143 -# CONFIG_X86_ELAN is not set
  52.144 -# CONFIG_X86_VOYAGER is not set
  52.145 -# CONFIG_X86_NUMAQ is not set
  52.146 -# CONFIG_X86_SUMMIT is not set
  52.147 -# CONFIG_X86_BIGSMP is not set
  52.148 -# CONFIG_X86_VISWS is not set
  52.149 -# CONFIG_X86_GENERICARCH is not set
  52.150 -# CONFIG_X86_ES7000 is not set
  52.151 -# CONFIG_X86_VSMP is not set
  52.152 -CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
  52.153 -# CONFIG_PARAVIRT_GUEST is not set
  52.154 -CONFIG_M386=y
  52.155 -# CONFIG_M486 is not set
  52.156 -# CONFIG_M586 is not set
  52.157 -# CONFIG_M586TSC is not set
  52.158 -# CONFIG_M586MMX is not set
  52.159 -# CONFIG_M686 is not set
  52.160 -# CONFIG_MPENTIUMII is not set
  52.161 -# CONFIG_MPENTIUMIII is not set
  52.162 -# CONFIG_MPENTIUMM is not set
  52.163 -# CONFIG_MPENTIUM4 is not set
  52.164 -# CONFIG_MK6 is not set
  52.165 -# CONFIG_MK7 is not set
  52.166 -# CONFIG_MK8 is not set
  52.167 -# CONFIG_MCRUSOE is not set
  52.168 -# CONFIG_MEFFICEON is not set
  52.169 -# CONFIG_MWINCHIPC6 is not set
  52.170 -# CONFIG_MWINCHIP2 is not set
  52.171 -# CONFIG_MWINCHIP3D is not set
  52.172 -# CONFIG_MGEODEGX1 is not set
  52.173 -# CONFIG_MGEODE_LX is not set
  52.174 -# CONFIG_MCYRIXIII is not set
  52.175 -# CONFIG_MVIAC3_2 is not set
  52.176 -# CONFIG_MVIAC7 is not set
  52.177 -# CONFIG_MPSC is not set
  52.178 -# CONFIG_MCORE2 is not set
  52.179 -# CONFIG_GENERIC_CPU is not set
  52.180 -CONFIG_X86_GENERIC=y
  52.181 -# CONFIG_X86_CMPXCHG is not set
  52.182 -CONFIG_X86_L1_CACHE_SHIFT=7
  52.183 -CONFIG_X86_PPRO_FENCE=y
  52.184 -CONFIG_X86_F00F_BUG=y
  52.185 -CONFIG_X86_INTEL_USERCOPY=y
  52.186 -CONFIG_X86_MINIMUM_CPU_FAMILY=3
  52.187 -# CONFIG_HPET_TIMER is not set
  52.188 -CONFIG_NR_CPUS=8
  52.189 -# CONFIG_SCHED_SMT is not set
  52.190 -CONFIG_SCHED_MC=y
  52.191 -CONFIG_PREEMPT_NONE=y
  52.192 -# CONFIG_PREEMPT_VOLUNTARY is not set
  52.193 -# CONFIG_PREEMPT is not set
  52.194 -CONFIG_PREEMPT_BKL=y
  52.195 -CONFIG_X86_LOCAL_APIC=y
  52.196 -CONFIG_X86_IO_APIC=y
  52.197 -# CONFIG_X86_MCE is not set
  52.198 -CONFIG_VM86=y
  52.199 -# CONFIG_TOSHIBA is not set
  52.200 -# CONFIG_I8K is not set
  52.201 -# CONFIG_X86_REBOOTFIXUPS is not set
  52.202 -# CONFIG_MICROCODE is not set
  52.203 -# CONFIG_X86_MSR is not set
  52.204 -# CONFIG_X86_CPUID is not set
  52.205 -# CONFIG_NOHIGHMEM is not set
  52.206 -CONFIG_HIGHMEM4G=y
  52.207 -# CONFIG_HIGHMEM64G is not set
  52.208 -CONFIG_PAGE_OFFSET=0xC0000000
  52.209 -CONFIG_HIGHMEM=y
  52.210 -CONFIG_ARCH_FLATMEM_ENABLE=y
  52.211 -CONFIG_ARCH_SPARSEMEM_ENABLE=y
  52.212 -CONFIG_ARCH_SELECT_MEMORY_MODEL=y
  52.213 -CONFIG_SELECT_MEMORY_MODEL=y
  52.214 -CONFIG_FLATMEM_MANUAL=y
  52.215 -# CONFIG_DISCONTIGMEM_MANUAL is not set
  52.216 -# CONFIG_SPARSEMEM_MANUAL is not set
  52.217 -CONFIG_FLATMEM=y
  52.218 -CONFIG_FLAT_NODE_MEM_MAP=y
  52.219 -CONFIG_SPARSEMEM_STATIC=y
  52.220 -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
  52.221 -CONFIG_SPLIT_PTLOCK_CPUS=4
  52.222 -# CONFIG_RESOURCES_64BIT is not set
  52.223 -CONFIG_ZONE_DMA_FLAG=1
  52.224 -CONFIG_BOUNCE=y
  52.225 -CONFIG_NR_QUICK=1
  52.226 -CONFIG_VIRT_TO_BUS=y
  52.227 -# CONFIG_HIGHPTE is not set
  52.228 -CONFIG_MATH_EMULATION=y
  52.229 -CONFIG_MTRR=y
  52.230 -CONFIG_IRQBALANCE=y
  52.231 -# CONFIG_SECCOMP is not set
  52.232 -# CONFIG_HZ_100 is not set
  52.233 -# CONFIG_HZ_250 is not set
  52.234 -CONFIG_HZ_300=y
  52.235 -# CONFIG_HZ_1000 is not set
  52.236 -CONFIG_HZ=300
  52.237 -# CONFIG_KEXEC is not set
  52.238 -# CONFIG_CRASH_DUMP is not set
  52.239 -CONFIG_PHYSICAL_START=0x100000
  52.240 -# CONFIG_RELOCATABLE is not set
  52.241 -CONFIG_PHYSICAL_ALIGN=0x100000
  52.242 -# CONFIG_HOTPLUG_CPU is not set
  52.243 -CONFIG_COMPAT_VDSO=y
  52.244 -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
  52.245 -
  52.246 -#
  52.247 -# Power management options
  52.248 -#
  52.249 -# CONFIG_PM is not set
  52.250 -CONFIG_SUSPEND_SMP_POSSIBLE=y
  52.251 -CONFIG_HIBERNATION_SMP_POSSIBLE=y
  52.252 -
  52.253 -#
  52.254 -# CPU Frequency scaling
  52.255 -#
  52.256 -# CONFIG_CPU_FREQ is not set
  52.257 -# CONFIG_CPU_IDLE is not set
  52.258 -
  52.259 -#
  52.260 -# Bus options (PCI etc.)
  52.261 -#
  52.262 -CONFIG_PCI=y
  52.263 -# CONFIG_PCI_GOBIOS is not set
  52.264 -# CONFIG_PCI_GOMMCONFIG is not set
  52.265 -# CONFIG_PCI_GODIRECT is not set
  52.266 -CONFIG_PCI_GOANY=y
  52.267 -CONFIG_PCI_BIOS=y
  52.268 -CONFIG_PCI_DIRECT=y
  52.269 -CONFIG_PCI_DOMAINS=y
  52.270 -# CONFIG_PCIEPORTBUS is not set
  52.271 -CONFIG_ARCH_SUPPORTS_MSI=y
  52.272 -# CONFIG_PCI_MSI is not set
  52.273 -CONFIG_PCI_LEGACY=y
  52.274 -CONFIG_HT_IRQ=y
  52.275 -CONFIG_ISA_DMA_API=y
  52.276 -CONFIG_ISA=y
  52.277 -# CONFIG_EISA is not set
  52.278 -# CONFIG_MCA is not set
  52.279 -# CONFIG_SCx200 is not set
  52.280 -CONFIG_PCCARD=m
  52.281 -# CONFIG_PCMCIA_DEBUG is not set
  52.282 -CONFIG_PCMCIA=m
  52.283 -CONFIG_PCMCIA_LOAD_CIS=y
  52.284 -CONFIG_PCMCIA_IOCTL=y
  52.285 -CONFIG_CARDBUS=y
  52.286 -
  52.287 -#
  52.288 -# PC-card bridges
  52.289 -#
  52.290 -CONFIG_YENTA=m
  52.291 -CONFIG_YENTA_O2=y
  52.292 -CONFIG_YENTA_RICOH=y
  52.293 -CONFIG_YENTA_TI=y
  52.294 -CONFIG_YENTA_ENE_TUNE=y
  52.295 -CONFIG_YENTA_TOSHIBA=y
  52.296 -CONFIG_PD6729=m
  52.297 -CONFIG_I82092=m
  52.298 -CONFIG_I82365=m
  52.299 -# CONFIG_TCIC is not set
  52.300 -CONFIG_PCMCIA_PROBE=y
  52.301 -CONFIG_PCCARD_NONSTATIC=m
  52.302 -# CONFIG_HOTPLUG_PCI is not set
  52.303 -
  52.304 -#
  52.305 -# Executable file formats / Emulations
  52.306 -#
  52.307 -CONFIG_BINFMT_ELF=y
  52.308 -# CONFIG_BINFMT_AOUT is not set
  52.309 -# CONFIG_BINFMT_MISC is not set
  52.310 -
  52.311 -#
  52.312 -# Networking
  52.313 -#
  52.314 -CONFIG_NET=y
  52.315 -
  52.316 -#
  52.317 -# Networking options
  52.318 -#
  52.319 -CONFIG_PACKET=y
  52.320 -# CONFIG_PACKET_MMAP is not set
  52.321 -CONFIG_UNIX=y
  52.322 -CONFIG_XFRM=y
  52.323 -# CONFIG_XFRM_USER is not set
  52.324 -# CONFIG_XFRM_SUB_POLICY is not set
  52.325 -# CONFIG_XFRM_MIGRATE is not set
  52.326 -CONFIG_NET_KEY=y
  52.327 -# CONFIG_NET_KEY_MIGRATE is not set
  52.328 -CONFIG_INET=y
  52.329 -# CONFIG_IP_MULTICAST is not set
  52.330 -# CONFIG_IP_ADVANCED_ROUTER is not set
  52.331 -CONFIG_IP_FIB_HASH=y
  52.332 -# CONFIG_IP_PNP is not set
  52.333 -# CONFIG_NET_IPIP is not set
  52.334 -# CONFIG_NET_IPGRE is not set
  52.335 -# CONFIG_ARPD is not set
  52.336 -CONFIG_SYN_COOKIES=y
  52.337 -CONFIG_INET_AH=y
  52.338 -CONFIG_INET_ESP=y
  52.339 -CONFIG_INET_IPCOMP=y
  52.340 -CONFIG_INET_XFRM_TUNNEL=y
  52.341 -CONFIG_INET_TUNNEL=y
  52.342 -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
  52.343 -# CONFIG_INET_XFRM_MODE_TUNNEL is not set
  52.344 -# CONFIG_INET_XFRM_MODE_BEET is not set
  52.345 -# CONFIG_INET_LRO is not set
  52.346 -CONFIG_INET_DIAG=y
  52.347 -CONFIG_INET_TCP_DIAG=y
  52.348 -# CONFIG_TCP_CONG_ADVANCED is not set
  52.349 -CONFIG_TCP_CONG_CUBIC=y
  52.350 -CONFIG_DEFAULT_TCP_CONG="cubic"
  52.351 -# CONFIG_TCP_MD5SIG is not set
  52.352 -# CONFIG_IP_VS is not set
  52.353 -# CONFIG_IPV6 is not set
  52.354 -# CONFIG_INET6_XFRM_TUNNEL is not set
  52.355 -# CONFIG_INET6_TUNNEL is not set
  52.356 -# CONFIG_NETWORK_SECMARK is not set
  52.357 -CONFIG_NETFILTER=y
  52.358 -# CONFIG_NETFILTER_DEBUG is not set
  52.359 -
  52.360 -#
  52.361 -# Core Netfilter Configuration
  52.362 -#
  52.363 -CONFIG_NETFILTER_NETLINK=y
  52.364 -# CONFIG_NETFILTER_NETLINK_QUEUE is not set
  52.365 -CONFIG_NETFILTER_NETLINK_LOG=m
  52.366 -# CONFIG_NF_CONNTRACK_ENABLED is not set
  52.367 -# CONFIG_NF_CONNTRACK is not set
  52.368 -CONFIG_NETFILTER_XTABLES=y
  52.369 -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
  52.370 -# CONFIG_NETFILTER_XT_TARGET_MARK is not set
  52.371 -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
  52.372 -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
  52.373 -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
  52.374 -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
  52.375 -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
  52.376 -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
  52.377 -# CONFIG_NETFILTER_XT_MATCH_ESP is not set
  52.378 -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
  52.379 -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
  52.380 -# CONFIG_NETFILTER_XT_MATCH_MAC is not set
  52.381 -# CONFIG_NETFILTER_XT_MATCH_MARK is not set
  52.382 -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
  52.383 -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
  52.384 -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
  52.385 -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
  52.386 -# CONFIG_NETFILTER_XT_MATCH_REALM is not set
  52.387 -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
  52.388 -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
  52.389 -# CONFIG_NETFILTER_XT_MATCH_STRING is not set
  52.390 -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
  52.391 -# CONFIG_NETFILTER_XT_MATCH_TIME is not set
  52.392 -# CONFIG_NETFILTER_XT_MATCH_U32 is not set
  52.393 -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
  52.394 -
  52.395 -#
  52.396 -# IP: Netfilter Configuration
  52.397 -#
  52.398 -# CONFIG_IP_NF_QUEUE is not set
  52.399 -CONFIG_IP_NF_IPTABLES=y
  52.400 -# CONFIG_IP_NF_MATCH_IPRANGE is not set
  52.401 -# CONFIG_IP_NF_MATCH_TOS is not set
  52.402 -# CONFIG_IP_NF_MATCH_RECENT is not set
  52.403 -# CONFIG_IP_NF_MATCH_ECN is not set
  52.404 -# CONFIG_IP_NF_MATCH_AH is not set
  52.405 -# CONFIG_IP_NF_MATCH_TTL is not set
  52.406 -# CONFIG_IP_NF_MATCH_OWNER is not set
  52.407 -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
  52.408 -CONFIG_IP_NF_FILTER=y
  52.409 -CONFIG_IP_NF_TARGET_REJECT=m
  52.410 -# CONFIG_IP_NF_TARGET_LOG is not set
  52.411 -# CONFIG_IP_NF_TARGET_ULOG is not set
  52.412 -# CONFIG_IP_NF_MANGLE is not set
  52.413 -# CONFIG_IP_NF_RAW is not set
  52.414 -# CONFIG_IP_NF_ARPTABLES is not set
  52.415 -# CONFIG_IP_DCCP is not set
  52.416 -# CONFIG_IP_SCTP is not set
  52.417 -# CONFIG_TIPC is not set
  52.418 -# CONFIG_ATM is not set
  52.419 -# CONFIG_BRIDGE is not set
  52.420 -# CONFIG_VLAN_8021Q is not set
  52.421 -# CONFIG_DECNET is not set
  52.422 -# CONFIG_LLC2 is not set
  52.423 -# CONFIG_IPX is not set
  52.424 -# CONFIG_ATALK is not set
  52.425 -# CONFIG_X25 is not set
  52.426 -# CONFIG_LAPB is not set
  52.427 -# CONFIG_ECONET is not set
  52.428 -# CONFIG_WAN_ROUTER is not set
  52.429 -# CONFIG_NET_SCHED is not set
  52.430 -
  52.431 -#
  52.432 -# Network testing
  52.433 -#
  52.434 -# CONFIG_NET_PKTGEN is not set
  52.435 -# CONFIG_HAMRADIO is not set
  52.436 -# CONFIG_IRDA is not set
  52.437 -# CONFIG_BT is not set
  52.438 -# CONFIG_AF_RXRPC is not set
  52.439 -
  52.440 -#
  52.441 -# Wireless
  52.442 -#
  52.443 -# CONFIG_CFG80211 is not set
  52.444 -# CONFIG_WIRELESS_EXT is not set
  52.445 -# CONFIG_MAC80211 is not set
  52.446 -# CONFIG_IEEE80211 is not set
  52.447 -# CONFIG_RFKILL is not set
  52.448 -# CONFIG_NET_9P is not set
  52.449 -
  52.450 -#
  52.451 -# Device Drivers
  52.452 -#
  52.453 -
  52.454 -#
  52.455 -# Generic Driver Options
  52.456 -#
  52.457 -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
  52.458 -CONFIG_STANDALONE=y
  52.459 -CONFIG_PREVENT_FIRMWARE_BUILD=y
  52.460 -CONFIG_FW_LOADER=m
  52.461 -# CONFIG_SYS_HYPERVISOR is not set
  52.462 -# CONFIG_CONNECTOR is not set
  52.463 -# CONFIG_MTD is not set
  52.464 -# CONFIG_PARPORT is not set
  52.465 -CONFIG_PNP=y
  52.466 -# CONFIG_PNP_DEBUG is not set
  52.467 -
  52.468 -#
  52.469 -# Protocols
  52.470 -#
  52.471 -CONFIG_ISAPNP=y
  52.472 -# CONFIG_PNPBIOS is not set
  52.473 -# CONFIG_PNPACPI is not set
  52.474 -CONFIG_BLK_DEV=y
  52.475 -CONFIG_BLK_DEV_FD=y
  52.476 -# CONFIG_BLK_DEV_XD is not set
  52.477 -# CONFIG_BLK_CPQ_DA is not set
  52.478 -# CONFIG_BLK_CPQ_CISS_DA is not set
  52.479 -# CONFIG_BLK_DEV_DAC960 is not set
  52.480 -# CONFIG_BLK_DEV_UMEM is not set
  52.481 -# CONFIG_BLK_DEV_COW_COMMON is not set
  52.482 -CONFIG_BLK_DEV_LOOP=y
  52.483 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set
  52.484 -# CONFIG_BLK_DEV_NBD is not set
  52.485 -# CONFIG_BLK_DEV_SX8 is not set
  52.486 -# CONFIG_BLK_DEV_UB is not set
  52.487 -CONFIG_BLK_DEV_RAM=y
  52.488 -CONFIG_BLK_DEV_RAM_COUNT=16
  52.489 -CONFIG_BLK_DEV_RAM_SIZE=4096
  52.490 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
  52.491 -# CONFIG_RD_BZIP2 is not set
  52.492 -CONFIG_RD_LZMA=y
  52.493 -CONFIG_RD_GZIP=y
  52.494 -# CONFIG_CDROM_PKTCDVD is not set
  52.495 -# CONFIG_ATA_OVER_ETH is not set
  52.496 -CONFIG_MISC_DEVICES=y
  52.497 -# CONFIG_IBM_ASM is not set
  52.498 -# CONFIG_PHANTOM is not set
  52.499 -# CONFIG_EEPROM_93CX6 is not set
  52.500 -# CONFIG_SGI_IOC4 is not set
  52.501 -# CONFIG_TIFM_CORE is not set
  52.502 -CONFIG_IDE=y
  52.503 -CONFIG_BLK_DEV_IDE=y
  52.504 -
  52.505 -#
  52.506 -# Please see Documentation/ide.txt for help/info on IDE drives
  52.507 -#
  52.508 -# CONFIG_BLK_DEV_IDE_SATA is not set
  52.509 -# CONFIG_BLK_DEV_HD_IDE is not set
  52.510 -CONFIG_BLK_DEV_IDEDISK=y
  52.511 -CONFIG_IDEDISK_MULTI_MODE=y
  52.512 -# CONFIG_BLK_DEV_IDECS is not set
  52.513 -# CONFIG_BLK_DEV_DELKIN is not set
  52.514 -CONFIG_BLK_DEV_IDECD=y
  52.515 -# CONFIG_BLK_DEV_IDETAPE is not set
  52.516 -CONFIG_BLK_DEV_IDEFLOPPY=y
  52.517 -# CONFIG_BLK_DEV_IDESCSI is not set
  52.518 -# CONFIG_IDE_TASK_IOCTL is not set
  52.519 -CONFIG_IDE_PROC_FS=y
  52.520 -
  52.521 -#
  52.522 -# IDE chipset support/bugfixes
  52.523 -#
  52.524 -CONFIG_IDE_GENERIC=y
  52.525 -# CONFIG_BLK_DEV_PLATFORM is not set
  52.526 -CONFIG_BLK_DEV_CMD640=y
  52.527 -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
  52.528 -# CONFIG_BLK_DEV_IDEPNP is not set
  52.529 -
  52.530 -#
  52.531 -# PCI IDE chipsets support
  52.532 -#
  52.533 -CONFIG_BLK_DEV_IDEPCI=y
  52.534 -CONFIG_IDEPCI_SHARE_IRQ=y
  52.535 -CONFIG_IDEPCI_PCIBUS_ORDER=y
  52.536 -# CONFIG_BLK_DEV_OFFBOARD is not set
  52.537 -CONFIG_BLK_DEV_GENERIC=y
  52.538 -# CONFIG_BLK_DEV_OPTI621 is not set
  52.539 -CONFIG_BLK_DEV_RZ1000=y
  52.540 -CONFIG_BLK_DEV_IDEDMA_PCI=y
  52.541 -CONFIG_BLK_DEV_AEC62XX=y
  52.542 -CONFIG_BLK_DEV_ALI15X3=y
  52.543 -# CONFIG_WDC_ALI15X3 is not set
  52.544 -CONFIG_BLK_DEV_AMD74XX=y
  52.545 -CONFIG_BLK_DEV_ATIIXP=y
  52.546 -CONFIG_BLK_DEV_CMD64X=y
  52.547 -CONFIG_BLK_DEV_TRIFLEX=y
  52.548 -CONFIG_BLK_DEV_CY82C693=y
  52.549 -# CONFIG_BLK_DEV_CS5520 is not set
  52.550 -CONFIG_BLK_DEV_CS5530=y
  52.551 -CONFIG_BLK_DEV_CS5535=y
  52.552 -# CONFIG_BLK_DEV_HPT34X is not set
  52.553 -# CONFIG_BLK_DEV_HPT366 is not set
  52.554 -CONFIG_BLK_DEV_JMICRON=y
  52.555 -# CONFIG_BLK_DEV_SC1200 is not set
  52.556 -CONFIG_BLK_DEV_PIIX=y
  52.557 -CONFIG_BLK_DEV_IT8213=y
  52.558 -CONFIG_BLK_DEV_IT821X=y
  52.559 -CONFIG_BLK_DEV_NS87415=y
  52.560 -# CONFIG_BLK_DEV_PDC202XX_OLD is not set
  52.561 -CONFIG_BLK_DEV_PDC202XX_NEW=y
  52.562 -CONFIG_BLK_DEV_SVWKS=y
  52.563 -CONFIG_BLK_DEV_SIIMAGE=y
  52.564 -CONFIG_BLK_DEV_SIS5513=y
  52.565 -CONFIG_BLK_DEV_SLC90E66=y
  52.566 -CONFIG_BLK_DEV_TRM290=y
  52.567 -CONFIG_BLK_DEV_VIA82CXXX=y
  52.568 -# CONFIG_BLK_DEV_TC86C001 is not set
  52.569 -# CONFIG_IDE_ARM is not set
  52.570 -
  52.571 -#
  52.572 -# Other IDE chipsets support
  52.573 -#
  52.574 -
  52.575 -#
  52.576 -# Note: most of these also require special kernel boot parameters
  52.577 -#
  52.578 -# CONFIG_BLK_DEV_4DRIVES is not set
  52.579 -# CONFIG_BLK_DEV_ALI14XX is not set
  52.580 -# CONFIG_BLK_DEV_DTC2278 is not set
  52.581 -# CONFIG_BLK_DEV_HT6560B is not set
  52.582 -# CONFIG_BLK_DEV_QD65XX is not set
  52.583 -# CONFIG_BLK_DEV_UMC8672 is not set
  52.584 -CONFIG_BLK_DEV_IDEDMA=y
  52.585 -CONFIG_IDE_ARCH_OBSOLETE_INIT=y
  52.586 -# CONFIG_BLK_DEV_HD is not set
  52.587 -
  52.588 -#
  52.589 -# SCSI device support
  52.590 -#
  52.591 -# CONFIG_RAID_ATTRS is not set
  52.592 -CONFIG_SCSI=y
  52.593 -CONFIG_SCSI_DMA=y
  52.594 -# CONFIG_SCSI_TGT is not set
  52.595 -# CONFIG_SCSI_NETLINK is not set
  52.596 -CONFIG_SCSI_PROC_FS=y
  52.597 -
  52.598 -#
  52.599 -# SCSI support type (disk, tape, CD-ROM)
  52.600 -#
  52.601 -CONFIG_BLK_DEV_SD=y
  52.602 -# CONFIG_CHR_DEV_ST is not set
  52.603 -# CONFIG_CHR_DEV_OSST is not set
  52.604 -# CONFIG_BLK_DEV_SR is not set
  52.605 -# CONFIG_CHR_DEV_SG is not set
  52.606 -# CONFIG_CHR_DEV_SCH is not set
  52.607 -
  52.608 -#
  52.609 -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
  52.610 -#
  52.611 -# CONFIG_SCSI_MULTI_LUN is not set
  52.612 -# CONFIG_SCSI_CONSTANTS is not set
  52.613 -# CONFIG_SCSI_LOGGING is not set
  52.614 -# CONFIG_SCSI_SCAN_ASYNC is not set
  52.615 -CONFIG_SCSI_WAIT_SCAN=m
  52.616 -
  52.617 -#
  52.618 -# SCSI Transports
  52.619 -#
  52.620 -# CONFIG_SCSI_SPI_ATTRS is not set
  52.621 -# CONFIG_SCSI_FC_ATTRS is not set
  52.622 -# CONFIG_SCSI_ISCSI_ATTRS is not set
  52.623 -# CONFIG_SCSI_SAS_LIBSAS is not set
  52.624 -# CONFIG_SCSI_SRP_ATTRS is not set
  52.625 -CONFIG_SCSI_LOWLEVEL=y
  52.626 -# CONFIG_ISCSI_TCP is not set
  52.627 -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
  52.628 -# CONFIG_SCSI_3W_9XXX is not set
  52.629 -# CONFIG_SCSI_7000FASST is not set
  52.630 -# CONFIG_SCSI_ACARD is not set
  52.631 -# CONFIG_SCSI_AHA152X is not set
  52.632 -# CONFIG_SCSI_AHA1542 is not set
  52.633 -# CONFIG_SCSI_AACRAID is not set
  52.634 -# CONFIG_SCSI_AIC7XXX is not set
  52.635 -# CONFIG_SCSI_AIC7XXX_OLD is not set
  52.636 -# CONFIG_SCSI_AIC79XX is not set
  52.637 -# CONFIG_SCSI_AIC94XX is not set
  52.638 -# CONFIG_SCSI_DPT_I2O is not set
  52.639 -# CONFIG_SCSI_ADVANSYS is not set
  52.640 -# CONFIG_SCSI_IN2000 is not set
  52.641 -# CONFIG_SCSI_ARCMSR is not set
  52.642 -# CONFIG_MEGARAID_NEWGEN is not set
  52.643 -# CONFIG_MEGARAID_LEGACY is not set
  52.644 -# CONFIG_MEGARAID_SAS is not set
  52.645 -# CONFIG_SCSI_HPTIOP is not set
  52.646 -# CONFIG_SCSI_BUSLOGIC is not set
  52.647 -# CONFIG_SCSI_DMX3191D is not set
  52.648 -# CONFIG_SCSI_DTC3280 is not set
  52.649 -# CONFIG_SCSI_EATA is not set
  52.650 -# CONFIG_SCSI_FUTURE_DOMAIN is not set
  52.651 -# CONFIG_SCSI_GDTH is not set
  52.652 -# CONFIG_SCSI_GENERIC_NCR5380 is not set
  52.653 -# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
  52.654 -# CONFIG_SCSI_IPS is not set
  52.655 -# CONFIG_SCSI_INITIO is not set
  52.656 -# CONFIG_SCSI_INIA100 is not set
  52.657 -# CONFIG_SCSI_NCR53C406A is not set
  52.658 -# CONFIG_SCSI_STEX is not set
  52.659 -# CONFIG_SCSI_SYM53C8XX_2 is not set
  52.660 -# CONFIG_SCSI_IPR is not set
  52.661 -# CONFIG_SCSI_PAS16 is not set
  52.662 -# CONFIG_SCSI_PSI240I is not set
  52.663 -# CONFIG_SCSI_QLOGIC_FAS is not set
  52.664 -# CONFIG_SCSI_QLOGIC_1280 is not set
  52.665 -# CONFIG_SCSI_QLA_FC is not set
  52.666 -# CONFIG_SCSI_QLA_ISCSI is not set
  52.667 -# CONFIG_SCSI_LPFC is not set
  52.668 -# CONFIG_SCSI_SEAGATE is not set
  52.669 -# CONFIG_SCSI_SYM53C416 is not set
  52.670 -# CONFIG_SCSI_DC395x is not set
  52.671 -# CONFIG_SCSI_DC390T is not set
  52.672 -# CONFIG_SCSI_T128 is not set
  52.673 -# CONFIG_SCSI_U14_34F is not set
  52.674 -# CONFIG_SCSI_ULTRASTOR is not set
  52.675 -# CONFIG_SCSI_NSP32 is not set
  52.676 -# CONFIG_SCSI_DEBUG is not set
  52.677 -# CONFIG_SCSI_SRP is not set
  52.678 -# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
  52.679 -CONFIG_ATA=y
  52.680 -# CONFIG_ATA_NONSTANDARD is not set
  52.681 -CONFIG_SATA_AHCI=y
  52.682 -# CONFIG_SATA_SVW is not set
  52.683 -CONFIG_ATA_PIIX=y
  52.684 -# CONFIG_SATA_MV is not set
  52.685 -CONFIG_SATA_NV=y
  52.686 -# CONFIG_PDC_ADMA is not set
  52.687 -# CONFIG_SATA_QSTOR is not set
  52.688 -# CONFIG_SATA_PROMISE is not set
  52.689 -# CONFIG_SATA_SX4 is not set
  52.690 -# CONFIG_SATA_SIL is not set
  52.691 -# CONFIG_SATA_SIL24 is not set
  52.692 -CONFIG_SATA_SIS=y
  52.693 -# CONFIG_SATA_ULI is not set
  52.694 -CONFIG_SATA_VIA=y
  52.695 -# CONFIG_SATA_VITESSE is not set
  52.696 -# CONFIG_SATA_INIC162X is not set
  52.697 -# CONFIG_PATA_ALI is not set
  52.698 -# CONFIG_PATA_AMD is not set
  52.699 -# CONFIG_PATA_ARTOP is not set
  52.700 -# CONFIG_PATA_ATIIXP is not set
  52.701 -# CONFIG_PATA_CMD640_PCI is not set
  52.702 -# CONFIG_PATA_CMD64X is not set
  52.703 -# CONFIG_PATA_CS5520 is not set
  52.704 -# CONFIG_PATA_CS5530 is not set
  52.705 -# CONFIG_PATA_CS5535 is not set
  52.706 -# CONFIG_PATA_CS5536 is not set
  52.707 -# CONFIG_PATA_CYPRESS is not set
  52.708 -# CONFIG_PATA_EFAR is not set
  52.709 -# CONFIG_ATA_GENERIC is not set
  52.710 -# CONFIG_PATA_HPT366 is not set
  52.711 -# CONFIG_PATA_HPT37X is not set
  52.712 -# CONFIG_PATA_HPT3X2N is not set
  52.713 -# CONFIG_PATA_HPT3X3 is not set
  52.714 -# CONFIG_PATA_ISAPNP is not set
  52.715 -# CONFIG_PATA_IT821X is not set
  52.716 -# CONFIG_PATA_IT8213 is not set
  52.717 -# CONFIG_PATA_JMICRON is not set
  52.718 -# CONFIG_PATA_LEGACY is not set
  52.719 -# CONFIG_PATA_TRIFLEX is not set
  52.720 -# CONFIG_PATA_MARVELL is not set
  52.721 -# CONFIG_PATA_MPIIX is not set
  52.722 -# CONFIG_PATA_OLDPIIX is not set
  52.723 -# CONFIG_PATA_NETCELL is not set
  52.724 -# CONFIG_PATA_NS87410 is not set
  52.725 -# CONFIG_PATA_NS87415 is not set
  52.726 -# CONFIG_PATA_OPTI is not set
  52.727 -# CONFIG_PATA_OPTIDMA is not set
  52.728 -# CONFIG_PATA_PCMCIA is not set
  52.729 -# CONFIG_PATA_PDC_OLD is not set
  52.730 -# CONFIG_PATA_QDI is not set
  52.731 -# CONFIG_PATA_RADISYS is not set
  52.732 -# CONFIG_PATA_RZ1000 is not set
  52.733 -# CONFIG_PATA_SC1200 is not set
  52.734 -# CONFIG_PATA_SERVERWORKS is not set
  52.735 -# CONFIG_PATA_PDC2027X is not set
  52.736 -# CONFIG_PATA_SIL680 is not set
  52.737 -CONFIG_PATA_SIS=y
  52.738 -# CONFIG_PATA_VIA is not set
  52.739 -# CONFIG_PATA_WINBOND is not set
  52.740 -# CONFIG_PATA_WINBOND_VLB is not set
  52.741 -# CONFIG_MD is not set
  52.742 -# CONFIG_FUSION is not set
  52.743 -
  52.744 -#
  52.745 -# IEEE 1394 (FireWire) support
  52.746 -#
  52.747 -# CONFIG_FIREWIRE is not set
  52.748 -# CONFIG_IEEE1394 is not set
  52.749 -# CONFIG_I2O is not set
  52.750 -# CONFIG_MACINTOSH_DRIVERS is not set
  52.751 -CONFIG_NETDEVICES=y
  52.752 -# CONFIG_NETDEVICES_MULTIQUEUE is not set
  52.753 -CONFIG_DUMMY=y
  52.754 -# CONFIG_BONDING is not set
  52.755 -# CONFIG_MACVLAN is not set
  52.756 -# CONFIG_EQUALIZER is not set
  52.757 -# CONFIG_TUN is not set
  52.758 -# CONFIG_VETH is not set
  52.759 -# CONFIG_NET_SB1000 is not set
  52.760 -CONFIG_ARCNET=m
  52.761 -CONFIG_ARCNET_1201=m
  52.762 -# CONFIG_ARCNET_1051 is not set
  52.763 -# CONFIG_ARCNET_RAW is not set
  52.764 -# CONFIG_ARCNET_CAP is not set
  52.765 -CONFIG_ARCNET_COM90xx=m
  52.766 -# CONFIG_ARCNET_COM90xxIO is not set
  52.767 -# CONFIG_ARCNET_RIM_I is not set
  52.768 -# CONFIG_ARCNET_COM20020 is not set
  52.769 -CONFIG_PHYLIB=m
  52.770 -
  52.771 -#
  52.772 -# MII PHY device drivers
  52.773 -#
  52.774 -CONFIG_MARVELL_PHY=m
  52.775 -CONFIG_DAVICOM_PHY=m
  52.776 -CONFIG_QSEMI_PHY=m
  52.777 -CONFIG_LXT_PHY=m
  52.778 -CONFIG_CICADA_PHY=m
  52.779 -# CONFIG_VITESSE_PHY is not set
  52.780 -# CONFIG_SMSC_PHY is not set
  52.781 -CONFIG_BROADCOM_PHY=m
  52.782 -# CONFIG_ICPLUS_PHY is not set
  52.783 -# CONFIG_FIXED_PHY is not set
  52.784 -# CONFIG_MDIO_BITBANG is not set
  52.785 -CONFIG_NET_ETHERNET=y
  52.786 -CONFIG_MII=y
  52.787 -CONFIG_HAPPYMEAL=m
  52.788 -CONFIG_SUNGEM=m
  52.789 -CONFIG_CASSINI=m
  52.790 -CONFIG_NET_VENDOR_3COM=y
  52.791 -CONFIG_EL1=m
  52.792 -CONFIG_EL2=m
  52.793 -CONFIG_ELPLUS=m
  52.794 -# CONFIG_EL16 is not set
  52.795 -CONFIG_EL3=m
  52.796 -CONFIG_3C515=m
  52.797 -CONFIG_VORTEX=m
  52.798 -CONFIG_TYPHOON=m
  52.799 -CONFIG_LANCE=m
  52.800 -CONFIG_NET_VENDOR_SMC=y
  52.801 -CONFIG_WD80x3=m
  52.802 -CONFIG_ULTRA=m
  52.803 -CONFIG_SMC9194=m
  52.804 -CONFIG_NET_VENDOR_RACAL=y
  52.805 -CONFIG_NI52=m
  52.806 -CONFIG_NI65=m
  52.807 -CONFIG_NET_TULIP=y
  52.808 -# CONFIG_DE2104X is not set
  52.809 -CONFIG_TULIP=m
  52.810 -# CONFIG_TULIP_MWI is not set
  52.811 -# CONFIG_TULIP_MMIO is not set
  52.812 -# CONFIG_TULIP_NAPI is not set
  52.813 -CONFIG_DE4X5=y
  52.814 -CONFIG_WINBOND_840=y
  52.815 -CONFIG_DM9102=y
  52.816 -CONFIG_ULI526X=m
  52.817 -CONFIG_PCMCIA_XIRCOM=y
  52.818 -# CONFIG_AT1700 is not set
  52.819 -CONFIG_DEPCA=m
  52.820 -CONFIG_HP100=m
  52.821 -CONFIG_NET_ISA=y
  52.822 -CONFIG_E2100=m
  52.823 -CONFIG_EWRK3=m
  52.824 -CONFIG_EEXPRESS=m
  52.825 -CONFIG_EEXPRESS_PRO=m
  52.826 -CONFIG_HPLAN_PLUS=m
  52.827 -CONFIG_HPLAN=m
  52.828 -CONFIG_LP486E=m
  52.829 -CONFIG_ETH16I=m
  52.830 -CONFIG_NE2000=m
  52.831 -# CONFIG_ZNET is not set
  52.832 -# CONFIG_SEEQ8005 is not set
  52.833 -# CONFIG_IBM_NEW_EMAC_ZMII is not set
  52.834 -# CONFIG_IBM_NEW_EMAC_RGMII is not set
  52.835 -# CONFIG_IBM_NEW_EMAC_TAH is not set
  52.836 -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
  52.837 -CONFIG_NET_PCI=y
  52.838 -CONFIG_PCNET32=y
  52.839 -# CONFIG_PCNET32_NAPI is not set
  52.840 -CONFIG_AMD8111_ETH=m
  52.841 -# CONFIG_AMD8111E_NAPI is not set
  52.842 -CONFIG_ADAPTEC_STARFIRE=m
  52.843 -# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
  52.844 -# CONFIG_AC3200 is not set
  52.845 -CONFIG_APRICOT=m
  52.846 -CONFIG_B44=y
  52.847 -CONFIG_B44_PCI_AUTOSELECT=y
  52.848 -CONFIG_B44_PCICORE_AUTOSELECT=y
  52.849 -CONFIG_B44_PCI=y
  52.850 -CONFIG_FORCEDETH=y
  52.851 -# CONFIG_FORCEDETH_NAPI is not set
  52.852 -CONFIG_CS89x0=m
  52.853 -CONFIG_EEPRO100=y
  52.854 -CONFIG_E100=y
  52.855 -CONFIG_FEALNX=m
  52.856 -CONFIG_NATSEMI=y
  52.857 -CONFIG_NE2K_PCI=y
  52.858 -# CONFIG_8139CP is not set
  52.859 -CONFIG_8139TOO=y
  52.860 -# CONFIG_8139TOO_PIO is not set
  52.861 -CONFIG_8139TOO_TUNE_TWISTER=y
  52.862 -CONFIG_8139TOO_8129=y
  52.863 -# CONFIG_8139_OLD_RX_RESET is not set
  52.864 -CONFIG_SIS900=y
  52.865 -CONFIG_EPIC100=y
  52.866 -CONFIG_SUNDANCE=y
  52.867 -# CONFIG_SUNDANCE_MMIO is not set
  52.868 -CONFIG_TLAN=y
  52.869 -CONFIG_VIA_RHINE=y
  52.870 -CONFIG_VIA_RHINE_MMIO=y
  52.871 -# CONFIG_VIA_RHINE_NAPI is not set
  52.872 -# CONFIG_SC92031 is not set
  52.873 -CONFIG_NETDEV_1000=y
  52.874 -# CONFIG_ACENIC is not set
  52.875 -CONFIG_DL2K=m
  52.876 -CONFIG_E1000=m
  52.877 -# CONFIG_E1000_NAPI is not set
  52.878 -# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
  52.879 -# CONFIG_E1000E is not set
  52.880 -# CONFIG_IP1000 is not set
  52.881 -# CONFIG_NS83820 is not set
  52.882 -# CONFIG_HAMACHI is not set
  52.883 -# CONFIG_YELLOWFIN is not set
  52.884 -CONFIG_R8169=y
  52.885 -# CONFIG_R8169_NAPI is not set
  52.886 -CONFIG_SIS190=m
  52.887 -# CONFIG_SKGE is not set
  52.888 -# CONFIG_SKY2 is not set
  52.889 -# CONFIG_SK98LIN is not set
  52.890 -CONFIG_VIA_VELOCITY=m
  52.891 -CONFIG_TIGON3=m
  52.892 -CONFIG_BNX2=m
  52.893 -# CONFIG_QLA3XXX is not set
  52.894 -# CONFIG_ATL1 is not set
  52.895 -# CONFIG_NETDEV_10000 is not set
  52.896 -# CONFIG_TR is not set
  52.897 -
  52.898 -#
  52.899 -# Wireless LAN
  52.900 -#
  52.901 -# CONFIG_WLAN_PRE80211 is not set
  52.902 -# CONFIG_WLAN_80211 is not set
  52.903 -
  52.904 -#
  52.905 -# USB Network Adapters
  52.906 -#
  52.907 -# CONFIG_USB_CATC is not set
  52.908 -# CONFIG_USB_KAWETH is not set
  52.909 -# CONFIG_USB_PEGASUS is not set
  52.910 -# CONFIG_USB_RTL8150 is not set
  52.911 -# CONFIG_USB_USBNET is not set
  52.912 -CONFIG_NET_PCMCIA=y
  52.913 -CONFIG_PCMCIA_3C589=m
  52.914 -CONFIG_PCMCIA_3C574=m
  52.915 -CONFIG_PCMCIA_FMVJ18X=m
  52.916 -CONFIG_PCMCIA_PCNET=m
  52.917 -CONFIG_PCMCIA_NMCLAN=m
  52.918 -CONFIG_PCMCIA_SMC91C92=m
  52.919 -CONFIG_PCMCIA_XIRC2PS=m
  52.920 -CONFIG_PCMCIA_AXNET=m
  52.921 -# CONFIG_WAN is not set
  52.922 -# CONFIG_FDDI is not set
  52.923 -# CONFIG_HIPPI is not set
  52.924 -CONFIG_PPP=y
  52.925 -# CONFIG_PPP_MULTILINK is not set
  52.926 -# CONFIG_PPP_FILTER is not set
  52.927 -CONFIG_PPP_ASYNC=y
  52.928 -# CONFIG_PPP_SYNC_TTY is not set
  52.929 -# CONFIG_PPP_DEFLATE is not set
  52.930 -# CONFIG_PPP_BSDCOMP is not set
  52.931 -# CONFIG_PPP_MPPE is not set
  52.932 -CONFIG_PPPOE=y
  52.933 -# CONFIG_PPPOL2TP is not set
  52.934 -# CONFIG_SLIP is not set
  52.935 -CONFIG_SLHC=y
  52.936 -# CONFIG_NET_FC is not set
  52.937 -# CONFIG_SHAPER is not set
  52.938 -# CONFIG_NETCONSOLE is not set
  52.939 -# CONFIG_NETPOLL is not set
  52.940 -# CONFIG_NET_POLL_CONTROLLER is not set
  52.941 -# CONFIG_ISDN is not set
  52.942 -# CONFIG_PHONE is not set
  52.943 -
  52.944 -#
  52.945 -# Input device support
  52.946 -#
  52.947 -CONFIG_INPUT=y
  52.948 -# CONFIG_INPUT_FF_MEMLESS is not set
  52.949 -# CONFIG_INPUT_POLLDEV is not set
  52.950 -
  52.951 -#
  52.952 -# Userland interfaces
  52.953 -#
  52.954 -CONFIG_INPUT_MOUSEDEV=y
  52.955 -CONFIG_INPUT_MOUSEDEV_PSAUX=y
  52.956 -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
  52.957 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
  52.958 -# CONFIG_INPUT_JOYDEV is not set
  52.959 -CONFIG_INPUT_EVDEV=y
  52.960 -# CONFIG_INPUT_EVBUG is not set
  52.961 -
  52.962 -#
  52.963 -# Input Device Drivers
  52.964 -#
  52.965 -CONFIG_INPUT_KEYBOARD=y
  52.966 -CONFIG_KEYBOARD_ATKBD=y
  52.967 -# CONFIG_KEYBOARD_SUNKBD is not set
  52.968 -# CONFIG_KEYBOARD_LKKBD is not set
  52.969 -# CONFIG_KEYBOARD_XTKBD is not set
  52.970 -# CONFIG_KEYBOARD_NEWTON is not set
  52.971 -# CONFIG_KEYBOARD_STOWAWAY is not set
  52.972 -CONFIG_INPUT_MOUSE=y
  52.973 -CONFIG_MOUSE_PS2=y
  52.974 -CONFIG_MOUSE_PS2_ALPS=y
  52.975 -CONFIG_MOUSE_PS2_LOGIPS2PP=y
  52.976 -CONFIG_MOUSE_PS2_SYNAPTICS=y
  52.977 -CONFIG_MOUSE_PS2_LIFEBOOK=y
  52.978 -CONFIG_MOUSE_PS2_TRACKPOINT=y
  52.979 -# CONFIG_MOUSE_PS2_TOUCHKIT is not set
  52.980 -CONFIG_MOUSE_SERIAL=y
  52.981 -# CONFIG_MOUSE_APPLETOUCH is not set
  52.982 -CONFIG_MOUSE_INPORT=m
  52.983 -# CONFIG_MOUSE_ATIXL is not set
  52.984 -CONFIG_MOUSE_LOGIBM=m
  52.985 -CONFIG_MOUSE_PC110PAD=m
  52.986 -# CONFIG_MOUSE_VSXXXAA is not set
  52.987 -# CONFIG_INPUT_JOYSTICK is not set
  52.988 -# CONFIG_INPUT_TABLET is not set
  52.989 -# CONFIG_INPUT_TOUCHSCREEN is not set
  52.990 -CONFIG_INPUT_MISC=y
  52.991 -CONFIG_INPUT_PCSPKR=y
  52.992 -# CONFIG_INPUT_WISTRON_BTNS is not set
  52.993 -# CONFIG_INPUT_ATI_REMOTE is not set
  52.994 -# CONFIG_INPUT_ATI_REMOTE2 is not set
  52.995 -# CONFIG_INPUT_KEYSPAN_REMOTE is not set
  52.996 -# CONFIG_INPUT_POWERMATE is not set
  52.997 -# CONFIG_INPUT_YEALINK is not set
  52.998 -# CONFIG_INPUT_UINPUT is not set
  52.999 -
 52.1000 -#
 52.1001 -# Hardware I/O ports
 52.1002 -#
 52.1003 -CONFIG_SERIO=y
 52.1004 -CONFIG_SERIO_I8042=y
 52.1005 -CONFIG_SERIO_SERPORT=y
 52.1006 -# CONFIG_SERIO_CT82C710 is not set
 52.1007 -CONFIG_SERIO_PCIPS2=y
 52.1008 -CONFIG_SERIO_LIBPS2=y
 52.1009 -CONFIG_SERIO_RAW=y
 52.1010 -# CONFIG_GAMEPORT is not set
 52.1011 -
 52.1012 -#
 52.1013 -# Character devices
 52.1014 -#
 52.1015 -CONFIG_VT=y
 52.1016 -CONFIG_VT_CONSOLE=y
 52.1017 -CONFIG_HW_CONSOLE=y
 52.1018 -# CONFIG_VT_HW_CONSOLE_BINDING is not set
 52.1019 -# CONFIG_SERIAL_NONSTANDARD is not set
 52.1020 -
 52.1021 -#
 52.1022 -# Serial drivers
 52.1023 -#
 52.1024 -CONFIG_SERIAL_8250=y
 52.1025 -# CONFIG_SERIAL_8250_CONSOLE is not set
 52.1026 -CONFIG_FIX_EARLYCON_MEM=y
 52.1027 -CONFIG_SERIAL_8250_PCI=y
 52.1028 -CONFIG_SERIAL_8250_PNP=y
 52.1029 -# CONFIG_SERIAL_8250_CS is not set
 52.1030 -CONFIG_SERIAL_8250_NR_UARTS=4
 52.1031 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4
 52.1032 -# CONFIG_SERIAL_8250_EXTENDED is not set
 52.1033 -
 52.1034 -#
 52.1035 -# Non-8250 serial port support
 52.1036 -#
 52.1037 -CONFIG_SERIAL_CORE=y
 52.1038 -# CONFIG_SERIAL_JSM is not set
 52.1039 -CONFIG_UNIX98_PTYS=y
 52.1040 -# CONFIG_LEGACY_PTYS is not set
 52.1041 -# CONFIG_IPMI_HANDLER is not set
 52.1042 -CONFIG_HW_RANDOM=y
 52.1043 -CONFIG_HW_RANDOM_INTEL=y
 52.1044 -CONFIG_HW_RANDOM_AMD=y
 52.1045 -CONFIG_HW_RANDOM_GEODE=y
 52.1046 -CONFIG_HW_RANDOM_VIA=y
 52.1047 -CONFIG_NVRAM=y
 52.1048 -CONFIG_RTC=m
 52.1049 -CONFIG_GEN_RTC=m
 52.1050 -# CONFIG_GEN_RTC_X is not set
 52.1051 -# CONFIG_DTLK is not set
 52.1052 -# CONFIG_R3964 is not set
 52.1053 -# CONFIG_APPLICOM is not set
 52.1054 -# CONFIG_SONYPI is not set
 52.1055 -
 52.1056 -#
 52.1057 -# PCMCIA character devices
 52.1058 -#
 52.1059 -# CONFIG_SYNCLINK_CS is not set
 52.1060 -# CONFIG_CARDMAN_4000 is not set
 52.1061 -# CONFIG_CARDMAN_4040 is not set
 52.1062 -# CONFIG_MWAVE is not set
 52.1063 -# CONFIG_PC8736x_GPIO is not set
 52.1064 -# CONFIG_NSC_GPIO is not set
 52.1065 -# CONFIG_CS5535_GPIO is not set
 52.1066 -# CONFIG_RAW_DRIVER is not set
 52.1067 -# CONFIG_HANGCHECK_TIMER is not set
 52.1068 -# CONFIG_TCG_TPM is not set
 52.1069 -# CONFIG_TELCLOCK is not set
 52.1070 -CONFIG_DEVPORT=y
 52.1071 -# CONFIG_I2C is not set
 52.1072 -
 52.1073 -#
 52.1074 -# SPI support
 52.1075 -#
 52.1076 -# CONFIG_SPI is not set
 52.1077 -# CONFIG_SPI_MASTER is not set
 52.1078 -# CONFIG_W1 is not set
 52.1079 -# CONFIG_POWER_SUPPLY is not set
 52.1080 -# CONFIG_HWMON is not set
 52.1081 -# CONFIG_WATCHDOG is not set
 52.1082 -
 52.1083 -#
 52.1084 -# Sonics Silicon Backplane
 52.1085 -#
 52.1086 -CONFIG_SSB_POSSIBLE=y
 52.1087 -CONFIG_SSB=y
 52.1088 -CONFIG_SSB_PCIHOST_POSSIBLE=y
 52.1089 -CONFIG_SSB_PCIHOST=y
 52.1090 -# CONFIG_SSB_DEBUG is not set
 52.1091 -CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
 52.1092 -CONFIG_SSB_DRIVER_PCICORE=y
 52.1093 -
 52.1094 -#
 52.1095 -# Multifunction device drivers
 52.1096 -#
 52.1097 -# CONFIG_MFD_SM501 is not set
 52.1098 -
 52.1099 -#
 52.1100 -# Multimedia devices
 52.1101 -#
 52.1102 -# CONFIG_VIDEO_DEV is not set
 52.1103 -# CONFIG_DVB_CORE is not set
 52.1104 -CONFIG_DAB=y
 52.1105 -# CONFIG_USB_DABUSB is not set
 52.1106 -
 52.1107 -#
 52.1108 -# Graphics support
 52.1109 -#
 52.1110 -# CONFIG_AGP is not set
 52.1111 -# CONFIG_DRM is not set
 52.1112 -# CONFIG_VGASTATE is not set
 52.1113 -# CONFIG_VIDEO_OUTPUT_CONTROL is not set
 52.1114 -CONFIG_FB=y
 52.1115 -# CONFIG_FIRMWARE_EDID is not set
 52.1116 -# CONFIG_FB_DDC is not set
 52.1117 -CONFIG_FB_CFB_FILLRECT=y
 52.1118 -CONFIG_FB_CFB_COPYAREA=y
 52.1119 -CONFIG_FB_CFB_IMAGEBLIT=y
 52.1120 -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
 52.1121 -# CONFIG_FB_SYS_FILLRECT is not set
 52.1122 -# CONFIG_FB_SYS_COPYAREA is not set
 52.1123 -# CONFIG_FB_SYS_IMAGEBLIT is not set
 52.1124 -# CONFIG_FB_SYS_FOPS is not set
 52.1125 -CONFIG_FB_DEFERRED_IO=y
 52.1126 -# CONFIG_FB_SVGALIB is not set
 52.1127 -# CONFIG_FB_MACMODES is not set
 52.1128 -# CONFIG_FB_BACKLIGHT is not set
 52.1129 -# CONFIG_FB_MODE_HELPERS is not set
 52.1130 -# CONFIG_FB_TILEBLITTING is not set
 52.1131 -
 52.1132 -#
 52.1133 -# Frame buffer hardware drivers
 52.1134 -#
 52.1135 -# CONFIG_FB_CIRRUS is not set
 52.1136 -# CONFIG_FB_PM2 is not set
 52.1137 -# CONFIG_FB_CYBER2000 is not set
 52.1138 -# CONFIG_FB_ARC is not set
 52.1139 -# CONFIG_FB_ASILIANT is not set
 52.1140 -# CONFIG_FB_IMSTT is not set
 52.1141 -# CONFIG_FB_VGA16 is not set
 52.1142 -CONFIG_FB_VESA=y
 52.1143 -# CONFIG_FB_EFI is not set
 52.1144 -# CONFIG_FB_HECUBA is not set
 52.1145 -# CONFIG_FB_HGA is not set
 52.1146 -# CONFIG_FB_S1D13XXX is not set
 52.1147 -# CONFIG_FB_NVIDIA is not set
 52.1148 -# CONFIG_FB_RIVA is not set
 52.1149 -# CONFIG_FB_I810 is not set
 52.1150 -# CONFIG_FB_LE80578 is not set
 52.1151 -# CONFIG_FB_INTEL is not set
 52.1152 -# CONFIG_FB_MATROX is not set
 52.1153 -# CONFIG_FB_RADEON is not set
 52.1154 -# CONFIG_FB_ATY128 is not set
 52.1155 -# CONFIG_FB_ATY is not set
 52.1156 -# CONFIG_FB_S3 is not set
 52.1157 -# CONFIG_FB_SAVAGE is not set
 52.1158 -# CONFIG_FB_SIS is not set
 52.1159 -# CONFIG_FB_NEOMAGIC is not set
 52.1160 -# CONFIG_FB_KYRO is not set
 52.1161 -# CONFIG_FB_3DFX is not set
 52.1162 -# CONFIG_FB_VOODOO1 is not set
 52.1163 -# CONFIG_FB_VT8623 is not set
 52.1164 -# CONFIG_FB_CYBLA is not set
 52.1165 -# CONFIG_FB_TRIDENT is not set
 52.1166 -# CONFIG_FB_ARK is not set
 52.1167 -# CONFIG_FB_PM3 is not set
 52.1168 -# CONFIG_FB_GEODE is not set
 52.1169 -# CONFIG_FB_VIRTUAL is not set
 52.1170 -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
 52.1171 -
 52.1172 -#
 52.1173 -# Display device support
 52.1174 -#
 52.1175 -# CONFIG_DISPLAY_SUPPORT is not set
 52.1176 -
 52.1177 -#
 52.1178 -# Console display driver support
 52.1179 -#
 52.1180 -CONFIG_VGA_CONSOLE=y
 52.1181 -# CONFIG_VGACON_SOFT_SCROLLBACK is not set
 52.1182 -CONFIG_VIDEO_SELECT=y
 52.1183 -# CONFIG_MDA_CONSOLE is not set
 52.1184 -CONFIG_DUMMY_CONSOLE=y
 52.1185 -CONFIG_FRAMEBUFFER_CONSOLE=y
 52.1186 -# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
 52.1187 -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
 52.1188 -# CONFIG_FONTS is not set
 52.1189 -CONFIG_FONT_8x8=y
 52.1190 -CONFIG_FONT_8x16=y
 52.1191 -CONFIG_LOGO=y
 52.1192 -CONFIG_LOGO_LINUX_MONO=y
 52.1193 -CONFIG_LOGO_LINUX_VGA16=y
 52.1194 -CONFIG_LOGO_LINUX_CLUT224=y
 52.1195 -
 52.1196 -#
 52.1197 -# Sound
 52.1198 -#
 52.1199 -CONFIG_SOUND=m
 52.1200 -
 52.1201 -#
 52.1202 -# Advanced Linux Sound Architecture
 52.1203 -#
 52.1204 -CONFIG_SND=m
 52.1205 -CONFIG_SND_TIMER=m
 52.1206 -CONFIG_SND_PCM=m
 52.1207 -CONFIG_SND_HWDEP=m
 52.1208 -CONFIG_SND_RAWMIDI=m
 52.1209 -CONFIG_SND_SEQUENCER=m
 52.1210 -# CONFIG_SND_SEQ_DUMMY is not set
 52.1211 -CONFIG_SND_OSSEMUL=y
 52.1212 -CONFIG_SND_MIXER_OSS=m
 52.1213 -CONFIG_SND_PCM_OSS=m
 52.1214 -CONFIG_SND_PCM_OSS_PLUGINS=y
 52.1215 -CONFIG_SND_SEQUENCER_OSS=y
 52.1216 -CONFIG_SND_RTCTIMER=m
 52.1217 -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
 52.1218 -# CONFIG_SND_DYNAMIC_MINORS is not set
 52.1219 -CONFIG_SND_SUPPORT_OLD_API=y
 52.1220 -# CONFIG_SND_VERBOSE_PROCFS is not set
 52.1221 -# CONFIG_SND_VERBOSE_PRINTK is not set
 52.1222 -# CONFIG_SND_DEBUG is not set
 52.1223 -
 52.1224 -#
 52.1225 -# Generic devices
 52.1226 -#
 52.1227 -CONFIG_SND_MPU401_UART=m
 52.1228 -CONFIG_SND_OPL3_LIB=m
 52.1229 -CONFIG_SND_OPL4_LIB=m
 52.1230 -CONFIG_SND_VX_LIB=m
 52.1231 -CONFIG_SND_AC97_CODEC=m
 52.1232 -# CONFIG_SND_DUMMY is not set
 52.1233 -# CONFIG_SND_VIRMIDI is not set
 52.1234 -# CONFIG_SND_MTPAV is not set
 52.1235 -# CONFIG_SND_SERIAL_U16550 is not set
 52.1236 -# CONFIG_SND_MPU401 is not set
 52.1237 -CONFIG_SND_AD1848_LIB=m
 52.1238 -CONFIG_SND_CS4231_LIB=m
 52.1239 -CONFIG_SND_SB_COMMON=m
 52.1240 -CONFIG_SND_SB8_DSP=m
 52.1241 -CONFIG_SND_SB16_DSP=m
 52.1242 -
 52.1243 -#
 52.1244 -# ISA devices
 52.1245 -#
 52.1246 -CONFIG_SND_ADLIB=m
 52.1247 -CONFIG_SND_AD1816A=m
 52.1248 -CONFIG_SND_AD1848=m
 52.1249 -CONFIG_SND_ALS100=m
 52.1250 -CONFIG_SND_AZT2320=m
 52.1251 -CONFIG_SND_CMI8330=m
 52.1252 -CONFIG_SND_CS4231=m
 52.1253 -CONFIG_SND_CS4232=m
 52.1254 -CONFIG_SND_CS4236=m
 52.1255 -CONFIG_SND_DT019X=m
 52.1256 -CONFIG_SND_ES968=m
 52.1257 -CONFIG_SND_ES1688=m
 52.1258 -CONFIG_SND_ES18XX=m
 52.1259 -# CONFIG_SND_SC6000 is not set
 52.1260 -CONFIG_SND_GUS_SYNTH=m
 52.1261 -CONFIG_SND_GUSCLASSIC=m
 52.1262 -CONFIG_SND_GUSEXTREME=m
 52.1263 -CONFIG_SND_GUSMAX=m
 52.1264 -CONFIG_SND_INTERWAVE=m
 52.1265 -CONFIG_SND_INTERWAVE_STB=m
 52.1266 -CONFIG_SND_OPL3SA2=m
 52.1267 -CONFIG_SND_OPTI92X_AD1848=m
 52.1268 -CONFIG_SND_OPTI92X_CS4231=m
 52.1269 -CONFIG_SND_OPTI93X=m
 52.1270 -CONFIG_SND_MIRO=m
 52.1271 -CONFIG_SND_SB8=m
 52.1272 -CONFIG_SND_SB16=m
 52.1273 -CONFIG_SND_SBAWE=m
 52.1274 -# CONFIG_SND_SB16_CSP is not set
 52.1275 -CONFIG_SND_SGALAXY=m
 52.1276 -CONFIG_SND_SSCAPE=m
 52.1277 -CONFIG_SND_WAVEFRONT=m
 52.1278 -CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y
 52.1279 -
 52.1280 -#
 52.1281 -# PCI devices
 52.1282 -#
 52.1283 -CONFIG_SND_AD1889=m
 52.1284 -CONFIG_SND_ALS300=m
 52.1285 -CONFIG_SND_ALS4000=m
 52.1286 -CONFIG_SND_ALI5451=m
 52.1287 -CONFIG_SND_ATIIXP=m
 52.1288 -CONFIG_SND_ATIIXP_MODEM=m
 52.1289 -CONFIG_SND_AU8810=m
 52.1290 -CONFIG_SND_AU8820=m
 52.1291 -CONFIG_SND_AU8830=m
 52.1292 -CONFIG_SND_AZT3328=m
 52.1293 -CONFIG_SND_BT87X=m
 52.1294 -# CONFIG_SND_BT87X_OVERCLOCK is not set
 52.1295 -CONFIG_SND_CA0106=m
 52.1296 -CONFIG_SND_CMIPCI=m
 52.1297 -CONFIG_SND_CS4281=m
 52.1298 -CONFIG_SND_CS46XX=m
 52.1299 -CONFIG_SND_CS46XX_NEW_DSP=y
 52.1300 -# CONFIG_SND_CS5530 is not set
 52.1301 -CONFIG_SND_CS5535AUDIO=m
 52.1302 -CONFIG_SND_DARLA20=m
 52.1303 -CONFIG_SND_GINA20=m
 52.1304 -CONFIG_SND_LAYLA20=m
 52.1305 -CONFIG_SND_DARLA24=m
 52.1306 -CONFIG_SND_GINA24=m
 52.1307 -CONFIG_SND_LAYLA24=m
 52.1308 -CONFIG_SND_MONA=m
 52.1309 -CONFIG_SND_MIA=m
 52.1310 -CONFIG_SND_ECHO3G=m
 52.1311 -CONFIG_SND_INDIGO=m
 52.1312 -CONFIG_SND_INDIGOIO=m
 52.1313 -CONFIG_SND_INDIGODJ=m
 52.1314 -CONFIG_SND_EMU10K1=m
 52.1315 -CONFIG_SND_EMU10K1X=m
 52.1316 -CONFIG_SND_ENS1370=m
 52.1317 -CONFIG_SND_ENS1371=m
 52.1318 -CONFIG_SND_ES1938=m
 52.1319 -CONFIG_SND_ES1968=m
 52.1320 -CONFIG_SND_FM801=m
 52.1321 -# CONFIG_SND_FM801_TEA575X_BOOL is not set
 52.1322 -CONFIG_SND_HDA_INTEL=m
 52.1323 -# CONFIG_SND_HDA_HWDEP is not set
 52.1324 -CONFIG_SND_HDA_CODEC_REALTEK=y
 52.1325 -CONFIG_SND_HDA_CODEC_ANALOG=y
 52.1326 -CONFIG_SND_HDA_CODEC_SIGMATEL=y
 52.1327 -CONFIG_SND_HDA_CODEC_VIA=y
 52.1328 -CONFIG_SND_HDA_CODEC_ATIHDMI=y
 52.1329 -CONFIG_SND_HDA_CODEC_CONEXANT=y
 52.1330 -CONFIG_SND_HDA_CODEC_CMEDIA=y
 52.1331 -CONFIG_SND_HDA_CODEC_SI3054=y
 52.1332 -CONFIG_SND_HDA_GENERIC=y
 52.1333 -# CONFIG_SND_HDA_POWER_SAVE is not set
 52.1334 -CONFIG_SND_HDSP=m
 52.1335 -CONFIG_SND_HDSPM=m
 52.1336 -CONFIG_SND_ICE1712=m
 52.1337 -CONFIG_SND_ICE1724=m
 52.1338 -CONFIG_SND_INTEL8X0=m
 52.1339 -CONFIG_SND_INTEL8X0M=m
 52.1340 -CONFIG_SND_KORG1212=m
 52.1341 -CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL=y
 52.1342 -CONFIG_SND_MAESTRO3=m
 52.1343 -CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL=y
 52.1344 -CONFIG_SND_MIXART=m
 52.1345 -CONFIG_SND_NM256=m
 52.1346 -CONFIG_SND_PCXHR=m
 52.1347 -CONFIG_SND_RIPTIDE=m
 52.1348 -CONFIG_SND_RME32=m
 52.1349 -CONFIG_SND_RME96=m
 52.1350 -CONFIG_SND_RME9652=m
 52.1351 -CONFIG_SND_SONICVIBES=m
 52.1352 -CONFIG_SND_TRIDENT=m
 52.1353 -CONFIG_SND_VIA82XX=m
 52.1354 -CONFIG_SND_VIA82XX_MODEM=m
 52.1355 -CONFIG_SND_VX222=m
 52.1356 -CONFIG_SND_YMFPCI=m
 52.1357 -CONFIG_SND_YMFPCI_FIRMWARE_IN_KERNEL=y
 52.1358 -# CONFIG_SND_AC97_POWER_SAVE is not set
 52.1359 -
 52.1360 -#
 52.1361 -# USB devices
 52.1362 -#
 52.1363 -# CONFIG_SND_USB_AUDIO is not set
 52.1364 -# CONFIG_SND_USB_USX2Y is not set
 52.1365 -# CONFIG_SND_USB_CAIAQ is not set
 52.1366 -
 52.1367 -#
 52.1368 -# PCMCIA devices
 52.1369 -#
 52.1370 -# CONFIG_SND_VXPOCKET is not set
 52.1371 -# CONFIG_SND_PDAUDIOCF is not set
 52.1372 -
 52.1373 -#
 52.1374 -# System on Chip audio support
 52.1375 -#
 52.1376 -# CONFIG_SND_SOC is not set
 52.1377 -
 52.1378 -#
 52.1379 -# SoC Audio support for SuperH
 52.1380 -#
 52.1381 -
 52.1382 -#
 52.1383 -# Open Sound System
 52.1384 -#
 52.1385 -# CONFIG_SOUND_PRIME is not set
 52.1386 -CONFIG_AC97_BUS=m
 52.1387 -CONFIG_HID_SUPPORT=y
 52.1388 -CONFIG_HID=y
 52.1389 -# CONFIG_HID_DEBUG is not set
 52.1390 -# CONFIG_HIDRAW is not set
 52.1391 -
 52.1392 -#
 52.1393 -# USB Input Devices
 52.1394 -#
 52.1395 -CONFIG_USB_HID=y
 52.1396 -# CONFIG_USB_HIDINPUT_POWERBOOK is not set
 52.1397 -# CONFIG_HID_FF is not set
 52.1398 -CONFIG_USB_HIDDEV=y
 52.1399 -CONFIG_USB_SUPPORT=y
 52.1400 -CONFIG_USB_ARCH_HAS_HCD=y
 52.1401 -CONFIG_USB_ARCH_HAS_OHCI=y
 52.1402 -CONFIG_USB_ARCH_HAS_EHCI=y
 52.1403 -CONFIG_USB=y
 52.1404 -# CONFIG_USB_DEBUG is not set
 52.1405 -
 52.1406 -#
 52.1407 -# Miscellaneous USB options
 52.1408 -#
 52.1409 -CONFIG_USB_DEVICEFS=y
 52.1410 -CONFIG_USB_DEVICE_CLASS=y
 52.1411 -# CONFIG_USB_DYNAMIC_MINORS is not set
 52.1412 -# CONFIG_USB_OTG is not set
 52.1413 -
 52.1414 -#
 52.1415 -# USB Host Controller Drivers
 52.1416 -#
 52.1417 -CONFIG_USB_EHCI_HCD=y
 52.1418 -# CONFIG_USB_EHCI_SPLIT_ISO is not set
 52.1419 -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
 52.1420 -# CONFIG_USB_EHCI_TT_NEWSCHED is not set
 52.1421 -# CONFIG_USB_ISP116X_HCD is not set
 52.1422 -CONFIG_USB_OHCI_HCD=m
 52.1423 -# CONFIG_USB_OHCI_HCD_SSB is not set
 52.1424 -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
 52.1425 -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
 52.1426 -CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 52.1427 -CONFIG_USB_UHCI_HCD=y
 52.1428 -# CONFIG_USB_SL811_HCD is not set
 52.1429 -# CONFIG_USB_R8A66597_HCD is not set
 52.1430 -
 52.1431 -#
 52.1432 -# USB Device Class drivers
 52.1433 -#
 52.1434 -# CONFIG_USB_ACM is not set
 52.1435 -# CONFIG_USB_PRINTER is not set
 52.1436 -
 52.1437 -#
 52.1438 -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
 52.1439 -#
 52.1440 -
 52.1441 -#
 52.1442 -# may also be needed; see USB_STORAGE Help for more information
 52.1443 -#
 52.1444 -CONFIG_USB_STORAGE=y
 52.1445 -# CONFIG_USB_STORAGE_DEBUG is not set
 52.1446 -# CONFIG_USB_STORAGE_DATAFAB is not set
 52.1447 -# CONFIG_USB_STORAGE_FREECOM is not set
 52.1448 -# CONFIG_USB_STORAGE_ISD200 is not set
 52.1449 -# CONFIG_USB_STORAGE_DPCM is not set
 52.1450 -# CONFIG_USB_STORAGE_USBAT is not set
 52.1451 -# CONFIG_USB_STORAGE_SDDR09 is not set
 52.1452 -# CONFIG_USB_STORAGE_SDDR55 is not set
 52.1453 -# CONFIG_USB_STORAGE_JUMPSHOT is not set
 52.1454 -# CONFIG_USB_STORAGE_ALAUDA is not set
 52.1455 -# CONFIG_USB_STORAGE_ONETOUCH is not set
 52.1456 -# CONFIG_USB_STORAGE_KARMA is not set
 52.1457 -# CONFIG_USB_LIBUSUAL is not set
 52.1458 -
 52.1459 -#
 52.1460 -# USB Imaging devices
 52.1461 -#
 52.1462 -# CONFIG_USB_MDC800 is not set
 52.1463 -# CONFIG_USB_MICROTEK is not set
 52.1464 -# CONFIG_USB_MON is not set
 52.1465 -
 52.1466 -#
 52.1467 -# USB port drivers
 52.1468 -#
 52.1469 -
 52.1470 -#
 52.1471 -# USB Serial Converter support
 52.1472 -#
 52.1473 -# CONFIG_USB_SERIAL is not set
 52.1474 -
 52.1475 -#
 52.1476 -# USB Miscellaneous drivers
 52.1477 -#
 52.1478 -# CONFIG_USB_EMI62 is not set
 52.1479 -# CONFIG_USB_EMI26 is not set
 52.1480 -# CONFIG_USB_ADUTUX is not set
 52.1481 -# CONFIG_USB_AUERSWALD is not set
 52.1482 -# CONFIG_USB_RIO500 is not set
 52.1483 -# CONFIG_USB_LEGOTOWER is not set
 52.1484 -# CONFIG_USB_LCD is not set
 52.1485 -# CONFIG_USB_BERRY_CHARGE is not set
 52.1486 -# CONFIG_USB_LED is not set
 52.1487 -# CONFIG_USB_CYPRESS_CY7C63 is not set
 52.1488 -# CONFIG_USB_CYTHERM is not set
 52.1489 -# CONFIG_USB_PHIDGET is not set
 52.1490 -# CONFIG_USB_IDMOUSE is not set
 52.1491 -# CONFIG_USB_FTDI_ELAN is not set
 52.1492 -# CONFIG_USB_APPLEDISPLAY is not set
 52.1493 -# CONFIG_USB_SISUSBVGA is not set
 52.1494 -# CONFIG_USB_LD is not set
 52.1495 -# CONFIG_USB_TRANCEVIBRATOR is not set
 52.1496 -# CONFIG_USB_IOWARRIOR is not set
 52.1497 -# CONFIG_USB_TEST is not set
 52.1498 -
 52.1499 -#
 52.1500 -# USB DSL modem support
 52.1501 -#
 52.1502 -
 52.1503 -#
 52.1504 -# USB Gadget Support
 52.1505 -#
 52.1506 -# CONFIG_USB_GADGET is not set
 52.1507 -# CONFIG_MMC is not set
 52.1508 -# CONFIG_NEW_LEDS is not set
 52.1509 -# CONFIG_INFINIBAND is not set
 52.1510 -# CONFIG_EDAC is not set
 52.1511 -# CONFIG_RTC_CLASS is not set
 52.1512 -# CONFIG_DMADEVICES is not set
 52.1513 -CONFIG_VIRTUALIZATION=y
 52.1514 -# CONFIG_KVM is not set
 52.1515 -# CONFIG_LGUEST is not set
 52.1516 -
 52.1517 -#
 52.1518 -# Userspace I/O
 52.1519 -#
 52.1520 -# CONFIG_UIO is not set
 52.1521 -
 52.1522 -#
 52.1523 -# Firmware Drivers
 52.1524 -#
 52.1525 -# CONFIG_EDD is not set
 52.1526 -# CONFIG_DELL_RBU is not set
 52.1527 -# CONFIG_DCDBAS is not set
 52.1528 -CONFIG_DMIID=y
 52.1529 -
 52.1530 -#
 52.1531 -# File systems
 52.1532 -#
 52.1533 -CONFIG_EXT2_FS=y
 52.1534 -# CONFIG_EXT2_FS_XATTR is not set
 52.1535 -# CONFIG_EXT2_FS_XIP is not set
 52.1536 -CONFIG_EXT3_FS=y
 52.1537 -# CONFIG_EXT3_FS_XATTR is not set
 52.1538 -# CONFIG_EXT4DEV_FS is not set
 52.1539 -CONFIG_JBD=y
 52.1540 -# CONFIG_REISERFS_FS is not set
 52.1541 -# CONFIG_JFS_FS is not set
 52.1542 -# CONFIG_FS_POSIX_ACL is not set
 52.1543 -# CONFIG_XFS_FS is not set
 52.1544 -# CONFIG_GFS2_FS is not set
 52.1545 -# CONFIG_OCFS2_FS is not set
 52.1546 -# CONFIG_MINIX_FS is not set
 52.1547 -# CONFIG_ROMFS_FS is not set
 52.1548 -CONFIG_INOTIFY=y
 52.1549 -CONFIG_INOTIFY_USER=y
 52.1550 -# CONFIG_QUOTA is not set
 52.1551 -CONFIG_DNOTIFY=y
 52.1552 -# CONFIG_AUTOFS_FS is not set
 52.1553 -# CONFIG_AUTOFS4_FS is not set
 52.1554 -CONFIG_FUSE_FS=y
 52.1555 -
 52.1556 -#
 52.1557 -# CD-ROM/DVD Filesystems
 52.1558 -#
 52.1559 -CONFIG_ISO9660_FS=y
 52.1560 -CONFIG_JOLIET=y
 52.1561 -# CONFIG_ZISOFS is not set
 52.1562 -# CONFIG_UDF_FS is not set
 52.1563 -
 52.1564 -#
 52.1565 -# DOS/FAT/NT Filesystems
 52.1566 -#
 52.1567 -CONFIG_FAT_FS=m
 52.1568 -CONFIG_MSDOS_FS=m
 52.1569 -CONFIG_VFAT_FS=m
 52.1570 -CONFIG_FAT_DEFAULT_CODEPAGE=437
 52.1571 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
 52.1572 -# CONFIG_NTFS_FS is not set
 52.1573 -
 52.1574 -#
 52.1575 -# Pseudo filesystems
 52.1576 -#
 52.1577 -CONFIG_PROC_FS=y
 52.1578 -CONFIG_PROC_KCORE=y
 52.1579 -CONFIG_PROC_SYSCTL=y
 52.1580 -CONFIG_SYSFS=y
 52.1581 -CONFIG_TMPFS=y
 52.1582 -# CONFIG_TMPFS_POSIX_ACL is not set
 52.1583 -# CONFIG_HUGETLBFS is not set
 52.1584 -# CONFIG_HUGETLB_PAGE is not set
 52.1585 -# CONFIG_CONFIGFS_FS is not set
 52.1586 -
 52.1587 -#
 52.1588 -# Miscellaneous filesystems
 52.1589 -#
 52.1590 -# CONFIG_ADFS_FS is not set
 52.1591 -# CONFIG_AFFS_FS is not set
 52.1592 -# CONFIG_HFS_FS is not set
 52.1593 -# CONFIG_HFSPLUS_FS is not set
 52.1594 -# CONFIG_BEFS_FS is not set
 52.1595 -# CONFIG_BFS_FS is not set
 52.1596 -# CONFIG_EFS_FS is not set
 52.1597 -CONFIG_CRAMFS=y
 52.1598 -# CONFIG_VXFS_FS is not set
 52.1599 -# CONFIG_HPFS_FS is not set
 52.1600 -# CONFIG_QNX4FS_FS is not set
 52.1601 -# CONFIG_SYSV_FS is not set
 52.1602 -# CONFIG_UFS_FS is not set
 52.1603 -CONFIG_NETWORK_FILESYSTEMS=y
 52.1604 -CONFIG_NFS_FS=y
 52.1605 -CONFIG_NFS_V3=y
 52.1606 -# CONFIG_NFS_V3_ACL is not set
 52.1607 -# CONFIG_NFS_V4 is not set
 52.1608 -# CONFIG_NFS_DIRECTIO is not set
 52.1609 -# CONFIG_NFSD is not set
 52.1610 -CONFIG_LOCKD=y
 52.1611 -CONFIG_LOCKD_V4=y
 52.1612 -CONFIG_NFS_COMMON=y
 52.1613 -CONFIG_SUNRPC=y
 52.1614 -# CONFIG_SUNRPC_BIND34 is not set
 52.1615 -# CONFIG_RPCSEC_GSS_KRB5 is not set
 52.1616 -# CONFIG_RPCSEC_GSS_SPKM3 is not set
 52.1617 -# CONFIG_SMB_FS is not set
 52.1618 -# CONFIG_CIFS is not set
 52.1619 -# CONFIG_NCP_FS is not set
 52.1620 -# CONFIG_CODA_FS is not set
 52.1621 -# CONFIG_AFS_FS is not set
 52.1622 -
 52.1623 -#
 52.1624 -# Partition Types
 52.1625 -#
 52.1626 -CONFIG_PARTITION_ADVANCED=y
 52.1627 -# CONFIG_ACORN_PARTITION is not set
 52.1628 -# CONFIG_OSF_PARTITION is not set
 52.1629 -# CONFIG_AMIGA_PARTITION is not set
 52.1630 -# CONFIG_ATARI_PARTITION is not set
 52.1631 -# CONFIG_MAC_PARTITION is not set
 52.1632 -CONFIG_MSDOS_PARTITION=y
 52.1633 -# CONFIG_BSD_DISKLABEL is not set
 52.1634 -# CONFIG_MINIX_SUBPARTITION is not set
 52.1635 -# CONFIG_SOLARIS_X86_PARTITION is not set
 52.1636 -# CONFIG_UNIXWARE_DISKLABEL is not set
 52.1637 -# CONFIG_LDM_PARTITION is not set
 52.1638 -# CONFIG_SGI_PARTITION is not set
 52.1639 -# CONFIG_ULTRIX_PARTITION is not set
 52.1640 -# CONFIG_SUN_PARTITION is not set
 52.1641 -# CONFIG_KARMA_PARTITION is not set
 52.1642 -# CONFIG_EFI_PARTITION is not set
 52.1643 -# CONFIG_SYSV68_PARTITION is not set
 52.1644 -CONFIG_NLS=y
 52.1645 -CONFIG_NLS_DEFAULT="iso8859-1"
 52.1646 -CONFIG_NLS_CODEPAGE_437=y
 52.1647 -# CONFIG_NLS_CODEPAGE_737 is not set
 52.1648 -# CONFIG_NLS_CODEPAGE_775 is not set
 52.1649 -CONFIG_NLS_CODEPAGE_850=y
 52.1650 -CONFIG_NLS_CODEPAGE_852=y
 52.1651 -# CONFIG_NLS_CODEPAGE_855 is not set
 52.1652 -# CONFIG_NLS_CODEPAGE_857 is not set
 52.1653 -# CONFIG_NLS_CODEPAGE_860 is not set
 52.1654 -# CONFIG_NLS_CODEPAGE_861 is not set
 52.1655 -# CONFIG_NLS_CODEPAGE_862 is not set
 52.1656 -CONFIG_NLS_CODEPAGE_863=y
 52.1657 -# CONFIG_NLS_CODEPAGE_864 is not set
 52.1658 -CONFIG_NLS_CODEPAGE_865=y
 52.1659 -# CONFIG_NLS_CODEPAGE_866 is not set
 52.1660 -# CONFIG_NLS_CODEPAGE_869 is not set
 52.1661 -# CONFIG_NLS_CODEPAGE_936 is not set
 52.1662 -# CONFIG_NLS_CODEPAGE_950 is not set
 52.1663 -# CONFIG_NLS_CODEPAGE_932 is not set
 52.1664 -# CONFIG_NLS_CODEPAGE_949 is not set
 52.1665 -# CONFIG_NLS_CODEPAGE_874 is not set
 52.1666 -# CONFIG_NLS_ISO8859_8 is not set
 52.1667 -# CONFIG_NLS_CODEPAGE_1250 is not set
 52.1668 -# CONFIG_NLS_CODEPAGE_1251 is not set
 52.1669 -CONFIG_NLS_ASCII=y
 52.1670 -CONFIG_NLS_ISO8859_1=y
 52.1671 -CONFIG_NLS_ISO8859_2=y
 52.1672 -# CONFIG_NLS_ISO8859_3 is not set
 52.1673 -# CONFIG_NLS_ISO8859_4 is not set
 52.1674 -# CONFIG_NLS_ISO8859_5 is not set
 52.1675 -# CONFIG_NLS_ISO8859_6 is not set
 52.1676 -# CONFIG_NLS_ISO8859_7 is not set
 52.1677 -# CONFIG_NLS_ISO8859_9 is not set
 52.1678 -# CONFIG_NLS_ISO8859_13 is not set
 52.1679 -# CONFIG_NLS_ISO8859_14 is not set
 52.1680 -CONFIG_NLS_ISO8859_15=y
 52.1681 -# CONFIG_NLS_KOI8_R is not set
 52.1682 -# CONFIG_NLS_KOI8_U is not set
 52.1683 -CONFIG_NLS_UTF8=m
 52.1684 -# CONFIG_DLM is not set
 52.1685 -CONFIG_INSTRUMENTATION=y
 52.1686 -# CONFIG_PROFILING is not set
 52.1687 -# CONFIG_KPROBES is not set
 52.1688 -# CONFIG_MARKERS is not set
 52.1689 -
 52.1690 -#
 52.1691 -# Kernel hacking
 52.1692 -#
 52.1693 -CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 52.1694 -# CONFIG_PRINTK_TIME is not set
 52.1695 -CONFIG_ENABLE_WARN_DEPRECATED=y
 52.1696 -CONFIG_ENABLE_MUST_CHECK=y
 52.1697 -# CONFIG_MAGIC_SYSRQ is not set
 52.1698 -CONFIG_UNUSED_SYMBOLS=y
 52.1699 -# CONFIG_DEBUG_FS is not set
 52.1700 -# CONFIG_HEADERS_CHECK is not set
 52.1701 -# CONFIG_DEBUG_KERNEL is not set
 52.1702 -CONFIG_DEBUG_BUGVERBOSE=y
 52.1703 -# CONFIG_SAMPLES is not set
 52.1704 -CONFIG_EARLY_PRINTK=y
 52.1705 -CONFIG_X86_FIND_SMP_CONFIG=y
 52.1706 -CONFIG_X86_MPPARSE=y
 52.1707 -CONFIG_DOUBLEFAULT=y
 52.1708 -
 52.1709 -#
 52.1710 -# Security options
 52.1711 -#
 52.1712 -# CONFIG_KEYS is not set
 52.1713 -# CONFIG_SECURITY is not set
 52.1714 -# CONFIG_SECURITY_FILE_CAPABILITIES is not set
 52.1715 -CONFIG_CRYPTO=y
 52.1716 -CONFIG_CRYPTO_ALGAPI=y
 52.1717 -CONFIG_CRYPTO_BLKCIPHER=y
 52.1718 -CONFIG_CRYPTO_HASH=y
 52.1719 -CONFIG_CRYPTO_MANAGER=y
 52.1720 -CONFIG_CRYPTO_HMAC=y
 52.1721 -# CONFIG_CRYPTO_XCBC is not set
 52.1722 -# CONFIG_CRYPTO_NULL is not set
 52.1723 -# CONFIG_CRYPTO_MD4 is not set
 52.1724 -CONFIG_CRYPTO_MD5=y
 52.1725 -CONFIG_CRYPTO_SHA1=y
 52.1726 -# CONFIG_CRYPTO_SHA256 is not set
 52.1727 -# CONFIG_CRYPTO_SHA512 is not set
 52.1728 -# CONFIG_CRYPTO_WP512 is not set
 52.1729 -# CONFIG_CRYPTO_TGR192 is not set
 52.1730 -# CONFIG_CRYPTO_GF128MUL is not set
 52.1731 -# CONFIG_CRYPTO_ECB is not set
 52.1732 -CONFIG_CRYPTO_CBC=y
 52.1733 -CONFIG_CRYPTO_PCBC=m
 52.1734 -# CONFIG_CRYPTO_LRW is not set
 52.1735 -# CONFIG_CRYPTO_XTS is not set
 52.1736 -# CONFIG_CRYPTO_CRYPTD is not set
 52.1737 -CONFIG_CRYPTO_DES=y
 52.1738 -# CONFIG_CRYPTO_FCRYPT is not set
 52.1739 -# CONFIG_CRYPTO_BLOWFISH is not set
 52.1740 -# CONFIG_CRYPTO_TWOFISH is not set
 52.1741 -# CONFIG_CRYPTO_TWOFISH_586 is not set
 52.1742 -# CONFIG_CRYPTO_SERPENT is not set
 52.1743 -# CONFIG_CRYPTO_AES is not set
 52.1744 -# CONFIG_CRYPTO_AES_586 is not set
 52.1745 -# CONFIG_CRYPTO_CAST5 is not set
 52.1746 -# CONFIG_CRYPTO_CAST6 is not set
 52.1747 -# CONFIG_CRYPTO_TEA is not set
 52.1748 -# CONFIG_CRYPTO_ARC4 is not set
 52.1749 -# CONFIG_CRYPTO_KHAZAD is not set
 52.1750 -# CONFIG_CRYPTO_ANUBIS is not set
 52.1751 -# CONFIG_CRYPTO_SEED is not set
 52.1752 -CONFIG_CRYPTO_DEFLATE=y
 52.1753 -# CONFIG_CRYPTO_MICHAEL_MIC is not set
 52.1754 -# CONFIG_CRYPTO_CRC32C is not set
 52.1755 -# CONFIG_CRYPTO_CAMELLIA is not set
 52.1756 -# CONFIG_CRYPTO_TEST is not set
 52.1757 -# CONFIG_CRYPTO_AUTHENC is not set
 52.1758 -CONFIG_CRYPTO_HW=y
 52.1759 -# CONFIG_CRYPTO_DEV_PADLOCK is not set
 52.1760 -# CONFIG_CRYPTO_DEV_GEODE is not set
 52.1761 -
 52.1762 -#
 52.1763 -# Library routines
 52.1764 -#
 52.1765 -CONFIG_BITREVERSE=y
 52.1766 -CONFIG_CRC_CCITT=y
 52.1767 -# CONFIG_CRC16 is not set
 52.1768 -# CONFIG_CRC_ITU_T is not set
 52.1769 -CONFIG_CRC32=y
 52.1770 -# CONFIG_CRC7 is not set
 52.1771 -# CONFIG_LIBCRC32C is not set
 52.1772 -CONFIG_ZLIB_INFLATE=y
 52.1773 -CONFIG_ZLIB_DEFLATE=y
 52.1774 -CONFIG_PLIST=y
 52.1775 -CONFIG_HAS_IOMEM=y
 52.1776 -CONFIG_HAS_IOPORT=y
 52.1777 -CONFIG_HAS_DMA=y
    53.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    53.2 +++ b/linux/stuff/linux-2.6.29.3-slitaz.config	Mon May 11 19:08:50 2009 +0200
    53.3 @@ -0,0 +1,3202 @@
    53.4 +#
    53.5 +# Automatically generated make config: don't edit
    53.6 +# Linux kernel version: 2.6.29.3
    53.7 +# Mon May 11 17:21:35 2009
    53.8 +#
    53.9 +# CONFIG_64BIT is not set
   53.10 +CONFIG_X86_32=y
   53.11 +# CONFIG_X86_64 is not set
   53.12 +CONFIG_X86=y
   53.13 +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
   53.14 +CONFIG_GENERIC_TIME=y
   53.15 +CONFIG_GENERIC_CMOS_UPDATE=y
   53.16 +CONFIG_CLOCKSOURCE_WATCHDOG=y
   53.17 +CONFIG_GENERIC_CLOCKEVENTS=y
   53.18 +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
   53.19 +CONFIG_LOCKDEP_SUPPORT=y
   53.20 +CONFIG_STACKTRACE_SUPPORT=y
   53.21 +CONFIG_HAVE_LATENCYTOP_SUPPORT=y
   53.22 +CONFIG_FAST_CMPXCHG_LOCAL=y
   53.23 +CONFIG_MMU=y
   53.24 +CONFIG_ZONE_DMA=y
   53.25 +CONFIG_GENERIC_ISA_DMA=y
   53.26 +CONFIG_GENERIC_IOMAP=y
   53.27 +CONFIG_GENERIC_BUG=y
   53.28 +CONFIG_GENERIC_HWEIGHT=y
   53.29 +CONFIG_GENERIC_GPIO=y
   53.30 +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
   53.31 +CONFIG_RWSEM_GENERIC_SPINLOCK=y
   53.32 +# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
   53.33 +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
   53.34 +CONFIG_GENERIC_CALIBRATE_DELAY=y
   53.35 +# CONFIG_GENERIC_TIME_VSYSCALL is not set
   53.36 +CONFIG_ARCH_HAS_CPU_RELAX=y
   53.37 +CONFIG_ARCH_HAS_DEFAULT_IDLE=y
   53.38 +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
   53.39 +CONFIG_HAVE_SETUP_PER_CPU_AREA=y
   53.40 +# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
   53.41 +CONFIG_ARCH_HIBERNATION_POSSIBLE=y
   53.42 +CONFIG_ARCH_SUSPEND_POSSIBLE=y
   53.43 +# CONFIG_ZONE_DMA32 is not set
   53.44 +CONFIG_ARCH_POPULATES_NODE_MAP=y
   53.45 +# CONFIG_AUDIT_ARCH is not set
   53.46 +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
   53.47 +CONFIG_GENERIC_HARDIRQS=y
   53.48 +CONFIG_GENERIC_IRQ_PROBE=y
   53.49 +CONFIG_GENERIC_PENDING_IRQ=y
   53.50 +CONFIG_X86_SMP=y
   53.51 +CONFIG_USE_GENERIC_SMP_HELPERS=y
   53.52 +CONFIG_X86_32_SMP=y
   53.53 +CONFIG_X86_HT=y
   53.54 +CONFIG_X86_BIOS_REBOOT=y
   53.55 +CONFIG_X86_TRAMPOLINE=y
   53.56 +CONFIG_KTIME_SCALAR=y
   53.57 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
   53.58 +
   53.59 +#
   53.60 +# General setup
   53.61 +#
   53.62 +CONFIG_EXPERIMENTAL=y
   53.63 +CONFIG_LOCK_KERNEL=y
   53.64 +CONFIG_INIT_ENV_ARG_LIMIT=32
   53.65 +CONFIG_LOCALVERSION="-slitaz"
   53.66 +# CONFIG_LOCALVERSION_AUTO is not set
   53.67 +# CONFIG_KERNEL_GZIP is not set
   53.68 +# CONFIG_KERNEL_BZIP2 is not set
   53.69 +CONFIG_KERNEL_LZMA=y
   53.70 +CONFIG_SWAP=y
   53.71 +CONFIG_SYSVIPC=y
   53.72 +CONFIG_SYSVIPC_SYSCTL=y
   53.73 +CONFIG_POSIX_MQUEUE=y
   53.74 +CONFIG_BSD_PROCESS_ACCT=y
   53.75 +# CONFIG_BSD_PROCESS_ACCT_V3 is not set
   53.76 +# CONFIG_TASKSTATS is not set
   53.77 +# CONFIG_AUDIT is not set
   53.78 +
   53.79 +#
   53.80 +# RCU Subsystem
   53.81 +#
   53.82 +CONFIG_CLASSIC_RCU=y
   53.83 +# CONFIG_TREE_RCU is not set
   53.84 +# CONFIG_PREEMPT_RCU is not set
   53.85 +# CONFIG_TREE_RCU_TRACE is not set
   53.86 +# CONFIG_PREEMPT_RCU_TRACE is not set
   53.87 +CONFIG_IKCONFIG=y
   53.88 +CONFIG_IKCONFIG_PROC=y
   53.89 +CONFIG_LOG_BUF_SHIFT=14
   53.90 +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
   53.91 +CONFIG_GROUP_SCHED=y
   53.92 +CONFIG_FAIR_GROUP_SCHED=y
   53.93 +# CONFIG_RT_GROUP_SCHED is not set
   53.94 +CONFIG_USER_SCHED=y
   53.95 +# CONFIG_CGROUP_SCHED is not set
   53.96 +# CONFIG_CGROUPS is not set
   53.97 +# CONFIG_SYSFS_DEPRECATED_V2 is not set
   53.98 +# CONFIG_RELAY is not set
   53.99 +CONFIG_NAMESPACES=y
  53.100 +# CONFIG_UTS_NS is not set
  53.101 +# CONFIG_IPC_NS is not set
  53.102 +# CONFIG_USER_NS is not set
  53.103 +# CONFIG_PID_NS is not set
  53.104 +# CONFIG_NET_NS is not set
  53.105 +CONFIG_BLK_DEV_INITRD=y
  53.106 +CONFIG_INITRAMFS_SOURCE=""
  53.107 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
  53.108 +CONFIG_SYSCTL=y
  53.109 +CONFIG_ANON_INODES=y
  53.110 +# CONFIG_EMBEDDED is not set
  53.111 +CONFIG_UID16=y
  53.112 +CONFIG_SYSCTL_SYSCALL=y
  53.113 +CONFIG_KALLSYMS=y
  53.114 +# CONFIG_KALLSYMS_EXTRA_PASS is not set
  53.115 +CONFIG_HOTPLUG=y
  53.116 +CONFIG_PRINTK=y
  53.117 +CONFIG_BUG=y
  53.118 +CONFIG_ELF_CORE=y
  53.119 +CONFIG_PCSPKR_PLATFORM=y
  53.120 +CONFIG_BASE_FULL=y
  53.121 +CONFIG_FUTEX=y
  53.122 +CONFIG_EPOLL=y
  53.123 +CONFIG_SIGNALFD=y
  53.124 +CONFIG_TIMERFD=y
  53.125 +CONFIG_EVENTFD=y
  53.126 +CONFIG_SHMEM=y
  53.127 +CONFIG_AIO=y
  53.128 +CONFIG_VM_EVENT_COUNTERS=y
  53.129 +CONFIG_PCI_QUIRKS=y
  53.130 +CONFIG_COMPAT_BRK=y
  53.131 +CONFIG_SLAB=y
  53.132 +# CONFIG_SLUB is not set
  53.133 +# CONFIG_SLOB is not set
  53.134 +# CONFIG_PROFILING is not set
  53.135 +CONFIG_HAVE_OPROFILE=y
  53.136 +# CONFIG_KPROBES is not set
  53.137 +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
  53.138 +CONFIG_HAVE_IOREMAP_PROT=y
  53.139 +CONFIG_HAVE_KPROBES=y
  53.140 +CONFIG_HAVE_KRETPROBES=y
  53.141 +CONFIG_HAVE_ARCH_TRACEHOOK=y
  53.142 +CONFIG_HAVE_GENERIC_DMA_COHERENT=y
  53.143 +CONFIG_SLABINFO=y
  53.144 +CONFIG_RT_MUTEXES=y
  53.145 +CONFIG_BASE_SMALL=0
  53.146 +CONFIG_MODULES=y
  53.147 +# CONFIG_MODULE_FORCE_LOAD is not set
  53.148 +CONFIG_MODULE_UNLOAD=y
  53.149 +# CONFIG_MODULE_FORCE_UNLOAD is not set
  53.150 +# CONFIG_MODVERSIONS is not set
  53.151 +# CONFIG_MODULE_SRCVERSION_ALL is not set
  53.152 +CONFIG_STOP_MACHINE=y
  53.153 +CONFIG_BLOCK=y
  53.154 +CONFIG_LBD=y
  53.155 +# CONFIG_BLK_DEV_IO_TRACE is not set
  53.156 +# CONFIG_BLK_DEV_BSG is not set
  53.157 +# CONFIG_BLK_DEV_INTEGRITY is not set
  53.158 +
  53.159 +#
  53.160 +# IO Schedulers
  53.161 +#
  53.162 +CONFIG_IOSCHED_NOOP=y
  53.163 +# CONFIG_IOSCHED_AS is not set
  53.164 +CONFIG_IOSCHED_DEADLINE=y
  53.165 +# CONFIG_IOSCHED_CFQ is not set
  53.166 +# CONFIG_DEFAULT_AS is not set
  53.167 +CONFIG_DEFAULT_DEADLINE=y
  53.168 +# CONFIG_DEFAULT_CFQ is not set
  53.169 +# CONFIG_DEFAULT_NOOP is not set
  53.170 +CONFIG_DEFAULT_IOSCHED="deadline"
  53.171 +CONFIG_PREEMPT_NOTIFIERS=y
  53.172 +CONFIG_FREEZER=y
  53.173 +
  53.174 +#
  53.175 +# Processor type and features
  53.176 +#
  53.177 +CONFIG_TICK_ONESHOT=y
  53.178 +CONFIG_NO_HZ=y
  53.179 +# CONFIG_HIGH_RES_TIMERS is not set
  53.180 +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
  53.181 +CONFIG_SMP=y
  53.182 +# CONFIG_SPARSE_IRQ is not set
  53.183 +CONFIG_X86_FIND_SMP_CONFIG=y
  53.184 +CONFIG_X86_MPPARSE=y
  53.185 +CONFIG_X86_PC=y
  53.186 +# CONFIG_X86_ELAN is not set
  53.187 +# CONFIG_X86_VOYAGER is not set
  53.188 +# CONFIG_X86_GENERICARCH is not set
  53.189 +# CONFIG_X86_VSMP is not set
  53.190 +# CONFIG_X86_RDC321X is not set
  53.191 +CONFIG_SCHED_OMIT_FRAME_POINTER=y
  53.192 +CONFIG_PARAVIRT_GUEST=y
  53.193 +# CONFIG_VMI is not set
  53.194 +CONFIG_KVM_CLOCK=y
  53.195 +CONFIG_KVM_GUEST=y
  53.196 +# CONFIG_LGUEST_GUEST is not set
  53.197 +CONFIG_PARAVIRT=y
  53.198 +CONFIG_PARAVIRT_CLOCK=y
  53.199 +# CONFIG_MEMTEST is not set
  53.200 +CONFIG_M386=y
  53.201 +# CONFIG_M486 is not set
  53.202 +# CONFIG_M586 is not set
  53.203 +# CONFIG_M586TSC is not set
  53.204 +# CONFIG_M586MMX is not set
  53.205 +# CONFIG_M686 is not set
  53.206 +# CONFIG_MPENTIUMII is not set
  53.207 +# CONFIG_MPENTIUMIII is not set
  53.208 +# CONFIG_MPENTIUMM is not set
  53.209 +# CONFIG_MPENTIUM4 is not set
  53.210 +# CONFIG_MK6 is not set
  53.211 +# CONFIG_MK7 is not set
  53.212 +# CONFIG_MK8 is not set
  53.213 +# CONFIG_MCRUSOE is not set
  53.214 +# CONFIG_MEFFICEON is not set
  53.215 +# CONFIG_MWINCHIPC6 is not set
  53.216 +# CONFIG_MWINCHIP3D is not set
  53.217 +# CONFIG_MGEODEGX1 is not set
  53.218 +# CONFIG_MGEODE_LX is not set
  53.219 +# CONFIG_MCYRIXIII is not set
  53.220 +# CONFIG_MVIAC3_2 is not set
  53.221 +# CONFIG_MVIAC7 is not set
  53.222 +# CONFIG_MPSC is not set
  53.223 +# CONFIG_MCORE2 is not set
  53.224 +# CONFIG_GENERIC_CPU is not set
  53.225 +CONFIG_X86_GENERIC=y
  53.226 +CONFIG_X86_CPU=y
  53.227 +# CONFIG_X86_CMPXCHG is not set
  53.228 +CONFIG_X86_L1_CACHE_SHIFT=7
  53.229 +CONFIG_X86_PPRO_FENCE=y
  53.230 +CONFIG_X86_F00F_BUG=y
  53.231 +CONFIG_X86_INTEL_USERCOPY=y
  53.232 +CONFIG_X86_MINIMUM_CPU_FAMILY=3
  53.233 +CONFIG_CPU_SUP_INTEL=y
  53.234 +CONFIG_CPU_SUP_CYRIX_32=y
  53.235 +CONFIG_CPU_SUP_AMD=y
  53.236 +CONFIG_CPU_SUP_CENTAUR_32=y
  53.237 +CONFIG_CPU_SUP_TRANSMETA_32=y
  53.238 +CONFIG_CPU_SUP_UMC_32=y
  53.239 +# CONFIG_HPET_TIMER is not set
  53.240 +CONFIG_DMI=y
  53.241 +# CONFIG_IOMMU_HELPER is not set
  53.242 +# CONFIG_IOMMU_API is not set
  53.243 +CONFIG_NR_CPUS=8
  53.244 +# CONFIG_SCHED_SMT is not set
  53.245 +CONFIG_SCHED_MC=y
  53.246 +CONFIG_PREEMPT_NONE=y
  53.247 +# CONFIG_PREEMPT_VOLUNTARY is not set
  53.248 +# CONFIG_PREEMPT is not set
  53.249 +CONFIG_X86_LOCAL_APIC=y
  53.250 +CONFIG_X86_IO_APIC=y
  53.251 +# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
  53.252 +CONFIG_X86_MCE=y
  53.253 +# CONFIG_X86_MCE_NONFATAL is not set
  53.254 +# CONFIG_X86_MCE_P4THERMAL is not set
  53.255 +CONFIG_VM86=y
  53.256 +# CONFIG_TOSHIBA is not set
  53.257 +# CONFIG_I8K is not set
  53.258 +CONFIG_X86_REBOOTFIXUPS=y
  53.259 +# CONFIG_MICROCODE is not set
  53.260 +# CONFIG_X86_MSR is not set
  53.261 +# CONFIG_X86_CPUID is not set
  53.262 +# CONFIG_NOHIGHMEM is not set
  53.263 +CONFIG_HIGHMEM4G=y
  53.264 +# CONFIG_HIGHMEM64G is not set
  53.265 +CONFIG_PAGE_OFFSET=0xC0000000
  53.266 +CONFIG_HIGHMEM=y
  53.267 +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
  53.268 +CONFIG_ARCH_FLATMEM_ENABLE=y
  53.269 +CONFIG_ARCH_SPARSEMEM_ENABLE=y
  53.270 +CONFIG_ARCH_SELECT_MEMORY_MODEL=y
  53.271 +CONFIG_SELECT_MEMORY_MODEL=y
  53.272 +CONFIG_FLATMEM_MANUAL=y
  53.273 +# CONFIG_DISCONTIGMEM_MANUAL is not set
  53.274 +# CONFIG_SPARSEMEM_MANUAL is not set
  53.275 +CONFIG_FLATMEM=y
  53.276 +CONFIG_FLAT_NODE_MEM_MAP=y
  53.277 +CONFIG_SPARSEMEM_STATIC=y
  53.278 +CONFIG_PAGEFLAGS_EXTENDED=y
  53.279 +CONFIG_SPLIT_PTLOCK_CPUS=4
  53.280 +# CONFIG_PHYS_ADDR_T_64BIT is not set
  53.281 +CONFIG_ZONE_DMA_FLAG=1
  53.282 +CONFIG_BOUNCE=y
  53.283 +CONFIG_VIRT_TO_BUS=y
  53.284 +CONFIG_UNEVICTABLE_LRU=y
  53.285 +CONFIG_MMU_NOTIFIER=y
  53.286 +# CONFIG_HIGHPTE is not set
  53.287 +# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
  53.288 +CONFIG_X86_RESERVE_LOW_64K=y
  53.289 +CONFIG_MATH_EMULATION=y
  53.290 +CONFIG_MTRR=y
  53.291 +CONFIG_MTRR_SANITIZER=y
  53.292 +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
  53.293 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
  53.294 +CONFIG_X86_PAT=y
  53.295 +# CONFIG_EFI is not set
  53.296 +# CONFIG_SECCOMP is not set
  53.297 +# CONFIG_HZ_100 is not set
  53.298 +# CONFIG_HZ_250 is not set
  53.299 +# CONFIG_HZ_300 is not set
  53.300 +CONFIG_HZ_1000=y
  53.301 +CONFIG_HZ=1000
  53.302 +# CONFIG_SCHED_HRTICK is not set
  53.303 +CONFIG_KEXEC=y
  53.304 +# CONFIG_CRASH_DUMP is not set
  53.305 +# CONFIG_KEXEC_JUMP is not set
  53.306 +CONFIG_PHYSICAL_START=0x100000
  53.307 +# CONFIG_RELOCATABLE is not set
  53.308 +CONFIG_PHYSICAL_ALIGN=0x100000
  53.309 +CONFIG_HOTPLUG_CPU=y
  53.310 +CONFIG_COMPAT_VDSO=y
  53.311 +# CONFIG_CMDLINE_BOOL is not set
  53.312 +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
  53.313 +
  53.314 +#
  53.315 +# Power management and ACPI options
  53.316 +#
  53.317 +CONFIG_PM=y
  53.318 +# CONFIG_PM_DEBUG is not set
  53.319 +CONFIG_PM_SLEEP_SMP=y
  53.320 +CONFIG_PM_SLEEP=y
  53.321 +CONFIG_SUSPEND=y
  53.322 +CONFIG_SUSPEND_FREEZER=y
  53.323 +CONFIG_HIBERNATION=y
  53.324 +CONFIG_PM_STD_PARTITION=""
  53.325 +CONFIG_ACPI=y
  53.326 +CONFIG_ACPI_SLEEP=y
  53.327 +# CONFIG_ACPI_PROCFS is not set
  53.328 +CONFIG_ACPI_PROCFS_POWER=y
  53.329 +CONFIG_ACPI_SYSFS_POWER=y
  53.330 +CONFIG_ACPI_PROC_EVENT=y
  53.331 +CONFIG_ACPI_AC=m
  53.332 +CONFIG_ACPI_BATTERY=m
  53.333 +# CONFIG_ACPI_BUTTON is not set
  53.334 +# CONFIG_ACPI_FAN is not set
  53.335 +CONFIG_ACPI_DOCK=y
  53.336 +CONFIG_ACPI_PROCESSOR=y
  53.337 +CONFIG_ACPI_HOTPLUG_CPU=y
  53.338 +CONFIG_ACPI_THERMAL=y
  53.339 +# CONFIG_ACPI_CUSTOM_DSDT is not set
  53.340 +CONFIG_ACPI_BLACKLIST_YEAR=0
  53.341 +# CONFIG_ACPI_DEBUG is not set
  53.342 +# CONFIG_ACPI_PCI_SLOT is not set
  53.343 +CONFIG_X86_PM_TIMER=y
  53.344 +CONFIG_ACPI_CONTAINER=y
  53.345 +# CONFIG_ACPI_SBS is not set
  53.346 +# CONFIG_APM is not set
  53.347 +
  53.348 +#
  53.349 +# CPU Frequency scaling
  53.350 +#
  53.351 +CONFIG_CPU_FREQ=y
  53.352 +CONFIG_CPU_FREQ_TABLE=y
  53.353 +# CONFIG_CPU_FREQ_DEBUG is not set
  53.354 +CONFIG_CPU_FREQ_STAT=y
  53.355 +# CONFIG_CPU_FREQ_STAT_DETAILS is not set
  53.356 +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
  53.357 +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
  53.358 +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
  53.359 +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
  53.360 +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
  53.361 +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  53.362 +CONFIG_CPU_FREQ_GOV_POWERSAVE=m
  53.363 +CONFIG_CPU_FREQ_GOV_USERSPACE=m
  53.364 +CONFIG_CPU_FREQ_GOV_ONDEMAND=m
  53.365 +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
  53.366 +
  53.367 +#
  53.368 +# CPUFreq processor drivers
  53.369 +#
  53.370 +CONFIG_X86_ACPI_CPUFREQ=m
  53.371 +CONFIG_X86_POWERNOW_K6=m
  53.372 +CONFIG_X86_POWERNOW_K7=m
  53.373 +CONFIG_X86_POWERNOW_K7_ACPI=y
  53.374 +CONFIG_X86_POWERNOW_K8=m
  53.375 +CONFIG_X86_POWERNOW_K8_ACPI=y
  53.376 +CONFIG_X86_GX_SUSPMOD=m
  53.377 +# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
  53.378 +CONFIG_X86_SPEEDSTEP_ICH=m
  53.379 +CONFIG_X86_SPEEDSTEP_SMI=m
  53.380 +CONFIG_X86_P4_CLOCKMOD=m
  53.381 +CONFIG_X86_CPUFREQ_NFORCE2=m
  53.382 +CONFIG_X86_LONGRUN=m
  53.383 +CONFIG_X86_LONGHAUL=m
  53.384 +CONFIG_X86_E_POWERSAVER=m
  53.385 +
  53.386 +#
  53.387 +# shared options
  53.388 +#
  53.389 +CONFIG_X86_SPEEDSTEP_LIB=m
  53.390 +CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
  53.391 +CONFIG_CPU_IDLE=y
  53.392 +CONFIG_CPU_IDLE_GOV_LADDER=y
  53.393 +CONFIG_CPU_IDLE_GOV_MENU=y
  53.394 +
  53.395 +#
  53.396 +# Bus options (PCI etc.)
  53.397 +#
  53.398 +CONFIG_PCI=y
  53.399 +# CONFIG_PCI_GOBIOS is not set
  53.400 +# CONFIG_PCI_GOMMCONFIG is not set
  53.401 +# CONFIG_PCI_GODIRECT is not set
  53.402 +# CONFIG_PCI_GOOLPC is not set
  53.403 +CONFIG_PCI_GOANY=y
  53.404 +CONFIG_PCI_BIOS=y
  53.405 +CONFIG_PCI_DIRECT=y
  53.406 +CONFIG_PCI_MMCONFIG=y
  53.407 +CONFIG_PCI_DOMAINS=y
  53.408 +CONFIG_PCIEPORTBUS=y
  53.409 +CONFIG_PCIEAER=y
  53.410 +# CONFIG_PCIEASPM is not set
  53.411 +CONFIG_ARCH_SUPPORTS_MSI=y
  53.412 +# CONFIG_PCI_MSI is not set
  53.413 +CONFIG_PCI_LEGACY=y
  53.414 +# CONFIG_PCI_STUB is not set
  53.415 +CONFIG_HT_IRQ=y
  53.416 +CONFIG_ISA_DMA_API=y
  53.417 +CONFIG_ISA=y
  53.418 +# CONFIG_EISA is not set
  53.419 +# CONFIG_MCA is not set
  53.420 +# CONFIG_SCx200 is not set
  53.421 +# CONFIG_OLPC is not set
  53.422 +CONFIG_K8_NB=y
  53.423 +CONFIG_PCCARD=m
  53.424 +# CONFIG_PCMCIA_DEBUG is not set
  53.425 +CONFIG_PCMCIA=m
  53.426 +CONFIG_PCMCIA_LOAD_CIS=y
  53.427 +CONFIG_PCMCIA_IOCTL=y
  53.428 +CONFIG_CARDBUS=y
  53.429 +
  53.430 +#
  53.431 +# PC-card bridges
  53.432 +#
  53.433 +CONFIG_YENTA=m
  53.434 +CONFIG_YENTA_O2=y
  53.435 +CONFIG_YENTA_RICOH=y
  53.436 +CONFIG_YENTA_TI=y
  53.437 +CONFIG_YENTA_ENE_TUNE=y
  53.438 +CONFIG_YENTA_TOSHIBA=y
  53.439 +CONFIG_PD6729=m
  53.440 +CONFIG_I82092=m
  53.441 +CONFIG_I82365=m
  53.442 +# CONFIG_TCIC is not set
  53.443 +CONFIG_PCMCIA_PROBE=y
  53.444 +CONFIG_PCCARD_NONSTATIC=m
  53.445 +# CONFIG_HOTPLUG_PCI is not set
  53.446 +
  53.447 +#
  53.448 +# Executable file formats / Emulations
  53.449 +#
  53.450 +CONFIG_BINFMT_ELF=y
  53.451 +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
  53.452 +CONFIG_HAVE_AOUT=y
  53.453 +# CONFIG_BINFMT_AOUT is not set
  53.454 +CONFIG_BINFMT_MISC=m
  53.455 +CONFIG_HAVE_ATOMIC_IOMAP=y
  53.456 +CONFIG_NET=y
  53.457 +
  53.458 +#
  53.459 +# Networking options
  53.460 +#
  53.461 +CONFIG_COMPAT_NET_DEV_OPS=y
  53.462 +CONFIG_PACKET=y
  53.463 +# CONFIG_PACKET_MMAP is not set
  53.464 +CONFIG_UNIX=y
  53.465 +CONFIG_XFRM=y
  53.466 +# CONFIG_XFRM_USER is not set
  53.467 +# CONFIG_XFRM_SUB_POLICY is not set
  53.468 +# CONFIG_XFRM_MIGRATE is not set
  53.469 +# CONFIG_XFRM_STATISTICS is not set
  53.470 +CONFIG_XFRM_IPCOMP=y
  53.471 +CONFIG_NET_KEY=y
  53.472 +# CONFIG_NET_KEY_MIGRATE is not set
  53.473 +CONFIG_INET=y
  53.474 +# CONFIG_IP_MULTICAST is not set
  53.475 +# CONFIG_IP_ADVANCED_ROUTER is not set
  53.476 +CONFIG_IP_FIB_HASH=y
  53.477 +# CONFIG_IP_PNP is not set
  53.478 +# CONFIG_NET_IPIP is not set
  53.479 +# CONFIG_NET_IPGRE is not set
  53.480 +# CONFIG_ARPD is not set
  53.481 +CONFIG_SYN_COOKIES=y
  53.482 +CONFIG_INET_AH=y
  53.483 +CONFIG_INET_ESP=y
  53.484 +CONFIG_INET_IPCOMP=y
  53.485 +CONFIG_INET_XFRM_TUNNEL=y
  53.486 +CONFIG_INET_TUNNEL=y
  53.487 +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
  53.488 +# CONFIG_INET_XFRM_MODE_TUNNEL is not set
  53.489 +# CONFIG_INET_XFRM_MODE_BEET is not set
  53.490 +# CONFIG_INET_LRO is not set
  53.491 +CONFIG_INET_DIAG=y
  53.492 +CONFIG_INET_TCP_DIAG=y
  53.493 +# CONFIG_TCP_CONG_ADVANCED is not set
  53.494 +CONFIG_TCP_CONG_CUBIC=y
  53.495 +CONFIG_DEFAULT_TCP_CONG="cubic"
  53.496 +# CONFIG_TCP_MD5SIG is not set
  53.497 +CONFIG_IPV6=m
  53.498 +# CONFIG_IPV6_PRIVACY is not set
  53.499 +# CONFIG_IPV6_ROUTER_PREF is not set
  53.500 +# CONFIG_IPV6_OPTIMISTIC_DAD is not set
  53.501 +# CONFIG_INET6_AH is not set
  53.502 +# CONFIG_INET6_ESP is not set
  53.503 +# CONFIG_INET6_IPCOMP is not set
  53.504 +# CONFIG_IPV6_MIP6 is not set
  53.505 +# CONFIG_INET6_XFRM_TUNNEL is not set
  53.506 +# CONFIG_INET6_TUNNEL is not set
  53.507 +CONFIG_INET6_XFRM_MODE_TRANSPORT=m
  53.508 +CONFIG_INET6_XFRM_MODE_TUNNEL=m
  53.509 +CONFIG_INET6_XFRM_MODE_BEET=m
  53.510 +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
  53.511 +CONFIG_IPV6_SIT=m
  53.512 +CONFIG_IPV6_NDISC_NODETYPE=y
  53.513 +# CONFIG_IPV6_TUNNEL is not set
  53.514 +# CONFIG_IPV6_MULTIPLE_TABLES is not set
  53.515 +# CONFIG_IPV6_MROUTE is not set
  53.516 +# CONFIG_NETWORK_SECMARK is not set
  53.517 +CONFIG_NETFILTER=y
  53.518 +# CONFIG_NETFILTER_DEBUG is not set
  53.519 +CONFIG_NETFILTER_ADVANCED=y
  53.520 +
  53.521 +#
  53.522 +# Core Netfilter Configuration
  53.523 +#
  53.524 +CONFIG_NETFILTER_NETLINK=m
  53.525 +CONFIG_NETFILTER_NETLINK_QUEUE=m
  53.526 +CONFIG_NETFILTER_NETLINK_LOG=m
  53.527 +CONFIG_NF_CONNTRACK=m
  53.528 +CONFIG_NF_CT_ACCT=y
  53.529 +CONFIG_NF_CONNTRACK_MARK=y
  53.530 +CONFIG_NF_CONNTRACK_EVENTS=y
  53.531 +CONFIG_NF_CT_PROTO_DCCP=m
  53.532 +CONFIG_NF_CT_PROTO_GRE=m
  53.533 +CONFIG_NF_CT_PROTO_SCTP=m
  53.534 +CONFIG_NF_CT_PROTO_UDPLITE=m
  53.535 +CONFIG_NF_CONNTRACK_AMANDA=m
  53.536 +CONFIG_NF_CONNTRACK_FTP=m
  53.537 +CONFIG_NF_CONNTRACK_H323=m
  53.538 +CONFIG_NF_CONNTRACK_IRC=m
  53.539 +CONFIG_NF_CONNTRACK_NETBIOS_NS=m
  53.540 +CONFIG_NF_CONNTRACK_PPTP=m
  53.541 +CONFIG_NF_CONNTRACK_SANE=m
  53.542 +CONFIG_NF_CONNTRACK_SIP=m
  53.543 +CONFIG_NF_CONNTRACK_TFTP=m
  53.544 +CONFIG_NF_CT_NETLINK=m
  53.545 +# CONFIG_NETFILTER_TPROXY is not set
  53.546 +CONFIG_NETFILTER_XTABLES=y
  53.547 +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
  53.548 +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
  53.549 +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
  53.550 +CONFIG_NETFILTER_XT_TARGET_MARK=m
  53.551 +CONFIG_NETFILTER_XT_TARGET_NFLOG=m
  53.552 +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
  53.553 +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
  53.554 +CONFIG_NETFILTER_XT_TARGET_RATEEST=m
  53.555 +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
  53.556 +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
  53.557 +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
  53.558 +CONFIG_NETFILTER_XT_MATCH_COMMENT=m
  53.559 +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
  53.560 +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
  53.561 +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
  53.562 +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
  53.563 +CONFIG_NETFILTER_XT_MATCH_DCCP=m
  53.564 +CONFIG_NETFILTER_XT_MATCH_DSCP=m
  53.565 +CONFIG_NETFILTER_XT_MATCH_ESP=m
  53.566 +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
  53.567 +CONFIG_NETFILTER_XT_MATCH_HELPER=m
  53.568 +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
  53.569 +CONFIG_NETFILTER_XT_MATCH_LENGTH=m
  53.570 +CONFIG_NETFILTER_XT_MATCH_LIMIT=m
  53.571 +CONFIG_NETFILTER_XT_MATCH_MAC=m
  53.572 +CONFIG_NETFILTER_XT_MATCH_MARK=m
  53.573 +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
  53.574 +CONFIG_NETFILTER_XT_MATCH_OWNER=m
  53.575 +CONFIG_NETFILTER_XT_MATCH_POLICY=m
  53.576 +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
  53.577 +CONFIG_NETFILTER_XT_MATCH_QUOTA=m
  53.578 +CONFIG_NETFILTER_XT_MATCH_RATEEST=m
  53.579 +CONFIG_NETFILTER_XT_MATCH_REALM=m
  53.580 +CONFIG_NETFILTER_XT_MATCH_RECENT=m
  53.581 +# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
  53.582 +CONFIG_NETFILTER_XT_MATCH_SCTP=m
  53.583 +CONFIG_NETFILTER_XT_MATCH_STATE=m
  53.584 +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
  53.585 +CONFIG_NETFILTER_XT_MATCH_STRING=m
  53.586 +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
  53.587 +CONFIG_NETFILTER_XT_MATCH_TIME=m
  53.588 +CONFIG_NETFILTER_XT_MATCH_U32=m
  53.589 +CONFIG_IP_VS=m
  53.590 +CONFIG_IP_VS_IPV6=y
  53.591 +# CONFIG_IP_VS_DEBUG is not set
  53.592 +CONFIG_IP_VS_TAB_BITS=12
  53.593 +
  53.594 +#
  53.595 +# IPVS transport protocol load balancing support
  53.596 +#
  53.597 +CONFIG_IP_VS_PROTO_TCP=y
  53.598 +CONFIG_IP_VS_PROTO_UDP=y
  53.599 +CONFIG_IP_VS_PROTO_AH_ESP=y
  53.600 +CONFIG_IP_VS_PROTO_ESP=y
  53.601 +CONFIG_IP_VS_PROTO_AH=y
  53.602 +
  53.603 +#
  53.604 +# IPVS scheduler
  53.605 +#
  53.606 +CONFIG_IP_VS_RR=m
  53.607 +CONFIG_IP_VS_WRR=m
  53.608 +CONFIG_IP_VS_LC=m
  53.609 +CONFIG_IP_VS_WLC=m
  53.610 +CONFIG_IP_VS_LBLC=m
  53.611 +CONFIG_IP_VS_LBLCR=m
  53.612 +CONFIG_IP_VS_DH=m
  53.613 +CONFIG_IP_VS_SH=m
  53.614 +CONFIG_IP_VS_SED=m
  53.615 +CONFIG_IP_VS_NQ=m
  53.616 +
  53.617 +#
  53.618 +# IPVS application helper
  53.619 +#
  53.620 +CONFIG_IP_VS_FTP=m
  53.621 +
  53.622 +#
  53.623 +# IP: Netfilter Configuration
  53.624 +#
  53.625 +CONFIG_NF_DEFRAG_IPV4=m
  53.626 +CONFIG_NF_CONNTRACK_IPV4=m
  53.627 +CONFIG_NF_CONNTRACK_PROC_COMPAT=y
  53.628 +# CONFIG_IP_NF_QUEUE is not set
  53.629 +CONFIG_IP_NF_IPTABLES=m
  53.630 +CONFIG_IP_NF_MATCH_ADDRTYPE=m
  53.631 +CONFIG_IP_NF_MATCH_AH=m
  53.632 +CONFIG_IP_NF_MATCH_ECN=m
  53.633 +CONFIG_IP_NF_MATCH_TTL=m
  53.634 +CONFIG_IP_NF_FILTER=m
  53.635 +CONFIG_IP_NF_TARGET_REJECT=m
  53.636 +CONFIG_IP_NF_TARGET_LOG=m
  53.637 +CONFIG_IP_NF_TARGET_ULOG=m
  53.638 +CONFIG_NF_NAT=m
  53.639 +CONFIG_NF_NAT_NEEDED=y
  53.640 +CONFIG_IP_NF_TARGET_MASQUERADE=m
  53.641 +CONFIG_IP_NF_TARGET_NETMAP=m
  53.642 +CONFIG_IP_NF_TARGET_REDIRECT=m
  53.643 +CONFIG_NF_NAT_SNMP_BASIC=m
  53.644 +CONFIG_NF_NAT_PROTO_DCCP=m
  53.645 +CONFIG_NF_NAT_PROTO_GRE=m
  53.646 +CONFIG_NF_NAT_PROTO_UDPLITE=m
  53.647 +CONFIG_NF_NAT_PROTO_SCTP=m
  53.648 +CONFIG_NF_NAT_FTP=m
  53.649 +CONFIG_NF_NAT_IRC=m
  53.650 +CONFIG_NF_NAT_TFTP=m
  53.651 +CONFIG_NF_NAT_AMANDA=m
  53.652 +CONFIG_NF_NAT_PPTP=m
  53.653 +CONFIG_NF_NAT_H323=m
  53.654 +CONFIG_NF_NAT_SIP=m
  53.655 +CONFIG_IP_NF_MANGLE=m
  53.656 +CONFIG_IP_NF_TARGET_CLUSTERIP=m
  53.657 +CONFIG_IP_NF_TARGET_ECN=m
  53.658 +CONFIG_IP_NF_TARGET_TTL=m
  53.659 +CONFIG_IP_NF_RAW=m
  53.660 +CONFIG_IP_NF_ARPTABLES=m
  53.661 +# CONFIG_IP_NF_ARPFILTER is not set
  53.662 +# CONFIG_IP_NF_ARP_MANGLE is not set
  53.663 +
  53.664 +#
  53.665 +# IPv6: Netfilter Configuration
  53.666 +#
  53.667 +CONFIG_NF_CONNTRACK_IPV6=m
  53.668 +# CONFIG_IP6_NF_QUEUE is not set
  53.669 +CONFIG_IP6_NF_IPTABLES=m
  53.670 +CONFIG_IP6_NF_MATCH_AH=m
  53.671 +CONFIG_IP6_NF_MATCH_EUI64=m
  53.672 +CONFIG_IP6_NF_MATCH_FRAG=m
  53.673 +CONFIG_IP6_NF_MATCH_OPTS=m
  53.674 +CONFIG_IP6_NF_MATCH_HL=m
  53.675 +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
  53.676 +CONFIG_IP6_NF_MATCH_MH=m
  53.677 +CONFIG_IP6_NF_MATCH_RT=m
  53.678 +CONFIG_IP6_NF_TARGET_LOG=m
  53.679 +CONFIG_IP6_NF_FILTER=m
  53.680 +CONFIG_IP6_NF_TARGET_REJECT=m
  53.681 +CONFIG_IP6_NF_MANGLE=m
  53.682 +CONFIG_IP6_NF_TARGET_HL=m
  53.683 +CONFIG_IP6_NF_RAW=m
  53.684 +# CONFIG_IP_DCCP is not set
  53.685 +CONFIG_IP_SCTP=m
  53.686 +# CONFIG_SCTP_DBG_MSG is not set
  53.687 +# CONFIG_SCTP_DBG_OBJCNT is not set
  53.688 +# CONFIG_SCTP_HMAC_NONE is not set
  53.689 +# CONFIG_SCTP_HMAC_SHA1 is not set
  53.690 +CONFIG_SCTP_HMAC_MD5=y
  53.691 +# CONFIG_TIPC is not set
  53.692 +CONFIG_ATM=m
  53.693 +CONFIG_ATM_CLIP=m
  53.694 +CONFIG_ATM_CLIP_NO_ICMP=y
  53.695 +CONFIG_ATM_LANE=m
  53.696 +CONFIG_ATM_MPOA=m
  53.697 +CONFIG_ATM_BR2684=m
  53.698 +# CONFIG_ATM_BR2684_IPFILTER is not set
  53.699 +# CONFIG_BRIDGE is not set
  53.700 +# CONFIG_NET_DSA is not set
  53.701 +CONFIG_VLAN_8021Q=m
  53.702 +# CONFIG_VLAN_8021Q_GVRP is not set
  53.703 +# CONFIG_DECNET is not set
  53.704 +CONFIG_LLC=m
  53.705 +# CONFIG_LLC2 is not set
  53.706 +# CONFIG_IPX is not set
  53.707 +CONFIG_ATALK=m
  53.708 +CONFIG_DEV_APPLETALK=m
  53.709 +CONFIG_LTPC=m
  53.710 +CONFIG_COPS=m
  53.711 +CONFIG_COPS_DAYNA=y
  53.712 +CONFIG_COPS_TANGENT=y
  53.713 +CONFIG_IPDDP=m
  53.714 +CONFIG_IPDDP_ENCAP=y
  53.715 +CONFIG_IPDDP_DECAP=y
  53.716 +# CONFIG_X25 is not set
  53.717 +# CONFIG_LAPB is not set
  53.718 +# CONFIG_ECONET is not set
  53.719 +# CONFIG_WAN_ROUTER is not set
  53.720 +CONFIG_NET_SCHED=y
  53.721 +
  53.722 +#
  53.723 +# Queueing/Scheduling
  53.724 +#
  53.725 +CONFIG_NET_SCH_CBQ=m
  53.726 +CONFIG_NET_SCH_HTB=m
  53.727 +CONFIG_NET_SCH_HFSC=m
  53.728 +CONFIG_NET_SCH_ATM=m
  53.729 +CONFIG_NET_SCH_PRIO=m
  53.730 +CONFIG_NET_SCH_MULTIQ=m
  53.731 +CONFIG_NET_SCH_RED=m
  53.732 +CONFIG_NET_SCH_SFQ=m
  53.733 +CONFIG_NET_SCH_TEQL=m
  53.734 +CONFIG_NET_SCH_TBF=m
  53.735 +CONFIG_NET_SCH_GRED=m
  53.736 +CONFIG_NET_SCH_DSMARK=m
  53.737 +# CONFIG_NET_SCH_NETEM is not set
  53.738 +CONFIG_NET_SCH_DRR=m
  53.739 +CONFIG_NET_SCH_INGRESS=m
  53.740 +
  53.741 +#
  53.742 +# Classification
  53.743 +#
  53.744 +CONFIG_NET_CLS=y
  53.745 +CONFIG_NET_CLS_BASIC=m
  53.746 +CONFIG_NET_CLS_TCINDEX=m
  53.747 +CONFIG_NET_CLS_ROUTE4=m
  53.748 +CONFIG_NET_CLS_ROUTE=y
  53.749 +CONFIG_NET_CLS_FW=m
  53.750 +CONFIG_NET_CLS_U32=m
  53.751 +CONFIG_CLS_U32_PERF=y
  53.752 +CONFIG_CLS_U32_MARK=y
  53.753 +CONFIG_NET_CLS_RSVP=m
  53.754 +CONFIG_NET_CLS_RSVP6=m
  53.755 +CONFIG_NET_CLS_FLOW=m
  53.756 +CONFIG_NET_EMATCH=y
  53.757 +CONFIG_NET_EMATCH_STACK=32
  53.758 +CONFIG_NET_EMATCH_CMP=m
  53.759 +CONFIG_NET_EMATCH_NBYTE=m
  53.760 +CONFIG_NET_EMATCH_U32=m
  53.761 +CONFIG_NET_EMATCH_META=m
  53.762 +CONFIG_NET_EMATCH_TEXT=m
  53.763 +CONFIG_NET_CLS_ACT=y
  53.764 +CONFIG_NET_ACT_POLICE=m
  53.765 +CONFIG_NET_ACT_GACT=m
  53.766 +CONFIG_GACT_PROB=y
  53.767 +CONFIG_NET_ACT_MIRRED=m
  53.768 +CONFIG_NET_ACT_IPT=m
  53.769 +CONFIG_NET_ACT_NAT=m
  53.770 +CONFIG_NET_ACT_PEDIT=m
  53.771 +CONFIG_NET_ACT_SIMP=m
  53.772 +CONFIG_NET_ACT_SKBEDIT=m
  53.773 +CONFIG_NET_CLS_IND=y
  53.774 +CONFIG_NET_SCH_FIFO=y
  53.775 +# CONFIG_DCB is not set
  53.776 +
  53.777 +#
  53.778 +# Network testing
  53.779 +#
  53.780 +# CONFIG_NET_PKTGEN is not set
  53.781 +# CONFIG_HAMRADIO is not set
  53.782 +# CONFIG_CAN is not set
  53.783 +CONFIG_IRDA=m
  53.784 +
  53.785 +#
  53.786 +# IrDA protocols
  53.787 +#
  53.788 +CONFIG_IRLAN=m
  53.789 +CONFIG_IRNET=m
  53.790 +CONFIG_IRCOMM=m
  53.791 +# CONFIG_IRDA_ULTRA is not set
  53.792 +
  53.793 +#
  53.794 +# IrDA options
  53.795 +#
  53.796 +# CONFIG_IRDA_CACHE_LAST_LSAP is not set
  53.797 +# CONFIG_IRDA_FAST_RR is not set
  53.798 +# CONFIG_IRDA_DEBUG is not set
  53.799 +
  53.800 +#
  53.801 +# Infrared-port device drivers
  53.802 +#
  53.803 +
  53.804 +#
  53.805 +# SIR device drivers
  53.806 +#
  53.807 +CONFIG_IRTTY_SIR=m
  53.808 +
  53.809 +#
  53.810 +# Dongle support
  53.811 +#
  53.812 +# CONFIG_DONGLE is not set
  53.813 +# CONFIG_KINGSUN_DONGLE is not set
  53.814 +# CONFIG_KSDAZZLE_DONGLE is not set
  53.815 +# CONFIG_KS959_DONGLE is not set
  53.816 +
  53.817 +#
  53.818 +# FIR device drivers
  53.819 +#
  53.820 +# CONFIG_USB_IRDA is not set
  53.821 +# CONFIG_SIGMATEL_FIR is not set
  53.822 +# CONFIG_NSC_FIR is not set
  53.823 +# CONFIG_WINBOND_FIR is not set
  53.824 +# CONFIG_TOSHIBA_FIR is not set
  53.825 +# CONFIG_SMC_IRCC_FIR is not set
  53.826 +# CONFIG_ALI_FIR is not set
  53.827 +# CONFIG_VLSI_FIR is not set
  53.828 +# CONFIG_VIA_FIR is not set
  53.829 +# CONFIG_MCS_FIR is not set
  53.830 +CONFIG_BT=m
  53.831 +CONFIG_BT_L2CAP=m
  53.832 +CONFIG_BT_SCO=m
  53.833 +CONFIG_BT_RFCOMM=m
  53.834 +# CONFIG_BT_RFCOMM_TTY is not set
  53.835 +# CONFIG_BT_BNEP is not set
  53.836 +# CONFIG_BT_CMTP is not set
  53.837 +# CONFIG_BT_HIDP is not set
  53.838 +
  53.839 +#
  53.840 +# Bluetooth device drivers
  53.841 +#
  53.842 +CONFIG_BT_HCIBTUSB=m
  53.843 +CONFIG_BT_HCIBTSDIO=m
  53.844 +CONFIG_BT_HCIUART=m
  53.845 +# CONFIG_BT_HCIUART_H4 is not set
  53.846 +# CONFIG_BT_HCIUART_BCSP is not set
  53.847 +# CONFIG_BT_HCIUART_LL is not set
  53.848 +CONFIG_BT_HCIBCM203X=m
  53.849 +# CONFIG_BT_HCIBPA10X is not set
  53.850 +# CONFIG_BT_HCIBFUSB is not set
  53.851 +# CONFIG_BT_HCIDTL1 is not set
  53.852 +# CONFIG_BT_HCIBT3C is not set
  53.853 +# CONFIG_BT_HCIBLUECARD is not set
  53.854 +# CONFIG_BT_HCIBTUART is not set
  53.855 +# CONFIG_BT_HCIVHCI is not set
  53.856 +# CONFIG_AF_RXRPC is not set
  53.857 +# CONFIG_PHONET is not set
  53.858 +CONFIG_WIRELESS=y
  53.859 +CONFIG_CFG80211=m
  53.860 +# CONFIG_CFG80211_REG_DEBUG is not set
  53.861 +CONFIG_NL80211=y
  53.862 +CONFIG_WIRELESS_OLD_REGULATORY=y
  53.863 +CONFIG_WIRELESS_EXT=y
  53.864 +CONFIG_WIRELESS_EXT_SYSFS=y
  53.865 +CONFIG_LIB80211=m
  53.866 +CONFIG_LIB80211_CRYPT_WEP=m
  53.867 +CONFIG_LIB80211_CRYPT_CCMP=m
  53.868 +CONFIG_LIB80211_CRYPT_TKIP=m
  53.869 +# CONFIG_LIB80211_DEBUG is not set
  53.870 +CONFIG_MAC80211=m
  53.871 +
  53.872 +#
  53.873 +# Rate control algorithm selection
  53.874 +#
  53.875 +CONFIG_MAC80211_RC_MINSTREL=y
  53.876 +# CONFIG_MAC80211_RC_DEFAULT_PID is not set
  53.877 +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
  53.878 +CONFIG_MAC80211_RC_DEFAULT="minstrel"
  53.879 +CONFIG_MAC80211_MESH=y
  53.880 +CONFIG_MAC80211_LEDS=y
  53.881 +# CONFIG_MAC80211_DEBUG_MENU is not set
  53.882 +CONFIG_WIMAX=m
  53.883 +CONFIG_WIMAX_DEBUG_LEVEL=8
  53.884 +CONFIG_RFKILL=m
  53.885 +# CONFIG_RFKILL_INPUT is not set
  53.886 +CONFIG_RFKILL_LEDS=y
  53.887 +# CONFIG_NET_9P is not set
  53.888 +
  53.889 +#
  53.890 +# Device Drivers
  53.891 +#
  53.892 +
  53.893 +#
  53.894 +# Generic Driver Options
  53.895 +#
  53.896 +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
  53.897 +CONFIG_STANDALONE=y
  53.898 +CONFIG_PREVENT_FIRMWARE_BUILD=y
  53.899 +CONFIG_FW_LOADER=y
  53.900 +CONFIG_FIRMWARE_IN_KERNEL=y
  53.901 +CONFIG_EXTRA_FIRMWARE=""
  53.902 +# CONFIG_SYS_HYPERVISOR is not set
  53.903 +# CONFIG_CONNECTOR is not set
  53.904 +# CONFIG_MTD is not set
  53.905 +CONFIG_PARPORT=m
  53.906 +CONFIG_PARPORT_PC=m
  53.907 +# CONFIG_PARPORT_SERIAL is not set
  53.908 +# CONFIG_PARPORT_PC_FIFO is not set
  53.909 +# CONFIG_PARPORT_PC_SUPERIO is not set
  53.910 +# CONFIG_PARPORT_PC_PCMCIA is not set
  53.911 +# CONFIG_PARPORT_GSC is not set
  53.912 +# CONFIG_PARPORT_AX88796 is not set
  53.913 +CONFIG_PARPORT_1284=y
  53.914 +CONFIG_PNP=y
  53.915 +CONFIG_PNP_DEBUG_MESSAGES=y
  53.916 +
  53.917 +#
  53.918 +# Protocols
  53.919 +#
  53.920 +CONFIG_ISAPNP=y
  53.921 +# CONFIG_PNPBIOS is not set
  53.922 +CONFIG_PNPACPI=y
  53.923 +CONFIG_BLK_DEV=y
  53.924 +CONFIG_BLK_DEV_FD=y
  53.925 +# CONFIG_BLK_DEV_XD is not set
  53.926 +# CONFIG_PARIDE is not set
  53.927 +# CONFIG_BLK_CPQ_DA is not set
  53.928 +# CONFIG_BLK_CPQ_CISS_DA is not set
  53.929 +# CONFIG_BLK_DEV_DAC960 is not set
  53.930 +# CONFIG_BLK_DEV_UMEM is not set
  53.931 +# CONFIG_BLK_DEV_COW_COMMON is not set
  53.932 +CONFIG_BLK_DEV_LOOP=y
  53.933 +CONFIG_BLK_DEV_CRYPTOLOOP=m
  53.934 +# CONFIG_BLK_DEV_NBD is not set
  53.935 +# CONFIG_BLK_DEV_SX8 is not set
  53.936 +# CONFIG_BLK_DEV_UB is not set
  53.937 +CONFIG_BLK_DEV_RAM=y
  53.938 +CONFIG_BLK_DEV_RAM_COUNT=16
  53.939 +CONFIG_BLK_DEV_RAM_SIZE=4096
  53.940 +# CONFIG_BLK_DEV_XIP is not set
  53.941 +# CONFIG_RD_BZIP2 is not set
  53.942 +CONFIG_RD_LZMA=y
  53.943 +CONFIG_RD_GZIP=y
  53.944 +# CONFIG_CDROM_PKTCDVD is not set
  53.945 +# CONFIG_ATA_OVER_ETH is not set
  53.946 +CONFIG_VIRTIO_BLK=m
  53.947 +# CONFIG_BLK_DEV_HD is not set
  53.948 +CONFIG_MISC_DEVICES=y
  53.949 +# CONFIG_IBM_ASM is not set
  53.950 +# CONFIG_PHANTOM is not set
  53.951 +# CONFIG_SGI_IOC4 is not set
  53.952 +CONFIG_TIFM_CORE=m
  53.953 +CONFIG_TIFM_7XX1=m
  53.954 +# CONFIG_ICS932S401 is not set
  53.955 +# CONFIG_ENCLOSURE_SERVICES is not set
  53.956 +# CONFIG_HP_ILO is not set
  53.957 +# CONFIG_C2PORT is not set
  53.958 +
  53.959 +#
  53.960 +# EEPROM support
  53.961 +#
  53.962 +# CONFIG_EEPROM_AT24 is not set
  53.963 +# CONFIG_EEPROM_LEGACY is not set
  53.964 +CONFIG_EEPROM_93CX6=m
  53.965 +CONFIG_HAVE_IDE=y
  53.966 +CONFIG_IDE=y
  53.967 +
  53.968 +#
  53.969 +# Please see Documentation/ide/ide.txt for help/info on IDE drives
  53.970 +#
  53.971 +CONFIG_IDE_TIMINGS=y
  53.972 +CONFIG_IDE_ATAPI=y
  53.973 +# CONFIG_BLK_DEV_IDE_SATA is not set
  53.974 +CONFIG_IDE_GD=y
  53.975 +CONFIG_IDE_GD_ATA=y
  53.976 +# CONFIG_IDE_GD_ATAPI is not set
  53.977 +CONFIG_BLK_DEV_IDECS=m
  53.978 +# CONFIG_BLK_DEV_DELKIN is not set
  53.979 +CONFIG_BLK_DEV_IDECD=y
  53.980 +CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
  53.981 +# CONFIG_BLK_DEV_IDETAPE is not set
  53.982 +# CONFIG_BLK_DEV_IDEACPI is not set
  53.983 +# CONFIG_IDE_TASK_IOCTL is not set
  53.984 +CONFIG_IDE_PROC_FS=y
  53.985 +
  53.986 +#
  53.987 +# IDE chipset support/bugfixes
  53.988 +#
  53.989 +CONFIG_IDE_GENERIC=y
  53.990 +# CONFIG_BLK_DEV_PLATFORM is not set
  53.991 +CONFIG_BLK_DEV_CMD640=y
  53.992 +# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
  53.993 +# CONFIG_BLK_DEV_IDEPNP is not set
  53.994 +CONFIG_BLK_DEV_IDEDMA_SFF=y
  53.995 +
  53.996 +#
  53.997 +# PCI IDE chipsets support
  53.998 +#
  53.999 +CONFIG_BLK_DEV_IDEPCI=y
 53.1000 +CONFIG_IDEPCI_PCIBUS_ORDER=y
 53.1001 +# CONFIG_BLK_DEV_OFFBOARD is not set
 53.1002 +CONFIG_BLK_DEV_GENERIC=y
 53.1003 +# CONFIG_BLK_DEV_OPTI621 is not set
 53.1004 +CONFIG_BLK_DEV_RZ1000=y
 53.1005 +CONFIG_BLK_DEV_IDEDMA_PCI=y
 53.1006 +CONFIG_BLK_DEV_AEC62XX=y
 53.1007 +CONFIG_BLK_DEV_ALI15X3=y
 53.1008 +CONFIG_BLK_DEV_AMD74XX=y
 53.1009 +CONFIG_BLK_DEV_ATIIXP=y
 53.1010 +CONFIG_BLK_DEV_CMD64X=y
 53.1011 +CONFIG_BLK_DEV_TRIFLEX=y
 53.1012 +# CONFIG_BLK_DEV_CS5520 is not set
 53.1013 +CONFIG_BLK_DEV_CS5530=y
 53.1014 +CONFIG_BLK_DEV_CS5535=y
 53.1015 +# CONFIG_BLK_DEV_CS5536 is not set
 53.1016 +# CONFIG_BLK_DEV_HPT366 is not set
 53.1017 +CONFIG_BLK_DEV_JMICRON=y
 53.1018 +# CONFIG_BLK_DEV_SC1200 is not set
 53.1019 +CONFIG_BLK_DEV_PIIX=y
 53.1020 +# CONFIG_BLK_DEV_IT8172 is not set
 53.1021 +CONFIG_BLK_DEV_IT8213=y
 53.1022 +CONFIG_BLK_DEV_IT821X=y
 53.1023 +CONFIG_BLK_DEV_NS87415=y
 53.1024 +# CONFIG_BLK_DEV_PDC202XX_OLD is not set
 53.1025 +CONFIG_BLK_DEV_PDC202XX_NEW=y
 53.1026 +CONFIG_BLK_DEV_SVWKS=y
 53.1027 +CONFIG_BLK_DEV_SIIMAGE=y
 53.1028 +CONFIG_BLK_DEV_SIS5513=y
 53.1029 +CONFIG_BLK_DEV_SLC90E66=y
 53.1030 +CONFIG_BLK_DEV_TRM290=y
 53.1031 +CONFIG_BLK_DEV_VIA82CXXX=y
 53.1032 +# CONFIG_BLK_DEV_TC86C001 is not set
 53.1033 +
 53.1034 +#
 53.1035 +# Other IDE chipsets support
 53.1036 +#
 53.1037 +
 53.1038 +#
 53.1039 +# Note: most of these also require special kernel boot parameters
 53.1040 +#
 53.1041 +# CONFIG_BLK_DEV_4DRIVES is not set
 53.1042 +# CONFIG_BLK_DEV_ALI14XX is not set
 53.1043 +# CONFIG_BLK_DEV_DTC2278 is not set
 53.1044 +# CONFIG_BLK_DEV_HT6560B is not set
 53.1045 +# CONFIG_BLK_DEV_QD65XX is not set
 53.1046 +# CONFIG_BLK_DEV_UMC8672 is not set
 53.1047 +CONFIG_BLK_DEV_IDEDMA=y
 53.1048 +
 53.1049 +#
 53.1050 +# SCSI device support
 53.1051 +#
 53.1052 +# CONFIG_RAID_ATTRS is not set
 53.1053 +CONFIG_SCSI=y
 53.1054 +CONFIG_SCSI_DMA=y
 53.1055 +# CONFIG_SCSI_TGT is not set
 53.1056 +# CONFIG_SCSI_NETLINK is not set
 53.1057 +CONFIG_SCSI_PROC_FS=y
 53.1058 +
 53.1059 +#
 53.1060 +# SCSI support type (disk, tape, CD-ROM)
 53.1061 +#
 53.1062 +CONFIG_BLK_DEV_SD=y
 53.1063 +# CONFIG_CHR_DEV_ST is not set
 53.1064 +# CONFIG_CHR_DEV_OSST is not set
 53.1065 +CONFIG_BLK_DEV_SR=y
 53.1066 +# CONFIG_BLK_DEV_SR_VENDOR is not set
 53.1067 +CONFIG_CHR_DEV_SG=y
 53.1068 +# CONFIG_CHR_DEV_SCH is not set
 53.1069 +
 53.1070 +#
 53.1071 +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
 53.1072 +#
 53.1073 +# CONFIG_SCSI_MULTI_LUN is not set
 53.1074 +# CONFIG_SCSI_CONSTANTS is not set
 53.1075 +# CONFIG_SCSI_LOGGING is not set
 53.1076 +# CONFIG_SCSI_SCAN_ASYNC is not set
 53.1077 +CONFIG_SCSI_WAIT_SCAN=m
 53.1078 +
 53.1079 +#
 53.1080 +# SCSI Transports
 53.1081 +#
 53.1082 +CONFIG_SCSI_SPI_ATTRS=m
 53.1083 +# CONFIG_SCSI_FC_ATTRS is not set
 53.1084 +CONFIG_SCSI_ISCSI_ATTRS=m
 53.1085 +# CONFIG_SCSI_SAS_LIBSAS is not set
 53.1086 +# CONFIG_SCSI_SRP_ATTRS is not set
 53.1087 +CONFIG_SCSI_LOWLEVEL=y
 53.1088 +CONFIG_ISCSI_TCP=m
 53.1089 +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
 53.1090 +# CONFIG_SCSI_3W_9XXX is not set
 53.1091 +# CONFIG_SCSI_7000FASST is not set
 53.1092 +# CONFIG_SCSI_ACARD is not set
 53.1093 +# CONFIG_SCSI_AHA152X is not set
 53.1094 +# CONFIG_SCSI_AHA1542 is not set
 53.1095 +# CONFIG_SCSI_AACRAID is not set
 53.1096 +CONFIG_SCSI_AIC7XXX=m
 53.1097 +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
 53.1098 +CONFIG_AIC7XXX_RESET_DELAY_MS=5000
 53.1099 +CONFIG_AIC7XXX_DEBUG_ENABLE=y
 53.1100 +CONFIG_AIC7XXX_DEBUG_MASK=0
 53.1101 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
 53.1102 +# CONFIG_SCSI_AIC7XXX_OLD is not set
 53.1103 +# CONFIG_SCSI_AIC79XX is not set
 53.1104 +# CONFIG_SCSI_AIC94XX is not set
 53.1105 +# CONFIG_SCSI_DPT_I2O is not set
 53.1106 +# CONFIG_SCSI_ADVANSYS is not set
 53.1107 +# CONFIG_SCSI_IN2000 is not set
 53.1108 +# CONFIG_SCSI_ARCMSR is not set
 53.1109 +# CONFIG_MEGARAID_NEWGEN is not set
 53.1110 +# CONFIG_MEGARAID_LEGACY is not set
 53.1111 +# CONFIG_MEGARAID_SAS is not set
 53.1112 +# CONFIG_SCSI_HPTIOP is not set
 53.1113 +# CONFIG_SCSI_BUSLOGIC is not set
 53.1114 +# CONFIG_LIBFC is not set
 53.1115 +# CONFIG_FCOE is not set
 53.1116 +# CONFIG_SCSI_DMX3191D is not set
 53.1117 +# CONFIG_SCSI_DTC3280 is not set
 53.1118 +# CONFIG_SCSI_EATA is not set
 53.1119 +# CONFIG_SCSI_FUTURE_DOMAIN is not set
 53.1120 +# CONFIG_SCSI_GDTH is not set
 53.1121 +# CONFIG_SCSI_GENERIC_NCR5380 is not set
 53.1122 +# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
 53.1123 +# CONFIG_SCSI_IPS is not set
 53.1124 +# CONFIG_SCSI_INITIO is not set
 53.1125 +# CONFIG_SCSI_INIA100 is not set
 53.1126 +# CONFIG_SCSI_PPA is not set
 53.1127 +# CONFIG_SCSI_IMM is not set
 53.1128 +# CONFIG_SCSI_MVSAS is not set
 53.1129 +# CONFIG_SCSI_NCR53C406A is not set
 53.1130 +# CONFIG_SCSI_STEX is not set
 53.1131 +# CONFIG_SCSI_SYM53C8XX_2 is not set
 53.1132 +# CONFIG_SCSI_IPR is not set
 53.1133 +# CONFIG_SCSI_PAS16 is not set
 53.1134 +# CONFIG_SCSI_QLOGIC_FAS is not set
 53.1135 +# CONFIG_SCSI_QLOGIC_1280 is not set
 53.1136 +# CONFIG_SCSI_QLA_FC is not set
 53.1137 +# CONFIG_SCSI_QLA_ISCSI is not set
 53.1138 +# CONFIG_SCSI_LPFC is not set
 53.1139 +# CONFIG_SCSI_SYM53C416 is not set
 53.1140 +# CONFIG_SCSI_DC395x is not set
 53.1141 +# CONFIG_SCSI_DC390T is not set
 53.1142 +# CONFIG_SCSI_T128 is not set
 53.1143 +# CONFIG_SCSI_U14_34F is not set
 53.1144 +# CONFIG_SCSI_ULTRASTOR is not set
 53.1145 +# CONFIG_SCSI_NSP32 is not set
 53.1146 +# CONFIG_SCSI_DEBUG is not set
 53.1147 +# CONFIG_SCSI_SRP is not set
 53.1148 +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
 53.1149 +# CONFIG_SCSI_DH is not set
 53.1150 +CONFIG_ATA=y
 53.1151 +# CONFIG_ATA_NONSTANDARD is not set
 53.1152 +CONFIG_ATA_ACPI=y
 53.1153 +CONFIG_SATA_PMP=y
 53.1154 +CONFIG_SATA_AHCI=y
 53.1155 +# CONFIG_SATA_SIL24 is not set
 53.1156 +CONFIG_ATA_SFF=y
 53.1157 +# CONFIG_SATA_SVW is not set
 53.1158 +CONFIG_ATA_PIIX=y
 53.1159 +# CONFIG_SATA_MV is not set
 53.1160 +CONFIG_SATA_NV=y
 53.1161 +# CONFIG_PDC_ADMA is not set
 53.1162 +# CONFIG_SATA_QSTOR is not set
 53.1163 +# CONFIG_SATA_PROMISE is not set
 53.1164 +# CONFIG_SATA_SX4 is not set
 53.1165 +CONFIG_SATA_SIL=y
 53.1166 +CONFIG_SATA_SIS=y
 53.1167 +# CONFIG_SATA_ULI is not set
 53.1168 +CONFIG_SATA_VIA=y
 53.1169 +# CONFIG_SATA_VITESSE is not set
 53.1170 +# CONFIG_SATA_INIC162X is not set
 53.1171 +# CONFIG_PATA_ACPI is not set
 53.1172 +# CONFIG_PATA_ALI is not set
 53.1173 +# CONFIG_PATA_AMD is not set
 53.1174 +# CONFIG_PATA_ARTOP is not set
 53.1175 +# CONFIG_PATA_ATIIXP is not set
 53.1176 +# CONFIG_PATA_CMD640_PCI is not set
 53.1177 +# CONFIG_PATA_CMD64X is not set
 53.1178 +# CONFIG_PATA_CS5520 is not set
 53.1179 +# CONFIG_PATA_CS5530 is not set
 53.1180 +# CONFIG_PATA_CS5535 is not set
 53.1181 +# CONFIG_PATA_CS5536 is not set
 53.1182 +# CONFIG_PATA_CYPRESS is not set
 53.1183 +# CONFIG_PATA_EFAR is not set
 53.1184 +# CONFIG_ATA_GENERIC is not set
 53.1185 +# CONFIG_PATA_HPT366 is not set
 53.1186 +# CONFIG_PATA_HPT37X is not set
 53.1187 +# CONFIG_PATA_HPT3X2N is not set
 53.1188 +# CONFIG_PATA_HPT3X3 is not set
 53.1189 +# CONFIG_PATA_ISAPNP is not set
 53.1190 +# CONFIG_PATA_IT821X is not set
 53.1191 +# CONFIG_PATA_IT8213 is not set
 53.1192 +# CONFIG_PATA_JMICRON is not set
 53.1193 +# CONFIG_PATA_LEGACY is not set
 53.1194 +# CONFIG_PATA_TRIFLEX is not set
 53.1195 +# CONFIG_PATA_MARVELL is not set
 53.1196 +# CONFIG_PATA_MPIIX is not set
 53.1197 +# CONFIG_PATA_OLDPIIX is not set
 53.1198 +# CONFIG_PATA_NETCELL is not set
 53.1199 +# CONFIG_PATA_NINJA32 is not set
 53.1200 +# CONFIG_PATA_NS87410 is not set
 53.1201 +# CONFIG_PATA_NS87415 is not set
 53.1202 +# CONFIG_PATA_OPTI is not set
 53.1203 +# CONFIG_PATA_OPTIDMA is not set
 53.1204 +# CONFIG_PATA_PCMCIA is not set
 53.1205 +# CONFIG_PATA_PDC_OLD is not set
 53.1206 +# CONFIG_PATA_QDI is not set
 53.1207 +# CONFIG_PATA_RADISYS is not set
 53.1208 +# CONFIG_PATA_RZ1000 is not set
 53.1209 +# CONFIG_PATA_SC1200 is not set
 53.1210 +# CONFIG_PATA_SERVERWORKS is not set
 53.1211 +# CONFIG_PATA_PDC2027X is not set
 53.1212 +# CONFIG_PATA_SIL680 is not set
 53.1213 +CONFIG_PATA_SIS=y
 53.1214 +# CONFIG_PATA_VIA is not set
 53.1215 +# CONFIG_PATA_WINBOND is not set
 53.1216 +# CONFIG_PATA_WINBOND_VLB is not set
 53.1217 +# CONFIG_PATA_SCH is not set
 53.1218 +CONFIG_MD=y
 53.1219 +CONFIG_BLK_DEV_MD=m
 53.1220 +CONFIG_MD_LINEAR=m
 53.1221 +CONFIG_MD_RAID0=m
 53.1222 +CONFIG_MD_RAID1=m
 53.1223 +CONFIG_MD_RAID10=m
 53.1224 +CONFIG_MD_RAID456=m
 53.1225 +CONFIG_MD_RAID5_RESHAPE=y
 53.1226 +# CONFIG_MD_MULTIPATH is not set
 53.1227 +# CONFIG_MD_FAULTY is not set
 53.1228 +CONFIG_BLK_DEV_DM=m
 53.1229 +# CONFIG_DM_DEBUG is not set
 53.1230 +CONFIG_DM_CRYPT=m
 53.1231 +CONFIG_DM_SNAPSHOT=m
 53.1232 +CONFIG_DM_MIRROR=m
 53.1233 +# CONFIG_DM_ZERO is not set
 53.1234 +# CONFIG_DM_MULTIPATH is not set
 53.1235 +# CONFIG_DM_DELAY is not set
 53.1236 +# CONFIG_DM_UEVENT is not set
 53.1237 +# CONFIG_FUSION is not set
 53.1238 +
 53.1239 +#
 53.1240 +# IEEE 1394 (FireWire) support
 53.1241 +#
 53.1242 +
 53.1243 +#
 53.1244 +# Enable only one of the two stacks, unless you know what you are doing
 53.1245 +#
 53.1246 +# CONFIG_FIREWIRE is not set
 53.1247 +CONFIG_IEEE1394=m
 53.1248 +CONFIG_IEEE1394_OHCI1394=m
 53.1249 +# CONFIG_IEEE1394_PCILYNX is not set
 53.1250 +# CONFIG_IEEE1394_SBP2 is not set
 53.1251 +# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set
 53.1252 +# CONFIG_IEEE1394_ETH1394 is not set
 53.1253 +CONFIG_IEEE1394_RAWIO=m
 53.1254 +# CONFIG_IEEE1394_VIDEO1394 is not set
 53.1255 +# CONFIG_IEEE1394_DV1394 is not set
 53.1256 +# CONFIG_IEEE1394_VERBOSEDEBUG is not set
 53.1257 +# CONFIG_I2O is not set
 53.1258 +# CONFIG_MACINTOSH_DRIVERS is not set
 53.1259 +CONFIG_NETDEVICES=y
 53.1260 +# CONFIG_IFB is not set
 53.1261 +CONFIG_DUMMY=y
 53.1262 +# CONFIG_BONDING is not set
 53.1263 +# CONFIG_MACVLAN is not set
 53.1264 +# CONFIG_EQUALIZER is not set
 53.1265 +CONFIG_TUN=y
 53.1266 +# CONFIG_VETH is not set
 53.1267 +# CONFIG_NET_SB1000 is not set
 53.1268 +CONFIG_ARCNET=m
 53.1269 +CONFIG_ARCNET_1201=m
 53.1270 +# CONFIG_ARCNET_1051 is not set
 53.1271 +# CONFIG_ARCNET_RAW is not set
 53.1272 +# CONFIG_ARCNET_CAP is not set
 53.1273 +CONFIG_ARCNET_COM90xx=m
 53.1274 +# CONFIG_ARCNET_COM90xxIO is not set
 53.1275 +# CONFIG_ARCNET_RIM_I is not set
 53.1276 +# CONFIG_ARCNET_COM20020 is not set
 53.1277 +CONFIG_PHYLIB=m
 53.1278 +
 53.1279 +#
 53.1280 +# MII PHY device drivers
 53.1281 +#
 53.1282 +CONFIG_MARVELL_PHY=m
 53.1283 +CONFIG_DAVICOM_PHY=m
 53.1284 +CONFIG_QSEMI_PHY=m
 53.1285 +CONFIG_LXT_PHY=m
 53.1286 +CONFIG_CICADA_PHY=m
 53.1287 +# CONFIG_VITESSE_PHY is not set
 53.1288 +# CONFIG_SMSC_PHY is not set
 53.1289 +CONFIG_BROADCOM_PHY=m
 53.1290 +# CONFIG_ICPLUS_PHY is not set
 53.1291 +# CONFIG_REALTEK_PHY is not set
 53.1292 +# CONFIG_NATIONAL_PHY is not set
 53.1293 +# CONFIG_STE10XP is not set
 53.1294 +# CONFIG_LSI_ET1011C_PHY is not set
 53.1295 +# CONFIG_MDIO_BITBANG is not set
 53.1296 +CONFIG_NET_ETHERNET=y
 53.1297 +CONFIG_MII=y
 53.1298 +CONFIG_HAPPYMEAL=m
 53.1299 +CONFIG_SUNGEM=m
 53.1300 +CONFIG_CASSINI=m
 53.1301 +CONFIG_NET_VENDOR_3COM=y
 53.1302 +CONFIG_EL1=m
 53.1303 +CONFIG_EL2=m
 53.1304 +CONFIG_ELPLUS=m
 53.1305 +# CONFIG_EL16 is not set
 53.1306 +CONFIG_EL3=m
 53.1307 +CONFIG_3C515=m
 53.1308 +CONFIG_VORTEX=m
 53.1309 +CONFIG_TYPHOON=m
 53.1310 +CONFIG_LANCE=m
 53.1311 +CONFIG_NET_VENDOR_SMC=y
 53.1312 +CONFIG_WD80x3=m
 53.1313 +CONFIG_ULTRA=m
 53.1314 +CONFIG_SMC9194=m
 53.1315 +CONFIG_NET_VENDOR_RACAL=y
 53.1316 +CONFIG_NI52=m
 53.1317 +CONFIG_NI65=m
 53.1318 +# CONFIG_DNET is not set
 53.1319 +CONFIG_NET_TULIP=y
 53.1320 +# CONFIG_DE2104X is not set
 53.1321 +CONFIG_TULIP=m
 53.1322 +# CONFIG_TULIP_MWI is not set
 53.1323 +# CONFIG_TULIP_MMIO is not set
 53.1324 +# CONFIG_TULIP_NAPI is not set
 53.1325 +CONFIG_DE4X5=y
 53.1326 +CONFIG_WINBOND_840=y
 53.1327 +CONFIG_DM9102=y
 53.1328 +CONFIG_ULI526X=m
 53.1329 +CONFIG_PCMCIA_XIRCOM=y
 53.1330 +# CONFIG_AT1700 is not set
 53.1331 +CONFIG_DEPCA=m
 53.1332 +CONFIG_HP100=m
 53.1333 +CONFIG_NET_ISA=y
 53.1334 +CONFIG_E2100=m
 53.1335 +CONFIG_EWRK3=m
 53.1336 +CONFIG_EEXPRESS=m
 53.1337 +CONFIG_EEXPRESS_PRO=m
 53.1338 +CONFIG_HPLAN_PLUS=m
 53.1339 +CONFIG_HPLAN=m
 53.1340 +CONFIG_LP486E=m
 53.1341 +CONFIG_ETH16I=m
 53.1342 +CONFIG_NE2000=m
 53.1343 +# CONFIG_ZNET is not set
 53.1344 +# CONFIG_SEEQ8005 is not set
 53.1345 +# CONFIG_IBM_NEW_EMAC_ZMII is not set
 53.1346 +# CONFIG_IBM_NEW_EMAC_RGMII is not set
 53.1347 +# CONFIG_IBM_NEW_EMAC_TAH is not set
 53.1348 +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
 53.1349 +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
 53.1350 +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
 53.1351 +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
 53.1352 +CONFIG_NET_PCI=y
 53.1353 +CONFIG_PCNET32=y
 53.1354 +CONFIG_AMD8111_ETH=m
 53.1355 +CONFIG_ADAPTEC_STARFIRE=m
 53.1356 +# CONFIG_AC3200 is not set
 53.1357 +CONFIG_APRICOT=m
 53.1358 +CONFIG_B44=y
 53.1359 +CONFIG_B44_PCI_AUTOSELECT=y
 53.1360 +CONFIG_B44_PCICORE_AUTOSELECT=y
 53.1361 +CONFIG_B44_PCI=y
 53.1362 +CONFIG_FORCEDETH=y
 53.1363 +# CONFIG_FORCEDETH_NAPI is not set
 53.1364 +CONFIG_CS89x0=m
 53.1365 +CONFIG_E100=y
 53.1366 +CONFIG_FEALNX=m
 53.1367 +CONFIG_NATSEMI=y
 53.1368 +CONFIG_NE2K_PCI=y
 53.1369 +# CONFIG_8139CP is not set
 53.1370 +CONFIG_8139TOO=y
 53.1371 +# CONFIG_8139TOO_PIO is not set
 53.1372 +CONFIG_8139TOO_TUNE_TWISTER=y
 53.1373 +CONFIG_8139TOO_8129=y
 53.1374 +# CONFIG_8139_OLD_RX_RESET is not set
 53.1375 +# CONFIG_R6040 is not set
 53.1376 +CONFIG_SIS900=y
 53.1377 +CONFIG_EPIC100=y
 53.1378 +# CONFIG_SMSC9420 is not set
 53.1379 +CONFIG_SUNDANCE=y
 53.1380 +# CONFIG_SUNDANCE_MMIO is not set
 53.1381 +CONFIG_TLAN=y
 53.1382 +CONFIG_VIA_RHINE=y
 53.1383 +CONFIG_VIA_RHINE_MMIO=y
 53.1384 +# CONFIG_SC92031 is not set
 53.1385 +# CONFIG_NET_POCKET is not set
 53.1386 +CONFIG_ATL2=m
 53.1387 +CONFIG_NETDEV_1000=y
 53.1388 +CONFIG_ACENIC=y
 53.1389 +# CONFIG_ACENIC_OMIT_TIGON_I is not set
 53.1390 +CONFIG_DL2K=m
 53.1391 +CONFIG_E1000=m
 53.1392 +CONFIG_E1000E=y
 53.1393 +CONFIG_IP1000=m
 53.1394 +# CONFIG_IGB is not set
 53.1395 +CONFIG_NS83820=y
 53.1396 +CONFIG_HAMACHI=y
 53.1397 +# CONFIG_YELLOWFIN is not set
 53.1398 +CONFIG_R8169=y
 53.1399 +# CONFIG_R8169_VLAN is not set
 53.1400 +CONFIG_SIS190=m
 53.1401 +CONFIG_SKGE=m
 53.1402 +CONFIG_SKY2=m
 53.1403 +CONFIG_VIA_VELOCITY=m
 53.1404 +CONFIG_TIGON3=m
 53.1405 +CONFIG_BNX2=m
 53.1406 +CONFIG_QLA3XXX=y
 53.1407 +CONFIG_ATL1=y
 53.1408 +CONFIG_ATL1E=m
 53.1409 +CONFIG_ATL1C=m
 53.1410 +# CONFIG_JME is not set
 53.1411 +# CONFIG_NETDEV_10000 is not set
 53.1412 +# CONFIG_TR is not set
 53.1413 +
 53.1414 +#
 53.1415 +# Wireless LAN
 53.1416 +#
 53.1417 +# CONFIG_WLAN_PRE80211 is not set
 53.1418 +CONFIG_WLAN_80211=y
 53.1419 +# CONFIG_PCMCIA_RAYCS is not set
 53.1420 +# CONFIG_LIBERTAS is not set
 53.1421 +# CONFIG_LIBERTAS_THINFIRM is not set
 53.1422 +# CONFIG_AIRO is not set
 53.1423 +CONFIG_HERMES=m
 53.1424 +CONFIG_HERMES_CACHE_FW_ON_INIT=y
 53.1425 +CONFIG_PLX_HERMES=m
 53.1426 +CONFIG_TMD_HERMES=m
 53.1427 +CONFIG_NORTEL_HERMES=m
 53.1428 +CONFIG_PCI_HERMES=m
 53.1429 +CONFIG_PCMCIA_HERMES=m
 53.1430 +CONFIG_PCMCIA_SPECTRUM=m
 53.1431 +CONFIG_ATMEL=m
 53.1432 +CONFIG_PCI_ATMEL=m
 53.1433 +CONFIG_PCMCIA_ATMEL=m
 53.1434 +# CONFIG_AIRO_CS is not set
 53.1435 +# CONFIG_PCMCIA_WL3501 is not set
 53.1436 +# CONFIG_PRISM54 is not set
 53.1437 +CONFIG_USB_ZD1201=m
 53.1438 +CONFIG_USB_NET_RNDIS_WLAN=m
 53.1439 +CONFIG_RTL8180=m
 53.1440 +CONFIG_RTL8187=m
 53.1441 +CONFIG_ADM8211=m
 53.1442 +# CONFIG_MAC80211_HWSIM is not set
 53.1443 +# CONFIG_P54_COMMON is not set
 53.1444 +CONFIG_ATH5K=m
 53.1445 +# CONFIG_ATH5K_DEBUG is not set
 53.1446 +CONFIG_ATH9K=m
 53.1447 +# CONFIG_ATH9K_DEBUG is not set
 53.1448 +CONFIG_IPW2100=m
 53.1449 +CONFIG_IPW2100_MONITOR=y
 53.1450 +# CONFIG_IPW2100_DEBUG is not set
 53.1451 +CONFIG_IPW2200=m
 53.1452 +CONFIG_IPW2200_MONITOR=y
 53.1453 +CONFIG_IPW2200_RADIOTAP=y
 53.1454 +CONFIG_IPW2200_PROMISCUOUS=y
 53.1455 +CONFIG_IPW2200_QOS=y
 53.1456 +# CONFIG_IPW2200_DEBUG is not set
 53.1457 +CONFIG_LIBIPW=m
 53.1458 +# CONFIG_LIBIPW_DEBUG is not set
 53.1459 +# CONFIG_IWLCORE is not set
 53.1460 +# CONFIG_IWLWIFI_LEDS is not set
 53.1461 +# CONFIG_IWLAGN is not set
 53.1462 +# CONFIG_IWL3945 is not set
 53.1463 +# CONFIG_HOSTAP is not set
 53.1464 +CONFIG_B43=m
 53.1465 +CONFIG_B43_PCI_AUTOSELECT=y
 53.1466 +CONFIG_B43_PCICORE_AUTOSELECT=y
 53.1467 +CONFIG_B43_LEDS=y
 53.1468 +# CONFIG_B43_DEBUG is not set
 53.1469 +CONFIG_B43LEGACY=m
 53.1470 +CONFIG_B43LEGACY_PCI_AUTOSELECT=y
 53.1471 +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
 53.1472 +CONFIG_B43LEGACY_LEDS=y
 53.1473 +# CONFIG_B43LEGACY_DEBUG is not set
 53.1474 +CONFIG_B43LEGACY_DMA=y
 53.1475 +CONFIG_B43LEGACY_PIO=y
 53.1476 +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
 53.1477 +# CONFIG_B43LEGACY_DMA_MODE is not set
 53.1478 +# CONFIG_B43LEGACY_PIO_MODE is not set
 53.1479 +CONFIG_ZD1211RW=m
 53.1480 +# CONFIG_ZD1211RW_DEBUG is not set
 53.1481 +CONFIG_RT2X00=m
 53.1482 +CONFIG_RT2400PCI=m
 53.1483 +CONFIG_RT2500PCI=m
 53.1484 +CONFIG_RT61PCI=m
 53.1485 +CONFIG_RT2500USB=m
 53.1486 +CONFIG_RT73USB=m
 53.1487 +CONFIG_RT2X00_LIB_PCI=m
 53.1488 +CONFIG_RT2X00_LIB_USB=m
 53.1489 +CONFIG_RT2X00_LIB=m
 53.1490 +CONFIG_RT2X00_LIB_FIRMWARE=y
 53.1491 +CONFIG_RT2X00_LIB_CRYPTO=y
 53.1492 +CONFIG_RT2X00_LIB_RFKILL=y
 53.1493 +CONFIG_RT2X00_LIB_LEDS=y
 53.1494 +# CONFIG_RT2X00_DEBUG is not set
 53.1495 +
 53.1496 +#
 53.1497 +# WiMAX Wireless Broadband devices
 53.1498 +#
 53.1499 +CONFIG_WIMAX_I2400M=m
 53.1500 +CONFIG_WIMAX_I2400M_USB=m
 53.1501 +CONFIG_WIMAX_I2400M_SDIO=m
 53.1502 +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
 53.1503 +
 53.1504 +#
 53.1505 +# USB Network Adapters
 53.1506 +#
 53.1507 +# CONFIG_USB_CATC is not set
 53.1508 +# CONFIG_USB_KAWETH is not set
 53.1509 +# CONFIG_USB_PEGASUS is not set
 53.1510 +# CONFIG_USB_RTL8150 is not set
 53.1511 +CONFIG_USB_USBNET=m
 53.1512 +CONFIG_USB_NET_AX8817X=m
 53.1513 +CONFIG_USB_NET_CDCETHER=m
 53.1514 +# CONFIG_USB_NET_DM9601 is not set
 53.1515 +# CONFIG_USB_NET_SMSC95XX is not set
 53.1516 +# CONFIG_USB_NET_GL620A is not set
 53.1517 +CONFIG_USB_NET_NET1080=m
 53.1518 +# CONFIG_USB_NET_PLUSB is not set
 53.1519 +# CONFIG_USB_NET_MCS7830 is not set
 53.1520 +CONFIG_USB_NET_RNDIS_HOST=m
 53.1521 +CONFIG_USB_NET_CDC_SUBSET=m
 53.1522 +# CONFIG_USB_ALI_M5632 is not set
 53.1523 +# CONFIG_USB_AN2720 is not set
 53.1524 +CONFIG_USB_BELKIN=y
 53.1525 +CONFIG_USB_ARMLINUX=y
 53.1526 +# CONFIG_USB_EPSON2888 is not set
 53.1527 +# CONFIG_USB_KC2190 is not set
 53.1528 +CONFIG_USB_NET_ZAURUS=m
 53.1529 +# CONFIG_USB_HSO is not set
 53.1530 +CONFIG_NET_PCMCIA=y
 53.1531 +CONFIG_PCMCIA_3C589=m
 53.1532 +CONFIG_PCMCIA_3C574=m
 53.1533 +CONFIG_PCMCIA_FMVJ18X=m
 53.1534 +CONFIG_PCMCIA_PCNET=m
 53.1535 +CONFIG_PCMCIA_NMCLAN=m
 53.1536 +CONFIG_PCMCIA_SMC91C92=m
 53.1537 +CONFIG_PCMCIA_XIRC2PS=m
 53.1538 +CONFIG_PCMCIA_AXNET=m
 53.1539 +# CONFIG_WAN is not set
 53.1540 +CONFIG_ATM_DRIVERS=y
 53.1541 +# CONFIG_ATM_DUMMY is not set
 53.1542 +# CONFIG_ATM_TCP is not set
 53.1543 +# CONFIG_ATM_LANAI is not set
 53.1544 +# CONFIG_ATM_ENI is not set
 53.1545 +# CONFIG_ATM_FIRESTREAM is not set
 53.1546 +# CONFIG_ATM_ZATM is not set
 53.1547 +# CONFIG_ATM_NICSTAR is not set
 53.1548 +# CONFIG_ATM_IDT77252 is not set
 53.1549 +# CONFIG_ATM_AMBASSADOR is not set
 53.1550 +# CONFIG_ATM_HORIZON is not set
 53.1551 +# CONFIG_ATM_IA is not set
 53.1552 +# CONFIG_ATM_FORE200E is not set
 53.1553 +# CONFIG_ATM_HE is not set
 53.1554 +# CONFIG_ATM_SOLOS is not set
 53.1555 +# CONFIG_FDDI is not set
 53.1556 +# CONFIG_HIPPI is not set
 53.1557 +# CONFIG_PLIP is not set
 53.1558 +CONFIG_PPP=y
 53.1559 +# CONFIG_PPP_MULTILINK is not set
 53.1560 +# CONFIG_PPP_FILTER is not set
 53.1561 +CONFIG_PPP_ASYNC=y
 53.1562 +# CONFIG_PPP_SYNC_TTY is not set
 53.1563 +CONFIG_PPP_DEFLATE=y
 53.1564 +CONFIG_PPP_BSDCOMP=y
 53.1565 +# CONFIG_PPP_MPPE is not set
 53.1566 +CONFIG_PPPOE=y
 53.1567 +CONFIG_PPPOATM=m
 53.1568 +# CONFIG_PPPOL2TP is not set
 53.1569 +# CONFIG_SLIP is not set
 53.1570 +CONFIG_SLHC=y
 53.1571 +# CONFIG_NET_FC is not set
 53.1572 +# CONFIG_NETCONSOLE is not set
 53.1573 +# CONFIG_NETPOLL is not set
 53.1574 +# CONFIG_NET_POLL_CONTROLLER is not set
 53.1575 +CONFIG_VIRTIO_NET=m
 53.1576 +CONFIG_ISDN=y
 53.1577 +CONFIG_MISDN=m
 53.1578 +CONFIG_MISDN_DSP=m
 53.1579 +CONFIG_MISDN_L1OIP=m
 53.1580 +
 53.1581 +#
 53.1582 +# mISDN hardware drivers
 53.1583 +#
 53.1584 +CONFIG_MISDN_HFCPCI=m
 53.1585 +CONFIG_MISDN_HFCMULTI=m
 53.1586 +# CONFIG_MISDN_HFCUSB is not set
 53.1587 +# CONFIG_ISDN_I4L is not set
 53.1588 +CONFIG_ISDN_CAPI=m
 53.1589 +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
 53.1590 +CONFIG_CAPI_TRACE=y
 53.1591 +CONFIG_ISDN_CAPI_MIDDLEWARE=y
 53.1592 +CONFIG_ISDN_CAPI_CAPI20=m
 53.1593 +CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
 53.1594 +CONFIG_ISDN_CAPI_CAPIFS=m
 53.1595 +
 53.1596 +#
 53.1597 +# CAPI hardware drivers
 53.1598 +#
 53.1599 +CONFIG_CAPI_AVM=y
 53.1600 +CONFIG_ISDN_DRV_AVMB1_B1ISA=m
 53.1601 +CONFIG_ISDN_DRV_AVMB1_B1PCI=m
 53.1602 +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
 53.1603 +CONFIG_ISDN_DRV_AVMB1_T1ISA=m
 53.1604 +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
 53.1605 +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
 53.1606 +CONFIG_ISDN_DRV_AVMB1_T1PCI=m
 53.1607 +CONFIG_ISDN_DRV_AVMB1_C4=m
 53.1608 +CONFIG_CAPI_EICON=y
 53.1609 +CONFIG_ISDN_DIVAS=m
 53.1610 +CONFIG_ISDN_DIVAS_BRIPCI=y
 53.1611 +CONFIG_ISDN_DIVAS_PRIPCI=y
 53.1612 +CONFIG_ISDN_DIVAS_DIVACAPI=m
 53.1613 +CONFIG_ISDN_DIVAS_USERIDI=m
 53.1614 +CONFIG_ISDN_DIVAS_MAINT=m
 53.1615 +# CONFIG_PHONE is not set
 53.1616 +
 53.1617 +#
 53.1618 +# Input device support
 53.1619 +#
 53.1620 +CONFIG_INPUT=y
 53.1621 +# CONFIG_INPUT_FF_MEMLESS is not set
 53.1622 +CONFIG_INPUT_POLLDEV=m
 53.1623 +
 53.1624 +#
 53.1625 +# Userland interfaces
 53.1626 +#
 53.1627 +CONFIG_INPUT_MOUSEDEV=y
 53.1628 +CONFIG_INPUT_MOUSEDEV_PSAUX=y
 53.1629 +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
 53.1630 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
 53.1631 +CONFIG_INPUT_JOYDEV=y
 53.1632 +CONFIG_INPUT_EVDEV=y
 53.1633 +# CONFIG_INPUT_EVBUG is not set
 53.1634 +
 53.1635 +#
 53.1636 +# Input Device Drivers
 53.1637 +#
 53.1638 +CONFIG_INPUT_KEYBOARD=y
 53.1639 +CONFIG_KEYBOARD_ATKBD=y
 53.1640 +# CONFIG_KEYBOARD_SUNKBD is not set
 53.1641 +# CONFIG_KEYBOARD_LKKBD is not set
 53.1642 +# CONFIG_KEYBOARD_XTKBD is not set
 53.1643 +# CONFIG_KEYBOARD_NEWTON is not set
 53.1644 +# CONFIG_KEYBOARD_STOWAWAY is not set
 53.1645 +# CONFIG_KEYBOARD_GPIO is not set
 53.1646 +CONFIG_INPUT_MOUSE=y
 53.1647 +CONFIG_MOUSE_PS2=y
 53.1648 +CONFIG_MOUSE_PS2_ALPS=y
 53.1649 +CONFIG_MOUSE_PS2_LOGIPS2PP=y
 53.1650 +CONFIG_MOUSE_PS2_SYNAPTICS=y
 53.1651 +CONFIG_MOUSE_PS2_LIFEBOOK=y
 53.1652 +CONFIG_MOUSE_PS2_TRACKPOINT=y
 53.1653 +# CONFIG_MOUSE_PS2_ELANTECH is not set
 53.1654 +# CONFIG_MOUSE_PS2_TOUCHKIT is not set
 53.1655 +CONFIG_MOUSE_SERIAL=y
 53.1656 +# CONFIG_MOUSE_APPLETOUCH is not set
 53.1657 +# CONFIG_MOUSE_BCM5974 is not set
 53.1658 +CONFIG_MOUSE_INPORT=m
 53.1659 +# CONFIG_MOUSE_ATIXL is not set
 53.1660 +CONFIG_MOUSE_LOGIBM=m
 53.1661 +CONFIG_MOUSE_PC110PAD=m
 53.1662 +# CONFIG_MOUSE_VSXXXAA is not set
 53.1663 +# CONFIG_MOUSE_GPIO is not set
 53.1664 +CONFIG_INPUT_JOYSTICK=y
 53.1665 +CONFIG_JOYSTICK_ANALOG=m
 53.1666 +# CONFIG_JOYSTICK_A3D is not set
 53.1667 +# CONFIG_JOYSTICK_ADI is not set
 53.1668 +# CONFIG_JOYSTICK_COBRA is not set
 53.1669 +# CONFIG_JOYSTICK_GF2K is not set
 53.1670 +# CONFIG_JOYSTICK_GRIP is not set
 53.1671 +# CONFIG_JOYSTICK_GRIP_MP is not set
 53.1672 +# CONFIG_JOYSTICK_GUILLEMOT is not set
 53.1673 +# CONFIG_JOYSTICK_INTERACT is not set
 53.1674 +CONFIG_JOYSTICK_SIDEWINDER=m
 53.1675 +# CONFIG_JOYSTICK_TMDC is not set
 53.1676 +# CONFIG_JOYSTICK_IFORCE is not set
 53.1677 +# CONFIG_JOYSTICK_WARRIOR is not set
 53.1678 +# CONFIG_JOYSTICK_MAGELLAN is not set
 53.1679 +# CONFIG_JOYSTICK_SPACEORB is not set
 53.1680 +# CONFIG_JOYSTICK_SPACEBALL is not set
 53.1681 +# CONFIG_JOYSTICK_STINGER is not set
 53.1682 +# CONFIG_JOYSTICK_TWIDJOY is not set
 53.1683 +# CONFIG_JOYSTICK_ZHENHUA is not set
 53.1684 +# CONFIG_JOYSTICK_DB9 is not set
 53.1685 +# CONFIG_JOYSTICK_GAMECON is not set
 53.1686 +# CONFIG_JOYSTICK_TURBOGRAFX is not set
 53.1687 +# CONFIG_JOYSTICK_JOYDUMP is not set
 53.1688 +CONFIG_JOYSTICK_XPAD=m
 53.1689 +# CONFIG_JOYSTICK_XPAD_FF is not set
 53.1690 +# CONFIG_JOYSTICK_XPAD_LEDS is not set
 53.1691 +# CONFIG_INPUT_TABLET is not set
 53.1692 +# CONFIG_INPUT_TOUCHSCREEN is not set
 53.1693 +CONFIG_INPUT_MISC=y
 53.1694 +CONFIG_INPUT_PCSPKR=y
 53.1695 +# CONFIG_INPUT_APANEL is not set
 53.1696 +# CONFIG_INPUT_WISTRON_BTNS is not set
 53.1697 +# CONFIG_INPUT_ATLAS_BTNS is not set
 53.1698 +# CONFIG_INPUT_ATI_REMOTE is not set
 53.1699 +# CONFIG_INPUT_ATI_REMOTE2 is not set
 53.1700 +# CONFIG_INPUT_KEYSPAN_REMOTE is not set
 53.1701 +# CONFIG_INPUT_POWERMATE is not set
 53.1702 +# CONFIG_INPUT_YEALINK is not set
 53.1703 +# CONFIG_INPUT_CM109 is not set
 53.1704 +# CONFIG_INPUT_UINPUT is not set
 53.1705 +
 53.1706 +#
 53.1707 +# Hardware I/O ports
 53.1708 +#
 53.1709 +CONFIG_SERIO=y
 53.1710 +CONFIG_SERIO_I8042=y
 53.1711 +CONFIG_SERIO_SERPORT=y
 53.1712 +# CONFIG_SERIO_CT82C710 is not set
 53.1713 +# CONFIG_SERIO_PARKBD is not set
 53.1714 +CONFIG_SERIO_PCIPS2=y
 53.1715 +CONFIG_SERIO_LIBPS2=y
 53.1716 +CONFIG_SERIO_RAW=y
 53.1717 +CONFIG_GAMEPORT=m
 53.1718 +CONFIG_GAMEPORT_NS558=m
 53.1719 +# CONFIG_GAMEPORT_L4 is not set
 53.1720 +CONFIG_GAMEPORT_EMU10K1=m
 53.1721 +# CONFIG_GAMEPORT_FM801 is not set
 53.1722 +
 53.1723 +#
 53.1724 +# Character devices
 53.1725 +#
 53.1726 +CONFIG_VT=y
 53.1727 +CONFIG_CONSOLE_TRANSLATIONS=y
 53.1728 +CONFIG_VT_CONSOLE=y
 53.1729 +CONFIG_HW_CONSOLE=y
 53.1730 +# CONFIG_VT_HW_CONSOLE_BINDING is not set
 53.1731 +CONFIG_DEVKMEM=y
 53.1732 +# CONFIG_SERIAL_NONSTANDARD is not set
 53.1733 +# CONFIG_NOZOMI is not set
 53.1734 +
 53.1735 +#
 53.1736 +# Serial drivers
 53.1737 +#
 53.1738 +CONFIG_SERIAL_8250=y
 53.1739 +# CONFIG_SERIAL_8250_CONSOLE is not set
 53.1740 +CONFIG_FIX_EARLYCON_MEM=y
 53.1741 +CONFIG_SERIAL_8250_PCI=y
 53.1742 +CONFIG_SERIAL_8250_PNP=y
 53.1743 +# CONFIG_SERIAL_8250_CS is not set
 53.1744 +CONFIG_SERIAL_8250_NR_UARTS=4
 53.1745 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4
 53.1746 +# CONFIG_SERIAL_8250_EXTENDED is not set
 53.1747 +
 53.1748 +#
 53.1749 +# Non-8250 serial port support
 53.1750 +#
 53.1751 +CONFIG_SERIAL_CORE=y
 53.1752 +# CONFIG_SERIAL_JSM is not set
 53.1753 +CONFIG_UNIX98_PTYS=y
 53.1754 +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
 53.1755 +# CONFIG_LEGACY_PTYS is not set
 53.1756 +CONFIG_PRINTER=m
 53.1757 +# CONFIG_LP_CONSOLE is not set
 53.1758 +# CONFIG_PPDEV is not set
 53.1759 +CONFIG_HVC_DRIVER=y
 53.1760 +CONFIG_VIRTIO_CONSOLE=m
 53.1761 +# CONFIG_IPMI_HANDLER is not set
 53.1762 +CONFIG_HW_RANDOM=y
 53.1763 +CONFIG_HW_RANDOM_INTEL=y
 53.1764 +CONFIG_HW_RANDOM_AMD=y
 53.1765 +CONFIG_HW_RANDOM_GEODE=y
 53.1766 +CONFIG_HW_RANDOM_VIA=y
 53.1767 +CONFIG_HW_RANDOM_VIRTIO=m
 53.1768 +CONFIG_NVRAM=y
 53.1769 +CONFIG_RTC=m
 53.1770 +CONFIG_GEN_RTC=m
 53.1771 +# CONFIG_GEN_RTC_X is not set
 53.1772 +# CONFIG_DTLK is not set
 53.1773 +# CONFIG_R3964 is not set
 53.1774 +# CONFIG_APPLICOM is not set
 53.1775 +# CONFIG_SONYPI is not set
 53.1776 +
 53.1777 +#
 53.1778 +# PCMCIA character devices
 53.1779 +#
 53.1780 +# CONFIG_SYNCLINK_CS is not set
 53.1781 +# CONFIG_CARDMAN_4000 is not set
 53.1782 +# CONFIG_CARDMAN_4040 is not set
 53.1783 +# CONFIG_IPWIRELESS is not set
 53.1784 +CONFIG_MWAVE=m
 53.1785 +# CONFIG_PC8736x_GPIO is not set
 53.1786 +# CONFIG_NSC_GPIO is not set
 53.1787 +# CONFIG_CS5535_GPIO is not set
 53.1788 +# CONFIG_RAW_DRIVER is not set
 53.1789 +# CONFIG_HPET is not set
 53.1790 +# CONFIG_HANGCHECK_TIMER is not set
 53.1791 +# CONFIG_TCG_TPM is not set
 53.1792 +# CONFIG_TELCLOCK is not set
 53.1793 +CONFIG_DEVPORT=y
 53.1794 +CONFIG_I2C=m
 53.1795 +CONFIG_I2C_BOARDINFO=y
 53.1796 +# CONFIG_I2C_CHARDEV is not set
 53.1797 +CONFIG_I2C_HELPER_AUTO=y
 53.1798 +CONFIG_I2C_ALGOBIT=m
 53.1799 +
 53.1800 +#
 53.1801 +# I2C Hardware Bus support
 53.1802 +#
 53.1803 +
 53.1804 +#
 53.1805 +# PC SMBus host controller drivers
 53.1806 +#
 53.1807 +# CONFIG_I2C_ALI1535 is not set
 53.1808 +# CONFIG_I2C_ALI1563 is not set
 53.1809 +# CONFIG_I2C_ALI15X3 is not set
 53.1810 +# CONFIG_I2C_AMD756 is not set
 53.1811 +# CONFIG_I2C_AMD8111 is not set
 53.1812 +# CONFIG_I2C_I801 is not set
 53.1813 +# CONFIG_I2C_ISCH is not set
 53.1814 +# CONFIG_I2C_PIIX4 is not set
 53.1815 +# CONFIG_I2C_NFORCE2 is not set
 53.1816 +# CONFIG_I2C_SIS5595 is not set
 53.1817 +# CONFIG_I2C_SIS630 is not set
 53.1818 +# CONFIG_I2C_SIS96X is not set
 53.1819 +# CONFIG_I2C_VIA is not set
 53.1820 +# CONFIG_I2C_VIAPRO is not set
 53.1821 +
 53.1822 +#
 53.1823 +# I2C system bus drivers (mostly embedded / system-on-chip)
 53.1824 +#
 53.1825 +# CONFIG_I2C_GPIO is not set
 53.1826 +# CONFIG_I2C_OCORES is not set
 53.1827 +# CONFIG_I2C_SIMTEC is not set
 53.1828 +
 53.1829 +#
 53.1830 +# External I2C/SMBus adapter drivers
 53.1831 +#
 53.1832 +# CONFIG_I2C_PARPORT is not set
 53.1833 +# CONFIG_I2C_PARPORT_LIGHT is not set
 53.1834 +# CONFIG_I2C_TAOS_EVM is not set
 53.1835 +# CONFIG_I2C_TINY_USB is not set
 53.1836 +
 53.1837 +#
 53.1838 +# Graphics adapter I2C/DDC channel drivers
 53.1839 +#
 53.1840 +# CONFIG_I2C_VOODOO3 is not set
 53.1841 +
 53.1842 +#
 53.1843 +# Other I2C/SMBus bus drivers
 53.1844 +#
 53.1845 +# CONFIG_I2C_PCA_ISA is not set
 53.1846 +# CONFIG_I2C_PCA_PLATFORM is not set
 53.1847 +# CONFIG_I2C_STUB is not set
 53.1848 +# CONFIG_SCx200_ACB is not set
 53.1849 +
 53.1850 +#
 53.1851 +# Miscellaneous I2C Chip support
 53.1852 +#
 53.1853 +# CONFIG_DS1682 is not set
 53.1854 +# CONFIG_SENSORS_PCF8574 is not set
 53.1855 +# CONFIG_PCF8575 is not set
 53.1856 +# CONFIG_SENSORS_PCA9539 is not set
 53.1857 +# CONFIG_SENSORS_PCF8591 is not set
 53.1858 +# CONFIG_SENSORS_MAX6875 is not set
 53.1859 +# CONFIG_SENSORS_TSL2550 is not set
 53.1860 +# CONFIG_I2C_DEBUG_CORE is not set
 53.1861 +# CONFIG_I2C_DEBUG_ALGO is not set
 53.1862 +# CONFIG_I2C_DEBUG_BUS is not set
 53.1863 +# CONFIG_I2C_DEBUG_CHIP is not set
 53.1864 +# CONFIG_SPI is not set
 53.1865 +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
 53.1866 +CONFIG_GPIOLIB=y
 53.1867 +# CONFIG_GPIO_SYSFS is not set
 53.1868 +
 53.1869 +#
 53.1870 +# Memory mapped GPIO expanders:
 53.1871 +#
 53.1872 +
 53.1873 +#
 53.1874 +# I2C GPIO expanders:
 53.1875 +#
 53.1876 +# CONFIG_GPIO_MAX732X is not set
 53.1877 +# CONFIG_GPIO_PCA953X is not set
 53.1878 +# CONFIG_GPIO_PCF857X is not set
 53.1879 +
 53.1880 +#
 53.1881 +# PCI GPIO expanders:
 53.1882 +#
 53.1883 +CONFIG_GPIO_BT8XX=m
 53.1884 +
 53.1885 +#
 53.1886 +# SPI GPIO expanders:
 53.1887 +#
 53.1888 +# CONFIG_W1 is not set
 53.1889 +CONFIG_POWER_SUPPLY=y
 53.1890 +# CONFIG_POWER_SUPPLY_DEBUG is not set
 53.1891 +# CONFIG_PDA_POWER is not set
 53.1892 +# CONFIG_BATTERY_DS2760 is not set
 53.1893 +# CONFIG_BATTERY_BQ27x00 is not set
 53.1894 +CONFIG_HWMON=m
 53.1895 +# CONFIG_HWMON_VID is not set
 53.1896 +# CONFIG_SENSORS_ABITUGURU is not set
 53.1897 +# CONFIG_SENSORS_ABITUGURU3 is not set
 53.1898 +# CONFIG_SENSORS_AD7414 is not set
 53.1899 +# CONFIG_SENSORS_AD7418 is not set
 53.1900 +# CONFIG_SENSORS_ADM1021 is not set
 53.1901 +# CONFIG_SENSORS_ADM1025 is not set
 53.1902 +# CONFIG_SENSORS_ADM1026 is not set
 53.1903 +# CONFIG_SENSORS_ADM1029 is not set
 53.1904 +# CONFIG_SENSORS_ADM1031 is not set
 53.1905 +# CONFIG_SENSORS_ADM9240 is not set
 53.1906 +# CONFIG_SENSORS_ADT7462 is not set
 53.1907 +# CONFIG_SENSORS_ADT7470 is not set
 53.1908 +# CONFIG_SENSORS_ADT7473 is not set
 53.1909 +# CONFIG_SENSORS_ADT7475 is not set
 53.1910 +CONFIG_SENSORS_K8TEMP=m
 53.1911 +# CONFIG_SENSORS_ASB100 is not set
 53.1912 +# CONFIG_SENSORS_ATXP1 is not set
 53.1913 +# CONFIG_SENSORS_DS1621 is not set
 53.1914 +# CONFIG_SENSORS_I5K_AMB is not set
 53.1915 +# CONFIG_SENSORS_F71805F is not set
 53.1916 +# CONFIG_SENSORS_F71882FG is not set
 53.1917 +# CONFIG_SENSORS_F75375S is not set
 53.1918 +# CONFIG_SENSORS_FSCHER is not set
 53.1919 +# CONFIG_SENSORS_FSCPOS is not set
 53.1920 +# CONFIG_SENSORS_FSCHMD is not set
 53.1921 +# CONFIG_SENSORS_GL518SM is not set
 53.1922 +# CONFIG_SENSORS_GL520SM is not set
 53.1923 +CONFIG_SENSORS_CORETEMP=m
 53.1924 +# CONFIG_SENSORS_IT87 is not set
 53.1925 +# CONFIG_SENSORS_LM63 is not set
 53.1926 +# CONFIG_SENSORS_LM75 is not set
 53.1927 +# CONFIG_SENSORS_LM77 is not set
 53.1928 +# CONFIG_SENSORS_LM78 is not set
 53.1929 +# CONFIG_SENSORS_LM80 is not set
 53.1930 +# CONFIG_SENSORS_LM83 is not set
 53.1931 +# CONFIG_SENSORS_LM85 is not set
 53.1932 +# CONFIG_SENSORS_LM87 is not set
 53.1933 +# CONFIG_SENSORS_LM90 is not set
 53.1934 +# CONFIG_SENSORS_LM92 is not set
 53.1935 +# CONFIG_SENSORS_LM93 is not set
 53.1936 +# CONFIG_SENSORS_LTC4245 is not set
 53.1937 +# CONFIG_SENSORS_MAX1619 is not set
 53.1938 +# CONFIG_SENSORS_MAX6650 is not set
 53.1939 +# CONFIG_SENSORS_PC87360 is not set
 53.1940 +# CONFIG_SENSORS_PC87427 is not set
 53.1941 +# CONFIG_SENSORS_SIS5595 is not set
 53.1942 +# CONFIG_SENSORS_DME1737 is not set
 53.1943 +# CONFIG_SENSORS_SMSC47M1 is not set
 53.1944 +# CONFIG_SENSORS_SMSC47M192 is not set
 53.1945 +# CONFIG_SENSORS_SMSC47B397 is not set
 53.1946 +# CONFIG_SENSORS_ADS7828 is not set
 53.1947 +# CONFIG_SENSORS_THMC50 is not set
 53.1948 +# CONFIG_SENSORS_VIA686A is not set
 53.1949 +# CONFIG_SENSORS_VT1211 is not set
 53.1950 +# CONFIG_SENSORS_VT8231 is not set
 53.1951 +# CONFIG_SENSORS_W83781D is not set
 53.1952 +# CONFIG_SENSORS_W83791D is not set
 53.1953 +# CONFIG_SENSORS_W83792D is not set
 53.1954 +# CONFIG_SENSORS_W83793 is not set
 53.1955 +# CONFIG_SENSORS_W83L785TS is not set
 53.1956 +# CONFIG_SENSORS_W83L786NG is not set
 53.1957 +# CONFIG_SENSORS_W83627HF is not set
 53.1958 +# CONFIG_SENSORS_W83627EHF is not set
 53.1959 +# CONFIG_SENSORS_HDAPS is not set
 53.1960 +# CONFIG_SENSORS_LIS3LV02D is not set
 53.1961 +# CONFIG_SENSORS_APPLESMC is not set
 53.1962 +# CONFIG_HWMON_DEBUG_CHIP is not set
 53.1963 +CONFIG_THERMAL=y
 53.1964 +CONFIG_WATCHDOG=y
 53.1965 +# CONFIG_WATCHDOG_NOWAYOUT is not set
 53.1966 +
 53.1967 +#
 53.1968 +# Watchdog Device Drivers
 53.1969 +#
 53.1970 +CONFIG_SOFT_WATCHDOG=m
 53.1971 +# CONFIG_ACQUIRE_WDT is not set
 53.1972 +# CONFIG_ADVANTECH_WDT is not set
 53.1973 +# CONFIG_ALIM1535_WDT is not set
 53.1974 +# CONFIG_ALIM7101_WDT is not set
 53.1975 +# CONFIG_SC520_WDT is not set
 53.1976 +# CONFIG_EUROTECH_WDT is not set
 53.1977 +# CONFIG_IB700_WDT is not set
 53.1978 +# CONFIG_IBMASR is not set
 53.1979 +# CONFIG_WAFER_WDT is not set
 53.1980 +# CONFIG_I6300ESB_WDT is not set
 53.1981 +# CONFIG_ITCO_WDT is not set
 53.1982 +# CONFIG_IT8712F_WDT is not set
 53.1983 +# CONFIG_IT87_WDT is not set
 53.1984 +# CONFIG_HP_WATCHDOG is not set
 53.1985 +# CONFIG_SC1200_WDT is not set
 53.1986 +# CONFIG_PC87413_WDT is not set
 53.1987 +# CONFIG_60XX_WDT is not set
 53.1988 +# CONFIG_SBC8360_WDT is not set
 53.1989 +# CONFIG_SBC7240_WDT is not set
 53.1990 +# CONFIG_CPU5_WDT is not set
 53.1991 +# CONFIG_SMSC_SCH311X_WDT is not set
 53.1992 +# CONFIG_SMSC37B787_WDT is not set
 53.1993 +# CONFIG_W83627HF_WDT is not set
 53.1994 +# CONFIG_W83697HF_WDT is not set
 53.1995 +# CONFIG_W83697UG_WDT is not set
 53.1996 +# CONFIG_W83877F_WDT is not set
 53.1997 +# CONFIG_W83977F_WDT is not set
 53.1998 +# CONFIG_MACHZ_WDT is not set
 53.1999 +# CONFIG_SBC_EPX_C3_WATCHDOG is not set
 53.2000 +
 53.2001 +#
 53.2002 +# ISA-based Watchdog Cards
 53.2003 +#
 53.2004 +# CONFIG_PCWATCHDOG is not set
 53.2005 +# CONFIG_MIXCOMWD is not set
 53.2006 +# CONFIG_WDT is not set
 53.2007 +
 53.2008 +#
 53.2009 +# PCI-based Watchdog Cards
 53.2010 +#
 53.2011 +# CONFIG_PCIPCWATCHDOG is not set
 53.2012 +# CONFIG_WDTPCI is not set
 53.2013 +
 53.2014 +#
 53.2015 +# USB-based Watchdog Cards
 53.2016 +#
 53.2017 +# CONFIG_USBPCWATCHDOG is not set
 53.2018 +CONFIG_SSB_POSSIBLE=y
 53.2019 +
 53.2020 +#
 53.2021 +# Sonics Silicon Backplane
 53.2022 +#
 53.2023 +CONFIG_SSB=y
 53.2024 +CONFIG_SSB_SPROM=y
 53.2025 +CONFIG_SSB_PCIHOST_POSSIBLE=y
 53.2026 +CONFIG_SSB_PCIHOST=y
 53.2027 +CONFIG_SSB_B43_PCI_BRIDGE=y
 53.2028 +# CONFIG_SSB_DEBUG is not set
 53.2029 +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
 53.2030 +CONFIG_SSB_DRIVER_PCICORE=y
 53.2031 +
 53.2032 +#
 53.2033 +# Multifunction device drivers
 53.2034 +#
 53.2035 +# CONFIG_MFD_CORE is not set
 53.2036 +# CONFIG_MFD_SM501 is not set
 53.2037 +# CONFIG_HTC_PASIC3 is not set
 53.2038 +# CONFIG_UCB1400_CORE is not set
 53.2039 +# CONFIG_TPS65010 is not set
 53.2040 +# CONFIG_MFD_TMIO is not set
 53.2041 +# CONFIG_MFD_WM8400 is not set
 53.2042 +# CONFIG_MFD_WM8350_I2C is not set
 53.2043 +# CONFIG_MFD_PCF50633 is not set
 53.2044 +# CONFIG_REGULATOR is not set
 53.2045 +
 53.2046 +#
 53.2047 +# Multimedia devices
 53.2048 +#
 53.2049 +
 53.2050 +#
 53.2051 +# Multimedia core support
 53.2052 +#
 53.2053 +CONFIG_VIDEO_DEV=m
 53.2054 +CONFIG_VIDEO_V4L2_COMMON=m
 53.2055 +CONFIG_VIDEO_ALLOW_V4L1=y
 53.2056 +CONFIG_VIDEO_V4L1_COMPAT=y
 53.2057 +# CONFIG_DVB_CORE is not set
 53.2058 +CONFIG_VIDEO_MEDIA=m
 53.2059 +
 53.2060 +#
 53.2061 +# Multimedia drivers
 53.2062 +#
 53.2063 +# CONFIG_MEDIA_ATTACH is not set
 53.2064 +CONFIG_MEDIA_TUNER=m
 53.2065 +# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
 53.2066 +CONFIG_MEDIA_TUNER_SIMPLE=m
 53.2067 +CONFIG_MEDIA_TUNER_TDA8290=m
 53.2068 +CONFIG_MEDIA_TUNER_TDA9887=m
 53.2069 +CONFIG_MEDIA_TUNER_TEA5761=m
 53.2070 +CONFIG_MEDIA_TUNER_TEA5767=m
 53.2071 +CONFIG_MEDIA_TUNER_MT20XX=m
 53.2072 +CONFIG_MEDIA_TUNER_XC2028=m
 53.2073 +CONFIG_MEDIA_TUNER_XC5000=m
 53.2074 +CONFIG_VIDEO_V4L2=m
 53.2075 +CONFIG_VIDEO_V4L1=m
 53.2076 +CONFIG_VIDEOBUF_GEN=m
 53.2077 +CONFIG_VIDEO_CAPTURE_DRIVERS=y
 53.2078 +# CONFIG_VIDEO_ADV_DEBUG is not set
 53.2079 +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
 53.2080 +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
 53.2081 +# CONFIG_VIDEO_VIVI is not set
 53.2082 +# CONFIG_VIDEO_BT848 is not set
 53.2083 +# CONFIG_VIDEO_PMS is not set
 53.2084 +# CONFIG_VIDEO_BWQCAM is not set
 53.2085 +# CONFIG_VIDEO_CQCAM is not set
 53.2086 +# CONFIG_VIDEO_W9966 is not set
 53.2087 +# CONFIG_VIDEO_CPIA is not set
 53.2088 +# CONFIG_VIDEO_CPIA2 is not set
 53.2089 +# CONFIG_VIDEO_SAA5246A is not set
 53.2090 +# CONFIG_VIDEO_SAA5249 is not set
 53.2091 +# CONFIG_VIDEO_STRADIS is not set
 53.2092 +# CONFIG_VIDEO_ZORAN is not set
 53.2093 +CONFIG_VIDEO_MEYE=m
 53.2094 +# CONFIG_VIDEO_SAA7134 is not set
 53.2095 +# CONFIG_VIDEO_MXB is not set
 53.2096 +# CONFIG_VIDEO_HEXIUM_ORION is not set
 53.2097 +# CONFIG_VIDEO_HEXIUM_GEMINI is not set
 53.2098 +# CONFIG_VIDEO_CX88 is not set
 53.2099 +# CONFIG_VIDEO_IVTV is not set
 53.2100 +# CONFIG_VIDEO_CAFE_CCIC is not set
 53.2101 +CONFIG_SOC_CAMERA=m
 53.2102 +# CONFIG_SOC_CAMERA_MT9M001 is not set
 53.2103 +# CONFIG_SOC_CAMERA_MT9M111 is not set
 53.2104 +# CONFIG_SOC_CAMERA_MT9T031 is not set
 53.2105 +# CONFIG_SOC_CAMERA_MT9V022 is not set
 53.2106 +# CONFIG_SOC_CAMERA_TW9910 is not set
 53.2107 +# CONFIG_SOC_CAMERA_PLATFORM is not set
 53.2108 +# CONFIG_SOC_CAMERA_OV772X is not set
 53.2109 +CONFIG_V4L_USB_DRIVERS=y
 53.2110 +CONFIG_USB_VIDEO_CLASS=m
 53.2111 +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
 53.2112 +CONFIG_USB_GSPCA=m
 53.2113 +# CONFIG_USB_M5602 is not set
 53.2114 +# CONFIG_USB_STV06XX is not set
 53.2115 +# CONFIG_USB_GSPCA_CONEX is not set
 53.2116 +# CONFIG_USB_GSPCA_ETOMS is not set
 53.2117 +# CONFIG_USB_GSPCA_FINEPIX is not set
 53.2118 +# CONFIG_USB_GSPCA_MARS is not set
 53.2119 +# CONFIG_USB_GSPCA_OV519 is not set
 53.2120 +# CONFIG_USB_GSPCA_OV534 is not set
 53.2121 +# CONFIG_USB_GSPCA_PAC207 is not set
 53.2122 +# CONFIG_USB_GSPCA_PAC7311 is not set
 53.2123 +# CONFIG_USB_GSPCA_SONIXB is not set
 53.2124 +# CONFIG_USB_GSPCA_SONIXJ is not set
 53.2125 +# CONFIG_USB_GSPCA_SPCA500 is not set
 53.2126 +# CONFIG_USB_GSPCA_SPCA501 is not set
 53.2127 +# CONFIG_USB_GSPCA_SPCA505 is not set
 53.2128 +# CONFIG_USB_GSPCA_SPCA506 is not set
 53.2129 +# CONFIG_USB_GSPCA_SPCA508 is not set
 53.2130 +# CONFIG_USB_GSPCA_SPCA561 is not set
 53.2131 +# CONFIG_USB_GSPCA_STK014 is not set
 53.2132 +# CONFIG_USB_GSPCA_SUNPLUS is not set
 53.2133 +# CONFIG_USB_GSPCA_T613 is not set
 53.2134 +# CONFIG_USB_GSPCA_TV8532 is not set
 53.2135 +# CONFIG_USB_GSPCA_VC032X is not set
 53.2136 +# CONFIG_USB_GSPCA_ZC3XX is not set
 53.2137 +# CONFIG_VIDEO_PVRUSB2 is not set
 53.2138 +# CONFIG_VIDEO_EM28XX is not set
 53.2139 +# CONFIG_VIDEO_USBVISION is not set
 53.2140 +# CONFIG_USB_VICAM is not set
 53.2141 +# CONFIG_USB_IBMCAM is not set
 53.2142 +# CONFIG_USB_KONICAWC is not set
 53.2143 +# CONFIG_USB_QUICKCAM_MESSENGER is not set
 53.2144 +# CONFIG_USB_ET61X251 is not set
 53.2145 +# CONFIG_VIDEO_OVCAMCHIP is not set
 53.2146 +CONFIG_USB_OV511=m
 53.2147 +# CONFIG_USB_SE401 is not set
 53.2148 +# CONFIG_USB_SN9C102 is not set
 53.2149 +# CONFIG_USB_STV680 is not set
 53.2150 +# CONFIG_USB_ZC0301 is not set
 53.2151 +# CONFIG_USB_PWC is not set
 53.2152 +# CONFIG_USB_ZR364XX is not set
 53.2153 +CONFIG_USB_STKWEBCAM=m
 53.2154 +# CONFIG_USB_S2255 is not set
 53.2155 +CONFIG_RADIO_ADAPTERS=y
 53.2156 +# CONFIG_RADIO_CADET is not set
 53.2157 +# CONFIG_RADIO_RTRACK is not set
 53.2158 +# CONFIG_RADIO_RTRACK2 is not set
 53.2159 +# CONFIG_RADIO_AZTECH is not set
 53.2160 +# CONFIG_RADIO_GEMTEK is not set
 53.2161 +# CONFIG_RADIO_GEMTEK_PCI is not set
 53.2162 +# CONFIG_RADIO_MAXIRADIO is not set
 53.2163 +# CONFIG_RADIO_MAESTRO is not set
 53.2164 +# CONFIG_RADIO_SF16FMI is not set
 53.2165 +# CONFIG_RADIO_SF16FMR2 is not set
 53.2166 +# CONFIG_RADIO_TERRATEC is not set
 53.2167 +# CONFIG_RADIO_TRUST is not set
 53.2168 +# CONFIG_RADIO_TYPHOON is not set
 53.2169 +# CONFIG_RADIO_ZOLTRIX is not set
 53.2170 +# CONFIG_USB_DSBR is not set
 53.2171 +# CONFIG_USB_SI470X is not set
 53.2172 +# CONFIG_USB_MR800 is not set
 53.2173 +# CONFIG_RADIO_TEA5764 is not set
 53.2174 +CONFIG_DAB=y
 53.2175 +# CONFIG_USB_DABUSB is not set
 53.2176 +
 53.2177 +#
 53.2178 +# Graphics support
 53.2179 +#
 53.2180 +CONFIG_AGP=m
 53.2181 +CONFIG_AGP_ALI=m
 53.2182 +CONFIG_AGP_ATI=m
 53.2183 +CONFIG_AGP_AMD=m
 53.2184 +CONFIG_AGP_AMD64=m
 53.2185 +CONFIG_AGP_INTEL=m
 53.2186 +CONFIG_AGP_NVIDIA=m
 53.2187 +CONFIG_AGP_SIS=m
 53.2188 +CONFIG_AGP_SWORKS=m
 53.2189 +CONFIG_AGP_VIA=m
 53.2190 +# CONFIG_AGP_EFFICEON is not set
 53.2191 +CONFIG_DRM=m
 53.2192 +# CONFIG_DRM_TDFX is not set
 53.2193 +CONFIG_DRM_R128=m
 53.2194 +CONFIG_DRM_RADEON=m
 53.2195 +CONFIG_DRM_I810=m
 53.2196 +CONFIG_DRM_I830=m
 53.2197 +CONFIG_DRM_I915=m
 53.2198 +# CONFIG_DRM_I915_KMS is not set
 53.2199 +CONFIG_DRM_MGA=m
 53.2200 +CONFIG_DRM_SIS=m
 53.2201 +CONFIG_DRM_VIA=m
 53.2202 +CONFIG_DRM_SAVAGE=m
 53.2203 +# CONFIG_VGASTATE is not set
 53.2204 +# CONFIG_VIDEO_OUTPUT_CONTROL is not set
 53.2205 +CONFIG_FB=y
 53.2206 +# CONFIG_FIRMWARE_EDID is not set
 53.2207 +# CONFIG_FB_DDC is not set
 53.2208 +CONFIG_FB_BOOT_VESA_SUPPORT=y
 53.2209 +CONFIG_FB_CFB_FILLRECT=y
 53.2210 +CONFIG_FB_CFB_COPYAREA=y
 53.2211 +CONFIG_FB_CFB_IMAGEBLIT=y
 53.2212 +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
 53.2213 +# CONFIG_FB_SYS_FILLRECT is not set
 53.2214 +# CONFIG_FB_SYS_COPYAREA is not set
 53.2215 +# CONFIG_FB_SYS_IMAGEBLIT is not set
 53.2216 +# CONFIG_FB_FOREIGN_ENDIAN is not set
 53.2217 +# CONFIG_FB_SYS_FOPS is not set
 53.2218 +# CONFIG_FB_SVGALIB is not set
 53.2219 +# CONFIG_FB_MACMODES is not set
 53.2220 +# CONFIG_FB_BACKLIGHT is not set
 53.2221 +# CONFIG_FB_MODE_HELPERS is not set
 53.2222 +# CONFIG_FB_TILEBLITTING is not set
 53.2223 +
 53.2224 +#
 53.2225 +# Frame buffer hardware drivers
 53.2226 +#
 53.2227 +# CONFIG_FB_CIRRUS is not set
 53.2228 +# CONFIG_FB_PM2 is not set
 53.2229 +# CONFIG_FB_CYBER2000 is not set
 53.2230 +# CONFIG_FB_ARC is not set
 53.2231 +# CONFIG_FB_ASILIANT is not set
 53.2232 +# CONFIG_FB_IMSTT is not set
 53.2233 +# CONFIG_FB_VGA16 is not set
 53.2234 +CONFIG_FB_VESA=y
 53.2235 +# CONFIG_FB_N411 is not set
 53.2236 +# CONFIG_FB_HGA is not set
 53.2237 +# CONFIG_FB_S1D13XXX is not set
 53.2238 +# CONFIG_FB_NVIDIA is not set
 53.2239 +# CONFIG_FB_RIVA is not set
 53.2240 +# CONFIG_FB_I810 is not set
 53.2241 +# CONFIG_FB_LE80578 is not set
 53.2242 +# CONFIG_FB_INTEL is not set
 53.2243 +# CONFIG_FB_MATROX is not set
 53.2244 +# CONFIG_FB_RADEON is not set
 53.2245 +# CONFIG_FB_ATY128 is not set
 53.2246 +# CONFIG_FB_ATY is not set
 53.2247 +# CONFIG_FB_S3 is not set
 53.2248 +# CONFIG_FB_SAVAGE is not set
 53.2249 +# CONFIG_FB_SIS is not set
 53.2250 +# CONFIG_FB_VIA is not set
 53.2251 +# CONFIG_FB_NEOMAGIC is not set
 53.2252 +# CONFIG_FB_KYRO is not set
 53.2253 +# CONFIG_FB_3DFX is not set
 53.2254 +# CONFIG_FB_VOODOO1 is not set
 53.2255 +# CONFIG_FB_VT8623 is not set
 53.2256 +# CONFIG_FB_CYBLA is not set
 53.2257 +# CONFIG_FB_TRIDENT is not set
 53.2258 +# CONFIG_FB_ARK is not set
 53.2259 +# CONFIG_FB_PM3 is not set
 53.2260 +# CONFIG_FB_CARMINE is not set
 53.2261 +# CONFIG_FB_GEODE is not set
 53.2262 +# CONFIG_FB_VIRTUAL is not set
 53.2263 +# CONFIG_FB_METRONOME is not set
 53.2264 +# CONFIG_FB_MB862XX is not set
 53.2265 +CONFIG_BACKLIGHT_LCD_SUPPORT=y
 53.2266 +CONFIG_LCD_CLASS_DEVICE=m
 53.2267 +# CONFIG_LCD_ILI9320 is not set
 53.2268 +# CONFIG_LCD_PLATFORM is not set
 53.2269 +CONFIG_BACKLIGHT_CLASS_DEVICE=m
 53.2270 +CONFIG_BACKLIGHT_GENERIC=m
 53.2271 +# CONFIG_BACKLIGHT_PROGEAR is not set
 53.2272 +# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
 53.2273 +# CONFIG_BACKLIGHT_SAHARA is not set
 53.2274 +
 53.2275 +#
 53.2276 +# Display device support
 53.2277 +#
 53.2278 +# CONFIG_DISPLAY_SUPPORT is not set
 53.2279 +
 53.2280 +#
 53.2281 +# Console display driver support
 53.2282 +#
 53.2283 +CONFIG_VGA_CONSOLE=y
 53.2284 +# CONFIG_VGACON_SOFT_SCROLLBACK is not set
 53.2285 +# CONFIG_MDA_CONSOLE is not set
 53.2286 +CONFIG_DUMMY_CONSOLE=y
 53.2287 +CONFIG_FRAMEBUFFER_CONSOLE=y
 53.2288 +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
 53.2289 +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
 53.2290 +# CONFIG_FONTS is not set
 53.2291 +CONFIG_FONT_8x8=y
 53.2292 +CONFIG_FONT_8x16=y
 53.2293 +# CONFIG_LOGO is not set
 53.2294 +CONFIG_SOUND=m
 53.2295 +CONFIG_SOUND_OSS_CORE=y
 53.2296 +CONFIG_SND=m
 53.2297 +CONFIG_SND_TIMER=m
 53.2298 +CONFIG_SND_PCM=m
 53.2299 +CONFIG_SND_HWDEP=m
 53.2300 +CONFIG_SND_RAWMIDI=m
 53.2301 +CONFIG_SND_JACK=y
 53.2302 +CONFIG_SND_SEQUENCER=m
 53.2303 +# CONFIG_SND_SEQ_DUMMY is not set
 53.2304 +CONFIG_SND_OSSEMUL=y
 53.2305 +CONFIG_SND_MIXER_OSS=m
 53.2306 +CONFIG_SND_PCM_OSS=m
 53.2307 +CONFIG_SND_PCM_OSS_PLUGINS=y
 53.2308 +CONFIG_SND_SEQUENCER_OSS=y
 53.2309 +CONFIG_SND_RTCTIMER=m
 53.2310 +CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
 53.2311 +# CONFIG_SND_DYNAMIC_MINORS is not set
 53.2312 +CONFIG_SND_SUPPORT_OLD_API=y
 53.2313 +# CONFIG_SND_VERBOSE_PROCFS is not set
 53.2314 +# CONFIG_SND_VERBOSE_PRINTK is not set
 53.2315 +# CONFIG_SND_DEBUG is not set
 53.2316 +CONFIG_SND_VMASTER=y
 53.2317 +CONFIG_SND_MPU401_UART=m
 53.2318 +CONFIG_SND_OPL3_LIB=m
 53.2319 +CONFIG_SND_OPL4_LIB=m
 53.2320 +CONFIG_SND_VX_LIB=m
 53.2321 +CONFIG_SND_AC97_CODEC=m
 53.2322 +CONFIG_SND_DRIVERS=y
 53.2323 +# CONFIG_SND_DUMMY is not set
 53.2324 +# CONFIG_SND_VIRMIDI is not set
 53.2325 +# CONFIG_SND_MTPAV is not set
 53.2326 +# CONFIG_SND_MTS64 is not set
 53.2327 +# CONFIG_SND_SERIAL_U16550 is not set
 53.2328 +CONFIG_SND_MPU401=m
 53.2329 +# CONFIG_SND_PORTMAN2X4 is not set
 53.2330 +CONFIG_SND_AC97_POWER_SAVE=y
 53.2331 +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
 53.2332 +CONFIG_SND_WSS_LIB=m
 53.2333 +CONFIG_SND_SB_COMMON=m
 53.2334 +CONFIG_SND_SB8_DSP=m
 53.2335 +CONFIG_SND_SB16_DSP=m
 53.2336 +CONFIG_SND_ISA=y
 53.2337 +CONFIG_SND_ADLIB=m
 53.2338 +CONFIG_SND_AD1816A=m
 53.2339 +CONFIG_SND_AD1848=m
 53.2340 +CONFIG_SND_ALS100=m
 53.2341 +CONFIG_SND_AZT2320=m
 53.2342 +CONFIG_SND_CMI8330=m
 53.2343 +CONFIG_SND_CS4231=m
 53.2344 +CONFIG_SND_CS4232=m
 53.2345 +CONFIG_SND_CS4236=m
 53.2346 +CONFIG_SND_DT019X=m
 53.2347 +CONFIG_SND_ES968=m
 53.2348 +CONFIG_SND_ES1688=m
 53.2349 +CONFIG_SND_ES18XX=m
 53.2350 +# CONFIG_SND_SC6000 is not set
 53.2351 +CONFIG_SND_GUSCLASSIC=m
 53.2352 +CONFIG_SND_GUSEXTREME=m
 53.2353 +CONFIG_SND_GUSMAX=m
 53.2354 +CONFIG_SND_INTERWAVE=m
 53.2355 +CONFIG_SND_INTERWAVE_STB=m
 53.2356 +CONFIG_SND_OPL3SA2=m
 53.2357 +CONFIG_SND_OPTI92X_AD1848=m
 53.2358 +CONFIG_SND_OPTI92X_CS4231=m
 53.2359 +CONFIG_SND_OPTI93X=m
 53.2360 +CONFIG_SND_MIRO=m
 53.2361 +CONFIG_SND_SB8=m
 53.2362 +CONFIG_SND_SB16=m
 53.2363 +CONFIG_SND_SBAWE=m
 53.2364 +# CONFIG_SND_SB16_CSP is not set
 53.2365 +CONFIG_SND_SGALAXY=m
 53.2366 +CONFIG_SND_SSCAPE=m
 53.2367 +CONFIG_SND_WAVEFRONT=m
 53.2368 +CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y
 53.2369 +CONFIG_SND_PCI=y
 53.2370 +CONFIG_SND_AD1889=m
 53.2371 +CONFIG_SND_ALS300=m
 53.2372 +CONFIG_SND_ALS4000=m
 53.2373 +CONFIG_SND_ALI5451=m
 53.2374 +CONFIG_SND_ATIIXP=m
 53.2375 +CONFIG_SND_ATIIXP_MODEM=m
 53.2376 +CONFIG_SND_AU8810=m
 53.2377 +CONFIG_SND_AU8820=m
 53.2378 +CONFIG_SND_AU8830=m
 53.2379 +# CONFIG_SND_AW2 is not set
 53.2380 +CONFIG_SND_AZT3328=m
 53.2381 +CONFIG_SND_BT87X=m
 53.2382 +# CONFIG_SND_BT87X_OVERCLOCK is not set
 53.2383 +CONFIG_SND_CA0106=m
 53.2384 +CONFIG_SND_CMIPCI=m
 53.2385 +CONFIG_SND_OXYGEN_LIB=m
 53.2386 +CONFIG_SND_OXYGEN=m
 53.2387 +CONFIG_SND_CS4281=m
 53.2388 +CONFIG_SND_CS46XX=m
 53.2389 +CONFIG_SND_CS46XX_NEW_DSP=y
 53.2390 +CONFIG_SND_CS5530=m
 53.2391 +CONFIG_SND_CS5535AUDIO=m
 53.2392 +CONFIG_SND_DARLA20=m
 53.2393 +CONFIG_SND_GINA20=m
 53.2394 +CONFIG_SND_LAYLA20=m
 53.2395 +CONFIG_SND_DARLA24=m
 53.2396 +CONFIG_SND_GINA24=m
 53.2397 +CONFIG_SND_LAYLA24=m
 53.2398 +CONFIG_SND_MONA=m
 53.2399 +CONFIG_SND_MIA=m
 53.2400 +CONFIG_SND_ECHO3G=m
 53.2401 +CONFIG_SND_INDIGO=m
 53.2402 +CONFIG_SND_INDIGOIO=m
 53.2403 +CONFIG_SND_INDIGODJ=m
 53.2404 +CONFIG_SND_EMU10K1=m
 53.2405 +CONFIG_SND_EMU10K1X=m
 53.2406 +CONFIG_SND_ENS1370=m
 53.2407 +CONFIG_SND_ENS1371=m
 53.2408 +CONFIG_SND_ES1938=m
 53.2409 +CONFIG_SND_ES1968=m
 53.2410 +CONFIG_SND_FM801=m
 53.2411 +CONFIG_SND_FM801_TEA575X_BOOL=y
 53.2412 +CONFIG_SND_FM801_TEA575X=m
 53.2413 +CONFIG_SND_HDA_INTEL=m
 53.2414 +# CONFIG_SND_HDA_HWDEP is not set
 53.2415 +# CONFIG_SND_HDA_INPUT_BEEP is not set
 53.2416 +CONFIG_SND_HDA_CODEC_REALTEK=y
 53.2417 +CONFIG_SND_HDA_CODEC_ANALOG=y
 53.2418 +CONFIG_SND_HDA_CODEC_SIGMATEL=y
 53.2419 +CONFIG_SND_HDA_CODEC_VIA=y
 53.2420 +CONFIG_SND_HDA_CODEC_ATIHDMI=y
 53.2421 +CONFIG_SND_HDA_CODEC_NVHDMI=y
 53.2422 +CONFIG_SND_HDA_CODEC_INTELHDMI=y
 53.2423 +CONFIG_SND_HDA_ELD=y
 53.2424 +CONFIG_SND_HDA_CODEC_CONEXANT=y
 53.2425 +CONFIG_SND_HDA_CODEC_CMEDIA=y
 53.2426 +CONFIG_SND_HDA_CODEC_SI3054=y
 53.2427 +CONFIG_SND_HDA_GENERIC=y
 53.2428 +# CONFIG_SND_HDA_POWER_SAVE is not set
 53.2429 +CONFIG_SND_HDSP=m
 53.2430 +CONFIG_SND_HDSPM=m
 53.2431 +CONFIG_SND_HIFIER=m
 53.2432 +CONFIG_SND_ICE1712=m
 53.2433 +CONFIG_SND_ICE1724=m
 53.2434 +CONFIG_SND_INTEL8X0=m
 53.2435 +CONFIG_SND_INTEL8X0M=m
 53.2436 +CONFIG_SND_KORG1212=m
 53.2437 +CONFIG_SND_MAESTRO3=m
 53.2438 +CONFIG_SND_MIXART=m
 53.2439 +CONFIG_SND_NM256=m
 53.2440 +CONFIG_SND_PCXHR=m
 53.2441 +CONFIG_SND_RIPTIDE=m
 53.2442 +CONFIG_SND_RME32=m
 53.2443 +CONFIG_SND_RME96=m
 53.2444 +CONFIG_SND_RME9652=m
 53.2445 +CONFIG_SND_SIS7019=m
 53.2446 +CONFIG_SND_SONICVIBES=m
 53.2447 +CONFIG_SND_TRIDENT=m
 53.2448 +CONFIG_SND_VIA82XX=m
 53.2449 +CONFIG_SND_VIA82XX_MODEM=m
 53.2450 +CONFIG_SND_VIRTUOSO=m
 53.2451 +CONFIG_SND_VX222=m
 53.2452 +CONFIG_SND_YMFPCI=m
 53.2453 +CONFIG_SND_USB=y
 53.2454 +CONFIG_SND_USB_AUDIO=m
 53.2455 +CONFIG_SND_USB_USX2Y=m
 53.2456 +CONFIG_SND_USB_CAIAQ=m
 53.2457 +# CONFIG_SND_USB_CAIAQ_INPUT is not set
 53.2458 +# CONFIG_SND_USB_US122L is not set
 53.2459 +CONFIG_SND_PCMCIA=y
 53.2460 +CONFIG_SND_VXPOCKET=m
 53.2461 +CONFIG_SND_PDAUDIOCF=m
 53.2462 +# CONFIG_SND_SOC is not set
 53.2463 +# CONFIG_SOUND_PRIME is not set
 53.2464 +CONFIG_AC97_BUS=m
 53.2465 +CONFIG_HID_SUPPORT=y
 53.2466 +CONFIG_HID=y
 53.2467 +# CONFIG_HID_DEBUG is not set
 53.2468 +# CONFIG_HIDRAW is not set
 53.2469 +
 53.2470 +#
 53.2471 +# USB Input Devices
 53.2472 +#
 53.2473 +CONFIG_USB_HID=y
 53.2474 +# CONFIG_HID_PID is not set
 53.2475 +CONFIG_USB_HIDDEV=y
 53.2476 +
 53.2477 +#
 53.2478 +# Special HID drivers
 53.2479 +#
 53.2480 +CONFIG_HID_COMPAT=y
 53.2481 +CONFIG_HID_A4TECH=y
 53.2482 +CONFIG_HID_APPLE=y
 53.2483 +CONFIG_HID_BELKIN=y
 53.2484 +CONFIG_HID_CHERRY=y
 53.2485 +CONFIG_HID_CHICONY=y
 53.2486 +CONFIG_HID_CYPRESS=y
 53.2487 +CONFIG_HID_EZKEY=y
 53.2488 +CONFIG_HID_GYRATION=y
 53.2489 +CONFIG_HID_LOGITECH=y
 53.2490 +# CONFIG_LOGITECH_FF is not set
 53.2491 +# CONFIG_LOGIRUMBLEPAD2_FF is not set
 53.2492 +CONFIG_HID_MICROSOFT=y
 53.2493 +CONFIG_HID_MONTEREY=y
 53.2494 +CONFIG_HID_NTRIG=y
 53.2495 +CONFIG_HID_PANTHERLORD=y
 53.2496 +# CONFIG_PANTHERLORD_FF is not set
 53.2497 +CONFIG_HID_PETALYNX=y
 53.2498 +CONFIG_HID_SAMSUNG=y
 53.2499 +CONFIG_HID_SONY=y
 53.2500 +CONFIG_HID_SUNPLUS=y
 53.2501 +# CONFIG_GREENASIA_FF is not set
 53.2502 +CONFIG_HID_TOPSEED=y
 53.2503 +# CONFIG_THRUSTMASTER_FF is not set
 53.2504 +# CONFIG_ZEROPLUS_FF is not set
 53.2505 +CONFIG_USB_SUPPORT=y
 53.2506 +CONFIG_USB_ARCH_HAS_HCD=y
 53.2507 +CONFIG_USB_ARCH_HAS_OHCI=y
 53.2508 +CONFIG_USB_ARCH_HAS_EHCI=y
 53.2509 +CONFIG_USB=y
 53.2510 +# CONFIG_USB_DEBUG is not set
 53.2511 +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
 53.2512 +
 53.2513 +#
 53.2514 +# Miscellaneous USB options
 53.2515 +#
 53.2516 +CONFIG_USB_DEVICEFS=y
 53.2517 +CONFIG_USB_DEVICE_CLASS=y
 53.2518 +# CONFIG_USB_DYNAMIC_MINORS is not set
 53.2519 +# CONFIG_USB_SUSPEND is not set
 53.2520 +# CONFIG_USB_OTG is not set
 53.2521 +# CONFIG_USB_MON is not set
 53.2522 +CONFIG_USB_WUSB=m
 53.2523 +CONFIG_USB_WUSB_CBAF=m
 53.2524 +# CONFIG_USB_WUSB_CBAF_DEBUG is not set
 53.2525 +
 53.2526 +#
 53.2527 +# USB Host Controller Drivers
 53.2528 +#
 53.2529 +# CONFIG_USB_C67X00_HCD is not set
 53.2530 +CONFIG_USB_EHCI_HCD=y
 53.2531 +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
 53.2532 +# CONFIG_USB_EHCI_TT_NEWSCHED is not set
 53.2533 +# CONFIG_USB_OXU210HP_HCD is not set
 53.2534 +# CONFIG_USB_ISP116X_HCD is not set
 53.2535 +# CONFIG_USB_ISP1760_HCD is not set
 53.2536 +CONFIG_USB_OHCI_HCD=m
 53.2537 +# CONFIG_USB_OHCI_HCD_SSB is not set
 53.2538 +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
 53.2539 +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
 53.2540 +CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 53.2541 +CONFIG_USB_UHCI_HCD=y
 53.2542 +# CONFIG_USB_SL811_HCD is not set
 53.2543 +# CONFIG_USB_R8A66597_HCD is not set
 53.2544 +CONFIG_USB_WHCI_HCD=m
 53.2545 +# CONFIG_USB_HWA_HCD is not set
 53.2546 +
 53.2547 +#
 53.2548 +# USB Device Class drivers
 53.2549 +#
 53.2550 +CONFIG_USB_ACM=m
 53.2551 +CONFIG_USB_PRINTER=m
 53.2552 +# CONFIG_USB_WDM is not set
 53.2553 +# CONFIG_USB_TMC is not set
 53.2554 +
 53.2555 +#
 53.2556 +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
 53.2557 +#
 53.2558 +
 53.2559 +#
 53.2560 +# see USB_STORAGE Help for more information
 53.2561 +#
 53.2562 +CONFIG_USB_STORAGE=y
 53.2563 +# CONFIG_USB_STORAGE_DEBUG is not set
 53.2564 +# CONFIG_USB_STORAGE_DATAFAB is not set
 53.2565 +# CONFIG_USB_STORAGE_FREECOM is not set
 53.2566 +# CONFIG_USB_STORAGE_ISD200 is not set
 53.2567 +# CONFIG_USB_STORAGE_USBAT is not set
 53.2568 +# CONFIG_USB_STORAGE_SDDR09 is not set
 53.2569 +# CONFIG_USB_STORAGE_SDDR55 is not set
 53.2570 +# CONFIG_USB_STORAGE_JUMPSHOT is not set
 53.2571 +# CONFIG_USB_STORAGE_ALAUDA is not set
 53.2572 +# CONFIG_USB_STORAGE_ONETOUCH is not set
 53.2573 +# CONFIG_USB_STORAGE_KARMA is not set
 53.2574 +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
 53.2575 +# CONFIG_USB_LIBUSUAL is not set
 53.2576 +
 53.2577 +#
 53.2578 +# USB Imaging devices
 53.2579 +#
 53.2580 +# CONFIG_USB_MDC800 is not set
 53.2581 +# CONFIG_USB_MICROTEK is not set
 53.2582 +
 53.2583 +#
 53.2584 +# USB port drivers
 53.2585 +#
 53.2586 +# CONFIG_USB_USS720 is not set
 53.2587 +CONFIG_USB_SERIAL=m
 53.2588 +# CONFIG_USB_EZUSB is not set
 53.2589 +CONFIG_USB_SERIAL_GENERIC=y
 53.2590 +# CONFIG_USB_SERIAL_AIRCABLE is not set
 53.2591 +# CONFIG_USB_SERIAL_ARK3116 is not set
 53.2592 +# CONFIG_USB_SERIAL_BELKIN is not set
 53.2593 +CONFIG_USB_SERIAL_CH341=m
 53.2594 +# CONFIG_USB_SERIAL_WHITEHEAT is not set
 53.2595 +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
 53.2596 +# CONFIG_USB_SERIAL_CP2101 is not set
 53.2597 +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
 53.2598 +# CONFIG_USB_SERIAL_EMPEG is not set
 53.2599 +# CONFIG_USB_SERIAL_FTDI_SIO is not set
 53.2600 +# CONFIG_USB_SERIAL_FUNSOFT is not set
 53.2601 +# CONFIG_USB_SERIAL_VISOR is not set
 53.2602 +# CONFIG_USB_SERIAL_IPAQ is not set
 53.2603 +# CONFIG_USB_SERIAL_IR is not set
 53.2604 +# CONFIG_USB_SERIAL_EDGEPORT is not set
 53.2605 +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
 53.2606 +# CONFIG_USB_SERIAL_GARMIN is not set
 53.2607 +# CONFIG_USB_SERIAL_IPW is not set
 53.2608 +# CONFIG_USB_SERIAL_IUU is not set
 53.2609 +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
 53.2610 +# CONFIG_USB_SERIAL_KEYSPAN is not set
 53.2611 +# CONFIG_USB_SERIAL_KLSI is not set
 53.2612 +# CONFIG_USB_SERIAL_KOBIL_SCT is not set
 53.2613 +# CONFIG_USB_SERIAL_MCT_U232 is not set
 53.2614 +# CONFIG_USB_SERIAL_MOS7720 is not set
 53.2615 +# CONFIG_USB_SERIAL_MOS7840 is not set
 53.2616 +# CONFIG_USB_SERIAL_MOTOROLA is not set
 53.2617 +# CONFIG_USB_SERIAL_NAVMAN is not set
 53.2618 +CONFIG_USB_SERIAL_PL2303=m
 53.2619 +# CONFIG_USB_SERIAL_OTI6858 is not set
 53.2620 +# CONFIG_USB_SERIAL_SPCP8X5 is not set
 53.2621 +# CONFIG_USB_SERIAL_HP4X is not set
 53.2622 +# CONFIG_USB_SERIAL_SAFE is not set
 53.2623 +# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
 53.2624 +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
 53.2625 +# CONFIG_USB_SERIAL_TI is not set
 53.2626 +# CONFIG_USB_SERIAL_CYBERJACK is not set
 53.2627 +# CONFIG_USB_SERIAL_XIRCOM is not set
 53.2628 +# CONFIG_USB_SERIAL_OPTION is not set
 53.2629 +# CONFIG_USB_SERIAL_OMNINET is not set
 53.2630 +# CONFIG_USB_SERIAL_OPTICON is not set
 53.2631 +# CONFIG_USB_SERIAL_DEBUG is not set
 53.2632 +
 53.2633 +#
 53.2634 +# USB Miscellaneous drivers
 53.2635 +#
 53.2636 +# CONFIG_USB_EMI62 is not set
 53.2637 +# CONFIG_USB_EMI26 is not set
 53.2638 +# CONFIG_USB_ADUTUX is not set
 53.2639 +# CONFIG_USB_SEVSEG is not set
 53.2640 +# CONFIG_USB_RIO500 is not set
 53.2641 +# CONFIG_USB_LEGOTOWER is not set
 53.2642 +# CONFIG_USB_LCD is not set
 53.2643 +# CONFIG_USB_BERRY_CHARGE is not set
 53.2644 +# CONFIG_USB_LED is not set
 53.2645 +# CONFIG_USB_CYPRESS_CY7C63 is not set
 53.2646 +# CONFIG_USB_CYTHERM is not set
 53.2647 +# CONFIG_USB_PHIDGET is not set
 53.2648 +# CONFIG_USB_IDMOUSE is not set
 53.2649 +# CONFIG_USB_FTDI_ELAN is not set
 53.2650 +# CONFIG_USB_APPLEDISPLAY is not set
 53.2651 +# CONFIG_USB_SISUSBVGA is not set
 53.2652 +# CONFIG_USB_LD is not set
 53.2653 +# CONFIG_USB_TRANCEVIBRATOR is not set
 53.2654 +# CONFIG_USB_IOWARRIOR is not set
 53.2655 +# CONFIG_USB_TEST is not set
 53.2656 +# CONFIG_USB_ISIGHTFW is not set
 53.2657 +# CONFIG_USB_VST is not set
 53.2658 +CONFIG_USB_ATM=m
 53.2659 +CONFIG_USB_SPEEDTOUCH=m
 53.2660 +CONFIG_USB_CXACRU=m
 53.2661 +CONFIG_USB_UEAGLEATM=m
 53.2662 +CONFIG_USB_XUSBATM=m
 53.2663 +# CONFIG_USB_GADGET is not set
 53.2664 +
 53.2665 +#
 53.2666 +# OTG and related infrastructure
 53.2667 +#
 53.2668 +# CONFIG_USB_GPIO_VBUS is not set
 53.2669 +CONFIG_UWB=m
 53.2670 +CONFIG_UWB_HWA=m
 53.2671 +CONFIG_UWB_WHCI=m
 53.2672 +CONFIG_UWB_WLP=m
 53.2673 +CONFIG_UWB_I1480U=m
 53.2674 +CONFIG_UWB_I1480U_WLP=m
 53.2675 +CONFIG_MMC=m
 53.2676 +# CONFIG_MMC_DEBUG is not set
 53.2677 +# CONFIG_MMC_UNSAFE_RESUME is not set
 53.2678 +
 53.2679 +#
 53.2680 +# MMC/SD/SDIO Card Drivers
 53.2681 +#
 53.2682 +CONFIG_MMC_BLOCK=m
 53.2683 +CONFIG_MMC_BLOCK_BOUNCE=y
 53.2684 +CONFIG_SDIO_UART=m
 53.2685 +# CONFIG_MMC_TEST is not set
 53.2686 +
 53.2687 +#
 53.2688 +# MMC/SD/SDIO Host Controller Drivers
 53.2689 +#
 53.2690 +CONFIG_MMC_SDHCI=m
 53.2691 +CONFIG_MMC_SDHCI_PCI=m
 53.2692 +CONFIG_MMC_RICOH_MMC=m
 53.2693 +# CONFIG_MMC_WBSD is not set
 53.2694 +# CONFIG_MMC_TIFM_SD is not set
 53.2695 +# CONFIG_MMC_SDRICOH_CS is not set
 53.2696 +CONFIG_MEMSTICK=m
 53.2697 +# CONFIG_MEMSTICK_DEBUG is not set
 53.2698 +
 53.2699 +#
 53.2700 +# MemoryStick drivers
 53.2701 +#
 53.2702 +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
 53.2703 +CONFIG_MSPRO_BLOCK=m
 53.2704 +
 53.2705 +#
 53.2706 +# MemoryStick Host Controller Drivers
 53.2707 +#
 53.2708 +CONFIG_MEMSTICK_TIFM_MS=m
 53.2709 +CONFIG_MEMSTICK_JMICRON_38X=m
 53.2710 +CONFIG_NEW_LEDS=y
 53.2711 +CONFIG_LEDS_CLASS=m
 53.2712 +
 53.2713 +#
 53.2714 +# LED drivers
 53.2715 +#
 53.2716 +# CONFIG_LEDS_ALIX2 is not set
 53.2717 +# CONFIG_LEDS_PCA9532 is not set
 53.2718 +CONFIG_LEDS_GPIO=m
 53.2719 +# CONFIG_LEDS_CLEVO_MAIL is not set
 53.2720 +# CONFIG_LEDS_PCA955X is not set
 53.2721 +
 53.2722 +#
 53.2723 +# LED Triggers
 53.2724 +#
 53.2725 +CONFIG_LEDS_TRIGGERS=y
 53.2726 +CONFIG_LEDS_TRIGGER_TIMER=m
 53.2727 +CONFIG_LEDS_TRIGGER_IDE_DISK=y
 53.2728 +CONFIG_LEDS_TRIGGER_HEARTBEAT=m
 53.2729 +CONFIG_LEDS_TRIGGER_BACKLIGHT=m
 53.2730 +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
 53.2731 +# CONFIG_ACCESSIBILITY is not set
 53.2732 +# CONFIG_INFINIBAND is not set
 53.2733 +# CONFIG_EDAC is not set
 53.2734 +# CONFIG_RTC_CLASS is not set
 53.2735 +# CONFIG_DMADEVICES is not set
 53.2736 +# CONFIG_AUXDISPLAY is not set
 53.2737 +# CONFIG_UIO is not set
 53.2738 +CONFIG_STAGING=y
 53.2739 +# CONFIG_STAGING_EXCLUDE_BUILD is not set
 53.2740 +# CONFIG_ET131X is not set
 53.2741 +# CONFIG_SLICOSS is not set
 53.2742 +# CONFIG_ME4000 is not set
 53.2743 +# CONFIG_MEILHAUS is not set
 53.2744 +# CONFIG_VIDEO_GO7007 is not set
 53.2745 +CONFIG_USB_IP_COMMON=m
 53.2746 +CONFIG_USB_IP_VHCI_HCD=m
 53.2747 +CONFIG_USB_IP_HOST=m
 53.2748 +# CONFIG_W35UND is not set
 53.2749 +CONFIG_PRISM2_USB=m
 53.2750 +CONFIG_ECHO=m
 53.2751 +# CONFIG_USB_ATMEL is not set
 53.2752 +# CONFIG_AGNX is not set
 53.2753 +# CONFIG_OTUS is not set
 53.2754 +# CONFIG_RT2860 is not set
 53.2755 +# CONFIG_RT2870 is not set
 53.2756 +# CONFIG_COMEDI is not set
 53.2757 +# CONFIG_ASUS_OLED is not set
 53.2758 +# CONFIG_PANEL is not set
 53.2759 +# CONFIG_ALTERA_PCIE_CHDMA is not set
 53.2760 +# CONFIG_RTL8187SE is not set
 53.2761 +# CONFIG_INPUT_MIMIO is not set
 53.2762 +# CONFIG_TRANZPORT is not set
 53.2763 +
 53.2764 +#
 53.2765 +# Android
 53.2766 +#
 53.2767 +# CONFIG_ANDROID is not set
 53.2768 +# CONFIG_ANDROID_BINDER_IPC is not set
 53.2769 +# CONFIG_ANDROID_LOGGER is not set
 53.2770 +# CONFIG_ANDROID_RAM_CONSOLE is not set
 53.2771 +# CONFIG_ANDROID_TIMED_GPIO is not set
 53.2772 +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
 53.2773 +CONFIG_X86_PLATFORM_DEVICES=y
 53.2774 +CONFIG_ACER_WMI=m
 53.2775 +CONFIG_ASUS_LAPTOP=m
 53.2776 +# CONFIG_FUJITSU_LAPTOP is not set
 53.2777 +# CONFIG_TC1100_WMI is not set
 53.2778 +CONFIG_HP_WMI=m
 53.2779 +CONFIG_MSI_LAPTOP=m
 53.2780 +CONFIG_PANASONIC_LAPTOP=m
 53.2781 +# CONFIG_COMPAL_LAPTOP is not set
 53.2782 +CONFIG_SONY_LAPTOP=m
 53.2783 +# CONFIG_SONYPI_COMPAT is not set
 53.2784 +CONFIG_THINKPAD_ACPI=m
 53.2785 +# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
 53.2786 +# CONFIG_THINKPAD_ACPI_DEBUG is not set
 53.2787 +CONFIG_THINKPAD_ACPI_BAY=y
 53.2788 +CONFIG_THINKPAD_ACPI_VIDEO=y
 53.2789 +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
 53.2790 +# CONFIG_INTEL_MENLOW is not set
 53.2791 +CONFIG_EEEPC_LAPTOP=m
 53.2792 +CONFIG_ACPI_WMI=m
 53.2793 +# CONFIG_ACPI_ASUS is not set
 53.2794 +# CONFIG_ACPI_TOSHIBA is not set
 53.2795 +
 53.2796 +#
 53.2797 +# Firmware Drivers
 53.2798 +#
 53.2799 +# CONFIG_EDD is not set
 53.2800 +CONFIG_FIRMWARE_MEMMAP=y
 53.2801 +# CONFIG_DELL_RBU is not set
 53.2802 +# CONFIG_DCDBAS is not set
 53.2803 +CONFIG_DMIID=y
 53.2804 +# CONFIG_ISCSI_IBFT_FIND is not set
 53.2805 +
 53.2806 +#
 53.2807 +# File systems
 53.2808 +#
 53.2809 +CONFIG_EXT2_FS=y
 53.2810 +# CONFIG_EXT2_FS_XATTR is not set
 53.2811 +# CONFIG_EXT2_FS_XIP is not set
 53.2812 +CONFIG_EXT3_FS=y
 53.2813 +# CONFIG_EXT3_FS_XATTR is not set
 53.2814 +CONFIG_EXT4_FS=m
 53.2815 +# CONFIG_EXT4DEV_COMPAT is not set
 53.2816 +CONFIG_EXT4_FS_XATTR=y
 53.2817 +CONFIG_EXT4_FS_POSIX_ACL=y
 53.2818 +# CONFIG_EXT4_FS_SECURITY is not set
 53.2819 +CONFIG_JBD=y
 53.2820 +CONFIG_JBD2=m
 53.2821 +CONFIG_FS_MBCACHE=m
 53.2822 +CONFIG_REISERFS_FS=m
 53.2823 +# CONFIG_REISERFS_CHECK is not set
 53.2824 +# CONFIG_REISERFS_PROC_INFO is not set
 53.2825 +# CONFIG_REISERFS_FS_XATTR is not set
 53.2826 +CONFIG_JFS_FS=m
 53.2827 +# CONFIG_JFS_POSIX_ACL is not set
 53.2828 +# CONFIG_JFS_SECURITY is not set
 53.2829 +# CONFIG_JFS_DEBUG is not set
 53.2830 +# CONFIG_JFS_STATISTICS is not set
 53.2831 +CONFIG_FS_POSIX_ACL=y
 53.2832 +CONFIG_FILE_LOCKING=y
 53.2833 +CONFIG_XFS_FS=y
 53.2834 +# CONFIG_XFS_QUOTA is not set
 53.2835 +# CONFIG_XFS_POSIX_ACL is not set
 53.2836 +# CONFIG_XFS_RT is not set
 53.2837 +# CONFIG_XFS_DEBUG is not set
 53.2838 +CONFIG_GFS2_FS=m
 53.2839 +CONFIG_GFS2_FS_LOCKING_DLM=m
 53.2840 +# CONFIG_OCFS2_FS is not set
 53.2841 +CONFIG_BTRFS_FS=m
 53.2842 +# CONFIG_BTRFS_FS_POSIX_ACL is not set
 53.2843 +CONFIG_DNOTIFY=y
 53.2844 +CONFIG_INOTIFY=y
 53.2845 +CONFIG_INOTIFY_USER=y
 53.2846 +# CONFIG_QUOTA is not set
 53.2847 +# CONFIG_AUTOFS_FS is not set
 53.2848 +# CONFIG_AUTOFS4_FS is not set
 53.2849 +CONFIG_FUSE_FS=y
 53.2850 +
 53.2851 +#
 53.2852 +# CD-ROM/DVD Filesystems
 53.2853 +#
 53.2854 +CONFIG_ISO9660_FS=y
 53.2855 +CONFIG_JOLIET=y
 53.2856 +CONFIG_ZISOFS=y
 53.2857 +CONFIG_UDF_FS=m
 53.2858 +CONFIG_UDF_NLS=y
 53.2859 +
 53.2860 +#
 53.2861 +# DOS/FAT/NT Filesystems
 53.2862 +#
 53.2863 +CONFIG_FAT_FS=m
 53.2864 +CONFIG_MSDOS_FS=m
 53.2865 +CONFIG_VFAT_FS=m
 53.2866 +CONFIG_FAT_DEFAULT_CODEPAGE=437
 53.2867 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
 53.2868 +# CONFIG_NTFS_FS is not set
 53.2869 +
 53.2870 +#
 53.2871 +# Pseudo filesystems
 53.2872 +#
 53.2873 +CONFIG_PROC_FS=y
 53.2874 +CONFIG_PROC_KCORE=y
 53.2875 +CONFIG_PROC_SYSCTL=y
 53.2876 +CONFIG_PROC_PAGE_MONITOR=y
 53.2877 +CONFIG_SYSFS=y
 53.2878 +CONFIG_TMPFS=y
 53.2879 +# CONFIG_TMPFS_POSIX_ACL is not set
 53.2880 +# CONFIG_HUGETLBFS is not set
 53.2881 +# CONFIG_HUGETLB_PAGE is not set
 53.2882 +CONFIG_CONFIGFS_FS=m
 53.2883 +CONFIG_MISC_FILESYSTEMS=y
 53.2884 +# CONFIG_ADFS_FS is not set
 53.2885 +# CONFIG_AFFS_FS is not set
 53.2886 +CONFIG_HFS_FS=m
 53.2887 +CONFIG_HFSPLUS_FS=m
 53.2888 +# CONFIG_BEFS_FS is not set
 53.2889 +# CONFIG_BFS_FS is not set
 53.2890 +# CONFIG_EFS_FS is not set
 53.2891 +CONFIG_CRAMFS=m
 53.2892 +CONFIG_SQUASHFS=m
 53.2893 +# CONFIG_SQUASHFS_EMBEDDED is not set
 53.2894 +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
 53.2895 +# CONFIG_VXFS_FS is not set
 53.2896 +CONFIG_MINIX_FS=m
 53.2897 +# CONFIG_OMFS_FS is not set
 53.2898 +# CONFIG_HPFS_FS is not set
 53.2899 +# CONFIG_QNX4FS_FS is not set
 53.2900 +# CONFIG_ROMFS_FS is not set
 53.2901 +# CONFIG_SYSV_FS is not set
 53.2902 +# CONFIG_UFS_FS is not set
 53.2903 +CONFIG_NETWORK_FILESYSTEMS=y
 53.2904 +CONFIG_NFS_FS=y
 53.2905 +CONFIG_NFS_V3=y
 53.2906 +CONFIG_NFS_V3_ACL=y
 53.2907 +# CONFIG_NFS_V4 is not set
 53.2908 +# CONFIG_NFSD is not set
 53.2909 +CONFIG_LOCKD=y
 53.2910 +CONFIG_LOCKD_V4=y
 53.2911 +CONFIG_EXPORTFS=y
 53.2912 +CONFIG_NFS_ACL_SUPPORT=y
 53.2913 +CONFIG_NFS_COMMON=y
 53.2914 +CONFIG_SUNRPC=y
 53.2915 +# CONFIG_SUNRPC_REGISTER_V4 is not set
 53.2916 +# CONFIG_RPCSEC_GSS_KRB5 is not set
 53.2917 +# CONFIG_RPCSEC_GSS_SPKM3 is not set
 53.2918 +# CONFIG_SMB_FS is not set
 53.2919 +CONFIG_CIFS=m
 53.2920 +# CONFIG_CIFS_STATS is not set
 53.2921 +CONFIG_CIFS_WEAK_PW_HASH=y
 53.2922 +# CONFIG_CIFS_XATTR is not set
 53.2923 +# CONFIG_CIFS_DEBUG2 is not set
 53.2924 +# CONFIG_CIFS_EXPERIMENTAL is not set
 53.2925 +CONFIG_NCP_FS=m
 53.2926 +# CONFIG_NCPFS_PACKET_SIGNING is not set
 53.2927 +# CONFIG_NCPFS_IOCTL_LOCKING is not set
 53.2928 +# CONFIG_NCPFS_STRONG is not set
 53.2929 +# CONFIG_NCPFS_NFS_NS is not set
 53.2930 +# CONFIG_NCPFS_OS2_NS is not set
 53.2931 +# CONFIG_NCPFS_SMALLDOS is not set
 53.2932 +# CONFIG_NCPFS_NLS is not set
 53.2933 +# CONFIG_NCPFS_EXTRAS is not set
 53.2934 +CONFIG_CODA_FS=m
 53.2935 +# CONFIG_AFS_FS is not set
 53.2936 +
 53.2937 +#
 53.2938 +# Partition Types
 53.2939 +#
 53.2940 +CONFIG_PARTITION_ADVANCED=y
 53.2941 +# CONFIG_ACORN_PARTITION is not set
 53.2942 +# CONFIG_OSF_PARTITION is not set
 53.2943 +# CONFIG_AMIGA_PARTITION is not set
 53.2944 +# CONFIG_ATARI_PARTITION is not set
 53.2945 +# CONFIG_MAC_PARTITION is not set
 53.2946 +CONFIG_MSDOS_PARTITION=y
 53.2947 +# CONFIG_BSD_DISKLABEL is not set
 53.2948 +# CONFIG_MINIX_SUBPARTITION is not set
 53.2949 +# CONFIG_SOLARIS_X86_PARTITION is not set
 53.2950 +# CONFIG_UNIXWARE_DISKLABEL is not set
 53.2951 +# CONFIG_LDM_PARTITION is not set
 53.2952 +# CONFIG_SGI_PARTITION is not set
 53.2953 +# CONFIG_ULTRIX_PARTITION is not set
 53.2954 +# CONFIG_SUN_PARTITION is not set
 53.2955 +# CONFIG_KARMA_PARTITION is not set
 53.2956 +# CONFIG_EFI_PARTITION is not set
 53.2957 +# CONFIG_SYSV68_PARTITION is not set
 53.2958 +CONFIG_NLS=y
 53.2959 +CONFIG_NLS_DEFAULT="iso8859-1"
 53.2960 +CONFIG_NLS_CODEPAGE_437=y
 53.2961 +# CONFIG_NLS_CODEPAGE_737 is not set
 53.2962 +# CONFIG_NLS_CODEPAGE_775 is not set
 53.2963 +CONFIG_NLS_CODEPAGE_850=y
 53.2964 +CONFIG_NLS_CODEPAGE_852=y
 53.2965 +# CONFIG_NLS_CODEPAGE_855 is not set
 53.2966 +# CONFIG_NLS_CODEPAGE_857 is not set
 53.2967 +# CONFIG_NLS_CODEPAGE_860 is not set
 53.2968 +# CONFIG_NLS_CODEPAGE_861 is not set
 53.2969 +# CONFIG_NLS_CODEPAGE_862 is not set
 53.2970 +CONFIG_NLS_CODEPAGE_863=y
 53.2971 +# CONFIG_NLS_CODEPAGE_864 is not set
 53.2972 +CONFIG_NLS_CODEPAGE_865=y
 53.2973 +# CONFIG_NLS_CODEPAGE_866 is not set
 53.2974 +# CONFIG_NLS_CODEPAGE_869 is not set
 53.2975 +# CONFIG_NLS_CODEPAGE_936 is not set
 53.2976 +# CONFIG_NLS_CODEPAGE_950 is not set
 53.2977 +# CONFIG_NLS_CODEPAGE_932 is not set
 53.2978 +# CONFIG_NLS_CODEPAGE_949 is not set
 53.2979 +# CONFIG_NLS_CODEPAGE_874 is not set
 53.2980 +# CONFIG_NLS_ISO8859_8 is not set
 53.2981 +# CONFIG_NLS_CODEPAGE_1250 is not set
 53.2982 +# CONFIG_NLS_CODEPAGE_1251 is not set
 53.2983 +CONFIG_NLS_ASCII=y
 53.2984 +CONFIG_NLS_ISO8859_1=y
 53.2985 +CONFIG_NLS_ISO8859_2=y
 53.2986 +# CONFIG_NLS_ISO8859_3 is not set
 53.2987 +# CONFIG_NLS_ISO8859_4 is not set
 53.2988 +# CONFIG_NLS_ISO8859_5 is not set
 53.2989 +# CONFIG_NLS_ISO8859_6 is not set
 53.2990 +# CONFIG_NLS_ISO8859_7 is not set
 53.2991 +# CONFIG_NLS_ISO8859_9 is not set
 53.2992 +# CONFIG_NLS_ISO8859_13 is not set
 53.2993 +# CONFIG_NLS_ISO8859_14 is not set
 53.2994 +CONFIG_NLS_ISO8859_15=y
 53.2995 +# CONFIG_NLS_KOI8_R is not set
 53.2996 +# CONFIG_NLS_KOI8_U is not set
 53.2997 +CONFIG_NLS_UTF8=m
 53.2998 +CONFIG_DLM=m
 53.2999 +# CONFIG_DLM_DEBUG is not set
 53.3000 +
 53.3001 +#
 53.3002 +# Kernel hacking
 53.3003 +#
 53.3004 +CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 53.3005 +# CONFIG_PRINTK_TIME is not set
 53.3006 +CONFIG_ENABLE_WARN_DEPRECATED=y
 53.3007 +CONFIG_ENABLE_MUST_CHECK=y
 53.3008 +CONFIG_FRAME_WARN=1024
 53.3009 +# CONFIG_MAGIC_SYSRQ is not set
 53.3010 +CONFIG_UNUSED_SYMBOLS=y
 53.3011 +# CONFIG_DEBUG_FS is not set
 53.3012 +# CONFIG_HEADERS_CHECK is not set
 53.3013 +# CONFIG_DEBUG_KERNEL is not set
 53.3014 +CONFIG_DEBUG_BUGVERBOSE=y
 53.3015 +CONFIG_DEBUG_MEMORY_INIT=y
 53.3016 +CONFIG_ARCH_WANT_FRAME_POINTERS=y
 53.3017 +CONFIG_FRAME_POINTER=y
 53.3018 +# CONFIG_RCU_CPU_STALL_DETECTOR is not set
 53.3019 +# CONFIG_LATENCYTOP is not set
 53.3020 +# CONFIG_SYSCTL_SYSCALL_CHECK is not set
 53.3021 +CONFIG_USER_STACKTRACE_SUPPORT=y
 53.3022 +CONFIG_HAVE_FUNCTION_TRACER=y
 53.3023 +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
 53.3024 +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
 53.3025 +CONFIG_HAVE_DYNAMIC_FTRACE=y
 53.3026 +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 53.3027 +
 53.3028 +#
 53.3029 +# Tracers
 53.3030 +#
 53.3031 +# CONFIG_SYSPROF_TRACER is not set
 53.3032 +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 53.3033 +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
 53.3034 +# CONFIG_SAMPLES is not set
 53.3035 +CONFIG_HAVE_ARCH_KGDB=y
 53.3036 +# CONFIG_STRICT_DEVMEM is not set
 53.3037 +CONFIG_X86_VERBOSE_BOOTUP=y
 53.3038 +CONFIG_EARLY_PRINTK=y
 53.3039 +# CONFIG_EARLY_PRINTK_DBGP is not set
 53.3040 +# CONFIG_4KSTACKS is not set
 53.3041 +CONFIG_DOUBLEFAULT=y
 53.3042 +CONFIG_HAVE_MMIOTRACE_SUPPORT=y
 53.3043 +CONFIG_IO_DELAY_TYPE_0X80=0
 53.3044 +CONFIG_IO_DELAY_TYPE_0XED=1
 53.3045 +CONFIG_IO_DELAY_TYPE_UDELAY=2
 53.3046 +CONFIG_IO_DELAY_TYPE_NONE=3
 53.3047 +CONFIG_IO_DELAY_0X80=y
 53.3048 +# CONFIG_IO_DELAY_0XED is not set
 53.3049 +# CONFIG_IO_DELAY_UDELAY is not set
 53.3050 +# CONFIG_IO_DELAY_NONE is not set
 53.3051 +CONFIG_DEFAULT_IO_DELAY_TYPE=0
 53.3052 +# CONFIG_OPTIMIZE_INLINING is not set
 53.3053 +
 53.3054 +#
 53.3055 +# Security options
 53.3056 +#
 53.3057 +# CONFIG_KEYS is not set
 53.3058 +# CONFIG_SECURITY is not set
 53.3059 +# CONFIG_SECURITYFS is not set
 53.3060 +# CONFIG_SECURITY_FILE_CAPABILITIES is not set
 53.3061 +CONFIG_XOR_BLOCKS=m
 53.3062 +CONFIG_ASYNC_CORE=m
 53.3063 +CONFIG_ASYNC_MEMCPY=m
 53.3064 +CONFIG_ASYNC_XOR=m
 53.3065 +CONFIG_CRYPTO=y
 53.3066 +
 53.3067 +#
 53.3068 +# Crypto core or helper
 53.3069 +#
 53.3070 +# CONFIG_CRYPTO_FIPS is not set
 53.3071 +CONFIG_CRYPTO_ALGAPI=y
 53.3072 +CONFIG_CRYPTO_ALGAPI2=y
 53.3073 +CONFIG_CRYPTO_AEAD=y
 53.3074 +CONFIG_CRYPTO_AEAD2=y
 53.3075 +CONFIG_CRYPTO_BLKCIPHER=y
 53.3076 +CONFIG_CRYPTO_BLKCIPHER2=y
 53.3077 +CONFIG_CRYPTO_HASH=y
 53.3078 +CONFIG_CRYPTO_HASH2=y
 53.3079 +CONFIG_CRYPTO_RNG2=y
 53.3080 +CONFIG_CRYPTO_MANAGER=y
 53.3081 +CONFIG_CRYPTO_MANAGER2=y
 53.3082 +# CONFIG_CRYPTO_GF128MUL is not set
 53.3083 +# CONFIG_CRYPTO_NULL is not set
 53.3084 +# CONFIG_CRYPTO_CRYPTD is not set
 53.3085 +CONFIG_CRYPTO_AUTHENC=y
 53.3086 +# CONFIG_CRYPTO_TEST is not set
 53.3087 +
 53.3088 +#
 53.3089 +# Authenticated Encryption with Associated Data
 53.3090 +#
 53.3091 +# CONFIG_CRYPTO_CCM is not set
 53.3092 +# CONFIG_CRYPTO_GCM is not set
 53.3093 +# CONFIG_CRYPTO_SEQIV is not set
 53.3094 +
 53.3095 +#
 53.3096 +# Block modes
 53.3097 +#
 53.3098 +CONFIG_CRYPTO_CBC=y
 53.3099 +# CONFIG_CRYPTO_CTR is not set
 53.3100 +# CONFIG_CRYPTO_CTS is not set
 53.3101 +CONFIG_CRYPTO_ECB=m
 53.3102 +# CONFIG_CRYPTO_LRW is not set
 53.3103 +CONFIG_CRYPTO_PCBC=m
 53.3104 +# CONFIG_CRYPTO_XTS is not set
 53.3105 +
 53.3106 +#
 53.3107 +# Hash modes
 53.3108 +#
 53.3109 +CONFIG_CRYPTO_HMAC=y
 53.3110 +# CONFIG_CRYPTO_XCBC is not set
 53.3111 +
 53.3112 +#
 53.3113 +# Digest
 53.3114 +#
 53.3115 +CONFIG_CRYPTO_CRC32C=m
 53.3116 +# CONFIG_CRYPTO_CRC32C_INTEL is not set
 53.3117 +# CONFIG_CRYPTO_MD4 is not set
 53.3118 +CONFIG_CRYPTO_MD5=y
 53.3119 +CONFIG_CRYPTO_MICHAEL_MIC=m
 53.3120 +# CONFIG_CRYPTO_RMD128 is not set
 53.3121 +# CONFIG_CRYPTO_RMD160 is not set
 53.3122 +# CONFIG_CRYPTO_RMD256 is not set
 53.3123 +# CONFIG_CRYPTO_RMD320 is not set
 53.3124 +CONFIG_CRYPTO_SHA1=y
 53.3125 +CONFIG_CRYPTO_SHA256=m
 53.3126 +CONFIG_CRYPTO_SHA512=m
 53.3127 +# CONFIG_CRYPTO_TGR192 is not set
 53.3128 +# CONFIG_CRYPTO_WP512 is not set
 53.3129 +
 53.3130 +#
 53.3131 +# Ciphers
 53.3132 +#
 53.3133 +CONFIG_CRYPTO_AES=m
 53.3134 +CONFIG_CRYPTO_AES_586=m
 53.3135 +# CONFIG_CRYPTO_ANUBIS is not set
 53.3136 +CONFIG_CRYPTO_ARC4=m
 53.3137 +CONFIG_CRYPTO_BLOWFISH=m
 53.3138 +# CONFIG_CRYPTO_CAMELLIA is not set
 53.3139 +# CONFIG_CRYPTO_CAST5 is not set
 53.3140 +# CONFIG_CRYPTO_CAST6 is not set
 53.3141 +CONFIG_CRYPTO_DES=y
 53.3142 +CONFIG_CRYPTO_FCRYPT=m
 53.3143 +# CONFIG_CRYPTO_KHAZAD is not set
 53.3144 +# CONFIG_CRYPTO_SALSA20 is not set
 53.3145 +# CONFIG_CRYPTO_SALSA20_586 is not set
 53.3146 +# CONFIG_CRYPTO_SEED is not set
 53.3147 +CONFIG_CRYPTO_SERPENT=m
 53.3148 +# CONFIG_CRYPTO_TEA is not set
 53.3149 +CONFIG_CRYPTO_TWOFISH=m
 53.3150 +CONFIG_CRYPTO_TWOFISH_COMMON=m
 53.3151 +CONFIG_CRYPTO_TWOFISH_586=m
 53.3152 +
 53.3153 +#
 53.3154 +# Compression
 53.3155 +#
 53.3156 +CONFIG_CRYPTO_DEFLATE=y
 53.3157 +# CONFIG_CRYPTO_LZO is not set
 53.3158 +
 53.3159 +#
 53.3160 +# Random Number Generation
 53.3161 +#
 53.3162 +# CONFIG_CRYPTO_ANSI_CPRNG is not set
 53.3163 +CONFIG_CRYPTO_HW=y
 53.3164 +CONFIG_CRYPTO_DEV_PADLOCK=m
 53.3165 +CONFIG_CRYPTO_DEV_PADLOCK_AES=m
 53.3166 +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
 53.3167 +CONFIG_CRYPTO_DEV_GEODE=m
 53.3168 +CONFIG_CRYPTO_DEV_HIFN_795X=m
 53.3169 +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
 53.3170 +CONFIG_HAVE_KVM=y
 53.3171 +CONFIG_HAVE_KVM_IRQCHIP=y
 53.3172 +CONFIG_VIRTUALIZATION=y
 53.3173 +CONFIG_KVM=m
 53.3174 +CONFIG_KVM_INTEL=m
 53.3175 +CONFIG_KVM_AMD=m
 53.3176 +CONFIG_LGUEST=m
 53.3177 +CONFIG_VIRTIO=m
 53.3178 +CONFIG_VIRTIO_RING=m
 53.3179 +CONFIG_VIRTIO_PCI=m
 53.3180 +# CONFIG_VIRTIO_BALLOON is not set
 53.3181 +
 53.3182 +#
 53.3183 +# Library routines
 53.3184 +#
 53.3185 +CONFIG_BITREVERSE=y
 53.3186 +CONFIG_GENERIC_FIND_FIRST_BIT=y
 53.3187 +CONFIG_GENERIC_FIND_NEXT_BIT=y
 53.3188 +CONFIG_GENERIC_FIND_LAST_BIT=y
 53.3189 +CONFIG_CRC_CCITT=y
 53.3190 +CONFIG_CRC16=m
 53.3191 +# CONFIG_CRC_T10DIF is not set
 53.3192 +CONFIG_CRC_ITU_T=m
 53.3193 +CONFIG_CRC32=y
 53.3194 +# CONFIG_CRC7 is not set
 53.3195 +CONFIG_LIBCRC32C=m
 53.3196 +CONFIG_ZLIB_INFLATE=y
 53.3197 +CONFIG_ZLIB_DEFLATE=y
 53.3198 +CONFIG_TEXTSEARCH=y
 53.3199 +CONFIG_TEXTSEARCH_KMP=m
 53.3200 +CONFIG_TEXTSEARCH_BM=m
 53.3201 +CONFIG_TEXTSEARCH_FSM=m
 53.3202 +CONFIG_PLIST=y
 53.3203 +CONFIG_HAS_IOMEM=y
 53.3204 +CONFIG_HAS_IOPORT=y
 53.3205 +CONFIG_HAS_DMA=y
    54.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    54.2 +++ b/linux/stuff/linux-diff-2.6.29.3.u	Mon May 11 19:08:50 2009 +0200
    54.3 @@ -0,0 +1,18 @@
    54.4 +--- linux-2.6.29.3/arch/x86/vdso/Makefile
    54.5 ++++ linux-2.6.29.3/arch/x86/vdso/Makefile
    54.6 +@@ -104,10 +104,12 @@
    54.7 + 	   $(foreach H,$(filter-out FORCE,$^),\
    54.8 + 		     if grep -q VDSO32_SYSENTER_RETURN $H; \
    54.9 + 		     then diff -u $(@D)/.tmp_$(@F) $H; \
   54.10 +-		     else sed /VDSO32_SYSENTER_RETURN/d $(@D)/.tmp_$(@F) | \
   54.11 +-			  diff -u - $H; fi &&) : ;\
   54.12 ++		     else sed /VDSO32_SYSENTER_RETURN/d $(@D)/.tmp_$(@F) > \
   54.13 ++		     	  $(@D)/.tmp_$(@F).$$ ; \
   54.14 ++			  diff -u $(@D)/.tmp_$(@F).$$ $H; fi &&) : ;\
   54.15 + 	then mv -f $(@D)/.tmp_$(@F) $@; \
   54.16 +-	else rm -f $(@D)/.tmp_$(@F); exit 1; \
   54.17 ++	else rm -f $(@D)/.tmp_$(@F)*; exit 1; \
   54.18 ++	rm -f $(@D)/.tmp_$(@F)*; \
   54.19 + 	fi
   54.20 + endef
   54.21 + 
    55.1 --- a/linux/stuff/linux-lzma-2.6.22.9.u	Mon May 11 16:40:10 2009 +0200
    55.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    55.3 @@ -1,2075 +0,0 @@
    55.4 ---- linux-2.6.22.9/arch/i386/boot/compressed/Makefile
    55.5 -+++ linux-2.6.22.9/arch/i386/boot/compressed/Makefile
    55.6 -@@ -4,7 +4,7 @@
    55.7 - # create a compressed vmlinux image from the original vmlinux
    55.8 - #
    55.9 - 
   55.10 --targets		:= vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o \
   55.11 -+targets		:= vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma head.o misc.o piggy.o \
   55.12 - 			vmlinux.bin.all vmlinux.relocs
   55.13 - EXTRA_AFLAGS	:= -traditional
   55.14 - 
   55.15 -@@ -39,7 +39,27 @@ $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bi
   55.16 - 	$(call if_changed,gzip)
   55.17 - endif
   55.18 - 
   55.19 -+ifdef CONFIG_RELOCATABLE
   55.20 -+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin.all FORCE
   55.21 -+	$(call if_changed,bzip2)
   55.22 -+else
   55.23 -+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
   55.24 -+	$(call if_changed,bzip2)
   55.25 -+endif
   55.26 -+
   55.27 -+ifdef CONFIG_RELOCATABLE
   55.28 -+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE
   55.29 -+	$(call if_changed,lzma)
   55.30 -+else
   55.31 -+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
   55.32 -+	$(call if_changed,lzma)
   55.33 -+endif
   55.34 -+
   55.35 - LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
   55.36 - 
   55.37 --$(obj)/piggy.o: $(src)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
   55.38 -+suffix_$(CONFIG_KERNEL_GZIP)  = gz
   55.39 -+suffix_$(CONFIG_KERNEL_BZIP2) = bz2
   55.40 -+suffix_$(CONFIG_KERNEL_LZMA)  = lzma
   55.41 -+
   55.42 -+$(obj)/piggy.o: $(src)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
   55.43 - 	$(call if_changed,ld)
   55.44 -
   55.45 ---- linux-2.6.22.9/arch/i386/boot/compressed/misc.c
   55.46 -+++ linux-2.6.22.9/arch/i386/boot/compressed/misc.c
   55.47 -@@ -121,9 +121,12 @@
   55.48 - 				 * always be larger than our output buffer.
   55.49 - 				 */
   55.50 - 
   55.51 -+#ifdef CONFIG_KERNEL_GZIP
   55.52 - static uch *inbuf;	/* input buffer */
   55.53 -+#endif
   55.54 - static uch *window;	/* Sliding window buffer, (and final output buffer) */
   55.55 - 
   55.56 -+#ifdef CONFIG_KERNEL_GZIP
   55.57 - static unsigned insize;  /* valid bytes in inbuf */
   55.58 - static unsigned inptr;   /* index of next byte to be processed in inbuf */
   55.59 - static unsigned outcnt;  /* bytes in output buffer */
   55.60 -@@ -158,9 +161,14 @@ static unsigned outcnt;  /* bytes in out
   55.61 - 
   55.62 - static int  fill_inbuf(void);
   55.63 - static void flush_window(void);
   55.64 -+#endif
   55.65 -+
   55.66 - static void error(char *m);
   55.67 -+
   55.68 -+#ifdef CONFIG_KERNEL_GZIP
   55.69 - static void gzip_mark(void **);
   55.70 - static void gzip_release(void **);
   55.71 -+#endif
   55.72 -   
   55.73 - /*
   55.74 -  * This is set up by the setup-routine at boot-time
   55.75 -@@ -181,7 +189,9 @@ static long bytes_out = 0;
   55.76 - static void *malloc(int size);
   55.77 - static void free(void *where);
   55.78 - 
   55.79 -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
   55.80 - static void *memset(void *s, int c, unsigned n);
   55.81 -+#endif
   55.82 - static void *memcpy(void *dest, const void *src, unsigned n);
   55.83 - 
   55.84 - static void putstr(const char *);
   55.85 -@@ -189,7 +199,11 @@ static void putstr(const char *);
   55.86 - static unsigned long free_mem_ptr;
   55.87 - static unsigned long free_mem_end_ptr;
   55.88 - 
   55.89 -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
   55.90 -+#define HEAP_SIZE             0x400000
   55.91 -+#else
   55.92 - #define HEAP_SIZE             0x4000
   55.93 -+#endif
   55.94 - 
   55.95 - static char *vidmem = (char *)0xb8000;
   55.96 - static int vidport;
   55.97 -@@ -199,7 +213,29 @@ static int lines, cols;
   55.98 - void *xquad_portio;
   55.99 - #endif
  55.100 - 
  55.101 -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
  55.102 -+
  55.103 -+#define large_malloc malloc
  55.104 -+#define large_free free
  55.105 -+
  55.106 -+#ifdef current
  55.107 -+#undef current
  55.108 -+#endif
  55.109 -+
  55.110 -+#define INCLUDED
  55.111 -+#endif
  55.112 -+
  55.113 -+#ifdef CONFIG_KERNEL_GZIP
  55.114 - #include "../../../../lib/inflate.c"
  55.115 -+#endif
  55.116 -+
  55.117 -+#ifdef CONFIG_KERNEL_BZIP2
  55.118 -+#include "../../../../lib/decompress_bunzip2.c"
  55.119 -+#endif
  55.120 -+
  55.121 -+#ifdef CONFIG_KERNEL_LZMA
  55.122 -+#include "../../../../lib/decompress_unlzma.c"
  55.123 -+#endif
  55.124 - 
  55.125 - static void *malloc(int size)
  55.126 - {
  55.127 -@@ -223,6 +259,7 @@ static void free(void *where)
  55.128 - {	/* Don't care */
  55.129 - }
  55.130 - 
  55.131 -+#ifdef CONFIG_KERNEL_GZIP
  55.132 - static void gzip_mark(void **ptr)
  55.133 - {
  55.134 - 	*ptr = (void *) free_mem_ptr;
  55.135 -@@ -232,6 +269,7 @@ static void gzip_release(void **ptr)
  55.136 - {
  55.137 - 	free_mem_ptr = (unsigned long) *ptr;
  55.138 - }
  55.139 -+#endif
  55.140 -  
  55.141 - static void scroll(void)
  55.142 - {
  55.143 -@@ -279,6 +317,7 @@ static void putstr(const char *s)
  55.144 - 	outb_p(0xff & (pos >> 1), vidport+1);
  55.145 - }
  55.146 - 
  55.147 -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
  55.148 - static void* memset(void* s, int c, unsigned n)
  55.149 - {
  55.150 - 	int i;
  55.151 -@@ -287,6 +326,7 @@ static void* memset(void* s, int c, unsi
  55.152 - 	for (i=0;i<n;i++) ss[i] = c;
  55.153 - 	return s;
  55.154 - }
  55.155 -+#endif
  55.156 - 
  55.157 - static void* memcpy(void* dest, const void* src, unsigned n)
  55.158 - {
  55.159 -@@ -297,6 +337,26 @@ static void* memcpy(void* dest, const vo
  55.160 - 	return dest;
  55.161 - }
  55.162 - 
  55.163 -+#ifndef CONFIG_KERNEL_GZIP
  55.164 -+/* ===========================================================================
  55.165 -+ * Write the output window window[0..outcnt-1] and update bytes_out.
  55.166 -+ * (Used for the decompressed data only.)
  55.167 -+ */
  55.168 -+static int compr_flush(char *data, unsigned int len)
  55.169 -+{
  55.170 -+    unsigned n;
  55.171 -+    uch *out;
  55.172 -+    
  55.173 -+    out = window; 
  55.174 -+    for (n = 0; n < len; n++) {
  55.175 -+	    *out++ = *data++;
  55.176 -+    }
  55.177 -+    bytes_out += (ulg)len;
  55.178 -+    window += (ulg)len;
  55.179 -+    return len;
  55.180 -+}
  55.181 -+
  55.182 -+#else
  55.183 - /* ===========================================================================
  55.184 -  * Fill the input buffer. This is called only when the buffer is empty
  55.185 -  * and at least one byte is really needed.
  55.186 -@@ -329,6 +389,7 @@ static void flush_window(void)
  55.187 - 	bytes_out += (ulg)outcnt;
  55.188 - 	outcnt = 0;
  55.189 - }
  55.190 -+#endif
  55.191 - 
  55.192 - static void error(char *x)
  55.193 - {
  55.194 -@@ -358,9 +419,11 @@ asmlinkage void decompress_kernel(void *
  55.195 - 	window = output;  	/* Output buffer (Normally at 1M) */
  55.196 - 	free_mem_ptr     = end;	/* Heap  */
  55.197 - 	free_mem_end_ptr = end + HEAP_SIZE;
  55.198 -+#ifdef CONFIG_KERNEL_GZIP
  55.199 - 	inbuf  = input_data;	/* Input buffer */
  55.200 - 	insize = input_len;
  55.201 - 	inptr  = 0;
  55.202 -+#endif
  55.203 - 
  55.204 - 	if ((u32)output & (CONFIG_PHYSICAL_ALIGN -1))
  55.205 - 		error("Destination address not CONFIG_PHYSICAL_ALIGN aligned");
  55.206 -@@ -371,9 +434,21 @@ asmlinkage void decompress_kernel(void *
  55.207 - 		error("Wrong destination address");
  55.208 - #endif
  55.209 - 
  55.210 -+#ifdef CONFIG_KERNEL_BZIP2
  55.211 -+	putstr("Bunzipping Linux... ");
  55.212 -+	bunzip2(input_data, input_len-4, NULL, compr_flush, NULL);
  55.213 -+#endif
  55.214 -+
  55.215 -+#ifdef CONFIG_KERNEL_LZMA
  55.216 -+	putstr("Unlzmaing Linux... ");
  55.217 -+	unlzma(input_data, input_len-4, NULL, compr_flush, NULL);
  55.218 -+#endif
  55.219 -+
  55.220 -+#ifdef CONFIG_KERNEL_GZIP
  55.221 - 	makecrc();
  55.222 - 	putstr("Uncompressing Linux... ");
  55.223 - 	gunzip();
  55.224 -+#endif
  55.225 - 	putstr("Ok, booting the kernel.\n");
  55.226 - 	return;
  55.227 - }
  55.228 -
  55.229 ---- linux-2.6.22.9/drivers/block/Kconfig
  55.230 -+++ linux-2.6.22.9/drivers/block/Kconfig
  55.231 -@@ -406,6 +406,30 @@
  55.232 - 	  setups function - apparently needed by the rd_load_image routine
  55.233 - 	  that supposes the filesystem in the image uses a 1024 blocksize.
  55.234 - 
  55.235 -+config RD_BZIP2
  55.236 -+	bool "Initial ramdisk compressed using bzip2"
  55.237 -+	default n
  55.238 -+	depends on BLK_DEV_INITRD=y
  55.239 -+	help
  55.240 -+	  Support loading of a bzip2 encoded initial ramdisk or cpio buffer
  55.241 -+	  If unsure, say N.
  55.242 -+
  55.243 -+config RD_LZMA
  55.244 -+	bool "Initial ramdisk compressed using lzma"
  55.245 -+	default n
  55.246 -+	depends on BLK_DEV_INITRD=y
  55.247 -+	help
  55.248 -+	  Support loading of a lzma encoded initial ramdisk or cpio buffer
  55.249 -+	  If unsure, say N.
  55.250 -+
  55.251 -+config RD_GZIP
  55.252 -+	bool "Initial ramdisk compressed using gzip"
  55.253 -+	default y
  55.254 -+	depends on BLK_DEV_INITRD=y
  55.255 -+	help
  55.256 -+	  Support loading of a gzip encoded initial ramdisk or cpio buffer.
  55.257 -+	  If unsure, say Y.
  55.258 -+
  55.259 - config CDROM_PKTCDVD
  55.260 - 	tristate "Packet writing on CD/DVD media"
  55.261 - 	depends on !UML
  55.262 -
  55.263 ---- linux-2.6.22.9/include/linux/decompress_bunzip2.h
  55.264 -+++ linux-2.6.22.9/include/linux/decompress_bunzip2.h
  55.265 -@@ -0,0 +1,16 @@
  55.266 -+#ifndef DECOMPRESS_BUNZIP2_H
  55.267 -+#define DECOMPRESS_BUNZIP2_H
  55.268 -+
  55.269 -+/* Other housekeeping constants */
  55.270 -+#define BZIP2_IOBUF_SIZE		4096
  55.271 -+
  55.272 -+#ifndef STATIC
  55.273 -+#define STATIC /**/
  55.274 -+#endif
  55.275 -+
  55.276 -+STATIC int bunzip2(char *inbuf, int len, 
  55.277 -+		   int(*fill)(void*,unsigned int),
  55.278 -+		   int(*writebb)(char*,unsigned int),
  55.279 -+		   int *pos);
  55.280 -+
  55.281 -+#endif
  55.282 -
  55.283 ---- linux-2.6.22.9/include/linux/decompress_generic.h
  55.284 -+++ linux-2.6.22.9/include/linux/decompress_generic.h
  55.285 -@@ -0,0 +1,28 @@
  55.286 -+#ifndef DECOMPRESS_GENERIC_H
  55.287 -+#define DECOMPRESS_GENERIC_H
  55.288 -+
  55.289 -+/* Minimal chunksize to be read.
  55.290 -+ * Bzip2 prefers at least 4096
  55.291 -+ * Lzma prefers 0x10000 */
  55.292 -+#define COMPR_IOBUF_SIZE	4096
  55.293 -+
  55.294 -+typedef int (*uncompress_fn) (char *inbuf, int len, 
  55.295 -+			      int(*fill)(char*,unsigned int),
  55.296 -+			      int(*writebb)(char*,unsigned int),
  55.297 -+			      int *posp);
  55.298 -+
  55.299 -+/* inbuf   - input buffer
  55.300 -+ * len     - len of pre-read data in inbuf
  55.301 -+ * fill    - function to fill inbuf if empty
  55.302 -+ * writebb - function to write out outbug
  55.303 -+ * posp    - if non-null, input position (number of bytes read) will be
  55.304 -+ *           returned here
  55.305 -+ *
  55.306 -+ * If len != 0, the inbuf is initialized (with as much data), and fill
  55.307 -+ * should not be called
  55.308 -+ * If len = 0, the inbuf is allocated, but empty. Its size is IOBUF_SIZE
  55.309 -+ * fill should be called (repeatedly...) to read data, at most IOBUF_SIZE
  55.310 -+ */
  55.311 -+ 
  55.312 -+
  55.313 -+#endif
  55.314 -
  55.315 ---- linux-2.6.22.9/include/linux/decompress_unlzma.h
  55.316 -+++ linux-2.6.22.9/include/linux/decompress_unlzma.h
  55.317 -@@ -0,0 +1,15 @@
  55.318 -+#ifndef DECOMPRESS_UNLZMA_H
  55.319 -+#define DECOMPRESS_UNLZMA_H
  55.320 -+
  55.321 -+#define LZMA_IOBUF_SIZE	0x10000
  55.322 -+
  55.323 -+#ifndef STATIC
  55.324 -+#define STATIC /**/
  55.325 -+#endif
  55.326 -+
  55.327 -+STATIC int unlzma(char *inbuf, int len, 
  55.328 -+		  int(*fill)(void*,unsigned int),
  55.329 -+		  int(*writebb)(char*,unsigned int),
  55.330 -+		  int *pos);
  55.331 -+
  55.332 -+#endif
  55.333 -
  55.334 ---- linux-2.6.22.9/init/do_mounts_rd.c
  55.335 -+++ linux-2.6.22.9/init/do_mounts_rd.c
  55.336 -@@ -8,6 +8,16 @@
  55.337 - #include <linux/initrd.h>
  55.338 - #include <linux/string.h>
  55.339 - 
  55.340 -+#ifdef CONFIG_RD_BZIP2
  55.341 -+#include <linux/decompress_bunzip2.h>
  55.342 -+#undef STATIC
  55.343 -+#endif
  55.344 -+
  55.345 -+#ifdef CONFIG_RD_LZMA
  55.346 -+#include <linux/decompress_unlzma.h>
  55.347 -+#undef STATIC
  55.348 -+#endif
  55.349 -+
  55.350 - #include "do_mounts.h"
  55.351 - 
  55.352 - #define BUILD_CRAMDISK
  55.353 -@@ -30,7 +40,15 @@ static int __init ramdisk_start_setup(ch
  55.354 - }
  55.355 - __setup("ramdisk_start=", ramdisk_start_setup);
  55.356 - 
  55.357 -+#ifdef CONFIG_RD_GZIP
  55.358 - static int __init crd_load(int in_fd, int out_fd);
  55.359 -+#endif
  55.360 -+#ifdef CONFIG_RD_BZIP2
  55.361 -+static int __init crd_load_bzip2(int in_fd, int out_fd);
  55.362 -+#endif
  55.363 -+#ifdef CONFIG_RD_LZMA
  55.364 -+static int __init crd_load_lzma(int in_fd, int out_fd);
  55.365 -+#endif
  55.366 - 
  55.367 - /*
  55.368 -  * This routine tries to find a RAM disk image to load, and returns the
  55.369 -@@ -46,7 +64,7 @@ static int __init crd_load(int in_fd, in
  55.370 -  * 	gzip
  55.371 -  */
  55.372 - static int __init 
  55.373 --identify_ramdisk_image(int fd, int start_block)
  55.374 -+identify_ramdisk_image(int fd, int start_block, int *ztype)
  55.375 - {
  55.376 - 	const int size = 512;
  55.377 - 	struct minix_super_block *minixsb;
  55.378 -@@ -72,6 +90,7 @@ identify_ramdisk_image(int fd, int start
  55.379 - 	sys_lseek(fd, start_block * BLOCK_SIZE, 0);
  55.380 - 	sys_read(fd, buf, size);
  55.381 - 
  55.382 -+#ifdef CONFIG_RD_GZIP
  55.383 - 	/*
  55.384 - 	 * If it matches the gzip magic numbers, return -1
  55.385 - 	 */
  55.386 -@@ -79,9 +98,40 @@ identify_ramdisk_image(int fd, int start
  55.387 - 		printk(KERN_NOTICE
  55.388 - 		       "RAMDISK: Compressed image found at block %d\n",
  55.389 - 		       start_block);
  55.390 -+		*ztype = 0;
  55.391 -+		nblocks = 0;
  55.392 -+		goto done;
  55.393 -+	}
  55.394 -+#endif
  55.395 -+
  55.396 -+#ifdef CONFIG_RD_BZIP2
  55.397 -+	/*
  55.398 -+	 * If it matches the bzip magic numbers, return -1
  55.399 -+	 */
  55.400 -+	if (buf[0] == 0x42 && (buf[1] == 0x5a)) {
  55.401 -+		printk(KERN_NOTICE
  55.402 -+		       "RAMDISK: Bzipped image found at block %d\n",
  55.403 -+		       start_block);
  55.404 -+		*ztype = 1;
  55.405 - 		nblocks = 0;
  55.406 - 		goto done;
  55.407 - 	}
  55.408 -+#endif
  55.409 -+
  55.410 -+#ifdef CONFIG_RD_LZMA
  55.411 -+	/*
  55.412 -+	 * If it matches the bzip magic numbers, return -1
  55.413 -+	 */
  55.414 -+	if (buf[0] == 0x5d && (buf[1] == 0x00)) {
  55.415 -+		printk(KERN_NOTICE
  55.416 -+		       "RAMDISK: Lzma image found at block %d\n",
  55.417 -+		       start_block);
  55.418 -+		*ztype = 2;
  55.419 -+		nblocks = 0;
  55.420 -+		goto done;
  55.421 -+	}
  55.422 -+#endif
  55.423 -+
  55.424 - 
  55.425 - 	/* romfs is at block zero too */
  55.426 - 	if (romfsb->word0 == ROMSB_WORD0 &&
  55.427 -@@ -145,6 +195,7 @@ int __init rd_load_image(char *from)
  55.428 - 	int nblocks, i, disk;
  55.429 - 	char *buf = NULL;
  55.430 - 	unsigned short rotate = 0;
  55.431 -+	int ztype=-1;
  55.432 - #if !defined(CONFIG_S390) && !defined(CONFIG_PPC_ISERIES)
  55.433 - 	char rotator[4] = { '|' , '/' , '-' , '\\' };
  55.434 - #endif
  55.435 -@@ -157,14 +208,38 @@ int __init rd_load_image(char *from)
  55.436 - 	if (in_fd < 0)
  55.437 - 		goto noclose_input;
  55.438 - 
  55.439 --	nblocks = identify_ramdisk_image(in_fd, rd_image_start);
  55.440 -+	nblocks = identify_ramdisk_image(in_fd, rd_image_start, &ztype);
  55.441 - 	if (nblocks < 0)
  55.442 - 		goto done;
  55.443 - 
  55.444 - 	if (nblocks == 0) {
  55.445 - #ifdef BUILD_CRAMDISK
  55.446 --		if (crd_load(in_fd, out_fd) == 0)
  55.447 --			goto successful_load;
  55.448 -+		switch(ztype) {
  55.449 -+
  55.450 -+#ifdef CONFIG_RD_GZIP
  55.451 -+			case 0:
  55.452 -+				if (crd_load(in_fd, out_fd) == 0)
  55.453 -+					goto successful_load;
  55.454 -+				break;
  55.455 -+#endif
  55.456 -+
  55.457 -+#ifdef CONFIG_RD_BZIP2
  55.458 -+			case 1:
  55.459 -+				if (crd_load_bzip2(in_fd, out_fd) == 0)
  55.460 -+					goto successful_load;
  55.461 -+				break;
  55.462 -+#endif
  55.463 -+
  55.464 -+#ifdef CONFIG_RD_LZMA
  55.465 -+			case 2:
  55.466 -+				if (crd_load_lzma(in_fd, out_fd) == 0)
  55.467 -+					goto successful_load;
  55.468 -+				break;
  55.469 -+#endif
  55.470 -+
  55.471 -+			default:
  55.472 -+				break;
  55.473 -+		}
  55.474 - #else
  55.475 - 		printk(KERN_NOTICE
  55.476 - 		       "RAMDISK: Kernel does not support compressed "
  55.477 -@@ -269,6 +344,7 @@ int __init rd_load_disk(int n)
  55.478 - 
  55.479 - #ifdef BUILD_CRAMDISK
  55.480 - 
  55.481 -+#ifdef CONFIG_RD_GZIP
  55.482 - /*
  55.483 -  * gzip declarations
  55.484 -  */
  55.485 -@@ -296,8 +372,11 @@ static unsigned outcnt;  /* bytes in out
  55.486 - static int exit_code;
  55.487 - static int unzip_error;
  55.488 - static long bytes_out;
  55.489 -+#endif
  55.490 -+
  55.491 - static int crd_infd, crd_outfd;
  55.492 - 
  55.493 -+#ifdef CONFIG_RD_GZIP
  55.494 - #define get_byte()  (inptr < insize ? inbuf[inptr++] : fill_inbuf())
  55.495 - 		
  55.496 - /* Diagnostic functions (stubbed out) */
  55.497 -@@ -359,7 +438,22 @@ static int __init fill_inbuf(void)
  55.498 - 
  55.499 - 	return inbuf[0];
  55.500 - }
  55.501 -+#endif
  55.502 - 
  55.503 -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  55.504 -+static int __init compr_fill(void *buf, unsigned int len)
  55.505 -+{
  55.506 -+	int r = sys_read(crd_infd, buf, len);
  55.507 -+	if(r < 0) {
  55.508 -+		printk(KERN_ERR "RAMDISK: error while reading compressed data");
  55.509 -+	} else if(r == 0) {
  55.510 -+		printk(KERN_ERR "RAMDISK: EOF while reading compressed data");
  55.511 -+	}
  55.512 -+	return r;
  55.513 -+}
  55.514 -+#endif
  55.515 -+
  55.516 -+#ifdef CONFIG_RD_GZIP
  55.517 - /* ===========================================================================
  55.518 -  * Write the output window window[0..outcnt-1] and update crc and bytes_out.
  55.519 -  * (Used for the decompressed data only.)
  55.520 -@@ -385,7 +479,24 @@ static void __init flush_window(void)
  55.521 -     bytes_out += (ulg)outcnt;
  55.522 -     outcnt = 0;
  55.523 - }
  55.524 -+#endif
  55.525 - 
  55.526 -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  55.527 -+static int __init compr_flush(void *window, unsigned int outcnt) {
  55.528 -+	static int progressDots=0;
  55.529 -+	int written = sys_write(crd_outfd, window, outcnt);
  55.530 -+	if (written != outcnt) {
  55.531 -+		printk(KERN_ERR "RAMDISK: incomplete write (%d != %d)\n",
  55.532 -+		       written, outcnt);
  55.533 -+	}
  55.534 -+	progressDots = (progressDots+1)%10;
  55.535 -+	if(!progressDots)
  55.536 -+		printk(".");
  55.537 -+	return outcnt;
  55.538 -+}
  55.539 -+#endif
  55.540 -+
  55.541 -+#ifdef CONFIG_RD_GZIP
  55.542 - static void __init error(char *x)
  55.543 - {
  55.544 - 	printk(KERN_ERR "%s\n", x);
  55.545 -@@ -425,5 +536,43 @@ static int __init crd_load(int in_fd, in
  55.546 - 	kfree(window);
  55.547 - 	return result;
  55.548 - }
  55.549 -+#endif
  55.550 -+
  55.551 -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  55.552 -+static int __init crd_load_compr(int in_fd, int out_fd, int size,
  55.553 -+				 int (*deco)(char *,int,
  55.554 -+					     int(*fill)(void*,unsigned int),
  55.555 -+					     int(*flush)(void*,unsigned int),
  55.556 -+					     int *))
  55.557 -+{
  55.558 -+	int result;
  55.559 -+	char *inbuf = kmalloc(size, GFP_KERNEL);
  55.560 -+	crd_infd = in_fd;
  55.561 -+	crd_outfd = out_fd;
  55.562 -+	if (inbuf == 0) {
  55.563 -+		printk(KERN_ERR "RAMDISK: Couldn't allocate decompression buffer\n");
  55.564 -+		return -1;
  55.565 -+	}
  55.566 -+	result=deco(inbuf, 0, compr_fill, compr_flush, NULL);
  55.567 -+	kfree(inbuf);
  55.568 -+	printk("\n");
  55.569 -+	return result;
  55.570 -+}
  55.571 -+#endif
  55.572 -+
  55.573 -+#ifdef CONFIG_RD_BZIP2
  55.574 -+static int __init crd_load_bzip2(int in_fd, int out_fd)
  55.575 -+{
  55.576 -+	return crd_load_compr(in_fd, out_fd, BZIP2_IOBUF_SIZE, bunzip2);
  55.577 -+}
  55.578 -+#endif
  55.579 -+
  55.580 -+#ifdef CONFIG_RD_LZMA
  55.581 -+static int __init crd_load_lzma(int in_fd, int out_fd)
  55.582 -+{
  55.583 -+	return crd_load_compr(in_fd, out_fd, LZMA_IOBUF_SIZE, unlzma);
  55.584 -+}
  55.585 -+
  55.586 -+#endif
  55.587 - 
  55.588 - #endif  /* BUILD_CRAMDISK */
  55.589 -
  55.590 ---- linux-2.6.22.9/init/initramfs.c
  55.591 -+++ linux-2.6.22.9/init/initramfs.c
  55.592 -@@ -7,6 +7,15 @@
  55.593 - #include <linux/string.h>
  55.594 - #include <linux/syscalls.h>
  55.595 - 
  55.596 -+/* We need to enable RD_GZIP unconditionnally, as the built-in
  55.597 -+ * initramfs is gzip-compressed, alas!
  55.598 -+ * We can only wonder why, though, as the whole kernel (which contains
  55.599 -+ * built-in initramfs) is gzip (or bzip) compressed anyways afterwards...
  55.600 -+ */
  55.601 -+#ifndef CONFIG_RD_GZIP
  55.602 -+#define CONFIG_RD_GZIP
  55.603 -+#endif
  55.604 -+
  55.605 - static __initdata char *message;
  55.606 - static void __init error(char *x)
  55.607 - {
  55.608 -@@ -347,11 +356,13 @@ static int __init write_buffer(char *buf
  55.609 - 	return len - count;
  55.610 - }
  55.611 - 
  55.612 --static void __init flush_buffer(char *buf, unsigned len)
  55.613 -+
  55.614 -+static int __init flush_buffer(char *buf, unsigned len)
  55.615 - {
  55.616 - 	int written;
  55.617 -+	int origLen = len;
  55.618 - 	if (message)
  55.619 --		return;
  55.620 -+		return -1;
  55.621 - 	while ((written = write_buffer(buf, len)) < len && !message) {
  55.622 - 		char c = buf[written];
  55.623 - 		if (c == '0') {
  55.624 -@@ -365,8 +376,24 @@ static void __init flush_buffer(char *bu
  55.625 - 		} else
  55.626 - 			error("junk in compressed archive");
  55.627 - 	}
  55.628 -+	return origLen;
  55.629 - }
  55.630 - 
  55.631 -+#ifdef CONFIG_RD_BZIP2
  55.632 -+#include <linux/decompress_bunzip2.h>
  55.633 -+#undef STATIC
  55.634 -+
  55.635 -+#endif
  55.636 -+
  55.637 -+#ifdef CONFIG_RD_LZMA
  55.638 -+#include <linux/decompress_unlzma.h>
  55.639 -+#undef STATIC
  55.640 -+
  55.641 -+#endif
  55.642 -+
  55.643 -+static unsigned inptr;   /* index of next byte to be processed in inbuf */
  55.644 -+
  55.645 -+#ifdef CONFIG_RD_GZIP
  55.646 - /*
  55.647 -  * gzip declarations
  55.648 -  */
  55.649 -@@ -388,7 +415,6 @@ static uch *inbuf;
  55.650 - static uch *window;
  55.651 - 
  55.652 - static unsigned insize;  /* valid bytes in inbuf */
  55.653 --static unsigned inptr;   /* index of next byte to be processed in inbuf */
  55.654 - static unsigned outcnt;  /* bytes in output buffer */
  55.655 - static long bytes_out;
  55.656 - 
  55.657 -@@ -440,6 +466,7 @@ static void __init flush_window(void)
  55.658 - 	bytes_out += (ulg)outcnt;
  55.659 - 	outcnt = 0;
  55.660 - }
  55.661 -+#endif
  55.662 - 
  55.663 - static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
  55.664 - {
  55.665 -@@ -448,9 +475,11 @@ static char * __init unpack_to_rootfs(ch
  55.666 - 	header_buf = malloc(110);
  55.667 - 	symlink_buf = malloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1);
  55.668 - 	name_buf = malloc(N_ALIGN(PATH_MAX));
  55.669 -+#ifdef CONFIG_RD_GZIP
  55.670 - 	window = malloc(WSIZE);
  55.671 - 	if (!window || !header_buf || !symlink_buf || !name_buf)
  55.672 - 		panic("can't allocate buffers");
  55.673 -+#endif
  55.674 - 	state = Start;
  55.675 - 	this_header = 0;
  55.676 - 	message = NULL;
  55.677 -@@ -470,6 +499,7 @@ static char * __init unpack_to_rootfs(ch
  55.678 - 			continue;
  55.679 - 		}
  55.680 - 		this_header = 0;
  55.681 -+#ifdef CONFIG_RD_GZIP
  55.682 - 		insize = len;
  55.683 - 		inbuf = buf;
  55.684 - 		inptr = 0;
  55.685 -@@ -477,14 +507,38 @@ static char * __init unpack_to_rootfs(ch
  55.686 - 		bytes_out = 0;
  55.687 - 		crc = (ulg)0xffffffffL; /* shift register contents */
  55.688 - 		makecrc();
  55.689 --		gunzip();
  55.690 -+		if(!gunzip() && message == NULL)
  55.691 -+			goto ok;
  55.692 -+#endif
  55.693 -+
  55.694 -+#ifdef CONFIG_RD_BZIP2
  55.695 -+		message = NULL; /* Zero out message, or else cpio will
  55.696 -+				   think an error has already occured */
  55.697 -+		if(!bunzip2(buf, len, NULL, flush_buffer, &inptr) < 0 &&
  55.698 -+		   message == NULL) {
  55.699 -+			goto ok;
  55.700 -+		}
  55.701 -+#endif
  55.702 -+
  55.703 -+#ifdef CONFIG_RD_LZMA
  55.704 -+		message = NULL; /* Zero out message, or else cpio will
  55.705 -+				   think an error has already occured */
  55.706 -+		if(!unlzma(buf, len, NULL, flush_buffer, &inptr) < 0 &&
  55.707 -+		   message == NULL) {
  55.708 -+			goto ok;
  55.709 -+		}
  55.710 -+#endif
  55.711 -+    ok:
  55.712 -+
  55.713 - 		if (state != Reset)
  55.714 --			error("junk in gzipped archive");
  55.715 -+			error("junk in compressed archive");
  55.716 - 		this_header = saved_offset + inptr;
  55.717 - 		buf += inptr;
  55.718 - 		len -= inptr;
  55.719 - 	}
  55.720 -+#ifdef CONFIG_RD_GZIP
  55.721 - 	free(window);
  55.722 -+#endif
  55.723 - 	free(name_buf);
  55.724 - 	free(symlink_buf);
  55.725 - 	free(header_buf);
  55.726 -
  55.727 ---- linux-2.6.22.9/init/Kconfig
  55.728 -+++ linux-2.6.22.9/init/Kconfig
  55.729 -@@ -95,6 +95,56 @@
  55.730 - 
  55.731 - 	  which is done within the script "scripts/setlocalversion".)
  55.732 - 
  55.733 -+choice
  55.734 -+        prompt "Kernel compression mode"
  55.735 -+        default KERNEL_GZIP
  55.736 -+        help
  55.737 -+	  The linux kernel is a kind of self-extracting executable.
  55.738 -+	  Several compression algorithms are available, which differ
  55.739 -+	  in efficiency, compression and decompression speed.
  55.740 -+	  Compression speed is only relevant when building a kernel.
  55.741 -+	  Decompression speed is relevant at each boot.
  55.742 -+
  55.743 -+	  If you have any problems with bzip2 or lzma compressed
  55.744 -+	  kernels, mail me (Alain Knaff) <alain@knaff.lu>. (An older
  55.745 -+	  version of this functionality (bzip2 only), for 2.4, was
  55.746 -+	  supplied by Christian Ludwig)
  55.747 -+
  55.748 -+	  High compression options are mostly useful for users, who
  55.749 -+	  are low on disk space (embedded systems), but for whom ram
  55.750 -+	  size matters less.
  55.751 -+
  55.752 -+	  If in doubt, select 'gzip'
  55.753 -+
  55.754 -+config KERNEL_GZIP
  55.755 -+       bool "Gzip"
  55.756 -+       help
  55.757 -+         The old and tries gzip compression. Its compression ratio is
  55.758 -+	 the poorest among the 3 choices; however its speed (both
  55.759 -+	 compression and decompression) is the fastest.
  55.760 -+
  55.761 -+config KERNEL_BZIP2
  55.762 -+	bool "Bzip2"
  55.763 -+	help
  55.764 -+	  Its compression ratio and speed is intermediate.
  55.765 -+	  Decompression speed is slowest among the 3.
  55.766 -+	  The kernel size is about 10 per cent smaller with bzip2,
  55.767 -+	  in comparison to gzip.
  55.768 -+	  Bzip2 uses a large amount of memory. For modern kernels
  55.769 -+	  you will need at least 8MB RAM or more for booting.
  55.770 -+
  55.771 -+config KERNEL_LZMA
  55.772 -+       bool "LZMA"
  55.773 -+       help
  55.774 -+         The most recent compression algorithm.
  55.775 -+	 Its ratio is best, decompression speed is between the other
  55.776 -+	 2. Compression is slowest.
  55.777 -+	 The kernel size is about 33 per cent smaller with lzma,
  55.778 -+	 in comparison to gzip.
  55.779 -+
  55.780 -+endchoice
  55.781 -+
  55.782 -+
  55.783 - config SWAP
  55.784 - 	bool "Support for paging of anonymous memory (swap)"
  55.785 - 	depends on MMU && BLOCK
  55.786 -
  55.787 ---- linux-2.6.22.9/lib/decompress_bunzip2.c
  55.788 -+++ linux-2.6.22.9/lib/decompress_bunzip2.c
  55.789 -@@ -0,0 +1,645 @@
  55.790 -+/* vi: set sw=4 ts=4: */
  55.791 -+/*	Small bzip2 deflate implementation, by Rob Landley (rob@landley.net).
  55.792 -+
  55.793 -+	Based on bzip2 decompression code by Julian R Seward (jseward@acm.org),
  55.794 -+	which also acknowledges contributions by Mike Burrows, David Wheeler,
  55.795 -+	Peter Fenwick, Alistair Moffat, Radford Neal, Ian H. Witten,
  55.796 -+	Robert Sedgewick, and Jon L. Bentley.
  55.797 -+
  55.798 -+	This code is licensed under the LGPLv2:
  55.799 -+		LGPL (http://www.gnu.org/copyleft/lgpl.html
  55.800 -+*/
  55.801 -+
  55.802 -+/*
  55.803 -+	Size and speed optimizations by Manuel Novoa III  (mjn3@codepoet.org).
  55.804 -+
  55.805 -+	More efficient reading of Huffman codes, a streamlined read_bunzip()
  55.806 -+	function, and various other tweaks.  In (limited) tests, approximately
  55.807 -+	20% faster than bzcat on x86 and about 10% faster on arm.
  55.808 -+
  55.809 -+	Note that about 2/3 of the time is spent in read_unzip() reversing
  55.810 -+	the Burrows-Wheeler transformation.  Much of that time is delay
  55.811 -+	resulting from cache misses.
  55.812 -+
  55.813 -+	I would ask that anyone benefiting from this work, especially those
  55.814 -+	using it in commercial products, consider making a donation to my local
  55.815 -+	non-profit hospice organization in the name of the woman I loved, who
  55.816 -+	passed away Feb. 12, 2003.
  55.817 -+
  55.818 -+		In memory of Toni W. Hagan
  55.819 -+
  55.820 -+		Hospice of Acadiana, Inc.
  55.821 -+		2600 Johnston St., Suite 200
  55.822 -+		Lafayette, LA 70503-3240
  55.823 -+
  55.824 -+		Phone (337) 232-1234 or 1-800-738-2226
  55.825 -+		Fax   (337) 232-1297
  55.826 -+
  55.827 -+		http://www.hospiceacadiana.com/
  55.828 -+
  55.829 -+	Manuel
  55.830 -+ */
  55.831 -+
  55.832 -+/*
  55.833 -+	Made it fit for running in Linux Kernel by Alain Knaff (alain@knaff.lu)
  55.834 -+*/
  55.835 -+
  55.836 -+
  55.837 -+#ifndef STATIC
  55.838 -+
  55.839 -+#include <linux/kernel.h>
  55.840 -+#include <linux/fs.h>
  55.841 -+#include <linux/string.h>
  55.842 -+
  55.843 -+#ifdef TEST
  55.844 -+#include "test.h"
  55.845 -+#else
  55.846 -+#include <linux/vmalloc.h>
  55.847 -+#endif
  55.848 -+
  55.849 -+static void __init *large_malloc(size_t size)
  55.850 -+{
  55.851 -+	return vmalloc(size);
  55.852 -+}
  55.853 -+
  55.854 -+static void __init large_free(void *where)
  55.855 -+{
  55.856 -+	vfree(where);
  55.857 -+}
  55.858 -+
  55.859 -+#ifndef TEST
  55.860 -+static void __init *malloc(size_t size)
  55.861 -+{
  55.862 -+	return kmalloc(size, GFP_KERNEL);
  55.863 -+}
  55.864 -+
  55.865 -+static void __init free(void *where)
  55.866 -+{
  55.867 -+	kfree(where);
  55.868 -+}
  55.869 -+
  55.870 -+static void __init error(char *x)
  55.871 -+{
  55.872 -+	printk(KERN_ERR "%s\n", x);
  55.873 -+}
  55.874 -+#endif
  55.875 -+
  55.876 -+#define STATIC /**/
  55.877 -+
  55.878 -+#endif
  55.879 -+
  55.880 -+#include <linux/decompress_bunzip2.h>
  55.881 -+
  55.882 -+
  55.883 -+/* Constants for Huffman coding */
  55.884 -+#define MAX_GROUPS			6
  55.885 -+#define GROUP_SIZE   		50		/* 64 would have been more efficient */
  55.886 -+#define MAX_HUFCODE_BITS 	20		/* Longest Huffman code allowed */
  55.887 -+#define MAX_SYMBOLS 		258		/* 256 literals + RUNA + RUNB */
  55.888 -+#define SYMBOL_RUNA			0
  55.889 -+#define SYMBOL_RUNB			1
  55.890 -+
  55.891 -+/* Status return values */
  55.892 -+#define RETVAL_OK						0
  55.893 -+#define RETVAL_LAST_BLOCK				(-1)
  55.894 -+#define RETVAL_NOT_BZIP_DATA			(-2)
  55.895 -+#define RETVAL_UNEXPECTED_INPUT_EOF		(-3)
  55.896 -+#define RETVAL_UNEXPECTED_OUTPUT_EOF	(-4)
  55.897 -+#define RETVAL_DATA_ERROR				(-5)
  55.898 -+#define RETVAL_OUT_OF_MEMORY			(-6)
  55.899 -+#define RETVAL_OBSOLETE_INPUT			(-7)
  55.900 -+
  55.901 -+
  55.902 -+/* This is what we know about each Huffman coding group */
  55.903 -+struct group_data {
  55.904 -+	/* We have an extra slot at the end of limit[] for a sentinal value. */
  55.905 -+	int limit[MAX_HUFCODE_BITS+1],base[MAX_HUFCODE_BITS],permute[MAX_SYMBOLS];
  55.906 -+	int minLen, maxLen;
  55.907 -+};
  55.908 -+
  55.909 -+/* Structure holding all the housekeeping data, including IO buffers and
  55.910 -+   memory that persists between calls to bunzip */
  55.911 -+typedef struct {
  55.912 -+	/* State for interrupting output loop */
  55.913 -+	int writeCopies,writePos,writeRunCountdown,writeCount,writeCurrent;
  55.914 -+	/* I/O tracking data (file handles, buffers, positions, etc.) */
  55.915 -+	int (*fill)(void*,unsigned int);
  55.916 -+	int inbufCount,inbufPos /*,outbufPos*/;
  55.917 -+	unsigned char *inbuf /*,*outbuf*/;
  55.918 -+	unsigned int inbufBitCount, inbufBits;
  55.919 -+	/* The CRC values stored in the block header and calculated from the data */
  55.920 -+	unsigned int crc32Table[256],headerCRC, totalCRC, writeCRC;
  55.921 -+	/* Intermediate buffer and its size (in bytes) */
  55.922 -+	unsigned int *dbuf, dbufSize;
  55.923 -+	/* These things are a bit too big to go on the stack */
  55.924 -+	unsigned char selectors[32768];			/* nSelectors=15 bits */
  55.925 -+	struct group_data groups[MAX_GROUPS];	/* Huffman coding tables */
  55.926 -+	int io_error;			/* non-zero if we have IO error */
  55.927 -+} bunzip_data;
  55.928 -+	
  55.929 -+
  55.930 -+/* Return the next nnn bits of input.  All reads from the compressed input
  55.931 -+   are done through this function.  All reads are big endian */
  55.932 -+static unsigned int get_bits(bunzip_data *bd, char bits_wanted)
  55.933 -+{
  55.934 -+	unsigned int bits=0;
  55.935 -+
  55.936 -+	/* If we need to get more data from the byte buffer, do so.  (Loop getting
  55.937 -+	   one byte at a time to enforce endianness and avoid unaligned access.) */
  55.938 -+	while (bd->inbufBitCount<bits_wanted) {
  55.939 -+		/* If we need to read more data from file into byte buffer, do so */
  55.940 -+		if(bd->inbufPos==bd->inbufCount) {
  55.941 -+			if(bd->io_error)
  55.942 -+				return 0;
  55.943 -+			if((bd->inbufCount = bd->fill(bd->inbuf, BZIP2_IOBUF_SIZE)) <= 0) {
  55.944 -+				bd->io_error=RETVAL_UNEXPECTED_INPUT_EOF;
  55.945 -+				return 0;
  55.946 -+			}
  55.947 -+			bd->inbufPos=0;
  55.948 -+		}
  55.949 -+		/* Avoid 32-bit overflow (dump bit buffer to top of output) */
  55.950 -+		if(bd->inbufBitCount>=24) {
  55.951 -+			bits=bd->inbufBits&((1<<bd->inbufBitCount)-1);
  55.952 -+			bits_wanted-=bd->inbufBitCount;
  55.953 -+			bits<<=bits_wanted;
  55.954 -+			bd->inbufBitCount=0;
  55.955 -+		}
  55.956 -+		/* Grab next 8 bits of input from buffer. */
  55.957 -+		bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++];
  55.958 -+		bd->inbufBitCount+=8;
  55.959 -+	}
  55.960 -+	/* Calculate result */
  55.961 -+	bd->inbufBitCount-=bits_wanted;
  55.962 -+	bits|=(bd->inbufBits>>bd->inbufBitCount)&((1<<bits_wanted)-1);
  55.963 -+
  55.964 -+	return bits;
  55.965 -+}
  55.966 -+
  55.967 -+/* Unpacks the next block and sets up for the inverse burrows-wheeler step. */
  55.968 -+
  55.969 -+static int get_next_block(bunzip_data *bd)
  55.970 -+{
  55.971 -+	struct group_data *hufGroup=NULL;
  55.972 -+	int *base=NULL;
  55.973 -+	int *limit=NULL;
  55.974 -+	int dbufCount,nextSym,dbufSize,groupCount,selector,
  55.975 -+		i,j,k,t,runPos,symCount,symTotal,nSelectors,byteCount[256];
  55.976 -+	unsigned char uc, symToByte[256], mtfSymbol[256], *selectors;
  55.977 -+	unsigned int *dbuf,origPtr;
  55.978 -+
  55.979 -+	dbuf=bd->dbuf;
  55.980 -+	dbufSize=bd->dbufSize;
  55.981 -+	selectors=bd->selectors;
  55.982 -+
  55.983 -+	/* Read in header signature and CRC, then validate signature.
  55.984 -+	   (last block signature means CRC is for whole file, return now) */
  55.985 -+	i = get_bits(bd,24);
  55.986 -+	j = get_bits(bd,24);
  55.987 -+	bd->headerCRC=get_bits(bd,32);
  55.988 -+	if ((i == 0x177245) && (j == 0x385090)) return RETVAL_LAST_BLOCK;
  55.989 -+	if ((i != 0x314159) || (j != 0x265359)) return RETVAL_NOT_BZIP_DATA;
  55.990 -+	/* We can add support for blockRandomised if anybody complains.  There was
  55.991 -+	   some code for this in busybox 1.0.0-pre3, but nobody ever noticed that
  55.992 -+	   it didn't actually work. */
  55.993 -+	if(get_bits(bd,1)) return RETVAL_OBSOLETE_INPUT;
  55.994 -+	if((origPtr=get_bits(bd,24)) > dbufSize) return RETVAL_DATA_ERROR;
  55.995 -+	/* mapping table: if some byte values are never used (encoding things
  55.996 -+	   like ascii text), the compression code removes the gaps to have fewer
  55.997 -+	   symbols to deal with, and writes a sparse bitfield indicating which
  55.998 -+	   values were present.  We make a translation table to convert the symbols
  55.999 -+	   back to the corresponding bytes. */
 55.1000 -+	t=get_bits(bd, 16);
 55.1001 -+	symTotal=0;
 55.1002 -+	for (i=0;i<16;i++) {
 55.1003 -+		if(t&(1<<(15-i))) {
 55.1004 -+			k=get_bits(bd,16);
 55.1005 -+			for(j=0;j<16;j++)
 55.1006 -+				if(k&(1<<(15-j))) symToByte[symTotal++]=(16*i)+j;
 55.1007 -+		}
 55.1008 -+	}
 55.1009 -+	/* How many different Huffman coding groups does this block use? */
 55.1010 -+	groupCount=get_bits(bd,3);
 55.1011 -+	if (groupCount<2 || groupCount>MAX_GROUPS) return RETVAL_DATA_ERROR;
 55.1012 -+	/* nSelectors: Every GROUP_SIZE many symbols we select a new Huffman coding
 55.1013 -+	   group.  Read in the group selector list, which is stored as MTF encoded
 55.1014 -+	   bit runs.  (MTF=Move To Front, as each value is used it's moved to the
 55.1015 -+	   start of the list.) */
 55.1016 -+	if(!(nSelectors=get_bits(bd, 15))) return RETVAL_DATA_ERROR;
 55.1017 -+	for(i=0; i<groupCount; i++) mtfSymbol[i] = i;
 55.1018 -+	for(i=0; i<nSelectors; i++) {
 55.1019 -+		/* Get next value */
 55.1020 -+		for(j=0;get_bits(bd,1);j++) if (j>=groupCount) return RETVAL_DATA_ERROR;
 55.1021 -+		/* Decode MTF to get the next selector */
 55.1022 -+		uc = mtfSymbol[j];
 55.1023 -+		for(;j;j--) mtfSymbol[j] = mtfSymbol[j-1];
 55.1024 -+		mtfSymbol[0]=selectors[i]=uc;
 55.1025 -+	}
 55.1026 -+	/* Read the Huffman coding tables for each group, which code for symTotal
 55.1027 -+	   literal symbols, plus two run symbols (RUNA, RUNB) */
 55.1028 -+	symCount=symTotal+2;
 55.1029 -+	for (j=0; j<groupCount; j++) {
 55.1030 -+		unsigned char length[MAX_SYMBOLS],temp[MAX_HUFCODE_BITS+1];
 55.1031 -+		int	minLen,	maxLen, pp;
 55.1032 -+		/* Read Huffman code lengths for each symbol.  They're stored in
 55.1033 -+		   a way similar to mtf; record a starting value for the first symbol,
 55.1034 -+		   and an offset from the previous value for everys symbol after that.
 55.1035 -+		   (Subtracting 1 before the loop and then adding it back at the end is
 55.1036 -+		   an optimization that makes the test inside the loop simpler: symbol
 55.1037 -+		   length 0 becomes negative, so an unsigned inequality catches it.) */
 55.1038 -+		t=get_bits(bd, 5)-1;
 55.1039 -+		for (i = 0; i < symCount; i++) {
 55.1040 -+			for(;;) {
 55.1041 -+				if (((unsigned)t) > (MAX_HUFCODE_BITS-1))
 55.1042 -+					return RETVAL_DATA_ERROR;
 55.1043 -+				/* If first bit is 0, stop.  Else second bit indicates whether
 55.1044 -+				   to increment or decrement the value.  Optimization: grab 2
 55.1045 -+				   bits and unget the second if the first was 0. */
 55.1046 -+				k = get_bits(bd,2);
 55.1047 -+				if (k < 2) {
 55.1048 -+					bd->inbufBitCount++;
 55.1049 -+					break;
 55.1050 -+				}
 55.1051 -+				/* Add one if second bit 1, else subtract 1.  Avoids if/else */
 55.1052 -+				t+=(((k+1)&2)-1);
 55.1053 -+			}
 55.1054 -+			/* Correct for the initial -1, to get the final symbol length */
 55.1055 -+			length[i]=t+1;
 55.1056 -+		}
 55.1057 -+		/* Find largest and smallest lengths in this group */
 55.1058 -+		minLen=maxLen=length[0];
 55.1059 -+		for(i = 1; i < symCount; i++) {
 55.1060 -+			if(length[i] > maxLen) maxLen = length[i];
 55.1061 -+			else if(length[i] < minLen) minLen = length[i];
 55.1062 -+		}
 55.1063 -+		/* Calculate permute[], base[], and limit[] tables from length[].
 55.1064 -+		 *
 55.1065 -+		 * permute[] is the lookup table for converting Huffman coded symbols
 55.1066 -+		 * into decoded symbols.  base[] is the amount to subtract from the
 55.1067 -+		 * value of a Huffman symbol of a given length when using permute[].
 55.1068 -+		 *
 55.1069 -+		 * limit[] indicates the largest numerical value a symbol with a given
 55.1070 -+		 * number of bits can have.  This is how the Huffman codes can vary in
 55.1071 -+		 * length: each code with a value>limit[length] needs another bit.
 55.1072 -+		 */
 55.1073 -+		hufGroup=bd->groups+j;
 55.1074 -+		hufGroup->minLen = minLen;
 55.1075 -+		hufGroup->maxLen = maxLen;
 55.1076 -+		/* Note that minLen can't be smaller than 1, so we adjust the base
 55.1077 -+		   and limit array pointers so we're not always wasting the first
 55.1078 -+		   entry.  We do this again when using them (during symbol decoding).*/
 55.1079 -+		base=hufGroup->base-1;
 55.1080 -+		limit=hufGroup->limit-1;
 55.1081 -+		/* Calculate permute[].  Concurently, initialize temp[] and limit[]. */
 55.1082 -+		pp=0;
 55.1083 -+		for(i=minLen;i<=maxLen;i++) {
 55.1084 -+			temp[i]=limit[i]=0;
 55.1085 -+			for(t=0;t<symCount;t++)
 55.1086 -+				if(length[t]==i) hufGroup->permute[pp++] = t;
 55.1087 -+		}
 55.1088 -+		/* Count symbols coded for at each bit length */
 55.1089 -+		for (i=0;i<symCount;i++) temp[length[i]]++;
 55.1090 -+		/* Calculate limit[] (the largest symbol-coding value at each bit
 55.1091 -+		 * length, which is (previous limit<<1)+symbols at this level), and
 55.1092 -+		 * base[] (number of symbols to ignore at each bit length, which is
 55.1093 -+		 * limit minus the cumulative count of symbols coded for already). */
 55.1094 -+		pp=t=0;
 55.1095 -+		for (i=minLen; i<maxLen; i++) {
 55.1096 -+			pp+=temp[i];
 55.1097 -+			/* We read the largest possible symbol size and then unget bits
 55.1098 -+			   after determining how many we need, and those extra bits could
 55.1099 -+			   be set to anything.  (They're noise from future symbols.)  At
 55.1100 -+			   each level we're really only interested in the first few bits,
 55.1101 -+			   so here we set all the trailing to-be-ignored bits to 1 so they
 55.1102 -+			   don't affect the value>limit[length] comparison. */
 55.1103 -+			limit[i]= (pp << (maxLen - i)) - 1;
 55.1104 -+			pp<<=1;
 55.1105 -+			base[i+1]=pp-(t+=temp[i]);
 55.1106 -+		}
 55.1107 -+		limit[maxLen+1] = INT_MAX; /* Sentinal value for reading next sym. */
 55.1108 -+		limit[maxLen]=pp+temp[maxLen]-1;
 55.1109 -+		base[minLen]=0;
 55.1110 -+	}
 55.1111 -+	/* We've finished reading and digesting the block header.  Now read this
 55.1112 -+	   block's Huffman coded symbols from the file and undo the Huffman coding
 55.1113 -+	   and run length encoding, saving the result into dbuf[dbufCount++]=uc */
 55.1114 -+
 55.1115 -+	/* Initialize symbol occurrence counters and symbol Move To Front table */
 55.1116 -+	for(i=0;i<256;i++) {
 55.1117 -+		byteCount[i] = 0;
 55.1118 -+		mtfSymbol[i]=(unsigned char)i;
 55.1119 -+	}
 55.1120 -+	/* Loop through compressed symbols. */
 55.1121 -+	runPos=dbufCount=symCount=selector=0;
 55.1122 -+	for(;;) {
 55.1123 -+		/* Determine which Huffman coding group to use. */
 55.1124 -+		if(!(symCount--)) {
 55.1125 -+			symCount=GROUP_SIZE-1;
 55.1126 -+			if(selector>=nSelectors) return RETVAL_DATA_ERROR;
 55.1127 -+			hufGroup=bd->groups+selectors[selector++];
 55.1128 -+			base=hufGroup->base-1;
 55.1129 -+			limit=hufGroup->limit-1;
 55.1130 -+		}
 55.1131 -+		/* Read next Huffman-coded symbol. */
 55.1132 -+		/* Note: It is far cheaper to read maxLen bits and back up than it is
 55.1133 -+		   to read minLen bits and then an additional bit at a time, testing
 55.1134 -+		   as we go.  Because there is a trailing last block (with file CRC),
 55.1135 -+		   there is no danger of the overread causing an unexpected EOF for a
 55.1136 -+		   valid compressed file.  As a further optimization, we do the read
 55.1137 -+		   inline (falling back to a call to get_bits if the buffer runs
 55.1138 -+		   dry).  The following (up to got_huff_bits:) is equivalent to
 55.1139 -+		   j=get_bits(bd,hufGroup->maxLen);
 55.1140 -+		 */
 55.1141 -+		while (bd->inbufBitCount<hufGroup->maxLen) {
 55.1142 -+			if(bd->inbufPos==bd->inbufCount) {
 55.1143 -+				j = get_bits(bd,hufGroup->maxLen);
 55.1144 -+				goto got_huff_bits;
 55.1145 -+			}
 55.1146 -+			bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++];
 55.1147 -+			bd->inbufBitCount+=8;
 55.1148 -+		};
 55.1149 -+		bd->inbufBitCount-=hufGroup->maxLen;
 55.1150 -+		j = (bd->inbufBits>>bd->inbufBitCount)&((1<<hufGroup->maxLen)-1);
 55.1151 -+got_huff_bits:
 55.1152 -+		/* Figure how how many bits are in next symbol and unget extras */
 55.1153 -+		i=hufGroup->minLen;
 55.1154 -+		while(j>limit[i]) ++i;
 55.1155 -+		bd->inbufBitCount += (hufGroup->maxLen - i);
 55.1156 -+		/* Huffman decode value to get nextSym (with bounds checking) */
 55.1157 -+		if ((i > hufGroup->maxLen)
 55.1158 -+			|| (((unsigned)(j=(j>>(hufGroup->maxLen-i))-base[i]))
 55.1159 -+				>= MAX_SYMBOLS))
 55.1160 -+			return RETVAL_DATA_ERROR;
 55.1161 -+		nextSym = hufGroup->permute[j];
 55.1162 -+		/* We have now decoded the symbol, which indicates either a new literal
 55.1163 -+		   byte, or a repeated run of the most recent literal byte.  First,
 55.1164 -+		   check if nextSym indicates a repeated run, and if so loop collecting
 55.1165 -+		   how many times to repeat the last literal. */
 55.1166 -+		if (((unsigned)nextSym) <= SYMBOL_RUNB) { /* RUNA or RUNB */
 55.1167 -+			/* If this is the start of a new run, zero out counter */
 55.1168 -+			if(!runPos) {
 55.1169 -+				runPos = 1;
 55.1170 -+				t = 0;
 55.1171 -+			}
 55.1172 -+			/* Neat trick that saves 1 symbol: instead of or-ing 0 or 1 at
 55.1173 -+			   each bit position, add 1 or 2 instead.  For example,
 55.1174 -+			   1011 is 1<<0 + 1<<1 + 2<<2.  1010 is 2<<0 + 2<<1 + 1<<2.
 55.1175 -+			   You can make any bit pattern that way using 1 less symbol than
 55.1176 -+			   the basic or 0/1 method (except all bits 0, which would use no
 55.1177 -+			   symbols, but a run of length 0 doesn't mean anything in this
 55.1178 -+			   context).  Thus space is saved. */
 55.1179 -+			t += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */
 55.1180 -+			runPos <<= 1;
 55.1181 -+			continue;
 55.1182 -+		}
 55.1183 -+		/* When we hit the first non-run symbol after a run, we now know
 55.1184 -+		   how many times to repeat the last literal, so append that many
 55.1185 -+		   copies to our buffer of decoded symbols (dbuf) now.  (The last
 55.1186 -+		   literal used is the one at the head of the mtfSymbol array.) */
 55.1187 -+		if(runPos) {
 55.1188 -+			runPos=0;
 55.1189 -+			if(dbufCount+t>=dbufSize) return RETVAL_DATA_ERROR;
 55.1190 -+
 55.1191 -+			uc = symToByte[mtfSymbol[0]];
 55.1192 -+			byteCount[uc] += t;
 55.1193 -+			while(t--) dbuf[dbufCount++]=uc;
 55.1194 -+		}
 55.1195 -+		/* Is this the terminating symbol? */
 55.1196 -+		if(nextSym>symTotal) break;
 55.1197 -+		/* At this point, nextSym indicates a new literal character.  Subtract
 55.1198 -+		   one to get the position in the MTF array at which this literal is
 55.1199 -+		   currently to be found.  (Note that the result can't be -1 or 0,
 55.1200 -+		   because 0 and 1 are RUNA and RUNB.  But another instance of the
 55.1201 -+		   first symbol in the mtf array, position 0, would have been handled
 55.1202 -+		   as part of a run above.  Therefore 1 unused mtf position minus
 55.1203 -+		   2 non-literal nextSym values equals -1.) */
 55.1204 -+		if(dbufCount>=dbufSize) return RETVAL_DATA_ERROR;
 55.1205 -+		i = nextSym - 1;
 55.1206 -+		uc = mtfSymbol[i];
 55.1207 -+		/* Adjust the MTF array.  Since we typically expect to move only a
 55.1208 -+		 * small number of symbols, and are bound by 256 in any case, using
 55.1209 -+		 * memmove here would typically be bigger and slower due to function
 55.1210 -+		 * call overhead and other assorted setup costs. */
 55.1211 -+		do {
 55.1212 -+			mtfSymbol[i] = mtfSymbol[i-1];
 55.1213 -+		} while (--i);
 55.1214 -+		mtfSymbol[0] = uc;
 55.1215 -+		uc=symToByte[uc];
 55.1216 -+		/* We have our literal byte.  Save it into dbuf. */
 55.1217 -+		byteCount[uc]++;
 55.1218 -+		dbuf[dbufCount++] = (unsigned int)uc;
 55.1219 -+	}
 55.1220 -+	/* At this point, we've read all the Huffman-coded symbols (and repeated
 55.1221 -+       runs) for this block from the input stream, and decoded them into the
 55.1222 -+	   intermediate buffer.  There are dbufCount many decoded bytes in dbuf[].
 55.1223 -+	   Now undo the Burrows-Wheeler transform on dbuf.
 55.1224 -+	   See http://dogma.net/markn/articles/bwt/bwt.htm
 55.1225 -+	 */
 55.1226 -+	/* Turn byteCount into cumulative occurrence counts of 0 to n-1. */
 55.1227 -+	j=0;
 55.1228 -+	for(i=0;i<256;i++) {
 55.1229 -+		k=j+byteCount[i];
 55.1230 -+		byteCount[i] = j;
 55.1231 -+		j=k;
 55.1232 -+	}
 55.1233 -+	/* Figure out what order dbuf would be in if we sorted it. */
 55.1234 -+	for (i=0;i<dbufCount;i++) {
 55.1235 -+		uc=(unsigned char)(dbuf[i] & 0xff);
 55.1236 -+		dbuf[byteCount[uc]] |= (i << 8);
 55.1237 -+		byteCount[uc]++;
 55.1238 -+	}
 55.1239 -+	/* Decode first byte by hand to initialize "previous" byte.  Note that it
 55.1240 -+	   doesn't get output, and if the first three characters are identical
 55.1241 -+	   it doesn't qualify as a run (hence writeRunCountdown=5). */
 55.1242 -+	if(dbufCount) {
 55.1243 -+		if(origPtr>=dbufCount) return RETVAL_DATA_ERROR;
 55.1244 -+		bd->writePos=dbuf[origPtr];
 55.1245 -+	    bd->writeCurrent=(unsigned char)(bd->writePos&0xff);
 55.1246 -+		bd->writePos>>=8;
 55.1247 -+		bd->writeRunCountdown=5;
 55.1248 -+	}
 55.1249 -+	bd->writeCount=dbufCount;
 55.1250 -+
 55.1251 -+	return RETVAL_OK;
 55.1252 -+}
 55.1253 -+
 55.1254 -+/* Undo burrows-wheeler transform on intermediate buffer to produce output.
 55.1255 -+   If start_bunzip was initialized with out_fd=-1, then up to len bytes of
 55.1256 -+   data are written to outbuf.  Return value is number of bytes written or
 55.1257 -+   error (all errors are negative numbers).  If out_fd!=-1, outbuf and len
 55.1258 -+   are ignored, data is written to out_fd and return is RETVAL_OK or error.
 55.1259 -+*/
 55.1260 -+
 55.1261 -+static int read_bunzip(bunzip_data *bd, char *outbuf, int len)
 55.1262 -+{
 55.1263 -+	const unsigned int *dbuf;
 55.1264 -+	int pos,xcurrent,previous,gotcount;
 55.1265 -+
 55.1266 -+	/* If last read was short due to end of file, return last block now */
 55.1267 -+	if(bd->writeCount<0) return bd->writeCount;
 55.1268 -+
 55.1269 -+	gotcount = 0;
 55.1270 -+	dbuf=bd->dbuf;
 55.1271 -+	pos=bd->writePos;
 55.1272 -+	xcurrent=bd->writeCurrent;
 55.1273 -+
 55.1274 -+	/* We will always have pending decoded data to write into the output
 55.1275 -+	   buffer unless this is the very first call (in which case we haven't
 55.1276 -+	   Huffman-decoded a block into the intermediate buffer yet). */
 55.1277 -+
 55.1278 -+	if (bd->writeCopies) {
 55.1279 -+		/* Inside the loop, writeCopies means extra copies (beyond 1) */
 55.1280 -+		--bd->writeCopies;
 55.1281 -+		/* Loop outputting bytes */
 55.1282 -+		for(;;) {
 55.1283 -+			/* If the output buffer is full, snapshot state and return */
 55.1284 -+			if(gotcount >= len) {
 55.1285 -+				bd->writePos=pos;
 55.1286 -+				bd->writeCurrent=xcurrent;
 55.1287 -+				bd->writeCopies++;
 55.1288 -+				return len;
 55.1289 -+			}
 55.1290 -+			/* Write next byte into output buffer, updating CRC */
 55.1291 -+			outbuf[gotcount++] = xcurrent;
 55.1292 -+			bd->writeCRC=(((bd->writeCRC)<<8)
 55.1293 -+						  ^bd->crc32Table[((bd->writeCRC)>>24)^xcurrent]);
 55.1294 -+			/* Loop now if we're outputting multiple copies of this byte */
 55.1295 -+			if (bd->writeCopies) {
 55.1296 -+				--bd->writeCopies;
 55.1297 -+				continue;
 55.1298 -+			}
 55.1299 -+decode_next_byte:
 55.1300 -+			if (!bd->writeCount--) break;
 55.1301 -+			/* Follow sequence vector to undo Burrows-Wheeler transform */
 55.1302 -+			previous=xcurrent;
 55.1303 -+			pos=dbuf[pos];
 55.1304 -+			xcurrent=pos&0xff;
 55.1305 -+			pos>>=8;
 55.1306 -+			/* After 3 consecutive copies of the same byte, the 4th is a repeat
 55.1307 -+			   count.  We count down from 4 instead
 55.1308 -+			 * of counting up because testing for non-zero is faster */
 55.1309 -+			if(--bd->writeRunCountdown) {
 55.1310 -+				if(xcurrent!=previous) bd->writeRunCountdown=4;
 55.1311 -+			} else {
 55.1312 -+				/* We have a repeated run, this byte indicates the count */
 55.1313 -+				bd->writeCopies=xcurrent;
 55.1314 -+				xcurrent=previous;
 55.1315 -+				bd->writeRunCountdown=5;
 55.1316 -+				/* Sometimes there are just 3 bytes (run length 0) */
 55.1317 -+				if(!bd->writeCopies) goto decode_next_byte;
 55.1318 -+				/* Subtract the 1 copy we'd output anyway to get extras */
 55.1319 -+				--bd->writeCopies;
 55.1320 -+			}
 55.1321 -+		}
 55.1322 -+		/* Decompression of this block completed successfully */
 55.1323 -+		bd->writeCRC=~bd->writeCRC;
 55.1324 -+		bd->totalCRC=((bd->totalCRC<<1) | (bd->totalCRC>>31)) ^ bd->writeCRC;
 55.1325 -+		/* If this block had a CRC error, force file level CRC error. */
 55.1326 -+		if(bd->writeCRC!=bd->headerCRC) {
 55.1327 -+			bd->totalCRC=bd->headerCRC+1;
 55.1328 -+			return RETVAL_LAST_BLOCK;
 55.1329 -+		}
 55.1330 -+	}
 55.1331 -+
 55.1332 -+	/* Refill the intermediate buffer by Huffman-decoding next block of input */
 55.1333 -+	/* (previous is just a convenient unused temp variable here) */
 55.1334 -+	previous=get_next_block(bd);
 55.1335 -+	if(previous) {
 55.1336 -+		bd->writeCount=previous;
 55.1337 -+		return (previous!=RETVAL_LAST_BLOCK) ? previous : gotcount;
 55.1338 -+	}
 55.1339 -+	bd->writeCRC=0xffffffffUL;
 55.1340 -+	pos=bd->writePos;
 55.1341 -+	xcurrent=bd->writeCurrent;
 55.1342 -+	goto decode_next_byte;
 55.1343 -+}
 55.1344 -+
 55.1345 -+static int nofill(void *buf,unsigned int len) {
 55.1346 -+	return -1;
 55.1347 -+}
 55.1348 -+
 55.1349 -+/* Allocate the structure, read file header.  If in_fd==-1, inbuf must contain
 55.1350 -+   a complete bunzip file (len bytes long).  If in_fd!=-1, inbuf and len are
 55.1351 -+   ignored, and data is read from file handle into temporary buffer. */
 55.1352 -+static int start_bunzip(bunzip_data **bdp, void *inbuf, int len,
 55.1353 -+			int (*fill)(void*,unsigned int))
 55.1354 -+{
 55.1355 -+	bunzip_data *bd;
 55.1356 -+	unsigned int i,j,c;
 55.1357 -+	const unsigned int BZh0=(((unsigned int)'B')<<24)+(((unsigned int)'Z')<<16)
 55.1358 -+							+(((unsigned int)'h')<<8)+(unsigned int)'0';
 55.1359 -+
 55.1360 -+	/* Figure out how much data to allocate */
 55.1361 -+	i=sizeof(bunzip_data);
 55.1362 -+
 55.1363 -+	/* Allocate bunzip_data.  Most fields initialize to zero. */
 55.1364 -+	bd=*bdp=malloc(i);
 55.1365 -+	memset(bd,0,sizeof(bunzip_data));
 55.1366 -+	/* Setup input buffer */
 55.1367 -+	bd->inbuf=inbuf;
 55.1368 -+	bd->inbufCount=len;
 55.1369 -+	if(fill != NULL)
 55.1370 -+		bd->fill=fill;
 55.1371 -+	else
 55.1372 -+		bd->fill=nofill;
 55.1373 -+
 55.1374 -+	/* Init the CRC32 table (big endian) */
 55.1375 -+	for(i=0;i<256;i++) {
 55.1376 -+		c=i<<24;
 55.1377 -+		for(j=8;j;j--)
 55.1378 -+			c=c&0x80000000 ? (c<<1)^0x04c11db7 : (c<<1);
 55.1379 -+		bd->crc32Table[i]=c;
 55.1380 -+	}
 55.1381 -+
 55.1382 -+	/* Ensure that file starts with "BZh['1'-'9']." */
 55.1383 -+	i = get_bits(bd,32);
 55.1384 -+	if (((unsigned int)(i-BZh0-1)) >= 9) return RETVAL_NOT_BZIP_DATA;
 55.1385 -+
 55.1386 -+	/* Fourth byte (ascii '1'-'9'), indicates block size in units of 100k of
 55.1387 -+	   uncompressed data.  Allocate intermediate buffer for block. */
 55.1388 -+	bd->dbufSize=100000*(i-BZh0);
 55.1389 -+
 55.1390 -+	bd->dbuf=large_malloc(bd->dbufSize * sizeof(int));
 55.1391 -+	return RETVAL_OK;
 55.1392 -+}
 55.1393 -+
 55.1394 -+/* Example usage: decompress src_fd to dst_fd.  (Stops at end of bzip data,
 55.1395 -+   not end of file.) */
 55.1396 -+STATIC int bunzip2(char *inbuf, int len, 
 55.1397 -+		   int(*fill)(void*,unsigned int),
 55.1398 -+		   int(*writebb)(char*,unsigned int),
 55.1399 -+		   int *pos)
 55.1400 -+{
 55.1401 -+	char *outbuf;
 55.1402 -+	bunzip_data *bd;
 55.1403 -+	int i;
 55.1404 -+
 55.1405 -+	outbuf=malloc(BZIP2_IOBUF_SIZE);
 55.1406 -+	if(!(i=start_bunzip(&bd,inbuf,len,fill))) {
 55.1407 -+		for(;;) {
 55.1408 -+			if((i=read_bunzip(bd,outbuf,BZIP2_IOBUF_SIZE)) <= 0) break;
 55.1409 -+			if(i!=writebb(outbuf,i)) {
 55.1410 -+				i=RETVAL_UNEXPECTED_OUTPUT_EOF;
 55.1411 -+				break;
 55.1412 -+			}
 55.1413 -+		}
 55.1414 -+	}
 55.1415 -+	/* Check CRC and release memory */
 55.1416 -+	if(i==RETVAL_LAST_BLOCK) {
 55.1417 -+		if (bd->headerCRC!=bd->totalCRC) {
 55.1418 -+			error("Data integrity error when decompressing.");
 55.1419 -+		} else {
 55.1420 -+			i=RETVAL_OK;
 55.1421 -+		}
 55.1422 -+	}
 55.1423 -+	else if (i==RETVAL_UNEXPECTED_OUTPUT_EOF) {
 55.1424 -+		error("Compressed file ends unexpectedly");
 55.1425 -+	}
 55.1426 -+	if(bd->dbuf) large_free(bd->dbuf);
 55.1427 -+	if(pos)
 55.1428 -+		*pos = bd->inbufPos;
 55.1429 -+	free(bd);
 55.1430 -+	free(outbuf);
 55.1431 -+
 55.1432 -+	return i;
 55.1433 -+}
 55.1434 -+
 55.1435 -
 55.1436 ---- linux-2.6.22.9/lib/decompress_unlzma.c
 55.1437 -+++ linux-2.6.22.9/lib/decompress_unlzma.c
 55.1438 -@@ -0,0 +1,605 @@
 55.1439 -+/* Lzma decompressor for Linux kernel. Shamelessly snarfed
 55.1440 -+ * from busybox 1.1.1
 55.1441 -+ *
 55.1442 -+ * Linux kernel adaptation
 55.1443 -+ * Copyright (C) 2006  Alain <alain@knaff.lu>
 55.1444 -+ *
 55.1445 -+ * Based on small lzma deflate implementation/Small range coder 
 55.1446 -+ * implementation for lzma.
 55.1447 -+ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 55.1448 -+ *
 55.1449 -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 55.1450 -+ * Copyright (C) 1999-2005  Igor Pavlov
 55.1451 -+ *
 55.1452 -+ * Copyrights of the parts, see headers below.
 55.1453 -+ *
 55.1454 -+ *
 55.1455 -+ * This program is free software; you can redistribute it and/or
 55.1456 -+ * modify it under the terms of the GNU Lesser General Public
 55.1457 -+ * License as published by the Free Software Foundation; either
 55.1458 -+ * version 2.1 of the License, or (at your option) any later version.
 55.1459 -+ *
 55.1460 -+ * This program is distributed in the hope that it will be useful,
 55.1461 -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
 55.1462 -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 55.1463 -+ * Lesser General Public License for more details.
 55.1464 -+ *
 55.1465 -+ * You should have received a copy of the GNU Lesser General Public
 55.1466 -+ * License along with this library; if not, write to the Free Software
 55.1467 -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 55.1468 -+ */
 55.1469 -+
 55.1470 -+#ifndef STATIC
 55.1471 -+
 55.1472 -+#include <linux/kernel.h>
 55.1473 -+#include <linux/fs.h>
 55.1474 -+#include <linux/string.h>
 55.1475 -+
 55.1476 -+#ifdef TEST
 55.1477 -+#include "test.h"
 55.1478 -+#else
 55.1479 -+#include <linux/vmalloc.h>
 55.1480 -+#endif
 55.1481 -+
 55.1482 -+static void __init *large_malloc(size_t size)
 55.1483 -+{
 55.1484 -+	return vmalloc(size);
 55.1485 -+}
 55.1486 -+
 55.1487 -+static void __init large_free(void *where)
 55.1488 -+{
 55.1489 -+	vfree(where);
 55.1490 -+}
 55.1491 -+
 55.1492 -+#ifndef TEST
 55.1493 -+static void __init *malloc(size_t size)
 55.1494 -+{
 55.1495 -+	return kmalloc(size, GFP_KERNEL);
 55.1496 -+}
 55.1497 -+
 55.1498 -+static void __init free(void *where)
 55.1499 -+{
 55.1500 -+	kfree(where);
 55.1501 -+}
 55.1502 -+
 55.1503 -+static void __init error(char *x)
 55.1504 -+{
 55.1505 -+	printk(KERN_ERR "%s\n", x);
 55.1506 -+}
 55.1507 -+
 55.1508 -+#endif
 55.1509 -+
 55.1510 -+#define STATIC /**/
 55.1511 -+
 55.1512 -+#endif
 55.1513 -+
 55.1514 -+#include <linux/decompress_unlzma.h>
 55.1515 -+
 55.1516 -+#define	MIN(a,b) (((a)<(b))?(a):(b))
 55.1517 -+
 55.1518 -+static long long read_int(unsigned char *ptr, int size)
 55.1519 -+{
 55.1520 -+	int i;
 55.1521 -+	long long ret=0;
 55.1522 -+
 55.1523 -+	for(i=0; i<size; i++) {
 55.1524 -+		ret = (ret << 8) | ptr[size-i-1];
 55.1525 -+	}
 55.1526 -+	return ret;
 55.1527 -+}
 55.1528 -+
 55.1529 -+#define ENDIAN_CONVERT(x) x=(typeof(x))read_int((unsigned char*)&x,sizeof(x))
 55.1530 -+
 55.1531 -+
 55.1532 -+/* Small range coder implementation for lzma.
 55.1533 -+ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 55.1534 -+ *
 55.1535 -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 55.1536 -+ * Copyright (c) 1999-2005  Igor Pavlov
 55.1537 -+ */
 55.1538 -+
 55.1539 -+#ifndef always_inline
 55.1540 -+#  if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >0)
 55.1541 -+#    define always_inline __attribute__((always_inline)) inline
 55.1542 -+#  else
 55.1543 -+#    define always_inline inline
 55.1544 -+#  endif
 55.1545 -+#endif
 55.1546 -+
 55.1547 -+#ifdef CONFIG_FEATURE_LZMA_FAST
 55.1548 -+#  define speed_inline always_inline
 55.1549 -+#else
 55.1550 -+#  define speed_inline
 55.1551 -+#endif
 55.1552 -+
 55.1553 -+
 55.1554 -+typedef struct {
 55.1555 -+	int (*fill)(void*,unsigned int);
 55.1556 -+	uint8_t *ptr;
 55.1557 -+	uint8_t *buffer;
 55.1558 -+	uint8_t *buffer_end;
 55.1559 -+	int buffer_size;
 55.1560 -+	uint32_t code;
 55.1561 -+	uint32_t range;
 55.1562 -+	uint32_t bound;
 55.1563 -+} rc_t;
 55.1564 -+
 55.1565 -+
 55.1566 -+#define RC_TOP_BITS 24
 55.1567 -+#define RC_MOVE_BITS 5
 55.1568 -+#define RC_MODEL_TOTAL_BITS 11
 55.1569 -+
 55.1570 -+
 55.1571 -+/* Called twice: once at startup and once in rc_normalize() */
 55.1572 -+static void rc_read(rc_t * rc)
 55.1573 -+{
 55.1574 -+	rc->buffer_size = rc->fill((char*)rc->buffer, LZMA_IOBUF_SIZE);
 55.1575 -+	if (rc->buffer_size <= 0)
 55.1576 -+		error("unexpected EOF");
 55.1577 -+	rc->ptr = rc->buffer;
 55.1578 -+	rc->buffer_end = rc->buffer + rc->buffer_size;
 55.1579 -+}
 55.1580 -+
 55.1581 -+/* Called once */
 55.1582 -+static always_inline void rc_init(rc_t * rc, int (*fill)(void*,unsigned int),
 55.1583 -+				  char *buffer, int buffer_size)
 55.1584 -+{
 55.1585 -+	rc->fill = fill;
 55.1586 -+	rc->buffer = (uint8_t *)buffer;
 55.1587 -+	rc->buffer_size = buffer_size;
 55.1588 -+	rc->buffer_end = rc->buffer + rc->buffer_size;
 55.1589 -+	rc->ptr = rc->buffer;
 55.1590 -+
 55.1591 -+	rc->code = 0;
 55.1592 -+	rc->range = 0xFFFFFFFF;
 55.1593 -+}
 55.1594 -+
 55.1595 -+static always_inline void rc_init_code(rc_t * rc)
 55.1596 -+{
 55.1597 -+	int i;
 55.1598 -+
 55.1599 -+	for (i = 0; i < 5; i++) {
 55.1600 -+		if (rc->ptr >= rc->buffer_end)
 55.1601 -+			rc_read(rc);
 55.1602 -+		rc->code = (rc->code << 8) | *rc->ptr++;
 55.1603 -+	}
 55.1604 -+}
 55.1605 -+
 55.1606 -+
 55.1607 -+/* Called once. TODO: bb_maybe_free() */
 55.1608 -+static always_inline void rc_free(rc_t * rc)
 55.1609 -+{
 55.1610 -+	free(rc->buffer);
 55.1611 -+}
 55.1612 -+
 55.1613 -+/* Called twice, but one callsite is in speed_inline'd rc_is_bit_0_helper() */
 55.1614 -+static void rc_do_normalize(rc_t * rc)
 55.1615 -+{
 55.1616 -+	if (rc->ptr >= rc->buffer_end)
 55.1617 -+		rc_read(rc);
 55.1618 -+	rc->range <<= 8;
 55.1619 -+	rc->code = (rc->code << 8) | *rc->ptr++;
 55.1620 -+}
 55.1621 -+static always_inline void rc_normalize(rc_t * rc)
 55.1622 -+{
 55.1623 -+	if (rc->range < (1 << RC_TOP_BITS)) {
 55.1624 -+		rc_do_normalize(rc);
 55.1625 -+	}
 55.1626 -+}
 55.1627 -+
 55.1628 -+/* Called 9 times */
 55.1629 -+/* Why rc_is_bit_0_helper exists?
 55.1630 -+ * Because we want to always expose (rc->code < rc->bound) to optimizer
 55.1631 -+ */
 55.1632 -+static speed_inline uint32_t rc_is_bit_0_helper(rc_t * rc, uint16_t * p)
 55.1633 -+{
 55.1634 -+	rc_normalize(rc);
 55.1635 -+	rc->bound = *p * (rc->range >> RC_MODEL_TOTAL_BITS);
 55.1636 -+	return rc->bound;
 55.1637 -+}
 55.1638 -+static always_inline int rc_is_bit_0(rc_t * rc, uint16_t * p)
 55.1639 -+{
 55.1640 -+	uint32_t t = rc_is_bit_0_helper(rc, p);
 55.1641 -+	return rc->code < t;
 55.1642 -+}
 55.1643 -+
 55.1644 -+/* Called ~10 times, but very small, thus inlined */
 55.1645 -+static speed_inline void rc_update_bit_0(rc_t * rc, uint16_t * p)
 55.1646 -+{
 55.1647 -+	rc->range = rc->bound;
 55.1648 -+	*p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS;
 55.1649 -+}
 55.1650 -+static speed_inline void rc_update_bit_1(rc_t * rc, uint16_t * p)
 55.1651 -+{
 55.1652 -+	rc->range -= rc->bound;
 55.1653 -+	rc->code -= rc->bound;
 55.1654 -+	*p -= *p >> RC_MOVE_BITS;
 55.1655 -+}
 55.1656 -+
 55.1657 -+/* Called 4 times in unlzma loop */
 55.1658 -+static int rc_get_bit(rc_t * rc, uint16_t * p, int *symbol)
 55.1659 -+{
 55.1660 -+	if (rc_is_bit_0(rc, p)) {
 55.1661 -+		rc_update_bit_0(rc, p);
 55.1662 -+		*symbol *= 2;
 55.1663 -+		return 0;
 55.1664 -+	} else {
 55.1665 -+		rc_update_bit_1(rc, p);
 55.1666 -+		*symbol = *symbol * 2 + 1;
 55.1667 -+		return 1;
 55.1668 -+	}
 55.1669 -+}
 55.1670 -+
 55.1671 -+/* Called once */
 55.1672 -+static always_inline int rc_direct_bit(rc_t * rc)
 55.1673 -+{
 55.1674 -+	rc_normalize(rc);
 55.1675 -+	rc->range >>= 1;
 55.1676 -+	if (rc->code >= rc->range) {
 55.1677 -+		rc->code -= rc->range;
 55.1678 -+		return 1;
 55.1679 -+	}
 55.1680 -+	return 0;
 55.1681 -+}
 55.1682 -+
 55.1683 -+/* Called twice */
 55.1684 -+static speed_inline void
 55.1685 -+rc_bit_tree_decode(rc_t * rc, uint16_t * p, int num_levels, int *symbol)
 55.1686 -+{
 55.1687 -+	int i = num_levels;
 55.1688 -+
 55.1689 -+	*symbol = 1;
 55.1690 -+	while (i--)
 55.1691 -+		rc_get_bit(rc, p + *symbol, symbol);
 55.1692 -+	*symbol -= 1 << num_levels;
 55.1693 -+}
 55.1694 -+
 55.1695 -+
 55.1696 -+/*
 55.1697 -+ * Small lzma deflate implementation.
 55.1698 -+ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 55.1699 -+ *
 55.1700 -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 55.1701 -+ * Copyright (C) 1999-2005  Igor Pavlov
 55.1702 -+ */
 55.1703 -+
 55.1704 -+
 55.1705 -+typedef struct {
 55.1706 -+	uint8_t pos;
 55.1707 -+	uint32_t dict_size;
 55.1708 -+	uint64_t dst_size;
 55.1709 -+} __attribute__ ((packed)) lzma_header_t;
 55.1710 -+
 55.1711 -+
 55.1712 -+#define LZMA_BASE_SIZE 1846
 55.1713 -+#define LZMA_LIT_SIZE 768
 55.1714 -+
 55.1715 -+#define LZMA_NUM_POS_BITS_MAX 4
 55.1716 -+
 55.1717 -+#define LZMA_LEN_NUM_LOW_BITS 3
 55.1718 -+#define LZMA_LEN_NUM_MID_BITS 3
 55.1719 -+#define LZMA_LEN_NUM_HIGH_BITS 8
 55.1720 -+
 55.1721 -+#define LZMA_LEN_CHOICE 0
 55.1722 -+#define LZMA_LEN_CHOICE_2 (LZMA_LEN_CHOICE + 1)
 55.1723 -+#define LZMA_LEN_LOW (LZMA_LEN_CHOICE_2 + 1)
 55.1724 -+#define LZMA_LEN_MID (LZMA_LEN_LOW \
 55.1725 -+		      + (1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_LOW_BITS)))
 55.1726 -+#define LZMA_LEN_HIGH (LZMA_LEN_MID \
 55.1727 -+		       +(1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_MID_BITS)))
 55.1728 -+#define LZMA_NUM_LEN_PROBS (LZMA_LEN_HIGH + (1 << LZMA_LEN_NUM_HIGH_BITS))
 55.1729 -+
 55.1730 -+#define LZMA_NUM_STATES 12
 55.1731 -+#define LZMA_NUM_LIT_STATES 7
 55.1732 -+
 55.1733 -+#define LZMA_START_POS_MODEL_INDEX 4
 55.1734 -+#define LZMA_END_POS_MODEL_INDEX 14
 55.1735 -+#define LZMA_NUM_FULL_DISTANCES (1 << (LZMA_END_POS_MODEL_INDEX >> 1))
 55.1736 -+
 55.1737 -+#define LZMA_NUM_POS_SLOT_BITS 6
 55.1738 -+#define LZMA_NUM_LEN_TO_POS_STATES 4
 55.1739 -+
 55.1740 -+#define LZMA_NUM_ALIGN_BITS 4
 55.1741 -+
 55.1742 -+#define LZMA_MATCH_MIN_LEN 2
 55.1743 -+
 55.1744 -+#define LZMA_IS_MATCH 0
 55.1745 -+#define LZMA_IS_REP (LZMA_IS_MATCH + (LZMA_NUM_STATES <<LZMA_NUM_POS_BITS_MAX))
 55.1746 -+#define LZMA_IS_REP_G0 (LZMA_IS_REP + LZMA_NUM_STATES)
 55.1747 -+#define LZMA_IS_REP_G1 (LZMA_IS_REP_G0 + LZMA_NUM_STATES)
 55.1748 -+#define LZMA_IS_REP_G2 (LZMA_IS_REP_G1 + LZMA_NUM_STATES)
 55.1749 -+#define LZMA_IS_REP_0_LONG (LZMA_IS_REP_G2 + LZMA_NUM_STATES)
 55.1750 -+#define LZMA_POS_SLOT (LZMA_IS_REP_0_LONG \
 55.1751 -+		       + (LZMA_NUM_STATES << LZMA_NUM_POS_BITS_MAX))
 55.1752 -+#define LZMA_SPEC_POS (LZMA_POS_SLOT \
 55.1753 -+		       +(LZMA_NUM_LEN_TO_POS_STATES << LZMA_NUM_POS_SLOT_BITS))
 55.1754 -+#define LZMA_ALIGN (LZMA_SPEC_POS \
 55.1755 -+		    + LZMA_NUM_FULL_DISTANCES - LZMA_END_POS_MODEL_INDEX)
 55.1756 -+#define LZMA_LEN_CODER (LZMA_ALIGN + (1 << LZMA_NUM_ALIGN_BITS))
 55.1757 -+#define LZMA_REP_LEN_CODER (LZMA_LEN_CODER + LZMA_NUM_LEN_PROBS)
 55.1758 -+#define LZMA_LITERAL (LZMA_REP_LEN_CODER + LZMA_NUM_LEN_PROBS)
 55.1759 -+
 55.1760 -+
 55.1761 -+STATIC int unlzma(char *inbuf, int in_len, 
 55.1762 -+		   int(*fill)(void*,unsigned int),
 55.1763 -+		   int(*writebb)(char*,unsigned int),
 55.1764 -+		   int *posp)
 55.1765 -+{
 55.1766 -+	lzma_header_t header;
 55.1767 -+	int lc, pb, lp;
 55.1768 -+	uint32_t pos_state_mask;
 55.1769 -+	uint32_t literal_pos_mask;
 55.1770 -+	uint32_t pos;
 55.1771 -+	uint16_t *p;
 55.1772 -+	uint16_t *prob;
 55.1773 -+	uint16_t *prob_lit;
 55.1774 -+	int num_bits;
 55.1775 -+	int num_probs;
 55.1776 -+	rc_t rc;
 55.1777 -+	int i, mi;
 55.1778 -+	uint8_t *buffer;
 55.1779 -+	uint8_t previous_byte = 0;
 55.1780 -+	size_t buffer_pos = 0, global_pos = 0;
 55.1781 -+	int len = 0;
 55.1782 -+	int state = 0;
 55.1783 -+	int bufsize;
 55.1784 -+	uint32_t rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1;
 55.1785 -+
 55.1786 -+	rc_init(&rc, fill, inbuf, in_len);
 55.1787 -+
 55.1788 -+	for (i = 0; i < sizeof(header); i++) {
 55.1789 -+		if (rc.ptr >= rc.buffer_end)
 55.1790 -+			rc_read(&rc);
 55.1791 -+		((unsigned char *)&header)[i] = *rc.ptr++;
 55.1792 -+	}
 55.1793 -+
 55.1794 -+	if (header.pos >= (9 * 5 * 5))
 55.1795 -+		error("bad header");
 55.1796 -+
 55.1797 -+	mi = header.pos / 9;
 55.1798 -+	lc = header.pos % 9;
 55.1799 -+	pb = mi / 5;
 55.1800 -+	lp = mi % 5;
 55.1801 -+	pos_state_mask = (1 << pb) - 1;
 55.1802 -+	literal_pos_mask = (1 << lp) - 1;
 55.1803 -+
 55.1804 -+	ENDIAN_CONVERT(header.dict_size);
 55.1805 -+	ENDIAN_CONVERT(header.dst_size);
 55.1806 -+
 55.1807 -+	if (header.dict_size == 0)
 55.1808 -+		header.dict_size = 1;
 55.1809 -+
 55.1810 -+	bufsize = MIN(header.dst_size, header.dict_size);
 55.1811 -+	buffer = large_malloc(bufsize);
 55.1812 -+	if(buffer == NULL)
 55.1813 -+		return -1;
 55.1814 -+
 55.1815 -+	num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp));
 55.1816 -+	p = large_malloc(num_probs * sizeof(*p));
 55.1817 -+	num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp));
 55.1818 -+	for (i = 0; i < num_probs; i++)
 55.1819 -+		p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1;
 55.1820 -+
 55.1821 -+	rc_init_code(&rc);
 55.1822 -+
 55.1823 -+	while (global_pos + buffer_pos < header.dst_size) {
 55.1824 -+		int pos_state = (buffer_pos + global_pos) & pos_state_mask;
 55.1825 -+
 55.1826 -+		prob =
 55.1827 -+			p + LZMA_IS_MATCH + (state << LZMA_NUM_POS_BITS_MAX) + pos_state;
 55.1828 -+		if (rc_is_bit_0(&rc, prob)) {
 55.1829 -+			mi = 1;
 55.1830 -+			rc_update_bit_0(&rc, prob);
 55.1831 -+			prob = (p + LZMA_LITERAL + (LZMA_LIT_SIZE
 55.1832 -+					* ((((buffer_pos + global_pos) & literal_pos_mask) << lc)
 55.1833 -+					+ (previous_byte >> (8 - lc)))));
 55.1834 -+
 55.1835 -+			if (state >= LZMA_NUM_LIT_STATES) {
 55.1836 -+				int match_byte;
 55.1837 -+
 55.1838 -+				pos = buffer_pos - rep0;
 55.1839 -+				while (pos >= header.dict_size)
 55.1840 -+					pos += header.dict_size;
 55.1841 -+				if(pos >= bufsize) {
 55.1842 -+					goto fail;
 55.1843 -+				}
 55.1844 -+				match_byte = buffer[pos];
 55.1845 -+				do {
 55.1846 -+					int bit;
 55.1847 -+
 55.1848 -+					match_byte <<= 1;
 55.1849 -+					bit = match_byte & 0x100;
 55.1850 -+					prob_lit = prob + 0x100 + bit + mi;
 55.1851 -+					if (rc_get_bit(&rc, prob_lit, &mi)) {
 55.1852 -+						if (!bit)
 55.1853 -+							break;
 55.1854 -+					} else {
 55.1855 -+						if (bit)
 55.1856 -+							break;
 55.1857 -+					}
 55.1858 -+				} while (mi < 0x100);
 55.1859 -+			}
 55.1860 -+			while (mi < 0x100) {
 55.1861 -+				prob_lit = prob + mi;
 55.1862 -+				rc_get_bit(&rc, prob_lit, &mi);
 55.1863 -+			}
 55.1864 -+			previous_byte = (uint8_t) mi;
 55.1865 -+
 55.1866 -+			buffer[buffer_pos++] = previous_byte;
 55.1867 -+			if (buffer_pos == header.dict_size) {
 55.1868 -+				buffer_pos = 0;
 55.1869 -+				global_pos += header.dict_size;
 55.1870 -+				writebb((char*)buffer, header.dict_size);
 55.1871 -+			}
 55.1872 -+			if (state < 4)
 55.1873 -+				state = 0;
 55.1874 -+			else if (state < 10)
 55.1875 -+				state -= 3;
 55.1876 -+			else
 55.1877 -+				state -= 6;
 55.1878 -+		} else {
 55.1879 -+			int offset;
 55.1880 -+			uint16_t *prob_len;
 55.1881 -+
 55.1882 -+			rc_update_bit_1(&rc, prob);
 55.1883 -+			prob = p + LZMA_IS_REP + state;
 55.1884 -+			if (rc_is_bit_0(&rc, prob)) {
 55.1885 -+				rc_update_bit_0(&rc, prob);
 55.1886 -+				rep3 = rep2;
 55.1887 -+				rep2 = rep1;
 55.1888 -+				rep1 = rep0;
 55.1889 -+				state = state < LZMA_NUM_LIT_STATES ? 0 : 3;
 55.1890 -+				prob = p + LZMA_LEN_CODER;
 55.1891 -+			} else {
 55.1892 -+				rc_update_bit_1(&rc, prob);
 55.1893 -+				prob = p + LZMA_IS_REP_G0 + state;
 55.1894 -+				if (rc_is_bit_0(&rc, prob)) {
 55.1895 -+					rc_update_bit_0(&rc, prob);
 55.1896 -+					prob = (p + LZMA_IS_REP_0_LONG
 55.1897 -+							+ (state << LZMA_NUM_POS_BITS_MAX) + pos_state);
 55.1898 -+					if (rc_is_bit_0(&rc, prob)) {
 55.1899 -+						rc_update_bit_0(&rc, prob);
 55.1900 -+
 55.1901 -+						state = state < LZMA_NUM_LIT_STATES ? 9 : 11;
 55.1902 -+						pos = buffer_pos - rep0;
 55.1903 -+						while (pos >= header.dict_size)
 55.1904 -+							pos += header.dict_size;
 55.1905 -+						if(pos >= bufsize) {
 55.1906 -+							goto fail;
 55.1907 -+						}
 55.1908 -+						previous_byte = buffer[pos];
 55.1909 -+						buffer[buffer_pos++] = previous_byte;
 55.1910 -+						if (buffer_pos == header.dict_size) {
 55.1911 -+							buffer_pos = 0;
 55.1912 -+							global_pos += header.dict_size;
 55.1913 -+							writebb((char*)buffer, header.dict_size);
 55.1914 -+						}
 55.1915 -+						continue;
 55.1916 -+					} else {
 55.1917 -+						rc_update_bit_1(&rc, prob);
 55.1918 -+					}
 55.1919 -+				} else {
 55.1920 -+					uint32_t distance;
 55.1921 -+
 55.1922 -+					rc_update_bit_1(&rc, prob);
 55.1923 -+					prob = p + LZMA_IS_REP_G1 + state;
 55.1924 -+					if (rc_is_bit_0(&rc, prob)) {
 55.1925 -+						rc_update_bit_0(&rc, prob);
 55.1926 -+						distance = rep1;
 55.1927 -+					} else {
 55.1928 -+						rc_update_bit_1(&rc, prob);
 55.1929 -+						prob = p + LZMA_IS_REP_G2 + state;
 55.1930 -+						if (rc_is_bit_0(&rc, prob)) {
 55.1931 -+							rc_update_bit_0(&rc, prob);
 55.1932 -+							distance = rep2;
 55.1933 -+						} else {
 55.1934 -+							rc_update_bit_1(&rc, prob);
 55.1935 -+							distance = rep3;
 55.1936 -+							rep3 = rep2;
 55.1937 -+						}
 55.1938 -+						rep2 = rep1;
 55.1939 -+					}
 55.1940 -+					rep1 = rep0;
 55.1941 -+					rep0 = distance;
 55.1942 -+				}
 55.1943 -+				state = state < LZMA_NUM_LIT_STATES ? 8 : 11;
 55.1944 -+				prob = p + LZMA_REP_LEN_CODER;
 55.1945 -+			}
 55.1946 -+
 55.1947 -+			prob_len = prob + LZMA_LEN_CHOICE;
 55.1948 -+			if (rc_is_bit_0(&rc, prob_len)) {
 55.1949 -+				rc_update_bit_0(&rc, prob_len);
 55.1950 -+				prob_len = (prob + LZMA_LEN_LOW
 55.1951 -+							+ (pos_state << LZMA_LEN_NUM_LOW_BITS));
 55.1952 -+				offset = 0;
 55.1953 -+				num_bits = LZMA_LEN_NUM_LOW_BITS;
 55.1954 -+			} else {
 55.1955 -+				rc_update_bit_1(&rc, prob_len);
 55.1956 -+				prob_len = prob + LZMA_LEN_CHOICE_2;
 55.1957 -+				if (rc_is_bit_0(&rc, prob_len)) {
 55.1958 -+					rc_update_bit_0(&rc, prob_len);
 55.1959 -+					prob_len = (prob + LZMA_LEN_MID
 55.1960 -+								+ (pos_state << LZMA_LEN_NUM_MID_BITS));
 55.1961 -+					offset = 1 << LZMA_LEN_NUM_LOW_BITS;
 55.1962 -+					num_bits = LZMA_LEN_NUM_MID_BITS;
 55.1963 -+				} else {
 55.1964 -+					rc_update_bit_1(&rc, prob_len);
 55.1965 -+					prob_len = prob + LZMA_LEN_HIGH;
 55.1966 -+					offset = ((1 << LZMA_LEN_NUM_LOW_BITS)
 55.1967 -+							  + (1 << LZMA_LEN_NUM_MID_BITS));
 55.1968 -+					num_bits = LZMA_LEN_NUM_HIGH_BITS;
 55.1969 -+				}
 55.1970 -+			}
 55.1971 -+			rc_bit_tree_decode(&rc, prob_len, num_bits, &len);
 55.1972 -+			len += offset;
 55.1973 -+
 55.1974 -+			if (state < 4) {
 55.1975 -+				int pos_slot;
 55.1976 -+
 55.1977 -+				state += LZMA_NUM_LIT_STATES;
 55.1978 -+				prob =
 55.1979 -+					p + LZMA_POS_SLOT +
 55.1980 -+					((len <
 55.1981 -+					  LZMA_NUM_LEN_TO_POS_STATES ? len :
 55.1982 -+					  LZMA_NUM_LEN_TO_POS_STATES - 1)
 55.1983 -+					 << LZMA_NUM_POS_SLOT_BITS);
 55.1984 -+				rc_bit_tree_decode(&rc, prob, LZMA_NUM_POS_SLOT_BITS,
 55.1985 -+								   &pos_slot);
 55.1986 -+				if (pos_slot >= LZMA_START_POS_MODEL_INDEX) {
 55.1987 -+					num_bits = (pos_slot >> 1) - 1;
 55.1988 -+					rep0 = 2 | (pos_slot & 1);
 55.1989 -+					if (pos_slot < LZMA_END_POS_MODEL_INDEX) {
 55.1990 -+						rep0 <<= num_bits;
 55.1991 -+						prob = p + LZMA_SPEC_POS + rep0 - pos_slot - 1;
 55.1992 -+					} else {
 55.1993 -+						num_bits -= LZMA_NUM_ALIGN_BITS;
 55.1994 -+						while (num_bits--)
 55.1995 -+							rep0 = (rep0 << 1) | rc_direct_bit(&rc);
 55.1996 -+						prob = p + LZMA_ALIGN;
 55.1997 -+						rep0 <<= LZMA_NUM_ALIGN_BITS;
 55.1998 -+						num_bits = LZMA_NUM_ALIGN_BITS;
 55.1999 -+					}
 55.2000 -+					i = 1;
 55.2001 -+					mi = 1;
 55.2002 -+					while (num_bits--) {
 55.2003 -+						if (rc_get_bit(&rc, prob + mi, &mi))
 55.2004 -+							rep0 |= i;
 55.2005 -+						i <<= 1;
 55.2006 -+					}
 55.2007 -+				} else
 55.2008 -+					rep0 = pos_slot;
 55.2009 -+				if (++rep0 == 0)
 55.2010 -+					break;
 55.2011 -+			}
 55.2012 -+
 55.2013 -+			len += LZMA_MATCH_MIN_LEN;
 55.2014 -+
 55.2015 -+			do {
 55.2016 -+				pos = buffer_pos - rep0;
 55.2017 -+				while (pos >= header.dict_size)
 55.2018 -+					pos += header.dict_size;
 55.2019 -+				if(pos >= bufsize) {
 55.2020 -+					goto fail;
 55.2021 -+				}
 55.2022 -+				previous_byte = buffer[pos];
 55.2023 -+				buffer[buffer_pos++] = previous_byte;
 55.2024 -+				if (buffer_pos == header.dict_size) {
 55.2025 -+					buffer_pos = 0;
 55.2026 -+					global_pos += header.dict_size;
 55.2027 -+					writebb((char*)buffer, header.dict_size);
 55.2028 -+				}
 55.2029 -+				len--;
 55.2030 -+			} while (len != 0 && buffer_pos < header.dst_size);
 55.2031 -+		}
 55.2032 -+	}
 55.2033 -+
 55.2034 -+	writebb((char*)buffer, buffer_pos);
 55.2035 -+	if(posp) {
 55.2036 -+		*posp = rc.ptr-rc.buffer;
 55.2037 -+	}
 55.2038 -+	large_free(buffer);
 55.2039 -+	return 0;
 55.2040 -+ fail:
 55.2041 -+	large_free(buffer);
 55.2042 -+	return -1;
 55.2043 -+}
 55.2044 -
 55.2045 ---- linux-2.6.22.9/lib/Makefile
 55.2046 -+++ linux-2.6.22.9/lib/Makefile
 55.2047 -@@ -46,6 +46,10 @@
 55.2048 - obj-$(CONFIG_LIBCRC32C)	+= libcrc32c.o
 55.2049 - obj-$(CONFIG_GENERIC_ALLOCATOR) += genalloc.o
 55.2050 - 
 55.2051 -+obj-$(CONFIG_RD_BZIP2)	+= decompress_bunzip2.o
 55.2052 -+obj-$(CONFIG_RD_LZMA)	+= decompress_unlzma.o
 55.2053 -+
 55.2054 -+
 55.2055 - obj-$(CONFIG_ZLIB_INFLATE) += zlib_inflate/
 55.2056 - obj-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate/
 55.2057 - obj-$(CONFIG_REED_SOLOMON) += reed_solomon/
 55.2058 -
 55.2059 ---- linux-2.6.22.9/scripts/Makefile.lib
 55.2060 -+++ linux-2.6.22.9/scripts/Makefile.lib
 55.2061 -@@ -162,4 +162,17 @@
 55.2062 - quiet_cmd_gzip = GZIP    $@
 55.2063 - cmd_gzip = gzip -f -9 < $< > $@
 55.2064 - 
 55.2065 -+# Append size
 55.2066 -+size_append=perl -e 'print(pack("i",(stat($$ARGV[0]))[7]));'
 55.2067 - 
 55.2068 -+# Bzip2
 55.2069 -+# ---------------------------------------------------------------------------
 55.2070 -+
 55.2071 -+quiet_cmd_bzip2 = BZIP2    $@
 55.2072 -+cmd_bzip2 = (bzip2 -9 < $< ; $(size_append) $<) > $@
 55.2073 -+
 55.2074 -+# Lzma
 55.2075 -+# ---------------------------------------------------------------------------
 55.2076 -+
 55.2077 -+quiet_cmd_lzma = LZMA    $@
 55.2078 -+cmd_lzma = (lzma e $< -so ; $(size_append) $<) >$@
    56.1 --- a/linux/stuff/linux-lzma-2.6.24.2.u	Mon May 11 16:40:10 2009 +0200
    56.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    56.3 @@ -1,2263 +0,0 @@
    56.4 ---- linux-2.6.24.2/arch/x86/boot/compressed/Makefile_32
    56.5 -+++ linux-2.6.24.2/arch/x86/boot/compressed/Makefile_32
    56.6 -@@ -4,7 +4,7 @@
    56.7 - # create a compressed vmlinux image from the original vmlinux
    56.8 - #
    56.9 - 
   56.10 --targets		:= vmlinux vmlinux.bin vmlinux.bin.gz head_32.o misc_32.o piggy.o \
   56.11 -+targets		:= vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma head_32.o misc_32.o piggy.o \
   56.12 - 			vmlinux.bin.all vmlinux.relocs
   56.13 - EXTRA_AFLAGS	:= -traditional
   56.14 - 
   56.15 -@@ -44,7 +44,27 @@ $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bi
   56.16 - 	$(call if_changed,gzip)
   56.17 - endif
   56.18 - 
   56.19 -+ifdef CONFIG_RELOCATABLE
   56.20 -+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin.all FORCE
   56.21 -+	$(call if_changed,bzip2)
   56.22 -+else
   56.23 -+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
   56.24 -+	$(call if_changed,bzip2)
   56.25 -+endif
   56.26 -+
   56.27 -+ifdef CONFIG_RELOCATABLE
   56.28 -+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE
   56.29 -+	$(call if_changed,lzma)
   56.30 -+else
   56.31 -+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
   56.32 -+	$(call if_changed,lzma)
   56.33 -+endif
   56.34 -+
   56.35 - LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
   56.36 - 
   56.37 --$(obj)/piggy.o: $(src)/vmlinux_32.scr $(obj)/vmlinux.bin.gz FORCE
   56.38 -+suffix_$(CONFIG_KERNEL_GZIP)  = gz
   56.39 -+suffix_$(CONFIG_KERNEL_BZIP2) = bz2
   56.40 -+suffix_$(CONFIG_KERNEL_LZMA)  = lzma
   56.41 -+
   56.42 -+$(obj)/piggy.o: $(src)/vmlinux_32.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
   56.43 - 	$(call if_changed,ld)
   56.44 -
   56.45 ---- linux-2.6.24.2/arch/x86/boot/compressed/Makefile_64
   56.46 -+++ linux-2.6.24.2/arch/x86/boot/compressed/Makefile_64
   56.47 -@@ -4,7 +4,7 @@
   56.48 - # create a compressed vmlinux image from the original vmlinux
   56.49 - #
   56.50 - 
   56.51 --targets		:= vmlinux vmlinux.bin vmlinux.bin.gz head_64.o misc_64.o piggy.o
   56.52 -+targets		:= vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma head_64.o misc_64.o piggy.o
   56.53 - 
   56.54 - KBUILD_CFLAGS := -m64 -D__KERNEL__ $(LINUXINCLUDE) -O2  \
   56.55 - 	  -fno-strict-aliasing -fPIC -mcmodel=small \
   56.56 -
   56.57 ---- linux-2.6.24.2/arch/x86/boot/compressed/misc_32.c
   56.58 -+++ linux-2.6.24.2/arch/x86/boot/compressed/misc_32.c
   56.59 -@@ -121,9 +121,12 @@ typedef unsigned long  ulg;
   56.60 - 				 * always be larger than our output buffer.
   56.61 - 				 */
   56.62 - 
   56.63 -+#ifdef CONFIG_KERNEL_GZIP
   56.64 - static uch *inbuf;	/* input buffer */
   56.65 -+#endif
   56.66 - static uch *window;	/* Sliding window buffer, (and final output buffer) */
   56.67 - 
   56.68 -+#ifdef CONFIG_KERNEL_GZIP
   56.69 - static unsigned insize;  /* valid bytes in inbuf */
   56.70 - static unsigned inptr;   /* index of next byte to be processed in inbuf */
   56.71 - static unsigned outcnt;  /* bytes in output buffer */
   56.72 -@@ -158,9 +161,14 @@ static unsigned outcnt;  /* bytes in out
   56.73 - 
   56.74 - static int  fill_inbuf(void);
   56.75 - static void flush_window(void);
   56.76 -+#endif
   56.77 -+
   56.78 - static void error(char *m);
   56.79 -+
   56.80 -+#ifdef CONFIG_KERNEL_GZIP
   56.81 - static void gzip_mark(void **);
   56.82 - static void gzip_release(void **);
   56.83 -+#endif
   56.84 -   
   56.85 - /*
   56.86 -  * This is set up by the setup-routine at boot-time
   56.87 -@@ -181,7 +189,9 @@ static long bytes_out = 0;
   56.88 - static void *malloc(int size);
   56.89 - static void free(void *where);
   56.90 - 
   56.91 -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
   56.92 - static void *memset(void *s, int c, unsigned n);
   56.93 -+#endif
   56.94 - static void *memcpy(void *dest, const void *src, unsigned n);
   56.95 - 
   56.96 - static void putstr(const char *);
   56.97 -@@ -189,7 +199,11 @@ static void putstr(const char *);
   56.98 - static unsigned long free_mem_ptr;
   56.99 - static unsigned long free_mem_end_ptr;
  56.100 - 
  56.101 -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
  56.102 -+#define HEAP_SIZE             0x400000
  56.103 -+#else
  56.104 - #define HEAP_SIZE             0x4000
  56.105 -+#endif
  56.106 - 
  56.107 - static char *vidmem = (char *)0xb8000;
  56.108 - static int vidport;
  56.109 -@@ -199,7 +213,29 @@ static int lines, cols;
  56.110 - void *xquad_portio;
  56.111 - #endif
  56.112 - 
  56.113 -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
  56.114 -+
  56.115 -+#define large_malloc malloc
  56.116 -+#define large_free free
  56.117 -+
  56.118 -+#ifdef current
  56.119 -+#undef current
  56.120 -+#endif
  56.121 -+
  56.122 -+#define INCLUDED
  56.123 -+#endif
  56.124 -+
  56.125 -+#ifdef CONFIG_KERNEL_GZIP
  56.126 - #include "../../../../lib/inflate.c"
  56.127 -+#endif
  56.128 -+
  56.129 -+#ifdef CONFIG_KERNEL_BZIP2
  56.130 -+#include "../../../../lib/decompress_bunzip2.c"
  56.131 -+#endif
  56.132 -+
  56.133 -+#ifdef CONFIG_KERNEL_LZMA
  56.134 -+#include "../../../../lib/decompress_unlzma.c"
  56.135 -+#endif
  56.136 - 
  56.137 - static void *malloc(int size)
  56.138 - {
  56.139 -@@ -223,6 +259,7 @@ static void free(void *where)
  56.140 - {	/* Don't care */
  56.141 - }
  56.142 - 
  56.143 -+#ifdef CONFIG_KERNEL_GZIP
  56.144 - static void gzip_mark(void **ptr)
  56.145 - {
  56.146 - 	*ptr = (void *) free_mem_ptr;
  56.147 -@@ -232,6 +269,7 @@ static void gzip_release(void **ptr)
  56.148 - {
  56.149 - 	free_mem_ptr = (unsigned long) *ptr;
  56.150 - }
  56.151 -+#endif
  56.152 -  
  56.153 - static void scroll(void)
  56.154 - {
  56.155 -@@ -282,6 +320,7 @@ static void putstr(const char *s)
  56.156 - 	outb_p(0xff & (pos >> 1), vidport+1);
  56.157 - }
  56.158 - 
  56.159 -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
  56.160 - static void* memset(void* s, int c, unsigned n)
  56.161 - {
  56.162 - 	int i;
  56.163 -@@ -290,6 +329,7 @@ static void* memset(void* s, int c, unsi
  56.164 - 	for (i=0;i<n;i++) ss[i] = c;
  56.165 - 	return s;
  56.166 - }
  56.167 -+#endif
  56.168 - 
  56.169 - static void* memcpy(void* dest, const void* src, unsigned n)
  56.170 - {
  56.171 -@@ -300,6 +340,26 @@ static void* memcpy(void* dest, const vo
  56.172 - 	return dest;
  56.173 - }
  56.174 - 
  56.175 -+#ifndef CONFIG_KERNEL_GZIP
  56.176 -+/* ===========================================================================
  56.177 -+ * Write the output window window[0..outcnt-1] and update bytes_out.
  56.178 -+ * (Used for the decompressed data only.)
  56.179 -+ */
  56.180 -+static int compr_flush(char *data, unsigned int len)
  56.181 -+{
  56.182 -+    unsigned n;
  56.183 -+    uch *out;
  56.184 -+    
  56.185 -+    out = window; 
  56.186 -+    for (n = 0; n < len; n++) {
  56.187 -+	    *out++ = *data++;
  56.188 -+    }
  56.189 -+    bytes_out += (ulg)len;
  56.190 -+    window += (ulg)len;
  56.191 -+    return len;
  56.192 -+}
  56.193 -+
  56.194 -+#else
  56.195 - /* ===========================================================================
  56.196 -  * Fill the input buffer. This is called only when the buffer is empty
  56.197 -  * and at least one byte is really needed.
  56.198 -@@ -332,6 +392,7 @@ static void flush_window(void)
  56.199 - 	bytes_out += (ulg)outcnt;
  56.200 - 	outcnt = 0;
  56.201 - }
  56.202 -+#endif
  56.203 - 
  56.204 - static void error(char *x)
  56.205 - {
  56.206 -@@ -361,9 +422,11 @@ asmlinkage void decompress_kernel(void *
  56.207 - 	window = output;  	/* Output buffer (Normally at 1M) */
  56.208 - 	free_mem_ptr     = end;	/* Heap  */
  56.209 - 	free_mem_end_ptr = end + HEAP_SIZE;
  56.210 -+#ifdef CONFIG_KERNEL_GZIP
  56.211 - 	inbuf  = input_data;	/* Input buffer */
  56.212 - 	insize = input_len;
  56.213 - 	inptr  = 0;
  56.214 -+#endif
  56.215 - 
  56.216 - 	if ((u32)output & (CONFIG_PHYSICAL_ALIGN -1))
  56.217 - 		error("Destination address not CONFIG_PHYSICAL_ALIGN aligned");
  56.218 -@@ -374,9 +437,21 @@ asmlinkage void decompress_kernel(void *
  56.219 - 		error("Wrong destination address");
  56.220 - #endif
  56.221 - 
  56.222 -+#ifdef CONFIG_KERNEL_BZIP2
  56.223 -+	putstr("Bunzipping Linux... ");
  56.224 -+	bunzip2(input_data, input_len-4, NULL, compr_flush, NULL);
  56.225 -+#endif
  56.226 -+
  56.227 -+#ifdef CONFIG_KERNEL_LZMA
  56.228 -+	putstr("Unlzmaing Linux... ");
  56.229 -+	unlzma(input_data, input_len-4, NULL, compr_flush, NULL);
  56.230 -+#endif
  56.231 -+
  56.232 -+#ifdef CONFIG_KERNEL_GZIP
  56.233 - 	makecrc();
  56.234 - 	putstr("Uncompressing Linux... ");
  56.235 - 	gunzip();
  56.236 -+#endif
  56.237 - 	putstr("Ok, booting the kernel.\n");
  56.238 - 	return;
  56.239 - }
  56.240 -
  56.241 ---- linux-2.6.24.2/arch/x86/boot/compressed/misc_64.c
  56.242 -+++ linux-2.6.24.2/arch/x86/boot/compressed/misc_64.c
  56.243 -@@ -121,9 +121,12 @@ typedef unsigned long  ulg;
  56.244 - 				 * always be larger than our output buffer.
  56.245 - 				 */
  56.246 - 
  56.247 -+#ifdef CONFIG_KERNEL_GZIP
  56.248 - static uch *inbuf;	/* input buffer */
  56.249 -+#endif
  56.250 - static uch *window;	/* Sliding window buffer, (and final output buffer) */
  56.251 - 
  56.252 -+#ifdef CONFIG_KERNEL_GZIP
  56.253 - static unsigned insize;  /* valid bytes in inbuf */
  56.254 - static unsigned inptr;   /* index of next byte to be processed in inbuf */
  56.255 - static unsigned outcnt;  /* bytes in output buffer */
  56.256 -@@ -158,9 +161,14 @@ static unsigned outcnt;  /* bytes in out
  56.257 - 
  56.258 - static int  fill_inbuf(void);
  56.259 - static void flush_window(void);
  56.260 -+#endif
  56.261 -+
  56.262 - static void error(char *m);
  56.263 -+
  56.264 -+#ifdef CONFIG_KERNEL_GZIP
  56.265 - static void gzip_mark(void **);
  56.266 - static void gzip_release(void **);
  56.267 -+#endif
  56.268 -   
  56.269 - /*
  56.270 -  * This is set up by the setup-routine at boot-time
  56.271 -@@ -173,15 +181,19 @@ static unsigned char *real_mode; /* Poin
  56.272 - #endif
  56.273 - #define RM_SCREEN_INFO (*(struct screen_info *)(real_mode+0))
  56.274 - 
  56.275 -+#ifdef CONFIG_KERNEL_GZIP
  56.276 - extern unsigned char input_data[];
  56.277 - extern int input_len;
  56.278 -+#endif
  56.279 - 
  56.280 - static long bytes_out = 0;
  56.281 - 
  56.282 - static void *malloc(int size);
  56.283 - static void free(void *where);
  56.284 - 
  56.285 -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
  56.286 - static void *memset(void *s, int c, unsigned n);
  56.287 -+#endif
  56.288 - static void *memcpy(void *dest, const void *src, unsigned n);
  56.289 - 
  56.290 - static void putstr(const char *);
  56.291 -@@ -189,13 +201,39 @@ static void putstr(const char *);
  56.292 - static long free_mem_ptr;
  56.293 - static long free_mem_end_ptr;
  56.294 - 
  56.295 -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
  56.296 -+#define HEAP_SIZE             0x400000
  56.297 -+#else
  56.298 - #define HEAP_SIZE             0x7000
  56.299 -+#endif
  56.300 - 
  56.301 - static char *vidmem = (char *)0xb8000;
  56.302 - static int vidport;
  56.303 - static int lines, cols;
  56.304 - 
  56.305 -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
  56.306 -+
  56.307 -+#define large_malloc malloc
  56.308 -+#define large_free free
  56.309 -+
  56.310 -+#ifdef current
  56.311 -+#undef current
  56.312 -+#endif
  56.313 -+
  56.314 -+#define INCLUDED
  56.315 -+#endif
  56.316 -+
  56.317 -+#ifdef CONFIG_KERNEL_GZIP
  56.318 - #include "../../../../lib/inflate.c"
  56.319 -+#endif
  56.320 -+
  56.321 -+#ifdef CONFIG_KERNEL_BZIP2
  56.322 -+#include "../../../../lib/decompress_bunzip2.c"
  56.323 -+#endif
  56.324 -+
  56.325 -+#ifdef CONFIG_KERNEL_LZMA
  56.326 -+#include "../../../../lib/decompress_unlzma.c"
  56.327 -+#endif
  56.328 - 
  56.329 - static void *malloc(int size)
  56.330 - {
  56.331 -@@ -219,6 +257,7 @@ static void free(void *where)
  56.332 - {	/* Don't care */
  56.333 - }
  56.334 - 
  56.335 -+#ifdef CONFIG_KERNEL_GZIP
  56.336 - static void gzip_mark(void **ptr)
  56.337 - {
  56.338 - 	*ptr = (void *) free_mem_ptr;
  56.339 -@@ -228,6 +267,7 @@ static void gzip_release(void **ptr)
  56.340 - {
  56.341 - 	free_mem_ptr = (long) *ptr;
  56.342 - }
  56.343 -+#endif
  56.344 -  
  56.345 - static void scroll(void)
  56.346 - {
  56.347 -@@ -275,6 +315,7 @@ static void putstr(const char *s)
  56.348 - 	outb_p(0xff & (pos >> 1), vidport+1);
  56.349 - }
  56.350 - 
  56.351 -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
  56.352 - static void* memset(void* s, int c, unsigned n)
  56.353 - {
  56.354 - 	int i;
  56.355 -@@ -283,6 +324,7 @@ static void* memset(void* s, int c, unsi
  56.356 - 	for (i=0;i<n;i++) ss[i] = c;
  56.357 - 	return s;
  56.358 - }
  56.359 -+#endif
  56.360 - 
  56.361 - static void* memcpy(void* dest, const void* src, unsigned n)
  56.362 - {
  56.363 -@@ -293,6 +335,26 @@ static void* memcpy(void* dest, const vo
  56.364 - 	return dest;
  56.365 - }
  56.366 - 
  56.367 -+#ifndef CONFIG_KERNEL_GZIP
  56.368 -+/* ===========================================================================
  56.369 -+ * Write the output window window[0..outcnt-1] and update bytes_out.
  56.370 -+ * (Used for the decompressed data only.)
  56.371 -+ */
  56.372 -+static int compr_flush(char *data, unsigned int len)
  56.373 -+{
  56.374 -+    unsigned n;
  56.375 -+    uch *out;
  56.376 -+    
  56.377 -+    out = window; 
  56.378 -+    for (n = 0; n < len; n++) {
  56.379 -+	    *out++ = *data++;
  56.380 -+    }
  56.381 -+    bytes_out += (ulg)len;
  56.382 -+    window += (ulg)len;
  56.383 -+    return len;
  56.384 -+}
  56.385 -+
  56.386 -+#else
  56.387 - /* ===========================================================================
  56.388 -  * Fill the input buffer. This is called only when the buffer is empty
  56.389 -  * and at least one byte is really needed.
  56.390 -@@ -325,6 +387,7 @@ static void flush_window(void)
  56.391 - 	bytes_out += (ulg)outcnt;
  56.392 - 	outcnt = 0;
  56.393 - }
  56.394 -+#endif
  56.395 - 
  56.396 - static void error(char *x)
  56.397 - {
  56.398 -@@ -363,9 +426,21 @@ asmlinkage void decompress_kernel(void *
  56.399 - 	if ((ulg)output >= 0xffffffffffUL)
  56.400 - 		error("Destination address too large");
  56.401 - 
  56.402 -+#ifdef CONFIG_KERNEL_BZIP2
  56.403 -+	putstr(".\nBunzipping Linux...");
  56.404 -+	bunzip2(input_data, input_len-4, NULL, compr_flush, NULL);
  56.405 -+#endif
  56.406 -+
  56.407 -+#ifdef CONFIG_KERNEL_LZMA
  56.408 -+	putstr(".\nUnlzmaing Linux...");
  56.409 -+	unlzma(input_data, input_len-4, NULL, compr_flush, NULL);
  56.410 -+#endif
  56.411 -+
  56.412 -+#ifdef CONFIG_KERNEL_GZIP
  56.413 - 	makecrc();
  56.414 - 	putstr(".\nDecompressing Linux...");
  56.415 - 	gunzip();
  56.416 -+#endif
  56.417 - 	putstr("done.\nBooting the kernel.\n");
  56.418 - 	return;
  56.419 - }
  56.420 -
  56.421 ---- linux-2.6.24.2/drivers/block/Kconfig
  56.422 -+++ linux-2.6.24.2/drivers/block/Kconfig
  56.423 -@@ -356,6 +356,30 @@ config BLK_DEV_RAM_BLOCKSIZE
  56.424 - 	  setups function - apparently needed by the rd_load_image routine
  56.425 - 	  that supposes the filesystem in the image uses a 1024 blocksize.
  56.426 - 
  56.427 -+config RD_BZIP2
  56.428 -+	bool "Initial ramdisk compressed using bzip2"
  56.429 -+	default n
  56.430 -+	depends on BLK_DEV_INITRD=y
  56.431 -+	help
  56.432 -+	  Support loading of a bzip2 encoded initial ramdisk or cpio buffer
  56.433 -+	  If unsure, say N.
  56.434 -+
  56.435 -+config RD_LZMA
  56.436 -+	bool "Initial ramdisk compressed using lzma"
  56.437 -+	default n
  56.438 -+	depends on BLK_DEV_INITRD=y
  56.439 -+	help
  56.440 -+	  Support loading of a lzma encoded initial ramdisk or cpio buffer
  56.441 -+	  If unsure, say N.
  56.442 -+
  56.443 -+config RD_GZIP
  56.444 -+	bool "Initial ramdisk compressed using gzip"
  56.445 -+	default y
  56.446 -+	depends on BLK_DEV_INITRD=y
  56.447 -+	help
  56.448 -+	  Support loading of a gzip encoded initial ramdisk or cpio buffer.
  56.449 -+	  If unsure, say Y.
  56.450 -+
  56.451 - config CDROM_PKTCDVD
  56.452 - 	tristate "Packet writing on CD/DVD media"
  56.453 - 	depends on !UML
  56.454 -
  56.455 ---- linux-2.6.24.2/include/linux/decompress_bunzip2.h
  56.456 -+++ linux-2.6.24.2/include/linux/decompress_bunzip2.h
  56.457 -@@ -0,0 +1,16 @@
  56.458 -+#ifndef DECOMPRESS_BUNZIP2_H
  56.459 -+#define DECOMPRESS_BUNZIP2_H
  56.460 -+
  56.461 -+/* Other housekeeping constants */
  56.462 -+#define BZIP2_IOBUF_SIZE		4096
  56.463 -+
  56.464 -+#ifndef STATIC
  56.465 -+#define STATIC /**/
  56.466 -+#endif
  56.467 -+
  56.468 -+STATIC int bunzip2(char *inbuf, int len, 
  56.469 -+		   int(*fill)(void*,unsigned int),
  56.470 -+		   int(*writebb)(char*,unsigned int),
  56.471 -+		   int *pos);
  56.472 -+
  56.473 -+#endif
  56.474 -
  56.475 ---- linux-2.6.24.2/include/linux/decompress_generic.h
  56.476 -+++ linux-2.6.24.2/include/linux/decompress_generic.h
  56.477 -@@ -0,0 +1,28 @@
  56.478 -+#ifndef DECOMPRESS_GENERIC_H
  56.479 -+#define DECOMPRESS_GENERIC_H
  56.480 -+
  56.481 -+/* Minimal chunksize to be read.
  56.482 -+ * Bzip2 prefers at least 4096
  56.483 -+ * Lzma prefers 0x10000 */
  56.484 -+#define COMPR_IOBUF_SIZE	4096
  56.485 -+
  56.486 -+typedef int (*uncompress_fn) (char *inbuf, int len, 
  56.487 -+			      int(*fill)(char*,unsigned int),
  56.488 -+			      int(*writebb)(char*,unsigned int),
  56.489 -+			      int *posp);
  56.490 -+
  56.491 -+/* inbuf   - input buffer
  56.492 -+ * len     - len of pre-read data in inbuf
  56.493 -+ * fill    - function to fill inbuf if empty
  56.494 -+ * writebb - function to write out outbug
  56.495 -+ * posp    - if non-null, input position (number of bytes read) will be
  56.496 -+ *           returned here
  56.497 -+ *
  56.498 -+ * If len != 0, the inbuf is initialized (with as much data), and fill
  56.499 -+ * should not be called
  56.500 -+ * If len = 0, the inbuf is allocated, but empty. Its size is IOBUF_SIZE
  56.501 -+ * fill should be called (repeatedly...) to read data, at most IOBUF_SIZE
  56.502 -+ */
  56.503 -+ 
  56.504 -+
  56.505 -+#endif
  56.506 -
  56.507 ---- linux-2.6.24.2/include/linux/decompress_unlzma.h
  56.508 -+++ linux-2.6.24.2/include/linux/decompress_unlzma.h
  56.509 -@@ -0,0 +1,15 @@
  56.510 -+#ifndef DECOMPRESS_UNLZMA_H
  56.511 -+#define DECOMPRESS_UNLZMA_H
  56.512 -+
  56.513 -+#define LZMA_IOBUF_SIZE	0x10000
  56.514 -+
  56.515 -+#ifndef STATIC
  56.516 -+#define STATIC /**/
  56.517 -+#endif
  56.518 -+
  56.519 -+STATIC int unlzma(char *inbuf, int len, 
  56.520 -+		  int(*fill)(void*,unsigned int),
  56.521 -+		  int(*writebb)(char*,unsigned int),
  56.522 -+		  int *pos);
  56.523 -+
  56.524 -+#endif
  56.525 -
  56.526 ---- linux-2.6.24.2/init/do_mounts_rd.c
  56.527 -+++ linux-2.6.24.2/init/do_mounts_rd.c
  56.528 -@@ -8,6 +8,16 @@
  56.529 - #include <linux/initrd.h>
  56.530 - #include <linux/string.h>
  56.531 - 
  56.532 -+#ifdef CONFIG_RD_BZIP2
  56.533 -+#include <linux/decompress_bunzip2.h>
  56.534 -+#undef STATIC
  56.535 -+#endif
  56.536 -+
  56.537 -+#ifdef CONFIG_RD_LZMA
  56.538 -+#include <linux/decompress_unlzma.h>
  56.539 -+#undef STATIC
  56.540 -+#endif
  56.541 -+
  56.542 - #include "do_mounts.h"
  56.543 - 
  56.544 - #define BUILD_CRAMDISK
  56.545 -@@ -30,7 +40,15 @@ static int __init ramdisk_start_setup(ch
  56.546 - }
  56.547 - __setup("ramdisk_start=", ramdisk_start_setup);
  56.548 - 
  56.549 -+#ifdef CONFIG_RD_GZIP
  56.550 - static int __init crd_load(int in_fd, int out_fd);
  56.551 -+#endif
  56.552 -+#ifdef CONFIG_RD_BZIP2
  56.553 -+static int __init crd_load_bzip2(int in_fd, int out_fd);
  56.554 -+#endif
  56.555 -+#ifdef CONFIG_RD_LZMA
  56.556 -+static int __init crd_load_lzma(int in_fd, int out_fd);
  56.557 -+#endif
  56.558 - 
  56.559 - /*
  56.560 -  * This routine tries to find a RAM disk image to load, and returns the
  56.561 -@@ -46,7 +64,7 @@ static int __init crd_load(int in_fd, in
  56.562 -  * 	gzip
  56.563 -  */
  56.564 - static int __init 
  56.565 --identify_ramdisk_image(int fd, int start_block)
  56.566 -+identify_ramdisk_image(int fd, int start_block, int *ztype)
  56.567 - {
  56.568 - 	const int size = 512;
  56.569 - 	struct minix_super_block *minixsb;
  56.570 -@@ -72,6 +90,7 @@ identify_ramdisk_image(int fd, int start
  56.571 - 	sys_lseek(fd, start_block * BLOCK_SIZE, 0);
  56.572 - 	sys_read(fd, buf, size);
  56.573 - 
  56.574 -+#ifdef CONFIG_RD_GZIP
  56.575 - 	/*
  56.576 - 	 * If it matches the gzip magic numbers, return -1
  56.577 - 	 */
  56.578 -@@ -79,9 +98,40 @@ identify_ramdisk_image(int fd, int start
  56.579 - 		printk(KERN_NOTICE
  56.580 - 		       "RAMDISK: Compressed image found at block %d\n",
  56.581 - 		       start_block);
  56.582 -+		*ztype = 0;
  56.583 -+		nblocks = 0;
  56.584 -+		goto done;
  56.585 -+	}
  56.586 -+#endif
  56.587 -+
  56.588 -+#ifdef CONFIG_RD_BZIP2
  56.589 -+	/*
  56.590 -+	 * If it matches the bzip magic numbers, return -1
  56.591 -+	 */
  56.592 -+	if (buf[0] == 0x42 && (buf[1] == 0x5a)) {
  56.593 -+		printk(KERN_NOTICE
  56.594 -+		       "RAMDISK: Bzipped image found at block %d\n",
  56.595 -+		       start_block);
  56.596 -+		*ztype = 1;
  56.597 -+		nblocks = 0;
  56.598 -+		goto done;
  56.599 -+	}
  56.600 -+#endif
  56.601 -+
  56.602 -+#ifdef CONFIG_RD_LZMA
  56.603 -+	/*
  56.604 -+	 * If it matches the bzip magic numbers, return -1
  56.605 -+	 */
  56.606 -+	if (buf[0] == 0x5d && (buf[1] == 0x00)) {
  56.607 -+		printk(KERN_NOTICE
  56.608 -+		       "RAMDISK: Lzma image found at block %d\n",
  56.609 -+		       start_block);
  56.610 -+		*ztype = 2;
  56.611 - 		nblocks = 0;
  56.612 - 		goto done;
  56.613 - 	}
  56.614 -+#endif
  56.615 -+
  56.616 - 
  56.617 - 	/* romfs is at block zero too */
  56.618 - 	if (romfsb->word0 == ROMSB_WORD0 &&
  56.619 -@@ -145,6 +195,7 @@ int __init rd_load_image(char *from)
  56.620 - 	int nblocks, i, disk;
  56.621 - 	char *buf = NULL;
  56.622 - 	unsigned short rotate = 0;
  56.623 -+	int ztype=-1;
  56.624 - #if !defined(CONFIG_S390) && !defined(CONFIG_PPC_ISERIES)
  56.625 - 	char rotator[4] = { '|' , '/' , '-' , '\\' };
  56.626 - #endif
  56.627 -@@ -157,14 +208,38 @@ int __init rd_load_image(char *from)
  56.628 - 	if (in_fd < 0)
  56.629 - 		goto noclose_input;
  56.630 - 
  56.631 --	nblocks = identify_ramdisk_image(in_fd, rd_image_start);
  56.632 -+	nblocks = identify_ramdisk_image(in_fd, rd_image_start, &ztype);
  56.633 - 	if (nblocks < 0)
  56.634 - 		goto done;
  56.635 - 
  56.636 - 	if (nblocks == 0) {
  56.637 - #ifdef BUILD_CRAMDISK
  56.638 --		if (crd_load(in_fd, out_fd) == 0)
  56.639 --			goto successful_load;
  56.640 -+		switch(ztype) {
  56.641 -+
  56.642 -+#ifdef CONFIG_RD_GZIP
  56.643 -+			case 0:
  56.644 -+				if (crd_load(in_fd, out_fd) == 0)
  56.645 -+					goto successful_load;
  56.646 -+				break;
  56.647 -+#endif
  56.648 -+
  56.649 -+#ifdef CONFIG_RD_BZIP2
  56.650 -+			case 1:
  56.651 -+				if (crd_load_bzip2(in_fd, out_fd) == 0)
  56.652 -+					goto successful_load;
  56.653 -+				break;
  56.654 -+#endif
  56.655 -+
  56.656 -+#ifdef CONFIG_RD_LZMA
  56.657 -+			case 2:
  56.658 -+				if (crd_load_lzma(in_fd, out_fd) == 0)
  56.659 -+					goto successful_load;
  56.660 -+				break;
  56.661 -+#endif
  56.662 -+
  56.663 -+			default:
  56.664 -+				break;
  56.665 -+		}
  56.666 - #else
  56.667 - 		printk(KERN_NOTICE
  56.668 - 		       "RAMDISK: Kernel does not support compressed "
  56.669 -@@ -269,6 +344,7 @@ int __init rd_load_disk(int n)
  56.670 - 
  56.671 - #ifdef BUILD_CRAMDISK
  56.672 - 
  56.673 -+#ifdef CONFIG_RD_GZIP
  56.674 - /*
  56.675 -  * gzip declarations
  56.676 -  */
  56.677 -@@ -296,8 +372,11 @@ static unsigned outcnt;  /* bytes in out
  56.678 - static int exit_code;
  56.679 - static int unzip_error;
  56.680 - static long bytes_out;
  56.681 -+#endif
  56.682 -+
  56.683 - static int crd_infd, crd_outfd;
  56.684 - 
  56.685 -+#ifdef CONFIG_RD_GZIP
  56.686 - #define get_byte()  (inptr < insize ? inbuf[inptr++] : fill_inbuf())
  56.687 - 		
  56.688 - /* Diagnostic functions (stubbed out) */
  56.689 -@@ -359,7 +438,22 @@ static int __init fill_inbuf(void)
  56.690 - 
  56.691 - 	return inbuf[0];
  56.692 - }
  56.693 -+#endif
  56.694 -+
  56.695 -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  56.696 -+static int __init compr_fill(void *buf, unsigned int len)
  56.697 -+{
  56.698 -+	int r = sys_read(crd_infd, buf, len);
  56.699 -+	if(r < 0) {
  56.700 -+		printk(KERN_ERR "RAMDISK: error while reading compressed data");
  56.701 -+	} else if(r == 0) {
  56.702 -+		printk(KERN_ERR "RAMDISK: EOF while reading compressed data");
  56.703 -+	}
  56.704 -+	return r;
  56.705 -+}
  56.706 -+#endif
  56.707 - 
  56.708 -+#ifdef CONFIG_RD_GZIP
  56.709 - /* ===========================================================================
  56.710 -  * Write the output window window[0..outcnt-1] and update crc and bytes_out.
  56.711 -  * (Used for the decompressed data only.)
  56.712 -@@ -385,7 +479,24 @@ static void __init flush_window(void)
  56.713 -     bytes_out += (ulg)outcnt;
  56.714 -     outcnt = 0;
  56.715 - }
  56.716 -+#endif
  56.717 -+
  56.718 -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  56.719 -+static int __init compr_flush(void *window, unsigned int outcnt) {
  56.720 -+	static int progressDots=0;
  56.721 -+	int written = sys_write(crd_outfd, window, outcnt);
  56.722 -+	if (written != outcnt) {
  56.723 -+		printk(KERN_ERR "RAMDISK: incomplete write (%d != %d)\n",
  56.724 -+		       written, outcnt);
  56.725 -+	}
  56.726 -+	progressDots = (progressDots+1)%10;
  56.727 -+	if(!progressDots)
  56.728 -+		printk(".");
  56.729 -+	return outcnt;
  56.730 -+}
  56.731 -+#endif
  56.732 - 
  56.733 -+#ifdef CONFIG_RD_GZIP
  56.734 - static void __init error(char *x)
  56.735 - {
  56.736 - 	printk(KERN_ERR "%s\n", x);
  56.737 -@@ -425,5 +536,43 @@ static int __init crd_load(int in_fd, in
  56.738 - 	kfree(window);
  56.739 - 	return result;
  56.740 - }
  56.741 -+#endif
  56.742 -+
  56.743 -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  56.744 -+static int __init crd_load_compr(int in_fd, int out_fd, int size,
  56.745 -+				 int (*deco)(char *,int,
  56.746 -+					     int(*fill)(void*,unsigned int),
  56.747 -+					     int(*flush)(void*,unsigned int),
  56.748 -+					     int *))
  56.749 -+{
  56.750 -+	int result;
  56.751 -+	char *inbuf = kmalloc(size, GFP_KERNEL);
  56.752 -+	crd_infd = in_fd;
  56.753 -+	crd_outfd = out_fd;
  56.754 -+	if (inbuf == 0) {
  56.755 -+		printk(KERN_ERR "RAMDISK: Couldn't allocate decompression buffer\n");
  56.756 -+		return -1;
  56.757 -+	}
  56.758 -+	result=deco(inbuf, 0, compr_fill, compr_flush, NULL);
  56.759 -+	kfree(inbuf);
  56.760 -+	printk("\n");
  56.761 -+	return result;
  56.762 -+}
  56.763 -+#endif
  56.764 -+
  56.765 -+#ifdef CONFIG_RD_BZIP2
  56.766 -+static int __init crd_load_bzip2(int in_fd, int out_fd)
  56.767 -+{
  56.768 -+	return crd_load_compr(in_fd, out_fd, BZIP2_IOBUF_SIZE, bunzip2);
  56.769 -+}
  56.770 -+#endif
  56.771 -+
  56.772 -+#ifdef CONFIG_RD_LZMA
  56.773 -+static int __init crd_load_lzma(int in_fd, int out_fd)
  56.774 -+{
  56.775 -+	return crd_load_compr(in_fd, out_fd, LZMA_IOBUF_SIZE, unlzma);
  56.776 -+}
  56.777 -+
  56.778 -+#endif
  56.779 - 
  56.780 - #endif  /* BUILD_CRAMDISK */
  56.781 -
  56.782 ---- linux-2.6.24.2/init/initramfs.c
  56.783 -+++ linux-2.6.24.2/init/initramfs.c
  56.784 -@@ -7,6 +7,15 @@
  56.785 - #include <linux/string.h>
  56.786 - #include <linux/syscalls.h>
  56.787 - 
  56.788 -+/* We need to enable RD_GZIP unconditionnally, as the built-in
  56.789 -+ * initramfs is gzip-compressed, alas!
  56.790 -+ * We can only wonder why, though, as the whole kernel (which contains
  56.791 -+ * built-in initramfs) is gzip (or bzip) compressed anyways afterwards...
  56.792 -+ */
  56.793 -+#ifndef CONFIG_RD_GZIP
  56.794 -+#define CONFIG_RD_GZIP
  56.795 -+#endif
  56.796 -+
  56.797 - static __initdata char *message;
  56.798 - static void __init error(char *x)
  56.799 - {
  56.800 -@@ -347,11 +356,13 @@ static int __init write_buffer(char *buf
  56.801 - 	return len - count;
  56.802 - }
  56.803 - 
  56.804 --static void __init flush_buffer(char *buf, unsigned len)
  56.805 -+
  56.806 -+static int __init flush_buffer(char *buf, unsigned len)
  56.807 - {
  56.808 - 	int written;
  56.809 -+	int origLen = len;
  56.810 - 	if (message)
  56.811 --		return;
  56.812 -+		return -1;
  56.813 - 	while ((written = write_buffer(buf, len)) < len && !message) {
  56.814 - 		char c = buf[written];
  56.815 - 		if (c == '0') {
  56.816 -@@ -365,8 +376,24 @@ static void __init flush_buffer(char *bu
  56.817 - 		} else
  56.818 - 			error("junk in compressed archive");
  56.819 - 	}
  56.820 -+	return origLen;
  56.821 - }
  56.822 - 
  56.823 -+#ifdef CONFIG_RD_BZIP2
  56.824 -+#include <linux/decompress_bunzip2.h>
  56.825 -+#undef STATIC
  56.826 -+
  56.827 -+#endif
  56.828 -+
  56.829 -+#ifdef CONFIG_RD_LZMA
  56.830 -+#include <linux/decompress_unlzma.h>
  56.831 -+#undef STATIC
  56.832 -+
  56.833 -+#endif
  56.834 -+
  56.835 -+static unsigned inptr;   /* index of next byte to be processed in inbuf */
  56.836 -+
  56.837 -+#ifdef CONFIG_RD_GZIP
  56.838 - /*
  56.839 -  * gzip declarations
  56.840 -  */
  56.841 -@@ -388,7 +415,6 @@ static uch *inbuf;
  56.842 - static uch *window;
  56.843 - 
  56.844 - static unsigned insize;  /* valid bytes in inbuf */
  56.845 --static unsigned inptr;   /* index of next byte to be processed in inbuf */
  56.846 - static unsigned outcnt;  /* bytes in output buffer */
  56.847 - static long bytes_out;
  56.848 - 
  56.849 -@@ -440,6 +466,7 @@ static void __init flush_window(void)
  56.850 - 	bytes_out += (ulg)outcnt;
  56.851 - 	outcnt = 0;
  56.852 - }
  56.853 -+#endif
  56.854 - 
  56.855 - static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
  56.856 - {
  56.857 -@@ -448,9 +475,11 @@ static char * __init unpack_to_rootfs(ch
  56.858 - 	header_buf = malloc(110);
  56.859 - 	symlink_buf = malloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1);
  56.860 - 	name_buf = malloc(N_ALIGN(PATH_MAX));
  56.861 -+#ifdef CONFIG_RD_GZIP
  56.862 - 	window = malloc(WSIZE);
  56.863 - 	if (!window || !header_buf || !symlink_buf || !name_buf)
  56.864 - 		panic("can't allocate buffers");
  56.865 -+#endif
  56.866 - 	state = Start;
  56.867 - 	this_header = 0;
  56.868 - 	message = NULL;
  56.869 -@@ -470,6 +499,7 @@ static char * __init unpack_to_rootfs(ch
  56.870 - 			continue;
  56.871 - 		}
  56.872 - 		this_header = 0;
  56.873 -+#ifdef CONFIG_RD_GZIP
  56.874 - 		insize = len;
  56.875 - 		inbuf = buf;
  56.876 - 		inptr = 0;
  56.877 -@@ -477,14 +507,38 @@ static char * __init unpack_to_rootfs(ch
  56.878 - 		bytes_out = 0;
  56.879 - 		crc = (ulg)0xffffffffL; /* shift register contents */
  56.880 - 		makecrc();
  56.881 --		gunzip();
  56.882 -+		if(!gunzip() && message == NULL)
  56.883 -+			goto ok;
  56.884 -+#endif
  56.885 -+
  56.886 -+#ifdef CONFIG_RD_BZIP2
  56.887 -+		message = NULL; /* Zero out message, or else cpio will
  56.888 -+				   think an error has already occured */
  56.889 -+		if(!bunzip2(buf, len, NULL, flush_buffer, &inptr) < 0 &&
  56.890 -+		   message == NULL) {
  56.891 -+			goto ok;
  56.892 -+		}
  56.893 -+#endif
  56.894 -+
  56.895 -+#ifdef CONFIG_RD_LZMA
  56.896 -+		message = NULL; /* Zero out message, or else cpio will
  56.897 -+				   think an error has already occured */
  56.898 -+		if(!unlzma(buf, len, NULL, flush_buffer, &inptr) < 0 &&
  56.899 -+		   message == NULL) {
  56.900 -+			goto ok;
  56.901 -+		}
  56.902 -+#endif
  56.903 -+    ok:
  56.904 -+
  56.905 - 		if (state != Reset)
  56.906 --			error("junk in gzipped archive");
  56.907 -+			error("junk in compressed archive");
  56.908 - 		this_header = saved_offset + inptr;
  56.909 - 		buf += inptr;
  56.910 - 		len -= inptr;
  56.911 - 	}
  56.912 -+#ifdef CONFIG_RD_GZIP
  56.913 - 	free(window);
  56.914 -+#endif
  56.915 - 	free(name_buf);
  56.916 - 	free(symlink_buf);
  56.917 - 	free(header_buf);
  56.918 -
  56.919 ---- linux-2.6.24.2/init/Kconfig
  56.920 -+++ linux-2.6.24.2/init/Kconfig
  56.921 -@@ -92,6 +92,56 @@ config LOCALVERSION_AUTO
  56.922 - 
  56.923 - 	  which is done within the script "scripts/setlocalversion".)
  56.924 - 
  56.925 -+choice
  56.926 -+        prompt "Kernel compression mode"
  56.927 -+        default KERNEL_GZIP
  56.928 -+        help
  56.929 -+	  The linux kernel is a kind of self-extracting executable.
  56.930 -+	  Several compression algorithms are available, which differ
  56.931 -+	  in efficiency, compression and decompression speed.
  56.932 -+	  Compression speed is only relevant when building a kernel.
  56.933 -+	  Decompression speed is relevant at each boot.
  56.934 -+
  56.935 -+	  If you have any problems with bzip2 or lzma compressed
  56.936 -+	  kernels, mail me (Alain Knaff) <alain@knaff.lu>. (An older
  56.937 -+	  version of this functionality (bzip2 only), for 2.4, was
  56.938 -+	  supplied by Christian Ludwig)
  56.939 -+
  56.940 -+	  High compression options are mostly useful for users, who
  56.941 -+	  are low on disk space (embedded systems), but for whom ram
  56.942 -+	  size matters less.
  56.943 -+
  56.944 -+	  If in doubt, select 'gzip'
  56.945 -+
  56.946 -+config KERNEL_GZIP
  56.947 -+       bool "Gzip"
  56.948 -+       help
  56.949 -+         The old and tries gzip compression. Its compression ratio is
  56.950 -+	 the poorest among the 3 choices; however its speed (both
  56.951 -+	 compression and decompression) is the fastest.
  56.952 -+
  56.953 -+config KERNEL_BZIP2
  56.954 -+	bool "Bzip2"
  56.955 -+	help
  56.956 -+	  Its compression ratio and speed is intermediate.
  56.957 -+	  Decompression speed is slowest among the 3.
  56.958 -+	  The kernel size is about 10 per cent smaller with bzip2,
  56.959 -+	  in comparison to gzip.
  56.960 -+	  Bzip2 uses a large amount of memory. For modern kernels
  56.961 -+	  you will need at least 8MB RAM or more for booting.
  56.962 -+
  56.963 -+config KERNEL_LZMA
  56.964 -+       bool "LZMA"
  56.965 -+       help
  56.966 -+         The most recent compression algorithm.
  56.967 -+	 Its ratio is best, decompression speed is between the other
  56.968 -+	 2. Compression is slowest.
  56.969 -+	 The kernel size is about 33 per cent smaller with lzma,
  56.970 -+	 in comparison to gzip.
  56.971 -+
  56.972 -+endchoice
  56.973 -+
  56.974 -+
  56.975 - config SWAP
  56.976 - 	bool "Support for paging of anonymous memory (swap)"
  56.977 - 	depends on MMU && BLOCK
  56.978 -
  56.979 ---- linux-2.6.24.2/lib/decompress_bunzip2.c
  56.980 -+++ linux-2.6.24.2/lib/decompress_bunzip2.c
  56.981 -@@ -0,0 +1,645 @@
  56.982 -+/* vi: set sw=4 ts=4: */
  56.983 -+/*	Small bzip2 deflate implementation, by Rob Landley (rob@landley.net).
  56.984 -+
  56.985 -+	Based on bzip2 decompression code by Julian R Seward (jseward@acm.org),
  56.986 -+	which also acknowledges contributions by Mike Burrows, David Wheeler,
  56.987 -+	Peter Fenwick, Alistair Moffat, Radford Neal, Ian H. Witten,
  56.988 -+	Robert Sedgewick, and Jon L. Bentley.
  56.989 -+
  56.990 -+	This code is licensed under the LGPLv2:
  56.991 -+		LGPL (http://www.gnu.org/copyleft/lgpl.html
  56.992 -+*/
  56.993 -+
  56.994 -+/*
  56.995 -+	Size and speed optimizations by Manuel Novoa III  (mjn3@codepoet.org).
  56.996 -+
  56.997 -+	More efficient reading of Huffman codes, a streamlined read_bunzip()
  56.998 -+	function, and various other tweaks.  In (limited) tests, approximately
  56.999 -+	20% faster than bzcat on x86 and about 10% faster on arm.
 56.1000 -+
 56.1001 -+	Note that about 2/3 of the time is spent in read_unzip() reversing
 56.1002 -+	the Burrows-Wheeler transformation.  Much of that time is delay
 56.1003 -+	resulting from cache misses.
 56.1004 -+
 56.1005 -+	I would ask that anyone benefiting from this work, especially those
 56.1006 -+	using it in commercial products, consider making a donation to my local
 56.1007 -+	non-profit hospice organization in the name of the woman I loved, who
 56.1008 -+	passed away Feb. 12, 2003.
 56.1009 -+
 56.1010 -+		In memory of Toni W. Hagan
 56.1011 -+
 56.1012 -+		Hospice of Acadiana, Inc.
 56.1013 -+		2600 Johnston St., Suite 200
 56.1014 -+		Lafayette, LA 70503-3240
 56.1015 -+
 56.1016 -+		Phone (337) 232-1234 or 1-800-738-2226
 56.1017 -+		Fax   (337) 232-1297
 56.1018 -+
 56.1019 -+		http://www.hospiceacadiana.com/
 56.1020 -+
 56.1021 -+	Manuel
 56.1022 -+ */
 56.1023 -+
 56.1024 -+/*
 56.1025 -+	Made it fit for running in Linux Kernel by Alain Knaff (alain@knaff.lu)
 56.1026 -+*/
 56.1027 -+
 56.1028 -+
 56.1029 -+#ifndef STATIC
 56.1030 -+
 56.1031 -+#include <linux/kernel.h>
 56.1032 -+#include <linux/fs.h>
 56.1033 -+#include <linux/string.h>
 56.1034 -+
 56.1035 -+#ifdef TEST
 56.1036 -+#include "test.h"
 56.1037 -+#else
 56.1038 -+#include <linux/vmalloc.h>
 56.1039 -+#endif
 56.1040 -+
 56.1041 -+static void __init *large_malloc(size_t size)
 56.1042 -+{
 56.1043 -+	return vmalloc(size);
 56.1044 -+}
 56.1045 -+
 56.1046 -+static void __init large_free(void *where)
 56.1047 -+{
 56.1048 -+	vfree(where);
 56.1049 -+}
 56.1050 -+
 56.1051 -+#ifndef TEST
 56.1052 -+static void __init *malloc(size_t size)
 56.1053 -+{
 56.1054 -+	return kmalloc(size, GFP_KERNEL);
 56.1055 -+}
 56.1056 -+
 56.1057 -+static void __init free(void *where)
 56.1058 -+{
 56.1059 -+	kfree(where);
 56.1060 -+}
 56.1061 -+
 56.1062 -+static void __init error(char *x)
 56.1063 -+{
 56.1064 -+	printk(KERN_ERR "%s\n", x);
 56.1065 -+}
 56.1066 -+#endif
 56.1067 -+
 56.1068 -+#define STATIC /**/
 56.1069 -+
 56.1070 -+#endif
 56.1071 -+
 56.1072 -+#include <linux/decompress_bunzip2.h>
 56.1073 -+
 56.1074 -+
 56.1075 -+/* Constants for Huffman coding */
 56.1076 -+#define MAX_GROUPS			6
 56.1077 -+#define GROUP_SIZE   		50		/* 64 would have been more efficient */
 56.1078 -+#define MAX_HUFCODE_BITS 	20		/* Longest Huffman code allowed */
 56.1079 -+#define MAX_SYMBOLS 		258		/* 256 literals + RUNA + RUNB */
 56.1080 -+#define SYMBOL_RUNA			0
 56.1081 -+#define SYMBOL_RUNB			1
 56.1082 -+
 56.1083 -+/* Status return values */
 56.1084 -+#define RETVAL_OK						0
 56.1085 -+#define RETVAL_LAST_BLOCK				(-1)
 56.1086 -+#define RETVAL_NOT_BZIP_DATA			(-2)
 56.1087 -+#define RETVAL_UNEXPECTED_INPUT_EOF		(-3)
 56.1088 -+#define RETVAL_UNEXPECTED_OUTPUT_EOF	(-4)
 56.1089 -+#define RETVAL_DATA_ERROR				(-5)
 56.1090 -+#define RETVAL_OUT_OF_MEMORY			(-6)
 56.1091 -+#define RETVAL_OBSOLETE_INPUT			(-7)
 56.1092 -+
 56.1093 -+
 56.1094 -+/* This is what we know about each Huffman coding group */
 56.1095 -+struct group_data {
 56.1096 -+	/* We have an extra slot at the end of limit[] for a sentinal value. */
 56.1097 -+	int limit[MAX_HUFCODE_BITS+1],base[MAX_HUFCODE_BITS],permute[MAX_SYMBOLS];
 56.1098 -+	int minLen, maxLen;
 56.1099 -+};
 56.1100 -+
 56.1101 -+/* Structure holding all the housekeeping data, including IO buffers and
 56.1102 -+   memory that persists between calls to bunzip */
 56.1103 -+typedef struct {
 56.1104 -+	/* State for interrupting output loop */
 56.1105 -+	int writeCopies,writePos,writeRunCountdown,writeCount,writeCurrent;
 56.1106 -+	/* I/O tracking data (file handles, buffers, positions, etc.) */
 56.1107 -+	int (*fill)(void*,unsigned int);
 56.1108 -+	int inbufCount,inbufPos /*,outbufPos*/;
 56.1109 -+	unsigned char *inbuf /*,*outbuf*/;
 56.1110 -+	unsigned int inbufBitCount, inbufBits;
 56.1111 -+	/* The CRC values stored in the block header and calculated from the data */
 56.1112 -+	unsigned int crc32Table[256],headerCRC, totalCRC, writeCRC;
 56.1113 -+	/* Intermediate buffer and its size (in bytes) */
 56.1114 -+	unsigned int *dbuf, dbufSize;
 56.1115 -+	/* These things are a bit too big to go on the stack */
 56.1116 -+	unsigned char selectors[32768];			/* nSelectors=15 bits */
 56.1117 -+	struct group_data groups[MAX_GROUPS];	/* Huffman coding tables */
 56.1118 -+	int io_error;			/* non-zero if we have IO error */
 56.1119 -+} bunzip_data;
 56.1120 -+	
 56.1121 -+
 56.1122 -+/* Return the next nnn bits of input.  All reads from the compressed input
 56.1123 -+   are done through this function.  All reads are big endian */
 56.1124 -+static unsigned int get_bits(bunzip_data *bd, char bits_wanted)
 56.1125 -+{
 56.1126 -+	unsigned int bits=0;
 56.1127 -+
 56.1128 -+	/* If we need to get more data from the byte buffer, do so.  (Loop getting
 56.1129 -+	   one byte at a time to enforce endianness and avoid unaligned access.) */
 56.1130 -+	while (bd->inbufBitCount<bits_wanted) {
 56.1131 -+		/* If we need to read more data from file into byte buffer, do so */
 56.1132 -+		if(bd->inbufPos==bd->inbufCount) {
 56.1133 -+			if(bd->io_error)
 56.1134 -+				return 0;
 56.1135 -+			if((bd->inbufCount = bd->fill(bd->inbuf, BZIP2_IOBUF_SIZE)) <= 0) {
 56.1136 -+				bd->io_error=RETVAL_UNEXPECTED_INPUT_EOF;
 56.1137 -+				return 0;
 56.1138 -+			}
 56.1139 -+			bd->inbufPos=0;
 56.1140 -+		}
 56.1141 -+		/* Avoid 32-bit overflow (dump bit buffer to top of output) */
 56.1142 -+		if(bd->inbufBitCount>=24) {
 56.1143 -+			bits=bd->inbufBits&((1<<bd->inbufBitCount)-1);
 56.1144 -+			bits_wanted-=bd->inbufBitCount;
 56.1145 -+			bits<<=bits_wanted;
 56.1146 -+			bd->inbufBitCount=0;
 56.1147 -+		}
 56.1148 -+		/* Grab next 8 bits of input from buffer. */
 56.1149 -+		bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++];
 56.1150 -+		bd->inbufBitCount+=8;
 56.1151 -+	}
 56.1152 -+	/* Calculate result */
 56.1153 -+	bd->inbufBitCount-=bits_wanted;
 56.1154 -+	bits|=(bd->inbufBits>>bd->inbufBitCount)&((1<<bits_wanted)-1);
 56.1155 -+
 56.1156 -+	return bits;
 56.1157 -+}
 56.1158 -+
 56.1159 -+/* Unpacks the next block and sets up for the inverse burrows-wheeler step. */
 56.1160 -+
 56.1161 -+static int get_next_block(bunzip_data *bd)
 56.1162 -+{
 56.1163 -+	struct group_data *hufGroup=NULL;
 56.1164 -+	int *base=NULL;
 56.1165 -+	int *limit=NULL;
 56.1166 -+	int dbufCount,nextSym,dbufSize,groupCount,selector,
 56.1167 -+		i,j,k,t,runPos,symCount,symTotal,nSelectors,byteCount[256];
 56.1168 -+	unsigned char uc, symToByte[256], mtfSymbol[256], *selectors;
 56.1169 -+	unsigned int *dbuf,origPtr;
 56.1170 -+
 56.1171 -+	dbuf=bd->dbuf;
 56.1172 -+	dbufSize=bd->dbufSize;
 56.1173 -+	selectors=bd->selectors;
 56.1174 -+
 56.1175 -+	/* Read in header signature and CRC, then validate signature.
 56.1176 -+	   (last block signature means CRC is for whole file, return now) */
 56.1177 -+	i = get_bits(bd,24);
 56.1178 -+	j = get_bits(bd,24);
 56.1179 -+	bd->headerCRC=get_bits(bd,32);
 56.1180 -+	if ((i == 0x177245) && (j == 0x385090)) return RETVAL_LAST_BLOCK;
 56.1181 -+	if ((i != 0x314159) || (j != 0x265359)) return RETVAL_NOT_BZIP_DATA;
 56.1182 -+	/* We can add support for blockRandomised if anybody complains.  There was
 56.1183 -+	   some code for this in busybox 1.0.0-pre3, but nobody ever noticed that
 56.1184 -+	   it didn't actually work. */
 56.1185 -+	if(get_bits(bd,1)) return RETVAL_OBSOLETE_INPUT;
 56.1186 -+	if((origPtr=get_bits(bd,24)) > dbufSize) return RETVAL_DATA_ERROR;
 56.1187 -+	/* mapping table: if some byte values are never used (encoding things
 56.1188 -+	   like ascii text), the compression code removes the gaps to have fewer
 56.1189 -+	   symbols to deal with, and writes a sparse bitfield indicating which
 56.1190 -+	   values were present.  We make a translation table to convert the symbols
 56.1191 -+	   back to the corresponding bytes. */
 56.1192 -+	t=get_bits(bd, 16);
 56.1193 -+	symTotal=0;
 56.1194 -+	for (i=0;i<16;i++) {
 56.1195 -+		if(t&(1<<(15-i))) {
 56.1196 -+			k=get_bits(bd,16);
 56.1197 -+			for(j=0;j<16;j++)
 56.1198 -+				if(k&(1<<(15-j))) symToByte[symTotal++]=(16*i)+j;
 56.1199 -+		}
 56.1200 -+	}
 56.1201 -+	/* How many different Huffman coding groups does this block use? */
 56.1202 -+	groupCount=get_bits(bd,3);
 56.1203 -+	if (groupCount<2 || groupCount>MAX_GROUPS) return RETVAL_DATA_ERROR;
 56.1204 -+	/* nSelectors: Every GROUP_SIZE many symbols we select a new Huffman coding
 56.1205 -+	   group.  Read in the group selector list, which is stored as MTF encoded
 56.1206 -+	   bit runs.  (MTF=Move To Front, as each value is used it's moved to the
 56.1207 -+	   start of the list.) */
 56.1208 -+	if(!(nSelectors=get_bits(bd, 15))) return RETVAL_DATA_ERROR;
 56.1209 -+	for(i=0; i<groupCount; i++) mtfSymbol[i] = i;
 56.1210 -+	for(i=0; i<nSelectors; i++) {
 56.1211 -+		/* Get next value */
 56.1212 -+		for(j=0;get_bits(bd,1);j++) if (j>=groupCount) return RETVAL_DATA_ERROR;
 56.1213 -+		/* Decode MTF to get the next selector */
 56.1214 -+		uc = mtfSymbol[j];
 56.1215 -+		for(;j;j--) mtfSymbol[j] = mtfSymbol[j-1];
 56.1216 -+		mtfSymbol[0]=selectors[i]=uc;
 56.1217 -+	}
 56.1218 -+	/* Read the Huffman coding tables for each group, which code for symTotal
 56.1219 -+	   literal symbols, plus two run symbols (RUNA, RUNB) */
 56.1220 -+	symCount=symTotal+2;
 56.1221 -+	for (j=0; j<groupCount; j++) {
 56.1222 -+		unsigned char length[MAX_SYMBOLS],temp[MAX_HUFCODE_BITS+1];
 56.1223 -+		int	minLen,	maxLen, pp;
 56.1224 -+		/* Read Huffman code lengths for each symbol.  They're stored in
 56.1225 -+		   a way similar to mtf; record a starting value for the first symbol,
 56.1226 -+		   and an offset from the previous value for everys symbol after that.
 56.1227 -+		   (Subtracting 1 before the loop and then adding it back at the end is
 56.1228 -+		   an optimization that makes the test inside the loop simpler: symbol
 56.1229 -+		   length 0 becomes negative, so an unsigned inequality catches it.) */
 56.1230 -+		t=get_bits(bd, 5)-1;
 56.1231 -+		for (i = 0; i < symCount; i++) {
 56.1232 -+			for(;;) {
 56.1233 -+				if (((unsigned)t) > (MAX_HUFCODE_BITS-1))
 56.1234 -+					return RETVAL_DATA_ERROR;
 56.1235 -+				/* If first bit is 0, stop.  Else second bit indicates whether
 56.1236 -+				   to increment or decrement the value.  Optimization: grab 2
 56.1237 -+				   bits and unget the second if the first was 0. */
 56.1238 -+				k = get_bits(bd,2);
 56.1239 -+				if (k < 2) {
 56.1240 -+					bd->inbufBitCount++;
 56.1241 -+					break;
 56.1242 -+				}
 56.1243 -+				/* Add one if second bit 1, else subtract 1.  Avoids if/else */
 56.1244 -+				t+=(((k+1)&2)-1);
 56.1245 -+			}
 56.1246 -+			/* Correct for the initial -1, to get the final symbol length */
 56.1247 -+			length[i]=t+1;
 56.1248 -+		}
 56.1249 -+		/* Find largest and smallest lengths in this group */
 56.1250 -+		minLen=maxLen=length[0];
 56.1251 -+		for(i = 1; i < symCount; i++) {
 56.1252 -+			if(length[i] > maxLen) maxLen = length[i];
 56.1253 -+			else if(length[i] < minLen) minLen = length[i];
 56.1254 -+		}
 56.1255 -+		/* Calculate permute[], base[], and limit[] tables from length[].
 56.1256 -+		 *
 56.1257 -+		 * permute[] is the lookup table for converting Huffman coded symbols
 56.1258 -+		 * into decoded symbols.  base[] is the amount to subtract from the
 56.1259 -+		 * value of a Huffman symbol of a given length when using permute[].
 56.1260 -+		 *
 56.1261 -+		 * limit[] indicates the largest numerical value a symbol with a given
 56.1262 -+		 * number of bits can have.  This is how the Huffman codes can vary in
 56.1263 -+		 * length: each code with a value>limit[length] needs another bit.
 56.1264 -+		 */
 56.1265 -+		hufGroup=bd->groups+j;
 56.1266 -+		hufGroup->minLen = minLen;
 56.1267 -+		hufGroup->maxLen = maxLen;
 56.1268 -+		/* Note that minLen can't be smaller than 1, so we adjust the base
 56.1269 -+		   and limit array pointers so we're not always wasting the first
 56.1270 -+		   entry.  We do this again when using them (during symbol decoding).*/
 56.1271 -+		base=hufGroup->base-1;
 56.1272 -+		limit=hufGroup->limit-1;
 56.1273 -+		/* Calculate permute[].  Concurently, initialize temp[] and limit[]. */
 56.1274 -+		pp=0;
 56.1275 -+		for(i=minLen;i<=maxLen;i++) {
 56.1276 -+			temp[i]=limit[i]=0;
 56.1277 -+			for(t=0;t<symCount;t++)
 56.1278 -+				if(length[t]==i) hufGroup->permute[pp++] = t;
 56.1279 -+		}
 56.1280 -+		/* Count symbols coded for at each bit length */
 56.1281 -+		for (i=0;i<symCount;i++) temp[length[i]]++;
 56.1282 -+		/* Calculate limit[] (the largest symbol-coding value at each bit
 56.1283 -+		 * length, which is (previous limit<<1)+symbols at this level), and
 56.1284 -+		 * base[] (number of symbols to ignore at each bit length, which is
 56.1285 -+		 * limit minus the cumulative count of symbols coded for already). */
 56.1286 -+		pp=t=0;
 56.1287 -+		for (i=minLen; i<maxLen; i++) {
 56.1288 -+			pp+=temp[i];
 56.1289 -+			/* We read the largest possible symbol size and then unget bits
 56.1290 -+			   after determining how many we need, and those extra bits could
 56.1291 -+			   be set to anything.  (They're noise from future symbols.)  At
 56.1292 -+			   each level we're really only interested in the first few bits,
 56.1293 -+			   so here we set all the trailing to-be-ignored bits to 1 so they
 56.1294 -+			   don't affect the value>limit[length] comparison. */
 56.1295 -+			limit[i]= (pp << (maxLen - i)) - 1;
 56.1296 -+			pp<<=1;
 56.1297 -+			base[i+1]=pp-(t+=temp[i]);
 56.1298 -+		}
 56.1299 -+		limit[maxLen+1] = INT_MAX; /* Sentinal value for reading next sym. */
 56.1300 -+		limit[maxLen]=pp+temp[maxLen]-1;
 56.1301 -+		base[minLen]=0;
 56.1302 -+	}
 56.1303 -+	/* We've finished reading and digesting the block header.  Now read this
 56.1304 -+	   block's Huffman coded symbols from the file and undo the Huffman coding
 56.1305 -+	   and run length encoding, saving the result into dbuf[dbufCount++]=uc */
 56.1306 -+
 56.1307 -+	/* Initialize symbol occurrence counters and symbol Move To Front table */
 56.1308 -+	for(i=0;i<256;i++) {
 56.1309 -+		byteCount[i] = 0;
 56.1310 -+		mtfSymbol[i]=(unsigned char)i;
 56.1311 -+	}
 56.1312 -+	/* Loop through compressed symbols. */
 56.1313 -+	runPos=dbufCount=symCount=selector=0;
 56.1314 -+	for(;;) {
 56.1315 -+		/* Determine which Huffman coding group to use. */
 56.1316 -+		if(!(symCount--)) {
 56.1317 -+			symCount=GROUP_SIZE-1;
 56.1318 -+			if(selector>=nSelectors) return RETVAL_DATA_ERROR;
 56.1319 -+			hufGroup=bd->groups+selectors[selector++];
 56.1320 -+			base=hufGroup->base-1;
 56.1321 -+			limit=hufGroup->limit-1;
 56.1322 -+		}
 56.1323 -+		/* Read next Huffman-coded symbol. */
 56.1324 -+		/* Note: It is far cheaper to read maxLen bits and back up than it is
 56.1325 -+		   to read minLen bits and then an additional bit at a time, testing
 56.1326 -+		   as we go.  Because there is a trailing last block (with file CRC),
 56.1327 -+		   there is no danger of the overread causing an unexpected EOF for a
 56.1328 -+		   valid compressed file.  As a further optimization, we do the read
 56.1329 -+		   inline (falling back to a call to get_bits if the buffer runs
 56.1330 -+		   dry).  The following (up to got_huff_bits:) is equivalent to
 56.1331 -+		   j=get_bits(bd,hufGroup->maxLen);
 56.1332 -+		 */
 56.1333 -+		while (bd->inbufBitCount<hufGroup->maxLen) {
 56.1334 -+			if(bd->inbufPos==bd->inbufCount) {
 56.1335 -+				j = get_bits(bd,hufGroup->maxLen);
 56.1336 -+				goto got_huff_bits;
 56.1337 -+			}
 56.1338 -+			bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++];
 56.1339 -+			bd->inbufBitCount+=8;
 56.1340 -+		};
 56.1341 -+		bd->inbufBitCount-=hufGroup->maxLen;
 56.1342 -+		j = (bd->inbufBits>>bd->inbufBitCount)&((1<<hufGroup->maxLen)-1);
 56.1343 -+got_huff_bits:
 56.1344 -+		/* Figure how how many bits are in next symbol and unget extras */
 56.1345 -+		i=hufGroup->minLen;
 56.1346 -+		while(j>limit[i]) ++i;
 56.1347 -+		bd->inbufBitCount += (hufGroup->maxLen - i);
 56.1348 -+		/* Huffman decode value to get nextSym (with bounds checking) */
 56.1349 -+		if ((i > hufGroup->maxLen)
 56.1350 -+			|| (((unsigned)(j=(j>>(hufGroup->maxLen-i))-base[i]))
 56.1351 -+				>= MAX_SYMBOLS))
 56.1352 -+			return RETVAL_DATA_ERROR;
 56.1353 -+		nextSym = hufGroup->permute[j];
 56.1354 -+		/* We have now decoded the symbol, which indicates either a new literal
 56.1355 -+		   byte, or a repeated run of the most recent literal byte.  First,
 56.1356 -+		   check if nextSym indicates a repeated run, and if so loop collecting
 56.1357 -+		   how many times to repeat the last literal. */
 56.1358 -+		if (((unsigned)nextSym) <= SYMBOL_RUNB) { /* RUNA or RUNB */
 56.1359 -+			/* If this is the start of a new run, zero out counter */
 56.1360 -+			if(!runPos) {
 56.1361 -+				runPos = 1;
 56.1362 -+				t = 0;
 56.1363 -+			}
 56.1364 -+			/* Neat trick that saves 1 symbol: instead of or-ing 0 or 1 at
 56.1365 -+			   each bit position, add 1 or 2 instead.  For example,
 56.1366 -+			   1011 is 1<<0 + 1<<1 + 2<<2.  1010 is 2<<0 + 2<<1 + 1<<2.
 56.1367 -+			   You can make any bit pattern that way using 1 less symbol than
 56.1368 -+			   the basic or 0/1 method (except all bits 0, which would use no
 56.1369 -+			   symbols, but a run of length 0 doesn't mean anything in this
 56.1370 -+			   context).  Thus space is saved. */
 56.1371 -+			t += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */
 56.1372 -+			runPos <<= 1;
 56.1373 -+			continue;
 56.1374 -+		}
 56.1375 -+		/* When we hit the first non-run symbol after a run, we now know
 56.1376 -+		   how many times to repeat the last literal, so append that many
 56.1377 -+		   copies to our buffer of decoded symbols (dbuf) now.  (The last
 56.1378 -+		   literal used is the one at the head of the mtfSymbol array.) */
 56.1379 -+		if(runPos) {
 56.1380 -+			runPos=0;
 56.1381 -+			if(dbufCount+t>=dbufSize) return RETVAL_DATA_ERROR;
 56.1382 -+
 56.1383 -+			uc = symToByte[mtfSymbol[0]];
 56.1384 -+			byteCount[uc] += t;
 56.1385 -+			while(t--) dbuf[dbufCount++]=uc;
 56.1386 -+		}
 56.1387 -+		/* Is this the terminating symbol? */
 56.1388 -+		if(nextSym>symTotal) break;
 56.1389 -+		/* At this point, nextSym indicates a new literal character.  Subtract
 56.1390 -+		   one to get the position in the MTF array at which this literal is
 56.1391 -+		   currently to be found.  (Note that the result can't be -1 or 0,
 56.1392 -+		   because 0 and 1 are RUNA and RUNB.  But another instance of the
 56.1393 -+		   first symbol in the mtf array, position 0, would have been handled
 56.1394 -+		   as part of a run above.  Therefore 1 unused mtf position minus
 56.1395 -+		   2 non-literal nextSym values equals -1.) */
 56.1396 -+		if(dbufCount>=dbufSize) return RETVAL_DATA_ERROR;
 56.1397 -+		i = nextSym - 1;
 56.1398 -+		uc = mtfSymbol[i];
 56.1399 -+		/* Adjust the MTF array.  Since we typically expect to move only a
 56.1400 -+		 * small number of symbols, and are bound by 256 in any case, using
 56.1401 -+		 * memmove here would typically be bigger and slower due to function
 56.1402 -+		 * call overhead and other assorted setup costs. */
 56.1403 -+		do {
 56.1404 -+			mtfSymbol[i] = mtfSymbol[i-1];
 56.1405 -+		} while (--i);
 56.1406 -+		mtfSymbol[0] = uc;
 56.1407 -+		uc=symToByte[uc];
 56.1408 -+		/* We have our literal byte.  Save it into dbuf. */
 56.1409 -+		byteCount[uc]++;
 56.1410 -+		dbuf[dbufCount++] = (unsigned int)uc;
 56.1411 -+	}
 56.1412 -+	/* At this point, we've read all the Huffman-coded symbols (and repeated
 56.1413 -+       runs) for this block from the input stream, and decoded them into the
 56.1414 -+	   intermediate buffer.  There are dbufCount many decoded bytes in dbuf[].
 56.1415 -+	   Now undo the Burrows-Wheeler transform on dbuf.
 56.1416 -+	   See http://dogma.net/markn/articles/bwt/bwt.htm
 56.1417 -+	 */
 56.1418 -+	/* Turn byteCount into cumulative occurrence counts of 0 to n-1. */
 56.1419 -+	j=0;
 56.1420 -+	for(i=0;i<256;i++) {
 56.1421 -+		k=j+byteCount[i];
 56.1422 -+		byteCount[i] = j;
 56.1423 -+		j=k;
 56.1424 -+	}
 56.1425 -+	/* Figure out what order dbuf would be in if we sorted it. */
 56.1426 -+	for (i=0;i<dbufCount;i++) {
 56.1427 -+		uc=(unsigned char)(dbuf[i] & 0xff);
 56.1428 -+		dbuf[byteCount[uc]] |= (i << 8);
 56.1429 -+		byteCount[uc]++;
 56.1430 -+	}
 56.1431 -+	/* Decode first byte by hand to initialize "previous" byte.  Note that it
 56.1432 -+	   doesn't get output, and if the first three characters are identical
 56.1433 -+	   it doesn't qualify as a run (hence writeRunCountdown=5). */
 56.1434 -+	if(dbufCount) {
 56.1435 -+		if(origPtr>=dbufCount) return RETVAL_DATA_ERROR;
 56.1436 -+		bd->writePos=dbuf[origPtr];
 56.1437 -+	    bd->writeCurrent=(unsigned char)(bd->writePos&0xff);
 56.1438 -+		bd->writePos>>=8;
 56.1439 -+		bd->writeRunCountdown=5;
 56.1440 -+	}
 56.1441 -+	bd->writeCount=dbufCount;
 56.1442 -+
 56.1443 -+	return RETVAL_OK;
 56.1444 -+}
 56.1445 -+
 56.1446 -+/* Undo burrows-wheeler transform on intermediate buffer to produce output.
 56.1447 -+   If start_bunzip was initialized with out_fd=-1, then up to len bytes of
 56.1448 -+   data are written to outbuf.  Return value is number of bytes written or
 56.1449 -+   error (all errors are negative numbers).  If out_fd!=-1, outbuf and len
 56.1450 -+   are ignored, data is written to out_fd and return is RETVAL_OK or error.
 56.1451 -+*/
 56.1452 -+
 56.1453 -+static int read_bunzip(bunzip_data *bd, char *outbuf, int len)
 56.1454 -+{
 56.1455 -+	const unsigned int *dbuf;
 56.1456 -+	int pos,xcurrent,previous,gotcount;
 56.1457 -+
 56.1458 -+	/* If last read was short due to end of file, return last block now */
 56.1459 -+	if(bd->writeCount<0) return bd->writeCount;
 56.1460 -+
 56.1461 -+	gotcount = 0;
 56.1462 -+	dbuf=bd->dbuf;
 56.1463 -+	pos=bd->writePos;
 56.1464 -+	xcurrent=bd->writeCurrent;
 56.1465 -+
 56.1466 -+	/* We will always have pending decoded data to write into the output
 56.1467 -+	   buffer unless this is the very first call (in which case we haven't
 56.1468 -+	   Huffman-decoded a block into the intermediate buffer yet). */
 56.1469 -+
 56.1470 -+	if (bd->writeCopies) {
 56.1471 -+		/* Inside the loop, writeCopies means extra copies (beyond 1) */
 56.1472 -+		--bd->writeCopies;
 56.1473 -+		/* Loop outputting bytes */
 56.1474 -+		for(;;) {
 56.1475 -+			/* If the output buffer is full, snapshot state and return */
 56.1476 -+			if(gotcount >= len) {
 56.1477 -+				bd->writePos=pos;
 56.1478 -+				bd->writeCurrent=xcurrent;
 56.1479 -+				bd->writeCopies++;
 56.1480 -+				return len;
 56.1481 -+			}
 56.1482 -+			/* Write next byte into output buffer, updating CRC */
 56.1483 -+			outbuf[gotcount++] = xcurrent;
 56.1484 -+			bd->writeCRC=(((bd->writeCRC)<<8)
 56.1485 -+						  ^bd->crc32Table[((bd->writeCRC)>>24)^xcurrent]);
 56.1486 -+			/* Loop now if we're outputting multiple copies of this byte */
 56.1487 -+			if (bd->writeCopies) {
 56.1488 -+				--bd->writeCopies;
 56.1489 -+				continue;
 56.1490 -+			}
 56.1491 -+decode_next_byte:
 56.1492 -+			if (!bd->writeCount--) break;
 56.1493 -+			/* Follow sequence vector to undo Burrows-Wheeler transform */
 56.1494 -+			previous=xcurrent;
 56.1495 -+			pos=dbuf[pos];
 56.1496 -+			xcurrent=pos&0xff;
 56.1497 -+			pos>>=8;
 56.1498 -+			/* After 3 consecutive copies of the same byte, the 4th is a repeat
 56.1499 -+			   count.  We count down from 4 instead
 56.1500 -+			 * of counting up because testing for non-zero is faster */
 56.1501 -+			if(--bd->writeRunCountdown) {
 56.1502 -+				if(xcurrent!=previous) bd->writeRunCountdown=4;
 56.1503 -+			} else {
 56.1504 -+				/* We have a repeated run, this byte indicates the count */
 56.1505 -+				bd->writeCopies=xcurrent;
 56.1506 -+				xcurrent=previous;
 56.1507 -+				bd->writeRunCountdown=5;
 56.1508 -+				/* Sometimes there are just 3 bytes (run length 0) */
 56.1509 -+				if(!bd->writeCopies) goto decode_next_byte;
 56.1510 -+				/* Subtract the 1 copy we'd output anyway to get extras */
 56.1511 -+				--bd->writeCopies;
 56.1512 -+			}
 56.1513 -+		}
 56.1514 -+		/* Decompression of this block completed successfully */
 56.1515 -+		bd->writeCRC=~bd->writeCRC;
 56.1516 -+		bd->totalCRC=((bd->totalCRC<<1) | (bd->totalCRC>>31)) ^ bd->writeCRC;
 56.1517 -+		/* If this block had a CRC error, force file level CRC error. */
 56.1518 -+		if(bd->writeCRC!=bd->headerCRC) {
 56.1519 -+			bd->totalCRC=bd->headerCRC+1;
 56.1520 -+			return RETVAL_LAST_BLOCK;
 56.1521 -+		}
 56.1522 -+	}
 56.1523 -+
 56.1524 -+	/* Refill the intermediate buffer by Huffman-decoding next block of input */
 56.1525 -+	/* (previous is just a convenient unused temp variable here) */
 56.1526 -+	previous=get_next_block(bd);
 56.1527 -+	if(previous) {
 56.1528 -+		bd->writeCount=previous;
 56.1529 -+		return (previous!=RETVAL_LAST_BLOCK) ? previous : gotcount;
 56.1530 -+	}
 56.1531 -+	bd->writeCRC=0xffffffffUL;
 56.1532 -+	pos=bd->writePos;
 56.1533 -+	xcurrent=bd->writeCurrent;
 56.1534 -+	goto decode_next_byte;
 56.1535 -+}
 56.1536 -+
 56.1537 -+static int nofill(void *buf,unsigned int len) {
 56.1538 -+	return -1;
 56.1539 -+}
 56.1540 -+
 56.1541 -+/* Allocate the structure, read file header.  If in_fd==-1, inbuf must contain
 56.1542 -+   a complete bunzip file (len bytes long).  If in_fd!=-1, inbuf and len are
 56.1543 -+   ignored, and data is read from file handle into temporary buffer. */
 56.1544 -+static int start_bunzip(bunzip_data **bdp, void *inbuf, int len,
 56.1545 -+			int (*fill)(void*,unsigned int))
 56.1546 -+{
 56.1547 -+	bunzip_data *bd;
 56.1548 -+	unsigned int i,j,c;
 56.1549 -+	const unsigned int BZh0=(((unsigned int)'B')<<24)+(((unsigned int)'Z')<<16)
 56.1550 -+							+(((unsigned int)'h')<<8)+(unsigned int)'0';
 56.1551 -+
 56.1552 -+	/* Figure out how much data to allocate */
 56.1553 -+	i=sizeof(bunzip_data);
 56.1554 -+
 56.1555 -+	/* Allocate bunzip_data.  Most fields initialize to zero. */
 56.1556 -+	bd=*bdp=malloc(i);
 56.1557 -+	memset(bd,0,sizeof(bunzip_data));
 56.1558 -+	/* Setup input buffer */
 56.1559 -+	bd->inbuf=inbuf;
 56.1560 -+	bd->inbufCount=len;
 56.1561 -+	if(fill != NULL)
 56.1562 -+		bd->fill=fill;
 56.1563 -+	else
 56.1564 -+		bd->fill=nofill;
 56.1565 -+
 56.1566 -+	/* Init the CRC32 table (big endian) */
 56.1567 -+	for(i=0;i<256;i++) {
 56.1568 -+		c=i<<24;
 56.1569 -+		for(j=8;j;j--)
 56.1570 -+			c=c&0x80000000 ? (c<<1)^0x04c11db7 : (c<<1);
 56.1571 -+		bd->crc32Table[i]=c;
 56.1572 -+	}
 56.1573 -+
 56.1574 -+	/* Ensure that file starts with "BZh['1'-'9']." */
 56.1575 -+	i = get_bits(bd,32);
 56.1576 -+	if (((unsigned int)(i-BZh0-1)) >= 9) return RETVAL_NOT_BZIP_DATA;
 56.1577 -+
 56.1578 -+	/* Fourth byte (ascii '1'-'9'), indicates block size in units of 100k of
 56.1579 -+	   uncompressed data.  Allocate intermediate buffer for block. */
 56.1580 -+	bd->dbufSize=100000*(i-BZh0);
 56.1581 -+
 56.1582 -+	bd->dbuf=large_malloc(bd->dbufSize * sizeof(int));
 56.1583 -+	return RETVAL_OK;
 56.1584 -+}
 56.1585 -+
 56.1586 -+/* Example usage: decompress src_fd to dst_fd.  (Stops at end of bzip data,
 56.1587 -+   not end of file.) */
 56.1588 -+STATIC int bunzip2(char *inbuf, int len, 
 56.1589 -+		   int(*fill)(void*,unsigned int),
 56.1590 -+		   int(*writebb)(char*,unsigned int),
 56.1591 -+		   int *pos)
 56.1592 -+{
 56.1593 -+	char *outbuf;
 56.1594 -+	bunzip_data *bd;
 56.1595 -+	int i;
 56.1596 -+
 56.1597 -+	outbuf=malloc(BZIP2_IOBUF_SIZE);
 56.1598 -+	if(!(i=start_bunzip(&bd,inbuf,len,fill))) {
 56.1599 -+		for(;;) {
 56.1600 -+			if((i=read_bunzip(bd,outbuf,BZIP2_IOBUF_SIZE)) <= 0) break;
 56.1601 -+			if(i!=writebb(outbuf,i)) {
 56.1602 -+				i=RETVAL_UNEXPECTED_OUTPUT_EOF;
 56.1603 -+				break;
 56.1604 -+			}
 56.1605 -+		}
 56.1606 -+	}
 56.1607 -+	/* Check CRC and release memory */
 56.1608 -+	if(i==RETVAL_LAST_BLOCK) {
 56.1609 -+		if (bd->headerCRC!=bd->totalCRC) {
 56.1610 -+			error("Data integrity error when decompressing.");
 56.1611 -+		} else {
 56.1612 -+			i=RETVAL_OK;
 56.1613 -+		}
 56.1614 -+	}
 56.1615 -+	else if (i==RETVAL_UNEXPECTED_OUTPUT_EOF) {
 56.1616 -+		error("Compressed file ends unexpectedly");
 56.1617 -+	}
 56.1618 -+	if(bd->dbuf) large_free(bd->dbuf);
 56.1619 -+	if(pos)
 56.1620 -+		*pos = bd->inbufPos;
 56.1621 -+	free(bd);
 56.1622 -+	free(outbuf);
 56.1623 -+
 56.1624 -+	return i;
 56.1625 -+}
 56.1626 -+
 56.1627 -
 56.1628 ---- linux-2.6.24.2/lib/decompress_unlzma.c
 56.1629 -+++ linux-2.6.24.2/lib/decompress_unlzma.c
 56.1630 -@@ -0,0 +1,601 @@
 56.1631 -+/* Lzma decompressor for Linux kernel. Shamelessly snarfed
 56.1632 -+ * from busybox 1.1.1
 56.1633 -+ *
 56.1634 -+ * Linux kernel adaptation
 56.1635 -+ * Copyright (C) 2006  Alain <alain@knaff.lu>
 56.1636 -+ *
 56.1637 -+ * Based on small lzma deflate implementation/Small range coder 
 56.1638 -+ * implementation for lzma.
 56.1639 -+ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 56.1640 -+ *
 56.1641 -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 56.1642 -+ * Copyright (C) 1999-2005  Igor Pavlov
 56.1643 -+ *
 56.1644 -+ * Copyrights of the parts, see headers below.
 56.1645 -+ *
 56.1646 -+ *
 56.1647 -+ * This program is free software; you can redistribute it and/or
 56.1648 -+ * modify it under the terms of the GNU Lesser General Public
 56.1649 -+ * License as published by the Free Software Foundation; either
 56.1650 -+ * version 2.1 of the License, or (at your option) any later version.
 56.1651 -+ *
 56.1652 -+ * This program is distributed in the hope that it will be useful,
 56.1653 -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
 56.1654 -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 56.1655 -+ * Lesser General Public License for more details.
 56.1656 -+ *
 56.1657 -+ * You should have received a copy of the GNU Lesser General Public
 56.1658 -+ * License along with this library; if not, write to the Free Software
 56.1659 -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 56.1660 -+ */
 56.1661 -+
 56.1662 -+#ifndef STATIC
 56.1663 -+
 56.1664 -+#include <linux/kernel.h>
 56.1665 -+#include <linux/fs.h>
 56.1666 -+#include <linux/string.h>
 56.1667 -+
 56.1668 -+#ifdef TEST
 56.1669 -+#include "test.h"
 56.1670 -+#else
 56.1671 -+#include <linux/vmalloc.h>
 56.1672 -+#endif
 56.1673 -+
 56.1674 -+static void __init *large_malloc(size_t size)
 56.1675 -+{
 56.1676 -+	return vmalloc(size);
 56.1677 -+}
 56.1678 -+
 56.1679 -+static void __init large_free(void *where)
 56.1680 -+{
 56.1681 -+	vfree(where);
 56.1682 -+}
 56.1683 -+
 56.1684 -+#ifndef TEST
 56.1685 -+static void __init *malloc(size_t size)
 56.1686 -+{
 56.1687 -+	return kmalloc(size, GFP_KERNEL);
 56.1688 -+}
 56.1689 -+
 56.1690 -+static void __init free(void *where)
 56.1691 -+{
 56.1692 -+	kfree(where);
 56.1693 -+}
 56.1694 -+
 56.1695 -+static void __init error(char *x)
 56.1696 -+{
 56.1697 -+	printk(KERN_ERR "%s\n", x);
 56.1698 -+}
 56.1699 -+
 56.1700 -+#endif
 56.1701 -+
 56.1702 -+#define STATIC /**/
 56.1703 -+
 56.1704 -+#endif
 56.1705 -+
 56.1706 -+#include <linux/decompress_unlzma.h>
 56.1707 -+
 56.1708 -+#define	MIN(a,b) (((a)<(b))?(a):(b))
 56.1709 -+
 56.1710 -+static long long read_int(unsigned char *ptr, int size)
 56.1711 -+{
 56.1712 -+	int i;
 56.1713 -+	long long ret=0;
 56.1714 -+
 56.1715 -+	for(i=0; i<size; i++) {
 56.1716 -+		ret = (ret << 8) | ptr[size-i-1];
 56.1717 -+	}
 56.1718 -+	return ret;
 56.1719 -+}
 56.1720 -+
 56.1721 -+#define ENDIAN_CONVERT(x) x=(typeof(x))read_int((unsigned char*)&x,sizeof(x))
 56.1722 -+
 56.1723 -+
 56.1724 -+/* Small range coder implementation for lzma.
 56.1725 -+ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 56.1726 -+ *
 56.1727 -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 56.1728 -+ * Copyright (c) 1999-2005  Igor Pavlov
 56.1729 -+ */
 56.1730 -+
 56.1731 -+#ifndef always_inline
 56.1732 -+#  if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >0)
 56.1733 -+#    define always_inline __attribute__((always_inline)) inline
 56.1734 -+#  else
 56.1735 -+#    define always_inline inline
 56.1736 -+#  endif
 56.1737 -+#endif
 56.1738 -+
 56.1739 -+#ifdef CONFIG_FEATURE_LZMA_FAST
 56.1740 -+#  define speed_inline always_inline
 56.1741 -+#else
 56.1742 -+#  define speed_inline
 56.1743 -+#endif
 56.1744 -+
 56.1745 -+
 56.1746 -+typedef struct {
 56.1747 -+	int (*fill)(void*,unsigned int);
 56.1748 -+	uint8_t *ptr;
 56.1749 -+	uint8_t *buffer;
 56.1750 -+	uint8_t *buffer_end;
 56.1751 -+	int buffer_size;
 56.1752 -+	uint32_t code;
 56.1753 -+	uint32_t range;
 56.1754 -+	uint32_t bound;
 56.1755 -+} rc_t;
 56.1756 -+
 56.1757 -+
 56.1758 -+#define RC_TOP_BITS 24
 56.1759 -+#define RC_MOVE_BITS 5
 56.1760 -+#define RC_MODEL_TOTAL_BITS 11
 56.1761 -+
 56.1762 -+
 56.1763 -+/* Called twice: once at startup and once in rc_normalize() */
 56.1764 -+static void rc_read(rc_t * rc)
 56.1765 -+{
 56.1766 -+	rc->buffer_size = rc->fill((char*)rc->buffer, LZMA_IOBUF_SIZE);
 56.1767 -+	if (rc->buffer_size <= 0)
 56.1768 -+		error("unexpected EOF");
 56.1769 -+	rc->ptr = rc->buffer;
 56.1770 -+	rc->buffer_end = rc->buffer + rc->buffer_size;
 56.1771 -+}
 56.1772 -+
 56.1773 -+/* Called once */
 56.1774 -+static always_inline void rc_init(rc_t * rc, int (*fill)(void*,unsigned int),
 56.1775 -+				  char *buffer, int buffer_size)
 56.1776 -+{
 56.1777 -+	rc->fill = fill;
 56.1778 -+	rc->buffer = (uint8_t *)buffer;
 56.1779 -+	rc->buffer_size = buffer_size;
 56.1780 -+	rc->buffer_end = rc->buffer + rc->buffer_size;
 56.1781 -+	rc->ptr = rc->buffer;
 56.1782 -+
 56.1783 -+	rc->code = 0;
 56.1784 -+	rc->range = 0xFFFFFFFF;
 56.1785 -+}
 56.1786 -+
 56.1787 -+static always_inline void rc_init_code(rc_t * rc)
 56.1788 -+{
 56.1789 -+	int i;
 56.1790 -+
 56.1791 -+	for (i = 0; i < 5; i++) {
 56.1792 -+		if (rc->ptr >= rc->buffer_end)
 56.1793 -+			rc_read(rc);
 56.1794 -+		rc->code = (rc->code << 8) | *rc->ptr++;
 56.1795 -+	}
 56.1796 -+}
 56.1797 -+
 56.1798 -+
 56.1799 -+/* Called once. TODO: bb_maybe_free() */
 56.1800 -+static always_inline void rc_free(rc_t * rc)
 56.1801 -+{
 56.1802 -+	free(rc->buffer);
 56.1803 -+}
 56.1804 -+
 56.1805 -+/* Called twice, but one callsite is in speed_inline'd rc_is_bit_0_helper() */
 56.1806 -+static void rc_do_normalize(rc_t * rc)
 56.1807 -+{
 56.1808 -+	if (rc->ptr >= rc->buffer_end)
 56.1809 -+		rc_read(rc);
 56.1810 -+	rc->range <<= 8;
 56.1811 -+	rc->code = (rc->code << 8) | *rc->ptr++;
 56.1812 -+}
 56.1813 -+static always_inline void rc_normalize(rc_t * rc)
 56.1814 -+{
 56.1815 -+	if (rc->range < (1 << RC_TOP_BITS)) {
 56.1816 -+		rc_do_normalize(rc);
 56.1817 -+	}
 56.1818 -+}
 56.1819 -+
 56.1820 -+/* Called 9 times */
 56.1821 -+/* Why rc_is_bit_0_helper exists?
 56.1822 -+ * Because we want to always expose (rc->code < rc->bound) to optimizer
 56.1823 -+ */
 56.1824 -+static speed_inline uint32_t rc_is_bit_0_helper(rc_t * rc, uint16_t * p)
 56.1825 -+{
 56.1826 -+	rc_normalize(rc);
 56.1827 -+	rc->bound = *p * (rc->range >> RC_MODEL_TOTAL_BITS);
 56.1828 -+	return rc->bound;
 56.1829 -+}
 56.1830 -+static always_inline int rc_is_bit_0(rc_t * rc, uint16_t * p)
 56.1831 -+{
 56.1832 -+	uint32_t t = rc_is_bit_0_helper(rc, p);
 56.1833 -+	return rc->code < t;
 56.1834 -+}
 56.1835 -+
 56.1836 -+/* Called ~10 times, but very small, thus inlined */
 56.1837 -+static speed_inline void rc_update_bit_0(rc_t * rc, uint16_t * p)
 56.1838 -+{
 56.1839 -+	rc->range = rc->bound;
 56.1840 -+	*p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS;
 56.1841 -+}
 56.1842 -+static speed_inline void rc_update_bit_1(rc_t * rc, uint16_t * p)
 56.1843 -+{
 56.1844 -+	rc->range -= rc->bound;
 56.1845 -+	rc->code -= rc->bound;
 56.1846 -+	*p -= *p >> RC_MOVE_BITS;
 56.1847 -+}
 56.1848 -+
 56.1849 -+/* Called 4 times in unlzma loop */
 56.1850 -+static int rc_get_bit(rc_t * rc, uint16_t * p, int *symbol)
 56.1851 -+{
 56.1852 -+	if (rc_is_bit_0(rc, p)) {
 56.1853 -+		rc_update_bit_0(rc, p);
 56.1854 -+		*symbol *= 2;
 56.1855 -+		return 0;
 56.1856 -+	} else {
 56.1857 -+		rc_update_bit_1(rc, p);
 56.1858 -+		*symbol = *symbol * 2 + 1;
 56.1859 -+		return 1;
 56.1860 -+	}
 56.1861 -+}
 56.1862 -+
 56.1863 -+/* Called once */
 56.1864 -+static always_inline int rc_direct_bit(rc_t * rc)
 56.1865 -+{
 56.1866 -+	rc_normalize(rc);
 56.1867 -+	rc->range >>= 1;
 56.1868 -+	if (rc->code >= rc->range) {
 56.1869 -+		rc->code -= rc->range;
 56.1870 -+		return 1;
 56.1871 -+	}
 56.1872 -+	return 0;
 56.1873 -+}
 56.1874 -+
 56.1875 -+/* Called twice */
 56.1876 -+static speed_inline void
 56.1877 -+rc_bit_tree_decode(rc_t * rc, uint16_t * p, int num_levels, int *symbol)
 56.1878 -+{
 56.1879 -+	int i = num_levels;
 56.1880 -+
 56.1881 -+	*symbol = 1;
 56.1882 -+	while (i--)
 56.1883 -+		rc_get_bit(rc, p + *symbol, symbol);
 56.1884 -+	*symbol -= 1 << num_levels;
 56.1885 -+}
 56.1886 -+
 56.1887 -+
 56.1888 -+/*
 56.1889 -+ * Small lzma deflate implementation.
 56.1890 -+ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 56.1891 -+ *
 56.1892 -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 56.1893 -+ * Copyright (C) 1999-2005  Igor Pavlov
 56.1894 -+ */
 56.1895 -+
 56.1896 -+
 56.1897 -+typedef struct {
 56.1898 -+	uint8_t pos;
 56.1899 -+	uint32_t dict_size;
 56.1900 -+	uint64_t dst_size;
 56.1901 -+} __attribute__ ((packed)) lzma_header_t;
 56.1902 -+
 56.1903 -+
 56.1904 -+#define LZMA_BASE_SIZE 1846
 56.1905 -+#define LZMA_LIT_SIZE 768
 56.1906 -+
 56.1907 -+#define LZMA_NUM_POS_BITS_MAX 4
 56.1908 -+
 56.1909 -+#define LZMA_LEN_NUM_LOW_BITS 3
 56.1910 -+#define LZMA_LEN_NUM_MID_BITS 3
 56.1911 -+#define LZMA_LEN_NUM_HIGH_BITS 8
 56.1912 -+
 56.1913 -+#define LZMA_LEN_CHOICE 0
 56.1914 -+#define LZMA_LEN_CHOICE_2 (LZMA_LEN_CHOICE + 1)
 56.1915 -+#define LZMA_LEN_LOW (LZMA_LEN_CHOICE_2 + 1)
 56.1916 -+#define LZMA_LEN_MID (LZMA_LEN_LOW \
 56.1917 -+		      + (1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_LOW_BITS)))
 56.1918 -+#define LZMA_LEN_HIGH (LZMA_LEN_MID \
 56.1919 -+		       +(1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_MID_BITS)))
 56.1920 -+#define LZMA_NUM_LEN_PROBS (LZMA_LEN_HIGH + (1 << LZMA_LEN_NUM_HIGH_BITS))
 56.1921 -+
 56.1922 -+#define LZMA_NUM_STATES 12
 56.1923 -+#define LZMA_NUM_LIT_STATES 7
 56.1924 -+
 56.1925 -+#define LZMA_START_POS_MODEL_INDEX 4
 56.1926 -+#define LZMA_END_POS_MODEL_INDEX 14
 56.1927 -+#define LZMA_NUM_FULL_DISTANCES (1 << (LZMA_END_POS_MODEL_INDEX >> 1))
 56.1928 -+
 56.1929 -+#define LZMA_NUM_POS_SLOT_BITS 6
 56.1930 -+#define LZMA_NUM_LEN_TO_POS_STATES 4
 56.1931 -+
 56.1932 -+#define LZMA_NUM_ALIGN_BITS 4
 56.1933 -+
 56.1934 -+#define LZMA_MATCH_MIN_LEN 2
 56.1935 -+
 56.1936 -+#define LZMA_IS_MATCH 0
 56.1937 -+#define LZMA_IS_REP (LZMA_IS_MATCH + (LZMA_NUM_STATES <<LZMA_NUM_POS_BITS_MAX))
 56.1938 -+#define LZMA_IS_REP_G0 (LZMA_IS_REP + LZMA_NUM_STATES)
 56.1939 -+#define LZMA_IS_REP_G1 (LZMA_IS_REP_G0 + LZMA_NUM_STATES)
 56.1940 -+#define LZMA_IS_REP_G2 (LZMA_IS_REP_G1 + LZMA_NUM_STATES)
 56.1941 -+#define LZMA_IS_REP_0_LONG (LZMA_IS_REP_G2 + LZMA_NUM_STATES)
 56.1942 -+#define LZMA_POS_SLOT (LZMA_IS_REP_0_LONG \
 56.1943 -+		       + (LZMA_NUM_STATES << LZMA_NUM_POS_BITS_MAX))
 56.1944 -+#define LZMA_SPEC_POS (LZMA_POS_SLOT \
 56.1945 -+		       +(LZMA_NUM_LEN_TO_POS_STATES << LZMA_NUM_POS_SLOT_BITS))
 56.1946 -+#define LZMA_ALIGN (LZMA_SPEC_POS \
 56.1947 -+		    + LZMA_NUM_FULL_DISTANCES - LZMA_END_POS_MODEL_INDEX)
 56.1948 -+#define LZMA_LEN_CODER (LZMA_ALIGN + (1 << LZMA_NUM_ALIGN_BITS))
 56.1949 -+#define LZMA_REP_LEN_CODER (LZMA_LEN_CODER + LZMA_NUM_LEN_PROBS)
 56.1950 -+#define LZMA_LITERAL (LZMA_REP_LEN_CODER + LZMA_NUM_LEN_PROBS)
 56.1951 -+
 56.1952 -+
 56.1953 -+STATIC int unlzma(char *inbuf, int in_len, 
 56.1954 -+		   int(*fill)(void*,unsigned int),
 56.1955 -+		   int(*writebb)(char*,unsigned int),
 56.1956 -+		   int *posp)
 56.1957 -+{
 56.1958 -+	lzma_header_t header;
 56.1959 -+	int lc, pb, lp;
 56.1960 -+	uint32_t pos_state_mask;
 56.1961 -+	uint32_t literal_pos_mask;
 56.1962 -+	uint32_t pos;
 56.1963 -+	uint16_t *p;
 56.1964 -+	uint16_t *prob;
 56.1965 -+	uint16_t *prob_lit;
 56.1966 -+	int num_bits;
 56.1967 -+	int num_probs;
 56.1968 -+	rc_t rc;
 56.1969 -+	int i, mi;
 56.1970 -+	uint8_t *buffer;
 56.1971 -+	uint8_t previous_byte = 0;
 56.1972 -+	size_t buffer_pos = 0, global_pos = 0;
 56.1973 -+	int len = 0;
 56.1974 -+	int state = 0;
 56.1975 -+	int bufsize;
 56.1976 -+	uint32_t rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1;
 56.1977 -+
 56.1978 -+	rc_init(&rc, fill, inbuf, in_len);
 56.1979 -+
 56.1980 -+	for (i = 0; i < sizeof(header); i++) {
 56.1981 -+		if (rc.ptr >= rc.buffer_end)
 56.1982 -+			rc_read(&rc);
 56.1983 -+		((unsigned char *)&header)[i] = *rc.ptr++;
 56.1984 -+	}
 56.1985 -+
 56.1986 -+	if (header.pos >= (9 * 5 * 5))
 56.1987 -+		error("bad header");
 56.1988 -+
 56.1989 -+	mi = header.pos / 9;
 56.1990 -+	lc = header.pos % 9;
 56.1991 -+	pb = mi / 5;
 56.1992 -+	lp = mi % 5;
 56.1993 -+	pos_state_mask = (1 << pb) - 1;
 56.1994 -+	literal_pos_mask = (1 << lp) - 1;
 56.1995 -+
 56.1996 -+	ENDIAN_CONVERT(header.dict_size);
 56.1997 -+	ENDIAN_CONVERT(header.dst_size);
 56.1998 -+
 56.1999 -+	if (header.dict_size == 0)
 56.2000 -+		header.dict_size = 1;
 56.2001 -+
 56.2002 -+	bufsize = MIN(header.dst_size, header.dict_size);
 56.2003 -+	buffer = large_malloc(bufsize);
 56.2004 -+	if(buffer == NULL)
 56.2005 -+		return -1;
 56.2006 -+
 56.2007 -+	num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp));
 56.2008 -+	p = large_malloc(num_probs * sizeof(*p));
 56.2009 -+	num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp));
 56.2010 -+	for (i = 0; i < num_probs; i++)
 56.2011 -+		p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1;
 56.2012 -+
 56.2013 -+	rc_init_code(&rc);
 56.2014 -+
 56.2015 -+	while (global_pos + buffer_pos < header.dst_size) {
 56.2016 -+		int pos_state = (buffer_pos + global_pos) & pos_state_mask;
 56.2017 -+
 56.2018 -+		prob =
 56.2019 -+			p + LZMA_IS_MATCH + (state << LZMA_NUM_POS_BITS_MAX) + pos_state;
 56.2020 -+		if (rc_is_bit_0(&rc, prob)) {
 56.2021 -+			mi = 1;
 56.2022 -+			rc_update_bit_0(&rc, prob);
 56.2023 -+			prob = (p + LZMA_LITERAL + (LZMA_LIT_SIZE
 56.2024 -+					* ((((buffer_pos + global_pos) & literal_pos_mask) << lc)
 56.2025 -+					+ (previous_byte >> (8 - lc)))));
 56.2026 -+
 56.2027 -+			if (state >= LZMA_NUM_LIT_STATES) {
 56.2028 -+				int match_byte;
 56.2029 -+
 56.2030 -+				pos = buffer_pos - rep0;
 56.2031 -+				while (pos >= header.dict_size)
 56.2032 -+					pos += header.dict_size;
 56.2033 -+				if(pos >= bufsize) {
 56.2034 -+					goto fail;
 56.2035 -+				}
 56.2036 -+				match_byte = buffer[pos];
 56.2037 -+				do {
 56.2038 -+					int bit;
 56.2039 -+
 56.2040 -+					match_byte <<= 1;
 56.2041 -+					bit = match_byte & 0x100;
 56.2042 -+					prob_lit = prob + 0x100 + bit + mi;
 56.2043 -+					if (rc_get_bit(&rc, prob_lit, &mi)) {
 56.2044 -+						if (!bit)
 56.2045 -+							break;
 56.2046 -+					} else {
 56.2047 -+						if (bit)
 56.2048 -+							break;
 56.2049 -+					}
 56.2050 -+				} while (mi < 0x100);
 56.2051 -+			}
 56.2052 -+			while (mi < 0x100) {
 56.2053 -+				prob_lit = prob + mi;
 56.2054 -+				rc_get_bit(&rc, prob_lit, &mi);
 56.2055 -+			}
 56.2056 -+			if (state < 4)
 56.2057 -+				state = 0;
 56.2058 -+			else if (state < 10)
 56.2059 -+				state -= 3;
 56.2060 -+			else
 56.2061 -+				state -= 6;
 56.2062 -+			previous_byte = (uint8_t) mi;
 56.2063 -+		one_byte:
 56.2064 -+			buffer[buffer_pos++] = previous_byte;
 56.2065 -+			if (buffer_pos == header.dict_size) {
 56.2066 -+				buffer_pos = 0;
 56.2067 -+				global_pos += header.dict_size;
 56.2068 -+				writebb((char*)buffer, header.dict_size);
 56.2069 -+			}
 56.2070 -+		} else {
 56.2071 -+			int offset;
 56.2072 -+			uint16_t *prob_len;
 56.2073 -+
 56.2074 -+			rc_update_bit_1(&rc, prob);
 56.2075 -+			prob = p + LZMA_IS_REP + state;
 56.2076 -+			if (rc_is_bit_0(&rc, prob)) {
 56.2077 -+				rc_update_bit_0(&rc, prob);
 56.2078 -+				rep3 = rep2;
 56.2079 -+				rep2 = rep1;
 56.2080 -+				rep1 = rep0;
 56.2081 -+				state = state < LZMA_NUM_LIT_STATES ? 0 : 3;
 56.2082 -+				prob = p + LZMA_LEN_CODER;
 56.2083 -+			} else {
 56.2084 -+				rc_update_bit_1(&rc, prob);
 56.2085 -+				prob = p + LZMA_IS_REP_G0 + state;
 56.2086 -+				if (rc_is_bit_0(&rc, prob)) {
 56.2087 -+					rc_update_bit_0(&rc, prob);
 56.2088 -+					prob = (p + LZMA_IS_REP_0_LONG
 56.2089 -+							+ (state << LZMA_NUM_POS_BITS_MAX) + pos_state);
 56.2090 -+					if (rc_is_bit_0(&rc, prob)) {
 56.2091 -+						rc_update_bit_0(&rc, prob);
 56.2092 -+
 56.2093 -+						state = state < LZMA_NUM_LIT_STATES ? 9 : 11;
 56.2094 -+						pos = buffer_pos - rep0;
 56.2095 -+						while (pos >= header.dict_size)
 56.2096 -+							pos += header.dict_size;
 56.2097 -+						if(pos >= bufsize) {
 56.2098 -+							goto fail;
 56.2099 -+						}
 56.2100 -+						previous_byte = buffer[pos];
 56.2101 -+						goto one_byte;
 56.2102 -+					} else {
 56.2103 -+						rc_update_bit_1(&rc, prob);
 56.2104 -+					}
 56.2105 -+				} else {
 56.2106 -+					uint32_t distance;
 56.2107 -+
 56.2108 -+					rc_update_bit_1(&rc, prob);
 56.2109 -+					prob = p + LZMA_IS_REP_G1 + state;
 56.2110 -+					if (rc_is_bit_0(&rc, prob)) {
 56.2111 -+						rc_update_bit_0(&rc, prob);
 56.2112 -+						distance = rep1;
 56.2113 -+					} else {
 56.2114 -+						rc_update_bit_1(&rc, prob);
 56.2115 -+						prob = p + LZMA_IS_REP_G2 + state;
 56.2116 -+						if (rc_is_bit_0(&rc, prob)) {
 56.2117 -+							rc_update_bit_0(&rc, prob);
 56.2118 -+							distance = rep2;
 56.2119 -+						} else {
 56.2120 -+							rc_update_bit_1(&rc, prob);
 56.2121 -+							distance = rep3;
 56.2122 -+							rep3 = rep2;
 56.2123 -+						}
 56.2124 -+						rep2 = rep1;
 56.2125 -+					}
 56.2126 -+					rep1 = rep0;
 56.2127 -+					rep0 = distance;
 56.2128 -+				}
 56.2129 -+				state = state < LZMA_NUM_LIT_STATES ? 8 : 11;
 56.2130 -+				prob = p + LZMA_REP_LEN_CODER;
 56.2131 -+			}
 56.2132 -+
 56.2133 -+			prob_len = prob + LZMA_LEN_CHOICE;
 56.2134 -+			if (rc_is_bit_0(&rc, prob_len)) {
 56.2135 -+				rc_update_bit_0(&rc, prob_len);
 56.2136 -+				prob_len = (prob + LZMA_LEN_LOW
 56.2137 -+							+ (pos_state << LZMA_LEN_NUM_LOW_BITS));
 56.2138 -+				offset = 0;
 56.2139 -+				num_bits = LZMA_LEN_NUM_LOW_BITS;
 56.2140 -+			} else {
 56.2141 -+				rc_update_bit_1(&rc, prob_len);
 56.2142 -+				prob_len = prob + LZMA_LEN_CHOICE_2;
 56.2143 -+				if (rc_is_bit_0(&rc, prob_len)) {
 56.2144 -+					rc_update_bit_0(&rc, prob_len);
 56.2145 -+					prob_len = (prob + LZMA_LEN_MID
 56.2146 -+								+ (pos_state << LZMA_LEN_NUM_MID_BITS));
 56.2147 -+					offset = 1 << LZMA_LEN_NUM_LOW_BITS;
 56.2148 -+					num_bits = LZMA_LEN_NUM_MID_BITS;
 56.2149 -+				} else {
 56.2150 -+					rc_update_bit_1(&rc, prob_len);
 56.2151 -+					prob_len = prob + LZMA_LEN_HIGH;
 56.2152 -+					offset = ((1 << LZMA_LEN_NUM_LOW_BITS)
 56.2153 -+							  + (1 << LZMA_LEN_NUM_MID_BITS));
 56.2154 -+					num_bits = LZMA_LEN_NUM_HIGH_BITS;
 56.2155 -+				}
 56.2156 -+			}
 56.2157 -+			rc_bit_tree_decode(&rc, prob_len, num_bits, &len);
 56.2158 -+			len += offset;
 56.2159 -+
 56.2160 -+			if (state < 4) {
 56.2161 -+				int pos_slot;
 56.2162 -+
 56.2163 -+				state += LZMA_NUM_LIT_STATES;
 56.2164 -+				prob =
 56.2165 -+					p + LZMA_POS_SLOT +
 56.2166 -+					((len <
 56.2167 -+					  LZMA_NUM_LEN_TO_POS_STATES ? len :
 56.2168 -+					  LZMA_NUM_LEN_TO_POS_STATES - 1)
 56.2169 -+					 << LZMA_NUM_POS_SLOT_BITS);
 56.2170 -+				rc_bit_tree_decode(&rc, prob, LZMA_NUM_POS_SLOT_BITS,
 56.2171 -+								   &pos_slot);
 56.2172 -+				if (pos_slot >= LZMA_START_POS_MODEL_INDEX) {
 56.2173 -+					num_bits = (pos_slot >> 1) - 1;
 56.2174 -+					rep0 = 2 | (pos_slot & 1);
 56.2175 -+					if (pos_slot < LZMA_END_POS_MODEL_INDEX) {
 56.2176 -+						rep0 <<= num_bits;
 56.2177 -+						prob = p + LZMA_SPEC_POS + rep0 - pos_slot - 1;
 56.2178 -+					} else {
 56.2179 -+						num_bits -= LZMA_NUM_ALIGN_BITS;
 56.2180 -+						while (num_bits--)
 56.2181 -+							rep0 = (rep0 << 1) | rc_direct_bit(&rc);
 56.2182 -+						prob = p + LZMA_ALIGN;
 56.2183 -+						rep0 <<= LZMA_NUM_ALIGN_BITS;
 56.2184 -+						num_bits = LZMA_NUM_ALIGN_BITS;
 56.2185 -+					}
 56.2186 -+					i = 1;
 56.2187 -+					mi = 1;
 56.2188 -+					while (num_bits--) {
 56.2189 -+						if (rc_get_bit(&rc, prob + mi, &mi))
 56.2190 -+							rep0 |= i;
 56.2191 -+						i <<= 1;
 56.2192 -+					}
 56.2193 -+				} else
 56.2194 -+					rep0 = pos_slot;
 56.2195 -+				if (++rep0 == 0)
 56.2196 -+					break;
 56.2197 -+			}
 56.2198 -+
 56.2199 -+			len += LZMA_MATCH_MIN_LEN;
 56.2200 -+
 56.2201 -+			do {
 56.2202 -+				pos = buffer_pos - rep0;
 56.2203 -+				while (pos >= header.dict_size)
 56.2204 -+					pos += header.dict_size;
 56.2205 -+				if(pos >= bufsize) {
 56.2206 -+					goto fail;
 56.2207 -+				}
 56.2208 -+				previous_byte = buffer[pos];
 56.2209 -+				buffer[buffer_pos++] = previous_byte;
 56.2210 -+				if (buffer_pos == header.dict_size) {
 56.2211 -+					buffer_pos = 0;
 56.2212 -+					global_pos += header.dict_size;
 56.2213 -+					writebb((char*)buffer, header.dict_size);
 56.2214 -+				}
 56.2215 -+				len--;
 56.2216 -+			} while (len != 0 && buffer_pos < header.dst_size);
 56.2217 -+		}
 56.2218 -+	}
 56.2219 -+
 56.2220 -+	writebb((char*)buffer, buffer_pos);
 56.2221 -+	if(posp) {
 56.2222 -+		*posp = rc.ptr-rc.buffer;
 56.2223 -+	}
 56.2224 -+	large_free(buffer);
 56.2225 -+	large_free(p);
 56.2226 -+	return 0;
 56.2227 -+ fail:
 56.2228 -+	large_free(buffer);
 56.2229 -+	large_free(p);
 56.2230 -+	return -1;
 56.2231 -+}
 56.2232 -
 56.2233 ---- linux-2.6.24.2/lib/Makefile
 56.2234 -+++ linux-2.6.24.2/lib/Makefile
 56.2235 -@@ -50,6 +50,10 @@ obj-$(CONFIG_CRC7)	+= crc7.o
 56.2236 - obj-$(CONFIG_LIBCRC32C)	+= libcrc32c.o
 56.2237 - obj-$(CONFIG_GENERIC_ALLOCATOR) += genalloc.o
 56.2238 - 
 56.2239 -+obj-$(CONFIG_RD_BZIP2)	+= decompress_bunzip2.o
 56.2240 -+obj-$(CONFIG_RD_LZMA)	+= decompress_unlzma.o
 56.2241 -+
 56.2242 -+
 56.2243 - obj-$(CONFIG_ZLIB_INFLATE) += zlib_inflate/
 56.2244 - obj-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate/
 56.2245 - obj-$(CONFIG_REED_SOLOMON) += reed_solomon/
 56.2246 -
 56.2247 ---- linux-2.6.24.2/scripts/Makefile.lib
 56.2248 -+++ linux-2.6.24.2/scripts/Makefile.lib
 56.2249 -@@ -166,4 +166,17 @@ cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS)
 56.2250 - quiet_cmd_gzip = GZIP    $@
 56.2251 - cmd_gzip = gzip -f -9 < $< > $@
 56.2252 - 
 56.2253 -+# Append size
 56.2254 -+size_append=perl -e 'print(pack("i",(stat($$ARGV[0]))[7]));'
 56.2255 - 
 56.2256 -+# Bzip2
 56.2257 -+# ---------------------------------------------------------------------------
 56.2258 -+
 56.2259 -+quiet_cmd_bzip2 = BZIP2    $@
 56.2260 -+cmd_bzip2 = (bzip2 -9 < $< ; $(size_append) $<) > $@
 56.2261 -+
 56.2262 -+# Lzma
 56.2263 -+# ---------------------------------------------------------------------------
 56.2264 -+
 56.2265 -+quiet_cmd_lzma = LZMA    $@
 56.2266 -+cmd_lzma = (lzma e $< -so ; $(size_append) $<) >$@
    57.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    57.2 +++ b/linux/stuff/linux-lzma-2.6.29.3.u	Mon May 11 19:08:50 2009 +0200
    57.3 @@ -0,0 +1,2132 @@
    57.4 +--- linux-2.6.29.3/arch/x86/boot/compressed/Makefile
    57.5 ++++ linux-2.6.29.3/arch/x86/boot/compressed/Makefile
    57.6 +@@ -4,7 +4,7 @@
    57.7 + # create a compressed vmlinux image from the original vmlinux
    57.8 + #
    57.9 + 
   57.10 +-targets := vmlinux vmlinux.bin vmlinux.bin.gz head_$(BITS).o misc.o piggy.o
   57.11 ++targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma head_$(BITS).o misc.o piggy.o
   57.12 + 
   57.13 + KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
   57.14 + KBUILD_CFLAGS += -fno-strict-aliasing -fPIC
   57.15 +@@ -51,14 +51,41 @@
   57.16 + $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
   57.17 + 	$(call if_changed,gzip)
   57.18 + endif
   57.19 ++
   57.20 ++ifdef CONFIG_RELOCATABLE
   57.21 ++$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin.all FORCE
   57.22 ++	$(call if_changed,bzip2)
   57.23 ++else
   57.24 ++$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
   57.25 ++	$(call if_changed,bzip2)
   57.26 ++endif
   57.27 ++
   57.28 ++ifdef CONFIG_RELOCATABLE
   57.29 ++$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE
   57.30 ++	$(call if_changed,lzma)
   57.31 ++else
   57.32 ++$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
   57.33 ++	$(call if_changed,lzma)
   57.34 ++endif
   57.35 ++
   57.36 + LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
   57.37 + 
   57.38 + else
   57.39 + $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
   57.40 + 	$(call if_changed,gzip)
   57.41 + 
   57.42 ++$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
   57.43 ++	$(call if_changed,bzip2)
   57.44 ++
   57.45 ++$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
   57.46 ++	$(call if_changed,lzma)
   57.47 ++
   57.48 + LDFLAGS_piggy.o := -r --format binary --oformat elf64-x86-64 -T
   57.49 + endif
   57.50 + 
   57.51 +-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
   57.52 ++suffix_$(CONFIG_KERNEL_GZIP)  = gz
   57.53 ++suffix_$(CONFIG_KERNEL_BZIP2) = bz2
   57.54 ++suffix_$(CONFIG_KERNEL_LZMA)  = lzma
   57.55 ++
   57.56 ++$(obj)/piggy.o: $(src)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
   57.57 + 	$(call if_changed,ld)
   57.58 +
   57.59 +--- linux-2.6.29.3/arch/x86/boot/compressed/misc.c
   57.60 ++++ linux-2.6.29.3/arch/x86/boot/compressed/misc.c
   57.61 +@@ -136,12 +136,15 @@
   57.62 +  */
   57.63 + #define WSIZE		0x80000000
   57.64 + 
   57.65 ++#ifdef CONFIG_KERNEL_GZIP
   57.66 + /* Input buffer: */
   57.67 + static unsigned char	*inbuf;
   57.68 ++#endif
   57.69 + 
   57.70 + /* Sliding window buffer (and final output buffer): */
   57.71 + static unsigned char	*window;
   57.72 + 
   57.73 ++#ifdef CONFIG_KERNEL_GZIP
   57.74 + /* Valid bytes in inbuf: */
   57.75 + static unsigned		insize;
   57.76 + 
   57.77 +@@ -181,6 +184,7 @@
   57.78 + 
   57.79 + static int  fill_inbuf(void);
   57.80 + static void flush_window(void);
   57.81 ++#endif
   57.82 + static void error(char *m);
   57.83 + 
   57.84 + /*
   57.85 +@@ -192,9 +196,9 @@
   57.86 + extern unsigned char input_data[];
   57.87 + extern int input_len;
   57.88 + 
   57.89 +-static long bytes_out;
   57.90 +-
   57.91 ++#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
   57.92 + static void *memset(void *s, int c, unsigned n);
   57.93 ++#endif
   57.94 + static void *memcpy(void *dest, const void *src, unsigned n);
   57.95 + 
   57.96 + static void __putstr(int, const char *);
   57.97 +@@ -209,12 +213,68 @@
   57.98 + static memptr free_mem_ptr;
   57.99 + static memptr free_mem_end_ptr;
  57.100 + 
  57.101 ++static void *malloc(int size)
  57.102 ++{
  57.103 ++	void *p;
  57.104 ++
  57.105 ++	if (size <0) error("Malloc error");
  57.106 ++	if (free_mem_ptr <= 0) error("Memory error");
  57.107 ++
  57.108 ++	free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */
  57.109 ++
  57.110 ++	p = (void *)free_mem_ptr;
  57.111 ++	free_mem_ptr += size;
  57.112 ++
  57.113 ++	if (free_mem_ptr >= free_mem_end_ptr)
  57.114 ++		error("Out of memory");
  57.115 ++
  57.116 ++	return p;
  57.117 ++}
  57.118 ++
  57.119 ++static void free(void *where)
  57.120 ++{       /* Don't care */
  57.121 ++}
  57.122 ++
  57.123 + static char *vidmem;
  57.124 + static int vidport;
  57.125 + static int lines, cols;
  57.126 + 
  57.127 ++#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
  57.128 ++
  57.129 ++#define large_malloc malloc
  57.130 ++#define large_free free
  57.131 ++
  57.132 ++#ifdef current
  57.133 ++#undef current
  57.134 ++#endif
  57.135 ++
  57.136 ++#define INCLUDED
  57.137 ++#endif
  57.138 ++
  57.139 ++#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
  57.140 ++
  57.141 ++#define large_malloc malloc
  57.142 ++#define large_free free
  57.143 ++
  57.144 ++#ifdef current
  57.145 ++#undef current
  57.146 ++#endif
  57.147 ++
  57.148 ++#define INCLUDED
  57.149 ++#endif
  57.150 ++
  57.151 ++#ifdef CONFIG_KERNEL_GZIP
  57.152 + #include "../../../../lib/inflate.c"
  57.153 ++#endif
  57.154 + 
  57.155 ++#ifdef CONFIG_KERNEL_BZIP2
  57.156 ++#include "../../../../lib/decompress_bunzip2.c"
  57.157 ++#endif
  57.158 ++
  57.159 ++#ifdef CONFIG_KERNEL_LZMA
  57.160 ++#include "../../../../lib/decompress_unlzma.c"
  57.161 ++#endif
  57.162 ++
  57.163 + static void scroll(void)
  57.164 + {
  57.165 + 	int i;
  57.166 +@@ -272,6 +332,7 @@
  57.167 + 	outb(0xff & (pos >> 1), vidport+1);
  57.168 + }
  57.169 + 
  57.170 ++#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
  57.171 + static void *memset(void *s, int c, unsigned n)
  57.172 + {
  57.173 + 	int i;
  57.174 +@@ -281,6 +342,7 @@
  57.175 + 		ss[i] = c;
  57.176 + 	return s;
  57.177 + }
  57.178 ++#endif
  57.179 + 
  57.180 + static void *memcpy(void *dest, const void *src, unsigned n)
  57.181 + {
  57.182 +@@ -293,7 +355,27 @@
  57.183 + 	return dest;
  57.184 + }
  57.185 + 
  57.186 ++#ifdef CONFIG_KERNEL_BZIP2
  57.187 + /* ===========================================================================
  57.188 ++ * Write the output window window[0..outcnt-1].
  57.189 ++ * (Used for the decompressed data only.)
  57.190 ++ */
  57.191 ++static int compr_flush(char *data, unsigned int len)
  57.192 ++{
  57.193 ++    unsigned n;
  57.194 ++    uch *out;
  57.195 ++    
  57.196 ++    out = window; 
  57.197 ++    for (n = 0; n < len; n++) {
  57.198 ++	    *out++ = *data++;
  57.199 ++    }
  57.200 ++    window += (ulg)len;
  57.201 ++    return len;
  57.202 ++}
  57.203 ++
  57.204 ++#endif
  57.205 ++#ifdef CONFIG_KERNEL_GZIP
  57.206 ++/* ===========================================================================
  57.207 +  * Fill the input buffer. This is called only when the buffer is empty
  57.208 +  * and at least one byte is really needed.
  57.209 +  */
  57.210 +@@ -304,7 +386,7 @@
  57.211 + }
  57.212 + 
  57.213 + /* ===========================================================================
  57.214 +- * Write the output window window[0..outcnt-1] and update crc and bytes_out.
  57.215 ++ * Write the output window window[0..outcnt-1] and update crc.
  57.216 +  * (Used for the decompressed data only.)
  57.217 +  */
  57.218 + static void flush_window(void)
  57.219 +@@ -322,9 +404,9 @@
  57.220 + 		c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
  57.221 + 	}
  57.222 + 	crc = c;
  57.223 +-	bytes_out += (unsigned long)outcnt;
  57.224 + 	outcnt = 0;
  57.225 + }
  57.226 ++#endif
  57.227 + 
  57.228 + static void error(char *x)
  57.229 + {
  57.230 +@@ -410,9 +492,11 @@
  57.231 + 	window = output;		/* Output buffer (Normally at 1M) */
  57.232 + 	free_mem_ptr     = heap;	/* Heap */
  57.233 + 	free_mem_end_ptr = heap + BOOT_HEAP_SIZE;
  57.234 ++#ifdef CONFIG_KERNEL_GZIP
  57.235 + 	inbuf  = input_data;		/* Input buffer */
  57.236 + 	insize = input_len;
  57.237 + 	inptr  = 0;
  57.238 ++#endif
  57.239 + 
  57.240 + #ifdef CONFIG_X86_64
  57.241 + 	if ((unsigned long)output & (__KERNEL_ALIGN - 1))
  57.242 +@@ -430,10 +514,22 @@
  57.243 + #endif
  57.244 + #endif
  57.245 + 
  57.246 ++#ifdef CONFIG_KERNEL_BZIP2
  57.247 ++	putstr("\nBunzipping Linux... ");
  57.248 ++	bunzip2(input_data, input_len-4, NULL, compr_flush, NULL);
  57.249 ++#endif
  57.250 ++
  57.251 ++#ifdef CONFIG_KERNEL_LZMA
  57.252 ++	putstr("\nUnlzmaing Linux... ");
  57.253 ++	unlzma(input_data, input_len-4, NULL, NULL, window);
  57.254 ++#endif
  57.255 ++
  57.256 ++#ifdef CONFIG_KERNEL_GZIP
  57.257 + 	makecrc();
  57.258 + 	if (!quiet)
  57.259 + 		putstr("\nDecompressing Linux... ");
  57.260 + 	gunzip();
  57.261 ++#endif
  57.262 + 	parse_elf(output);
  57.263 + 	if (!quiet)
  57.264 + 		putstr("done.\nBooting the kernel.\n");
  57.265 +
  57.266 +--- linux-2.6.29.3/arch/x86/mm/init_32.c
  57.267 ++++ linux-2.6.29.3/arch/x86/mm/init_32.c
  57.268 +@@ -1221,7 +1221,8 @@
  57.269 + 		free_page(addr);
  57.270 + 		totalram_pages++;
  57.271 + 	}
  57.272 +-	printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10);
  57.273 ++	if (what)
  57.274 ++		printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10);
  57.275 + #endif
  57.276 + }
  57.277 + 
  57.278 +@@ -1235,7 +1236,7 @@
  57.279 + #ifdef CONFIG_BLK_DEV_INITRD
  57.280 + void free_initrd_mem(unsigned long start, unsigned long end)
  57.281 + {
  57.282 +-	free_init_pages("initrd memory", start, end);
  57.283 ++	free_init_pages(NULL, start, end);
  57.284 + }
  57.285 + #endif
  57.286 + 
  57.287 +
  57.288 +--- linux-2.6.29.3/drivers/block/Kconfig
  57.289 ++++ linux-2.6.29.3/drivers/block/Kconfig
  57.290 +@@ -358,6 +358,30 @@
  57.291 + 	  will prevent RAM block device backing store memory from being
  57.292 + 	  allocated from highmem (only a problem for highmem systems).
  57.293 + 
  57.294 ++config RD_BZIP2
  57.295 ++	bool "Initial ramdisk compressed using bzip2"
  57.296 ++	default n
  57.297 ++	depends on BLK_DEV_INITRD=y
  57.298 ++	help
  57.299 ++	  Support loading of a bzip2 encoded initial ramdisk or cpio buffer
  57.300 ++	  If unsure, say N.
  57.301 ++
  57.302 ++config RD_LZMA
  57.303 ++	bool "Initial ramdisk compressed using lzma"
  57.304 ++	default n
  57.305 ++	depends on BLK_DEV_INITRD=y
  57.306 ++	help
  57.307 ++	  Support loading of a lzma encoded initial ramdisk or cpio buffer
  57.308 ++	  If unsure, say N.
  57.309 ++
  57.310 ++config RD_GZIP
  57.311 ++	bool "Initial ramdisk compressed using gzip"
  57.312 ++	default y
  57.313 ++	depends on BLK_DEV_INITRD=y
  57.314 ++	help
  57.315 ++	  Support loading of a gzip encoded initial ramdisk or cpio buffer.
  57.316 ++	  If unsure, say Y.
  57.317 ++
  57.318 + config CDROM_PKTCDVD
  57.319 + 	tristate "Packet writing on CD/DVD media"
  57.320 + 	depends on !UML
  57.321 +
  57.322 +--- linux-2.6.29.3/include/linux/decompress_bunzip2.h
  57.323 ++++ linux-2.6.29.3/include/linux/decompress_bunzip2.h
  57.324 +@@ -0,0 +1,16 @@
  57.325 ++#ifndef DECOMPRESS_BUNZIP2_H
  57.326 ++#define DECOMPRESS_BUNZIP2_H
  57.327 ++
  57.328 ++/* Other housekeeping constants */
  57.329 ++#define BZIP2_IOBUF_SIZE		4096
  57.330 ++
  57.331 ++#ifndef STATIC
  57.332 ++#define STATIC /**/
  57.333 ++#endif
  57.334 ++
  57.335 ++STATIC int bunzip2(char *inbuf, int len, 
  57.336 ++		   int(*fill)(void*,unsigned int),
  57.337 ++		   int(*writebb)(char*,unsigned int),
  57.338 ++		   int *pos);
  57.339 ++
  57.340 ++#endif
  57.341 +
  57.342 +--- linux-2.6.29.3/include/linux/decompress_generic.h
  57.343 ++++ linux-2.6.29.3/include/linux/decompress_generic.h
  57.344 +@@ -0,0 +1,28 @@
  57.345 ++#ifndef DECOMPRESS_GENERIC_H
  57.346 ++#define DECOMPRESS_GENERIC_H
  57.347 ++
  57.348 ++/* Minimal chunksize to be read.
  57.349 ++ * Bzip2 prefers at least 4096
  57.350 ++ * Lzma prefers 0x10000 */
  57.351 ++#define COMPR_IOBUF_SIZE	4096
  57.352 ++
  57.353 ++typedef int (*uncompress_fn) (char *inbuf, int len, 
  57.354 ++			      int(*fill)(char*,unsigned int),
  57.355 ++			      int(*writebb)(char*,unsigned int),
  57.356 ++			      int *posp);
  57.357 ++
  57.358 ++/* inbuf   - input buffer
  57.359 ++ * len     - len of pre-read data in inbuf
  57.360 ++ * fill    - function to fill inbuf if empty
  57.361 ++ * writebb - function to write out outbug
  57.362 ++ * posp    - if non-null, input position (number of bytes read) will be
  57.363 ++ *           returned here
  57.364 ++ *
  57.365 ++ * If len != 0, the inbuf is initialized (with as much data), and fill
  57.366 ++ * should not be called
  57.367 ++ * If len = 0, the inbuf is allocated, but empty. Its size is IOBUF_SIZE
  57.368 ++ * fill should be called (repeatedly...) to read data, at most IOBUF_SIZE
  57.369 ++ */
  57.370 ++ 
  57.371 ++
  57.372 ++#endif
  57.373 +
  57.374 +--- linux-2.6.29.3/include/linux/decompress_unlzma.h
  57.375 ++++ linux-2.6.29.3/include/linux/decompress_unlzma.h
  57.376 +@@ -0,0 +1,15 @@
  57.377 ++#ifndef DECOMPRESS_UNLZMA_H
  57.378 ++#define DECOMPRESS_UNLZMA_H
  57.379 ++
  57.380 ++#define LZMA_IOBUF_SIZE	0x10000
  57.381 ++
  57.382 ++#ifndef STATIC
  57.383 ++#define STATIC /**/
  57.384 ++#endif
  57.385 ++
  57.386 ++STATIC int unlzma(char *inbuf, int len, 
  57.387 ++		  int(*fill)(void*,unsigned int),
  57.388 ++		  int(*writebb)(char*,unsigned int),
  57.389 ++		  int *pos);
  57.390 ++
  57.391 ++#endif
  57.392 +
  57.393 +--- linux-2.6.29.3/init/Kconfig
  57.394 ++++ linux-2.6.29.3/init/Kconfig
  57.395 +@@ -101,6 +101,56 @@
  57.396 + 
  57.397 + 	  which is done within the script "scripts/setlocalversion".)
  57.398 + 
  57.399 ++choice
  57.400 ++        prompt "Kernel compression mode"
  57.401 ++        default KERNEL_GZIP
  57.402 ++        help
  57.403 ++	  The linux kernel is a kind of self-extracting executable.
  57.404 ++	  Several compression algorithms are available, which differ
  57.405 ++	  in efficiency, compression and decompression speed.
  57.406 ++	  Compression speed is only relevant when building a kernel.
  57.407 ++	  Decompression speed is relevant at each boot.
  57.408 ++
  57.409 ++	  If you have any problems with bzip2 or lzma compressed
  57.410 ++	  kernels, mail me (Alain Knaff) <alain@knaff.lu>. (An older
  57.411 ++	  version of this functionality (bzip2 only), for 2.4, was
  57.412 ++	  supplied by Christian Ludwig)
  57.413 ++
  57.414 ++	  High compression options are mostly useful for users, who
  57.415 ++	  are low on disk space (embedded systems), but for whom ram
  57.416 ++	  size matters less.
  57.417 ++
  57.418 ++	  If in doubt, select 'gzip'
  57.419 ++
  57.420 ++config KERNEL_GZIP
  57.421 ++       bool "Gzip"
  57.422 ++       help
  57.423 ++         The old and tries gzip compression. Its compression ratio is
  57.424 ++	 the poorest among the 3 choices; however its speed (both
  57.425 ++	 compression and decompression) is the fastest.
  57.426 ++
  57.427 ++config KERNEL_BZIP2
  57.428 ++	bool "Bzip2"
  57.429 ++	help
  57.430 ++	  Its compression ratio and speed is intermediate.
  57.431 ++	  Decompression speed is slowest among the 3.
  57.432 ++	  The kernel size is about 10 per cent smaller with bzip2,
  57.433 ++	  in comparison to gzip.
  57.434 ++	  Bzip2 uses a large amount of memory. For modern kernels
  57.435 ++	  you will need at least 8MB RAM or more for booting.
  57.436 ++
  57.437 ++config KERNEL_LZMA
  57.438 ++       bool "LZMA"
  57.439 ++       help
  57.440 ++         The most recent compression algorithm.
  57.441 ++	 Its ratio is best, decompression speed is between the other
  57.442 ++	 2. Compression is slowest.
  57.443 ++	 The kernel size is about 33 per cent smaller with lzma,
  57.444 ++	 in comparison to gzip.
  57.445 ++
  57.446 ++endchoice
  57.447 ++
  57.448 ++
  57.449 + config SWAP
  57.450 + 	bool "Support for paging of anonymous memory (swap)"
  57.451 + 	depends on MMU && BLOCK
  57.452 +
  57.453 +--- linux-2.6.29.3/init/do_mounts_rd.c
  57.454 ++++ linux-2.6.29.3/init/do_mounts_rd.c
  57.455 +@@ -8,6 +8,16 @@
  57.456 + #include <linux/initrd.h>
  57.457 + #include <linux/string.h>
  57.458 + 
  57.459 ++#ifdef CONFIG_RD_BZIP2
  57.460 ++#include <linux/decompress_bunzip2.h>
  57.461 ++#undef STATIC
  57.462 ++#endif
  57.463 ++
  57.464 ++#ifdef CONFIG_RD_LZMA
  57.465 ++#include <linux/decompress_unlzma.h>
  57.466 ++#undef STATIC
  57.467 ++#endif
  57.468 ++
  57.469 + #include "do_mounts.h"
  57.470 + #include "../fs/squashfs/squashfs_fs.h"
  57.471 + 
  57.472 +@@ -29,7 +39,15 @@
  57.473 + }
  57.474 + __setup("ramdisk_start=", ramdisk_start_setup);
  57.475 + 
  57.476 ++#ifdef CONFIG_RD_GZIP
  57.477 + static int __init crd_load(int in_fd, int out_fd);
  57.478 ++#endif
  57.479 ++#ifdef CONFIG_RD_BZIP2
  57.480 ++static int __init crd_load_bzip2(int in_fd, int out_fd);
  57.481 ++#endif
  57.482 ++#ifdef CONFIG_RD_LZMA
  57.483 ++static int __init crd_load_lzma(int in_fd, int out_fd);
  57.484 ++#endif
  57.485 + 
  57.486 + /*
  57.487 +  * This routine tries to find a RAM disk image to load, and returns the
  57.488 +@@ -46,7 +64,7 @@
  57.489 +  * 	gzip
  57.490 +  */
  57.491 + static int __init 
  57.492 +-identify_ramdisk_image(int fd, int start_block)
  57.493 ++identify_ramdisk_image(int fd, int start_block, int *ztype)
  57.494 + {
  57.495 + 	const int size = 512;
  57.496 + 	struct minix_super_block *minixsb;
  57.497 +@@ -74,6 +92,7 @@
  57.498 + 	sys_lseek(fd, start_block * BLOCK_SIZE, 0);
  57.499 + 	sys_read(fd, buf, size);
  57.500 + 
  57.501 ++#ifdef CONFIG_RD_GZIP
  57.502 + 	/*
  57.503 + 	 * If it matches the gzip magic numbers, return 0
  57.504 + 	 */
  57.505 +@@ -81,10 +100,41 @@
  57.506 + 		printk(KERN_NOTICE
  57.507 + 		       "RAMDISK: Compressed image found at block %d\n",
  57.508 + 		       start_block);
  57.509 ++		*ztype = 0;
  57.510 + 		nblocks = 0;
  57.511 + 		goto done;
  57.512 + 	}
  57.513 ++#endif
  57.514 + 
  57.515 ++#ifdef CONFIG_RD_BZIP2
  57.516 ++	/*
  57.517 ++	 * If it matches the bzip magic numbers, return -1
  57.518 ++	 */
  57.519 ++	if (buf[0] == 0x42 && (buf[1] == 0x5a)) {
  57.520 ++		printk(KERN_NOTICE
  57.521 ++		       "RAMDISK: Bzipped image found at block %d\n",
  57.522 ++		       start_block);
  57.523 ++		*ztype = 1;
  57.524 ++		nblocks = 0;
  57.525 ++		goto done;
  57.526 ++	}
  57.527 ++#endif
  57.528 ++
  57.529 ++#ifdef CONFIG_RD_LZMA
  57.530 ++	/*
  57.531 ++	 * If it matches the bzip magic numbers, return -1
  57.532 ++	 */
  57.533 ++	if (buf[0] == 0x5d && (buf[1] == 0x00)) {
  57.534 ++		printk(KERN_NOTICE
  57.535 ++		       "RAMDISK: Lzma image found at block %d\n",
  57.536 ++		       start_block);
  57.537 ++		*ztype = 2;
  57.538 ++		nblocks = 0;
  57.539 ++		goto done;
  57.540 ++	}
  57.541 ++#endif
  57.542 ++
  57.543 ++
  57.544 + 	/* romfs is at block zero too */
  57.545 + 	if (romfsb->word0 == ROMSB_WORD0 &&
  57.546 + 	    romfsb->word1 == ROMSB_WORD1) {
  57.547 +@@ -157,6 +207,7 @@
  57.548 + 	int nblocks, i, disk;
  57.549 + 	char *buf = NULL;
  57.550 + 	unsigned short rotate = 0;
  57.551 ++	int ztype=-1;
  57.552 + #if !defined(CONFIG_S390) && !defined(CONFIG_PPC_ISERIES)
  57.553 + 	char rotator[4] = { '|' , '/' , '-' , '\\' };
  57.554 + #endif
  57.555 +@@ -169,13 +220,37 @@
  57.556 + 	if (in_fd < 0)
  57.557 + 		goto noclose_input;
  57.558 + 
  57.559 +-	nblocks = identify_ramdisk_image(in_fd, rd_image_start);
  57.560 ++	nblocks = identify_ramdisk_image(in_fd, rd_image_start, &ztype);
  57.561 + 	if (nblocks < 0)
  57.562 + 		goto done;
  57.563 + 
  57.564 + 	if (nblocks == 0) {
  57.565 +-		if (crd_load(in_fd, out_fd) == 0)
  57.566 +-			goto successful_load;
  57.567 ++		switch(ztype) {
  57.568 ++
  57.569 ++#ifdef CONFIG_RD_GZIP
  57.570 ++			case 0:
  57.571 ++				if (crd_load(in_fd, out_fd) == 0)
  57.572 ++					goto successful_load;
  57.573 ++				break;
  57.574 ++#endif
  57.575 ++
  57.576 ++#ifdef CONFIG_RD_BZIP2
  57.577 ++			case 1:
  57.578 ++				if (crd_load_bzip2(in_fd, out_fd) == 0)
  57.579 ++					goto successful_load;
  57.580 ++				break;
  57.581 ++#endif
  57.582 ++
  57.583 ++#ifdef CONFIG_RD_LZMA
  57.584 ++			case 2:
  57.585 ++				if (crd_load_lzma(in_fd, out_fd) == 0)
  57.586 ++					goto successful_load;
  57.587 ++				break;
  57.588 ++#endif
  57.589 ++
  57.590 ++			default:
  57.591 ++				break;
  57.592 ++		}
  57.593 + 		goto done;
  57.594 + 	}
  57.595 + 
  57.596 +@@ -273,6 +348,7 @@
  57.597 + 	return rd_load_image("/dev/root");
  57.598 + }
  57.599 + 
  57.600 ++#ifdef CONFIG_RD_GZIP
  57.601 + /*
  57.602 +  * gzip declarations
  57.603 +  */
  57.604 +@@ -300,8 +376,11 @@
  57.605 + static int exit_code;
  57.606 + static int unzip_error;
  57.607 + static long bytes_out;
  57.608 ++#endif
  57.609 ++
  57.610 + static int crd_infd, crd_outfd;
  57.611 + 
  57.612 ++#ifdef CONFIG_RD_GZIP
  57.613 + #define get_byte()  (inptr < insize ? inbuf[inptr++] : fill_inbuf())
  57.614 + 		
  57.615 + /* Diagnostic functions (stubbed out) */
  57.616 +@@ -342,7 +421,22 @@
  57.617 + 
  57.618 + 	return inbuf[0];
  57.619 + }
  57.620 ++#endif
  57.621 + 
  57.622 ++#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  57.623 ++static int __init compr_fill(void *buf, unsigned int len)
  57.624 ++{
  57.625 ++	int r = sys_read(crd_infd, buf, len);
  57.626 ++	if(r < 0) {
  57.627 ++		printk(KERN_ERR "RAMDISK: error while reading compressed data");
  57.628 ++	} else if(r == 0) {
  57.629 ++		printk(KERN_ERR "RAMDISK: EOF while reading compressed data");
  57.630 ++	}
  57.631 ++	return r;
  57.632 ++}
  57.633 ++#endif
  57.634 ++
  57.635 ++#ifdef CONFIG_RD_GZIP
  57.636 + /* ===========================================================================
  57.637 +  * Write the output window window[0..outcnt-1] and update crc and bytes_out.
  57.638 +  * (Used for the decompressed data only.)
  57.639 +@@ -368,13 +462,68 @@
  57.640 +     bytes_out += (ulg)outcnt;
  57.641 +     outcnt = 0;
  57.642 + }
  57.643 ++#endif
  57.644 + 
  57.645 ++#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  57.646 ++static int __init compr_flush(void *window, unsigned int outcnt) {
  57.647 ++	static int progressDots=0;
  57.648 ++	int written = sys_write(crd_outfd, window, outcnt);
  57.649 ++	if (written != outcnt) {
  57.650 ++		printk(KERN_ERR "RAMDISK: incomplete write (%d != %d)\n",
  57.651 ++		       written, outcnt);
  57.652 ++	}
  57.653 ++	progressDots = (progressDots+1)%10;
  57.654 ++	if(!progressDots)
  57.655 ++		printk(".");
  57.656 ++	return outcnt;
  57.657 ++}
  57.658 ++#endif
  57.659 ++
  57.660 ++#ifdef CONFIG_RD_GZIP
  57.661 + static void __init error(char *x)
  57.662 + {
  57.663 + 	printk(KERN_ERR "%s\n", x);
  57.664 + 	exit_code = 1;
  57.665 + 	unzip_error = 1;
  57.666 + }
  57.667 ++#endif
  57.668 ++
  57.669 ++#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA)
  57.670 ++static int __init crd_load_compr(int in_fd, int out_fd, int size,
  57.671 ++				 int (*deco)(char *,int,
  57.672 ++					     int(*fill)(void*,unsigned int),
  57.673 ++					     int(*flush)(void*,unsigned int),
  57.674 ++					     int *))
  57.675 ++{
  57.676 ++	int result;
  57.677 ++	char *inbuf = kmalloc(size, GFP_KERNEL);
  57.678 ++	crd_infd = in_fd;
  57.679 ++	crd_outfd = out_fd;
  57.680 ++	if (inbuf == 0) {
  57.681 ++		printk(KERN_ERR "RAMDISK: Couldn't allocate decompression buffer\n");
  57.682 ++		return -1;
  57.683 ++	}
  57.684 ++	result=deco(inbuf, 0, compr_fill, compr_flush, NULL);
  57.685 ++	kfree(inbuf);
  57.686 ++	printk("\n");
  57.687 ++	return result;
  57.688 ++}
  57.689 ++#endif
  57.690 ++
  57.691 ++#ifdef CONFIG_RD_BZIP2
  57.692 ++static int __init crd_load_bzip2(int in_fd, int out_fd)
  57.693 ++{
  57.694 ++	return crd_load_compr(in_fd, out_fd, BZIP2_IOBUF_SIZE, bunzip2);
  57.695 ++}
  57.696 ++#endif
  57.697 ++
  57.698 ++#ifdef CONFIG_RD_LZMA
  57.699 ++static int __init crd_load_lzma(int in_fd, int out_fd)
  57.700 ++{
  57.701 ++	return crd_load_compr(in_fd, out_fd, LZMA_IOBUF_SIZE, unlzma);
  57.702 ++}
  57.703 ++
  57.704 ++#endif
  57.705 + 
  57.706 + static int __init crd_load(int in_fd, int out_fd)
  57.707 + {
  57.708 +
  57.709 +--- linux-2.6.29.3/init/initramfs.c
  57.710 ++++ linux-2.6.29.3/init/initramfs.c
  57.711 +@@ -410,6 +410,18 @@
  57.712 + 	}
  57.713 + }
  57.714 + 
  57.715 ++#ifdef CONFIG_RD_BZIP2
  57.716 ++#include <linux/decompress_bunzip2.h>
  57.717 ++#undef STATIC
  57.718 ++
  57.719 ++#endif
  57.720 ++
  57.721 ++#ifdef CONFIG_RD_LZMA
  57.722 ++#include <linux/decompress_unlzma.h>
  57.723 ++#undef STATIC
  57.724 ++
  57.725 ++#endif
  57.726 ++
  57.727 + /*
  57.728 +  * gzip declarations
  57.729 +  */
  57.730 +@@ -435,7 +447,32 @@
  57.731 + static unsigned outcnt;  /* bytes in output buffer */
  57.732 + static long bytes_out;
  57.733 + 
  57.734 +-#define get_byte()  (inptr < insize ? inbuf[inptr++] : -1)
  57.735 ++#define INITRD_PAGE ((PAGE_SIZE > 1024*1024) ? PAGE_SIZE : 1024*1024)
  57.736 ++static int fill_offset, fill_total;
  57.737 ++#include <linux/initrd.h>
  57.738 ++static void release_inbuf(int count)
  57.739 ++{
  57.740 ++	if (fill_total < 0) return;
  57.741 ++	fill_offset += count;
  57.742 ++	fill_total += count;
  57.743 ++	if (fill_offset >= INITRD_PAGE) {
  57.744 ++		unsigned rem = fill_offset % INITRD_PAGE;
  57.745 ++		unsigned end = initrd_start + fill_offset - rem;
  57.746 ++		free_initrd_mem(initrd_start, end);
  57.747 ++		printk(".");
  57.748 ++		initrd_start = end;
  57.749 ++		fill_offset = rem;
  57.750 ++	}
  57.751 ++}
  57.752 ++
  57.753 ++static uch get_byte(void)
  57.754 ++{
  57.755 ++	uch c;
  57.756 ++	if (inptr >= insize) return -1;
  57.757 ++	c = inbuf[inptr++];
  57.758 ++	release_inbuf(1);
  57.759 ++	return c;
  57.760 ++}
  57.761 + 		
  57.762 + /* Diagnostic functions (stubbed out) */
  57.763 + #define Assert(cond,msg)
  57.764 +@@ -476,6 +513,17 @@
  57.765 + 	outcnt = 0;
  57.766 + }
  57.767 + 
  57.768 ++#ifdef CONFIG_RD_LZMA
  57.769 ++static int fill_buffer(void *buffer, unsigned size)
  57.770 ++{
  57.771 ++	int max =  initrd_end - initrd_start - fill_offset;
  57.772 ++	if (size < max) max = size;
  57.773 ++	memcpy(buffer, (void *)(initrd_start + fill_offset), max);
  57.774 ++	release_inbuf(max);
  57.775 ++	return max;
  57.776 ++}
  57.777 ++#endif
  57.778 ++
  57.779 + static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
  57.780 + {
  57.781 + 	int written;
  57.782 +@@ -489,11 +537,17 @@
  57.783 + 	state = Start;
  57.784 + 	this_header = 0;
  57.785 + 	message = NULL;
  57.786 ++	fill_total = fill_offset = 0;
  57.787 ++	if(buf != (char *) initrd_start) fill_total = -1;
  57.788 + 	while (!message && len) {
  57.789 ++#ifdef CONFIG_RD_LZMA
  57.790 ++		int status;
  57.791 ++#endif
  57.792 + 		loff_t saved_offset = this_header;
  57.793 + 		if (*buf == '0' && !(this_header & 3)) {
  57.794 + 			state = Start;
  57.795 + 			written = write_buffer(buf, len);
  57.796 ++			release_inbuf(written);
  57.797 + 			buf += written;
  57.798 + 			len -= written;
  57.799 + 			continue;
  57.800 +@@ -512,9 +566,42 @@
  57.801 + 		bytes_out = 0;
  57.802 + 		crc = (ulg)0xffffffffL; /* shift register contents */
  57.803 + 		makecrc();
  57.804 +-		gunzip();
  57.805 ++		if(!gunzip() && message == NULL)
  57.806 ++			goto ok;
  57.807 ++
  57.808 ++#ifdef CONFIG_RD_BZIP2
  57.809 ++		message = NULL; /* Zero out message, or else cpio will
  57.810 ++				   think an error has already occured */
  57.811 ++		if(!bunzip2(buf, len, NULL, flush_buffer, &inptr) < 0 &&
  57.812 ++		   message == NULL) {
  57.813 ++			goto ok;
  57.814 ++		}
  57.815 ++#endif
  57.816 ++
  57.817 ++#ifdef CONFIG_RD_LZMA
  57.818 ++		message = NULL; /* Zero out message, or else cpio will
  57.819 ++				   think an error has already occured */
  57.820 ++		status = -1;
  57.821 ++		if(buf == (char *) initrd_start) {
  57.822 ++			char *work_buffer = malloc(LZMA_IOBUF_SIZE);
  57.823 ++			if (work_buffer) {
  57.824 ++				fill_total = fill_offset = 0;
  57.825 ++				fill_buffer(work_buffer, LZMA_IOBUF_SIZE);
  57.826 ++				status = unlzma(work_buffer, LZMA_IOBUF_SIZE,
  57.827 ++					fill_buffer, flush_buffer, NULL);
  57.828 ++				inptr = fill_total;
  57.829 ++				free(work_buffer);
  57.830 ++			}
  57.831 ++		}
  57.832 ++		else status = unlzma(buf,len, NULL, flush_buffer, &inptr);
  57.833 ++		if (status == 0 && message == NULL) {
  57.834 ++			goto ok;
  57.835 ++		}
  57.836 ++#endif
  57.837 ++    ok:
  57.838 ++
  57.839 + 		if (state != Reset)
  57.840 +-			error("junk in gzipped archive");
  57.841 ++			error("junk in compressed archive");
  57.842 + 		this_header = saved_offset + inptr;
  57.843 + 		buf += inptr;
  57.844 + 		len -= inptr;
  57.845 +@@ -581,7 +668,7 @@
  57.846 + 	if (err)
  57.847 + 		panic(err);
  57.848 + 	if (initrd_start) {
  57.849 +-#ifdef CONFIG_BLK_DEV_RAM
  57.850 ++#ifdef NOT_IN_SLITAZ_CONFIG_BLK_DEV_RAM
  57.851 + 		int fd;
  57.852 + 		printk(KERN_INFO "checking if image is initramfs...");
  57.853 + 		err = unpack_to_rootfs((char *)initrd_start,
  57.854 +
  57.855 +--- linux-2.6.29.3/lib/Makefile
  57.856 ++++ linux-2.6.29.3/lib/Makefile
  57.857 +@@ -59,6 +59,9 @@
  57.858 + obj-$(CONFIG_LIBCRC32C)	+= libcrc32c.o
  57.859 + obj-$(CONFIG_GENERIC_ALLOCATOR) += genalloc.o
  57.860 + 
  57.861 ++obj-$(CONFIG_RD_BZIP2)	+= decompress_bunzip2.o
  57.862 ++obj-$(CONFIG_RD_LZMA)	+= decompress_unlzma.o unlzma_syms.o
  57.863 ++
  57.864 + obj-$(CONFIG_ZLIB_INFLATE) += zlib_inflate/
  57.865 + obj-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate/
  57.866 + obj-$(CONFIG_REED_SOLOMON) += reed_solomon/
  57.867 +
  57.868 +--- linux-2.6.29.3/lib/decompress_bunzip2.c
  57.869 ++++ linux-2.6.29.3/lib/decompress_bunzip2.c
  57.870 +@@ -0,0 +1,645 @@
  57.871 ++/* vi: set sw=4 ts=4: */
  57.872 ++/*	Small bzip2 deflate implementation, by Rob Landley (rob@landley.net).
  57.873 ++
  57.874 ++	Based on bzip2 decompression code by Julian R Seward (jseward@acm.org),
  57.875 ++	which also acknowledges contributions by Mike Burrows, David Wheeler,
  57.876 ++	Peter Fenwick, Alistair Moffat, Radford Neal, Ian H. Witten,
  57.877 ++	Robert Sedgewick, and Jon L. Bentley.
  57.878 ++
  57.879 ++	This code is licensed under the LGPLv2:
  57.880 ++		LGPL (http://www.gnu.org/copyleft/lgpl.html
  57.881 ++*/
  57.882 ++
  57.883 ++/*
  57.884 ++	Size and speed optimizations by Manuel Novoa III  (mjn3@codepoet.org).
  57.885 ++
  57.886 ++	More efficient reading of Huffman codes, a streamlined read_bunzip()
  57.887 ++	function, and various other tweaks.  In (limited) tests, approximately
  57.888 ++	20% faster than bzcat on x86 and about 10% faster on arm.
  57.889 ++
  57.890 ++	Note that about 2/3 of the time is spent in read_unzip() reversing
  57.891 ++	the Burrows-Wheeler transformation.  Much of that time is delay
  57.892 ++	resulting from cache misses.
  57.893 ++
  57.894 ++	I would ask that anyone benefiting from this work, especially those
  57.895 ++	using it in commercial products, consider making a donation to my local
  57.896 ++	non-profit hospice organization in the name of the woman I loved, who
  57.897 ++	passed away Feb. 12, 2003.
  57.898 ++
  57.899 ++		In memory of Toni W. Hagan
  57.900 ++
  57.901 ++		Hospice of Acadiana, Inc.
  57.902 ++		2600 Johnston St., Suite 200
  57.903 ++		Lafayette, LA 70503-3240
  57.904 ++
  57.905 ++		Phone (337) 232-1234 or 1-800-738-2226
  57.906 ++		Fax   (337) 232-1297
  57.907 ++
  57.908 ++		http://www.hospiceacadiana.com/
  57.909 ++
  57.910 ++	Manuel
  57.911 ++ */
  57.912 ++
  57.913 ++/*
  57.914 ++	Made it fit for running in Linux Kernel by Alain Knaff (alain@knaff.lu)
  57.915 ++*/
  57.916 ++
  57.917 ++
  57.918 ++#ifndef STATIC
  57.919 ++
  57.920 ++#include <linux/kernel.h>
  57.921 ++#include <linux/fs.h>
  57.922 ++#include <linux/string.h>
  57.923 ++
  57.924 ++#ifdef TEST
  57.925 ++#include "test.h"
  57.926 ++#else
  57.927 ++#include <linux/vmalloc.h>
  57.928 ++#endif
  57.929 ++
  57.930 ++static void __init *large_malloc(size_t size)
  57.931 ++{
  57.932 ++	return vmalloc(size);
  57.933 ++}
  57.934 ++
  57.935 ++static void __init large_free(void *where)
  57.936 ++{
  57.937 ++	vfree(where);
  57.938 ++}
  57.939 ++
  57.940 ++#ifndef TEST
  57.941 ++static void __init *malloc(size_t size)
  57.942 ++{
  57.943 ++	return kmalloc(size, GFP_KERNEL);
  57.944 ++}
  57.945 ++
  57.946 ++static void __init free(void *where)
  57.947 ++{
  57.948 ++	kfree(where);
  57.949 ++}
  57.950 ++
  57.951 ++static void __init error(char *x)
  57.952 ++{
  57.953 ++	printk(KERN_ERR "%s\n", x);
  57.954 ++}
  57.955 ++#endif
  57.956 ++
  57.957 ++#define STATIC /**/
  57.958 ++
  57.959 ++#endif
  57.960 ++
  57.961 ++#include <linux/decompress_bunzip2.h>
  57.962 ++
  57.963 ++
  57.964 ++/* Constants for Huffman coding */
  57.965 ++#define MAX_GROUPS			6
  57.966 ++#define GROUP_SIZE   		50		/* 64 would have been more efficient */
  57.967 ++#define MAX_HUFCODE_BITS 	20		/* Longest Huffman code allowed */
  57.968 ++#define MAX_SYMBOLS 		258		/* 256 literals + RUNA + RUNB */
  57.969 ++#define SYMBOL_RUNA			0
  57.970 ++#define SYMBOL_RUNB			1
  57.971 ++
  57.972 ++/* Status return values */
  57.973 ++#define RETVAL_OK						0
  57.974 ++#define RETVAL_LAST_BLOCK				(-1)
  57.975 ++#define RETVAL_NOT_BZIP_DATA			(-2)
  57.976 ++#define RETVAL_UNEXPECTED_INPUT_EOF		(-3)
  57.977 ++#define RETVAL_UNEXPECTED_OUTPUT_EOF	(-4)
  57.978 ++#define RETVAL_DATA_ERROR				(-5)
  57.979 ++#define RETVAL_OUT_OF_MEMORY			(-6)
  57.980 ++#define RETVAL_OBSOLETE_INPUT			(-7)
  57.981 ++
  57.982 ++
  57.983 ++/* This is what we know about each Huffman coding group */
  57.984 ++struct group_data {
  57.985 ++	/* We have an extra slot at the end of limit[] for a sentinal value. */
  57.986 ++	int limit[MAX_HUFCODE_BITS+1],base[MAX_HUFCODE_BITS],permute[MAX_SYMBOLS];
  57.987 ++	int minLen, maxLen;
  57.988 ++};
  57.989 ++
  57.990 ++/* Structure holding all the housekeeping data, including IO buffers and
  57.991 ++   memory that persists between calls to bunzip */
  57.992 ++typedef struct {
  57.993 ++	/* State for interrupting output loop */
  57.994 ++	int writeCopies,writePos,writeRunCountdown,writeCount,writeCurrent;
  57.995 ++	/* I/O tracking data (file handles, buffers, positions, etc.) */
  57.996 ++	int (*fill)(void*,unsigned int);
  57.997 ++	int inbufCount,inbufPos /*,outbufPos*/;
  57.998 ++	unsigned char *inbuf /*,*outbuf*/;
  57.999 ++	unsigned int inbufBitCount, inbufBits;
 57.1000 ++	/* The CRC values stored in the block header and calculated from the data */
 57.1001 ++	unsigned int crc32Table[256],headerCRC, totalCRC, writeCRC;
 57.1002 ++	/* Intermediate buffer and its size (in bytes) */
 57.1003 ++	unsigned int *dbuf, dbufSize;
 57.1004 ++	/* These things are a bit too big to go on the stack */
 57.1005 ++	unsigned char selectors[32768];			/* nSelectors=15 bits */
 57.1006 ++	struct group_data groups[MAX_GROUPS];	/* Huffman coding tables */
 57.1007 ++	int io_error;			/* non-zero if we have IO error */
 57.1008 ++} bunzip_data;
 57.1009 ++	
 57.1010 ++
 57.1011 ++/* Return the next nnn bits of input.  All reads from the compressed input
 57.1012 ++   are done through this function.  All reads are big endian */
 57.1013 ++static unsigned int get_bits(bunzip_data *bd, char bits_wanted)
 57.1014 ++{
 57.1015 ++	unsigned int bits=0;
 57.1016 ++
 57.1017 ++	/* If we need to get more data from the byte buffer, do so.  (Loop getting
 57.1018 ++	   one byte at a time to enforce endianness and avoid unaligned access.) */
 57.1019 ++	while (bd->inbufBitCount<bits_wanted) {
 57.1020 ++		/* If we need to read more data from file into byte buffer, do so */
 57.1021 ++		if(bd->inbufPos==bd->inbufCount) {
 57.1022 ++			if(bd->io_error)
 57.1023 ++				return 0;
 57.1024 ++			if((bd->inbufCount = bd->fill(bd->inbuf, BZIP2_IOBUF_SIZE)) <= 0) {
 57.1025 ++				bd->io_error=RETVAL_UNEXPECTED_INPUT_EOF;
 57.1026 ++				return 0;
 57.1027 ++			}
 57.1028 ++			bd->inbufPos=0;
 57.1029 ++		}
 57.1030 ++		/* Avoid 32-bit overflow (dump bit buffer to top of output) */
 57.1031 ++		if(bd->inbufBitCount>=24) {
 57.1032 ++			bits=bd->inbufBits&((1<<bd->inbufBitCount)-1);
 57.1033 ++			bits_wanted-=bd->inbufBitCount;
 57.1034 ++			bits<<=bits_wanted;
 57.1035 ++			bd->inbufBitCount=0;
 57.1036 ++		}
 57.1037 ++		/* Grab next 8 bits of input from buffer. */
 57.1038 ++		bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++];
 57.1039 ++		bd->inbufBitCount+=8;
 57.1040 ++	}
 57.1041 ++	/* Calculate result */
 57.1042 ++	bd->inbufBitCount-=bits_wanted;
 57.1043 ++	bits|=(bd->inbufBits>>bd->inbufBitCount)&((1<<bits_wanted)-1);
 57.1044 ++
 57.1045 ++	return bits;
 57.1046 ++}
 57.1047 ++
 57.1048 ++/* Unpacks the next block and sets up for the inverse burrows-wheeler step. */
 57.1049 ++
 57.1050 ++static int get_next_block(bunzip_data *bd)
 57.1051 ++{
 57.1052 ++	struct group_data *hufGroup=NULL;
 57.1053 ++	int *base=NULL;
 57.1054 ++	int *limit=NULL;
 57.1055 ++	int dbufCount,nextSym,dbufSize,groupCount,selector,
 57.1056 ++		i,j,k,t,runPos,symCount,symTotal,nSelectors,byteCount[256];
 57.1057 ++	unsigned char uc, symToByte[256], mtfSymbol[256], *selectors;
 57.1058 ++	unsigned int *dbuf,origPtr;
 57.1059 ++
 57.1060 ++	dbuf=bd->dbuf;
 57.1061 ++	dbufSize=bd->dbufSize;
 57.1062 ++	selectors=bd->selectors;
 57.1063 ++
 57.1064 ++	/* Read in header signature and CRC, then validate signature.
 57.1065 ++	   (last block signature means CRC is for whole file, return now) */
 57.1066 ++	i = get_bits(bd,24);
 57.1067 ++	j = get_bits(bd,24);
 57.1068 ++	bd->headerCRC=get_bits(bd,32);
 57.1069 ++	if ((i == 0x177245) && (j == 0x385090)) return RETVAL_LAST_BLOCK;
 57.1070 ++	if ((i != 0x314159) || (j != 0x265359)) return RETVAL_NOT_BZIP_DATA;
 57.1071 ++	/* We can add support for blockRandomised if anybody complains.  There was
 57.1072 ++	   some code for this in busybox 1.0.0-pre3, but nobody ever noticed that
 57.1073 ++	   it didn't actually work. */
 57.1074 ++	if(get_bits(bd,1)) return RETVAL_OBSOLETE_INPUT;
 57.1075 ++	if((origPtr=get_bits(bd,24)) > dbufSize) return RETVAL_DATA_ERROR;
 57.1076 ++	/* mapping table: if some byte values are never used (encoding things
 57.1077 ++	   like ascii text), the compression code removes the gaps to have fewer
 57.1078 ++	   symbols to deal with, and writes a sparse bitfield indicating which
 57.1079 ++	   values were present.  We make a translation table to convert the symbols
 57.1080 ++	   back to the corresponding bytes. */
 57.1081 ++	t=get_bits(bd, 16);
 57.1082 ++	symTotal=0;
 57.1083 ++	for (i=0;i<16;i++) {
 57.1084 ++		if(t&(1<<(15-i))) {
 57.1085 ++			k=get_bits(bd,16);
 57.1086 ++			for(j=0;j<16;j++)
 57.1087 ++				if(k&(1<<(15-j))) symToByte[symTotal++]=(16*i)+j;
 57.1088 ++		}
 57.1089 ++	}
 57.1090 ++	/* How many different Huffman coding groups does this block use? */
 57.1091 ++	groupCount=get_bits(bd,3);
 57.1092 ++	if (groupCount<2 || groupCount>MAX_GROUPS) return RETVAL_DATA_ERROR;
 57.1093 ++	/* nSelectors: Every GROUP_SIZE many symbols we select a new Huffman coding
 57.1094 ++	   group.  Read in the group selector list, which is stored as MTF encoded
 57.1095 ++	   bit runs.  (MTF=Move To Front, as each value is used it's moved to the
 57.1096 ++	   start of the list.) */
 57.1097 ++	if(!(nSelectors=get_bits(bd, 15))) return RETVAL_DATA_ERROR;
 57.1098 ++	for(i=0; i<groupCount; i++) mtfSymbol[i] = i;
 57.1099 ++	for(i=0; i<nSelectors; i++) {
 57.1100 ++		/* Get next value */
 57.1101 ++		for(j=0;get_bits(bd,1);j++) if (j>=groupCount) return RETVAL_DATA_ERROR;
 57.1102 ++		/* Decode MTF to get the next selector */
 57.1103 ++		uc = mtfSymbol[j];
 57.1104 ++		for(;j;j--) mtfSymbol[j] = mtfSymbol[j-1];
 57.1105 ++		mtfSymbol[0]=selectors[i]=uc;
 57.1106 ++	}
 57.1107 ++	/* Read the Huffman coding tables for each group, which code for symTotal
 57.1108 ++	   literal symbols, plus two run symbols (RUNA, RUNB) */
 57.1109 ++	symCount=symTotal+2;
 57.1110 ++	for (j=0; j<groupCount; j++) {
 57.1111 ++		unsigned char length[MAX_SYMBOLS],temp[MAX_HUFCODE_BITS+1];
 57.1112 ++		int	minLen,	maxLen, pp;
 57.1113 ++		/* Read Huffman code lengths for each symbol.  They're stored in
 57.1114 ++		   a way similar to mtf; record a starting value for the first symbol,
 57.1115 ++		   and an offset from the previous value for everys symbol after that.
 57.1116 ++		   (Subtracting 1 before the loop and then adding it back at the end is
 57.1117 ++		   an optimization that makes the test inside the loop simpler: symbol
 57.1118 ++		   length 0 becomes negative, so an unsigned inequality catches it.) */
 57.1119 ++		t=get_bits(bd, 5)-1;
 57.1120 ++		for (i = 0; i < symCount; i++) {
 57.1121 ++			for(;;) {
 57.1122 ++				if (((unsigned)t) > (MAX_HUFCODE_BITS-1))
 57.1123 ++					return RETVAL_DATA_ERROR;
 57.1124 ++				/* If first bit is 0, stop.  Else second bit indicates whether
 57.1125 ++				   to increment or decrement the value.  Optimization: grab 2
 57.1126 ++				   bits and unget the second if the first was 0. */
 57.1127 ++				k = get_bits(bd,2);
 57.1128 ++				if (k < 2) {
 57.1129 ++					bd->inbufBitCount++;
 57.1130 ++					break;
 57.1131 ++				}
 57.1132 ++				/* Add one if second bit 1, else subtract 1.  Avoids if/else */
 57.1133 ++				t+=(((k+1)&2)-1);
 57.1134 ++			}
 57.1135 ++			/* Correct for the initial -1, to get the final symbol length */
 57.1136 ++			length[i]=t+1;
 57.1137 ++		}
 57.1138 ++		/* Find largest and smallest lengths in this group */
 57.1139 ++		minLen=maxLen=length[0];
 57.1140 ++		for(i = 1; i < symCount; i++) {
 57.1141 ++			if(length[i] > maxLen) maxLen = length[i];
 57.1142 ++			else if(length[i] < minLen) minLen = length[i];
 57.1143 ++		}
 57.1144 ++		/* Calculate permute[], base[], and limit[] tables from length[].
 57.1145 ++		 *
 57.1146 ++		 * permute[] is the lookup table for converting Huffman coded symbols
 57.1147 ++		 * into decoded symbols.  base[] is the amount to subtract from the
 57.1148 ++		 * value of a Huffman symbol of a given length when using permute[].
 57.1149 ++		 *
 57.1150 ++		 * limit[] indicates the largest numerical value a symbol with a given
 57.1151 ++		 * number of bits can have.  This is how the Huffman codes can vary in
 57.1152 ++		 * length: each code with a value>limit[length] needs another bit.
 57.1153 ++		 */
 57.1154 ++		hufGroup=bd->groups+j;
 57.1155 ++		hufGroup->minLen = minLen;
 57.1156 ++		hufGroup->maxLen = maxLen;
 57.1157 ++		/* Note that minLen can't be smaller than 1, so we adjust the base
 57.1158 ++		   and limit array pointers so we're not always wasting the first
 57.1159 ++		   entry.  We do this again when using them (during symbol decoding).*/
 57.1160 ++		base=hufGroup->base-1;
 57.1161 ++		limit=hufGroup->limit-1;
 57.1162 ++		/* Calculate permute[].  Concurently, initialize temp[] and limit[]. */
 57.1163 ++		pp=0;
 57.1164 ++		for(i=minLen;i<=maxLen;i++) {
 57.1165 ++			temp[i]=limit[i]=0;
 57.1166 ++			for(t=0;t<symCount;t++)
 57.1167 ++				if(length[t]==i) hufGroup->permute[pp++] = t;
 57.1168 ++		}
 57.1169 ++		/* Count symbols coded for at each bit length */
 57.1170 ++		for (i=0;i<symCount;i++) temp[length[i]]++;
 57.1171 ++		/* Calculate limit[] (the largest symbol-coding value at each bit
 57.1172 ++		 * length, which is (previous limit<<1)+symbols at this level), and
 57.1173 ++		 * base[] (number of symbols to ignore at each bit length, which is
 57.1174 ++		 * limit minus the cumulative count of symbols coded for already). */
 57.1175 ++		pp=t=0;
 57.1176 ++		for (i=minLen; i<maxLen; i++) {
 57.1177 ++			pp+=temp[i];
 57.1178 ++			/* We read the largest possible symbol size and then unget bits
 57.1179 ++			   after determining how many we need, and those extra bits could
 57.1180 ++			   be set to anything.  (They're noise from future symbols.)  At
 57.1181 ++			   each level we're really only interested in the first few bits,
 57.1182 ++			   so here we set all the trailing to-be-ignored bits to 1 so they
 57.1183 ++			   don't affect the value>limit[length] comparison. */
 57.1184 ++			limit[i]= (pp << (maxLen - i)) - 1;
 57.1185 ++			pp<<=1;
 57.1186 ++			base[i+1]=pp-(t+=temp[i]);
 57.1187 ++		}
 57.1188 ++		limit[maxLen+1] = INT_MAX; /* Sentinal value for reading next sym. */
 57.1189 ++		limit[maxLen]=pp+temp[maxLen]-1;
 57.1190 ++		base[minLen]=0;
 57.1191 ++	}
 57.1192 ++	/* We've finished reading and digesting the block header.  Now read this
 57.1193 ++	   block's Huffman coded symbols from the file and undo the Huffman coding
 57.1194 ++	   and run length encoding, saving the result into dbuf[dbufCount++]=uc */
 57.1195 ++
 57.1196 ++	/* Initialize symbol occurrence counters and symbol Move To Front table */
 57.1197 ++	for(i=0;i<256;i++) {
 57.1198 ++		byteCount[i] = 0;
 57.1199 ++		mtfSymbol[i]=(unsigned char)i;
 57.1200 ++	}
 57.1201 ++	/* Loop through compressed symbols. */
 57.1202 ++	runPos=dbufCount=symCount=selector=0;
 57.1203 ++	for(;;) {
 57.1204 ++		/* Determine which Huffman coding group to use. */
 57.1205 ++		if(!(symCount--)) {
 57.1206 ++			symCount=GROUP_SIZE-1;
 57.1207 ++			if(selector>=nSelectors) return RETVAL_DATA_ERROR;
 57.1208 ++			hufGroup=bd->groups+selectors[selector++];
 57.1209 ++			base=hufGroup->base-1;
 57.1210 ++			limit=hufGroup->limit-1;
 57.1211 ++		}
 57.1212 ++		/* Read next Huffman-coded symbol. */
 57.1213 ++		/* Note: It is far cheaper to read maxLen bits and back up than it is
 57.1214 ++		   to read minLen bits and then an additional bit at a time, testing
 57.1215 ++		   as we go.  Because there is a trailing last block (with file CRC),
 57.1216 ++		   there is no danger of the overread causing an unexpected EOF for a
 57.1217 ++		   valid compressed file.  As a further optimization, we do the read
 57.1218 ++		   inline (falling back to a call to get_bits if the buffer runs
 57.1219 ++		   dry).  The following (up to got_huff_bits:) is equivalent to
 57.1220 ++		   j=get_bits(bd,hufGroup->maxLen);
 57.1221 ++		 */
 57.1222 ++		while (bd->inbufBitCount<hufGroup->maxLen) {
 57.1223 ++			if(bd->inbufPos==bd->inbufCount) {
 57.1224 ++				j = get_bits(bd,hufGroup->maxLen);
 57.1225 ++				goto got_huff_bits;
 57.1226 ++			}
 57.1227 ++			bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++];
 57.1228 ++			bd->inbufBitCount+=8;
 57.1229 ++		};
 57.1230 ++		bd->inbufBitCount-=hufGroup->maxLen;
 57.1231 ++		j = (bd->inbufBits>>bd->inbufBitCount)&((1<<hufGroup->maxLen)-1);
 57.1232 ++got_huff_bits:
 57.1233 ++		/* Figure how how many bits are in next symbol and unget extras */
 57.1234 ++		i=hufGroup->minLen;
 57.1235 ++		while(j>limit[i]) ++i;
 57.1236 ++		bd->inbufBitCount += (hufGroup->maxLen - i);
 57.1237 ++		/* Huffman decode value to get nextSym (with bounds checking) */
 57.1238 ++		if ((i > hufGroup->maxLen)
 57.1239 ++			|| (((unsigned)(j=(j>>(hufGroup->maxLen-i))-base[i]))
 57.1240 ++				>= MAX_SYMBOLS))
 57.1241 ++			return RETVAL_DATA_ERROR;
 57.1242 ++		nextSym = hufGroup->permute[j];
 57.1243 ++		/* We have now decoded the symbol, which indicates either a new literal
 57.1244 ++		   byte, or a repeated run of the most recent literal byte.  First,
 57.1245 ++		   check if nextSym indicates a repeated run, and if so loop collecting
 57.1246 ++		   how many times to repeat the last literal. */
 57.1247 ++		if (((unsigned)nextSym) <= SYMBOL_RUNB) { /* RUNA or RUNB */
 57.1248 ++			/* If this is the start of a new run, zero out counter */
 57.1249 ++			if(!runPos) {
 57.1250 ++				runPos = 1;
 57.1251 ++				t = 0;
 57.1252 ++			}
 57.1253 ++			/* Neat trick that saves 1 symbol: instead of or-ing 0 or 1 at
 57.1254 ++			   each bit position, add 1 or 2 instead.  For example,
 57.1255 ++			   1011 is 1<<0 + 1<<1 + 2<<2.  1010 is 2<<0 + 2<<1 + 1<<2.
 57.1256 ++			   You can make any bit pattern that way using 1 less symbol than
 57.1257 ++			   the basic or 0/1 method (except all bits 0, which would use no
 57.1258 ++			   symbols, but a run of length 0 doesn't mean anything in this
 57.1259 ++			   context).  Thus space is saved. */
 57.1260 ++			t += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */
 57.1261 ++			runPos <<= 1;
 57.1262 ++			continue;
 57.1263 ++		}
 57.1264 ++		/* When we hit the first non-run symbol after a run, we now know
 57.1265 ++		   how many times to repeat the last literal, so append that many
 57.1266 ++		   copies to our buffer of decoded symbols (dbuf) now.  (The last
 57.1267 ++		   literal used is the one at the head of the mtfSymbol array.) */
 57.1268 ++		if(runPos) {
 57.1269 ++			runPos=0;
 57.1270 ++			if(dbufCount+t>=dbufSize) return RETVAL_DATA_ERROR;
 57.1271 ++
 57.1272 ++			uc = symToByte[mtfSymbol[0]];
 57.1273 ++			byteCount[uc] += t;
 57.1274 ++			while(t--) dbuf[dbufCount++]=uc;
 57.1275 ++		}
 57.1276 ++		/* Is this the terminating symbol? */
 57.1277 ++		if(nextSym>symTotal) break;
 57.1278 ++		/* At this point, nextSym indicates a new literal character.  Subtract
 57.1279 ++		   one to get the position in the MTF array at which this literal is
 57.1280 ++		   currently to be found.  (Note that the result can't be -1 or 0,
 57.1281 ++		   because 0 and 1 are RUNA and RUNB.  But another instance of the
 57.1282 ++		   first symbol in the mtf array, position 0, would have been handled
 57.1283 ++		   as part of a run above.  Therefore 1 unused mtf position minus
 57.1284 ++		   2 non-literal nextSym values equals -1.) */
 57.1285 ++		if(dbufCount>=dbufSize) return RETVAL_DATA_ERROR;
 57.1286 ++		i = nextSym - 1;
 57.1287 ++		uc = mtfSymbol[i];
 57.1288 ++		/* Adjust the MTF array.  Since we typically expect to move only a
 57.1289 ++		 * small number of symbols, and are bound by 256 in any case, using
 57.1290 ++		 * memmove here would typically be bigger and slower due to function
 57.1291 ++		 * call overhead and other assorted setup costs. */
 57.1292 ++		do {
 57.1293 ++			mtfSymbol[i] = mtfSymbol[i-1];
 57.1294 ++		} while (--i);
 57.1295 ++		mtfSymbol[0] = uc;
 57.1296 ++		uc=symToByte[uc];
 57.1297 ++		/* We have our literal byte.  Save it into dbuf. */
 57.1298 ++		byteCount[uc]++;
 57.1299 ++		dbuf[dbufCount++] = (unsigned int)uc;
 57.1300 ++	}
 57.1301 ++	/* At this point, we've read all the Huffman-coded symbols (and repeated
 57.1302 ++       runs) for this block from the input stream, and decoded them into the
 57.1303 ++	   intermediate buffer.  There are dbufCount many decoded bytes in dbuf[].
 57.1304 ++	   Now undo the Burrows-Wheeler transform on dbuf.
 57.1305 ++	   See http://dogma.net/markn/articles/bwt/bwt.htm
 57.1306 ++	 */
 57.1307 ++	/* Turn byteCount into cumulative occurrence counts of 0 to n-1. */
 57.1308 ++	j=0;
 57.1309 ++	for(i=0;i<256;i++) {
 57.1310 ++		k=j+byteCount[i];
 57.1311 ++		byteCount[i] = j;
 57.1312 ++		j=k;
 57.1313 ++	}
 57.1314 ++	/* Figure out what order dbuf would be in if we sorted it. */
 57.1315 ++	for (i=0;i<dbufCount;i++) {
 57.1316 ++		uc=(unsigned char)(dbuf[i] & 0xff);
 57.1317 ++		dbuf[byteCount[uc]] |= (i << 8);
 57.1318 ++		byteCount[uc]++;
 57.1319 ++	}
 57.1320 ++	/* Decode first byte by hand to initialize "previous" byte.  Note that it
 57.1321 ++	   doesn't get output, and if the first three characters are identical
 57.1322 ++	   it doesn't qualify as a run (hence writeRunCountdown=5). */
 57.1323 ++	if(dbufCount) {
 57.1324 ++		if(origPtr>=dbufCount) return RETVAL_DATA_ERROR;
 57.1325 ++		bd->writePos=dbuf[origPtr];
 57.1326 ++	    bd->writeCurrent=(unsigned char)(bd->writePos&0xff);
 57.1327 ++		bd->writePos>>=8;
 57.1328 ++		bd->writeRunCountdown=5;
 57.1329 ++	}
 57.1330 ++	bd->writeCount=dbufCount;
 57.1331 ++
 57.1332 ++	return RETVAL_OK;
 57.1333 ++}
 57.1334 ++
 57.1335 ++/* Undo burrows-wheeler transform on intermediate buffer to produce output.
 57.1336 ++   If start_bunzip was initialized with out_fd=-1, then up to len bytes of
 57.1337 ++   data are written to outbuf.  Return value is number of bytes written or
 57.1338 ++   error (all errors are negative numbers).  If out_fd!=-1, outbuf and len
 57.1339 ++   are ignored, data is written to out_fd and return is RETVAL_OK or error.
 57.1340 ++*/
 57.1341 ++
 57.1342 ++static int read_bunzip(bunzip_data *bd, char *outbuf, int len)
 57.1343 ++{
 57.1344 ++	const unsigned int *dbuf;
 57.1345 ++	int pos,xcurrent,previous,gotcount;
 57.1346 ++
 57.1347 ++	/* If last read was short due to end of file, return last block now */
 57.1348 ++	if(bd->writeCount<0) return bd->writeCount;
 57.1349 ++
 57.1350 ++	gotcount = 0;
 57.1351 ++	dbuf=bd->dbuf;
 57.1352 ++	pos=bd->writePos;
 57.1353 ++	xcurrent=bd->writeCurrent;
 57.1354 ++
 57.1355 ++	/* We will always have pending decoded data to write into the output
 57.1356 ++	   buffer unless this is the very first call (in which case we haven't
 57.1357 ++	   Huffman-decoded a block into the intermediate buffer yet). */
 57.1358 ++
 57.1359 ++	if (bd->writeCopies) {
 57.1360 ++		/* Inside the loop, writeCopies means extra copies (beyond 1) */
 57.1361 ++		--bd->writeCopies;
 57.1362 ++		/* Loop outputting bytes */
 57.1363 ++		for(;;) {
 57.1364 ++			/* If the output buffer is full, snapshot state and return */
 57.1365 ++			if(gotcount >= len) {
 57.1366 ++				bd->writePos=pos;
 57.1367 ++				bd->writeCurrent=xcurrent;
 57.1368 ++				bd->writeCopies++;
 57.1369 ++				return len;
 57.1370 ++			}
 57.1371 ++			/* Write next byte into output buffer, updating CRC */
 57.1372 ++			outbuf[gotcount++] = xcurrent;
 57.1373 ++			bd->writeCRC=(((bd->writeCRC)<<8)
 57.1374 ++						  ^bd->crc32Table[((bd->writeCRC)>>24)^xcurrent]);
 57.1375 ++			/* Loop now if we're outputting multiple copies of this byte */
 57.1376 ++			if (bd->writeCopies) {
 57.1377 ++				--bd->writeCopies;
 57.1378 ++				continue;
 57.1379 ++			}
 57.1380 ++decode_next_byte:
 57.1381 ++			if (!bd->writeCount--) break;
 57.1382 ++			/* Follow sequence vector to undo Burrows-Wheeler transform */
 57.1383 ++			previous=xcurrent;
 57.1384 ++			pos=dbuf[pos];
 57.1385 ++			xcurrent=pos&0xff;
 57.1386 ++			pos>>=8;
 57.1387 ++			/* After 3 consecutive copies of the same byte, the 4th is a repeat
 57.1388 ++			   count.  We count down from 4 instead
 57.1389 ++			 * of counting up because testing for non-zero is faster */
 57.1390 ++			if(--bd->writeRunCountdown) {
 57.1391 ++				if(xcurrent!=previous) bd->writeRunCountdown=4;
 57.1392 ++			} else {
 57.1393 ++				/* We have a repeated run, this byte indicates the count */
 57.1394 ++				bd->writeCopies=xcurrent;
 57.1395 ++				xcurrent=previous;
 57.1396 ++				bd->writeRunCountdown=5;
 57.1397 ++				/* Sometimes there are just 3 bytes (run length 0) */
 57.1398 ++				if(!bd->writeCopies) goto decode_next_byte;
 57.1399 ++				/* Subtract the 1 copy we'd output anyway to get extras */
 57.1400 ++				--bd->writeCopies;
 57.1401 ++			}
 57.1402 ++		}
 57.1403 ++		/* Decompression of this block completed successfully */
 57.1404 ++		bd->writeCRC=~bd->writeCRC;
 57.1405 ++		bd->totalCRC=((bd->totalCRC<<1) | (bd->totalCRC>>31)) ^ bd->writeCRC;
 57.1406 ++		/* If this block had a CRC error, force file level CRC error. */
 57.1407 ++		if(bd->writeCRC!=bd->headerCRC) {
 57.1408 ++			bd->totalCRC=bd->headerCRC+1;
 57.1409 ++			return RETVAL_LAST_BLOCK;
 57.1410 ++		}
 57.1411 ++	}
 57.1412 ++
 57.1413 ++	/* Refill the intermediate buffer by Huffman-decoding next block of input */
 57.1414 ++	/* (previous is just a convenient unused temp variable here) */
 57.1415 ++	previous=get_next_block(bd);
 57.1416 ++	if(previous) {
 57.1417 ++		bd->writeCount=previous;
 57.1418 ++		return (previous!=RETVAL_LAST_BLOCK) ? previous : gotcount;
 57.1419 ++	}
 57.1420 ++	bd->writeCRC=0xffffffffUL;
 57.1421 ++	pos=bd->writePos;
 57.1422 ++	xcurrent=bd->writeCurrent;
 57.1423 ++	goto decode_next_byte;
 57.1424 ++}
 57.1425 ++
 57.1426 ++static int nofill(void *buf,unsigned int len) {
 57.1427 ++	return -1;
 57.1428 ++}
 57.1429 ++
 57.1430 ++/* Allocate the structure, read file header.  If in_fd==-1, inbuf must contain
 57.1431 ++   a complete bunzip file (len bytes long).  If in_fd!=-1, inbuf and len are
 57.1432 ++   ignored, and data is read from file handle into temporary buffer. */
 57.1433 ++static int start_bunzip(bunzip_data **bdp, void *inbuf, int len,
 57.1434 ++			int (*fill)(void*,unsigned int))
 57.1435 ++{
 57.1436 ++	bunzip_data *bd;
 57.1437 ++	unsigned int i,j,c;
 57.1438 ++	const unsigned int BZh0=(((unsigned int)'B')<<24)+(((unsigned int)'Z')<<16)
 57.1439 ++							+(((unsigned int)'h')<<8)+(unsigned int)'0';
 57.1440 ++
 57.1441 ++	/* Figure out how much data to allocate */
 57.1442 ++	i=sizeof(bunzip_data);
 57.1443 ++
 57.1444 ++	/* Allocate bunzip_data.  Most fields initialize to zero. */
 57.1445 ++	bd=*bdp=malloc(i);
 57.1446 ++	memset(bd,0,sizeof(bunzip_data));
 57.1447 ++	/* Setup input buffer */
 57.1448 ++	bd->inbuf=inbuf;
 57.1449 ++	bd->inbufCount=len;
 57.1450 ++	if(fill != NULL)
 57.1451 ++		bd->fill=fill;
 57.1452 ++	else
 57.1453 ++		bd->fill=nofill;
 57.1454 ++
 57.1455 ++	/* Init the CRC32 table (big endian) */
 57.1456 ++	for(i=0;i<256;i++) {
 57.1457 ++		c=i<<24;
 57.1458 ++		for(j=8;j;j--)
 57.1459 ++			c=c&0x80000000 ? (c<<1)^0x04c11db7 : (c<<1);
 57.1460 ++		bd->crc32Table[i]=c;
 57.1461 ++	}
 57.1462 ++
 57.1463 ++	/* Ensure that file starts with "BZh['1'-'9']." */
 57.1464 ++	i = get_bits(bd,32);
 57.1465 ++	if (((unsigned int)(i-BZh0-1)) >= 9) return RETVAL_NOT_BZIP_DATA;
 57.1466 ++
 57.1467 ++	/* Fourth byte (ascii '1'-'9'), indicates block size in units of 100k of
 57.1468 ++	   uncompressed data.  Allocate intermediate buffer for block. */
 57.1469 ++	bd->dbufSize=100000*(i-BZh0);
 57.1470 ++
 57.1471 ++	bd->dbuf=large_malloc(bd->dbufSize * sizeof(int));
 57.1472 ++	return RETVAL_OK;
 57.1473 ++}
 57.1474 ++
 57.1475 ++/* Example usage: decompress src_fd to dst_fd.  (Stops at end of bzip data,
 57.1476 ++   not end of file.) */
 57.1477 ++STATIC int bunzip2(char *inbuf, int len, 
 57.1478 ++		   int(*fill)(void*,unsigned int),
 57.1479 ++		   int(*writebb)(char*,unsigned int),
 57.1480 ++		   int *pos)
 57.1481 ++{
 57.1482 ++	char *outbuf;
 57.1483 ++	bunzip_data *bd;
 57.1484 ++	int i;
 57.1485 ++
 57.1486 ++	outbuf=malloc(BZIP2_IOBUF_SIZE);
 57.1487 ++	if(!(i=start_bunzip(&bd,inbuf,len,fill))) {
 57.1488 ++		for(;;) {
 57.1489 ++			if((i=read_bunzip(bd,outbuf,BZIP2_IOBUF_SIZE)) <= 0) break;
 57.1490 ++			if(i!=writebb(outbuf,i)) {
 57.1491 ++				i=RETVAL_UNEXPECTED_OUTPUT_EOF;
 57.1492 ++				break;
 57.1493 ++			}
 57.1494 ++		}
 57.1495 ++	}
 57.1496 ++	/* Check CRC and release memory */
 57.1497 ++	if(i==RETVAL_LAST_BLOCK) {
 57.1498 ++		if (bd->headerCRC!=bd->totalCRC) {
 57.1499 ++			error("Data integrity error when decompressing.");
 57.1500 ++		} else {
 57.1501 ++			i=RETVAL_OK;
 57.1502 ++		}
 57.1503 ++	}
 57.1504 ++	else if (i==RETVAL_UNEXPECTED_OUTPUT_EOF) {
 57.1505 ++		error("Compressed file ends unexpectedly");
 57.1506 ++	}
 57.1507 ++	if(bd->dbuf) large_free(bd->dbuf);
 57.1508 ++	if(pos)
 57.1509 ++		*pos = bd->inbufPos;
 57.1510 ++	free(bd);
 57.1511 ++	free(outbuf);
 57.1512 ++
 57.1513 ++	return i;
 57.1514 ++}
 57.1515 ++
 57.1516 +
 57.1517 +--- linux-2.6.29.3/lib/decompress_unlzma.c
 57.1518 ++++ linux-2.6.29.3/lib/decompress_unlzma.c
 57.1519 +@@ -0,0 +1,577 @@
 57.1520 ++/* Lzma decompressor for Linux kernel. Shamelessly snarfed
 57.1521 ++ * from busybox 1.1.1
 57.1522 ++ *
 57.1523 ++ * Linux kernel adaptation
 57.1524 ++ * Copyright (C) 2006  Alain <alain@knaff.lu>
 57.1525 ++ *
 57.1526 ++ * Based on small lzma deflate implementation/Small range coder 
 57.1527 ++ * implementation for lzma.
 57.1528 ++ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 57.1529 ++ *
 57.1530 ++ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 57.1531 ++ * Copyright (C) 1999-2005  Igor Pavlov
 57.1532 ++ *
 57.1533 ++ * Copyrights of the parts, see headers below.
 57.1534 ++ *
 57.1535 ++ *
 57.1536 ++ * This program is free software; you can redistribute it and/or
 57.1537 ++ * modify it under the terms of the GNU Lesser General Public
 57.1538 ++ * License as published by the Free Software Foundation; either
 57.1539 ++ * version 2.1 of the License, or (at your option) any later version.
 57.1540 ++ *
 57.1541 ++ * This program is distributed in the hope that it will be useful,
 57.1542 ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
 57.1543 ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 57.1544 ++ * Lesser General Public License for more details.
 57.1545 ++ *
 57.1546 ++ * You should have received a copy of the GNU Lesser General Public
 57.1547 ++ * License along with this library; if not, write to the Free Software
 57.1548 ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 57.1549 ++ */
 57.1550 ++
 57.1551 ++#ifndef STATIC
 57.1552 ++
 57.1553 ++#include <linux/kernel.h>
 57.1554 ++#include <linux/fs.h>
 57.1555 ++#include <linux/string.h>
 57.1556 ++
 57.1557 ++#ifdef TEST
 57.1558 ++#include "test.h"
 57.1559 ++#else
 57.1560 ++#include <linux/vmalloc.h>
 57.1561 ++#endif
 57.1562 ++
 57.1563 ++static void __init *large_malloc(size_t size)
 57.1564 ++{
 57.1565 ++	return vmalloc(size);
 57.1566 ++}
 57.1567 ++
 57.1568 ++static void __init large_free(void *where)
 57.1569 ++{
 57.1570 ++	vfree(where);
 57.1571 ++}
 57.1572 ++
 57.1573 ++#ifndef TEST
 57.1574 ++static void __init error(char *x)
 57.1575 ++{
 57.1576 ++	printk(KERN_ERR "%s\n", x);
 57.1577 ++}
 57.1578 ++
 57.1579 ++#endif
 57.1580 ++
 57.1581 ++#define STATIC /**/
 57.1582 ++
 57.1583 ++#endif
 57.1584 ++
 57.1585 ++#define CONFIG_FEATURE_LZMA_FAST
 57.1586 ++#include <linux/decompress_unlzma.h>
 57.1587 ++
 57.1588 ++#define	MIN(a,b) (((a)<(b))?(a):(b))
 57.1589 ++
 57.1590 ++static long long read_int(unsigned char *ptr, int size)
 57.1591 ++{
 57.1592 ++	int i;
 57.1593 ++	long long ret=0;
 57.1594 ++
 57.1595 ++	for(i=0; i<size; i++) {
 57.1596 ++		ret = (ret << 8) | ptr[size-i-1];
 57.1597 ++	}
 57.1598 ++	return ret;
 57.1599 ++}
 57.1600 ++
 57.1601 ++#define ENDIAN_CONVERT(x) x=(typeof(x))read_int((unsigned char*)&x,sizeof(x))
 57.1602 ++
 57.1603 ++
 57.1604 ++/* Small range coder implementation for lzma.
 57.1605 ++ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 57.1606 ++ *
 57.1607 ++ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 57.1608 ++ * Copyright (c) 1999-2005  Igor Pavlov
 57.1609 ++ */
 57.1610 ++
 57.1611 ++#ifndef always_inline
 57.1612 ++#  if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >0)
 57.1613 ++#    define always_inline __attribute__((always_inline)) inline
 57.1614 ++#  else
 57.1615 ++#    define always_inline inline
 57.1616 ++#  endif
 57.1617 ++#endif
 57.1618 ++
 57.1619 ++#ifdef CONFIG_FEATURE_LZMA_FAST
 57.1620 ++#  define speed_inline always_inline
 57.1621 ++#  define size_inline
 57.1622 ++#else
 57.1623 ++#  define speed_inline
 57.1624 ++#  define size_inline always_inline
 57.1625 ++#endif
 57.1626 ++
 57.1627 ++
 57.1628 ++typedef struct {
 57.1629 ++	int (*fill)(void*,unsigned int);
 57.1630 ++	uint8_t *ptr;
 57.1631 ++	uint8_t *buffer;
 57.1632 ++	uint8_t *buffer_end;
 57.1633 ++	int buffer_size;
 57.1634 ++	uint32_t code;
 57.1635 ++	uint32_t range;
 57.1636 ++} rc_t;
 57.1637 ++
 57.1638 ++
 57.1639 ++#define RC_TOP_BITS 24
 57.1640 ++#define RC_MOVE_BITS 5
 57.1641 ++#define RC_MODEL_TOTAL_BITS 11
 57.1642 ++
 57.1643 ++
 57.1644 ++/* Called twice: once at startup and once in rc_normalize() */
 57.1645 ++static size_inline void rc_read(rc_t * rc)
 57.1646 ++{
 57.1647 ++	if (!rc->buffer_size) return;
 57.1648 ++	if (rc->fill) {
 57.1649 ++		rc->buffer_size = rc->fill((char*)rc->buffer, LZMA_IOBUF_SIZE);
 57.1650 ++		rc->ptr = rc->buffer;
 57.1651 ++		rc->buffer_end = rc->buffer + rc->buffer_size;
 57.1652 ++		if (rc->buffer_size > 0) return;
 57.1653 ++	}
 57.1654 ++	error("unexpected EOF");
 57.1655 ++	rc->buffer_size = 0;
 57.1656 ++}
 57.1657 ++
 57.1658 ++/* Called once */
 57.1659 ++static always_inline void rc_init(rc_t * rc, int (*fill)(void*,unsigned int),
 57.1660 ++				  char *buffer, int buffer_size)
 57.1661 ++{
 57.1662 ++	rc->fill = fill;
 57.1663 ++	rc->buffer = (uint8_t *)buffer;
 57.1664 ++	rc->buffer_size = buffer_size;
 57.1665 ++	rc->buffer_end = rc->buffer + rc->buffer_size;
 57.1666 ++	rc->ptr = rc->buffer;
 57.1667 ++
 57.1668 ++	rc->code = 0;
 57.1669 ++	rc->range = 0xFFFFFFFF;
 57.1670 ++}
 57.1671 ++
 57.1672 ++static always_inline void rc_init_code(rc_t * rc)
 57.1673 ++{
 57.1674 ++	int i;
 57.1675 ++
 57.1676 ++	for (i = 0; i < 5; i++) {
 57.1677 ++		if (rc->ptr >= rc->buffer_end)
 57.1678 ++			rc_read(rc);
 57.1679 ++		rc->code = (rc->code << 8) | *rc->ptr++;
 57.1680 ++	}
 57.1681 ++}
 57.1682 ++
 57.1683 ++/* Called twice, but one callsite is in speed_inline'd rc_is_bit_1() */
 57.1684 ++static speed_inline void rc_do_normalize(rc_t * rc)
 57.1685 ++{
 57.1686 ++	if (rc->ptr >= rc->buffer_end)
 57.1687 ++		rc_read(rc);
 57.1688 ++	rc->range <<= 8;
 57.1689 ++	rc->code = (rc->code << 8) | *rc->ptr++;
 57.1690 ++}
 57.1691 ++static always_inline void rc_normalize(rc_t * rc)
 57.1692 ++{
 57.1693 ++	if (rc->range < (1 << RC_TOP_BITS)) {
 57.1694 ++		rc_do_normalize(rc);
 57.1695 ++	}
 57.1696 ++}
 57.1697 ++
 57.1698 ++/* Called 9 times */
 57.1699 ++static speed_inline int rc_is_bit_1(rc_t * rc, uint16_t * p)
 57.1700 ++{
 57.1701 ++	uint32_t bound;
 57.1702 ++	rc_normalize(rc);
 57.1703 ++	bound = *p * (rc->range >> RC_MODEL_TOTAL_BITS);
 57.1704 ++	if (rc->code < bound) {
 57.1705 ++		rc->range = bound;
 57.1706 ++		*p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS;
 57.1707 ++		return 0;
 57.1708 ++	}
 57.1709 ++	else {
 57.1710 ++		rc->code -= bound;
 57.1711 ++		rc->range -= bound;
 57.1712 ++		*p -= *p >> RC_MOVE_BITS;
 57.1713 ++		return 1;
 57.1714 ++	}
 57.1715 ++}
 57.1716 ++
 57.1717 ++/* Called 4 times in unlzma loop */
 57.1718 ++static speed_inline int rc_get_bit(rc_t * rc, uint16_t * p, int *symbol)
 57.1719 ++{
 57.1720 ++	int ret  = rc_is_bit_1(rc, p);
 57.1721 ++	*symbol = *symbol * 2 + ret;
 57.1722 ++	return ret;
 57.1723 ++}
 57.1724 ++
 57.1725 ++/* Called once */
 57.1726 ++static always_inline int rc_direct_bit(rc_t * rc)
 57.1727 ++{
 57.1728 ++	rc_normalize(rc);
 57.1729 ++	rc->range >>= 1;
 57.1730 ++	if (rc->code >= rc->range) {
 57.1731 ++		rc->code -= rc->range;
 57.1732 ++		return 1;
 57.1733 ++	}
 57.1734 ++	return 0;
 57.1735 ++}
 57.1736 ++
 57.1737 ++/* Called twice */
 57.1738 ++static speed_inline void
 57.1739 ++rc_bit_tree_decode(rc_t * rc, uint16_t * p, int num_levels, int *symbol)
 57.1740 ++{
 57.1741 ++	int i = num_levels;
 57.1742 ++
 57.1743 ++	*symbol = 1;
 57.1744 ++	while (i--)
 57.1745 ++		rc_get_bit(rc, p + *symbol, symbol);
 57.1746 ++	*symbol -= 1 << num_levels;
 57.1747 ++}
 57.1748 ++
 57.1749 ++
 57.1750 ++/*
 57.1751 ++ * Small lzma deflate implementation.
 57.1752 ++ * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
 57.1753 ++ *
 57.1754 ++ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/)
 57.1755 ++ * Copyright (C) 1999-2005  Igor Pavlov
 57.1756 ++ */
 57.1757 ++
 57.1758 ++
 57.1759 ++typedef struct {
 57.1760 ++	uint8_t pos;
 57.1761 ++	uint32_t dict_size;
 57.1762 ++	uint64_t dst_size;
 57.1763 ++} __attribute__ ((packed)) lzma_header_t;
 57.1764 ++
 57.1765 ++
 57.1766 ++#define LZMA_BASE_SIZE 1846
 57.1767 ++#define LZMA_LIT_SIZE 768
 57.1768 ++
 57.1769 ++#define LZMA_NUM_POS_BITS_MAX 4
 57.1770 ++
 57.1771 ++#define LZMA_LEN_NUM_LOW_BITS 3
 57.1772 ++#define LZMA_LEN_NUM_MID_BITS 3
 57.1773 ++#define LZMA_LEN_NUM_HIGH_BITS 8
 57.1774 ++
 57.1775 ++#define LZMA_LEN_CHOICE 0
 57.1776 ++#define LZMA_LEN_CHOICE_2 (LZMA_LEN_CHOICE + 1)
 57.1777 ++#define LZMA_LEN_LOW (LZMA_LEN_CHOICE_2 + 1)
 57.1778 ++#define LZMA_LEN_MID (LZMA_LEN_LOW \
 57.1779 ++		      + (1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_LOW_BITS)))
 57.1780 ++#define LZMA_LEN_HIGH (LZMA_LEN_MID \
 57.1781 ++		       +(1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_MID_BITS)))
 57.1782 ++#define LZMA_NUM_LEN_PROBS (LZMA_LEN_HIGH + (1 << LZMA_LEN_NUM_HIGH_BITS))
 57.1783 ++
 57.1784 ++#define LZMA_NUM_STATES 12
 57.1785 ++#define LZMA_NUM_LIT_STATES 7
 57.1786 ++
 57.1787 ++#define LZMA_START_POS_MODEL_INDEX 4
 57.1788 ++#define LZMA_END_POS_MODEL_INDEX 14
 57.1789 ++#define LZMA_NUM_FULL_DISTANCES (1 << (LZMA_END_POS_MODEL_INDEX >> 1))
 57.1790 ++
 57.1791 ++#define LZMA_NUM_POS_SLOT_BITS 6
 57.1792 ++#define LZMA_NUM_LEN_TO_POS_STATES 4
 57.1793 ++
 57.1794 ++#define LZMA_NUM_ALIGN_BITS 4
 57.1795 ++
 57.1796 ++#define LZMA_MATCH_MIN_LEN 2
 57.1797 ++
 57.1798 ++#define LZMA_IS_MATCH 0
 57.1799 ++#define LZMA_IS_REP (LZMA_IS_MATCH + (LZMA_NUM_STATES <<LZMA_NUM_POS_BITS_MAX))
 57.1800 ++#define LZMA_IS_REP_G0 (LZMA_IS_REP + LZMA_NUM_STATES)
 57.1801 ++#define LZMA_IS_REP_G1 (LZMA_IS_REP_G0 + LZMA_NUM_STATES)
 57.1802 ++#define LZMA_IS_REP_G2 (LZMA_IS_REP_G1 + LZMA_NUM_STATES)
 57.1803 ++#define LZMA_IS_REP_0_LONG (LZMA_IS_REP_G2 + LZMA_NUM_STATES)
 57.1804 ++#define LZMA_POS_SLOT (LZMA_IS_REP_0_LONG \
 57.1805 ++		       + (LZMA_NUM_STATES << LZMA_NUM_POS_BITS_MAX))
 57.1806 ++#define LZMA_SPEC_POS (LZMA_POS_SLOT \
 57.1807 ++		       +(LZMA_NUM_LEN_TO_POS_STATES << LZMA_NUM_POS_SLOT_BITS))
 57.1808 ++#define LZMA_ALIGN (LZMA_SPEC_POS \
 57.1809 ++		    + LZMA_NUM_FULL_DISTANCES - LZMA_END_POS_MODEL_INDEX)
 57.1810 ++#define LZMA_LEN_CODER (LZMA_ALIGN + (1 << LZMA_NUM_ALIGN_BITS))
 57.1811 ++#define LZMA_REP_LEN_CODER (LZMA_LEN_CODER + LZMA_NUM_LEN_PROBS)
 57.1812 ++#define LZMA_LITERAL (LZMA_REP_LEN_CODER + LZMA_NUM_LEN_PROBS)
 57.1813 ++
 57.1814 ++
 57.1815 ++STATIC int unlzma(char *inbuf, int in_len, 
 57.1816 ++		   int(*fill)(void*,unsigned int),
 57.1817 ++		   int(*writebb)(char*,unsigned int),
 57.1818 ++		   int *posp)
 57.1819 ++{
 57.1820 ++	lzma_header_t header;
 57.1821 ++	int lc, pb, lp;
 57.1822 ++	uint32_t pos_state_mask;
 57.1823 ++	uint32_t literal_pos_mask;
 57.1824 ++	uint32_t pos;
 57.1825 ++	uint16_t *p;
 57.1826 ++	uint16_t *prob;
 57.1827 ++	uint16_t *prob_lit;
 57.1828 ++	int num_bits;
 57.1829 ++	int num_probs;
 57.1830 ++	rc_t rc;
 57.1831 ++	int i, mi;
 57.1832 ++	uint8_t *buffer;
 57.1833 ++	uint8_t previous_byte = 0;
 57.1834 ++	size_t buffer_pos = 0, global_pos = 0;
 57.1835 ++	int len = 0;
 57.1836 ++	int state = 0;
 57.1837 ++	int bufsize;
 57.1838 ++	uint32_t rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1;
 57.1839 ++
 57.1840 ++	rc_init(&rc, fill, inbuf, in_len);
 57.1841 ++
 57.1842 ++	header.dict_size = (uint32_t) -1L;
 57.1843 ++	header.dst_size  = (uint64_t) -1LL;
 57.1844 ++	if (inbuf && in_len > 0 && inbuf[0] == 0) {
 57.1845 ++		const int LZMA_LC = 3, LZMA_LP = 0, LZMA_PB = 2;
 57.1846 ++		header.pos = (LZMA_PB * 45) + (LZMA_LP * 5) + LZMA_LC;
 57.1847 ++		rc.ptr++;
 57.1848 ++	}
 57.1849 ++	else {
 57.1850 ++		int hdrsize = sizeof(header);
 57.1851 ++		if (inbuf && in_len > 12 &&
 57.1852 ++		    (1 + * (unsigned long *) &inbuf[9]) > 1U)
 57.1853 ++			hdrsize = 5;
 57.1854 ++		for (i = 0; i < hdrsize; i++) {
 57.1855 ++			if (rc.ptr >= rc.buffer_end)
 57.1856 ++				rc_read(&rc);
 57.1857 ++			((unsigned char *)&header)[i] = *rc.ptr++;
 57.1858 ++		}
 57.1859 ++	}
 57.1860 ++
 57.1861 ++	if (header.pos >= (9 * 5 * 5)) {
 57.1862 ++		error("bad header");
 57.1863 ++		return -1;
 57.1864 ++	}
 57.1865 ++
 57.1866 ++	mi = header.pos / 9;
 57.1867 ++	lc = header.pos % 9;
 57.1868 ++	pb = mi / 5;
 57.1869 ++	lp = mi % 5;
 57.1870 ++	pos_state_mask = (1 << pb) - 1;
 57.1871 ++	literal_pos_mask = (1 << lp) - 1;
 57.1872 ++
 57.1873 ++	ENDIAN_CONVERT(header.dict_size);
 57.1874 ++	ENDIAN_CONVERT(header.dst_size);
 57.1875 ++
 57.1876 ++	if (header.dict_size == 0)
 57.1877 ++		header.dict_size = 1;
 57.1878 ++
 57.1879 ++	bufsize = MIN(header.dst_size, header.dict_size);
 57.1880 ++	buffer = (uint8_t *) posp;
 57.1881 ++	if (writebb) buffer = large_malloc(bufsize);
 57.1882 ++	if(buffer == NULL)
 57.1883 ++		return -1;
 57.1884 ++
 57.1885 ++	num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp));
 57.1886 ++	p = large_malloc(num_probs * sizeof(*p));
 57.1887 ++	num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp));
 57.1888 ++	for (i = 0; i < num_probs; i++)
 57.1889 ++		p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1;
 57.1890 ++
 57.1891 ++	rc_init_code(&rc);
 57.1892 ++
 57.1893 ++	while (global_pos + buffer_pos < header.dst_size) {
 57.1894 ++		int pos_state = (buffer_pos + global_pos) & pos_state_mask;
 57.1895 ++
 57.1896 ++		prob =
 57.1897 ++			p + LZMA_IS_MATCH + (state << LZMA_NUM_POS_BITS_MAX) + pos_state;
 57.1898 ++		if (!rc_is_bit_1(&rc, prob)) {
 57.1899 ++			mi = 1;
 57.1900 ++			prob = (p + LZMA_LITERAL + (LZMA_LIT_SIZE
 57.1901 ++					* ((((buffer_pos + global_pos) & literal_pos_mask) << lc)
 57.1902 ++					+ (previous_byte >> (8 - lc)))));
 57.1903 ++
 57.1904 ++			if (state >= LZMA_NUM_LIT_STATES) {
 57.1905 ++				int match_byte;
 57.1906 ++
 57.1907 ++				pos = buffer_pos - rep0;
 57.1908 ++
 57.1909 ++				while (pos >= header.dict_size)
 57.1910 ++					pos += header.dict_size;
 57.1911 ++				if(pos >= bufsize) {
 57.1912 ++					goto fail;
 57.1913 ++				}
 57.1914 ++
 57.1915 ++				match_byte = buffer[pos];
 57.1916 ++				do {
 57.1917 ++					int bit;
 57.1918 ++
 57.1919 ++					match_byte <<= 1;
 57.1920 ++					bit = match_byte & 0x100;
 57.1921 ++					prob_lit = prob + 0x100 + bit + mi;
 57.1922 ++					bit ^= (rc_get_bit(&rc, prob_lit, &mi) << 8);
 57.1923 ++					if (bit)
 57.1924 ++						break;
 57.1925 ++				} while (mi < 0x100);
 57.1926 ++			}
 57.1927 ++			while (mi < 0x100) {
 57.1928 ++				prob_lit = prob + mi;
 57.1929 ++				rc_get_bit(&rc, prob_lit, &mi);
 57.1930 ++			}
 57.1931 ++			state -= 3;
 57.1932 ++			if (state < 4 - 3)
 57.1933 ++				state = 0;
 57.1934 ++			if (state >= 10-3)
 57.1935 ++				state -= 6-3;
 57.1936 ++			previous_byte = (uint8_t) mi;
 57.1937 ++			goto store_previous_byte;
 57.1938 ++		} else {
 57.1939 ++			int offset;
 57.1940 ++			uint16_t *prob_len;
 57.1941 ++
 57.1942 ++			prob = p + LZMA_IS_REP + state;
 57.1943 ++			if (!rc_is_bit_1(&rc, prob)) {
 57.1944 ++				rep3 = rep2;
 57.1945 ++				rep2 = rep1;
 57.1946 ++				rep1 = rep0;
 57.1947 ++				state = state < LZMA_NUM_LIT_STATES ? 0 : 3;
 57.1948 ++				prob = p + LZMA_LEN_CODER;
 57.1949 ++			} else {
 57.1950 ++				prob += LZMA_IS_REP_G0 - LZMA_IS_REP;
 57.1951 ++				if (!rc_is_bit_1(&rc, prob)) {
 57.1952 ++					prob = (p + LZMA_IS_REP_0_LONG
 57.1953 ++						+ (state << LZMA_NUM_POS_BITS_MAX)
 57.1954 ++						+ pos_state);
 57.1955 ++					if (!rc_is_bit_1(&rc, prob)) {
 57.1956 ++
 57.1957 ++						state = state < LZMA_NUM_LIT_STATES ? 9 : 11;
 57.1958 ++						pos = buffer_pos - rep0;
 57.1959 ++
 57.1960 ++						while (pos >= header.dict_size)
 57.1961 ++							pos += header.dict_size;
 57.1962 ++						if(pos >= bufsize) {
 57.1963 ++							goto fail;
 57.1964 ++						}
 57.1965 ++
 57.1966 ++						previous_byte = buffer[pos];
 57.1967 ++					store_previous_byte:
 57.1968 ++						if (!rc.buffer_size) goto eof;
 57.1969 ++						buffer[buffer_pos++] = previous_byte;
 57.1970 ++						if (writebb && buffer_pos == header.dict_size) {
 57.1971 ++							buffer_pos = 0;
 57.1972 ++							global_pos += header.dict_size;
 57.1973 ++							writebb((char*)buffer, header.dict_size);
 57.1974 ++						}
 57.1975 ++						continue;
 57.1976 ++					}
 57.1977 ++				} else {
 57.1978 ++					uint32_t distance;
 57.1979 ++
 57.1980 ++					prob += LZMA_IS_REP_G1 - LZMA_IS_REP_G0;
 57.1981 ++					distance = rep1;
 57.1982 ++					if (rc_is_bit_1(&rc, prob)) {
 57.1983 ++						prob += LZMA_IS_REP_G2 - LZMA_IS_REP_G1;
 57.1984 ++						distance = rep2;
 57.1985 ++						if (rc_is_bit_1(&rc, prob)) {
 57.1986 ++							distance = rep3;
 57.1987 ++							rep3 = rep2;
 57.1988 ++						}
 57.1989 ++						rep2 = rep1;
 57.1990 ++					}
 57.1991 ++					rep1 = rep0;
 57.1992 ++					rep0 = distance;
 57.1993 ++				}
 57.1994 ++				state = state < LZMA_NUM_LIT_STATES ? 8 : 11;
 57.1995 ++				prob = p + LZMA_REP_LEN_CODER;
 57.1996 ++			}
 57.1997 ++
 57.1998 ++			prob_len = prob + LZMA_LEN_CHOICE;
 57.1999 ++			if (!rc_is_bit_1(&rc, prob_len)) {
 57.2000 ++				prob_len += LZMA_LEN_LOW - LZMA_LEN_CHOICE
 57.2001 ++					    + (pos_state << LZMA_LEN_NUM_LOW_BITS);
 57.2002 ++				offset = 0;
 57.2003 ++				num_bits = LZMA_LEN_NUM_LOW_BITS;
 57.2004 ++			} else {
 57.2005 ++				prob_len += LZMA_LEN_CHOICE_2 - LZMA_LEN_CHOICE;
 57.2006 ++				if (!rc_is_bit_1(&rc, prob_len)) {
 57.2007 ++					prob_len += LZMA_LEN_MID - LZMA_LEN_CHOICE_2
 57.2008 ++						    + (pos_state << LZMA_LEN_NUM_MID_BITS);
 57.2009 ++					offset = 1 << LZMA_LEN_NUM_LOW_BITS;
 57.2010 ++					num_bits = LZMA_LEN_NUM_MID_BITS;
 57.2011 ++				} else {
 57.2012 ++					prob_len += LZMA_LEN_HIGH - LZMA_LEN_CHOICE_2;
 57.2013 ++					offset = ((1 << LZMA_LEN_NUM_LOW_BITS)
 57.2014 ++						 + (1 << LZMA_LEN_NUM_MID_BITS));
 57.2015 ++					num_bits = LZMA_LEN_NUM_HIGH_BITS;
 57.2016 ++				}
 57.2017 ++			}
 57.2018 ++			rc_bit_tree_decode(&rc, prob_len, num_bits, &len);
 57.2019 ++			len += offset;
 57.2020 ++
 57.2021 ++			if (state < 4) {
 57.2022 ++				int pos_slot;
 57.2023 ++
 57.2024 ++				state += LZMA_NUM_LIT_STATES;
 57.2025 ++				prob = p + LZMA_POS_SLOT +
 57.2026 ++					((len <
 57.2027 ++					  LZMA_NUM_LEN_TO_POS_STATES ? len :
 57.2028 ++					  LZMA_NUM_LEN_TO_POS_STATES - 1)
 57.2029 ++					 << LZMA_NUM_POS_SLOT_BITS);
 57.2030 ++				rc_bit_tree_decode(&rc, prob, LZMA_NUM_POS_SLOT_BITS,
 57.2031 ++								   &pos_slot);
 57.2032 ++				rep0 = pos_slot;
 57.2033 ++				if (pos_slot >= LZMA_START_POS_MODEL_INDEX) {
 57.2034 ++					num_bits = (pos_slot >> 1) - 1;
 57.2035 ++					rep0 = 2 | (pos_slot & 1);
 57.2036 ++					prob = p + LZMA_ALIGN;
 57.2037 ++					if (pos_slot < LZMA_END_POS_MODEL_INDEX) {
 57.2038 ++						rep0 <<= num_bits;
 57.2039 ++						prob += LZMA_SPEC_POS - LZMA_ALIGN - 1 + rep0 - pos_slot;
 57.2040 ++					} else {
 57.2041 ++						num_bits -= LZMA_NUM_ALIGN_BITS;
 57.2042 ++						while (num_bits--)
 57.2043 ++							rep0 = (rep0 << 1) | rc_direct_bit(&rc);
 57.2044 ++						rep0 <<= LZMA_NUM_ALIGN_BITS;
 57.2045 ++						num_bits = LZMA_NUM_ALIGN_BITS;
 57.2046 ++					}
 57.2047 ++					i = 1;
 57.2048 ++					mi = 1;
 57.2049 ++					while (num_bits--) {
 57.2050 ++						if (rc_get_bit(&rc, prob + mi, &mi))
 57.2051 ++							rep0 |= i;
 57.2052 ++						i <<= 1;
 57.2053 ++					}
 57.2054 ++				}
 57.2055 ++				if (++rep0 == 0)
 57.2056 ++					break;
 57.2057 ++			}
 57.2058 ++
 57.2059 ++			len += LZMA_MATCH_MIN_LEN;
 57.2060 ++
 57.2061 ++			if (!rc.buffer_size) goto eof;
 57.2062 ++			do {
 57.2063 ++				pos = buffer_pos - rep0;
 57.2064 ++
 57.2065 ++				while (pos >= header.dict_size)
 57.2066 ++					pos += header.dict_size;
 57.2067 ++				if(pos >= bufsize) {
 57.2068 ++					goto fail;
 57.2069 ++				}
 57.2070 ++
 57.2071 ++				previous_byte = buffer[pos];
 57.2072 ++				buffer[buffer_pos++] = previous_byte;
 57.2073 ++				if (writebb && buffer_pos == header.dict_size) {
 57.2074 ++					buffer_pos = 0;
 57.2075 ++					global_pos += header.dict_size;
 57.2076 ++					writebb((char*)buffer, header.dict_size);
 57.2077 ++				}
 57.2078 ++				len--;
 57.2079 ++			} while (len != 0 && (global_pos + buffer_pos) < header.dst_size);
 57.2080 ++		}
 57.2081 ++	}
 57.2082 ++ eof:
 57.2083 ++	if (writebb) {
 57.2084 ++		writebb((char*)buffer, buffer_pos);
 57.2085 ++		if(posp) {
 57.2086 ++			*posp = rc.ptr-rc.buffer;
 57.2087 ++		}
 57.2088 ++		large_free(buffer);
 57.2089 ++	}
 57.2090 ++	large_free(p);
 57.2091 ++	return 0;
 57.2092 ++ fail:
 57.2093 ++	if (writebb) large_free(buffer);
 57.2094 ++	large_free(p);
 57.2095 ++	return -1;
 57.2096 ++}
 57.2097 +
 57.2098 +--- linux-2.6.29.3/lib/unlzma_syms.c
 57.2099 ++++ linux-2.6.29.3/lib/unlzma_syms.c
 57.2100 +@@ -0,0 +1,14 @@
 57.2101 ++/*
 57.2102 ++ * linux/lib/unlzma_syms.c
 57.2103 ++ *
 57.2104 ++ * Exported symbols for the unlzma functionality.
 57.2105 ++ *
 57.2106 ++ */
 57.2107 ++
 57.2108 ++#include <linux/module.h>
 57.2109 ++#include <linux/init.h>
 57.2110 ++
 57.2111 ++#include <linux/decompress_unlzma.h>
 57.2112 ++
 57.2113 ++EXPORT_SYMBOL(unlzma);
 57.2114 ++MODULE_LICENSE("GPL");
 57.2115 +
 57.2116 +--- linux-2.6.29.3/scripts/Makefile.lib
 57.2117 ++++ linux-2.6.29.3/scripts/Makefile.lib
 57.2118 +@@ -185,4 +185,17 @@
 57.2119 + quiet_cmd_gzip = GZIP    $@
 57.2120 + cmd_gzip = gzip -f -9 < $< > $@
 57.2121 + 
 57.2122 ++# Append size
 57.2123 ++size_append=perl -e 'print(pack("i",(stat($$ARGV[0]))[7]));'
 57.2124 + 
 57.2125 ++# Bzip2
 57.2126 ++# ---------------------------------------------------------------------------
 57.2127 ++
 57.2128 ++quiet_cmd_bzip2 = BZIP2    $@
 57.2129 ++cmd_bzip2 = (bzip2 -9 < $< ; $(size_append) $<) > $@
 57.2130 ++
 57.2131 ++# Lzma
 57.2132 ++# ---------------------------------------------------------------------------
 57.2133 ++
 57.2134 ++quiet_cmd_lzma = LZMA    $@
 57.2135 ++cmd_lzma = (lzma e $< -so ; $(size_append) $<) >$@
    58.1 --- a/linux/stuff/linux-lzma-loram-2.6.24.2.u	Mon May 11 16:40:10 2009 +0200
    58.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    58.3 @@ -1,227 +0,0 @@
    58.4 ---- linux-2.6.24.2/init/initramfs.c
    58.5 -+++ linux-2.6.24.2/init/initramfs.c
    58.6 -@@ -468,6 +468,29 @@
    58.7 - }
    58.8 - #endif
    58.9 - 
   58.10 -+#include <linux/initrd.h>
   58.11 -+#ifdef CONFIG_RD_LZMA
   58.12 -+#define INITRD_PAGE ((PAGE_SIZE > 1024*1024) ? PAGE_SIZE : 1024*1024)
   58.13 -+static int fill_offset, fill_total;
   58.14 -+static int fill_buffer(void *buffer, unsigned size)
   58.15 -+{
   58.16 -+	int max =  initrd_end - initrd_start - fill_offset;
   58.17 -+	if (size < max) max = size;
   58.18 -+	memcpy(buffer, (void *)(initrd_start + fill_offset), max);
   58.19 -+	fill_offset += max;
   58.20 -+	fill_total += max;
   58.21 -+	if (fill_offset >= INITRD_PAGE) {
   58.22 -+		unsigned rem = fill_offset % INITRD_PAGE;
   58.23 -+		unsigned end = initrd_start + fill_offset - rem;
   58.24 -+		free_initrd_mem(initrd_start, end);
   58.25 -+		printk(".");
   58.26 -+		initrd_start = end;
   58.27 -+		fill_offset = rem;
   58.28 -+	}
   58.29 -+	return max;
   58.30 -+}
   58.31 -+#endif
   58.32 -+
   58.33 - static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
   58.34 - {
   58.35 - 	int written;
   58.36 -@@ -484,6 +507,9 @@
   58.37 - 	this_header = 0;
   58.38 - 	message = NULL;
   58.39 - 	while (!message && len) {
   58.40 -+#ifdef CONFIG_RD_LZMA
   58.41 -+		int status;
   58.42 -+#endif
   58.43 - 		loff_t saved_offset = this_header;
   58.44 - 		if (*buf == '0' && !(this_header & 3)) {
   58.45 - 			state = Start;
   58.46 -@@ -523,8 +549,20 @@
   58.47 - #ifdef CONFIG_RD_LZMA
   58.48 - 		message = NULL; /* Zero out message, or else cpio will
   58.49 - 				   think an error has already occured */
   58.50 --		if(!unlzma(buf, len, NULL, flush_buffer, &inptr) < 0 &&
   58.51 --		   message == NULL) {
   58.52 -+		status = -1;
   58.53 -+		if(buf == (char *) initrd_start) {
   58.54 -+			char *work_buffer = malloc(LZMA_IOBUF_SIZE);
   58.55 -+			if (work_buffer) {
   58.56 -+				fill_total = fill_offset = 0;
   58.57 -+				fill_buffer(work_buffer, LZMA_IOBUF_SIZE);
   58.58 -+				status = unlzma(work_buffer, LZMA_IOBUF_SIZE,
   58.59 -+					fill_buffer, flush_buffer, NULL);
   58.60 -+				inptr = fill_total;
   58.61 -+				free(work_buffer);
   58.62 -+			}
   58.63 -+		}
   58.64 -+		else status = unlzma(buf,len, NULL, flush_buffer, &inptr);
   58.65 -+		if (status == 0 && message == NULL) {
   58.66 - 			goto ok;
   58.67 - 		}
   58.68 - #endif
   58.69 -
   58.70 ---- linux-2.6.24.2/arch/x86/mm/init_32.c
   58.71 -+++ linux-2.6.24.2/arch/x86/mm/init_32.c
   58.72 -@@ -834,7 +834,8 @@
   58.73 - 		free_page(addr);
   58.74 - 		totalram_pages++;
   58.75 - 	}
   58.76 --	printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10);
   58.77 -+	if (what)
   58.78 -+		printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10);
   58.79 - }
   58.80 - 
   58.81 - void free_initmem(void)
   58.82 -@@ -847,7 +848,7 @@
   58.83 - #ifdef CONFIG_BLK_DEV_INITRD
   58.84 - void free_initrd_mem(unsigned long start, unsigned long end)
   58.85 - {
   58.86 --	free_init_pages("initrd memory", start, end);
   58.87 -+	free_init_pages(NULL, start, end);
   58.88 - }
   58.89 - #endif
   58.90 - 
   58.91 -
   58.92 ---- linux-2.6.24.2/lib/decompress_unlzma.c
   58.93 -+++ linux-2.6.24.2/lib/decompress_unlzma.c
   58.94 -@@ -366,7 +366,8 @@
   58.95 - 		header.dict_size = 1;
   58.96 - 
   58.97 - 	bufsize = MIN(header.dst_size, header.dict_size);
   58.98 --	buffer = large_malloc(bufsize);
   58.99 -+	buffer = (uint8_t *) posp;
  58.100 -+	if (writebb) buffer = large_malloc(bufsize);
  58.101 - 	if(buffer == NULL)
  58.102 - 		return -1;
  58.103 - 
  58.104 -@@ -394,10 +395,12 @@
  58.105 - 				int match_byte;
  58.106 - 
  58.107 - 				pos = buffer_pos - rep0;
  58.108 --				while (pos >= header.dict_size)
  58.109 --					pos += header.dict_size;
  58.110 --				if(pos >= bufsize) {
  58.111 --					goto fail;
  58.112 -+				if (writebb) {
  58.113 -+					while (pos >= header.dict_size)
  58.114 -+						pos += header.dict_size;
  58.115 -+					if(pos >= bufsize) {
  58.116 -+						goto fail;
  58.117 -+					}
  58.118 - 				}
  58.119 - 				match_byte = buffer[pos];
  58.120 - 				do {
  58.121 -@@ -419,20 +422,14 @@
  58.122 - 				prob_lit = prob + mi;
  58.123 - 				rc_get_bit(&rc, prob_lit, &mi);
  58.124 - 			}
  58.125 -+			previous_byte = (uint8_t) mi;
  58.126 - 			if (state < 4)
  58.127 - 				state = 0;
  58.128 - 			else if (state < 10)
  58.129 - 				state -= 3;
  58.130 - 			else
  58.131 - 				state -= 6;
  58.132 --			previous_byte = (uint8_t) mi;
  58.133 --		one_byte:
  58.134 --			buffer[buffer_pos++] = previous_byte;
  58.135 --			if (buffer_pos == header.dict_size) {
  58.136 --				buffer_pos = 0;
  58.137 --				global_pos += header.dict_size;
  58.138 --				writebb((char*)buffer, header.dict_size);
  58.139 --			}
  58.140 -+			goto store_previous_byte;
  58.141 - 		} else {
  58.142 - 			int offset;
  58.143 - 			uint16_t *prob_len;
  58.144 -@@ -457,14 +454,23 @@
  58.145 - 						rc_update_bit_0(&rc, prob);
  58.146 - 
  58.147 - 						state = state < LZMA_NUM_LIT_STATES ? 9 : 11;
  58.148 --						pos = buffer_pos - rep0;
  58.149 --						while (pos >= header.dict_size)
  58.150 --							pos += header.dict_size;
  58.151 --						if(pos >= bufsize) {
  58.152 --							goto fail;
  58.153 -+						pos = buffer_pos - rep0;
  58.154 -+						if (writebb) {
  58.155 -+							while (pos >= header.dict_size)
  58.156 -+								pos += header.dict_size;
  58.157 -+							if(pos >= bufsize) {
  58.158 -+								goto fail;
  58.159 -+							}
  58.160 - 						}
  58.161 - 						previous_byte = buffer[pos];
  58.162 --						goto one_byte;
  58.163 -+					store_previous_byte:
  58.164 -+						buffer[buffer_pos++] = previous_byte;
  58.165 -+						if (writebb && buffer_pos == header.dict_size) {
  58.166 -+							buffer_pos = 0;
  58.167 -+							global_pos += header.dict_size;
  58.168 -+							writebb((char*)buffer, header.dict_size);
  58.169 -+						}
  58.170 -+						continue;
  58.171 - 					} else {
  58.172 - 						rc_update_bit_1(&rc, prob);
  58.173 - 					}
  58.174 -@@ -566,14 +572,16 @@
  58.175 - 
  58.176 - 			do {
  58.177 - 				pos = buffer_pos - rep0;
  58.178 --				while (pos >= header.dict_size)
  58.179 --					pos += header.dict_size;
  58.180 --				if(pos >= bufsize) {
  58.181 --					goto fail;
  58.182 -+				if (writebb) {
  58.183 -+					while (pos >= header.dict_size)
  58.184 -+						pos += header.dict_size;
  58.185 -+					if(pos >= bufsize) {
  58.186 -+						goto fail;
  58.187 -+					}
  58.188 - 				}
  58.189 - 				previous_byte = buffer[pos];
  58.190 - 				buffer[buffer_pos++] = previous_byte;
  58.191 --				if (buffer_pos == header.dict_size) {
  58.192 -+				if (writebb && buffer_pos == header.dict_size) {
  58.193 - 					buffer_pos = 0;
  58.194 - 					global_pos += header.dict_size;
  58.195 - 					writebb((char*)buffer, header.dict_size);
  58.196 -@@ -583,15 +591,17 @@
  58.197 - 		}
  58.198 - 	}
  58.199 - 
  58.200 --	writebb((char*)buffer, buffer_pos);
  58.201 --	if(posp) {
  58.202 --		*posp = rc.ptr-rc.buffer;
  58.203 -+	if (writebb) {
  58.204 -+		writebb((char*)buffer, buffer_pos);
  58.205 -+		if(posp) {
  58.206 -+			*posp = rc.ptr-rc.buffer;
  58.207 -+		}
  58.208 -+		large_free(buffer);
  58.209 - 	}
  58.210 --	large_free(buffer);
  58.211 - 	large_free(p);
  58.212 - 	return 0;
  58.213 -  fail:
  58.214 --	large_free(buffer);
  58.215 -+	if (writebb) large_free(buffer);
  58.216 - 	large_free(p);
  58.217 - 	return -1;
  58.218 - }
  58.219 -
  58.220 ---- linux-2.6.24.2/arch/x86/boot/compressed/misc_32.c
  58.221 -+++ linux-2.6.24.2/arch/x86/boot/compressed/misc_32.c
  58.222 -@@ -444,7 +444,7 @@
  58.223 - 
  58.224 - #ifdef CONFIG_KERNEL_LZMA
  58.225 - 	putstr("Unlzmaing Linux... ");
  58.226 --	unlzma(input_data, input_len-4, NULL, compr_flush, NULL);
  58.227 -+	unlzma(input_data, input_len-4, NULL, NULL, window);
  58.228 - #endif
  58.229 - 
  58.230 - #ifdef CONFIG_KERNEL_GZIP
    59.1 --- a/linux/stuff/linux-utf8-2.6.24.2.u	Mon May 11 16:40:10 2009 +0200
    59.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    59.3 @@ -1,8 +0,0 @@
    59.4 ---- linux-2.6.24.2/drivers/char/vt.c
    59.5 -+++ linux-2.6.24.2/drivers/char/vt.c
    59.6 -@@ -161,3 +161,3 @@
    59.7 - static int printable;		/* Is console ready for printing? */
    59.8 --int default_utf8 = true;
    59.9 -+int default_utf8 = false;
   59.10 - module_param(default_utf8, int, S_IRUGO | S_IWUSR);
   59.11 - 
    60.1 --- a/linux/stuff/linux-utf8-2.6.25.5.u	Mon May 11 16:40:10 2009 +0200
    60.2 +++ b/linux/stuff/linux-utf8-2.6.25.5.u	Mon May 11 19:08:50 2009 +0200
    60.3 @@ -1,1 +1,8 @@
    60.4 -linux-utf8-2.6.24.2.u
    60.5 \ No newline at end of file
    60.6 +--- linux-2.6.24.2/drivers/char/vt.c
    60.7 ++++ linux-2.6.24.2/drivers/char/vt.c
    60.8 +@@ -161,3 +161,3 @@
    60.9 + static int printable;		/* Is console ready for printing? */
   60.10 +-int default_utf8 = true;
   60.11 ++int default_utf8 = false;
   60.12 + module_param(default_utf8, int, S_IRUGO | S_IWUSR);
   60.13 + 
    61.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    61.2 +++ b/linux/stuff/linux-utf8-2.6.29.3.u	Mon May 11 19:08:50 2009 +0200
    61.3 @@ -0,0 +1,8 @@
    61.4 +--- linux-2.6.29.3/drivers/char/vt.c
    61.5 ++++ linux-2.6.29.3/drivers/char/vt.c
    61.6 +@@ -161,3 +161,3 @@
    61.7 + static int printable;		/* Is console ready for printing? */
    61.8 +-int default_utf8 = true;
    61.9 ++int default_utf8 = false;
   61.10 + module_param(default_utf8, int, S_IRUGO | S_IWUSR);
   61.11 + 
    62.1 --- a/linux/stuff/modules-2.6.24.2.list	Mon May 11 16:40:10 2009 +0200
    62.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    62.3 @@ -1,81 +0,0 @@
    62.4 -crypto/pcbc.ko.gz
    62.5 -drivers/base/firmware_class.ko.gz
    62.6 -drivers/char/rtc.ko.gz
    62.7 -drivers/char/genrtc.ko.gz
    62.8 -drivers/input/mouse/logibm.ko.gz
    62.9 -drivers/input/mouse/inport.ko.gz
   62.10 -drivers/input/mouse/pc110pad.ko.gz
   62.11 -drivers/net/3c505.ko.gz
   62.12 -drivers/net/3c509.ko.gz
   62.13 -drivers/net/3c515.ko.gz
   62.14 -drivers/net/3c59x.ko.gz
   62.15 -drivers/net/amd8111e.ko.gz
   62.16 -drivers/net/bnx2.ko.gz
   62.17 -drivers/net/arcnet/rfc1201.ko.gz
   62.18 -drivers/net/arcnet/arcnet.ko.gz
   62.19 -drivers/net/arcnet/com90xx.ko.gz
   62.20 -drivers/net/cs89x0.ko.gz
   62.21 -drivers/net/depca.ko.gz
   62.22 -drivers/net/dl2k.ko.gz
   62.23 -drivers/net/e2100.ko.gz
   62.24 -drivers/net/e1000/e1000.ko.gz
   62.25 -drivers/net/eexpress.ko.gz
   62.26 -drivers/net/eth16i.ko.gz
   62.27 -drivers/net/ewrk3.ko.gz
   62.28 -drivers/net/fealnx.ko.gz
   62.29 -drivers/net/hp-plus.ko.gz
   62.30 -drivers/net/hp.ko.gz
   62.31 -drivers/net/hp100.ko.gz
   62.32 -drivers/net/lp486e.ko.gz
   62.33 -drivers/net/ne.ko.gz
   62.34 -drivers/net/ni52.ko.gz
   62.35 -drivers/net/ni65.ko.gz
   62.36 -drivers/net/sis190.ko.gz
   62.37 -drivers/net/pcmcia/axnet_cs.ko.gz
   62.38 -drivers/net/pcmcia/fmvj18x_cs.ko.gz
   62.39 -drivers/net/pcmcia/nmclan_cs.ko.gz
   62.40 -drivers/net/pcmcia/pcnet_cs.ko.gz
   62.41 -drivers/net/pcmcia/smc91c92_cs.ko.gz
   62.42 -drivers/net/pcmcia/xirc2ps_cs.ko.gz
   62.43 -drivers/net/pcmcia/3c574_cs.ko.gz
   62.44 -drivers/net/pcmcia/3c589_cs.ko.gz
   62.45 -drivers/net/phy/cicada.ko.gz
   62.46 -drivers/net/phy/libphy.ko.gz
   62.47 -drivers/net/phy/lxt.ko.gz
   62.48 -drivers/net/phy/marvell.ko.gz
   62.49 -drivers/net/phy/qsemi.ko.gz
   62.50 -drivers/net/phy/broadcom.ko.gz
   62.51 -drivers/net/phy/davicom.ko.gz
   62.52 -drivers/net/smc9194.ko.gz
   62.53 -drivers/net/starfire.ko.gz
   62.54 -drivers/net/sungem.ko.gz
   62.55 -drivers/net/sungem_phy.ko.gz
   62.56 -drivers/net/sunhme.ko.gz
   62.57 -drivers/net/tg3.ko.gz
   62.58 -drivers/net/typhoon.ko.gz
   62.59 -drivers/net/tulip/tulip.ko.gz
   62.60 -drivers/net/tulip/uli526x.ko.gz
   62.61 -drivers/net/wd.ko.gz
   62.62 -drivers/net/3c501.ko.gz
   62.63 -drivers/net/3c503.ko.gz
   62.64 -drivers/net/82596.ko.gz
   62.65 -drivers/net/cassini.ko.gz
   62.66 -drivers/net/eepro.ko.gz
   62.67 -drivers/net/lance.ko.gz
   62.68 -drivers/net/smc-ultra.ko.gz
   62.69 -drivers/net/via-velocity.ko.gz
   62.70 -drivers/pcmcia/i82365.ko.gz
   62.71 -drivers/pcmcia/pcmcia.ko.gz
   62.72 -drivers/pcmcia/pd6729.ko.gz
   62.73 -drivers/pcmcia/rsrc_nonstatic.ko.gz
   62.74 -drivers/pcmcia/yenta_socket.ko.gz
   62.75 -drivers/pcmcia/i82092.ko.gz
   62.76 -drivers/pcmcia/pcmcia_core.ko.gz
   62.77 -drivers/scsi/scsi_wait_scan.ko.gz
   62.78 -drivers/usb/host/ohci-hcd.ko.gz
   62.79 -fs/fat/fat.ko.gz
   62.80 -fs/msdos/msdos.ko.gz
   62.81 -fs/nls/nls_utf8.ko.gz
   62.82 -fs/vfat/vfat.ko.gz
   62.83 -net/ipv4/netfilter/ipt_REJECT.ko.gz
   62.84 -net/netfilter/nfnetlink_log.ko.gz
    63.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    63.2 +++ b/linux/stuff/modules-2.6.29.3.list	Mon May 11 19:08:50 2009 +0200
    63.3 @@ -0,0 +1,103 @@
    63.4 +drivers/char/genrtc.ko.gz
    63.5 +drivers/char/lp.ko.gz
    63.6 +drivers/char/rtc.ko.gz
    63.7 +drivers/hwmon/coretemp.ko.gz
    63.8 +drivers/hwmon/hwmon.ko.gz
    63.9 +drivers/hwmon/k8temp.ko.gz
   63.10 +drivers/input/mouse/inport.ko.gz
   63.11 +drivers/input/mouse/logibm.ko.gz
   63.12 +drivers/input/mouse/pc110pad.ko.gz
   63.13 +drivers/net/3c501.ko.gz
   63.14 +drivers/net/3c503.ko.gz
   63.15 +drivers/net/3c505.ko.gz
   63.16 +drivers/net/3c509.ko.gz
   63.17 +drivers/net/3c515.ko.gz
   63.18 +drivers/net/3c59x.ko.gz
   63.19 +drivers/net/82596.ko.gz
   63.20 +drivers/net/amd8111e.ko.gz
   63.21 +drivers/net/arcnet/arcnet.ko.gz
   63.22 +drivers/net/arcnet/com90xx.ko.gz
   63.23 +drivers/net/arcnet/rfc1201.ko.gz
   63.24 +drivers/net/atl1e/atl1e.ko.gz
   63.25 +drivers/net/atlx/atl2.ko.gz
   63.26 +drivers/net/bnx2.ko.gz
   63.27 +drivers/net/cassini.ko.gz
   63.28 +drivers/net/cs89x0.ko.gz
   63.29 +drivers/net/depca.ko.gz
   63.30 +drivers/net/dl2k.ko.gz
   63.31 +drivers/net/e1000/e1000.ko.gz
   63.32 +drivers/net/e2100.ko.gz
   63.33 +drivers/net/eepro.ko.gz
   63.34 +drivers/net/eexpress.ko.gz
   63.35 +drivers/net/eth16i.ko.gz
   63.36 +drivers/net/ewrk3.ko.gz
   63.37 +drivers/net/fealnx.ko.gz
   63.38 +drivers/net/hp100.ko.gz
   63.39 +drivers/net/hp.ko.gz
   63.40 +drivers/net/hp-plus.ko.gz
   63.41 +drivers/net/ipg.ko.gz
   63.42 +drivers/net/lance.ko.gz
   63.43 +drivers/net/lp486e.ko.gz
   63.44 +drivers/net/ne.ko.gz
   63.45 +drivers/net/ni52.ko.gz
   63.46 +drivers/net/ni65.ko.gz
   63.47 +drivers/net/pcmcia/3c574_cs.ko.gz
   63.48 +drivers/net/pcmcia/3c589_cs.ko.gz
   63.49 +drivers/net/pcmcia/axnet_cs.ko.gz
   63.50 +drivers/net/pcmcia/fmvj18x_cs.ko.gz
   63.51 +drivers/net/pcmcia/nmclan_cs.ko.gz
   63.52 +drivers/net/pcmcia/pcnet_cs.ko.gz
   63.53 +drivers/net/pcmcia/smc91c92_cs.ko.gz
   63.54 +drivers/net/pcmcia/xirc2ps_cs.ko.gz
   63.55 +drivers/net/phy/broadcom.ko.gz
   63.56 +drivers/net/phy/cicada.ko.gz
   63.57 +drivers/net/phy/davicom.ko.gz
   63.58 +drivers/net/phy/libphy.ko.gz
   63.59 +drivers/net/phy/lxt.ko.gz
   63.60 +drivers/net/phy/marvell.ko.gz
   63.61 +drivers/net/phy/qsemi.ko.gz
   63.62 +drivers/net/sis190.ko.gz
   63.63 +drivers/net/skge.ko.gz
   63.64 +drivers/net/sky2.ko.gz
   63.65 +drivers/net/smc9194.ko.gz
   63.66 +drivers/net/smc-ultra.ko.gz
   63.67 +drivers/net/starfire.ko.gz
   63.68 +drivers/net/sungem.ko.gz
   63.69 +drivers/net/sungem_phy.ko.gz
   63.70 +drivers/net/sunhme.ko.gz
   63.71 +drivers/net/tg3.ko.gz
   63.72 +drivers/net/tulip/tulip.ko.gz
   63.73 +drivers/net/tulip/uli526x.ko.gz
   63.74 +drivers/net/typhoon.ko.gz
   63.75 +drivers/net/usb/asix.ko.gz
   63.76 +drivers/net/usb/cdc_ether.ko.gz
   63.77 +drivers/net/usb/cdc_subset.ko.gz
   63.78 +drivers/net/usb/net1080.ko.gz
   63.79 +drivers/net/usb/rndis_host.ko.gz
   63.80 +drivers/net/usb/usbnet.ko.gz
   63.81 +drivers/net/usb/zaurus.ko.gz
   63.82 +drivers/net/via-velocity.ko.gz
   63.83 +drivers/net/wd.ko.gz
   63.84 +drivers/parport/parport.ko.gz
   63.85 +drivers/parport/parport_pc.ko.gz
   63.86 +drivers/pcmcia/i82092.ko.gz
   63.87 +drivers/pcmcia/i82365.ko.gz
   63.88 +drivers/pcmcia/pcmcia_core.ko.gz
   63.89 +drivers/pcmcia/pcmcia.ko.gz
   63.90 +drivers/pcmcia/pd6729.ko.gz
   63.91 +drivers/pcmcia/rsrc_nonstatic.ko.gz
   63.92 +drivers/pcmcia/yenta_socket.ko.gz
   63.93 +drivers/usb/class/cdc-acm.ko.gz
   63.94 +drivers/usb/class/usblp.ko.gz
   63.95 +drivers/usb/host/ohci-hcd.ko.gz
   63.96 +drivers/usb/serial/ch341.ko.gz
   63.97 +drivers/usb/serial/pl2303.ko.gz
   63.98 +drivers/usb/serial/usbserial.ko.gz
   63.99 +fs/binfmt_misc.ko.gz
  63.100 +fs/fat/fat.ko.gz
  63.101 +fs/fat/msdos.ko.gz
  63.102 +fs/nls/nls_utf8.ko.gz
  63.103 +fs/fat/vfat.ko.gz
  63.104 +net/ipv4/netfilter/ipt_REJECT.ko.gz
  63.105 +net/netfilter/nfnetlink.ko.gz
  63.106 +net/netfilter/nfnetlink_log.ko.gz