]> git.proxmox.com Git - pve-kernel-2.6.32.git/commitdiff
imported from svn 'pve-kernel-2.6.32-rh/pve2'
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 23 Aug 2011 05:37:21 +0000 (07:37 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 23 Aug 2011 05:37:21 +0000 (07:37 +0200)
56 files changed:
Makefile [new file with mode: 0644]
README [new file with mode: 0644]
SCSI-aacraid-Add-PMC-Sierra-SRC-based-controller.patch [new file with mode: 0644]
aoe6-77.tar.gz [new file with mode: 0644]
arcmsr.1.20.0X.15-110330.zip [new file with mode: 0644]
assemble-firmware.pl [new file with mode: 0755]
bootsplash-3.1.9-2.6.31-rh.patch [new file with mode: 0644]
bridge-patch.diff [new file with mode: 0644]
changelog.Debian [new file with mode: 0644]
changelog.firmware [new file with mode: 0644]
config-2.6.32-042stab029.1.x86_64 [new file with mode: 0644]
config-2.6.32.diff [new file with mode: 0644]
control.firmware [new file with mode: 0644]
control.in [new file with mode: 0644]
copyright [new file with mode: 0644]
do-not-use-barrier-on-ext3.patch [new file with mode: 0644]
e1000e-1.4.4.tar.gz [new file with mode: 0755]
find-firmware.pl [new file with mode: 0755]
firmware-misc/README [new file with mode: 0644]
firmware-misc/RTL8192SU/rtl8192sfw.bin [new file with mode: 0644]
firmware-misc/aic94xx-seq.fw [new file with mode: 0644]
firmware-misc/bnx2/bnx2x-e1-5.0.21.0.fw [new file with mode: 0644]
firmware-misc/bnx2/bnx2x-e1h-5.0.21.0.fw [new file with mode: 0644]
firmware-misc/cbfw_fc.bin [new file with mode: 0755]
firmware-misc/ctfw_cna.bin [new file with mode: 0755]
firmware-misc/ctfw_fc.bin [new file with mode: 0755]
firmware-misc/i2400m-fw-usb-1.3.sbcf [new file with mode: 0644]
firmware-misc/ipw2x00/LICENSE [new file with mode: 0644]
firmware-misc/ipw2x00/LICENSE.install [new file with mode: 0644]
firmware-misc/ipw2x00/defines [new file with mode: 0644]
firmware-misc/ipw2x00/ipw2100-1.3-i.fw [new file with mode: 0644]
firmware-misc/ipw2x00/ipw2100-1.3-p.fw [new file with mode: 0644]
firmware-misc/ipw2x00/ipw2100-1.3.fw [new file with mode: 0644]
firmware-misc/ipw2x00/ipw2200-bss.fw [new file with mode: 0644]
firmware-misc/ipw2x00/ipw2200-ibss.fw [new file with mode: 0644]
firmware-misc/ipw2x00/ipw2200-sniffer.fw [new file with mode: 0644]
fix-register-corruption-in-pvclock-scale-delta.patch [new file with mode: 0644]
fwlist-2.6.18-2-pve [new file with mode: 0644]
fwlist-2.6.24-12-pve [new file with mode: 0644]
fwlist-2.6.32-3-pve [new file with mode: 0644]
fwlist-2.6.32-4-pve [new file with mode: 0644]
fwlist-2.6.32-5-pve [new file with mode: 0644]
fwlist-2.6.35-1-pve [new file with mode: 0644]
headers-control.in [new file with mode: 0644]
headers-postinst.in [new file with mode: 0644]
igb-3.0.22.tar.gz [new file with mode: 0755]
ixgbe-3.3.9.tar.gz [new file with mode: 0755]
netxtreme2-6.2.23.tar.gz [new file with mode: 0644]
ovz-fix-slow-fsync.patch [new file with mode: 0644]
postinst.in [new file with mode: 0755]
proxmox-ve/changelog.Debian [new file with mode: 0644]
proxmox-ve/control [new file with mode: 0644]
proxmox-ve/copyright [new file with mode: 0644]
proxmox-ve/postinst [new file with mode: 0755]
proxmox-ve/proxmox-release@proxmox.com.pubkey [new file with mode: 0644]
vzkernel-2.6.32-042stab029.1.src.rpm [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..16376fa
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,280 @@
+RELEASE=2.0
+
+KERNEL_VER=2.6.32
+PKGREL=41
+# also include firmware of previous versrion into 
+# the fw package:  fwlist-2.6.32-PREV-pve
+KREL=6
+
+RHKVER=131.6.1.el6
+OVZVER=042stab029.1
+
+KERNELSRCRPM=vzkernel-${KERNEL_VER}-${OVZVER}.src.rpm
+
+EXTRAVERSION=-${KREL}-pve
+KVNAME=${KERNEL_VER}${EXTRAVERSION}
+PACKAGE=pve-kernel-${KVNAME}
+HDRPACKAGE=pve-headers-${KVNAME}
+
+ARCH=amd64
+TOP=$(shell pwd)
+
+KERNEL_SRC=linux-2.6-${KERNEL_VER}
+RHKERSRCDIR=rh-kernel-src
+KERNEL_CFG=config-${KERNEL_VER}
+KERNEL_CFG_ORG=config-${KERNEL_VER}-${OVZVER}.x86_64
+
+FW_VER=1.0
+FW_REL=13
+FW_DEB=pve-firmware_${FW_VER}-${FW_REL}_all.deb
+
+AOEDIR=aoe6-77
+AOESRC=${AOEDIR}.tar.gz
+
+E1000EDIR=e1000e-1.4.4
+E1000ESRC=${E1000EDIR}.tar.gz
+
+IGBDIR=igb-3.0.22
+IGBSRC=${IGBDIR}.tar.gz
+
+IXGBEDIR=ixgbe-3.3.9
+IXGBESRC=${IXGBEDIR}.tar.gz
+
+#BNX2DIR=netxtreme2-6.2.23
+#BNX2SRC=${BNX2DIR}.tar.gz
+
+ARECADIR=arcmsr.1.20.0X.15-110330
+ARECASRC=${ARECADIR}.zip
+
+DST_DEB=${PACKAGE}_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
+HDR_DEB=${HDRPACKAGE}_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
+PVEPKG=proxmox-ve-${KERNEL_VER}
+PVE_DEB=${PVEPKG}_${RELEASE}-${PKGREL}_all.deb
+
+all: check_gcc ${DST_DEB} ${PVE_DEB} ${FW_DEB} ${HDR_DEB}
+
+${PVE_DEB} pve: proxmox-ve/control proxmox-ve/postinst
+       rm -rf proxmox-ve/data
+       mkdir -p proxmox-ve/data/DEBIAN
+       mkdir -p proxmox-ve/data/usr/share/doc/${PVEPKG}/
+       install -m 0644 proxmox-ve/proxmox-release\@proxmox.com.pubkey proxmox-ve/data/usr/share/doc/${PVEPKG}
+       sed -e 's/@KVNAME@/${KVNAME}/' -e 's/@KERNEL_VER@/${KERNEL_VER}/' -e 's/@RELEASE@/${RELEASE}/' -e 's/@PKGREL@/${PKGREL}/' <proxmox-ve/control >proxmox-ve/data/DEBIAN/control
+       sed -e 's/@KERNEL_VER@/${KERNEL_VER}/' <proxmox-ve/postinst >proxmox-ve/data/DEBIAN/postinst
+       chmod 0755 proxmox-ve/data/DEBIAN/postinst
+       install -m 0644 proxmox-ve/copyright proxmox-ve/data/usr/share/doc/${PVEPKG}
+       install -m 0644 proxmox-ve/changelog.Debian proxmox-ve/data/usr/share/doc/${PVEPKG}
+       gzip --best proxmox-ve/data/usr/share/doc/${PVEPKG}/changelog.Debian
+       dpkg-deb --build proxmox-ve/data ${PVE_DEB}
+
+check_gcc: 
+       gcc --version|grep "4.4.5" || false
+
+${DST_DEB}: data control.in postinst.in
+       mkdir -p data/DEBIAN
+       sed -e 's/@KERNEL_VER@/${KERNEL_VER}/' -e 's/@KVNAME@/${KVNAME}/' -e 's/@PKGREL@/${PKGREL}/' <control.in >data/DEBIAN/control
+       sed -e 's/@@KVNAME@@/${KVNAME}/g'  <postinst.in >data/DEBIAN/postinst
+       chmod 0755 data/DEBIAN/postinst
+       install -D -m 644 copyright data/usr/share/doc/${PACKAGE}/copyright
+       install -D -m 644 changelog.Debian data/usr/share/doc/${PACKAGE}/changelog.Debian
+       gzip -f --best data/usr/share/doc/${PACKAGE}/changelog.Debian
+       rm -f data/lib/modules/${KVNAME}/source
+       rm -f data/lib/modules/${KVNAME}/build
+       dpkg-deb --build data ${DST_DEB}
+       lintian ${DST_DEB}
+
+
+fwlist-${KVNAME}: data
+       ./find-firmware.pl data/lib/modules/${KVNAME} >fwlist.tmp
+       mv fwlist.tmp $@
+
+data: .compile_mark ${KERNEL_CFG} arcmsr.ko aoe.ko e1000e.ko igb.ko ixgbe.ko
+       rm -rf data tmp; mkdir -p tmp/lib/modules/${KVNAME}
+       mkdir tmp/boot
+       install -m 644 ${KERNEL_CFG} tmp/boot/config-${KVNAME}
+       install -m 644 ${KERNEL_SRC}/System.map tmp/boot/System.map-${KVNAME}
+       install -m 644 ${KERNEL_SRC}/arch/x86_64/boot/bzImage tmp/boot/vmlinuz-${KVNAME}
+       cd ${KERNEL_SRC}; make INSTALL_MOD_PATH=../tmp/ modules_install
+       # install latest aoe driver
+       install -m 644 aoe.ko tmp/lib/modules/${KVNAME}/kernel/drivers/block/aoe/aoe.ko
+       # install latest ixgbe driver
+       install -m 644 ixgbe.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/ixgbe/
+       # install latest e1000e driver
+       install -m 644 e1000e.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/e1000e/
+       # install latest ibg driver
+       install -m 644 igb.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/igb/
+       # install bnx2 and tg3 drivers
+       #install -m 644 bnx2.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/
+       #install -m 644 bnx2x.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/
+       #install -m 644 cnic.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/
+       # install areca driver
+       install -m 644 arcmsr.ko tmp/lib/modules/${KVNAME}/kernel/drivers/scsi/arcmsr/
+       # remove firmware
+       rm -rf tmp/lib/firmware
+       # strip debug info
+       find tmp/lib/modules -name \*.ko -print | while read f ; do strip --strip-debug "$$f"; done
+       # finalize
+       depmod -b tmp/ ${KVNAME}
+       mv tmp data
+
+.compile_mark: ${KERNEL_SRC}/README ${KERNEL_CFG}
+       cp ${KERNEL_CFG} ${KERNEL_SRC}/.config
+       cd ${KERNEL_SRC}; make oldconfig
+       cd ${KERNEL_SRC}; make -j 8
+       touch $@
+
+${KERNEL_CFG}: ${KERNEL_CFG_ORG} config-${KERNEL_VER}.diff
+       cp ${KERNEL_CFG_ORG} ${KERNEL_CFG}.new
+       patch ${KERNEL_CFG}.new config-${KERNEL_VER}.diff
+       mv ${KERNEL_CFG}.new ${KERNEL_CFG}
+
+${KERNEL_SRC}/README: ${KERNEL_SRC}.org/README
+       rm -rf ${KERNEL_SRC}
+       cp -a ${KERNEL_SRC}.org ${KERNEL_SRC}
+       cd ${KERNEL_SRC}; patch -p1 <../bootsplash-3.1.9-2.6.31-rh.patch
+       cd ${KERNEL_SRC}; patch -p1 <../${RHKERSRCDIR}/patch-042stab029
+       cd ${KERNEL_SRC}; patch -p1 <../do-not-use-barrier-on-ext3.patch
+       cd ${KERNEL_SRC}; patch -p1 <../SCSI-aacraid-Add-PMC-Sierra-SRC-based-controller.patch
+       cd ${KERNEL_SRC}; patch -p1 <../fix-register-corruption-in-pvclock-scale-delta.patch
+       cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
+       #cd ${KERNEL_SRC}; patch -p1 <../ovz-fix-slow-fsync.patch
+       sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/'
+       touch $@
+
+${KERNEL_SRC}.org/README: ${RHKERSRCDIR}/kernel.spec ${RHKERSRCDIR}/linux-${KERNEL_VER}-${RHKVER}.tar.bz2
+       rm -rf ${KERNEL_SRC}.org linux-${KERNEL_VER}-${RHKVER}
+       tar xf ${RHKERSRCDIR}/linux-${KERNEL_VER}-${RHKVER}.tar.bz2
+       mv linux-${KERNEL_VER}-${RHKVER} ${KERNEL_SRC}.org
+       touch $@
+
+${RHKERSRCDIR}/kernel.spec: ${KERNELSRCRPM}
+       rm -rf ${RHKERSRCDIR}
+       mkdir ${RHKERSRCDIR}
+       cd ${RHKERSRCDIR};rpm2cpio ../${KERNELSRCRPM} |cpio -i
+       touch $@
+
+aoe.ko aoe: .compile_mark ${AOESRC}
+       # aoe driver updates
+       rm -rf ${AOEDIR} aoe.ko
+       tar xf ${AOESRC}
+       mkdir -p /lib/modules/${KVNAME}
+       ln -sf ${TOP}/${KERNEL_SRC} /lib/modules/${KVNAME}/build
+       cd ${AOEDIR}; make KVER=${KVNAME}
+       cp ${AOEDIR}/linux/drivers/block/aoe/aoe.ko aoe.ko
+
+e1000e.ko e1000e: ${E1000ESRC}
+       rm -rf ${E1000EDIR}
+       tar xf ${E1000ESRC}
+       mkdir -p /lib/modules/${KVNAME}
+       ln -sf ${TOP}/${KERNEL_SRC} /lib/modules/${KVNAME}/build
+       cd ${E1000EDIR}/src; make BUILD_KERNEL=${KVNAME}
+       cp ${E1000EDIR}/src/e1000e.ko e1000e.ko
+
+igb.ko igb: ${IGBSRC}
+       rm -rf ${IGBDIR}
+       tar xf ${IGBSRC}
+       mkdir -p /lib/modules/${KVNAME}
+       ln -sf ${TOP}/${KERNEL_SRC} /lib/modules/${KVNAME}/build
+       cd ${IGBDIR}/src; make BUILD_KERNEL=${KVNAME}
+       cp ${IGBDIR}/src/igb.ko igb.ko
+
+ixgbe.ko ixgbe: ${IXGBESRC}
+       rm -rf ${IXGBEDIR}
+       tar xf ${IXGBESRC}
+       mkdir -p /lib/modules/${KVNAME}
+       ln -sf ${TOP}/${KERNEL_SRC} /lib/modules/${KVNAME}/build
+       cd ${IXGBEDIR}/src; make CFLAGS_EXTRA="-DIXGBE_NO_LRO" BUILD_KERNEL=${KVNAME}
+       cp ${IXGBEDIR}/src/ixgbe.ko ixgbe.ko
+
+#bnx2.ko cnic.ko bnx2x.ko: ${BNX2SRC}
+#      rm -rf ${BNX2DIR}
+#      tar xf ${BNX2SRC}
+#      mkdir -p /lib/modules/${KVNAME}
+#      ln -sf ${TOP}/${KERNEL_SRC} /lib/modules/${KVNAME}/build
+#      cd ${BNX2DIR}; make KVER=${KVNAME}
+#      cp `find ${BNX2DIR} -name bnx2.ko -o -name cnic.ko -o -name bnx2x.ko` .
+
+arcmsr.ko: ${ARECASRC}
+       rm -rf ${ARECADIR}
+       unzip ${ARECASRC}
+       mkdir -p /lib/modules/${KVNAME}
+       ln -sf ${TOP}/${KERNEL_SRC} /lib/modules/${KVNAME}/build
+       cd ${ARECADIR}; make -C ${TOP}/${KERNEL_SRC} CONFIG_SCSI_ARCMSR=m SUBDIRS=${TOP}/${ARECADIR} modules
+       cp ${ARECADIR}/arcmsr.ko arcmsr.ko
+
+
+headers_tmp := $(CURDIR)/tmp-headers
+headers_dir := $(headers_tmp)/usr/src/linux-headers-${KVNAME}
+
+${HDR_DEB} hdr: .compile_mark headers-control.in headers-postinst.in
+       rm -rf $(headers_tmp)
+       install -d $(headers_tmp)/DEBIAN $(headers_dir)/include/
+       sed -e 's/@KERNEL_VER@/${KERNEL_VER}/' -e 's/@KVNAME@/${KVNAME}/' -e 's/@PKGREL@/${PKGREL}/' <headers-control.in >$(headers_tmp)/DEBIAN/control
+       sed -e 's/@@KVNAME@@/${KVNAME}/g'  <headers-postinst.in >$(headers_tmp)/DEBIAN/postinst
+       chmod 0755 $(headers_tmp)/DEBIAN/postinst
+       install -D -m 644 copyright $(headers_tmp)/usr/share/doc/${HDRPACKAGE}/copyright
+       install -D -m 644 changelog.Debian $(headers_tmp)/usr/share/doc/${HDRPACKAGE}/changelog.Debian
+       gzip -f --best $(headers_tmp)/usr/share/doc/${HDRPACKAGE}/changelog.Debian
+       install -m 0644 ${KERNEL_SRC}/.config $(headers_dir)
+       install -m 0644 ${KERNEL_SRC}/Module.symvers $(headers_dir)
+       cd ${KERNEL_SRC}; find . -path './debian/*' -prune -o -path './include/*' -prune -o -path './Documentation' -prune \
+         -o -path './scripts' -prune -o -type f \
+         \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
+            -name '*.sh' -o -name '*.pl' \) \
+         -print | cpio -pd --preserve-modification-time $(headers_dir)
+       cd ${KERNEL_SRC}; cp -a include scripts $(headers_dir)
+       cd ${KERNEL_SRC}; (find arch/x86 -name include -type d -print | \
+               xargs -n1 -i: find : -type f) | \
+               cpio -pd --preserve-modification-time $(headers_dir)
+       dpkg-deb --build $(headers_tmp) ${HDR_DEB}
+       #lintian ${HDR_DEB}
+
+linux-firmware.git/WHENCE:
+       git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git linux-firmware.git
+
+linux-firmware-from-kernel.git/WHENCE:
+       git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware-from-kernel.git linux-firmware-from-kernel.git
+
+${FW_DEB} fw: control.firmware linux-firmware.git/WHENCE linux-firmware-from-kernel.git/WHENCE changelog.firmware fwlist-2.6.18-2-pve fwlist-2.6.24-12-pve fwlist-2.6.32-3-pve fwlist-2.6.32-4-pve fwlist-2.6.32-5-pve fwlist-2.6.35-1-pve fwlist-${KVNAME}
+       rm -rf fwdata
+       mkdir -p fwdata/lib/firmware
+       ./assemble-firmware.pl fwlist-${KVNAME} fwdata/lib/firmware
+       # include any files from older/newer kernels here
+       ./assemble-firmware.pl fwlist-2.6.24-12-pve fwdata/lib/firmware
+       ./assemble-firmware.pl fwlist-2.6.18-2-pve fwdata/lib/firmware
+       ./assemble-firmware.pl fwlist-2.6.32-3-pve fwdata/lib/firmware
+       ./assemble-firmware.pl fwlist-2.6.32-4-pve fwdata/lib/firmware
+       ./assemble-firmware.pl fwlist-2.6.32-5-pve fwdata/lib/firmware
+       ./assemble-firmware.pl fwlist-2.6.35-1-pve fwdata/lib/firmware
+       install -d fwdata/usr/share/doc/pve-firmware
+       cp linux-firmware.git/WHENCE fwdata/usr/share/doc/pve-firmware/README
+       install -d fwdata/usr/share/doc/pve-firmware/licenses
+       cp linux-firmware.git/LICEN[CS]E* fwdata/usr/share/doc/pve-firmware/licenses
+       install -D -m 0644 changelog.firmware fwdata/usr/share/doc/pve-firmware/changelog.Debian
+       gzip -9 fwdata/usr/share/doc/pve-firmware/changelog.Debian      
+       install -d fwdata/DEBIAN
+       sed -e 's/@VERSION@/${FW_VER}-${FW_REL}/' <control.firmware >fwdata/DEBIAN/control
+       dpkg-deb --build fwdata ${FW_DEB}
+
+.PHONY: upload
+upload: ${DST_DEB} ${PVE_DEB} ${HDR_DEB} ${FW_DEB}
+       umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw 
+       mkdir -p /pve/${RELEASE}/extra
+       mkdir -p /pve/${RELEASE}/install
+       rm -rf /pve/${RELEASE}/extra/${PACKAGE}_*.deb
+       rm -rf /pve/${RELEASE}/extra/${HDRPACKAGE}_*.deb
+       rm -rf /pve/${RELEASE}/extra/${PVEPKG}_*.deb
+       rm -rf /pve/${RELEASE}/extra/pve-firmware*.deb
+       rm -rf /pve/${RELEASE}/extra/Packages*
+       cp ${DST_DEB} ${PVE_DEB} ${HDR_DEB} ${FW_DEB} /pve/${RELEASE}/extra
+       cd /pve/${RELEASE}/extra; dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
+       umount /pve/${RELEASE}; mount /pve/${RELEASE} -o ro
+
+.PHONY: distclean
+distclean: clean
+       rm -rf linux-firmware.git linux-firmware-from-kernel.git ${KERNEL_SRC}.org ${RHKERSRCDIR}
+
+.PHONY: clean
+clean:
+       rm -rf *~ .compile_mark ${KERNEL_CFG} ${KERNEL_SRC} tmp data proxmox-ve/data *.deb ${AOEDIR} aoe.ko ${headers_tmp} fwdata fwlist.tmp *.ko ${IXGBEDIR} ${E1000EDIR} e1000e.ko ${IGBDIR} igb.ko fwlist-${KVNAME} ${ARECADIR} arcmsr.ko
+
+
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..b31cc23
--- /dev/null
+++ b/README
@@ -0,0 +1,94 @@
+KERNEL SOURCE:
+==============
+
+We use the OpenVZ Kernel sources, available from:
+
+http://download.openvz.org/kernel/branches/rhel6-2.6.32/
+
+
+Additional/Updated Modules:
+---------------------------
+
+- we use bootsplash to display the boot logo.
+
+- include latest AoE driver (http://support.coraid.com/support/linux)
+
+- include latest ixgbe driver from intel/sourceforge
+
+- include latest igb driver from intel/sourceforge
+
+- include latest e1000e driver from intel/sourceforge
+
+- include update for ARECA RAID cards
+
+  * ftp://ftp.areca.com.tw/RaidCards/AP_Drivers/Linux/DRIVER/SourceCode/arcmsr.1.20.0X.15-110330.zip
+
+FIRMWARE:
+=========
+
+We create our own firmware package, which includes the firmware for
+all proxmox-ve kernels. So far this include
+
+pve-kernel-2.6.18
+pve-kernel-2.6.24
+pve-kernel-2.6.32
+pve-kernel-2.6.35
+
+We use 'find-firmware.pl' to extract lists of required firmeware
+files.  The script 'assemble-firmware.pl' is used to read those lists
+and copy the files from various source directory into a target
+directory.
+
+We do not include firmeware for some wireless HW when there is a
+separate debian package for that, for example:
+
+zd1211-firmware
+atmel-firmware
+bluez-firmware 
+
+
+PATCHES:
+--------
+
+ bootsplash-3.1.9-2.6.31-rh.patch: bootsplash patch
+
+ bridge-patch.diff: Avoid bridge problems with changing MAC
+  see also: http://forum.openvz.org/index.php?t=msg&th=5291
+
+  Behaviour after 2.6.27 has changed slighly - after setting mac address
+  of bridge device, then address won't change. So we could omit
+  that patch, requiring to set hwaddress in /etc/network/interfaces.
+
+ SCSI-aacraid-Add-PMC-Sierra-SRC-based-controller.patch: aacraid update
+
+
+Additional information
+----------------------
+
+We use the default configuration provided by openvz, and apply
+the following modification:
+
+see config-2.6.32.diff
+
+- enable bootsplash 
+       CONFIG_FB_VESA=y 
+       CONFIG_FRAMEBUFFER_CONSOLE=Y 
+       CONFIG_BOOTSPLASH=y
+
+- disable CONFIG_DEBUG_INFO
+
+- disable CONFIG_PRINTK_TIME
+
+- enable common CONFIG_BLK_DEV_XXX to avoid hardware detection
+  problems (udev, undate-initramfs hav serious problems without that)
+
+        CONFIG_BLK_DEV_SD=y
+        CONFIG_BLK_DEV_SR=y
+        CONFIG_BLK_DEV_DM=y
+
+
+Testing final kernel with kvm
+-----------------------------
+
+kvm -kernel data/boot/vmlinuz-2.6.32-6-pve -initrd initrd.img-2.6.32-6-pve -append "vga=791 video=vesafb:ywrap,mtrr splash=silent" /dev/zero
+
diff --git a/SCSI-aacraid-Add-PMC-Sierra-SRC-based-controller.patch b/SCSI-aacraid-Add-PMC-Sierra-SRC-based-controller.patch
new file mode 100644 (file)
index 0000000..cbdfa3f
--- /dev/null
@@ -0,0 +1,1445 @@
+commit e8b12f0fb8352237525961f14ec933e915848840
+Author: Mahesh Rajashekhara <Mahesh_Rajashekhara@pmc-sierra.com>
+Date:   Thu Mar 17 02:10:32 2011 -0700
+
+    [SCSI] aacraid: Add new code for PMC-Sierra's SRC based controller family
+    
+    Added new hardware device 0x28b interface for PMC-Sierra's SRC based
+    controller family.
+    
+    - new src.c file for 0x28b specific functions
+    - new XPORT header required
+    - sync. command interface: doorbell bits shifted (SRC_ODR_SHIFT, SRC_IDR_SHIFT)
+    - async. Interface: different inbound queue handling, no outbound I2O
+      queue available, using doorbell ("PmDoorBellResponseSent") and
+      response buffer on the host ("host_rrq") for status
+    - changed AIF (adapter initiated FIBs) interface: "DoorBellAifPending"
+      bit to inform about pending AIF, "AifRequest" command to read AIF,
+      "NoMoreAifDataAvailable" to mark the end of the AIFs
+    
+    Signed-off-by: Mahesh Rajashekhara <aacraid@pmc-sierra.com>
+    Signed-off-by: James Bottomley <James.Bottomley@suse.de>
+
+diff --git a/drivers/scsi/aacraid/Makefile b/drivers/scsi/aacraid/Makefile
+index 92df4d6..1bd9fd1 100644
+--- a/drivers/scsi/aacraid/Makefile
++++ b/drivers/scsi/aacraid/Makefile
+@@ -3,6 +3,6 @@
+ obj-$(CONFIG_SCSI_AACRAID) := aacraid.o
+ aacraid-objs  := linit.o aachba.o commctrl.o comminit.o commsup.o \
+-                 dpcsup.o rx.o sa.o rkt.o nark.o
++                 dpcsup.o rx.o sa.o rkt.o nark.o src.o
+ EXTRA_CFLAGS  := -Idrivers/scsi
+diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
+index 7df2dd1..118ce83 100644
+--- a/drivers/scsi/aacraid/aachba.c
++++ b/drivers/scsi/aacraid/aachba.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -1486,7 +1487,9 @@ int aac_get_adapter_info(struct aac_dev* dev)
+                       dev->a_ops.adapter_write = aac_write_block;
+               }
+               dev->scsi_host_ptr->max_sectors = AAC_MAX_32BIT_SGBCOUNT;
+-              if(!(dev->adapter_info.options & AAC_OPT_NEW_COMM)) {
++              if (dev->adapter_info.options & AAC_OPT_NEW_COMM_TYPE1)
++                      dev->adapter_info.options |= AAC_OPT_NEW_COMM;
++              if (!(dev->adapter_info.options & AAC_OPT_NEW_COMM)) {
+                       /*
+                        * Worst case size that could cause sg overflow when
+                        * we break up SG elements that are larger than 64KB.
+diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
+index 4dbcc05..29ab000 100644
+--- a/drivers/scsi/aacraid/aacraid.h
++++ b/drivers/scsi/aacraid/aacraid.h
+@@ -12,7 +12,7 @@
+  *----------------------------------------------------------------------------*/
+ #ifndef AAC_DRIVER_BUILD
+-# define AAC_DRIVER_BUILD 2461
++# define AAC_DRIVER_BUILD 28000
+ # define AAC_DRIVER_BRANCH "-ms"
+ #endif
+ #define MAXIMUM_NUM_CONTAINERS        32
+@@ -277,6 +277,16 @@ enum aac_queue_types {
+ #define               FsaNormal       1
++/* transport FIB header (PMC) */
++struct aac_fib_xporthdr {
++      u64     HostAddress;    /* FIB host address w/o xport header */
++      u32     Size;           /* FIB size excluding xport header */
++      u32     Handle;         /* driver handle to reference the FIB */
++      u64     Reserved[2];
++};
++
++#define               ALIGN32         32
++
+ /*
+  * Define the FIB. The FIB is the where all the requested data and
+  * command information are put to the application on the FSA adapter.
+@@ -394,7 +404,9 @@ enum fib_xfer_state {
+       AdapterMicroFib                 = (1<<17),
+       BIOSFibPath                     = (1<<18),
+       FastResponseCapable             = (1<<19),
+-      ApiFib                          = (1<<20)       // Its an API Fib.
++      ApiFib                          = (1<<20),      /* Its an API Fib */
++      /* PMC NEW COMM: There is no more AIF data pending */
++      NoMoreAifDataAvailable          = (1<<21)
+ };
+ /*
+@@ -404,6 +416,7 @@ enum fib_xfer_state {
+ #define ADAPTER_INIT_STRUCT_REVISION          3
+ #define ADAPTER_INIT_STRUCT_REVISION_4                4 // rocket science
++#define ADAPTER_INIT_STRUCT_REVISION_6                6 /* PMC src */
+ struct aac_init
+ {
+@@ -428,9 +441,15 @@ struct aac_init
+ #define INITFLAGS_NEW_COMM_SUPPORTED  0x00000001
+ #define INITFLAGS_DRIVER_USES_UTC_TIME        0x00000010
+ #define INITFLAGS_DRIVER_SUPPORTS_PM  0x00000020
++#define INITFLAGS_NEW_COMM_TYPE1_SUPPORTED    0x00000041
+       __le32  MaxIoCommands;  /* max outstanding commands */
+       __le32  MaxIoSize;      /* largest I/O command */
+       __le32  MaxFibSize;     /* largest FIB to adapter */
++      /* ADAPTER_INIT_STRUCT_REVISION_5 begins here */
++      __le32  MaxNumAif;      /* max number of aif */
++      /* ADAPTER_INIT_STRUCT_REVISION_6 begins here */
++      __le32  HostRRQ_AddrLow;
++      __le32  HostRRQ_AddrHigh;       /* Host RRQ (response queue) for SRC */
+ };
+ enum aac_log_level {
+@@ -685,7 +704,7 @@ struct rx_inbound {
+ #define OutboundDoorbellReg   MUnit.ODR
+ struct rx_registers {
+-      struct rx_mu_registers          MUnit;          /* 1300h - 1344h */
++      struct rx_mu_registers          MUnit;          /* 1300h - 1347h */
+       __le32                          reserved1[2];   /* 1348h - 134ch */
+       struct rx_inbound               IndexRegs;
+ };
+@@ -703,7 +722,7 @@ struct rx_registers {
+ #define rkt_inbound rx_inbound
+ struct rkt_registers {
+-      struct rkt_mu_registers         MUnit;           /* 1300h - 1344h */
++      struct rkt_mu_registers         MUnit;           /* 1300h - 1347h */
+       __le32                          reserved1[1006]; /* 1348h - 22fch */
+       struct rkt_inbound              IndexRegs;       /* 2300h - */
+ };
+@@ -713,6 +732,44 @@ struct rkt_registers {
+ #define rkt_writeb(AEP, CSR, value)   writeb(value, &((AEP)->regs.rkt->CSR))
+ #define rkt_writel(AEP, CSR, value)   writel(value, &((AEP)->regs.rkt->CSR))
++/*
++ * PMC SRC message unit registers
++ */
++
++#define src_inbound rx_inbound
++
++struct src_mu_registers {
++                              /*      PCI*| Name */
++      __le32  reserved0[8];   /*      00h | Reserved */
++      __le32  IDR;            /*      20h | Inbound Doorbell Register */
++      __le32  IISR;           /*      24h | Inbound Int. Status Register */
++      __le32  reserved1[3];   /*      28h | Reserved */
++      __le32  OIMR;           /*      34h | Outbound Int. Mask Register */
++      __le32  reserved2[25];  /*      38h | Reserved */
++      __le32  ODR_R;          /*      9ch | Outbound Doorbell Read */
++      __le32  ODR_C;          /*      a0h | Outbound Doorbell Clear */
++      __le32  reserved3[6];   /*      a4h | Reserved */
++      __le32  OMR;            /*      bch | Outbound Message Register */
++      __le32  IQ_L;           /*  c0h | Inbound Queue (Low address) */
++      __le32  IQ_H;           /*  c4h | Inbound Queue (High address) */
++};
++
++struct src_registers {
++      struct src_mu_registers MUnit;  /* 00h - c7h */
++      __le32 reserved1[130790];       /* c8h - 7fc5fh */
++      struct src_inbound IndexRegs;   /* 7fc60h */
++};
++
++#define src_readb(AEP, CSR)           readb(&((AEP)->regs.src.bar0->CSR))
++#define src_readl(AEP, CSR)           readl(&((AEP)->regs.src.bar0->CSR))
++#define src_writeb(AEP, CSR, value)   writeb(value, \
++                                              &((AEP)->regs.src.bar0->CSR))
++#define src_writel(AEP, CSR, value)   writel(value, \
++                                              &((AEP)->regs.src.bar0->CSR))
++
++#define SRC_ODR_SHIFT         12
++#define SRC_IDR_SHIFT         9
++
+ typedef void (*fib_callback)(void *ctxt, struct fib *fibctx);
+ struct aac_fib_context {
+@@ -879,6 +936,7 @@ struct aac_supplement_adapter_info
+ #define AAC_OPTION_MU_RESET           cpu_to_le32(0x00000001)
+ #define AAC_OPTION_IGNORE_RESET               cpu_to_le32(0x00000002)
+ #define AAC_OPTION_POWER_MANAGEMENT   cpu_to_le32(0x00000004)
++#define AAC_OPTION_DOORBELL_RESET     cpu_to_le32(0x00004000)
+ #define AAC_SIS_VERSION_V3    3
+ #define AAC_SIS_SLOT_UNKNOWN  0xFF
+@@ -940,6 +998,7 @@ struct aac_bus_info_response {
+ #define AAC_OPT_SUPPLEMENT_ADAPTER_INFO       cpu_to_le32(1<<16)
+ #define AAC_OPT_NEW_COMM              cpu_to_le32(1<<17)
+ #define AAC_OPT_NEW_COMM_64           cpu_to_le32(1<<18)
++#define AAC_OPT_NEW_COMM_TYPE1                cpu_to_le32(1<<28)
+ struct aac_dev
+ {
+@@ -952,6 +1011,7 @@ struct aac_dev
+        */
+       unsigned                max_fib_size;
+       unsigned                sg_tablesize;
++      unsigned                max_num_aif;
+       /*
+        *      Map for 128 fib objects (64k)
+@@ -980,10 +1040,21 @@ struct aac_dev
+       struct adapter_ops      a_ops;
+       unsigned long           fsrev;          /* Main driver's revision number */
+-      unsigned                base_size;      /* Size of mapped in region */
++      unsigned long           dbg_base;       /* address of UART
++                                               * debug buffer */
++
++      unsigned                base_size, dbg_size;    /* Size of
++                                                       *  mapped in region */
++
+       struct aac_init         *init;          /* Holds initialization info to communicate with adapter */
+       dma_addr_t              init_pa;        /* Holds physical address of the init struct */
++      u32                     *host_rrq;      /* response queue
++                                               * if AAC_COMM_MESSAGE_TYPE1 */
++
++      dma_addr_t              host_rrq_pa;    /* phys. address */
++      u32                     host_rrq_idx;   /* index into rrq buffer */
++
+       struct pci_dev          *pdev;          /* Our PCI interface */
+       void *                  printfbuf;      /* pointer to buffer used for printf's from the adapter */
+       void *                  comm_addr;      /* Base address of Comm area */
+@@ -1003,14 +1074,20 @@ struct aac_dev
+        */
+ #ifndef AAC_MIN_FOOTPRINT_SIZE
+ #     define AAC_MIN_FOOTPRINT_SIZE 8192
++#     define AAC_MIN_SRC_BAR0_SIZE 0x400000
++#     define AAC_MIN_SRC_BAR1_SIZE 0x800
+ #endif
+       union
+       {
+               struct sa_registers __iomem *sa;
+               struct rx_registers __iomem *rx;
+               struct rkt_registers __iomem *rkt;
++              struct {
++                      struct src_registers __iomem *bar0;
++                      char __iomem *bar1;
++              } src;
+       } regs;
+-      volatile void __iomem *base;
++      volatile void __iomem *base, *dbg_base_mapped;
+       volatile struct rx_inbound __iomem *IndexRegs;
+       u32                     OIMR; /* Mask Register Cache */
+       /*
+@@ -1031,9 +1108,8 @@ struct aac_dev
+       u8                      comm_interface;
+ #     define AAC_COMM_PRODUCER 0
+ #     define AAC_COMM_MESSAGE  1
+-      /* macro side-effects BEWARE */
+-#     define                  raw_io_interface \
+-        init->InitStructRevision==cpu_to_le32(ADAPTER_INIT_STRUCT_REVISION_4)
++#     define AAC_COMM_MESSAGE_TYPE1   3
++      u8                      raw_io_interface;
+       u8                      raw_io_64;
+       u8                      printf_enabled;
+       u8                      in_reset;
+@@ -1789,6 +1865,10 @@ extern struct aac_common aac_config;
+ #define DoorBellAdapterNormCmdNotFull (1<<3)  /* Adapter -> Host */
+ #define DoorBellAdapterNormRespNotFull        (1<<4)  /* Adapter -> Host */
+ #define DoorBellPrintfReady           (1<<5)  /* Adapter -> Host */
++#define DoorBellAifPending            (1<<6)  /* Adapter -> Host */
++
++/* PMC specific outbound doorbell bits */
++#define PmDoorBellResponseSent                (1<<1)  /* Adapter -> Host */
+ /*
+  *    For FIB communication, we need all of the following things
+@@ -1831,6 +1911,9 @@ extern struct aac_common aac_config;
+ #define               AifReqAPIJobUpdate      109     /* Update a job report from the API */
+ #define               AifReqAPIJobFinish      110     /* Finish a job from the API */
++/* PMC NEW COMM: Request the event data */
++#define               AifReqEvent             200
++
+ /*
+  *    Adapter Initiated FIB command structures. Start with the adapter
+  *    initiated FIBs that really come from the adapter, and get responded
+@@ -1886,10 +1969,13 @@ int aac_rx_init(struct aac_dev *dev);
+ int aac_rkt_init(struct aac_dev *dev);
+ int aac_nark_init(struct aac_dev *dev);
+ int aac_sa_init(struct aac_dev *dev);
++int aac_src_init(struct aac_dev *dev);
+ int aac_queue_get(struct aac_dev * dev, u32 * index, u32 qid, struct hw_fib * hw_fib, int wait, struct fib * fibptr, unsigned long *nonotify);
+ unsigned int aac_response_normal(struct aac_queue * q);
+ unsigned int aac_command_normal(struct aac_queue * q);
+-unsigned int aac_intr_normal(struct aac_dev * dev, u32 Index);
++unsigned int aac_intr_normal(struct aac_dev *dev, u32 Index,
++                      int isAif, int isFastResponse,
++                      struct hw_fib *aif_fib);
+ int aac_reset_adapter(struct aac_dev * dev, int forced);
+ int aac_check_health(struct aac_dev * dev);
+ int aac_command_thread(void *data);
+diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c
+index 645ddd9..8a0b330 100644
+--- a/drivers/scsi/aacraid/commctrl.c
++++ b/drivers/scsi/aacraid/commctrl.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c
+index a726148..7ac8fdb 100644
+--- a/drivers/scsi/aacraid/comminit.c
++++ b/drivers/scsi/aacraid/comminit.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -52,12 +53,16 @@ static int aac_alloc_comm(struct aac_dev *dev, void **commaddr, unsigned long co
+       unsigned long size, align;
+       const unsigned long fibsize = 4096;
+       const unsigned long printfbufsiz = 256;
++      unsigned long host_rrq_size = 0;
+       struct aac_init *init;
+       dma_addr_t phys;
+       unsigned long aac_max_hostphysmempages;
+-      size = fibsize + sizeof(struct aac_init) + commsize + commalign + printfbufsiz;
+-
++      if (dev->comm_interface == AAC_COMM_MESSAGE_TYPE1)
++              host_rrq_size = (dev->scsi_host_ptr->can_queue
++                      + AAC_NUM_MGT_FIB) * sizeof(u32);
++      size = fibsize + sizeof(struct aac_init) + commsize +
++                      commalign + printfbufsiz + host_rrq_size;
+  
+       base = pci_alloc_consistent(dev->pdev, size, &phys);
+@@ -70,8 +75,14 @@ static int aac_alloc_comm(struct aac_dev *dev, void **commaddr, unsigned long co
+       dev->comm_phys = phys;
+       dev->comm_size = size;
+       
+-      dev->init = (struct aac_init *)(base + fibsize);
+-      dev->init_pa = phys + fibsize;
++      if (dev->comm_interface == AAC_COMM_MESSAGE_TYPE1) {
++              dev->host_rrq = (u32 *)(base + fibsize);
++              dev->host_rrq_pa = phys + fibsize;
++              memset(dev->host_rrq, 0, host_rrq_size);
++      }
++
++      dev->init = (struct aac_init *)(base + fibsize + host_rrq_size);
++      dev->init_pa = phys + fibsize + host_rrq_size;
+       init = dev->init;
+@@ -106,8 +117,13 @@ static int aac_alloc_comm(struct aac_dev *dev, void **commaddr, unsigned long co
+       init->InitFlags = 0;
+       if (dev->comm_interface == AAC_COMM_MESSAGE) {
+-              init->InitFlags = cpu_to_le32(INITFLAGS_NEW_COMM_SUPPORTED);
++              init->InitFlags |= cpu_to_le32(INITFLAGS_NEW_COMM_SUPPORTED);
+               dprintk((KERN_WARNING"aacraid: New Comm Interface enabled\n"));
++      } else if (dev->comm_interface == AAC_COMM_MESSAGE_TYPE1) {
++              init->InitStructRevision = cpu_to_le32(ADAPTER_INIT_STRUCT_REVISION_6);
++              init->InitFlags |= cpu_to_le32(INITFLAGS_NEW_COMM_TYPE1_SUPPORTED);
++              dprintk((KERN_WARNING
++                      "aacraid: New Comm Interface type1 enabled\n"));
+       }
+       init->InitFlags |= cpu_to_le32(INITFLAGS_DRIVER_USES_UTC_TIME |
+                                      INITFLAGS_DRIVER_SUPPORTS_PM);
+@@ -115,11 +131,18 @@ static int aac_alloc_comm(struct aac_dev *dev, void **commaddr, unsigned long co
+       init->MaxIoSize = cpu_to_le32(dev->scsi_host_ptr->max_sectors << 9);
+       init->MaxFibSize = cpu_to_le32(dev->max_fib_size);
++      init->MaxNumAif = cpu_to_le32(dev->max_num_aif);
++      init->HostRRQ_AddrHigh = (u32)((u64)dev->host_rrq_pa >> 32);
++      init->HostRRQ_AddrLow = (u32)(dev->host_rrq_pa & 0xffffffff);
++
++
+       /*
+        * Increment the base address by the amount already used
+        */
+-      base = base + fibsize + sizeof(struct aac_init);
+-      phys = (dma_addr_t)((ulong)phys + fibsize + sizeof(struct aac_init));
++      base = base + fibsize + host_rrq_size + sizeof(struct aac_init);
++      phys = (dma_addr_t)((ulong)phys + fibsize + host_rrq_size +
++              sizeof(struct aac_init));
++
+       /*
+        *      Align the beginning of Headers to commalign
+        */
+@@ -314,15 +337,22 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev)
+               - sizeof(struct aac_write) + sizeof(struct sgentry))
+                       / sizeof(struct sgentry);
+       dev->comm_interface = AAC_COMM_PRODUCER;
+-      dev->raw_io_64 = 0;
++      dev->raw_io_interface = dev->raw_io_64 = 0;
++
+       if ((!aac_adapter_sync_cmd(dev, GET_ADAPTER_PROPERTIES,
+               0, 0, 0, 0, 0, 0, status+0, status+1, status+2, NULL, NULL)) &&
+                       (status[0] == 0x00000001)) {
+               if (status[1] & le32_to_cpu(AAC_OPT_NEW_COMM_64))
+                       dev->raw_io_64 = 1;
+-              if (dev->a_ops.adapter_comm &&
+-                  (status[1] & le32_to_cpu(AAC_OPT_NEW_COMM)))
+-                      dev->comm_interface = AAC_COMM_MESSAGE;
++              if (dev->a_ops.adapter_comm) {
++                      if (status[1] & le32_to_cpu(AAC_OPT_NEW_COMM_TYPE1)) {
++                              dev->comm_interface = AAC_COMM_MESSAGE_TYPE1;
++                              dev->raw_io_interface = 1;
++                      } else if (status[1] & le32_to_cpu(AAC_OPT_NEW_COMM)) {
++                              dev->comm_interface = AAC_COMM_MESSAGE;
++                              dev->raw_io_interface = 1;
++                      }
++              }
+               if ((dev->comm_interface == AAC_COMM_MESSAGE) &&
+                   (status[2] > dev->base_size)) {
+                       aac_adapter_ioremap(dev, 0);
+@@ -350,10 +380,12 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev)
+                *      status[3] & 0xFFFF      maximum number FIBs outstanding
+                */
+               host->max_sectors = (status[1] >> 16) << 1;
+-              dev->max_fib_size = status[1] & 0xFFFF;
++              /* Multiple of 32 for PMC */
++              dev->max_fib_size = status[1] & 0xFFE0;
+               host->sg_tablesize = status[2] >> 16;
+               dev->sg_tablesize = status[2] & 0xFFFF;
+               host->can_queue = (status[3] & 0xFFFF) - AAC_NUM_MGT_FIB;
++              dev->max_num_aif = status[4] & 0xFFFF;
+               /*
+                *      NOTE:
+                *      All these overrides are based on a fixed internal
+diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c
+index 060ac4b..dd7ad3b 100644
+--- a/drivers/scsi/aacraid/commsup.c
++++ b/drivers/scsi/aacraid/commsup.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -63,9 +64,11 @@ static int fib_map_alloc(struct aac_dev *dev)
+         "allocate hardware fibs pci_alloc_consistent(%p, %d * (%d + %d), %p)\n",
+         dev->pdev, dev->max_fib_size, dev->scsi_host_ptr->can_queue,
+         AAC_NUM_MGT_FIB, &dev->hw_fib_pa));
+-      if((dev->hw_fib_va = pci_alloc_consistent(dev->pdev, dev->max_fib_size
+-        * (dev->scsi_host_ptr->can_queue + AAC_NUM_MGT_FIB),
+-        &dev->hw_fib_pa))==NULL)
++      dev->hw_fib_va = pci_alloc_consistent(dev->pdev,
++              (dev->max_fib_size + sizeof(struct aac_fib_xporthdr))
++              * (dev->scsi_host_ptr->can_queue + AAC_NUM_MGT_FIB) + (ALIGN32 - 1),
++              &dev->hw_fib_pa);
++      if (dev->hw_fib_va == NULL)
+               return -ENOMEM;
+       return 0;
+ }
+@@ -110,9 +113,22 @@ int aac_fib_setup(struct aac_dev * dev)
+       if (i<0)
+               return -ENOMEM;
++      /* 32 byte alignment for PMC */
++      hw_fib_pa = (dev->hw_fib_pa + (ALIGN32 - 1)) & ~(ALIGN32 - 1);
++      dev->hw_fib_va = (struct hw_fib *)((unsigned char *)dev->hw_fib_va +
++              (hw_fib_pa - dev->hw_fib_pa));
++      dev->hw_fib_pa = hw_fib_pa;
++      memset(dev->hw_fib_va, 0,
++              (dev->max_fib_size + sizeof(struct aac_fib_xporthdr)) *
++              (dev->scsi_host_ptr->can_queue + AAC_NUM_MGT_FIB));
++
++      /* add Xport header */
++      dev->hw_fib_va = (struct hw_fib *)((unsigned char *)dev->hw_fib_va +
++              sizeof(struct aac_fib_xporthdr));
++      dev->hw_fib_pa += sizeof(struct aac_fib_xporthdr);
++
+       hw_fib = dev->hw_fib_va;
+       hw_fib_pa = dev->hw_fib_pa;
+-      memset(hw_fib, 0, dev->max_fib_size * (dev->scsi_host_ptr->can_queue + AAC_NUM_MGT_FIB));
+       /*
+        *      Initialise the fibs
+        */
+@@ -129,8 +145,10 @@ int aac_fib_setup(struct aac_dev * dev)
+               hw_fib->header.XferState = cpu_to_le32(0xffffffff);
+               hw_fib->header.SenderSize = cpu_to_le16(dev->max_fib_size);
+               fibptr->hw_fib_pa = hw_fib_pa;
+-              hw_fib = (struct hw_fib *)((unsigned char *)hw_fib + dev->max_fib_size);
+-              hw_fib_pa = hw_fib_pa + dev->max_fib_size;
++              hw_fib = (struct hw_fib *)((unsigned char *)hw_fib +
++                      dev->max_fib_size + sizeof(struct aac_fib_xporthdr));
++              hw_fib_pa = hw_fib_pa +
++                      dev->max_fib_size + sizeof(struct aac_fib_xporthdr);
+       }
+       /*
+        *      Add the fib chain to the free list
+@@ -664,9 +682,14 @@ int aac_fib_adapter_complete(struct fib *fibptr, unsigned short size)
+       unsigned long nointr = 0;
+       unsigned long qflags;
++      if (dev->comm_interface == AAC_COMM_MESSAGE_TYPE1) {
++              kfree(hw_fib);
++              return 0;
++      }
++
+       if (hw_fib->header.XferState == 0) {
+               if (dev->comm_interface == AAC_COMM_MESSAGE)
+-                      kfree (hw_fib);
++                      kfree(hw_fib);
+               return 0;
+       }
+       /*
+@@ -674,7 +697,7 @@ int aac_fib_adapter_complete(struct fib *fibptr, unsigned short size)
+        */
+       if (hw_fib->header.StructType != FIB_MAGIC) {
+               if (dev->comm_interface == AAC_COMM_MESSAGE)
+-                      kfree (hw_fib);
++                      kfree(hw_fib);
+               return -EINVAL;
+       }
+       /*
+diff --git a/drivers/scsi/aacraid/dpcsup.c b/drivers/scsi/aacraid/dpcsup.c
+index 9c7408fe..f0c66a8 100644
+--- a/drivers/scsi/aacraid/dpcsup.c
++++ b/drivers/scsi/aacraid/dpcsup.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -228,6 +229,48 @@ unsigned int aac_command_normal(struct aac_queue *q)
+       return 0;
+ }
++/*
++ *
++ * aac_aif_callback
++ * @context: the context set in the fib - here it is scsi cmd
++ * @fibptr: pointer to the fib
++ *
++ * Handles the AIFs - new method (SRC)
++ *
++ */
++
++static void aac_aif_callback(void *context, struct fib * fibptr)
++{
++      struct fib *fibctx;
++      struct aac_dev *dev;
++      struct aac_aifcmd *cmd;
++      int status;
++
++      fibctx = (struct fib *)context;
++      BUG_ON(fibptr == NULL);
++      dev = fibptr->dev;
++
++      if (fibptr->hw_fib_va->header.XferState &
++          cpu_to_le32(NoMoreAifDataAvailable)) {
++              aac_fib_complete(fibptr);
++              aac_fib_free(fibptr);
++              return;
++      }
++
++      aac_intr_normal(dev, 0, 1, 0, fibptr->hw_fib_va);
++
++      aac_fib_init(fibctx);
++      cmd = (struct aac_aifcmd *) fib_data(fibctx);
++      cmd->command = cpu_to_le32(AifReqEvent);
++
++      status = aac_fib_send(AifRequest,
++              fibctx,
++              sizeof(struct hw_fib)-sizeof(struct aac_fibhdr),
++              FsaNormal,
++              0, 1,
++              (fib_callback)aac_aif_callback, fibctx);
++}
++
+ /**
+  *    aac_intr_normal -       Handle command replies
+@@ -230,17 +273,16 @@
+  *    all QE there are and wake up all the waiters before exiting.
+  */
+-unsigned int aac_intr_normal(struct aac_dev * dev, u32 index)
++unsigned int aac_intr_normal(struct aac_dev *dev, u32 index,
++              int isAif, int isFastResponse, struct hw_fib *aif_fib)
+ {
+       dprintk((KERN_INFO "aac_intr_normal(%p,%x)\n", dev, index));
+-      if ((index & 0x00000002L)) {
++      if (isAif == 1) { /* AIF - common */
+               struct hw_fib * hw_fib;
+               struct fib * fib;
+               struct aac_queue *q = &dev->queues->queue[HostNormCmdQueue];
+               unsigned long flags;
+-              if (index == 0xFFFFFFFEL) /* Special Case */
+-                      return 0;         /* Do nothing */
+               /*
+                *      Allocate a FIB. For non queued stuff we can just use
+                * the stack so we are happy. We need a fib object in order to
+@@ -263,8 +304,13 @@ unsigned int aac_intr_normal(struct aac_dev * dev, u32 index)
+                       kfree (fib);
+                       return 1;
+               }
+-              memcpy(hw_fib, (struct hw_fib *)(((uintptr_t)(dev->regs.sa)) +
+-                (index & ~0x00000002L)), sizeof(struct hw_fib));
++              if (aif_fib != NULL) {
++                      memcpy(hw_fib, aif_fib, sizeof(struct hw_fib));
++              } else {
++                      memcpy(hw_fib,
++                              (struct hw_fib *)(((uintptr_t)(dev->regs.sa)) +
++                              index), sizeof(struct hw_fib));
++              }
+               INIT_LIST_HEAD(&fib->fiblink);
+               fib->type = FSAFS_NTC_FIB_CONTEXT;
+               fib->size = sizeof(struct fib);
+@@ -277,9 +323,26 @@ unsigned int aac_intr_normal(struct aac_dev * dev, u32 index)
+               wake_up_interruptible(&q->cmdready);
+               spin_unlock_irqrestore(q->lock, flags);
+               return 1;
++      } else if (isAif == 2) {        /* AIF - new (SRC) */
++              struct fib *fibctx;
++              struct aac_aifcmd *cmd;
++
++              fibctx = aac_fib_alloc(dev);
++              if (!fibctx)
++                      return 1;
++              aac_fib_init(fibctx);
++
++              cmd = (struct aac_aifcmd *) fib_data(fibctx);
++              cmd->command = cpu_to_le32(AifReqEvent);
++
++              return aac_fib_send(AifRequest,
++                      fibctx,
++                      sizeof(struct hw_fib)-sizeof(struct aac_fibhdr),
++                      FsaNormal,
++                      0, 1,
++                      (fib_callback)aac_aif_callback, fibctx);
+       } else {
+-              int fast = index & 0x01;
+-              struct fib * fib = &dev->fibs[index >> 2];
++              struct fib *fib = &dev->fibs[index];
+               struct hw_fib * hwfib = fib->hw_fib_va;
+               /*
+@@ -298,7 +361,7 @@ unsigned int aac_intr_normal(struct aac_dev * dev, u32 index)
+                       return 0;
+               }
+-              if (fast) {
++              if (isFastResponse) {
+                       /*
+                        *      Doctor the fib
+                        */
+diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
+index 2c93d94..4ff2652 100644
+--- a/drivers/scsi/aacraid/linit.c
++++ b/drivers/scsi/aacraid/linit.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -54,7 +55,7 @@
+ #include "aacraid.h"
+-#define AAC_DRIVER_VERSION            "1.1-5"
++#define AAC_DRIVER_VERSION            "1.1-7"
+ #ifndef AAC_DRIVER_BRANCH
+ #define AAC_DRIVER_BRANCH             ""
+ #endif
+@@ -161,6 +162,7 @@ static const struct pci_device_id aac_pci_tbl[] __devinitdata = {
+       { 0x9005, 0x0285, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 59 }, /* Adaptec Catch All */
+       { 0x9005, 0x0286, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 60 }, /* Adaptec Rocket Catch All */
+       { 0x9005, 0x0288, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 61 }, /* Adaptec NEMER/ARK Catch All */
++      { 0x9005, 0x028b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 62 }, /* Adaptec PMC Catch All */
+       { 0,}
+ };
+ MODULE_DEVICE_TABLE(pci, aac_pci_tbl);
+@@ -235,7 +237,8 @@ static struct aac_driver_ident aac_drivers[] = {
+       { aac_rx_init, "aacraid",  "Legend  ", "RAID            ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Legend Catchall */
+       { aac_rx_init, "aacraid",  "ADAPTEC ", "RAID            ", 2 }, /* Adaptec Catch All */
+       { aac_rkt_init, "aacraid", "ADAPTEC ", "RAID            ", 2 }, /* Adaptec Rocket Catch All */
+-      { aac_nark_init, "aacraid", "ADAPTEC ", "RAID            ", 2 } /* Adaptec NEMER/ARK Catch All */
++      { aac_nark_init, "aacraid", "ADAPTEC ", "RAID           ", 2 }, /* Adaptec NEMER/ARK Catch All */
++      { aac_src_init, "aacraid", "ADAPTEC ", "RAID            ", 2 } /* Adaptec PMC Catch All */
+ };
+ /**
+@@ -653,8 +656,10 @@ static int aac_eh_reset(struct scsi_cmnd* cmd)
+        * This adapter needs a blind reset, only do so for Adapters that
+        * support a register, instead of a commanded, reset.
+        */
+-      if ((aac->supplement_adapter_info.SupportedOptions2 &
+-         AAC_OPTION_MU_RESET) &&
++      if (((aac->supplement_adapter_info.SupportedOptions2 &
++        AAC_OPTION_MU_RESET) ||
++        (aac->supplement_adapter_info.SupportedOptions2 &
++        AAC_OPTION_DOORBELL_RESET)) &&
+         aac_check_reset &&
+         ((aac_check_reset != 1) ||
+          !(aac->supplement_adapter_info.SupportedOptions2 &
+diff --git a/drivers/scsi/aacraid/nark.c b/drivers/scsi/aacraid/nark.c
+index c55f7c8..f397d21 100644
+--- a/drivers/scsi/aacraid/nark.c
++++ b/drivers/scsi/aacraid/nark.c
+@@ -4,7 +4,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2006-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+diff --git a/drivers/scsi/aacraid/rkt.c b/drivers/scsi/aacraid/rkt.c
+index 16d8db5..be44de9 100644
+--- a/drivers/scsi/aacraid/rkt.c
++++ b/drivers/scsi/aacraid/rkt.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c
+index 84d77fd..ce530f1 100644
+--- a/drivers/scsi/aacraid/rx.c
++++ b/drivers/scsi/aacraid/rx.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -84,15 +85,35 @@ static irqreturn_t aac_rx_intr_producer(int irq, void *dev_id)
+ static irqreturn_t aac_rx_intr_message(int irq, void *dev_id)
+ {
++      int isAif, isFastResponse, isSpecial;
+       struct aac_dev *dev = dev_id;
+       u32 Index = rx_readl(dev, MUnit.OutboundQueue);
+       if (unlikely(Index == 0xFFFFFFFFL))
+               Index = rx_readl(dev, MUnit.OutboundQueue);
+       if (likely(Index != 0xFFFFFFFFL)) {
+               do {
+-                      if (unlikely(aac_intr_normal(dev, Index))) {
+-                              rx_writel(dev, MUnit.OutboundQueue, Index);
+-                              rx_writel(dev, MUnit.ODR, DoorBellAdapterNormRespReady);
++                      isAif = isFastResponse = isSpecial = 0;
++                      if (Index & 0x00000002L) {
++                              isAif = 1;
++                              if (Index == 0xFFFFFFFEL)
++                                      isSpecial = 1;
++                              Index &= ~0x00000002L;
++                      } else {
++                              if (Index & 0x00000001L)
++                                      isFastResponse = 1;
++                              Index >>= 2;
++                      }
++                      if (!isSpecial) {
++                              if (unlikely(aac_intr_normal(dev,
++                                              Index, isAif,
++                                              isFastResponse, NULL))) {
++                                      rx_writel(dev,
++                                              MUnit.OutboundQueue,
++                                              Index);
++                                      rx_writel(dev,
++                                              MUnit.ODR,
++                                              DoorBellAdapterNormRespReady);
++                              }
+                       }
+                       Index = rx_readl(dev, MUnit.OutboundQueue);
+               } while (Index != 0xFFFFFFFFL);
+@@ -631,6 +652,10 @@ int _aac_rx_init(struct aac_dev *dev)
+                       name, instance);
+               goto error_iounmap;
+       }
++      dev->dbg_base = dev->scsi_host_ptr->base;
++      dev->dbg_base_mapped = dev->base;
++      dev->dbg_size = dev->base_size;
++
+       aac_adapter_enable_int(dev);
+       /*
+        *      Tell the adapter that all is configured, and it can
+diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
+index 622c21c..e5d4457 100644
+--- a/drivers/scsi/aacraid/sa.c
++++ b/drivers/scsi/aacraid/sa.c
+@@ -5,7 +5,8 @@
+  * based on the old aacraid driver that is..
+  * Adaptec aacraid device driver for Linux.
+  *
+- * Copyright (c) 2000-2007 Adaptec, Inc. (aacraid@adaptec.com)
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -391,6 +392,10 @@ int aac_sa_init(struct aac_dev *dev)
+                       name, instance);
+               goto error_iounmap;
+       }
++      dev->dbg_base = dev->scsi_host_ptr->base;
++      dev->dbg_base_mapped = dev->base;
++      dev->dbg_size = dev->base_size;
++
+       aac_adapter_enable_int(dev);
+       /*
+diff --git a/drivers/scsi/aacraid/src.c b/drivers/scsi/aacraid/src.c
+new file mode 100644
+index 0000000..c204946
+--- /dev/null
++++ b/drivers/scsi/aacraid/src.c
+@@ -0,0 +1,594 @@
++/*
++ *    Adaptec AAC series RAID controller driver
++ *    (c) Copyright 2001 Red Hat Inc.
++ *
++ * based on the old aacraid driver that is..
++ * Adaptec aacraid device driver for Linux.
++ *
++ * Copyright (c) 2000-2010 Adaptec, Inc.
++ *               2010 PMC-Sierra, Inc. (aacraid@pmc-sierra.com)
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, 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 General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; see the file COPYING.  If not, write to
++ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
++ *
++ * Module Name:
++ *  src.c
++ *
++ * Abstract: Hardware Device Interface for PMC SRC based controllers
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/types.h>
++#include <linux/pci.h>
++#include <linux/spinlock.h>
++#include <linux/slab.h>
++#include <linux/blkdev.h>
++#include <linux/delay.h>
++#include <linux/version.h>
++#include <linux/completion.h>
++#include <linux/time.h>
++#include <linux/interrupt.h>
++#include <scsi/scsi_host.h>
++
++#include "aacraid.h"
++
++static irqreturn_t aac_src_intr_message(int irq, void *dev_id)
++{
++      struct aac_dev *dev = dev_id;
++      unsigned long bellbits, bellbits_shifted;
++      int our_interrupt = 0;
++      int isFastResponse;
++      u32 index, handle;
++
++      bellbits = src_readl(dev, MUnit.ODR_R);
++      if (bellbits & PmDoorBellResponseSent) {
++              bellbits = PmDoorBellResponseSent;
++              /* handle async. status */
++              our_interrupt = 1;
++              index = dev->host_rrq_idx;
++              if (dev->host_rrq[index] == 0) {
++                      u32 old_index = index;
++                      /* adjust index */
++                      do {
++                              index++;
++                              if (index == dev->scsi_host_ptr->can_queue +
++                                                      AAC_NUM_MGT_FIB)
++                                      index = 0;
++                              if (dev->host_rrq[index] != 0)
++                                      break;
++                      } while (index != old_index);
++                      dev->host_rrq_idx = index;
++              }
++              for (;;) {
++                      isFastResponse = 0;
++                      /* remove toggle bit (31) */
++                      handle = (dev->host_rrq[index] & 0x7fffffff);
++                      /* check fast response bit (30) */
++                      if (handle & 0x40000000)
++                              isFastResponse = 1;
++                      handle &= 0x0000ffff;
++                      if (handle == 0)
++                              break;
++
++                      aac_intr_normal(dev, handle-1, 0, isFastResponse, NULL);
++
++                      dev->host_rrq[index++] = 0;
++                      if (index == dev->scsi_host_ptr->can_queue +
++                                              AAC_NUM_MGT_FIB)
++                              index = 0;
++                      dev->host_rrq_idx = index;
++              }
++      } else {
++              bellbits_shifted = (bellbits >> SRC_ODR_SHIFT);
++              if (bellbits_shifted & DoorBellAifPending) {
++                      our_interrupt = 1;
++                      /* handle AIF */
++                      aac_intr_normal(dev, 0, 2, 0, NULL);
++              }
++      }
++
++      if (our_interrupt) {
++              src_writel(dev, MUnit.ODR_C, bellbits);
++              return IRQ_HANDLED;
++      }
++      return IRQ_NONE;
++}
++
++/**
++ *    aac_src_disable_interrupt       -       Disable interrupts
++ *    @dev: Adapter
++ */
++
++static void aac_src_disable_interrupt(struct aac_dev *dev)
++{
++      src_writel(dev, MUnit.OIMR, dev->OIMR = 0xffffffff);
++}
++
++/**
++ *    aac_src_enable_interrupt_message        -       Enable interrupts
++ *    @dev: Adapter
++ */
++
++static void aac_src_enable_interrupt_message(struct aac_dev *dev)
++{
++      src_writel(dev, MUnit.OIMR, dev->OIMR = 0xfffffff8);
++}
++
++/**
++ *    src_sync_cmd    -       send a command and wait
++ *    @dev: Adapter
++ *    @command: Command to execute
++ *    @p1: first parameter
++ *    @ret: adapter status
++ *
++ *    This routine will send a synchronous command to the adapter and wait
++ *    for its completion.
++ */
++
++static int src_sync_cmd(struct aac_dev *dev, u32 command,
++      u32 p1, u32 p2, u32 p3, u32 p4, u32 p5, u32 p6,
++      u32 *status, u32 * r1, u32 * r2, u32 * r3, u32 * r4)
++{
++      unsigned long start;
++      int ok;
++
++      /*
++       *      Write the command into Mailbox 0
++       */
++      writel(command, &dev->IndexRegs->Mailbox[0]);
++      /*
++       *      Write the parameters into Mailboxes 1 - 6
++       */
++      writel(p1, &dev->IndexRegs->Mailbox[1]);
++      writel(p2, &dev->IndexRegs->Mailbox[2]);
++      writel(p3, &dev->IndexRegs->Mailbox[3]);
++      writel(p4, &dev->IndexRegs->Mailbox[4]);
++
++      /*
++       *      Clear the synch command doorbell to start on a clean slate.
++       */
++      src_writel(dev, MUnit.ODR_C, OUTBOUNDDOORBELL_0 << SRC_ODR_SHIFT);
++
++      /*
++       *      Disable doorbell interrupts
++       */
++      src_writel(dev, MUnit.OIMR, dev->OIMR = 0xffffffff);
++
++      /*
++       *      Force the completion of the mask register write before issuing
++       *      the interrupt.
++       */
++      src_readl(dev, MUnit.OIMR);
++
++      /*
++       *      Signal that there is a new synch command
++       */
++      src_writel(dev, MUnit.IDR, INBOUNDDOORBELL_0 << SRC_IDR_SHIFT);
++
++      ok = 0;
++      start = jiffies;
++
++      /*
++       *      Wait up to 30 seconds
++       */
++      while (time_before(jiffies, start+30*HZ)) {
++              /* Delay 5 microseconds to let Mon960 get info. */
++              udelay(5);
++
++              /* Mon960 will set doorbell0 bit
++               * when it has completed the command
++               */
++              if ((src_readl(dev, MUnit.ODR_R) >> SRC_ODR_SHIFT) & OUTBOUNDDOORBELL_0) {
++                      /* Clear the doorbell */
++                      src_writel(dev,
++                              MUnit.ODR_C,
++                              OUTBOUNDDOORBELL_0 << SRC_ODR_SHIFT);
++                      ok = 1;
++                      break;
++              }
++
++               /* Yield the processor in case we are slow */
++              msleep(1);
++      }
++      if (unlikely(ok != 1)) {
++               /* Restore interrupt mask even though we timed out */
++              aac_adapter_enable_int(dev);
++              return -ETIMEDOUT;
++      }
++
++       /* Pull the synch status from Mailbox 0 */
++      if (status)
++              *status = readl(&dev->IndexRegs->Mailbox[0]);
++      if (r1)
++              *r1 = readl(&dev->IndexRegs->Mailbox[1]);
++      if (r2)
++              *r2 = readl(&dev->IndexRegs->Mailbox[2]);
++      if (r3)
++              *r3 = readl(&dev->IndexRegs->Mailbox[3]);
++      if (r4)
++              *r4 = readl(&dev->IndexRegs->Mailbox[4]);
++
++       /* Clear the synch command doorbell */
++      src_writel(dev, MUnit.ODR_C, OUTBOUNDDOORBELL_0 << SRC_ODR_SHIFT);
++
++       /* Restore interrupt mask */
++      aac_adapter_enable_int(dev);
++      return 0;
++
++}
++
++/**
++ *    aac_src_interrupt_adapter       -       interrupt adapter
++ *    @dev: Adapter
++ *
++ *    Send an interrupt to the i960 and breakpoint it.
++ */
++
++static void aac_src_interrupt_adapter(struct aac_dev *dev)
++{
++      src_sync_cmd(dev, BREAKPOINT_REQUEST,
++              0, 0, 0, 0, 0, 0,
++              NULL, NULL, NULL, NULL, NULL);
++}
++
++/**
++ *    aac_src_notify_adapter          -       send an event to the adapter
++ *    @dev: Adapter
++ *    @event: Event to send
++ *
++ *    Notify the i960 that something it probably cares about has
++ *    happened.
++ */
++
++static void aac_src_notify_adapter(struct aac_dev *dev, u32 event)
++{
++      switch (event) {
++
++      case AdapNormCmdQue:
++              src_writel(dev, MUnit.ODR_C,
++                      INBOUNDDOORBELL_1 << SRC_ODR_SHIFT);
++              break;
++      case HostNormRespNotFull:
++              src_writel(dev, MUnit.ODR_C,
++                      INBOUNDDOORBELL_4 << SRC_ODR_SHIFT);
++              break;
++      case AdapNormRespQue:
++              src_writel(dev, MUnit.ODR_C,
++                      INBOUNDDOORBELL_2 << SRC_ODR_SHIFT);
++              break;
++      case HostNormCmdNotFull:
++              src_writel(dev, MUnit.ODR_C,
++                      INBOUNDDOORBELL_3 << SRC_ODR_SHIFT);
++              break;
++      case FastIo:
++              src_writel(dev, MUnit.ODR_C,
++                      INBOUNDDOORBELL_6 << SRC_ODR_SHIFT);
++              break;
++      case AdapPrintfDone:
++              src_writel(dev, MUnit.ODR_C,
++                      INBOUNDDOORBELL_5 << SRC_ODR_SHIFT);
++              break;
++      default:
++              BUG();
++              break;
++      }
++}
++
++/**
++ *    aac_src_start_adapter           -       activate adapter
++ *    @dev:   Adapter
++ *
++ *    Start up processing on an i960 based AAC adapter
++ */
++
++static void aac_src_start_adapter(struct aac_dev *dev)
++{
++      struct aac_init *init;
++
++      init = dev->init;
++      init->HostElapsedSeconds = cpu_to_le32(get_seconds());
++
++      /* We can only use a 32 bit address here */
++      src_sync_cmd(dev, INIT_STRUCT_BASE_ADDRESS, (u32)(ulong)dev->init_pa,
++        0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL);
++}
++
++/**
++ *    aac_src_check_health
++ *    @dev: device to check if healthy
++ *
++ *    Will attempt to determine if the specified adapter is alive and
++ *    capable of handling requests, returning 0 if alive.
++ */
++static int aac_src_check_health(struct aac_dev *dev)
++{
++      u32 status = src_readl(dev, MUnit.OMR);
++
++      /*
++       *      Check to see if the board failed any self tests.
++       */
++      if (unlikely(status & SELF_TEST_FAILED))
++              return -1;
++
++      /*
++       *      Check to see if the board panic'd.
++       */
++      if (unlikely(status & KERNEL_PANIC))
++              return (status >> 16) & 0xFF;
++      /*
++       *      Wait for the adapter to be up and running.
++       */
++      if (unlikely(!(status & KERNEL_UP_AND_RUNNING)))
++              return -3;
++      /*
++       *      Everything is OK
++       */
++      return 0;
++}
++
++/**
++ *    aac_src_deliver_message
++ *    @fib: fib to issue
++ *
++ *    Will send a fib, returning 0 if successful.
++ */
++static int aac_src_deliver_message(struct fib *fib)
++{
++      struct aac_dev *dev = fib->dev;
++      struct aac_queue *q = &dev->queues->queue[AdapNormCmdQueue];
++      unsigned long qflags;
++      u32 fibsize;
++      u64 address;
++      struct aac_fib_xporthdr *pFibX;
++
++      spin_lock_irqsave(q->lock, qflags);
++      q->numpending++;
++      spin_unlock_irqrestore(q->lock, qflags);
++
++      /* Calculate the amount to the fibsize bits */
++      fibsize = (sizeof(struct aac_fib_xporthdr) +
++              fib->hw_fib_va->header.Size + 127) / 128 - 1;
++      if (fibsize > (ALIGN32 - 1))
++              fibsize = ALIGN32 - 1;
++
++    /* Fill XPORT header */
++      pFibX = (struct aac_fib_xporthdr *)
++              ((unsigned char *)fib->hw_fib_va -
++              sizeof(struct aac_fib_xporthdr));
++      pFibX->Handle = fib->hw_fib_va->header.SenderData + 1;
++      pFibX->HostAddress = fib->hw_fib_pa;
++      pFibX->Size = fib->hw_fib_va->header.Size;
++      address = fib->hw_fib_pa - (u64)sizeof(struct aac_fib_xporthdr);
++
++      src_writel(dev, MUnit.IQ_H, (u32)(address >> 32));
++      src_writel(dev, MUnit.IQ_L, (u32)(address & 0xffffffff) + fibsize);
++      return 0;
++}
++
++/**
++ *    aac_src_ioremap
++ *    @size: mapping resize request
++ *
++ */
++static int aac_src_ioremap(struct aac_dev *dev, u32 size)
++{
++      if (!size) {
++              iounmap(dev->regs.src.bar0);
++              dev->regs.src.bar0 = NULL;
++              iounmap(dev->base);
++              dev->base = NULL;
++              return 0;
++      }
++      dev->regs.src.bar1 = ioremap(pci_resource_start(dev->pdev, 2),
++              AAC_MIN_SRC_BAR1_SIZE);
++      dev->base = NULL;
++      if (dev->regs.src.bar1 == NULL)
++              return -1;
++      dev->base = dev->regs.src.bar0 = ioremap(dev->scsi_host_ptr->base,
++                              size);
++      if (dev->base == NULL) {
++              iounmap(dev->regs.src.bar1);
++              dev->regs.src.bar1 = NULL;
++              return -1;
++      }
++      dev->IndexRegs = &((struct src_registers __iomem *)
++              dev->base)->IndexRegs;
++      return 0;
++}
++
++static int aac_src_restart_adapter(struct aac_dev *dev, int bled)
++{
++      u32 var, reset_mask;
++
++      if (bled >= 0) {
++              if (bled)
++                      printk(KERN_ERR "%s%d: adapter kernel panic'd %x.\n",
++                              dev->name, dev->id, bled);
++              bled = aac_adapter_sync_cmd(dev, IOP_RESET_ALWAYS,
++                      0, 0, 0, 0, 0, 0, &var, &reset_mask, NULL, NULL, NULL);
++                      if (bled || (var != 0x00000001))
++                              bled = -EINVAL;
++              if (dev->supplement_adapter_info.SupportedOptions2 &
++                      AAC_OPTION_DOORBELL_RESET) {
++                      src_writel(dev, MUnit.IDR, reset_mask);
++                      msleep(5000); /* Delay 5 seconds */
++              }
++      }
++
++      if (src_readl(dev, MUnit.OMR) & KERNEL_PANIC)
++              return -ENODEV;
++
++      if (startup_timeout < 300)
++              startup_timeout = 300;
++
++      return 0;
++}
++
++/**
++ *    aac_src_select_comm     -       Select communications method
++ *    @dev: Adapter
++ *    @comm: communications method
++ */
++int aac_src_select_comm(struct aac_dev *dev, int comm)
++{
++      switch (comm) {
++      case AAC_COMM_MESSAGE:
++              dev->a_ops.adapter_enable_int = aac_src_enable_interrupt_message;
++              dev->a_ops.adapter_intr = aac_src_intr_message;
++              dev->a_ops.adapter_deliver = aac_src_deliver_message;
++              break;
++      default:
++              return 1;
++      }
++      return 0;
++}
++
++/**
++ *  aac_src_init      -       initialize an Cardinal Frey Bar card
++ *  @dev: device to configure
++ *
++ */
++
++int aac_src_init(struct aac_dev *dev)
++{
++      unsigned long start;
++      unsigned long status;
++      int restart = 0;
++      int instance = dev->id;
++      const char *name = dev->name;
++
++      dev->a_ops.adapter_ioremap = aac_src_ioremap;
++      dev->a_ops.adapter_comm = aac_src_select_comm;
++
++      dev->base_size = AAC_MIN_SRC_BAR0_SIZE;
++      if (aac_adapter_ioremap(dev, dev->base_size)) {
++              printk(KERN_WARNING "%s: unable to map adapter.\n", name);
++              goto error_iounmap;
++      }
++
++      /* Failure to reset here is an option ... */
++      dev->a_ops.adapter_sync_cmd = src_sync_cmd;
++      dev->a_ops.adapter_enable_int = aac_src_disable_interrupt;
++      if ((aac_reset_devices || reset_devices) &&
++              !aac_src_restart_adapter(dev, 0))
++              ++restart;
++      /*
++       *      Check to see if the board panic'd while booting.
++       */
++      status = src_readl(dev, MUnit.OMR);
++      if (status & KERNEL_PANIC) {
++              if (aac_src_restart_adapter(dev, aac_src_check_health(dev)))
++                      goto error_iounmap;
++              ++restart;
++      }
++      /*
++       *      Check to see if the board failed any self tests.
++       */
++      status = src_readl(dev, MUnit.OMR);
++      if (status & SELF_TEST_FAILED) {
++              printk(KERN_ERR "%s%d: adapter self-test failed.\n",
++                      dev->name, instance);
++              goto error_iounmap;
++      }
++      /*
++       *      Check to see if the monitor panic'd while booting.
++       */
++      if (status & MONITOR_PANIC) {
++              printk(KERN_ERR "%s%d: adapter monitor panic.\n",
++                      dev->name, instance);
++              goto error_iounmap;
++      }
++      start = jiffies;
++      /*
++       *      Wait for the adapter to be up and running. Wait up to 3 minutes
++       */
++      while (!((status = src_readl(dev, MUnit.OMR)) &
++              KERNEL_UP_AND_RUNNING)) {
++              if ((restart &&
++                (status & (KERNEL_PANIC|SELF_TEST_FAILED|MONITOR_PANIC))) ||
++                time_after(jiffies, start+HZ*startup_timeout)) {
++                      printk(KERN_ERR "%s%d: adapter kernel failed to start, init status = %lx.\n",
++                                      dev->name, instance, status);
++                      goto error_iounmap;
++              }
++              if (!restart &&
++                ((status & (KERNEL_PANIC|SELF_TEST_FAILED|MONITOR_PANIC)) ||
++                time_after(jiffies, start + HZ *
++                ((startup_timeout > 60)
++                  ? (startup_timeout - 60)
++                  : (startup_timeout / 2))))) {
++                      if (likely(!aac_src_restart_adapter(dev,
++                          aac_src_check_health(dev))))
++                              start = jiffies;
++                      ++restart;
++              }
++              msleep(1);
++      }
++      if (restart && aac_commit)
++              aac_commit = 1;
++      /*
++       *      Fill in the common function dispatch table.
++       */
++      dev->a_ops.adapter_interrupt = aac_src_interrupt_adapter;
++      dev->a_ops.adapter_disable_int = aac_src_disable_interrupt;
++      dev->a_ops.adapter_notify = aac_src_notify_adapter;
++      dev->a_ops.adapter_sync_cmd = src_sync_cmd;
++      dev->a_ops.adapter_check_health = aac_src_check_health;
++      dev->a_ops.adapter_restart = aac_src_restart_adapter;
++
++      /*
++       *      First clear out all interrupts.  Then enable the one's that we
++       *      can handle.
++       */
++      aac_adapter_comm(dev, AAC_COMM_MESSAGE);
++      aac_adapter_disable_int(dev);
++      src_writel(dev, MUnit.ODR_C, 0xffffffff);
++      aac_adapter_enable_int(dev);
++
++      if (aac_init_adapter(dev) == NULL)
++              goto error_iounmap;
++      if (dev->comm_interface != AAC_COMM_MESSAGE_TYPE1)
++              goto error_iounmap;
++
++      dev->msi = aac_msi && !pci_enable_msi(dev->pdev);
++
++      if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr,
++                      IRQF_SHARED|IRQF_DISABLED, "aacraid", dev) < 0) {
++
++              if (dev->msi)
++                      pci_disable_msi(dev->pdev);
++
++              printk(KERN_ERR "%s%d: Interrupt unavailable.\n",
++                      name, instance);
++              goto error_iounmap;
++      }
++      dev->dbg_base = pci_resource_start(dev->pdev, 2);
++      dev->dbg_base_mapped = dev->regs.src.bar1;
++      dev->dbg_size = AAC_MIN_SRC_BAR1_SIZE;
++
++      aac_adapter_enable_int(dev);
++      /*
++       *      Tell the adapter that all is configured, and it can
++       * start accepting requests
++       */
++      aac_src_start_adapter(dev);
++
++      return 0;
++
++error_iounmap:
++
++      return -1;
++}
diff --git a/aoe6-77.tar.gz b/aoe6-77.tar.gz
new file mode 100644 (file)
index 0000000..f18ec11
Binary files /dev/null and b/aoe6-77.tar.gz differ
diff --git a/arcmsr.1.20.0X.15-110330.zip b/arcmsr.1.20.0X.15-110330.zip
new file mode 100644 (file)
index 0000000..3e7831a
Binary files /dev/null and b/arcmsr.1.20.0X.15-110330.zip differ
diff --git a/assemble-firmware.pl b/assemble-firmware.pl
new file mode 100755 (executable)
index 0000000..1a507b8
--- /dev/null
@@ -0,0 +1,224 @@
+#!/usr/bin/perl -w
+
+use strict;
+use File::Basename;
+use File::Path;
+
+my $fwsrc0 = "linux-2.6-2.6.32/firmware";
+my $fwsrc1 = "linux-firmware.git";
+my $fwsrc2 = "linux-firmware-from-kernel.git";
+my $fwsrc3 = "firmware-misc";
+
+my $fwlist = shift;
+die "no firmware list specified" if !$fwlist || ! -f $fwlist;
+
+my $target = shift;
+die "no target directory" if !$target || ! -d $target;
+
+my $force_skip = {
+
+    # not needed, the HBA has burned-in firmware
+    'ql8100_fw.bin' => 1,
+};
+
+my $skip = {};
+# debian squeeze also misses those files
+foreach my $fw (qw(
+libertas/gspi8385.bin libertas/gspi8385_hlp.bin
+cbfw.bin ctfw.bin
+tehuti/firmware.bin
+cyzfirm.bin
+isi4616.bin
+isi4608.bin
+isi616em.bin
+isi608.bin
+isi608em.bin
+c320tunx.cod
+cp204unx.cod
+c218tunx.cod
+isight.fw
+BT3CPCC.bin
+bfubase.frm
+solos-db-FPGA.bin
+solos-Firmware.bin
+solos-FPGA.bin
+pca200e_ecd.bin2
+prism2_ru.fw
+tms380tr.bin
+FW10 
+FW13
+comedi/jr3pci.idm
+
+sd8686.bin
+sd8686_helper.bin 
+usb8388.bin
+libertas_cs_helper.fw
+lbtf_usb.bin
+
+wl1271-fw.bin
+wl1251-fw.bin
+symbol_sp24t_sec_fw
+symbol_sp24t_prim_fw
+prism_ap_fw.bin
+prism_sta_fw.bin
+ar9170.fw
+iwmc3200wifi-lmac-sdio.bin
+iwmc3200wifi-calib-sdio.bin
+iwmc3200wifi-umac-sdio.bin
+iwmc3200top.1.fw
+zd1201.fw
+zd1201-ap.fw
+isl3887usb
+isl3886usb
+isl3886pci
+3826.arm
+
+rtl8168d-1.fw
+rtl8168d-2.fw
+
+i2400m-fw-sdio-1.3.sbcf
+
+nx3fwmn.bin
+nx3fwct.bin
+nxromimg.bin
+
+myri10ge_rss_eth_z8e.dat
+myri10ge_rss_ethp_z8e.dat
+myri10ge_eth_z8e.dat
+myri10ge_ethp_z8e.dat
+
+i1480-phy-0.0.bin
+i1480-usb-0.0.bin
+i1480-pre-phy-0.0.bin
+
+go7007fw.bin
+go7007tv.bin
+
+sep/resident.image.bin
+sep/cache.image.bin
+b43legacy/ucode4.fw
+b43legacy/ucode2.fw 
+b43/ucode9.fw
+b43/ucode5.fw
+b43/ucode15.fw
+b43/ucode14.fw
+b43/ucode13.fw
+b43/ucode11.fw
+orinoco_ezusb_fw
+isl3890
+isl3886
+isl3877
+mwl8k/fmimage_8366.fw
+mwl8k/helper_8366.fw
+mwl8k/fmimage_8363.fw
+mwl8k/helper_8363.fw
+iwlwifi-6000g2a-4.ucode
+iwlwifi-130-5.ucode
+cxgb4/t4fw.bin
+
+)) {
+    $skip->{$fw} = 1;
+}
+
+sub copy_fw {
+    my ($src, $dstfw) = @_;
+
+    my $dest = "$target/$dstfw";
+
+    return if -f $dest;
+
+    mkpath dirname($dest);
+    system ("cp '$src' '$dest'") == 0 || die "copy $src to $dest failed";
+}
+
+my $fwdone = {};
+
+open(TMP, $fwlist);
+while(defined(my $line = <TMP>)) {
+    chomp $line;
+    my ($fw, $mod) = split(/\s+/, $line, 2);
+
+    next if $mod =~ m|^kernel/sound|;
+    next if $mod =~ m|^kernel/drivers/isdn|;
+
+    # skip ZyDas usb wireless, use package zd1211-firmware instead
+    next if $fw =~ m|^zd1211/|; 
+
+    # skip atmel at76c50x wireless networking chips.
+    # use package atmel-firmware instead
+    next if $fw =~ m|^atmel_at76c50|;
+
+    # skip Bluetooth dongles based on the Broadcom BCM203x 
+    # use package bluez-firmware instead
+    next if $fw =~ m|^BCM2033|;
+
+    next if $force_skip->{$fw};
+
+    next if $fwdone->{$fw};
+    $fwdone->{$fw} = 1;
+
+    my $fwdest = $fw;
+    if ($fw eq 'libertas/gspi8686.bin') {
+       $fw = 'libertas/gspi8686_v9.bin';
+    }
+    if ($fw eq 'libertas/gspi8686_hlp.bin') {
+       $fw = 'libertas/gspi8686_v9_helper.bin';
+    }
+
+    if ($fw eq 'PE520.cis') {
+       $fw = 'cis/PE520.cis';
+    }
+    if (-f "$fwsrc0/$fw") {
+       copy_fw("$fwsrc0/$fw", $fwdest);
+       next;
+    }
+    if (-f "$fwsrc1/$fw") {
+       copy_fw("$fwsrc1/$fw", $fwdest);
+       next;
+    }
+    if (-f "$fwsrc2/$fw") {
+       copy_fw("$fwsrc2/$fw", $fwdest);
+       next;
+    }
+    if (-f "$fwsrc3/$fw") {
+       copy_fw("$fwsrc3/$fw", $fwdest);
+       next;
+    }
+
+    if ($fw =~ m|/|) {
+       next if $skip->{$fw};
+       die "unable to find firmware: $fw $mod\n";
+    }
+
+    my $name = basename($fw);
+
+    my $sr = `find '$fwsrc1' -name '$name'`;
+    chomp $sr;
+    if ($sr) {
+       #print "found $fw in $sr\n";
+       copy_fw($sr, $fwdest);
+       next;
+    }
+    $sr = `find '$fwsrc2' -name '$name'`;
+    chomp $sr;
+    if ($sr) {
+       #print "found $fw in $sr\n";
+       copy_fw($sr, $fwdest);
+       next;
+    }
+    $sr = `find '$fwsrc3' -name '$name'`;
+    chomp $sr;
+    if ($sr) {
+       #print "found $fw in $sr\n";
+       copy_fw($sr, $fwdest);
+       next;
+    }
+
+    next if $skip->{$fw};
+
+    die "unable to find firmware: $fw $mod\n";
+}
+close(TMP);
+
+exit(0);
diff --git a/bootsplash-3.1.9-2.6.31-rh.patch b/bootsplash-3.1.9-2.6.31-rh.patch
new file mode 100644 (file)
index 0000000..d0c59ac
--- /dev/null
@@ -0,0 +1,2797 @@
+diff -ruN linux-2.6.32.old//drivers/char/keyboard.c linux-2.6.32/drivers/char/keyboard.c
+--- linux-2.6.32.old//drivers/char/keyboard.c  2011-06-22 13:21:18.000000000 +0200
++++ linux-2.6.32/drivers/char/keyboard.c       2011-06-22 13:30:41.000000000 +0200
+@@ -1184,6 +1184,15 @@
+                       if (keycode < BTN_MISC && printk_ratelimit())
+                               printk(KERN_WARNING "keyboard.c: can't emulate rawmode for keycode %d\n", keycode);
++#ifdef CONFIG_BOOTSPLASH
++      /* This code has to be redone for some non-x86 platforms */
++      if (down == 1 && (keycode == 0x3c || keycode == 0x01)) {        /* F2 and ESC on PC keyboard */
++              extern int splash_verbose(void);
++              if (splash_verbose())
++                      return;
++      }
++#endif
++
+ #ifdef CONFIG_MAGIC_SYSRQ            /* Handle the SysRq Hack */
+       if ((keycode == sysrq_key_scancode || keycode == KEY_SYSRQ) &&
+                               (sysrq_down || (down == 1 && sysrq_alt))) {
+diff -ruN linux-2.6.32.old//drivers/char/n_tty.c linux-2.6.32/drivers/char/n_tty.c
+--- linux-2.6.32.old//drivers/char/n_tty.c     2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/drivers/char/n_tty.c  2011-06-22 13:30:41.000000000 +0200
+@@ -1778,6 +1778,15 @@
+                       tty->minimum_to_wake = (minimum - (b - buf));
+               if (!input_available_p(tty, 0)) {
++#ifdef CONFIG_BOOTSPLASH
++                      if (file->f_dentry->d_inode->i_rdev == MKDEV(TTY_MAJOR,0) ||
++                          file->f_dentry->d_inode->i_rdev == MKDEV(TTY_MAJOR,1) ||
++                          file->f_dentry->d_inode->i_rdev == MKDEV(TTYAUX_MAJOR,0) ||
++                          file->f_dentry->d_inode->i_rdev == MKDEV(TTYAUX_MAJOR,1)) {
++                              extern int splash_verbose(void);
++                              (void)splash_verbose();
++                      }
++#endif
+                       if (test_bit(TTY_OTHER_CLOSED, &tty->flags)) {
+                               retval = -EIO;
+                               break;
+diff -ruN linux-2.6.32.old//drivers/char/vt.c linux-2.6.32/drivers/char/vt.c
+--- linux-2.6.32.old//drivers/char/vt.c        2011-05-10 20:38:07.000000000 +0200
++++ linux-2.6.32/drivers/char/vt.c     2011-06-22 13:30:41.000000000 +0200
+@@ -4073,6 +4073,31 @@
+       }
+ }
++#ifdef CONFIG_BOOTSPLASH
++void con_remap_def_color(struct vc_data *vc, int new_color)
++{
++       unsigned short *sbuf = vc->vc_screenbuf;
++       unsigned c, len = vc->vc_screenbuf_size >> 1;
++       int old_color;
++
++       if (sbuf) {
++             old_color = vc->vc_def_color << 8;
++             new_color <<= 8;
++             while(len--) {
++                     c = *sbuf;
++                     if (((c ^ old_color) & 0xf000) == 0)
++                             *sbuf ^= (old_color ^ new_color) & 0xf000;
++                     if (((c ^ old_color) & 0x0f00) == 0)
++                             *sbuf ^= (old_color ^ new_color) & 0x0f00;
++                     sbuf++;
++             }
++             new_color >>= 8;
++       }
++       vc->vc_def_color = vc->vc_color = new_color;
++       update_attr(vc);
++}
++#endif
++
+ /*
+  *    Visible symbols for modules
+  */
+diff -ruN linux-2.6.32.old//drivers/video/bootsplash/bootsplash.c linux-2.6.32/drivers/video/bootsplash/bootsplash.c
+--- linux-2.6.32.old//drivers/video/bootsplash/bootsplash.c    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/drivers/video/bootsplash/bootsplash.c 2011-06-22 13:30:41.000000000 +0200
+@@ -0,0 +1,983 @@
++/*
++ *           linux/drivers/video/bootsplash/bootsplash.c -
++ *                 splash screen handling functions.
++ *
++ *    (w) 2001-2004 by Volker Poplawski, <volker@poplawski.de>,
++ *                Stefan Reinauer, <stepan@suse.de>,
++ *                Steffen Winterfeldt, <snwint@suse.de>,
++ *                  Michael Schroeder <mls@suse.de>
++ *
++ *        Ideas & SuSE screen work by Ken Wimer, <wimer@suse.de>
++ *
++ *  For more information on this code check http://www.bootsplash.org/
++ */
++
++#include <linux/module.h>
++#include <linux/types.h>
++#include <linux/fb.h>
++#include <linux/vt_kern.h>
++#include <linux/vmalloc.h>
++#include <linux/unistd.h>
++#include <linux/syscalls.h>
++
++#include <asm/irq.h>
++#include <asm/system.h>
++
++#include "../console/fbcon.h"
++#include "bootsplash.h"
++#include "decode-jpg.h"
++
++/* extern struct fb_ops vesafb_ops; */
++extern signed char con2fb_map[MAX_NR_CONSOLES];
++
++#define SPLASH_VERSION "3.1.9-2009/10/07"
++
++/* These errors have to match fbcon-jpegdec.h */
++static unsigned char *jpg_errors[] = {
++      "no SOI found",
++      "not 8 bit",
++      "height mismatch",
++      "width mismatch",
++      "bad width or height",
++      "too many COMPPs",
++      "illegal HV",
++      "quant table selector",
++      "picture is not YCBCR 221111",
++      "unknow CID in scan",
++      "dct not sequential",
++      "wrong marker",
++      "no EOI",
++      "bad tables",
++      "depth mismatch"
++};
++
++static struct jpeg_decdata *decdata = 0; /* private decoder data */
++
++static int splash_registered = 0;
++static int splash_usesilent = 0;      /* shall we display the silentjpeg? */
++int splash_default = 0xf01;
++
++static int splash_check_jpeg(unsigned char *jpeg, int width, int height, int depth);
++
++static int __init splash_setup(char *options)
++{
++      if(!strncmp("silent", options, 6)) {
++              printk(KERN_INFO "bootsplash: silent mode.\n");
++              splash_usesilent = 1;
++              /* skip "silent," */
++              if (strlen(options) == 6)
++                      return 0;
++              options += 7;
++      }
++      if(!strncmp("verbose", options, 7)) {
++              printk(KERN_INFO "bootsplash: verbose mode.\n");
++              splash_usesilent = 0;
++              return 0;
++      }
++      splash_default = simple_strtoul(options, NULL, 0);
++      return 0;
++}
++
++__setup("splash=", splash_setup);
++
++
++static int splash_hasinter(unsigned char *buf, int num)
++{
++    unsigned char *bufend = buf + num * 12;
++    while(buf < bufend) {
++      if (buf[1] > 127)               /* inter? */
++          return 1;
++      buf += buf[3] > 127 ? 24 : 12;  /* blend? */
++    }
++    return 0;
++}
++
++static int boxextract(unsigned char *buf, unsigned short *dp, unsigned char *cols, int *blendp)
++{
++    dp[0] = buf[0] | buf[1] << 8;
++    dp[1] = buf[2] | buf[3] << 8;
++    dp[2] = buf[4] | buf[5] << 8;
++    dp[3] = buf[6] | buf[7] << 8;
++    *(unsigned int *)(cols + 0) =
++      *(unsigned int *)(cols + 4) =
++      *(unsigned int *)(cols + 8) =
++      *(unsigned int *)(cols + 12) = *(unsigned int *)(buf + 8);
++    if (dp[1] > 32767) {
++      dp[1] = ~dp[1];
++      *(unsigned int *)(cols + 4) = *(unsigned int *)(buf + 12);
++      *(unsigned int *)(cols + 8) = *(unsigned int *)(buf + 16);
++      *(unsigned int *)(cols + 12) = *(unsigned int *)(buf + 20);
++      *blendp = 1;
++      return 24;
++    }
++    return 12;
++}
++
++static void boxit(unsigned char *pic, int bytes, unsigned char *buf, int num, int percent, int overpaint)
++{
++    int x, y, i, p, doblend, r, g, b, a, add;
++    unsigned short data1[4];
++    unsigned char cols1[16];
++    unsigned short data2[4];
++    unsigned char cols2[16];
++    unsigned char *bufend;
++    unsigned short *picp;
++    unsigned int stipple[32], sti, stin, stinn, stixs, stixe, stiys, stiye;
++    int xs, xe, ys, ye, xo, yo;
++
++    if (num == 0)
++      return;
++    bufend = buf + num * 12;
++    stipple[0] = 0xffffffff;
++    stin = 1;
++    stinn = 0;
++    stixs = stixe = 0;
++    stiys = stiye = 0;
++    while(buf < bufend) {
++      doblend = 0;
++      buf += boxextract(buf, data1, cols1, &doblend);
++      if (data1[0] == 32767 && data1[1] == 32767) {
++          /* box stipple */
++          if (stinn == 32)
++              continue;
++          if (stinn == 0) {
++              stixs = data1[2];
++              stixe = data1[3];
++              stiys = stiye = 0;
++          } else if (stinn == 4) {
++              stiys = data1[2];
++              stiye = data1[3];
++          }
++          stipple[stinn++] = (cols1[ 0] << 24) | (cols1[ 1] << 16) | (cols1[ 2] << 8) | cols1[ 3] ;
++          stipple[stinn++] = (cols1[ 4] << 24) | (cols1[ 5] << 16) | (cols1[ 6] << 8) | cols1[ 7] ;
++          stipple[stinn++] = (cols1[ 8] << 24) | (cols1[ 9] << 16) | (cols1[10] << 8) | cols1[11] ;
++          stipple[stinn++] = (cols1[12] << 24) | (cols1[13] << 16) | (cols1[14] << 8) | cols1[15] ;
++          stin = stinn;
++          continue;
++      }
++      stinn = 0;
++      if (data1[0] > 32767)
++          buf += boxextract(buf, data2, cols2, &doblend);
++      if (data1[0] == 32767 && data1[1] == 32766) {
++          /* box copy */
++          i = 12 * (short)data1[3];
++          doblend = 0;
++          i += boxextract(buf + i, data1, cols1, &doblend);
++          if (data1[0] > 32767)
++              boxextract(buf + i, data2, cols2, &doblend);
++      }
++      if (data1[0] == 32767)
++          continue;
++      if (data1[2] > 32767) {
++          if (overpaint)
++              continue;
++          data1[2] = ~data1[2];
++      }
++      if (data1[3] > 32767) {
++          if (percent == 65536)
++              continue;
++          data1[3] = ~data1[3];
++      }
++      if (data1[0] > 32767) {
++          data1[0] = ~data1[0];
++          for (i = 0; i < 4; i++)
++              data1[i] = (data1[i] * (65536 - percent) + data2[i] * percent) >> 16;
++          for (i = 0; i < 16; i++)
++              cols1[i] = (cols1[i] * (65536 - percent) + cols2[i] * percent) >> 16;
++      }
++      *(unsigned int *)cols2 = *(unsigned int *)cols1;
++      a = cols2[3];
++      if (a == 0 && !doblend)
++          continue;
++
++      if (stixs >= 32768) {
++          xo = xs = (stixs ^ 65535) + data1[0];
++          xe = stixe ? stixe + data1[0] : data1[2];
++      } else if (stixe >= 32768) {
++          xs = stixs ? data1[2] - stixs : data1[0];
++          xe = data1[2] - (stixe ^ 65535);
++          xo = xe + 1;
++      } else {
++          xo = xs = stixs;
++          xe = stixe ? stixe : data1[2];
++      }
++      if (stiys >= 32768) {
++          yo = ys = (stiys ^ 65535) + data1[1];
++          ye = stiye ? stiye + data1[1] : data1[3];
++      } else if (stiye >= 32768) {
++          ys = stiys ? data1[3] - stiys : data1[1];
++          ye = data1[3] - (stiye ^ 65535);
++          yo = ye + 1;
++      } else {
++          yo = ys = stiys;
++          ye = stiye ? stiye : data1[3];
++      }
++      xo = 32 - (xo & 31);
++      yo = stin - (yo % stin);
++      if (xs < data1[0])
++          xs = data1[0];
++      if (xe > data1[2])
++          xe = data1[2];
++      if (ys < data1[1])
++          ys = data1[1];
++      if (ye > data1[3])
++          ye = data1[3];
++
++      for (y = ys; y <= ye; y++) {
++          sti = stipple[(y + yo) % stin];
++          x = (xs + xo) & 31;
++          if (x)
++              sti = (sti << x) | (sti >> (32 - x));
++          if (doblend) {
++              if ((p = data1[3] - data1[1]) != 0)
++                  p = ((y - data1[1]) << 16) / p;
++              for (i = 0; i < 8; i++)
++                  cols2[i + 8] = (cols1[i] * (65536 - p) + cols1[i + 8] * p) >> 16;
++          }
++          add = (xs & 1);
++          add ^= (add ^ y) & 1 ? 1 : 3;               /* 2x2 ordered dithering */
++          picp = (unsigned short *)(pic + xs * 2 + y * bytes);
++          for (x = xs; x <= xe; x++) {
++              if (!(sti & 0x80000000)) {
++                  sti <<= 1;
++                  picp++;
++                  add ^= 3;
++                  continue;
++              }
++              sti = (sti << 1) | 1;
++              if (doblend) {
++                  if ((p = data1[2] - data1[0]) != 0)
++                      p = ((x - data1[0]) << 16) / p;
++                  for (i = 0; i < 4; i++)
++                      cols2[i] = (cols2[i + 8] * (65536 - p) + cols2[i + 12] * p) >> 16;
++                  a = cols2[3];
++              }
++              r = cols2[0];
++              g = cols2[1];
++              b = cols2[2];
++              if (a != 255) {
++                  i = *picp;
++                  r = ((i >> 8 & 0xf8) * (255 - a) + r * a) / 255;
++                  g = ((i >> 3 & 0xfc) * (255 - a) + g * a) / 255;
++                  b = ((i << 3 & 0xf8) * (255 - a) + b * a) / 255;
++              }
++  #define CLAMP(x) ((x) >= 256 ? 255 : (x))
++              i = ((CLAMP(r + add*2+1) & 0xf8) <<  8) |
++                  ((CLAMP(g + add    ) & 0xfc) <<  3) |
++                  ((CLAMP(b + add*2+1)       ) >>  3);
++              *picp++ = i;
++              add ^= 3;
++          }
++      }
++    }
++}
++
++static int splash_check_jpeg(unsigned char *jpeg, int width, int height, int depth)
++{
++    int size, err;
++    unsigned char *mem;
++
++    size = ((width + 15) & ~15) * ((height + 15) & ~15) * (depth >> 3);
++    mem = vmalloc(size);
++    if (!mem) {
++      printk(KERN_INFO "bootsplash: no memory for decoded picture.\n");
++      return -1;
++    }
++    if (!decdata)
++      decdata = vmalloc(sizeof(*decdata));
++    if ((err = jpeg_decode(jpeg, mem, ((width + 15) & ~15), ((height + 15) & ~15), depth, decdata)))
++        printk(KERN_INFO "bootsplash: error while decompressing picture: %s (%d)\n",jpg_errors[err - 1], err);
++    vfree(mem);
++    return err ? -1 : 0;
++}
++
++static void splash_free(struct vc_data *vc, struct fb_info *info)
++{
++    if (!vc->vc_splash_data)
++      return;
++    if (info->silent_screen_base)
++          info->screen_base = info->silent_screen_base;
++    info->silent_screen_base = 0;
++    if (vc->vc_splash_data->splash_silentjpeg)
++          vfree(vc->vc_splash_data->splash_sboxes);
++    vfree(vc->vc_splash_data);
++    vc->vc_splash_data = 0;
++    info->splash_data = 0;
++}
++
++static int splash_mkpenguin(struct splash_data *data, int pxo, int pyo, int pwi, int phe, int pr, int pg, int pb)
++{
++    unsigned char *buf;
++    int i;
++
++    if (pwi ==0 || phe == 0)
++      return 0;
++    buf = (unsigned char *)data + sizeof(*data);
++    pwi += pxo - 1;
++    phe += pyo - 1;
++    *buf++ = pxo;
++    *buf++ = pxo >> 8;
++    *buf++ = pyo;
++    *buf++ = pyo >> 8;
++    *buf++ = pwi;
++    *buf++ = pwi >> 8;
++    *buf++ = phe;
++    *buf++ = phe >> 8;
++    *buf++ = pr;
++    *buf++ = pg;
++    *buf++ = pb;
++    *buf++ = 0;
++    for (i = 0; i < 12; i++, buf++)
++      *buf = buf[-12];
++    buf[-24] ^= 0xff;
++    buf[-23] ^= 0xff;
++    buf[-1] = 0xff;
++    return 2;
++}
++
++static const int splash_offsets[3][16] = {
++    /* len, unit, size, state, fgcol, col, xo, yo, wi, he
++       boxcnt, ssize, sboxcnt, percent, overok, palcnt */
++    /* V1 */
++    {   20,   -1,   16,    -1,    -1,  -1,  8, 10, 12, 14,
++           -1,    -1,      -1,      -1,     -1,     -1 },
++    /* V2 */
++    {   35,    8,   12,     9,    10,  11, 16, 18, 20, 22,
++           -1,    -1,      -1,      -1,     -1,     -1 },
++    /* V3 */
++    {   38,    8,   12,     9,    10,  11, 16, 18, 20, 22,
++           24,    28,      32,      34,     36,     37 },
++};
++
++#define SPLASH_OFF_LEN     offsets[0]
++#define SPLASH_OFF_UNIT    offsets[1]
++#define SPLASH_OFF_SIZE    offsets[2]
++#define SPLASH_OFF_STATE   offsets[3]
++#define SPLASH_OFF_FGCOL   offsets[4]
++#define SPLASH_OFF_COL     offsets[5]
++#define SPLASH_OFF_XO      offsets[6]
++#define SPLASH_OFF_YO      offsets[7]
++#define SPLASH_OFF_WI      offsets[8]
++#define SPLASH_OFF_HE      offsets[9]
++#define SPLASH_OFF_BOXCNT  offsets[10]
++#define SPLASH_OFF_SSIZE   offsets[11]
++#define SPLASH_OFF_SBOXCNT offsets[12]
++#define SPLASH_OFF_PERCENT offsets[13]
++#define SPLASH_OFF_OVEROK  offsets[14]
++#define SPLASH_OFF_PALCNT  offsets[15]
++
++static inline int splash_getb(unsigned char *pos, int off)
++{
++    return off == -1 ? 0 : pos[off];
++}
++
++static inline int splash_gets(unsigned char *pos, int off)
++{
++    return off == -1 ? 0 : pos[off] | pos[off + 1] << 8;
++}
++
++static inline int splash_geti(unsigned char *pos, int off)
++{
++    return off == -1 ? 0 :
++           pos[off] | pos[off + 1] << 8 | pos[off + 2] << 16 | pos[off + 3] << 24;
++}
++
++static int splash_getraw(unsigned char *start, unsigned char *end, int *update)
++{
++    unsigned char *ndata;
++    int version;
++    int splash_size;
++    int unit;
++    int width, height;
++    int silentsize;
++    int boxcnt;
++    int sboxcnt;
++    int palcnt;
++    int i, len;
++    const int *offsets;
++    struct vc_data *vc;
++    struct fb_info *info;
++    struct splash_data *sd;
++
++    if (update)
++      *update = -1;
++
++    if (!update || start[7] < '2' || start[7] > '3' || splash_geti(start, 12) != (int)0xffffffff)
++      printk(KERN_INFO "bootsplash %s: looking for picture...", SPLASH_VERSION);
++
++    for (ndata = start; ndata < end; ndata++) {
++      if (ndata[0] != 'B' || ndata[1] != 'O' || ndata[2] != 'O' || ndata[3] != 'T')
++          continue;
++      if (ndata[4] != 'S' || ndata[5] != 'P' || ndata[6] != 'L' || ndata[7] < '1' || ndata[7] > '3')
++          continue;
++      version = ndata[7] - '0';
++      offsets = splash_offsets[version - 1];
++      len = SPLASH_OFF_LEN;
++      unit = splash_getb(ndata, SPLASH_OFF_UNIT);
++      if (unit >= MAX_NR_CONSOLES)
++          continue;
++      if (unit) {
++              vc_allocate(unit);
++      }
++      vc = vc_cons[unit].d;
++      info = registered_fb[(int)con2fb_map[unit]];
++      width = info->var.xres;
++      height = info->var.yres;
++      splash_size = splash_geti(ndata, SPLASH_OFF_SIZE);
++      if (splash_size == (int)0xffffffff && version > 1) {
++          if ((sd = vc->vc_splash_data) != 0) {
++              int up = 0;
++              i = splash_getb(ndata, SPLASH_OFF_STATE);
++              if (i != 255) {
++                  sd->splash_state = i;
++                  up = -1;
++              }
++              i = splash_getb(ndata, SPLASH_OFF_FGCOL);
++              if (i != 255) {
++                  sd->splash_fg_color = i;
++                  up = -1;
++              }
++              i = splash_getb(ndata, SPLASH_OFF_COL);
++              if (i != 255) {
++                  sd->splash_color = i;
++                  up = -1;
++              }
++              boxcnt = sboxcnt = 0;
++              if (ndata + len <= end) {
++                  boxcnt = splash_gets(ndata, SPLASH_OFF_BOXCNT);
++                  sboxcnt = splash_gets(ndata, SPLASH_OFF_SBOXCNT);
++              }
++              if (boxcnt) {
++                  i = splash_gets(ndata, len);
++                  if (boxcnt + i <= sd->splash_boxcount && ndata + len + 2 + boxcnt * 12 <= end) {
++
++                      if (splash_geti(ndata, len + 2) != 0x7ffd7fff || !memcmp(ndata + len + 2, sd->splash_boxes + i * 12, 8)) {
++
++                          memcpy(sd->splash_boxes + i * 12, ndata + len + 2, boxcnt * 12);
++                          up |= 1;
++                      }
++                  }
++                  len += boxcnt * 12 + 2;
++              }
++              if (sboxcnt) {
++                  i = splash_gets(ndata, len);
++                  if (sboxcnt + i <= sd->splash_sboxcount && ndata + len + 2 + sboxcnt * 12 <= end) {
++                      if (splash_geti(ndata, len + 2) != 0x7ffd7fff || !memcmp(ndata + len + 2, sd->splash_sboxes + i * 12, 8)) {
++                          memcpy(sd->splash_sboxes + i * 12, ndata + len + 2, sboxcnt * 12);
++                          up |= 2;
++                      }
++                  }
++              }
++              if (update)
++                  *update = up;
++          }
++          return unit;
++      }
++      if (splash_size == 0) {
++          printk(KERN_INFO"...found, freeing memory.\n");
++          if (vc->vc_splash_data)
++              splash_free(vc, info);
++          return unit;
++      }
++      boxcnt = splash_gets(ndata, SPLASH_OFF_BOXCNT);
++      palcnt = 3 * splash_getb(ndata, SPLASH_OFF_PALCNT);
++      if (ndata + len + splash_size > end) {
++          printk(KERN_INFO "...found, but truncated!\n");
++          return -1;
++      }
++      if (!jpeg_check_size(ndata + len + boxcnt * 12 + palcnt, width, height)) {
++          ndata += len + splash_size - 1;
++          continue;
++      }
++      if (splash_check_jpeg(ndata + len + boxcnt * 12 + palcnt, width, height, info->var.bits_per_pixel))
++          return -1;
++      silentsize = splash_geti(ndata, SPLASH_OFF_SSIZE);
++      if (silentsize)
++          printk(KERN_INFO" silentjpeg size %d bytes,", silentsize);
++      if (silentsize >= splash_size) {
++          printk(KERN_INFO " bigger than splashsize!\n");
++          return -1;
++      }
++      splash_size -= silentsize;
++      if (!splash_usesilent)
++          silentsize = 0;
++      else if (height * 2 * info->fix.line_length > info->fix.smem_len) {
++          printk(KERN_INFO " does not fit into framebuffer.\n");
++          silentsize = 0;
++      }
++      sboxcnt = splash_gets(ndata, SPLASH_OFF_SBOXCNT);
++      if (silentsize) {
++          unsigned char *simage = ndata + len + splash_size + 12 * sboxcnt;
++          if (!jpeg_check_size(simage, width, height) ||
++              splash_check_jpeg(simage, width, height, info->var.bits_per_pixel)) {
++                  printk(KERN_INFO " error in silent jpeg.\n");
++                  silentsize = 0;
++              }
++      }
++      if (vc->vc_splash_data)
++          splash_free(vc, info);
++      vc->vc_splash_data = sd = vmalloc(sizeof(*sd) + splash_size + (version < 3 ? 2 * 12 : 0));
++      if (!sd)
++          break;
++      sd->splash_silentjpeg = 0;
++      sd->splash_sboxes = 0;
++      sd->splash_sboxcount = 0;
++      if (silentsize) {
++          sd->splash_silentjpeg = vmalloc(silentsize);
++          if (sd->splash_silentjpeg) {
++              memcpy(sd->splash_silentjpeg, ndata + len + splash_size, silentsize);
++              sd->splash_sboxes = vc->vc_splash_data->splash_silentjpeg;
++              sd->splash_silentjpeg += 12 * sboxcnt;
++              sd->splash_sboxcount = sboxcnt;
++          }
++      }
++      sd->splash_state = splash_getb(ndata, SPLASH_OFF_STATE);
++      sd->splash_fg_color = splash_getb(ndata, SPLASH_OFF_FGCOL);
++      sd->splash_color = splash_getb(ndata, SPLASH_OFF_COL);
++      sd->splash_overpaintok = splash_getb(ndata, SPLASH_OFF_OVEROK);
++      sd->splash_text_xo = splash_gets(ndata, SPLASH_OFF_XO);
++      sd->splash_text_yo = splash_gets(ndata, SPLASH_OFF_YO);
++      sd->splash_text_wi = splash_gets(ndata, SPLASH_OFF_WI);
++      sd->splash_text_he = splash_gets(ndata, SPLASH_OFF_HE);
++      sd->splash_percent = splash_gets(ndata, SPLASH_OFF_PERCENT);
++      if (version == 1) {
++          sd->splash_text_xo *= 8;
++          sd->splash_text_wi *= 8;
++          sd->splash_text_yo *= 16;
++          sd->splash_text_he *= 16;
++          sd->splash_color    = (splash_default >> 8) & 0x0f;
++          sd->splash_fg_color = (splash_default >> 4) & 0x0f;
++          sd->splash_state    = splash_default & 1;
++      }
++      if (sd->splash_text_xo + sd->splash_text_wi > width || sd->splash_text_yo + sd->splash_text_he > height) {
++          splash_free(vc, info);
++          printk(KERN_INFO " found, but has oversized text area!\n");
++          return -1;
++      }
++/*    if (!vc_cons[unit].d || info->fbops != &vesafb_ops) {
++          splash_free(vc, info);
++          printk(KERN_INFO " found, but framebuffer can't handle it!\n");
++          return -1;
++      } */
++      printk(KERN_INFO "...found (%dx%d, %d bytes, v%d).\n", width, height, splash_size, version);
++      if (version == 1) {
++          printk(KERN_WARNING "bootsplash: Using deprecated v1 header. Updating your splash utility recommended.\n");
++          printk(KERN_INFO    "bootsplash: Find the latest version at http://www.bootsplash.org/\n");
++      }
++
++      /* fake penguin box for older formats */
++      if (version == 1)
++          boxcnt = splash_mkpenguin(sd, sd->splash_text_xo + 10, sd->splash_text_yo + 10, sd->splash_text_wi - 20, sd->splash_text_he - 20, 0xf0, 0xf0, 0xf0);
++      else if (version == 2)
++          boxcnt = splash_mkpenguin(sd, splash_gets(ndata, 24), splash_gets(ndata, 26), splash_gets(ndata, 28), splash_gets(ndata, 30), splash_getb(ndata, 32), splash_getb(ndata, 33), splash_getb(ndata, 34));
++
++      memcpy((char *)sd + sizeof(*sd) + (version < 3 ? boxcnt * 12 : 0), ndata + len, splash_size);
++      sd->splash_boxcount = boxcnt;
++      sd->splash_boxes = (unsigned char *)sd + sizeof(*sd);
++      sd->splash_palette = sd->splash_boxes + boxcnt * 12;
++      sd->splash_jpeg = sd->splash_palette + palcnt;
++      sd->splash_palcnt = palcnt / 3;
++      sd->splash_dosilent = sd->splash_silentjpeg != 0;
++      return unit;
++    }
++    printk(KERN_INFO "...no good signature found.\n");
++    return -1;
++}
++
++int splash_verbose(void)
++{
++    struct vc_data *vc;
++    struct fb_info *info;
++
++    if (!splash_usesilent)
++        return 0;
++
++    vc = vc_cons[0].d;
++
++    if (!vc || !vc->vc_splash_data || !vc->vc_splash_data->splash_state)
++      return 0;
++    if (fg_console != vc->vc_num)
++      return 0;
++    if (!vc->vc_splash_data->splash_silentjpeg || !vc->vc_splash_data->splash_dosilent)
++      return 0;
++    vc->vc_splash_data->splash_dosilent = 0;
++    info = registered_fb[(int)con2fb_map[0]];
++    if (!info->silent_screen_base)
++      return 0;
++    splashcopy(info->silent_screen_base, info->screen_base, info->var.yres, info->var.xres, info->fix.line_length, info->fix.line_length);
++    info->screen_base = info->silent_screen_base;
++    info->silent_screen_base = 0;
++    return 1;
++}
++
++static void splash_off(struct fb_info *info)
++{
++      if (info->silent_screen_base)
++              info->screen_base = info->silent_screen_base;
++      info->silent_screen_base = 0;
++      info->splash_data = 0;
++      if (info->splash_pic)
++              vfree(info->splash_pic);
++      info->splash_pic = 0;
++      info->splash_pic_size = 0;
++}
++
++int splash_prepare(struct vc_data *vc, struct fb_info *info)
++{
++      int err;
++        int width, height, depth, size, sbytes;
++
++      if (!vc->vc_splash_data || !vc->vc_splash_data->splash_state) {
++              if (decdata)
++                      vfree(decdata);
++              decdata = 0;
++              splash_off(info);
++              return -1;
++      }
++
++        width = info->var.xres;
++        height = info->var.yres;
++        depth = info->var.bits_per_pixel;
++      if (depth != 16) {      /* Other targets might need fixing */
++              splash_off(info);
++              return -2;
++      }
++
++      sbytes = ((width + 15) & ~15) * (depth >> 3);
++      size = sbytes * ((height + 15) & ~15);
++      if (size != info->splash_pic_size)
++              splash_off(info);
++      if (!info->splash_pic)
++              info->splash_pic = vmalloc(size);
++
++      if (!info->splash_pic) {
++              printk(KERN_INFO "bootsplash: not enough memory.\n");
++              splash_off(info);
++              return -3;
++      }
++
++      if (!decdata)
++              decdata = vmalloc(sizeof(*decdata));
++
++      if (vc->vc_splash_data->splash_silentjpeg && vc->vc_splash_data->splash_dosilent) {
++              /* fill area after framebuffer with other jpeg */
++              if ((err = jpeg_decode(vc->vc_splash_data->splash_silentjpeg, info->splash_pic,
++                       ((width + 15) & ~15), ((height + 15) & ~15), depth, decdata))) {
++                      printk(KERN_INFO "bootsplash: error while decompressing silent picture: %s (%d)\n", jpg_errors[err - 1], err);
++                      if (info->silent_screen_base)
++                              info->screen_base = info->silent_screen_base;
++                      vc->vc_splash_data->splash_dosilent = 0;
++              } else {
++                      if (vc->vc_splash_data->splash_sboxcount)
++                              boxit(info->splash_pic, sbytes, vc->vc_splash_data->splash_sboxes,
++                                      vc->vc_splash_data->splash_sboxcount, vc->vc_splash_data->splash_percent, 0);
++
++                      if (!info->silent_screen_base)
++                              info->silent_screen_base = info->screen_base;
++                      splashcopy(info->silent_screen_base, info->splash_pic, info->var.yres, info->var.xres, info->fix.line_length, sbytes);
++                      info->screen_base = info->silent_screen_base + info->fix.line_length * info->var.yres;
++              }
++      } else if (info->silent_screen_base)
++              info->screen_base = info->silent_screen_base;
++
++      if ((err = jpeg_decode(vc->vc_splash_data->splash_jpeg, info->splash_pic,
++               ((width + 15) & ~15), ((height + 15) & ~15), depth, decdata))) {
++              printk(KERN_INFO "bootsplash: error while decompressing picture: %s (%d) .\n", jpg_errors[err - 1], err);
++              splash_off(info);
++              return -4;
++      }
++      info->splash_pic_size = size;
++      info->splash_bytes = sbytes;
++      if (vc->vc_splash_data->splash_boxcount)
++              boxit(info->splash_pic, sbytes, vc->vc_splash_data->splash_boxes, vc->vc_splash_data->splash_boxcount, vc->vc_splash_data->splash_percent, 0);
++      if (vc->vc_splash_data->splash_state)
++              info->splash_data = vc->vc_splash_data;
++      else
++              splash_off(info);
++      return 0;
++}
++
++
++#ifdef CONFIG_PROC_FS
++
++#include <linux/proc_fs.h>
++
++static int splash_read_proc(char *buffer, char **start, off_t offset, int size,
++                      int *eof, void *data);
++static int splash_write_proc(struct file *file, const char *buffer,
++                      unsigned long count, void *data);
++static int splash_status(struct vc_data *vc);
++static int splash_recolor(struct vc_data *vc);
++static int splash_proc_register(void);
++
++static struct proc_dir_entry *proc_splash;
++
++static int splash_recolor(struct vc_data *vc)
++{
++      if (!vc->vc_splash_data)
++          return -1;
++      if (!vc->vc_splash_data->splash_state)
++          return 0;
++      con_remap_def_color(vc, vc->vc_splash_data->splash_color << 4 | vc->vc_splash_data->splash_fg_color);
++      if (fg_console == vc->vc_num) {
++              update_region(vc, vc->vc_origin + vc->vc_size_row * vc->vc_top,
++                            vc->vc_size_row * (vc->vc_bottom - vc->vc_top) / 2);
++      }
++      return 0;
++}
++
++static int splash_status(struct vc_data *vc)
++{
++      struct fb_info *info;
++      printk(KERN_INFO "bootsplash: status on console %d changed to %s\n", vc->vc_num, vc->vc_splash_data && vc->vc_splash_data->splash_state ? "on" : "off");
++
++      info = registered_fb[(int) con2fb_map[vc->vc_num]];
++      if (fg_console == vc->vc_num)
++              splash_prepare(vc, info);
++      if (vc->vc_splash_data && vc->vc_splash_data->splash_state) {
++              con_remap_def_color(vc, vc->vc_splash_data->splash_color << 4 | vc->vc_splash_data->splash_fg_color);
++              /* vc_resize also calls con_switch which resets yscroll */
++              vc_resize(vc, vc->vc_splash_data->splash_text_wi / vc->vc_font.width, vc->vc_splash_data->splash_text_he / vc->vc_font.height);
++              if (fg_console == vc->vc_num) {
++                      update_region(vc, vc->vc_origin + vc->vc_size_row * vc->vc_top,
++                                    vc->vc_size_row * (vc->vc_bottom - vc->vc_top) / 2);
++                      splash_clear_margins(vc->vc_splash_data, vc, info, 0);
++              }
++      } else {
++              /* Switch bootsplash off */
++              con_remap_def_color(vc, 0x07);
++              vc_resize(vc, info->var.xres / vc->vc_font.width, info->var.yres / vc->vc_font.height);
++      }
++      return 0;
++}
++
++static int splash_read_proc(char *buffer, char **start, off_t offset, int size,
++                      int *eof, void *data)
++{
++      int len = 0;
++      off_t begin = 0;
++      struct vc_data *vc = vc_cons[0].d;
++      struct fb_info *info = registered_fb[(int)con2fb_map[0]];
++      int color = vc->vc_splash_data ? vc->vc_splash_data->splash_color << 4 |
++                      vc->vc_splash_data->splash_fg_color : splash_default >> 4;
++      int status = vc->vc_splash_data ? vc->vc_splash_data->splash_state & 1 : 0;
++      len += sprintf(buffer + len, "Splash screen v%s (0x%02x, %dx%d%s): %s\n",
++                      SPLASH_VERSION, color, info->var.xres, info->var.yres,
++                      (vc->vc_splash_data ?  vc->vc_splash_data->splash_dosilent : 0)? ", silent" : "",
++                                      status ? "on" : "off");
++      if (offset >= begin + len)
++              return 0;
++
++      *start = buffer + (begin - offset);
++
++      return (size < begin + len - offset ? size : begin + len - offset);
++}
++
++static int splash_write_proc(struct file *file, const char *buffer,
++                    unsigned long count, void *data)
++{
++        int new, unit;
++      struct vc_data *vc;
++
++      if (!buffer || !splash_default)
++              return count;
++
++      acquire_console_sem();
++      if (!strncmp(buffer, "show", 4) || !strncmp(buffer, "hide", 4)) {
++              int pe, oldpe;
++
++              vc = vc_cons[0].d;
++              if (buffer[4] == ' ' && buffer[5] == 'p')
++                      pe = 0;
++              else if (buffer[4] == '\n')
++                      pe = 65535;
++              else
++                      pe = simple_strtoul(buffer + 5, NULL, 0);
++              if (pe < 0)
++                      pe = 0;
++              if (pe > 65535)
++                      pe = 65535;
++              if (*buffer == 'h')
++                      pe = 65535 - pe;
++              pe += pe > 32767;
++              if (vc->vc_splash_data && vc->vc_splash_data->splash_percent != pe) {
++                      struct fb_info *info;
++                      struct fbcon_ops *ops;
++
++                      oldpe = vc->vc_splash_data->splash_percent;
++                      vc->vc_splash_data->splash_percent = pe;
++                      if (fg_console != 0 || !vc->vc_splash_data->splash_state) {
++                              release_console_sem();
++                              return count;
++                      }
++                      info = registered_fb[(int) con2fb_map[vc->vc_num]];
++                      ops = info->fbcon_par;
++                      if (ops->blank_state) {
++                              release_console_sem();
++                              return count;
++                      }
++                      if (!vc->vc_splash_data->splash_overpaintok || pe == 65536 || pe < oldpe) {
++                              if (splash_hasinter(vc->vc_splash_data->splash_boxes, vc->vc_splash_data->splash_boxcount))
++                                      splash_status(vc);
++                              else
++                                      splash_prepare(vc, info);
++                      } else {
++                              if (vc->vc_splash_data->splash_silentjpeg && vc->vc_splash_data->splash_dosilent && info->silent_screen_base)
++                                      boxit(info->silent_screen_base, info->fix.line_length, vc->vc_splash_data->splash_sboxes, vc->vc_splash_data->splash_sboxcount, vc->vc_splash_data->splash_percent, 1);
++                              boxit(info->screen_base, info->fix.line_length, vc->vc_splash_data->splash_boxes, vc->vc_splash_data->splash_boxcount, vc->vc_splash_data->splash_percent, 1);
++                      }
++              }
++              release_console_sem();
++              return count;
++      }
++      if (!strncmp(buffer,"silent\n",7) || !strncmp(buffer,"verbose\n",8)) {
++              vc = vc_cons[0].d;
++              if (vc->vc_splash_data && vc->vc_splash_data->splash_silentjpeg) {
++                  if (vc->vc_splash_data->splash_dosilent != (buffer[0] == 's')) {
++                      vc->vc_splash_data->splash_dosilent = buffer[0] == 's';
++                      splash_status(vc);
++                  }
++              }
++              release_console_sem();
++              return count;
++      }
++      if (!strncmp(buffer,"freesilent\n",11)) {
++              vc = vc_cons[0].d;
++              if (vc->vc_splash_data && vc->vc_splash_data->splash_silentjpeg) {
++                  printk(KERN_INFO "bootsplash: freeing silent jpeg\n");
++                  vc->vc_splash_data->splash_silentjpeg = 0;
++                  vfree(vc->vc_splash_data->splash_sboxes);
++                  vc->vc_splash_data->splash_sboxes = 0;
++                  vc->vc_splash_data->splash_sboxcount = 0;
++                  if (vc->vc_splash_data->splash_dosilent)
++                      splash_status(vc);
++                  vc->vc_splash_data->splash_dosilent = 0;
++              }
++              release_console_sem();
++              return count;
++      }
++
++      if (!strncmp(buffer, "BOOTSPL", 7)) {
++          int up = -1;
++          unit = splash_getraw((unsigned char *)buffer, (unsigned char *)buffer + count, &up);
++          if (unit >= 0) {
++              vc = vc_cons[unit].d;
++              if (up == -1)
++                  splash_status(vc);
++              else {
++                  struct fb_info *info = registered_fb[(int) con2fb_map[vc->vc_num]];
++                  struct fbcon_ops *ops = info->fbcon_par;
++                  if (ops->blank_state)
++                      up = 0;
++                  if ((up & 2) != 0 && vc->vc_splash_data->splash_silentjpeg && vc->vc_splash_data->splash_dosilent && info->silent_screen_base)
++                      boxit(info->silent_screen_base, info->fix.line_length, vc->vc_splash_data->splash_sboxes, vc->vc_splash_data->splash_sboxcount, vc->vc_splash_data->splash_percent, 1);
++                  if ((up & 1) != 0)
++                          boxit(info->screen_base, info->fix.line_length, vc->vc_splash_data->splash_boxes, vc->vc_splash_data->splash_boxcount, vc->vc_splash_data->splash_percent, 1);
++              }
++          }
++          release_console_sem();
++          return count;
++      }
++      vc = vc_cons[0].d;
++      if (!vc->vc_splash_data) {
++              release_console_sem();
++              return count;
++      }
++      if (buffer[0] == 't') {
++              vc->vc_splash_data->splash_state ^= 1;
++              splash_status(vc);
++              release_console_sem();
++              return count;
++      }
++      new = simple_strtoul(buffer, NULL, 0);
++      if (new > 1) {
++              /* expert user */
++              vc->vc_splash_data->splash_color    = new >> 8 & 0xff;
++              vc->vc_splash_data->splash_fg_color = new >> 4 & 0x0f;
++      }
++      if ((new & 1) == vc->vc_splash_data->splash_state)
++              splash_recolor(vc);
++      else {
++              vc->vc_splash_data->splash_state = new & 1;
++              splash_status(vc);
++      }
++      release_console_sem();
++      return count;
++}
++
++static int splash_proc_register(void)
++{
++      if ((proc_splash = create_proc_entry("splash", 0, 0))) {
++              proc_splash->read_proc = splash_read_proc;
++              proc_splash->write_proc = splash_write_proc;
++              return 0;
++      }
++      return 1;
++}
++
++# if 0
++static int splash_proc_unregister(void)
++{
++      if (proc_splash)
++              remove_proc_entry("splash", 0);
++      return 0;
++}
++# endif
++#endif        /* CONFIG_PROC_FS */
++
++void splash_init(void)
++{
++      struct fb_info *info;
++      struct vc_data *vc;
++      int isramfs = 1;
++      int fd;
++      int len;
++      int max_len = 1024*1024*2;
++      char *mem;
++
++      if (splash_registered)
++              return;
++      vc = vc_cons[0].d;
++      info = registered_fb[0];
++      if (!vc || !info || info->var.bits_per_pixel != 16)
++              return;
++#ifdef CONFIG_PROC_FS
++      splash_proc_register();
++#endif
++      splash_registered = 1;
++      if (vc->vc_splash_data)
++              return;
++      if ((fd = sys_open("/bootsplash", O_RDONLY, 0)) < 0) {
++              isramfs = 0;
++              fd = sys_open("/initrd.image", O_RDONLY, 0);
++      }
++      if (fd < 0)
++              return;
++      if ((len = (int)sys_lseek(fd, (off_t)0, 2)) <= 0) {
++              sys_close(fd);
++              return;
++      }
++      /* Don't look for more than the last 2MB */
++      if (len > max_len) {
++              printk( KERN_INFO "bootsplash: scanning last %dMB of initrd for signature\n",
++                              max_len>>20);
++              sys_lseek(fd, (off_t)(len - max_len), 0);
++              len = max_len;
++      } else {
++              sys_lseek(fd, (off_t)0, 0);
++      }
++
++      mem = vmalloc(len);
++      if (mem) {
++              acquire_console_sem();
++              if ((int)sys_read(fd, mem, len) == len && splash_getraw((unsigned char *)mem, (unsigned char *)mem + len, (int *)0) == 0 && vc->vc_splash_data)
++                      vc->vc_splash_data->splash_state = splash_default & 1;
++              release_console_sem();
++              vfree(mem);
++      }
++      sys_close(fd);
++      if (isramfs)
++              sys_unlink("/bootsplash");
++      return;
++}
++
+diff -ruN linux-2.6.32.old//drivers/video/bootsplash/bootsplash.h linux-2.6.32/drivers/video/bootsplash/bootsplash.h
+--- linux-2.6.32.old//drivers/video/bootsplash/bootsplash.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/drivers/video/bootsplash/bootsplash.h 2011-06-22 13:30:41.000000000 +0200
+@@ -0,0 +1,44 @@
++/*
++ *    linux/drivers/video/bootsplash/bootsplash.h - splash screen definition.
++ *
++ *    (w) 2001-2003 by Volker Poplawski, <volker@poplawski.de>
++ *                Stefan Reinauer, <stepan@suse.de>
++ *
++ *
++ *    idea and SuSE screen work by Ken Wimer, <wimer@suse.de>
++ */
++
++#ifndef __BOOTSPLASH_H
++#define __BOOTSPLASH_H
++
++struct fb_info;
++
++/* splash.c */
++extern int splash_prepare(struct vc_data *, struct fb_info *);
++extern void splash_init(void);
++
++/* splash_render.c */
++extern void splash_putcs(struct splash_data *sd, struct vc_data *vc, struct fb_info *info,
++                      const unsigned short *s, int count, int ypos, int xpos);
++extern void splash_putc(struct splash_data *sd, struct vc_data *vc, struct fb_info *info,
++                      int c, int ypos, int xpos);
++extern void splashcopy(u8 *dst, u8 *src, int height, int width, int dstbytes, int srcbytes);
++extern void splash_clear(struct splash_data *sd, struct vc_data *vc, struct fb_info *info, int sy,
++                      int sx, int height, int width);
++extern void splash_bmove(struct splash_data *sd, struct vc_data *vc, struct fb_info *info, int sy,
++                      int sx, int dy, int dx, int height, int width);
++extern void splash_clear_margins(struct splash_data *sd, struct vc_data *vc, struct fb_info *info,
++                      int bottom_only);
++extern int splash_cursor(struct splash_data *sd, struct fb_info *info, struct fb_cursor *cursor);
++extern void splash_bmove_redraw(struct splash_data *sd, struct vc_data *vc, struct fb_info *info,
++                      int y, int sx, int dx, int width);
++extern void splash_blank(struct splash_data *sd, struct vc_data *vc, struct fb_info *info,
++                      int blank);
++
++/* vt.c */
++extern void con_remap_def_color(struct vc_data *, int new_color);
++
++extern void acquire_console_sem(void);
++extern void release_console_sem(void);
++
++#endif
+diff -ruN linux-2.6.32.old//drivers/video/bootsplash/decode-jpg.c linux-2.6.32/drivers/video/bootsplash/decode-jpg.c
+--- linux-2.6.32.old//drivers/video/bootsplash/decode-jpg.c    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/drivers/video/bootsplash/decode-jpg.c 2011-06-22 13:30:41.000000000 +0200
+@@ -0,0 +1,957 @@
++/*
++ *    linux/drivers/video/bootsplash/decode-jpg.c - a tiny jpeg decoder.
++ *
++ *      (w) August 2001 by Michael Schroeder, <mls@suse.de>
++ *
++ */
++
++#include <linux/string.h>
++#include <asm/byteorder.h>
++
++#include "decode-jpg.h"
++
++#define ISHIFT 11
++
++#define IFIX(a) ((int)((a) * (1 << ISHIFT) + .5))
++#define IMULT(a, b) (((a) * (b)) >> ISHIFT)
++#define ITOINT(a) ((a) >> ISHIFT)
++
++#ifndef __P
++# define __P(x) x
++#endif
++
++/* special markers */
++#define M_BADHUFF     -1
++#define M_EOF         0x80
++
++struct in {
++      unsigned char *p;
++      unsigned int bits;
++      int left;
++      int marker;
++
++      int (*func) __P((void *));
++      void *data;
++};
++
++/*********************************/
++struct dec_hufftbl;
++struct enc_hufftbl;
++
++union hufftblp {
++      struct dec_hufftbl *dhuff;
++      struct enc_hufftbl *ehuff;
++};
++
++struct scan {
++      int dc;                 /* old dc value */
++
++      union hufftblp hudc;
++      union hufftblp huac;
++      int next;               /* when to switch to next scan */
++
++      int cid;                /* component id */
++      int hv;                 /* horiz/vert, copied from comp */
++      int tq;                 /* quant tbl, copied from comp */
++};
++
++/*********************************/
++
++#define DECBITS 10            /* seems to be the optimum */
++
++struct dec_hufftbl {
++      int maxcode[17];
++      int valptr[16];
++      unsigned char vals[256];
++      unsigned int llvals[1 << DECBITS];
++};
++
++static void decode_mcus __P((struct in *, int *, int, struct scan *, int *));
++static int dec_readmarker __P((struct in *));
++static void dec_makehuff __P((struct dec_hufftbl *, int *, unsigned char *));
++
++static void setinput __P((struct in *, unsigned char *));
++/*********************************/
++
++#undef PREC
++#define PREC int
++
++static void idctqtab __P((unsigned char *, PREC *));
++static void idct __P((int *, int *, PREC *, PREC, int));
++static void scaleidctqtab __P((PREC *, PREC));
++
++/*********************************/
++
++static void initcol __P((PREC[][64]));
++
++static void col221111 __P((int *, unsigned char *, int));
++static void col221111_16 __P((int *, unsigned char *, int));
++
++/*********************************/
++
++#define M_SOI 0xd8
++#define M_APP0        0xe0
++#define M_DQT 0xdb
++#define M_SOF0        0xc0
++#define M_DHT   0xc4
++#define M_DRI 0xdd
++#define M_SOS 0xda
++#define M_RST0        0xd0
++#define M_EOI 0xd9
++#define M_COM 0xfe
++
++static unsigned char *datap;
++
++static int getbyte(void)
++{
++      return *datap++;
++}
++
++static int getword(void)
++{
++      int c1, c2;
++      c1 = *datap++;
++      c2 = *datap++;
++      return c1 << 8 | c2;
++}
++
++struct comp {
++      int cid;
++      int hv;
++      int tq;
++};
++
++#define MAXCOMP 4
++struct jpginfo {
++      int nc;                 /* number of components */
++      int ns;                 /* number of scans */
++      int dri;                /* restart interval */
++      int nm;                 /* mcus til next marker */
++      int rm;                 /* next restart marker */
++};
++
++static struct jpginfo info;
++static struct comp comps[MAXCOMP];
++
++static struct scan dscans[MAXCOMP];
++
++static unsigned char quant[4][64];
++
++static struct dec_hufftbl dhuff[4];
++
++#define dec_huffdc (dhuff + 0)
++#define dec_huffac (dhuff + 2)
++
++static struct in in;
++
++static int readtables(int till)
++{
++      int m, l, i, j, lq, pq, tq;
++      int tc, th, tt;
++
++      for (;;) {
++              if (getbyte() != 0xff)
++                      return -1;
++              if ((m = getbyte()) == till)
++                      break;
++
++              switch (m) {
++              case 0xc2:
++                      return 0;
++
++              case M_DQT:
++                      lq = getword();
++                      while (lq > 2) {
++                              pq = getbyte();
++                              tq = pq & 15;
++                              if (tq > 3)
++                                      return -1;
++                              pq >>= 4;
++                              if (pq != 0)
++                                      return -1;
++                              for (i = 0; i < 64; i++)
++                                      quant[tq][i] = getbyte();
++                              lq -= 64 + 1;
++                      }
++                      break;
++
++              case M_DHT:
++                      l = getword();
++                      while (l > 2) {
++                              int hufflen[16], k;
++                              unsigned char huffvals[256];
++
++                              tc = getbyte();
++                              th = tc & 15;
++                              tc >>= 4;
++                              tt = tc * 2 + th;
++                              if (tc > 1 || th > 1)
++                                      return -1;
++                              for (i = 0; i < 16; i++)
++                                      hufflen[i] = getbyte();
++                              l -= 1 + 16;
++                              k = 0;
++                              for (i = 0; i < 16; i++) {
++                                      for (j = 0; j < hufflen[i]; j++)
++                                              huffvals[k++] = getbyte();
++                                      l -= hufflen[i];
++                              }
++                              dec_makehuff(dhuff + tt, hufflen,
++                                           huffvals);
++                      }
++                      break;
++
++              case M_DRI:
++                      l = getword();
++                      info.dri = getword();
++                      break;
++
++              default:
++                      l = getword();
++                      while (l-- > 2)
++                              getbyte();
++                      break;
++              }
++      }
++      return 0;
++}
++
++static void dec_initscans(void)
++{
++      int i;
++
++      info.nm = info.dri + 1;
++      info.rm = M_RST0;
++      for (i = 0; i < info.ns; i++)
++              dscans[i].dc = 0;
++}
++
++static int dec_checkmarker(void)
++{
++      int i;
++
++      if (dec_readmarker(&in) != info.rm)
++              return -1;
++      info.nm = info.dri;
++      info.rm = (info.rm + 1) & ~0x08;
++      for (i = 0; i < info.ns; i++)
++              dscans[i].dc = 0;
++      return 0;
++}
++
++int jpeg_check_size(unsigned char *buf, int width, int height)
++{
++      datap = buf;
++      getbyte();
++      getbyte();
++      readtables(M_SOF0);
++      getword();
++      getbyte();
++        if (height != getword() || width != getword())
++              return 0;
++        return 1;
++}
++
++int jpeg_decode(buf, pic, width, height, depth, decdata)
++unsigned char *buf, *pic;
++int width, height, depth;
++struct jpeg_decdata *decdata;
++{
++      int i, j, m, tac, tdc;
++      int mcusx, mcusy, mx, my;
++      int max[6];
++
++      if (!decdata || !buf || !pic)
++              return -1;
++      datap = buf;
++      if (getbyte() != 0xff)
++              return ERR_NO_SOI;
++      if (getbyte() != M_SOI)
++              return ERR_NO_SOI;
++      if (readtables(M_SOF0))
++              return ERR_BAD_TABLES;
++      getword();
++      i = getbyte();
++      if (i != 8)
++              return ERR_NOT_8BIT;
++      if (((getword() + 15) & ~15) != height)
++              return ERR_HEIGHT_MISMATCH;
++      if (((getword() + 15) & ~15) != width)
++              return ERR_WIDTH_MISMATCH;
++      if ((height & 15) || (width & 15))
++              return ERR_BAD_WIDTH_OR_HEIGHT;
++      info.nc = getbyte();
++      if (info.nc > MAXCOMP)
++              return ERR_TOO_MANY_COMPPS;
++      for (i = 0; i < info.nc; i++) {
++              int h, v;
++              comps[i].cid = getbyte();
++              comps[i].hv = getbyte();
++              v = comps[i].hv & 15;
++              h = comps[i].hv >> 4;
++              comps[i].tq = getbyte();
++              if (h > 3 || v > 3)
++                      return ERR_ILLEGAL_HV;
++              if (comps[i].tq > 3)
++                      return ERR_QUANT_TABLE_SELECTOR;
++      }
++      if (readtables(M_SOS))
++              return ERR_BAD_TABLES;
++      getword();
++      info.ns = getbyte();
++      if (info.ns != 3)
++              return ERR_NOT_YCBCR_221111;
++      for (i = 0; i < 3; i++) {
++              dscans[i].cid = getbyte();
++              tdc = getbyte();
++              tac = tdc & 15;
++              tdc >>= 4;
++              if (tdc > 1 || tac > 1)
++                      return ERR_QUANT_TABLE_SELECTOR;
++              for (j = 0; j < info.nc; j++)
++                      if (comps[j].cid == dscans[i].cid)
++                              break;
++              if (j == info.nc)
++                      return ERR_UNKNOWN_CID_IN_SCAN;
++              dscans[i].hv = comps[j].hv;
++              dscans[i].tq = comps[j].tq;
++              dscans[i].hudc.dhuff = dec_huffdc + tdc;
++              dscans[i].huac.dhuff = dec_huffac + tac;
++      }
++
++      i = getbyte();
++      j = getbyte();
++      m = getbyte();
++
++      if (i != 0 || j != 63 || m != 0)
++              return ERR_NOT_SEQUENTIAL_DCT;
++
++      if (dscans[0].cid != 1 || dscans[1].cid != 2 || dscans[2].cid != 3)
++              return ERR_NOT_YCBCR_221111;
++
++      if (dscans[0].hv != 0x22 || dscans[1].hv != 0x11 || dscans[2].hv != 0x11)
++              return ERR_NOT_YCBCR_221111;
++
++      mcusx = width >> 4;
++      mcusy = height >> 4;
++
++
++      idctqtab(quant[dscans[0].tq], decdata->dquant[0]);
++      idctqtab(quant[dscans[1].tq], decdata->dquant[1]);
++      idctqtab(quant[dscans[2].tq], decdata->dquant[2]);
++      initcol(decdata->dquant);
++      setinput(&in, datap);
++
++#if 0
++      /* landing zone */
++      img[len] = 0;
++      img[len + 1] = 0xff;
++      img[len + 2] = M_EOF;
++#endif
++
++      dec_initscans();
++
++      dscans[0].next = 6 - 4;
++      dscans[1].next = 6 - 4 - 1;
++      dscans[2].next = 6 - 4 - 1 - 1; /* 411 encoding */
++      for (my = 0; my < mcusy; my++) {
++              for (mx = 0; mx < mcusx; mx++) {
++                      if (info.dri && !--info.nm)
++                              if (dec_checkmarker())
++                                      return ERR_WRONG_MARKER;
++
++                      decode_mcus(&in, decdata->dcts, 6, dscans, max);
++                      idct(decdata->dcts, decdata->out, decdata->dquant[0], IFIX(128.5), max[0]);
++                      idct(decdata->dcts + 64, decdata->out + 64, decdata->dquant[0], IFIX(128.5), max[1]);
++                      idct(decdata->dcts + 128, decdata->out + 128, decdata->dquant[0], IFIX(128.5), max[2]);
++                      idct(decdata->dcts + 192, decdata->out + 192, decdata->dquant[0], IFIX(128.5), max[3]);
++                      idct(decdata->dcts + 256, decdata->out + 256, decdata->dquant[1], IFIX(0.5), max[4]);
++                      idct(decdata->dcts + 320, decdata->out + 320, decdata->dquant[2], IFIX(0.5), max[5]);
++
++                      switch (depth) {
++                      case 24:
++                              col221111(decdata->out, pic + (my * 16 * mcusx + mx) * 16 * 3, mcusx * 16 * 3);
++                              break;
++                      case 16:
++                              col221111_16(decdata->out, pic + (my * 16 * mcusx + mx) * (16 * 2), mcusx * (16 * 2));
++                              break;
++                      default:
++                              return ERR_DEPTH_MISMATCH;
++                              break;
++                      }
++              }
++      }
++
++      m = dec_readmarker(&in);
++      if (m != M_EOI)
++              return ERR_NO_EOI;
++
++      return 0;
++}
++
++/****************************************************************/
++/**************       huffman decoder             ***************/
++/****************************************************************/
++
++static int fillbits __P((struct in *, int, unsigned int));
++static int dec_rec2
++__P((struct in *, struct dec_hufftbl *, int *, int, int));
++
++static void setinput(in, p)
++struct in *in;
++unsigned char *p;
++{
++      in->p = p;
++      in->left = 0;
++      in->bits = 0;
++      in->marker = 0;
++}
++
++static int fillbits(in, le, bi)
++struct in *in;
++int le;
++unsigned int bi;
++{
++      int b, m;
++
++      if (in->marker) {
++              if (le <= 16)
++                      in->bits = bi << 16, le += 16;
++              return le;
++      }
++      while (le <= 24) {
++              b = *in->p++;
++              if (b == 0xff && (m = *in->p++) != 0) {
++                      if (m == M_EOF) {
++                              if (in->func && (m = in->func(in->data)) == 0)
++                                      continue;
++                      }
++                      in->marker = m;
++                      if (le <= 16)
++                              bi = bi << 16, le += 16;
++                      break;
++              }
++              bi = bi << 8 | b;
++              le += 8;
++      }
++      in->bits = bi;          /* tmp... 2 return values needed */
++      return le;
++}
++
++static int dec_readmarker(in)
++struct in *in;
++{
++      int m;
++
++      in->left = fillbits(in, in->left, in->bits);
++      if ((m = in->marker) == 0)
++              return 0;
++      in->left = 0;
++      in->marker = 0;
++      return m;
++}
++
++#define LEBI_DCL      int le, bi
++#define LEBI_GET(in)  (le = in->left, bi = in->bits)
++#define LEBI_PUT(in)  (in->left = le, in->bits = bi)
++
++#define GETBITS(in, n) (                                      \
++  (le < (n) ? le = fillbits(in, le, bi), bi = in->bits : 0),  \
++  (le -= (n)),                                                        \
++  bi >> le & ((1 << (n)) - 1)                                 \
++)
++
++#define UNGETBITS(in, n) (    \
++  le += (n)                   \
++)
++
++
++static int dec_rec2(in, hu, runp, c, i)
++struct in *in;
++struct dec_hufftbl *hu;
++int *runp;
++int c, i;
++{
++      LEBI_DCL;
++
++      LEBI_GET(in);
++      if (i) {
++              UNGETBITS(in, i & 127);
++              *runp = i >> 8 & 15;
++              i >>= 16;
++      } else {
++              for (i = DECBITS; (c = ((c << 1) | GETBITS(in, 1))) >= (hu->maxcode[i]); i++);
++              if (i >= 16) {
++                      in->marker = M_BADHUFF;
++                      return 0;
++              }
++              i = hu->vals[hu->valptr[i] + c - hu->maxcode[i - 1] * 2];
++              *runp = i >> 4;
++              i &= 15;
++      }
++      if (i == 0) {           /* sigh, 0xf0 is 11 bit */
++              LEBI_PUT(in);
++              return 0;
++      }
++      /* receive part */
++      c = GETBITS(in, i);
++      if (c < (1 << (i - 1)))
++              c += (-1 << i) + 1;
++      LEBI_PUT(in);
++      return c;
++}
++
++#define DEC_REC(in, hu, r, i)  (      \
++  r = GETBITS(in, DECBITS),           \
++  i = hu->llvals[r],                  \
++  i & 128 ?                           \
++    (                                 \
++      UNGETBITS(in, i & 127),         \
++      r = i >> 8 & 15,                        \
++      i >> 16                         \
++    )                                 \
++  :                                   \
++    (                                 \
++      LEBI_PUT(in),                   \
++      i = dec_rec2(in, hu, &r, r, i), \
++      LEBI_GET(in),                   \
++      i                                       \
++    )                                 \
++)
++
++static void decode_mcus(in, dct, n, sc, maxp)
++struct in *in;
++int *dct;
++int n;
++struct scan *sc;
++int *maxp;
++{
++      struct dec_hufftbl *hu;
++      int i, r, t;
++      LEBI_DCL;
++
++      memset(dct, 0, n * 64 * sizeof(*dct));
++      LEBI_GET(in);
++      while (n-- > 0) {
++              hu = sc->hudc.dhuff;
++              *dct++ = (sc->dc += DEC_REC(in, hu, r, t));
++
++              hu = sc->huac.dhuff;
++              i = 63;
++              while (i > 0) {
++                      t = DEC_REC(in, hu, r, t);
++                      if (t == 0 && r == 0) {
++                              dct += i;
++                              break;
++                      }
++                      dct += r;
++                      *dct++ = t;
++                      i -= r + 1;
++              }
++              *maxp++ = 64 - i;
++              if (n == sc->next)
++                      sc++;
++      }
++      LEBI_PUT(in);
++}
++
++static void dec_makehuff(hu, hufflen, huffvals)
++struct dec_hufftbl *hu;
++int *hufflen;
++unsigned char *huffvals;
++{
++      int code, k, i, j, d, x, c, v;
++      for (i = 0; i < (1 << DECBITS); i++)
++              hu->llvals[i] = 0;
++
++/*
++ * llvals layout:
++ *
++ * value v already known, run r, backup u bits:
++ *  vvvvvvvvvvvvvvvv 0000 rrrr 1 uuuuuuu
++ * value unknown, size b bits, run r, backup u bits:
++ *  000000000000bbbb 0000 rrrr 0 uuuuuuu
++ * value and size unknown:
++ *  0000000000000000 0000 0000 0 0000000
++ */
++      code = 0;
++      k = 0;
++      for (i = 0; i < 16; i++, code <<= 1) {  /* sizes */
++              hu->valptr[i] = k;
++              for (j = 0; j < hufflen[i]; j++) {
++                      hu->vals[k] = *huffvals++;
++                      if (i < DECBITS) {
++                              c = code << (DECBITS - 1 - i);
++                              v = hu->vals[k] & 0x0f; /* size */
++                              for (d = 1 << (DECBITS - 1 - i); --d >= 0;) {
++                                      if (v + i < DECBITS) {  /* both fit in table */
++                                              x = d >> (DECBITS - 1 - v -
++                                                        i);
++                                              if (v && x < (1 << (v - 1)))
++                                                      x += (-1 << v) + 1;
++                                              x = x << 16 | (hu-> vals[k] & 0xf0) << 4 |
++                                                      (DECBITS - (i + 1 + v)) | 128;
++                                      } else
++                                              x = v << 16 | (hu-> vals[k] & 0xf0) << 4 |
++                                                      (DECBITS - (i + 1));
++                                      hu->llvals[c | d] = x;
++                              }
++                      }
++                      code++;
++                      k++;
++              }
++              hu->maxcode[i] = code;
++      }
++      hu->maxcode[16] = 0x20000;      /* always terminate decode */
++}
++
++/****************************************************************/
++/**************             idct                  ***************/
++/****************************************************************/
++
++#define ONE ((PREC)IFIX(1.))
++#define S2  ((PREC)IFIX(0.382683432))
++#define C2  ((PREC)IFIX(0.923879532))
++#define C4  ((PREC)IFIX(0.707106781))
++
++#define S22 ((PREC)IFIX(2 * 0.382683432))
++#define C22 ((PREC)IFIX(2 * 0.923879532))
++#define IC4 ((PREC)IFIX(1 / 0.707106781))
++
++#define C3IC1 ((PREC)IFIX(0.847759065))       /* c3/c1 */
++#define C5IC1 ((PREC)IFIX(0.566454497))       /* c5/c1 */
++#define C7IC1 ((PREC)IFIX(0.198912367))       /* c7/c1 */
++
++#define XPP(a,b) (t = a + b, b = a - b, a = t)
++#define XMP(a,b) (t = a - b, b = a + b, a = t)
++#define XPM(a,b) (t = a + b, b = b - a, a = t)
++
++#define ROT(a,b,s,c) (        t = IMULT(a + b, s),    \
++                      a = IMULT(a, c - s) + t,        \
++                      b = IMULT(b, c + s) - t)
++
++#define IDCT          \
++(                     \
++  XPP(t0, t1),                \
++  XMP(t2, t3),                \
++  t2 = IMULT(t2, IC4) - t3,   \
++  XPP(t0, t3),                \
++  XPP(t1, t2),                \
++  XMP(t4, t7),                \
++  XPP(t5, t6),                \
++  XMP(t5, t7),                \
++  t5 = IMULT(t5, IC4),        \
++  ROT(t4, t6, S22, C22),\
++  t6 -= t7,           \
++  t5 -= t6,           \
++  t4 -= t5,           \
++  XPP(t0, t7),                \
++  XPP(t1, t6),                \
++  XPP(t2, t5),                \
++  XPP(t3, t4)         \
++)
++
++static unsigned char zig2[64] = {
++      0, 2, 3, 9, 10, 20, 21, 35,
++      14, 16, 25, 31, 39, 46, 50, 57,
++      5, 7, 12, 18, 23, 33, 37, 48,
++      27, 29, 41, 44, 52, 55, 59, 62,
++      15, 26, 30, 40, 45, 51, 56, 58,
++      1, 4, 8, 11, 19, 22, 34, 36,
++      28, 42, 43, 53, 54, 60, 61, 63,
++      6, 13, 17, 24, 32, 38, 47, 49
++};
++
++void idct(in, out, quant, off, max)
++int *in;
++int *out;
++PREC *quant;
++PREC off;
++int max;
++{
++      PREC t0, t1, t2, t3, t4, t5, t6, t7, t;
++      PREC tmp[64], *tmpp;
++      int i, j;
++      unsigned char *zig2p;
++
++      t0 = off;
++      if (max == 1) {
++              t0 += in[0] * quant[0];
++              for (i = 0; i < 64; i++)
++                      out[i] = ITOINT(t0);
++              return;
++      }
++      zig2p = zig2;
++      tmpp = tmp;
++      for (i = 0; i < 8; i++) {
++              j = *zig2p++;
++              t0 += in[j] * quant[j];
++              j = *zig2p++;
++              t5 = in[j] * quant[j];
++              j = *zig2p++;
++              t2 = in[j] * quant[j];
++              j = *zig2p++;
++              t7 = in[j] * quant[j];
++              j = *zig2p++;
++              t1 = in[j] * quant[j];
++              j = *zig2p++;
++              t4 = in[j] * quant[j];
++              j = *zig2p++;
++              t3 = in[j] * quant[j];
++              j = *zig2p++;
++              t6 = in[j] * quant[j];
++              IDCT;
++              tmpp[0 * 8] = t0;
++              tmpp[1 * 8] = t1;
++              tmpp[2 * 8] = t2;
++              tmpp[3 * 8] = t3;
++              tmpp[4 * 8] = t4;
++              tmpp[5 * 8] = t5;
++              tmpp[6 * 8] = t6;
++              tmpp[7 * 8] = t7;
++              tmpp++;
++              t0 = 0;
++      }
++      for (i = 0; i < 8; i++) {
++              t0 = tmp[8 * i + 0];
++              t1 = tmp[8 * i + 1];
++              t2 = tmp[8 * i + 2];
++              t3 = tmp[8 * i + 3];
++              t4 = tmp[8 * i + 4];
++              t5 = tmp[8 * i + 5];
++              t6 = tmp[8 * i + 6];
++              t7 = tmp[8 * i + 7];
++              IDCT;
++              out[8 * i + 0] = ITOINT(t0);
++              out[8 * i + 1] = ITOINT(t1);
++              out[8 * i + 2] = ITOINT(t2);
++              out[8 * i + 3] = ITOINT(t3);
++              out[8 * i + 4] = ITOINT(t4);
++              out[8 * i + 5] = ITOINT(t5);
++              out[8 * i + 6] = ITOINT(t6);
++              out[8 * i + 7] = ITOINT(t7);
++      }
++}
++
++static unsigned char zig[64] = {
++      0, 1, 5, 6, 14, 15, 27, 28,
++      2, 4, 7, 13, 16, 26, 29, 42,
++      3, 8, 12, 17, 25, 30, 41, 43,
++      9, 11, 18, 24, 31, 40, 44, 53,
++      10, 19, 23, 32, 39, 45, 52, 54,
++      20, 22, 33, 38, 46, 51, 55, 60,
++      21, 34, 37, 47, 50, 56, 59, 61,
++      35, 36, 48, 49, 57, 58, 62, 63
++};
++
++static PREC aaidct[8] = {
++      IFIX(0.3535533906), IFIX(0.4903926402),
++      IFIX(0.4619397663), IFIX(0.4157348062),
++      IFIX(0.3535533906), IFIX(0.2777851165),
++      IFIX(0.1913417162), IFIX(0.0975451610)
++};
++
++
++static void idctqtab(qin, qout)
++unsigned char *qin;
++PREC *qout;
++{
++      int i, j;
++
++      for (i = 0; i < 8; i++)
++              for (j = 0; j < 8; j++)
++                      qout[zig[i * 8 + j]] = qin[zig[i * 8 + j]] *
++                                              IMULT(aaidct[i], aaidct[j]);
++}
++
++static void scaleidctqtab(q, sc)
++PREC *q;
++PREC sc;
++{
++      int i;
++
++      for (i = 0; i < 64; i++)
++              q[i] = IMULT(q[i], sc);
++}
++
++/****************************************************************/
++/**************          color decoder            ***************/
++/****************************************************************/
++
++#define ROUND
++
++/*
++ * YCbCr Color transformation:
++ *
++ * y:0..255   Cb:-128..127   Cr:-128..127
++ *
++ *      R = Y                + 1.40200 * Cr
++ *      G = Y - 0.34414 * Cb - 0.71414 * Cr
++ *      B = Y + 1.77200 * Cb
++ *
++ * =>
++ *      Cr *= 1.40200;
++ *      Cb *= 1.77200;
++ *      Cg = 0.19421 * Cb + .50937 * Cr;
++ *      R = Y + Cr;
++ *      G = Y - Cg;
++ *      B = Y + Cb;
++ *
++ * =>
++ *      Cg = (50 * Cb + 130 * Cr + 128) >> 8;
++ */
++
++static void initcol(q)
++PREC q[][64];
++{
++      scaleidctqtab(q[1], IFIX(1.77200));
++      scaleidctqtab(q[2], IFIX(1.40200));
++}
++
++/* This is optimized for the stupid sun SUNWspro compiler. */
++#define STORECLAMP(a,x)                               \
++(                                             \
++  (a) = (x),                                  \
++  (unsigned int)(x) >= 256 ?                  \
++    ((a) = (x) < 0 ? 0 : 255)                 \
++  :                                           \
++    0                                         \
++)
++
++#define CLAMP(x) ((unsigned int)(x) >= 256 ? ((x) < 0 ? 0 : 255) : (x))
++
++#ifdef ROUND
++
++#define CBCRCG(yin, xin)                      \
++(                                             \
++  cb = outc[0 +yin*8+xin],                    \
++  cr = outc[64+yin*8+xin],                    \
++  cg = (50 * cb + 130 * cr + 128) >> 8                \
++)
++
++#else
++
++#define CBCRCG(yin, xin)                      \
++(                                             \
++  cb = outc[0 +yin*8+xin],                    \
++  cr = outc[64+yin*8+xin],                    \
++  cg = (3 * cb + 8 * cr) >> 4                 \
++)
++
++#endif
++
++#define PIC(yin, xin, p, xout)                        \
++(                                             \
++  y = outy[(yin) * 8 + xin],                  \
++  STORECLAMP(p[(xout) * 3 + 0], y + cr),      \
++  STORECLAMP(p[(xout) * 3 + 1], y - cg),      \
++  STORECLAMP(p[(xout) * 3 + 2], y + cb)               \
++)
++
++#ifdef __LITTLE_ENDIAN
++#define PIC_16(yin, xin, p, xout, add)                 \
++(                                                \
++  y = outy[(yin) * 8 + xin],                     \
++  y = ((CLAMP(y + cr + add*2+1) & 0xf8) <<  8) | \
++      ((CLAMP(y - cg + add    ) & 0xfc) <<  3) | \
++      ((CLAMP(y + cb + add*2+1)       ) >>  3),  \
++  p[(xout) * 2 + 0] = y & 0xff,                  \
++  p[(xout) * 2 + 1] = y >> 8                     \
++)
++#else
++#ifdef CONFIG_PPC
++#define PIC_16(yin, xin, p, xout, add)                 \
++(                                                \
++  y = outy[(yin) * 8 + xin],                     \
++  y = ((CLAMP(y + cr + add*2+1) & 0xf8) <<  7) | \
++      ((CLAMP(y - cg + add*2+1) & 0xf8) <<  2) | \
++      ((CLAMP(y + cb + add*2+1)       ) >>  3),  \
++  p[(xout) * 2 + 0] = y >> 8,                    \
++  p[(xout) * 2 + 1] = y & 0xff                   \
++)
++#else
++#define PIC_16(yin, xin, p, xout, add)                 \
++(                                                \
++  y = outy[(yin) * 8 + xin],                     \
++  y = ((CLAMP(y + cr + add*2+1) & 0xf8) <<  8) | \
++      ((CLAMP(y - cg + add    ) & 0xfc) <<  3) | \
++      ((CLAMP(y + cb + add*2+1)       ) >>  3),  \
++  p[(xout) * 2 + 0] = y >> 8,                    \
++  p[(xout) * 2 + 1] = y & 0xff                   \
++)
++#endif
++#endif
++
++#define PIC221111(xin)                                                \
++(                                                             \
++  CBCRCG(0, xin),                                             \
++  PIC(xin / 4 * 8 + 0, (xin & 3) * 2 + 0, pic0, xin * 2 + 0), \
++  PIC(xin / 4 * 8 + 0, (xin & 3) * 2 + 1, pic0, xin * 2 + 1), \
++  PIC(xin / 4 * 8 + 1, (xin & 3) * 2 + 0, pic1, xin * 2 + 0), \
++  PIC(xin / 4 * 8 + 1, (xin & 3) * 2 + 1, pic1, xin * 2 + 1)  \
++)
++
++#define PIC221111_16(xin)                                               \
++(                                                                     \
++  CBCRCG(0, xin),                                                     \
++  PIC_16(xin / 4 * 8 + 0, (xin & 3) * 2 + 0, pic0, xin * 2 + 0, 3),     \
++  PIC_16(xin / 4 * 8 + 0, (xin & 3) * 2 + 1, pic0, xin * 2 + 1, 0),     \
++  PIC_16(xin / 4 * 8 + 1, (xin & 3) * 2 + 0, pic1, xin * 2 + 0, 1),     \
++  PIC_16(xin / 4 * 8 + 1, (xin & 3) * 2 + 1, pic1, xin * 2 + 1, 2)      \
++)
++
++static void col221111(out, pic, width)
++int *out;
++unsigned char *pic;
++int width;
++{
++      int i, j, k;
++      unsigned char *pic0, *pic1;
++      int *outy, *outc;
++      int cr, cg, cb, y;
++
++      pic0 = pic;
++      pic1 = pic + width;
++      outy = out;
++      outc = out + 64 * 4;
++      for (i = 2; i > 0; i--) {
++              for (j = 4; j > 0; j--) {
++                      for (k = 0; k < 8; k++) {
++                              PIC221111(k);
++                      }
++                      outc += 8;
++                      outy += 16;
++                      pic0 += 2 * width;
++                      pic1 += 2 * width;
++              }
++              outy += 64 * 2 - 16 * 4;
++      }
++}
++
++static void col221111_16(out, pic, width)
++int *out;
++unsigned char *pic;
++int width;
++{
++      int i, j, k;
++      unsigned char *pic0, *pic1;
++      int *outy, *outc;
++      int cr, cg, cb, y;
++
++      pic0 = pic;
++      pic1 = pic + width;
++      outy = out;
++      outc = out + 64 * 4;
++      for (i = 2; i > 0; i--) {
++              for (j = 4; j > 0; j--) {
++                      for (k = 0; k < 8; k++) {
++                          PIC221111_16(k);
++                      }
++                      outc += 8;
++                      outy += 16;
++                      pic0 += 2 * width;
++                      pic1 += 2 * width;
++              }
++              outy += 64 * 2 - 16 * 4;
++      }
++}
+diff -ruN linux-2.6.32.old//drivers/video/bootsplash/decode-jpg.h linux-2.6.32/drivers/video/bootsplash/decode-jpg.h
+--- linux-2.6.32.old//drivers/video/bootsplash/decode-jpg.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/drivers/video/bootsplash/decode-jpg.h 2011-06-22 13:30:41.000000000 +0200
+@@ -0,0 +1,35 @@
++/*
++ *    linux/drivers/video/bootsplash/decode-jpg.h - a tiny jpeg decoder.
++ *
++ *      (w) August 2001 by Michael Schroeder, <mls@suse.de>
++ */
++
++#ifndef __DECODE_JPG_H
++#define __DECODE_JPG_H
++
++#define ERR_NO_SOI 1
++#define ERR_NOT_8BIT 2
++#define ERR_HEIGHT_MISMATCH 3
++#define ERR_WIDTH_MISMATCH 4
++#define ERR_BAD_WIDTH_OR_HEIGHT 5
++#define ERR_TOO_MANY_COMPPS 6
++#define ERR_ILLEGAL_HV 7
++#define ERR_QUANT_TABLE_SELECTOR 8
++#define ERR_NOT_YCBCR_221111 9
++#define ERR_UNKNOWN_CID_IN_SCAN 10
++#define ERR_NOT_SEQUENTIAL_DCT 11
++#define ERR_WRONG_MARKER 12
++#define ERR_NO_EOI 13
++#define ERR_BAD_TABLES 14
++#define ERR_DEPTH_MISMATCH 15
++
++struct jpeg_decdata {
++      int dcts[6 * 64 + 16];
++      int out[64 * 6];
++      int dquant[3][64];
++};
++
++extern int jpeg_decode(unsigned char *, unsigned char *, int, int, int, struct jpeg_decdata *);
++extern int jpeg_check_size(unsigned char *, int, int);
++
++#endif
+diff -ruN linux-2.6.32.old//drivers/video/bootsplash/Kconfig linux-2.6.32/drivers/video/bootsplash/Kconfig
+--- linux-2.6.32.old//drivers/video/bootsplash/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/drivers/video/bootsplash/Kconfig      2011-06-22 13:30:41.000000000 +0200
+@@ -0,0 +1,17 @@
++#
++# Bootsplash configuration
++#
++
++menu "Bootsplash configuration"
++
++config BOOTSPLASH
++      bool "Bootup splash screen"
++      depends on FRAMEBUFFER_CONSOLE
++      default n
++        ---help---
++          This option enables the Linux bootsplash screen. For more
++          information on the bootsplash screen have a look at
++          http://www.bootsplash.org/.
++          If you are unsure, say N
++endmenu
++
+diff -ruN linux-2.6.32.old//drivers/video/bootsplash/Makefile linux-2.6.32/drivers/video/bootsplash/Makefile
+--- linux-2.6.32.old//drivers/video/bootsplash/Makefile        1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/drivers/video/bootsplash/Makefile     2011-06-22 13:30:41.000000000 +0200
+@@ -0,0 +1,5 @@
++# Makefile for the Linux bootsplash
++
++obj-$(CONFIG_BOOTSPLASH)              += bootsplash.o
++obj-$(CONFIG_BOOTSPLASH)              += decode-jpg.o
++obj-$(CONFIG_BOOTSPLASH)              += render.o
+diff -ruN linux-2.6.32.old//drivers/video/bootsplash/render.c linux-2.6.32/drivers/video/bootsplash/render.c
+--- linux-2.6.32.old//drivers/video/bootsplash/render.c        1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/drivers/video/bootsplash/render.c     2011-06-22 13:30:41.000000000 +0200
+@@ -0,0 +1,315 @@
++/*
++ *    linux/drivers/video/bootsplash/render.c - splash screen render functions.
++ */
++
++#include <linux/module.h>
++#include <linux/types.h>
++#include <linux/fb.h>
++#include <linux/vt_kern.h>
++#include <asm/irq.h>
++#include <asm/system.h>
++
++#include "../console/fbcon.h"
++#include "bootsplash.h"
++
++void splash_putcs(struct splash_data *sd, struct vc_data *vc, struct fb_info *info,
++                      const unsigned short *s, int count, int ypos, int xpos)
++{
++      unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
++      int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
++      int fgshift = (vc->vc_hi_font_mask) ? 9 : 8;
++      u8 *src;
++        u8 *dst, *splashsrc;
++      unsigned int d, x, y;
++      u32 dd, fgx, bgx;
++      u16 c = scr_readw(s);
++
++      int fg_color, bg_color, transparent;
++        fg_color = attr_fgcol(fgshift, c);
++        bg_color = attr_bgcol(bgshift, c);
++      transparent = sd->splash_color == bg_color;
++      xpos = xpos * vc->vc_font.width + sd->splash_text_xo;
++      ypos = ypos * vc->vc_font.height + sd->splash_text_yo;
++        splashsrc = (u8 *)(info->splash_pic + ypos * info->splash_bytes + xpos * 2);
++        dst = (u8 *)(info->screen_base + ypos * info->fix.line_length + xpos * 2);
++
++      fgx = ((u32 *)info->pseudo_palette)[fg_color];
++      if (transparent && sd->splash_color == 15) {
++          if (fgx == 0xffea)
++              fgx = 0xfe4a;
++          else if (fgx == 0x57ea)
++              fgx = 0x0540;
++          else if (fgx == 0xffff)
++              fgx = 0x52aa;
++      }
++      bgx = ((u32 *)info->pseudo_palette)[bg_color];
++      d = 0;
++
++      while (count--) {
++          c = scr_readw(s++);
++          src = vc->vc_font.data + (c & charmask) * vc->vc_font.height * ((vc->vc_font.width + 7) >> 3);
++
++          for (y = 0; y < vc->vc_font.height; y++) {
++              for (x = 0; x < vc->vc_font.width; x += 2) {
++                  if ((x & 7) == 0)
++                      d = *src++;
++                  if (d & 0x80)
++                      dd = fgx;
++                  else
++                      dd = transparent ? *(u16 *)splashsrc : bgx;
++                  splashsrc += 2;
++                  if (d & 0x40)
++                      dd |= fgx << 16;
++                  else
++                      dd |= (transparent ? *(u16 *)splashsrc : bgx) << 16;
++                  splashsrc += 2;
++                  d <<= 2;
++                  fb_writel(dd, dst);
++                  dst += 4;
++              }
++              dst += info->fix.line_length - vc->vc_font.width * 2;
++              splashsrc += info->splash_bytes - vc->vc_font.width * 2;
++          }
++          dst -= info->fix.line_length * vc->vc_font.height - vc->vc_font.width * 2;
++          splashsrc -= info->splash_bytes * vc->vc_font.height - vc->vc_font.width * 2;
++      }
++}
++
++static void splash_renderc(struct splash_data *sd, struct fb_info *info, int fg_color, int bg_color, u8 *src, int ypos, int xpos, int height, int width)
++{
++      int transparent = sd->splash_color == bg_color;
++      u32 dd, fgx, bgx;
++      u8 *dst, *splashsrc;
++      unsigned int d, x, y;
++
++      splashsrc = (u8 *)(info->splash_pic + ypos * info->splash_bytes + xpos * 2);
++      dst = (u8 *)(info->screen_base + ypos * info->fix.line_length + xpos * 2);
++      fgx = ((u32 *)info->pseudo_palette)[fg_color];
++      if (transparent && sd->splash_color == 15) {
++          if (fgx == 0xffea)
++              fgx = 0xfe4a;
++          else if (fgx == 0x57ea)
++              fgx = 0x0540;
++          else if (fgx == 0xffff)
++              fgx = 0x52aa;
++      }
++      bgx = ((u32 *)info->pseudo_palette)[bg_color];
++      d = 0;
++      for (y = 0; y < height; y++) {
++          for (x = 0; x < width; x += 2) {
++              if ((x & 7) == 0)
++                  d = *src++;
++              if (d & 0x80)
++                  dd = fgx;
++              else
++                  dd = transparent ? *(u16 *)splashsrc : bgx;
++              splashsrc += 2;
++              if (d & 0x40)
++                  dd |= fgx << 16;
++              else
++                  dd |= (transparent ? *(u16 *)splashsrc : bgx) << 16;
++              splashsrc += 2;
++              d <<= 2;
++              fb_writel(dd, dst);
++              dst += 4;
++          }
++          dst += info->fix.line_length - width * 2;
++          splashsrc += info->splash_bytes - width * 2;
++      }
++}
++
++void splash_putc(struct splash_data *sd, struct vc_data *vc, struct fb_info *info,
++                      int c, int ypos, int xpos)
++{
++      unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
++      int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
++      int fgshift = (vc->vc_hi_font_mask) ? 9 : 8;
++      u8 *src = vc->vc_font.data + (c & charmask) * vc->vc_font.height * ((vc->vc_font.width + 7) >> 3);
++      xpos = xpos * vc->vc_font.width + sd->splash_text_xo;
++      ypos = ypos * vc->vc_font.height + sd->splash_text_yo;
++      splash_renderc(sd, info, attr_fgcol(fgshift, c), attr_bgcol(bgshift, c), src, ypos, xpos, vc->vc_font.height, vc->vc_font.width);
++}
++
++void splashcopy(u8 *dst, u8 *src, int height, int width, int dstbytes, int srcbytes)
++{
++      int i;
++
++      while (height-- > 0) {
++          u32 *p = (u32 *)dst;
++          u32 *q = (u32 *)src;
++          for (i=0; i < width/4; i++) {
++              fb_writel(*q++,p++);
++              fb_writel(*q++,p++);
++          }
++          if (width & 2)
++              fb_writel(*q++,p++);
++          if (width & 1)
++              fb_writew(*(u16*)q,(u16*)p);
++          dst += dstbytes;
++          src += srcbytes;
++      }
++}
++
++static void splashset(u8 *dst, int height, int width, int dstbytes, u32 bgx) {
++      int i;
++
++      bgx |= bgx << 16;
++      while (height-- > 0) {
++          u32 *p = (u32 *)dst;
++          for (i=0; i < width/4; i++) {
++              fb_writel(bgx,p++);
++              fb_writel(bgx,p++);
++          }
++          if (width & 2)
++              fb_writel(bgx,p++);
++          if (width & 1)
++              fb_writew(bgx,(u16*)p);
++          dst += dstbytes;
++      }
++}
++
++static void splashfill(struct fb_info *info, int sy, int sx, int height, int width) {
++      splashcopy((u8 *)(info->screen_base + sy * info->fix.line_length + sx * 2), (u8 *)(info->splash_pic + sy * info->splash_bytes + sx * 2), height, width, info->fix.line_length, info->splash_bytes);
++}
++
++void splash_clear(struct splash_data *sd, struct vc_data *vc, struct fb_info *info, int sy,
++                      int sx, int height, int width)
++{
++      int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
++      int bg_color = attr_bgcol_ec(bgshift, vc, info);
++      int transparent = sd->splash_color == bg_color;
++      u32 bgx;
++      u8 *dst;
++
++      sy = sy * vc->vc_font.height + sd->splash_text_yo;
++      sx = sx * vc->vc_font.width + sd->splash_text_xo;
++      height *= vc->vc_font.height;
++      width *= vc->vc_font.width;
++      if (transparent) {
++              splashfill(info, sy, sx, height, width);
++              return;
++      }
++        dst = (u8 *)(info->screen_base + sy * info->fix.line_length + sx * 2);
++      bgx = ((u32 *)info->pseudo_palette)[bg_color];
++      splashset(dst, height, width, info->fix.line_length, bgx);
++}
++
++void splash_bmove(struct splash_data *sd, struct vc_data *vc, struct fb_info *info, int sy,
++              int sx, int dy, int dx, int height, int width)
++{
++      struct fb_copyarea area;
++
++      area.sx = sx * vc->vc_font.width;
++      area.sy = sy * vc->vc_font.height;
++      area.dx = dx * vc->vc_font.width;
++      area.dy = dy * vc->vc_font.height;
++      area.sx += sd->splash_text_xo;
++      area.sy += sd->splash_text_yo;
++      area.dx += sd->splash_text_xo;
++      area.dy += sd->splash_text_yo;
++      area.height = height * vc->vc_font.height;
++      area.width = width * vc->vc_font.width;
++
++      info->fbops->fb_copyarea(info, &area);
++}
++
++void splash_clear_margins(struct splash_data *sd, struct vc_data *vc, struct fb_info *info,
++                              int bottom_only)
++{
++      unsigned int tw = vc->vc_cols*vc->vc_font.width;
++      unsigned int th = vc->vc_rows*vc->vc_font.height;
++
++      if (!bottom_only) {
++              /* top margin */
++              splashfill(info, 0, 0, sd->splash_text_yo, info->var.xres);
++              /* left margin */
++              splashfill(info, sd->splash_text_yo, 0, th, sd->splash_text_xo);
++              /* right margin */
++              splashfill(info, sd->splash_text_yo, sd->splash_text_xo + tw, th, info->var.xres - sd->splash_text_xo - tw);
++
++      }
++      splashfill(info, sd->splash_text_yo + th, 0, info->var.yres - sd->splash_text_yo - th, info->var.xres);
++}
++
++int splash_cursor(struct splash_data *sd, struct fb_info *info, struct fb_cursor *cursor)
++{
++      int i;
++      unsigned int dsize, s_pitch;
++
++      if (info->state != FBINFO_STATE_RUNNING)
++              return 0;
++
++      s_pitch = (cursor->image.width + 7) >> 3;
++        dsize = s_pitch * cursor->image.height;
++        if (cursor->enable) {
++                switch (cursor->rop) {
++                case ROP_XOR:
++                        for (i = 0; i < dsize; i++)
++                                info->fb_cursordata[i] = cursor->image.data[i] ^ cursor->mask[i];
++                        break;
++                case ROP_COPY:
++                default:
++                        for (i = 0; i < dsize; i++)
++                                info->fb_cursordata[i] = cursor->image.data[i] & cursor->mask[i];
++                        break;
++                }
++        } else if (info->fb_cursordata != cursor->image.data)
++                memcpy(info->fb_cursordata, cursor->image.data, dsize);
++      cursor->image.data = info->fb_cursordata;
++      splash_renderc(sd, info, cursor->image.fg_color, cursor->image.bg_color, (u8 *)info->fb_cursordata, cursor->image.dy + sd->splash_text_yo, cursor->image.dx + sd->splash_text_xo, cursor->image.height, cursor->image.width);
++      return 0;
++}
++
++void splash_bmove_redraw(struct splash_data *sd, struct vc_data *vc, struct fb_info *info, int y, int sx, int dx, int width)
++{
++      unsigned short *d = (unsigned short *) (vc->vc_origin + vc->vc_size_row * y + dx * 2);
++      unsigned short *s = d + (dx - sx);
++      unsigned short *start = d;
++      unsigned short *ls = d;
++      unsigned short *le = d + width;
++      unsigned short c;
++      int x = dx;
++      unsigned short attr = 1;
++
++      do {
++              c = scr_readw(d);
++              if (attr != (c & 0xff00)) {
++                      attr = c & 0xff00;
++                      if (d > start) {
++                              splash_putcs(sd, vc, info, start, d - start, y, x);
++                              x += d - start;
++                              start = d;
++                      }
++              }
++              if (s >= ls && s < le && c == scr_readw(s)) {
++                      if (d > start) {
++                              splash_putcs(sd, vc, info, start, d - start, y, x);
++                              x += d - start + 1;
++                              start = d + 1;
++                      } else {
++                              x++;
++                              start++;
++                      }
++              }
++              s++;
++              d++;
++      } while (d < le);
++      if (d > start)
++              splash_putcs(sd, vc, info, start, d - start, y, x);
++}
++
++void splash_blank(struct splash_data *sd, struct vc_data *vc, struct fb_info *info, int blank)
++{
++      if (blank) {
++              if (info->silent_screen_base)
++                  splashset((u8 *)info->silent_screen_base, info->var.yres, info->var.xres, info->fix.line_length, 0);
++              splashset((u8 *)info->screen_base, info->var.yres, info->var.xres, info->fix.line_length, 0);
++      } else {
++              if (info->silent_screen_base)
++                      splash_prepare(vc, info);
++              splash_clear_margins(vc->vc_splash_data, vc, info, 0);
++              /* no longer needed, done in fbcon_blank */
++              /* update_screen(vc->vc_num); */
++      }
++}
++
+diff -ruN linux-2.6.32.old//drivers/video/console/bitblit.c linux-2.6.32/drivers/video/console/bitblit.c
+--- linux-2.6.32.old//drivers/video/console/bitblit.c  2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/drivers/video/console/bitblit.c       2011-06-22 13:30:41.000000000 +0200
+@@ -17,6 +17,9 @@
+ #include <linux/console.h>
+ #include <asm/types.h>
+ #include "fbcon.h"
++#ifdef CONFIG_BOOTSPLASH
++#include "../bootsplash/bootsplash.h"
++#endif
+ /*
+  * Accelerated handlers.
+@@ -47,6 +50,13 @@
+ {
+       struct fb_copyarea area;
++#ifdef CONFIG_BOOTSPLASH
++      if (info->splash_data) {
++              splash_bmove(info->splash_data, vc, info,
++                      sy, sx, dy, dx, height, width);
++              return;
++      }
++#endif
+       area.sx = sx * vc->vc_font.width;
+       area.sy = sy * vc->vc_font.height;
+       area.dx = dx * vc->vc_font.width;
+@@ -63,6 +73,13 @@
+       int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
+       struct fb_fillrect region;
++#ifdef CONFIG_BOOTSPLASH
++      if (info->splash_data) {
++              splash_clear(info->splash_data, vc, info,
++                                              sy, sx, height, width);
++              return;
++      }
++#endif
+       region.color = attr_bgcol_ec(bgshift, vc, info);
+       region.dx = sx * vc->vc_font.width;
+       region.dy = sy * vc->vc_font.height;
+@@ -160,6 +177,13 @@
+       image.height = vc->vc_font.height;
+       image.depth = 1;
++#ifdef CONFIG_BOOTSPLASH
++      if (info->splash_data) {
++              splash_putcs(info->splash_data, vc, info, s, count, yy, xx);
++              return;
++      }
++#endif
++
+       if (attribute) {
+               buf = kmalloc(cellsize, GFP_KERNEL);
+               if (!buf)
+@@ -213,6 +237,13 @@
+       unsigned int bs = info->var.yres - bh;
+       struct fb_fillrect region;
++#ifdef CONFIG_BOOTSPLASH
++      if (info->splash_data) {
++              splash_clear_margins(info->splash_data, vc, info, bottom_only);
++              return;
++      }
++#endif
++
+       region.color = attr_bgcol_ec(bgshift, vc, info);
+       region.rop = ROP_COPY;
+@@ -379,6 +410,14 @@
+       cursor.image.depth = 1;
+       cursor.rop = ROP_XOR;
++#ifdef CONFIG_BOOTSPLASH
++      if (info->splash_data) {
++              splash_cursor(info->splash_data, info, &cursor);
++              ops->cursor_reset = 0;
++              return;
++      }
++#endif
++
+       if (info->fbops->fb_cursor)
+               err = info->fbops->fb_cursor(info, &cursor);
+diff -ruN linux-2.6.32.old//drivers/video/console/fbcon.c linux-2.6.32/drivers/video/console/fbcon.c
+--- linux-2.6.32.old//drivers/video/console/fbcon.c    2011-05-10 20:38:07.000000000 +0200
++++ linux-2.6.32/drivers/video/console/fbcon.c 2011-06-22 13:30:41.000000000 +0200
+@@ -81,6 +81,10 @@
+ #include "fbcon.h"
++#ifdef CONFIG_BOOTSPLASH
++#include "../bootsplash/bootsplash.h"
++#endif
++
+ #ifdef FBCONDEBUG
+ #  define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __func__ , ## args)
+ #else
+@@ -94,8 +98,7 @@
+ };
+ static struct display fb_display[MAX_NR_CONSOLES];
+-
+-static signed char con2fb_map[MAX_NR_CONSOLES];
++signed char con2fb_map[MAX_NR_CONSOLES];
+ static signed char con2fb_map_boot[MAX_NR_CONSOLES];
+ static int logo_lines;
+@@ -538,6 +541,10 @@
+       for (i = first_fb_vc; i <= last_fb_vc; i++)
+               con2fb_map[i] = info_idx;
++#ifdef CONFIG_BOOTSPLASH
++      splash_init();
++#endif
++
+       err = take_over_console(&fb_con, first_fb_vc, last_fb_vc,
+                               fbcon_is_default);
+@@ -1103,6 +1110,16 @@
+       new_cols /= vc->vc_font.width;
+       new_rows /= vc->vc_font.height;
++#ifdef CONFIG_BOOTSPLASH
++      if (vc->vc_splash_data && vc->vc_splash_data->splash_state) {
++              new_cols = vc->vc_splash_data->splash_text_wi / vc->vc_font.width;
++              new_rows = vc->vc_splash_data->splash_text_he / vc->vc_font.height;
++              logo = 0;
++              con_remap_def_color(vc, vc->vc_splash_data->splash_color << 4 | vc->vc_splash_data->splash_fg_color);
++      /*      vc_resize(vc, new_cols, new_rows); */
++      }
++#endif
++
+       /*
+        * We must always set the mode. The mode of the previous console
+        * driver could be in the same resolution but we are using different
+@@ -1804,6 +1821,10 @@
+                       fbcon_softback_note(vc, t, count);
+               if (logo_shown >= 0)
+                       goto redraw_up;
++#ifdef CONFIG_BOOTSPLASH
++              if (info->splash_data)
++                      goto redraw_up;
++#endif
+               switch (p->scrollmode) {
+               case SCROLL_MOVE:
+                       fbcon_redraw_blit(vc, info, p, t, b - t - count,
+@@ -1893,6 +1914,10 @@
+       case SM_DOWN:
+               if (count > vc->vc_rows)        /* Maximum realistic size */
+                       count = vc->vc_rows;
++#ifdef CONFIG_BOOTSPLASH
++              if (info->splash_data)
++                      goto redraw_down;
++#endif
+               if (logo_shown >= 0)
+                       goto redraw_down;
+               switch (p->scrollmode) {
+@@ -2043,6 +2068,14 @@
+               }
+               return;
+       }
++
++#ifdef CONFIG_BOOTSPLASH
++      if (info->splash_data && sy == dy && height == 1) {
++              /* must use slower redraw bmove to keep background pic intact */
++              splash_bmove_redraw(info->splash_data, vc, info, sy, sx, dx, width);
++              return;
++      }
++#endif
+       ops->bmove(vc, info, real_y(p, sy), sx, real_y(p, dy), dx,
+                  height, width);
+ }
+@@ -2151,6 +2184,10 @@
+       info = registered_fb[con2fb_map[vc->vc_num]];
+       ops = info->fbcon_par;
++#ifdef CONFIG_BOOTSPLASH
++      splash_prepare(vc, info);
++#endif
++
+       if (softback_top) {
+               if (softback_lines)
+                       fbcon_set_origin(vc);
+@@ -2284,6 +2321,12 @@
+ {
+       struct fb_event event;
++#ifdef CONFIG_BOOTSPLASH
++      if (info->splash_data) {
++              splash_blank(info->splash_data, vc, info, blank);
++              return;
++      }
++#endif
+       if (blank) {
+               unsigned short charmask = vc->vc_hi_font_mask ?
+                       0x1ff : 0xff;
+@@ -2483,10 +2526,19 @@
+       if (resize) {
+               int cols, rows;
++              u32 xres = info->var.xres, yres = info->var.yres;
+               cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres);
+               rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres);
+               cols /= w;
+               rows /= h;
++
++#ifdef CONFIG_BOOTSPLASH
++              if (info->splash_data) {
++                      xres = info->splash_data->splash_text_wi;
++                      yres = info->splash_data->splash_text_he;
++              }
++#endif
++
+               vc_resize(vc, cols, rows);
+               if (CON_IS_VISIBLE(vc) && softback_buf)
+                       fbcon_update_softback(vc);
+diff -ruN linux-2.6.32.old//drivers/video/console/fbcon.h linux-2.6.32/drivers/video/console/fbcon.h
+--- linux-2.6.32.old//drivers/video/console/fbcon.h    2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/drivers/video/console/fbcon.h 2011-06-22 13:30:41.000000000 +0200
+@@ -25,6 +25,34 @@
+     *    low-level frame buffer device
+     */
++#ifdef CONFIG_BOOTSPLASH
++struct splash_data {
++    int splash_state;                 /* show splash? */
++    int splash_color;                 /* transparent color */
++    int splash_fg_color;              /* foreground color */
++    int splash_width;                 /* width of image */
++    int splash_height;                        /* height of image */
++    int splash_text_xo;                       /* text area origin */
++    int splash_text_yo;
++    int splash_text_wi;                       /* text area size */
++    int splash_text_he;
++    int splash_showtext;              /* silent/verbose mode */
++    int splash_boxcount;
++    int splash_percent;
++    int splash_overpaintok;           /* is it ok to overpaint boxes */
++    int splash_palcnt;
++    char *oldscreen_base;             /* pointer to top of virtual screen */
++    unsigned char *splash_boxes;
++    unsigned char *splash_jpeg;               /* jpeg */
++    unsigned char *splash_palette;    /* palette for 8-bit */
++
++    int splash_dosilent;              /* show silent jpeg */
++    unsigned char *splash_silentjpeg;
++    unsigned char *splash_sboxes;
++    int splash_sboxcount;
++};
++#endif
++
+ struct display {
+     /* Filled in by the low-level console driver */
+     const u_char *fontdata;
+diff -ruN linux-2.6.32.old//drivers/video/Kconfig linux-2.6.32/drivers/video/Kconfig
+--- linux-2.6.32.old//drivers/video/Kconfig    2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/drivers/video/Kconfig 2011-06-22 13:30:41.000000000 +0200
+@@ -2173,4 +2173,8 @@
+       source "drivers/video/logo/Kconfig"
+ endif
++if FB
++      source "drivers/video/bootsplash/Kconfig"
++endif
++
+ endmenu
+diff -ruN linux-2.6.32.old//drivers/video/Makefile linux-2.6.32/drivers/video/Makefile
+--- linux-2.6.32.old//drivers/video/Makefile   2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/drivers/video/Makefile        2011-06-22 13:30:41.000000000 +0200
+@@ -14,6 +14,7 @@
+ obj-$(CONFIG_VT)                += console/
+ obj-$(CONFIG_LOGO)              += logo/
+ obj-y                           += backlight/ display/
++obj-$(CONFIG_BOOTSPLASH)        += bootsplash/
+ obj-$(CONFIG_FB_CFB_FILLRECT)  += cfbfillrect.o
+ obj-$(CONFIG_FB_CFB_COPYAREA)  += cfbcopyarea.o
+diff -ruN linux-2.6.32.old//drivers/video/vesafb.c linux-2.6.32/drivers/video/vesafb.c
+--- linux-2.6.32.old//drivers/video/vesafb.c   2011-05-10 20:38:07.000000000 +0200
++++ linux-2.6.32/drivers/video/vesafb.c        2011-06-22 13:30:41.000000000 +0200
+@@ -182,7 +182,10 @@
+       framebuffer_release(info);
+ }
+-static struct fb_ops vesafb_ops = {
++#ifndef CONFIG_BOOTSPLASH
++static
++#endif
++struct fb_ops vesafb_ops = {
+       .owner          = THIS_MODULE,
+       .fb_destroy     = vesafb_destroy,
+       .fb_setcolreg   = vesafb_setcolreg,
+@@ -267,6 +270,11 @@
+        *                 option to simply use size_total as that
+        *                 wastes plenty of kernel address space. */
+       size_remap  = size_vmode * 2;
++
++#ifdef CONFIG_BOOTSPLASH
++      size_remap *= 2;        /* some more for the images */
++#endif
++
+       if (vram_remap)
+               size_remap = vram_remap * 1024 * 1024;
+       if (size_remap < size_vmode)
+diff -ruN linux-2.6.32.old//include/linux/console_struct.h linux-2.6.32/include/linux/console_struct.h
+--- linux-2.6.32.old//include/linux/console_struct.h   2011-05-10 20:37:43.000000000 +0200
++++ linux-2.6.32/include/linux/console_struct.h        2011-06-22 13:32:46.000000000 +0200
+@@ -106,6 +106,11 @@
+       unsigned long   vc_uni_pagedir;
+       unsigned long   *vc_uni_pagedir_loc;  /* [!] Location of uni_pagedir variable for this console */
+       bool vc_panic_force_write; /* when oops/panic this VC can accept forced output/blanking */
++
++#ifdef CONFIG_BOOTSPLASH
++        struct splash_data *vc_splash_data;
++#endif
++
+       /* additional information is in vt_kern.h */
+ };
+diff -ruN linux-2.6.32.old//include/linux/fb.h linux-2.6.32/include/linux/fb.h
+--- linux-2.6.32.old//include/linux/fb.h       2011-05-10 20:38:23.000000000 +0200
++++ linux-2.6.32/include/linux/fb.h    2011-06-22 13:30:41.000000000 +0200
+@@ -863,6 +863,16 @@
+       void *fbcon_par;                /* fbcon use-only private area */
+       /* From here on everything is device dependent */
+       void *par;
++
++#ifdef CONFIG_BOOTSPLASH
++      struct splash_data *splash_data;
++      unsigned char *splash_pic;
++      int splash_pic_size;
++      int splash_bytes;
++      char *silent_screen_base;       /* real screen base */
++      char fb_cursordata[64];
++#endif
++
+       /* we need the PCI or similiar aperture base/size not
+          smem_start/size as smem_start may just be an object
+          allocated inside the aperture so may not actually overlap */
diff --git a/bridge-patch.diff b/bridge-patch.diff
new file mode 100644 (file)
index 0000000..6780d62
--- /dev/null
@@ -0,0 +1,14 @@
+--- linux-2.6.32/net/bridge/br_stp_if.c.org    2010-01-15 09:38:09.000000000 +0100
++++ linux-2.6.32/net/bridge/br_stp_if.c        2010-01-15 09:38:57.000000000 +0100
+@@ -219,10 +219,7 @@ void br_stp_recalculate_bridge_id(struct
+               return;
+       list_for_each_entry(p, &br->port_list, list) {
+-              if (addr == br_mac_zero ||
+-                  memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0)
+-                      addr = p->dev->dev_addr;
+-
++              addr = p->dev->dev_addr;
+       }
+       if (compare_ether_addr(br->bridge_id.addr, addr))
diff --git a/changelog.Debian b/changelog.Debian
new file mode 100644 (file)
index 0000000..9ed1560
--- /dev/null
@@ -0,0 +1,319 @@
+pve-kernel-2.6.32 (2.6.32-41) unstable; urgency=low
+
+  * update to vzkernel-2.6.32-042stab029.1.src.rpm
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 09 Aug 2011 08:33:39 +0200
+
+pve-kernel-2.6.32 (2.6.32-40) unstable; urgency=low
+
+  * update to vzkernel-2.6.32-042stab025.1.src.rpm
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 04 Aug 2011 12:15:27 +0200
+
+pve-kernel-2.6.32 (2.6.32-39) unstable; urgency=low
+
+  * update to vzkernel-2.6.32-042stab024.1.src.rpm
+  
+  * update e1000e to 1.4.4
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 03 Aug 2011 08:08:10 +0200
+
+pve-kernel-2.6.32 (2.6.32-38) unstable; urgency=low
+
+  * update to vzkernel-2.6.32-042stab021.1.src.rpm
+
+  * enable CONFIG_DRM_RADEON_KMS and CONFIG_DRM_I915_KMS again, seems X11
+    needs that.
+  
+  * remove ovz-fix-slow-fsync.patch (already in upstream)
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 19 Jul 2011 10:30:28 +0200
+
+pve-kernel-2.6.32 (2.6.32-37) unstable; urgency=low
+
+  * copied from trunk, make it work on squeeze
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 24 Jun 2011 12:49:10 +0200
+
+pve-kernel-2.6.32 (2.6.32-36) unstable; urgency=low
+
+  * use kernel from OpenVZ project as base
+  
+  * update AOE drover to aoe6-77.tar.gz  
+
+  * remove bnx2 custom driver - use driver provided by kernel
+  
+  * include ovz-fix-slow-fsync.patch
+  
+  * removed SCST support
+    
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 24 Jun 2011 08:01:39 +0200
+
+pve-kernel-2.6.32 (2.6.32-35) unstable; urgency=low
+
+  * fix register corruption in pvclock_scale_delta
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 22 Jun 2011 10:55:29 +0200
+
+pve-kernel-2.6.32 (2.6.32-34) unstable; urgency=low
+
+  * update to debian squeeze kernel 2.6.32-35
+  
+  * update ARECA RAID driver
+  
+  * enable HP Smart Array SCSI driver SCSI_HPSA=m
+  
+  * enable PMC-Sierra SPC 8001 SAS/SATA SCSI_PM8001=m
+  
+  * enbale Brocade 1010/1020 10Gb Ethernet BNA=m
+  
+  * add Brocade firmware
+  
+  * update bnx2 drivers
+  
+  * update e1000e driver to 1.3.17
+  
+  * update igb to 3.0.22
+  
+  * update ixgbe to 3.3.9
+  
+  * fix applydebpatches.pl: include ${rev}squeeze1 series patches
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 17 Jun 2011 07:39:07 +0200
+
+pve-kernel-2.6.32 (2.6.32-33) unstable; urgency=low
+
+  *  update to debian squeeze kernel 2.6.32-34
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 09 May 2011 12:40:43 +0200
+
+pve-kernel-2.6.32 (2.6.32-32) unstable; urgency=low
+
+  * update to debian squeeze kernel 2.6.32-32
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 29 Mar 2011 08:47:03 +0200
+
+pve-kernel-2.6.32 (2.6.32-31) unstable; urgency=low
+
+  * update to debian squeeze kernel 2.6.32-31
+  
+  * remove patch use-init-task-credential.patch (fixed in upstream)
+  
+  * enable CONFIG_SENSORS_K10TEMP=m
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 08 Mar 2011 06:18:31 +0100
+
+pve-kernel-2.6.32 (2.6.32-30) unstable; urgency=low
+
+  * update to debian squeeze kernel 2.6.32-29
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 15 Dec 2010 13:43:52 +0100
+
+pve-kernel-2.6.32 (2.6.32-29) unstable; urgency=low
+
+  * udpate e1000e driver to 1.2.20
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 03 Dec 2010 06:15:13 +0100
+
+pve-kernel-2.6.32 (2.6.32-28) unstable; urgency=low
+
+  * upgarde to debian squeeze kernel 2.6.32-28 (openvz 2.6.32-dzhanibekov) 
+  
+  * update igb driver to version 2.4.8
+  
+  * update ixgbe driver to version 3.0.14
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 26 Nov 2010 05:31:10 +0100
+
+pve-kernel-2.6.32 (2.6.32-27) unstable; urgency=low
+
+  * add fix for http://bugzilla.openvz.org/show_bug.cgi?id=1634
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 15 Nov 2010 07:09:03 +0100
+
+pve-kernel-2.6.32 (2.6.32-26) unstable; urgency=low
+
+  * upgarde to debian squeeze kernel 2.6.32-27
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 04 Nov 2010 08:46:45 +0100
+
+pve-kernel-2.6.32 (2.6.32-25) unstable; urgency=low
+
+  * upgarde to debian squeeze kernel 2.6.32-26
+  
+  * update config (original debian config now includes ISDN4LINUX)
+
+  * enable CONFIG_NF_CONNTRACK_IPV6
+
+  * install latest igb driver (igb-2.3.4.tar.gz)
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 21 Oct 2010 08:51:01 +0200
+
+pve-kernel-2.6.32 (2.6.32-24) unstable; urgency=low
+
+  * include fix for OpenVZ bug #1603
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 15 Oct 2010 09:30:30 +0200
+
+pve-kernel-2.6.32 (2.6.32-23) unstable; urgency=low
+
+  * ixgbe driver update (3.0.12)
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 12 Oct 2010 08:11:35 +0200
+
+pve-kernel-2.6.32 (2.6.32-22) unstable; urgency=low
+
+  * upgarde to debian squeeze kernel 2.6.32-24 (OpenVZ 2.6.32-dyomin)
+
+  * strip debug info
+
+  * remove default initrd image (no longer needed)
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 08 Oct 2010 09:27:20 +0200
+
+pve-kernel-2.6.32 (2.6.32-21) unstable; urgency=low
+
+  * do not set CONFIG_DMAR_DEFAULT_ON
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 07 Oct 2010 10:43:55 +0200
+
+pve-kernel-2.6.32 (2.6.32-20) unstable; urgency=low
+
+  * enable CAPIDRV module
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 05 Oct 2010 09:28:24 +0200
+
+pve-kernel-2.6.32 (2.6.32-19) unstable; urgency=low
+
+  * include latest broadcom bnx2, bnx2x drivers
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 20 Sep 2010 10:56:45 +0200
+
+pve-kernel-2.6.32 (2.6.32-18) unstable; urgency=low
+
+  * fix previous fix: see http://sota.gen.nz/compat1/ and
+    http://sota.gen.nz/compat2/ (security-fix2.patch)
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 17 Sep 2010 17:29:28 +0200
+
+pve-kernel-2.6.32 (2.6.32-17) unstable; urgency=low
+
+  * fix CVE-2010-3081 kernel (security-fix1.patch)
+  
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 17 Sep 2010 15:42:14 +0200
+
+pve-kernel-2.6.32 (2.6.32-16) unstable; urgency=low
+
+  * include latest ixgbe driver
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 17 Sep 2010 13:58:44 +0200
+
+pve-kernel-2.6.32 (2.6.32-15) unstable; urgency=low
+
+  * update to debian kernel 2.6.32-22
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 15 Sep 2010 11:55:18 +0200
+
+pve-kernel-2.6.32 (2.6.32-14) unstable; urgency=low
+
+  * fix dependency for pve-headers (depend on pve-kernel)
+  
+  * enable common block devices (do not compile them as modules to avoid
+    problems with udev and update-initramfs)
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 07 Sep 2010 08:12:15 +0200
+
+pve-kernel-2.6.32 (2.6.32-13) unstable; urgency=low
+
+  * carefully include a needed firmware files
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 03 Sep 2010 12:26:59 +0200
+
+pve-kernel-2.6.32 (2.6.32-12) unstable; urgency=low
+
+  * change scheduler back to cfg - apply OpenVZ fix
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 01 Sep 2010 16:30:23 +0200
+
+pve-kernel-2.6.32 (2.6.32-11) unstable; urgency=low
+
+  * upgarde to debian squeeze kernel 2.6.32-21
+  
+  * change scheduler to 'deadline' (avoid OpenVZ bug)
+  
+  * disable KSM (seems OpenVZ will not support KSM)
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 30 Aug 2010 10:37:31 +0200
+
+pve-kernel-2.6.32 (2.6.32-10) unstable; urgency=low
+
+  * upgarde to debian squeeze kernel 2.6.32-19
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 06 Aug 2010 12:50:26 +0200
+
+pve-kernel-2.6.32 (2.6.32-9) unstable; urgency=low
+
+  * upgarde to debian squeeze kernel with openvz support (2.6.32-18)
+  
+  * removed DRBD code, because a backport was already included by debian.
+  
+  * add qlogic firmware to default initrd image 
+  
+  * create a firmware package using data from
+    git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 03 Aug 2010 13:14:22 +0200
+
+pve-kernel-2.6.32 (2.6.32-8) unstable; urgency=low
+
+  * Support DMA Remapping Devices (CONFIG_DMAR=y, CONFIG_DMAR_DEFAULT_ON=y)
+
+  * Also enable CONFIG_HAVE_INTEL_TXT and CONFIG_INTEL_TXT (required by
+  DMAR options)        
+  
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 25 May 2010 12:34:31 +0200
+
+pve-kernel-2.6.32 (2.6.32-7) unstable; urgency=low
+
+  * update to Ubuntu-2.6.32-21.31
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 15 Apr 2010 09:24:41 +0200
+
+pve-kernel-2.6.32 (2.6.32-6) unstable; urgency=low
+
+  * set CONFIG_DLM_DEBUG=y
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 08 Feb 2010 13:17:42 +0100
+
+pve-kernel-2.6.32 (2.6.32-5) unstable; urgency=low
+
+  * fix header package - include all arch/x86 files 
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 02 Feb 2010 10:53:51 +0100
+
+pve-kernel-2.6.32 (2.6.32-4) unstable; urgency=low
+
+  * avoid bridge problems with: bridge-patch.diff
+  
+  * enable CONFIG_USER_NS=y for lxc
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 15 Jan 2010 09:44:13 +0100
+
+pve-kernel-2.6.32 (2.6.32-3) unstable; urgency=low
+
+  * CONFIG_PCI_STUB=y
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 07 Jan 2010 12:48:47 +0100
+
+pve-kernel-2.6.32 (2.6.32-2) unstable; urgency=low
+
+  * add busybox dependency (required by initramfs-tools)
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 23 Dec 2009 08:55:37 +0100
+
+pve-kernel-2.6.32 (2.6.32-1) stable; urgency=low
+
+  * initial release
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 11 Dec 2009 13:20:29 +0100
+
diff --git a/changelog.firmware b/changelog.firmware
new file mode 100644 (file)
index 0000000..009d888
--- /dev/null
@@ -0,0 +1,58 @@
+pve-firmware (1.0-12) unstable; urgency=low
+
+  * add Brocade firmware 
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 17 Jun 2011 08:52:21 +0200
+
+pve-firmware (1.0-10) unstable; urgency=low
+
+  * updatd for new QLogic phanfw.bin
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 15 Dec 2010 12:02:01 +0100
+
+pve-firmware (1.0-9) unstable; urgency=low
+
+  * include firmware for new 2.6.35-1-pve kernel
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 05 Oct 2010 13:59:53 +0200
+
+pve-firmware (1.0-8) unstable; urgency=low
+
+  * include phanfw.bin (netxen_nic.ko)
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 17 Sep 2010 13:00:54 +0200
+
+pve-firmware (1.0-7) unstable; urgency=low
+
+  * carefully install all needed files by querying modinfo
+  
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 21 Apr 2010 10:05:36 +0200
+
+pve-firmware (1.0-4) unstable; urgency=low
+
+  * update from new 2.6.32 kernel
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 21 Apr 2010 10:04:42 +0200
+
+pve-firmware (1.0-3) unstable; urgency=low
+
+  * inlcude firmware from our 2.6.32 kernel
+  
+  * remove firmware from
+    git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git
+    - it is not up to date
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 29 Dec 2009 11:19:36 +0100
+
+pve-firmware (1.0-2) unstable; urgency=low
+
+  * include drivers from linux-firmware.git to support newer kernels.
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 11 Dec 2009 12:31:40 +0100
+
+pve-firmware (1.0-1) unstable; urgency=low
+
+  * initial release for kernel 2.6.24
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 11 Dec 2009 12:30:01 +0100
+
diff --git a/config-2.6.32-042stab029.1.x86_64 b/config-2.6.32-042stab029.1.x86_64
new file mode 100644 (file)
index 0000000..2a2700d
--- /dev/null
@@ -0,0 +1,4398 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.32-042stab029.1
+# Sun Aug  7 19:33:07 2011
+#
+CONFIG_64BIT=y
+# CONFIG_X86_32 is not set
+CONFIG_X86_64=y
+CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_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_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+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_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_64_SMP=y
+CONFIG_X86_HT=y
+CONFIG_X86_TRAMPOLINE=y
+# CONFIG_KTIME_SCALAR is not set
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+CONFIG_UTRACE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=64
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+# CONFIG_USER_SCHED is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_VZ_FAIRSCHED=y
+CONFIG_FAIR_GROUP_SCHED_CPU_LIMITS=y
+CONFIG_FAIR_GROUP_SCHED_NRCPU_LIMITS=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_SYSFS_DEPRECATED_DYN=y
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+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_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_EVENT_PROFILE=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+CONFIG_OPROFILE_EVENT_MULTIPLEX=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_OPTPROBES=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_KRETPROBES=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_MODULE_VERIFY_ELF=y
+CONFIG_MODULE_SIG=y
+# CONFIG_MODULE_SIG_FORCE is not set
+CONFIG_MODULE_VERIFY=y
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_INTEGRITY=y
+CONFIG_BLK_DEV_THROTTLING=y
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_SMP=y
+CONFIG_X86_X2APIC=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_NUMA_IRQ_DESC=y
+CONFIG_X86_MPPARSE=y
+CONFIG_X86_EXTENDED_PLATFORM=y
+# CONFIG_X86_VSMP is not set
+CONFIG_X86_UV=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_XEN=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=32
+CONFIG_XEN_SAVE_RESTORE=y
+CONFIG_XEN_DEBUG_FS=y
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# 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_MATOM is not set
+CONFIG_GENERIC_CPU=y
+CONFIG_X86_CPU=y
+CONFIG_X86_L1_CACHE_BYTES=64
+CONFIG_X86_INTERNODE_CACHE_BYTES=64
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_GART_IOMMU=y
+CONFIG_CALGARY_IOMMU=y
+# CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT is not set
+CONFIG_AMD_IOMMU=y
+CONFIG_AMD_IOMMU_STATS=y
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+CONFIG_IOMMU_API=y
+CONFIG_MAXSMP=y
+CONFIG_NR_CPUS=4096
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MCE_INJECT=m
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=y
+CONFIG_X86_CPUID=y
+# CONFIG_X86_CPU_DEBUG is not set
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
+CONFIG_TRACK_DIRTY_PAGES=y
+CONFIG_NUMA=y
+CONFIG_K8_NUMA=y
+CONFIG_X86_64_ACPI_NUMA=y
+CONFIG_NODES_SPAN_OTHER_NODES=y
+# CONFIG_NUMA_EMU is not set
+CONFIG_NODES_SHIFT=9
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_SELECT_MEMORY_MODEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+# CONFIG_MEMORY_HOTREMOVE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_MEMORY_GANGS=y
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_RESERVE_LOW_64K=y
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
+# CONFIG_SECCOMP is not set
+CONFIG_CC_STACKPROTECTOR=y
+# 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=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_AUTO_RESERVE=y
+CONFIG_CRASH_DUMP=y
+CONFIG_KEXEC_JUMP=y
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_RELOCATABLE=y
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_ARCH_HIBERNATION_HEADER=y
+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_NVS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=y
+CONFIG_ACPI_BATTERY=y
+CONFIG_ACPI_BUTTON=y
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=y
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=y
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=y
+CONFIG_ACPI_NUMA=y
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_HOTPLUG_MEMORY_AUTO_ONLINE=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=m
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=m
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+CONFIG_CPU_FREQ_DEBUG=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# 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=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# CPUFreq processor drivers
+#
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K8=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_P4_CLOCKMOD=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_INTEL_IDLE=y
+
+#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
+CONFIG_INTR_REMAP=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+CONFIG_PCIE_ECRC=y
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_DEFAULT_ON=y
+CONFIG_PCI_LEGACY=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=y
+CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_ISA_DMA_API=y
+CONFIG_K8_NB=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+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 is not set
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=y
+CONFIG_IA32_EMULATION=y
+# CONFIG_IA32_AOUT is not set
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+
+#
+# OpenVZ
+#
+CONFIG_VE=y
+CONFIG_VE_CALLS=m
+CONFIG_VZ_GENCALLS=y
+CONFIG_VE_NETDEV=m
+CONFIG_VE_ETHDEV=m
+CONFIG_VZ_DEV=m
+CONFIG_VE_IPTABLES=y
+CONFIG_VZ_WDOG=m
+CONFIG_VZ_CHECKPOINT=m
+CONFIG_VZ_CHECKPOINT_ITER=y
+CONFIG_VZ_EVENT=m
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=y
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+# CONFIG_IPV6_SUBTREES is not set
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_PIMSM_V2=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_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_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=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=m
+CONFIG_NETFILTER_XTABLES=y
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=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_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=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 is not set
+CONFIG_IP_NF_QUEUE=m
+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=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+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_HL=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_RAW=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_NET_DCCPPROBE=m
+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_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+# CONFIG_ATM_MPOA is not set
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_NET_DSA=y
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_NET_DSA_MV88E6XXX=y
+CONFIG_NET_DSA_MV88E6060=y
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=y
+CONFIG_NET_DSA_MV88E6123_61_65=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# 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_PHONET=m
+CONFIG_IEEE802154=m
+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=m
+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_CLS_CGROUP=y
+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=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_NET_TCPPROBE is not set
+CONFIG_NET_DROP_MONITOR=y
+# CONFIG_HAMRADIO is not set
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_SJA1000_PLATFORM=m
+CONFIG_CAN_EMS_PCI=m
+CONFIG_CAN_KVASER_PCI=m
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_DEBUG_DEVICES=y
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+# CONFIG_AF_RXRPC is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEFAULT_PS_VALUE=1
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_WIRELESS_OLD_REGULATORY is not set
+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
+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 is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+CONFIG_SYS_HYPERVISOR=y
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_MTD_OOPS=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+# CONFIG_MTD_SBC_GXX is not set
+# CONFIG_MTD_AMD76XROM is not set
+# CONFIG_MTD_ICHXROM is not set
+CONFIG_MTD_ESB2ROM=m
+CONFIG_MTD_CK804XROM=m
+CONFIG_MTD_SCB2_FLASH=m
+# CONFIG_MTD_NETtel is not set
+# CONFIG_MTD_L440GX is not set
+CONFIG_MTD_PCI=m
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_ECC_SMC=y
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_IDS=m
+CONFIG_MTD_NAND_DISKONCHIP=m
+# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+# CONFIG_MTD_NAND_CAFE is not set
+CONFIG_MTD_NAND_NANDSIM=m
+# CONFIG_MTD_NAND_PLATFORM is not set
+CONFIG_MTD_ALAUDA=m
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+
+#
+# UBI - Unsorted block images
+#
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_GLUEBI is not set
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+# CONFIG_PARPORT_AX88796 is not set
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_PARIDE is not set
+# CONFIG_BLK_CPQ_DA is not set
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+# 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=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_TRACE is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_IBM_ASM is not set
+# CONFIG_PHANTOM is not set
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_SGI_XP=m
+CONFIG_HP_ILO=m
+CONFIG_SGI_GRU=m
+# CONFIG_SGI_GRU_DEBUG is not set
+CONFIG_DELL_LAPTOP=m
+CONFIG_ISL29003=m
+CONFIG_VMWARE_BALLOON=m
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_FC_TGT_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+# CONFIG_SCSI_ACARD is not set
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=4
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ARCMSR_AER=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+# CONFIG_MEGARAID_LEGACY is not set
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+CONFIG_SCSI_MPT2SAS_LOGGING=y
+CONFIG_SCSI_HPTIOP=m
+# CONFIG_SCSI_BUSLOGIC is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+CONFIG_SCSI_ISCI=m
+# CONFIG_PBG_HBA_BETA is not set
+CONFIG_PBG_HBA_A2=y
+# CONFIG_PBG_HBA_A0 is not set
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+# CONFIG_SCSI_INIA100 is not set
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA_FC=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+CONFIG_SCSI_DH=y
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+CONFIG_SATA_INIC162X=m
+CONFIG_PATA_ACPI=m
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_ATIIXP=m
+# CONFIG_PATA_CMD640_PCI is not set
+CONFIG_PATA_CMD64X=m
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_JMICRON=m
+# CONFIG_PATA_TRIFLEX is not set
+CONFIG_PATA_MARVELL=m
+# CONFIG_PATA_MPIIX is not set
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+# 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=m
+CONFIG_PATA_PDC_OLD=m
+# CONFIG_PATA_RADISYS is not set
+CONFIG_PATA_RDC=m
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_VIA=m
+# CONFIG_PATA_WINBOND is not set
+CONFIG_PATA_SCH=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+# CONFIG_MULTICORE_RAID456 is not set
+# CONFIG_MD_MULTIPATH is not set
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_DEBUG=y
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_REPLICATOR=m
+CONFIG_DM_RAID45=m
+CONFIG_DM_UEVENT=y
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
+CONFIG_FUSION_LOGGING=y
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# See the help texts for more information.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+CONFIG_VETH=m
+# CONFIG_NET_SB1000 is not set
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=y
+
+#
+# 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=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_FIXED_PHY=y
+CONFIG_MDIO_BITBANG=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_ETHOC=m
+CONFIG_DNET=m
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MMIO=y
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+# CONFIG_HP100 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=m
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_FORCEDETH=m
+CONFIG_FORCEDETH_NAPI=y
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R6040=m
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851_MLL is not set
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+# CONFIG_ATP is not set
+# CONFIG_DE600 is not set
+# CONFIG_DE620 is not set
+CONFIG_ATL2=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IP1000=m
+CONFIG_IGB=m
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_R8169=m
+CONFIG_R8169_VLAN=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_JME=m
+CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
+CONFIG_ENIC=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBE_DCB=y
+CONFIG_IXGBEVF=m
+CONFIG_IXGB=m
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_NETXEN_NIC=m
+CONFIG_NIU=m
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TEHUTI=m
+CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_BNA=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+# CONFIG_PCMCIA_RAYCS is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_DEBUG=y
+CONFIG_LIBERTAS_THINFIRM=m
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+# CONFIG_PRISM54 is not set
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+CONFIG_MAC80211_HWSIM=m
+CONFIG_MWL8K=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_LEDS=y
+CONFIG_ATH_COMMON=m
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUG is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+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_IWLWIFI=m
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_B43=m
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+CONFIG_B43_DEBUG=y
+# CONFIG_B43_FORCE_PIO is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+CONFIG_B43LEGACY_DEBUG=y
+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_RT2800USB is not set
+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_LEDS=y
+# CONFIG_RT2X00_DEBUG 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_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SDIO=m
+CONFIG_IWM=m
+# CONFIG_IWM_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=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+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=y
+# CONFIG_LANMEDIA is not set
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+# CONFIG_HDLC_RAW_ETH is not set
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+
+#
+# X.25/LAPB support is disabled
+#
+# CONFIG_PCI200SYN is not set
+# CONFIG_WANXL is not set
+# CONFIG_PC300TOO is not set
+# CONFIG_FARSYNC is not set
+# CONFIG_DSCC4 is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+# CONFIG_SBNI is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+# 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_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_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_XEN_NETDEV_FRONTEND=m
+CONFIG_FDDI=y
+# CONFIG_DEFXX is not set
+# CONFIG_SKFP is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PLIP is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+# CONFIG_PPP_BSDCOMP is not set
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLHC=m
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
+CONFIG_NET_FC=y
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+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=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+# CONFIG_ISDN_PPP_BSDCOMP is not set
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+CONFIG_HISAX_NO_SENDCOMPLETE=y
+CONFIG_HISAX_NO_LLC=y
+CONFIG_HISAX_NO_KEYPAD=y
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+# CONFIG_HISAX_HFCUSB is not set
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_ISDN_HDLC=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+# CONFIG_CAPI_TRACE is not set
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+# CONFIG_CAPI_EICON is not set
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+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
+CONFIG_XEN_KBDDEV_FRONTEND=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD 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=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_WM831X_ON=m
+
+#
+# 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 is not set
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+# CONFIG_GAMEPORT 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=y
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+# CONFIG_ROCKETPORT is not set
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+CONFIG_NOZOMI=m
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_CONSOLE_POLL=y
+CONFIG_SERIAL_JSM=m
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_CRASH=y
+# CONFIG_PRINTER is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_NVRAM=y
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+# CONFIG_MWAVE is not set
+# CONFIG_PC8736x_GPIO is not set
+CONFIG_RAW_DRIVER=y
+CONFIG_MAX_RAW_DEVS=8192
+CONFIG_HPET=y
+# CONFIG_HPET_MMAP is not set
+CONFIG_HANGCHECK_TIMER=m
+# CONFIG_UV_MMTIMER is not set
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_TTY_NULL=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=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=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_SIMTEC=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TINY_USB=m
+
+#
+# Graphics adapter I2C/DDC channel drivers
+#
+CONFIG_I2C_VOODOO3=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_PLATFORM=m
+CONFIG_I2C_STUB=m
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+CONFIG_SENSORS_TSL2550=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+CONFIG_WM831X_POWER=m
+CONFIG_WM8350_POWER=m
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BATTERY_DS2782 is not set
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7473=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_PKGTEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_WM831X=m
+CONFIG_SENSORS_WM8350=m
+CONFIG_SENSORS_HDAPS=m
+CONFIG_SENSORS_APPLESMC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_THERMAL=y
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_WM831X_WATCHDOG=m
+CONFIG_WM8350_WATCHDOG=m
+# CONFIG_ACQUIRE_WDT is not set
+# CONFIG_ADVANTECH_WDT is not set
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+# CONFIG_SC520_WDT is not set
+CONFIG_SBC_FITPC2_WATCHDOG=m
+# CONFIG_EUROTECH_WDT is not set
+# CONFIG_IB700_WDT is not set
+CONFIG_IBMASR=m
+# CONFIG_WAFER_WDT is not set
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+# 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_CPU5_WDT is not set
+CONFIG_SMSC_SCH311X_WDT=m
+# CONFIG_SMSC37B787_WDT is not set
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+# CONFIG_SBC_EPX_C3_WATCHDOG is not set
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=m
+CONFIG_MFD_SM501=m
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_WM8400=m
+CONFIG_MFD_WM831X=m
+CONFIG_MFD_WM8350=m
+CONFIG_MFD_WM8350_CONFIG_MODE_0=y
+CONFIG_MFD_WM8350_CONFIG_MODE_1=y
+CONFIG_MFD_WM8350_CONFIG_MODE_2=y
+CONFIG_MFD_WM8350_CONFIG_MODE_3=y
+CONFIG_MFD_WM8351_CONFIG_MODE_0=y
+CONFIG_MFD_WM8351_CONFIG_MODE_1=y
+CONFIG_MFD_WM8351_CONFIG_MODE_2=y
+CONFIG_MFD_WM8351_CONFIG_MODE_3=y
+CONFIG_MFD_WM8352_CONFIG_MODE_0=y
+CONFIG_MFD_WM8352_CONFIG_MODE_1=y
+CONFIG_MFD_WM8352_CONFIG_MODE_2=y
+CONFIG_MFD_WM8352_CONFIG_MODE_3=y
+CONFIG_MFD_WM8350_I2C=m
+# CONFIG_MFD_PCF50633 is not set
+CONFIG_AB3100_CORE=m
+CONFIG_AB3100_OTP=m
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+CONFIG_REGULATOR_BQ24022=m
+CONFIG_REGULATOR_MAX1586=m
+CONFIG_REGULATOR_WM831X=m
+CONFIG_REGULATOR_WM8350=m
+CONFIG_REGULATOR_WM8400=m
+CONFIG_REGULATOR_LP3971=m
+CONFIG_REGULATOR_AB3100=m
+CONFIG_REGULATOR_TPS65023=m
+CONFIG_REGULATOR_TPS6507X=m
+CONFIG_BKL=y
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_RC_CORE=m
+CONFIG_LIRC=m
+CONFIG_RC_MAP=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+# CONFIG_RC_LOOPBACK is not set
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=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_IR_I2C=m
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_M52790=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+CONFIG_VIDEO_SAA6588=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_CX25840=m
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+# CONFIG_VIDEO_VIVI is not set
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MEYE is not set
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
+# CONFIG_VIDEO_CAFE_CCIC is not set
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_USBVISION=m
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_USB_SN9C102 is not set
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+# CONFIG_RADIO_ADAPTERS is not set
+CONFIG_DVB_MAX_ADAPTERS=8
+CONFIG_DVB_DYNAMIC_MINORS=y
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+#
+# Supported BT878 Adapters
+#
+CONFIG_DVB_BT8XX=m
+
+#
+# Supported Pluto2 Adapters
+#
+CONFIG_DVB_PLUTO2=m
+
+#
+# Supported SDMC DM1105 Adapters
+#
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
+
+#
+# Supported Earthsoft PT1 Adapters
+#
+CONFIG_DVB_PT1=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_IX2505V=m
+
+#
+# Graphics support
+#
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+CONFIG_AGP_INTEL=y
+CONFIG_AGP_SIS=y
+CONFIG_AGP_VIA=y
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=64
+# CONFIG_VGA_SWITCHEROO is not set
+CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
+# CONFIG_DRM_TDFX is not set
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
+# CONFIG_DRM_I810 is not set
+# CONFIG_DRM_I830 is not set
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB_DDC=m
+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=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+# 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=m
+# CONFIG_FB_UVESA is not set
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+# CONFIG_FB_RIVA_I2C is not set
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+# CONFIG_FB_LE80578 is not set
+# CONFIG_FB_MATROX is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+# CONFIG_FB_S3 is not set
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+# CONFIG_FB_SIS is not set
+CONFIG_FB_VIA=m
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+CONFIG_FB_SM501=m
+CONFIG_FB_VIRTUAL=m
+CONFIG_XEN_FBDEV_FRONTEND=y
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+# CONFIG_LCD_ILI9320 is not set
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_MBP_NVIDIA=m
+# CONFIG_BACKLIGHT_SAHARA is not set
+CONFIG_BACKLIGHT_WM831X=m
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=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=m
+CONFIG_SND_OSSEMUL=y
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_PCSP=m
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+# 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=5
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALS4000 is not set
+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 is not set
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+# CONFIG_SND_CMIPCI is not set
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+# CONFIG_SND_CS4281 is not set
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=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_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+# CONFIG_SND_ES1938 is not set
+CONFIG_SND_ES1968=m
+# CONFIG_SND_FM801 is not set
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_HWDEP=y
+# CONFIG_SND_HDA_RECONFIG is not set
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=2
+CONFIG_SND_HDA_INPUT_JACK=y
+# CONFIG_SND_HDA_PATCH_LOADER 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_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_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_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+# CONFIG_SND_NM256 is not set
+CONFIG_SND_PCXHR=m
+# CONFIG_SND_RIPTIDE is not set
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+# CONFIG_SND_SONICVIBES is not set
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+# CONFIG_SND_YMFPCI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_PCMCIA=y
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+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_DRAGONRISE=y
+# CONFIG_DRAGONRISE_FF is not set
+CONFIG_HID_EZKEY=y
+CONFIG_HID_KYE=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_TWINHAN=y
+CONFIG_HID_KENSINGTON=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_HID_GREENASIA=y
+# CONFIG_GREENASIA_FF is not set
+CONFIG_HID_SMARTJOYPLUS=y
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=y
+CONFIG_HID_THRUSTMASTER=y
+# CONFIG_THRUSTMASTER_FF is not set
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=y
+# 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=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=y
+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_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=y
+# 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_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_CS is not set
+# CONFIG_USB_R8A66597_HCD is not set
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+# CONFIG_USB_RIO500 is not set
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_LED=m
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+# CONFIG_USB_TRANCEVIBRATOR is not set
+CONFIG_USB_IOWARRIOR=m
+# CONFIG_USB_TEST is not set
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_VST=m
+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_OTG_UTILS=y
+CONFIG_NOP_USB_XCEIV=m
+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_SDHCI_PLTFM=m
+# CONFIG_MMC_WBSD is not set
+# CONFIG_MMC_AT91 is not set
+# CONFIG_MMC_ATMELMCI is not set
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+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=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_ALIX2=m
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_CLEVO_MAIL=m
+# CONFIG_LEDS_PCA955X is not set
+CONFIG_LEDS_WM831X_STATUS=m
+CONFIG_LEDS_WM8350=m
+# CONFIG_LEDS_BD2802 is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_IPATH=m
+CONFIG_INFINIBAND_QIB=m
+# CONFIG_INFINIBAND_AMSO1100 is not set
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
+CONFIG_INFINIBAND_CXGB4=m
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_EDAC=y
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_MCE=y
+CONFIG_EDAC_AMD64=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I7CORE=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_EDAC_I7300=m
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+# CONFIG_RTC_DRV_S35390A is not set
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_WM831X=m
+CONFIG_RTC_DRV_WM8350=m
+CONFIG_RTC_DRV_AB3100=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_DMADEVICES=y
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_SMX=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+
+#
+# TI VLYNQ
+#
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_XEN_PLATFORM_PCI=y
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+# CONFIG_VIDEO_GO7007 is not set
+# CONFIG_VIDEO_CX25821 is not set
+# CONFIG_USB_IP_COMMON is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_POCH is not set
+# CONFIG_OTUS is not set
+# CONFIG_RT2860 is not set
+# CONFIG_RT2870 is not set
+# CONFIG_RT3090 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_RTL8192SU is not set
+# CONFIG_RTL8192E is not set
+# CONFIG_INPUT_MIMIO is not set
+# CONFIG_TRANZPORT is not set
+
+#
+# Android
+#
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+# CONFIG_INPUT_GPIO is not set
+# CONFIG_DST is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_B3DFG is not set
+# CONFIG_IDE_PHISON is not set
+# CONFIG_PLAN9AUTH is not set
+# CONFIG_LINE6_USB is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+# CONFIG_DRM_NOUVEAU_DEBUG is not set
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+# CONFIG_USB_SERIAL_QUATECH2 is not set
+# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
+# CONFIG_VT6655 is not set
+# CONFIG_VT6656 is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_HYPERV is not set
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_ZRAM=m
+CONFIG_ZRAM_DEBUG=y
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_THINKPAD_ACPI=m
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+# CONFIG_INTEL_MENLOW is not set
+# CONFIG_EEEPC_LAPTOP is not set
+CONFIG_ACPI_WMI=m
+# CONFIG_ACPI_ASUS is not set
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_INTEL_IPS=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT2_FS_XIP=y
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_FS_XIP=y
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+CONFIG_PRINT_QUOTA_WARNING=y
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_COMPAT=y
+CONFIG_QUOTA_TREE=y
+# CONFIG_QFMT_V1 is not set
+CONFIG_QFMT_V2=y
+CONFIG_VZ_QUOTA=m
+# CONFIG_VZ_QUOTA_UNLOAD is not set
+CONFIG_VZ_QUOTA_UGID=y
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_SIM_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# 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="ascii"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_VMCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+CONFIG_ECRYPT_FS=m
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_FS_XATTR=y
+CONFIG_JFFS2_FS_POSIX_ACL=y
+CONFIG_JFFS2_FS_SECURITY=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+CONFIG_UBIFS_FS_XATTR=y
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_UBIFS_FS_DEBUG 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 is not set
+# 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_EXOFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_NFS_FSCACHE=y
+CONFIG_NFS_USE_LEGACY_DNS=y
+# CONFIG_NFS_USE_NEW_IDMAPPER is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_DEPRECATED=y
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+# CONFIG_SMB_FS is not set
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_FSCACHE is not set
+CONFIG_CIFS_EXPERIMENTAL=y
+# 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=y
+CONFIG_AMIGA_PARTITION=y
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+CONFIG_DLM_DEBUG=y
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+CONFIG_HEADERS_CHECK=y
+CONFIG_DEBUG_SECTION_MISMATCH=y
+CONFIG_SYSRQ_DEBUG=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_SHIRQ=y
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+CONFIG_BOOTPARAM_HARDLOCKUP_ENABLED=y
+CONFIG_BOOTPARAM_HARDLOCKUP_ENABLED_VALUE=1
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_DEBUG_NMI_TIMEOUT=30
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_DEBUG_LIST=y
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+CONFIG_BOOT_PRINTK_DELAY=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FTRACE_NMI_ENTER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_FTRACE_NMI_ENTER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SYSPROF_TRACER=y
+CONFIG_SCHED_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_BOOT_TRACER=y
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+CONFIG_POWER_TRACER=y
+CONFIG_STACK_TRACER=y
+CONFIG_KMEMTRACE=y
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+CONFIG_BUILD_DOCSRC=y
+CONFIG_DYNAMIC_DEBUG=y
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_KGDB=y
+CONFIG_KGDB_SERIAL_CONSOLE=y
+CONFIG_KGDB_TESTS=y
+# CONFIG_KGDB_TESTS_ON_BOOT is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+CONFIG_STRICT_DEVMEM=y
+# CONFIG_X86_VERBOSE_BOOTUP is not set
+CONFIG_EARLY_PRINTK=y
+CONFIG_EARLY_PRINTK_DBGP=y
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+CONFIG_DEBUG_RODATA_TEST=y
+CONFIG_DEBUG_NX_TEST=m
+# CONFIG_IOMMU_DEBUG is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+# CONFIG_X86_DECODER_SELFTEST is not set
+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_DEBUG_BOOT_PARAMS=y
+# CONFIG_CPA_DEBUG is not set
+CONFIG_OPTIMIZE_INLINING=y
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_FILE_CAPABILITIES=y
+CONFIG_INTEL_TXT=y
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_FIPS=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_FPU=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+# CONFIG_CRYPTO_SALSA20 is not set
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+# CONFIG_CRYPTO_TWOFISH is not set
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_X86_64=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_MPILIB=y
+CONFIG_CRYPTO_SIGNATURE=y
+CONFIG_CRYPTO_SIGNATURE_DSA=y
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_RING=m
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=m
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_LIST_SORT=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPUMASK_OFFSTACK=y
+CONFIG_NLATTR=y
+
+#
+# User resources
+#
+CONFIG_BEANCOUNTERS=y
+CONFIG_BC_RSS_ACCOUNTING=y
+CONFIG_BC_IO_ACCOUNTING=y
+CONFIG_BC_IO_PRIORITY=y
+CONFIG_BC_SWAP_ACCOUNTING=y
+CONFIG_BC_PROC=y
+CONFIG_BC_DEBUG=y
+# CONFIG_BC_DEBUG_KMEM is not set
+# CONFIG_BC_KEEP_UNUSED is not set
+# CONFIG_BC_DEBUG_ITEMS is not set
+# CONFIG_BC_UNLIMITED is not set
diff --git a/config-2.6.32.diff b/config-2.6.32.diff
new file mode 100644 (file)
index 0000000..333e44e
--- /dev/null
@@ -0,0 +1,72 @@
+--- config-2.6.32-042stab018.1.x86_64  2011-06-24 12:43:39.000000000 +0200
++++ config-2.6.32      2011-06-27 07:31:18.000000000 +0200
+@@ -101,7 +101,7 @@
+ CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+ CONFIG_GROUP_SCHED=y
+ CONFIG_FAIR_GROUP_SCHED=y
+-CONFIG_RT_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
+ # CONFIG_USER_SCHED is not set
+ CONFIG_CGROUP_SCHED=y
+ CONFIG_VZ_FAIRSCHED=y
+@@ -205,7 +205,7 @@
+ CONFIG_MODVERSIONS=y
+ CONFIG_MODULE_SRCVERSION_ALL=y
+ CONFIG_MODULE_VERIFY_ELF=y
+-CONFIG_MODULE_SIG=y
++# CONFIG_MODULE_SIG is not set
+ # CONFIG_MODULE_SIG_FORCE is not set
+ CONFIG_MODULE_VERIFY=y
+ CONFIG_STOP_MACHINE=y
+@@ -1322,10 +1322,10 @@
+ #
+ # SCSI support type (disk, tape, CD-ROM)
+ #
+-CONFIG_BLK_DEV_SD=m
++CONFIG_BLK_DEV_SD=y
+ CONFIG_CHR_DEV_ST=m
+ CONFIG_CHR_DEV_OSST=m
+-CONFIG_BLK_DEV_SR=m
++CONFIG_BLK_DEV_SR=y
+ CONFIG_BLK_DEV_SR_VENDOR=y
+ CONFIG_CHR_DEV_SG=m
+ CONFIG_CHR_DEV_SCH=m
+@@ -1523,7 +1523,7 @@
+ # CONFIG_MULTICORE_RAID456 is not set
+ # CONFIG_MD_MULTIPATH is not set
+ CONFIG_MD_FAULTY=m
+-CONFIG_BLK_DEV_DM=m
++CONFIG_BLK_DEV_DM=y
+ CONFIG_DM_DEBUG=y
+ CONFIG_DM_CRYPT=m
+ CONFIG_DM_SNAPSHOT=m
+@@ -3092,6 +3092,11 @@
+ # CONFIG_LOGO_LINUX_MONO is not set
+ # CONFIG_LOGO_LINUX_VGA16 is not set
+ CONFIG_LOGO_LINUX_CLUT224=y
++
++#
++# Bootsplash configuration
++#
++CONFIG_BOOTSPLASH=y
+ CONFIG_SOUND=m
+ CONFIG_SOUND_OSS_CORE=y
+ CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+@@ -4043,7 +4048,7 @@
+ # Kernel hacking
+ #
+ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+-CONFIG_PRINTK_TIME=y
++# CONFIG_PRINTK_TIME is not set
+ # CONFIG_ENABLE_WARN_DEPRECATED is not set
+ CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_FRAME_WARN=2048
+@@ -4087,7 +4092,7 @@
+ CONFIG_STACKTRACE=y
+ # CONFIG_DEBUG_KOBJECT is not set
+ CONFIG_DEBUG_BUGVERBOSE=y
+-CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_VM is not set
+ # CONFIG_DEBUG_VIRTUAL is not set
+ # CONFIG_DEBUG_WRITECOUNT is not set
diff --git a/control.firmware b/control.firmware
new file mode 100644 (file)
index 0000000..00b949c
--- /dev/null
@@ -0,0 +1,11 @@
+Package: pve-firmware
+Version: @VERSION@
+Section: misc
+Priority: optional
+Architecture: all
+Suggests: linux-image
+Conflicts: firmware-linux-free, firmware-linux-nonfree 
+Maintainer: Proxmox Support Team <support@proxmox.com>
+Description: Binary firmware code for the pve-kernel
+ This package contains the binary firmware for various modules used in
+ the pve-kernel.
diff --git a/control.in b/control.in
new file mode 100644 (file)
index 0000000..5d65f52
--- /dev/null
@@ -0,0 +1,11 @@
+Package: pve-kernel-@KVNAME@
+Version: @KERNEL_VER@-@PKGREL@
+Section: admin
+Priority: optional
+Architecture: amd64
+Provides: linux-image, linux-image-2.6
+Suggests: pve-firmware
+Depends: grub-pc, initramfs-tools, busybox
+Maintainer: Proxmox Support Team <support@proxmox.com>
+Description: The Proxmox PVE Kernel Image
+ This package contains the linux kernel and initial ramdisk used for booting
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..3295cc3
--- /dev/null
+++ b/copyright
@@ -0,0 +1,27 @@
+This is a prepackaged version of the Linux kernel binary image.
+
+This package was put together by Proxmox Server
+Solutions GmbH <support@proxmox.com>.
+
+We use the OpenVZ kernel sources, available from:
+
+http://download.openvz.org/kernel/branches/rhel6-2.6.32/
+
+Linux is copyrighted by Linus Torvalds and others.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; version 2 dated June, 1991.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, write to the Free Software Foundation, Inc.,
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+The complete text of the GNU General Public License can be found in
+`/usr/share/common-licenses/GPL-2'.
+
diff --git a/do-not-use-barrier-on-ext3.patch b/do-not-use-barrier-on-ext3.patch
new file mode 100644 (file)
index 0000000..425c9a5
--- /dev/null
@@ -0,0 +1,11 @@
+--- linux-2.6-2.6.32/fs/ext3/super.c.org       2011-06-24 13:51:47.000000000 +0200
++++ linux-2.6-2.6.32/fs/ext3/super.c   2011-06-24 13:52:01.000000000 +0200
+@@ -1698,8 +1698,6 @@
+       else
+               set_opt(sbi->s_mount_opt, ERRORS_RO);
+-      set_opt(sbi->s_mount_opt, BARRIER);
+-
+       sbi->s_resuid = le16_to_cpu(es->s_def_resuid);
+       sbi->s_resgid = le16_to_cpu(es->s_def_resgid);
diff --git a/e1000e-1.4.4.tar.gz b/e1000e-1.4.4.tar.gz
new file mode 100755 (executable)
index 0000000..820e678
Binary files /dev/null and b/e1000e-1.4.4.tar.gz differ
diff --git a/find-firmware.pl b/find-firmware.pl
new file mode 100755 (executable)
index 0000000..9c79b51
--- /dev/null
@@ -0,0 +1,32 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+my $dir = shift;
+
+die "no directory to scan" if !$dir;
+
+die "no such directory" if ! -d $dir;
+
+die "strange directory name" if $dir !~ m|^(.*/)?(2.6.\d+\-\d+\-pve)(/+)?$|;
+
+my $apiver = $2;
+
+open(TMP, "find '$dir' -name '*.ko'|");
+while (defined(my $fn = <TMP>)) {
+    chomp $fn;
+    my $relfn = $fn;
+    $relfn =~ s|^$dir/*||;
+
+    my $cmd = "modinfo -F firmware '$fn'";
+    open(MOD, "$cmd|");
+    while (defined(my $fw = <MOD>)) {
+       chomp $fw;
+       print "$fw $relfn\n";
+    }
+    close(MOD);
+
+}
+close TMP;
+
+exit 0;
diff --git a/firmware-misc/README b/firmware-misc/README
new file mode 100644 (file)
index 0000000..c096803
--- /dev/null
@@ -0,0 +1,7 @@
+BFA firmware from:
+
+http://www.brocade.com/forms/getFile?p=documents/downloads/HBA/Linux/Drivers/NOARCH/bfa_firmware_linux-2.3.2.3-0.src.rpm
+
+cbfw_fc.bin
+ctfw_cna.bin
+ctfw_fc.bin
diff --git a/firmware-misc/RTL8192SU/rtl8192sfw.bin b/firmware-misc/RTL8192SU/rtl8192sfw.bin
new file mode 100644 (file)
index 0000000..41d6836
Binary files /dev/null and b/firmware-misc/RTL8192SU/rtl8192sfw.bin differ
diff --git a/firmware-misc/aic94xx-seq.fw b/firmware-misc/aic94xx-seq.fw
new file mode 100644 (file)
index 0000000..d9fc42f
Binary files /dev/null and b/firmware-misc/aic94xx-seq.fw differ
diff --git a/firmware-misc/bnx2/bnx2x-e1-5.0.21.0.fw b/firmware-misc/bnx2/bnx2x-e1-5.0.21.0.fw
new file mode 100644 (file)
index 0000000..6f990e9
Binary files /dev/null and b/firmware-misc/bnx2/bnx2x-e1-5.0.21.0.fw differ
diff --git a/firmware-misc/bnx2/bnx2x-e1h-5.0.21.0.fw b/firmware-misc/bnx2/bnx2x-e1h-5.0.21.0.fw
new file mode 100644 (file)
index 0000000..de70fb8
Binary files /dev/null and b/firmware-misc/bnx2/bnx2x-e1h-5.0.21.0.fw differ
diff --git a/firmware-misc/cbfw_fc.bin b/firmware-misc/cbfw_fc.bin
new file mode 100755 (executable)
index 0000000..e68bdc5
Binary files /dev/null and b/firmware-misc/cbfw_fc.bin differ
diff --git a/firmware-misc/ctfw_cna.bin b/firmware-misc/ctfw_cna.bin
new file mode 100755 (executable)
index 0000000..55d4b31
Binary files /dev/null and b/firmware-misc/ctfw_cna.bin differ
diff --git a/firmware-misc/ctfw_fc.bin b/firmware-misc/ctfw_fc.bin
new file mode 100755 (executable)
index 0000000..f02e756
Binary files /dev/null and b/firmware-misc/ctfw_fc.bin differ
diff --git a/firmware-misc/i2400m-fw-usb-1.3.sbcf b/firmware-misc/i2400m-fw-usb-1.3.sbcf
new file mode 100644 (file)
index 0000000..e690305
Binary files /dev/null and b/firmware-misc/i2400m-fw-usb-1.3.sbcf differ
diff --git a/firmware-misc/ipw2x00/LICENSE b/firmware-misc/ipw2x00/LICENSE
new file mode 100644 (file)
index 0000000..4a6e9cd
--- /dev/null
@@ -0,0 +1,327 @@
+                             TERMS AND CONDITIONS
+    IMPORTANT - PLEASE READ BEFORE INSTALLING OR USING THIS INTEL(C) SOFTWARE
+
+Do not use or load this firmware (the "Software") until you have carefully read
+the following terms and conditions. By loading or using the Software, you agree
+to the terms of this Agreement. If you do not wish to so agree, do not install
+or use the Software.
+
+LICENSEES:
+
+Please note: 
+
+* If you are an End-User, only Exhibit A, the SOFTWARE LICENSE AGREEMENT,
+  applies.
+* If you are an Original Equipment Manufacturer (OEM), Independent Hardware
+  Vendor (IHV), or Independent Software Vendor (ISV), this complete Agreement
+  applies 
+  - A part of the license is for ipw 2100 firmware
+  - Another part of the license is for ipw 2200/2915 firmware
+
+
+ipw2100 firmware license For OEMs, IHVs, and ISVs:
+=================================================
+
+LICENSE. This Software is licensed for use only in conjunction with Intel
+component products. Use of the Software in conjunction with non-Intel component
+products is not licensed hereunder. Subject to the terms of this Agreement,
+Intel grants to you a nonexclusive, nontransferable, worldwide, fully paid-up
+license under Intel's copyrights to: (i) copy the Software internally for your
+own development and maintenance purposes; (ii) copy and distribute the Software
+to your end-users, but only under a license agreement with terms at least as
+restrictive as those contained in Intel's Final, Single User License Agreement,
+attached as Exhibit A; and (iii) modify, copy and distribute the end-user
+documentation which may accompany the Software, but only in association with
+the Software.  
+
+If you are not the final manufacturer or vendor of a computer system or software
+program incorporating the Software, then you may transfer a copy of the
+Software, including any related documentation (modified or unmodified) to your
+recipient for use in accordance with the terms of this Agreement, provided such
+recipient agrees to be fully bound by the terms hereof. You shall not otherwise
+assign, sublicense, lease, or in any other way transfer or disclose Software to
+any third party. You may not, nor may you assist any other person or entity to
+modify, translate, convert to another programming language, decompile, reverse
+engineer, or disassemble any portion of the Software or otherwise attempt to
+derive source code from any object code modules of the Software or any internal
+data files generated by the Software. Your rights to redistribute the Software
+shall be contingent upon your installation of this Agreement in its entirety in
+the same directory as the Software.
+
+CONFIDENTIALITY. If you wish to have a third party consultant or subcontractor
+("Contractor") perform work on your behalf which involves access to or use of
+Software, you shall obtain a written confidentiality agreement from the
+Contractor which contains provisions with respect to access to or use of the
+Software no less restrictive than those set forth in this Agreement and
+excluding any distribution rights, and use for any other purpose. Except as 
+expressly provided herein, you shall not disclose the terms or existence of 
+this Agreement or use Intel's name in any publications, advertisements, or 
+other announcements without Intel's prior written consent. You do not have any 
+rights to use any Intel trademarks or logos.
+
+OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Software and accompanying materials, if
+any, are owned by Intel or its suppliers and licensors and may be protected by
+copyright, trademark, patent and trade secret law and international treaties. 
+Any rights, express or implied, in the intellectual property embodied in the
+foregoing, other than those specified in this Agreement, are reserved by Intel
+and its suppliers and licensors or otherwise as set forth in any applicable
+open source license agreement. You will keep the Software free of liens,
+attachments, and other encumbrances.  You agree not to remove any proprietary
+notices and/or any labels from the Software and accompanying materials without
+prior written approval by Intel
+
+LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS AND LICENSORS
+BE LIABLE FOR ANY DAMAGES WHATSOEVER FROM ANY CAUSE OF ACTION OF ANY KIND
+(INCLUDING, WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, OR LOST
+INFORMATION) ARISING OUT OF THE USE, MODIFICATION, OR INABILITY TO USE THE
+INTEL SOFTWARE, OR OTHERWISE, NOR FOR PUNITIVE, INCIDENTAL, CONSEQUENTIAL, OR
+SPECIAL DAMAGES OF ANY KIND, EVEN IF INTEL OR ITS SUPPLIERS AND LICENSORS HAS
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.   SOME JURISDICTIONS PROHIBIT
+EXCLUSION OR LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES, CONSEQUENTIAL OR
+INCIDENTAL DAMAGES, SO CERTAIN LIMITATIONS MAY NOT APPLY.  YOU MAY ALSO HAVE
+OTHER LEGAL RIGHTS THAT VARY BETWEEN JURISDICTIONS. 
+
+EXCLUSION OF WARRANTIES.  THE SOFTWARE IS PROVIDED "AS IS" AND POSSIBLY WITH
+FAULTS. UNLESS EXPRESSLY AGREED OTHERWISE, INTEL AND ITS SUPPLIERS AND
+LICENSORS DISCLAIM ANY AND ALL WARRANTIES AND GUARANTEES, EXPRESS, IMPLIED OR
+OTHERWISE, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE.  Intel does not warrant
+or assume responsibility for the accuracy or completeness of any information,
+text, graphics, links or other items contained within the Software.  You assume
+all liability, financial or otherwise, associated with Your use or disposition
+of the Software.
+               
+APPLICABLE LAW. Claims arising under this Agreement shall be governed by the
+laws of State of California], excluding its principles of conflict of laws and
+the United Nations Convention on Contracts for the Sale of Goods.  
+
+WAIVER AND AMENDMENT. No modification, amendment or waiver of any provision of
+this Agreement shall be effective unless in writing and signed by an officer of
+Intel.  No failure or delay in exercising any right, power, or remedy under
+this Agreement shall operate as a waiver of any such right, power or remedy. 
+Without limiting the foregoing, terms and conditions on any purchase orders or
+similar materials submitted by you to Intel, and any terms contained in Intel\92s
+standard acknowledgment form that are in conflict with these terms, shall be of
+no force or effect.
+
+SEVERABILITY.  If any provision of this Agreement is held by a court of
+competent jurisdiction to be contrary to law, such provision shall be changed
+and interpreted so as to best accomplish the objectives of the original
+provision to the fullest extent allowed by law and the remaining provisions of
+this Agreement shall remain in full force and effect.
+
+EXPORT RESTRICTIONS.  Each party acknowledges that the Software is subject to
+applicable import and export regulations of the United States and of the
+countries in which each party transacts business, specifically including U.S.
+Export Administration Act and Export Administration Regulations.  Each party
+shall comply with such laws and regulations, as well as all other laws and
+regulations applicable to the Software.  Without limiting the generality of the
+foregoing, each party agrees that it will not export, re-export, transfer or
+divert any of the Software or the direct programs thereof to any restricted
+place or party in accordance with U.S. export regulations.  Note that Software
+containing encryption may be subject to additional restrictions.
+
+GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED RIGHTS."
+Use, duplication, or disclosure by the Government is subject to restrictions as
+set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or their successors. Use
+of the Software by the Government constitutes acknowledgment of Intel's
+proprietary rights therein. Contractor or Manufacturer is Intel Corporation,
+2200 Mission College Blvd., Santa Clara, CA  95052.
+
+TERMINATION OF THE AGREEMENT. Intel may terminate this Agreement if you violate
+its terms. Upon termination, you will immediately destroy the Software or
+return all copies of the Software to Intel.
+--------------------------------------------------------------------------------
+
+
+ipw 2200, 2915 firmware license For OEMs, IHVs, and ISVs:
+=========================================================
+
+LICENSE. This Software is licensed for use only in conjunction with Intel
+component products. Use of the Software in conjunction with non-Intel component
+products is not licensed hereunder. Subject to the terms of this Agreement,
+Intel grants to you a nonexclusive, nontransferable, worldwide, fully paid-up
+license under Intel's copyrights to: (i) copy the Software internally for your
+own development and maintenance purposes; (ii) copy and distribute the Software
+to your end-users, but only under a license agreement with terms at least as
+restrictive as those contained in Intel's Final, Single User License Agreement,
+attached as Exhibit A; and (iii) modify, copy and distribute the end-user
+documentation which may accompany the Software, but only in association with
+the Software.  
+
+If you are not the final manufacturer or vendor of a computer system or software
+program incorporating the Software, then you may transfer a copy of the
+Software, including any related documentation (modified or unmodified) to your
+recipient for use in accordance with the terms of this Agreement, provided such
+recipient agrees to be fully bound by the terms hereof. You shall not otherwise
+assign, sublicense, lease, or in any other way transfer or disclose Software to
+any third party. You may not, nor may you assist any other person or entity to
+modify, translate, convert to another programming language, decompile, reverse
+engineer, or disassemble any portion of the Software or otherwise attempt to
+derive source code from any object code modules of the Software or any internal
+data files generated by the Software. Your rights to redistribute the Software
+shall be contingent upon your installation of this Agreement in its entirety in
+the same directory as the Software.
+
+CONTRACTORS. For the purpose of this Agreement, and notwithstanding anything 
+to the contrary hereunder, solely with respect to the requirements for 
+compliance with the terms hereunder, any contractors or consultants that You 
+use to perform the work or otherwise assist You in the development or products 
+using this Software shall be deemed to be End Users and accordingly, upon 
+receipt of the Software, shall be bound by the terms of Exhibit A, Software 
+License Agreement. No additional agreement between You and such consultants or 
+contractors is required under this Agreement to detail such compliance.
+
+TRADEMARKS. Except as expressly provided herein, you shall not use Intel's 
+name in any publications, advertisements, or other announcements without 
+Intel's prior written consent. You do not have any rights to use any Intel 
+trademarks or logos.
+
+OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Software and accompanying materials, if
+any, are owned by Intel or its suppliers and licensors and may be protected by
+copyright, trademark, patent and trade secret law and international treaties. 
+Any rights, express or implied, in the intellectual property embodied in the
+foregoing, other than those specified in this Agreement, are reserved by Intel
+and its suppliers and licensors or otherwise as set forth in any applicable
+open source license agreement. You will keep the Software free of liens,
+attachments, and other encumbrances.  You agree not to remove any proprietary
+notices and/or any labels from the Software and accompanying materials without
+prior written approval by Intel
+
+LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS AND LICENSORS
+BE LIABLE FOR ANY DAMAGES WHATSOEVER FROM ANY CAUSE OF ACTION OF ANY KIND
+(INCLUDING, WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, OR LOST
+INFORMATION) ARISING OUT OF THE USE, MODIFICATION, OR INABILITY TO USE THE
+INTEL SOFTWARE, OR OTHERWISE, NOR FOR PUNITIVE, INCIDENTAL, CONSEQUENTIAL, OR
+SPECIAL DAMAGES OF ANY KIND, EVEN IF INTEL OR ITS SUPPLIERS AND LICENSORS HAS
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.   SOME JURISDICTIONS PROHIBIT
+EXCLUSION OR LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES, CONSEQUENTIAL OR
+INCIDENTAL DAMAGES, SO CERTAIN LIMITATIONS MAY NOT APPLY.  YOU MAY ALSO HAVE
+OTHER LEGAL RIGHTS THAT VARY BETWEEN JURISDICTIONS. 
+
+EXCLUSION OF WARRANTIES.  THE SOFTWARE IS PROVIDED "AS IS" AND POSSIBLY WITH
+FAULTS. UNLESS EXPRESSLY AGREED OTHERWISE, INTEL AND ITS SUPPLIERS AND
+LICENSORS DISCLAIM ANY AND ALL WARRANTIES AND GUARANTEES, EXPRESS, IMPLIED OR
+OTHERWISE, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE.  Intel does not warrant
+or assume responsibility for the accuracy or completeness of any information,
+text, graphics, links or other items contained within the Software.  You assume
+all liability, financial or otherwise, associated with Your use or disposition
+of the Software.
+               
+APPLICABLE LAW. Claims arising under this Agreement shall be governed by the
+laws of State of California], excluding its principles of conflict of laws and
+the United Nations Convention on Contracts for the Sale of Goods.  
+
+WAIVER AND AMENDMENT. No modification, amendment or waiver of any provision of
+this Agreement shall be effective unless in writing and signed by an officer of
+Intel.  No failure or delay in exercising any right, power, or remedy under
+this Agreement shall operate as a waiver of any such right, power or remedy. 
+Without limiting the foregoing, terms and conditions on any purchase orders or
+similar materials submitted by you to Intel, and any terms contained in Intel\92s
+standard acknowledgment form that are in conflict with these terms, shall be of
+no force or effect.
+
+SEVERABILITY.  If any provision of this Agreement is held by a court of
+competent jurisdiction to be contrary to law, such provision shall be changed
+and interpreted so as to best accomplish the objectives of the original
+provision to the fullest extent allowed by law and the remaining provisions of
+this Agreement shall remain in full force and effect.
+
+EXPORT RESTRICTIONS.  Each party acknowledges that the Software is subject to
+applicable import and export regulations of the United States and of the
+countries in which each party transacts business, specifically including U.S.
+Export Administration Act and Export Administration Regulations.  Each party
+shall comply with such laws and regulations, as well as all other laws and
+regulations applicable to the Software.  Without limiting the generality of the
+foregoing, each party agrees that it will not export, re-export, transfer or
+divert any of the Software or the direct programs thereof to any restricted
+place or party in accordance with U.S. export regulations.  Note that Software
+containing encryption may be subject to additional restrictions.
+
+GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED RIGHTS."
+Use, duplication, or disclosure by the Government is subject to restrictions as
+set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or their successors. Use
+of the Software by the Government constitutes acknowledgment of Intel's
+proprietary rights therein. Contractor or Manufacturer is Intel Corporation,
+2200 Mission College Blvd., Santa Clara, CA  95052.
+
+TERMINATION OF THE AGREEMENT. Intel may terminate this Agreement if you violate
+its terms. Upon termination, you will immediately destroy the Software or
+return all copies of the Software to Intel.
+--------------------------------------------------------------------------------
+
+
+ipw 2100, 2200 and 2915 SOFTWARE LICENSE AGREEMENT (Final, Single User)
+=======================================================================
+
+
+EXHIBIT "A"
+
+SOFTWARE LICENSE AGREEMENT (Final, Single User)
+
+IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
+
+Do not use or load this firmware image (the "Software") until you have carefully
+read the following terms and conditions. By loading or using the Software, you
+agree to the terms of this Agreement. If you do not wish to so agree, do not
+install or use the Software.
+
+LICENSE. You may copy and use the Software, subject to these conditions: 
+1. This Software is licensed for use only in conjunction with Intel component
+   products. Use of the Software in conjunction with non-Intel component 
+   products is not licensed hereunder. 
+2. You may not copy, modify, rent, sell, distribute or transfer any part of the
+   Software except as provided in this Agreement, and you agree to prevent
+   unauthorized copying of the Software. 
+3. You may not reverse engineer, decompile, or disassemble the Software. 
+4. You may not sublicense the Software. 
+5. The Software may contain the software or other property of third party
+   suppliers. 
+
+OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software
+remains with Intel or its suppliers. The Software is copyrighted and protected
+by the laws of the United States and other countries, and international treaty
+provisions. You may not remove any copyright notices from the Software. Intel
+may make changes to the Software, or items referenced therein, at any time
+without notice, but is not obligated to support or update the Software. Except
+as otherwise expressly provided, Intel grants no express or implied right under
+Intel patents, copyrights, trademarks, or other intellectual property rights.
+You may transfer the Software only if a copy of this license accompanies the 
+Software and the recipient agrees to be fully bound by these terms.
+
+EXCLUSION OF OTHER WARRANTIES EXCEPT AS PROVIDED ABOVE, THE SOFTWARE IS PROVIDED
+"AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING
+WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR
+PURPOSE. Intel does not warrant or assume responsibility for the accuracy or
+completeness of any information, text, graphics, links or other items contained
+within the Software.
+
+LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS BE LIABLE FOR
+ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, BUSINESS
+INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO
+USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR LIMITATION OF LIABILITY FOR
+IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE
+LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY
+BETWEEN JURISDICTIONS.
+
+TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time if
+you violate its terms. Upon termination, you will immediately destroy the
+Software.
+
+APPLICABLE LAWS. Claims arising under this Agreement shall be governed by the
+laws of California, excluding its principles of conflict of laws and the United
+Nations Convention on Contracts for the Sale of Goods. You may not export the
+Software in violation of applicable export laws and regulations. Intel is not
+obligated under any other agreements unless they are in writing and signed by
+an authorized representative 
+of Intel.
+
+GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED RIGHTS."
+Use, duplication, or disclosure by the Government is subject to restrictions as
+set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or their successors. Use
+of the Software by the Government constitutes acknowledgment of Intel's
+proprietary rights therein. Contractor or Manufacturer is Intel Corporation,
+2200 Mission College Blvd., Santa Clara, CA 95052.
+
diff --git a/firmware-misc/ipw2x00/LICENSE.install b/firmware-misc/ipw2x00/LICENSE.install
new file mode 100644 (file)
index 0000000..34891ce
--- /dev/null
@@ -0,0 +1,70 @@
+SOFTWARE LICENSE AGREEMENT (Final, Single User)
+
+Do not use or load this firmware image (the "Software") until you have carefully
+read the following terms and conditions. By loading or using the Software, you
+agree to the terms of this Agreement. If you do not wish to so agree, do not
+install or use the Software.
+
+LICENSE. You may copy and use the Software, subject to these conditions: 
+
+1. This Software is licensed for use only in conjunction with Intel component
+products. Use of the Software in conjunction with non-Intel component 
+products is not licensed hereunder. 
+
+2. You may not copy, modify, rent, sell, distribute or transfer any part of the
+Software except as provided in this Agreement, and you agree to prevent
+unauthorized copying of the Software. 
+
+3. You may not reverse engineer, decompile, or disassemble the Software. 
+
+4. You may not sublicense the Software. 
+
+5. The Software may contain the software or other property of third party
+suppliers. 
+
+OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software
+remains with Intel or its suppliers. The Software is copyrighted and protected
+by the laws of the United States and other countries, and international treaty
+provisions. You may not remove any copyright notices from the Software. Intel
+may make changes to the Software, or items referenced therein, at any time
+without notice, but is not obligated to support or update the Software. Except
+as otherwise expressly provided, Intel grants no express or implied right under
+Intel patents, copyrights, trademarks, or other intellectual property rights.
+You may transfer the Software only if a copy of this license accompanies the 
+Software and the recipient agrees to be fully bound by these terms.
+
+EXCLUSION OF OTHER WARRANTIES EXCEPT AS PROVIDED ABOVE, THE SOFTWARE IS PROVIDED
+"AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING
+WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR
+PURPOSE. Intel does not warrant or assume responsibility for the accuracy or
+completeness of any information, text, graphics, links or other items contained
+within the Software.
+
+LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS BE LIABLE FOR
+ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, BUSINESS
+INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO
+USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR LIMITATION OF LIABILITY FOR
+IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE
+LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY
+BETWEEN JURISDICTIONS.
+
+TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time if
+you violate its terms. Upon termination, you will immediately destroy the
+Software.
+
+APPLICABLE LAWS. Claims arising under this Agreement shall be governed by the
+laws of California, excluding its principles of conflict of laws and the United
+Nations Convention on Contracts for the Sale of Goods. You may not export the
+Software in violation of applicable export laws and regulations. Intel is not
+obligated under any other agreements unless they are in writing and signed by
+an authorized representative 
+of Intel.
+
+GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED RIGHTS."
+Use, duplication, or disclosure by the Government is subject to restrictions as
+set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or their successors. Use
+of the Software by the Government constitutes acknowledgment of Intel's
+proprietary rights therein. Contractor or Manufacturer is Intel Corporation,
+2200 Mission College Blvd., Santa Clara, CA 95052.
+
diff --git a/firmware-misc/ipw2x00/defines b/firmware-misc/ipw2x00/defines
new file mode 100644 (file)
index 0000000..35479c5
--- /dev/null
@@ -0,0 +1,39 @@
+[base]
+desc: Intel Pro Wireless 2100, 2200 and 2915
+files:
+ ipw2100-1.3.fw
+ ipw2100-1.3-i.fw
+ ipw2100-1.3-p.fw
+ ipw2200-bss.fw
+ ipw2200-ibss.fw
+ ipw2200-sniffer.fw
+license-accept: required                                                                                                       
+license-title: Intel Pro Wireless 2100 and 2200/2915 License
+longdesc: Intel Pro Wireless 2100, 2200 and 2915 cards supported by the
+ ipw2100 and ipw2200 drivers
+uri: http://ipw2100.sourceforge.net/firmware.php?fid=4, http://ipw2200.sourceforge.net/firmware.php?fid=7
+
+[ipw2100-1.3.fw_base]
+desc: Intel Pro Wireless 2100 firmware (bootstrap)
+version: 1.3
+
+[ipw2100-1.3-i.fw_base]
+desc: Intel Pro Wireless 2100 firmware (ibss mode)
+version: 1.3
+
+[ipw2100-1.3-p.fw_base]
+desc: Intel Pro Wireless 2100 firmware (monitor mode)
+version: 1.3
+
+[ipw2200-bss.fw_base]
+desc: Intel Pro Wireless 2200/2915 firmware (bss)
+version: 3.0
+
+[ipw2200-ibss.fw_base]
+desc: Intel Pro Wireless 2200/2915 firmware (ibss)
+version: 3.0
+
+[ipw2200-sniffer.fw_base]
+desc: Intel Pro Wireless 2200/2915 firmware (snf)
+version: 3.0
+
diff --git a/firmware-misc/ipw2x00/ipw2100-1.3-i.fw b/firmware-misc/ipw2x00/ipw2100-1.3-i.fw
new file mode 100644 (file)
index 0000000..85c9ca5
Binary files /dev/null and b/firmware-misc/ipw2x00/ipw2100-1.3-i.fw differ
diff --git a/firmware-misc/ipw2x00/ipw2100-1.3-p.fw b/firmware-misc/ipw2x00/ipw2100-1.3-p.fw
new file mode 100644 (file)
index 0000000..6fda4c3
Binary files /dev/null and b/firmware-misc/ipw2x00/ipw2100-1.3-p.fw differ
diff --git a/firmware-misc/ipw2x00/ipw2100-1.3.fw b/firmware-misc/ipw2x00/ipw2100-1.3.fw
new file mode 100644 (file)
index 0000000..be2a69c
Binary files /dev/null and b/firmware-misc/ipw2x00/ipw2100-1.3.fw differ
diff --git a/firmware-misc/ipw2x00/ipw2200-bss.fw b/firmware-misc/ipw2x00/ipw2200-bss.fw
new file mode 100644 (file)
index 0000000..63d7af8
Binary files /dev/null and b/firmware-misc/ipw2x00/ipw2200-bss.fw differ
diff --git a/firmware-misc/ipw2x00/ipw2200-ibss.fw b/firmware-misc/ipw2x00/ipw2200-ibss.fw
new file mode 100644 (file)
index 0000000..4809211
Binary files /dev/null and b/firmware-misc/ipw2x00/ipw2200-ibss.fw differ
diff --git a/firmware-misc/ipw2x00/ipw2200-sniffer.fw b/firmware-misc/ipw2x00/ipw2200-sniffer.fw
new file mode 100644 (file)
index 0000000..ae3767e
Binary files /dev/null and b/firmware-misc/ipw2x00/ipw2200-sniffer.fw differ
diff --git a/fix-register-corruption-in-pvclock-scale-delta.patch b/fix-register-corruption-in-pvclock-scale-delta.patch
new file mode 100644 (file)
index 0000000..0bf1476
--- /dev/null
@@ -0,0 +1,42 @@
+From: Zachary Amsden <zamsden@redhat.com>
+Date: Thu, 16 Jun 2011 03:50:04 +0000 (-0700)
+Subject: KVM: Fix register corruption in pvclock_scale_delta
+X-Git-Url: http://git.kernel.org/?p=virt%2Fkvm%2Fkvm.git;a=commitdiff_plain;h=eaa6a665a3c0fb5f8dbf25bca02eae5594095f4f
+
+KVM: Fix register corruption in pvclock_scale_delta
+
+The 128-bit multiply in pvclock.h was missing an output constraint for
+EDX which caused a register corruption to appear.  Thanks to Ulrich for
+diagnosing the EDX corruption and Avi for providing this fix.
+
+Signed-off-by: Zachary Amsden <zamsden@redhat.com>
+Signed-off-by: Avi Kivity <avi@redhat.com>
+---
+
+diff --git a/arch/x86/include/asm/pvclock.h b/arch/x86/include/asm/pvclock.h
+index 31d84ac..a518c0a 100644
+--- a/arch/x86/include/asm/pvclock.h
++++ b/arch/x86/include/asm/pvclock.h
+@@ -22,6 +22,8 @@ static inline u64 pvclock_scale_delta(u64 delta, u32 mul_frac, int shift)
+       u64 product;
+ #ifdef __i386__
+       u32 tmp1, tmp2;
++#else
++      ulong tmp;
+ #endif
+       if (shift < 0)
+@@ -42,8 +44,11 @@ static inline u64 pvclock_scale_delta(u64 delta, u32 mul_frac, int shift)
+               : "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (mul_frac) );
+ #elif defined(__x86_64__)
+       __asm__ (
+-              "mul %%rdx ; shrd $32,%%rdx,%%rax"
+-              : "=a" (product) : "0" (delta), "d" ((u64)mul_frac) );
++              "mul %[mul_frac] ; shrd $32, %[hi], %[lo]"
++              : [lo]"=a"(product),
++                [hi]"=d"(tmp)
++              : "0"(delta),
++                [mul_frac]"rm"((u64)mul_frac));
+ #else
+ #error implement me!
+ #endif
diff --git a/fwlist-2.6.18-2-pve b/fwlist-2.6.18-2-pve
new file mode 100644 (file)
index 0000000..22ccada
--- /dev/null
@@ -0,0 +1,5 @@
+rt2661.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561s.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt73.bin kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+iwlwifi-4965-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
diff --git a/fwlist-2.6.24-12-pve b/fwlist-2.6.24-12-pve
new file mode 100644 (file)
index 0000000..a3ea378
--- /dev/null
@@ -0,0 +1,78 @@
+mixart/miXart8AES.xlx kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.elf kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.xlx kernel/sound/pci/mixart/snd-mixart.ko
+pcxhr/d321_512.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/b321_512.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/e321_512.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xc_1_882.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xi_1_882.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+riptide.hex kernel/sound/pci/riptide/snd-riptide.ko
+ea/gina24_361_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_361_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/3g_asic.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/echo3g_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/layla20_asic.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla20_dsp.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla24_2S_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_2A_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_1_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/darla20_dsp.fw kernel/sound/pci/echoaudio/snd-darla20.ko
+ea/mona_2_asic.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/indigo_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/darla24_dsp.fw kernel/sound/pci/echoaudio/snd-darla24.ko
+ea/indigo_io_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/indigo_dj_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/gina20_dsp.fw kernel/sound/pci/echoaudio/snd-gina20.ko
+ea/mia_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+emu/emu1010_notebook.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/micro_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu1010b.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/audio_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/hana.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+vx/l_1_vp4.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vxp.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_v22.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vx2.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563s3.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563v2.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd56002.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vp4.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vxp.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_2_v22.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vx2.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vp4.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vxp.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+aic94xx-seq.fw kernel/drivers/scsi/aic94xx/aic94xx.ko
+ql2400_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2322_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2300_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2200_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+BT3CPCC.bin kernel/drivers/bluetooth/bt3c_cs.ko
+bfubase.frm kernel/drivers/bluetooth/bfusb.ko
+BCM2033-FW.bin kernel/drivers/bluetooth/bcm203x.ko
+BCM2033-MD.hex kernel/drivers/bluetooth/bcm203x.ko
+rt2661.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561s.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt73.bin kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+tigon/tg3_tso5.bin kernel/drivers/net/tg3.ko
+tigon/tg3_tso.bin kernel/drivers/net/tg3.ko
+tigon/tg3.bin kernel/drivers/net/tg3.ko
diff --git a/fwlist-2.6.32-3-pve b/fwlist-2.6.32-3-pve
new file mode 100644 (file)
index 0000000..fe20587
--- /dev/null
@@ -0,0 +1,365 @@
+korg/k1212.dsp kernel/sound/pci/korg1212/snd-korg1212.ko
+mixart/miXart8AES.xlx kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.elf kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.xlx kernel/sound/pci/mixart/snd-mixart.ko
+pcxhr/dspd222.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb924.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspe924.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc924.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc222.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspd1222.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb1222e.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb1222hr.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc1222e.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc1222hr.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspd882.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb882e.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb882hr.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspe882.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc882e.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc882hr.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxint.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+riptide.hex kernel/sound/pci/riptide/snd-riptide.ko
+ea/gina24_361_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_361_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/3g_asic.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/echo3g_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/layla20_asic.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla20_dsp.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla24_2S_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_2A_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_1_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/darla20_dsp.fw kernel/sound/pci/echoaudio/snd-darla20.ko
+ea/indigo_djx_dsp.fw kernel/sound/pci/echoaudio/snd-indigodjx.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodjx.ko
+ea/mona_2_asic.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/indigo_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/darla24_dsp.fw kernel/sound/pci/echoaudio/snd-darla24.ko
+ea/indigo_io_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/indigo_dj_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/gina20_dsp.fw kernel/sound/pci/echoaudio/snd-gina20.ko
+ea/indigo_iox_dsp.fw kernel/sound/pci/echoaudio/snd-indigoiox.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoiox.ko
+ea/mia_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+yamaha/ds1e_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+yamaha/ds1_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+yamaha/ds1_dsp.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+ess/maestro3_assp_minisrc.fw kernel/sound/pci/snd-maestro3.ko
+ess/maestro3_assp_kernel.fw kernel/sound/pci/snd-maestro3.ko
+cs46xx/cs46xx-old.fw kernel/sound/pci/cs46xx/snd-cs46xx.ko
+emu/emu1010_notebook.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu0404.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/micro_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu1010b.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/audio_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/hana.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+vx/l_1_vp4.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vxp.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_v22.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vx2.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563s3.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563v2.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd56002.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vp4.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vxp.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_2_v22.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vx2.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vp4.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vxp.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+cbfw.bin kernel/drivers/scsi/bfa/bfa.ko
+ctfw.bin kernel/drivers/scsi/bfa/bfa.ko
+aic94xx-seq.fw kernel/drivers/scsi/aic94xx/aic94xx.ko
+qlogic/12160.bin kernel/drivers/scsi/qla1280.ko
+qlogic/1280.bin kernel/drivers/scsi/qla1280.ko
+qlogic/1040.bin kernel/drivers/scsi/qla1280.ko
+advansys/38C1600.bin kernel/drivers/scsi/advansys.ko
+advansys/38C0800.bin kernel/drivers/scsi/advansys.ko
+advansys/3550.bin kernel/drivers/scsi/advansys.ko
+advansys/mcode.bin kernel/drivers/scsi/advansys.ko
+ql8100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2500_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2400_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2322_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2300_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2200_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+isdn/ISAR.BIN kernel/drivers/isdn/hardware/mISDN/speedfax.ko
+qlogic/sd7220.fw kernel/drivers/infiniband/hw/ipath/ib_ipath.ko
+matrox/g400_warp.fw kernel/drivers/gpu/drm/mga/mga.ko
+matrox/g200_warp.fw kernel/drivers/gpu/drm/mga/mga.ko
+r128/r128_cce.bin kernel/drivers/gpu/drm/r128/r128.ko
+radeon/R520_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS600_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS690_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R420_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R300_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R200_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R100_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R520_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS600_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS690_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R420_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R300_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R200_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R100_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R700_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+intelliport2.bin kernel/drivers/char/ip2/ip2.ko
+cyzfirm.bin kernel/drivers/char/cyclades.ko
+isi4616.bin kernel/drivers/char/isicom.ko
+isi4608.bin kernel/drivers/char/isicom.ko
+isi616em.bin kernel/drivers/char/isicom.ko
+isi608em.bin kernel/drivers/char/isicom.ko
+isi608.bin kernel/drivers/char/isicom.ko
+c320tunx.cod kernel/drivers/char/moxa.ko
+cp204unx.cod kernel/drivers/char/moxa.ko
+c218tunx.cod kernel/drivers/char/moxa.ko
+isight.fw kernel/drivers/usb/misc/isight_firmware.ko
+emi26/firmware.fw kernel/drivers/usb/misc/emi26.ko
+emi26/bitstream.fw kernel/drivers/usb/misc/emi26.ko
+emi26/loader.fw kernel/drivers/usb/misc/emi26.ko
+emi62/spdif.fw kernel/drivers/usb/misc/emi62.ko
+emi62/bitstream.fw kernel/drivers/usb/misc/emi62.ko
+emi62/loader.fw kernel/drivers/usb/misc/emi62.ko
+keyspan_pda/xircom_pgs.fw kernel/drivers/usb/serial/keyspan_pda.ko
+keyspan_pda/keyspan_pda.fw kernel/drivers/usb/serial/keyspan_pda.ko
+keyspan/usa49wlc.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa49w.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19w.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa18x.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19qw.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/mpr.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19qi.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28xb.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28xa.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28x.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28.fw kernel/drivers/usb/serial/keyspan.ko
+edgeport/down2.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/down.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/boot2.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/boot.fw kernel/drivers/usb/serial/io_edgeport.ko
+mts_edge.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_gsm.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_cdma.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+ti_5052.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+ti_3410.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+whiteheat_loader.fw kernel/drivers/usb/serial/whiteheat.ko
+whiteheat.fw kernel/drivers/usb/serial/whiteheat.ko
+edgeport/down3.bin kernel/drivers/usb/serial/io_ti.ko
+BT3CPCC.bin kernel/drivers/bluetooth/bt3c_cs.ko
+sd8688.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
+sd8688_helper.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
+bfubase.frm kernel/drivers/bluetooth/bfusb.ko
+BCM2033-FW.bin kernel/drivers/bluetooth/bcm203x.ko
+BCM2033-MD.hex kernel/drivers/bluetooth/bcm203x.ko
+solos-db-FPGA.bin kernel/drivers/atm/solos-pci.ko
+solos-Firmware.bin kernel/drivers/atm/solos-pci.ko
+solos-FPGA.bin kernel/drivers/atm/solos-pci.ko
+pca200e_ecd.bin2 kernel/drivers/atm/fore_200e.ko
+atmsar11.fw kernel/drivers/atm/ambassador.ko
+vicam/firmware.fw kernel/drivers/media/video/usbvideo/vicam.ko
+av7110/bootcode.bin kernel/drivers/media/dvb/ttpci/dvb-ttpci.ko
+ttusb-budget/dspbootcode.bin kernel/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.ko
+comedi/jr3pci.idm kernel/drivers/staging/comedi/drivers/jr3_pci.ko
+RTL8192E/data.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+RTL8192E/main.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+RTL8192E/boot.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+prism2_ru.fw kernel/drivers/staging/wlan-ng/prism2_usb.ko
+rt3090.bin kernel/drivers/staging/rt2860/rt2860sta.ko
+rt2860.bin kernel/drivers/staging/rt2860/rt2860sta.ko
+RTL8192SU/rtl8192sfw.bin kernel/drivers/staging/rtl8192su/r8192s_usb.ko
+rt3071.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+rt3070.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+rt2870.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+tms380tr.bin kernel/drivers/net/tokenring/tms380tr.ko
+3com/3C359.bin kernel/drivers/net/tokenring/3c359.ko
+acenic/tg2.bin kernel/drivers/net/acenic.ko
+acenic/tg1.bin kernel/drivers/net/acenic.ko
+adaptec/starfire_tx.bin kernel/drivers/net/starfire.ko
+adaptec/starfire_rx.bin kernel/drivers/net/starfire.ko
+3com/typhoon.bin kernel/drivers/net/typhoon.ko
+bnx2/bnx2-rv2p-09ax-5.0.0.j3.fw kernel/drivers/net/bnx2.ko
+bnx2/bnx2-rv2p-09-5.0.0.j3.fw kernel/drivers/net/bnx2.ko
+bnx2/bnx2-mips-09-5.0.0.j3.fw kernel/drivers/net/bnx2.ko
+bnx2/bnx2-rv2p-06-5.0.0.j3.fw kernel/drivers/net/bnx2.ko
+bnx2/bnx2-mips-06-5.0.0.j3.fw kernel/drivers/net/bnx2.ko
+lbtf_usb.bin kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+FW10 kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+sd8688.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8688_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8686.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8686_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8385.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8385_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+libertas_cs_helper.fw kernel/drivers/net/wireless/libertas/libertas_cs.ko
+usb8388.bin kernel/drivers/net/wireless/libertas/usb8xxx.ko
+libertas/gspi8686.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8686_hlp.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8385.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8385_hlp.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+ipw2200-bss.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+ipw2200-sniffer.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+ipw2200-ibss.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+wl1271-fw.bin kernel/drivers/net/wireless/wl12xx/wl1271.ko
+wl1251-fw.bin kernel/drivers/net/wireless/wl12xx/wl1251.ko
+symbol_sp24t_sec_fw kernel/drivers/net/wireless/orinoco/orinoco.ko
+symbol_sp24t_prim_fw kernel/drivers/net/wireless/orinoco/orinoco.ko
+prism_ap_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+prism_sta_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+agere_ap_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+agere_sta_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+ar9170-2.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+ar9170-1.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+ar9170.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+atmel_at76c505amx-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505a-rfmd2958.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505-rfmd2958.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-rfmd-acc.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-i3863.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-i3861.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+FW13 kernel/drivers/net/wireless/b43/b43.ko
+iwmc3200wifi-lmac-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+iwmc3200wifi-calib-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+iwmc3200wifi-umac-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+zd1211/zd1211_uphr kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_uphr kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211_ub kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_ub kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211_ur kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_ur kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+rt2661.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561s.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt73.bin kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+rt2870.bin kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+atmel_at76c506.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c506-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504a_2958.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504a_2958-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504_2958.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504_2958-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502_3com.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502_3com-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502e.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502e-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502d.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502d-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502-wpa.bin kernel/drivers/net/wireless/atmel.ko
+zd1201.fw kernel/drivers/net/wireless/zd1201.ko
+zd1201-ap.fw kernel/drivers/net/wireless/zd1201.ko
+mwl8k/fmimage_8687.fw kernel/drivers/net/wireless/mwl8k.ko
+mwl8k/helper_8687.fw kernel/drivers/net/wireless/mwl8k.ko
+isl3887usb kernel/drivers/net/wireless/p54/p54usb.ko
+isl3886usb kernel/drivers/net/wireless/p54/p54usb.ko
+isl3886pci kernel/drivers/net/wireless/p54/p54pci.ko
+3826.arm kernel/drivers/net/wireless/p54/p54spi.ko
+iwlwifi-3945-2.ucode kernel/drivers/net/wireless/iwlwifi/iwl3945.ko
+iwlwifi-4965-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-5150-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-5000-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6050-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6000-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+e100/d102e_ucode.bin kernel/drivers/net/e100.ko
+e100/d101s_ucode.bin kernel/drivers/net/e100.ko
+e100/d101m_ucode.bin kernel/drivers/net/e100.ko
+tehuti/firmware.bin kernel/drivers/net/tehuti.ko
+bnx2x-e1h-5.0.21.0.fw kernel/drivers/net/bnx2x.ko
+bnx2x-e1-5.0.21.0.fw kernel/drivers/net/bnx2x.ko
+kaweth/trigger_code_fix.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/trigger_code.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/new_code_fix.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/new_code.bin kernel/drivers/net/usb/kaweth.ko
+i2400m-fw-sdio-1.3.sbcf kernel/drivers/net/wimax/i2400m/i2400m-sdio.ko
+i2400m-fw-usb-1.3.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
+i2400m-fw-usb-1.4.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
+phanfw.bin kernel/drivers/net/netxen/netxen_nic.ko
+nx3fwmn.bin kernel/drivers/net/netxen/netxen_nic.ko
+nx3fwct.bin kernel/drivers/net/netxen/netxen_nic.ko
+nxromimg.bin kernel/drivers/net/netxen/netxen_nic.ko
+tigon/tg3_tso5.bin kernel/drivers/net/tg3.ko
+tigon/tg3_tso.bin kernel/drivers/net/tg3.ko
+tigon/tg3.bin kernel/drivers/net/tg3.ko
+cxgb3/ael2020_twx_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/ael2005_twx_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/ael2005_opt_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3c_psram-1.1.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3b_psram-1.1.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3fw-7.4.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+yam/9600.bin kernel/drivers/net/hamradio/yam.ko
+yam/1200.bin kernel/drivers/net/hamradio/yam.ko
+ositech/Xilinx7OD.bin kernel/drivers/net/pcmcia/smc91c92_cs.ko
+cis/tamarack.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PE-200.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/NE2K.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+PE520.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/LA-PCM.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/DP83903.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PCMLM28.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+sun/cassini.bin kernel/drivers/net/cassini.ko
+myri10ge_rss_eth_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_rss_ethp_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_eth_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_ethp_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
diff --git a/fwlist-2.6.32-4-pve b/fwlist-2.6.32-4-pve
new file mode 100644 (file)
index 0000000..761db65
--- /dev/null
@@ -0,0 +1,362 @@
+korg/k1212.dsp kernel/sound/pci/korg1212/snd-korg1212.ko
+mixart/miXart8AES.xlx kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.elf kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.xlx kernel/sound/pci/mixart/snd-mixart.ko
+pcxhr/dspd222.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb924.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspe924.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc924.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc222.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspd1222.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb1222e.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb1222hr.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc1222e.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc1222hr.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspd882.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb882e.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb882hr.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspe882.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc882e.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc882hr.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxint.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+riptide.hex kernel/sound/pci/riptide/snd-riptide.ko
+ea/gina24_361_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_361_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/3g_asic.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/echo3g_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/layla20_asic.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla20_dsp.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla24_2S_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_2A_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_1_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/darla20_dsp.fw kernel/sound/pci/echoaudio/snd-darla20.ko
+ea/indigo_djx_dsp.fw kernel/sound/pci/echoaudio/snd-indigodjx.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodjx.ko
+ea/mona_2_asic.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/indigo_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/darla24_dsp.fw kernel/sound/pci/echoaudio/snd-darla24.ko
+ea/indigo_io_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/indigo_dj_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/gina20_dsp.fw kernel/sound/pci/echoaudio/snd-gina20.ko
+ea/indigo_iox_dsp.fw kernel/sound/pci/echoaudio/snd-indigoiox.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoiox.ko
+ea/mia_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+yamaha/ds1e_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+yamaha/ds1_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+yamaha/ds1_dsp.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+ess/maestro3_assp_minisrc.fw kernel/sound/pci/snd-maestro3.ko
+ess/maestro3_assp_kernel.fw kernel/sound/pci/snd-maestro3.ko
+cs46xx/cs46xx-old.fw kernel/sound/pci/cs46xx/snd-cs46xx.ko
+emu/emu1010_notebook.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu0404.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/micro_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu1010b.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/audio_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/hana.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+vx/l_1_vp4.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vxp.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_v22.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vx2.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563s3.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563v2.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd56002.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vp4.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vxp.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_2_v22.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vx2.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vp4.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vxp.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+cbfw.bin kernel/drivers/scsi/bfa/bfa.ko
+ctfw.bin kernel/drivers/scsi/bfa/bfa.ko
+aic94xx-seq.fw kernel/drivers/scsi/aic94xx/aic94xx.ko
+qlogic/12160.bin kernel/drivers/scsi/qla1280.ko
+qlogic/1280.bin kernel/drivers/scsi/qla1280.ko
+qlogic/1040.bin kernel/drivers/scsi/qla1280.ko
+advansys/38C1600.bin kernel/drivers/scsi/advansys.ko
+advansys/38C0800.bin kernel/drivers/scsi/advansys.ko
+advansys/3550.bin kernel/drivers/scsi/advansys.ko
+advansys/mcode.bin kernel/drivers/scsi/advansys.ko
+ql8100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2500_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2400_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2322_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2300_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2200_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+isdn/ISAR.BIN kernel/drivers/isdn/hardware/mISDN/speedfax.ko
+qlogic/sd7220.fw kernel/drivers/infiniband/hw/ipath/ib_ipath.ko
+matrox/g400_warp.fw kernel/drivers/gpu/drm/mga/mga.ko
+matrox/g200_warp.fw kernel/drivers/gpu/drm/mga/mga.ko
+r128/r128_cce.bin kernel/drivers/gpu/drm/r128/r128.ko
+radeon/R520_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS600_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS690_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R420_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R300_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R200_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R100_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R520_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS600_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS690_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R420_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R300_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R200_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R100_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R700_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+intelliport2.bin kernel/drivers/char/ip2/ip2.ko
+cyzfirm.bin kernel/drivers/char/cyclades.ko
+isi4616.bin kernel/drivers/char/isicom.ko
+isi4608.bin kernel/drivers/char/isicom.ko
+isi616em.bin kernel/drivers/char/isicom.ko
+isi608em.bin kernel/drivers/char/isicom.ko
+isi608.bin kernel/drivers/char/isicom.ko
+c320tunx.cod kernel/drivers/char/moxa.ko
+cp204unx.cod kernel/drivers/char/moxa.ko
+c218tunx.cod kernel/drivers/char/moxa.ko
+isight.fw kernel/drivers/usb/misc/isight_firmware.ko
+emi26/firmware.fw kernel/drivers/usb/misc/emi26.ko
+emi26/bitstream.fw kernel/drivers/usb/misc/emi26.ko
+emi26/loader.fw kernel/drivers/usb/misc/emi26.ko
+emi62/spdif.fw kernel/drivers/usb/misc/emi62.ko
+emi62/bitstream.fw kernel/drivers/usb/misc/emi62.ko
+emi62/loader.fw kernel/drivers/usb/misc/emi62.ko
+keyspan_pda/xircom_pgs.fw kernel/drivers/usb/serial/keyspan_pda.ko
+keyspan_pda/keyspan_pda.fw kernel/drivers/usb/serial/keyspan_pda.ko
+keyspan/usa49wlc.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa49w.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19w.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa18x.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19qw.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/mpr.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19qi.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28xb.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28xa.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28x.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28.fw kernel/drivers/usb/serial/keyspan.ko
+edgeport/down2.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/down.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/boot2.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/boot.fw kernel/drivers/usb/serial/io_edgeport.ko
+mts_edge.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_gsm.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_cdma.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+ti_5052.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+ti_3410.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+whiteheat_loader.fw kernel/drivers/usb/serial/whiteheat.ko
+whiteheat.fw kernel/drivers/usb/serial/whiteheat.ko
+edgeport/down3.bin kernel/drivers/usb/serial/io_ti.ko
+BT3CPCC.bin kernel/drivers/bluetooth/bt3c_cs.ko
+sd8688.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
+sd8688_helper.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
+bfubase.frm kernel/drivers/bluetooth/bfusb.ko
+BCM2033-FW.bin kernel/drivers/bluetooth/bcm203x.ko
+BCM2033-MD.hex kernel/drivers/bluetooth/bcm203x.ko
+solos-db-FPGA.bin kernel/drivers/atm/solos-pci.ko
+solos-Firmware.bin kernel/drivers/atm/solos-pci.ko
+solos-FPGA.bin kernel/drivers/atm/solos-pci.ko
+pca200e_ecd.bin2 kernel/drivers/atm/fore_200e.ko
+atmsar11.fw kernel/drivers/atm/ambassador.ko
+vicam/firmware.fw kernel/drivers/media/video/usbvideo/vicam.ko
+av7110/bootcode.bin kernel/drivers/media/dvb/ttpci/dvb-ttpci.ko
+ttusb-budget/dspbootcode.bin kernel/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.ko
+comedi/jr3pci.idm kernel/drivers/staging/comedi/drivers/jr3_pci.ko
+RTL8192E/data.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+RTL8192E/main.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+RTL8192E/boot.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+prism2_ru.fw kernel/drivers/staging/wlan-ng/prism2_usb.ko
+rt3090.bin kernel/drivers/staging/rt2860/rt2860sta.ko
+rt2860.bin kernel/drivers/staging/rt2860/rt2860sta.ko
+RTL8192SU/rtl8192sfw.bin kernel/drivers/staging/rtl8192su/r8192s_usb.ko
+rt3071.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+rt3070.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+rt2870.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+ctfw_cna.bin kernel/drivers/net/bna/bna.ko
+tms380tr.bin kernel/drivers/net/tokenring/tms380tr.ko
+3com/3C359.bin kernel/drivers/net/tokenring/3c359.ko
+acenic/tg2.bin kernel/drivers/net/acenic.ko
+acenic/tg1.bin kernel/drivers/net/acenic.ko
+adaptec/starfire_tx.bin kernel/drivers/net/starfire.ko
+adaptec/starfire_rx.bin kernel/drivers/net/starfire.ko
+phanfw.bin kernel/drivers/net/qlcnic/qlcnic.ko
+3com/typhoon.bin kernel/drivers/net/typhoon.ko
+lbtf_usb.bin kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+FW10 kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+sd8688.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8688_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8686.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8686_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8385.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8385_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+libertas_cs_helper.fw kernel/drivers/net/wireless/libertas/libertas_cs.ko
+usb8388.bin kernel/drivers/net/wireless/libertas/usb8xxx.ko
+libertas/gspi8686.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8686_hlp.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8385.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8385_hlp.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+ipw2200-bss.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+ipw2200-sniffer.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+ipw2200-ibss.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+wl1271-fw.bin kernel/drivers/net/wireless/wl12xx/wl1271.ko
+wl1251-fw.bin kernel/drivers/net/wireless/wl12xx/wl1251.ko
+symbol_sp24t_sec_fw kernel/drivers/net/wireless/orinoco/orinoco.ko
+symbol_sp24t_prim_fw kernel/drivers/net/wireless/orinoco/orinoco.ko
+prism_ap_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+prism_sta_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+agere_ap_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+agere_sta_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+ar9170-2.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+ar9170-1.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+ar9170.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+atmel_at76c505amx-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505a-rfmd2958.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505-rfmd2958.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-rfmd-acc.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-i3863.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-i3861.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+FW13 kernel/drivers/net/wireless/b43/b43.ko
+iwmc3200wifi-lmac-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+iwmc3200wifi-calib-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+iwmc3200wifi-umac-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+zd1211/zd1211_uphr kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_uphr kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211_ub kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_ub kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211_ur kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_ur kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+rt2661.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561s.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt73.bin kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+rt2870.bin kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+atmel_at76c506.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c506-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504a_2958.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504a_2958-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504_2958.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504_2958-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502_3com.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502_3com-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502e.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502e-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502d.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502d-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502-wpa.bin kernel/drivers/net/wireless/atmel.ko
+zd1201.fw kernel/drivers/net/wireless/zd1201.ko
+zd1201-ap.fw kernel/drivers/net/wireless/zd1201.ko
+mwl8k/fmimage_8687.fw kernel/drivers/net/wireless/mwl8k.ko
+mwl8k/helper_8687.fw kernel/drivers/net/wireless/mwl8k.ko
+isl3887usb kernel/drivers/net/wireless/p54/p54usb.ko
+isl3886usb kernel/drivers/net/wireless/p54/p54usb.ko
+isl3886pci kernel/drivers/net/wireless/p54/p54pci.ko
+3826.arm kernel/drivers/net/wireless/p54/p54spi.ko
+iwlwifi-3945-2.ucode kernel/drivers/net/wireless/iwlwifi/iwl3945.ko
+iwlwifi-4965-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-5150-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-5000-5.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6050-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6000-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+e100/d102e_ucode.bin kernel/drivers/net/e100.ko
+e100/d101s_ucode.bin kernel/drivers/net/e100.ko
+e100/d101m_ucode.bin kernel/drivers/net/e100.ko
+tehuti/bdx.bin kernel/drivers/net/tehuti.ko
+rtl_nic/rtl8168d-2.fw kernel/drivers/net/r8169.ko
+rtl_nic/rtl8168d-1.fw kernel/drivers/net/r8169.ko
+kaweth/trigger_code_fix.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/trigger_code.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/new_code_fix.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/new_code.bin kernel/drivers/net/usb/kaweth.ko
+i2400m-fw-sdio-1.3.sbcf kernel/drivers/net/wimax/i2400m/i2400m-sdio.ko
+i2400m-fw-usb-1.3.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
+i2400m-fw-usb-1.4.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
+phanfw.bin kernel/drivers/net/netxen/netxen_nic.ko
+nx3fwmn.bin kernel/drivers/net/netxen/netxen_nic.ko
+nx3fwct.bin kernel/drivers/net/netxen/netxen_nic.ko
+nxromimg.bin kernel/drivers/net/netxen/netxen_nic.ko
+tigon/tg3_tso5.bin kernel/drivers/net/tg3.ko
+tigon/tg3_tso.bin kernel/drivers/net/tg3.ko
+tigon/tg3.bin kernel/drivers/net/tg3.ko
+cxgb3/ael2020_twx_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/ael2005_twx_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/ael2005_opt_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3c_psram-1.1.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3b_psram-1.1.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3fw-7.4.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+yam/9600.bin kernel/drivers/net/hamradio/yam.ko
+yam/1200.bin kernel/drivers/net/hamradio/yam.ko
+ositech/Xilinx7OD.bin kernel/drivers/net/pcmcia/smc91c92_cs.ko
+cis/tamarack.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PE-200.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/NE2K.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+PE520.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/LA-PCM.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/DP83903.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PCMLM28.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+sun/cassini.bin kernel/drivers/net/cassini.ko
+myri10ge_rss_eth_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_rss_ethp_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_eth_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_ethp_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
diff --git a/fwlist-2.6.32-5-pve b/fwlist-2.6.32-5-pve
new file mode 100644 (file)
index 0000000..761db65
--- /dev/null
@@ -0,0 +1,362 @@
+korg/k1212.dsp kernel/sound/pci/korg1212/snd-korg1212.ko
+mixart/miXart8AES.xlx kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.elf kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.xlx kernel/sound/pci/mixart/snd-mixart.ko
+pcxhr/dspd222.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb924.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspe924.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc924.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc222.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspd1222.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb1222e.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb1222hr.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc1222e.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc1222hr.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspd882.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb882e.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb882hr.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspe882.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc882e.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc882hr.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxint.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+riptide.hex kernel/sound/pci/riptide/snd-riptide.ko
+ea/gina24_361_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_361_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/3g_asic.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/echo3g_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/layla20_asic.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla20_dsp.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla24_2S_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_2A_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_1_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/darla20_dsp.fw kernel/sound/pci/echoaudio/snd-darla20.ko
+ea/indigo_djx_dsp.fw kernel/sound/pci/echoaudio/snd-indigodjx.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodjx.ko
+ea/mona_2_asic.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/indigo_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/darla24_dsp.fw kernel/sound/pci/echoaudio/snd-darla24.ko
+ea/indigo_io_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/indigo_dj_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/gina20_dsp.fw kernel/sound/pci/echoaudio/snd-gina20.ko
+ea/indigo_iox_dsp.fw kernel/sound/pci/echoaudio/snd-indigoiox.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoiox.ko
+ea/mia_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+yamaha/ds1e_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+yamaha/ds1_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+yamaha/ds1_dsp.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+ess/maestro3_assp_minisrc.fw kernel/sound/pci/snd-maestro3.ko
+ess/maestro3_assp_kernel.fw kernel/sound/pci/snd-maestro3.ko
+cs46xx/cs46xx-old.fw kernel/sound/pci/cs46xx/snd-cs46xx.ko
+emu/emu1010_notebook.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu0404.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/micro_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu1010b.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/audio_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/hana.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+vx/l_1_vp4.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vxp.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_v22.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vx2.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563s3.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563v2.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd56002.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vp4.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vxp.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_2_v22.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vx2.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vp4.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vxp.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+cbfw.bin kernel/drivers/scsi/bfa/bfa.ko
+ctfw.bin kernel/drivers/scsi/bfa/bfa.ko
+aic94xx-seq.fw kernel/drivers/scsi/aic94xx/aic94xx.ko
+qlogic/12160.bin kernel/drivers/scsi/qla1280.ko
+qlogic/1280.bin kernel/drivers/scsi/qla1280.ko
+qlogic/1040.bin kernel/drivers/scsi/qla1280.ko
+advansys/38C1600.bin kernel/drivers/scsi/advansys.ko
+advansys/38C0800.bin kernel/drivers/scsi/advansys.ko
+advansys/3550.bin kernel/drivers/scsi/advansys.ko
+advansys/mcode.bin kernel/drivers/scsi/advansys.ko
+ql8100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2500_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2400_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2322_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2300_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2200_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+isdn/ISAR.BIN kernel/drivers/isdn/hardware/mISDN/speedfax.ko
+qlogic/sd7220.fw kernel/drivers/infiniband/hw/ipath/ib_ipath.ko
+matrox/g400_warp.fw kernel/drivers/gpu/drm/mga/mga.ko
+matrox/g200_warp.fw kernel/drivers/gpu/drm/mga/mga.ko
+r128/r128_cce.bin kernel/drivers/gpu/drm/r128/r128.ko
+radeon/R520_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS600_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS690_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R420_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R300_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R200_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R100_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R520_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS600_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS690_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R420_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R300_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R200_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R100_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R700_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+intelliport2.bin kernel/drivers/char/ip2/ip2.ko
+cyzfirm.bin kernel/drivers/char/cyclades.ko
+isi4616.bin kernel/drivers/char/isicom.ko
+isi4608.bin kernel/drivers/char/isicom.ko
+isi616em.bin kernel/drivers/char/isicom.ko
+isi608em.bin kernel/drivers/char/isicom.ko
+isi608.bin kernel/drivers/char/isicom.ko
+c320tunx.cod kernel/drivers/char/moxa.ko
+cp204unx.cod kernel/drivers/char/moxa.ko
+c218tunx.cod kernel/drivers/char/moxa.ko
+isight.fw kernel/drivers/usb/misc/isight_firmware.ko
+emi26/firmware.fw kernel/drivers/usb/misc/emi26.ko
+emi26/bitstream.fw kernel/drivers/usb/misc/emi26.ko
+emi26/loader.fw kernel/drivers/usb/misc/emi26.ko
+emi62/spdif.fw kernel/drivers/usb/misc/emi62.ko
+emi62/bitstream.fw kernel/drivers/usb/misc/emi62.ko
+emi62/loader.fw kernel/drivers/usb/misc/emi62.ko
+keyspan_pda/xircom_pgs.fw kernel/drivers/usb/serial/keyspan_pda.ko
+keyspan_pda/keyspan_pda.fw kernel/drivers/usb/serial/keyspan_pda.ko
+keyspan/usa49wlc.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa49w.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19w.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa18x.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19qw.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/mpr.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19qi.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28xb.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28xa.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28x.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28.fw kernel/drivers/usb/serial/keyspan.ko
+edgeport/down2.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/down.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/boot2.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/boot.fw kernel/drivers/usb/serial/io_edgeport.ko
+mts_edge.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_gsm.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_cdma.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+ti_5052.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+ti_3410.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+whiteheat_loader.fw kernel/drivers/usb/serial/whiteheat.ko
+whiteheat.fw kernel/drivers/usb/serial/whiteheat.ko
+edgeport/down3.bin kernel/drivers/usb/serial/io_ti.ko
+BT3CPCC.bin kernel/drivers/bluetooth/bt3c_cs.ko
+sd8688.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
+sd8688_helper.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
+bfubase.frm kernel/drivers/bluetooth/bfusb.ko
+BCM2033-FW.bin kernel/drivers/bluetooth/bcm203x.ko
+BCM2033-MD.hex kernel/drivers/bluetooth/bcm203x.ko
+solos-db-FPGA.bin kernel/drivers/atm/solos-pci.ko
+solos-Firmware.bin kernel/drivers/atm/solos-pci.ko
+solos-FPGA.bin kernel/drivers/atm/solos-pci.ko
+pca200e_ecd.bin2 kernel/drivers/atm/fore_200e.ko
+atmsar11.fw kernel/drivers/atm/ambassador.ko
+vicam/firmware.fw kernel/drivers/media/video/usbvideo/vicam.ko
+av7110/bootcode.bin kernel/drivers/media/dvb/ttpci/dvb-ttpci.ko
+ttusb-budget/dspbootcode.bin kernel/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.ko
+comedi/jr3pci.idm kernel/drivers/staging/comedi/drivers/jr3_pci.ko
+RTL8192E/data.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+RTL8192E/main.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+RTL8192E/boot.img kernel/drivers/staging/rtl8192e/r8192_pci.ko
+prism2_ru.fw kernel/drivers/staging/wlan-ng/prism2_usb.ko
+rt3090.bin kernel/drivers/staging/rt2860/rt2860sta.ko
+rt2860.bin kernel/drivers/staging/rt2860/rt2860sta.ko
+RTL8192SU/rtl8192sfw.bin kernel/drivers/staging/rtl8192su/r8192s_usb.ko
+rt3071.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+rt3070.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+rt2870.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+ctfw_cna.bin kernel/drivers/net/bna/bna.ko
+tms380tr.bin kernel/drivers/net/tokenring/tms380tr.ko
+3com/3C359.bin kernel/drivers/net/tokenring/3c359.ko
+acenic/tg2.bin kernel/drivers/net/acenic.ko
+acenic/tg1.bin kernel/drivers/net/acenic.ko
+adaptec/starfire_tx.bin kernel/drivers/net/starfire.ko
+adaptec/starfire_rx.bin kernel/drivers/net/starfire.ko
+phanfw.bin kernel/drivers/net/qlcnic/qlcnic.ko
+3com/typhoon.bin kernel/drivers/net/typhoon.ko
+lbtf_usb.bin kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+FW10 kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+sd8688.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8688_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8686.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8686_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8385.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8385_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+libertas_cs_helper.fw kernel/drivers/net/wireless/libertas/libertas_cs.ko
+usb8388.bin kernel/drivers/net/wireless/libertas/usb8xxx.ko
+libertas/gspi8686.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8686_hlp.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8385.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8385_hlp.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+ipw2200-bss.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+ipw2200-sniffer.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+ipw2200-ibss.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+wl1271-fw.bin kernel/drivers/net/wireless/wl12xx/wl1271.ko
+wl1251-fw.bin kernel/drivers/net/wireless/wl12xx/wl1251.ko
+symbol_sp24t_sec_fw kernel/drivers/net/wireless/orinoco/orinoco.ko
+symbol_sp24t_prim_fw kernel/drivers/net/wireless/orinoco/orinoco.ko
+prism_ap_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+prism_sta_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+agere_ap_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+agere_sta_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+ar9170-2.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+ar9170-1.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+ar9170.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+atmel_at76c505amx-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505a-rfmd2958.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505-rfmd2958.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-rfmd-acc.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-i3863.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-i3861.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+FW13 kernel/drivers/net/wireless/b43/b43.ko
+iwmc3200wifi-lmac-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+iwmc3200wifi-calib-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+iwmc3200wifi-umac-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+zd1211/zd1211_uphr kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_uphr kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211_ub kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_ub kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211_ur kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_ur kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+rt2661.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561s.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt73.bin kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+rt2870.bin kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+atmel_at76c506.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c506-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504a_2958.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504a_2958-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504_2958.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504_2958-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502_3com.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502_3com-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502e.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502e-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502d.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502d-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502-wpa.bin kernel/drivers/net/wireless/atmel.ko
+zd1201.fw kernel/drivers/net/wireless/zd1201.ko
+zd1201-ap.fw kernel/drivers/net/wireless/zd1201.ko
+mwl8k/fmimage_8687.fw kernel/drivers/net/wireless/mwl8k.ko
+mwl8k/helper_8687.fw kernel/drivers/net/wireless/mwl8k.ko
+isl3887usb kernel/drivers/net/wireless/p54/p54usb.ko
+isl3886usb kernel/drivers/net/wireless/p54/p54usb.ko
+isl3886pci kernel/drivers/net/wireless/p54/p54pci.ko
+3826.arm kernel/drivers/net/wireless/p54/p54spi.ko
+iwlwifi-3945-2.ucode kernel/drivers/net/wireless/iwlwifi/iwl3945.ko
+iwlwifi-4965-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-5150-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-5000-5.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6050-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6000-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+e100/d102e_ucode.bin kernel/drivers/net/e100.ko
+e100/d101s_ucode.bin kernel/drivers/net/e100.ko
+e100/d101m_ucode.bin kernel/drivers/net/e100.ko
+tehuti/bdx.bin kernel/drivers/net/tehuti.ko
+rtl_nic/rtl8168d-2.fw kernel/drivers/net/r8169.ko
+rtl_nic/rtl8168d-1.fw kernel/drivers/net/r8169.ko
+kaweth/trigger_code_fix.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/trigger_code.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/new_code_fix.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/new_code.bin kernel/drivers/net/usb/kaweth.ko
+i2400m-fw-sdio-1.3.sbcf kernel/drivers/net/wimax/i2400m/i2400m-sdio.ko
+i2400m-fw-usb-1.3.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
+i2400m-fw-usb-1.4.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
+phanfw.bin kernel/drivers/net/netxen/netxen_nic.ko
+nx3fwmn.bin kernel/drivers/net/netxen/netxen_nic.ko
+nx3fwct.bin kernel/drivers/net/netxen/netxen_nic.ko
+nxromimg.bin kernel/drivers/net/netxen/netxen_nic.ko
+tigon/tg3_tso5.bin kernel/drivers/net/tg3.ko
+tigon/tg3_tso.bin kernel/drivers/net/tg3.ko
+tigon/tg3.bin kernel/drivers/net/tg3.ko
+cxgb3/ael2020_twx_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/ael2005_twx_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/ael2005_opt_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3c_psram-1.1.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3b_psram-1.1.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3fw-7.4.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+yam/9600.bin kernel/drivers/net/hamradio/yam.ko
+yam/1200.bin kernel/drivers/net/hamradio/yam.ko
+ositech/Xilinx7OD.bin kernel/drivers/net/pcmcia/smc91c92_cs.ko
+cis/tamarack.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PE-200.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/NE2K.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+PE520.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/LA-PCM.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/DP83903.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PCMLM28.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+sun/cassini.bin kernel/drivers/net/cassini.ko
+myri10ge_rss_eth_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_rss_ethp_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_eth_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_ethp_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
diff --git a/fwlist-2.6.35-1-pve b/fwlist-2.6.35-1-pve
new file mode 100644 (file)
index 0000000..33c8d7b
--- /dev/null
@@ -0,0 +1,429 @@
+korg/k1212.dsp kernel/sound/pci/korg1212/snd-korg1212.ko
+mixart/miXart8AES.xlx kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.elf kernel/sound/pci/mixart/snd-mixart.ko
+mixart/miXart8.xlx kernel/sound/pci/mixart/snd-mixart.ko
+pcxhr/dspd222.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb924.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspe924.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc924.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc222.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspd1222.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb1222e.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb1222hr.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc1222e.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc1222hr.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspd882.d56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb882e.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspb882hr.b56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/dspe882.e56 kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc882e.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxc882hr.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+pcxhr/xlxint.dat kernel/sound/pci/pcxhr/snd-pcxhr.ko
+riptide.hex kernel/sound/pci/riptide/snd-riptide.ko
+ea/gina24_361_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_asic.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_361_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/gina24_301_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-gina24.ko
+ea/3g_asic.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/echo3g_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-echo3g.ko
+ea/layla20_asic.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla20_dsp.fw kernel/sound/pci/echoaudio/snd-layla20.ko
+ea/layla24_2S_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_2A_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_1_asic.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/layla24_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-layla24.ko
+ea/darla20_dsp.fw kernel/sound/pci/echoaudio/snd-darla20.ko
+ea/indigo_djx_dsp.fw kernel/sound/pci/echoaudio/snd-indigodjx.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodjx.ko
+ea/mona_2_asic.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_96.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_1_asic_48.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_361_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/mona_301_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mona.ko
+ea/indigo_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigo.ko
+ea/darla24_dsp.fw kernel/sound/pci/echoaudio/snd-darla24.ko
+ea/indigo_io_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoio.ko
+ea/indigo_dj_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigodj.ko
+ea/gina20_dsp.fw kernel/sound/pci/echoaudio/snd-gina20.ko
+ea/indigo_iox_dsp.fw kernel/sound/pci/echoaudio/snd-indigoiox.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-indigoiox.ko
+ea/mia_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+ea/loader_dsp.fw kernel/sound/pci/echoaudio/snd-mia.ko
+yamaha/ds1e_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+yamaha/ds1_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+yamaha/ds1_dsp.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
+asihpi/dsp8900.bin kernel/sound/pci/asihpi/snd-asihpi.ko
+asihpi/dsp8700.bin kernel/sound/pci/asihpi/snd-asihpi.ko
+asihpi/dsp6600.bin kernel/sound/pci/asihpi/snd-asihpi.ko
+asihpi/dsp6400.bin kernel/sound/pci/asihpi/snd-asihpi.ko
+asihpi/dsp6205.bin kernel/sound/pci/asihpi/snd-asihpi.ko
+asihpi/dsp6200.bin kernel/sound/pci/asihpi/snd-asihpi.ko
+asihpi/dsp5000.bin kernel/sound/pci/asihpi/snd-asihpi.ko
+ess/maestro3_assp_minisrc.fw kernel/sound/pci/snd-maestro3.ko
+ess/maestro3_assp_kernel.fw kernel/sound/pci/snd-maestro3.ko
+emu/emu1010_notebook.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu0404.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/micro_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/emu1010b.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/audio_dock.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+emu/hana.fw kernel/sound/pci/emu10k1/snd-emu10k1.ko
+vx/l_1_vp4.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vxp.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_v22.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/l_1_vx2.d56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563s3.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd563v2.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bd56002.boot kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vp4.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vxp.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_2_v22.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/x1_1_vx2.xlx kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vp4.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+vx/bx_1_vxp.b56 kernel/sound/drivers/vx/snd-vx-lib.ko
+iwmc3200top.1.fw kernel/drivers/misc/iwmc3200top/iwmc3200top.ko
+cis/RS-COM-2P.cis kernel/drivers/serial/serial_cs.ko
+cis/COMpad4.cis kernel/drivers/serial/serial_cs.ko
+cis/COMpad2.cis kernel/drivers/serial/serial_cs.ko
+cis/MT5634ZLX.cis kernel/drivers/serial/serial_cs.ko
+cis/SW_555_SER.cis kernel/drivers/serial/serial_cs.ko
+cis/SW_7xx_SER.cis kernel/drivers/serial/serial_cs.ko
+cis/SW_8xx_SER.cis kernel/drivers/serial/serial_cs.ko
+cis/3CXEM556.cis kernel/drivers/serial/serial_cs.ko
+cis/3CCFEM556.cis kernel/drivers/serial/serial_cs.ko
+cis/DP83903.cis kernel/drivers/serial/serial_cs.ko
+cis/PCMLM28.cis kernel/drivers/serial/serial_cs.ko
+i1480-phy-0.0.bin kernel/drivers/uwb/i1480/dfu/i1480-dfu-usb.ko
+i1480-usb-0.0.bin kernel/drivers/uwb/i1480/dfu/i1480-dfu-usb.ko
+i1480-pre-phy-0.0.bin kernel/drivers/uwb/i1480/dfu/i1480-dfu-usb.ko
+cbfw.bin kernel/drivers/scsi/bfa/bfa.ko
+ctfw.bin kernel/drivers/scsi/bfa/bfa.ko
+aic94xx-seq.fw kernel/drivers/scsi/aic94xx/aic94xx.ko
+qlogic/12160.bin kernel/drivers/scsi/qla1280.ko
+qlogic/1280.bin kernel/drivers/scsi/qla1280.ko
+qlogic/1040.bin kernel/drivers/scsi/qla1280.ko
+advansys/38C1600.bin kernel/drivers/scsi/advansys.ko
+advansys/38C0800.bin kernel/drivers/scsi/advansys.ko
+advansys/3550.bin kernel/drivers/scsi/advansys.ko
+advansys/mcode.bin kernel/drivers/scsi/advansys.ko
+ql2500_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2400_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2322_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2300_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2200_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+ql2100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
+isdn/ISAR.BIN kernel/drivers/isdn/hardware/mISDN/speedfax.ko
+qlogic/sd7220.fw kernel/drivers/infiniband/hw/qib/ib_qib.ko
+matrox/g400_warp.fw kernel/drivers/gpu/drm/mga/mga.ko
+matrox/g200_warp.fw kernel/drivers/gpu/drm/mga/mga.ko
+r128/r128_cce.bin kernel/drivers/gpu/drm/r128/r128.ko
+radeon/R520_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS600_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS690_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R420_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R300_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R200_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R100_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R520_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS600_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS690_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R420_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R300_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R200_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R100_cp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/CYPRESS_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/CYPRESS_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/CYPRESS_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/JUNIPER_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/JUNIPER_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/JUNIPER_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/REDWOOD_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/REDWOOD_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/REDWOOD_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/CEDAR_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/CEDAR_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/CEDAR_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R700_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV710_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV730_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV770_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RS780_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV670_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV635_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV620_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV630_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/RV610_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_me.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+radeon/R600_pfp.bin kernel/drivers/gpu/drm/radeon/radeon.ko
+intelliport2.bin kernel/drivers/char/ip2/ip2.ko
+cyzfirm.bin kernel/drivers/char/cyclades.ko
+c320tunx.cod kernel/drivers/char/moxa.ko
+cp204unx.cod kernel/drivers/char/moxa.ko
+c218tunx.cod kernel/drivers/char/moxa.ko
+isight.fw kernel/drivers/usb/misc/isight_firmware.ko
+emi26/firmware.fw kernel/drivers/usb/misc/emi26.ko
+emi26/bitstream.fw kernel/drivers/usb/misc/emi26.ko
+emi26/loader.fw kernel/drivers/usb/misc/emi26.ko
+emi62/spdif.fw kernel/drivers/usb/misc/emi62.ko
+emi62/bitstream.fw kernel/drivers/usb/misc/emi62.ko
+emi62/loader.fw kernel/drivers/usb/misc/emi62.ko
+keyspan_pda/xircom_pgs.fw kernel/drivers/usb/serial/keyspan_pda.ko
+keyspan_pda/keyspan_pda.fw kernel/drivers/usb/serial/keyspan_pda.ko
+keyspan/usa49wlc.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa49w.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19w.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa18x.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19qw.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/mpr.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19qi.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa19.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28xb.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28xa.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28x.fw kernel/drivers/usb/serial/keyspan.ko
+keyspan/usa28.fw kernel/drivers/usb/serial/keyspan.ko
+edgeport/down2.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/down.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/boot2.fw kernel/drivers/usb/serial/io_edgeport.ko
+edgeport/boot.fw kernel/drivers/usb/serial/io_edgeport.ko
+mts_mt9234zba.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_mt9234mu.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_edge.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_gsm.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+mts_cdma.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+ti_5052.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+ti_3410.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
+whiteheat_loader.fw kernel/drivers/usb/serial/whiteheat.ko
+whiteheat.fw kernel/drivers/usb/serial/whiteheat.ko
+edgeport/down3.bin kernel/drivers/usb/serial/io_ti.ko
+BT3CPCC.bin kernel/drivers/bluetooth/bt3c_cs.ko
+sd8688.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
+sd8688_helper.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
+bfubase.frm kernel/drivers/bluetooth/bfusb.ko
+ath3k-1.fw kernel/drivers/bluetooth/ath3k.ko
+BCM2033-FW.bin kernel/drivers/bluetooth/bcm203x.ko
+BCM2033-MD.hex kernel/drivers/bluetooth/bcm203x.ko
+solos-db-FPGA.bin kernel/drivers/atm/solos-pci.ko
+solos-Firmware.bin kernel/drivers/atm/solos-pci.ko
+solos-FPGA.bin kernel/drivers/atm/solos-pci.ko
+pca200e_ecd.bin2 kernel/drivers/atm/fore_200e.ko
+atmsar11.fw kernel/drivers/atm/ambassador.ko
+vicam/firmware.fw kernel/drivers/media/video/usbvideo/vicam.ko
+dabusb/bitstream.bin kernel/drivers/media/video/dabusb.ko
+dabusb/firmware.fw kernel/drivers/media/video/dabusb.ko
+av7110/bootcode.bin kernel/drivers/media/dvb/ttpci/dvb-ttpci.ko
+ttusb-budget/dspbootcode.bin kernel/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.ko
+comedi/jr3pci.idm kernel/drivers/staging/comedi/drivers/jr3_pci.ko
+RTL8192E/data.img kernel/drivers/staging/rtl8192e/r8192e_pci.ko
+RTL8192E/main.img kernel/drivers/staging/rtl8192e/r8192e_pci.ko
+RTL8192E/boot.img kernel/drivers/staging/rtl8192e/r8192e_pci.ko
+prism2_ru.fw kernel/drivers/staging/wlan-ng/prism2_usb.ko
+rt3090.bin kernel/drivers/staging/rt2860/rt2860sta.ko
+rt2860.bin kernel/drivers/staging/rt2860/rt2860sta.ko
+RTL8192SU/rtl8192sfw.bin kernel/drivers/staging/rtl8192su/r8192s_usb.ko
+go7007fw.bin kernel/drivers/staging/go7007/go7007.ko
+go7007tv.bin kernel/drivers/staging/go7007/go7007-usb.ko
+sep/resident.image.bin kernel/drivers/staging/sep/sep_driver.ko
+sep/cache.image.bin kernel/drivers/staging/sep/sep_driver.ko
+slicoss/gbdownload.sys kernel/drivers/staging/slicoss/slicoss.ko
+slicoss/oasisdownload.sys kernel/drivers/staging/slicoss/slicoss.ko
+slicoss/gbrcvucode.sys kernel/drivers/staging/slicoss/slicoss.ko
+slicoss/oasisrcvucode.sys kernel/drivers/staging/slicoss/slicoss.ko
+rt3071.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+rt3070.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+rt2870.bin kernel/drivers/staging/rt2870/rt2870sta.ko
+tms380tr.bin kernel/drivers/net/tokenring/tms380tr.ko
+3com/3C359.bin kernel/drivers/net/tokenring/3c359.ko
+acenic/tg2.bin kernel/drivers/net/acenic.ko
+acenic/tg1.bin kernel/drivers/net/acenic.ko
+adaptec/starfire_tx.bin kernel/drivers/net/starfire.ko
+adaptec/starfire_rx.bin kernel/drivers/net/starfire.ko
+phanfw.bin kernel/drivers/net/qlcnic/qlcnic.ko
+3com/typhoon.bin kernel/drivers/net/typhoon.ko
+bnx2/bnx2-rv2p-09ax-5.0.0.j10.fw kernel/drivers/net/bnx2.ko
+bnx2/bnx2-rv2p-09-5.0.0.j10.fw kernel/drivers/net/bnx2.ko
+bnx2/bnx2-mips-09-5.0.0.j15.fw kernel/drivers/net/bnx2.ko
+bnx2/bnx2-rv2p-06-5.0.0.j3.fw kernel/drivers/net/bnx2.ko
+bnx2/bnx2-mips-06-5.0.0.j6.fw kernel/drivers/net/bnx2.ko
+lbtf_usb.bin kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+b43legacy/ucode4.fw kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+b43legacy/ucode2.fw kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+FW10 kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+sd8688.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8688_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8686.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8686_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8385.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+sd8385_helper.bin kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+libertas_cs_helper.fw kernel/drivers/net/wireless/libertas/libertas_cs.ko
+usb8388.bin kernel/drivers/net/wireless/libertas/usb8xxx.ko
+libertas/gspi8686.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8686_hlp.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8385.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+libertas/gspi8385_hlp.bin kernel/drivers/net/wireless/libertas/libertas_spi.ko
+ipw2100-1.3.fw kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+ipw2100-1.3-p.fw kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+ipw2100-1.3-i.fw kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+ipw2200-bss.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+ipw2200-sniffer.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+ipw2200-ibss.fw kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+wl1271-fw.bin kernel/drivers/net/wireless/wl12xx/wl1271_spi.ko
+wl1251-fw.bin kernel/drivers/net/wireless/wl12xx/wl1251.ko
+symbol_sp24t_sec_fw kernel/drivers/net/wireless/orinoco/orinoco.ko
+symbol_sp24t_prim_fw kernel/drivers/net/wireless/orinoco/orinoco.ko
+prism_ap_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+prism_sta_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+agere_ap_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+agere_sta_fw.bin kernel/drivers/net/wireless/orinoco/orinoco.ko
+orinoco_ezusb_fw kernel/drivers/net/wireless/orinoco/orinoco_usb.ko
+ar9170-2.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+ar9170-1.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+ar9170.fw kernel/drivers/net/wireless/ath/ar9170/ar9170usb.ko
+isl3890 kernel/drivers/net/wireless/prism54/prism54.ko
+isl3886 kernel/drivers/net/wireless/prism54/prism54.ko
+isl3877 kernel/drivers/net/wireless/prism54/prism54.ko
+atmel_at76c505amx-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505a-rfmd2958.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505-rfmd2958.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c505-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-rfmd-acc.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-rfmd.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-i3863.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+atmel_at76c503-i3861.bin kernel/drivers/net/wireless/at76c50x-usb.ko
+b43/ucode9.fw kernel/drivers/net/wireless/b43/b43.ko
+b43/ucode5.fw kernel/drivers/net/wireless/b43/b43.ko
+b43/ucode15.fw kernel/drivers/net/wireless/b43/b43.ko
+b43/ucode14.fw kernel/drivers/net/wireless/b43/b43.ko
+b43/ucode13.fw kernel/drivers/net/wireless/b43/b43.ko
+b43/ucode11.fw kernel/drivers/net/wireless/b43/b43.ko
+FW13 kernel/drivers/net/wireless/b43/b43.ko
+iwmc3200wifi-lmac-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+iwmc3200wifi-calib-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+iwmc3200wifi-umac-sdio.bin kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+zd1211/zd1211_uphr kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_uphr kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211_ub kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_ub kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211_ur kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+zd1211/zd1211b_ur kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+rt2860.bin kernel/drivers/net/wireless/rt2x00/rt2800pci.ko
+rt2661.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561s.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt2561.bin kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+rt73.bin kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+rt2870.bin kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+atmel_at76c506.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c506-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504a_2958.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504a_2958-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504_2958.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504_2958-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c504-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502_3com.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502_3com-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502e.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502e-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502d.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502d-wpa.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502.bin kernel/drivers/net/wireless/atmel.ko
+atmel_at76c502-wpa.bin kernel/drivers/net/wireless/atmel.ko
+zd1201.fw kernel/drivers/net/wireless/zd1201.ko
+zd1201-ap.fw kernel/drivers/net/wireless/zd1201.ko
+mwl8k/fmimage_8366.fw kernel/drivers/net/wireless/mwl8k.ko
+mwl8k/helper_8366.fw kernel/drivers/net/wireless/mwl8k.ko
+mwl8k/fmimage_8687.fw kernel/drivers/net/wireless/mwl8k.ko
+mwl8k/helper_8687.fw kernel/drivers/net/wireless/mwl8k.ko
+mwl8k/fmimage_8363.fw kernel/drivers/net/wireless/mwl8k.ko
+mwl8k/helper_8363.fw kernel/drivers/net/wireless/mwl8k.ko
+isl3887usb kernel/drivers/net/wireless/p54/p54usb.ko
+isl3886usb kernel/drivers/net/wireless/p54/p54usb.ko
+isl3886pci kernel/drivers/net/wireless/p54/p54pci.ko
+3826.arm kernel/drivers/net/wireless/p54/p54spi.ko
+iwlwifi-3945-2.ucode kernel/drivers/net/wireless/iwlwifi/iwl3945.ko
+iwlwifi-4965-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-5150-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-5000-2.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6000g2a-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6050-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-6000-4.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+iwlwifi-1000-3.ucode kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+e100/d102e_ucode.bin kernel/drivers/net/e100.ko
+e100/d101s_ucode.bin kernel/drivers/net/e100.ko
+e100/d101m_ucode.bin kernel/drivers/net/e100.ko
+tehuti/firmware.bin kernel/drivers/net/tehuti.ko
+bnx2x-e1h-5.2.13.0.fw kernel/drivers/net/bnx2x.ko
+bnx2x-e1-5.2.13.0.fw kernel/drivers/net/bnx2x.ko
+kaweth/trigger_code_fix.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/trigger_code.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/new_code_fix.bin kernel/drivers/net/usb/kaweth.ko
+kaweth/new_code.bin kernel/drivers/net/usb/kaweth.ko
+i2400m-fw-sdio-1.3.sbcf kernel/drivers/net/wimax/i2400m/i2400m-sdio.ko
+i6050-fw-usb-1.5.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
+i2400m-fw-usb-1.5.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
+phanfw.bin kernel/drivers/net/netxen/netxen_nic.ko
+nx3fwmn.bin kernel/drivers/net/netxen/netxen_nic.ko
+nx3fwct.bin kernel/drivers/net/netxen/netxen_nic.ko
+nxromimg.bin kernel/drivers/net/netxen/netxen_nic.ko
+tigon/tg3_tso5.bin kernel/drivers/net/tg3.ko
+tigon/tg3_tso.bin kernel/drivers/net/tg3.ko
+tigon/tg3.bin kernel/drivers/net/tg3.ko
+cxgb4/t4fw.bin kernel/drivers/net/cxgb4/cxgb4.ko
+cxgb3/ael2020_twx_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/ael2005_twx_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/ael2005_opt_edc.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3c_psram-1.1.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3b_psram-1.1.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+cxgb3/t3fw-7.4.0.bin kernel/drivers/net/cxgb3/cxgb3.ko
+yam/9600.bin kernel/drivers/net/hamradio/yam.ko
+yam/1200.bin kernel/drivers/net/hamradio/yam.ko
+ositech/Xilinx7OD.bin kernel/drivers/net/pcmcia/smc91c92_cs.ko
+cis/tamarack.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PE-200.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/NE2K.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PE520.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/LA-PCM.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/DP83903.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+cis/PCMLM28.cis kernel/drivers/net/pcmcia/pcnet_cs.ko
+sun/cassini.bin kernel/drivers/net/cassini.ko
+myri10ge_rss_eth_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_rss_ethp_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_eth_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
+myri10ge_ethp_z8e.dat kernel/drivers/net/myri10ge/myri10ge.ko
diff --git a/headers-control.in b/headers-control.in
new file mode 100644 (file)
index 0000000..ae8bc33
--- /dev/null
@@ -0,0 +1,10 @@
+Package: pve-headers-@KVNAME@
+Version: @KERNEL_VER@-@PKGREL@
+Section: devel
+Priority: optional
+Architecture: amd64
+Provides: linux-headers, linux-headers-2.6
+Depends: coreutils | fileutils (>= 4.0), pve-kernel-@KVNAME@
+Maintainer: Proxmox Support Team <support@proxmox.com>
+Description: The Proxmox PVE Kernel Headers
+ This package contains the linux kernel headers
diff --git a/headers-postinst.in b/headers-postinst.in
new file mode 100644 (file)
index 0000000..4536e24
--- /dev/null
@@ -0,0 +1,62 @@
+#! /bin/sh
+
+# Abort if any command returns an error value 
+set -e 
+
+case "$1" in
+  configure)
+
+    ln -sf /usr/src/linux-headers-@@KVNAME@@ /lib/modules/@@KVNAME@@/build
+
+    # There are three sub-cases:
+    if test "${2+set}" != set; then
+      # We're being installed by an ancient dpkg which doesn't remember
+      # which version was most recently configured, or even whether
+      # there is a most recently configured version.
+      :
+
+    elif test -z "$2" -o "$2" = "<unknown>"; then
+      # The package has not ever been configured on this system, or was
+      # purged since it was last configured.
+      :
+
+    else
+      # Version $2 is the most recently configured version of this
+      # package.
+      :
+
+    fi ;;
+  abort-upgrade)
+    # Back out of an attempt to upgrade this package FROM THIS VERSION
+    # to version $2.  Undo the effects of "prerm upgrade $2".
+    :
+
+    ;;
+  abort-remove)
+    if test "$2" != in-favour; then
+      echo "$0: undocumented call to \`postinst $*'" 1>&2
+      exit 0
+    fi
+    # Back out of an attempt to remove this package, which was due to
+    # a conflict with package $3 (version $4).  Undo the effects of
+    # "prerm remove in-favour $3 $4".
+    :
+
+    ;;
+  abort-deconfigure)
+    if test "$2" != in-favour -o "$5" != removing; then
+      echo "$0: undocumented call to \`postinst $*'" 1>&2
+      exit 0
+    fi
+    # Back out of an attempt to deconfigure this package, which was
+    # due to package $6 (version $7) which we depend on being removed
+    # to make way for package $3 (version $4).  Undo the effects of
+    # "prerm deconfigure in-favour $3 $4 removing $6 $7".
+    :
+
+    ;;
+  *) echo "$0: didn't understand being called with \`$1'" 1>&2
+     exit 0;;
+esac
+
+exit 0
diff --git a/igb-3.0.22.tar.gz b/igb-3.0.22.tar.gz
new file mode 100755 (executable)
index 0000000..e45e5a1
Binary files /dev/null and b/igb-3.0.22.tar.gz differ
diff --git a/ixgbe-3.3.9.tar.gz b/ixgbe-3.3.9.tar.gz
new file mode 100755 (executable)
index 0000000..0a6d422
Binary files /dev/null and b/ixgbe-3.3.9.tar.gz differ
diff --git a/netxtreme2-6.2.23.tar.gz b/netxtreme2-6.2.23.tar.gz
new file mode 100644 (file)
index 0000000..7bbf22d
Binary files /dev/null and b/netxtreme2-6.2.23.tar.gz differ
diff --git a/ovz-fix-slow-fsync.patch b/ovz-fix-slow-fsync.patch
new file mode 100644 (file)
index 0000000..9be3e34
--- /dev/null
@@ -0,0 +1,42 @@
+cfq: allow cross group sync noidle preemption
+
+From: Konstantin Khlebnikov <khlebnikov@openvz.org>
+
+http://bugzilla.openvz.org/show_bug.cgi?id=1913
+
+Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
+---
+ block/cfq-iosched.c |   14 +++++++-------
+ 1 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
+index b4cf30b..9d80168 100644
+--- a/block/cfq-iosched.c
++++ b/block/cfq-iosched.c
+@@ -3273,19 +3273,19 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq,
+       if (rq_is_sync(rq) && !cfq_cfqq_sync(cfqq))
+               return true;
+-      if (new_cfqq->cfqg != cfqq->cfqg)
+-              return false;
+-
+-      if (cfq_slice_used(cfqq))
+-              return true;
+-
+       /* Allow preemption only if we are idling on sync-noidle tree */
+       if (cfqd->serving_type == SYNC_NOIDLE_WORKLOAD &&
+           cfqq_type(new_cfqq) == SYNC_NOIDLE_WORKLOAD &&
+-          new_cfqq->service_tree->count == 2 &&
++          new_cfqq->service_tree->count == 1 + (new_cfqq->cfqg == cfqq->cfqg) &&
+           RB_EMPTY_ROOT(&cfqq->sort_list))
+               return true;
++      if (new_cfqq->cfqg != cfqq->cfqg)
++              return false;
++
++      if (cfq_slice_used(cfqq))
++              return true;
++
+       /*
+        * So both queues are sync. Let the new request get disk time if
+        * it's a metadata request and the current queue is doing regular IO.
diff --git a/postinst.in b/postinst.in
new file mode 100755 (executable)
index 0000000..0d4971f
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+# Ignore all invocations except when called on to configure.
+exit 0 unless $ARGV[0] =~ /configure/;
+
+# do nothing if run from proxmox installer
+exit 0 if -e "/proxmox_install_mode";
+
+my $imagedir = "/boot";
+
+my $version = "@@KVNAME@@";
+
+system("depmod $version");
+
+system("update-initramfs -c -t -b $imagedir -k $version"); 
+
+if (-x "/usr/sbin/update-grub") {
+    system("/usr/sbin/update-grub");
+}
+
+exit 0
diff --git a/proxmox-ve/changelog.Debian b/proxmox-ve/changelog.Debian
new file mode 100644 (file)
index 0000000..cdf81d8
--- /dev/null
@@ -0,0 +1,34 @@
+proxmox-ve-2.6.32 (2.0-38) unstable; urgency=low
+
+  * re-package to update version number
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 19 Jul 2011 10:32:39 +0200
+
+proxmox-ve-2.6.32 (2.0-36) unstable; urgency=low
+
+  * temporarily removed vzctl, vzdump, vzprocps, vzquota,
+    ksm-control-daemon
+  
+  * depend on openssh-client, openssh-server (instead of ssh)
+  
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 24 Jun 2011 13:11:10 +0200
+
+proxmox-ve-2.6.32 (1.7-21) unstable; urgency=low
+
+  * re-package to update version number to 1.7
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 26 Nov 2010 05:38:35 +0100
+
+proxmox-ve-2.6.32 (1.6-20) unstable; urgency=low
+
+  * fix dependencies for new 2.6.35 kernel
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 06 Oct 2010 08:09:00 +0200
+
+proxmox-ve-2.6.32 (1.5-1) unstable; urgency=low
+
+  * we include kernel version in the package name now
+  
+  * depends on latest available 2.6.32 kernel
+  
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 28 Sep 2009 11:20:36 +0200
diff --git a/proxmox-ve/control b/proxmox-ve/control
new file mode 100644 (file)
index 0000000..d8f0afa
--- /dev/null
@@ -0,0 +1,16 @@
+Package: proxmox-ve-@KERNEL_VER@
+Version: @RELEASE@-@PKGREL@
+Architecture: all
+Section: admin
+Priority: optional
+Provides: proxmox-virtual-environment
+Conflicts: proxmox-ve, pve-kernel, proxmox-virtual-environment
+Replaces: proxmox-ve, pve-kernel, proxmox-virtual-environment
+Depends: libc6 (>= 2.7-18), pve-kernel-@KVNAME@, pve-firmware, pve-manager, qemu-server, pve-qemu-kvm, openssh-client, openssh-server, apt, vncterm
+Maintainer: Proxmox Support Team <support@proxmox.com>
+Description: The Proxmox Virtual Environment
+ The Proxmox Virtual Environment is an easy to use Open Source
+ virtualization platform for running Virtual Appliances and Virtual
+ Machines. This is a virtual package which will install everything
+ needed. This package also depends on the latest available proxmox
+ kernel from the @KERNEL_VER@ series.
diff --git a/proxmox-ve/copyright b/proxmox-ve/copyright
new file mode 100644 (file)
index 0000000..232e5fa
--- /dev/null
@@ -0,0 +1,20 @@
+
+This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
+
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; version 2 dated June, 1991.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+   MA 02110-1301 USA
+
+The complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
diff --git a/proxmox-ve/postinst b/proxmox-ve/postinst
new file mode 100755 (executable)
index 0000000..885af1c
--- /dev/null
@@ -0,0 +1,74 @@
+#! /bin/sh
+
+# Abort if any command returns an error value 
+set -e 
+
+# This script is called as the last step of the installation of the 
+# package.  All the package's files are in place, dpkg has already
+# done its automatic conffile handling, and all the packages we depend
+# of are already fully installed and configured.
+
+# The following idempotent stuff doesn't generally need protecting 
+# against being run in the abort-* cases.
+
+case "$1" in
+  configure)
+    # Configure this package.  If the package must prompt the user for
+    # information, do it here.
+
+    # install release key
+    echo -n "installing proxmox release key: "
+    /usr/bin/apt-key add '/usr/share/doc/proxmox-ve-@KERNEL_VER@/proxmox-release@proxmox.com.pubkey' || /bin/true
+
+    # There are three sub-cases:
+    if test "${2+set}" != set; then
+      # We're being installed by an ancient dpkg which doesn't remember
+      # which version was most recently configured, or even whether
+      # there is a most recently configured version.
+      :
+
+    elif test -z "$2" -o "$2" = "<unknown>"; then
+      # The package has not ever been configured on this system, or was
+      # purged since it was last configured.
+      :
+
+    else
+      # Version $2 is the most recently configured version of this
+      # package.
+      :
+
+    fi ;;
+  abort-upgrade)
+    # Back out of an attempt to upgrade this package FROM THIS VERSION
+    # to version $2.  Undo the effects of "prerm upgrade $2".
+    :
+
+    ;;
+  abort-remove)
+    if test "$2" != in-favour; then
+      echo "$0: undocumented call to \`postinst $*'" 1>&2
+      exit 0
+    fi
+    # Back out of an attempt to remove this package, which was due to
+    # a conflict with package $3 (version $4).  Undo the effects of
+    # "prerm remove in-favour $3 $4".
+    :
+
+    ;;
+  abort-deconfigure)
+    if test "$2" != in-favour -o "$5" != removing; then
+      echo "$0: undocumented call to \`postinst $*'" 1>&2
+      exit 0
+    fi
+    # Back out of an attempt to deconfigure this package, which was
+    # due to package $6 (version $7) which we depend on being removed
+    # to make way for package $3 (version $4).  Undo the effects of
+    # "prerm deconfigure in-favour $3 $4 removing $6 $7".
+    :
+
+    ;;
+  *) echo "$0: didn't understand being called with \`$1'" 1>&2
+     exit 0;;
+esac
+
+exit 0
diff --git a/proxmox-ve/proxmox-release@proxmox.com.pubkey b/proxmox-ve/proxmox-release@proxmox.com.pubkey
new file mode 100644 (file)
index 0000000..816a8b8
--- /dev/null
@@ -0,0 +1,30 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.6 (GNU/Linux)
+
+mQGiBEkGw8URBACes0Nn6KGrblcNfylEonfSuqEyCDz4P0SoPc09ieqhacdJYZZu
+gOJkdAQMESUvVG9S/KolkQI0eR3VqW5PxdC7Uon8lnLofy+iicJhaZvBQA8voOJ9
+Myv4SrrBPrsa64pLppZ2zYJ2Vj+x26tvYRG1L8G20FDKejnrcLmAOLz+twCgo5rj
+Lcyh1gGAE/ktluKIS6EpfmsEAJAjyiiDs2HZcBh7RrlV25kZEk7rwwrrMXmkGpBb
+iElZjbRY6cHl+IvwEHD89ShuADuiEOVMqQ8nSbaFQAblqBK+Q1klZUxmppw1UfG5
++x3X7MrULg0YAgAMqwBPgYrAYfV6tdzO3HY6dP5aRNBVYxCgvnXpHw4XW4GC8qRO
+NmBPBACLSxG4Q2md/6jHVnoQT4UsPA5Nn2imKsLqS62WQBQyM8W+LtlyxT+QAf+t
++D/XFv5ZUQQq766cR4WnmOkNLAqmFaSrUF2T58UPxOC6TsTkrFkI+kVJFqHedag2
+9n+EFXK/DzrsmElWiMyYuMYkOzNn/2cbYnpLq4zO5cwi7BNoRrQxUHJveG1veCBS
+ZWxlYXNlIEtleSA8cHJveG1veC1yZWxlYXNlQHByb3htb3guY29tPohgBBMRAgAg
+BQJJBsPFAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQwjrH9JiH+VqTLwCf
+TVzFdNADeZ00bKpyE8u4BHZJK+4AmwVbhpnb4EkSHYqNhrhEIVSynxm0uQINBEkG
+w8oQCAD323YC4+yp1fJGyI2o8GjnPWKRbmJPhoaeungGkFD0M2Ke2/NlgoQnwwyH
+FRCLxmjc48r++hlSN+OhVuGrvSl5mh0R3Tv5m17OD1KmkAMT9TcrZ7mqn2D79iv3
+TkO27Z76Rs+Wnfu/dc+85wCJDGx9oK8hmJTu6Qc62AkdVCfTULoKSQ3u7LFkGQP9
+I+wtOLnLIc8TpGNuwJ97gIAsfZEkbg3zS39loPwQdIV4b48Hfiz7uMEc4Zwx2bqL
++6sp1vK3jfr7Vb1vQyqG9pvDQ5LSbjh9PCCEmbLtyEIDx8hogNZ9M0ShgZzOwRj4
+vF/sdAdxIT4/7TlMi8jzZqFYSDN/AAMFCACBFBtH1KF45gt70BwgDDv+2zxCy3nP
+3kT2W2f2P3OzTSsu0HGGrIZFtllemAVv89sXlJvZEOzIDvWFizwTiaSW0orj1ni4
+Rz5tNIKnv2T1nJbKWnK7hKO+VKopSCADfFW4FxOwnkV1tV/k7WtCsP+y7X4b/9PA
+EFDYY81MZo3pXvvk989SmoNL2mAdcVYRn1vVCAsciVX6QZFuaupFl4J+57G0OO9P
+tNXn9Hesw7qMo0H52WLp/l8WOhKcghV3+2V4NgpPqZiWD0bOclSO41gmeRWyNo0h
+lVzmRVZF0Np9gXzIBVvaq3pHMglb8rOLm/AsNxgZlDe1PqJiSWFZR96EiEkEGBEC
+AAkFAkkGw8oCGwwACgkQwjrH9JiH+VrCsgCfQA5nxXoNgngILmP3+J6iazwbt48A
+njRGHVUQoR1WV2YlrbwONA2D5Epq
+=twvw
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/vzkernel-2.6.32-042stab029.1.src.rpm b/vzkernel-2.6.32-042stab029.1.src.rpm
new file mode 100644 (file)
index 0000000..0517a99
Binary files /dev/null and b/vzkernel-2.6.32-042stab029.1.src.rpm differ