# HG changeset patch # User Pascal Bellard # Date 1242061730 -7200 # Node ID 9059daaaa23da2755222fe2c3653b1af62c203a5 # Parent 230ebda0b94ab1a172d201ea563b711bb2fcbc75 Up linux (2.6.29.3) diff -r 230ebda0b94a -r 9059daaaa23d linux-acpi/receipt --- a/linux-acpi/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-acpi/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-acpi" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel acpi modules." DEPENDS="linux" @@ -17,10 +17,11 @@ mkdir -p $fs/$path export src export _pkg - $src/list_modules.sh drivers/acpi drivers/misc/thinkpad_acpi.ko.gz \ - drivers/misc/acer-wmi.ko.gz drivers/misc/asus-laptop.ko.gz \ - drivers/misc/fujitsu-laptop.ko.gz drivers/misc/msi-laptop.ko.gz \ - drivers/misc/sony-laptop.ko.gz drivers/misc/tc1100-wmi.ko.gz | \ + $src/list_modules.sh drivers/acpi drivers/platform/x86/thinkpad_acpi.ko.gz \ + drivers/platform/x86/asus-laptop.ko.gz drivers/platform/x86/eeepc-laptop.ko.gz \ + drivers/platform/x86/msi-laptop.ko.gz drivers/platform/x86/panasonic-laptop.ko.gz \ + drivers/platform/x86/sony-laptop.ko.gz drivers/platform/x86/acer-wmi.ko.gz \ + drivers/platform/x86/hp-wmi.ko.gz | \ while read module; do dir=$path/$(dirname $module) [ -d $fs/$dir ] || mkdir -p $fs/$dir @@ -31,7 +32,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-acpi/stuff/modules-2.6.24.2.list --- a/linux-acpi/stuff/modules-2.6.24.2.list Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -drivers/acpi/ac.ko.gz -drivers/acpi/battery.ko.gz diff -r 230ebda0b94a -r 9059daaaa23d linux-agp/receipt --- a/linux-agp/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-agp/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-agp" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel AGP modules." MAINTAINER="erjo@slitaz.org" @@ -27,7 +27,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-appletalk/receipt --- a/linux-appletalk/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-appletalk/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-appletalk" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel appletalk modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -21,7 +21,7 @@ export _pkg $src/list_modules.sh drivers/net/appletalk net/appletalk \ - net/802/p8022.ko.gz | while read module; do + net/802/p8022.ko.gz | while read module; do dir=$path/$(dirname $module) [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir @@ -31,7 +31,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-bluetooth/receipt --- a/linux-bluetooth/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-bluetooth/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-bluetooth" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel bluetooth modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -27,7 +27,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-cifs/receipt --- a/linux-cifs/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-cifs/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-cifs" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel cifs module." MAINTAINER="pascal.bellard@slitaz.org" @@ -31,7 +31,7 @@ { grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ echo "${PACKAGE#*-}" >> $1/etc/filesystems - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() @@ -39,3 +39,4 @@ sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems depmod -a $VERSION-slitaz } + diff -r 230ebda0b94a -r 9059daaaa23d linux-coda/receipt --- a/linux-coda/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-coda/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,20 +1,21 @@ # SliTaz package receipt. PACKAGE="linux-coda" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel coda module." MAINTAINER="pascal.bellard@slitaz.org" DEPENDS="linux" WANTED="linux" WEB_SITE="http://www.kernel.org/" +CONFIG_FILES="/etc/filesystems" # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { local path path=lib/modules/$VERSION-slitaz/kernel - mkdir -p $fs/$path + mkdir -p $fs/$path $fs/etc export src export _pkg $src/list_modules.sh fs/coda | while read module; do @@ -22,16 +23,20 @@ [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir done + touch $fs/etc/filesystems } # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ + echo "${PACKAGE#*-}" >> $1/etc/filesystems + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() { + sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems depmod -a $VERSION-slitaz } diff -r 230ebda0b94a -r 9059daaaa23d linux-cpufreq/receipt --- a/linux-cpufreq/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-cpufreq/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-cpufreq" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel cpufreq modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -28,7 +28,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-cramfs/receipt --- a/linux-cramfs/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-cramfs/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,20 +1,21 @@ # SliTaz package receipt. PACKAGE="linux-cramfs" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel cramfs module." MAINTAINER="pascal.bellard@slitaz.org" DEPENDS="linux" WANTED="linux" WEB_SITE="http://www.kernel.org/" +CONFIG_FILES="/etc/filesystems" # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { local path path=lib/modules/$VERSION-slitaz/kernel - mkdir -p $fs/$path + mkdir -p $fs/$path $fs/etc export src export _pkg $src/list_modules.sh fs/cramfs | while read module; do @@ -22,16 +23,20 @@ [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir done + touch $fs/etc/filesystems } # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ + echo "${PACKAGE#*-}" >> $1/etc/filesystems + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() { + sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems depmod -a $VERSION-slitaz } diff -r 230ebda0b94a -r 9059daaaa23d linux-crypto/receipt --- a/linux-crypto/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-crypto/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-crypto" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel crypto modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -28,7 +28,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-cryptoloop/receipt --- a/linux-cryptoloop/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-cryptoloop/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-cryptoloop" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel cryptoloop modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -29,7 +29,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-drm/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux-drm/receipt Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,37 @@ +# SliTaz package receipt. + +PACKAGE="linux-drm" +VERSION="2.6.29.3" +CATEGORY="base-system" +SHORT_DESC="The Linux kernel drm module." +MAINTAINER="pascal.bellard@slitaz.org" +DEPENDS="linux" +WANTED="linux" +WEB_SITE="http://www.kernel.org/" + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + local path + path=lib/modules/$VERSION-slitaz/kernel + mkdir -p $fs/$path + export src + export _pkg + $src/list_modules.sh drivers/gpu/drm | while read module; do + dir=$path/$(dirname $module) + [ -d $fs/$dir ] || mkdir -p $fs/$dir + cp -a $_pkg/$path/$module $fs/$dir + done +} + +# Post install/remove commands for Tazpkg. +post_install() +{ + chroot "$1/" depmod -a $VERSION-slitaz +} + +post_remove() +{ + depmod -a $VERSION-slitaz +} + diff -r 230ebda0b94a -r 9059daaaa23d linux-gfs2/receipt --- a/linux-gfs2/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-gfs2/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,20 +1,21 @@ # SliTaz package receipt. PACKAGE="linux-gfs2" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel gfs2 module." MAINTAINER="pascal.bellard@slitaz.org" DEPENDS="linux" WANTED="linux" WEB_SITE="http://www.kernel.org/" +CONFIG_FILES="/etc/filesystems" # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { local path path=lib/modules/$VERSION-slitaz/kernel - mkdir -p $fs/$path + mkdir -p $fs/$path $fs/etc export src export _pkg $src/list_modules.sh fs/gfs2 | while read module; do @@ -22,16 +23,20 @@ [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir done + touch $fs/etc/filesystems } # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ + echo "${PACKAGE#*-}" >> $1/etc/filesystems + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() { + sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems depmod -a $VERSION-slitaz } diff -r 230ebda0b94a -r 9059daaaa23d linux-headers/receipt --- a/linux-headers/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-headers/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-headers" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="development" SHORT_DESC="The Linux Kernel headers files for devel." MAINTAINER="pascal.bellard@slitaz.org" diff -r 230ebda0b94a -r 9059daaaa23d linux-hfsplus/receipt --- a/linux-hfsplus/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-hfsplus/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-hfsplus" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel hfsplus module." MAINTAINER="pascal.bellard@slitaz.org" @@ -31,7 +31,7 @@ { grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ echo "${PACKAGE#*-}" >> $1/etc/filesystems - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-ieee1394/receipt --- a/linux-ieee1394/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-ieee1394/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-ieee1394" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel ieee1394 modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -27,7 +27,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-ieee1394/stuff/modules-2.6.24.2.list --- a/linux-ieee1394/stuff/modules-2.6.24.2.list Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -drivers/ieee1394/raw1394.ko.gz -drivers/ieee1394/ieee1394.ko.gz -drivers/ieee1394/ohci1394.ko.gz diff -r 230ebda0b94a -r 9059daaaa23d linux-ipv6/receipt --- a/linux-ipv6/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-ipv6/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-ipv6" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel ipv6 modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -27,7 +27,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-isdn/receipt --- a/linux-isdn/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-isdn/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-isdn" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel isdn modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -27,7 +27,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-jfs/receipt --- a/linux-jfs/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-jfs/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-jfs" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel jfs module." MAINTAINER="pascal.bellard@slitaz.org" @@ -31,7 +31,7 @@ { grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ echo "${PACKAGE#*-}" >> $1/etc/filesystems - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-joystick/receipt --- a/linux-joystick/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-joystick/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-joystick" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel joystick modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -17,8 +17,9 @@ mkdir -p $fs/$path export src export _pkg - $src/list_modules.sh drivers/input/joystick drivers/input/gameport | \ - while read module; do + $src/list_modules.sh drivers/input/joystick drivers/input/gameport \ + drivers/input/input-polldev.ko.gz drivers/hid/hid-dummy.ko.gz | \ + while read module; do dir=$path/$(dirname $module) [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir @@ -28,7 +29,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-kvm/receipt --- a/linux-kvm/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-kvm/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-kvm" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel kvm and virtio modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -17,7 +17,8 @@ mkdir -p $fs/$path export src export _pkg - $src/list_modules.sh arch/x86/kvm drivers/virtio drivers/lguest | \ + $src/list_modules.sh arch/x86/kvm drivers/virtio drivers/lguest \ + drivers/char/hw_random/virtio-rng.ko.gz drivers/char/virtio_console.ko.gz |\ while read module; do dir=$path/$(dirname $module) [ -d $fs/$dir ] || mkdir -p $fs/$dir @@ -28,7 +29,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-md/receipt --- a/linux-md/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-md/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-md" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel md modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -31,7 +31,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-memstick/receipt --- a/linux-memstick/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-memstick/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-memstick" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel sony memory stick modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -30,7 +30,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-mmc/receipt --- a/linux-mmc/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-mmc/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-mmc" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel mmc modules (card reader)." MAINTAINER="pascal.bellard@slitaz.org" @@ -17,7 +17,8 @@ mkdir -p $fs/$path export src export _pkg - $src/list_modules.sh drivers/mmc | while read module; do + $src/list_modules.sh drivers/mmc drivers/misc/tifm_7xx1.ko.gz | \ + while read module; do dir=$path/$(dirname $module) [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir @@ -27,7 +28,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-mwave/receipt --- a/linux-mwave/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-mwave/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-mwave" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel ACP Modem driver module (for IBM Thinkpad)" MAINTAINER="pascal.bellard@slitaz.org" @@ -27,7 +27,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-ncpfs/receipt --- a/linux-ncpfs/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-ncpfs/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-ncpfs" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel ncpfs module." MAINTAINER="pascal.bellard@slitaz.org" @@ -23,6 +23,7 @@ [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir done + touch $fs/etc/filesystems } # Post install/remove commands for Tazpkg. @@ -30,7 +31,7 @@ { grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ echo "${PACKAGE#*-}" >> $1/etc/filesystems - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() @@ -38,3 +39,4 @@ sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems depmod -a $VERSION-slitaz } + diff -r 230ebda0b94a -r 9059daaaa23d linux-netfilter/receipt --- a/linux-netfilter/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-netfilter/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-netfilter" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel netfilter modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -31,7 +31,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-reiserfs/receipt --- a/linux-reiserfs/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-reiserfs/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-reiserfs" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel reiserfs module." MAINTAINER="pascal.bellard@slitaz.org" @@ -31,7 +31,7 @@ { grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ echo "${PACKAGE#*-}" >> $1/etc/filesystems - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() @@ -39,3 +39,4 @@ sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems depmod -a $VERSION-slitaz } + diff -r 230ebda0b94a -r 9059daaaa23d linux-reiserfs/stuff/modules-2.6.24.2.list --- a/linux-reiserfs/stuff/modules-2.6.24.2.list Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -fs/reiserfs/reiserfs.ko.gz diff -r 230ebda0b94a -r 9059daaaa23d linux-sched/receipt --- a/linux-sched/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-sched/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-sched" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel sched modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -30,7 +30,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-scsi/receipt --- a/linux-scsi/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-scsi/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-scsi" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel scsi modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -22,13 +22,12 @@ [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir done - } # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-sound/receipt --- a/linux-sound/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-sound/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-sound" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel sound modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -22,13 +22,17 @@ [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir done + mkdir $fs/lib/firmware + for i in ess korg sun yamaha; do + cp -a $_pkg/lib/firmware/$i $fs/lib/firmware + done } # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-source/receipt --- a/linux-source/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-source/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-source" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="development" SHORT_DESC="The Linux kernel source files." MAINTAINER="pascal.bellard@slitaz.org" diff -r 230ebda0b94a -r 9059daaaa23d linux-squashfs/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux-squashfs/receipt Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,43 @@ +# SliTaz package receipt. + +PACKAGE="linux-squashfs" +VERSION="2.6.29.3" +CATEGORY="base-system" +SHORT_DESC="The Linux kernel squashfs module." +MAINTAINER="pascal.bellard@slitaz.org" +DEPENDS="linux" +WANTED="linux" +WEB_SITE="http://www.kernel.org/" +PROVIDE="squashfs-module" +CONFIG_FILES="/etc/filesystems" + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + local path + path=lib/modules/$VERSION-slitaz/kernel + mkdir -p $fs/$path $fs/etc + export src + export _pkg + $src/list_modules.sh fs/squashfs | while read module; do + dir=$path/$(dirname $module) + [ -d $fs/$dir ] || mkdir -p $fs/$dir + cp -a $_pkg/$path/$module $fs/$dir + done + touch $fs/etc/filesystems +} + +# Post install/remove commands for Tazpkg. +post_install() +{ + grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ + echo "${PACKAGE#*-}" >> $1/etc/filesystems + chroot "$1/" depmod -a $VERSION-slitaz +} + +post_remove() +{ + sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems + depmod -a $VERSION-slitaz +} + diff -r 230ebda0b94a -r 9059daaaa23d linux-tickless/receipt --- a/linux-tickless/receipt Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="linux-tickless" -VERSION="2.6.25.5" -CATEGORY="base-system" -SHORT_DESC="The Linux kernel and modules." -DEPENDS="linux" -BUILD_DEPENDS="slitaz-toolchain perl" -MAINTAINER="pascal.bellard@slitaz.org" -SOURCE="linux" -TARBALL="$SOURCE-$VERSION.tar.bz2" -WEB_SITE="http://www.kernel.org/" -WGET_URL="http://www.eu.kernel.org/pub/linux/kernel/v2.6/$TARBALL" -CONFIG_FILES="/lib/modules/$VERSION-slitaz/modules.dep" -PROVIDE="linux" - -# Rules to configure and make the package. -compile_rules() -{ - cd $src - rm -rf slitaz 2> /dev/null - mkdir slitaz - echo "$WGET_URL" > slitaz/url - cp $WOK/linux/stuff/gztazmod.sh $WOK/linux/stuff/list_modules.sh slitaz - # lzma and misc patches from pascal - while read patch_file; do - if [ -f done.$patch_file ]; then - echo "Skipping $patch_file" - continue - fi - echo "Apply $patch_file" - patch -p1 < $WOK/linux/stuff/$patch_file || return 1 - echo "$patch_file" >> slitaz/patches - cp $WOK/linux/stuff/$patch_file slitaz/$patch_file - touch done.$patch_file - done < $src/modules.list - while read module; do - dir=$(dirname $module) - [ -d $path/$dir ] || mkdir -p $path/$dir - cp -a $_pkg/lib/modules/$VERSION-slitaz/kernel/$module $path/$dir - done < $src/modules.list - # Remove unresolved links - rm -f $fs/lib/modules/$VERSION-slitaz/build - rm -f $fs/lib/modules/$VERSION-slitaz/source -} - -# Pre and post install commands for Tazpkg. -# GRUB stuf. -post_install() -{ - echo "Processing post-install commands..." - chroot "$1/" depmod -a $VERSION-slitaz - if [ -f "$1/boot/grub/menu.lst" ]; then - root_dev=`cat $1/boot/grub/menu.lst | grep root= | sed 's/.*root=\([^ ]*\).*/\1/'` - grub_dev=`cat $1/boot/grub/menu.lst | grep "root ("` - # Add new kernel entry in case of upgrade for installed system. - cat >> $1/boot/grub/menu.lst << EOT - -title SliTaz GNU/Linux (Kernel $VERSION-slitaz) -$grub_dev - kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev -EOT - # Display information message. - cat <> $1/etc/filesystems + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() { + sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems depmod -a $VERSION-slitaz } diff -r 230ebda0b94a -r 9059daaaa23d linux-usbdsl/receipt --- a/linux-usbdsl/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-usbdsl/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-usbdsl" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel usb dsl modem modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -31,7 +31,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-usbip/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux-usbip/receipt Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,41 @@ +# SliTaz package receipt. + +PACKAGE="linux-usbip" +VERSION="2.6.29.3" +CATEGORY="base-system" +SHORT_DESC="The Linux kernel squashfs module." +MAINTAINER="pascal.bellard@slitaz.org" +DEPENDS="linux" +WANTED="linux" +WEB_SITE="http://www.kernel.org/" +PROVIDE="usbip-module" + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + local path + path=lib/modules/$VERSION-slitaz/kernel + mkdir -p $fs/$path + export src + export _pkg + $src/list_modules.sh drivers/staging/usbip | while read module; do + dir=$path/$(dirname $module) + [ -d $fs/$dir ] || mkdir -p $fs/$dir + cp -a $_pkg/$path/$module $fs/$dir + done +} + +# Post install/remove commands for Tazpkg. +post_install() +{ + grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ + echo "${PACKAGE#*-}" >> $1/etc/filesystems + chroot "$1/" depmod -a $VERSION-slitaz +} + +post_remove() +{ + sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems + depmod -a $VERSION-slitaz +} + diff -r 230ebda0b94a -r 9059daaaa23d linux-uwb/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux-uwb/receipt Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,41 @@ +# SliTaz package receipt. + +PACKAGE="linux-uwb" +VERSION="2.6.29.3" +CATEGORY="base-system" +SHORT_DESC="The Linux kernel uwb modules." +MAINTAINER="pascal.bellard@slitaz.org" +DEPENDS="linux" +WANTED="linux" +WEB_SITE="http://www.kernel.org/" + + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + local path + path=lib/modules/$VERSION-slitaz/kernel + mkdir -p $fs/$path + + export src + export _pkg + + $src/list_modules.sh drivers/uwb drivers/usb/wusbcore \ + drivers/usb/host/whci | while read module; do + dir=$path/$(dirname $module) + [ -d $fs/$dir ] || mkdir -p $fs/$dir + cp -a $_pkg/$path/$module $fs/$dir + done +} + +# Post install/remove commands for Tazpkg. +post_install() +{ + chroot "$1/" depmod -a $VERSION-slitaz +} + +post_remove() +{ + depmod -a $VERSION-slitaz +} + diff -r 230ebda0b94a -r 9059daaaa23d linux-video/receipt --- a/linux-video/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-video/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux-video" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel video modules." MAINTAINER="pascal.bellard@slitaz.org" @@ -17,7 +17,8 @@ mkdir -p $fs/$path export src export _pkg - $src/list_modules.sh drivers/media/video drivers/video | \ + $src/list_modules.sh drivers/media/video drivers/video \ + drivers/gpio/bt8xxgpio.ko.gz | \ while read module; do dir=$path/$(dirname $module) [ -d $fs/$dir ] || mkdir -p $fs/$dir @@ -28,7 +29,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-wireless/receipt --- a/linux-wireless/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux-wireless/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,11 +1,10 @@ # SliTaz package receipt. PACKAGE="linux-wireless" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel wireless modules." MAINTAINER="pascal.bellard@slitaz.org" -DEPENDS="linux" WANTED="linux" WEB_SITE="http://www.kernel.org/" DEPENDS="linux-crypto wireless_tools" @@ -21,8 +20,8 @@ export src export _pkg - $src/list_modules.sh drivers/net/wireless net/wireless net/ieee80211 | \ - while read module; do + $src/list_modules.sh drivers/net/wireless drivers/staging/wlan-ng \ + net/wireless net/mac80211 | while read module; do dir=$path/$(dirname $module) [ -d $fs/$dir ] || mkdir -p $fs/$dir cp -a $_pkg/$path/$module $fs/$dir @@ -32,7 +31,7 @@ # Post install/remove commands for Tazpkg. post_install() { - chroot "$1/" depmod -a $VERSION-slitaz + chroot "$1/" depmod -a $VERSION-slitaz } post_remove() diff -r 230ebda0b94a -r 9059daaaa23d linux-wireless/stuff/modules-2.6.24.2.list --- a/linux-wireless/stuff/modules-2.6.24.2.list Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -crypto/arc4.ko.gz -crypto/ecb.ko.gz -crypto/aes_generic.ko.gz -crypto/michael_mic.ko.gz -drivers/misc/eeprom_93cx6.ko.gz -drivers/net/wireless/b43/b43.ko.gz -drivers/net/wireless/b43legacy/b43legacy.ko.gz -drivers/net/wireless/bcm43xx/bcm43xx.ko.gz -drivers/net/wireless/rt2x00/rt2500usb.ko.gz -drivers/net/wireless/rt2x00/rt2x00lib.ko.gz -drivers/net/wireless/rt2x00/rt2x00pci.ko.gz -drivers/net/wireless/rt2x00/rt2x00usb.ko.gz -drivers/net/wireless/rt2x00/rt2400pci.ko.gz -drivers/net/wireless/rt2x00/rt2500pci.ko.gz -drivers/net/wireless/zd1211rw/zd1211rw.ko.gz -drivers/net/wireless/ipw2100.ko.gz -drivers/net/wireless/ipw2200.ko.gz -net/ieee80211/ieee80211_crypt_ccmp.ko.gz -net/ieee80211/ieee80211_crypt_tkip.ko.gz -net/ieee80211/ieee80211_crypt_wep.ko.gz -net/ieee80211/softmac/ieee80211softmac.ko.gz -net/ieee80211/ieee80211.ko.gz -net/ieee80211/ieee80211_crypt.ko.gz -net/mac80211/mac80211.ko.gz -net/wireless/cfg80211.ko.gz diff -r 230ebda0b94a -r 9059daaaa23d linux/receipt --- a/linux/receipt Mon May 11 16:40:10 2009 +0200 +++ b/linux/receipt Mon May 11 19:08:50 2009 +0200 @@ -1,7 +1,7 @@ # SliTaz package receipt. PACKAGE="linux" -VERSION="2.6.25.5" +VERSION="2.6.29.3" CATEGORY="base-system" SHORT_DESC="The Linux kernel and modules." DEPENDS="depmod" @@ -9,7 +9,7 @@ MAINTAINER="pascal.bellard@slitaz.org" TARBALL="$PACKAGE-$VERSION.tar.bz2" WEB_SITE="http://www.kernel.org/" -WGET_URL="http://www.eu.kernel.org/pub/linux/kernel/v2.6/$TARBALL" +WGET_URL="http://www.eu.kernel.org/pub/linux/kernel/v${VERSION:0:3}/$TARBALL" CONFIG_FILES="/lib/modules/$VERSION-slitaz/modules.dep" # Rules to configure and make the package. @@ -36,7 +36,6 @@ $PACKAGE-utf8-$VERSION.u $PACKAGE-diff-$VERSION.u $PACKAGE-rootdev.u -$PACKAGE-ioremap-$VERSION.u EOT make mrproper cp ../stuff/$PACKAGE-$VERSION-slitaz.config .config diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/config-acpi-2.6.22.9.u --- a/linux/stuff/config-acpi-2.6.22.9.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,131 +0,0 @@ ---- linux-2.6.22.9/.config Wed Feb 20 23:40:09 2008 -+++ linux-2.6.22.9/.config Wed Feb 20 23:45:30 2008 -@@ -1,7 +1,7 @@ - # - # Automatically generated make config: don't edit - # Linux kernel version: 2.6.22.9 --# Sat Dec 1 11:06:26 2007 -+# Wed Feb 20 23:45:08 2008 - # - CONFIG_X86_32=y - CONFIG_GENERIC_TIME=y -@@ -213,6 +213,7 @@ - # CONFIG_HIGHPTE is not set - CONFIG_MATH_EMULATION=y - CONFIG_MTRR=y -+# CONFIG_EFI is not set - CONFIG_IRQBALANCE=y - # CONFIG_SECCOMP is not set - # CONFIG_HZ_100 is not set -@@ -232,9 +233,36 @@ - # - # Power management options (ACPI, APM) - # --# CONFIG_PM is not set -+CONFIG_PM=y -+# CONFIG_PM_LEGACY is not set -+# CONFIG_PM_DEBUG is not set -+# CONFIG_PM_SYSFS_DEPRECATED is not set - - # -+# ACPI (Advanced Configuration and Power Interface) Support -+# -+CONFIG_ACPI=y -+CONFIG_ACPI_PROCFS=y -+CONFIG_ACPI_AC=m -+CONFIG_ACPI_BATTERY=m -+# CONFIG_ACPI_BUTTON is not set -+# CONFIG_ACPI_FAN is not set -+# CONFIG_ACPI_DOCK is not set -+CONFIG_ACPI_PROCESSOR=y -+CONFIG_ACPI_THERMAL=y -+# CONFIG_ACPI_ASUS is not set -+# CONFIG_ACPI_TOSHIBA is not set -+CONFIG_ACPI_BLACKLIST_YEAR=0 -+# CONFIG_ACPI_DEBUG is not set -+CONFIG_ACPI_EC=y -+CONFIG_ACPI_POWER=y -+CONFIG_ACPI_SYSTEM=y -+CONFIG_X86_PM_TIMER=y -+# CONFIG_ACPI_CONTAINER is not set -+# CONFIG_ACPI_SBS is not set -+# CONFIG_APM is not set -+ -+# - # CPU Frequency scaling - # - # CONFIG_CPU_FREQ is not set -@@ -249,6 +277,7 @@ - CONFIG_PCI_GOANY=y - CONFIG_PCI_BIOS=y - CONFIG_PCI_DIRECT=y -+CONFIG_PCI_MMCONFIG=y - # CONFIG_PCIEPORTBUS is not set - CONFIG_ARCH_SUPPORTS_MSI=y - # CONFIG_PCI_MSI is not set -@@ -466,7 +495,7 @@ - # - CONFIG_ISAPNP=y - # CONFIG_PNPBIOS is not set --# CONFIG_PNPACPI is not set -+CONFIG_PNPACPI=y - - # - # Block devices -@@ -500,6 +529,8 @@ - # CONFIG_PHANTOM is not set - # CONFIG_SGI_IOC4 is not set - # CONFIG_TIFM_CORE is not set -+# CONFIG_SONY_LAPTOP is not set -+# CONFIG_THINKPAD_ACPI is not set - CONFIG_IDE=y - CONFIG_BLK_DEV_IDE=y - -@@ -516,6 +547,7 @@ - # CONFIG_BLK_DEV_IDETAPE is not set - CONFIG_BLK_DEV_IDEFLOPPY=y - # CONFIG_BLK_DEV_IDESCSI is not set -+# CONFIG_BLK_DEV_IDEACPI is not set - # CONFIG_IDE_TASK_IOCTL is not set - CONFIG_IDE_PROC_FS=y - -@@ -673,6 +705,7 @@ - # CONFIG_PCMCIA_SYM53C500 is not set - CONFIG_ATA=y - # CONFIG_ATA_NONSTANDARD is not set -+CONFIG_ATA_ACPI=y - CONFIG_SATA_AHCI=y - # CONFIG_SATA_SVW is not set - CONFIG_ATA_PIIX=y -@@ -1011,6 +1044,7 @@ - CONFIG_INPUT_MISC=y - CONFIG_INPUT_PCSPKR=y - # CONFIG_INPUT_WISTRON_BTNS is not set -+# CONFIG_INPUT_ATLAS_BTNS is not set - # CONFIG_INPUT_ATI_REMOTE is not set - # CONFIG_INPUT_ATI_REMOTE2 is not set - # CONFIG_INPUT_KEYSPAN_REMOTE is not set -@@ -1091,6 +1125,7 @@ - # CONFIG_NSC_GPIO is not set - # CONFIG_CS5535_GPIO is not set - # CONFIG_RAW_DRIVER is not set -+# CONFIG_HPET is not set - # CONFIG_HANGCHECK_TIMER is not set - - # -@@ -1410,6 +1445,7 @@ - CONFIG_USB_DEVICEFS=y - CONFIG_USB_DEVICE_CLASS=y - # CONFIG_USB_DYNAMIC_MINORS is not set -+# CONFIG_USB_SUSPEND is not set - # CONFIG_USB_OTG is not set - - # -@@ -1452,7 +1488,6 @@ - # CONFIG_USB_STORAGE_SDDR55 is not set - # CONFIG_USB_STORAGE_JUMPSHOT is not set - # CONFIG_USB_STORAGE_ALAUDA is not set --# CONFIG_USB_STORAGE_ONETOUCH is not set - # CONFIG_USB_STORAGE_KARMA is not set - # CONFIG_USB_LIBUSUAL is not set - diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/config-acpi-2.6.24.2.u --- a/linux/stuff/config-acpi-2.6.24.2.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,151 +0,0 @@ ---- linux-2.6.24.2/.config Fri Feb 15 21:12:02 2008 -+++ linux-2.6.24.2/.config Fri Feb 15 21:11:24 2008 -@@ -1,7 +1,7 @@ - # - # Automatically generated make config: don't edit - # Linux kernel version: 2.6.24.2 --# Thu Feb 14 15:28:29 2008 -+# Fri Feb 15 20:07:05 2008 - # - # CONFIG_64BIT is not set - CONFIG_X86_32=y -@@ -224,6 +224,7 @@ - # CONFIG_HIGHPTE is not set - CONFIG_MATH_EMULATION=y - CONFIG_MTRR=y -+# CONFIG_EFI is not set - CONFIG_IRQBALANCE=y - # CONFIG_SECCOMP is not set - # CONFIG_HZ_100 is not set -@@ -243,9 +244,35 @@ - # - # Power management options - # --# CONFIG_PM is not set -+CONFIG_PM=y -+# CONFIG_PM_LEGACY is not set -+# CONFIG_PM_DEBUG is not set - CONFIG_SUSPEND_SMP_POSSIBLE=y -+# CONFIG_SUSPEND is not set - CONFIG_HIBERNATION_SMP_POSSIBLE=y -+# CONFIG_HIBERNATION is not set -+CONFIG_ACPI=y -+# CONFIG_ACPI_PROCFS is not set -+CONFIG_ACPI_PROCFS_POWER=y -+CONFIG_ACPI_SYSFS_POWER=y -+CONFIG_ACPI_PROC_EVENT=y -+CONFIG_ACPI_AC=m -+CONFIG_ACPI_BATTERY=m -+# CONFIG_ACPI_BUTTON is not set -+# CONFIG_ACPI_FAN is not set -+# CONFIG_ACPI_DOCK is not set -+CONFIG_ACPI_PROCESSOR=y -+CONFIG_ACPI_THERMAL=y -+# CONFIG_ACPI_ASUS is not set -+# CONFIG_ACPI_TOSHIBA is not set -+CONFIG_ACPI_BLACKLIST_YEAR=0 -+# CONFIG_ACPI_DEBUG is not set -+CONFIG_ACPI_EC=y -+CONFIG_ACPI_POWER=y -+CONFIG_ACPI_SYSTEM=y -+CONFIG_X86_PM_TIMER=y -+# CONFIG_ACPI_CONTAINER is not set -+# CONFIG_ACPI_SBS is not set - - # - # CPU Frequency scaling -@@ -263,6 +290,7 @@ - CONFIG_PCI_GOANY=y - CONFIG_PCI_BIOS=y - CONFIG_PCI_DIRECT=y -+CONFIG_PCI_MMCONFIG=y - CONFIG_PCI_DOMAINS=y - # CONFIG_PCIEPORTBUS is not set - CONFIG_ARCH_SUPPORTS_MSI=y -@@ -467,7 +495,7 @@ - # - CONFIG_ISAPNP=y - # CONFIG_PNPBIOS is not set --# CONFIG_PNPACPI is not set -+CONFIG_PNPACPI=y - CONFIG_BLK_DEV=y - CONFIG_BLK_DEV_FD=y - # CONFIG_BLK_DEV_XD is not set -@@ -496,6 +524,8 @@ - # CONFIG_EEPROM_93CX6 is not set - # CONFIG_SGI_IOC4 is not set - # CONFIG_TIFM_CORE is not set -+# CONFIG_SONY_LAPTOP is not set -+# CONFIG_THINKPAD_ACPI is not set - CONFIG_IDE=y - CONFIG_BLK_DEV_IDE=y - -@@ -512,6 +542,7 @@ - # CONFIG_BLK_DEV_IDETAPE is not set - CONFIG_BLK_DEV_IDEFLOPPY=y - # CONFIG_BLK_DEV_IDESCSI is not set -+# CONFIG_BLK_DEV_IDEACPI is not set - # CONFIG_IDE_TASK_IOCTL is not set - CONFIG_IDE_PROC_FS=y - -@@ -675,6 +706,7 @@ - # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set - CONFIG_ATA=y - # CONFIG_ATA_NONSTANDARD is not set -+CONFIG_ATA_ACPI=y - CONFIG_SATA_AHCI=y - # CONFIG_SATA_SVW is not set - CONFIG_ATA_PIIX=y -@@ -691,6 +723,7 @@ - CONFIG_SATA_VIA=y - # CONFIG_SATA_VITESSE is not set - # CONFIG_SATA_INIC162X is not set -+# CONFIG_PATA_ACPI is not set - # CONFIG_PATA_ALI is not set - # CONFIG_PATA_AMD is not set - # CONFIG_PATA_ARTOP is not set -@@ -987,6 +1020,7 @@ - CONFIG_INPUT_MISC=y - CONFIG_INPUT_PCSPKR=y - # CONFIG_INPUT_WISTRON_BTNS is not set -+# CONFIG_INPUT_ATLAS_BTNS is not set - # CONFIG_INPUT_ATI_REMOTE is not set - # CONFIG_INPUT_ATI_REMOTE2 is not set - # CONFIG_INPUT_KEYSPAN_REMOTE is not set -@@ -1061,6 +1095,7 @@ - # CONFIG_NSC_GPIO is not set - # CONFIG_CS5535_GPIO is not set - # CONFIG_RAW_DRIVER is not set -+# CONFIG_HPET is not set - # CONFIG_HANGCHECK_TIMER is not set - # CONFIG_TCG_TPM is not set - # CONFIG_TELCLOCK is not set -@@ -1073,7 +1108,10 @@ - # CONFIG_SPI is not set - # CONFIG_SPI_MASTER is not set - # CONFIG_W1 is not set --# CONFIG_POWER_SUPPLY is not set -+CONFIG_POWER_SUPPLY=y -+# CONFIG_POWER_SUPPLY_DEBUG is not set -+# CONFIG_PDA_POWER is not set -+# CONFIG_BATTERY_DS2760 is not set - # CONFIG_HWMON is not set - # CONFIG_WATCHDOG is not set - -@@ -1406,6 +1444,8 @@ - CONFIG_USB_DEVICEFS=y - CONFIG_USB_DEVICE_CLASS=y - # CONFIG_USB_DYNAMIC_MINORS is not set -+# CONFIG_USB_SUSPEND is not set -+# CONFIG_USB_PERSIST is not set - # CONFIG_USB_OTG is not set - - # -@@ -1449,7 +1489,6 @@ - # CONFIG_USB_STORAGE_SDDR55 is not set - # CONFIG_USB_STORAGE_JUMPSHOT is not set - # CONFIG_USB_STORAGE_ALAUDA is not set --# CONFIG_USB_STORAGE_ONETOUCH is not set - # CONFIG_USB_STORAGE_KARMA is not set - # CONFIG_USB_LIBUSUAL is not set - diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/config-ieee1394-2.6.24.2.u --- a/linux/stuff/config-ieee1394-2.6.24.2.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ ---- linux-2.6.24.2/.config Fri Feb 29 23:03:54 2008 -+++ linux-2.6.24.2/.config Fri Feb 29 22:59:38 2008 -@@ -1,7 +1,7 @@ - # - # Automatically generated make config: don't edit - # Linux kernel version: 2.6.24.2 --# Fri Feb 15 20:07:05 2008 -+# Fri Feb 29 22:59:17 2008 - # - # CONFIG_64BIT is not set - CONFIG_X86_32=y -@@ -775,7 +775,31 @@ - # IEEE 1394 (FireWire) support - # - # CONFIG_FIREWIRE is not set --# CONFIG_IEEE1394 is not set -+CONFIG_IEEE1394=m -+ -+# -+# Subsystem Options -+# -+# CONFIG_IEEE1394_VERBOSEDEBUG is not set -+ -+# -+# Controllers -+# -+ -+# -+# Texas Instruments PCILynx requires I2C -+# -+CONFIG_IEEE1394_OHCI1394=m -+ -+# -+# Protocols -+# -+# CONFIG_IEEE1394_VIDEO1394 is not set -+# CONFIG_IEEE1394_SBP2 is not set -+# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set -+# CONFIG_IEEE1394_ETH1394 is not set -+# CONFIG_IEEE1394_DV1394 is not set -+CONFIG_IEEE1394_RAWIO=m - # CONFIG_I2O is not set - # CONFIG_MACINTOSH_DRIVERS is not set - CONFIG_NETDEVICES=y diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/config-reiserfs-2.6.24.2.u --- a/linux/stuff/config-reiserfs-2.6.24.2.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ ---- linux-2.6.24.2.ori/.config Sat Mar 29 03:02:43 2008 -+++ linux-2.6.24.2/.config Sat Mar 29 03:04:29 2008 -@@ -1597,7 +1597,10 @@ - # CONFIG_EXT3_FS_XATTR is not set - # CONFIG_EXT4DEV_FS is not set - CONFIG_JBD=y --# CONFIG_REISERFS_FS is not set -+CONFIG_REISERFS_FS=m -+# CONFIG_REISERFS_CHECK is not set -+# CONFIG_REISERFS_PROC_INFO is not set -+# CONFIG_REISERFS_FS_XATTR is not set - # CONFIG_JFS_FS is not set - # CONFIG_FS_POSIX_ACL is not set - # CONFIG_XFS_FS is not set diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/config-tun-2.6.24.2.u --- a/linux/stuff/config-tun-2.6.24.2.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- linux-2.6.24.2/.config -+++ linux-2.6.24.2/.config -@@ -808,7 +808,7 @@ - # CONFIG_BONDING is not set - # CONFIG_MACVLAN is not set - # CONFIG_EQUALIZER is not set --# CONFIG_TUN is not set -+CONFIG_TUN=y - # CONFIG_VETH is not set - # CONFIG_NET_SB1000 is not set - CONFIG_ARCNET=m diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/config-wireless-2.6.24.2.u --- a/linux/stuff/config-wireless-2.6.24.2.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ ---- linux-2.6.24.2/.config -+++ linux-2.6.24.2/.config -@@ -452,6 +452,7 @@ - # CONFIG_ECONET is not set - # CONFIG_WAN_ROUTER is not set - # CONFIG_NET_SCHED is not set -+CONFIG_NET_SCH_FIFO=y - - # - # Network testing -@@ -465,10 +466,19 @@ - # - # Wireless - # --# CONFIG_CFG80211 is not set --# CONFIG_WIRELESS_EXT is not set --# CONFIG_MAC80211 is not set --# CONFIG_IEEE80211 is not set -+CONFIG_CFG80211=m -+CONFIG_NL80211=y -+CONFIG_WIRELESS_EXT=y -+CONFIG_MAC80211=m -+CONFIG_MAC80211_RCSIMPLE=y -+# CONFIG_MAC80211_DEBUG is not set -+CONFIG_IEEE80211=m -+# CONFIG_IEEE80211_DEBUG is not set -+CONFIG_IEEE80211_CRYPT_WEP=m -+CONFIG_IEEE80211_CRYPT_CCMP=m -+CONFIG_IEEE80211_CRYPT_TKIP=m -+CONFIG_IEEE80211_SOFTMAC=m -+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set - # CONFIG_RFKILL is not set - # CONFIG_NET_9P is not set - -@@ -521,7 +531,7 @@ - CONFIG_MISC_DEVICES=y - # CONFIG_IBM_ASM is not set - # CONFIG_PHANTOM is not set --# CONFIG_EEPROM_93CX6 is not set -+CONFIG_EEPROM_93CX6=m - # CONFIG_SGI_IOC4 is not set - # CONFIG_TIFM_CORE is not set - # CONFIG_SONY_LAPTOP is not set -@@ -953,7 +963,69 @@ - # Wireless LAN - # - # CONFIG_WLAN_PRE80211 is not set --# CONFIG_WLAN_80211 is not set -+CONFIG_WLAN_80211=y -+# CONFIG_PCMCIA_RAYCS is not set -+CONFIG_IPW2100=m -+CONFIG_IPW2100_MONITOR=y -+# CONFIG_IPW2100_DEBUG is not set -+CONFIG_IPW2200=m -+CONFIG_IPW2200_MONITOR=y -+CONFIG_IPW2200_RADIOTAP=y -+CONFIG_IPW2200_PROMISCUOUS=y -+CONFIG_IPW2200_QOS=y -+# CONFIG_IPW2200_DEBUG is not set -+# CONFIG_LIBERTAS is not set -+# CONFIG_AIRO is not set -+# CONFIG_HERMES is not set -+# CONFIG_ATMEL is not set -+# CONFIG_AIRO_CS is not set -+# CONFIG_PCMCIA_WL3501 is not set -+# CONFIG_PRISM54 is not set -+# CONFIG_USB_ZD1201 is not set -+# CONFIG_RTL8187 is not set -+# CONFIG_ADM8211 is not set -+# CONFIG_P54_COMMON is not set -+# CONFIG_IWLWIFI is not set -+# CONFIG_HOSTAP is not set -+CONFIG_BCM43XX=m -+# CONFIG_BCM43XX_DEBUG is not set -+CONFIG_BCM43XX_DMA=y -+CONFIG_BCM43XX_PIO=y -+CONFIG_BCM43XX_DMA_AND_PIO_MODE=y -+# CONFIG_BCM43XX_DMA_MODE is not set -+# CONFIG_BCM43XX_PIO_MODE is not set -+CONFIG_B43=m -+CONFIG_B43_PCI_AUTOSELECT=y -+CONFIG_B43_PCICORE_AUTOSELECT=y -+# CONFIG_B43_DEBUG is not set -+CONFIG_B43_DMA=y -+CONFIG_B43_PIO=y -+CONFIG_B43_DMA_AND_PIO_MODE=y -+# CONFIG_B43_DMA_MODE is not set -+# CONFIG_B43_PIO_MODE is not set -+CONFIG_B43LEGACY=m -+CONFIG_B43LEGACY_PCI_AUTOSELECT=y -+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y -+# CONFIG_B43LEGACY_DEBUG is not set -+CONFIG_B43LEGACY_DMA=y -+CONFIG_B43LEGACY_PIO=y -+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y -+# CONFIG_B43LEGACY_DMA_MODE is not set -+# CONFIG_B43LEGACY_PIO_MODE is not set -+CONFIG_ZD1211RW=m -+# CONFIG_ZD1211RW_DEBUG is not set -+CONFIG_RT2X00=m -+CONFIG_RT2X00_LIB=m -+CONFIG_RT2X00_LIB_PCI=m -+CONFIG_RT2X00_LIB_USB=m -+CONFIG_RT2400PCI=m -+# CONFIG_RT2400PCI_RFKILL is not set -+CONFIG_RT2500PCI=m -+# CONFIG_RT2500PCI_RFKILL is not set -+# CONFIG_RT61PCI is not set -+CONFIG_RT2500USB=m -+# CONFIG_RT73USB is not set -+# CONFIG_RT2X00_DEBUG is not set - - # - # USB Network Adapters -@@ -1791,7 +1863,7 @@ - # CONFIG_CRYPTO_WP512 is not set - # CONFIG_CRYPTO_TGR192 is not set - # CONFIG_CRYPTO_GF128MUL is not set --# CONFIG_CRYPTO_ECB is not set -+CONFIG_CRYPTO_ECB=m - CONFIG_CRYPTO_CBC=y - CONFIG_CRYPTO_PCBC=m - # CONFIG_CRYPTO_LRW is not set -@@ -1803,17 +1875,17 @@ - # CONFIG_CRYPTO_TWOFISH is not set - # CONFIG_CRYPTO_TWOFISH_586 is not set - # CONFIG_CRYPTO_SERPENT is not set --# CONFIG_CRYPTO_AES is not set -+CONFIG_CRYPTO_AES=m - # CONFIG_CRYPTO_AES_586 is not set - # CONFIG_CRYPTO_CAST5 is not set - # CONFIG_CRYPTO_CAST6 is not set - # CONFIG_CRYPTO_TEA is not set --# CONFIG_CRYPTO_ARC4 is not set -+CONFIG_CRYPTO_ARC4=m - # CONFIG_CRYPTO_KHAZAD is not set - # CONFIG_CRYPTO_ANUBIS is not set - # CONFIG_CRYPTO_SEED is not set - CONFIG_CRYPTO_DEFLATE=y --# CONFIG_CRYPTO_MICHAEL_MIC is not set -+CONFIG_CRYPTO_MICHAEL_MIC=m - # CONFIG_CRYPTO_CRC32C is not set - # CONFIG_CRYPTO_CAMELLIA is not set - # CONFIG_CRYPTO_TEST is not set diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-2.6.22.9-slitaz.config --- a/linux/stuff/linux-2.6.22.9-slitaz.config Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1828 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.22.9 -# Sat Dec 1 11:06:26 2007 -# -CONFIG_X86_32=y -CONFIG_GENERIC_TIME=y -CONFIG_CLOCKSOURCE_WATCHDOG=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_SEMAPHORE_SLEEPERS=y -CONFIG_X86=y -CONFIG_MMU=y -CONFIG_ZONE_DMA=y -CONFIG_QUICKLIST=y -CONFIG_GENERIC_ISA_DMA=y -CONFIG_GENERIC_IOMAP=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_ARCH_MAY_HAVE_PC_FDC=y -CONFIG_DMI=y -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_LOCK_KERNEL=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="-slitaz" -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_KERNEL_GZIP is not set -# CONFIG_KERNEL_BZIP2 is not set -CONFIG_KERNEL_LZMA=y -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -# CONFIG_IPC_NS is not set -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_POSIX_MQUEUE=y -CONFIG_BSD_PROCESS_ACCT=y -# CONFIG_BSD_PROCESS_ACCT_V3 is not set -# CONFIG_TASKSTATS is not set -# CONFIG_UTS_NS is not set -# CONFIG_AUDIT is not set -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_CPUSETS is not set -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_ANON_INODES=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_EVENTFD=y -CONFIG_SHMEM=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLAB=y -# CONFIG_SLUB is not set -# CONFIG_SLOB is not set -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_KMOD=y -CONFIG_STOP_MACHINE=y - -# -# Block layer -# -CONFIG_BLOCK=y -# CONFIG_LBD is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_DEFAULT_AS is not set -CONFIG_DEFAULT_DEADLINE=y -# CONFIG_DEFAULT_CFQ is not set -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="deadline" - -# -# Processor type and features -# -# CONFIG_TICK_ONESHOT is not set -# CONFIG_NO_HZ is not set -# CONFIG_HIGH_RES_TIMERS is not set -CONFIG_SMP=y -CONFIG_X86_PC=y -# CONFIG_X86_ELAN is not set -# CONFIG_X86_VOYAGER is not set -# CONFIG_X86_NUMAQ is not set -# CONFIG_X86_SUMMIT is not set -# CONFIG_X86_BIGSMP is not set -# CONFIG_X86_VISWS is not set -# CONFIG_X86_GENERICARCH is not set -# CONFIG_X86_ES7000 is not set -# CONFIG_PARAVIRT is not set -CONFIG_M386=y -# CONFIG_M486 is not set -# CONFIG_M586 is not set -# CONFIG_M586TSC is not set -# CONFIG_M586MMX is not set -# CONFIG_M686 is not set -# CONFIG_MPENTIUMII is not set -# CONFIG_MPENTIUMIII is not set -# CONFIG_MPENTIUMM is not set -# CONFIG_MCORE2 is not set -# CONFIG_MPENTIUM4 is not set -# CONFIG_MK6 is not set -# CONFIG_MK7 is not set -# CONFIG_MK8 is not set -# CONFIG_MCRUSOE is not set -# CONFIG_MEFFICEON is not set -# CONFIG_MWINCHIPC6 is not set -# CONFIG_MWINCHIP2 is not set -# CONFIG_MWINCHIP3D is not set -# CONFIG_MGEODEGX1 is not set -# CONFIG_MGEODE_LX is not set -# CONFIG_MCYRIXIII is not set -# CONFIG_MVIAC3_2 is not set -# CONFIG_MVIAC7 is not set -CONFIG_X86_GENERIC=y -CONFIG_X86_L1_CACHE_SHIFT=7 -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_X86_PPRO_FENCE=y -CONFIG_X86_F00F_BUG=y -CONFIG_X86_INTEL_USERCOPY=y -CONFIG_X86_MINIMUM_CPU_MODEL=0 -# CONFIG_HPET_TIMER is not set -CONFIG_NR_CPUS=8 -# CONFIG_SCHED_SMT is not set -CONFIG_SCHED_MC=y -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_VOLUNTARY is not set -# CONFIG_PREEMPT is not set -CONFIG_PREEMPT_BKL=y -CONFIG_X86_LOCAL_APIC=y -CONFIG_X86_IO_APIC=y -# CONFIG_X86_MCE is not set -CONFIG_VM86=y -# CONFIG_TOSHIBA is not set -# CONFIG_I8K is not set -# CONFIG_X86_REBOOTFIXUPS is not set -# CONFIG_MICROCODE is not set -# CONFIG_X86_MSR is not set -# CONFIG_X86_CPUID is not set - -# -# Firmware Drivers -# -# CONFIG_EDD is not set -# CONFIG_DELL_RBU is not set -# CONFIG_DCDBAS is not set -# CONFIG_NOHIGHMEM is not set -CONFIG_HIGHMEM4G=y -# CONFIG_HIGHMEM64G is not set -CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_HIGHMEM=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_POPULATES_NODE_MAP=y -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -CONFIG_SPARSEMEM_STATIC=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_NR_QUICK=1 -# CONFIG_HIGHPTE is not set -CONFIG_MATH_EMULATION=y -CONFIG_MTRR=y -CONFIG_IRQBALANCE=y -# CONFIG_SECCOMP is not set -# CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -CONFIG_HZ_300=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=300 -# CONFIG_KEXEC is not set -# CONFIG_CRASH_DUMP is not set -CONFIG_PHYSICAL_START=0x100000 -# CONFIG_RELOCATABLE is not set -CONFIG_PHYSICAL_ALIGN=0x100000 -# CONFIG_HOTPLUG_CPU is not set -CONFIG_COMPAT_VDSO=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y - -# -# Power management options (ACPI, APM) -# -# CONFIG_PM is not set - -# -# CPU Frequency scaling -# -# CONFIG_CPU_FREQ is not set - -# -# Bus options (PCI, PCMCIA, EISA, MCA, ISA) -# -CONFIG_PCI=y -# CONFIG_PCI_GOBIOS is not set -# CONFIG_PCI_GOMMCONFIG is not set -# CONFIG_PCI_GODIRECT is not set -CONFIG_PCI_GOANY=y -CONFIG_PCI_BIOS=y -CONFIG_PCI_DIRECT=y -# CONFIG_PCIEPORTBUS is not set -CONFIG_ARCH_SUPPORTS_MSI=y -# CONFIG_PCI_MSI is not set -CONFIG_HT_IRQ=y -CONFIG_ISA_DMA_API=y -CONFIG_ISA=y -# CONFIG_EISA is not set -# CONFIG_MCA is not set -# CONFIG_SCx200 is not set - -# -# PCCARD (PCMCIA/CardBus) support -# -CONFIG_PCCARD=m -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA=m -CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y -CONFIG_CARDBUS=y - -# -# PC-card bridges -# -CONFIG_YENTA=m -CONFIG_YENTA_O2=y -CONFIG_YENTA_RICOH=y -CONFIG_YENTA_TI=y -CONFIG_YENTA_ENE_TUNE=y -CONFIG_YENTA_TOSHIBA=y -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_I82365=m -# CONFIG_TCIC is not set -CONFIG_PCMCIA_PROBE=y -CONFIG_PCCARD_NONSTATIC=m -# CONFIG_HOTPLUG_PCI is not set - -# -# Executable file formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -CONFIG_NET_KEY=y -# CONFIG_NET_KEY_MIGRATE is not set -CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_ARPD is not set -CONFIG_SYN_COOKIES=y -CONFIG_INET_AH=y -CONFIG_INET_ESP=y -CONFIG_INET_IPCOMP=y -CONFIG_INET_XFRM_TUNNEL=y -CONFIG_INET_TUNNEL=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set -# CONFIG_IP_VS is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -CONFIG_NETFILTER_NETLINK_LOG=m -# CONFIG_NF_CONNTRACK_ENABLED is not set -# CONFIG_NF_CONNTRACK is not set -CONFIG_NETFILTER_XTABLES=y -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_MAC is not set -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set - -# -# IP: Netfilter Configuration -# -# CONFIG_IP_NF_QUEUE is not set -CONFIG_IP_NF_IPTABLES=y -# CONFIG_IP_NF_MATCH_IPRANGE is not set -# CONFIG_IP_NF_MATCH_TOS is not set -# CONFIG_IP_NF_MATCH_RECENT is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_TTL is not set -# CONFIG_IP_NF_MATCH_OWNER is not set -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_TARGET_REJECT=m -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set -# CONFIG_IP_DCCP is not set -# CONFIG_IP_SCTP is not set -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -# CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set - -# -# Wireless -# -# CONFIG_CFG80211 is not set -# CONFIG_WIRELESS_EXT is not set -# CONFIG_MAC80211 is not set -# CONFIG_IEEE80211 is not set -# CONFIG_RFKILL is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=m -# CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# -# CONFIG_CONNECTOR is not set -# CONFIG_MTD is not set - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# -CONFIG_PNP=y -# CONFIG_PNP_DEBUG is not set - -# -# Protocols -# -CONFIG_ISAPNP=y -# CONFIG_PNPBIOS is not set -# CONFIG_PNPACPI is not set - -# -# Block devices -# -CONFIG_BLK_DEV_FD=y -# CONFIG_BLK_DEV_XD is not set -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -# CONFIG_RD_BZIP2 is not set -CONFIG_RD_LZMA=y -CONFIG_RD_GZIP=y -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# Misc devices -# -# CONFIG_IBM_ASM is not set -# CONFIG_PHANTOM is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_TIFM_CORE is not set -CONFIG_IDE=y -CONFIG_BLK_DEV_IDE=y - -# -# Please see Documentation/ide.txt for help/info on IDE drives -# -# CONFIG_BLK_DEV_IDE_SATA is not set -# CONFIG_BLK_DEV_HD_IDE is not set -CONFIG_BLK_DEV_IDEDISK=y -CONFIG_IDEDISK_MULTI_MODE=y -# CONFIG_BLK_DEV_IDECS is not set -# CONFIG_BLK_DEV_DELKIN is not set -CONFIG_BLK_DEV_IDECD=y -# CONFIG_BLK_DEV_IDETAPE is not set -CONFIG_BLK_DEV_IDEFLOPPY=y -# CONFIG_BLK_DEV_IDESCSI is not set -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_PROC_FS=y - -# -# IDE chipset support/bugfixes -# -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_CMD640=y -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set -# CONFIG_BLK_DEV_IDEPNP is not set -CONFIG_BLK_DEV_IDEPCI=y -CONFIG_IDEPCI_SHARE_IRQ=y -CONFIG_IDEPCI_PCIBUS_ORDER=y -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=y -# CONFIG_BLK_DEV_OPTI621 is not set -CONFIG_BLK_DEV_RZ1000=y -CONFIG_BLK_DEV_IDEDMA_PCI=y -# CONFIG_BLK_DEV_IDEDMA_FORCED is not set -# CONFIG_IDEDMA_ONLYDISK is not set -CONFIG_BLK_DEV_AEC62XX=y -CONFIG_BLK_DEV_ALI15X3=y -# CONFIG_WDC_ALI15X3 is not set -CONFIG_BLK_DEV_AMD74XX=y -CONFIG_BLK_DEV_ATIIXP=y -CONFIG_BLK_DEV_CMD64X=y -CONFIG_BLK_DEV_TRIFLEX=y -CONFIG_BLK_DEV_CY82C693=y -# CONFIG_BLK_DEV_CS5520 is not set -CONFIG_BLK_DEV_CS5530=y -CONFIG_BLK_DEV_CS5535=y -# CONFIG_BLK_DEV_HPT34X is not set -# CONFIG_BLK_DEV_HPT366 is not set -CONFIG_BLK_DEV_JMICRON=y -# CONFIG_BLK_DEV_SC1200 is not set -CONFIG_BLK_DEV_PIIX=y -CONFIG_BLK_DEV_IT8213=y -CONFIG_BLK_DEV_IT821X=y -CONFIG_BLK_DEV_NS87415=y -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -CONFIG_BLK_DEV_PDC202XX_NEW=y -CONFIG_BLK_DEV_SVWKS=y -CONFIG_BLK_DEV_SIIMAGE=y -CONFIG_BLK_DEV_SIS5513=y -CONFIG_BLK_DEV_SLC90E66=y -CONFIG_BLK_DEV_TRM290=y -CONFIG_BLK_DEV_VIA82CXXX=y -# CONFIG_BLK_DEV_TC86C001 is not set -# CONFIG_IDE_ARM is not set -# CONFIG_IDE_CHIPSETS is not set -CONFIG_BLK_DEV_IDEDMA=y -# CONFIG_IDEDMA_IVB is not set -# CONFIG_BLK_DEV_HD is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -# CONFIG_SCSI_TGT is not set -# CONFIG_SCSI_NETLINK is not set -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set -CONFIG_SCSI_WAIT_SCAN=m - -# -# SCSI Transports -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set - -# -# SCSI low-level drivers -# -# CONFIG_ISCSI_TCP is not set -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_7000FASST is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AHA152X is not set -# CONFIG_SCSI_AHA1542 is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_AIC94XX is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_IN2000 is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_DTC3280 is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_GENERIC_NCR5380 is not set -# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_NCR53C406A is not set -# CONFIG_SCSI_STEX is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_PAS16 is not set -# CONFIG_SCSI_PSI240I is not set -# CONFIG_SCSI_QLOGIC_FAS is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -# CONFIG_SCSI_QLA_FC is not set -# CONFIG_SCSI_QLA_ISCSI is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_SEAGATE is not set -# CONFIG_SCSI_SYM53C416 is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_T128 is not set -# CONFIG_SCSI_U14_34F is not set -# CONFIG_SCSI_ULTRASTOR is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_SRP is not set - -# -# PCMCIA SCSI adapter support -# -# CONFIG_PCMCIA_AHA152X is not set -# CONFIG_PCMCIA_FDOMAIN is not set -# CONFIG_PCMCIA_NINJA_SCSI is not set -# CONFIG_PCMCIA_QLOGIC is not set -# CONFIG_PCMCIA_SYM53C500 is not set -CONFIG_ATA=y -# CONFIG_ATA_NONSTANDARD is not set -CONFIG_SATA_AHCI=y -# CONFIG_SATA_SVW is not set -CONFIG_ATA_PIIX=y -# CONFIG_SATA_MV is not set -CONFIG_SATA_NV=y -# CONFIG_PDC_ADMA is not set -# CONFIG_SATA_QSTOR is not set -# CONFIG_SATA_PROMISE is not set -# CONFIG_SATA_SX4 is not set -# CONFIG_SATA_SIL is not set -# CONFIG_SATA_SIL24 is not set -CONFIG_SATA_SIS=y -# CONFIG_SATA_ULI is not set -CONFIG_SATA_VIA=y -# CONFIG_SATA_VITESSE is not set -# CONFIG_SATA_INIC162X is not set -# CONFIG_PATA_ALI is not set -# CONFIG_PATA_AMD is not set -# CONFIG_PATA_ARTOP is not set -# CONFIG_PATA_ATIIXP is not set -# CONFIG_PATA_CMD640_PCI is not set -# CONFIG_PATA_CMD64X is not set -# CONFIG_PATA_CS5520 is not set -# CONFIG_PATA_CS5530 is not set -# CONFIG_PATA_CS5535 is not set -# CONFIG_PATA_CYPRESS is not set -# CONFIG_PATA_EFAR is not set -# CONFIG_ATA_GENERIC is not set -# CONFIG_PATA_HPT366 is not set -# CONFIG_PATA_HPT37X is not set -# CONFIG_PATA_HPT3X2N is not set -# CONFIG_PATA_HPT3X3 is not set -# CONFIG_PATA_ISAPNP is not set -# CONFIG_PATA_IT821X is not set -# CONFIG_PATA_IT8213 is not set -# CONFIG_PATA_JMICRON is not set -# CONFIG_PATA_LEGACY is not set -# CONFIG_PATA_TRIFLEX is not set -# CONFIG_PATA_MARVELL is not set -# CONFIG_PATA_MPIIX is not set -# CONFIG_PATA_OLDPIIX is not set -# CONFIG_PATA_NETCELL is not set -# CONFIG_PATA_NS87410 is not set -# CONFIG_PATA_OPTI is not set -# CONFIG_PATA_OPTIDMA is not set -# CONFIG_PATA_PCMCIA is not set -# CONFIG_PATA_PDC_OLD is not set -# CONFIG_PATA_QDI is not set -# CONFIG_PATA_RADISYS is not set -# CONFIG_PATA_RZ1000 is not set -# CONFIG_PATA_SC1200 is not set -# CONFIG_PATA_SERVERWORKS is not set -# CONFIG_PATA_PDC2027X is not set -# CONFIG_PATA_SIL680 is not set -CONFIG_PATA_SIS=y -# CONFIG_PATA_VIA is not set -# CONFIG_PATA_WINBOND is not set -# CONFIG_PATA_WINBOND_VLB is not set - -# -# Old CD-ROM drivers (not SCSI, not IDE) -# -# CONFIG_CD_NO_IDESCSI is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set -# CONFIG_FUSION_SPI is not set -# CONFIG_FUSION_FC is not set -# CONFIG_FUSION_SAS is not set - -# -# IEEE 1394 (FireWire) support -# -# CONFIG_FIREWIRE is not set -# CONFIG_IEEE1394 is not set - -# -# I2O device support -# -# CONFIG_I2O is not set -# CONFIG_MACINTOSH_DRIVERS is not set - -# -# Network device support -# -CONFIG_NETDEVICES=y -CONFIG_DUMMY=y -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set -# CONFIG_NET_SB1000 is not set -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -# CONFIG_ARCNET_1051 is not set -# CONFIG_ARCNET_RAW is not set -# CONFIG_ARCNET_CAP is not set -CONFIG_ARCNET_COM90xx=m -# CONFIG_ARCNET_COM90xxIO is not set -# CONFIG_ARCNET_RIM_I is not set -# CONFIG_ARCNET_COM20020 is not set -CONFIG_PHYLIB=m - -# -# MII PHY device drivers -# -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m -# CONFIG_VITESSE_PHY is not set -# CONFIG_SMSC_PHY is not set -CONFIG_BROADCOM_PHY=m -# CONFIG_FIXED_PHY is not set - -# -# Ethernet (10 or 100Mbit) -# -CONFIG_NET_ETHERNET=y -CONFIG_MII=y -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_CASSINI=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_EL1=m -CONFIG_EL2=m -CONFIG_ELPLUS=m -# CONFIG_EL16 is not set -CONFIG_EL3=m -CONFIG_3C515=m -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_LANCE=m -CONFIG_NET_VENDOR_SMC=y -CONFIG_WD80x3=m -CONFIG_ULTRA=m -CONFIG_SMC9194=m -CONFIG_NET_VENDOR_RACAL=y -CONFIG_NI52=m -CONFIG_NI65=m - -# -# Tulip family network device support -# -CONFIG_NET_TULIP=y -# CONFIG_DE2104X is not set -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_DE4X5=y -CONFIG_WINBOND_840=y -CONFIG_DM9102=y -CONFIG_ULI526X=m -CONFIG_PCMCIA_XIRCOM=y -# CONFIG_AT1700 is not set -CONFIG_DEPCA=m -CONFIG_HP100=m -CONFIG_NET_ISA=y -CONFIG_E2100=m -CONFIG_EWRK3=m -CONFIG_EEXPRESS=m -CONFIG_EEXPRESS_PRO=m -CONFIG_HPLAN_PLUS=m -CONFIG_HPLAN=m -CONFIG_LP486E=m -CONFIG_ETH16I=m -CONFIG_NE2000=m -# CONFIG_ZNET is not set -# CONFIG_SEEQ8005 is not set -CONFIG_NET_PCI=y -CONFIG_PCNET32=y -# CONFIG_PCNET32_NAPI is not set -CONFIG_AMD8111_ETH=m -# CONFIG_AMD8111E_NAPI is not set -CONFIG_ADAPTEC_STARFIRE=m -# CONFIG_ADAPTEC_STARFIRE_NAPI is not set -# CONFIG_AC3200 is not set -CONFIG_APRICOT=m -CONFIG_B44=y -CONFIG_FORCEDETH=y -# CONFIG_FORCEDETH_NAPI is not set -CONFIG_CS89x0=m -CONFIG_DGRS=y -CONFIG_EEPRO100=y -CONFIG_E100=y -CONFIG_FEALNX=m -CONFIG_NATSEMI=y -CONFIG_NE2K_PCI=y -# CONFIG_8139CP is not set -CONFIG_8139TOO=y -# CONFIG_8139TOO_PIO is not set -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=y -CONFIG_EPIC100=y -CONFIG_SUNDANCE=y -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_TLAN=y -CONFIG_VIA_RHINE=y -CONFIG_VIA_RHINE_MMIO=y -# CONFIG_VIA_RHINE_NAPI is not set -# CONFIG_SC92031 is not set -CONFIG_NETDEV_1000=y -# CONFIG_ACENIC is not set -CONFIG_DL2K=m -CONFIG_E1000=m -# CONFIG_E1000_NAPI is not set -# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set -# CONFIG_NS83820 is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -CONFIG_R8169=y -# CONFIG_R8169_NAPI is not set -CONFIG_SIS190=m -# CONFIG_SKGE is not set -# CONFIG_SKY2 is not set -# CONFIG_SK98LIN is not set -CONFIG_VIA_VELOCITY=m -CONFIG_TIGON3=m -CONFIG_BNX2=m -# CONFIG_QLA3XXX is not set -# CONFIG_ATL1 is not set -# CONFIG_NETDEV_10000 is not set -# CONFIG_TR is not set - -# -# Wireless LAN -# -# CONFIG_WLAN_PRE80211 is not set -# CONFIG_WLAN_80211 is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_RTL8150 is not set -# CONFIG_USB_USBNET_MII is not set -# CONFIG_USB_USBNET is not set -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m -# CONFIG_WAN is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -# CONFIG_PPP_FILTER is not set -CONFIG_PPP_ASYNC=y -# CONFIG_PPP_SYNC_TTY is not set -# CONFIG_PPP_DEFLATE is not set -# CONFIG_PPP_BSDCOMP is not set -# CONFIG_PPP_MPPE is not set -CONFIG_PPPOE=y -# CONFIG_SLIP is not set -CONFIG_SLHC=y -# CONFIG_NET_FC is not set -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Telephony Support -# -# CONFIG_PHONE is not set - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -CONFIG_INPUT_MOUSEDEV_PSAUX=y -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_PS2_ALPS=y -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_LIFEBOOK=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_SERIAL=y -# CONFIG_MOUSE_APPLETOUCH is not set -CONFIG_MOUSE_INPORT=m -# CONFIG_MOUSE_ATIXL is not set -CONFIG_MOUSE_LOGIBM=m -CONFIG_MOUSE_PC110PAD=m -# CONFIG_MOUSE_VSXXXAA is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -CONFIG_INPUT_MISC=y -CONFIG_INPUT_PCSPKR=y -# CONFIG_INPUT_WISTRON_BTNS is not set -# CONFIG_INPUT_ATI_REMOTE is not set -# CONFIG_INPUT_ATI_REMOTE2 is not set -# CONFIG_INPUT_KEYSPAN_REMOTE is not set -# CONFIG_INPUT_POWERMATE is not set -# CONFIG_INPUT_YEALINK is not set -# CONFIG_INPUT_UINPUT is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_CT82C710 is not set -CONFIG_SERIO_PCIPS2=y -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=y -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_CONSOLE is not set -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_PNP=y -# CONFIG_SERIAL_8250_CS is not set -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -# CONFIG_SERIAL_8250_EXTENDED is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_CORE=y -# CONFIG_SERIAL_JSM is not set -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set -# CONFIG_WATCHDOG is not set -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_INTEL=y -CONFIG_HW_RANDOM_AMD=y -CONFIG_HW_RANDOM_GEODE=y -CONFIG_HW_RANDOM_VIA=y -CONFIG_NVRAM=y -CONFIG_RTC=m -CONFIG_GEN_RTC=m -# CONFIG_GEN_RTC_X is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set -# CONFIG_SONYPI is not set -# CONFIG_AGP is not set -# CONFIG_DRM is not set - -# -# PCMCIA character devices -# -# CONFIG_SYNCLINK_CS is not set -# CONFIG_CARDMAN_4000 is not set -# CONFIG_CARDMAN_4040 is not set -# CONFIG_MWAVE is not set -# CONFIG_PC8736x_GPIO is not set -# CONFIG_NSC_GPIO is not set -# CONFIG_CS5535_GPIO is not set -# CONFIG_RAW_DRIVER is not set -# CONFIG_HANGCHECK_TIMER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set -# CONFIG_TELCLOCK is not set -CONFIG_DEVPORT=y -# CONFIG_I2C is not set - -# -# SPI support -# -# CONFIG_SPI is not set -# CONFIG_SPI_MASTER is not set - -# -# Dallas's 1-wire bus -# -# CONFIG_W1 is not set -# CONFIG_HWMON is not set - -# -# Multifunction device drivers -# -# CONFIG_MFD_SM501 is not set - -# -# Multimedia devices -# -# CONFIG_VIDEO_DEV is not set -# CONFIG_DVB_CORE is not set -CONFIG_DAB=y -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set - -# -# Display device support -# -# CONFIG_DISPLAY_SUPPORT is not set -# CONFIG_VGASTATE is not set -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FB_DDC is not set -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y -# CONFIG_FB_SYS_FILLRECT is not set -# CONFIG_FB_SYS_COPYAREA is not set -# CONFIG_FB_SYS_IMAGEBLIT is not set -# CONFIG_FB_SYS_FOPS is not set -CONFIG_FB_DEFERRED_IO=y -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_CYBER2000 is not set -# CONFIG_FB_ARC is not set -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_VGA16 is not set -CONFIG_FB_VESA=y -# CONFIG_FB_HECUBA is not set -# CONFIG_FB_HGA is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_NVIDIA is not set -# CONFIG_FB_RIVA is not set -# CONFIG_FB_I810 is not set -# CONFIG_FB_LE80578 is not set -# CONFIG_FB_INTEL is not set -# CONFIG_FB_MATROX is not set -# CONFIG_FB_RADEON is not set -# CONFIG_FB_ATY128 is not set -# CONFIG_FB_ATY is not set -# CONFIG_FB_S3 is not set -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SIS is not set -# CONFIG_FB_NEOMAGIC is not set -# CONFIG_FB_KYRO is not set -# CONFIG_FB_3DFX is not set -# CONFIG_FB_VOODOO1 is not set -# CONFIG_FB_VT8623 is not set -# CONFIG_FB_CYBLA is not set -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_ARK is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_GEODE is not set -# CONFIG_FB_VIRTUAL is not set - -# -# Console display driver support -# -CONFIG_VGA_CONSOLE=y -# CONFIG_VGACON_SOFT_SCROLLBACK is not set -CONFIG_VIDEO_SELECT=y -# CONFIG_MDA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y -CONFIG_LOGO=y -CONFIG_LOGO_LINUX_MONO=y -CONFIG_LOGO_LINUX_VGA16=y -CONFIG_LOGO_LINUX_CLUT224=y - -# -# Sound -# -CONFIG_SOUND=m - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m -CONFIG_SND_HWDEP=m -CONFIG_SND_RAWMIDI=m -CONFIG_SND_SEQUENCER=m -# CONFIG_SND_SEQ_DUMMY is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -CONFIG_SND_MPU401_UART=m -CONFIG_SND_OPL3_LIB=m -CONFIG_SND_OPL4_LIB=m -CONFIG_SND_VX_LIB=m -CONFIG_SND_AC97_CODEC=m -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_VIRMIDI is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ISA devices -# -CONFIG_SND_AD1848_LIB=m -CONFIG_SND_CS4231_LIB=m -CONFIG_SND_ADLIB=m -CONFIG_SND_AD1816A=m -CONFIG_SND_AD1848=m -CONFIG_SND_ALS100=m -CONFIG_SND_AZT2320=m -CONFIG_SND_CMI8330=m -CONFIG_SND_CS4231=m -CONFIG_SND_CS4232=m -CONFIG_SND_CS4236=m -CONFIG_SND_DT019X=m -CONFIG_SND_ES968=m -CONFIG_SND_ES1688=m -CONFIG_SND_ES18XX=m -CONFIG_SND_GUS_SYNTH=m -CONFIG_SND_GUSCLASSIC=m -CONFIG_SND_GUSEXTREME=m -CONFIG_SND_GUSMAX=m -CONFIG_SND_INTERWAVE=m -CONFIG_SND_INTERWAVE_STB=m -CONFIG_SND_OPL3SA2=m -CONFIG_SND_OPTI92X_AD1848=m -CONFIG_SND_OPTI92X_CS4231=m -CONFIG_SND_OPTI93X=m -CONFIG_SND_MIRO=m -CONFIG_SND_SB8=m -CONFIG_SND_SB16=m -CONFIG_SND_SBAWE=m -# CONFIG_SND_SB16_CSP is not set -CONFIG_SND_SGALAXY=m -CONFIG_SND_SSCAPE=m -CONFIG_SND_WAVEFRONT=m -CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y - -# -# PCI devices -# -CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_CS5535AUDIO=m -CONFIG_SND_DARLA20=m -CONFIG_SND_GINA20=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_DARLA24=m -CONFIG_SND_GINA24=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_MONA=m -CONFIG_SND_MIA=m -CONFIG_SND_ECHO3G=m -CONFIG_SND_INDIGO=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -# CONFIG_SND_FM801_TEA575X_BOOL is not set -CONFIG_SND_HDA_INTEL=m -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL=y -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL=y -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m -CONFIG_SND_YMFPCI_FIRMWARE_IN_KERNEL=y -# CONFIG_SND_AC97_POWER_SAVE is not set - -# -# USB devices -# -# CONFIG_SND_USB_AUDIO is not set -# CONFIG_SND_USB_USX2Y is not set -# CONFIG_SND_USB_CAIAQ is not set - -# -# PCMCIA devices -# -# CONFIG_SND_VXPOCKET is not set -# CONFIG_SND_PDAUDIOCF is not set - -# -# System on Chip audio support -# -# CONFIG_SND_SOC is not set - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set -CONFIG_AC97_BUS=m - -# -# HID Devices -# -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set - -# -# USB Input Devices -# -CONFIG_USB_HID=y -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -CONFIG_USB_HIDDEV=y - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB_ARCH_HAS_EHCI=y -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DEVICE_CLASS=y -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_SPLIT_ISO is not set -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -# CONFIG_USB_EHCI_TT_NEWSCHED is not set -# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set -# CONFIG_USB_ISP116X_HCD is not set -CONFIG_USB_OHCI_HCD=m -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_UHCI_HCD=y -# CONFIG_USB_SL811_HCD is not set - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_LIBUSUAL is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -# CONFIG_USB_SERIAL is not set - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_ADUTUX is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGET is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set -# CONFIG_USB_TEST is not set - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -# CONFIG_USB_GADGET is not set -# CONFIG_MMC is not set - -# -# LED devices -# -# CONFIG_NEW_LEDS is not set - -# -# LED drivers -# - -# -# LED Triggers -# - -# -# InfiniBand support -# -# CONFIG_INFINIBAND is not set - -# -# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) -# -# CONFIG_EDAC is not set - -# -# Real Time Clock -# -# CONFIG_RTC_CLASS is not set - -# -# DMA Engine support -# -CONFIG_DMA_ENGINE=y - -# -# DMA Clients -# -CONFIG_NET_DMA=y - -# -# DMA Devices -# -CONFIG_INTEL_IOATDMA=y - -# -# Virtualization -# -# CONFIG_KVM is not set - -# -# File systems -# -CONFIG_EXT2_FS=y -# CONFIG_EXT2_FS_XATTR is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -# CONFIG_EXT3_FS_XATTR is not set -# CONFIG_EXT4DEV_FS is not set -CONFIG_JBD=y -# CONFIG_JBD_DEBUG is not set -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -CONFIG_FUSE_FS=y - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -# CONFIG_ZISOFS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_KCORE=y -CONFIG_PROC_SYSCTL=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_HUGETLBFS is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -CONFIG_CRAMFS=y -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_DIRECTIO is not set -# CONFIG_NFSD is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -# CONFIG_SUNRPC_BIND34 is not set -# CONFIG_RPCSEC_GSS_KRB5 is not set -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -# CONFIG_CIFS is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_KARMA_PARTITION is not set -# CONFIG_EFI_PARTITION is not set -# CONFIG_SYSV68_PARTITION is not set - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_CODEPAGE_852=y -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -CONFIG_NLS_CODEPAGE_863=y -# CONFIG_NLS_CODEPAGE_864 is not set -CONFIG_NLS_CODEPAGE_865=y -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_2=y -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=m - -# -# Distributed Lock Manager -# -# CONFIG_DLM is not set - -# -# Instrumentation Support -# -# CONFIG_PROFILING is not set -# CONFIG_KPROBES is not set - -# -# Kernel hacking -# -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -# CONFIG_PRINTK_TIME is not set -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_MAGIC_SYSRQ is not set -CONFIG_UNUSED_SYMBOLS=y -# CONFIG_DEBUG_FS is not set -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_KERNEL is not set -CONFIG_DEBUG_BUGVERBOSE=y -CONFIG_EARLY_PRINTK=y -CONFIG_X86_FIND_SMP_CONFIG=y -CONFIG_X86_MPPARSE=y -CONFIG_DOUBLEFAULT=y - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY is not set - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_GF128MUL is not set -# CONFIG_CRYPTO_ECB is not set -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_CRYPTD is not set -CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_TWOFISH_586 is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_AES_586 is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_ARC4 is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_DEFLATE=y -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_TEST is not set - -# -# Hardware crypto devices -# -# CONFIG_CRYPTO_DEV_PADLOCK is not set -# CONFIG_CRYPTO_DEV_GEODE is not set - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -# CONFIG_CRC_ITU_T is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_DMA=y -CONFIG_GENERIC_HARDIRQS=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_PENDING_IRQ=y -CONFIG_X86_SMP=y -CONFIG_X86_HT=y -CONFIG_X86_BIOS_REBOOT=y -CONFIG_X86_TRAMPOLINE=y -CONFIG_KTIME_SCALAR=y diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-2.6.24.2-slitaz.config --- a/linux/stuff/linux-2.6.24.2-slitaz.config Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1774 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.24.2 -# Thu Feb 14 15:28:29 2008 -# -# CONFIG_64BIT is not set -CONFIG_X86_32=y -# CONFIG_X86_64 is not set -CONFIG_X86=y -CONFIG_GENERIC_TIME=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_CLOCKSOURCE_WATCHDOG=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_SEMAPHORE_SLEEPERS=y -CONFIG_MMU=y -CONFIG_ZONE_DMA=y -CONFIG_QUICKLIST=y -CONFIG_GENERIC_ISA_DMA=y -CONFIG_GENERIC_IOMAP=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_ARCH_MAY_HAVE_PC_FDC=y -CONFIG_DMI=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_CALIBRATE_DELAY=y -# CONFIG_GENERIC_TIME_VSYSCALL is not set -CONFIG_ARCH_SUPPORTS_OPROFILE=y -# CONFIG_ZONE_DMA32 is not set -CONFIG_ARCH_POPULATES_NODE_MAP=y -# CONFIG_AUDIT_ARCH is not set -CONFIG_GENERIC_HARDIRQS=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_PENDING_IRQ=y -CONFIG_X86_SMP=y -CONFIG_X86_HT=y -CONFIG_X86_BIOS_REBOOT=y -CONFIG_X86_TRAMPOLINE=y -CONFIG_KTIME_SCALAR=y -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# General setup -# -CONFIG_EXPERIMENTAL=y -CONFIG_LOCK_KERNEL=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_LOCALVERSION="-slitaz" -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_KERNEL_GZIP is not set -# CONFIG_KERNEL_BZIP2 is not set -CONFIG_KERNEL_LZMA=y -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_POSIX_MQUEUE=y -CONFIG_BSD_PROCESS_ACCT=y -# CONFIG_BSD_PROCESS_ACCT_V3 is not set -# CONFIG_TASKSTATS is not set -# CONFIG_USER_NS is not set -# CONFIG_PID_NS is not set -# CONFIG_AUDIT is not set -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_CGROUPS is not set -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_FAIR_USER_SCHED=y -# CONFIG_FAIR_CGROUP_SCHED is not set -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_ANON_INODES=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_EVENTFD=y -CONFIG_SHMEM=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLAB=y -# CONFIG_SLUB is not set -# CONFIG_SLOB is not set -CONFIG_SLABINFO=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_KMOD=y -CONFIG_STOP_MACHINE=y -CONFIG_BLOCK=y -# CONFIG_LBD is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set -# CONFIG_BLK_DEV_BSG is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_DEFAULT_AS is not set -CONFIG_DEFAULT_DEADLINE=y -# CONFIG_DEFAULT_CFQ is not set -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="deadline" - -# -# Processor type and features -# -# CONFIG_TICK_ONESHOT is not set -# CONFIG_NO_HZ is not set -# CONFIG_HIGH_RES_TIMERS is not set -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_SMP=y -CONFIG_X86_PC=y -# CONFIG_X86_ELAN is not set -# CONFIG_X86_VOYAGER is not set -# CONFIG_X86_NUMAQ is not set -# CONFIG_X86_SUMMIT is not set -# CONFIG_X86_BIGSMP is not set -# CONFIG_X86_VISWS is not set -# CONFIG_X86_GENERICARCH is not set -# CONFIG_X86_ES7000 is not set -# CONFIG_X86_VSMP is not set -CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y -# CONFIG_PARAVIRT_GUEST is not set -CONFIG_M386=y -# CONFIG_M486 is not set -# CONFIG_M586 is not set -# CONFIG_M586TSC is not set -# CONFIG_M586MMX is not set -# CONFIG_M686 is not set -# CONFIG_MPENTIUMII is not set -# CONFIG_MPENTIUMIII is not set -# CONFIG_MPENTIUMM is not set -# CONFIG_MPENTIUM4 is not set -# CONFIG_MK6 is not set -# CONFIG_MK7 is not set -# CONFIG_MK8 is not set -# CONFIG_MCRUSOE is not set -# CONFIG_MEFFICEON is not set -# CONFIG_MWINCHIPC6 is not set -# CONFIG_MWINCHIP2 is not set -# CONFIG_MWINCHIP3D is not set -# CONFIG_MGEODEGX1 is not set -# CONFIG_MGEODE_LX is not set -# CONFIG_MCYRIXIII is not set -# CONFIG_MVIAC3_2 is not set -# CONFIG_MVIAC7 is not set -# CONFIG_MPSC is not set -# CONFIG_MCORE2 is not set -# CONFIG_GENERIC_CPU is not set -CONFIG_X86_GENERIC=y -# CONFIG_X86_CMPXCHG is not set -CONFIG_X86_L1_CACHE_SHIFT=7 -CONFIG_X86_PPRO_FENCE=y -CONFIG_X86_F00F_BUG=y -CONFIG_X86_INTEL_USERCOPY=y -CONFIG_X86_MINIMUM_CPU_FAMILY=3 -# CONFIG_HPET_TIMER is not set -CONFIG_NR_CPUS=8 -# CONFIG_SCHED_SMT is not set -CONFIG_SCHED_MC=y -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_VOLUNTARY is not set -# CONFIG_PREEMPT is not set -CONFIG_PREEMPT_BKL=y -CONFIG_X86_LOCAL_APIC=y -CONFIG_X86_IO_APIC=y -# CONFIG_X86_MCE is not set -CONFIG_VM86=y -# CONFIG_TOSHIBA is not set -# CONFIG_I8K is not set -# CONFIG_X86_REBOOTFIXUPS is not set -# CONFIG_MICROCODE is not set -# CONFIG_X86_MSR is not set -# CONFIG_X86_CPUID is not set -# CONFIG_NOHIGHMEM is not set -CONFIG_HIGHMEM4G=y -# CONFIG_HIGHMEM64G is not set -CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_HIGHMEM=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -CONFIG_SPARSEMEM_STATIC=y -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y -CONFIG_NR_QUICK=1 -CONFIG_VIRT_TO_BUS=y -# CONFIG_HIGHPTE is not set -CONFIG_MATH_EMULATION=y -CONFIG_MTRR=y -CONFIG_IRQBALANCE=y -# CONFIG_SECCOMP is not set -# CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -CONFIG_HZ_300=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=300 -# CONFIG_KEXEC is not set -# CONFIG_CRASH_DUMP is not set -CONFIG_PHYSICAL_START=0x100000 -# CONFIG_RELOCATABLE is not set -CONFIG_PHYSICAL_ALIGN=0x100000 -# CONFIG_HOTPLUG_CPU is not set -CONFIG_COMPAT_VDSO=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y - -# -# Power management options -# -# CONFIG_PM is not set -CONFIG_SUSPEND_SMP_POSSIBLE=y -CONFIG_HIBERNATION_SMP_POSSIBLE=y - -# -# CPU Frequency scaling -# -# CONFIG_CPU_FREQ is not set -# CONFIG_CPU_IDLE is not set - -# -# Bus options (PCI etc.) -# -CONFIG_PCI=y -# CONFIG_PCI_GOBIOS is not set -# CONFIG_PCI_GOMMCONFIG is not set -# CONFIG_PCI_GODIRECT is not set -CONFIG_PCI_GOANY=y -CONFIG_PCI_BIOS=y -CONFIG_PCI_DIRECT=y -CONFIG_PCI_DOMAINS=y -# CONFIG_PCIEPORTBUS is not set -CONFIG_ARCH_SUPPORTS_MSI=y -# CONFIG_PCI_MSI is not set -CONFIG_PCI_LEGACY=y -CONFIG_HT_IRQ=y -CONFIG_ISA_DMA_API=y -CONFIG_ISA=y -# CONFIG_EISA is not set -# CONFIG_MCA is not set -# CONFIG_SCx200 is not set -CONFIG_PCCARD=m -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA=m -CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y -CONFIG_CARDBUS=y - -# -# PC-card bridges -# -CONFIG_YENTA=m -CONFIG_YENTA_O2=y -CONFIG_YENTA_RICOH=y -CONFIG_YENTA_TI=y -CONFIG_YENTA_ENE_TUNE=y -CONFIG_YENTA_TOSHIBA=y -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_I82365=m -# CONFIG_TCIC is not set -CONFIG_PCMCIA_PROBE=y -CONFIG_PCCARD_NONSTATIC=m -# CONFIG_HOTPLUG_PCI is not set - -# -# Executable file formats / Emulations -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -CONFIG_NET_KEY=y -# CONFIG_NET_KEY_MIGRATE is not set -CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_ARPD is not set -CONFIG_SYN_COOKIES=y -CONFIG_INET_AH=y -CONFIG_INET_ESP=y -CONFIG_INET_IPCOMP=y -CONFIG_INET_XFRM_TUNNEL=y -CONFIG_INET_TUNNEL=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set -# CONFIG_IP_VS is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -CONFIG_NETFILTER_NETLINK_LOG=m -# CONFIG_NF_CONNTRACK_ENABLED is not set -# CONFIG_NF_CONNTRACK is not set -CONFIG_NETFILTER_XTABLES=y -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_MAC is not set -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_TIME is not set -# CONFIG_NETFILTER_XT_MATCH_U32 is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set - -# -# IP: Netfilter Configuration -# -# CONFIG_IP_NF_QUEUE is not set -CONFIG_IP_NF_IPTABLES=y -# CONFIG_IP_NF_MATCH_IPRANGE is not set -# CONFIG_IP_NF_MATCH_TOS is not set -# CONFIG_IP_NF_MATCH_RECENT is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_TTL is not set -# CONFIG_IP_NF_MATCH_OWNER is not set -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_TARGET_REJECT=m -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set -# CONFIG_IP_DCCP is not set -# CONFIG_IP_SCTP is not set -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set -# CONFIG_NET_SCHED is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -# CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set - -# -# Wireless -# -# CONFIG_CFG80211 is not set -# CONFIG_WIRELESS_EXT is not set -# CONFIG_MAC80211 is not set -# CONFIG_IEEE80211 is not set -# CONFIG_RFKILL is not set -# CONFIG_NET_9P is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=m -# CONFIG_SYS_HYPERVISOR is not set -# CONFIG_CONNECTOR is not set -# CONFIG_MTD is not set -# CONFIG_PARPORT is not set -CONFIG_PNP=y -# CONFIG_PNP_DEBUG is not set - -# -# Protocols -# -CONFIG_ISAPNP=y -# CONFIG_PNPBIOS is not set -# CONFIG_PNPACPI is not set -CONFIG_BLK_DEV=y -CONFIG_BLK_DEV_FD=y -# CONFIG_BLK_DEV_XD is not set -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -# CONFIG_RD_BZIP2 is not set -CONFIG_RD_LZMA=y -CONFIG_RD_GZIP=y -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set -CONFIG_MISC_DEVICES=y -# CONFIG_IBM_ASM is not set -# CONFIG_PHANTOM is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_TIFM_CORE is not set -CONFIG_IDE=y -CONFIG_BLK_DEV_IDE=y - -# -# Please see Documentation/ide.txt for help/info on IDE drives -# -# CONFIG_BLK_DEV_IDE_SATA is not set -# CONFIG_BLK_DEV_HD_IDE is not set -CONFIG_BLK_DEV_IDEDISK=y -CONFIG_IDEDISK_MULTI_MODE=y -# CONFIG_BLK_DEV_IDECS is not set -# CONFIG_BLK_DEV_DELKIN is not set -CONFIG_BLK_DEV_IDECD=y -# CONFIG_BLK_DEV_IDETAPE is not set -CONFIG_BLK_DEV_IDEFLOPPY=y -# CONFIG_BLK_DEV_IDESCSI is not set -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_PROC_FS=y - -# -# IDE chipset support/bugfixes -# -CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_PLATFORM is not set -CONFIG_BLK_DEV_CMD640=y -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set -# CONFIG_BLK_DEV_IDEPNP is not set - -# -# PCI IDE chipsets support -# -CONFIG_BLK_DEV_IDEPCI=y -CONFIG_IDEPCI_SHARE_IRQ=y -CONFIG_IDEPCI_PCIBUS_ORDER=y -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=y -# CONFIG_BLK_DEV_OPTI621 is not set -CONFIG_BLK_DEV_RZ1000=y -CONFIG_BLK_DEV_IDEDMA_PCI=y -CONFIG_BLK_DEV_AEC62XX=y -CONFIG_BLK_DEV_ALI15X3=y -# CONFIG_WDC_ALI15X3 is not set -CONFIG_BLK_DEV_AMD74XX=y -CONFIG_BLK_DEV_ATIIXP=y -CONFIG_BLK_DEV_CMD64X=y -CONFIG_BLK_DEV_TRIFLEX=y -CONFIG_BLK_DEV_CY82C693=y -# CONFIG_BLK_DEV_CS5520 is not set -CONFIG_BLK_DEV_CS5530=y -CONFIG_BLK_DEV_CS5535=y -# CONFIG_BLK_DEV_HPT34X is not set -# CONFIG_BLK_DEV_HPT366 is not set -CONFIG_BLK_DEV_JMICRON=y -# CONFIG_BLK_DEV_SC1200 is not set -CONFIG_BLK_DEV_PIIX=y -CONFIG_BLK_DEV_IT8213=y -CONFIG_BLK_DEV_IT821X=y -CONFIG_BLK_DEV_NS87415=y -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -CONFIG_BLK_DEV_PDC202XX_NEW=y -CONFIG_BLK_DEV_SVWKS=y -CONFIG_BLK_DEV_SIIMAGE=y -CONFIG_BLK_DEV_SIS5513=y -CONFIG_BLK_DEV_SLC90E66=y -CONFIG_BLK_DEV_TRM290=y -CONFIG_BLK_DEV_VIA82CXXX=y -# CONFIG_BLK_DEV_TC86C001 is not set -# CONFIG_IDE_ARM is not set - -# -# Other IDE chipsets support -# - -# -# Note: most of these also require special kernel boot parameters -# -# CONFIG_BLK_DEV_4DRIVES is not set -# CONFIG_BLK_DEV_ALI14XX is not set -# CONFIG_BLK_DEV_DTC2278 is not set -# CONFIG_BLK_DEV_HT6560B is not set -# CONFIG_BLK_DEV_QD65XX is not set -# CONFIG_BLK_DEV_UMC8672 is not set -CONFIG_BLK_DEV_IDEDMA=y -CONFIG_IDE_ARCH_OBSOLETE_INIT=y -# CONFIG_BLK_DEV_HD is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -# CONFIG_SCSI_TGT is not set -# CONFIG_SCSI_NETLINK is not set -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set -CONFIG_SCSI_WAIT_SCAN=m - -# -# SCSI Transports -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -# CONFIG_SCSI_SRP_ATTRS is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_ISCSI_TCP is not set -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_7000FASST is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AHA152X is not set -# CONFIG_SCSI_AHA1542 is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_AIC94XX is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_IN2000 is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_DTC3280 is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_GENERIC_NCR5380 is not set -# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_NCR53C406A is not set -# CONFIG_SCSI_STEX is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_PAS16 is not set -# CONFIG_SCSI_PSI240I is not set -# CONFIG_SCSI_QLOGIC_FAS is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -# CONFIG_SCSI_QLA_FC is not set -# CONFIG_SCSI_QLA_ISCSI is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_SEAGATE is not set -# CONFIG_SCSI_SYM53C416 is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_T128 is not set -# CONFIG_SCSI_U14_34F is not set -# CONFIG_SCSI_ULTRASTOR is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_SRP is not set -# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set -CONFIG_ATA=y -# CONFIG_ATA_NONSTANDARD is not set -CONFIG_SATA_AHCI=y -# CONFIG_SATA_SVW is not set -CONFIG_ATA_PIIX=y -# CONFIG_SATA_MV is not set -CONFIG_SATA_NV=y -# CONFIG_PDC_ADMA is not set -# CONFIG_SATA_QSTOR is not set -# CONFIG_SATA_PROMISE is not set -# CONFIG_SATA_SX4 is not set -# CONFIG_SATA_SIL is not set -# CONFIG_SATA_SIL24 is not set -CONFIG_SATA_SIS=y -# CONFIG_SATA_ULI is not set -CONFIG_SATA_VIA=y -# CONFIG_SATA_VITESSE is not set -# CONFIG_SATA_INIC162X is not set -# CONFIG_PATA_ALI is not set -# CONFIG_PATA_AMD is not set -# CONFIG_PATA_ARTOP is not set -# CONFIG_PATA_ATIIXP is not set -# CONFIG_PATA_CMD640_PCI is not set -# CONFIG_PATA_CMD64X is not set -# CONFIG_PATA_CS5520 is not set -# CONFIG_PATA_CS5530 is not set -# CONFIG_PATA_CS5535 is not set -# CONFIG_PATA_CS5536 is not set -# CONFIG_PATA_CYPRESS is not set -# CONFIG_PATA_EFAR is not set -# CONFIG_ATA_GENERIC is not set -# CONFIG_PATA_HPT366 is not set -# CONFIG_PATA_HPT37X is not set -# CONFIG_PATA_HPT3X2N is not set -# CONFIG_PATA_HPT3X3 is not set -# CONFIG_PATA_ISAPNP is not set -# CONFIG_PATA_IT821X is not set -# CONFIG_PATA_IT8213 is not set -# CONFIG_PATA_JMICRON is not set -# CONFIG_PATA_LEGACY is not set -# CONFIG_PATA_TRIFLEX is not set -# CONFIG_PATA_MARVELL is not set -# CONFIG_PATA_MPIIX is not set -# CONFIG_PATA_OLDPIIX is not set -# CONFIG_PATA_NETCELL is not set -# CONFIG_PATA_NS87410 is not set -# CONFIG_PATA_NS87415 is not set -# CONFIG_PATA_OPTI is not set -# CONFIG_PATA_OPTIDMA is not set -# CONFIG_PATA_PCMCIA is not set -# CONFIG_PATA_PDC_OLD is not set -# CONFIG_PATA_QDI is not set -# CONFIG_PATA_RADISYS is not set -# CONFIG_PATA_RZ1000 is not set -# CONFIG_PATA_SC1200 is not set -# CONFIG_PATA_SERVERWORKS is not set -# CONFIG_PATA_PDC2027X is not set -# CONFIG_PATA_SIL680 is not set -CONFIG_PATA_SIS=y -# CONFIG_PATA_VIA is not set -# CONFIG_PATA_WINBOND is not set -# CONFIG_PATA_WINBOND_VLB is not set -# CONFIG_MD is not set -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# -# CONFIG_FIREWIRE is not set -# CONFIG_IEEE1394 is not set -# CONFIG_I2O is not set -# CONFIG_MACINTOSH_DRIVERS is not set -CONFIG_NETDEVICES=y -# CONFIG_NETDEVICES_MULTIQUEUE is not set -CONFIG_DUMMY=y -# CONFIG_BONDING is not set -# CONFIG_MACVLAN is not set -# CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set -# CONFIG_VETH is not set -# CONFIG_NET_SB1000 is not set -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -# CONFIG_ARCNET_1051 is not set -# CONFIG_ARCNET_RAW is not set -# CONFIG_ARCNET_CAP is not set -CONFIG_ARCNET_COM90xx=m -# CONFIG_ARCNET_COM90xxIO is not set -# CONFIG_ARCNET_RIM_I is not set -# CONFIG_ARCNET_COM20020 is not set -CONFIG_PHYLIB=m - -# -# MII PHY device drivers -# -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m -# CONFIG_VITESSE_PHY is not set -# CONFIG_SMSC_PHY is not set -CONFIG_BROADCOM_PHY=m -# CONFIG_ICPLUS_PHY is not set -# CONFIG_FIXED_PHY is not set -# CONFIG_MDIO_BITBANG is not set -CONFIG_NET_ETHERNET=y -CONFIG_MII=y -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_CASSINI=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_EL1=m -CONFIG_EL2=m -CONFIG_ELPLUS=m -# CONFIG_EL16 is not set -CONFIG_EL3=m -CONFIG_3C515=m -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_LANCE=m -CONFIG_NET_VENDOR_SMC=y -CONFIG_WD80x3=m -CONFIG_ULTRA=m -CONFIG_SMC9194=m -CONFIG_NET_VENDOR_RACAL=y -CONFIG_NI52=m -CONFIG_NI65=m -CONFIG_NET_TULIP=y -# CONFIG_DE2104X is not set -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_DE4X5=y -CONFIG_WINBOND_840=y -CONFIG_DM9102=y -CONFIG_ULI526X=m -CONFIG_PCMCIA_XIRCOM=y -# CONFIG_AT1700 is not set -CONFIG_DEPCA=m -CONFIG_HP100=m -CONFIG_NET_ISA=y -CONFIG_E2100=m -CONFIG_EWRK3=m -CONFIG_EEXPRESS=m -CONFIG_EEXPRESS_PRO=m -CONFIG_HPLAN_PLUS=m -CONFIG_HPLAN=m -CONFIG_LP486E=m -CONFIG_ETH16I=m -CONFIG_NE2000=m -# CONFIG_ZNET is not set -# CONFIG_SEEQ8005 is not set -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -CONFIG_NET_PCI=y -CONFIG_PCNET32=y -# CONFIG_PCNET32_NAPI is not set -CONFIG_AMD8111_ETH=m -# CONFIG_AMD8111E_NAPI is not set -CONFIG_ADAPTEC_STARFIRE=m -# CONFIG_ADAPTEC_STARFIRE_NAPI is not set -# CONFIG_AC3200 is not set -CONFIG_APRICOT=m -CONFIG_B44=y -CONFIG_B44_PCI_AUTOSELECT=y -CONFIG_B44_PCICORE_AUTOSELECT=y -CONFIG_B44_PCI=y -CONFIG_FORCEDETH=y -# CONFIG_FORCEDETH_NAPI is not set -CONFIG_CS89x0=m -CONFIG_EEPRO100=y -CONFIG_E100=y -CONFIG_FEALNX=m -CONFIG_NATSEMI=y -CONFIG_NE2K_PCI=y -# CONFIG_8139CP is not set -CONFIG_8139TOO=y -# CONFIG_8139TOO_PIO is not set -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=y -CONFIG_EPIC100=y -CONFIG_SUNDANCE=y -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_TLAN=y -CONFIG_VIA_RHINE=y -CONFIG_VIA_RHINE_MMIO=y -# CONFIG_VIA_RHINE_NAPI is not set -# CONFIG_SC92031 is not set -CONFIG_NETDEV_1000=y -# CONFIG_ACENIC is not set -CONFIG_DL2K=m -CONFIG_E1000=m -# CONFIG_E1000_NAPI is not set -# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set -# CONFIG_E1000E is not set -# CONFIG_IP1000 is not set -# CONFIG_NS83820 is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -CONFIG_R8169=y -# CONFIG_R8169_NAPI is not set -CONFIG_SIS190=m -# CONFIG_SKGE is not set -# CONFIG_SKY2 is not set -# CONFIG_SK98LIN is not set -CONFIG_VIA_VELOCITY=m -CONFIG_TIGON3=m -CONFIG_BNX2=m -# CONFIG_QLA3XXX is not set -# CONFIG_ATL1 is not set -# CONFIG_NETDEV_10000 is not set -# CONFIG_TR is not set - -# -# Wireless LAN -# -# CONFIG_WLAN_PRE80211 is not set -# CONFIG_WLAN_80211 is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_RTL8150 is not set -# CONFIG_USB_USBNET is not set -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m -# CONFIG_WAN is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -# CONFIG_PPP_FILTER is not set -CONFIG_PPP_ASYNC=y -# CONFIG_PPP_SYNC_TTY is not set -# CONFIG_PPP_DEFLATE is not set -# CONFIG_PPP_BSDCOMP is not set -# CONFIG_PPP_MPPE is not set -CONFIG_PPPOE=y -# CONFIG_PPPOL2TP is not set -# CONFIG_SLIP is not set -CONFIG_SLHC=y -# CONFIG_NET_FC is not set -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set -# CONFIG_ISDN is not set -# CONFIG_PHONE is not set - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -CONFIG_INPUT_MOUSEDEV_PSAUX=y -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_PS2_ALPS=y -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_LIFEBOOK=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_SERIAL=y -# CONFIG_MOUSE_APPLETOUCH is not set -CONFIG_MOUSE_INPORT=m -# CONFIG_MOUSE_ATIXL is not set -CONFIG_MOUSE_LOGIBM=m -CONFIG_MOUSE_PC110PAD=m -# CONFIG_MOUSE_VSXXXAA is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -CONFIG_INPUT_MISC=y -CONFIG_INPUT_PCSPKR=y -# CONFIG_INPUT_WISTRON_BTNS is not set -# CONFIG_INPUT_ATI_REMOTE is not set -# CONFIG_INPUT_ATI_REMOTE2 is not set -# CONFIG_INPUT_KEYSPAN_REMOTE is not set -# CONFIG_INPUT_POWERMATE is not set -# CONFIG_INPUT_YEALINK is not set -# CONFIG_INPUT_UINPUT is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_CT82C710 is not set -CONFIG_SERIO_PCIPS2=y -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=y -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_CONSOLE is not set -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_PNP=y -# CONFIG_SERIAL_8250_CS is not set -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -# CONFIG_SERIAL_8250_EXTENDED is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_CORE=y -# CONFIG_SERIAL_JSM is not set -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set -# CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_INTEL=y -CONFIG_HW_RANDOM_AMD=y -CONFIG_HW_RANDOM_GEODE=y -CONFIG_HW_RANDOM_VIA=y -CONFIG_NVRAM=y -CONFIG_RTC=m -CONFIG_GEN_RTC=m -# CONFIG_GEN_RTC_X is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set -# CONFIG_SONYPI is not set - -# -# PCMCIA character devices -# -# CONFIG_SYNCLINK_CS is not set -# CONFIG_CARDMAN_4000 is not set -# CONFIG_CARDMAN_4040 is not set -# CONFIG_MWAVE is not set -# CONFIG_PC8736x_GPIO is not set -# CONFIG_NSC_GPIO is not set -# CONFIG_CS5535_GPIO is not set -# CONFIG_RAW_DRIVER is not set -# CONFIG_HANGCHECK_TIMER is not set -# CONFIG_TCG_TPM is not set -# CONFIG_TELCLOCK is not set -CONFIG_DEVPORT=y -# CONFIG_I2C is not set - -# -# SPI support -# -# CONFIG_SPI is not set -# CONFIG_SPI_MASTER is not set -# CONFIG_W1 is not set -# CONFIG_POWER_SUPPLY is not set -# CONFIG_HWMON is not set -# CONFIG_WATCHDOG is not set - -# -# Sonics Silicon Backplane -# -CONFIG_SSB_POSSIBLE=y -CONFIG_SSB=y -CONFIG_SSB_PCIHOST_POSSIBLE=y -CONFIG_SSB_PCIHOST=y -# CONFIG_SSB_DEBUG is not set -CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y -CONFIG_SSB_DRIVER_PCICORE=y - -# -# Multifunction device drivers -# -# CONFIG_MFD_SM501 is not set - -# -# Multimedia devices -# -# CONFIG_VIDEO_DEV is not set -# CONFIG_DVB_CORE is not set -CONFIG_DAB=y -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -# CONFIG_AGP is not set -# CONFIG_DRM is not set -# CONFIG_VGASTATE is not set -# CONFIG_VIDEO_OUTPUT_CONTROL is not set -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FB_DDC is not set -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -# CONFIG_FB_SYS_FILLRECT is not set -# CONFIG_FB_SYS_COPYAREA is not set -# CONFIG_FB_SYS_IMAGEBLIT is not set -# CONFIG_FB_SYS_FOPS is not set -CONFIG_FB_DEFERRED_IO=y -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_CYBER2000 is not set -# CONFIG_FB_ARC is not set -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_VGA16 is not set -CONFIG_FB_VESA=y -# CONFIG_FB_EFI is not set -# CONFIG_FB_HECUBA is not set -# CONFIG_FB_HGA is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_NVIDIA is not set -# CONFIG_FB_RIVA is not set -# CONFIG_FB_I810 is not set -# CONFIG_FB_LE80578 is not set -# CONFIG_FB_INTEL is not set -# CONFIG_FB_MATROX is not set -# CONFIG_FB_RADEON is not set -# CONFIG_FB_ATY128 is not set -# CONFIG_FB_ATY is not set -# CONFIG_FB_S3 is not set -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SIS is not set -# CONFIG_FB_NEOMAGIC is not set -# CONFIG_FB_KYRO is not set -# CONFIG_FB_3DFX is not set -# CONFIG_FB_VOODOO1 is not set -# CONFIG_FB_VT8623 is not set -# CONFIG_FB_CYBLA is not set -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_ARK is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_GEODE is not set -# CONFIG_FB_VIRTUAL is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set - -# -# Display device support -# -# CONFIG_DISPLAY_SUPPORT is not set - -# -# Console display driver support -# -CONFIG_VGA_CONSOLE=y -# CONFIG_VGACON_SOFT_SCROLLBACK is not set -CONFIG_VIDEO_SELECT=y -# CONFIG_MDA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y -CONFIG_LOGO=y -CONFIG_LOGO_LINUX_MONO=y -CONFIG_LOGO_LINUX_VGA16=y -CONFIG_LOGO_LINUX_CLUT224=y - -# -# Sound -# -CONFIG_SOUND=m - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m -CONFIG_SND_HWDEP=m -CONFIG_SND_RAWMIDI=m -CONFIG_SND_SEQUENCER=m -# CONFIG_SND_SEQ_DUMMY is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -CONFIG_SND_MPU401_UART=m -CONFIG_SND_OPL3_LIB=m -CONFIG_SND_OPL4_LIB=m -CONFIG_SND_VX_LIB=m -CONFIG_SND_AC97_CODEC=m -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_VIRMIDI is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set -CONFIG_SND_AD1848_LIB=m -CONFIG_SND_CS4231_LIB=m -CONFIG_SND_SB_COMMON=m -CONFIG_SND_SB8_DSP=m -CONFIG_SND_SB16_DSP=m - -# -# ISA devices -# -CONFIG_SND_ADLIB=m -CONFIG_SND_AD1816A=m -CONFIG_SND_AD1848=m -CONFIG_SND_ALS100=m -CONFIG_SND_AZT2320=m -CONFIG_SND_CMI8330=m -CONFIG_SND_CS4231=m -CONFIG_SND_CS4232=m -CONFIG_SND_CS4236=m -CONFIG_SND_DT019X=m -CONFIG_SND_ES968=m -CONFIG_SND_ES1688=m -CONFIG_SND_ES18XX=m -# CONFIG_SND_SC6000 is not set -CONFIG_SND_GUS_SYNTH=m -CONFIG_SND_GUSCLASSIC=m -CONFIG_SND_GUSEXTREME=m -CONFIG_SND_GUSMAX=m -CONFIG_SND_INTERWAVE=m -CONFIG_SND_INTERWAVE_STB=m -CONFIG_SND_OPL3SA2=m -CONFIG_SND_OPTI92X_AD1848=m -CONFIG_SND_OPTI92X_CS4231=m -CONFIG_SND_OPTI93X=m -CONFIG_SND_MIRO=m -CONFIG_SND_SB8=m -CONFIG_SND_SB16=m -CONFIG_SND_SBAWE=m -# CONFIG_SND_SB16_CSP is not set -CONFIG_SND_SGALAXY=m -CONFIG_SND_SSCAPE=m -CONFIG_SND_WAVEFRONT=m -CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y - -# -# PCI devices -# -CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -# CONFIG_SND_CS5530 is not set -CONFIG_SND_CS5535AUDIO=m -CONFIG_SND_DARLA20=m -CONFIG_SND_GINA20=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_DARLA24=m -CONFIG_SND_GINA24=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_MONA=m -CONFIG_SND_MIA=m -CONFIG_SND_ECHO3G=m -CONFIG_SND_INDIGO=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -# CONFIG_SND_FM801_TEA575X_BOOL is not set -CONFIG_SND_HDA_INTEL=m -# CONFIG_SND_HDA_HWDEP is not set -CONFIG_SND_HDA_CODEC_REALTEK=y -CONFIG_SND_HDA_CODEC_ANALOG=y -CONFIG_SND_HDA_CODEC_SIGMATEL=y -CONFIG_SND_HDA_CODEC_VIA=y -CONFIG_SND_HDA_CODEC_ATIHDMI=y -CONFIG_SND_HDA_CODEC_CONEXANT=y -CONFIG_SND_HDA_CODEC_CMEDIA=y -CONFIG_SND_HDA_CODEC_SI3054=y -CONFIG_SND_HDA_GENERIC=y -# CONFIG_SND_HDA_POWER_SAVE is not set -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL=y -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL=y -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m -CONFIG_SND_YMFPCI_FIRMWARE_IN_KERNEL=y -# CONFIG_SND_AC97_POWER_SAVE is not set - -# -# USB devices -# -# CONFIG_SND_USB_AUDIO is not set -# CONFIG_SND_USB_USX2Y is not set -# CONFIG_SND_USB_CAIAQ is not set - -# -# PCMCIA devices -# -# CONFIG_SND_VXPOCKET is not set -# CONFIG_SND_PDAUDIOCF is not set - -# -# System on Chip audio support -# -# CONFIG_SND_SOC is not set - -# -# SoC Audio support for SuperH -# - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set -CONFIG_AC97_BUS=m -CONFIG_HID_SUPPORT=y -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set -# CONFIG_HIDRAW is not set - -# -# USB Input Devices -# -CONFIG_USB_HID=y -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -CONFIG_USB_HIDDEV=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB_ARCH_HAS_EHCI=y -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DEVICE_CLASS=y -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_SPLIT_ISO is not set -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -# CONFIG_USB_EHCI_TT_NEWSCHED is not set -# CONFIG_USB_ISP116X_HCD is not set -CONFIG_USB_OHCI_HCD=m -# CONFIG_USB_OHCI_HCD_SSB is not set -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_UHCI_HCD=y -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_R8A66597_HCD is not set - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_LIBUSUAL is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -# CONFIG_USB_SERIAL is not set - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_ADUTUX is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGET is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set -# CONFIG_USB_TEST is not set - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -# CONFIG_USB_GADGET is not set -# CONFIG_MMC is not set -# CONFIG_NEW_LEDS is not set -# CONFIG_INFINIBAND is not set -# CONFIG_EDAC is not set -# CONFIG_RTC_CLASS is not set -# CONFIG_DMADEVICES is not set -CONFIG_VIRTUALIZATION=y -# CONFIG_KVM is not set -# CONFIG_LGUEST is not set - -# -# Userspace I/O -# -# CONFIG_UIO is not set - -# -# Firmware Drivers -# -# CONFIG_EDD is not set -# CONFIG_DELL_RBU is not set -# CONFIG_DCDBAS is not set -CONFIG_DMIID=y - -# -# File systems -# -CONFIG_EXT2_FS=y -# CONFIG_EXT2_FS_XATTR is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -# CONFIG_EXT3_FS_XATTR is not set -# CONFIG_EXT4DEV_FS is not set -CONFIG_JBD=y -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -CONFIG_FUSE_FS=y - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -# CONFIG_ZISOFS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_KCORE=y -CONFIG_PROC_SYSCTL=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_HUGETLBFS is not set -# CONFIG_HUGETLB_PAGE is not set -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -CONFIG_CRAMFS=y -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set -CONFIG_NETWORK_FILESYSTEMS=y -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_DIRECTIO is not set -# CONFIG_NFSD is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -# CONFIG_SUNRPC_BIND34 is not set -# CONFIG_RPCSEC_GSS_KRB5 is not set -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -# CONFIG_CIFS is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_KARMA_PARTITION is not set -# CONFIG_EFI_PARTITION is not set -# CONFIG_SYSV68_PARTITION is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_CODEPAGE_852=y -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -CONFIG_NLS_CODEPAGE_863=y -# CONFIG_NLS_CODEPAGE_864 is not set -CONFIG_NLS_CODEPAGE_865=y -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_2=y -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=m -# CONFIG_DLM is not set -CONFIG_INSTRUMENTATION=y -# CONFIG_PROFILING is not set -# CONFIG_KPROBES is not set -# CONFIG_MARKERS is not set - -# -# Kernel hacking -# -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -# CONFIG_PRINTK_TIME is not set -CONFIG_ENABLE_WARN_DEPRECATED=y -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_MAGIC_SYSRQ is not set -CONFIG_UNUSED_SYMBOLS=y -# CONFIG_DEBUG_FS is not set -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_KERNEL is not set -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_SAMPLES is not set -CONFIG_EARLY_PRINTK=y -CONFIG_X86_FIND_SMP_CONFIG=y -CONFIG_X86_MPPARSE=y -CONFIG_DOUBLEFAULT=y - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY is not set -# CONFIG_SECURITY_FILE_CAPABILITIES is not set -CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_GF128MUL is not set -# CONFIG_CRYPTO_ECB is not set -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_XTS is not set -# CONFIG_CRYPTO_CRYPTD is not set -CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_TWOFISH_586 is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_AES_586 is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_ARC4 is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_SEED is not set -CONFIG_CRYPTO_DEFLATE=y -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_TEST is not set -# CONFIG_CRYPTO_AUTHENC is not set -CONFIG_CRYPTO_HW=y -# CONFIG_CRYPTO_DEV_PADLOCK is not set -# CONFIG_CRYPTO_DEV_GEODE is not set - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -# CONFIG_CRC_ITU_T is not set -CONFIG_CRC32=y -# CONFIG_CRC7 is not set -# CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_DMA=y diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-2.6.29.3-slitaz.config --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux/stuff/linux-2.6.29.3-slitaz.config Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,3202 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.29.3 +# Mon May 11 17:21:35 2009 +# +# CONFIG_64BIT is not set +CONFIG_X86_32=y +# CONFIG_X86_64 is not set +CONFIG_X86=y +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_FAST_CMPXCHG_LOCAL=y +CONFIG_MMU=y +CONFIG_ZONE_DMA=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_GPIO=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +# CONFIG_GENERIC_TIME_VSYSCALL is not set +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ZONE_DMA32 is not set +CONFIG_ARCH_POPULATES_NODE_MAP=y +# CONFIG_AUDIT_ARCH is not set +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_X86_SMP=y +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_X86_32_SMP=y +CONFIG_X86_HT=y +CONFIG_X86_BIOS_REBOOT=y +CONFIG_X86_TRAMPOLINE=y +CONFIG_KTIME_SCALAR=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="-slitaz" +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_KERNEL_GZIP is not set +# CONFIG_KERNEL_BZIP2 is not set +CONFIG_KERNEL_LZMA=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_BSD_PROCESS_ACCT=y +# CONFIG_BSD_PROCESS_ACCT_V3 is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set + +# +# RCU Subsystem +# +CONFIG_CLASSIC_RCU=y +# CONFIG_TREE_RCU is not set +# CONFIG_PREEMPT_RCU is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_PREEMPT_RCU_TRACE is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_GROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_USER_SCHED=y +# CONFIG_CGROUP_SCHED is not set +# CONFIG_CGROUPS is not set +# CONFIG_SYSFS_DEPRECATED_V2 is not set +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +# CONFIG_NET_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_PCI_QUIRKS=y +CONFIG_COMPAT_BRK=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_AS is not set +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +# CONFIG_DEFAULT_AS is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_FREEZER=y + +# +# Processor type and features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +# CONFIG_HIGH_RES_TIMERS is not set +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_SMP=y +# CONFIG_SPARSE_IRQ is not set +CONFIG_X86_FIND_SMP_CONFIG=y +CONFIG_X86_MPPARSE=y +CONFIG_X86_PC=y +# CONFIG_X86_ELAN is not set +# CONFIG_X86_VOYAGER is not set +# CONFIG_X86_GENERICARCH is not set +# CONFIG_X86_VSMP is not set +# CONFIG_X86_RDC321X is not set +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_PARAVIRT_GUEST=y +# CONFIG_VMI is not set +CONFIG_KVM_CLOCK=y +CONFIG_KVM_GUEST=y +# CONFIG_LGUEST_GUEST is not set +CONFIG_PARAVIRT=y +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_MEMTEST is not set +CONFIG_M386=y +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_M586MMX is not set +# CONFIG_M686 is not set +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +# CONFIG_MPENTIUM4 is not set +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +# CONFIG_MCRUSOE is not set +# CONFIG_MEFFICEON is not set +# CONFIG_MWINCHIPC6 is not set +# CONFIG_MWINCHIP3D is not set +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +# CONFIG_MPSC is not set +# CONFIG_MCORE2 is not set +# CONFIG_GENERIC_CPU is not set +CONFIG_X86_GENERIC=y +CONFIG_X86_CPU=y +# CONFIG_X86_CMPXCHG is not set +CONFIG_X86_L1_CACHE_SHIFT=7 +CONFIG_X86_PPRO_FENCE=y +CONFIG_X86_F00F_BUG=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_MINIMUM_CPU_FAMILY=3 +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR_32=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y +# CONFIG_HPET_TIMER is not set +CONFIG_DMI=y +# CONFIG_IOMMU_HELPER is not set +# CONFIG_IOMMU_API is not set +CONFIG_NR_CPUS=8 +# CONFIG_SCHED_SMT is not set +CONFIG_SCHED_MC=y +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_IO_APIC=y +# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set +CONFIG_X86_MCE=y +# CONFIG_X86_MCE_NONFATAL is not set +# CONFIG_X86_MCE_P4THERMAL is not set +CONFIG_VM86=y +# CONFIG_TOSHIBA is not set +# CONFIG_I8K is not set +CONFIG_X86_REBOOTFIXUPS=y +# CONFIG_MICROCODE is not set +# CONFIG_X86_MSR is not set +# CONFIG_X86_CPUID is not set +# CONFIG_NOHIGHMEM is not set +CONFIG_HIGHMEM4G=y +# CONFIG_HIGHMEM64G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_HIGHMEM=y +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_MMU_NOTIFIER=y +# CONFIG_HIGHPTE is not set +# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set +CONFIG_X86_RESERVE_LOW_64K=y +CONFIG_MATH_EMULATION=y +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_X86_PAT=y +# CONFIG_EFI is not set +# CONFIG_SECCOMP is not set +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +CONFIG_HZ_1000=y +CONFIG_HZ=1000 +# CONFIG_SCHED_HRTICK is not set +CONFIG_KEXEC=y +# CONFIG_CRASH_DUMP is not set +# CONFIG_KEXEC_JUMP is not set +CONFIG_PHYSICAL_START=0x100000 +# CONFIG_RELOCATABLE is not set +CONFIG_PHYSICAL_ALIGN=0x100000 +CONFIG_HOTPLUG_CPU=y +CONFIG_COMPAT_VDSO=y +# CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y + +# +# Power management and ACPI options +# +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_SLEEP=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_ACPI=y +CONFIG_ACPI_SLEEP=y +# CONFIG_ACPI_PROCFS is not set +CONFIG_ACPI_PROCFS_POWER=y +CONFIG_ACPI_SYSFS_POWER=y +CONFIG_ACPI_PROC_EVENT=y +CONFIG_ACPI_AC=m +CONFIG_ACPI_BATTERY=m +# CONFIG_ACPI_BUTTON is not set +# CONFIG_ACPI_FAN is not set +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_THERMAL=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_DEBUG is not set +# CONFIG_ACPI_PCI_SLOT is not set +CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_CONTAINER=y +# CONFIG_ACPI_SBS is not set +# CONFIG_APM is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +# CONFIG_CPU_FREQ_DEBUG is not set +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m + +# +# CPUFreq processor drivers +# +CONFIG_X86_ACPI_CPUFREQ=m +CONFIG_X86_POWERNOW_K6=m +CONFIG_X86_POWERNOW_K7=m +CONFIG_X86_POWERNOW_K7_ACPI=y +CONFIG_X86_POWERNOW_K8=m +CONFIG_X86_POWERNOW_K8_ACPI=y +CONFIG_X86_GX_SUSPMOD=m +# CONFIG_X86_SPEEDSTEP_CENTRINO is not set +CONFIG_X86_SPEEDSTEP_ICH=m +CONFIG_X86_SPEEDSTEP_SMI=m +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_CPUFREQ_NFORCE2=m +CONFIG_X86_LONGRUN=m +CONFIG_X86_LONGHAUL=m +CONFIG_X86_E_POWERSAVER=m + +# +# shared options +# +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y + +# +# Bus options (PCI etc.) +# +CONFIG_PCI=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GOMMCONFIG is not set +# CONFIG_PCI_GODIRECT is not set +# CONFIG_PCI_GOOLPC is not set +CONFIG_PCI_GOANY=y +CONFIG_PCI_BIOS=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIEASPM is not set +CONFIG_ARCH_SUPPORTS_MSI=y +# CONFIG_PCI_MSI is not set +CONFIG_PCI_LEGACY=y +# CONFIG_PCI_STUB is not set +CONFIG_HT_IRQ=y +CONFIG_ISA_DMA_API=y +CONFIG_ISA=y +# CONFIG_EISA is not set +# CONFIG_MCA is not set +# CONFIG_SCx200 is not set +# CONFIG_OLPC is not set +CONFIG_K8_NB=y +CONFIG_PCCARD=m +# CONFIG_PCMCIA_DEBUG is not set +CONFIG_PCMCIA=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_IOCTL=y +CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=m +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_PD6729=m +CONFIG_I82092=m +CONFIG_I82365=m +# CONFIG_TCIC is not set +CONFIG_PCMCIA_PROBE=y +CONFIG_PCCARD_NONSTATIC=m +# CONFIG_HOTPLUG_PCI is not set + +# +# Executable file formats / Emulations +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +CONFIG_BINFMT_MISC=m +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_COMPAT_NET_DEV_OPS=y +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=y +CONFIG_NET_KEY=y +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +CONFIG_INET_AH=y +CONFIG_INET_ESP=y +CONFIG_INET_IPCOMP=y +CONFIG_INET_XFRM_TUNNEL=y +CONFIG_INET_TUNNEL=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=m +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +CONFIG_IPV6_SIT=m +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +# CONFIG_NETFILTER_TPROXY is not set +CONFIG_NETFILTER_XTABLES=y +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_VS=m +CONFIG_IP_VS_IPV6=y +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m + +# +# IPVS application helper +# +CONFIG_IP_VS_FTP=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +# CONFIG_IP_NF_QUEUE is not set +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_ADDRTYPE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_CONNTRACK_IPV6=m +# CONFIG_IP6_NF_QUEUE is not set +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_RAW=m +# CONFIG_IP_DCCP is not set +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +# CONFIG_SCTP_HMAC_NONE is not set +# CONFIG_SCTP_HMAC_SHA1 is not set +CONFIG_SCTP_HMAC_MD5=y +# CONFIG_TIPC is not set +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +CONFIG_ATM_CLIP_NO_ICMP=y +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=m +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +CONFIG_ATALK=m +CONFIG_DEV_APPLETALK=m +CONFIG_LTPC=m +CONFIG_COPS=m +CONFIG_COPS_DAYNA=y +CONFIG_COPS_TANGENT=y +CONFIG_IPDDP=m +CONFIG_IPDDP_ENCAP=y +CONFIG_IPDDP_DECAP=y +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +# CONFIG_NET_SCH_NETEM is not set +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_INGRESS=m + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_ROUTE=y +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +CONFIG_IRDA=m + +# +# IrDA protocols +# +CONFIG_IRLAN=m +CONFIG_IRNET=m +CONFIG_IRCOMM=m +# CONFIG_IRDA_ULTRA is not set + +# +# IrDA options +# +# CONFIG_IRDA_CACHE_LAST_LSAP is not set +# CONFIG_IRDA_FAST_RR is not set +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +CONFIG_IRTTY_SIR=m + +# +# Dongle support +# +# CONFIG_DONGLE is not set +# CONFIG_KINGSUN_DONGLE is not set +# CONFIG_KSDAZZLE_DONGLE is not set +# CONFIG_KS959_DONGLE is not set + +# +# FIR device drivers +# +# CONFIG_USB_IRDA is not set +# CONFIG_SIGMATEL_FIR is not set +# CONFIG_NSC_FIR is not set +# CONFIG_WINBOND_FIR is not set +# CONFIG_TOSHIBA_FIR is not set +# CONFIG_SMC_IRCC_FIR is not set +# CONFIG_ALI_FIR is not set +# CONFIG_VLSI_FIR is not set +# CONFIG_VIA_FIR is not set +# CONFIG_MCS_FIR is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +# CONFIG_BT_RFCOMM_TTY is not set +# CONFIG_BT_BNEP is not set +# CONFIG_BT_CMTP is not set +# CONFIG_BT_HIDP is not set + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIUART=m +# CONFIG_BT_HCIUART_H4 is not set +# CONFIG_BT_HCIUART_BCSP is not set +# CONFIG_BT_HCIUART_LL is not set +CONFIG_BT_HCIBCM203X=m +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIDTL1 is not set +# CONFIG_BT_HCIBT3C is not set +# CONFIG_BT_HCIBLUECARD is not set +# CONFIG_BT_HCIBTUART is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +CONFIG_WIRELESS=y +CONFIG_CFG80211=m +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_NL80211=y +CONFIG_WIRELESS_OLD_REGULATORY=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m + +# +# Rate control algorithm selection +# +CONFIG_MAC80211_RC_MINSTREL=y +# CONFIG_MAC80211_RC_DEFAULT_PID is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_RFKILL=m +# CONFIG_RFKILL_INPUT is not set +CONFIG_RFKILL_LEDS=y +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +# CONFIG_MTD is not set +CONFIG_PARPORT=m +CONFIG_PARPORT_PC=m +# CONFIG_PARPORT_SERIAL is not set +# CONFIG_PARPORT_PC_FIFO is not set +# CONFIG_PARPORT_PC_SUPERIO is not set +# CONFIG_PARPORT_PC_PCMCIA is not set +# CONFIG_PARPORT_GSC is not set +# CONFIG_PARPORT_AX88796 is not set +CONFIG_PARPORT_1284=y +CONFIG_PNP=y +CONFIG_PNP_DEBUG_MESSAGES=y + +# +# Protocols +# +CONFIG_ISAPNP=y +# CONFIG_PNPBIOS is not set +CONFIG_PNPACPI=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_FD=y +# CONFIG_BLK_DEV_XD is not set +# CONFIG_PARIDE is not set +# CONFIG_BLK_CPQ_DA is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_CRYPTOLOOP=m +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +CONFIG_RD_GZIP=y +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_VIRTIO_BLK=m +# CONFIG_BLK_DEV_HD is not set +CONFIG_MISC_DEVICES=y +# CONFIG_IBM_ASM is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_LEGACY is not set +CONFIG_EEPROM_93CX6=m +CONFIG_HAVE_IDE=y +CONFIG_IDE=y + +# +# Please see Documentation/ide/ide.txt for help/info on IDE drives +# +CONFIG_IDE_TIMINGS=y +CONFIG_IDE_ATAPI=y +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_IDE_GD=y +CONFIG_IDE_GD_ATA=y +# CONFIG_IDE_GD_ATAPI is not set +CONFIG_BLK_DEV_IDECS=m +# CONFIG_BLK_DEV_DELKIN is not set +CONFIG_BLK_DEV_IDECD=y +CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEACPI is not set +# CONFIG_IDE_TASK_IOCTL is not set +CONFIG_IDE_PROC_FS=y + +# +# IDE chipset support/bugfixes +# +CONFIG_IDE_GENERIC=y +# CONFIG_BLK_DEV_PLATFORM is not set +CONFIG_BLK_DEV_CMD640=y +# CONFIG_BLK_DEV_CMD640_ENHANCED is not set +# CONFIG_BLK_DEV_IDEPNP is not set +CONFIG_BLK_DEV_IDEDMA_SFF=y + +# +# PCI IDE chipsets support +# +CONFIG_BLK_DEV_IDEPCI=y +CONFIG_IDEPCI_PCIBUS_ORDER=y +# CONFIG_BLK_DEV_OFFBOARD is not set +CONFIG_BLK_DEV_GENERIC=y +# CONFIG_BLK_DEV_OPTI621 is not set +CONFIG_BLK_DEV_RZ1000=y +CONFIG_BLK_DEV_IDEDMA_PCI=y +CONFIG_BLK_DEV_AEC62XX=y +CONFIG_BLK_DEV_ALI15X3=y +CONFIG_BLK_DEV_AMD74XX=y +CONFIG_BLK_DEV_ATIIXP=y +CONFIG_BLK_DEV_CMD64X=y +CONFIG_BLK_DEV_TRIFLEX=y +# CONFIG_BLK_DEV_CS5520 is not set +CONFIG_BLK_DEV_CS5530=y +CONFIG_BLK_DEV_CS5535=y +# CONFIG_BLK_DEV_CS5536 is not set +# CONFIG_BLK_DEV_HPT366 is not set +CONFIG_BLK_DEV_JMICRON=y +# CONFIG_BLK_DEV_SC1200 is not set +CONFIG_BLK_DEV_PIIX=y +# CONFIG_BLK_DEV_IT8172 is not set +CONFIG_BLK_DEV_IT8213=y +CONFIG_BLK_DEV_IT821X=y +CONFIG_BLK_DEV_NS87415=y +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +CONFIG_BLK_DEV_PDC202XX_NEW=y +CONFIG_BLK_DEV_SVWKS=y +CONFIG_BLK_DEV_SIIMAGE=y +CONFIG_BLK_DEV_SIS5513=y +CONFIG_BLK_DEV_SLC90E66=y +CONFIG_BLK_DEV_TRM290=y +CONFIG_BLK_DEV_VIA82CXXX=y +# CONFIG_BLK_DEV_TC86C001 is not set + +# +# Other IDE chipsets support +# + +# +# Note: most of these also require special kernel boot parameters +# +# CONFIG_BLK_DEV_4DRIVES is not set +# CONFIG_BLK_DEV_ALI14XX is not set +# CONFIG_BLK_DEV_DTC2278 is not set +# CONFIG_BLK_DEV_HT6560B is not set +# CONFIG_BLK_DEV_QD65XX is not set +# CONFIG_BLK_DEV_UMC8672 is not set +CONFIG_BLK_DEV_IDEDMA=y + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=m +# CONFIG_SCSI_FC_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +CONFIG_ISCSI_TCP=m +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_7000FASST is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AHA152X is not set +# CONFIG_SCSI_AHA1542 is not set +# CONFIG_SCSI_AACRAID is not set +CONFIG_SCSI_AIC7XXX=m +CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 +CONFIG_AIC7XXX_RESET_DELAY_MS=5000 +CONFIG_AIC7XXX_DEBUG_ENABLE=y +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +# CONFIG_SCSI_AIC7XXX_OLD is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_DPT_I2O is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_IN2000 is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_BUSLOGIC is not set +# CONFIG_LIBFC is not set +# CONFIG_FCOE is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_DTC3280 is not set +# CONFIG_SCSI_EATA is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_GDTH is not set +# CONFIG_SCSI_GENERIC_NCR5380 is not set +# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_PPA is not set +# CONFIG_SCSI_IMM is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_NCR53C406A is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_PAS16 is not set +# CONFIG_SCSI_QLOGIC_FAS is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_FC is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_LPFC is not set +# CONFIG_SCSI_SYM53C416 is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_DC390T is not set +# CONFIG_SCSI_T128 is not set +# CONFIG_SCSI_U14_34F is not set +# CONFIG_SCSI_ULTRASTOR is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_SRP is not set +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +# CONFIG_SCSI_DH is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_ACPI=y +CONFIG_SATA_PMP=y +CONFIG_SATA_AHCI=y +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y +# CONFIG_SATA_SVW is not set +CONFIG_ATA_PIIX=y +# CONFIG_SATA_MV is not set +CONFIG_SATA_NV=y +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SX4 is not set +CONFIG_SATA_SIL=y +CONFIG_SATA_SIS=y +# CONFIG_SATA_ULI is not set +CONFIG_SATA_VIA=y +# CONFIG_SATA_VITESSE is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_PATA_ACPI is not set +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CS5520 is not set +# CONFIG_PATA_CS5530 is not set +# CONFIG_PATA_CS5535 is not set +# CONFIG_PATA_CS5536 is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_ISAPNP is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PCMCIA is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_QDI is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RZ1000 is not set +# CONFIG_PATA_SC1200 is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_SIL680 is not set +CONFIG_PATA_SIS=y +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set +# CONFIG_PATA_WINBOND_VLB is not set +# CONFIG_PATA_SCH is not set +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MD_RAID5_RESHAPE=y +# CONFIG_MD_MULTIPATH is not set +# CONFIG_MD_FAULTY is not set +CONFIG_BLK_DEV_DM=m +# CONFIG_DM_DEBUG is not set +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_MIRROR=m +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# Enable only one of the two stacks, unless you know what you are doing +# +# CONFIG_FIREWIRE is not set +CONFIG_IEEE1394=m +CONFIG_IEEE1394_OHCI1394=m +# CONFIG_IEEE1394_PCILYNX is not set +# CONFIG_IEEE1394_SBP2 is not set +# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set +# CONFIG_IEEE1394_ETH1394 is not set +CONFIG_IEEE1394_RAWIO=m +# CONFIG_IEEE1394_VIDEO1394 is not set +# CONFIG_IEEE1394_DV1394 is not set +# CONFIG_IEEE1394_VERBOSEDEBUG is not set +# CONFIG_I2O is not set +# CONFIG_MACINTOSH_DRIVERS is not set +CONFIG_NETDEVICES=y +# CONFIG_IFB is not set +CONFIG_DUMMY=y +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +CONFIG_TUN=y +# CONFIG_VETH is not set +# CONFIG_NET_SB1000 is not set +CONFIG_ARCNET=m +CONFIG_ARCNET_1201=m +# CONFIG_ARCNET_1051 is not set +# CONFIG_ARCNET_RAW is not set +# CONFIG_ARCNET_CAP is not set +CONFIG_ARCNET_COM90xx=m +# CONFIG_ARCNET_COM90xxIO is not set +# CONFIG_ARCNET_RIM_I is not set +# CONFIG_ARCNET_COM20020 is not set +CONFIG_PHYLIB=m + +# +# MII PHY device drivers +# +CONFIG_MARVELL_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_LXT_PHY=m +CONFIG_CICADA_PHY=m +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +CONFIG_BROADCOM_PHY=m +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MDIO_BITBANG is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_CASSINI=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_EL1=m +CONFIG_EL2=m +CONFIG_ELPLUS=m +# CONFIG_EL16 is not set +CONFIG_EL3=m +CONFIG_3C515=m +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_LANCE=m +CONFIG_NET_VENDOR_SMC=y +CONFIG_WD80x3=m +CONFIG_ULTRA=m +CONFIG_SMC9194=m +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NI52=m +CONFIG_NI65=m +# CONFIG_DNET is not set +CONFIG_NET_TULIP=y +# CONFIG_DE2104X is not set +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_DE4X5=y +CONFIG_WINBOND_840=y +CONFIG_DM9102=y +CONFIG_ULI526X=m +CONFIG_PCMCIA_XIRCOM=y +# CONFIG_AT1700 is not set +CONFIG_DEPCA=m +CONFIG_HP100=m +CONFIG_NET_ISA=y +CONFIG_E2100=m +CONFIG_EWRK3=m +CONFIG_EEXPRESS=m +CONFIG_EEXPRESS_PRO=m +CONFIG_HPLAN_PLUS=m +CONFIG_HPLAN=m +CONFIG_LP486E=m +CONFIG_ETH16I=m +CONFIG_NE2000=m +# CONFIG_ZNET is not set +# CONFIG_SEEQ8005 is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +CONFIG_NET_PCI=y +CONFIG_PCNET32=y +CONFIG_AMD8111_ETH=m +CONFIG_ADAPTEC_STARFIRE=m +# CONFIG_AC3200 is not set +CONFIG_APRICOT=m +CONFIG_B44=y +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +CONFIG_FORCEDETH=y +# CONFIG_FORCEDETH_NAPI is not set +CONFIG_CS89x0=m +CONFIG_E100=y +CONFIG_FEALNX=m +CONFIG_NATSEMI=y +CONFIG_NE2K_PCI=y +# CONFIG_8139CP is not set +CONFIG_8139TOO=y +# CONFIG_8139TOO_PIO is not set +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +# CONFIG_R6040 is not set +CONFIG_SIS900=y +CONFIG_EPIC100=y +# CONFIG_SMSC9420 is not set +CONFIG_SUNDANCE=y +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_TLAN=y +CONFIG_VIA_RHINE=y +CONFIG_VIA_RHINE_MMIO=y +# CONFIG_SC92031 is not set +# CONFIG_NET_POCKET is not set +CONFIG_ATL2=m +CONFIG_NETDEV_1000=y +CONFIG_ACENIC=y +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_DL2K=m +CONFIG_E1000=m +CONFIG_E1000E=y +CONFIG_IP1000=m +# CONFIG_IGB is not set +CONFIG_NS83820=y +CONFIG_HAMACHI=y +# CONFIG_YELLOWFIN is not set +CONFIG_R8169=y +# CONFIG_R8169_VLAN is not set +CONFIG_SIS190=m +CONFIG_SKGE=m +CONFIG_SKY2=m +CONFIG_VIA_VELOCITY=m +CONFIG_TIGON3=m +CONFIG_BNX2=m +CONFIG_QLA3XXX=y +CONFIG_ATL1=y +CONFIG_ATL1E=m +CONFIG_ATL1C=m +# CONFIG_JME is not set +# CONFIG_NETDEV_10000 is not set +# CONFIG_TR is not set + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +CONFIG_WLAN_80211=y +# CONFIG_PCMCIA_RAYCS is not set +# CONFIG_LIBERTAS is not set +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AIRO is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_NORTEL_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +# CONFIG_AIRO_CS is not set +# CONFIG_PCMCIA_WL3501 is not set +# CONFIG_PRISM54 is not set +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_ADM8211=m +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_P54_COMMON is not set +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH9K=m +# CONFIG_ATH9K_DEBUG is not set +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +# CONFIG_IWLCORE is not set +# CONFIG_IWLWIFI_LEDS is not set +# CONFIG_IWLAGN is not set +# CONFIG_IWL3945 is not set +# CONFIG_HOSTAP is not set +CONFIG_B43=m +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_LEDS=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_RT2X00=m +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_RFKILL=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set + +# +# WiMAX Wireless Broadband devices +# +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WIMAX_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +# CONFIG_USB_NET_DM9601 is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +CONFIG_USB_NET_NET1080=m +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +CONFIG_USB_NET_ZAURUS=m +# CONFIG_USB_HSO is not set +CONFIG_NET_PCMCIA=y +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_AXNET=m +# CONFIG_WAN is not set +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +# CONFIG_ATM_TCP is not set +# CONFIG_ATM_LANAI is not set +# CONFIG_ATM_ENI is not set +# CONFIG_ATM_FIRESTREAM is not set +# CONFIG_ATM_ZATM is not set +# CONFIG_ATM_NICSTAR is not set +# CONFIG_ATM_IDT77252 is not set +# CONFIG_ATM_AMBASSADOR is not set +# CONFIG_ATM_HORIZON is not set +# CONFIG_ATM_IA is not set +# CONFIG_ATM_FORE200E is not set +# CONFIG_ATM_HE is not set +# CONFIG_ATM_SOLOS is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# CONFIG_PLIP is not set +CONFIG_PPP=y +# CONFIG_PPP_MULTILINK is not set +# CONFIG_PPP_FILTER is not set +CONFIG_PPP_ASYNC=y +# CONFIG_PPP_SYNC_TTY is not set +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_BSDCOMP=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPPOE=y +CONFIG_PPPOATM=m +# CONFIG_PPPOL2TP is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y +# CONFIG_NET_FC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_VIRTIO_NET=m +CONFIG_ISDN=y +CONFIG_MISDN=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_L1OIP=m + +# +# mISDN hardware drivers +# +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCMULTI=m +# CONFIG_MISDN_HFCUSB is not set +# CONFIG_ISDN_I4L is not set +CONFIG_ISDN_CAPI=m +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_CAPI_TRACE=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIFS_BOOL=y +CONFIG_ISDN_CAPI_CAPIFS=m + +# +# CAPI hardware drivers +# +CONFIG_CAPI_AVM=y +CONFIG_ISDN_DRV_AVMB1_B1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_T1ISA=m +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_C4=m +CONFIG_CAPI_EICON=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVAS_MAINT=m +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +CONFIG_INPUT_POLLDEV=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_SERIAL=y +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +CONFIG_MOUSE_INPORT=m +# CONFIG_MOUSE_ATIXL is not set +CONFIG_MOUSE_LOGIBM=m +CONFIG_MOUSE_PC110PAD=m +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ANALOG=m +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +CONFIG_JOYSTICK_SIDEWINDER=m +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_DB9 is not set +# CONFIG_JOYSTICK_GAMECON is not set +# CONFIG_JOYSTICK_TURBOGRAFX is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=m +# CONFIG_JOYSTICK_XPAD_FF is not set +# CONFIG_JOYSTICK_XPAD_LEDS is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +CONFIG_INPUT_PCSPKR=y +# CONFIG_INPUT_APANEL is not set +# CONFIG_INPUT_WISTRON_BTNS is not set +# CONFIG_INPUT_ATLAS_BTNS is not set +# CONFIG_INPUT_ATI_REMOTE is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +# CONFIG_INPUT_UINPUT is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_PARKBD is not set +CONFIG_SERIO_PCIPS2=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=y +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_NS558=m +# CONFIG_GAMEPORT_L4 is not set +CONFIG_GAMEPORT_EMU10K1=m +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PNP=y +# CONFIG_SERIAL_8250_CS is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_CORE=y +# CONFIG_SERIAL_JSM is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set +# CONFIG_PPDEV is not set +CONFIG_HVC_DRIVER=y +CONFIG_VIRTIO_CONSOLE=m +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_INTEL=y +CONFIG_HW_RANDOM_AMD=y +CONFIG_HW_RANDOM_GEODE=y +CONFIG_HW_RANDOM_VIA=y +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_NVRAM=y +CONFIG_RTC=m +CONFIG_GEN_RTC=m +# CONFIG_GEN_RTC_X is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_SONYPI is not set + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# CONFIG_IPWIRELESS is not set +CONFIG_MWAVE=m +# CONFIG_PC8736x_GPIO is not set +# CONFIG_NSC_GPIO is not set +# CONFIG_CS5535_GPIO is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_HPET is not set +# CONFIG_HANGCHECK_TIMER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_TELCLOCK is not set +CONFIG_DEVPORT=y +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_CHARDEV is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Graphics adapter I2C/DDC channel drivers +# +# CONFIG_I2C_VOODOO3 is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_ISA is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set +# CONFIG_SCx200_ACB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# +CONFIG_GPIO_BT8XX=m + +# +# SPI GPIO expanders: +# +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_BATTERY_DS2760 is not set +# CONFIG_BATTERY_BQ27x00 is not set +CONFIG_HWMON=m +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_ABITUGURU is not set +# CONFIG_SENSORS_ABITUGURU3 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ADT7475 is not set +CONFIG_SENSORS_K8TEMP=m +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_FSCHER is not set +# CONFIG_SENSORS_FSCPOS is not set +# CONFIG_SENSORS_FSCHMD is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +CONFIG_SENSORS_CORETEMP=m +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_SENSORS_HDAPS is not set +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_SENSORS_APPLESMC is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_THERMAL=y +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=m +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_SC520_WDT is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_SBC7240_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# ISA-based Watchdog Cards +# +# CONFIG_PCWATCHDOG is not set +# CONFIG_MIXCOMWD is not set +# CONFIG_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=y +CONFIG_SSB_SPROM=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_UCB1400_CORE is not set +# CONFIG_TPS65010 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_REGULATOR is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2_COMMON=m +CONFIG_VIDEO_ALLOW_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +# CONFIG_DVB_CORE is not set +CONFIG_VIDEO_MEDIA=m + +# +# Multimedia drivers +# +# CONFIG_MEDIA_ATTACH is not set +CONFIG_MEDIA_TUNER=m +# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L1=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +# CONFIG_VIDEO_VIVI is not set +# CONFIG_VIDEO_BT848 is not set +# CONFIG_VIDEO_PMS is not set +# CONFIG_VIDEO_BWQCAM is not set +# CONFIG_VIDEO_CQCAM is not set +# CONFIG_VIDEO_W9966 is not set +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_VIDEO_STRADIS is not set +# CONFIG_VIDEO_ZORAN is not set +CONFIG_VIDEO_MEYE=m +# CONFIG_VIDEO_SAA7134 is not set +# CONFIG_VIDEO_MXB is not set +# CONFIG_VIDEO_HEXIUM_ORION is not set +# CONFIG_VIDEO_HEXIUM_GEMINI is not set +# CONFIG_VIDEO_CX88 is not set +# CONFIG_VIDEO_IVTV is not set +# CONFIG_VIDEO_CAFE_CCIC is not set +CONFIG_SOC_CAMERA=m +# CONFIG_SOC_CAMERA_MT9M001 is not set +# CONFIG_SOC_CAMERA_MT9M111 is not set +# CONFIG_SOC_CAMERA_MT9T031 is not set +# CONFIG_SOC_CAMERA_MT9V022 is not set +# CONFIG_SOC_CAMERA_TW9910 is not set +# CONFIG_SOC_CAMERA_PLATFORM is not set +# CONFIG_SOC_CAMERA_OV772X is not set +CONFIG_V4L_USB_DRIVERS=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_USBVISION is not set +# CONFIG_USB_VICAM is not set +# CONFIG_USB_IBMCAM is not set +# CONFIG_USB_KONICAWC is not set +# CONFIG_USB_QUICKCAM_MESSENGER is not set +# CONFIG_USB_ET61X251 is not set +# CONFIG_VIDEO_OVCAMCHIP is not set +CONFIG_USB_OV511=m +# CONFIG_USB_SE401 is not set +# CONFIG_USB_SN9C102 is not set +# CONFIG_USB_STV680 is not set +# CONFIG_USB_ZC0301 is not set +# CONFIG_USB_PWC is not set +# CONFIG_USB_ZR364XX is not set +CONFIG_USB_STKWEBCAM=m +# CONFIG_USB_S2255 is not set +CONFIG_RADIO_ADAPTERS=y +# CONFIG_RADIO_CADET is not set +# CONFIG_RADIO_RTRACK is not set +# CONFIG_RADIO_RTRACK2 is not set +# CONFIG_RADIO_AZTECH is not set +# CONFIG_RADIO_GEMTEK is not set +# CONFIG_RADIO_GEMTEK_PCI is not set +# CONFIG_RADIO_MAXIRADIO is not set +# CONFIG_RADIO_MAESTRO is not set +# CONFIG_RADIO_SF16FMI is not set +# CONFIG_RADIO_SF16FMR2 is not set +# CONFIG_RADIO_TERRATEC is not set +# CONFIG_RADIO_TRUST is not set +# CONFIG_RADIO_TYPHOON is not set +# CONFIG_RADIO_ZOLTRIX is not set +# CONFIG_USB_DSBR is not set +# CONFIG_USB_SI470X is not set +# CONFIG_USB_MR800 is not set +# CONFIG_RADIO_TEA5764 is not set +CONFIG_DAB=y +# CONFIG_USB_DABUSB is not set + +# +# Graphics support +# +CONFIG_AGP=m +CONFIG_AGP_ALI=m +CONFIG_AGP_ATI=m +CONFIG_AGP_AMD=m +CONFIG_AGP_AMD64=m +CONFIG_AGP_INTEL=m +CONFIG_AGP_NVIDIA=m +CONFIG_AGP_SIS=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_VIA=m +# CONFIG_AGP_EFFICEON is not set +CONFIG_DRM=m +# CONFIG_DRM_TDFX is not set +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_I810=m +CONFIG_DRM_I830=m +CONFIG_DRM_I915=m +# CONFIG_DRM_I915_KMS is not set +CONFIG_DRM_MGA=m +CONFIG_DRM_SIS=m +CONFIG_DRM_VIA=m +CONFIG_DRM_SAVAGE=m +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_VGA16 is not set +CONFIG_FB_VESA=y +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I810 is not set +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_INTEL is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_CYBLA is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_GEODE is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_PLATFORM is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PROGEAR is not set +# CONFIG_BACKLIGHT_MBP_NVIDIA is not set +# CONFIG_BACKLIGHT_SAHARA is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +# CONFIG_MDA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +# CONFIG_LOGO is not set +CONFIG_SOUND=m +CONFIG_SOUND_OSS_CORE=y +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +CONFIG_SND_JACK=y +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQ_DUMMY is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_SEQUENCER_OSS=y +CONFIG_SND_RTCTIMER=m +CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +# CONFIG_SND_VERBOSE_PROCFS is not set +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL4_LIB=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_VIRMIDI is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_MTS64 is not set +# CONFIG_SND_SERIAL_U16550 is not set +CONFIG_SND_MPU401=m +# CONFIG_SND_PORTMAN2X4 is not set +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_WSS_LIB=m +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SB8_DSP=m +CONFIG_SND_SB16_DSP=m +CONFIG_SND_ISA=y +CONFIG_SND_ADLIB=m +CONFIG_SND_AD1816A=m +CONFIG_SND_AD1848=m +CONFIG_SND_ALS100=m +CONFIG_SND_AZT2320=m +CONFIG_SND_CMI8330=m +CONFIG_SND_CS4231=m +CONFIG_SND_CS4232=m +CONFIG_SND_CS4236=m +CONFIG_SND_DT019X=m +CONFIG_SND_ES968=m +CONFIG_SND_ES1688=m +CONFIG_SND_ES18XX=m +# CONFIG_SND_SC6000 is not set +CONFIG_SND_GUSCLASSIC=m +CONFIG_SND_GUSEXTREME=m +CONFIG_SND_GUSMAX=m +CONFIG_SND_INTERWAVE=m +CONFIG_SND_INTERWAVE_STB=m +CONFIG_SND_OPL3SA2=m +CONFIG_SND_OPTI92X_AD1848=m +CONFIG_SND_OPTI92X_CS4231=m +CONFIG_SND_OPTI93X=m +CONFIG_SND_MIRO=m +CONFIG_SND_SB8=m +CONFIG_SND_SB16=m +CONFIG_SND_SBAWE=m +# CONFIG_SND_SB16_CSP is not set +CONFIG_SND_SGALAXY=m +CONFIG_SND_SSCAPE=m +CONFIG_SND_WAVEFRONT=m +CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +# CONFIG_SND_AW2 is not set +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m +CONFIG_SND_DARLA20=m +CONFIG_SND_GINA20=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_DARLA24=m +CONFIG_SND_GINA24=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_MONA=m +CONFIG_SND_MIA=m +CONFIG_SND_ECHO3G=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_FM801_TEA575X=m +CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_HWDEP is not set +# CONFIG_SND_HDA_INPUT_BEEP is not set +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_ATIHDMI=y +CONFIG_SND_HDA_CODEC_NVHDMI=y +CONFIG_SND_HDA_CODEC_INTELHDMI=y +CONFIG_SND_HDA_ELD=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +# CONFIG_SND_HDA_POWER_SAVE is not set +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HIFIER=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_PCXHR=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SIS7019=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_USX2Y=m +CONFIG_SND_USB_CAIAQ=m +# CONFIG_SND_USB_CAIAQ_INPUT is not set +# CONFIG_SND_USB_US122L is not set +CONFIG_SND_PCMCIA=y +CONFIG_SND_VXPOCKET=m +CONFIG_SND_PDAUDIOCF=m +# CONFIG_SND_SOC is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +# CONFIG_HID_DEBUG is not set +# CONFIG_HIDRAW is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y + +# +# Special HID drivers +# +CONFIG_HID_COMPAT=y +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_NTRIG=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_GREENASIA_FF is not set +CONFIG_HID_TOPSEED=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_SUSPEND is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_MON is not set +CONFIG_USB_WUSB=m +CONFIG_USB_WUSB_CBAF=m +# CONFIG_USB_WUSB_CBAF_DEBUG is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +# CONFIG_USB_EHCI_TT_NEWSCHED is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1760_HCD is not set +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_HCD_SSB is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_UHCI_HCD=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_WHCI_HCD=m +# CONFIG_USB_HWA_HCD is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_USS720 is not set +CONFIG_USB_SERIAL=m +# CONFIG_USB_EZUSB is not set +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +CONFIG_USB_SERIAL_CH341=m +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP2101 is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_FUNSOFT is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MOTOROLA is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=m +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_HP4X is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIEMENS_MPI is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +# CONFIG_USB_SERIAL_OPTION is not set +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +CONFIG_USB_ATM=m +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_CXACRU=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_XUSBATM=m +# CONFIG_USB_GADGET is not set + +# +# OTG and related infrastructure +# +# CONFIG_USB_GPIO_VBUS is not set +CONFIG_UWB=m +CONFIG_UWB_HWA=m +CONFIG_UWB_WHCI=m +CONFIG_UWB_WLP=m +CONFIG_UWB_I1480U=m +CONFIG_UWB_I1480U_WLP=m +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=m +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_RICOH_MMC=m +# CONFIG_MMC_WBSD is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_SDRICOH_CS is not set +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set + +# +# MemoryStick drivers +# +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MSPRO_BLOCK=m + +# +# MemoryStick Host Controller Drivers +# +CONFIG_MEMSTICK_TIFM_MS=m +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=m + +# +# LED drivers +# +# CONFIG_LEDS_ALIX2 is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=m +# CONFIG_LEDS_CLEVO_MAIL is not set +# CONFIG_LEDS_PCA955X is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_IDE_DISK=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +# CONFIG_EDAC is not set +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +CONFIG_STAGING=y +# CONFIG_STAGING_EXCLUDE_BUILD is not set +# CONFIG_ET131X is not set +# CONFIG_SLICOSS is not set +# CONFIG_ME4000 is not set +# CONFIG_MEILHAUS is not set +# CONFIG_VIDEO_GO7007 is not set +CONFIG_USB_IP_COMMON=m +CONFIG_USB_IP_VHCI_HCD=m +CONFIG_USB_IP_HOST=m +# CONFIG_W35UND is not set +CONFIG_PRISM2_USB=m +CONFIG_ECHO=m +# CONFIG_USB_ATMEL is not set +# CONFIG_AGNX is not set +# CONFIG_OTUS is not set +# CONFIG_RT2860 is not set +# CONFIG_RT2870 is not set +# CONFIG_COMEDI is not set +# CONFIG_ASUS_OLED is not set +# CONFIG_PANEL is not set +# CONFIG_ALTERA_PCIE_CHDMA is not set +# CONFIG_RTL8187SE is not set +# CONFIG_INPUT_MIMIO is not set +# CONFIG_TRANZPORT is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_RAM_CONSOLE is not set +# CONFIG_ANDROID_TIMED_GPIO is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_ACER_WMI=m +CONFIG_ASUS_LAPTOP=m +# CONFIG_FUJITSU_LAPTOP is not set +# CONFIG_TC1100_WMI is not set +CONFIG_HP_WMI=m +CONFIG_MSI_LAPTOP=m +CONFIG_PANASONIC_LAPTOP=m +# CONFIG_COMPAL_LAPTOP is not set +CONFIG_SONY_LAPTOP=m +# CONFIG_SONYPI_COMPAT is not set +CONFIG_THINKPAD_ACPI=m +# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set +# CONFIG_THINKPAD_ACPI_DEBUG is not set +CONFIG_THINKPAD_ACPI_BAY=y +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +# CONFIG_INTEL_MENLOW is not set +CONFIG_EEEPC_LAPTOP=m +CONFIG_ACPI_WMI=m +# CONFIG_ACPI_ASUS is not set +# CONFIG_ACPI_TOSHIBA is not set + +# +# Firmware Drivers +# +# CONFIG_EDD is not set +CONFIG_FIRMWARE_MEMMAP=y +# CONFIG_DELL_RBU is not set +# CONFIG_DCDBAS is not set +CONFIG_DMIID=y +# CONFIG_ISCSI_IBFT_FIND is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_XATTR is not set +CONFIG_EXT4_FS=m +# CONFIG_EXT4DEV_COMPAT is not set +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXT4_FS_POSIX_ACL=y +# CONFIG_EXT4_FS_SECURITY is not set +CONFIG_JBD=y +CONFIG_JBD2=m +CONFIG_FS_MBCACHE=m +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +# CONFIG_REISERFS_PROC_INFO is not set +# CONFIG_REISERFS_FS_XATTR is not set +CONFIG_JFS_FS=m +# CONFIG_JFS_POSIX_ACL is not set +# CONFIG_JFS_SECURITY is not set +# CONFIG_JFS_DEBUG is not set +# CONFIG_JFS_STATISTICS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_XFS_FS=y +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set +# CONFIG_XFS_DEBUG is not set +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=m +# CONFIG_OCFS2_FS is not set +CONFIG_BTRFS_FS=m +# CONFIG_BTRFS_FS_POSIX_ACL is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +CONFIG_FUSE_FS=y + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLBFS is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=m +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +CONFIG_MINIX_FS=m +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_REGISTER_V4 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +CONFIG_CIFS=m +# CONFIG_CIFS_STATS is not set +CONFIG_CIFS_WEAK_PW_HASH=y +# CONFIG_CIFS_XATTR is not set +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_EXPERIMENTAL is not set +CONFIG_NCP_FS=m +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +# CONFIG_NCPFS_NFS_NS is not set +# CONFIG_NCPFS_OS2_NS is not set +# CONFIG_NCPFS_SMALLDOS is not set +# CONFIG_NCPFS_NLS is not set +# CONFIG_NCPFS_EXTRAS is not set +CONFIG_CODA_FS=m +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=y +CONFIG_NLS_CODEPAGE_852=y +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +CONFIG_NLS_CODEPAGE_863=y +# CONFIG_NLS_CODEPAGE_864 is not set +CONFIG_NLS_CODEPAGE_865=y +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=y +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +CONFIG_NLS_ISO8859_15=y +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_UNUSED_SYMBOLS=y +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_KERNEL is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LATENCYTOP is not set +# CONFIG_SYSCTL_SYSCALL_CHECK is not set +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + +# +# Tracers +# +# CONFIG_SYSPROF_TRACER is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +# CONFIG_EARLY_PRINTK_DBGP is not set +# CONFIG_4KSTACKS is not set +CONFIG_DOUBLEFAULT=y +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +# CONFIG_OPTIMIZE_INLINING is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_XOR_BLOCKS=m +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_AUTHENC=y +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=m +# CONFIG_CRYPTO_LRW is not set +CONFIG_CRYPTO_PCBC=m +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=m +# CONFIG_CRYPTO_CRC32C_INTEL is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_AES_586=m +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLOWFISH=m +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=m +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SALSA20_586 is not set +# CONFIG_CRYPTO_SEED is not set +CONFIG_CRYPTO_SERPENT=m +# CONFIG_CRYPTO_TEA is not set +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_586=m + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_DEV_PADLOCK=m +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_DEV_GEODE=m +CONFIG_CRYPTO_DEV_HIFN_795X=m +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=m +CONFIG_KVM_INTEL=m +CONFIG_KVM_AMD=m +CONFIG_LGUEST=m +CONFIG_VIRTIO=m +CONFIG_VIRTIO_RING=m +CONFIG_VIRTIO_PCI=m +# CONFIG_VIRTIO_BALLOON is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +CONFIG_GENERIC_FIND_LAST_BIT=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=m +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-diff-2.6.29.3.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux/stuff/linux-diff-2.6.29.3.u Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,18 @@ +--- linux-2.6.29.3/arch/x86/vdso/Makefile ++++ linux-2.6.29.3/arch/x86/vdso/Makefile +@@ -104,10 +104,12 @@ + $(foreach H,$(filter-out FORCE,$^),\ + if grep -q VDSO32_SYSENTER_RETURN $H; \ + then diff -u $(@D)/.tmp_$(@F) $H; \ +- else sed /VDSO32_SYSENTER_RETURN/d $(@D)/.tmp_$(@F) | \ +- diff -u - $H; fi &&) : ;\ ++ else sed /VDSO32_SYSENTER_RETURN/d $(@D)/.tmp_$(@F) > \ ++ $(@D)/.tmp_$(@F).$$ ; \ ++ diff -u $(@D)/.tmp_$(@F).$$ $H; fi &&) : ;\ + then mv -f $(@D)/.tmp_$(@F) $@; \ +- else rm -f $(@D)/.tmp_$(@F); exit 1; \ ++ else rm -f $(@D)/.tmp_$(@F)*; exit 1; \ ++ rm -f $(@D)/.tmp_$(@F)*; \ + fi + endef + diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-lzma-2.6.22.9.u --- a/linux/stuff/linux-lzma-2.6.22.9.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2075 +0,0 @@ ---- linux-2.6.22.9/arch/i386/boot/compressed/Makefile -+++ linux-2.6.22.9/arch/i386/boot/compressed/Makefile -@@ -4,7 +4,7 @@ - # create a compressed vmlinux image from the original vmlinux - # - --targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o \ -+targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma head.o misc.o piggy.o \ - vmlinux.bin.all vmlinux.relocs - EXTRA_AFLAGS := -traditional - -@@ -39,7 +39,27 @@ $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bi - $(call if_changed,gzip) - endif - -+ifdef CONFIG_RELOCATABLE -+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin.all FORCE -+ $(call if_changed,bzip2) -+else -+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE -+ $(call if_changed,bzip2) -+endif -+ -+ifdef CONFIG_RELOCATABLE -+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE -+ $(call if_changed,lzma) -+else -+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE -+ $(call if_changed,lzma) -+endif -+ - LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T - --$(obj)/piggy.o: $(src)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE -+suffix_$(CONFIG_KERNEL_GZIP) = gz -+suffix_$(CONFIG_KERNEL_BZIP2) = bz2 -+suffix_$(CONFIG_KERNEL_LZMA) = lzma -+ -+$(obj)/piggy.o: $(src)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE - $(call if_changed,ld) - ---- linux-2.6.22.9/arch/i386/boot/compressed/misc.c -+++ linux-2.6.22.9/arch/i386/boot/compressed/misc.c -@@ -121,9 +121,12 @@ - * always be larger than our output buffer. - */ - -+#ifdef CONFIG_KERNEL_GZIP - static uch *inbuf; /* input buffer */ -+#endif - static uch *window; /* Sliding window buffer, (and final output buffer) */ - -+#ifdef CONFIG_KERNEL_GZIP - static unsigned insize; /* valid bytes in inbuf */ - static unsigned inptr; /* index of next byte to be processed in inbuf */ - static unsigned outcnt; /* bytes in output buffer */ -@@ -158,9 +161,14 @@ static unsigned outcnt; /* bytes in out - - static int fill_inbuf(void); - static void flush_window(void); -+#endif -+ - static void error(char *m); -+ -+#ifdef CONFIG_KERNEL_GZIP - static void gzip_mark(void **); - static void gzip_release(void **); -+#endif - - /* - * This is set up by the setup-routine at boot-time -@@ -181,7 +189,9 @@ static long bytes_out = 0; - static void *malloc(int size); - static void free(void *where); - -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2) - static void *memset(void *s, int c, unsigned n); -+#endif - static void *memcpy(void *dest, const void *src, unsigned n); - - static void putstr(const char *); -@@ -189,7 +199,11 @@ static void putstr(const char *); - static unsigned long free_mem_ptr; - static unsigned long free_mem_end_ptr; - -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA) -+#define HEAP_SIZE 0x400000 -+#else - #define HEAP_SIZE 0x4000 -+#endif - - static char *vidmem = (char *)0xb8000; - static int vidport; -@@ -199,7 +213,29 @@ static int lines, cols; - void *xquad_portio; - #endif - -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA) -+ -+#define large_malloc malloc -+#define large_free free -+ -+#ifdef current -+#undef current -+#endif -+ -+#define INCLUDED -+#endif -+ -+#ifdef CONFIG_KERNEL_GZIP - #include "../../../../lib/inflate.c" -+#endif -+ -+#ifdef CONFIG_KERNEL_BZIP2 -+#include "../../../../lib/decompress_bunzip2.c" -+#endif -+ -+#ifdef CONFIG_KERNEL_LZMA -+#include "../../../../lib/decompress_unlzma.c" -+#endif - - static void *malloc(int size) - { -@@ -223,6 +259,7 @@ static void free(void *where) - { /* Don't care */ - } - -+#ifdef CONFIG_KERNEL_GZIP - static void gzip_mark(void **ptr) - { - *ptr = (void *) free_mem_ptr; -@@ -232,6 +269,7 @@ static void gzip_release(void **ptr) - { - free_mem_ptr = (unsigned long) *ptr; - } -+#endif - - static void scroll(void) - { -@@ -279,6 +317,7 @@ static void putstr(const char *s) - outb_p(0xff & (pos >> 1), vidport+1); - } - -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2) - static void* memset(void* s, int c, unsigned n) - { - int i; -@@ -287,6 +326,7 @@ static void* memset(void* s, int c, unsi - for (i=0;i - #include - -+#ifdef CONFIG_RD_BZIP2 -+#include -+#undef STATIC -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+#include -+#undef STATIC -+#endif -+ - #include "do_mounts.h" - - #define BUILD_CRAMDISK -@@ -30,7 +40,15 @@ static int __init ramdisk_start_setup(ch - } - __setup("ramdisk_start=", ramdisk_start_setup); - -+#ifdef CONFIG_RD_GZIP - static int __init crd_load(int in_fd, int out_fd); -+#endif -+#ifdef CONFIG_RD_BZIP2 -+static int __init crd_load_bzip2(int in_fd, int out_fd); -+#endif -+#ifdef CONFIG_RD_LZMA -+static int __init crd_load_lzma(int in_fd, int out_fd); -+#endif - - /* - * This routine tries to find a RAM disk image to load, and returns the -@@ -46,7 +64,7 @@ static int __init crd_load(int in_fd, in - * gzip - */ - static int __init --identify_ramdisk_image(int fd, int start_block) -+identify_ramdisk_image(int fd, int start_block, int *ztype) - { - const int size = 512; - struct minix_super_block *minixsb; -@@ -72,6 +90,7 @@ identify_ramdisk_image(int fd, int start - sys_lseek(fd, start_block * BLOCK_SIZE, 0); - sys_read(fd, buf, size); - -+#ifdef CONFIG_RD_GZIP - /* - * If it matches the gzip magic numbers, return -1 - */ -@@ -79,9 +98,40 @@ identify_ramdisk_image(int fd, int start - printk(KERN_NOTICE - "RAMDISK: Compressed image found at block %d\n", - start_block); -+ *ztype = 0; -+ nblocks = 0; -+ goto done; -+ } -+#endif -+ -+#ifdef CONFIG_RD_BZIP2 -+ /* -+ * If it matches the bzip magic numbers, return -1 -+ */ -+ if (buf[0] == 0x42 && (buf[1] == 0x5a)) { -+ printk(KERN_NOTICE -+ "RAMDISK: Bzipped image found at block %d\n", -+ start_block); -+ *ztype = 1; - nblocks = 0; - goto done; - } -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+ /* -+ * If it matches the bzip magic numbers, return -1 -+ */ -+ if (buf[0] == 0x5d && (buf[1] == 0x00)) { -+ printk(KERN_NOTICE -+ "RAMDISK: Lzma image found at block %d\n", -+ start_block); -+ *ztype = 2; -+ nblocks = 0; -+ goto done; -+ } -+#endif -+ - - /* romfs is at block zero too */ - if (romfsb->word0 == ROMSB_WORD0 && -@@ -145,6 +195,7 @@ int __init rd_load_image(char *from) - int nblocks, i, disk; - char *buf = NULL; - unsigned short rotate = 0; -+ int ztype=-1; - #if !defined(CONFIG_S390) && !defined(CONFIG_PPC_ISERIES) - char rotator[4] = { '|' , '/' , '-' , '\\' }; - #endif -@@ -157,14 +208,38 @@ int __init rd_load_image(char *from) - if (in_fd < 0) - goto noclose_input; - -- nblocks = identify_ramdisk_image(in_fd, rd_image_start); -+ nblocks = identify_ramdisk_image(in_fd, rd_image_start, &ztype); - if (nblocks < 0) - goto done; - - if (nblocks == 0) { - #ifdef BUILD_CRAMDISK -- if (crd_load(in_fd, out_fd) == 0) -- goto successful_load; -+ switch(ztype) { -+ -+#ifdef CONFIG_RD_GZIP -+ case 0: -+ if (crd_load(in_fd, out_fd) == 0) -+ goto successful_load; -+ break; -+#endif -+ -+#ifdef CONFIG_RD_BZIP2 -+ case 1: -+ if (crd_load_bzip2(in_fd, out_fd) == 0) -+ goto successful_load; -+ break; -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+ case 2: -+ if (crd_load_lzma(in_fd, out_fd) == 0) -+ goto successful_load; -+ break; -+#endif -+ -+ default: -+ break; -+ } - #else - printk(KERN_NOTICE - "RAMDISK: Kernel does not support compressed " -@@ -269,6 +344,7 @@ int __init rd_load_disk(int n) - - #ifdef BUILD_CRAMDISK - -+#ifdef CONFIG_RD_GZIP - /* - * gzip declarations - */ -@@ -296,8 +372,11 @@ static unsigned outcnt; /* bytes in out - static int exit_code; - static int unzip_error; - static long bytes_out; -+#endif -+ - static int crd_infd, crd_outfd; - -+#ifdef CONFIG_RD_GZIP - #define get_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf()) - - /* Diagnostic functions (stubbed out) */ -@@ -359,7 +438,22 @@ static int __init fill_inbuf(void) - - return inbuf[0]; - } -+#endif - -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) -+static int __init compr_fill(void *buf, unsigned int len) -+{ -+ int r = sys_read(crd_infd, buf, len); -+ if(r < 0) { -+ printk(KERN_ERR "RAMDISK: error while reading compressed data"); -+ } else if(r == 0) { -+ printk(KERN_ERR "RAMDISK: EOF while reading compressed data"); -+ } -+ return r; -+} -+#endif -+ -+#ifdef CONFIG_RD_GZIP - /* =========================================================================== - * Write the output window window[0..outcnt-1] and update crc and bytes_out. - * (Used for the decompressed data only.) -@@ -385,7 +479,24 @@ static void __init flush_window(void) - bytes_out += (ulg)outcnt; - outcnt = 0; - } -+#endif - -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) -+static int __init compr_flush(void *window, unsigned int outcnt) { -+ static int progressDots=0; -+ int written = sys_write(crd_outfd, window, outcnt); -+ if (written != outcnt) { -+ printk(KERN_ERR "RAMDISK: incomplete write (%d != %d)\n", -+ written, outcnt); -+ } -+ progressDots = (progressDots+1)%10; -+ if(!progressDots) -+ printk("."); -+ return outcnt; -+} -+#endif -+ -+#ifdef CONFIG_RD_GZIP - static void __init error(char *x) - { - printk(KERN_ERR "%s\n", x); -@@ -425,5 +536,43 @@ static int __init crd_load(int in_fd, in - kfree(window); - return result; - } -+#endif -+ -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) -+static int __init crd_load_compr(int in_fd, int out_fd, int size, -+ int (*deco)(char *,int, -+ int(*fill)(void*,unsigned int), -+ int(*flush)(void*,unsigned int), -+ int *)) -+{ -+ int result; -+ char *inbuf = kmalloc(size, GFP_KERNEL); -+ crd_infd = in_fd; -+ crd_outfd = out_fd; -+ if (inbuf == 0) { -+ printk(KERN_ERR "RAMDISK: Couldn't allocate decompression buffer\n"); -+ return -1; -+ } -+ result=deco(inbuf, 0, compr_fill, compr_flush, NULL); -+ kfree(inbuf); -+ printk("\n"); -+ return result; -+} -+#endif -+ -+#ifdef CONFIG_RD_BZIP2 -+static int __init crd_load_bzip2(int in_fd, int out_fd) -+{ -+ return crd_load_compr(in_fd, out_fd, BZIP2_IOBUF_SIZE, bunzip2); -+} -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+static int __init crd_load_lzma(int in_fd, int out_fd) -+{ -+ return crd_load_compr(in_fd, out_fd, LZMA_IOBUF_SIZE, unlzma); -+} -+ -+#endif - - #endif /* BUILD_CRAMDISK */ - ---- linux-2.6.22.9/init/initramfs.c -+++ linux-2.6.22.9/init/initramfs.c -@@ -7,6 +7,15 @@ - #include - #include - -+/* We need to enable RD_GZIP unconditionnally, as the built-in -+ * initramfs is gzip-compressed, alas! -+ * We can only wonder why, though, as the whole kernel (which contains -+ * built-in initramfs) is gzip (or bzip) compressed anyways afterwards... -+ */ -+#ifndef CONFIG_RD_GZIP -+#define CONFIG_RD_GZIP -+#endif -+ - static __initdata char *message; - static void __init error(char *x) - { -@@ -347,11 +356,13 @@ static int __init write_buffer(char *buf - return len - count; - } - --static void __init flush_buffer(char *buf, unsigned len) -+ -+static int __init flush_buffer(char *buf, unsigned len) - { - int written; -+ int origLen = len; - if (message) -- return; -+ return -1; - while ((written = write_buffer(buf, len)) < len && !message) { - char c = buf[written]; - if (c == '0') { -@@ -365,8 +376,24 @@ static void __init flush_buffer(char *bu - } else - error("junk in compressed archive"); - } -+ return origLen; - } - -+#ifdef CONFIG_RD_BZIP2 -+#include -+#undef STATIC -+ -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+#include -+#undef STATIC -+ -+#endif -+ -+static unsigned inptr; /* index of next byte to be processed in inbuf */ -+ -+#ifdef CONFIG_RD_GZIP - /* - * gzip declarations - */ -@@ -388,7 +415,6 @@ static uch *inbuf; - static uch *window; - - static unsigned insize; /* valid bytes in inbuf */ --static unsigned inptr; /* index of next byte to be processed in inbuf */ - static unsigned outcnt; /* bytes in output buffer */ - static long bytes_out; - -@@ -440,6 +466,7 @@ static void __init flush_window(void) - bytes_out += (ulg)outcnt; - outcnt = 0; - } -+#endif - - static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only) - { -@@ -448,9 +475,11 @@ static char * __init unpack_to_rootfs(ch - header_buf = malloc(110); - symlink_buf = malloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1); - name_buf = malloc(N_ALIGN(PATH_MAX)); -+#ifdef CONFIG_RD_GZIP - window = malloc(WSIZE); - if (!window || !header_buf || !symlink_buf || !name_buf) - panic("can't allocate buffers"); -+#endif - state = Start; - this_header = 0; - message = NULL; -@@ -470,6 +499,7 @@ static char * __init unpack_to_rootfs(ch - continue; - } - this_header = 0; -+#ifdef CONFIG_RD_GZIP - insize = len; - inbuf = buf; - inptr = 0; -@@ -477,14 +507,38 @@ static char * __init unpack_to_rootfs(ch - bytes_out = 0; - crc = (ulg)0xffffffffL; /* shift register contents */ - makecrc(); -- gunzip(); -+ if(!gunzip() && message == NULL) -+ goto ok; -+#endif -+ -+#ifdef CONFIG_RD_BZIP2 -+ message = NULL; /* Zero out message, or else cpio will -+ think an error has already occured */ -+ if(!bunzip2(buf, len, NULL, flush_buffer, &inptr) < 0 && -+ message == NULL) { -+ goto ok; -+ } -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+ message = NULL; /* Zero out message, or else cpio will -+ think an error has already occured */ -+ if(!unlzma(buf, len, NULL, flush_buffer, &inptr) < 0 && -+ message == NULL) { -+ goto ok; -+ } -+#endif -+ ok: -+ - if (state != Reset) -- error("junk in gzipped archive"); -+ error("junk in compressed archive"); - this_header = saved_offset + inptr; - buf += inptr; - len -= inptr; - } -+#ifdef CONFIG_RD_GZIP - free(window); -+#endif - free(name_buf); - free(symlink_buf); - free(header_buf); - ---- linux-2.6.22.9/init/Kconfig -+++ linux-2.6.22.9/init/Kconfig -@@ -95,6 +95,56 @@ - - which is done within the script "scripts/setlocalversion".) - -+choice -+ prompt "Kernel compression mode" -+ default KERNEL_GZIP -+ help -+ The linux kernel is a kind of self-extracting executable. -+ Several compression algorithms are available, which differ -+ in efficiency, compression and decompression speed. -+ Compression speed is only relevant when building a kernel. -+ Decompression speed is relevant at each boot. -+ -+ If you have any problems with bzip2 or lzma compressed -+ kernels, mail me (Alain Knaff) . (An older -+ version of this functionality (bzip2 only), for 2.4, was -+ supplied by Christian Ludwig) -+ -+ High compression options are mostly useful for users, who -+ are low on disk space (embedded systems), but for whom ram -+ size matters less. -+ -+ If in doubt, select 'gzip' -+ -+config KERNEL_GZIP -+ bool "Gzip" -+ help -+ The old and tries gzip compression. Its compression ratio is -+ the poorest among the 3 choices; however its speed (both -+ compression and decompression) is the fastest. -+ -+config KERNEL_BZIP2 -+ bool "Bzip2" -+ help -+ Its compression ratio and speed is intermediate. -+ Decompression speed is slowest among the 3. -+ The kernel size is about 10 per cent smaller with bzip2, -+ in comparison to gzip. -+ Bzip2 uses a large amount of memory. For modern kernels -+ you will need at least 8MB RAM or more for booting. -+ -+config KERNEL_LZMA -+ bool "LZMA" -+ help -+ The most recent compression algorithm. -+ Its ratio is best, decompression speed is between the other -+ 2. Compression is slowest. -+ The kernel size is about 33 per cent smaller with lzma, -+ in comparison to gzip. -+ -+endchoice -+ -+ - config SWAP - bool "Support for paging of anonymous memory (swap)" - depends on MMU && BLOCK - ---- linux-2.6.22.9/lib/decompress_bunzip2.c -+++ linux-2.6.22.9/lib/decompress_bunzip2.c -@@ -0,0 +1,645 @@ -+/* vi: set sw=4 ts=4: */ -+/* Small bzip2 deflate implementation, by Rob Landley (rob@landley.net). -+ -+ Based on bzip2 decompression code by Julian R Seward (jseward@acm.org), -+ which also acknowledges contributions by Mike Burrows, David Wheeler, -+ Peter Fenwick, Alistair Moffat, Radford Neal, Ian H. Witten, -+ Robert Sedgewick, and Jon L. Bentley. -+ -+ This code is licensed under the LGPLv2: -+ LGPL (http://www.gnu.org/copyleft/lgpl.html -+*/ -+ -+/* -+ Size and speed optimizations by Manuel Novoa III (mjn3@codepoet.org). -+ -+ More efficient reading of Huffman codes, a streamlined read_bunzip() -+ function, and various other tweaks. In (limited) tests, approximately -+ 20% faster than bzcat on x86 and about 10% faster on arm. -+ -+ Note that about 2/3 of the time is spent in read_unzip() reversing -+ the Burrows-Wheeler transformation. Much of that time is delay -+ resulting from cache misses. -+ -+ I would ask that anyone benefiting from this work, especially those -+ using it in commercial products, consider making a donation to my local -+ non-profit hospice organization in the name of the woman I loved, who -+ passed away Feb. 12, 2003. -+ -+ In memory of Toni W. Hagan -+ -+ Hospice of Acadiana, Inc. -+ 2600 Johnston St., Suite 200 -+ Lafayette, LA 70503-3240 -+ -+ Phone (337) 232-1234 or 1-800-738-2226 -+ Fax (337) 232-1297 -+ -+ http://www.hospiceacadiana.com/ -+ -+ Manuel -+ */ -+ -+/* -+ Made it fit for running in Linux Kernel by Alain Knaff (alain@knaff.lu) -+*/ -+ -+ -+#ifndef STATIC -+ -+#include -+#include -+#include -+ -+#ifdef TEST -+#include "test.h" -+#else -+#include -+#endif -+ -+static void __init *large_malloc(size_t size) -+{ -+ return vmalloc(size); -+} -+ -+static void __init large_free(void *where) -+{ -+ vfree(where); -+} -+ -+#ifndef TEST -+static void __init *malloc(size_t size) -+{ -+ return kmalloc(size, GFP_KERNEL); -+} -+ -+static void __init free(void *where) -+{ -+ kfree(where); -+} -+ -+static void __init error(char *x) -+{ -+ printk(KERN_ERR "%s\n", x); -+} -+#endif -+ -+#define STATIC /**/ -+ -+#endif -+ -+#include -+ -+ -+/* Constants for Huffman coding */ -+#define MAX_GROUPS 6 -+#define GROUP_SIZE 50 /* 64 would have been more efficient */ -+#define MAX_HUFCODE_BITS 20 /* Longest Huffman code allowed */ -+#define MAX_SYMBOLS 258 /* 256 literals + RUNA + RUNB */ -+#define SYMBOL_RUNA 0 -+#define SYMBOL_RUNB 1 -+ -+/* Status return values */ -+#define RETVAL_OK 0 -+#define RETVAL_LAST_BLOCK (-1) -+#define RETVAL_NOT_BZIP_DATA (-2) -+#define RETVAL_UNEXPECTED_INPUT_EOF (-3) -+#define RETVAL_UNEXPECTED_OUTPUT_EOF (-4) -+#define RETVAL_DATA_ERROR (-5) -+#define RETVAL_OUT_OF_MEMORY (-6) -+#define RETVAL_OBSOLETE_INPUT (-7) -+ -+ -+/* This is what we know about each Huffman coding group */ -+struct group_data { -+ /* We have an extra slot at the end of limit[] for a sentinal value. */ -+ int limit[MAX_HUFCODE_BITS+1],base[MAX_HUFCODE_BITS],permute[MAX_SYMBOLS]; -+ int minLen, maxLen; -+}; -+ -+/* Structure holding all the housekeeping data, including IO buffers and -+ memory that persists between calls to bunzip */ -+typedef struct { -+ /* State for interrupting output loop */ -+ int writeCopies,writePos,writeRunCountdown,writeCount,writeCurrent; -+ /* I/O tracking data (file handles, buffers, positions, etc.) */ -+ int (*fill)(void*,unsigned int); -+ int inbufCount,inbufPos /*,outbufPos*/; -+ unsigned char *inbuf /*,*outbuf*/; -+ unsigned int inbufBitCount, inbufBits; -+ /* The CRC values stored in the block header and calculated from the data */ -+ unsigned int crc32Table[256],headerCRC, totalCRC, writeCRC; -+ /* Intermediate buffer and its size (in bytes) */ -+ unsigned int *dbuf, dbufSize; -+ /* These things are a bit too big to go on the stack */ -+ unsigned char selectors[32768]; /* nSelectors=15 bits */ -+ struct group_data groups[MAX_GROUPS]; /* Huffman coding tables */ -+ int io_error; /* non-zero if we have IO error */ -+} bunzip_data; -+ -+ -+/* Return the next nnn bits of input. All reads from the compressed input -+ are done through this function. All reads are big endian */ -+static unsigned int get_bits(bunzip_data *bd, char bits_wanted) -+{ -+ unsigned int bits=0; -+ -+ /* If we need to get more data from the byte buffer, do so. (Loop getting -+ one byte at a time to enforce endianness and avoid unaligned access.) */ -+ while (bd->inbufBitCountinbufPos==bd->inbufCount) { -+ if(bd->io_error) -+ return 0; -+ if((bd->inbufCount = bd->fill(bd->inbuf, BZIP2_IOBUF_SIZE)) <= 0) { -+ bd->io_error=RETVAL_UNEXPECTED_INPUT_EOF; -+ return 0; -+ } -+ bd->inbufPos=0; -+ } -+ /* Avoid 32-bit overflow (dump bit buffer to top of output) */ -+ if(bd->inbufBitCount>=24) { -+ bits=bd->inbufBits&((1<inbufBitCount)-1); -+ bits_wanted-=bd->inbufBitCount; -+ bits<<=bits_wanted; -+ bd->inbufBitCount=0; -+ } -+ /* Grab next 8 bits of input from buffer. */ -+ bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++]; -+ bd->inbufBitCount+=8; -+ } -+ /* Calculate result */ -+ bd->inbufBitCount-=bits_wanted; -+ bits|=(bd->inbufBits>>bd->inbufBitCount)&((1<dbuf; -+ dbufSize=bd->dbufSize; -+ selectors=bd->selectors; -+ -+ /* Read in header signature and CRC, then validate signature. -+ (last block signature means CRC is for whole file, return now) */ -+ i = get_bits(bd,24); -+ j = get_bits(bd,24); -+ bd->headerCRC=get_bits(bd,32); -+ if ((i == 0x177245) && (j == 0x385090)) return RETVAL_LAST_BLOCK; -+ if ((i != 0x314159) || (j != 0x265359)) return RETVAL_NOT_BZIP_DATA; -+ /* We can add support for blockRandomised if anybody complains. There was -+ some code for this in busybox 1.0.0-pre3, but nobody ever noticed that -+ it didn't actually work. */ -+ if(get_bits(bd,1)) return RETVAL_OBSOLETE_INPUT; -+ if((origPtr=get_bits(bd,24)) > dbufSize) return RETVAL_DATA_ERROR; -+ /* mapping table: if some byte values are never used (encoding things -+ like ascii text), the compression code removes the gaps to have fewer -+ symbols to deal with, and writes a sparse bitfield indicating which -+ values were present. We make a translation table to convert the symbols -+ back to the corresponding bytes. */ -+ t=get_bits(bd, 16); -+ symTotal=0; -+ for (i=0;i<16;i++) { -+ if(t&(1<<(15-i))) { -+ k=get_bits(bd,16); -+ for(j=0;j<16;j++) -+ if(k&(1<<(15-j))) symToByte[symTotal++]=(16*i)+j; -+ } -+ } -+ /* How many different Huffman coding groups does this block use? */ -+ groupCount=get_bits(bd,3); -+ if (groupCount<2 || groupCount>MAX_GROUPS) return RETVAL_DATA_ERROR; -+ /* nSelectors: Every GROUP_SIZE many symbols we select a new Huffman coding -+ group. Read in the group selector list, which is stored as MTF encoded -+ bit runs. (MTF=Move To Front, as each value is used it's moved to the -+ start of the list.) */ -+ if(!(nSelectors=get_bits(bd, 15))) return RETVAL_DATA_ERROR; -+ for(i=0; i=groupCount) return RETVAL_DATA_ERROR; -+ /* Decode MTF to get the next selector */ -+ uc = mtfSymbol[j]; -+ for(;j;j--) mtfSymbol[j] = mtfSymbol[j-1]; -+ mtfSymbol[0]=selectors[i]=uc; -+ } -+ /* Read the Huffman coding tables for each group, which code for symTotal -+ literal symbols, plus two run symbols (RUNA, RUNB) */ -+ symCount=symTotal+2; -+ for (j=0; j (MAX_HUFCODE_BITS-1)) -+ return RETVAL_DATA_ERROR; -+ /* If first bit is 0, stop. Else second bit indicates whether -+ to increment or decrement the value. Optimization: grab 2 -+ bits and unget the second if the first was 0. */ -+ k = get_bits(bd,2); -+ if (k < 2) { -+ bd->inbufBitCount++; -+ break; -+ } -+ /* Add one if second bit 1, else subtract 1. Avoids if/else */ -+ t+=(((k+1)&2)-1); -+ } -+ /* Correct for the initial -1, to get the final symbol length */ -+ length[i]=t+1; -+ } -+ /* Find largest and smallest lengths in this group */ -+ minLen=maxLen=length[0]; -+ for(i = 1; i < symCount; i++) { -+ if(length[i] > maxLen) maxLen = length[i]; -+ else if(length[i] < minLen) minLen = length[i]; -+ } -+ /* Calculate permute[], base[], and limit[] tables from length[]. -+ * -+ * permute[] is the lookup table for converting Huffman coded symbols -+ * into decoded symbols. base[] is the amount to subtract from the -+ * value of a Huffman symbol of a given length when using permute[]. -+ * -+ * limit[] indicates the largest numerical value a symbol with a given -+ * number of bits can have. This is how the Huffman codes can vary in -+ * length: each code with a value>limit[length] needs another bit. -+ */ -+ hufGroup=bd->groups+j; -+ hufGroup->minLen = minLen; -+ hufGroup->maxLen = maxLen; -+ /* Note that minLen can't be smaller than 1, so we adjust the base -+ and limit array pointers so we're not always wasting the first -+ entry. We do this again when using them (during symbol decoding).*/ -+ base=hufGroup->base-1; -+ limit=hufGroup->limit-1; -+ /* Calculate permute[]. Concurently, initialize temp[] and limit[]. */ -+ pp=0; -+ for(i=minLen;i<=maxLen;i++) { -+ temp[i]=limit[i]=0; -+ for(t=0;tpermute[pp++] = t; -+ } -+ /* Count symbols coded for at each bit length */ -+ for (i=0;ilimit[length] comparison. */ -+ limit[i]= (pp << (maxLen - i)) - 1; -+ pp<<=1; -+ base[i+1]=pp-(t+=temp[i]); -+ } -+ limit[maxLen+1] = INT_MAX; /* Sentinal value for reading next sym. */ -+ limit[maxLen]=pp+temp[maxLen]-1; -+ base[minLen]=0; -+ } -+ /* We've finished reading and digesting the block header. Now read this -+ block's Huffman coded symbols from the file and undo the Huffman coding -+ and run length encoding, saving the result into dbuf[dbufCount++]=uc */ -+ -+ /* Initialize symbol occurrence counters and symbol Move To Front table */ -+ for(i=0;i<256;i++) { -+ byteCount[i] = 0; -+ mtfSymbol[i]=(unsigned char)i; -+ } -+ /* Loop through compressed symbols. */ -+ runPos=dbufCount=symCount=selector=0; -+ for(;;) { -+ /* Determine which Huffman coding group to use. */ -+ if(!(symCount--)) { -+ symCount=GROUP_SIZE-1; -+ if(selector>=nSelectors) return RETVAL_DATA_ERROR; -+ hufGroup=bd->groups+selectors[selector++]; -+ base=hufGroup->base-1; -+ limit=hufGroup->limit-1; -+ } -+ /* Read next Huffman-coded symbol. */ -+ /* Note: It is far cheaper to read maxLen bits and back up than it is -+ to read minLen bits and then an additional bit at a time, testing -+ as we go. Because there is a trailing last block (with file CRC), -+ there is no danger of the overread causing an unexpected EOF for a -+ valid compressed file. As a further optimization, we do the read -+ inline (falling back to a call to get_bits if the buffer runs -+ dry). The following (up to got_huff_bits:) is equivalent to -+ j=get_bits(bd,hufGroup->maxLen); -+ */ -+ while (bd->inbufBitCountmaxLen) { -+ if(bd->inbufPos==bd->inbufCount) { -+ j = get_bits(bd,hufGroup->maxLen); -+ goto got_huff_bits; -+ } -+ bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++]; -+ bd->inbufBitCount+=8; -+ }; -+ bd->inbufBitCount-=hufGroup->maxLen; -+ j = (bd->inbufBits>>bd->inbufBitCount)&((1<maxLen)-1); -+got_huff_bits: -+ /* Figure how how many bits are in next symbol and unget extras */ -+ i=hufGroup->minLen; -+ while(j>limit[i]) ++i; -+ bd->inbufBitCount += (hufGroup->maxLen - i); -+ /* Huffman decode value to get nextSym (with bounds checking) */ -+ if ((i > hufGroup->maxLen) -+ || (((unsigned)(j=(j>>(hufGroup->maxLen-i))-base[i])) -+ >= MAX_SYMBOLS)) -+ return RETVAL_DATA_ERROR; -+ nextSym = hufGroup->permute[j]; -+ /* We have now decoded the symbol, which indicates either a new literal -+ byte, or a repeated run of the most recent literal byte. First, -+ check if nextSym indicates a repeated run, and if so loop collecting -+ how many times to repeat the last literal. */ -+ if (((unsigned)nextSym) <= SYMBOL_RUNB) { /* RUNA or RUNB */ -+ /* If this is the start of a new run, zero out counter */ -+ if(!runPos) { -+ runPos = 1; -+ t = 0; -+ } -+ /* Neat trick that saves 1 symbol: instead of or-ing 0 or 1 at -+ each bit position, add 1 or 2 instead. For example, -+ 1011 is 1<<0 + 1<<1 + 2<<2. 1010 is 2<<0 + 2<<1 + 1<<2. -+ You can make any bit pattern that way using 1 less symbol than -+ the basic or 0/1 method (except all bits 0, which would use no -+ symbols, but a run of length 0 doesn't mean anything in this -+ context). Thus space is saved. */ -+ t += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */ -+ runPos <<= 1; -+ continue; -+ } -+ /* When we hit the first non-run symbol after a run, we now know -+ how many times to repeat the last literal, so append that many -+ copies to our buffer of decoded symbols (dbuf) now. (The last -+ literal used is the one at the head of the mtfSymbol array.) */ -+ if(runPos) { -+ runPos=0; -+ if(dbufCount+t>=dbufSize) return RETVAL_DATA_ERROR; -+ -+ uc = symToByte[mtfSymbol[0]]; -+ byteCount[uc] += t; -+ while(t--) dbuf[dbufCount++]=uc; -+ } -+ /* Is this the terminating symbol? */ -+ if(nextSym>symTotal) break; -+ /* At this point, nextSym indicates a new literal character. Subtract -+ one to get the position in the MTF array at which this literal is -+ currently to be found. (Note that the result can't be -1 or 0, -+ because 0 and 1 are RUNA and RUNB. But another instance of the -+ first symbol in the mtf array, position 0, would have been handled -+ as part of a run above. Therefore 1 unused mtf position minus -+ 2 non-literal nextSym values equals -1.) */ -+ if(dbufCount>=dbufSize) return RETVAL_DATA_ERROR; -+ i = nextSym - 1; -+ uc = mtfSymbol[i]; -+ /* Adjust the MTF array. Since we typically expect to move only a -+ * small number of symbols, and are bound by 256 in any case, using -+ * memmove here would typically be bigger and slower due to function -+ * call overhead and other assorted setup costs. */ -+ do { -+ mtfSymbol[i] = mtfSymbol[i-1]; -+ } while (--i); -+ mtfSymbol[0] = uc; -+ uc=symToByte[uc]; -+ /* We have our literal byte. Save it into dbuf. */ -+ byteCount[uc]++; -+ dbuf[dbufCount++] = (unsigned int)uc; -+ } -+ /* At this point, we've read all the Huffman-coded symbols (and repeated -+ runs) for this block from the input stream, and decoded them into the -+ intermediate buffer. There are dbufCount many decoded bytes in dbuf[]. -+ Now undo the Burrows-Wheeler transform on dbuf. -+ See http://dogma.net/markn/articles/bwt/bwt.htm -+ */ -+ /* Turn byteCount into cumulative occurrence counts of 0 to n-1. */ -+ j=0; -+ for(i=0;i<256;i++) { -+ k=j+byteCount[i]; -+ byteCount[i] = j; -+ j=k; -+ } -+ /* Figure out what order dbuf would be in if we sorted it. */ -+ for (i=0;i=dbufCount) return RETVAL_DATA_ERROR; -+ bd->writePos=dbuf[origPtr]; -+ bd->writeCurrent=(unsigned char)(bd->writePos&0xff); -+ bd->writePos>>=8; -+ bd->writeRunCountdown=5; -+ } -+ bd->writeCount=dbufCount; -+ -+ return RETVAL_OK; -+} -+ -+/* Undo burrows-wheeler transform on intermediate buffer to produce output. -+ If start_bunzip was initialized with out_fd=-1, then up to len bytes of -+ data are written to outbuf. Return value is number of bytes written or -+ error (all errors are negative numbers). If out_fd!=-1, outbuf and len -+ are ignored, data is written to out_fd and return is RETVAL_OK or error. -+*/ -+ -+static int read_bunzip(bunzip_data *bd, char *outbuf, int len) -+{ -+ const unsigned int *dbuf; -+ int pos,xcurrent,previous,gotcount; -+ -+ /* If last read was short due to end of file, return last block now */ -+ if(bd->writeCount<0) return bd->writeCount; -+ -+ gotcount = 0; -+ dbuf=bd->dbuf; -+ pos=bd->writePos; -+ xcurrent=bd->writeCurrent; -+ -+ /* We will always have pending decoded data to write into the output -+ buffer unless this is the very first call (in which case we haven't -+ Huffman-decoded a block into the intermediate buffer yet). */ -+ -+ if (bd->writeCopies) { -+ /* Inside the loop, writeCopies means extra copies (beyond 1) */ -+ --bd->writeCopies; -+ /* Loop outputting bytes */ -+ for(;;) { -+ /* If the output buffer is full, snapshot state and return */ -+ if(gotcount >= len) { -+ bd->writePos=pos; -+ bd->writeCurrent=xcurrent; -+ bd->writeCopies++; -+ return len; -+ } -+ /* Write next byte into output buffer, updating CRC */ -+ outbuf[gotcount++] = xcurrent; -+ bd->writeCRC=(((bd->writeCRC)<<8) -+ ^bd->crc32Table[((bd->writeCRC)>>24)^xcurrent]); -+ /* Loop now if we're outputting multiple copies of this byte */ -+ if (bd->writeCopies) { -+ --bd->writeCopies; -+ continue; -+ } -+decode_next_byte: -+ if (!bd->writeCount--) break; -+ /* Follow sequence vector to undo Burrows-Wheeler transform */ -+ previous=xcurrent; -+ pos=dbuf[pos]; -+ xcurrent=pos&0xff; -+ pos>>=8; -+ /* After 3 consecutive copies of the same byte, the 4th is a repeat -+ count. We count down from 4 instead -+ * of counting up because testing for non-zero is faster */ -+ if(--bd->writeRunCountdown) { -+ if(xcurrent!=previous) bd->writeRunCountdown=4; -+ } else { -+ /* We have a repeated run, this byte indicates the count */ -+ bd->writeCopies=xcurrent; -+ xcurrent=previous; -+ bd->writeRunCountdown=5; -+ /* Sometimes there are just 3 bytes (run length 0) */ -+ if(!bd->writeCopies) goto decode_next_byte; -+ /* Subtract the 1 copy we'd output anyway to get extras */ -+ --bd->writeCopies; -+ } -+ } -+ /* Decompression of this block completed successfully */ -+ bd->writeCRC=~bd->writeCRC; -+ bd->totalCRC=((bd->totalCRC<<1) | (bd->totalCRC>>31)) ^ bd->writeCRC; -+ /* If this block had a CRC error, force file level CRC error. */ -+ if(bd->writeCRC!=bd->headerCRC) { -+ bd->totalCRC=bd->headerCRC+1; -+ return RETVAL_LAST_BLOCK; -+ } -+ } -+ -+ /* Refill the intermediate buffer by Huffman-decoding next block of input */ -+ /* (previous is just a convenient unused temp variable here) */ -+ previous=get_next_block(bd); -+ if(previous) { -+ bd->writeCount=previous; -+ return (previous!=RETVAL_LAST_BLOCK) ? previous : gotcount; -+ } -+ bd->writeCRC=0xffffffffUL; -+ pos=bd->writePos; -+ xcurrent=bd->writeCurrent; -+ goto decode_next_byte; -+} -+ -+static int nofill(void *buf,unsigned int len) { -+ return -1; -+} -+ -+/* Allocate the structure, read file header. If in_fd==-1, inbuf must contain -+ a complete bunzip file (len bytes long). If in_fd!=-1, inbuf and len are -+ ignored, and data is read from file handle into temporary buffer. */ -+static int start_bunzip(bunzip_data **bdp, void *inbuf, int len, -+ int (*fill)(void*,unsigned int)) -+{ -+ bunzip_data *bd; -+ unsigned int i,j,c; -+ const unsigned int BZh0=(((unsigned int)'B')<<24)+(((unsigned int)'Z')<<16) -+ +(((unsigned int)'h')<<8)+(unsigned int)'0'; -+ -+ /* Figure out how much data to allocate */ -+ i=sizeof(bunzip_data); -+ -+ /* Allocate bunzip_data. Most fields initialize to zero. */ -+ bd=*bdp=malloc(i); -+ memset(bd,0,sizeof(bunzip_data)); -+ /* Setup input buffer */ -+ bd->inbuf=inbuf; -+ bd->inbufCount=len; -+ if(fill != NULL) -+ bd->fill=fill; -+ else -+ bd->fill=nofill; -+ -+ /* Init the CRC32 table (big endian) */ -+ for(i=0;i<256;i++) { -+ c=i<<24; -+ for(j=8;j;j--) -+ c=c&0x80000000 ? (c<<1)^0x04c11db7 : (c<<1); -+ bd->crc32Table[i]=c; -+ } -+ -+ /* Ensure that file starts with "BZh['1'-'9']." */ -+ i = get_bits(bd,32); -+ if (((unsigned int)(i-BZh0-1)) >= 9) return RETVAL_NOT_BZIP_DATA; -+ -+ /* Fourth byte (ascii '1'-'9'), indicates block size in units of 100k of -+ uncompressed data. Allocate intermediate buffer for block. */ -+ bd->dbufSize=100000*(i-BZh0); -+ -+ bd->dbuf=large_malloc(bd->dbufSize * sizeof(int)); -+ return RETVAL_OK; -+} -+ -+/* Example usage: decompress src_fd to dst_fd. (Stops at end of bzip data, -+ not end of file.) */ -+STATIC int bunzip2(char *inbuf, int len, -+ int(*fill)(void*,unsigned int), -+ int(*writebb)(char*,unsigned int), -+ int *pos) -+{ -+ char *outbuf; -+ bunzip_data *bd; -+ int i; -+ -+ outbuf=malloc(BZIP2_IOBUF_SIZE); -+ if(!(i=start_bunzip(&bd,inbuf,len,fill))) { -+ for(;;) { -+ if((i=read_bunzip(bd,outbuf,BZIP2_IOBUF_SIZE)) <= 0) break; -+ if(i!=writebb(outbuf,i)) { -+ i=RETVAL_UNEXPECTED_OUTPUT_EOF; -+ break; -+ } -+ } -+ } -+ /* Check CRC and release memory */ -+ if(i==RETVAL_LAST_BLOCK) { -+ if (bd->headerCRC!=bd->totalCRC) { -+ error("Data integrity error when decompressing."); -+ } else { -+ i=RETVAL_OK; -+ } -+ } -+ else if (i==RETVAL_UNEXPECTED_OUTPUT_EOF) { -+ error("Compressed file ends unexpectedly"); -+ } -+ if(bd->dbuf) large_free(bd->dbuf); -+ if(pos) -+ *pos = bd->inbufPos; -+ free(bd); -+ free(outbuf); -+ -+ return i; -+} -+ - ---- linux-2.6.22.9/lib/decompress_unlzma.c -+++ linux-2.6.22.9/lib/decompress_unlzma.c -@@ -0,0 +1,605 @@ -+/* Lzma decompressor for Linux kernel. Shamelessly snarfed -+ * from busybox 1.1.1 -+ * -+ * Linux kernel adaptation -+ * Copyright (C) 2006 Alain -+ * -+ * Based on small lzma deflate implementation/Small range coder -+ * implementation for lzma. -+ * Copyright (C) 2006 Aurelien Jacobs -+ * -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) -+ * Copyright (C) 1999-2005 Igor Pavlov -+ * -+ * Copyrights of the parts, see headers below. -+ * -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#ifndef STATIC -+ -+#include -+#include -+#include -+ -+#ifdef TEST -+#include "test.h" -+#else -+#include -+#endif -+ -+static void __init *large_malloc(size_t size) -+{ -+ return vmalloc(size); -+} -+ -+static void __init large_free(void *where) -+{ -+ vfree(where); -+} -+ -+#ifndef TEST -+static void __init *malloc(size_t size) -+{ -+ return kmalloc(size, GFP_KERNEL); -+} -+ -+static void __init free(void *where) -+{ -+ kfree(where); -+} -+ -+static void __init error(char *x) -+{ -+ printk(KERN_ERR "%s\n", x); -+} -+ -+#endif -+ -+#define STATIC /**/ -+ -+#endif -+ -+#include -+ -+#define MIN(a,b) (((a)<(b))?(a):(b)) -+ -+static long long read_int(unsigned char *ptr, int size) -+{ -+ int i; -+ long long ret=0; -+ -+ for(i=0; i -+ * -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) -+ * Copyright (c) 1999-2005 Igor Pavlov -+ */ -+ -+#ifndef always_inline -+# if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >0) -+# define always_inline __attribute__((always_inline)) inline -+# else -+# define always_inline inline -+# endif -+#endif -+ -+#ifdef CONFIG_FEATURE_LZMA_FAST -+# define speed_inline always_inline -+#else -+# define speed_inline -+#endif -+ -+ -+typedef struct { -+ int (*fill)(void*,unsigned int); -+ uint8_t *ptr; -+ uint8_t *buffer; -+ uint8_t *buffer_end; -+ int buffer_size; -+ uint32_t code; -+ uint32_t range; -+ uint32_t bound; -+} rc_t; -+ -+ -+#define RC_TOP_BITS 24 -+#define RC_MOVE_BITS 5 -+#define RC_MODEL_TOTAL_BITS 11 -+ -+ -+/* Called twice: once at startup and once in rc_normalize() */ -+static void rc_read(rc_t * rc) -+{ -+ rc->buffer_size = rc->fill((char*)rc->buffer, LZMA_IOBUF_SIZE); -+ if (rc->buffer_size <= 0) -+ error("unexpected EOF"); -+ rc->ptr = rc->buffer; -+ rc->buffer_end = rc->buffer + rc->buffer_size; -+} -+ -+/* Called once */ -+static always_inline void rc_init(rc_t * rc, int (*fill)(void*,unsigned int), -+ char *buffer, int buffer_size) -+{ -+ rc->fill = fill; -+ rc->buffer = (uint8_t *)buffer; -+ rc->buffer_size = buffer_size; -+ rc->buffer_end = rc->buffer + rc->buffer_size; -+ rc->ptr = rc->buffer; -+ -+ rc->code = 0; -+ rc->range = 0xFFFFFFFF; -+} -+ -+static always_inline void rc_init_code(rc_t * rc) -+{ -+ int i; -+ -+ for (i = 0; i < 5; i++) { -+ if (rc->ptr >= rc->buffer_end) -+ rc_read(rc); -+ rc->code = (rc->code << 8) | *rc->ptr++; -+ } -+} -+ -+ -+/* Called once. TODO: bb_maybe_free() */ -+static always_inline void rc_free(rc_t * rc) -+{ -+ free(rc->buffer); -+} -+ -+/* Called twice, but one callsite is in speed_inline'd rc_is_bit_0_helper() */ -+static void rc_do_normalize(rc_t * rc) -+{ -+ if (rc->ptr >= rc->buffer_end) -+ rc_read(rc); -+ rc->range <<= 8; -+ rc->code = (rc->code << 8) | *rc->ptr++; -+} -+static always_inline void rc_normalize(rc_t * rc) -+{ -+ if (rc->range < (1 << RC_TOP_BITS)) { -+ rc_do_normalize(rc); -+ } -+} -+ -+/* Called 9 times */ -+/* Why rc_is_bit_0_helper exists? -+ * Because we want to always expose (rc->code < rc->bound) to optimizer -+ */ -+static speed_inline uint32_t rc_is_bit_0_helper(rc_t * rc, uint16_t * p) -+{ -+ rc_normalize(rc); -+ rc->bound = *p * (rc->range >> RC_MODEL_TOTAL_BITS); -+ return rc->bound; -+} -+static always_inline int rc_is_bit_0(rc_t * rc, uint16_t * p) -+{ -+ uint32_t t = rc_is_bit_0_helper(rc, p); -+ return rc->code < t; -+} -+ -+/* Called ~10 times, but very small, thus inlined */ -+static speed_inline void rc_update_bit_0(rc_t * rc, uint16_t * p) -+{ -+ rc->range = rc->bound; -+ *p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS; -+} -+static speed_inline void rc_update_bit_1(rc_t * rc, uint16_t * p) -+{ -+ rc->range -= rc->bound; -+ rc->code -= rc->bound; -+ *p -= *p >> RC_MOVE_BITS; -+} -+ -+/* Called 4 times in unlzma loop */ -+static int rc_get_bit(rc_t * rc, uint16_t * p, int *symbol) -+{ -+ if (rc_is_bit_0(rc, p)) { -+ rc_update_bit_0(rc, p); -+ *symbol *= 2; -+ return 0; -+ } else { -+ rc_update_bit_1(rc, p); -+ *symbol = *symbol * 2 + 1; -+ return 1; -+ } -+} -+ -+/* Called once */ -+static always_inline int rc_direct_bit(rc_t * rc) -+{ -+ rc_normalize(rc); -+ rc->range >>= 1; -+ if (rc->code >= rc->range) { -+ rc->code -= rc->range; -+ return 1; -+ } -+ return 0; -+} -+ -+/* Called twice */ -+static speed_inline void -+rc_bit_tree_decode(rc_t * rc, uint16_t * p, int num_levels, int *symbol) -+{ -+ int i = num_levels; -+ -+ *symbol = 1; -+ while (i--) -+ rc_get_bit(rc, p + *symbol, symbol); -+ *symbol -= 1 << num_levels; -+} -+ -+ -+/* -+ * Small lzma deflate implementation. -+ * Copyright (C) 2006 Aurelien Jacobs -+ * -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) -+ * Copyright (C) 1999-2005 Igor Pavlov -+ */ -+ -+ -+typedef struct { -+ uint8_t pos; -+ uint32_t dict_size; -+ uint64_t dst_size; -+} __attribute__ ((packed)) lzma_header_t; -+ -+ -+#define LZMA_BASE_SIZE 1846 -+#define LZMA_LIT_SIZE 768 -+ -+#define LZMA_NUM_POS_BITS_MAX 4 -+ -+#define LZMA_LEN_NUM_LOW_BITS 3 -+#define LZMA_LEN_NUM_MID_BITS 3 -+#define LZMA_LEN_NUM_HIGH_BITS 8 -+ -+#define LZMA_LEN_CHOICE 0 -+#define LZMA_LEN_CHOICE_2 (LZMA_LEN_CHOICE + 1) -+#define LZMA_LEN_LOW (LZMA_LEN_CHOICE_2 + 1) -+#define LZMA_LEN_MID (LZMA_LEN_LOW \ -+ + (1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_LOW_BITS))) -+#define LZMA_LEN_HIGH (LZMA_LEN_MID \ -+ +(1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_MID_BITS))) -+#define LZMA_NUM_LEN_PROBS (LZMA_LEN_HIGH + (1 << LZMA_LEN_NUM_HIGH_BITS)) -+ -+#define LZMA_NUM_STATES 12 -+#define LZMA_NUM_LIT_STATES 7 -+ -+#define LZMA_START_POS_MODEL_INDEX 4 -+#define LZMA_END_POS_MODEL_INDEX 14 -+#define LZMA_NUM_FULL_DISTANCES (1 << (LZMA_END_POS_MODEL_INDEX >> 1)) -+ -+#define LZMA_NUM_POS_SLOT_BITS 6 -+#define LZMA_NUM_LEN_TO_POS_STATES 4 -+ -+#define LZMA_NUM_ALIGN_BITS 4 -+ -+#define LZMA_MATCH_MIN_LEN 2 -+ -+#define LZMA_IS_MATCH 0 -+#define LZMA_IS_REP (LZMA_IS_MATCH + (LZMA_NUM_STATES <= rc.buffer_end) -+ rc_read(&rc); -+ ((unsigned char *)&header)[i] = *rc.ptr++; -+ } -+ -+ if (header.pos >= (9 * 5 * 5)) -+ error("bad header"); -+ -+ mi = header.pos / 9; -+ lc = header.pos % 9; -+ pb = mi / 5; -+ lp = mi % 5; -+ pos_state_mask = (1 << pb) - 1; -+ literal_pos_mask = (1 << lp) - 1; -+ -+ ENDIAN_CONVERT(header.dict_size); -+ ENDIAN_CONVERT(header.dst_size); -+ -+ if (header.dict_size == 0) -+ header.dict_size = 1; -+ -+ bufsize = MIN(header.dst_size, header.dict_size); -+ buffer = large_malloc(bufsize); -+ if(buffer == NULL) -+ return -1; -+ -+ num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)); -+ p = large_malloc(num_probs * sizeof(*p)); -+ num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp)); -+ for (i = 0; i < num_probs; i++) -+ p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1; -+ -+ rc_init_code(&rc); -+ -+ while (global_pos + buffer_pos < header.dst_size) { -+ int pos_state = (buffer_pos + global_pos) & pos_state_mask; -+ -+ prob = -+ p + LZMA_IS_MATCH + (state << LZMA_NUM_POS_BITS_MAX) + pos_state; -+ if (rc_is_bit_0(&rc, prob)) { -+ mi = 1; -+ rc_update_bit_0(&rc, prob); -+ prob = (p + LZMA_LITERAL + (LZMA_LIT_SIZE -+ * ((((buffer_pos + global_pos) & literal_pos_mask) << lc) -+ + (previous_byte >> (8 - lc))))); -+ -+ if (state >= LZMA_NUM_LIT_STATES) { -+ int match_byte; -+ -+ pos = buffer_pos - rep0; -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } -+ match_byte = buffer[pos]; -+ do { -+ int bit; -+ -+ match_byte <<= 1; -+ bit = match_byte & 0x100; -+ prob_lit = prob + 0x100 + bit + mi; -+ if (rc_get_bit(&rc, prob_lit, &mi)) { -+ if (!bit) -+ break; -+ } else { -+ if (bit) -+ break; -+ } -+ } while (mi < 0x100); -+ } -+ while (mi < 0x100) { -+ prob_lit = prob + mi; -+ rc_get_bit(&rc, prob_lit, &mi); -+ } -+ previous_byte = (uint8_t) mi; -+ -+ buffer[buffer_pos++] = previous_byte; -+ if (buffer_pos == header.dict_size) { -+ buffer_pos = 0; -+ global_pos += header.dict_size; -+ writebb((char*)buffer, header.dict_size); -+ } -+ if (state < 4) -+ state = 0; -+ else if (state < 10) -+ state -= 3; -+ else -+ state -= 6; -+ } else { -+ int offset; -+ uint16_t *prob_len; -+ -+ rc_update_bit_1(&rc, prob); -+ prob = p + LZMA_IS_REP + state; -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ rep3 = rep2; -+ rep2 = rep1; -+ rep1 = rep0; -+ state = state < LZMA_NUM_LIT_STATES ? 0 : 3; -+ prob = p + LZMA_LEN_CODER; -+ } else { -+ rc_update_bit_1(&rc, prob); -+ prob = p + LZMA_IS_REP_G0 + state; -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ prob = (p + LZMA_IS_REP_0_LONG -+ + (state << LZMA_NUM_POS_BITS_MAX) + pos_state); -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ -+ state = state < LZMA_NUM_LIT_STATES ? 9 : 11; -+ pos = buffer_pos - rep0; -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } -+ previous_byte = buffer[pos]; -+ buffer[buffer_pos++] = previous_byte; -+ if (buffer_pos == header.dict_size) { -+ buffer_pos = 0; -+ global_pos += header.dict_size; -+ writebb((char*)buffer, header.dict_size); -+ } -+ continue; -+ } else { -+ rc_update_bit_1(&rc, prob); -+ } -+ } else { -+ uint32_t distance; -+ -+ rc_update_bit_1(&rc, prob); -+ prob = p + LZMA_IS_REP_G1 + state; -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ distance = rep1; -+ } else { -+ rc_update_bit_1(&rc, prob); -+ prob = p + LZMA_IS_REP_G2 + state; -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ distance = rep2; -+ } else { -+ rc_update_bit_1(&rc, prob); -+ distance = rep3; -+ rep3 = rep2; -+ } -+ rep2 = rep1; -+ } -+ rep1 = rep0; -+ rep0 = distance; -+ } -+ state = state < LZMA_NUM_LIT_STATES ? 8 : 11; -+ prob = p + LZMA_REP_LEN_CODER; -+ } -+ -+ prob_len = prob + LZMA_LEN_CHOICE; -+ if (rc_is_bit_0(&rc, prob_len)) { -+ rc_update_bit_0(&rc, prob_len); -+ prob_len = (prob + LZMA_LEN_LOW -+ + (pos_state << LZMA_LEN_NUM_LOW_BITS)); -+ offset = 0; -+ num_bits = LZMA_LEN_NUM_LOW_BITS; -+ } else { -+ rc_update_bit_1(&rc, prob_len); -+ prob_len = prob + LZMA_LEN_CHOICE_2; -+ if (rc_is_bit_0(&rc, prob_len)) { -+ rc_update_bit_0(&rc, prob_len); -+ prob_len = (prob + LZMA_LEN_MID -+ + (pos_state << LZMA_LEN_NUM_MID_BITS)); -+ offset = 1 << LZMA_LEN_NUM_LOW_BITS; -+ num_bits = LZMA_LEN_NUM_MID_BITS; -+ } else { -+ rc_update_bit_1(&rc, prob_len); -+ prob_len = prob + LZMA_LEN_HIGH; -+ offset = ((1 << LZMA_LEN_NUM_LOW_BITS) -+ + (1 << LZMA_LEN_NUM_MID_BITS)); -+ num_bits = LZMA_LEN_NUM_HIGH_BITS; -+ } -+ } -+ rc_bit_tree_decode(&rc, prob_len, num_bits, &len); -+ len += offset; -+ -+ if (state < 4) { -+ int pos_slot; -+ -+ state += LZMA_NUM_LIT_STATES; -+ prob = -+ p + LZMA_POS_SLOT + -+ ((len < -+ LZMA_NUM_LEN_TO_POS_STATES ? len : -+ LZMA_NUM_LEN_TO_POS_STATES - 1) -+ << LZMA_NUM_POS_SLOT_BITS); -+ rc_bit_tree_decode(&rc, prob, LZMA_NUM_POS_SLOT_BITS, -+ &pos_slot); -+ if (pos_slot >= LZMA_START_POS_MODEL_INDEX) { -+ num_bits = (pos_slot >> 1) - 1; -+ rep0 = 2 | (pos_slot & 1); -+ if (pos_slot < LZMA_END_POS_MODEL_INDEX) { -+ rep0 <<= num_bits; -+ prob = p + LZMA_SPEC_POS + rep0 - pos_slot - 1; -+ } else { -+ num_bits -= LZMA_NUM_ALIGN_BITS; -+ while (num_bits--) -+ rep0 = (rep0 << 1) | rc_direct_bit(&rc); -+ prob = p + LZMA_ALIGN; -+ rep0 <<= LZMA_NUM_ALIGN_BITS; -+ num_bits = LZMA_NUM_ALIGN_BITS; -+ } -+ i = 1; -+ mi = 1; -+ while (num_bits--) { -+ if (rc_get_bit(&rc, prob + mi, &mi)) -+ rep0 |= i; -+ i <<= 1; -+ } -+ } else -+ rep0 = pos_slot; -+ if (++rep0 == 0) -+ break; -+ } -+ -+ len += LZMA_MATCH_MIN_LEN; -+ -+ do { -+ pos = buffer_pos - rep0; -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } -+ previous_byte = buffer[pos]; -+ buffer[buffer_pos++] = previous_byte; -+ if (buffer_pos == header.dict_size) { -+ buffer_pos = 0; -+ global_pos += header.dict_size; -+ writebb((char*)buffer, header.dict_size); -+ } -+ len--; -+ } while (len != 0 && buffer_pos < header.dst_size); -+ } -+ } -+ -+ writebb((char*)buffer, buffer_pos); -+ if(posp) { -+ *posp = rc.ptr-rc.buffer; -+ } -+ large_free(buffer); -+ return 0; -+ fail: -+ large_free(buffer); -+ return -1; -+} - ---- linux-2.6.22.9/lib/Makefile -+++ linux-2.6.22.9/lib/Makefile -@@ -46,6 +46,10 @@ - obj-$(CONFIG_LIBCRC32C) += libcrc32c.o - obj-$(CONFIG_GENERIC_ALLOCATOR) += genalloc.o - -+obj-$(CONFIG_RD_BZIP2) += decompress_bunzip2.o -+obj-$(CONFIG_RD_LZMA) += decompress_unlzma.o -+ -+ - obj-$(CONFIG_ZLIB_INFLATE) += zlib_inflate/ - obj-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate/ - obj-$(CONFIG_REED_SOLOMON) += reed_solomon/ - ---- linux-2.6.22.9/scripts/Makefile.lib -+++ linux-2.6.22.9/scripts/Makefile.lib -@@ -162,4 +162,17 @@ - quiet_cmd_gzip = GZIP $@ - cmd_gzip = gzip -f -9 < $< > $@ - -+# Append size -+size_append=perl -e 'print(pack("i",(stat($$ARGV[0]))[7]));' - -+# Bzip2 -+# --------------------------------------------------------------------------- -+ -+quiet_cmd_bzip2 = BZIP2 $@ -+cmd_bzip2 = (bzip2 -9 < $< ; $(size_append) $<) > $@ -+ -+# Lzma -+# --------------------------------------------------------------------------- -+ -+quiet_cmd_lzma = LZMA $@ -+cmd_lzma = (lzma e $< -so ; $(size_append) $<) >$@ diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-lzma-2.6.24.2.u --- a/linux/stuff/linux-lzma-2.6.24.2.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2263 +0,0 @@ ---- linux-2.6.24.2/arch/x86/boot/compressed/Makefile_32 -+++ linux-2.6.24.2/arch/x86/boot/compressed/Makefile_32 -@@ -4,7 +4,7 @@ - # create a compressed vmlinux image from the original vmlinux - # - --targets := vmlinux vmlinux.bin vmlinux.bin.gz head_32.o misc_32.o piggy.o \ -+targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma head_32.o misc_32.o piggy.o \ - vmlinux.bin.all vmlinux.relocs - EXTRA_AFLAGS := -traditional - -@@ -44,7 +44,27 @@ $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bi - $(call if_changed,gzip) - endif - -+ifdef CONFIG_RELOCATABLE -+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin.all FORCE -+ $(call if_changed,bzip2) -+else -+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE -+ $(call if_changed,bzip2) -+endif -+ -+ifdef CONFIG_RELOCATABLE -+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE -+ $(call if_changed,lzma) -+else -+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE -+ $(call if_changed,lzma) -+endif -+ - LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T - --$(obj)/piggy.o: $(src)/vmlinux_32.scr $(obj)/vmlinux.bin.gz FORCE -+suffix_$(CONFIG_KERNEL_GZIP) = gz -+suffix_$(CONFIG_KERNEL_BZIP2) = bz2 -+suffix_$(CONFIG_KERNEL_LZMA) = lzma -+ -+$(obj)/piggy.o: $(src)/vmlinux_32.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE - $(call if_changed,ld) - ---- linux-2.6.24.2/arch/x86/boot/compressed/Makefile_64 -+++ linux-2.6.24.2/arch/x86/boot/compressed/Makefile_64 -@@ -4,7 +4,7 @@ - # create a compressed vmlinux image from the original vmlinux - # - --targets := vmlinux vmlinux.bin vmlinux.bin.gz head_64.o misc_64.o piggy.o -+targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma head_64.o misc_64.o piggy.o - - KBUILD_CFLAGS := -m64 -D__KERNEL__ $(LINUXINCLUDE) -O2 \ - -fno-strict-aliasing -fPIC -mcmodel=small \ - ---- linux-2.6.24.2/arch/x86/boot/compressed/misc_32.c -+++ linux-2.6.24.2/arch/x86/boot/compressed/misc_32.c -@@ -121,9 +121,12 @@ typedef unsigned long ulg; - * always be larger than our output buffer. - */ - -+#ifdef CONFIG_KERNEL_GZIP - static uch *inbuf; /* input buffer */ -+#endif - static uch *window; /* Sliding window buffer, (and final output buffer) */ - -+#ifdef CONFIG_KERNEL_GZIP - static unsigned insize; /* valid bytes in inbuf */ - static unsigned inptr; /* index of next byte to be processed in inbuf */ - static unsigned outcnt; /* bytes in output buffer */ -@@ -158,9 +161,14 @@ static unsigned outcnt; /* bytes in out - - static int fill_inbuf(void); - static void flush_window(void); -+#endif -+ - static void error(char *m); -+ -+#ifdef CONFIG_KERNEL_GZIP - static void gzip_mark(void **); - static void gzip_release(void **); -+#endif - - /* - * This is set up by the setup-routine at boot-time -@@ -181,7 +189,9 @@ static long bytes_out = 0; - static void *malloc(int size); - static void free(void *where); - -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2) - static void *memset(void *s, int c, unsigned n); -+#endif - static void *memcpy(void *dest, const void *src, unsigned n); - - static void putstr(const char *); -@@ -189,7 +199,11 @@ static void putstr(const char *); - static unsigned long free_mem_ptr; - static unsigned long free_mem_end_ptr; - -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA) -+#define HEAP_SIZE 0x400000 -+#else - #define HEAP_SIZE 0x4000 -+#endif - - static char *vidmem = (char *)0xb8000; - static int vidport; -@@ -199,7 +213,29 @@ static int lines, cols; - void *xquad_portio; - #endif - -+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA) -+ -+#define large_malloc malloc -+#define large_free free -+ -+#ifdef current -+#undef current -+#endif -+ -+#define INCLUDED -+#endif -+ -+#ifdef CONFIG_KERNEL_GZIP - #include "../../../../lib/inflate.c" -+#endif -+ -+#ifdef CONFIG_KERNEL_BZIP2 -+#include "../../../../lib/decompress_bunzip2.c" -+#endif -+ -+#ifdef CONFIG_KERNEL_LZMA -+#include "../../../../lib/decompress_unlzma.c" -+#endif - - static void *malloc(int size) - { -@@ -223,6 +259,7 @@ static void free(void *where) - { /* Don't care */ - } - -+#ifdef CONFIG_KERNEL_GZIP - static void gzip_mark(void **ptr) - { - *ptr = (void *) free_mem_ptr; -@@ -232,6 +269,7 @@ static void gzip_release(void **ptr) - { - free_mem_ptr = (unsigned long) *ptr; - } -+#endif - - static void scroll(void) - { -@@ -282,6 +320,7 @@ static void putstr(const char *s) - outb_p(0xff & (pos >> 1), vidport+1); - } - -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2) - static void* memset(void* s, int c, unsigned n) - { - int i; -@@ -290,6 +329,7 @@ static void* memset(void* s, int c, unsi - for (i=0;i> 1), vidport+1); - } - -+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2) - static void* memset(void* s, int c, unsigned n) - { - int i; -@@ -283,6 +324,7 @@ static void* memset(void* s, int c, unsi - for (i=0;i= 0xffffffffffUL) - error("Destination address too large"); - -+#ifdef CONFIG_KERNEL_BZIP2 -+ putstr(".\nBunzipping Linux..."); -+ bunzip2(input_data, input_len-4, NULL, compr_flush, NULL); -+#endif -+ -+#ifdef CONFIG_KERNEL_LZMA -+ putstr(".\nUnlzmaing Linux..."); -+ unlzma(input_data, input_len-4, NULL, compr_flush, NULL); -+#endif -+ -+#ifdef CONFIG_KERNEL_GZIP - makecrc(); - putstr(".\nDecompressing Linux..."); - gunzip(); -+#endif - putstr("done.\nBooting the kernel.\n"); - return; - } - ---- linux-2.6.24.2/drivers/block/Kconfig -+++ linux-2.6.24.2/drivers/block/Kconfig -@@ -356,6 +356,30 @@ config BLK_DEV_RAM_BLOCKSIZE - setups function - apparently needed by the rd_load_image routine - that supposes the filesystem in the image uses a 1024 blocksize. - -+config RD_BZIP2 -+ bool "Initial ramdisk compressed using bzip2" -+ default n -+ depends on BLK_DEV_INITRD=y -+ help -+ Support loading of a bzip2 encoded initial ramdisk or cpio buffer -+ If unsure, say N. -+ -+config RD_LZMA -+ bool "Initial ramdisk compressed using lzma" -+ default n -+ depends on BLK_DEV_INITRD=y -+ help -+ Support loading of a lzma encoded initial ramdisk or cpio buffer -+ If unsure, say N. -+ -+config RD_GZIP -+ bool "Initial ramdisk compressed using gzip" -+ default y -+ depends on BLK_DEV_INITRD=y -+ help -+ Support loading of a gzip encoded initial ramdisk or cpio buffer. -+ If unsure, say Y. -+ - config CDROM_PKTCDVD - tristate "Packet writing on CD/DVD media" - depends on !UML - ---- linux-2.6.24.2/include/linux/decompress_bunzip2.h -+++ linux-2.6.24.2/include/linux/decompress_bunzip2.h -@@ -0,0 +1,16 @@ -+#ifndef DECOMPRESS_BUNZIP2_H -+#define DECOMPRESS_BUNZIP2_H -+ -+/* Other housekeeping constants */ -+#define BZIP2_IOBUF_SIZE 4096 -+ -+#ifndef STATIC -+#define STATIC /**/ -+#endif -+ -+STATIC int bunzip2(char *inbuf, int len, -+ int(*fill)(void*,unsigned int), -+ int(*writebb)(char*,unsigned int), -+ int *pos); -+ -+#endif - ---- linux-2.6.24.2/include/linux/decompress_generic.h -+++ linux-2.6.24.2/include/linux/decompress_generic.h -@@ -0,0 +1,28 @@ -+#ifndef DECOMPRESS_GENERIC_H -+#define DECOMPRESS_GENERIC_H -+ -+/* Minimal chunksize to be read. -+ * Bzip2 prefers at least 4096 -+ * Lzma prefers 0x10000 */ -+#define COMPR_IOBUF_SIZE 4096 -+ -+typedef int (*uncompress_fn) (char *inbuf, int len, -+ int(*fill)(char*,unsigned int), -+ int(*writebb)(char*,unsigned int), -+ int *posp); -+ -+/* inbuf - input buffer -+ * len - len of pre-read data in inbuf -+ * fill - function to fill inbuf if empty -+ * writebb - function to write out outbug -+ * posp - if non-null, input position (number of bytes read) will be -+ * returned here -+ * -+ * If len != 0, the inbuf is initialized (with as much data), and fill -+ * should not be called -+ * If len = 0, the inbuf is allocated, but empty. Its size is IOBUF_SIZE -+ * fill should be called (repeatedly...) to read data, at most IOBUF_SIZE -+ */ -+ -+ -+#endif - ---- linux-2.6.24.2/include/linux/decompress_unlzma.h -+++ linux-2.6.24.2/include/linux/decompress_unlzma.h -@@ -0,0 +1,15 @@ -+#ifndef DECOMPRESS_UNLZMA_H -+#define DECOMPRESS_UNLZMA_H -+ -+#define LZMA_IOBUF_SIZE 0x10000 -+ -+#ifndef STATIC -+#define STATIC /**/ -+#endif -+ -+STATIC int unlzma(char *inbuf, int len, -+ int(*fill)(void*,unsigned int), -+ int(*writebb)(char*,unsigned int), -+ int *pos); -+ -+#endif - ---- linux-2.6.24.2/init/do_mounts_rd.c -+++ linux-2.6.24.2/init/do_mounts_rd.c -@@ -8,6 +8,16 @@ - #include - #include - -+#ifdef CONFIG_RD_BZIP2 -+#include -+#undef STATIC -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+#include -+#undef STATIC -+#endif -+ - #include "do_mounts.h" - - #define BUILD_CRAMDISK -@@ -30,7 +40,15 @@ static int __init ramdisk_start_setup(ch - } - __setup("ramdisk_start=", ramdisk_start_setup); - -+#ifdef CONFIG_RD_GZIP - static int __init crd_load(int in_fd, int out_fd); -+#endif -+#ifdef CONFIG_RD_BZIP2 -+static int __init crd_load_bzip2(int in_fd, int out_fd); -+#endif -+#ifdef CONFIG_RD_LZMA -+static int __init crd_load_lzma(int in_fd, int out_fd); -+#endif - - /* - * This routine tries to find a RAM disk image to load, and returns the -@@ -46,7 +64,7 @@ static int __init crd_load(int in_fd, in - * gzip - */ - static int __init --identify_ramdisk_image(int fd, int start_block) -+identify_ramdisk_image(int fd, int start_block, int *ztype) - { - const int size = 512; - struct minix_super_block *minixsb; -@@ -72,6 +90,7 @@ identify_ramdisk_image(int fd, int start - sys_lseek(fd, start_block * BLOCK_SIZE, 0); - sys_read(fd, buf, size); - -+#ifdef CONFIG_RD_GZIP - /* - * If it matches the gzip magic numbers, return -1 - */ -@@ -79,9 +98,40 @@ identify_ramdisk_image(int fd, int start - printk(KERN_NOTICE - "RAMDISK: Compressed image found at block %d\n", - start_block); -+ *ztype = 0; -+ nblocks = 0; -+ goto done; -+ } -+#endif -+ -+#ifdef CONFIG_RD_BZIP2 -+ /* -+ * If it matches the bzip magic numbers, return -1 -+ */ -+ if (buf[0] == 0x42 && (buf[1] == 0x5a)) { -+ printk(KERN_NOTICE -+ "RAMDISK: Bzipped image found at block %d\n", -+ start_block); -+ *ztype = 1; -+ nblocks = 0; -+ goto done; -+ } -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+ /* -+ * If it matches the bzip magic numbers, return -1 -+ */ -+ if (buf[0] == 0x5d && (buf[1] == 0x00)) { -+ printk(KERN_NOTICE -+ "RAMDISK: Lzma image found at block %d\n", -+ start_block); -+ *ztype = 2; - nblocks = 0; - goto done; - } -+#endif -+ - - /* romfs is at block zero too */ - if (romfsb->word0 == ROMSB_WORD0 && -@@ -145,6 +195,7 @@ int __init rd_load_image(char *from) - int nblocks, i, disk; - char *buf = NULL; - unsigned short rotate = 0; -+ int ztype=-1; - #if !defined(CONFIG_S390) && !defined(CONFIG_PPC_ISERIES) - char rotator[4] = { '|' , '/' , '-' , '\\' }; - #endif -@@ -157,14 +208,38 @@ int __init rd_load_image(char *from) - if (in_fd < 0) - goto noclose_input; - -- nblocks = identify_ramdisk_image(in_fd, rd_image_start); -+ nblocks = identify_ramdisk_image(in_fd, rd_image_start, &ztype); - if (nblocks < 0) - goto done; - - if (nblocks == 0) { - #ifdef BUILD_CRAMDISK -- if (crd_load(in_fd, out_fd) == 0) -- goto successful_load; -+ switch(ztype) { -+ -+#ifdef CONFIG_RD_GZIP -+ case 0: -+ if (crd_load(in_fd, out_fd) == 0) -+ goto successful_load; -+ break; -+#endif -+ -+#ifdef CONFIG_RD_BZIP2 -+ case 1: -+ if (crd_load_bzip2(in_fd, out_fd) == 0) -+ goto successful_load; -+ break; -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+ case 2: -+ if (crd_load_lzma(in_fd, out_fd) == 0) -+ goto successful_load; -+ break; -+#endif -+ -+ default: -+ break; -+ } - #else - printk(KERN_NOTICE - "RAMDISK: Kernel does not support compressed " -@@ -269,6 +344,7 @@ int __init rd_load_disk(int n) - - #ifdef BUILD_CRAMDISK - -+#ifdef CONFIG_RD_GZIP - /* - * gzip declarations - */ -@@ -296,8 +372,11 @@ static unsigned outcnt; /* bytes in out - static int exit_code; - static int unzip_error; - static long bytes_out; -+#endif -+ - static int crd_infd, crd_outfd; - -+#ifdef CONFIG_RD_GZIP - #define get_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf()) - - /* Diagnostic functions (stubbed out) */ -@@ -359,7 +438,22 @@ static int __init fill_inbuf(void) - - return inbuf[0]; - } -+#endif -+ -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) -+static int __init compr_fill(void *buf, unsigned int len) -+{ -+ int r = sys_read(crd_infd, buf, len); -+ if(r < 0) { -+ printk(KERN_ERR "RAMDISK: error while reading compressed data"); -+ } else if(r == 0) { -+ printk(KERN_ERR "RAMDISK: EOF while reading compressed data"); -+ } -+ return r; -+} -+#endif - -+#ifdef CONFIG_RD_GZIP - /* =========================================================================== - * Write the output window window[0..outcnt-1] and update crc and bytes_out. - * (Used for the decompressed data only.) -@@ -385,7 +479,24 @@ static void __init flush_window(void) - bytes_out += (ulg)outcnt; - outcnt = 0; - } -+#endif -+ -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) -+static int __init compr_flush(void *window, unsigned int outcnt) { -+ static int progressDots=0; -+ int written = sys_write(crd_outfd, window, outcnt); -+ if (written != outcnt) { -+ printk(KERN_ERR "RAMDISK: incomplete write (%d != %d)\n", -+ written, outcnt); -+ } -+ progressDots = (progressDots+1)%10; -+ if(!progressDots) -+ printk("."); -+ return outcnt; -+} -+#endif - -+#ifdef CONFIG_RD_GZIP - static void __init error(char *x) - { - printk(KERN_ERR "%s\n", x); -@@ -425,5 +536,43 @@ static int __init crd_load(int in_fd, in - kfree(window); - return result; - } -+#endif -+ -+#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) -+static int __init crd_load_compr(int in_fd, int out_fd, int size, -+ int (*deco)(char *,int, -+ int(*fill)(void*,unsigned int), -+ int(*flush)(void*,unsigned int), -+ int *)) -+{ -+ int result; -+ char *inbuf = kmalloc(size, GFP_KERNEL); -+ crd_infd = in_fd; -+ crd_outfd = out_fd; -+ if (inbuf == 0) { -+ printk(KERN_ERR "RAMDISK: Couldn't allocate decompression buffer\n"); -+ return -1; -+ } -+ result=deco(inbuf, 0, compr_fill, compr_flush, NULL); -+ kfree(inbuf); -+ printk("\n"); -+ return result; -+} -+#endif -+ -+#ifdef CONFIG_RD_BZIP2 -+static int __init crd_load_bzip2(int in_fd, int out_fd) -+{ -+ return crd_load_compr(in_fd, out_fd, BZIP2_IOBUF_SIZE, bunzip2); -+} -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+static int __init crd_load_lzma(int in_fd, int out_fd) -+{ -+ return crd_load_compr(in_fd, out_fd, LZMA_IOBUF_SIZE, unlzma); -+} -+ -+#endif - - #endif /* BUILD_CRAMDISK */ - ---- linux-2.6.24.2/init/initramfs.c -+++ linux-2.6.24.2/init/initramfs.c -@@ -7,6 +7,15 @@ - #include - #include - -+/* We need to enable RD_GZIP unconditionnally, as the built-in -+ * initramfs is gzip-compressed, alas! -+ * We can only wonder why, though, as the whole kernel (which contains -+ * built-in initramfs) is gzip (or bzip) compressed anyways afterwards... -+ */ -+#ifndef CONFIG_RD_GZIP -+#define CONFIG_RD_GZIP -+#endif -+ - static __initdata char *message; - static void __init error(char *x) - { -@@ -347,11 +356,13 @@ static int __init write_buffer(char *buf - return len - count; - } - --static void __init flush_buffer(char *buf, unsigned len) -+ -+static int __init flush_buffer(char *buf, unsigned len) - { - int written; -+ int origLen = len; - if (message) -- return; -+ return -1; - while ((written = write_buffer(buf, len)) < len && !message) { - char c = buf[written]; - if (c == '0') { -@@ -365,8 +376,24 @@ static void __init flush_buffer(char *bu - } else - error("junk in compressed archive"); - } -+ return origLen; - } - -+#ifdef CONFIG_RD_BZIP2 -+#include -+#undef STATIC -+ -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+#include -+#undef STATIC -+ -+#endif -+ -+static unsigned inptr; /* index of next byte to be processed in inbuf */ -+ -+#ifdef CONFIG_RD_GZIP - /* - * gzip declarations - */ -@@ -388,7 +415,6 @@ static uch *inbuf; - static uch *window; - - static unsigned insize; /* valid bytes in inbuf */ --static unsigned inptr; /* index of next byte to be processed in inbuf */ - static unsigned outcnt; /* bytes in output buffer */ - static long bytes_out; - -@@ -440,6 +466,7 @@ static void __init flush_window(void) - bytes_out += (ulg)outcnt; - outcnt = 0; - } -+#endif - - static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only) - { -@@ -448,9 +475,11 @@ static char * __init unpack_to_rootfs(ch - header_buf = malloc(110); - symlink_buf = malloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1); - name_buf = malloc(N_ALIGN(PATH_MAX)); -+#ifdef CONFIG_RD_GZIP - window = malloc(WSIZE); - if (!window || !header_buf || !symlink_buf || !name_buf) - panic("can't allocate buffers"); -+#endif - state = Start; - this_header = 0; - message = NULL; -@@ -470,6 +499,7 @@ static char * __init unpack_to_rootfs(ch - continue; - } - this_header = 0; -+#ifdef CONFIG_RD_GZIP - insize = len; - inbuf = buf; - inptr = 0; -@@ -477,14 +507,38 @@ static char * __init unpack_to_rootfs(ch - bytes_out = 0; - crc = (ulg)0xffffffffL; /* shift register contents */ - makecrc(); -- gunzip(); -+ if(!gunzip() && message == NULL) -+ goto ok; -+#endif -+ -+#ifdef CONFIG_RD_BZIP2 -+ message = NULL; /* Zero out message, or else cpio will -+ think an error has already occured */ -+ if(!bunzip2(buf, len, NULL, flush_buffer, &inptr) < 0 && -+ message == NULL) { -+ goto ok; -+ } -+#endif -+ -+#ifdef CONFIG_RD_LZMA -+ message = NULL; /* Zero out message, or else cpio will -+ think an error has already occured */ -+ if(!unlzma(buf, len, NULL, flush_buffer, &inptr) < 0 && -+ message == NULL) { -+ goto ok; -+ } -+#endif -+ ok: -+ - if (state != Reset) -- error("junk in gzipped archive"); -+ error("junk in compressed archive"); - this_header = saved_offset + inptr; - buf += inptr; - len -= inptr; - } -+#ifdef CONFIG_RD_GZIP - free(window); -+#endif - free(name_buf); - free(symlink_buf); - free(header_buf); - ---- linux-2.6.24.2/init/Kconfig -+++ linux-2.6.24.2/init/Kconfig -@@ -92,6 +92,56 @@ config LOCALVERSION_AUTO - - which is done within the script "scripts/setlocalversion".) - -+choice -+ prompt "Kernel compression mode" -+ default KERNEL_GZIP -+ help -+ The linux kernel is a kind of self-extracting executable. -+ Several compression algorithms are available, which differ -+ in efficiency, compression and decompression speed. -+ Compression speed is only relevant when building a kernel. -+ Decompression speed is relevant at each boot. -+ -+ If you have any problems with bzip2 or lzma compressed -+ kernels, mail me (Alain Knaff) . (An older -+ version of this functionality (bzip2 only), for 2.4, was -+ supplied by Christian Ludwig) -+ -+ High compression options are mostly useful for users, who -+ are low on disk space (embedded systems), but for whom ram -+ size matters less. -+ -+ If in doubt, select 'gzip' -+ -+config KERNEL_GZIP -+ bool "Gzip" -+ help -+ The old and tries gzip compression. Its compression ratio is -+ the poorest among the 3 choices; however its speed (both -+ compression and decompression) is the fastest. -+ -+config KERNEL_BZIP2 -+ bool "Bzip2" -+ help -+ Its compression ratio and speed is intermediate. -+ Decompression speed is slowest among the 3. -+ The kernel size is about 10 per cent smaller with bzip2, -+ in comparison to gzip. -+ Bzip2 uses a large amount of memory. For modern kernels -+ you will need at least 8MB RAM or more for booting. -+ -+config KERNEL_LZMA -+ bool "LZMA" -+ help -+ The most recent compression algorithm. -+ Its ratio is best, decompression speed is between the other -+ 2. Compression is slowest. -+ The kernel size is about 33 per cent smaller with lzma, -+ in comparison to gzip. -+ -+endchoice -+ -+ - config SWAP - bool "Support for paging of anonymous memory (swap)" - depends on MMU && BLOCK - ---- linux-2.6.24.2/lib/decompress_bunzip2.c -+++ linux-2.6.24.2/lib/decompress_bunzip2.c -@@ -0,0 +1,645 @@ -+/* vi: set sw=4 ts=4: */ -+/* Small bzip2 deflate implementation, by Rob Landley (rob@landley.net). -+ -+ Based on bzip2 decompression code by Julian R Seward (jseward@acm.org), -+ which also acknowledges contributions by Mike Burrows, David Wheeler, -+ Peter Fenwick, Alistair Moffat, Radford Neal, Ian H. Witten, -+ Robert Sedgewick, and Jon L. Bentley. -+ -+ This code is licensed under the LGPLv2: -+ LGPL (http://www.gnu.org/copyleft/lgpl.html -+*/ -+ -+/* -+ Size and speed optimizations by Manuel Novoa III (mjn3@codepoet.org). -+ -+ More efficient reading of Huffman codes, a streamlined read_bunzip() -+ function, and various other tweaks. In (limited) tests, approximately -+ 20% faster than bzcat on x86 and about 10% faster on arm. -+ -+ Note that about 2/3 of the time is spent in read_unzip() reversing -+ the Burrows-Wheeler transformation. Much of that time is delay -+ resulting from cache misses. -+ -+ I would ask that anyone benefiting from this work, especially those -+ using it in commercial products, consider making a donation to my local -+ non-profit hospice organization in the name of the woman I loved, who -+ passed away Feb. 12, 2003. -+ -+ In memory of Toni W. Hagan -+ -+ Hospice of Acadiana, Inc. -+ 2600 Johnston St., Suite 200 -+ Lafayette, LA 70503-3240 -+ -+ Phone (337) 232-1234 or 1-800-738-2226 -+ Fax (337) 232-1297 -+ -+ http://www.hospiceacadiana.com/ -+ -+ Manuel -+ */ -+ -+/* -+ Made it fit for running in Linux Kernel by Alain Knaff (alain@knaff.lu) -+*/ -+ -+ -+#ifndef STATIC -+ -+#include -+#include -+#include -+ -+#ifdef TEST -+#include "test.h" -+#else -+#include -+#endif -+ -+static void __init *large_malloc(size_t size) -+{ -+ return vmalloc(size); -+} -+ -+static void __init large_free(void *where) -+{ -+ vfree(where); -+} -+ -+#ifndef TEST -+static void __init *malloc(size_t size) -+{ -+ return kmalloc(size, GFP_KERNEL); -+} -+ -+static void __init free(void *where) -+{ -+ kfree(where); -+} -+ -+static void __init error(char *x) -+{ -+ printk(KERN_ERR "%s\n", x); -+} -+#endif -+ -+#define STATIC /**/ -+ -+#endif -+ -+#include -+ -+ -+/* Constants for Huffman coding */ -+#define MAX_GROUPS 6 -+#define GROUP_SIZE 50 /* 64 would have been more efficient */ -+#define MAX_HUFCODE_BITS 20 /* Longest Huffman code allowed */ -+#define MAX_SYMBOLS 258 /* 256 literals + RUNA + RUNB */ -+#define SYMBOL_RUNA 0 -+#define SYMBOL_RUNB 1 -+ -+/* Status return values */ -+#define RETVAL_OK 0 -+#define RETVAL_LAST_BLOCK (-1) -+#define RETVAL_NOT_BZIP_DATA (-2) -+#define RETVAL_UNEXPECTED_INPUT_EOF (-3) -+#define RETVAL_UNEXPECTED_OUTPUT_EOF (-4) -+#define RETVAL_DATA_ERROR (-5) -+#define RETVAL_OUT_OF_MEMORY (-6) -+#define RETVAL_OBSOLETE_INPUT (-7) -+ -+ -+/* This is what we know about each Huffman coding group */ -+struct group_data { -+ /* We have an extra slot at the end of limit[] for a sentinal value. */ -+ int limit[MAX_HUFCODE_BITS+1],base[MAX_HUFCODE_BITS],permute[MAX_SYMBOLS]; -+ int minLen, maxLen; -+}; -+ -+/* Structure holding all the housekeeping data, including IO buffers and -+ memory that persists between calls to bunzip */ -+typedef struct { -+ /* State for interrupting output loop */ -+ int writeCopies,writePos,writeRunCountdown,writeCount,writeCurrent; -+ /* I/O tracking data (file handles, buffers, positions, etc.) */ -+ int (*fill)(void*,unsigned int); -+ int inbufCount,inbufPos /*,outbufPos*/; -+ unsigned char *inbuf /*,*outbuf*/; -+ unsigned int inbufBitCount, inbufBits; -+ /* The CRC values stored in the block header and calculated from the data */ -+ unsigned int crc32Table[256],headerCRC, totalCRC, writeCRC; -+ /* Intermediate buffer and its size (in bytes) */ -+ unsigned int *dbuf, dbufSize; -+ /* These things are a bit too big to go on the stack */ -+ unsigned char selectors[32768]; /* nSelectors=15 bits */ -+ struct group_data groups[MAX_GROUPS]; /* Huffman coding tables */ -+ int io_error; /* non-zero if we have IO error */ -+} bunzip_data; -+ -+ -+/* Return the next nnn bits of input. All reads from the compressed input -+ are done through this function. All reads are big endian */ -+static unsigned int get_bits(bunzip_data *bd, char bits_wanted) -+{ -+ unsigned int bits=0; -+ -+ /* If we need to get more data from the byte buffer, do so. (Loop getting -+ one byte at a time to enforce endianness and avoid unaligned access.) */ -+ while (bd->inbufBitCountinbufPos==bd->inbufCount) { -+ if(bd->io_error) -+ return 0; -+ if((bd->inbufCount = bd->fill(bd->inbuf, BZIP2_IOBUF_SIZE)) <= 0) { -+ bd->io_error=RETVAL_UNEXPECTED_INPUT_EOF; -+ return 0; -+ } -+ bd->inbufPos=0; -+ } -+ /* Avoid 32-bit overflow (dump bit buffer to top of output) */ -+ if(bd->inbufBitCount>=24) { -+ bits=bd->inbufBits&((1<inbufBitCount)-1); -+ bits_wanted-=bd->inbufBitCount; -+ bits<<=bits_wanted; -+ bd->inbufBitCount=0; -+ } -+ /* Grab next 8 bits of input from buffer. */ -+ bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++]; -+ bd->inbufBitCount+=8; -+ } -+ /* Calculate result */ -+ bd->inbufBitCount-=bits_wanted; -+ bits|=(bd->inbufBits>>bd->inbufBitCount)&((1<dbuf; -+ dbufSize=bd->dbufSize; -+ selectors=bd->selectors; -+ -+ /* Read in header signature and CRC, then validate signature. -+ (last block signature means CRC is for whole file, return now) */ -+ i = get_bits(bd,24); -+ j = get_bits(bd,24); -+ bd->headerCRC=get_bits(bd,32); -+ if ((i == 0x177245) && (j == 0x385090)) return RETVAL_LAST_BLOCK; -+ if ((i != 0x314159) || (j != 0x265359)) return RETVAL_NOT_BZIP_DATA; -+ /* We can add support for blockRandomised if anybody complains. There was -+ some code for this in busybox 1.0.0-pre3, but nobody ever noticed that -+ it didn't actually work. */ -+ if(get_bits(bd,1)) return RETVAL_OBSOLETE_INPUT; -+ if((origPtr=get_bits(bd,24)) > dbufSize) return RETVAL_DATA_ERROR; -+ /* mapping table: if some byte values are never used (encoding things -+ like ascii text), the compression code removes the gaps to have fewer -+ symbols to deal with, and writes a sparse bitfield indicating which -+ values were present. We make a translation table to convert the symbols -+ back to the corresponding bytes. */ -+ t=get_bits(bd, 16); -+ symTotal=0; -+ for (i=0;i<16;i++) { -+ if(t&(1<<(15-i))) { -+ k=get_bits(bd,16); -+ for(j=0;j<16;j++) -+ if(k&(1<<(15-j))) symToByte[symTotal++]=(16*i)+j; -+ } -+ } -+ /* How many different Huffman coding groups does this block use? */ -+ groupCount=get_bits(bd,3); -+ if (groupCount<2 || groupCount>MAX_GROUPS) return RETVAL_DATA_ERROR; -+ /* nSelectors: Every GROUP_SIZE many symbols we select a new Huffman coding -+ group. Read in the group selector list, which is stored as MTF encoded -+ bit runs. (MTF=Move To Front, as each value is used it's moved to the -+ start of the list.) */ -+ if(!(nSelectors=get_bits(bd, 15))) return RETVAL_DATA_ERROR; -+ for(i=0; i=groupCount) return RETVAL_DATA_ERROR; -+ /* Decode MTF to get the next selector */ -+ uc = mtfSymbol[j]; -+ for(;j;j--) mtfSymbol[j] = mtfSymbol[j-1]; -+ mtfSymbol[0]=selectors[i]=uc; -+ } -+ /* Read the Huffman coding tables for each group, which code for symTotal -+ literal symbols, plus two run symbols (RUNA, RUNB) */ -+ symCount=symTotal+2; -+ for (j=0; j (MAX_HUFCODE_BITS-1)) -+ return RETVAL_DATA_ERROR; -+ /* If first bit is 0, stop. Else second bit indicates whether -+ to increment or decrement the value. Optimization: grab 2 -+ bits and unget the second if the first was 0. */ -+ k = get_bits(bd,2); -+ if (k < 2) { -+ bd->inbufBitCount++; -+ break; -+ } -+ /* Add one if second bit 1, else subtract 1. Avoids if/else */ -+ t+=(((k+1)&2)-1); -+ } -+ /* Correct for the initial -1, to get the final symbol length */ -+ length[i]=t+1; -+ } -+ /* Find largest and smallest lengths in this group */ -+ minLen=maxLen=length[0]; -+ for(i = 1; i < symCount; i++) { -+ if(length[i] > maxLen) maxLen = length[i]; -+ else if(length[i] < minLen) minLen = length[i]; -+ } -+ /* Calculate permute[], base[], and limit[] tables from length[]. -+ * -+ * permute[] is the lookup table for converting Huffman coded symbols -+ * into decoded symbols. base[] is the amount to subtract from the -+ * value of a Huffman symbol of a given length when using permute[]. -+ * -+ * limit[] indicates the largest numerical value a symbol with a given -+ * number of bits can have. This is how the Huffman codes can vary in -+ * length: each code with a value>limit[length] needs another bit. -+ */ -+ hufGroup=bd->groups+j; -+ hufGroup->minLen = minLen; -+ hufGroup->maxLen = maxLen; -+ /* Note that minLen can't be smaller than 1, so we adjust the base -+ and limit array pointers so we're not always wasting the first -+ entry. We do this again when using them (during symbol decoding).*/ -+ base=hufGroup->base-1; -+ limit=hufGroup->limit-1; -+ /* Calculate permute[]. Concurently, initialize temp[] and limit[]. */ -+ pp=0; -+ for(i=minLen;i<=maxLen;i++) { -+ temp[i]=limit[i]=0; -+ for(t=0;tpermute[pp++] = t; -+ } -+ /* Count symbols coded for at each bit length */ -+ for (i=0;ilimit[length] comparison. */ -+ limit[i]= (pp << (maxLen - i)) - 1; -+ pp<<=1; -+ base[i+1]=pp-(t+=temp[i]); -+ } -+ limit[maxLen+1] = INT_MAX; /* Sentinal value for reading next sym. */ -+ limit[maxLen]=pp+temp[maxLen]-1; -+ base[minLen]=0; -+ } -+ /* We've finished reading and digesting the block header. Now read this -+ block's Huffman coded symbols from the file and undo the Huffman coding -+ and run length encoding, saving the result into dbuf[dbufCount++]=uc */ -+ -+ /* Initialize symbol occurrence counters and symbol Move To Front table */ -+ for(i=0;i<256;i++) { -+ byteCount[i] = 0; -+ mtfSymbol[i]=(unsigned char)i; -+ } -+ /* Loop through compressed symbols. */ -+ runPos=dbufCount=symCount=selector=0; -+ for(;;) { -+ /* Determine which Huffman coding group to use. */ -+ if(!(symCount--)) { -+ symCount=GROUP_SIZE-1; -+ if(selector>=nSelectors) return RETVAL_DATA_ERROR; -+ hufGroup=bd->groups+selectors[selector++]; -+ base=hufGroup->base-1; -+ limit=hufGroup->limit-1; -+ } -+ /* Read next Huffman-coded symbol. */ -+ /* Note: It is far cheaper to read maxLen bits and back up than it is -+ to read minLen bits and then an additional bit at a time, testing -+ as we go. Because there is a trailing last block (with file CRC), -+ there is no danger of the overread causing an unexpected EOF for a -+ valid compressed file. As a further optimization, we do the read -+ inline (falling back to a call to get_bits if the buffer runs -+ dry). The following (up to got_huff_bits:) is equivalent to -+ j=get_bits(bd,hufGroup->maxLen); -+ */ -+ while (bd->inbufBitCountmaxLen) { -+ if(bd->inbufPos==bd->inbufCount) { -+ j = get_bits(bd,hufGroup->maxLen); -+ goto got_huff_bits; -+ } -+ bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++]; -+ bd->inbufBitCount+=8; -+ }; -+ bd->inbufBitCount-=hufGroup->maxLen; -+ j = (bd->inbufBits>>bd->inbufBitCount)&((1<maxLen)-1); -+got_huff_bits: -+ /* Figure how how many bits are in next symbol and unget extras */ -+ i=hufGroup->minLen; -+ while(j>limit[i]) ++i; -+ bd->inbufBitCount += (hufGroup->maxLen - i); -+ /* Huffman decode value to get nextSym (with bounds checking) */ -+ if ((i > hufGroup->maxLen) -+ || (((unsigned)(j=(j>>(hufGroup->maxLen-i))-base[i])) -+ >= MAX_SYMBOLS)) -+ return RETVAL_DATA_ERROR; -+ nextSym = hufGroup->permute[j]; -+ /* We have now decoded the symbol, which indicates either a new literal -+ byte, or a repeated run of the most recent literal byte. First, -+ check if nextSym indicates a repeated run, and if so loop collecting -+ how many times to repeat the last literal. */ -+ if (((unsigned)nextSym) <= SYMBOL_RUNB) { /* RUNA or RUNB */ -+ /* If this is the start of a new run, zero out counter */ -+ if(!runPos) { -+ runPos = 1; -+ t = 0; -+ } -+ /* Neat trick that saves 1 symbol: instead of or-ing 0 or 1 at -+ each bit position, add 1 or 2 instead. For example, -+ 1011 is 1<<0 + 1<<1 + 2<<2. 1010 is 2<<0 + 2<<1 + 1<<2. -+ You can make any bit pattern that way using 1 less symbol than -+ the basic or 0/1 method (except all bits 0, which would use no -+ symbols, but a run of length 0 doesn't mean anything in this -+ context). Thus space is saved. */ -+ t += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */ -+ runPos <<= 1; -+ continue; -+ } -+ /* When we hit the first non-run symbol after a run, we now know -+ how many times to repeat the last literal, so append that many -+ copies to our buffer of decoded symbols (dbuf) now. (The last -+ literal used is the one at the head of the mtfSymbol array.) */ -+ if(runPos) { -+ runPos=0; -+ if(dbufCount+t>=dbufSize) return RETVAL_DATA_ERROR; -+ -+ uc = symToByte[mtfSymbol[0]]; -+ byteCount[uc] += t; -+ while(t--) dbuf[dbufCount++]=uc; -+ } -+ /* Is this the terminating symbol? */ -+ if(nextSym>symTotal) break; -+ /* At this point, nextSym indicates a new literal character. Subtract -+ one to get the position in the MTF array at which this literal is -+ currently to be found. (Note that the result can't be -1 or 0, -+ because 0 and 1 are RUNA and RUNB. But another instance of the -+ first symbol in the mtf array, position 0, would have been handled -+ as part of a run above. Therefore 1 unused mtf position minus -+ 2 non-literal nextSym values equals -1.) */ -+ if(dbufCount>=dbufSize) return RETVAL_DATA_ERROR; -+ i = nextSym - 1; -+ uc = mtfSymbol[i]; -+ /* Adjust the MTF array. Since we typically expect to move only a -+ * small number of symbols, and are bound by 256 in any case, using -+ * memmove here would typically be bigger and slower due to function -+ * call overhead and other assorted setup costs. */ -+ do { -+ mtfSymbol[i] = mtfSymbol[i-1]; -+ } while (--i); -+ mtfSymbol[0] = uc; -+ uc=symToByte[uc]; -+ /* We have our literal byte. Save it into dbuf. */ -+ byteCount[uc]++; -+ dbuf[dbufCount++] = (unsigned int)uc; -+ } -+ /* At this point, we've read all the Huffman-coded symbols (and repeated -+ runs) for this block from the input stream, and decoded them into the -+ intermediate buffer. There are dbufCount many decoded bytes in dbuf[]. -+ Now undo the Burrows-Wheeler transform on dbuf. -+ See http://dogma.net/markn/articles/bwt/bwt.htm -+ */ -+ /* Turn byteCount into cumulative occurrence counts of 0 to n-1. */ -+ j=0; -+ for(i=0;i<256;i++) { -+ k=j+byteCount[i]; -+ byteCount[i] = j; -+ j=k; -+ } -+ /* Figure out what order dbuf would be in if we sorted it. */ -+ for (i=0;i=dbufCount) return RETVAL_DATA_ERROR; -+ bd->writePos=dbuf[origPtr]; -+ bd->writeCurrent=(unsigned char)(bd->writePos&0xff); -+ bd->writePos>>=8; -+ bd->writeRunCountdown=5; -+ } -+ bd->writeCount=dbufCount; -+ -+ return RETVAL_OK; -+} -+ -+/* Undo burrows-wheeler transform on intermediate buffer to produce output. -+ If start_bunzip was initialized with out_fd=-1, then up to len bytes of -+ data are written to outbuf. Return value is number of bytes written or -+ error (all errors are negative numbers). If out_fd!=-1, outbuf and len -+ are ignored, data is written to out_fd and return is RETVAL_OK or error. -+*/ -+ -+static int read_bunzip(bunzip_data *bd, char *outbuf, int len) -+{ -+ const unsigned int *dbuf; -+ int pos,xcurrent,previous,gotcount; -+ -+ /* If last read was short due to end of file, return last block now */ -+ if(bd->writeCount<0) return bd->writeCount; -+ -+ gotcount = 0; -+ dbuf=bd->dbuf; -+ pos=bd->writePos; -+ xcurrent=bd->writeCurrent; -+ -+ /* We will always have pending decoded data to write into the output -+ buffer unless this is the very first call (in which case we haven't -+ Huffman-decoded a block into the intermediate buffer yet). */ -+ -+ if (bd->writeCopies) { -+ /* Inside the loop, writeCopies means extra copies (beyond 1) */ -+ --bd->writeCopies; -+ /* Loop outputting bytes */ -+ for(;;) { -+ /* If the output buffer is full, snapshot state and return */ -+ if(gotcount >= len) { -+ bd->writePos=pos; -+ bd->writeCurrent=xcurrent; -+ bd->writeCopies++; -+ return len; -+ } -+ /* Write next byte into output buffer, updating CRC */ -+ outbuf[gotcount++] = xcurrent; -+ bd->writeCRC=(((bd->writeCRC)<<8) -+ ^bd->crc32Table[((bd->writeCRC)>>24)^xcurrent]); -+ /* Loop now if we're outputting multiple copies of this byte */ -+ if (bd->writeCopies) { -+ --bd->writeCopies; -+ continue; -+ } -+decode_next_byte: -+ if (!bd->writeCount--) break; -+ /* Follow sequence vector to undo Burrows-Wheeler transform */ -+ previous=xcurrent; -+ pos=dbuf[pos]; -+ xcurrent=pos&0xff; -+ pos>>=8; -+ /* After 3 consecutive copies of the same byte, the 4th is a repeat -+ count. We count down from 4 instead -+ * of counting up because testing for non-zero is faster */ -+ if(--bd->writeRunCountdown) { -+ if(xcurrent!=previous) bd->writeRunCountdown=4; -+ } else { -+ /* We have a repeated run, this byte indicates the count */ -+ bd->writeCopies=xcurrent; -+ xcurrent=previous; -+ bd->writeRunCountdown=5; -+ /* Sometimes there are just 3 bytes (run length 0) */ -+ if(!bd->writeCopies) goto decode_next_byte; -+ /* Subtract the 1 copy we'd output anyway to get extras */ -+ --bd->writeCopies; -+ } -+ } -+ /* Decompression of this block completed successfully */ -+ bd->writeCRC=~bd->writeCRC; -+ bd->totalCRC=((bd->totalCRC<<1) | (bd->totalCRC>>31)) ^ bd->writeCRC; -+ /* If this block had a CRC error, force file level CRC error. */ -+ if(bd->writeCRC!=bd->headerCRC) { -+ bd->totalCRC=bd->headerCRC+1; -+ return RETVAL_LAST_BLOCK; -+ } -+ } -+ -+ /* Refill the intermediate buffer by Huffman-decoding next block of input */ -+ /* (previous is just a convenient unused temp variable here) */ -+ previous=get_next_block(bd); -+ if(previous) { -+ bd->writeCount=previous; -+ return (previous!=RETVAL_LAST_BLOCK) ? previous : gotcount; -+ } -+ bd->writeCRC=0xffffffffUL; -+ pos=bd->writePos; -+ xcurrent=bd->writeCurrent; -+ goto decode_next_byte; -+} -+ -+static int nofill(void *buf,unsigned int len) { -+ return -1; -+} -+ -+/* Allocate the structure, read file header. If in_fd==-1, inbuf must contain -+ a complete bunzip file (len bytes long). If in_fd!=-1, inbuf and len are -+ ignored, and data is read from file handle into temporary buffer. */ -+static int start_bunzip(bunzip_data **bdp, void *inbuf, int len, -+ int (*fill)(void*,unsigned int)) -+{ -+ bunzip_data *bd; -+ unsigned int i,j,c; -+ const unsigned int BZh0=(((unsigned int)'B')<<24)+(((unsigned int)'Z')<<16) -+ +(((unsigned int)'h')<<8)+(unsigned int)'0'; -+ -+ /* Figure out how much data to allocate */ -+ i=sizeof(bunzip_data); -+ -+ /* Allocate bunzip_data. Most fields initialize to zero. */ -+ bd=*bdp=malloc(i); -+ memset(bd,0,sizeof(bunzip_data)); -+ /* Setup input buffer */ -+ bd->inbuf=inbuf; -+ bd->inbufCount=len; -+ if(fill != NULL) -+ bd->fill=fill; -+ else -+ bd->fill=nofill; -+ -+ /* Init the CRC32 table (big endian) */ -+ for(i=0;i<256;i++) { -+ c=i<<24; -+ for(j=8;j;j--) -+ c=c&0x80000000 ? (c<<1)^0x04c11db7 : (c<<1); -+ bd->crc32Table[i]=c; -+ } -+ -+ /* Ensure that file starts with "BZh['1'-'9']." */ -+ i = get_bits(bd,32); -+ if (((unsigned int)(i-BZh0-1)) >= 9) return RETVAL_NOT_BZIP_DATA; -+ -+ /* Fourth byte (ascii '1'-'9'), indicates block size in units of 100k of -+ uncompressed data. Allocate intermediate buffer for block. */ -+ bd->dbufSize=100000*(i-BZh0); -+ -+ bd->dbuf=large_malloc(bd->dbufSize * sizeof(int)); -+ return RETVAL_OK; -+} -+ -+/* Example usage: decompress src_fd to dst_fd. (Stops at end of bzip data, -+ not end of file.) */ -+STATIC int bunzip2(char *inbuf, int len, -+ int(*fill)(void*,unsigned int), -+ int(*writebb)(char*,unsigned int), -+ int *pos) -+{ -+ char *outbuf; -+ bunzip_data *bd; -+ int i; -+ -+ outbuf=malloc(BZIP2_IOBUF_SIZE); -+ if(!(i=start_bunzip(&bd,inbuf,len,fill))) { -+ for(;;) { -+ if((i=read_bunzip(bd,outbuf,BZIP2_IOBUF_SIZE)) <= 0) break; -+ if(i!=writebb(outbuf,i)) { -+ i=RETVAL_UNEXPECTED_OUTPUT_EOF; -+ break; -+ } -+ } -+ } -+ /* Check CRC and release memory */ -+ if(i==RETVAL_LAST_BLOCK) { -+ if (bd->headerCRC!=bd->totalCRC) { -+ error("Data integrity error when decompressing."); -+ } else { -+ i=RETVAL_OK; -+ } -+ } -+ else if (i==RETVAL_UNEXPECTED_OUTPUT_EOF) { -+ error("Compressed file ends unexpectedly"); -+ } -+ if(bd->dbuf) large_free(bd->dbuf); -+ if(pos) -+ *pos = bd->inbufPos; -+ free(bd); -+ free(outbuf); -+ -+ return i; -+} -+ - ---- linux-2.6.24.2/lib/decompress_unlzma.c -+++ linux-2.6.24.2/lib/decompress_unlzma.c -@@ -0,0 +1,601 @@ -+/* Lzma decompressor for Linux kernel. Shamelessly snarfed -+ * from busybox 1.1.1 -+ * -+ * Linux kernel adaptation -+ * Copyright (C) 2006 Alain -+ * -+ * Based on small lzma deflate implementation/Small range coder -+ * implementation for lzma. -+ * Copyright (C) 2006 Aurelien Jacobs -+ * -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) -+ * Copyright (C) 1999-2005 Igor Pavlov -+ * -+ * Copyrights of the parts, see headers below. -+ * -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#ifndef STATIC -+ -+#include -+#include -+#include -+ -+#ifdef TEST -+#include "test.h" -+#else -+#include -+#endif -+ -+static void __init *large_malloc(size_t size) -+{ -+ return vmalloc(size); -+} -+ -+static void __init large_free(void *where) -+{ -+ vfree(where); -+} -+ -+#ifndef TEST -+static void __init *malloc(size_t size) -+{ -+ return kmalloc(size, GFP_KERNEL); -+} -+ -+static void __init free(void *where) -+{ -+ kfree(where); -+} -+ -+static void __init error(char *x) -+{ -+ printk(KERN_ERR "%s\n", x); -+} -+ -+#endif -+ -+#define STATIC /**/ -+ -+#endif -+ -+#include -+ -+#define MIN(a,b) (((a)<(b))?(a):(b)) -+ -+static long long read_int(unsigned char *ptr, int size) -+{ -+ int i; -+ long long ret=0; -+ -+ for(i=0; i -+ * -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) -+ * Copyright (c) 1999-2005 Igor Pavlov -+ */ -+ -+#ifndef always_inline -+# if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >0) -+# define always_inline __attribute__((always_inline)) inline -+# else -+# define always_inline inline -+# endif -+#endif -+ -+#ifdef CONFIG_FEATURE_LZMA_FAST -+# define speed_inline always_inline -+#else -+# define speed_inline -+#endif -+ -+ -+typedef struct { -+ int (*fill)(void*,unsigned int); -+ uint8_t *ptr; -+ uint8_t *buffer; -+ uint8_t *buffer_end; -+ int buffer_size; -+ uint32_t code; -+ uint32_t range; -+ uint32_t bound; -+} rc_t; -+ -+ -+#define RC_TOP_BITS 24 -+#define RC_MOVE_BITS 5 -+#define RC_MODEL_TOTAL_BITS 11 -+ -+ -+/* Called twice: once at startup and once in rc_normalize() */ -+static void rc_read(rc_t * rc) -+{ -+ rc->buffer_size = rc->fill((char*)rc->buffer, LZMA_IOBUF_SIZE); -+ if (rc->buffer_size <= 0) -+ error("unexpected EOF"); -+ rc->ptr = rc->buffer; -+ rc->buffer_end = rc->buffer + rc->buffer_size; -+} -+ -+/* Called once */ -+static always_inline void rc_init(rc_t * rc, int (*fill)(void*,unsigned int), -+ char *buffer, int buffer_size) -+{ -+ rc->fill = fill; -+ rc->buffer = (uint8_t *)buffer; -+ rc->buffer_size = buffer_size; -+ rc->buffer_end = rc->buffer + rc->buffer_size; -+ rc->ptr = rc->buffer; -+ -+ rc->code = 0; -+ rc->range = 0xFFFFFFFF; -+} -+ -+static always_inline void rc_init_code(rc_t * rc) -+{ -+ int i; -+ -+ for (i = 0; i < 5; i++) { -+ if (rc->ptr >= rc->buffer_end) -+ rc_read(rc); -+ rc->code = (rc->code << 8) | *rc->ptr++; -+ } -+} -+ -+ -+/* Called once. TODO: bb_maybe_free() */ -+static always_inline void rc_free(rc_t * rc) -+{ -+ free(rc->buffer); -+} -+ -+/* Called twice, but one callsite is in speed_inline'd rc_is_bit_0_helper() */ -+static void rc_do_normalize(rc_t * rc) -+{ -+ if (rc->ptr >= rc->buffer_end) -+ rc_read(rc); -+ rc->range <<= 8; -+ rc->code = (rc->code << 8) | *rc->ptr++; -+} -+static always_inline void rc_normalize(rc_t * rc) -+{ -+ if (rc->range < (1 << RC_TOP_BITS)) { -+ rc_do_normalize(rc); -+ } -+} -+ -+/* Called 9 times */ -+/* Why rc_is_bit_0_helper exists? -+ * Because we want to always expose (rc->code < rc->bound) to optimizer -+ */ -+static speed_inline uint32_t rc_is_bit_0_helper(rc_t * rc, uint16_t * p) -+{ -+ rc_normalize(rc); -+ rc->bound = *p * (rc->range >> RC_MODEL_TOTAL_BITS); -+ return rc->bound; -+} -+static always_inline int rc_is_bit_0(rc_t * rc, uint16_t * p) -+{ -+ uint32_t t = rc_is_bit_0_helper(rc, p); -+ return rc->code < t; -+} -+ -+/* Called ~10 times, but very small, thus inlined */ -+static speed_inline void rc_update_bit_0(rc_t * rc, uint16_t * p) -+{ -+ rc->range = rc->bound; -+ *p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS; -+} -+static speed_inline void rc_update_bit_1(rc_t * rc, uint16_t * p) -+{ -+ rc->range -= rc->bound; -+ rc->code -= rc->bound; -+ *p -= *p >> RC_MOVE_BITS; -+} -+ -+/* Called 4 times in unlzma loop */ -+static int rc_get_bit(rc_t * rc, uint16_t * p, int *symbol) -+{ -+ if (rc_is_bit_0(rc, p)) { -+ rc_update_bit_0(rc, p); -+ *symbol *= 2; -+ return 0; -+ } else { -+ rc_update_bit_1(rc, p); -+ *symbol = *symbol * 2 + 1; -+ return 1; -+ } -+} -+ -+/* Called once */ -+static always_inline int rc_direct_bit(rc_t * rc) -+{ -+ rc_normalize(rc); -+ rc->range >>= 1; -+ if (rc->code >= rc->range) { -+ rc->code -= rc->range; -+ return 1; -+ } -+ return 0; -+} -+ -+/* Called twice */ -+static speed_inline void -+rc_bit_tree_decode(rc_t * rc, uint16_t * p, int num_levels, int *symbol) -+{ -+ int i = num_levels; -+ -+ *symbol = 1; -+ while (i--) -+ rc_get_bit(rc, p + *symbol, symbol); -+ *symbol -= 1 << num_levels; -+} -+ -+ -+/* -+ * Small lzma deflate implementation. -+ * Copyright (C) 2006 Aurelien Jacobs -+ * -+ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) -+ * Copyright (C) 1999-2005 Igor Pavlov -+ */ -+ -+ -+typedef struct { -+ uint8_t pos; -+ uint32_t dict_size; -+ uint64_t dst_size; -+} __attribute__ ((packed)) lzma_header_t; -+ -+ -+#define LZMA_BASE_SIZE 1846 -+#define LZMA_LIT_SIZE 768 -+ -+#define LZMA_NUM_POS_BITS_MAX 4 -+ -+#define LZMA_LEN_NUM_LOW_BITS 3 -+#define LZMA_LEN_NUM_MID_BITS 3 -+#define LZMA_LEN_NUM_HIGH_BITS 8 -+ -+#define LZMA_LEN_CHOICE 0 -+#define LZMA_LEN_CHOICE_2 (LZMA_LEN_CHOICE + 1) -+#define LZMA_LEN_LOW (LZMA_LEN_CHOICE_2 + 1) -+#define LZMA_LEN_MID (LZMA_LEN_LOW \ -+ + (1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_LOW_BITS))) -+#define LZMA_LEN_HIGH (LZMA_LEN_MID \ -+ +(1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_MID_BITS))) -+#define LZMA_NUM_LEN_PROBS (LZMA_LEN_HIGH + (1 << LZMA_LEN_NUM_HIGH_BITS)) -+ -+#define LZMA_NUM_STATES 12 -+#define LZMA_NUM_LIT_STATES 7 -+ -+#define LZMA_START_POS_MODEL_INDEX 4 -+#define LZMA_END_POS_MODEL_INDEX 14 -+#define LZMA_NUM_FULL_DISTANCES (1 << (LZMA_END_POS_MODEL_INDEX >> 1)) -+ -+#define LZMA_NUM_POS_SLOT_BITS 6 -+#define LZMA_NUM_LEN_TO_POS_STATES 4 -+ -+#define LZMA_NUM_ALIGN_BITS 4 -+ -+#define LZMA_MATCH_MIN_LEN 2 -+ -+#define LZMA_IS_MATCH 0 -+#define LZMA_IS_REP (LZMA_IS_MATCH + (LZMA_NUM_STATES <= rc.buffer_end) -+ rc_read(&rc); -+ ((unsigned char *)&header)[i] = *rc.ptr++; -+ } -+ -+ if (header.pos >= (9 * 5 * 5)) -+ error("bad header"); -+ -+ mi = header.pos / 9; -+ lc = header.pos % 9; -+ pb = mi / 5; -+ lp = mi % 5; -+ pos_state_mask = (1 << pb) - 1; -+ literal_pos_mask = (1 << lp) - 1; -+ -+ ENDIAN_CONVERT(header.dict_size); -+ ENDIAN_CONVERT(header.dst_size); -+ -+ if (header.dict_size == 0) -+ header.dict_size = 1; -+ -+ bufsize = MIN(header.dst_size, header.dict_size); -+ buffer = large_malloc(bufsize); -+ if(buffer == NULL) -+ return -1; -+ -+ num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)); -+ p = large_malloc(num_probs * sizeof(*p)); -+ num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp)); -+ for (i = 0; i < num_probs; i++) -+ p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1; -+ -+ rc_init_code(&rc); -+ -+ while (global_pos + buffer_pos < header.dst_size) { -+ int pos_state = (buffer_pos + global_pos) & pos_state_mask; -+ -+ prob = -+ p + LZMA_IS_MATCH + (state << LZMA_NUM_POS_BITS_MAX) + pos_state; -+ if (rc_is_bit_0(&rc, prob)) { -+ mi = 1; -+ rc_update_bit_0(&rc, prob); -+ prob = (p + LZMA_LITERAL + (LZMA_LIT_SIZE -+ * ((((buffer_pos + global_pos) & literal_pos_mask) << lc) -+ + (previous_byte >> (8 - lc))))); -+ -+ if (state >= LZMA_NUM_LIT_STATES) { -+ int match_byte; -+ -+ pos = buffer_pos - rep0; -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } -+ match_byte = buffer[pos]; -+ do { -+ int bit; -+ -+ match_byte <<= 1; -+ bit = match_byte & 0x100; -+ prob_lit = prob + 0x100 + bit + mi; -+ if (rc_get_bit(&rc, prob_lit, &mi)) { -+ if (!bit) -+ break; -+ } else { -+ if (bit) -+ break; -+ } -+ } while (mi < 0x100); -+ } -+ while (mi < 0x100) { -+ prob_lit = prob + mi; -+ rc_get_bit(&rc, prob_lit, &mi); -+ } -+ if (state < 4) -+ state = 0; -+ else if (state < 10) -+ state -= 3; -+ else -+ state -= 6; -+ previous_byte = (uint8_t) mi; -+ one_byte: -+ buffer[buffer_pos++] = previous_byte; -+ if (buffer_pos == header.dict_size) { -+ buffer_pos = 0; -+ global_pos += header.dict_size; -+ writebb((char*)buffer, header.dict_size); -+ } -+ } else { -+ int offset; -+ uint16_t *prob_len; -+ -+ rc_update_bit_1(&rc, prob); -+ prob = p + LZMA_IS_REP + state; -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ rep3 = rep2; -+ rep2 = rep1; -+ rep1 = rep0; -+ state = state < LZMA_NUM_LIT_STATES ? 0 : 3; -+ prob = p + LZMA_LEN_CODER; -+ } else { -+ rc_update_bit_1(&rc, prob); -+ prob = p + LZMA_IS_REP_G0 + state; -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ prob = (p + LZMA_IS_REP_0_LONG -+ + (state << LZMA_NUM_POS_BITS_MAX) + pos_state); -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ -+ state = state < LZMA_NUM_LIT_STATES ? 9 : 11; -+ pos = buffer_pos - rep0; -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } -+ previous_byte = buffer[pos]; -+ goto one_byte; -+ } else { -+ rc_update_bit_1(&rc, prob); -+ } -+ } else { -+ uint32_t distance; -+ -+ rc_update_bit_1(&rc, prob); -+ prob = p + LZMA_IS_REP_G1 + state; -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ distance = rep1; -+ } else { -+ rc_update_bit_1(&rc, prob); -+ prob = p + LZMA_IS_REP_G2 + state; -+ if (rc_is_bit_0(&rc, prob)) { -+ rc_update_bit_0(&rc, prob); -+ distance = rep2; -+ } else { -+ rc_update_bit_1(&rc, prob); -+ distance = rep3; -+ rep3 = rep2; -+ } -+ rep2 = rep1; -+ } -+ rep1 = rep0; -+ rep0 = distance; -+ } -+ state = state < LZMA_NUM_LIT_STATES ? 8 : 11; -+ prob = p + LZMA_REP_LEN_CODER; -+ } -+ -+ prob_len = prob + LZMA_LEN_CHOICE; -+ if (rc_is_bit_0(&rc, prob_len)) { -+ rc_update_bit_0(&rc, prob_len); -+ prob_len = (prob + LZMA_LEN_LOW -+ + (pos_state << LZMA_LEN_NUM_LOW_BITS)); -+ offset = 0; -+ num_bits = LZMA_LEN_NUM_LOW_BITS; -+ } else { -+ rc_update_bit_1(&rc, prob_len); -+ prob_len = prob + LZMA_LEN_CHOICE_2; -+ if (rc_is_bit_0(&rc, prob_len)) { -+ rc_update_bit_0(&rc, prob_len); -+ prob_len = (prob + LZMA_LEN_MID -+ + (pos_state << LZMA_LEN_NUM_MID_BITS)); -+ offset = 1 << LZMA_LEN_NUM_LOW_BITS; -+ num_bits = LZMA_LEN_NUM_MID_BITS; -+ } else { -+ rc_update_bit_1(&rc, prob_len); -+ prob_len = prob + LZMA_LEN_HIGH; -+ offset = ((1 << LZMA_LEN_NUM_LOW_BITS) -+ + (1 << LZMA_LEN_NUM_MID_BITS)); -+ num_bits = LZMA_LEN_NUM_HIGH_BITS; -+ } -+ } -+ rc_bit_tree_decode(&rc, prob_len, num_bits, &len); -+ len += offset; -+ -+ if (state < 4) { -+ int pos_slot; -+ -+ state += LZMA_NUM_LIT_STATES; -+ prob = -+ p + LZMA_POS_SLOT + -+ ((len < -+ LZMA_NUM_LEN_TO_POS_STATES ? len : -+ LZMA_NUM_LEN_TO_POS_STATES - 1) -+ << LZMA_NUM_POS_SLOT_BITS); -+ rc_bit_tree_decode(&rc, prob, LZMA_NUM_POS_SLOT_BITS, -+ &pos_slot); -+ if (pos_slot >= LZMA_START_POS_MODEL_INDEX) { -+ num_bits = (pos_slot >> 1) - 1; -+ rep0 = 2 | (pos_slot & 1); -+ if (pos_slot < LZMA_END_POS_MODEL_INDEX) { -+ rep0 <<= num_bits; -+ prob = p + LZMA_SPEC_POS + rep0 - pos_slot - 1; -+ } else { -+ num_bits -= LZMA_NUM_ALIGN_BITS; -+ while (num_bits--) -+ rep0 = (rep0 << 1) | rc_direct_bit(&rc); -+ prob = p + LZMA_ALIGN; -+ rep0 <<= LZMA_NUM_ALIGN_BITS; -+ num_bits = LZMA_NUM_ALIGN_BITS; -+ } -+ i = 1; -+ mi = 1; -+ while (num_bits--) { -+ if (rc_get_bit(&rc, prob + mi, &mi)) -+ rep0 |= i; -+ i <<= 1; -+ } -+ } else -+ rep0 = pos_slot; -+ if (++rep0 == 0) -+ break; -+ } -+ -+ len += LZMA_MATCH_MIN_LEN; -+ -+ do { -+ pos = buffer_pos - rep0; -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } -+ previous_byte = buffer[pos]; -+ buffer[buffer_pos++] = previous_byte; -+ if (buffer_pos == header.dict_size) { -+ buffer_pos = 0; -+ global_pos += header.dict_size; -+ writebb((char*)buffer, header.dict_size); -+ } -+ len--; -+ } while (len != 0 && buffer_pos < header.dst_size); -+ } -+ } -+ -+ writebb((char*)buffer, buffer_pos); -+ if(posp) { -+ *posp = rc.ptr-rc.buffer; -+ } -+ large_free(buffer); -+ large_free(p); -+ return 0; -+ fail: -+ large_free(buffer); -+ large_free(p); -+ return -1; -+} - ---- linux-2.6.24.2/lib/Makefile -+++ linux-2.6.24.2/lib/Makefile -@@ -50,6 +50,10 @@ obj-$(CONFIG_CRC7) += crc7.o - obj-$(CONFIG_LIBCRC32C) += libcrc32c.o - obj-$(CONFIG_GENERIC_ALLOCATOR) += genalloc.o - -+obj-$(CONFIG_RD_BZIP2) += decompress_bunzip2.o -+obj-$(CONFIG_RD_LZMA) += decompress_unlzma.o -+ -+ - obj-$(CONFIG_ZLIB_INFLATE) += zlib_inflate/ - obj-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate/ - obj-$(CONFIG_REED_SOLOMON) += reed_solomon/ - ---- linux-2.6.24.2/scripts/Makefile.lib -+++ linux-2.6.24.2/scripts/Makefile.lib -@@ -166,4 +166,17 @@ cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) - quiet_cmd_gzip = GZIP $@ - cmd_gzip = gzip -f -9 < $< > $@ - -+# Append size -+size_append=perl -e 'print(pack("i",(stat($$ARGV[0]))[7]));' - -+# Bzip2 -+# --------------------------------------------------------------------------- -+ -+quiet_cmd_bzip2 = BZIP2 $@ -+cmd_bzip2 = (bzip2 -9 < $< ; $(size_append) $<) > $@ -+ -+# Lzma -+# --------------------------------------------------------------------------- -+ -+quiet_cmd_lzma = LZMA $@ -+cmd_lzma = (lzma e $< -so ; $(size_append) $<) >$@ diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-lzma-2.6.29.3.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux/stuff/linux-lzma-2.6.29.3.u Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,2132 @@ +--- linux-2.6.29.3/arch/x86/boot/compressed/Makefile ++++ linux-2.6.29.3/arch/x86/boot/compressed/Makefile +@@ -4,7 +4,7 @@ + # create a compressed vmlinux image from the original vmlinux + # + +-targets := vmlinux vmlinux.bin vmlinux.bin.gz head_$(BITS).o misc.o piggy.o ++targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma head_$(BITS).o misc.o piggy.o + + KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 + KBUILD_CFLAGS += -fno-strict-aliasing -fPIC +@@ -51,14 +51,41 @@ + $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE + $(call if_changed,gzip) + endif ++ ++ifdef CONFIG_RELOCATABLE ++$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin.all FORCE ++ $(call if_changed,bzip2) ++else ++$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE ++ $(call if_changed,bzip2) ++endif ++ ++ifdef CONFIG_RELOCATABLE ++$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE ++ $(call if_changed,lzma) ++else ++$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE ++ $(call if_changed,lzma) ++endif ++ + LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T + + else + $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE + $(call if_changed,gzip) + ++$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE ++ $(call if_changed,bzip2) ++ ++$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE ++ $(call if_changed,lzma) ++ + LDFLAGS_piggy.o := -r --format binary --oformat elf64-x86-64 -T + endif + +-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE ++suffix_$(CONFIG_KERNEL_GZIP) = gz ++suffix_$(CONFIG_KERNEL_BZIP2) = bz2 ++suffix_$(CONFIG_KERNEL_LZMA) = lzma ++ ++$(obj)/piggy.o: $(src)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE + $(call if_changed,ld) + +--- linux-2.6.29.3/arch/x86/boot/compressed/misc.c ++++ linux-2.6.29.3/arch/x86/boot/compressed/misc.c +@@ -136,12 +136,15 @@ + */ + #define WSIZE 0x80000000 + ++#ifdef CONFIG_KERNEL_GZIP + /* Input buffer: */ + static unsigned char *inbuf; ++#endif + + /* Sliding window buffer (and final output buffer): */ + static unsigned char *window; + ++#ifdef CONFIG_KERNEL_GZIP + /* Valid bytes in inbuf: */ + static unsigned insize; + +@@ -181,6 +184,7 @@ + + static int fill_inbuf(void); + static void flush_window(void); ++#endif + static void error(char *m); + + /* +@@ -192,9 +196,9 @@ + extern unsigned char input_data[]; + extern int input_len; + +-static long bytes_out; +- ++#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2) + static void *memset(void *s, int c, unsigned n); ++#endif + static void *memcpy(void *dest, const void *src, unsigned n); + + static void __putstr(int, const char *); +@@ -209,12 +213,68 @@ + static memptr free_mem_ptr; + static memptr free_mem_end_ptr; + ++static void *malloc(int size) ++{ ++ void *p; ++ ++ if (size <0) error("Malloc error"); ++ if (free_mem_ptr <= 0) error("Memory error"); ++ ++ free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */ ++ ++ p = (void *)free_mem_ptr; ++ free_mem_ptr += size; ++ ++ if (free_mem_ptr >= free_mem_end_ptr) ++ error("Out of memory"); ++ ++ return p; ++} ++ ++static void free(void *where) ++{ /* Don't care */ ++} ++ + static char *vidmem; + static int vidport; + static int lines, cols; + ++#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA) ++ ++#define large_malloc malloc ++#define large_free free ++ ++#ifdef current ++#undef current ++#endif ++ ++#define INCLUDED ++#endif ++ ++#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA) ++ ++#define large_malloc malloc ++#define large_free free ++ ++#ifdef current ++#undef current ++#endif ++ ++#define INCLUDED ++#endif ++ ++#ifdef CONFIG_KERNEL_GZIP + #include "../../../../lib/inflate.c" ++#endif + ++#ifdef CONFIG_KERNEL_BZIP2 ++#include "../../../../lib/decompress_bunzip2.c" ++#endif ++ ++#ifdef CONFIG_KERNEL_LZMA ++#include "../../../../lib/decompress_unlzma.c" ++#endif ++ + static void scroll(void) + { + int i; +@@ -272,6 +332,7 @@ + outb(0xff & (pos >> 1), vidport+1); + } + ++#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2) + static void *memset(void *s, int c, unsigned n) + { + int i; +@@ -281,6 +342,7 @@ + ss[i] = c; + return s; + } ++#endif + + static void *memcpy(void *dest, const void *src, unsigned n) + { +@@ -293,7 +355,27 @@ + return dest; + } + ++#ifdef CONFIG_KERNEL_BZIP2 + /* =========================================================================== ++ * Write the output window window[0..outcnt-1]. ++ * (Used for the decompressed data only.) ++ */ ++static int compr_flush(char *data, unsigned int len) ++{ ++ unsigned n; ++ uch *out; ++ ++ out = window; ++ for (n = 0; n < len; n++) { ++ *out++ = *data++; ++ } ++ window += (ulg)len; ++ return len; ++} ++ ++#endif ++#ifdef CONFIG_KERNEL_GZIP ++/* =========================================================================== + * Fill the input buffer. This is called only when the buffer is empty + * and at least one byte is really needed. + */ +@@ -304,7 +386,7 @@ + } + + /* =========================================================================== +- * Write the output window window[0..outcnt-1] and update crc and bytes_out. ++ * Write the output window window[0..outcnt-1] and update crc. + * (Used for the decompressed data only.) + */ + static void flush_window(void) +@@ -322,9 +404,9 @@ + c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8); + } + crc = c; +- bytes_out += (unsigned long)outcnt; + outcnt = 0; + } ++#endif + + static void error(char *x) + { +@@ -410,9 +492,11 @@ + window = output; /* Output buffer (Normally at 1M) */ + free_mem_ptr = heap; /* Heap */ + free_mem_end_ptr = heap + BOOT_HEAP_SIZE; ++#ifdef CONFIG_KERNEL_GZIP + inbuf = input_data; /* Input buffer */ + insize = input_len; + inptr = 0; ++#endif + + #ifdef CONFIG_X86_64 + if ((unsigned long)output & (__KERNEL_ALIGN - 1)) +@@ -430,10 +514,22 @@ + #endif + #endif + ++#ifdef CONFIG_KERNEL_BZIP2 ++ putstr("\nBunzipping Linux... "); ++ bunzip2(input_data, input_len-4, NULL, compr_flush, NULL); ++#endif ++ ++#ifdef CONFIG_KERNEL_LZMA ++ putstr("\nUnlzmaing Linux... "); ++ unlzma(input_data, input_len-4, NULL, NULL, window); ++#endif ++ ++#ifdef CONFIG_KERNEL_GZIP + makecrc(); + if (!quiet) + putstr("\nDecompressing Linux... "); + gunzip(); ++#endif + parse_elf(output); + if (!quiet) + putstr("done.\nBooting the kernel.\n"); + +--- linux-2.6.29.3/arch/x86/mm/init_32.c ++++ linux-2.6.29.3/arch/x86/mm/init_32.c +@@ -1221,7 +1221,8 @@ + free_page(addr); + totalram_pages++; + } +- printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10); ++ if (what) ++ printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10); + #endif + } + +@@ -1235,7 +1236,7 @@ + #ifdef CONFIG_BLK_DEV_INITRD + void free_initrd_mem(unsigned long start, unsigned long end) + { +- free_init_pages("initrd memory", start, end); ++ free_init_pages(NULL, start, end); + } + #endif + + +--- linux-2.6.29.3/drivers/block/Kconfig ++++ linux-2.6.29.3/drivers/block/Kconfig +@@ -358,6 +358,30 @@ + will prevent RAM block device backing store memory from being + allocated from highmem (only a problem for highmem systems). + ++config RD_BZIP2 ++ bool "Initial ramdisk compressed using bzip2" ++ default n ++ depends on BLK_DEV_INITRD=y ++ help ++ Support loading of a bzip2 encoded initial ramdisk or cpio buffer ++ If unsure, say N. ++ ++config RD_LZMA ++ bool "Initial ramdisk compressed using lzma" ++ default n ++ depends on BLK_DEV_INITRD=y ++ help ++ Support loading of a lzma encoded initial ramdisk or cpio buffer ++ If unsure, say N. ++ ++config RD_GZIP ++ bool "Initial ramdisk compressed using gzip" ++ default y ++ depends on BLK_DEV_INITRD=y ++ help ++ Support loading of a gzip encoded initial ramdisk or cpio buffer. ++ If unsure, say Y. ++ + config CDROM_PKTCDVD + tristate "Packet writing on CD/DVD media" + depends on !UML + +--- linux-2.6.29.3/include/linux/decompress_bunzip2.h ++++ linux-2.6.29.3/include/linux/decompress_bunzip2.h +@@ -0,0 +1,16 @@ ++#ifndef DECOMPRESS_BUNZIP2_H ++#define DECOMPRESS_BUNZIP2_H ++ ++/* Other housekeeping constants */ ++#define BZIP2_IOBUF_SIZE 4096 ++ ++#ifndef STATIC ++#define STATIC /**/ ++#endif ++ ++STATIC int bunzip2(char *inbuf, int len, ++ int(*fill)(void*,unsigned int), ++ int(*writebb)(char*,unsigned int), ++ int *pos); ++ ++#endif + +--- linux-2.6.29.3/include/linux/decompress_generic.h ++++ linux-2.6.29.3/include/linux/decompress_generic.h +@@ -0,0 +1,28 @@ ++#ifndef DECOMPRESS_GENERIC_H ++#define DECOMPRESS_GENERIC_H ++ ++/* Minimal chunksize to be read. ++ * Bzip2 prefers at least 4096 ++ * Lzma prefers 0x10000 */ ++#define COMPR_IOBUF_SIZE 4096 ++ ++typedef int (*uncompress_fn) (char *inbuf, int len, ++ int(*fill)(char*,unsigned int), ++ int(*writebb)(char*,unsigned int), ++ int *posp); ++ ++/* inbuf - input buffer ++ * len - len of pre-read data in inbuf ++ * fill - function to fill inbuf if empty ++ * writebb - function to write out outbug ++ * posp - if non-null, input position (number of bytes read) will be ++ * returned here ++ * ++ * If len != 0, the inbuf is initialized (with as much data), and fill ++ * should not be called ++ * If len = 0, the inbuf is allocated, but empty. Its size is IOBUF_SIZE ++ * fill should be called (repeatedly...) to read data, at most IOBUF_SIZE ++ */ ++ ++ ++#endif + +--- linux-2.6.29.3/include/linux/decompress_unlzma.h ++++ linux-2.6.29.3/include/linux/decompress_unlzma.h +@@ -0,0 +1,15 @@ ++#ifndef DECOMPRESS_UNLZMA_H ++#define DECOMPRESS_UNLZMA_H ++ ++#define LZMA_IOBUF_SIZE 0x10000 ++ ++#ifndef STATIC ++#define STATIC /**/ ++#endif ++ ++STATIC int unlzma(char *inbuf, int len, ++ int(*fill)(void*,unsigned int), ++ int(*writebb)(char*,unsigned int), ++ int *pos); ++ ++#endif + +--- linux-2.6.29.3/init/Kconfig ++++ linux-2.6.29.3/init/Kconfig +@@ -101,6 +101,56 @@ + + which is done within the script "scripts/setlocalversion".) + ++choice ++ prompt "Kernel compression mode" ++ default KERNEL_GZIP ++ help ++ The linux kernel is a kind of self-extracting executable. ++ Several compression algorithms are available, which differ ++ in efficiency, compression and decompression speed. ++ Compression speed is only relevant when building a kernel. ++ Decompression speed is relevant at each boot. ++ ++ If you have any problems with bzip2 or lzma compressed ++ kernels, mail me (Alain Knaff) . (An older ++ version of this functionality (bzip2 only), for 2.4, was ++ supplied by Christian Ludwig) ++ ++ High compression options are mostly useful for users, who ++ are low on disk space (embedded systems), but for whom ram ++ size matters less. ++ ++ If in doubt, select 'gzip' ++ ++config KERNEL_GZIP ++ bool "Gzip" ++ help ++ The old and tries gzip compression. Its compression ratio is ++ the poorest among the 3 choices; however its speed (both ++ compression and decompression) is the fastest. ++ ++config KERNEL_BZIP2 ++ bool "Bzip2" ++ help ++ Its compression ratio and speed is intermediate. ++ Decompression speed is slowest among the 3. ++ The kernel size is about 10 per cent smaller with bzip2, ++ in comparison to gzip. ++ Bzip2 uses a large amount of memory. For modern kernels ++ you will need at least 8MB RAM or more for booting. ++ ++config KERNEL_LZMA ++ bool "LZMA" ++ help ++ The most recent compression algorithm. ++ Its ratio is best, decompression speed is between the other ++ 2. Compression is slowest. ++ The kernel size is about 33 per cent smaller with lzma, ++ in comparison to gzip. ++ ++endchoice ++ ++ + config SWAP + bool "Support for paging of anonymous memory (swap)" + depends on MMU && BLOCK + +--- linux-2.6.29.3/init/do_mounts_rd.c ++++ linux-2.6.29.3/init/do_mounts_rd.c +@@ -8,6 +8,16 @@ + #include + #include + ++#ifdef CONFIG_RD_BZIP2 ++#include ++#undef STATIC ++#endif ++ ++#ifdef CONFIG_RD_LZMA ++#include ++#undef STATIC ++#endif ++ + #include "do_mounts.h" + #include "../fs/squashfs/squashfs_fs.h" + +@@ -29,7 +39,15 @@ + } + __setup("ramdisk_start=", ramdisk_start_setup); + ++#ifdef CONFIG_RD_GZIP + static int __init crd_load(int in_fd, int out_fd); ++#endif ++#ifdef CONFIG_RD_BZIP2 ++static int __init crd_load_bzip2(int in_fd, int out_fd); ++#endif ++#ifdef CONFIG_RD_LZMA ++static int __init crd_load_lzma(int in_fd, int out_fd); ++#endif + + /* + * This routine tries to find a RAM disk image to load, and returns the +@@ -46,7 +64,7 @@ + * gzip + */ + static int __init +-identify_ramdisk_image(int fd, int start_block) ++identify_ramdisk_image(int fd, int start_block, int *ztype) + { + const int size = 512; + struct minix_super_block *minixsb; +@@ -74,6 +92,7 @@ + sys_lseek(fd, start_block * BLOCK_SIZE, 0); + sys_read(fd, buf, size); + ++#ifdef CONFIG_RD_GZIP + /* + * If it matches the gzip magic numbers, return 0 + */ +@@ -81,10 +100,41 @@ + printk(KERN_NOTICE + "RAMDISK: Compressed image found at block %d\n", + start_block); ++ *ztype = 0; + nblocks = 0; + goto done; + } ++#endif + ++#ifdef CONFIG_RD_BZIP2 ++ /* ++ * If it matches the bzip magic numbers, return -1 ++ */ ++ if (buf[0] == 0x42 && (buf[1] == 0x5a)) { ++ printk(KERN_NOTICE ++ "RAMDISK: Bzipped image found at block %d\n", ++ start_block); ++ *ztype = 1; ++ nblocks = 0; ++ goto done; ++ } ++#endif ++ ++#ifdef CONFIG_RD_LZMA ++ /* ++ * If it matches the bzip magic numbers, return -1 ++ */ ++ if (buf[0] == 0x5d && (buf[1] == 0x00)) { ++ printk(KERN_NOTICE ++ "RAMDISK: Lzma image found at block %d\n", ++ start_block); ++ *ztype = 2; ++ nblocks = 0; ++ goto done; ++ } ++#endif ++ ++ + /* romfs is at block zero too */ + if (romfsb->word0 == ROMSB_WORD0 && + romfsb->word1 == ROMSB_WORD1) { +@@ -157,6 +207,7 @@ + int nblocks, i, disk; + char *buf = NULL; + unsigned short rotate = 0; ++ int ztype=-1; + #if !defined(CONFIG_S390) && !defined(CONFIG_PPC_ISERIES) + char rotator[4] = { '|' , '/' , '-' , '\\' }; + #endif +@@ -169,13 +220,37 @@ + if (in_fd < 0) + goto noclose_input; + +- nblocks = identify_ramdisk_image(in_fd, rd_image_start); ++ nblocks = identify_ramdisk_image(in_fd, rd_image_start, &ztype); + if (nblocks < 0) + goto done; + + if (nblocks == 0) { +- if (crd_load(in_fd, out_fd) == 0) +- goto successful_load; ++ switch(ztype) { ++ ++#ifdef CONFIG_RD_GZIP ++ case 0: ++ if (crd_load(in_fd, out_fd) == 0) ++ goto successful_load; ++ break; ++#endif ++ ++#ifdef CONFIG_RD_BZIP2 ++ case 1: ++ if (crd_load_bzip2(in_fd, out_fd) == 0) ++ goto successful_load; ++ break; ++#endif ++ ++#ifdef CONFIG_RD_LZMA ++ case 2: ++ if (crd_load_lzma(in_fd, out_fd) == 0) ++ goto successful_load; ++ break; ++#endif ++ ++ default: ++ break; ++ } + goto done; + } + +@@ -273,6 +348,7 @@ + return rd_load_image("/dev/root"); + } + ++#ifdef CONFIG_RD_GZIP + /* + * gzip declarations + */ +@@ -300,8 +376,11 @@ + static int exit_code; + static int unzip_error; + static long bytes_out; ++#endif ++ + static int crd_infd, crd_outfd; + ++#ifdef CONFIG_RD_GZIP + #define get_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf()) + + /* Diagnostic functions (stubbed out) */ +@@ -342,7 +421,22 @@ + + return inbuf[0]; + } ++#endif + ++#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) ++static int __init compr_fill(void *buf, unsigned int len) ++{ ++ int r = sys_read(crd_infd, buf, len); ++ if(r < 0) { ++ printk(KERN_ERR "RAMDISK: error while reading compressed data"); ++ } else if(r == 0) { ++ printk(KERN_ERR "RAMDISK: EOF while reading compressed data"); ++ } ++ return r; ++} ++#endif ++ ++#ifdef CONFIG_RD_GZIP + /* =========================================================================== + * Write the output window window[0..outcnt-1] and update crc and bytes_out. + * (Used for the decompressed data only.) +@@ -368,13 +462,68 @@ + bytes_out += (ulg)outcnt; + outcnt = 0; + } ++#endif + ++#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) ++static int __init compr_flush(void *window, unsigned int outcnt) { ++ static int progressDots=0; ++ int written = sys_write(crd_outfd, window, outcnt); ++ if (written != outcnt) { ++ printk(KERN_ERR "RAMDISK: incomplete write (%d != %d)\n", ++ written, outcnt); ++ } ++ progressDots = (progressDots+1)%10; ++ if(!progressDots) ++ printk("."); ++ return outcnt; ++} ++#endif ++ ++#ifdef CONFIG_RD_GZIP + static void __init error(char *x) + { + printk(KERN_ERR "%s\n", x); + exit_code = 1; + unzip_error = 1; + } ++#endif ++ ++#if (defined CONFIG_RD_BZIP2 || defined CONFIG_RD_LZMA) ++static int __init crd_load_compr(int in_fd, int out_fd, int size, ++ int (*deco)(char *,int, ++ int(*fill)(void*,unsigned int), ++ int(*flush)(void*,unsigned int), ++ int *)) ++{ ++ int result; ++ char *inbuf = kmalloc(size, GFP_KERNEL); ++ crd_infd = in_fd; ++ crd_outfd = out_fd; ++ if (inbuf == 0) { ++ printk(KERN_ERR "RAMDISK: Couldn't allocate decompression buffer\n"); ++ return -1; ++ } ++ result=deco(inbuf, 0, compr_fill, compr_flush, NULL); ++ kfree(inbuf); ++ printk("\n"); ++ return result; ++} ++#endif ++ ++#ifdef CONFIG_RD_BZIP2 ++static int __init crd_load_bzip2(int in_fd, int out_fd) ++{ ++ return crd_load_compr(in_fd, out_fd, BZIP2_IOBUF_SIZE, bunzip2); ++} ++#endif ++ ++#ifdef CONFIG_RD_LZMA ++static int __init crd_load_lzma(int in_fd, int out_fd) ++{ ++ return crd_load_compr(in_fd, out_fd, LZMA_IOBUF_SIZE, unlzma); ++} ++ ++#endif + + static int __init crd_load(int in_fd, int out_fd) + { + +--- linux-2.6.29.3/init/initramfs.c ++++ linux-2.6.29.3/init/initramfs.c +@@ -410,6 +410,18 @@ + } + } + ++#ifdef CONFIG_RD_BZIP2 ++#include ++#undef STATIC ++ ++#endif ++ ++#ifdef CONFIG_RD_LZMA ++#include ++#undef STATIC ++ ++#endif ++ + /* + * gzip declarations + */ +@@ -435,7 +447,32 @@ + static unsigned outcnt; /* bytes in output buffer */ + static long bytes_out; + +-#define get_byte() (inptr < insize ? inbuf[inptr++] : -1) ++#define INITRD_PAGE ((PAGE_SIZE > 1024*1024) ? PAGE_SIZE : 1024*1024) ++static int fill_offset, fill_total; ++#include ++static void release_inbuf(int count) ++{ ++ if (fill_total < 0) return; ++ fill_offset += count; ++ fill_total += count; ++ if (fill_offset >= INITRD_PAGE) { ++ unsigned rem = fill_offset % INITRD_PAGE; ++ unsigned end = initrd_start + fill_offset - rem; ++ free_initrd_mem(initrd_start, end); ++ printk("."); ++ initrd_start = end; ++ fill_offset = rem; ++ } ++} ++ ++static uch get_byte(void) ++{ ++ uch c; ++ if (inptr >= insize) return -1; ++ c = inbuf[inptr++]; ++ release_inbuf(1); ++ return c; ++} + + /* Diagnostic functions (stubbed out) */ + #define Assert(cond,msg) +@@ -476,6 +513,17 @@ + outcnt = 0; + } + ++#ifdef CONFIG_RD_LZMA ++static int fill_buffer(void *buffer, unsigned size) ++{ ++ int max = initrd_end - initrd_start - fill_offset; ++ if (size < max) max = size; ++ memcpy(buffer, (void *)(initrd_start + fill_offset), max); ++ release_inbuf(max); ++ return max; ++} ++#endif ++ + static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only) + { + int written; +@@ -489,11 +537,17 @@ + state = Start; + this_header = 0; + message = NULL; ++ fill_total = fill_offset = 0; ++ if(buf != (char *) initrd_start) fill_total = -1; + while (!message && len) { ++#ifdef CONFIG_RD_LZMA ++ int status; ++#endif + loff_t saved_offset = this_header; + if (*buf == '0' && !(this_header & 3)) { + state = Start; + written = write_buffer(buf, len); ++ release_inbuf(written); + buf += written; + len -= written; + continue; +@@ -512,9 +566,42 @@ + bytes_out = 0; + crc = (ulg)0xffffffffL; /* shift register contents */ + makecrc(); +- gunzip(); ++ if(!gunzip() && message == NULL) ++ goto ok; ++ ++#ifdef CONFIG_RD_BZIP2 ++ message = NULL; /* Zero out message, or else cpio will ++ think an error has already occured */ ++ if(!bunzip2(buf, len, NULL, flush_buffer, &inptr) < 0 && ++ message == NULL) { ++ goto ok; ++ } ++#endif ++ ++#ifdef CONFIG_RD_LZMA ++ message = NULL; /* Zero out message, or else cpio will ++ think an error has already occured */ ++ status = -1; ++ if(buf == (char *) initrd_start) { ++ char *work_buffer = malloc(LZMA_IOBUF_SIZE); ++ if (work_buffer) { ++ fill_total = fill_offset = 0; ++ fill_buffer(work_buffer, LZMA_IOBUF_SIZE); ++ status = unlzma(work_buffer, LZMA_IOBUF_SIZE, ++ fill_buffer, flush_buffer, NULL); ++ inptr = fill_total; ++ free(work_buffer); ++ } ++ } ++ else status = unlzma(buf,len, NULL, flush_buffer, &inptr); ++ if (status == 0 && message == NULL) { ++ goto ok; ++ } ++#endif ++ ok: ++ + if (state != Reset) +- error("junk in gzipped archive"); ++ error("junk in compressed archive"); + this_header = saved_offset + inptr; + buf += inptr; + len -= inptr; +@@ -581,7 +668,7 @@ + if (err) + panic(err); + if (initrd_start) { +-#ifdef CONFIG_BLK_DEV_RAM ++#ifdef NOT_IN_SLITAZ_CONFIG_BLK_DEV_RAM + int fd; + printk(KERN_INFO "checking if image is initramfs..."); + err = unpack_to_rootfs((char *)initrd_start, + +--- linux-2.6.29.3/lib/Makefile ++++ linux-2.6.29.3/lib/Makefile +@@ -59,6 +59,9 @@ + obj-$(CONFIG_LIBCRC32C) += libcrc32c.o + obj-$(CONFIG_GENERIC_ALLOCATOR) += genalloc.o + ++obj-$(CONFIG_RD_BZIP2) += decompress_bunzip2.o ++obj-$(CONFIG_RD_LZMA) += decompress_unlzma.o unlzma_syms.o ++ + obj-$(CONFIG_ZLIB_INFLATE) += zlib_inflate/ + obj-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate/ + obj-$(CONFIG_REED_SOLOMON) += reed_solomon/ + +--- linux-2.6.29.3/lib/decompress_bunzip2.c ++++ linux-2.6.29.3/lib/decompress_bunzip2.c +@@ -0,0 +1,645 @@ ++/* vi: set sw=4 ts=4: */ ++/* Small bzip2 deflate implementation, by Rob Landley (rob@landley.net). ++ ++ Based on bzip2 decompression code by Julian R Seward (jseward@acm.org), ++ which also acknowledges contributions by Mike Burrows, David Wheeler, ++ Peter Fenwick, Alistair Moffat, Radford Neal, Ian H. Witten, ++ Robert Sedgewick, and Jon L. Bentley. ++ ++ This code is licensed under the LGPLv2: ++ LGPL (http://www.gnu.org/copyleft/lgpl.html ++*/ ++ ++/* ++ Size and speed optimizations by Manuel Novoa III (mjn3@codepoet.org). ++ ++ More efficient reading of Huffman codes, a streamlined read_bunzip() ++ function, and various other tweaks. In (limited) tests, approximately ++ 20% faster than bzcat on x86 and about 10% faster on arm. ++ ++ Note that about 2/3 of the time is spent in read_unzip() reversing ++ the Burrows-Wheeler transformation. Much of that time is delay ++ resulting from cache misses. ++ ++ I would ask that anyone benefiting from this work, especially those ++ using it in commercial products, consider making a donation to my local ++ non-profit hospice organization in the name of the woman I loved, who ++ passed away Feb. 12, 2003. ++ ++ In memory of Toni W. Hagan ++ ++ Hospice of Acadiana, Inc. ++ 2600 Johnston St., Suite 200 ++ Lafayette, LA 70503-3240 ++ ++ Phone (337) 232-1234 or 1-800-738-2226 ++ Fax (337) 232-1297 ++ ++ http://www.hospiceacadiana.com/ ++ ++ Manuel ++ */ ++ ++/* ++ Made it fit for running in Linux Kernel by Alain Knaff (alain@knaff.lu) ++*/ ++ ++ ++#ifndef STATIC ++ ++#include ++#include ++#include ++ ++#ifdef TEST ++#include "test.h" ++#else ++#include ++#endif ++ ++static void __init *large_malloc(size_t size) ++{ ++ return vmalloc(size); ++} ++ ++static void __init large_free(void *where) ++{ ++ vfree(where); ++} ++ ++#ifndef TEST ++static void __init *malloc(size_t size) ++{ ++ return kmalloc(size, GFP_KERNEL); ++} ++ ++static void __init free(void *where) ++{ ++ kfree(where); ++} ++ ++static void __init error(char *x) ++{ ++ printk(KERN_ERR "%s\n", x); ++} ++#endif ++ ++#define STATIC /**/ ++ ++#endif ++ ++#include ++ ++ ++/* Constants for Huffman coding */ ++#define MAX_GROUPS 6 ++#define GROUP_SIZE 50 /* 64 would have been more efficient */ ++#define MAX_HUFCODE_BITS 20 /* Longest Huffman code allowed */ ++#define MAX_SYMBOLS 258 /* 256 literals + RUNA + RUNB */ ++#define SYMBOL_RUNA 0 ++#define SYMBOL_RUNB 1 ++ ++/* Status return values */ ++#define RETVAL_OK 0 ++#define RETVAL_LAST_BLOCK (-1) ++#define RETVAL_NOT_BZIP_DATA (-2) ++#define RETVAL_UNEXPECTED_INPUT_EOF (-3) ++#define RETVAL_UNEXPECTED_OUTPUT_EOF (-4) ++#define RETVAL_DATA_ERROR (-5) ++#define RETVAL_OUT_OF_MEMORY (-6) ++#define RETVAL_OBSOLETE_INPUT (-7) ++ ++ ++/* This is what we know about each Huffman coding group */ ++struct group_data { ++ /* We have an extra slot at the end of limit[] for a sentinal value. */ ++ int limit[MAX_HUFCODE_BITS+1],base[MAX_HUFCODE_BITS],permute[MAX_SYMBOLS]; ++ int minLen, maxLen; ++}; ++ ++/* Structure holding all the housekeeping data, including IO buffers and ++ memory that persists between calls to bunzip */ ++typedef struct { ++ /* State for interrupting output loop */ ++ int writeCopies,writePos,writeRunCountdown,writeCount,writeCurrent; ++ /* I/O tracking data (file handles, buffers, positions, etc.) */ ++ int (*fill)(void*,unsigned int); ++ int inbufCount,inbufPos /*,outbufPos*/; ++ unsigned char *inbuf /*,*outbuf*/; ++ unsigned int inbufBitCount, inbufBits; ++ /* The CRC values stored in the block header and calculated from the data */ ++ unsigned int crc32Table[256],headerCRC, totalCRC, writeCRC; ++ /* Intermediate buffer and its size (in bytes) */ ++ unsigned int *dbuf, dbufSize; ++ /* These things are a bit too big to go on the stack */ ++ unsigned char selectors[32768]; /* nSelectors=15 bits */ ++ struct group_data groups[MAX_GROUPS]; /* Huffman coding tables */ ++ int io_error; /* non-zero if we have IO error */ ++} bunzip_data; ++ ++ ++/* Return the next nnn bits of input. All reads from the compressed input ++ are done through this function. All reads are big endian */ ++static unsigned int get_bits(bunzip_data *bd, char bits_wanted) ++{ ++ unsigned int bits=0; ++ ++ /* If we need to get more data from the byte buffer, do so. (Loop getting ++ one byte at a time to enforce endianness and avoid unaligned access.) */ ++ while (bd->inbufBitCountinbufPos==bd->inbufCount) { ++ if(bd->io_error) ++ return 0; ++ if((bd->inbufCount = bd->fill(bd->inbuf, BZIP2_IOBUF_SIZE)) <= 0) { ++ bd->io_error=RETVAL_UNEXPECTED_INPUT_EOF; ++ return 0; ++ } ++ bd->inbufPos=0; ++ } ++ /* Avoid 32-bit overflow (dump bit buffer to top of output) */ ++ if(bd->inbufBitCount>=24) { ++ bits=bd->inbufBits&((1<inbufBitCount)-1); ++ bits_wanted-=bd->inbufBitCount; ++ bits<<=bits_wanted; ++ bd->inbufBitCount=0; ++ } ++ /* Grab next 8 bits of input from buffer. */ ++ bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++]; ++ bd->inbufBitCount+=8; ++ } ++ /* Calculate result */ ++ bd->inbufBitCount-=bits_wanted; ++ bits|=(bd->inbufBits>>bd->inbufBitCount)&((1<dbuf; ++ dbufSize=bd->dbufSize; ++ selectors=bd->selectors; ++ ++ /* Read in header signature and CRC, then validate signature. ++ (last block signature means CRC is for whole file, return now) */ ++ i = get_bits(bd,24); ++ j = get_bits(bd,24); ++ bd->headerCRC=get_bits(bd,32); ++ if ((i == 0x177245) && (j == 0x385090)) return RETVAL_LAST_BLOCK; ++ if ((i != 0x314159) || (j != 0x265359)) return RETVAL_NOT_BZIP_DATA; ++ /* We can add support for blockRandomised if anybody complains. There was ++ some code for this in busybox 1.0.0-pre3, but nobody ever noticed that ++ it didn't actually work. */ ++ if(get_bits(bd,1)) return RETVAL_OBSOLETE_INPUT; ++ if((origPtr=get_bits(bd,24)) > dbufSize) return RETVAL_DATA_ERROR; ++ /* mapping table: if some byte values are never used (encoding things ++ like ascii text), the compression code removes the gaps to have fewer ++ symbols to deal with, and writes a sparse bitfield indicating which ++ values were present. We make a translation table to convert the symbols ++ back to the corresponding bytes. */ ++ t=get_bits(bd, 16); ++ symTotal=0; ++ for (i=0;i<16;i++) { ++ if(t&(1<<(15-i))) { ++ k=get_bits(bd,16); ++ for(j=0;j<16;j++) ++ if(k&(1<<(15-j))) symToByte[symTotal++]=(16*i)+j; ++ } ++ } ++ /* How many different Huffman coding groups does this block use? */ ++ groupCount=get_bits(bd,3); ++ if (groupCount<2 || groupCount>MAX_GROUPS) return RETVAL_DATA_ERROR; ++ /* nSelectors: Every GROUP_SIZE many symbols we select a new Huffman coding ++ group. Read in the group selector list, which is stored as MTF encoded ++ bit runs. (MTF=Move To Front, as each value is used it's moved to the ++ start of the list.) */ ++ if(!(nSelectors=get_bits(bd, 15))) return RETVAL_DATA_ERROR; ++ for(i=0; i=groupCount) return RETVAL_DATA_ERROR; ++ /* Decode MTF to get the next selector */ ++ uc = mtfSymbol[j]; ++ for(;j;j--) mtfSymbol[j] = mtfSymbol[j-1]; ++ mtfSymbol[0]=selectors[i]=uc; ++ } ++ /* Read the Huffman coding tables for each group, which code for symTotal ++ literal symbols, plus two run symbols (RUNA, RUNB) */ ++ symCount=symTotal+2; ++ for (j=0; j (MAX_HUFCODE_BITS-1)) ++ return RETVAL_DATA_ERROR; ++ /* If first bit is 0, stop. Else second bit indicates whether ++ to increment or decrement the value. Optimization: grab 2 ++ bits and unget the second if the first was 0. */ ++ k = get_bits(bd,2); ++ if (k < 2) { ++ bd->inbufBitCount++; ++ break; ++ } ++ /* Add one if second bit 1, else subtract 1. Avoids if/else */ ++ t+=(((k+1)&2)-1); ++ } ++ /* Correct for the initial -1, to get the final symbol length */ ++ length[i]=t+1; ++ } ++ /* Find largest and smallest lengths in this group */ ++ minLen=maxLen=length[0]; ++ for(i = 1; i < symCount; i++) { ++ if(length[i] > maxLen) maxLen = length[i]; ++ else if(length[i] < minLen) minLen = length[i]; ++ } ++ /* Calculate permute[], base[], and limit[] tables from length[]. ++ * ++ * permute[] is the lookup table for converting Huffman coded symbols ++ * into decoded symbols. base[] is the amount to subtract from the ++ * value of a Huffman symbol of a given length when using permute[]. ++ * ++ * limit[] indicates the largest numerical value a symbol with a given ++ * number of bits can have. This is how the Huffman codes can vary in ++ * length: each code with a value>limit[length] needs another bit. ++ */ ++ hufGroup=bd->groups+j; ++ hufGroup->minLen = minLen; ++ hufGroup->maxLen = maxLen; ++ /* Note that minLen can't be smaller than 1, so we adjust the base ++ and limit array pointers so we're not always wasting the first ++ entry. We do this again when using them (during symbol decoding).*/ ++ base=hufGroup->base-1; ++ limit=hufGroup->limit-1; ++ /* Calculate permute[]. Concurently, initialize temp[] and limit[]. */ ++ pp=0; ++ for(i=minLen;i<=maxLen;i++) { ++ temp[i]=limit[i]=0; ++ for(t=0;tpermute[pp++] = t; ++ } ++ /* Count symbols coded for at each bit length */ ++ for (i=0;ilimit[length] comparison. */ ++ limit[i]= (pp << (maxLen - i)) - 1; ++ pp<<=1; ++ base[i+1]=pp-(t+=temp[i]); ++ } ++ limit[maxLen+1] = INT_MAX; /* Sentinal value for reading next sym. */ ++ limit[maxLen]=pp+temp[maxLen]-1; ++ base[minLen]=0; ++ } ++ /* We've finished reading and digesting the block header. Now read this ++ block's Huffman coded symbols from the file and undo the Huffman coding ++ and run length encoding, saving the result into dbuf[dbufCount++]=uc */ ++ ++ /* Initialize symbol occurrence counters and symbol Move To Front table */ ++ for(i=0;i<256;i++) { ++ byteCount[i] = 0; ++ mtfSymbol[i]=(unsigned char)i; ++ } ++ /* Loop through compressed symbols. */ ++ runPos=dbufCount=symCount=selector=0; ++ for(;;) { ++ /* Determine which Huffman coding group to use. */ ++ if(!(symCount--)) { ++ symCount=GROUP_SIZE-1; ++ if(selector>=nSelectors) return RETVAL_DATA_ERROR; ++ hufGroup=bd->groups+selectors[selector++]; ++ base=hufGroup->base-1; ++ limit=hufGroup->limit-1; ++ } ++ /* Read next Huffman-coded symbol. */ ++ /* Note: It is far cheaper to read maxLen bits and back up than it is ++ to read minLen bits and then an additional bit at a time, testing ++ as we go. Because there is a trailing last block (with file CRC), ++ there is no danger of the overread causing an unexpected EOF for a ++ valid compressed file. As a further optimization, we do the read ++ inline (falling back to a call to get_bits if the buffer runs ++ dry). The following (up to got_huff_bits:) is equivalent to ++ j=get_bits(bd,hufGroup->maxLen); ++ */ ++ while (bd->inbufBitCountmaxLen) { ++ if(bd->inbufPos==bd->inbufCount) { ++ j = get_bits(bd,hufGroup->maxLen); ++ goto got_huff_bits; ++ } ++ bd->inbufBits=(bd->inbufBits<<8)|bd->inbuf[bd->inbufPos++]; ++ bd->inbufBitCount+=8; ++ }; ++ bd->inbufBitCount-=hufGroup->maxLen; ++ j = (bd->inbufBits>>bd->inbufBitCount)&((1<maxLen)-1); ++got_huff_bits: ++ /* Figure how how many bits are in next symbol and unget extras */ ++ i=hufGroup->minLen; ++ while(j>limit[i]) ++i; ++ bd->inbufBitCount += (hufGroup->maxLen - i); ++ /* Huffman decode value to get nextSym (with bounds checking) */ ++ if ((i > hufGroup->maxLen) ++ || (((unsigned)(j=(j>>(hufGroup->maxLen-i))-base[i])) ++ >= MAX_SYMBOLS)) ++ return RETVAL_DATA_ERROR; ++ nextSym = hufGroup->permute[j]; ++ /* We have now decoded the symbol, which indicates either a new literal ++ byte, or a repeated run of the most recent literal byte. First, ++ check if nextSym indicates a repeated run, and if so loop collecting ++ how many times to repeat the last literal. */ ++ if (((unsigned)nextSym) <= SYMBOL_RUNB) { /* RUNA or RUNB */ ++ /* If this is the start of a new run, zero out counter */ ++ if(!runPos) { ++ runPos = 1; ++ t = 0; ++ } ++ /* Neat trick that saves 1 symbol: instead of or-ing 0 or 1 at ++ each bit position, add 1 or 2 instead. For example, ++ 1011 is 1<<0 + 1<<1 + 2<<2. 1010 is 2<<0 + 2<<1 + 1<<2. ++ You can make any bit pattern that way using 1 less symbol than ++ the basic or 0/1 method (except all bits 0, which would use no ++ symbols, but a run of length 0 doesn't mean anything in this ++ context). Thus space is saved. */ ++ t += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */ ++ runPos <<= 1; ++ continue; ++ } ++ /* When we hit the first non-run symbol after a run, we now know ++ how many times to repeat the last literal, so append that many ++ copies to our buffer of decoded symbols (dbuf) now. (The last ++ literal used is the one at the head of the mtfSymbol array.) */ ++ if(runPos) { ++ runPos=0; ++ if(dbufCount+t>=dbufSize) return RETVAL_DATA_ERROR; ++ ++ uc = symToByte[mtfSymbol[0]]; ++ byteCount[uc] += t; ++ while(t--) dbuf[dbufCount++]=uc; ++ } ++ /* Is this the terminating symbol? */ ++ if(nextSym>symTotal) break; ++ /* At this point, nextSym indicates a new literal character. Subtract ++ one to get the position in the MTF array at which this literal is ++ currently to be found. (Note that the result can't be -1 or 0, ++ because 0 and 1 are RUNA and RUNB. But another instance of the ++ first symbol in the mtf array, position 0, would have been handled ++ as part of a run above. Therefore 1 unused mtf position minus ++ 2 non-literal nextSym values equals -1.) */ ++ if(dbufCount>=dbufSize) return RETVAL_DATA_ERROR; ++ i = nextSym - 1; ++ uc = mtfSymbol[i]; ++ /* Adjust the MTF array. Since we typically expect to move only a ++ * small number of symbols, and are bound by 256 in any case, using ++ * memmove here would typically be bigger and slower due to function ++ * call overhead and other assorted setup costs. */ ++ do { ++ mtfSymbol[i] = mtfSymbol[i-1]; ++ } while (--i); ++ mtfSymbol[0] = uc; ++ uc=symToByte[uc]; ++ /* We have our literal byte. Save it into dbuf. */ ++ byteCount[uc]++; ++ dbuf[dbufCount++] = (unsigned int)uc; ++ } ++ /* At this point, we've read all the Huffman-coded symbols (and repeated ++ runs) for this block from the input stream, and decoded them into the ++ intermediate buffer. There are dbufCount many decoded bytes in dbuf[]. ++ Now undo the Burrows-Wheeler transform on dbuf. ++ See http://dogma.net/markn/articles/bwt/bwt.htm ++ */ ++ /* Turn byteCount into cumulative occurrence counts of 0 to n-1. */ ++ j=0; ++ for(i=0;i<256;i++) { ++ k=j+byteCount[i]; ++ byteCount[i] = j; ++ j=k; ++ } ++ /* Figure out what order dbuf would be in if we sorted it. */ ++ for (i=0;i=dbufCount) return RETVAL_DATA_ERROR; ++ bd->writePos=dbuf[origPtr]; ++ bd->writeCurrent=(unsigned char)(bd->writePos&0xff); ++ bd->writePos>>=8; ++ bd->writeRunCountdown=5; ++ } ++ bd->writeCount=dbufCount; ++ ++ return RETVAL_OK; ++} ++ ++/* Undo burrows-wheeler transform on intermediate buffer to produce output. ++ If start_bunzip was initialized with out_fd=-1, then up to len bytes of ++ data are written to outbuf. Return value is number of bytes written or ++ error (all errors are negative numbers). If out_fd!=-1, outbuf and len ++ are ignored, data is written to out_fd and return is RETVAL_OK or error. ++*/ ++ ++static int read_bunzip(bunzip_data *bd, char *outbuf, int len) ++{ ++ const unsigned int *dbuf; ++ int pos,xcurrent,previous,gotcount; ++ ++ /* If last read was short due to end of file, return last block now */ ++ if(bd->writeCount<0) return bd->writeCount; ++ ++ gotcount = 0; ++ dbuf=bd->dbuf; ++ pos=bd->writePos; ++ xcurrent=bd->writeCurrent; ++ ++ /* We will always have pending decoded data to write into the output ++ buffer unless this is the very first call (in which case we haven't ++ Huffman-decoded a block into the intermediate buffer yet). */ ++ ++ if (bd->writeCopies) { ++ /* Inside the loop, writeCopies means extra copies (beyond 1) */ ++ --bd->writeCopies; ++ /* Loop outputting bytes */ ++ for(;;) { ++ /* If the output buffer is full, snapshot state and return */ ++ if(gotcount >= len) { ++ bd->writePos=pos; ++ bd->writeCurrent=xcurrent; ++ bd->writeCopies++; ++ return len; ++ } ++ /* Write next byte into output buffer, updating CRC */ ++ outbuf[gotcount++] = xcurrent; ++ bd->writeCRC=(((bd->writeCRC)<<8) ++ ^bd->crc32Table[((bd->writeCRC)>>24)^xcurrent]); ++ /* Loop now if we're outputting multiple copies of this byte */ ++ if (bd->writeCopies) { ++ --bd->writeCopies; ++ continue; ++ } ++decode_next_byte: ++ if (!bd->writeCount--) break; ++ /* Follow sequence vector to undo Burrows-Wheeler transform */ ++ previous=xcurrent; ++ pos=dbuf[pos]; ++ xcurrent=pos&0xff; ++ pos>>=8; ++ /* After 3 consecutive copies of the same byte, the 4th is a repeat ++ count. We count down from 4 instead ++ * of counting up because testing for non-zero is faster */ ++ if(--bd->writeRunCountdown) { ++ if(xcurrent!=previous) bd->writeRunCountdown=4; ++ } else { ++ /* We have a repeated run, this byte indicates the count */ ++ bd->writeCopies=xcurrent; ++ xcurrent=previous; ++ bd->writeRunCountdown=5; ++ /* Sometimes there are just 3 bytes (run length 0) */ ++ if(!bd->writeCopies) goto decode_next_byte; ++ /* Subtract the 1 copy we'd output anyway to get extras */ ++ --bd->writeCopies; ++ } ++ } ++ /* Decompression of this block completed successfully */ ++ bd->writeCRC=~bd->writeCRC; ++ bd->totalCRC=((bd->totalCRC<<1) | (bd->totalCRC>>31)) ^ bd->writeCRC; ++ /* If this block had a CRC error, force file level CRC error. */ ++ if(bd->writeCRC!=bd->headerCRC) { ++ bd->totalCRC=bd->headerCRC+1; ++ return RETVAL_LAST_BLOCK; ++ } ++ } ++ ++ /* Refill the intermediate buffer by Huffman-decoding next block of input */ ++ /* (previous is just a convenient unused temp variable here) */ ++ previous=get_next_block(bd); ++ if(previous) { ++ bd->writeCount=previous; ++ return (previous!=RETVAL_LAST_BLOCK) ? previous : gotcount; ++ } ++ bd->writeCRC=0xffffffffUL; ++ pos=bd->writePos; ++ xcurrent=bd->writeCurrent; ++ goto decode_next_byte; ++} ++ ++static int nofill(void *buf,unsigned int len) { ++ return -1; ++} ++ ++/* Allocate the structure, read file header. If in_fd==-1, inbuf must contain ++ a complete bunzip file (len bytes long). If in_fd!=-1, inbuf and len are ++ ignored, and data is read from file handle into temporary buffer. */ ++static int start_bunzip(bunzip_data **bdp, void *inbuf, int len, ++ int (*fill)(void*,unsigned int)) ++{ ++ bunzip_data *bd; ++ unsigned int i,j,c; ++ const unsigned int BZh0=(((unsigned int)'B')<<24)+(((unsigned int)'Z')<<16) ++ +(((unsigned int)'h')<<8)+(unsigned int)'0'; ++ ++ /* Figure out how much data to allocate */ ++ i=sizeof(bunzip_data); ++ ++ /* Allocate bunzip_data. Most fields initialize to zero. */ ++ bd=*bdp=malloc(i); ++ memset(bd,0,sizeof(bunzip_data)); ++ /* Setup input buffer */ ++ bd->inbuf=inbuf; ++ bd->inbufCount=len; ++ if(fill != NULL) ++ bd->fill=fill; ++ else ++ bd->fill=nofill; ++ ++ /* Init the CRC32 table (big endian) */ ++ for(i=0;i<256;i++) { ++ c=i<<24; ++ for(j=8;j;j--) ++ c=c&0x80000000 ? (c<<1)^0x04c11db7 : (c<<1); ++ bd->crc32Table[i]=c; ++ } ++ ++ /* Ensure that file starts with "BZh['1'-'9']." */ ++ i = get_bits(bd,32); ++ if (((unsigned int)(i-BZh0-1)) >= 9) return RETVAL_NOT_BZIP_DATA; ++ ++ /* Fourth byte (ascii '1'-'9'), indicates block size in units of 100k of ++ uncompressed data. Allocate intermediate buffer for block. */ ++ bd->dbufSize=100000*(i-BZh0); ++ ++ bd->dbuf=large_malloc(bd->dbufSize * sizeof(int)); ++ return RETVAL_OK; ++} ++ ++/* Example usage: decompress src_fd to dst_fd. (Stops at end of bzip data, ++ not end of file.) */ ++STATIC int bunzip2(char *inbuf, int len, ++ int(*fill)(void*,unsigned int), ++ int(*writebb)(char*,unsigned int), ++ int *pos) ++{ ++ char *outbuf; ++ bunzip_data *bd; ++ int i; ++ ++ outbuf=malloc(BZIP2_IOBUF_SIZE); ++ if(!(i=start_bunzip(&bd,inbuf,len,fill))) { ++ for(;;) { ++ if((i=read_bunzip(bd,outbuf,BZIP2_IOBUF_SIZE)) <= 0) break; ++ if(i!=writebb(outbuf,i)) { ++ i=RETVAL_UNEXPECTED_OUTPUT_EOF; ++ break; ++ } ++ } ++ } ++ /* Check CRC and release memory */ ++ if(i==RETVAL_LAST_BLOCK) { ++ if (bd->headerCRC!=bd->totalCRC) { ++ error("Data integrity error when decompressing."); ++ } else { ++ i=RETVAL_OK; ++ } ++ } ++ else if (i==RETVAL_UNEXPECTED_OUTPUT_EOF) { ++ error("Compressed file ends unexpectedly"); ++ } ++ if(bd->dbuf) large_free(bd->dbuf); ++ if(pos) ++ *pos = bd->inbufPos; ++ free(bd); ++ free(outbuf); ++ ++ return i; ++} ++ + +--- linux-2.6.29.3/lib/decompress_unlzma.c ++++ linux-2.6.29.3/lib/decompress_unlzma.c +@@ -0,0 +1,577 @@ ++/* Lzma decompressor for Linux kernel. Shamelessly snarfed ++ * from busybox 1.1.1 ++ * ++ * Linux kernel adaptation ++ * Copyright (C) 2006 Alain ++ * ++ * Based on small lzma deflate implementation/Small range coder ++ * implementation for lzma. ++ * Copyright (C) 2006 Aurelien Jacobs ++ * ++ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) ++ * Copyright (C) 1999-2005 Igor Pavlov ++ * ++ * Copyrights of the parts, see headers below. ++ * ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#ifndef STATIC ++ ++#include ++#include ++#include ++ ++#ifdef TEST ++#include "test.h" ++#else ++#include ++#endif ++ ++static void __init *large_malloc(size_t size) ++{ ++ return vmalloc(size); ++} ++ ++static void __init large_free(void *where) ++{ ++ vfree(where); ++} ++ ++#ifndef TEST ++static void __init error(char *x) ++{ ++ printk(KERN_ERR "%s\n", x); ++} ++ ++#endif ++ ++#define STATIC /**/ ++ ++#endif ++ ++#define CONFIG_FEATURE_LZMA_FAST ++#include ++ ++#define MIN(a,b) (((a)<(b))?(a):(b)) ++ ++static long long read_int(unsigned char *ptr, int size) ++{ ++ int i; ++ long long ret=0; ++ ++ for(i=0; i ++ * ++ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) ++ * Copyright (c) 1999-2005 Igor Pavlov ++ */ ++ ++#ifndef always_inline ++# if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >0) ++# define always_inline __attribute__((always_inline)) inline ++# else ++# define always_inline inline ++# endif ++#endif ++ ++#ifdef CONFIG_FEATURE_LZMA_FAST ++# define speed_inline always_inline ++# define size_inline ++#else ++# define speed_inline ++# define size_inline always_inline ++#endif ++ ++ ++typedef struct { ++ int (*fill)(void*,unsigned int); ++ uint8_t *ptr; ++ uint8_t *buffer; ++ uint8_t *buffer_end; ++ int buffer_size; ++ uint32_t code; ++ uint32_t range; ++} rc_t; ++ ++ ++#define RC_TOP_BITS 24 ++#define RC_MOVE_BITS 5 ++#define RC_MODEL_TOTAL_BITS 11 ++ ++ ++/* Called twice: once at startup and once in rc_normalize() */ ++static size_inline void rc_read(rc_t * rc) ++{ ++ if (!rc->buffer_size) return; ++ if (rc->fill) { ++ rc->buffer_size = rc->fill((char*)rc->buffer, LZMA_IOBUF_SIZE); ++ rc->ptr = rc->buffer; ++ rc->buffer_end = rc->buffer + rc->buffer_size; ++ if (rc->buffer_size > 0) return; ++ } ++ error("unexpected EOF"); ++ rc->buffer_size = 0; ++} ++ ++/* Called once */ ++static always_inline void rc_init(rc_t * rc, int (*fill)(void*,unsigned int), ++ char *buffer, int buffer_size) ++{ ++ rc->fill = fill; ++ rc->buffer = (uint8_t *)buffer; ++ rc->buffer_size = buffer_size; ++ rc->buffer_end = rc->buffer + rc->buffer_size; ++ rc->ptr = rc->buffer; ++ ++ rc->code = 0; ++ rc->range = 0xFFFFFFFF; ++} ++ ++static always_inline void rc_init_code(rc_t * rc) ++{ ++ int i; ++ ++ for (i = 0; i < 5; i++) { ++ if (rc->ptr >= rc->buffer_end) ++ rc_read(rc); ++ rc->code = (rc->code << 8) | *rc->ptr++; ++ } ++} ++ ++/* Called twice, but one callsite is in speed_inline'd rc_is_bit_1() */ ++static speed_inline void rc_do_normalize(rc_t * rc) ++{ ++ if (rc->ptr >= rc->buffer_end) ++ rc_read(rc); ++ rc->range <<= 8; ++ rc->code = (rc->code << 8) | *rc->ptr++; ++} ++static always_inline void rc_normalize(rc_t * rc) ++{ ++ if (rc->range < (1 << RC_TOP_BITS)) { ++ rc_do_normalize(rc); ++ } ++} ++ ++/* Called 9 times */ ++static speed_inline int rc_is_bit_1(rc_t * rc, uint16_t * p) ++{ ++ uint32_t bound; ++ rc_normalize(rc); ++ bound = *p * (rc->range >> RC_MODEL_TOTAL_BITS); ++ if (rc->code < bound) { ++ rc->range = bound; ++ *p += ((1 << RC_MODEL_TOTAL_BITS) - *p) >> RC_MOVE_BITS; ++ return 0; ++ } ++ else { ++ rc->code -= bound; ++ rc->range -= bound; ++ *p -= *p >> RC_MOVE_BITS; ++ return 1; ++ } ++} ++ ++/* Called 4 times in unlzma loop */ ++static speed_inline int rc_get_bit(rc_t * rc, uint16_t * p, int *symbol) ++{ ++ int ret = rc_is_bit_1(rc, p); ++ *symbol = *symbol * 2 + ret; ++ return ret; ++} ++ ++/* Called once */ ++static always_inline int rc_direct_bit(rc_t * rc) ++{ ++ rc_normalize(rc); ++ rc->range >>= 1; ++ if (rc->code >= rc->range) { ++ rc->code -= rc->range; ++ return 1; ++ } ++ return 0; ++} ++ ++/* Called twice */ ++static speed_inline void ++rc_bit_tree_decode(rc_t * rc, uint16_t * p, int num_levels, int *symbol) ++{ ++ int i = num_levels; ++ ++ *symbol = 1; ++ while (i--) ++ rc_get_bit(rc, p + *symbol, symbol); ++ *symbol -= 1 << num_levels; ++} ++ ++ ++/* ++ * Small lzma deflate implementation. ++ * Copyright (C) 2006 Aurelien Jacobs ++ * ++ * Based on LzmaDecode.c from the LZMA SDK 4.22 (http://www.7-zip.org/) ++ * Copyright (C) 1999-2005 Igor Pavlov ++ */ ++ ++ ++typedef struct { ++ uint8_t pos; ++ uint32_t dict_size; ++ uint64_t dst_size; ++} __attribute__ ((packed)) lzma_header_t; ++ ++ ++#define LZMA_BASE_SIZE 1846 ++#define LZMA_LIT_SIZE 768 ++ ++#define LZMA_NUM_POS_BITS_MAX 4 ++ ++#define LZMA_LEN_NUM_LOW_BITS 3 ++#define LZMA_LEN_NUM_MID_BITS 3 ++#define LZMA_LEN_NUM_HIGH_BITS 8 ++ ++#define LZMA_LEN_CHOICE 0 ++#define LZMA_LEN_CHOICE_2 (LZMA_LEN_CHOICE + 1) ++#define LZMA_LEN_LOW (LZMA_LEN_CHOICE_2 + 1) ++#define LZMA_LEN_MID (LZMA_LEN_LOW \ ++ + (1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_LOW_BITS))) ++#define LZMA_LEN_HIGH (LZMA_LEN_MID \ ++ +(1 << (LZMA_NUM_POS_BITS_MAX + LZMA_LEN_NUM_MID_BITS))) ++#define LZMA_NUM_LEN_PROBS (LZMA_LEN_HIGH + (1 << LZMA_LEN_NUM_HIGH_BITS)) ++ ++#define LZMA_NUM_STATES 12 ++#define LZMA_NUM_LIT_STATES 7 ++ ++#define LZMA_START_POS_MODEL_INDEX 4 ++#define LZMA_END_POS_MODEL_INDEX 14 ++#define LZMA_NUM_FULL_DISTANCES (1 << (LZMA_END_POS_MODEL_INDEX >> 1)) ++ ++#define LZMA_NUM_POS_SLOT_BITS 6 ++#define LZMA_NUM_LEN_TO_POS_STATES 4 ++ ++#define LZMA_NUM_ALIGN_BITS 4 ++ ++#define LZMA_MATCH_MIN_LEN 2 ++ ++#define LZMA_IS_MATCH 0 ++#define LZMA_IS_REP (LZMA_IS_MATCH + (LZMA_NUM_STATES < 0 && inbuf[0] == 0) { ++ const int LZMA_LC = 3, LZMA_LP = 0, LZMA_PB = 2; ++ header.pos = (LZMA_PB * 45) + (LZMA_LP * 5) + LZMA_LC; ++ rc.ptr++; ++ } ++ else { ++ int hdrsize = sizeof(header); ++ if (inbuf && in_len > 12 && ++ (1 + * (unsigned long *) &inbuf[9]) > 1U) ++ hdrsize = 5; ++ for (i = 0; i < hdrsize; i++) { ++ if (rc.ptr >= rc.buffer_end) ++ rc_read(&rc); ++ ((unsigned char *)&header)[i] = *rc.ptr++; ++ } ++ } ++ ++ if (header.pos >= (9 * 5 * 5)) { ++ error("bad header"); ++ return -1; ++ } ++ ++ mi = header.pos / 9; ++ lc = header.pos % 9; ++ pb = mi / 5; ++ lp = mi % 5; ++ pos_state_mask = (1 << pb) - 1; ++ literal_pos_mask = (1 << lp) - 1; ++ ++ ENDIAN_CONVERT(header.dict_size); ++ ENDIAN_CONVERT(header.dst_size); ++ ++ if (header.dict_size == 0) ++ header.dict_size = 1; ++ ++ bufsize = MIN(header.dst_size, header.dict_size); ++ buffer = (uint8_t *) posp; ++ if (writebb) buffer = large_malloc(bufsize); ++ if(buffer == NULL) ++ return -1; ++ ++ num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)); ++ p = large_malloc(num_probs * sizeof(*p)); ++ num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp)); ++ for (i = 0; i < num_probs; i++) ++ p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1; ++ ++ rc_init_code(&rc); ++ ++ while (global_pos + buffer_pos < header.dst_size) { ++ int pos_state = (buffer_pos + global_pos) & pos_state_mask; ++ ++ prob = ++ p + LZMA_IS_MATCH + (state << LZMA_NUM_POS_BITS_MAX) + pos_state; ++ if (!rc_is_bit_1(&rc, prob)) { ++ mi = 1; ++ prob = (p + LZMA_LITERAL + (LZMA_LIT_SIZE ++ * ((((buffer_pos + global_pos) & literal_pos_mask) << lc) ++ + (previous_byte >> (8 - lc))))); ++ ++ if (state >= LZMA_NUM_LIT_STATES) { ++ int match_byte; ++ ++ pos = buffer_pos - rep0; ++ ++ while (pos >= header.dict_size) ++ pos += header.dict_size; ++ if(pos >= bufsize) { ++ goto fail; ++ } ++ ++ match_byte = buffer[pos]; ++ do { ++ int bit; ++ ++ match_byte <<= 1; ++ bit = match_byte & 0x100; ++ prob_lit = prob + 0x100 + bit + mi; ++ bit ^= (rc_get_bit(&rc, prob_lit, &mi) << 8); ++ if (bit) ++ break; ++ } while (mi < 0x100); ++ } ++ while (mi < 0x100) { ++ prob_lit = prob + mi; ++ rc_get_bit(&rc, prob_lit, &mi); ++ } ++ state -= 3; ++ if (state < 4 - 3) ++ state = 0; ++ if (state >= 10-3) ++ state -= 6-3; ++ previous_byte = (uint8_t) mi; ++ goto store_previous_byte; ++ } else { ++ int offset; ++ uint16_t *prob_len; ++ ++ prob = p + LZMA_IS_REP + state; ++ if (!rc_is_bit_1(&rc, prob)) { ++ rep3 = rep2; ++ rep2 = rep1; ++ rep1 = rep0; ++ state = state < LZMA_NUM_LIT_STATES ? 0 : 3; ++ prob = p + LZMA_LEN_CODER; ++ } else { ++ prob += LZMA_IS_REP_G0 - LZMA_IS_REP; ++ if (!rc_is_bit_1(&rc, prob)) { ++ prob = (p + LZMA_IS_REP_0_LONG ++ + (state << LZMA_NUM_POS_BITS_MAX) ++ + pos_state); ++ if (!rc_is_bit_1(&rc, prob)) { ++ ++ state = state < LZMA_NUM_LIT_STATES ? 9 : 11; ++ pos = buffer_pos - rep0; ++ ++ while (pos >= header.dict_size) ++ pos += header.dict_size; ++ if(pos >= bufsize) { ++ goto fail; ++ } ++ ++ previous_byte = buffer[pos]; ++ store_previous_byte: ++ if (!rc.buffer_size) goto eof; ++ buffer[buffer_pos++] = previous_byte; ++ if (writebb && buffer_pos == header.dict_size) { ++ buffer_pos = 0; ++ global_pos += header.dict_size; ++ writebb((char*)buffer, header.dict_size); ++ } ++ continue; ++ } ++ } else { ++ uint32_t distance; ++ ++ prob += LZMA_IS_REP_G1 - LZMA_IS_REP_G0; ++ distance = rep1; ++ if (rc_is_bit_1(&rc, prob)) { ++ prob += LZMA_IS_REP_G2 - LZMA_IS_REP_G1; ++ distance = rep2; ++ if (rc_is_bit_1(&rc, prob)) { ++ distance = rep3; ++ rep3 = rep2; ++ } ++ rep2 = rep1; ++ } ++ rep1 = rep0; ++ rep0 = distance; ++ } ++ state = state < LZMA_NUM_LIT_STATES ? 8 : 11; ++ prob = p + LZMA_REP_LEN_CODER; ++ } ++ ++ prob_len = prob + LZMA_LEN_CHOICE; ++ if (!rc_is_bit_1(&rc, prob_len)) { ++ prob_len += LZMA_LEN_LOW - LZMA_LEN_CHOICE ++ + (pos_state << LZMA_LEN_NUM_LOW_BITS); ++ offset = 0; ++ num_bits = LZMA_LEN_NUM_LOW_BITS; ++ } else { ++ prob_len += LZMA_LEN_CHOICE_2 - LZMA_LEN_CHOICE; ++ if (!rc_is_bit_1(&rc, prob_len)) { ++ prob_len += LZMA_LEN_MID - LZMA_LEN_CHOICE_2 ++ + (pos_state << LZMA_LEN_NUM_MID_BITS); ++ offset = 1 << LZMA_LEN_NUM_LOW_BITS; ++ num_bits = LZMA_LEN_NUM_MID_BITS; ++ } else { ++ prob_len += LZMA_LEN_HIGH - LZMA_LEN_CHOICE_2; ++ offset = ((1 << LZMA_LEN_NUM_LOW_BITS) ++ + (1 << LZMA_LEN_NUM_MID_BITS)); ++ num_bits = LZMA_LEN_NUM_HIGH_BITS; ++ } ++ } ++ rc_bit_tree_decode(&rc, prob_len, num_bits, &len); ++ len += offset; ++ ++ if (state < 4) { ++ int pos_slot; ++ ++ state += LZMA_NUM_LIT_STATES; ++ prob = p + LZMA_POS_SLOT + ++ ((len < ++ LZMA_NUM_LEN_TO_POS_STATES ? len : ++ LZMA_NUM_LEN_TO_POS_STATES - 1) ++ << LZMA_NUM_POS_SLOT_BITS); ++ rc_bit_tree_decode(&rc, prob, LZMA_NUM_POS_SLOT_BITS, ++ &pos_slot); ++ rep0 = pos_slot; ++ if (pos_slot >= LZMA_START_POS_MODEL_INDEX) { ++ num_bits = (pos_slot >> 1) - 1; ++ rep0 = 2 | (pos_slot & 1); ++ prob = p + LZMA_ALIGN; ++ if (pos_slot < LZMA_END_POS_MODEL_INDEX) { ++ rep0 <<= num_bits; ++ prob += LZMA_SPEC_POS - LZMA_ALIGN - 1 + rep0 - pos_slot; ++ } else { ++ num_bits -= LZMA_NUM_ALIGN_BITS; ++ while (num_bits--) ++ rep0 = (rep0 << 1) | rc_direct_bit(&rc); ++ rep0 <<= LZMA_NUM_ALIGN_BITS; ++ num_bits = LZMA_NUM_ALIGN_BITS; ++ } ++ i = 1; ++ mi = 1; ++ while (num_bits--) { ++ if (rc_get_bit(&rc, prob + mi, &mi)) ++ rep0 |= i; ++ i <<= 1; ++ } ++ } ++ if (++rep0 == 0) ++ break; ++ } ++ ++ len += LZMA_MATCH_MIN_LEN; ++ ++ if (!rc.buffer_size) goto eof; ++ do { ++ pos = buffer_pos - rep0; ++ ++ while (pos >= header.dict_size) ++ pos += header.dict_size; ++ if(pos >= bufsize) { ++ goto fail; ++ } ++ ++ previous_byte = buffer[pos]; ++ buffer[buffer_pos++] = previous_byte; ++ if (writebb && buffer_pos == header.dict_size) { ++ buffer_pos = 0; ++ global_pos += header.dict_size; ++ writebb((char*)buffer, header.dict_size); ++ } ++ len--; ++ } while (len != 0 && (global_pos + buffer_pos) < header.dst_size); ++ } ++ } ++ eof: ++ if (writebb) { ++ writebb((char*)buffer, buffer_pos); ++ if(posp) { ++ *posp = rc.ptr-rc.buffer; ++ } ++ large_free(buffer); ++ } ++ large_free(p); ++ return 0; ++ fail: ++ if (writebb) large_free(buffer); ++ large_free(p); ++ return -1; ++} + +--- linux-2.6.29.3/lib/unlzma_syms.c ++++ linux-2.6.29.3/lib/unlzma_syms.c +@@ -0,0 +1,14 @@ ++/* ++ * linux/lib/unlzma_syms.c ++ * ++ * Exported symbols for the unlzma functionality. ++ * ++ */ ++ ++#include ++#include ++ ++#include ++ ++EXPORT_SYMBOL(unlzma); ++MODULE_LICENSE("GPL"); + +--- linux-2.6.29.3/scripts/Makefile.lib ++++ linux-2.6.29.3/scripts/Makefile.lib +@@ -185,4 +185,17 @@ + quiet_cmd_gzip = GZIP $@ + cmd_gzip = gzip -f -9 < $< > $@ + ++# Append size ++size_append=perl -e 'print(pack("i",(stat($$ARGV[0]))[7]));' + ++# Bzip2 ++# --------------------------------------------------------------------------- ++ ++quiet_cmd_bzip2 = BZIP2 $@ ++cmd_bzip2 = (bzip2 -9 < $< ; $(size_append) $<) > $@ ++ ++# Lzma ++# --------------------------------------------------------------------------- ++ ++quiet_cmd_lzma = LZMA $@ ++cmd_lzma = (lzma e $< -so ; $(size_append) $<) >$@ diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-lzma-loram-2.6.24.2.u --- a/linux/stuff/linux-lzma-loram-2.6.24.2.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,227 +0,0 @@ ---- linux-2.6.24.2/init/initramfs.c -+++ linux-2.6.24.2/init/initramfs.c -@@ -468,6 +468,29 @@ - } - #endif - -+#include -+#ifdef CONFIG_RD_LZMA -+#define INITRD_PAGE ((PAGE_SIZE > 1024*1024) ? PAGE_SIZE : 1024*1024) -+static int fill_offset, fill_total; -+static int fill_buffer(void *buffer, unsigned size) -+{ -+ int max = initrd_end - initrd_start - fill_offset; -+ if (size < max) max = size; -+ memcpy(buffer, (void *)(initrd_start + fill_offset), max); -+ fill_offset += max; -+ fill_total += max; -+ if (fill_offset >= INITRD_PAGE) { -+ unsigned rem = fill_offset % INITRD_PAGE; -+ unsigned end = initrd_start + fill_offset - rem; -+ free_initrd_mem(initrd_start, end); -+ printk("."); -+ initrd_start = end; -+ fill_offset = rem; -+ } -+ return max; -+} -+#endif -+ - static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only) - { - int written; -@@ -484,6 +507,9 @@ - this_header = 0; - message = NULL; - while (!message && len) { -+#ifdef CONFIG_RD_LZMA -+ int status; -+#endif - loff_t saved_offset = this_header; - if (*buf == '0' && !(this_header & 3)) { - state = Start; -@@ -523,8 +549,20 @@ - #ifdef CONFIG_RD_LZMA - message = NULL; /* Zero out message, or else cpio will - think an error has already occured */ -- if(!unlzma(buf, len, NULL, flush_buffer, &inptr) < 0 && -- message == NULL) { -+ status = -1; -+ if(buf == (char *) initrd_start) { -+ char *work_buffer = malloc(LZMA_IOBUF_SIZE); -+ if (work_buffer) { -+ fill_total = fill_offset = 0; -+ fill_buffer(work_buffer, LZMA_IOBUF_SIZE); -+ status = unlzma(work_buffer, LZMA_IOBUF_SIZE, -+ fill_buffer, flush_buffer, NULL); -+ inptr = fill_total; -+ free(work_buffer); -+ } -+ } -+ else status = unlzma(buf,len, NULL, flush_buffer, &inptr); -+ if (status == 0 && message == NULL) { - goto ok; - } - #endif - ---- linux-2.6.24.2/arch/x86/mm/init_32.c -+++ linux-2.6.24.2/arch/x86/mm/init_32.c -@@ -834,7 +834,8 @@ - free_page(addr); - totalram_pages++; - } -- printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10); -+ if (what) -+ printk(KERN_INFO "Freeing %s: %luk freed\n", what, (end - begin) >> 10); - } - - void free_initmem(void) -@@ -847,7 +848,7 @@ - #ifdef CONFIG_BLK_DEV_INITRD - void free_initrd_mem(unsigned long start, unsigned long end) - { -- free_init_pages("initrd memory", start, end); -+ free_init_pages(NULL, start, end); - } - #endif - - ---- linux-2.6.24.2/lib/decompress_unlzma.c -+++ linux-2.6.24.2/lib/decompress_unlzma.c -@@ -366,7 +366,8 @@ - header.dict_size = 1; - - bufsize = MIN(header.dst_size, header.dict_size); -- buffer = large_malloc(bufsize); -+ buffer = (uint8_t *) posp; -+ if (writebb) buffer = large_malloc(bufsize); - if(buffer == NULL) - return -1; - -@@ -394,10 +395,12 @@ - int match_byte; - - pos = buffer_pos - rep0; -- while (pos >= header.dict_size) -- pos += header.dict_size; -- if(pos >= bufsize) { -- goto fail; -+ if (writebb) { -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } - } - match_byte = buffer[pos]; - do { -@@ -419,20 +422,14 @@ - prob_lit = prob + mi; - rc_get_bit(&rc, prob_lit, &mi); - } -+ previous_byte = (uint8_t) mi; - if (state < 4) - state = 0; - else if (state < 10) - state -= 3; - else - state -= 6; -- previous_byte = (uint8_t) mi; -- one_byte: -- buffer[buffer_pos++] = previous_byte; -- if (buffer_pos == header.dict_size) { -- buffer_pos = 0; -- global_pos += header.dict_size; -- writebb((char*)buffer, header.dict_size); -- } -+ goto store_previous_byte; - } else { - int offset; - uint16_t *prob_len; -@@ -457,14 +454,23 @@ - rc_update_bit_0(&rc, prob); - - state = state < LZMA_NUM_LIT_STATES ? 9 : 11; -- pos = buffer_pos - rep0; -- while (pos >= header.dict_size) -- pos += header.dict_size; -- if(pos >= bufsize) { -- goto fail; -+ pos = buffer_pos - rep0; -+ if (writebb) { -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } - } - previous_byte = buffer[pos]; -- goto one_byte; -+ store_previous_byte: -+ buffer[buffer_pos++] = previous_byte; -+ if (writebb && buffer_pos == header.dict_size) { -+ buffer_pos = 0; -+ global_pos += header.dict_size; -+ writebb((char*)buffer, header.dict_size); -+ } -+ continue; - } else { - rc_update_bit_1(&rc, prob); - } -@@ -566,14 +572,16 @@ - - do { - pos = buffer_pos - rep0; -- while (pos >= header.dict_size) -- pos += header.dict_size; -- if(pos >= bufsize) { -- goto fail; -+ if (writebb) { -+ while (pos >= header.dict_size) -+ pos += header.dict_size; -+ if(pos >= bufsize) { -+ goto fail; -+ } - } - previous_byte = buffer[pos]; - buffer[buffer_pos++] = previous_byte; -- if (buffer_pos == header.dict_size) { -+ if (writebb && buffer_pos == header.dict_size) { - buffer_pos = 0; - global_pos += header.dict_size; - writebb((char*)buffer, header.dict_size); -@@ -583,15 +591,17 @@ - } - } - -- writebb((char*)buffer, buffer_pos); -- if(posp) { -- *posp = rc.ptr-rc.buffer; -+ if (writebb) { -+ writebb((char*)buffer, buffer_pos); -+ if(posp) { -+ *posp = rc.ptr-rc.buffer; -+ } -+ large_free(buffer); - } -- large_free(buffer); - large_free(p); - return 0; - fail: -- large_free(buffer); -+ if (writebb) large_free(buffer); - large_free(p); - return -1; - } - ---- linux-2.6.24.2/arch/x86/boot/compressed/misc_32.c -+++ linux-2.6.24.2/arch/x86/boot/compressed/misc_32.c -@@ -444,7 +444,7 @@ - - #ifdef CONFIG_KERNEL_LZMA - putstr("Unlzmaing Linux... "); -- unlzma(input_data, input_len-4, NULL, compr_flush, NULL); -+ unlzma(input_data, input_len-4, NULL, NULL, window); - #endif - - #ifdef CONFIG_KERNEL_GZIP diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-utf8-2.6.24.2.u --- a/linux/stuff/linux-utf8-2.6.24.2.u Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ ---- linux-2.6.24.2/drivers/char/vt.c -+++ linux-2.6.24.2/drivers/char/vt.c -@@ -161,3 +161,3 @@ - static int printable; /* Is console ready for printing? */ --int default_utf8 = true; -+int default_utf8 = false; - module_param(default_utf8, int, S_IRUGO | S_IWUSR); - diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-utf8-2.6.25.5.u --- a/linux/stuff/linux-utf8-2.6.25.5.u Mon May 11 16:40:10 2009 +0200 +++ b/linux/stuff/linux-utf8-2.6.25.5.u Mon May 11 19:08:50 2009 +0200 @@ -1,1 +1,8 @@ -linux-utf8-2.6.24.2.u \ No newline at end of file +--- linux-2.6.24.2/drivers/char/vt.c ++++ linux-2.6.24.2/drivers/char/vt.c +@@ -161,3 +161,3 @@ + static int printable; /* Is console ready for printing? */ +-int default_utf8 = true; ++int default_utf8 = false; + module_param(default_utf8, int, S_IRUGO | S_IWUSR); + diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/linux-utf8-2.6.29.3.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux/stuff/linux-utf8-2.6.29.3.u Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,8 @@ +--- linux-2.6.29.3/drivers/char/vt.c ++++ linux-2.6.29.3/drivers/char/vt.c +@@ -161,3 +161,3 @@ + static int printable; /* Is console ready for printing? */ +-int default_utf8 = true; ++int default_utf8 = false; + module_param(default_utf8, int, S_IRUGO | S_IWUSR); + diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/modules-2.6.24.2.list --- a/linux/stuff/modules-2.6.24.2.list Mon May 11 16:40:10 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -crypto/pcbc.ko.gz -drivers/base/firmware_class.ko.gz -drivers/char/rtc.ko.gz -drivers/char/genrtc.ko.gz -drivers/input/mouse/logibm.ko.gz -drivers/input/mouse/inport.ko.gz -drivers/input/mouse/pc110pad.ko.gz -drivers/net/3c505.ko.gz -drivers/net/3c509.ko.gz -drivers/net/3c515.ko.gz -drivers/net/3c59x.ko.gz -drivers/net/amd8111e.ko.gz -drivers/net/bnx2.ko.gz -drivers/net/arcnet/rfc1201.ko.gz -drivers/net/arcnet/arcnet.ko.gz -drivers/net/arcnet/com90xx.ko.gz -drivers/net/cs89x0.ko.gz -drivers/net/depca.ko.gz -drivers/net/dl2k.ko.gz -drivers/net/e2100.ko.gz -drivers/net/e1000/e1000.ko.gz -drivers/net/eexpress.ko.gz -drivers/net/eth16i.ko.gz -drivers/net/ewrk3.ko.gz -drivers/net/fealnx.ko.gz -drivers/net/hp-plus.ko.gz -drivers/net/hp.ko.gz -drivers/net/hp100.ko.gz -drivers/net/lp486e.ko.gz -drivers/net/ne.ko.gz -drivers/net/ni52.ko.gz -drivers/net/ni65.ko.gz -drivers/net/sis190.ko.gz -drivers/net/pcmcia/axnet_cs.ko.gz -drivers/net/pcmcia/fmvj18x_cs.ko.gz -drivers/net/pcmcia/nmclan_cs.ko.gz -drivers/net/pcmcia/pcnet_cs.ko.gz -drivers/net/pcmcia/smc91c92_cs.ko.gz -drivers/net/pcmcia/xirc2ps_cs.ko.gz -drivers/net/pcmcia/3c574_cs.ko.gz -drivers/net/pcmcia/3c589_cs.ko.gz -drivers/net/phy/cicada.ko.gz -drivers/net/phy/libphy.ko.gz -drivers/net/phy/lxt.ko.gz -drivers/net/phy/marvell.ko.gz -drivers/net/phy/qsemi.ko.gz -drivers/net/phy/broadcom.ko.gz -drivers/net/phy/davicom.ko.gz -drivers/net/smc9194.ko.gz -drivers/net/starfire.ko.gz -drivers/net/sungem.ko.gz -drivers/net/sungem_phy.ko.gz -drivers/net/sunhme.ko.gz -drivers/net/tg3.ko.gz -drivers/net/typhoon.ko.gz -drivers/net/tulip/tulip.ko.gz -drivers/net/tulip/uli526x.ko.gz -drivers/net/wd.ko.gz -drivers/net/3c501.ko.gz -drivers/net/3c503.ko.gz -drivers/net/82596.ko.gz -drivers/net/cassini.ko.gz -drivers/net/eepro.ko.gz -drivers/net/lance.ko.gz -drivers/net/smc-ultra.ko.gz -drivers/net/via-velocity.ko.gz -drivers/pcmcia/i82365.ko.gz -drivers/pcmcia/pcmcia.ko.gz -drivers/pcmcia/pd6729.ko.gz -drivers/pcmcia/rsrc_nonstatic.ko.gz -drivers/pcmcia/yenta_socket.ko.gz -drivers/pcmcia/i82092.ko.gz -drivers/pcmcia/pcmcia_core.ko.gz -drivers/scsi/scsi_wait_scan.ko.gz -drivers/usb/host/ohci-hcd.ko.gz -fs/fat/fat.ko.gz -fs/msdos/msdos.ko.gz -fs/nls/nls_utf8.ko.gz -fs/vfat/vfat.ko.gz -net/ipv4/netfilter/ipt_REJECT.ko.gz -net/netfilter/nfnetlink_log.ko.gz diff -r 230ebda0b94a -r 9059daaaa23d linux/stuff/modules-2.6.29.3.list --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux/stuff/modules-2.6.29.3.list Mon May 11 19:08:50 2009 +0200 @@ -0,0 +1,103 @@ +drivers/char/genrtc.ko.gz +drivers/char/lp.ko.gz +drivers/char/rtc.ko.gz +drivers/hwmon/coretemp.ko.gz +drivers/hwmon/hwmon.ko.gz +drivers/hwmon/k8temp.ko.gz +drivers/input/mouse/inport.ko.gz +drivers/input/mouse/logibm.ko.gz +drivers/input/mouse/pc110pad.ko.gz +drivers/net/3c501.ko.gz +drivers/net/3c503.ko.gz +drivers/net/3c505.ko.gz +drivers/net/3c509.ko.gz +drivers/net/3c515.ko.gz +drivers/net/3c59x.ko.gz +drivers/net/82596.ko.gz +drivers/net/amd8111e.ko.gz +drivers/net/arcnet/arcnet.ko.gz +drivers/net/arcnet/com90xx.ko.gz +drivers/net/arcnet/rfc1201.ko.gz +drivers/net/atl1e/atl1e.ko.gz +drivers/net/atlx/atl2.ko.gz +drivers/net/bnx2.ko.gz +drivers/net/cassini.ko.gz +drivers/net/cs89x0.ko.gz +drivers/net/depca.ko.gz +drivers/net/dl2k.ko.gz +drivers/net/e1000/e1000.ko.gz +drivers/net/e2100.ko.gz +drivers/net/eepro.ko.gz +drivers/net/eexpress.ko.gz +drivers/net/eth16i.ko.gz +drivers/net/ewrk3.ko.gz +drivers/net/fealnx.ko.gz +drivers/net/hp100.ko.gz +drivers/net/hp.ko.gz +drivers/net/hp-plus.ko.gz +drivers/net/ipg.ko.gz +drivers/net/lance.ko.gz +drivers/net/lp486e.ko.gz +drivers/net/ne.ko.gz +drivers/net/ni52.ko.gz +drivers/net/ni65.ko.gz +drivers/net/pcmcia/3c574_cs.ko.gz +drivers/net/pcmcia/3c589_cs.ko.gz +drivers/net/pcmcia/axnet_cs.ko.gz +drivers/net/pcmcia/fmvj18x_cs.ko.gz +drivers/net/pcmcia/nmclan_cs.ko.gz +drivers/net/pcmcia/pcnet_cs.ko.gz +drivers/net/pcmcia/smc91c92_cs.ko.gz +drivers/net/pcmcia/xirc2ps_cs.ko.gz +drivers/net/phy/broadcom.ko.gz +drivers/net/phy/cicada.ko.gz +drivers/net/phy/davicom.ko.gz +drivers/net/phy/libphy.ko.gz +drivers/net/phy/lxt.ko.gz +drivers/net/phy/marvell.ko.gz +drivers/net/phy/qsemi.ko.gz +drivers/net/sis190.ko.gz +drivers/net/skge.ko.gz +drivers/net/sky2.ko.gz +drivers/net/smc9194.ko.gz +drivers/net/smc-ultra.ko.gz +drivers/net/starfire.ko.gz +drivers/net/sungem.ko.gz +drivers/net/sungem_phy.ko.gz +drivers/net/sunhme.ko.gz +drivers/net/tg3.ko.gz +drivers/net/tulip/tulip.ko.gz +drivers/net/tulip/uli526x.ko.gz +drivers/net/typhoon.ko.gz +drivers/net/usb/asix.ko.gz +drivers/net/usb/cdc_ether.ko.gz +drivers/net/usb/cdc_subset.ko.gz +drivers/net/usb/net1080.ko.gz +drivers/net/usb/rndis_host.ko.gz +drivers/net/usb/usbnet.ko.gz +drivers/net/usb/zaurus.ko.gz +drivers/net/via-velocity.ko.gz +drivers/net/wd.ko.gz +drivers/parport/parport.ko.gz +drivers/parport/parport_pc.ko.gz +drivers/pcmcia/i82092.ko.gz +drivers/pcmcia/i82365.ko.gz +drivers/pcmcia/pcmcia_core.ko.gz +drivers/pcmcia/pcmcia.ko.gz +drivers/pcmcia/pd6729.ko.gz +drivers/pcmcia/rsrc_nonstatic.ko.gz +drivers/pcmcia/yenta_socket.ko.gz +drivers/usb/class/cdc-acm.ko.gz +drivers/usb/class/usblp.ko.gz +drivers/usb/host/ohci-hcd.ko.gz +drivers/usb/serial/ch341.ko.gz +drivers/usb/serial/pl2303.ko.gz +drivers/usb/serial/usbserial.ko.gz +fs/binfmt_misc.ko.gz +fs/fat/fat.ko.gz +fs/fat/msdos.ko.gz +fs/nls/nls_utf8.ko.gz +fs/fat/vfat.ko.gz +net/ipv4/netfilter/ipt_REJECT.ko.gz +net/netfilter/nfnetlink.ko.gz +net/netfilter/nfnetlink_log.ko.gz