[kernel] r11053 - dists/trunk/linux-2.6/debian/patches/bugfix/all
Maximilian Attems
maks at alioth.debian.org
Sun Apr 6 00:27:11 UTC 2008
Author: maks
Date: Sun Apr 6 00:27:09 2008
New Revision: 11053
Log:
update to 2.6.25-rc8-git4
no newer conflict, m68k, x86, xen.
Added:
dists/trunk/linux-2.6/debian/patches/bugfix/all/patch-2.6.25-rc8-git4
Removed:
dists/trunk/linux-2.6/debian/patches/bugfix/all/patch-2.6.25-rc8-git3
Added: dists/trunk/linux-2.6/debian/patches/bugfix/all/patch-2.6.25-rc8-git4
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/all/patch-2.6.25-rc8-git4 Sun Apr 6 00:27:09 2008
@@ -0,0 +1,22628 @@
+diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
+index 08a1ed1..47a539c 100644
+--- a/Documentation/SubmittingPatches
++++ b/Documentation/SubmittingPatches
+@@ -512,7 +512,7 @@ They provide type safety, have no length limitations, no formatting
+ limitations, and under gcc they are as cheap as macros.
+
+ Macros should only be used for cases where a static inline is clearly
+-suboptimal [there a few, isolated cases of this in fast paths],
++suboptimal [there are a few, isolated cases of this in fast paths],
+ or where it is impossible to use a static inline function [such as
+ string-izing].
+
+diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
+index 4cd1a5d..32e9297 100644
+--- a/Documentation/kernel-parameters.txt
++++ b/Documentation/kernel-parameters.txt
+@@ -375,6 +375,10 @@ and is between 256 and 4096 characters. It is defined in the file
+ ccw_timeout_log [S390]
+ See Documentation/s390/CommonIO for details.
+
++ cgroup_disable= [KNL] Disable a particular controller
++ Format: {name of the controller(s) to disable}
++ {Currently supported controllers - "memory"}
++
+ checkreqprot [SELINUX] Set initial checkreqprot flag value.
+ Format: { "0" | "1" }
+ See security/selinux/Kconfig help text.
+diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX
+index 02e56d4..c485ee0 100644
+--- a/Documentation/networking/00-INDEX
++++ b/Documentation/networking/00-INDEX
+@@ -84,9 +84,6 @@ policy-routing.txt
+ - IP policy-based routing
+ ray_cs.txt
+ - Raylink Wireless LAN card driver info.
+-sk98lin.txt
+- - Marvell Yukon Chipset / SysKonnect SK-98xx compliant Gigabit
+- Ethernet Adapter family driver info
+ skfp.txt
+ - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
+ smc9.txt
+diff --git a/Documentation/networking/sk98lin.txt b/Documentation/networking/sk98lin.txt
+deleted file mode 100644
+index 8590a95..0000000
+--- a/Documentation/networking/sk98lin.txt
++++ /dev/null
+@@ -1,568 +0,0 @@
+-(C)Copyright 1999-2004 Marvell(R).
+-All rights reserved
+-===========================================================================
+-
+-sk98lin.txt created 13-Feb-2004
+-
+-Readme File for sk98lin v6.23
+-Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family driver for LINUX
+-
+-This file contains
+- 1 Overview
+- 2 Required Files
+- 3 Installation
+- 3.1 Driver Installation
+- 3.2 Inclusion of adapter at system start
+- 4 Driver Parameters
+- 4.1 Per-Port Parameters
+- 4.2 Adapter Parameters
+- 5 Large Frame Support
+- 6 VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
+- 7 Troubleshooting
+-
+-===========================================================================
+-
+-
+-1 Overview
+-===========
+-
+-The sk98lin driver supports the Marvell Yukon and SysKonnect
+-SK-98xx/SK-95xx compliant Gigabit Ethernet Adapter on Linux. It has
+-been tested with Linux on Intel/x86 machines.
+-***
+-
+-
+-2 Required Files
+-=================
+-
+-The linux kernel source.
+-No additional files required.
+-***
+-
+-
+-3 Installation
+-===============
+-
+-It is recommended to download the latest version of the driver from the
+-SysKonnect web site www.syskonnect.com. If you have downloaded the latest
+-driver, the Linux kernel has to be patched before the driver can be
+-installed. For details on how to patch a Linux kernel, refer to the
+-patch.txt file.
+-
+-3.1 Driver Installation
+-------------------------
+-
+-The following steps describe the actions that are required to install
+-the driver and to start it manually. These steps should be carried
+-out for the initial driver setup. Once confirmed to be ok, they can
+-be included in the system start.
+-
+-NOTE 1: To perform the following tasks you need 'root' access.
+-
+-NOTE 2: In case of problems, please read the section "Troubleshooting"
+- below.
+-
+-The driver can either be integrated into the kernel or it can be compiled
+-as a module. Select the appropriate option during the kernel
+-configuration.
+-
+-Compile/use the driver as a module
+-----------------------------------
+-To compile the driver, go to the directory /usr/src/linux and
+-execute the command "make menuconfig" or "make xconfig" and proceed as
+-follows:
+-
+-To integrate the driver permanently into the kernel, proceed as follows:
+-
+-1. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
+-2. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support"
+- with (*)
+-3. Build a new kernel when the configuration of the above options is
+- finished.
+-4. Install the new kernel.
+-5. Reboot your system.
+-
+-To use the driver as a module, proceed as follows:
+-
+-1. Enable 'loadable module support' in the kernel.
+-2. For automatic driver start, enable the 'Kernel module loader'.
+-3. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
+-4. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support"
+- with (M)
+-5. Execute the command "make modules".
+-6. Execute the command "make modules_install".
+- The appropriate modules will be installed.
+-7. Reboot your system.
+-
+-
+-Load the module manually
+-------------------------
+-To load the module manually, proceed as follows:
+-
+-1. Enter "modprobe sk98lin".
+-2. If a Marvell Yukon or SysKonnect SK-98xx adapter is installed in
+- your computer and you have a /proc file system, execute the command:
+- "ls /proc/net/sk98lin/"
+- This should produce an output containing a line with the following
+- format:
+- eth0 eth1 ...
+- which indicates that your adapter has been found and initialized.
+-
+- NOTE 1: If you have more than one Marvell Yukon or SysKonnect SK-98xx
+- adapter installed, the adapters will be listed as 'eth0',
+- 'eth1', 'eth2', etc.
+- For each adapter, repeat steps 3 and 4 below.
+-
+- NOTE 2: If you have other Ethernet adapters installed, your Marvell
+- Yukon or SysKonnect SK-98xx adapter will be mapped to the
+- next available number, e.g. 'eth1'. The mapping is executed
+- automatically.
+- The module installation message (displayed either in a system
+- log file or on the console) prints a line for each adapter
+- found containing the corresponding 'ethX'.
+-
+-3. Select an IP address and assign it to the respective adapter by
+- entering:
+- ifconfig eth0 <ip-address>
+- With this command, the adapter is connected to the Ethernet.
+-
+- SK-98xx Gigabit Ethernet Server Adapters: The yellow LED on the adapter
+- is now active, the link status LED of the primary port is active and
+- the link status LED of the secondary port (on dual port adapters) is
+- blinking (if the ports are connected to a switch or hub).
+- SK-98xx V2.0 Gigabit Ethernet Adapters: The link status LED is active.
+- In addition, you will receive a status message on the console stating
+- "ethX: network connection up using port Y" and showing the selected
+- connection parameters (x stands for the ethernet device number
+- (0,1,2, etc), y stands for the port name (A or B)).
+-
+- NOTE: If you are in doubt about IP addresses, ask your network
+- administrator for assistance.
+-
+-4. Your adapter should now be fully operational.
+- Use 'ping <otherstation>' to verify the connection to other computers
+- on your network.
+-5. To check the adapter configuration view /proc/net/sk98lin/[devicename].
+- For example by executing:
+- "cat /proc/net/sk98lin/eth0"
+-
+-Unload the module
+------------------
+-To stop and unload the driver modules, proceed as follows:
+-
+-1. Execute the command "ifconfig eth0 down".
+-2. Execute the command "rmmod sk98lin".
+-
+-3.2 Inclusion of adapter at system start
+------------------------------------------
+-
+-Since a large number of different Linux distributions are
+-available, we are unable to describe a general installation procedure
+-for the driver module.
+-Because the driver is now integrated in the kernel, installation should
+-be easy, using the standard mechanism of your distribution.
+-Refer to the distribution's manual for installation of ethernet adapters.
+-
+-***
+-
+-4 Driver Parameters
+-====================
+-
+-Parameters can be set at the command line after the module has been
+-loaded with the command 'modprobe'.
+-In some distributions, the configuration tools are able to pass parameters
+-to the driver module.
+-
+-If you use the kernel module loader, you can set driver parameters
+-in the file /etc/modprobe.conf (or /etc/modules.conf in 2.4 or earlier).
+-To set the driver parameters in this file, proceed as follows:
+-
+-1. Insert a line of the form :
+- options sk98lin ...
+- For "...", the same syntax is required as described for the command
+- line parameters of modprobe below.
+-2. To activate the new parameters, either reboot your computer
+- or
+- unload and reload the driver.
+- The syntax of the driver parameters is:
+-
+- modprobe sk98lin parameter=value1[,value2[,value3...]]
+-
+- where value1 refers to the first adapter, value2 to the second etc.
+-
+-NOTE: All parameters are case sensitive. Write them exactly as shown
+- below.
+-
+-Example:
+-Suppose you have two adapters. You want to set auto-negotiation
+-on the first adapter to ON and on the second adapter to OFF.
+-You also want to set DuplexCapabilities on the first adapter
+-to FULL, and on the second adapter to HALF.
+-Then, you must enter:
+-
+- modprobe sk98lin AutoNeg_A=On,Off DupCap_A=Full,Half
+-
+-NOTE: The number of adapters that can be configured this way is
+- limited in the driver (file skge.c, constant SK_MAX_CARD_PARAM).
+- The current limit is 16. If you happen to install
+- more adapters, adjust this and recompile.
+-
+-
+-4.1 Per-Port Parameters
+-------------------------
+-
+-These settings are available for each port on the adapter.
+-In the following description, '?' stands for the port for
+-which you set the parameter (A or B).
+-
+-Speed
+------
+-Parameter: Speed_?
+-Values: 10, 100, 1000, Auto
+-Default: Auto
+-
+-This parameter is used to set the speed capabilities. It is only valid
+-for the SK-98xx V2.0 copper adapters.
+-Usually, the speed is negotiated between the two ports during link
+-establishment. If this fails, a port can be forced to a specific setting
+-with this parameter.
+-
+-Auto-Negotiation
+-----------------
+-Parameter: AutoNeg_?
+-Values: On, Off, Sense
+-Default: On
+-
+-The "Sense"-mode automatically detects whether the link partner supports
+-auto-negotiation or not.
+-
+-Duplex Capabilities
+--------------------
+-Parameter: DupCap_?
+-Values: Half, Full, Both
+-Default: Both
+-
+-This parameters is only relevant if auto-negotiation for this port is
+-not set to "Sense". If auto-negotiation is set to "On", all three values
+-are possible. If it is set to "Off", only "Full" and "Half" are allowed.
+-This parameter is useful if your link partner does not support all
+-possible combinations.
+-
+-Flow Control
+-------------
+-Parameter: FlowCtrl_?
+-Values: Sym, SymOrRem, LocSend, None
+-Default: SymOrRem
+-
+-This parameter can be used to set the flow control capabilities the
+-port reports during auto-negotiation. It can be set for each port
+-individually.
+-Possible modes:
+- -- Sym = Symmetric: both link partners are allowed to send
+- PAUSE frames
+- -- SymOrRem = SymmetricOrRemote: both or only remote partner
+- are allowed to send PAUSE frames
+- -- LocSend = LocalSend: only local link partner is allowed
+- to send PAUSE frames
+- -- None = no link partner is allowed to send PAUSE frames
+-
+-NOTE: This parameter is ignored if auto-negotiation is set to "Off".
+-
+-Role in Master-Slave-Negotiation (1000Base-T only)
+---------------------------------------------------
+-Parameter: Role_?
+-Values: Auto, Master, Slave
+-Default: Auto
+-
+-This parameter is only valid for the SK-9821 and SK-9822 adapters.
+-For two 1000Base-T ports to communicate, one must take the role of the
+-master (providing timing information), while the other must be the
+-slave. Usually, this is negotiated between the two ports during link
+-establishment. If this fails, a port can be forced to a specific setting
+-with this parameter.
+-
+-
+-4.2 Adapter Parameters
+------------------------
+-
+-Connection Type (SK-98xx V2.0 copper adapters only)
+----------------
+-Parameter: ConType
+-Values: Auto, 100FD, 100HD, 10FD, 10HD
+-Default: Auto
+-
+-The parameter 'ConType' is a combination of all five per-port parameters
+-within one single parameter. This simplifies the configuration of both ports
+-of an adapter card! The different values of this variable reflect the most
+-meaningful combinations of port parameters.
+-
+-The following table shows the values of 'ConType' and the corresponding
+-combinations of the per-port parameters:
+-
+- ConType | DupCap AutoNeg FlowCtrl Role Speed
+- ----------+------------------------------------------------------
+- Auto | Both On SymOrRem Auto Auto
+- 100FD | Full Off None Auto (ignored) 100
+- 100HD | Half Off None Auto (ignored) 100
+- 10FD | Full Off None Auto (ignored) 10
+- 10HD | Half Off None Auto (ignored) 10
+-
+-Stating any other port parameter together with this 'ConType' variable
+-will result in a merged configuration of those settings. This due to
+-the fact, that the per-port parameters (e.g. Speed_? ) have a higher
+-priority than the combined variable 'ConType'.
+-
+-NOTE: This parameter is always used on both ports of the adapter card.
+-
+-Interrupt Moderation
+---------------------
+-Parameter: Moderation
+-Values: None, Static, Dynamic
+-Default: None
+-
+-Interrupt moderation is employed to limit the maximum number of interrupts
+-the driver has to serve. That is, one or more interrupts (which indicate any
+-transmit or receive packet to be processed) are queued until the driver
+-processes them. When queued interrupts are to be served, is determined by the
+-'IntsPerSec' parameter, which is explained later below.
+-
+-Possible modes:
+-
+- -- None - No interrupt moderation is applied on the adapter card.
+- Therefore, each transmit or receive interrupt is served immediately
+- as soon as it appears on the interrupt line of the adapter card.
+-
+- -- Static - Interrupt moderation is applied on the adapter card.
+- All transmit and receive interrupts are queued until a complete
+- moderation interval ends. If such a moderation interval ends, all
+- queued interrupts are processed in one big bunch without any delay.
+- The term 'static' reflects the fact, that interrupt moderation is
+- always enabled, regardless how much network load is currently
+- passing via a particular interface. In addition, the duration of
+- the moderation interval has a fixed length that never changes while
+- the driver is operational.
+-
+- -- Dynamic - Interrupt moderation might be applied on the adapter card,
+- depending on the load of the system. If the driver detects that the
+- system load is too high, the driver tries to shield the system against
+- too much network load by enabling interrupt moderation. If - at a later
+- time - the CPU utilization decreases again (or if the network load is
+- negligible) the interrupt moderation will automatically be disabled.
+-
+-Interrupt moderation should be used when the driver has to handle one or more
+-interfaces with a high network load, which - as a consequence - leads also to a
+-high CPU utilization. When moderation is applied in such high network load
+-situations, CPU load might be reduced by 20-30%.
+-
+-NOTE: The drawback of using interrupt moderation is an increase of the round-
+-trip-time (RTT), due to the queueing and serving of interrupts at dedicated
+-moderation times.
+-
+-Interrupts per second
+----------------------
+-Parameter: IntsPerSec
+-Values: 30...40000 (interrupts per second)
+-Default: 2000
+-
+-This parameter is only used if either static or dynamic interrupt moderation
+-is used on a network adapter card. Using this parameter if no moderation is
+-applied will lead to no action performed.
+-
+-This parameter determines the length of any interrupt moderation interval.
+-Assuming that static interrupt moderation is to be used, an 'IntsPerSec'
+-parameter value of 2000 will lead to an interrupt moderation interval of
+-500 microseconds.
+-
+-NOTE: The duration of the moderation interval is to be chosen with care.
+-At first glance, selecting a very long duration (e.g. only 100 interrupts per
+-second) seems to be meaningful, but the increase of packet-processing delay
+-is tremendous. On the other hand, selecting a very short moderation time might
+-compensate the use of any moderation being applied.
+-
+-
+-Preferred Port
+---------------
+-Parameter: PrefPort
+-Values: A, B
+-Default: A
+-
+-This is used to force the preferred port to A or B (on dual-port network
+-adapters). The preferred port is the one that is used if both are detected
+-as fully functional.
+-
+-RLMT Mode (Redundant Link Management Technology)
+-------------------------------------------------
+-Parameter: RlmtMode
+-Values: CheckLinkState,CheckLocalPort, CheckSeg, DualNet
+-Default: CheckLinkState
+-
+-RLMT monitors the status of the port. If the link of the active port
+-fails, RLMT switches immediately to the standby link. The virtual link is
+-maintained as long as at least one 'physical' link is up.
+-
+-Possible modes:
+-
+- -- CheckLinkState - Check link state only: RLMT uses the link state
+- reported by the adapter hardware for each individual port to
+- determine whether a port can be used for all network traffic or
+- not.
+-
+- -- CheckLocalPort - In this mode, RLMT monitors the network path
+- between the two ports of an adapter by regularly exchanging packets
+- between them. This mode requires a network configuration in which
+- the two ports are able to "see" each other (i.e. there must not be
+- any router between the ports).
+-
+- -- CheckSeg - Check local port and segmentation: This mode supports the
+- same functions as the CheckLocalPort mode and additionally checks
+- network segmentation between the ports. Therefore, this mode is only
+- to be used if Gigabit Ethernet switches are installed on the network
+- that have been configured to use the Spanning Tree protocol.
+-
+- -- DualNet - In this mode, ports A and B are used as separate devices.
+- If you have a dual port adapter, port A will be configured as eth0
+- and port B as eth1. Both ports can be used independently with
+- distinct IP addresses. The preferred port setting is not used.
+- RLMT is turned off.
+-
+-NOTE: RLMT modes CLP and CLPSS are designed to operate in configurations
+- where a network path between the ports on one adapter exists.
+- Moreover, they are not designed to work where adapters are connected
+- back-to-back.
+-***
+-
+-
+-5 Large Frame Support
+-======================
+-
+-The driver supports large frames (also called jumbo frames). Using large
+-frames can result in an improved throughput if transferring large amounts
+-of data.
+-To enable large frames, set the MTU (maximum transfer unit) of the
+-interface to the desired value (up to 9000), execute the following
+-command:
+- ifconfig eth0 mtu 9000
+-This will only work if you have two adapters connected back-to-back
+-or if you use a switch that supports large frames. When using a switch,
+-it should be configured to allow large frames and auto-negotiation should
+-be set to OFF. The setting must be configured on all adapters that can be
+-reached by the large frames. If one adapter is not set to receive large
+-frames, it will simply drop them.
+-
+-You can switch back to the standard ethernet frame size by executing the
+-following command:
+- ifconfig eth0 mtu 1500
+-
+-To permanently configure this setting, add a script with the 'ifconfig'
+-line to the system startup sequence (named something like "S99sk98lin"
+-in /etc/rc.d/rc2.d).
+-***
+-
+-
+-6 VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
+-==================================================================
+-
+-The Marvell Yukon/SysKonnect Linux drivers are able to support VLAN and
+-Link Aggregation according to IEEE standards 802.1, 802.1q, and 802.3ad.
+-These features are only available after installation of open source
+-modules available on the Internet:
+-For VLAN go to: http://www.candelatech.com/~greear/vlan.html
+-For Link Aggregation go to: http://www.st.rim.or.jp/~yumo
+-
+-NOTE: SysKonnect GmbH does not offer any support for these open source
+- modules and does not take the responsibility for any kind of
+- failures or problems arising in connection with these modules.
+-
+-NOTE: Configuring Link Aggregation on a SysKonnect dual link adapter may
+- cause problems when unloading the driver.
+-
+-
+-7 Troubleshooting
+-==================
+-
+-If any problems occur during the installation process, check the
+-following list:
+-
+-
+-Problem: The SK-98xx adapter cannot be found by the driver.
+-Solution: In /proc/pci search for the following entry:
+- 'Ethernet controller: SysKonnect SK-98xx ...'
+- If this entry exists, the SK-98xx or SK-98xx V2.0 adapter has
+- been found by the system and should be operational.
+- If this entry does not exist or if the file '/proc/pci' is not
+- found, there may be a hardware problem or the PCI support may
+- not be enabled in your kernel.
+- The adapter can be checked using the diagnostics program which
+- is available on the SysKonnect web site:
+- www.syskonnect.com
+-
+- Some COMPAQ machines have problems dealing with PCI under Linux.
+- This problem is described in the 'PCI howto' document
+- (included in some distributions or available from the
+- web, e.g. at 'www.linux.org').
+-
+-
+-Problem: Programs such as 'ifconfig' or 'route' cannot be found or the
+- error message 'Operation not permitted' is displayed.
+-Reason: You are not logged in as user 'root'.
+-Solution: Logout and login as 'root' or change to 'root' via 'su'.
+-
+-
+-Problem: Upon use of the command 'ping <address>' the message
+- "ping: sendto: Network is unreachable" is displayed.
+-Reason: Your route is not set correctly.
+-Solution: If you are using RedHat, you probably forgot to set up the
+- route in the 'network configuration'.
+- Check the existing routes with the 'route' command and check
+- if an entry for 'eth0' exists, and if so, if it is set correctly.
+-
+-
+-Problem: The driver can be started, the adapter is connected to the
+- network, but you cannot receive or transmit any packets;
+- e.g. 'ping' does not work.
+-Reason: There is an incorrect route in your routing table.
+-Solution: Check the routing table with the command 'route' and read the
+- manual help pages dealing with routes (enter 'man route').
+-
+-NOTE: Although the 2.2.x kernel versions generate the routing entry
+- automatically, problems of this kind may occur here as well. We've
+- come across a situation in which the driver started correctly at
+- system start, but after the driver has been removed and reloaded,
+- the route of the adapter's network pointed to the 'dummy0'device
+- and had to be corrected manually.
+-
+-
+-Problem: Your computer should act as a router between multiple
+- IP subnetworks (using multiple adapters), but computers in
+- other subnetworks cannot be reached.
+-Reason: Either the router's kernel is not configured for IP forwarding
+- or the routing table and gateway configuration of at least one
+- computer is not working.
+-
+-Problem: Upon driver start, the following error message is displayed:
+- "eth0: -- ERROR --
+- Class: internal Software error
+- Nr: 0xcc
+- Msg: SkGeInitPort() cannot init running ports"
+-Reason: You are using a driver compiled for single processor machines
+- on a multiprocessor machine with SMP (Symmetric MultiProcessor)
+- kernel.
+-Solution: Configure your kernel appropriately and recompile the kernel or
+- the modules.
+-
+-
+-
+-If your problem is not listed here, please contact SysKonnect's technical
+-support for help (linux at syskonnect.de).
+-When contacting our technical support, please ensure that the following
+-information is available:
+-- System Manufacturer and HW Informations (CPU, Memory... )
+-- PCI-Boards in your system
+-- Distribution
+-- Kernel version
+-- Driver version
+-***
+-
+-
+-
+-***End of Readme File***
+diff --git a/Documentation/unaligned-memory-access.txt b/Documentation/unaligned-memory-access.txt
+index 6223eac..b0472ac 100644
+--- a/Documentation/unaligned-memory-access.txt
++++ b/Documentation/unaligned-memory-access.txt
+@@ -57,7 +57,7 @@ here; a summary of the common scenarios is presented below:
+ unaligned access to be corrected.
+ - Some architectures are not capable of unaligned memory access, but will
+ silently perform a different memory access to the one that was requested,
+- resulting a a subtle code bug that is hard to detect!
++ resulting in a subtle code bug that is hard to detect!
+
+ It should be obvious from the above that if your code causes unaligned
+ memory accesses to happen, your code will not work correctly on certain
+@@ -209,7 +209,7 @@ memory and you wish to avoid unaligned access, its usage is as follows:
+
+ u32 value = get_unaligned((u32 *) data);
+
+-These macros work work for memory accesses of any length (not just 32 bits as
++These macros work for memory accesses of any length (not just 32 bits as
+ in the examples above). Be aware that when compared to standard access of
+ aligned memory, using these macros to access unaligned memory can be costly in
+ terms of performance.
+diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
+index 4e1c086..dd6e334 100644
+--- a/arch/alpha/kernel/pci_iommu.c
++++ b/arch/alpha/kernel/pci_iommu.c
+@@ -424,11 +424,13 @@ EXPORT_SYMBOL(pci_unmap_page);
+ else DMA_ADDRP is undefined. */
+
+ void *
+-pci_alloc_consistent(struct pci_dev *pdev, size_t size, dma_addr_t *dma_addrp)
++__pci_alloc_consistent(struct pci_dev *pdev, size_t size,
++ dma_addr_t *dma_addrp, gfp_t gfp)
+ {
+ void *cpu_addr;
+ long order = get_order(size);
+- gfp_t gfp = GFP_ATOMIC;
++
++ gfp &= ~GFP_DMA;
+
+ try_again:
+ cpu_addr = (void *)__get_free_pages(gfp, order);
+@@ -458,7 +460,7 @@ try_again:
+
+ return cpu_addr;
+ }
+-EXPORT_SYMBOL(pci_alloc_consistent);
++EXPORT_SYMBOL(__pci_alloc_consistent);
+
+ /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must
+ be values that were returned from pci_alloc_consistent. SIZE must
+diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile
+index 2cba605..b15173f 100644
+--- a/arch/m68k/Makefile
++++ b/arch/m68k/Makefile
+@@ -13,6 +13,8 @@
+ # Copyright (C) 1994 by Hamish Macdonald
+ #
+
++KBUILD_DEFCONFIG := amiga_defconfig
++
+ # override top level makefile
+ AS += -m68020
+ LDFLAGS := -m m68kelf
+diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig
+index 5649fba..e419583 100644
+--- a/arch/m68k/configs/amiga_defconfig
++++ b/arch/m68k/configs/amiga_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:23 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:06 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-amiga"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -80,10 +128,24 @@ CONFIG_M68030=y
+ CONFIG_M68040=y
+ CONFIG_M68060=y
+ CONFIG_MMU_MOTOROLA=y
+-CONFIG_M68KFPU_EMU=y
+-CONFIG_M68KFPU_EMU_EXTRAPREC=y
+-# CONFIG_M68KFPU_EMU_ONLY is not set
++# CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -97,47 +159,288 @@ CONFIG_AMIGA_PCMCIA=y
+ CONFIG_PROC_HARDWARE=y
+ CONFIG_ISA=y
+ CONFIG_GENERIC_ISA_DMA=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+ CONFIG_ZORRO_NAMES=y
+
+ #
+-# Device Drivers
++# Networking
+ #
++CONFIG_NET=y
+
+ #
+-# Generic Driver Options
++# Networking options
+ #
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
++CONFIG_PACKET=y
++# CONFIG_PACKET_MMAP is not set
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
++CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
++CONFIG_INET=y
++# CONFIG_IP_MULTICAST is not set
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++# CONFIG_IP_PNP is not set
++CONFIG_NET_IPIP=m
++CONFIG_NET_IPGRE=m
++# 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=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
++# CONFIG_IP_VS is not set
++CONFIG_IPV6=m
++CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
++CONFIG_INET6_AH=m
++CONFIG_INET6_ESP=m
++CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
++CONFIG_NETFILTER=y
++# CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+-# Memory Technology Devices (MTD)
++# IP: Netfilter Configuration
+ #
+-# CONFIG_MTD is not set
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
++CONFIG_IP_NF_QUEUE=m
++CONFIG_IP_NF_IPTABLES=m
++CONFIG_IP_NF_MATCH_RECENT=m
++CONFIG_IP_NF_MATCH_ECN=m
++CONFIG_IP_NF_MATCH_AH=m
++CONFIG_IP_NF_MATCH_TTL=m
++CONFIG_IP_NF_MATCH_ADDRTYPE=m
++CONFIG_IP_NF_FILTER=m
++CONFIG_IP_NF_TARGET_REJECT=m
++CONFIG_IP_NF_TARGET_LOG=m
++CONFIG_IP_NF_TARGET_ULOG=m
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
++CONFIG_IP_NF_TARGET_MASQUERADE=m
++CONFIG_IP_NF_TARGET_REDIRECT=m
++CONFIG_IP_NF_TARGET_NETMAP=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_ECN=m
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
++CONFIG_IP_NF_RAW=m
++CONFIG_IP_NF_ARPTABLES=m
++CONFIG_IP_NF_ARPFILTER=m
++CONFIG_IP_NF_ARP_MANGLE=m
++
++#
++# IPv6: Netfilter Configuration
++#
++CONFIG_NF_CONNTRACK_IPV6=m
++CONFIG_IP6_NF_QUEUE=m
++CONFIG_IP6_NF_IPTABLES=m
++CONFIG_IP6_NF_MATCH_RT=m
++CONFIG_IP6_NF_MATCH_OPTS=m
++CONFIG_IP6_NF_MATCH_FRAG=m
++CONFIG_IP6_NF_MATCH_HL=m
++CONFIG_IP6_NF_MATCH_IPV6HEADER=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
++CONFIG_IP6_NF_MATCH_EUI64=m
++CONFIG_IP6_NF_FILTER=m
++CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
++CONFIG_IP6_NF_MANGLE=m
++CONFIG_IP6_NF_TARGET_HL=m
++CONFIG_IP6_NF_RAW=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
++
++#
++# DCCP CCIDs Configuration (EXPERIMENTAL)
++#
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++CONFIG_LLC=m
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++CONFIG_ATALK=m
++# CONFIG_DEV_APPLETALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++# CONFIG_NET_SCHED is not set
++CONFIG_NET_CLS_ROUTE=y
+
+ #
+-# Parallel port support
++# Network testing
+ #
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
++# CONFIG_IRDA is not set
++# CONFIG_BT is not set
++# CONFIG_AF_RXRPC is not set
++
++#
++# Wireless
++#
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
+ CONFIG_PARPORT=m
+ # CONFIG_PARPORT_PC is not set
+-CONFIG_PARPORT_NOT_PC=y
+ CONFIG_PARPORT_AMIGA=m
+ CONFIG_PARPORT_MFC3=m
+ # CONFIG_PARPORT_GSC is not set
++# CONFIG_PARPORT_AX88796 is not set
+ CONFIG_PARPORT_1284=y
+-
+-#
+-# Plug and Play support
+-#
++CONFIG_PARPORT_NOT_PC=y
+ # CONFIG_PNP is not set
+-
+-#
+-# Block devices
+-#
++CONFIG_BLK_DEV=y
+ CONFIG_AMIGA_FLOPPY=y
+ CONFIG_AMIGA_Z2RAM=y
+-# CONFIG_PARIDE is not set
+ # CONFIG_BLK_DEV_COW_COMMON is not set
+ CONFIG_BLK_DEV_LOOP=y
+ CONFIG_BLK_DEV_CRYPTOLOOP=m
+@@ -145,56 +448,66 @@ CONFIG_BLK_DEV_NBD=m
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_BLK_DEV_XIP is not set
+ CONFIG_CDROM_PKTCDVD=m
+ CONFIG_CDROM_PKTCDVD_BUFFERS=8
+ # CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+ CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
++CONFIG_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
+ CONFIG_IDE=y
+ CONFIG_BLK_DEV_IDE=y
+
+ #
+-# Please see Documentation/ide.txt for help/info on IDE drives
++# Please see Documentation/ide/ide.txt for help/info on IDE drives
+ #
+ # CONFIG_BLK_DEV_IDE_SATA is not set
+ CONFIG_BLK_DEV_IDEDISK=y
+ # CONFIG_IDEDISK_MULTI_MODE is not set
+ CONFIG_BLK_DEV_IDECD=y
+-CONFIG_BLK_DEV_IDETAPE=m
++CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
++# CONFIG_BLK_DEV_IDETAPE is not set
+ CONFIG_BLK_DEV_IDEFLOPPY=m
+ # CONFIG_BLK_DEV_IDESCSI is not set
+ # CONFIG_IDE_TASK_IOCTL is not set
++CONFIG_IDE_PROC_FS=y
+
+ #
+ # IDE chipset support/bugfixes
+ #
+-CONFIG_IDE_GENERIC=y
+-# CONFIG_IDE_ARM is not set
++# CONFIG_IDE_GENERIC is not set
++# CONFIG_BLK_DEV_PLATFORM is not set
+ CONFIG_BLK_DEV_GAYLE=y
+ CONFIG_BLK_DEV_IDEDOUBLER=y
+ CONFIG_BLK_DEV_BUDDHA=y
+-# CONFIG_IDE_CHIPSETS is not set
++
++#
++# Other IDE chipsets support
++#
++
++#
++# Note: most of these also require special kernel boot parameters
++#
++# CONFIG_BLK_DEV_4DRIVES is not set
++# CONFIG_BLK_DEV_ALI14XX is not set
++# CONFIG_BLK_DEV_DTC2278 is not set
++# CONFIG_BLK_DEV_HT6560B is not set
++# CONFIG_BLK_DEV_QD65XX is not set
++# CONFIG_BLK_DEV_UMC8672 is not set
+ # CONFIG_BLK_DEV_IDEDMA is not set
+-# CONFIG_IDEDMA_AUTO is not set
++# CONFIG_IDE_ARCH_OBSOLETE_INIT is not set
+ # CONFIG_BLK_DEV_HD is not set
+
+ #
+ # SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
+ CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
+ CONFIG_SCSI_PROC_FS=y
+
+ #
+@@ -206,6 +519,7 @@ CONFIG_CHR_DEV_OSST=m
+ CONFIG_BLK_DEV_SR=y
+ CONFIG_BLK_DEV_SR_VENDOR=y
+ CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
+
+ #
+ # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+@@ -213,30 +527,34 @@ CONFIG_CHR_DEV_SG=m
+ # CONFIG_SCSI_MULTI_LUN is not set
+ CONFIG_SCSI_CONSTANTS=y
+ # CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
+
+ #
+-# SCSI Transport Attributes
++# SCSI Transports
+ #
+-# CONFIG_SCSI_SPI_ATTRS is not set
++CONFIG_SCSI_SPI_ATTRS=y
+ # CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_AHA152X is not set
+ # CONFIG_SCSI_AIC7XXX_OLD is not set
++# CONFIG_SCSI_ADVANSYS is not set
+ # CONFIG_SCSI_IN2000 is not set
+-# CONFIG_SCSI_SATA is not set
+ # CONFIG_SCSI_DTC3280 is not set
+ # CONFIG_SCSI_FUTURE_DOMAIN is not set
+ # CONFIG_SCSI_GENERIC_NCR5380 is not set
+ # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+-# CONFIG_SCSI_PPA is not set
+-# CONFIG_SCSI_IMM is not set
+ # CONFIG_SCSI_NCR53C406A is not set
++CONFIG_53C700_BE_BUS=y
+ # CONFIG_SCSI_PAS16 is not set
+-# CONFIG_SCSI_PSI240I is not set
+ # CONFIG_SCSI_QLOGIC_FAS is not set
+ # CONFIG_SCSI_SYM53C416 is not set
+ # CONFIG_SCSI_T128 is not set
+@@ -244,243 +562,42 @@ CONFIG_SCSI_CONSTANTS=y
+ CONFIG_A3000_SCSI=y
+ CONFIG_A2091_SCSI=y
+ CONFIG_GVP11_SCSI=y
+-CONFIG_CYBERSTORM_SCSI=y
+-CONFIG_CYBERSTORMII_SCSI=y
+-CONFIG_BLZ2060_SCSI=y
+-CONFIG_BLZ1230_SCSI=y
+-CONFIG_FASTLANE_SCSI=y
+-CONFIG_OKTAGON_SCSI=y
+-
+-#
+-# Old CD-ROM drivers (not SCSI, not IDE)
+-#
+-# CONFIG_CD_NO_IDESCSI is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
++CONFIG_SCSI_A4000T=y
++CONFIG_SCSI_ZORRO7XX=y
+ CONFIG_MD=y
+ CONFIG_BLK_DEV_MD=m
+ CONFIG_MD_LINEAR=m
+ CONFIG_MD_RAID0=m
+ CONFIG_MD_RAID1=m
+ # CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
+ CONFIG_MD_MULTIPATH=m
+ # CONFIG_MD_FAULTY is not set
+ CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
+ CONFIG_DM_CRYPT=m
+ CONFIG_DM_SNAPSHOT=m
+ CONFIG_DM_MIRROR=m
+ CONFIG_DM_ZERO=m
+ CONFIG_DM_MULTIPATH=m
+ CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
+-#
+-CONFIG_NET=y
+-
+-#
+-# Networking options
+-#
+-CONFIG_PACKET=y
+-# CONFIG_PACKET_MMAP is not set
+-CONFIG_UNIX=y
+-CONFIG_NET_KEY=y
+-CONFIG_INET=y
+-# CONFIG_IP_MULTICAST is not set
+-# CONFIG_IP_ADVANCED_ROUTER is not set
+-# CONFIG_IP_PNP is not set
+-CONFIG_NET_IPIP=m
+-CONFIG_NET_IPGRE=m
+-# CONFIG_ARPD is not set
+-CONFIG_SYN_COOKIES=y
+-CONFIG_INET_AH=m
+-CONFIG_INET_ESP=m
+-CONFIG_INET_IPCOMP=m
+-CONFIG_INET_TUNNEL=m
+-CONFIG_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
+-# CONFIG_IP_VS is not set
+-CONFIG_IPV6=m
+-CONFIG_IPV6_PRIVACY=y
+-CONFIG_INET6_AH=m
+-CONFIG_INET6_ESP=m
+-CONFIG_INET6_IPCOMP=m
+-CONFIG_INET6_TUNNEL=m
+-CONFIG_IPV6_TUNNEL=m
+-CONFIG_NETFILTER=y
+-# CONFIG_NETFILTER_DEBUG is not set
+-
+-#
+-# IP: Netfilter Configuration
+-#
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
+-CONFIG_IP_NF_QUEUE=m
+-CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+-CONFIG_IP_NF_MATCH_RECENT=m
+-CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
+-CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+-CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
+-CONFIG_IP_NF_TARGET_MASQUERADE=m
+-CONFIG_IP_NF_TARGET_REDIRECT=m
+-CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
+-CONFIG_IP_NF_MANGLE=m
+-CONFIG_IP_NF_TARGET_TOS=m
+-CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+-CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+-CONFIG_IP_NF_ARPTABLES=m
+-CONFIG_IP_NF_ARPFILTER=m
+-CONFIG_IP_NF_ARP_MANGLE=m
+-
+-#
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
+-#
+-CONFIG_IP6_NF_QUEUE=m
+-CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+-CONFIG_IP6_NF_MATCH_RT=m
+-CONFIG_IP6_NF_MATCH_OPTS=m
+-CONFIG_IP6_NF_MATCH_FRAG=m
+-CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
+-CONFIG_IP6_NF_MATCH_EUI64=m
+-CONFIG_IP6_NF_FILTER=m
+-CONFIG_IP6_NF_TARGET_LOG=m
+-CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
+-CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
+-
+-#
+-# SCTP Configuration (EXPERIMENTAL)
+-#
+-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_ATM is not set
+-# CONFIG_BRIDGE is not set
+-# CONFIG_VLAN_8021Q is not set
+-# CONFIG_DECNET is not set
+-CONFIG_LLC=m
+-# CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
+-CONFIG_ATALK=m
+-# CONFIG_DEV_APPLETALK is not set
+-# CONFIG_X25 is not set
+-# CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+-# CONFIG_ECONET is not set
+-# CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+-# CONFIG_NET_SCHED is not set
+-CONFIG_NET_CLS_ROUTE=y
+-
+-#
+-# Network testing
+-#
+-# CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+-# CONFIG_HAMRADIO is not set
+-# CONFIG_IRDA is not set
+-# CONFIG_BT is not set
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
+ CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
+ CONFIG_DUMMY=m
+ # CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
+ CONFIG_EQUALIZER=m
+ # CONFIG_TUN is not set
+-
+-#
+-# ARCnet devices
+-#
++CONFIG_VETH=m
+ # CONFIG_ARCNET is not set
+-
+-#
+-# Ethernet (10 or 100Mbit)
+-#
++# CONFIG_PHYLIB is not set
+ CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
++# CONFIG_MII is not set
+ CONFIG_ARIADNE=m
+ CONFIG_A2065=m
+ CONFIG_HYDRA=m
+@@ -493,32 +610,24 @@ CONFIG_APNE=m
+ # CONFIG_DEPCA is not set
+ # CONFIG_HP100 is not set
+ # CONFIG_NET_ISA is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+ # CONFIG_NET_PCI is not set
++# CONFIG_B44 is not set
+ # CONFIG_NET_POCKET is not set
+-
+-#
+-# Ethernet (1000 Mbit)
+-#
+-
+-#
+-# Ethernet (10000 Mbit)
+-#
+-
+-#
+-# Token Ring devices
+-#
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+ # CONFIG_TR is not set
+
+ #
+-# Wireless LAN (non-hamradio)
+-#
+-# CONFIG_NET_RADIO is not set
+-
+-#
+-# Wan interfaces
++# Wireless LAN
+ #
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+-CONFIG_PLIP=m
++# CONFIG_PLIP is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+ CONFIG_PPP_FILTER=y
+@@ -526,28 +635,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -557,7 +666,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -570,6 +678,7 @@ CONFIG_INPUT_KEYBOARD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_KEYBOARD_AMIGA=y
+ CONFIG_INPUT_MOUSE=y
+ # CONFIG_MOUSE_PS2 is not set
+@@ -577,7 +686,7 @@ CONFIG_INPUT_MOUSE=y
+ # CONFIG_MOUSE_INPORT is not set
+ # CONFIG_MOUSE_LOGIBM is not set
+ # CONFIG_MOUSE_PC110PAD is not set
+-CONFIG_MOUSE_AMIGA=y
++CONFIG_MOUSE_AMIGA=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ CONFIG_INPUT_JOYSTICK=y
+ # CONFIG_JOYSTICK_ANALOG is not set
+@@ -603,16 +712,16 @@ CONFIG_INPUT_JOYSTICK=y
+ # CONFIG_JOYSTICK_TURBOGRAFX is not set
+ CONFIG_JOYSTICK_AMIGA=m
+ # CONFIG_JOYSTICK_JOYDUMP is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+-# CONFIG_INPUT_MISC is not set
++CONFIG_INPUT_MISC=y
++CONFIG_INPUT_M68K_BEEP=m
++# CONFIG_INPUT_UINPUT is not set
+
+ #
+ # Hardware I/O ports
+ #
+-CONFIG_SERIO=m
+-CONFIG_SERIO_SERPORT=m
+-# CONFIG_SERIO_PARKBD is not set
+-# CONFIG_SERIO_RAW is not set
++# CONFIG_SERIO is not set
+ # CONFIG_GAMEPORT is not set
+
+ #
+@@ -621,6 +730,7 @@ CONFIG_SERIO_SERPORT=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+ CONFIG_A2232=m
+
+@@ -638,94 +748,102 @@ CONFIG_LEGACY_PTY_COUNT=256
+ CONFIG_PRINTER=m
+ # CONFIG_LP_CONSOLE is not set
+ # CONFIG_PPDEV is not set
+-# CONFIG_TIPAR is not set
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
++# CONFIG_HW_RANDOM is not set
+ CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+ # CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
+-
+-#
+-# TPM devices
+-#
+-
+-#
+-# I2C support
+-#
++# CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+
+ #
+-# Dallas's 1-wire bus
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# Misc devices
++# Sonics Silicon Backplane
+ #
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Multimedia devices
++# Multifunction device drivers
+ #
+-# CONFIG_VIDEO_DEV is not set
++# CONFIG_MFD_SM501 is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Multimedia devices
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+ # Graphics support
+ #
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+ CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
+ CONFIG_FB_CFB_FILLRECT=y
+ CONFIG_FB_CFB_COPYAREA=y
+ CONFIG_FB_CFB_IMAGEBLIT=y
+-CONFIG_FB_SOFT_CURSOR=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=y
++# CONFIG_FB_SVGALIB is not set
+ # CONFIG_FB_MACMODES is not set
+-CONFIG_FB_MODE_HELPERS=y
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
+ # CONFIG_FB_TILEBLITTING is not set
+-CONFIG_FB_CIRRUS=m
++
++#
++# Frame buffer hardware drivers
++#
++CONFIG_FB_CIRRUS=y
+ CONFIG_FB_AMIGA=y
+ CONFIG_FB_AMIGA_OCS=y
+ CONFIG_FB_AMIGA_ECS=y
+ CONFIG_FB_AMIGA_AGA=y
+ CONFIG_FB_FM2=y
++# CONFIG_FB_UVESA is not set
+ # CONFIG_FB_S1D13XXX is not set
+ # CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
+ CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+ # CONFIG_FONTS is not set
+ CONFIG_FONT_8x8=y
+ CONFIG_FONT_8x16=y
+ CONFIG_FONT_PEARL_8x8=y
+-
+-#
+-# Logo configuration
+-#
+ CONFIG_LOGO=y
+ CONFIG_LOGO_LINUX_MONO=y
+ CONFIG_LOGO_LINUX_VGA16=y
+ CONFIG_LOGO_LINUX_CLUT224=y
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+ # Sound
+@@ -733,27 +851,21 @@ CONFIG_LOGO_LINUX_CLUT224=y
+ CONFIG_SOUND=m
+ CONFIG_DMASOUND_PAULA=m
+ CONFIG_DMASOUND=m
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
++# CONFIG_AUXDISPLAY is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -768,10 +880,11 @@ CONFIG_MULTIFACE_III_TTY=m
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -782,25 +895,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -808,7 +925,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -827,19 +943,18 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+ #
+ # CONFIG_ADFS_FS is not set
+-CONFIG_AFFS_FS=y
++CONFIG_AFFS_FS=m
+ CONFIG_HFS_FS=m
+ CONFIG_HFSPLUS_FS=m
+ # CONFIG_BEFS_FS is not set
+@@ -847,43 +962,39 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+ # CONFIG_UFS_FS_WRITE is not set
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=m
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_LOCKD=m
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=m
+ CONFIG_SUNRPC_GSS=m
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=m
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-CONFIG_NCPFS_NFS_NS=y
+-CONFIG_NCPFS_OS2_NS=y
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -894,10 +1005,6 @@ CONFIG_CODA_FS=m
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_AMIGA_PARTITION=y
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -938,35 +1045,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=m
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=m
+@@ -975,9 +1089,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=m
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=m
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -986,20 +1112,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig
+index 63024b0..e61196c 100644
+--- a/arch/m68k/configs/apollo_defconfig
++++ b/arch/m68k/configs/apollo_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:27 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:07 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-apollo"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -80,10 +128,24 @@ CONFIG_M68030=y
+ CONFIG_M68040=y
+ CONFIG_M68060=y
+ CONFIG_MMU_MOTOROLA=y
+-CONFIG_M68KFPU_EMU=y
+-CONFIG_M68KFPU_EMU_EXTRAPREC=y
+-# CONFIG_M68KFPU_EMU_ONLY is not set
++# CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -93,134 +155,11 @@ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+ CONFIG_HEARTBEAT=y
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-# 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-# CONFIG_IDE is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -230,10 +169,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ CONFIG_IP_PNP=y
+ CONFIG_IP_PNP_DHCP=y
+ CONFIG_IP_PNP_BOOTP=y
+@@ -245,145 +191,199 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ CONFIG_LLC=m
+ # CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
++# CONFIG_IPX is not set
+ CONFIG_ATALK=m
+ # CONFIG_DEV_APPLETALK is not set
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -391,46 +391,154 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
+-CONFIG_APOLLO_ELPLUS=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
+
+ #
+-# Ethernet (1000 Mbit)
++# Device Drivers
+ #
+
+ #
+-# Ethernet (10000 Mbit)
++# Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
+
+ #
+-# Token Ring devices
++# SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Wireless LAN (non-hamradio)
++# SCSI support type (disk, tape, CD-ROM)
+ #
+-# CONFIG_NET_RADIO is not set
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++# CONFIG_SCSI_SPI_ATTRS is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_DEBUG is not set
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++# CONFIG_MII is not set
++CONFIG_APOLLO_ELPLUS=y
++# 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_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+
+ #
+-# Wan interfaces
++# Wireless LAN
+ #
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+@@ -439,28 +547,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -470,7 +578,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -483,11 +590,19 @@ CONFIG_INPUT_KEYBOARD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+ # CONFIG_INPUT_MISC is not set
+
+@@ -495,7 +610,7 @@ CONFIG_MOUSE_SERIAL=m
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=m
+-CONFIG_SERIO_SERPORT=m
++# CONFIG_SERIO_SERPORT is not set
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+@@ -506,6 +621,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -519,90 +635,114 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
+-CONFIG_GEN_RTC=y
++# CONFIG_HW_RANDOM is not set
++CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++# CONFIG_I2C is not set
+
+ #
+-# TPM devices
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# I2C support
++# Sonics Silicon Backplane
+ #
+-# CONFIG_I2C is not set
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Dallas's 1-wire bus
++# Multifunction device drivers
+ #
+-# CONFIG_W1 is not set
++# CONFIG_MFD_SM501 is not set
+
+ #
+-# Misc devices
++# Multimedia devices
+ #
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+-# Multimedia devices
++# Graphics support
+ #
+-# CONFIG_VIDEO_DEV is not set
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++CONFIG_FB_CFB_FILLRECT=y
++# CONFIG_FB_CFB_COPYAREA is not set
++CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=y
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Frame buffer hardware drivers
+ #
+-# CONFIG_DVB is not set
++CONFIG_FB_APOLLO=y
++# CONFIG_FB_UVESA is not set
++# CONFIG_FB_S1D13XXX is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+-# Graphics support
++# Display device support
+ #
+-# CONFIG_FB is not set
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
++# CONFIG_FONTS is not set
++CONFIG_FONT_8x8=y
++CONFIG_FONT_8x16=y
++CONFIG_LOGO=y
++CONFIG_LOGO_LINUX_MONO=y
++# CONFIG_LOGO_LINUX_VGA16 is not set
++# CONFIG_LOGO_LINUX_CLUT224 is not set
+
+ #
+ # Sound
+ #
+ # CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -615,10 +755,11 @@ CONFIG_SERIAL_CONSOLE=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -629,25 +770,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -655,7 +800,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -674,13 +818,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -694,44 +837,40 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+ # CONFIG_UFS_FS_WRITE is not set
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-CONFIG_NCPFS_NFS_NS=y
+-CONFIG_NCPFS_OS2_NS=y
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -741,10 +880,6 @@ CONFIG_CODA_FS=m
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -785,35 +920,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
+@@ -822,9 +964,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -833,20 +987,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/atari_defconfig b/arch/m68k/configs/atari_defconfig
+index 6433da2..ba7f971 100644
+--- a/arch/m68k/configs/atari_defconfig
++++ b/arch/m68k/configs/atari_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:32 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:09 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-atari"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -80,10 +128,24 @@ CONFIG_M68030=y
+ CONFIG_M68040=y
+ CONFIG_M68060=y
+ CONFIG_MMU_MOTOROLA=y
+-CONFIG_M68KFPU_EMU=y
+-CONFIG_M68KFPU_EMU_EXTRAPREC=y
+-# CONFIG_M68KFPU_EMU_ONLY is not set
++# CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -94,166 +156,11 @@ CONFIG_BINFMT_MISC=m
+ CONFIG_STRAM_PROC=y
+ CONFIG_HEARTBEAT=y
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-CONFIG_PARPORT=m
+-# CONFIG_PARPORT_PC is not set
+-CONFIG_PARPORT_NOT_PC=y
+-CONFIG_PARPORT_ATARI=m
+-# CONFIG_PARPORT_GSC is not set
+-CONFIG_PARPORT_1284=y
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-CONFIG_ATARI_FLOPPY=y
+-# CONFIG_PARIDE 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-CONFIG_IDE=y
+-CONFIG_BLK_DEV_IDE=y
+-
+-#
+-# Please see Documentation/ide.txt for help/info on IDE drives
+-#
+-# CONFIG_BLK_DEV_IDE_SATA is not set
+-CONFIG_BLK_DEV_IDEDISK=y
+-# CONFIG_IDEDISK_MULTI_MODE is not set
+-CONFIG_BLK_DEV_IDECD=y
+-CONFIG_BLK_DEV_IDETAPE=m
+-CONFIG_BLK_DEV_IDEFLOPPY=m
+-# CONFIG_BLK_DEV_IDESCSI is not set
+-# CONFIG_IDE_TASK_IOCTL is not set
+-
+-#
+-# IDE chipset support/bugfixes
+-#
+-CONFIG_IDE_GENERIC=y
+-# CONFIG_IDE_ARM is not set
+-CONFIG_BLK_DEV_FALCON_IDE=y
+-# CONFIG_BLK_DEV_IDEDMA is not set
+-# CONFIG_IDEDMA_AUTO is not set
+-# CONFIG_BLK_DEV_HD is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_PPA is not set
+-# CONFIG_SCSI_IMM is not set
+-# CONFIG_SCSI_DEBUG is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -263,10 +170,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ # CONFIG_IP_PNP is not set
+ CONFIG_NET_IPIP=m
+ CONFIG_NET_IPGRE=m
+@@ -275,145 +189,199 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ CONFIG_LLC=m
+ # CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
++# CONFIG_IPX is not set
+ CONFIG_ATALK=m
+ # CONFIG_DEV_APPLETALK is not set
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -421,46 +389,189 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
+-CONFIG_ATARILANCE=m
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++CONFIG_PARPORT=m
++CONFIG_PARPORT_ATARI=m
++# CONFIG_PARPORT_GSC is not set
++# CONFIG_PARPORT_AX88796 is not set
++CONFIG_PARPORT_1284=y
++CONFIG_PARPORT_NOT_PC=y
++CONFIG_BLK_DEV=y
++CONFIG_ATARI_FLOPPY=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++CONFIG_IDE=y
++CONFIG_BLK_DEV_IDE=y
++
++#
++# Please see Documentation/ide/ide.txt for help/info on IDE drives
++#
++# CONFIG_BLK_DEV_IDE_SATA is not set
++CONFIG_BLK_DEV_IDEDISK=y
++# CONFIG_IDEDISK_MULTI_MODE is not set
++CONFIG_BLK_DEV_IDECD=y
++CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
++# CONFIG_BLK_DEV_IDETAPE is not set
++CONFIG_BLK_DEV_IDEFLOPPY=m
++# CONFIG_BLK_DEV_IDESCSI is not set
++# CONFIG_IDE_TASK_IOCTL is not set
++CONFIG_IDE_PROC_FS=y
+
+ #
+-# Ethernet (1000 Mbit)
++# IDE chipset support/bugfixes
+ #
++# CONFIG_IDE_GENERIC is not set
++# CONFIG_BLK_DEV_PLATFORM is not set
++CONFIG_BLK_DEV_FALCON_IDE=y
++# CONFIG_BLK_DEV_IDEDMA is not set
++# CONFIG_IDE_ARCH_OBSOLETE_INIT is not set
++# CONFIG_BLK_DEV_HD is not set
+
+ #
+-# Ethernet (10000 Mbit)
++# SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Token Ring devices
++# SCSI support type (disk, tape, CD-ROM)
++#
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+ #
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
+
+ #
+-# Wireless LAN (non-hamradio)
++# SCSI Transports
+ #
+-# CONFIG_NET_RADIO is not set
++CONFIG_SCSI_SPI_ATTRS=y
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_DEBUG is not set
++CONFIG_ATARI_SCSI=y
++# CONFIG_ATARI_SCSI_TOSHIBA_DELAY is not set
++# CONFIG_ATARI_SCSI_RESET_BOOT is not set
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++CONFIG_MII=m
++CONFIG_ATARILANCE=m
++# 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_B44 is not set
++# CONFIG_NET_POCKET is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+
+ #
+-# Wan interfaces
++# Wireless LAN
+ #
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ # CONFIG_PLIP is not set
+ CONFIG_PPP=m
+@@ -470,28 +581,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -501,7 +612,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -509,26 +619,37 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # Input Device Drivers
+ #
+ CONFIG_INPUT_KEYBOARD=y
+-CONFIG_KEYBOARD_ATKBD=y
++# CONFIG_KEYBOARD_ATKBD is not set
+ # CONFIG_KEYBOARD_SUNKBD is not set
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
++CONFIG_ATARI_KBD_CORE=y
++CONFIG_KEYBOARD_ATARI=y
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=y
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ # CONFIG_MOUSE_SERIAL is not set
++CONFIG_MOUSE_ATARI=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+ CONFIG_INPUT_MISC=y
+ CONFIG_INPUT_M68K_BEEP=m
+-CONFIG_INPUT_UINPUT=m
++# CONFIG_INPUT_UINPUT is not set
+
+ #
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=y
+-CONFIG_SERIO_SERPORT=y
++# CONFIG_SERIO_SERPORT is not set
+ # CONFIG_SERIO_PARKBD is not set
+ CONFIG_SERIO_LIBPS2=y
+ # CONFIG_SERIO_RAW is not set
+@@ -540,6 +661,7 @@ CONFIG_SERIO_LIBPS2=y
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -556,86 +678,97 @@ CONFIG_LEGACY_PTY_COUNT=256
+ CONFIG_PRINTER=m
+ # CONFIG_LP_CONSOLE is not set
+ # CONFIG_PPDEV is not set
+-# CONFIG_TIPAR is not set
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
++# CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-CONFIG_GEN_RTC=y
++CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
+-
+-#
+-# TPM devices
+-#
+-
+-#
+-# I2C support
+-#
++# CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+
+ #
+-# Dallas's 1-wire bus
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# Misc devices
++# Sonics Silicon Backplane
+ #
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Multimedia devices
++# Multifunction device drivers
+ #
+-# CONFIG_VIDEO_DEV is not set
++# CONFIG_MFD_SM501 is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Multimedia devices
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+ # Graphics support
+ #
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+ CONFIG_FB=y
+-# CONFIG_FB_CFB_FILLRECT is not set
+-# CONFIG_FB_CFB_COPYAREA is not set
+-# CONFIG_FB_CFB_IMAGEBLIT is not set
+-# CONFIG_FB_SOFT_CURSOR is not set
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++CONFIG_FB_CFB_FILLRECT=y
++CONFIG_FB_CFB_COPYAREA=y
++CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=y
++# CONFIG_FB_SVGALIB is not set
+ # CONFIG_FB_MACMODES is not set
+-CONFIG_FB_MODE_HELPERS=y
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
+ # CONFIG_FB_TILEBLITTING is not set
+-# CONFIG_FB_ATY is not set
++
++#
++# Frame buffer hardware drivers
++#
++CONFIG_FB_ATARI=y
++# CONFIG_FB_UVESA is not set
+ # CONFIG_FB_S1D13XXX is not set
++# CONFIG_FB_ATY is not set
+ # CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
+ CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+ # CONFIG_FONTS is not set
+ CONFIG_FONT_8x8=y
+ CONFIG_FONT_8x16=y
+-
+-#
+-# Logo configuration
+-#
+-# CONFIG_LOGO is not set
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++CONFIG_LOGO=y
++CONFIG_LOGO_LINUX_MONO=y
++CONFIG_LOGO_LINUX_VGA16=y
++CONFIG_LOGO_LINUX_CLUT224=y
+
+ #
+ # Sound
+@@ -643,27 +776,21 @@ CONFIG_FONT_8x16=y
+ CONFIG_SOUND=m
+ CONFIG_DMASOUND_ATARI=m
+ CONFIG_DMASOUND=m
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
++# CONFIG_AUXDISPLAY is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -680,38 +807,44 @@ CONFIG_ATARI_DSP56K=m
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+-CONFIG_REISERFS_PROC_INFO=y
++# CONFIG_REISERFS_PROC_INFO is not set
+ # CONFIG_REISERFS_FS_XATTR is not set
+ CONFIG_JFS_FS=m
+ # CONFIG_JFS_POSIX_ACL is not set
+ # CONFIG_JFS_SECURITY is not set
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+-
+-#
+-# XFS support
+-#
++CONFIG_FS_POSIX_ACL=y
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -719,7 +852,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -738,13 +870,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -758,42 +889,38 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+ # CONFIG_UFS_FS_WRITE is not set
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=m
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ # CONFIG_NFS_V4 is not set
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
++# CONFIG_NFSD_V3_ACL is not set
+ # CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_LOCKD=m
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=m
++CONFIG_SUNRPC_BIND34=y
+ # CONFIG_RPCSEC_GSS_KRB5 is not set
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-CONFIG_NCPFS_NFS_NS=y
+-CONFIG_NCPFS_OS2_NS=y
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -804,10 +931,6 @@ CONFIG_CODA_FS=m
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_ATARI_PARTITION=y
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -848,35 +971,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=m
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=m
+@@ -885,9 +1015,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=m
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=m
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -896,20 +1038,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=y
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/bvme6000_defconfig b/arch/m68k/configs/bvme6000_defconfig
+index da2a23a..ed98eff 100644
+--- a/arch/m68k/configs/bvme6000_defconfig
++++ b/arch/m68k/configs/bvme6000_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:37 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:10 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-bvme6000"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -85,6 +133,22 @@ CONFIG_M68060=y
+ CONFIG_MMU_MOTOROLA=y
+ # CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -93,134 +157,11 @@ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-# 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-# CONFIG_IDE is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -230,10 +171,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ CONFIG_IP_PNP=y
+ CONFIG_IP_PNP_DHCP=y
+ CONFIG_IP_PNP_BOOTP=y
+@@ -245,126 +193,186 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+@@ -376,13 +384,8 @@ CONFIG_ATALK=m
+ # CONFIG_DEV_APPLETALK is not set
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -390,76 +393,186 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
+-CONFIG_BVME6000_NET=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
+
+ #
+-# Ethernet (1000 Mbit)
++# Device Drivers
+ #
+
+ #
+-# Ethernet (10000 Mbit)
++# Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
+
+ #
+-# Token Ring devices
++# SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Wireless LAN (non-hamradio)
++# SCSI support type (disk, tape, CD-ROM)
+ #
+-# CONFIG_NET_RADIO is not set
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++CONFIG_SCSI_SPI_ATTRS=y
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_53C700_BE_BUS=y
++# CONFIG_SCSI_DEBUG is not set
++CONFIG_BVME6000_SCSI=y
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++# CONFIG_MII is not set
++CONFIG_BVME6000_NET=y
++# 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_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+
+ #
+-# Wan interfaces
++# Wireless LAN
+ #
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+-# CONFIG_PPP_FILTER is not set
++CONFIG_PPP_FILTER=y
+ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -469,7 +582,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -482,11 +594,19 @@ CONFIG_INPUT_KEYBOARD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+ # CONFIG_INPUT_MISC is not set
+
+@@ -494,7 +614,7 @@ CONFIG_MOUSE_SERIAL=m
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=m
+-CONFIG_SERIO_SERPORT=m
++# CONFIG_SERIO_SERPORT is not set
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+@@ -505,6 +625,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -518,59 +639,56 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
++# CONFIG_HW_RANDOM is not set
+ CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++# CONFIG_I2C is not set
+
+ #
+-# TPM devices
+-#
+-
+-#
+-# I2C support
++# SPI support
+ #
+-# CONFIG_I2C is not set
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# Dallas's 1-wire bus
++# Sonics Silicon Backplane
+ #
+-# CONFIG_W1 is not set
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Misc devices
++# Multifunction device drivers
+ #
++# CONFIG_MFD_SM501 is not set
+
+ #
+ # Multimedia devices
+ #
+ # CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Graphics support
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++# CONFIG_FB is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+-# Graphics support
++# Display device support
+ #
+-# CONFIG_FB is not set
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+@@ -581,27 +699,20 @@ CONFIG_DUMMY_CONSOLE=y
+ # Sound
+ #
+ # CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -614,10 +725,11 @@ CONFIG_SERIAL_CONSOLE=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -628,25 +740,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -654,7 +770,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -673,13 +788,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -693,44 +807,40 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+ # CONFIG_UFS_FS_WRITE is not set
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-CONFIG_NCPFS_NFS_NS=y
+-CONFIG_NCPFS_OS2_NS=y
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -740,10 +850,7 @@ CONFIG_CODA_FS=m
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
++CONFIG_SYSV68_PARTITION=y
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -784,35 +891,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
+@@ -821,9 +935,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -832,20 +958,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=m
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=m
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/hp300_defconfig b/arch/m68k/configs/hp300_defconfig
+index 5125188..38b68c7 100644
+--- a/arch/m68k/configs/hp300_defconfig
++++ b/arch/m68k/configs/hp300_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:41 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:12 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-hp300"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -81,10 +129,24 @@ CONFIG_M68030=y
+ CONFIG_M68040=y
+ CONFIG_M68060=y
+ CONFIG_MMU_MOTOROLA=y
+-CONFIG_M68KFPU_EMU=y
+-CONFIG_M68KFPU_EMU_EXTRAPREC=y
+-# CONFIG_M68KFPU_EMU_ONLY is not set
++# CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -94,134 +156,11 @@ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+ CONFIG_HEARTBEAT=y
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-# 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-# CONFIG_IDE is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -231,10 +170,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ CONFIG_IP_PNP=y
+ CONFIG_IP_PNP_DHCP=y
+ CONFIG_IP_PNP_BOOTP=y
+@@ -246,145 +192,199 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ CONFIG_LLC=m
+ # CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
++# CONFIG_IPX is not set
+ CONFIG_ATALK=m
+ # CONFIG_DEV_APPLETALK is not set
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -392,46 +392,154 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
+-CONFIG_HPLANCE=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
+
+ #
+-# Ethernet (1000 Mbit)
++# Device Drivers
+ #
+
+ #
+-# Ethernet (10000 Mbit)
++# Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
+
+ #
+-# Token Ring devices
++# SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Wireless LAN (non-hamradio)
++# SCSI support type (disk, tape, CD-ROM)
+ #
+-# CONFIG_NET_RADIO is not set
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++# CONFIG_SCSI_SPI_ATTRS is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_DEBUG is not set
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++# CONFIG_MII is not set
++CONFIG_HPLANCE=y
++# 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_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+
+ #
+-# Wan interfaces
++# Wireless LAN
+ #
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+@@ -440,28 +548,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -471,7 +579,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -484,19 +591,35 @@ CONFIG_INPUT_KEYBOARD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
++CONFIG_KEYBOARD_HIL_OLD=y
++CONFIG_KEYBOARD_HIL=y
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_VSXXXAA is not set
++CONFIG_MOUSE_HIL=m
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+-# CONFIG_INPUT_MISC is not set
++CONFIG_INPUT_MISC=y
++# CONFIG_INPUT_M68K_BEEP is not set
++# CONFIG_INPUT_UINPUT is not set
++CONFIG_HP_SDC_RTC=m
+
+ #
+ # Hardware I/O ports
+ #
+-CONFIG_SERIO=m
+-CONFIG_SERIO_SERPORT=m
++CONFIG_SERIO=y
++# CONFIG_SERIO_SERPORT is not set
++CONFIG_HP_SDC=y
++CONFIG_HIL_MLC=y
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+@@ -507,6 +630,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -520,90 +644,114 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
+-CONFIG_GEN_RTC=y
++# CONFIG_HW_RANDOM is not set
++CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++# CONFIG_I2C is not set
+
+ #
+-# TPM devices
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# I2C support
++# Sonics Silicon Backplane
+ #
+-# CONFIG_I2C is not set
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Dallas's 1-wire bus
++# Multifunction device drivers
+ #
+-# CONFIG_W1 is not set
++# CONFIG_MFD_SM501 is not set
+
+ #
+-# Misc devices
++# Multimedia devices
+ #
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+-# Multimedia devices
++# Graphics support
+ #
+-# CONFIG_VIDEO_DEV is not set
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++CONFIG_FB_CFB_FILLRECT=y
++# CONFIG_FB_CFB_COPYAREA is not set
++CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=y
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Frame buffer hardware drivers
+ #
+-# CONFIG_DVB is not set
++CONFIG_FB_HP300=y
++# CONFIG_FB_UVESA is not set
++# CONFIG_FB_S1D13XXX is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+-# Graphics support
++# Display device support
+ #
+-# CONFIG_FB is not set
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
++# CONFIG_FONTS is not set
++CONFIG_FONT_8x8=y
++CONFIG_FONT_8x16=y
++CONFIG_LOGO=y
++# CONFIG_LOGO_LINUX_MONO is not set
++# CONFIG_LOGO_LINUX_VGA16 is not set
++CONFIG_LOGO_LINUX_CLUT224=y
+
+ #
+ # Sound
+ #
+ # CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -614,10 +762,11 @@ CONFIG_DUMMY_CONSOLE=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -628,25 +777,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -654,7 +807,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -673,13 +825,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -693,44 +844,40 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+ # CONFIG_UFS_FS_WRITE is not set
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-CONFIG_NCPFS_NFS_NS=y
+-CONFIG_NCPFS_OS2_NS=y
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -740,10 +887,6 @@ CONFIG_CODA_FS=m
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -784,35 +927,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
+@@ -821,9 +971,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -832,20 +994,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/mac_defconfig b/arch/m68k/configs/mac_defconfig
+index ff9dffa..738bca6 100644
+--- a/arch/m68k/configs/mac_defconfig
++++ b/arch/m68k/configs/mac_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:45 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:14 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-mac"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -82,10 +130,24 @@ CONFIG_M68030=y
+ CONFIG_M68040=y
+ # CONFIG_M68060 is not set
+ CONFIG_MMU_MOTOROLA=y
+-CONFIG_M68KFPU_EMU=y
+-CONFIG_M68KFPU_EMU_EXTRAPREC=y
+-# CONFIG_M68KFPU_EMU_ONLY is not set
++# CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -95,171 +157,11 @@ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+ # CONFIG_HEARTBEAT is not set
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-# 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-CONFIG_IDE=y
+-CONFIG_BLK_DEV_IDE=y
+-
+-#
+-# Please see Documentation/ide.txt for help/info on IDE drives
+-#
+-# CONFIG_BLK_DEV_IDE_SATA is not set
+-CONFIG_BLK_DEV_IDEDISK=y
+-# CONFIG_IDEDISK_MULTI_MODE is not set
+-CONFIG_BLK_DEV_IDECD=y
+-CONFIG_BLK_DEV_IDETAPE=m
+-CONFIG_BLK_DEV_IDEFLOPPY=m
+-# CONFIG_BLK_DEV_IDESCSI is not set
+-# CONFIG_IDE_TASK_IOCTL is not set
+-
+-#
+-# IDE chipset support/bugfixes
+-#
+-CONFIG_IDE_GENERIC=y
+-# CONFIG_IDE_ARM is not set
+-CONFIG_BLK_DEV_MAC_IDE=y
+-# CONFIG_BLK_DEV_IDEDMA is not set
+-# CONFIG_IDEDMA_AUTO is not set
+-# CONFIG_BLK_DEV_HD is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-CONFIG_CHR_DEV_OSST=m
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-CONFIG_MAC_SCSI=y
+-CONFIG_SCSI_MAC_ESP=y
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Macintosh device drivers
+-#
+-CONFIG_ADB=y
+-CONFIG_ADB_MACII=y
+-CONFIG_ADB_MACIISI=y
+-CONFIG_ADB_IOP=y
+-CONFIG_ADB_PMU68K=y
+-CONFIG_ADB_CUDA=y
+-CONFIG_INPUT_ADBHID=y
+-CONFIG_MAC_EMUMOUSEBTN=y
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -269,10 +171,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ # CONFIG_IP_PNP is not set
+ CONFIG_NET_IPIP=m
+ CONFIG_NET_IPGRE=m
+@@ -281,148 +190,202 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ CONFIG_LLC=m
+ # CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
++# CONFIG_IPX is not set
+ CONFIG_ATALK=m
+-CONFIG_DEV_APPLETALK=y
++CONFIG_DEV_APPLETALK=m
+ CONFIG_IPDDP=m
+ CONFIG_IPDDP_ENCAP=y
+ CONFIG_IPDDP_DECAP=y
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -430,80 +393,223 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-# CONFIG_MII is not set
+-CONFIG_MAC8390=y
+-CONFIG_MAC89x0=y
+-CONFIG_MACSONIC=y
+-CONFIG_MACMACE=y
+-# CONFIG_NET_VENDOR_SMC is not set
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++CONFIG_IDE=y
++CONFIG_BLK_DEV_IDE=y
+
+ #
+-# Ethernet (1000 Mbit)
++# Please see Documentation/ide/ide.txt for help/info on IDE drives
++#
++# CONFIG_BLK_DEV_IDE_SATA is not set
++CONFIG_BLK_DEV_IDEDISK=y
++# CONFIG_IDEDISK_MULTI_MODE is not set
++CONFIG_BLK_DEV_IDECD=y
++CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
++# CONFIG_BLK_DEV_IDETAPE is not set
++CONFIG_BLK_DEV_IDEFLOPPY=m
++# CONFIG_BLK_DEV_IDESCSI is not set
++# CONFIG_IDE_TASK_IOCTL is not set
++CONFIG_IDE_PROC_FS=y
++
++#
++# IDE chipset support/bugfixes
+ #
++# CONFIG_IDE_GENERIC is not set
++# CONFIG_BLK_DEV_PLATFORM is not set
++CONFIG_BLK_DEV_MAC_IDE=y
++# CONFIG_BLK_DEV_IDEDMA is not set
++# CONFIG_IDE_ARCH_OBSOLETE_INIT is not set
++# CONFIG_BLK_DEV_HD is not set
+
+ #
+-# Ethernet (10000 Mbit)
++# SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Token Ring devices
++# SCSI support type (disk, tape, CD-ROM)
+ #
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
+
+ #
+-# Wireless LAN (non-hamradio)
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+ #
+-# CONFIG_NET_RADIO is not set
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
+
+ #
+-# Wan interfaces
++# SCSI Transports
+ #
++CONFIG_SCSI_SPI_ATTRS=y
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_DEBUG is not set
++CONFIG_MAC_SCSI=y
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_MACINTOSH_DRIVERS=y
++CONFIG_ADB=y
++CONFIG_ADB_MACII=y
++CONFIG_ADB_MACIISI=y
++CONFIG_ADB_IOP=y
++CONFIG_ADB_PMU68K=y
++CONFIG_ADB_CUDA=y
++CONFIG_INPUT_ADBHID=y
++CONFIG_MAC_EMUMOUSEBTN=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++# CONFIG_MII is not set
++CONFIG_MAC8390=y
++CONFIG_MAC89x0=m
++CONFIG_MACSONIC=m
++CONFIG_MACMACE=y
++# CONFIG_NET_VENDOR_SMC 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_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+ CONFIG_PPP_FILTER=y
+-# CONFIG_PPP_ASYNC is not set
+-# CONFIG_PPP_SYNC_TTY is not set
++CONFIG_PPP_ASYNC=m
++CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -513,7 +619,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -526,19 +631,29 @@ CONFIG_INPUT_KEYBOARD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+-# CONFIG_INPUT_MISC is not set
++CONFIG_INPUT_MISC=y
++CONFIG_INPUT_M68K_BEEP=m
++# CONFIG_INPUT_UINPUT is not set
+
+ #
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=m
+-CONFIG_SERIO_SERPORT=m
++# CONFIG_SERIO_SERPORT is not set
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+@@ -549,6 +664,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -562,116 +678,117 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
++# CONFIG_HW_RANDOM is not set
+ CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
+-
+-#
+-# TPM devices
+-#
+-
+-#
+-# I2C support
+-#
++# CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+
+ #
+-# Dallas's 1-wire bus
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# Misc devices
++# Sonics Silicon Backplane
+ #
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Multimedia devices
++# Multifunction device drivers
+ #
+-# CONFIG_VIDEO_DEV is not set
++# CONFIG_MFD_SM501 is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Multimedia devices
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+ # Graphics support
+ #
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+ CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
+ CONFIG_FB_CFB_FILLRECT=y
+ CONFIG_FB_CFB_COPYAREA=y
+ CONFIG_FB_CFB_IMAGEBLIT=y
+-CONFIG_FB_SOFT_CURSOR=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=y
++# CONFIG_FB_SVGALIB is not set
+ CONFIG_FB_MACMODES=y
+-CONFIG_FB_MODE_HELPERS=y
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
+ # CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
+ CONFIG_FB_VALKYRIE=y
+ CONFIG_FB_MAC=y
++# CONFIG_FB_UVESA is not set
+ # CONFIG_FB_S1D13XXX is not set
+ # CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
+ CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+ # CONFIG_FONTS is not set
+ CONFIG_FONT_8x8=y
+ CONFIG_FONT_8x16=y
+ CONFIG_FONT_6x11=y
+-
+-#
+-# Logo configuration
+-#
+ CONFIG_LOGO=y
+ CONFIG_LOGO_LINUX_MONO=y
+ CONFIG_LOGO_LINUX_VGA16=y
+ CONFIG_LOGO_LINUX_CLUT224=y
+ CONFIG_LOGO_MAC_CLUT224=y
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+ # Sound
+ #
+ # CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -685,10 +802,11 @@ CONFIG_SERIAL_CONSOLE=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -699,25 +817,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -725,7 +847,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -744,13 +865,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -764,43 +884,39 @@ CONFIG_HFSPLUS_FS=y
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+ # CONFIG_UFS_FS_WRITE is not set
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=m
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_LOCKD=m
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=m
+ CONFIG_SUNRPC_GSS=m
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=m
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-CONFIG_NCPFS_NFS_NS=y
+-CONFIG_NCPFS_OS2_NS=y
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -808,27 +924,9 @@ CONFIG_CODA_FS=m
+ #
+ # Partition Types
+ #
+-CONFIG_PARTITION_ADVANCED=y
+-# CONFIG_ACORN_PARTITION is not set
+-# CONFIG_OSF_PARTITION is not set
+-CONFIG_AMIGA_PARTITION=y
+-CONFIG_ATARI_PARTITION=y
++# CONFIG_PARTITION_ADVANCED 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=y
+-CONFIG_LDM_DEBUG=y
+-# CONFIG_SGI_PARTITION is not set
+-# CONFIG_ULTRIX_PARTITION is not set
+-CONFIG_SUN_PARTITION=y
+-# CONFIG_EFI_PARTITION is not set
+-
+-#
+-# Native Language Support
+-#
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -869,46 +967,65 @@ CONFIG_NLS_ISO8859_15=m
+ CONFIG_NLS_KOI8_R=m
+ CONFIG_NLS_KOI8_U=m
+ CONFIG_NLS_UTF8=y
++CONFIG_DLM=m
++# CONFIG_DLM_DEBUG is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=m
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+-CONFIG_CRYPTO_MD5=y
++CONFIG_CRYPTO_MD5=m
+ CONFIG_CRYPTO_SHA1=m
+ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=m
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=m
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -917,20 +1034,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/mvme147_defconfig b/arch/m68k/configs/mvme147_defconfig
+index f0d5534..f40b172 100644
+--- a/arch/m68k/configs/mvme147_defconfig
++++ b/arch/m68k/configs/mvme147_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:50 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:17 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-mvme147"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -85,6 +133,22 @@ CONFIG_M68030=y
+ CONFIG_MMU_MOTOROLA=y
+ # CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -93,135 +157,11 @@ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-# 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-# CONFIG_IDE is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-CONFIG_MVME147_SCSI=y
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -231,10 +171,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ CONFIG_IP_PNP=y
+ CONFIG_IP_PNP_DHCP=y
+ CONFIG_IP_PNP_BOOTP=y
+@@ -246,145 +193,199 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ CONFIG_LLC=m
+ # CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
++# CONFIG_IPX is not set
+ CONFIG_ATALK=m
+ # CONFIG_DEV_APPLETALK is not set
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -392,46 +393,155 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
+-CONFIG_MVME147_NET=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
+
+ #
+-# Ethernet (1000 Mbit)
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++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 is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Ethernet (10000 Mbit)
++# SCSI support type (disk, tape, CD-ROM)
+ #
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
+
+ #
+-# Token Ring devices
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+ #
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
+
+ #
+-# Wireless LAN (non-hamradio)
++# SCSI Transports
+ #
+-# CONFIG_NET_RADIO is not set
++CONFIG_SCSI_SPI_ATTRS=y
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_DEBUG is not set
++CONFIG_MVME147_SCSI=y
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++# CONFIG_MII is not set
++CONFIG_MVME147_NET=y
++# 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_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+
+ #
+-# Wan interfaces
++# Wireless LAN
+ #
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+@@ -440,28 +550,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -471,7 +581,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -484,11 +593,19 @@ CONFIG_INPUT_KEYBOARD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+ # CONFIG_INPUT_MISC is not set
+
+@@ -496,7 +613,7 @@ CONFIG_MOUSE_SERIAL=m
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=m
+-CONFIG_SERIO_SERPORT=m
++# CONFIG_SERIO_SERPORT is not set
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+@@ -507,6 +624,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -520,112 +638,80 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
++# CONFIG_HW_RANDOM is not set
+ CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++# CONFIG_I2C is not set
+
+ #
+-# TPM devices
+-#
+-
+-#
+-# I2C support
++# SPI support
+ #
+-# CONFIG_I2C is not set
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# Dallas's 1-wire bus
++# Sonics Silicon Backplane
+ #
+-# CONFIG_W1 is not set
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Misc devices
++# Multifunction device drivers
+ #
++# CONFIG_MFD_SM501 is not set
+
+ #
+ # Multimedia devices
+ #
+ # CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Graphics support
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++# CONFIG_FB is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+-# Graphics support
++# Display device support
+ #
+-CONFIG_FB=y
+-# CONFIG_FB_CFB_FILLRECT is not set
+-# CONFIG_FB_CFB_COPYAREA is not set
+-# CONFIG_FB_CFB_IMAGEBLIT is not set
+-# CONFIG_FB_SOFT_CURSOR is not set
+-# CONFIG_FB_MACMODES is not set
+-CONFIG_FB_MODE_HELPERS=y
+-# CONFIG_FB_TILEBLITTING is not set
+-# CONFIG_FB_S1D13XXX is not set
+-# CONFIG_FB_VIRTUAL is not set
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
+-CONFIG_FRAMEBUFFER_CONSOLE=y
+-# CONFIG_FONTS is not set
+-CONFIG_FONT_8x8=y
+-CONFIG_FONT_8x16=y
+-
+-#
+-# Logo configuration
+-#
+-CONFIG_LOGO=y
+-CONFIG_LOGO_LINUX_MONO=y
+-CONFIG_LOGO_LINUX_VGA16=y
+-CONFIG_LOGO_LINUX_CLUT224=y
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+ # Sound
+ #
+ # CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -638,10 +724,11 @@ CONFIG_SERIAL_CONSOLE=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -652,25 +739,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -678,7 +769,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -697,15 +787,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-CONFIG_DEVFS_FS=y
+-# CONFIG_DEVFS_MOUNT is not set
+-# CONFIG_DEVFS_DEBUG is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -719,44 +806,40 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+ # CONFIG_UFS_FS_WRITE is not set
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-# CONFIG_NCPFS_NFS_NS is not set
+-# CONFIG_NCPFS_OS2_NS is not set
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -766,10 +849,7 @@ CONFIG_CODA_FS=m
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
++CONFIG_SYSV68_PARTITION=y
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -810,35 +890,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
+@@ -847,9 +934,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -858,20 +957,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/mvme16x_defconfig b/arch/m68k/configs/mvme16x_defconfig
+index 1d5c46f..e9ccc77 100644
+--- a/arch/m68k/configs/mvme16x_defconfig
++++ b/arch/m68k/configs/mvme16x_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:53 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:19 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-mvme16x"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -85,6 +133,22 @@ CONFIG_M68060=y
+ CONFIG_MMU_MOTOROLA=y
+ # CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -93,134 +157,11 @@ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-# 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-# CONFIG_IDE is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -230,10 +171,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ CONFIG_IP_PNP=y
+ CONFIG_IP_PNP_DHCP=y
+ CONFIG_IP_PNP_BOOTP=y
+@@ -245,145 +193,199 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-CONFIG_XFRM_USER=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ CONFIG_LLC=m
+ # CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
++# CONFIG_IPX is not set
+ CONFIG_ATALK=m
+ # CONFIG_DEV_APPLETALK is not set
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -391,46 +393,156 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
+-CONFIG_MVME16x_NET=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
+
+ #
+-# Ethernet (1000 Mbit)
++# Device Drivers
+ #
+
+ #
+-# Ethernet (10000 Mbit)
++# Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++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 is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Token Ring devices
++# SCSI support type (disk, tape, CD-ROM)
+ #
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
+
+ #
+-# Wireless LAN (non-hamradio)
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+ #
+-# CONFIG_NET_RADIO is not set
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
+
+ #
+-# Wan interfaces
++# SCSI Transports
++#
++CONFIG_SCSI_SPI_ATTRS=y
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_53C700_BE_BUS=y
++# CONFIG_SCSI_DEBUG is not set
++CONFIG_MVME16x_SCSI=y
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++# CONFIG_MII is not set
++CONFIG_MVME16x_NET=y
++# 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_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
+ #
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+@@ -439,28 +551,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -470,7 +582,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -483,11 +594,19 @@ CONFIG_INPUT_KEYBOARD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+ # CONFIG_INPUT_MISC is not set
+
+@@ -495,7 +614,7 @@ CONFIG_MOUSE_SERIAL=m
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=m
+-CONFIG_SERIO_SERPORT=m
++# CONFIG_SERIO_SERPORT is not set
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+@@ -506,6 +625,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -519,116 +639,85 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
++# CONFIG_HW_RANDOM is not set
+ CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++# CONFIG_I2C is not set
+
+ #
+-# TPM devices
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# I2C support
++# Sonics Silicon Backplane
+ #
+-# CONFIG_I2C is not set
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Dallas's 1-wire bus
+-#
+-# CONFIG_W1 is not set
+-
+-#
+-# Misc devices
++# Multifunction device drivers
+ #
++# CONFIG_MFD_SM501 is not set
+
+ #
+ # Multimedia devices
+ #
+ # CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Graphics support
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++# CONFIG_FB is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+-# Graphics support
++# Display device support
+ #
+-CONFIG_FB=y
+-# CONFIG_FB_CFB_FILLRECT is not set
+-# CONFIG_FB_CFB_COPYAREA is not set
+-# CONFIG_FB_CFB_IMAGEBLIT is not set
+-# CONFIG_FB_SOFT_CURSOR is not set
+-# CONFIG_FB_MACMODES is not set
+-CONFIG_FB_MODE_HELPERS=y
+-# CONFIG_FB_TILEBLITTING is not set
+-# CONFIG_FB_S1D13XXX is not set
+-# CONFIG_FB_VIRTUAL is not set
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
+-CONFIG_FRAMEBUFFER_CONSOLE=y
+-# CONFIG_FONTS is not set
+-CONFIG_FONT_8x8=y
+-CONFIG_FONT_8x16=y
+-
+-#
+-# Logo configuration
+-#
+-CONFIG_LOGO=y
+-CONFIG_LOGO_LINUX_MONO=y
+-CONFIG_LOGO_LINUX_VGA16=y
+-CONFIG_LOGO_LINUX_CLUT224=y
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+ # Sound
+ #
+ # CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+ #
++CONFIG_SERIAL167=y
+ CONFIG_MVME162_SCC=y
+ CONFIG_SERIAL_CONSOLE=y
+
+@@ -637,10 +726,11 @@ CONFIG_SERIAL_CONSOLE=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -651,25 +741,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -677,7 +771,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -696,15 +789,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-CONFIG_DEVFS_FS=y
+-# CONFIG_DEVFS_MOUNT is not set
+-# CONFIG_DEVFS_DEBUG is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -718,44 +808,40 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+ # CONFIG_UFS_FS_WRITE is not set
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-# CONFIG_NCPFS_NFS_NS is not set
+-# CONFIG_NCPFS_OS2_NS is not set
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -765,10 +851,7 @@ CONFIG_CODA_FS=m
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
++CONFIG_SYSV68_PARTITION=y
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -809,35 +892,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
+@@ -846,9 +936,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -857,20 +959,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig
+index 8562386..165658f 100644
+--- a/arch/m68k/configs/q40_defconfig
++++ b/arch/m68k/configs/q40_defconfig
+@@ -1,63 +1,112 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:58 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:20 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_ARCH_MAY_HAVE_PC_FDC=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-q40"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -80,10 +129,24 @@ CONFIG_Q40=y
+ CONFIG_M68040=y
+ CONFIG_M68060=y
+ CONFIG_MMU_MOTOROLA=y
+-CONFIG_M68KFPU_EMU=y
+-CONFIG_M68KFPU_EMU_EXTRAPREC=y
+-# CONFIG_M68KFPU_EMU_ONLY is not set
++# CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -91,41 +154,282 @@ CONFIG_M68KFPU_EMU_EXTRAPREC=y
+ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+-# CONFIG_HEARTBEAT is not set
++CONFIG_HEARTBEAT=y
+ CONFIG_PROC_HARDWARE=y
+ CONFIG_ISA=y
+ CONFIG_GENERIC_ISA_DMA=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
++# Networking
+ #
++CONFIG_NET=y
+
+ #
+-# Generic Driver Options
++# Networking options
+ #
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
++CONFIG_PACKET=y
++# CONFIG_PACKET_MMAP is not set
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
++CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
++CONFIG_INET=y
++# CONFIG_IP_MULTICAST is not set
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++# CONFIG_IP_PNP is not set
++CONFIG_NET_IPIP=m
++CONFIG_NET_IPGRE=m
++# 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=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
++# CONFIG_IP_VS is not set
++CONFIG_IPV6=m
++CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
++CONFIG_INET6_AH=m
++CONFIG_INET6_ESP=m
++CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
++CONFIG_NETFILTER=y
++# CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+-# Memory Technology Devices (MTD)
++# IP: Netfilter Configuration
+ #
+-# CONFIG_MTD is not set
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
++CONFIG_IP_NF_QUEUE=m
++CONFIG_IP_NF_IPTABLES=m
++CONFIG_IP_NF_MATCH_RECENT=m
++CONFIG_IP_NF_MATCH_ECN=m
++CONFIG_IP_NF_MATCH_AH=m
++CONFIG_IP_NF_MATCH_TTL=m
++CONFIG_IP_NF_MATCH_ADDRTYPE=m
++CONFIG_IP_NF_FILTER=m
++CONFIG_IP_NF_TARGET_REJECT=m
++CONFIG_IP_NF_TARGET_LOG=m
++CONFIG_IP_NF_TARGET_ULOG=m
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
++CONFIG_IP_NF_TARGET_MASQUERADE=m
++CONFIG_IP_NF_TARGET_REDIRECT=m
++CONFIG_IP_NF_TARGET_NETMAP=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_ECN=m
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
++CONFIG_IP_NF_RAW=m
++CONFIG_IP_NF_ARPTABLES=m
++CONFIG_IP_NF_ARPFILTER=m
++CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# Parallel port support
++# IPv6: Netfilter Configuration
+ #
+-# CONFIG_PARPORT is not set
++CONFIG_NF_CONNTRACK_IPV6=m
++CONFIG_IP6_NF_QUEUE=m
++CONFIG_IP6_NF_IPTABLES=m
++CONFIG_IP6_NF_MATCH_RT=m
++CONFIG_IP6_NF_MATCH_OPTS=m
++CONFIG_IP6_NF_MATCH_FRAG=m
++CONFIG_IP6_NF_MATCH_HL=m
++CONFIG_IP6_NF_MATCH_IPV6HEADER=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
++CONFIG_IP6_NF_MATCH_EUI64=m
++CONFIG_IP6_NF_FILTER=m
++CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
++CONFIG_IP6_NF_MANGLE=m
++CONFIG_IP6_NF_TARGET_HL=m
++CONFIG_IP6_NF_RAW=m
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# Plug and Play support
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
+-# CONFIG_PNP is not set
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++CONFIG_LLC=m
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++CONFIG_ATALK=m
++# CONFIG_DEV_APPLETALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++# CONFIG_NET_SCHED is not set
++CONFIG_NET_CLS_ROUTE=y
+
+ #
+-# Block devices
++# Network testing
+ #
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
++# CONFIG_IRDA is not set
++# CONFIG_BT is not set
++# CONFIG_AF_RXRPC is not set
++
++#
++# Wireless
++#
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++# CONFIG_PNP is not set
++CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_FD is not set
+ # CONFIG_BLK_DEV_COW_COMMON is not set
+ CONFIG_BLK_DEV_LOOP=y
+@@ -134,54 +438,64 @@ CONFIG_BLK_DEV_NBD=m
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_BLK_DEV_XIP is not set
+ CONFIG_CDROM_PKTCDVD=m
+ CONFIG_CDROM_PKTCDVD_BUFFERS=8
+ # CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+ CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
++CONFIG_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
+ CONFIG_IDE=y
+ CONFIG_BLK_DEV_IDE=y
+
+ #
+-# Please see Documentation/ide.txt for help/info on IDE drives
++# Please see Documentation/ide/ide.txt for help/info on IDE drives
+ #
+ # CONFIG_BLK_DEV_IDE_SATA is not set
+ CONFIG_BLK_DEV_IDEDISK=y
+ # CONFIG_IDEDISK_MULTI_MODE is not set
+ CONFIG_BLK_DEV_IDECD=y
+-CONFIG_BLK_DEV_IDETAPE=m
++CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
++# CONFIG_BLK_DEV_IDETAPE is not set
+ CONFIG_BLK_DEV_IDEFLOPPY=m
+ # CONFIG_BLK_DEV_IDESCSI is not set
+ # CONFIG_IDE_TASK_IOCTL is not set
++CONFIG_IDE_PROC_FS=y
+
+ #
+ # IDE chipset support/bugfixes
+ #
+-CONFIG_IDE_GENERIC=y
+-# CONFIG_IDE_ARM is not set
++# CONFIG_IDE_GENERIC is not set
++# CONFIG_BLK_DEV_PLATFORM is not set
+ CONFIG_BLK_DEV_Q40IDE=y
+-# CONFIG_IDE_CHIPSETS is not set
++
++#
++# Other IDE chipsets support
++#
++
++#
++# Note: most of these also require special kernel boot parameters
++#
++# CONFIG_BLK_DEV_4DRIVES is not set
++# CONFIG_BLK_DEV_ALI14XX is not set
++# CONFIG_BLK_DEV_DTC2278 is not set
++# CONFIG_BLK_DEV_HT6560B is not set
++# CONFIG_BLK_DEV_QD65XX is not set
++# CONFIG_BLK_DEV_UMC8672 is not set
+ # CONFIG_BLK_DEV_IDEDMA is not set
+-# CONFIG_IDEDMA_AUTO is not set
++# CONFIG_IDE_ARCH_OBSOLETE_INIT is not set
+ # CONFIG_BLK_DEV_HD is not set
+
+ #
+ # SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
+ CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
+ CONFIG_SCSI_PROC_FS=y
+
+ #
+@@ -189,10 +503,11 @@ CONFIG_SCSI_PROC_FS=y
+ #
+ CONFIG_BLK_DEV_SD=y
+ CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
++CONFIG_CHR_DEV_OSST=m
+ CONFIG_BLK_DEV_SR=y
+ CONFIG_BLK_DEV_SR_VENDOR=y
+ CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
+
+ #
+ # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+@@ -200,266 +515,71 @@ CONFIG_CHR_DEV_SG=m
+ # CONFIG_SCSI_MULTI_LUN is not set
+ CONFIG_SCSI_CONSTANTS=y
+ # CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
+
+ #
+-# SCSI Transport Attributes
++# SCSI Transports
+ #
+ # CONFIG_SCSI_SPI_ATTRS is not set
+ # CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_AHA152X is not set
+ # CONFIG_SCSI_AIC7XXX_OLD is not set
++# CONFIG_SCSI_ADVANSYS is not set
+ # CONFIG_SCSI_IN2000 is not set
+-# CONFIG_SCSI_SATA is not set
+ # CONFIG_SCSI_DTC3280 is not set
+ # CONFIG_SCSI_FUTURE_DOMAIN is not set
+ # CONFIG_SCSI_GENERIC_NCR5380 is not set
+ # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+ # CONFIG_SCSI_NCR53C406A is not set
+ # CONFIG_SCSI_PAS16 is not set
+-# CONFIG_SCSI_PSI240I is not set
+ # CONFIG_SCSI_QLOGIC_FAS is not set
+ # CONFIG_SCSI_SYM53C416 is not set
+ # CONFIG_SCSI_T128 is not set
+ # CONFIG_SCSI_DEBUG is not set
+-
+-#
+-# Old CD-ROM drivers (not SCSI, not IDE)
+-#
+-# CONFIG_CD_NO_IDESCSI is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+ CONFIG_MD=y
+ CONFIG_BLK_DEV_MD=m
+ CONFIG_MD_LINEAR=m
+ CONFIG_MD_RAID0=m
+ CONFIG_MD_RAID1=m
+ # CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
+ CONFIG_MD_MULTIPATH=m
+ # CONFIG_MD_FAULTY is not set
+ CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
+ CONFIG_DM_CRYPT=m
+ CONFIG_DM_SNAPSHOT=m
+ CONFIG_DM_MIRROR=m
+ CONFIG_DM_ZERO=m
+ CONFIG_DM_MULTIPATH=m
+ CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
+-#
+-CONFIG_NET=y
+-
+-#
+-# Networking options
+-#
+-CONFIG_PACKET=y
+-# CONFIG_PACKET_MMAP is not set
+-CONFIG_UNIX=y
+-CONFIG_NET_KEY=y
+-CONFIG_INET=y
+-# CONFIG_IP_MULTICAST is not set
+-# CONFIG_IP_ADVANCED_ROUTER is not set
+-CONFIG_IP_PNP=y
+-CONFIG_IP_PNP_DHCP=y
+-CONFIG_IP_PNP_BOOTP=y
+-CONFIG_IP_PNP_RARP=y
+-CONFIG_NET_IPIP=m
+-CONFIG_NET_IPGRE=m
+-# CONFIG_ARPD is not set
+-CONFIG_SYN_COOKIES=y
+-CONFIG_INET_AH=m
+-CONFIG_INET_ESP=m
+-CONFIG_INET_IPCOMP=m
+-CONFIG_INET_TUNNEL=m
+-CONFIG_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
+-# CONFIG_IP_VS is not set
+-CONFIG_IPV6=m
+-CONFIG_IPV6_PRIVACY=y
+-CONFIG_INET6_AH=m
+-CONFIG_INET6_ESP=m
+-CONFIG_INET6_IPCOMP=m
+-CONFIG_INET6_TUNNEL=m
+-CONFIG_IPV6_TUNNEL=m
+-CONFIG_NETFILTER=y
+-# CONFIG_NETFILTER_DEBUG is not set
+-
+-#
+-# IP: Netfilter Configuration
+-#
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
+-CONFIG_IP_NF_QUEUE=m
+-CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+-CONFIG_IP_NF_MATCH_RECENT=m
+-CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
+-CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+-CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
+-CONFIG_IP_NF_TARGET_MASQUERADE=m
+-CONFIG_IP_NF_TARGET_REDIRECT=m
+-CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
+-CONFIG_IP_NF_MANGLE=m
+-CONFIG_IP_NF_TARGET_TOS=m
+-CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+-CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+-CONFIG_IP_NF_ARPTABLES=m
+-CONFIG_IP_NF_ARPFILTER=m
+-CONFIG_IP_NF_ARP_MANGLE=m
+-
+-#
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
+-#
+-CONFIG_IP6_NF_QUEUE=m
+-CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+-CONFIG_IP6_NF_MATCH_RT=m
+-CONFIG_IP6_NF_MATCH_OPTS=m
+-CONFIG_IP6_NF_MATCH_FRAG=m
+-CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
+-CONFIG_IP6_NF_MATCH_EUI64=m
+-CONFIG_IP6_NF_FILTER=m
+-CONFIG_IP6_NF_TARGET_LOG=m
+-CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
+-CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-# CONFIG_XFRM_USER is not set
+-
+-#
+-# SCTP Configuration (EXPERIMENTAL)
+-#
+-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_ATM is not set
+-# CONFIG_BRIDGE is not set
+-# CONFIG_VLAN_8021Q is not set
+-# CONFIG_DECNET is not set
+-CONFIG_LLC=m
+-# CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
+-CONFIG_ATALK=m
+-# CONFIG_DEV_APPLETALK is not set
+-# CONFIG_X25 is not set
+-# CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+-# CONFIG_ECONET is not set
+-# CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+-# CONFIG_NET_SCHED is not set
+-CONFIG_NET_CLS_ROUTE=y
+-
+-#
+-# Network testing
+-#
+-# CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+-# CONFIG_HAMRADIO is not set
+-# CONFIG_IRDA is not set
+-# CONFIG_BT is not set
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
+ CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
+ CONFIG_DUMMY=m
+ # CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
+ CONFIG_EQUALIZER=m
+ # CONFIG_TUN is not set
+-
+-#
+-# ARCnet devices
+-#
++CONFIG_VETH=m
+ # CONFIG_ARCNET is not set
+-
+-#
+-# Ethernet (10 or 100Mbit)
+-#
++# CONFIG_PHYLIB is not set
+ CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
++# CONFIG_MII is not set
+ # CONFIG_NET_VENDOR_3COM is not set
+ # CONFIG_NET_VENDOR_SMC is not set
+ # CONFIG_NET_VENDOR_RACAL is not set
+@@ -468,30 +588,21 @@ CONFIG_MII=m
+ # CONFIG_HP100 is not set
+ # CONFIG_NET_ISA is not set
+ CONFIG_NE2000=m
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+ # CONFIG_NET_PCI is not set
+-# CONFIG_NET_POCKET is not set
+-
+-#
+-# Ethernet (1000 Mbit)
+-#
+-
+-#
+-# Ethernet (10000 Mbit)
+-#
+-
+-#
+-# Token Ring devices
+-#
++# CONFIG_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+ # CONFIG_TR is not set
+
+ #
+-# Wireless LAN (non-hamradio)
+-#
+-# CONFIG_NET_RADIO is not set
+-
+-#
+-# Wan interfaces
++# Wireless LAN
+ #
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+@@ -500,28 +611,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -531,7 +642,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -544,22 +654,32 @@ CONFIG_INPUT_KEYBOARD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_INPORT is not set
+ # CONFIG_MOUSE_LOGIBM is not set
+ # CONFIG_MOUSE_PC110PAD is not set
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+-# CONFIG_INPUT_MISC is not set
++CONFIG_INPUT_MISC=y
++CONFIG_INPUT_M68K_BEEP=m
++# CONFIG_INPUT_UINPUT is not set
+
+ #
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=m
+-CONFIG_SERIO_SERPORT=m
++# CONFIG_SERIO_SERPORT is not set
+ CONFIG_SERIO_Q40KBD=m
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+@@ -571,6 +691,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -584,115 +705,117 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
++# CONFIG_HW_RANDOM is not set
+ CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+ # CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
+-
+-#
+-# TPM devices
+-#
+-
+-#
+-# I2C support
+-#
++# CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+
+ #
+-# Dallas's 1-wire bus
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# Misc devices
++# Sonics Silicon Backplane
+ #
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Multimedia devices
++# Multifunction device drivers
+ #
+-# CONFIG_VIDEO_DEV is not set
++# CONFIG_MFD_SM501 is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Multimedia devices
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+ # Graphics support
+ #
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+ CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
+ CONFIG_FB_CFB_FILLRECT=y
+ CONFIG_FB_CFB_COPYAREA=y
+ CONFIG_FB_CFB_IMAGEBLIT=y
+-CONFIG_FB_SOFT_CURSOR=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=y
++# CONFIG_FB_SVGALIB is not set
+ # CONFIG_FB_MACMODES is not set
+-CONFIG_FB_MODE_HELPERS=y
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
+ # CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
+ CONFIG_FB_Q40=y
++# CONFIG_FB_UVESA is not set
+ # CONFIG_FB_S1D13XXX is not set
+ # CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
+ CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+ # CONFIG_FONTS is not set
+ CONFIG_FONT_8x8=y
+ CONFIG_FONT_8x16=y
+-
+-#
+-# Logo configuration
+-#
+ CONFIG_LOGO=y
+ CONFIG_LOGO_LINUX_MONO=y
+ CONFIG_LOGO_LINUX_VGA16=y
+ CONFIG_LOGO_LINUX_CLUT224=y
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+ # Sound
+ #
+-CONFIG_SOUND=y
+-CONFIG_DMASOUND_Q40=y
+-CONFIG_DMASOUND=y
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_SOUND=m
++CONFIG_DMASOUND_Q40=m
++CONFIG_DMASOUND=m
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -703,10 +826,11 @@ CONFIG_DMASOUND=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -717,25 +841,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -743,7 +871,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -762,13 +889,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -782,44 +908,39 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+-CONFIG_UFS_FS_WRITE=y
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_FS_WRITE is not set
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+-CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-# CONFIG_NCPFS_NFS_NS is not set
+-# CONFIG_NCPFS_OS2_NS is not set
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -829,10 +950,6 @@ CONFIG_CODA_FS=m
+ #
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -873,35 +990,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
+@@ -910,9 +1034,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -921,20 +1057,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/configs/sun3_defconfig b/arch/m68k/configs/sun3_defconfig
+index af903b5..bd2b9c4 100644
+--- a/arch/m68k/configs/sun3_defconfig
++++ b/arch/m68k/configs/sun3_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:35:02 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:22 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++CONFIG_NO_DMA=y
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-sun3"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -69,10 +117,24 @@ CONFIG_SUN3=y
+ #
+ CONFIG_M68020=y
+ CONFIG_MMU_SUN3=y
+-CONFIG_M68KFPU_EMU=y
+-CONFIG_M68KFPU_EMU_EXTRAPREC=y
+-# CONFIG_M68KFPU_EMU_ONLY is not set
++# CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_SINGLE_MEMORY_CHUNK=y
++# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -81,134 +143,11 @@ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-# 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-# CONFIG_IDE is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -218,10 +157,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ CONFIG_IP_PNP=y
+ CONFIG_IP_PNP_DHCP=y
+ CONFIG_IP_PNP_BOOTP=y
+@@ -233,145 +179,199 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-# CONFIG_XFRM_USER is not set
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ CONFIG_LLC=m
+ # CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
++# CONFIG_IPX is not set
+ CONFIG_ATALK=m
+ # CONFIG_DEV_APPLETALK is not set
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -379,47 +379,156 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
+-CONFIG_SUN3LANCE=y
+-CONFIG_SUN3_82586=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
+
+ #
+-# Ethernet (1000 Mbit)
++# Device Drivers
+ #
+
+ #
+-# Ethernet (10000 Mbit)
++# Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
+
+ #
+-# Token Ring devices
++# SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
++CONFIG_SCSI=y
++# CONFIG_SCSI_DMA is not set
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Wireless LAN (non-hamradio)
++# SCSI support type (disk, tape, CD-ROM)
+ #
+-# CONFIG_NET_RADIO is not set
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
+
+ #
+-# Wan interfaces
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+ #
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++CONFIG_SCSI_SPI_ATTRS=y
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_DEBUG is not set
++CONFIG_SUN3_SCSI=y
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++# CONFIG_MII is not set
++CONFIG_SUN3LANCE=y
++CONFIG_SUN3_82586=y
++# 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_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+@@ -428,28 +537,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -459,7 +568,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -472,11 +580,19 @@ CONFIG_KEYBOARD_SUNKBD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+ # CONFIG_INPUT_MISC is not set
+
+@@ -484,7 +600,7 @@ CONFIG_MOUSE_SERIAL=m
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=y
+-CONFIG_SERIO_SERPORT=m
++# CONFIG_SERIO_SERPORT is not set
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+@@ -495,6 +611,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -508,112 +625,113 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
+-CONFIG_GEN_RTC=y
++# CONFIG_HW_RANDOM is not set
++CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
+-
+-#
+-# TPM devices
+-#
+-
+-#
+-# I2C support
+-#
++# CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+
+ #
+-# Dallas's 1-wire bus
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# Misc devices
++# Sonics Silicon Backplane
+ #
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Multimedia devices
++# Multifunction device drivers
+ #
+-# CONFIG_VIDEO_DEV is not set
++# CONFIG_MFD_SM501 is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Multimedia devices
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+ # Graphics support
+ #
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+ CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
+ # CONFIG_FB_CFB_FILLRECT is not set
+ # CONFIG_FB_CFB_COPYAREA is not set
+ # CONFIG_FB_CFB_IMAGEBLIT is not set
+-# CONFIG_FB_SOFT_CURSOR is not set
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=y
++# CONFIG_FB_SVGALIB is not set
+ # CONFIG_FB_MACMODES is not set
+-CONFIG_FB_MODE_HELPERS=y
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
+ # CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_UVESA is not set
+ # CONFIG_FB_S1D13XXX is not set
+ # CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
+ CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+ # CONFIG_FONTS is not set
+ CONFIG_FONT_8x8=y
+ CONFIG_FONT_8x16=y
+-
+-#
+-# Logo configuration
+-#
+ CONFIG_LOGO=y
+ CONFIG_LOGO_LINUX_MONO=y
+ CONFIG_LOGO_LINUX_VGA16=y
+ CONFIG_LOGO_LINUX_CLUT224=y
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+ # Sound
+ #
+ # CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -624,10 +742,11 @@ CONFIG_LOGO_LINUX_CLUT224=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -638,25 +757,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -664,7 +787,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -683,15 +805,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-CONFIG_DEVFS_FS=y
+-CONFIG_DEVFS_MOUNT=y
+-# CONFIG_DEVFS_DEBUG is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -705,44 +824,40 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+-CONFIG_UFS_FS_WRITE=y
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_FS_WRITE is not set
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-# CONFIG_NCPFS_NFS_NS is not set
+-# CONFIG_NCPFS_OS2_NS is not set
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -753,10 +868,6 @@ CONFIG_CODA_FS=m
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+ CONFIG_SUN_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -797,35 +908,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
+@@ -834,9 +952,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -845,20 +975,34 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
+diff --git a/arch/m68k/configs/sun3x_defconfig b/arch/m68k/configs/sun3x_defconfig
+index 997143b..f18154f 100644
+--- a/arch/m68k/configs/sun3x_defconfig
++++ b/arch/m68k/configs/sun3x_defconfig
+@@ -1,63 +1,111 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:35:06 2005
++# Linux kernel version: 2.6.25-rc8
++# Wed Apr 2 20:46:23 2008
+ #
+ CONFIG_M68K=y
+ CONFIG_MMU=y
+-CONFIG_UID16=y
+ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_TIME_LOW_RES=y
++CONFIG_GENERIC_IOMAP=y
++CONFIG_NO_IOPORT=y
++# CONFIG_NO_DMA is not set
++CONFIG_ARCH_SUPPORTS_AOUT=y
++CONFIG_HZ=100
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+ CONFIG_LOCALVERSION="-sun3x"
++CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
+ CONFIG_POSIX_MQUEUE=y
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
+-CONFIG_SYSCTL=y
+-CONFIG_AUDIT=y
+-CONFIG_HOTPLUG=y
+-CONFIG_KOBJECT_UEVENT=y
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
+ # CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++CONFIG_RELAY=y
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
++CONFIG_SYSCTL=y
+ # CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+-CONFIG_OBSOLETE_MODPARM=y
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++CONFIG_BLK_DEV_BSG=y
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_CLASSIC_RCU=y
+
+ #
+ # Platform dependent setup
+@@ -80,10 +128,24 @@ CONFIG_M68030=y
+ # CONFIG_M68040 is not set
+ # CONFIG_M68060 is not set
+ CONFIG_MMU_MOTOROLA=y
+-CONFIG_M68KFPU_EMU=y
+-CONFIG_M68KFPU_EMU_EXTRAPREC=y
+-# CONFIG_M68KFPU_EMU_ONLY is not set
++# CONFIG_M68KFPU_EMU is not set
+ # CONFIG_ADVANCED is not set
++CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
++CONFIG_NODES_SHIFT=3
++CONFIG_SELECT_MEMORY_MODEL=y
++# CONFIG_FLATMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM_MANUAL=y
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_DISCONTIGMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_NEED_MULTIPLE_NODES=y
++# CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
+
+ #
+ # General setup
+@@ -92,135 +154,11 @@ CONFIG_BINFMT_ELF=y
+ CONFIG_BINFMT_AOUT=m
+ CONFIG_BINFMT_MISC=m
+ CONFIG_PROC_HARDWARE=y
++CONFIG_ZONE_DMA=y
++# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+ #
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-CONFIG_FW_LOADER=m
+-# CONFIG_DEBUG_DRIVER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-# 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_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=m
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-CONFIG_ATA_OVER_ETH=m
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-# CONFIG_IDE is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=m
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-CONFIG_BLK_DEV_SR_VENDOR=y
+-CONFIG_CHR_DEV_SG=m
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-CONFIG_SUN3X_ESP=y
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-CONFIG_MD=y
+-CONFIG_BLK_DEV_MD=m
+-CONFIG_MD_LINEAR=m
+-CONFIG_MD_RAID0=m
+-CONFIG_MD_RAID1=m
+-# CONFIG_MD_RAID10 is not set
+-CONFIG_MD_RAID5=m
+-CONFIG_MD_RAID6=m
+-CONFIG_MD_MULTIPATH=m
+-# CONFIG_MD_FAULTY is not set
+-CONFIG_BLK_DEV_DM=m
+-CONFIG_DM_CRYPT=m
+-CONFIG_DM_SNAPSHOT=m
+-CONFIG_DM_MIRROR=m
+-CONFIG_DM_ZERO=m
+-CONFIG_DM_MULTIPATH=m
+-CONFIG_DM_MULTIPATH_EMC=m
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
++# Networking
+ #
+ CONFIG_NET=y
+
+@@ -230,10 +168,17 @@ CONFIG_NET=y
+ CONFIG_PACKET=y
+ # CONFIG_PACKET_MMAP is not set
+ CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
+ CONFIG_NET_KEY=y
++CONFIG_NET_KEY_MIGRATE=y
+ CONFIG_INET=y
+ # CONFIG_IP_MULTICAST is not set
+ # CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
+ CONFIG_IP_PNP=y
+ CONFIG_IP_PNP_DHCP=y
+ CONFIG_IP_PNP_BOOTP=y
+@@ -245,145 +190,199 @@ 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_IP_TCPDIAG=m
+-CONFIG_IP_TCPDIAG_IPV6=y
+-
+-#
+-# IP: Virtual Server Configuration
+-#
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++CONFIG_INET_LRO=m
++CONFIG_INET_DIAG=m
++CONFIG_INET_TCP_DIAG=m
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
+ # CONFIG_IP_VS is not set
+ CONFIG_IPV6=m
+ CONFIG_IPV6_PRIVACY=y
++CONFIG_IPV6_ROUTER_PREF=y
++CONFIG_IPV6_ROUTE_INFO=y
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+ CONFIG_INET6_AH=m
+ CONFIG_INET6_ESP=m
+ CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++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_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_NETWORK_SECMARK is not set
+ CONFIG_NETFILTER=y
+ # CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CONNTRACK_AMANDA=m
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++# CONFIG_NF_CT_NETLINK is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_TRACE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_OWNER=m
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+ #
+ # IP: Netfilter Configuration
+ #
+-CONFIG_IP_NF_CONNTRACK=m
+-# CONFIG_IP_NF_CT_ACCT is not set
+-CONFIG_IP_NF_CONNTRACK_MARK=y
+-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+-CONFIG_IP_NF_FTP=m
+-CONFIG_IP_NF_IRC=m
+-CONFIG_IP_NF_TFTP=m
+-CONFIG_IP_NF_AMANDA=m
++CONFIG_NF_CONNTRACK_IPV4=m
++CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+ CONFIG_IP_NF_QUEUE=m
+ CONFIG_IP_NF_IPTABLES=m
+-CONFIG_IP_NF_MATCH_LIMIT=m
+-CONFIG_IP_NF_MATCH_IPRANGE=m
+-CONFIG_IP_NF_MATCH_MAC=m
+-CONFIG_IP_NF_MATCH_PKTTYPE=m
+-CONFIG_IP_NF_MATCH_MARK=m
+-CONFIG_IP_NF_MATCH_MULTIPORT=m
+-CONFIG_IP_NF_MATCH_TOS=m
+ CONFIG_IP_NF_MATCH_RECENT=m
+ CONFIG_IP_NF_MATCH_ECN=m
+-CONFIG_IP_NF_MATCH_DSCP=m
+-CONFIG_IP_NF_MATCH_AH_ESP=m
+-CONFIG_IP_NF_MATCH_LENGTH=m
++CONFIG_IP_NF_MATCH_AH=m
+ CONFIG_IP_NF_MATCH_TTL=m
+-CONFIG_IP_NF_MATCH_TCPMSS=m
+-CONFIG_IP_NF_MATCH_HELPER=m
+-CONFIG_IP_NF_MATCH_STATE=m
+-CONFIG_IP_NF_MATCH_CONNTRACK=m
+-CONFIG_IP_NF_MATCH_OWNER=m
+ CONFIG_IP_NF_MATCH_ADDRTYPE=m
+-CONFIG_IP_NF_MATCH_REALM=m
+-# CONFIG_IP_NF_MATCH_SCTP is not set
+-# CONFIG_IP_NF_MATCH_COMMENT is not set
+-CONFIG_IP_NF_MATCH_CONNMARK=m
+-CONFIG_IP_NF_MATCH_HASHLIMIT=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_IP_NF_TARGET_TCPMSS=m
+-CONFIG_IP_NF_NAT=m
+-CONFIG_IP_NF_NAT_NEEDED=y
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
+ CONFIG_IP_NF_TARGET_MASQUERADE=m
+ CONFIG_IP_NF_TARGET_REDIRECT=m
+ CONFIG_IP_NF_TARGET_NETMAP=m
+-CONFIG_IP_NF_TARGET_SAME=m
+-CONFIG_IP_NF_NAT_SNMP_BASIC=m
+-CONFIG_IP_NF_NAT_IRC=m
+-CONFIG_IP_NF_NAT_FTP=m
+-CONFIG_IP_NF_NAT_TFTP=m
+-CONFIG_IP_NF_NAT_AMANDA=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=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_TOS=m
+ CONFIG_IP_NF_TARGET_ECN=m
+-CONFIG_IP_NF_TARGET_DSCP=m
+-CONFIG_IP_NF_TARGET_MARK=m
+-CONFIG_IP_NF_TARGET_CLASSIFY=m
+-CONFIG_IP_NF_TARGET_CONNMARK=m
+-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_TTL=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
+ CONFIG_IP_NF_RAW=m
+-CONFIG_IP_NF_TARGET_NOTRACK=m
+ CONFIG_IP_NF_ARPTABLES=m
+ CONFIG_IP_NF_ARPFILTER=m
+ CONFIG_IP_NF_ARP_MANGLE=m
+
+ #
+-# IPv6: Netfilter Configuration (EXPERIMENTAL)
++# IPv6: Netfilter Configuration
+ #
++CONFIG_NF_CONNTRACK_IPV6=m
+ CONFIG_IP6_NF_QUEUE=m
+ CONFIG_IP6_NF_IPTABLES=m
+-CONFIG_IP6_NF_MATCH_LIMIT=m
+-CONFIG_IP6_NF_MATCH_MAC=m
+ CONFIG_IP6_NF_MATCH_RT=m
+ CONFIG_IP6_NF_MATCH_OPTS=m
+ CONFIG_IP6_NF_MATCH_FRAG=m
+ CONFIG_IP6_NF_MATCH_HL=m
+-CONFIG_IP6_NF_MATCH_MULTIPORT=m
+-CONFIG_IP6_NF_MATCH_OWNER=m
+-CONFIG_IP6_NF_MATCH_MARK=m
+ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+-CONFIG_IP6_NF_MATCH_AHESP=m
+-CONFIG_IP6_NF_MATCH_LENGTH=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_MH=m
+ CONFIG_IP6_NF_MATCH_EUI64=m
+ CONFIG_IP6_NF_FILTER=m
+ CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_TARGET_REJECT=m
+ CONFIG_IP6_NF_MANGLE=m
+-CONFIG_IP6_NF_TARGET_MARK=m
++CONFIG_IP6_NF_TARGET_HL=m
+ CONFIG_IP6_NF_RAW=m
+-CONFIG_XFRM=y
+-# CONFIG_XFRM_USER is not set
++CONFIG_IP_DCCP=m
++CONFIG_INET_DCCP_DIAG=m
++CONFIG_IP_DCCP_ACKVEC=y
+
+ #
+-# SCTP Configuration (EXPERIMENTAL)
++# DCCP CCIDs Configuration (EXPERIMENTAL)
+ #
++CONFIG_IP_DCCP_CCID2=m
++# CONFIG_IP_DCCP_CCID2_DEBUG is not set
++CONFIG_IP_DCCP_CCID3=m
++# CONFIG_IP_DCCP_CCID3_DEBUG is not set
++CONFIG_IP_DCCP_CCID3_RTO=100
++CONFIG_IP_DCCP_TFRC_LIB=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_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ CONFIG_LLC=m
+ # CONFIG_LLC2 is not set
+-CONFIG_IPX=m
+-# CONFIG_IPX_INTERN is not set
++# CONFIG_IPX is not set
+ CONFIG_ATALK=m
+ # CONFIG_DEV_APPLETALK is not set
+ # CONFIG_X25 is not set
+ # CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+ # CONFIG_NET_SCHED is not set
+ CONFIG_NET_CLS_ROUTE=y
+
+@@ -391,46 +390,155 @@ CONFIG_NET_CLS_ROUTE=y
+ # Network testing
+ #
+ # CONFIG_NET_PKTGEN is not set
+-CONFIG_NETPOLL=y
+-# CONFIG_NETPOLL_RX is not set
+-# CONFIG_NETPOLL_TRAP is not set
+-CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-CONFIG_DUMMY=m
+-# CONFIG_BONDING is not set
+-CONFIG_EQUALIZER=m
+-# CONFIG_TUN is not set
++# CONFIG_AF_RXRPC is not set
+
+ #
+-# Ethernet (10 or 100Mbit)
++# Wireless
+ #
+-CONFIG_NET_ETHERNET=y
+-CONFIG_MII=m
+-CONFIG_SUN3LANCE=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_EXT=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++CONFIG_IEEE80211_CRYPT_TKIP=m
++CONFIG_IEEE80211_SOFTMAC=m
++# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
+
+ #
+-# Ethernet (1000 Mbit)
++# Device Drivers
+ #
+
+ #
+-# Ethernet (10000 Mbit)
++# Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=m
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# 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_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
+
+ #
+-# Token Ring devices
++# SCSI device support
+ #
++CONFIG_RAID_ATTRS=m
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++CONFIG_SCSI_TGT=m
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+-# Wireless LAN (non-hamradio)
++# SCSI support type (disk, tape, CD-ROM)
+ #
+-# CONFIG_NET_RADIO is not set
++CONFIG_BLK_DEV_SD=y
++CONFIG_CHR_DEV_ST=m
++CONFIG_CHR_DEV_OSST=m
++CONFIG_BLK_DEV_SR=y
++CONFIG_BLK_DEV_SR_VENDOR=y
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
+
+ #
+-# Wan interfaces
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+ #
++# CONFIG_SCSI_MULTI_LUN is not set
++CONFIG_SCSI_CONSTANTS=y
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++CONFIG_SCSI_SPI_ATTRS=y
++# CONFIG_SCSI_FC_ATTRS is not set
++CONFIG_SCSI_ISCSI_ATTRS=m
++CONFIG_SCSI_SAS_ATTRS=m
++CONFIG_SCSI_SAS_LIBSAS=m
++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_SCSI_DEBUG is not set
++CONFIG_SUN3X_ESP=y
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++# CONFIG_MD_RAID10 is not set
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++# CONFIG_MD_FAULTY is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_MULTIPATH_EMC=m
++CONFIG_DM_MULTIPATH_RDAC=m
++CONFIG_DM_MULTIPATH_HP=m
++# CONFIG_DM_DELAY is not set
++CONFIG_DM_UEVENT=y
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++CONFIG_MACVLAN=m
++CONFIG_EQUALIZER=m
++# CONFIG_TUN is not set
++CONFIG_VETH=m
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++# CONFIG_MII is not set
++CONFIG_SUN3LANCE=y
++# 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_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
+ # CONFIG_WAN is not set
+ CONFIG_PPP=m
+ # CONFIG_PPP_MULTILINK is not set
+@@ -439,28 +547,28 @@ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_SYNC_TTY=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
+ CONFIG_PPPOE=m
++CONFIG_PPPOL2TP=m
+ CONFIG_SLIP=m
+ CONFIG_SLIP_COMPRESSED=y
++CONFIG_SLHC=m
+ CONFIG_SLIP_SMART=y
+ CONFIG_SLIP_MODE_SLIP6=y
+-CONFIG_SHAPER=m
+ CONFIG_NETCONSOLE=m
+-
+-#
+-# ISDN subsystem
+-#
++CONFIG_NETCONSOLE_DYNAMIC=y
++CONFIG_NETPOLL=y
++# CONFIG_NETPOLL_TRAP is not set
++CONFIG_NET_POLL_CONTROLLER=y
+ # CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+ # CONFIG_PHONE is not set
+
+ #
+ # Input device support
+ #
+ CONFIG_INPUT=y
++CONFIG_INPUT_FF_MEMLESS=m
++# CONFIG_INPUT_POLLDEV is not set
+
+ #
+ # Userland interfaces
+@@ -470,7 +578,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
+ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+ # CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+ # CONFIG_INPUT_EVDEV is not set
+ # CONFIG_INPUT_EVBUG is not set
+
+@@ -483,11 +590,19 @@ CONFIG_KEYBOARD_SUNKBD=y
+ # CONFIG_KEYBOARD_LKKBD is not set
+ # CONFIG_KEYBOARD_XTKBD is not set
+ # CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
+ CONFIG_INPUT_MOUSE=y
+ CONFIG_MOUSE_PS2=m
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+ CONFIG_MOUSE_SERIAL=m
+ # CONFIG_MOUSE_VSXXXAA is not set
+ # CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
+ # CONFIG_INPUT_TOUCHSCREEN is not set
+ # CONFIG_INPUT_MISC is not set
+
+@@ -495,7 +610,7 @@ CONFIG_MOUSE_SERIAL=m
+ # Hardware I/O ports
+ #
+ CONFIG_SERIO=y
+-CONFIG_SERIO_SERPORT=m
++# CONFIG_SERIO_SERPORT is not set
+ CONFIG_SERIO_LIBPS2=m
+ # CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+@@ -506,6 +621,7 @@ CONFIG_SERIO_LIBPS2=m
+ CONFIG_VT=y
+ CONFIG_VT_CONSOLE=y
+ CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
+ # CONFIG_SERIAL_NONSTANDARD is not set
+
+ #
+@@ -519,112 +635,113 @@ CONFIG_HW_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+ # CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
+-CONFIG_GEN_RTC=y
++# CONFIG_HW_RANDOM is not set
++CONFIG_GEN_RTC=m
+ CONFIG_GEN_RTC_X=y
+-# CONFIG_DTLK is not set
+ # CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
+-
+-#
+-# TPM devices
+-#
+-
+-#
+-# I2C support
+-#
++# CONFIG_TCG_TPM is not set
+ # CONFIG_I2C is not set
+
+ #
+-# Dallas's 1-wire bus
++# SPI support
+ #
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
+ # CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_WATCHDOG is not set
+
+ #
+-# Misc devices
++# Sonics Silicon Backplane
+ #
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
+
+ #
+-# Multimedia devices
++# Multifunction device drivers
+ #
+-# CONFIG_VIDEO_DEV is not set
++# CONFIG_MFD_SM501 is not set
+
+ #
+-# Digital Video Broadcasting Devices
++# Multimedia devices
+ #
+-# CONFIG_DVB is not set
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
+
+ #
+ # Graphics support
+ #
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+ CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
+ # CONFIG_FB_CFB_FILLRECT is not set
+ # CONFIG_FB_CFB_COPYAREA is not set
+ # CONFIG_FB_CFB_IMAGEBLIT is not set
+-# CONFIG_FB_SOFT_CURSOR is not set
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=y
++# CONFIG_FB_SVGALIB is not set
+ # CONFIG_FB_MACMODES is not set
+-CONFIG_FB_MODE_HELPERS=y
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
+ # CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_UVESA is not set
+ # CONFIG_FB_S1D13XXX is not set
+ # CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+ #
+ CONFIG_DUMMY_CONSOLE=y
+ CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+ # CONFIG_FONTS is not set
+ CONFIG_FONT_8x8=y
+ CONFIG_FONT_8x16=y
+-
+-#
+-# Logo configuration
+-#
+ CONFIG_LOGO=y
+ CONFIG_LOGO_LINUX_MONO=y
+ CONFIG_LOGO_LINUX_VGA16=y
+ CONFIG_LOGO_LINUX_CLUT224=y
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+ # Sound
+ #
+ # CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=m
++# CONFIG_HID_DEBUG is not set
++CONFIG_HIDRAW=y
++# CONFIG_USB_SUPPORT is not set
+ # CONFIG_MMC is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_RTC_CLASS is not set
+
+ #
+-# InfiniBand support
++# Userspace I/O
+ #
+-# CONFIG_INFINIBAND is not set
++# CONFIG_UIO is not set
+
+ #
+ # Character devices
+@@ -635,10 +752,11 @@ CONFIG_LOGO_LINUX_CLUT224=y
+ #
+ CONFIG_EXT2_FS=y
+ # CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
+ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_REISERFS_FS=m
+ # CONFIG_REISERFS_CHECK is not set
+ # CONFIG_REISERFS_PROC_INFO is not set
+@@ -649,25 +767,29 @@ CONFIG_JFS_FS=m
+ # CONFIG_JFS_DEBUG is not set
+ # CONFIG_JFS_STATISTICS is not set
+ CONFIG_FS_POSIX_ACL=y
+-
+-#
+-# XFS support
+-#
+ CONFIG_XFS_FS=m
+-CONFIG_XFS_EXPORT=y
+-# CONFIG_XFS_RT is not set
+ # CONFIG_XFS_QUOTA is not set
+ # CONFIG_XFS_SECURITY is not set
+ # CONFIG_XFS_POSIX_ACL is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
++# CONFIG_XFS_RT is not set
++CONFIG_GFS2_FS=m
++CONFIG_GFS2_FS_LOCKING_NOLOCK=m
++CONFIG_GFS2_FS_LOCKING_DLM=m
++CONFIG_OCFS2_FS=m
++# CONFIG_OCFS2_DEBUG_MASKLOG is not set
++# CONFIG_OCFS2_DEBUG_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
+ CONFIG_QUOTA=y
++CONFIG_QUOTA_NETLINK_INTERFACE=y
++# CONFIG_PRINT_QUOTA_WARNING is not set
+ # CONFIG_QFMT_V1 is not set
+ # CONFIG_QFMT_V2 is not set
+ CONFIG_QUOTACTL=y
+-CONFIG_DNOTIFY=y
+ CONFIG_AUTOFS_FS=m
+ CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
+
+ #
+ # CD-ROM/DVD Filesystems
+@@ -675,7 +797,6 @@ CONFIG_AUTOFS4_FS=m
+ CONFIG_ISO9660_FS=y
+ CONFIG_JOLIET=y
+ CONFIG_ZISOFS=y
+-CONFIG_ZISOFS_FS=y
+ CONFIG_UDF_FS=m
+ CONFIG_UDF_NLS=y
+
+@@ -694,15 +815,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_KCORE=y
++CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-CONFIG_DEVFS_FS=y
+-CONFIG_DEVFS_MOUNT=y
+-# CONFIG_DEVFS_DEBUG is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+ CONFIG_TMPFS=y
+-# CONFIG_TMPFS_XATTR is not set
++# CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
++CONFIG_CONFIGFS_FS=m
+
+ #
+ # Miscellaneous filesystems
+@@ -716,44 +834,40 @@ CONFIG_HFSPLUS_FS=m
+ # CONFIG_EFS_FS is not set
+ CONFIG_CRAMFS=m
+ # CONFIG_VXFS_FS is not set
++CONFIG_MINIX_FS=y
+ CONFIG_HPFS_FS=m
+ # CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
+ CONFIG_SYSV_FS=m
+ CONFIG_UFS_FS=m
+-CONFIG_UFS_FS_WRITE=y
+-
+-#
+-# Network File Systems
+-#
++# CONFIG_UFS_FS_WRITE is not set
++# CONFIG_UFS_DEBUG is not set
++CONFIG_NETWORK_FILESYSTEMS=y
+ CONFIG_NFS_FS=y
+ CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
+ CONFIG_NFS_V4=y
+ # CONFIG_NFS_DIRECTIO is not set
+ CONFIG_NFSD=m
+ CONFIG_NFSD_V3=y
+-CONFIG_NFSD_V4=y
++# CONFIG_NFSD_V3_ACL is not set
++# CONFIG_NFSD_V4 is not set
+ CONFIG_NFSD_TCP=y
+ CONFIG_ROOT_NFS=y
+ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++CONFIG_SUNRPC_BIND34=y
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ CONFIG_SMB_FS=m
+ CONFIG_SMB_NLS_DEFAULT=y
+ CONFIG_SMB_NLS_REMOTE="cp437"
+ # CONFIG_CIFS is not set
+-CONFIG_NCP_FS=m
+-# CONFIG_NCPFS_PACKET_SIGNING is not set
+-# CONFIG_NCPFS_IOCTL_LOCKING is not set
+-# CONFIG_NCPFS_STRONG is not set
+-# CONFIG_NCPFS_NFS_NS is not set
+-# CONFIG_NCPFS_OS2_NS is not set
+-# CONFIG_NCPFS_SMALLDOS is not set
+-CONFIG_NCPFS_NLS=y
+-# CONFIG_NCPFS_EXTRAS is not set
++# CONFIG_NCP_FS is not set
+ CONFIG_CODA_FS=m
+ # CONFIG_CODA_FS_OLD_API is not set
+ # CONFIG_AFS_FS is not set
+@@ -764,10 +878,6 @@ CONFIG_CODA_FS=m
+ # CONFIG_PARTITION_ADVANCED is not set
+ CONFIG_MSDOS_PARTITION=y
+ CONFIG_SUN_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+ CONFIG_NLS=y
+ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_NLS_CODEPAGE_437=y
+@@ -808,35 +918,42 @@ 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 is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
+-CONFIG_DEBUG_KERNEL=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
+ CONFIG_MAGIC_SYSRQ=y
+-CONFIG_LOG_BUF_SHIFT=16
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_KOBJECT is not set
+-CONFIG_DEBUG_BUGVERBOSE=y
+-# CONFIG_DEBUG_INFO is not set
++# CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+-# CONFIG_FRAME_POINTER is not set
++# CONFIG_HEADERS_CHECK is not set
++# CONFIG_DEBUG_KERNEL is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_SAMPLES is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
+ CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=m
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=m
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
+ CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
+ CONFIG_CRYPTO_NULL=m
+ CONFIG_CRYPTO_MD4=m
+ CONFIG_CRYPTO_MD5=y
+@@ -845,9 +962,21 @@ CONFIG_CRYPTO_SHA256=m
+ CONFIG_CRYPTO_SHA512=m
+ CONFIG_CRYPTO_WP512=m
+ CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_XTS=m
++CONFIG_CRYPTO_CTR=m
++CONFIG_CRYPTO_GCM=m
++CONFIG_CRYPTO_CCM=m
++CONFIG_CRYPTO_CRYPTD=m
+ CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
+ CONFIG_CRYPTO_BLOWFISH=m
+ CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
+ CONFIG_CRYPTO_SERPENT=m
+ CONFIG_CRYPTO_AES=m
+ CONFIG_CRYPTO_CAST5=m
+@@ -856,20 +985,35 @@ CONFIG_CRYPTO_TEA=m
+ CONFIG_CRYPTO_ARC4=m
+ CONFIG_CRYPTO_KHAZAD=m
+ CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_SEED=m
++CONFIG_CRYPTO_SALSA20=m
+ CONFIG_CRYPTO_DEFLATE=m
+ CONFIG_CRYPTO_MICHAEL_MIC=m
+ CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_CAMELLIA=m
+ CONFIG_CRYPTO_TEST=m
+-
+-#
+-# Hardware crypto devices
+-#
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_LZO=m
++# CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
++CONFIG_BITREVERSE=y
+ CONFIG_CRC_CCITT=m
++CONFIG_CRC16=m
++# CONFIG_CRC_ITU_T is not set
+ CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=m
++CONFIG_LZO_COMPRESS=m
++CONFIG_LZO_DECOMPRESS=m
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/m68k/defconfig b/arch/m68k/defconfig
+deleted file mode 100644
+index 7d935e4..0000000
+--- a/arch/m68k/defconfig
++++ /dev/null
+@@ -1,657 +0,0 @@
+-#
+-# Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.12-rc6-m68k
+-# Tue Jun 7 20:34:17 2005
+-#
+-CONFIG_M68K=y
+-CONFIG_MMU=y
+-CONFIG_UID16=y
+-CONFIG_RWSEM_GENERIC_SPINLOCK=y
+-CONFIG_GENERIC_CALIBRATE_DELAY=y
+-
+-#
+-# Code maturity level options
+-#
+-CONFIG_EXPERIMENTAL=y
+-CONFIG_CLEAN_COMPILE=y
+-CONFIG_BROKEN_ON_SMP=y
+-CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+-CONFIG_LOCALVERSION=""
+-CONFIG_SWAP=y
+-CONFIG_SYSVIPC=y
+-# CONFIG_POSIX_MQUEUE is not set
+-# CONFIG_BSD_PROCESS_ACCT is not set
+-CONFIG_SYSCTL=y
+-# CONFIG_AUDIT is not set
+-# CONFIG_HOTPLUG is not set
+-CONFIG_KOBJECT_UEVENT=y
+-# CONFIG_IKCONFIG is not set
+-# CONFIG_EMBEDDED is not set
+-CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_EXTRA_PASS is not set
+-CONFIG_PRINTK=y
+-CONFIG_BUG=y
+-CONFIG_BASE_FULL=y
+-CONFIG_FUTEX=y
+-CONFIG_EPOLL=y
+-CONFIG_SHMEM=y
+-CONFIG_CC_ALIGN_FUNCTIONS=0
+-CONFIG_CC_ALIGN_LABELS=0
+-CONFIG_CC_ALIGN_LOOPS=0
+-CONFIG_CC_ALIGN_JUMPS=0
+-# CONFIG_TINY_SHMEM is not set
+-CONFIG_BASE_SMALL=0
+-
+-#
+-# Loadable module support
+-#
+-# CONFIG_MODULES is not set
+-
+-#
+-# Platform dependent setup
+-#
+-# CONFIG_SUN3 is not set
+-CONFIG_AMIGA=y
+-# CONFIG_ATARI is not set
+-# CONFIG_MAC is not set
+-# CONFIG_APOLLO is not set
+-# CONFIG_VME is not set
+-# CONFIG_HP300 is not set
+-# CONFIG_SUN3X is not set
+-# CONFIG_Q40 is not set
+-
+-#
+-# Processor type
+-#
+-CONFIG_M68020=y
+-CONFIG_M68030=y
+-CONFIG_M68040=y
+-# CONFIG_M68060 is not set
+-CONFIG_MMU_MOTOROLA=y
+-# CONFIG_M68KFPU_EMU is not set
+-# CONFIG_ADVANCED is not set
+-
+-#
+-# General setup
+-#
+-CONFIG_BINFMT_ELF=y
+-CONFIG_BINFMT_AOUT=y
+-# CONFIG_BINFMT_MISC is not set
+-CONFIG_ZORRO=y
+-# CONFIG_AMIGA_PCMCIA is not set
+-# CONFIG_HEARTBEAT is not set
+-CONFIG_PROC_HARDWARE=y
+-# CONFIG_ZORRO_NAMES is not set
+-
+-#
+-# Device Drivers
+-#
+-
+-#
+-# Generic Driver Options
+-#
+-CONFIG_STANDALONE=y
+-CONFIG_PREVENT_FIRMWARE_BUILD=y
+-# CONFIG_FW_LOADER is not set
+-
+-#
+-# Memory Technology Devices (MTD)
+-#
+-# CONFIG_MTD is not set
+-
+-#
+-# Parallel port support
+-#
+-# CONFIG_PARPORT is not set
+-
+-#
+-# Plug and Play support
+-#
+-
+-#
+-# Block devices
+-#
+-CONFIG_AMIGA_FLOPPY=y
+-# CONFIG_AMIGA_Z2RAM is not set
+-# CONFIG_BLK_DEV_COW_COMMON is not set
+-# CONFIG_BLK_DEV_LOOP is not set
+-# CONFIG_BLK_DEV_NBD is not set
+-CONFIG_BLK_DEV_RAM=y
+-CONFIG_BLK_DEV_RAM_COUNT=16
+-CONFIG_BLK_DEV_RAM_SIZE=4096
+-CONFIG_BLK_DEV_INITRD=y
+-CONFIG_INITRAMFS_SOURCE=""
+-CONFIG_CDROM_PKTCDVD=y
+-CONFIG_CDROM_PKTCDVD_BUFFERS=8
+-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+-
+-#
+-# IO Schedulers
+-#
+-CONFIG_IOSCHED_NOOP=y
+-CONFIG_IOSCHED_AS=y
+-CONFIG_IOSCHED_DEADLINE=y
+-CONFIG_IOSCHED_CFQ=y
+-# CONFIG_ATA_OVER_ETH is not set
+-
+-#
+-# ATA/ATAPI/MFM/RLL support
+-#
+-# CONFIG_IDE is not set
+-
+-#
+-# SCSI device support
+-#
+-CONFIG_SCSI=y
+-CONFIG_SCSI_PROC_FS=y
+-
+-#
+-# SCSI support type (disk, tape, CD-ROM)
+-#
+-CONFIG_BLK_DEV_SD=y
+-CONFIG_CHR_DEV_ST=y
+-# CONFIG_CHR_DEV_OSST is not set
+-CONFIG_BLK_DEV_SR=y
+-# CONFIG_BLK_DEV_SR_VENDOR is not set
+-# CONFIG_CHR_DEV_SG is not set
+-
+-#
+-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+-#
+-# CONFIG_SCSI_MULTI_LUN is not set
+-CONFIG_SCSI_CONSTANTS=y
+-# CONFIG_SCSI_LOGGING is not set
+-
+-#
+-# SCSI Transport Attributes
+-#
+-# CONFIG_SCSI_SPI_ATTRS is not set
+-# CONFIG_SCSI_FC_ATTRS is not set
+-# CONFIG_SCSI_ISCSI_ATTRS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
+-# CONFIG_SCSI_SATA is not set
+-# CONFIG_SCSI_DEBUG is not set
+-CONFIG_A3000_SCSI=y
+-CONFIG_A2091_SCSI=y
+-CONFIG_GVP11_SCSI=y
+-# CONFIG_CYBERSTORM_SCSI is not set
+-# CONFIG_CYBERSTORMII_SCSI is not set
+-# CONFIG_BLZ2060_SCSI is not set
+-# CONFIG_BLZ1230_SCSI is not set
+-# CONFIG_FASTLANE_SCSI is not set
+-# CONFIG_OKTAGON_SCSI is not set
+-
+-#
+-# Multi-device support (RAID and LVM)
+-#
+-# CONFIG_MD is not set
+-
+-#
+-# Fusion MPT device support
+-#
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-
+-#
+-# I2O device support
+-#
+-
+-#
+-# Networking support
+-#
+-CONFIG_NET=y
+-
+-#
+-# Networking options
+-#
+-CONFIG_PACKET=y
+-# CONFIG_PACKET_MMAP is not set
+-CONFIG_UNIX=y
+-# CONFIG_NET_KEY is not set
+-CONFIG_INET=y
+-# CONFIG_IP_MULTICAST is not set
+-# CONFIG_IP_ADVANCED_ROUTER is not set
+-# CONFIG_IP_PNP is not set
+-# CONFIG_NET_IPIP is not set
+-# CONFIG_NET_IPGRE is not set
+-# CONFIG_ARPD is not set
+-# CONFIG_SYN_COOKIES is not set
+-# CONFIG_INET_AH is not set
+-# CONFIG_INET_ESP is not set
+-# CONFIG_INET_IPCOMP is not set
+-# CONFIG_INET_TUNNEL is not set
+-CONFIG_IP_TCPDIAG=y
+-# CONFIG_IP_TCPDIAG_IPV6 is not set
+-# CONFIG_IPV6 is not set
+-# CONFIG_NETFILTER is not set
+-
+-#
+-# SCTP Configuration (EXPERIMENTAL)
+-#
+-# CONFIG_IP_SCTP is not set
+-# CONFIG_ATM is not set
+-# CONFIG_BRIDGE is not set
+-# CONFIG_VLAN_8021Q is not set
+-# CONFIG_DECNET is not set
+-# CONFIG_LLC2 is not set
+-# CONFIG_IPX is not set
+-# CONFIG_ATALK is not set
+-# CONFIG_X25 is not set
+-# CONFIG_LAPB is not set
+-# CONFIG_NET_DIVERT is not set
+-# CONFIG_ECONET is not set
+-# CONFIG_WAN_ROUTER is not set
+-
+-#
+-# QoS and/or fair queueing
+-#
+-# CONFIG_NET_SCHED is not set
+-# CONFIG_NET_CLS_ROUTE is not set
+-
+-#
+-# Network testing
+-#
+-# CONFIG_NET_PKTGEN is not set
+-# CONFIG_NETPOLL is not set
+-# CONFIG_NET_POLL_CONTROLLER is not set
+-# CONFIG_HAMRADIO is not set
+-# CONFIG_IRDA is not set
+-# CONFIG_BT is not set
+-CONFIG_NETDEVICES=y
+-# CONFIG_DUMMY is not set
+-# CONFIG_BONDING is not set
+-# CONFIG_EQUALIZER is not set
+-# CONFIG_TUN is not set
+-
+-#
+-# Ethernet (10 or 100Mbit)
+-#
+-# CONFIG_NET_ETHERNET is not set
+-
+-#
+-# Ethernet (1000 Mbit)
+-#
+-
+-#
+-# Ethernet (10000 Mbit)
+-#
+-
+-#
+-# Token Ring devices
+-#
+-
+-#
+-# Wireless LAN (non-hamradio)
+-#
+-# CONFIG_NET_RADIO is not set
+-
+-#
+-# Wan interfaces
+-#
+-# CONFIG_WAN is not set
+-# CONFIG_PPP is not set
+-# CONFIG_SLIP is not set
+-# CONFIG_SHAPER is not set
+-# CONFIG_NETCONSOLE is not set
+-
+-#
+-# ISDN subsystem
+-#
+-# CONFIG_ISDN is not set
+-
+-#
+-# Telephony Support
+-#
+-# CONFIG_PHONE is not set
+-
+-#
+-# Input device support
+-#
+-CONFIG_INPUT=y
+-
+-#
+-# Userland interfaces
+-#
+-CONFIG_INPUT_MOUSEDEV=y
+-CONFIG_INPUT_MOUSEDEV_PSAUX=y
+-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+-# CONFIG_INPUT_JOYDEV is not set
+-# CONFIG_INPUT_TSDEV is not set
+-# CONFIG_INPUT_EVDEV is not set
+-# CONFIG_INPUT_EVBUG is not set
+-
+-#
+-# Input Device Drivers
+-#
+-CONFIG_INPUT_KEYBOARD=y
+-CONFIG_KEYBOARD_ATKBD=y
+-# CONFIG_KEYBOARD_SUNKBD is not set
+-# CONFIG_KEYBOARD_LKKBD is not set
+-# CONFIG_KEYBOARD_XTKBD is not set
+-# CONFIG_KEYBOARD_NEWTON is not set
+-# CONFIG_KEYBOARD_AMIGA is not set
+-CONFIG_INPUT_MOUSE=y
+-CONFIG_MOUSE_PS2=y
+-# CONFIG_MOUSE_SERIAL is not set
+-# CONFIG_MOUSE_AMIGA is not set
+-# CONFIG_MOUSE_VSXXXAA is not set
+-# CONFIG_INPUT_JOYSTICK is not set
+-# CONFIG_INPUT_TOUCHSCREEN is not set
+-# CONFIG_INPUT_MISC is not set
+-
+-#
+-# Hardware I/O ports
+-#
+-CONFIG_SERIO=y
+-CONFIG_SERIO_SERPORT=y
+-CONFIG_SERIO_LIBPS2=y
+-# CONFIG_SERIO_RAW is not set
+-# CONFIG_GAMEPORT is not set
+-
+-#
+-# Character devices
+-#
+-CONFIG_VT=y
+-CONFIG_VT_CONSOLE=y
+-CONFIG_HW_CONSOLE=y
+-# CONFIG_SERIAL_NONSTANDARD is not set
+-# CONFIG_A2232 is not set
+-
+-#
+-# Serial drivers
+-#
+-# CONFIG_SERIAL_8250 is not set
+-
+-#
+-# Non-8250 serial port support
+-#
+-CONFIG_UNIX98_PTYS=y
+-CONFIG_LEGACY_PTYS=y
+-CONFIG_LEGACY_PTY_COUNT=256
+-
+-#
+-# IPMI
+-#
+-# CONFIG_IPMI_HANDLER is not set
+-
+-#
+-# Watchdog Cards
+-#
+-# CONFIG_WATCHDOG is not set
+-# CONFIG_GEN_RTC is not set
+-# CONFIG_DTLK is not set
+-# CONFIG_R3964 is not set
+-
+-#
+-# Ftape, the floppy tape device driver
+-#
+-# CONFIG_DRM is not set
+-# CONFIG_RAW_DRIVER is not set
+-
+-#
+-# TPM devices
+-#
+-
+-#
+-# I2C support
+-#
+-# CONFIG_I2C is not set
+-
+-#
+-# Dallas's 1-wire bus
+-#
+-# CONFIG_W1 is not set
+-
+-#
+-# Misc devices
+-#
+-
+-#
+-# Multimedia devices
+-#
+-# CONFIG_VIDEO_DEV is not set
+-
+-#
+-# Digital Video Broadcasting Devices
+-#
+-# CONFIG_DVB is not set
+-
+-#
+-# Graphics support
+-#
+-CONFIG_FB=y
+-# CONFIG_FB_CFB_FILLRECT is not set
+-# CONFIG_FB_CFB_COPYAREA is not set
+-# CONFIG_FB_CFB_IMAGEBLIT is not set
+-CONFIG_FB_SOFT_CURSOR=y
+-# CONFIG_FB_MACMODES is not set
+-CONFIG_FB_MODE_HELPERS=y
+-# CONFIG_FB_TILEBLITTING is not set
+-# CONFIG_FB_CIRRUS is not set
+-CONFIG_FB_AMIGA=y
+-CONFIG_FB_AMIGA_OCS=y
+-CONFIG_FB_AMIGA_ECS=y
+-CONFIG_FB_AMIGA_AGA=y
+-# CONFIG_FB_FM2 is not set
+-# CONFIG_FB_S1D13XXX is not set
+-# CONFIG_FB_VIRTUAL is not set
+-
+-#
+-# Console display driver support
+-#
+-CONFIG_DUMMY_CONSOLE=y
+-# CONFIG_FRAMEBUFFER_CONSOLE is not set
+-
+-#
+-# Logo configuration
+-#
+-# CONFIG_LOGO is not set
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+-
+-#
+-# Sound
+-#
+-# CONFIG_SOUND is not set
+-
+-#
+-# USB support
+-#
+-# CONFIG_USB_ARCH_HAS_HCD is not set
+-# CONFIG_USB_ARCH_HAS_OHCI is not set
+-
+-#
+-# USB Gadget Support
+-#
+-# CONFIG_USB_GADGET is not set
+-
+-#
+-# MMC/SD Card support
+-#
+-# CONFIG_MMC is not set
+-
+-#
+-# InfiniBand support
+-#
+-# CONFIG_INFINIBAND is not set
+-
+-#
+-# Character devices
+-#
+-CONFIG_AMIGA_BUILTIN_SERIAL=y
+-# CONFIG_MULTIFACE_III_TTY is not set
+-# CONFIG_GVPIOEXT is not set
+-# CONFIG_SERIAL_CONSOLE is not set
+-
+-#
+-# File systems
+-#
+-CONFIG_EXT2_FS=y
+-# CONFIG_EXT2_FS_XATTR is not set
+-# CONFIG_EXT3_FS is not set
+-# CONFIG_JBD is not set
+-# CONFIG_REISERFS_FS is not set
+-# CONFIG_JFS_FS is not set
+-
+-#
+-# XFS support
+-#
+-# CONFIG_XFS_FS is not set
+-CONFIG_MINIX_FS=y
+-# CONFIG_ROMFS_FS is not set
+-# CONFIG_QUOTA is not set
+-CONFIG_DNOTIFY=y
+-# CONFIG_AUTOFS_FS is not set
+-# CONFIG_AUTOFS4_FS is not set
+-
+-#
+-# CD-ROM/DVD Filesystems
+-#
+-# CONFIG_ISO9660_FS is not set
+-# CONFIG_UDF_FS is not set
+-
+-#
+-# DOS/FAT/NT Filesystems
+-#
+-CONFIG_FAT_FS=y
+-CONFIG_MSDOS_FS=y
+-# CONFIG_VFAT_FS is not set
+-CONFIG_FAT_DEFAULT_CODEPAGE=437
+-# CONFIG_NTFS_FS is not set
+-
+-#
+-# Pseudo filesystems
+-#
+-CONFIG_PROC_FS=y
+-CONFIG_PROC_KCORE=y
+-CONFIG_SYSFS=y
+-# CONFIG_DEVFS_FS is not set
+-# CONFIG_DEVPTS_FS_XATTR is not set
+-# CONFIG_TMPFS is not set
+-# CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
+-
+-#
+-# Miscellaneous filesystems
+-#
+-# CONFIG_ADFS_FS is not set
+-# CONFIG_AFFS_FS is not set
+-# CONFIG_HFS_FS is not set
+-# CONFIG_HFSPLUS_FS is not set
+-# CONFIG_BEFS_FS is not set
+-# CONFIG_BFS_FS is not set
+-# CONFIG_EFS_FS is not set
+-# CONFIG_CRAMFS is not set
+-# CONFIG_VXFS_FS is not set
+-# CONFIG_HPFS_FS is not set
+-# CONFIG_QNX4FS_FS is not set
+-# CONFIG_SYSV_FS is not set
+-# CONFIG_UFS_FS is not set
+-
+-#
+-# Network File Systems
+-#
+-CONFIG_NFS_FS=y
+-# CONFIG_NFS_V3 is not set
+-# CONFIG_NFS_V4 is not set
+-# CONFIG_NFS_DIRECTIO is not set
+-# CONFIG_NFSD is not set
+-CONFIG_LOCKD=y
+-CONFIG_SUNRPC=y
+-# CONFIG_RPCSEC_GSS_KRB5 is not set
+-# CONFIG_RPCSEC_GSS_SPKM3 is not set
+-# CONFIG_SMB_FS is not set
+-# CONFIG_CIFS is not set
+-# CONFIG_NCP_FS is not set
+-# CONFIG_CODA_FS is not set
+-# CONFIG_AFS_FS is not set
+-
+-#
+-# Partition Types
+-#
+-# CONFIG_PARTITION_ADVANCED is not set
+-CONFIG_AMIGA_PARTITION=y
+-CONFIG_MSDOS_PARTITION=y
+-
+-#
+-# Native Language Support
+-#
+-CONFIG_NLS=y
+-CONFIG_NLS_DEFAULT="iso8859-1"
+-CONFIG_NLS_CODEPAGE_437=y
+-# CONFIG_NLS_CODEPAGE_737 is not set
+-# CONFIG_NLS_CODEPAGE_775 is not set
+-# CONFIG_NLS_CODEPAGE_850 is not set
+-# CONFIG_NLS_CODEPAGE_852 is not set
+-# CONFIG_NLS_CODEPAGE_855 is not set
+-# CONFIG_NLS_CODEPAGE_857 is not set
+-# CONFIG_NLS_CODEPAGE_860 is not set
+-# CONFIG_NLS_CODEPAGE_861 is not set
+-# CONFIG_NLS_CODEPAGE_862 is not set
+-# CONFIG_NLS_CODEPAGE_863 is not set
+-# CONFIG_NLS_CODEPAGE_864 is not set
+-# CONFIG_NLS_CODEPAGE_865 is not set
+-# CONFIG_NLS_CODEPAGE_866 is not set
+-# CONFIG_NLS_CODEPAGE_869 is not set
+-# CONFIG_NLS_CODEPAGE_936 is not set
+-# CONFIG_NLS_CODEPAGE_950 is not set
+-# CONFIG_NLS_CODEPAGE_932 is not set
+-# CONFIG_NLS_CODEPAGE_949 is not set
+-# CONFIG_NLS_CODEPAGE_874 is not set
+-# CONFIG_NLS_ISO8859_8 is not set
+-# CONFIG_NLS_CODEPAGE_1250 is not set
+-# CONFIG_NLS_CODEPAGE_1251 is not set
+-# CONFIG_NLS_ASCII is not set
+-# CONFIG_NLS_ISO8859_1 is not set
+-# CONFIG_NLS_ISO8859_2 is not set
+-# CONFIG_NLS_ISO8859_3 is not set
+-# CONFIG_NLS_ISO8859_4 is not set
+-# CONFIG_NLS_ISO8859_5 is not set
+-# CONFIG_NLS_ISO8859_6 is not set
+-# CONFIG_NLS_ISO8859_7 is not set
+-# CONFIG_NLS_ISO8859_9 is not set
+-# CONFIG_NLS_ISO8859_13 is not set
+-# CONFIG_NLS_ISO8859_14 is not set
+-# CONFIG_NLS_ISO8859_15 is not set
+-# CONFIG_NLS_KOI8_R is not set
+-# CONFIG_NLS_KOI8_U is not set
+-# CONFIG_NLS_UTF8 is not set
+-
+-#
+-# Kernel hacking
+-#
+-# CONFIG_PRINTK_TIME is not set
+-# CONFIG_DEBUG_KERNEL is not set
+-CONFIG_LOG_BUF_SHIFT=14
+-CONFIG_DEBUG_BUGVERBOSE=y
+-
+-#
+-# Security options
+-#
+-# CONFIG_KEYS is not set
+-# CONFIG_SECURITY is not set
+-
+-#
+-# Cryptographic options
+-#
+-# CONFIG_CRYPTO is not set
+-
+-#
+-# Hardware crypto devices
+-#
+-
+-#
+-# Library routines
+-#
+-# CONFIG_CRC_CCITT is not set
+-CONFIG_CRC32=y
+-# CONFIG_LIBCRC32C is not set
+diff --git a/arch/mips/kernel/gdb-stub.c b/arch/mips/kernel/gdb-stub.c
+index 3191afa..25f4eab 100644
+--- a/arch/mips/kernel/gdb-stub.c
++++ b/arch/mips/kernel/gdb-stub.c
+@@ -139,7 +139,6 @@
+ #include <asm/system.h>
+ #include <asm/gdb-stub.h>
+ #include <asm/inst.h>
+-#include <asm/smp.h>
+
+ /*
+ * external low-level support routines
+@@ -656,6 +655,7 @@ void set_async_breakpoint(unsigned long *epc)
+ *epc = (unsigned long)async_breakpoint;
+ }
+
++#ifdef CONFIG_SMP
+ static void kgdb_wait(void *arg)
+ {
+ unsigned flags;
+@@ -668,6 +668,7 @@ static void kgdb_wait(void *arg)
+
+ local_irq_restore(flags);
+ }
++#endif
+
+ /*
+ * GDB stub needs to call kgdb_wait on all processor with interrupts
+diff --git a/arch/powerpc/boot/dts/cm5200.dts b/arch/powerpc/boot/dts/cm5200.dts
+index 30737ea..c6ca631 100644
+--- a/arch/powerpc/boot/dts/cm5200.dts
++++ b/arch/powerpc/boot/dts/cm5200.dts
+@@ -212,13 +212,30 @@
+ ethernet at 3000 {
+ device_type = "network";
+ compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
+- reg = <3000 800>;
++ reg = <3000 400>;
+ local-mac-address = [ 00 00 00 00 00 00 ];
+ interrupts = <2 5 0>;
+ interrupt-parent = <&mpc5200_pic>;
++ phy-handle = <&phy0>;
++ };
++
++ mdio at 3000 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
++ reg = <3000 400>; // fec range, since we need to setup fec interrupts
++ interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
++ interrupt-parent = <&mpc5200_pic>;
++
++ phy0: ethernet-phy at 0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
+ };
+
+ i2c at 3d40 {
++ #address-cells = <1>;
++ #size-cells = <0>;
+ compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
+ reg = <3d40 40>;
+ interrupts = <2 10 0>;
+@@ -231,4 +248,22 @@
+ reg = <8000 4000>;
+ };
+ };
++
++ lpb {
++ model = "fsl,lpb";
++ compatible = "fsl,lpb";
++ #address-cells = <2>;
++ #size-cells = <1>;
++ ranges = <0 0 fc000000 2000000>;
++
++ // 16-bit flash device at LocalPlus Bus CS0
++ flash at 0,0 {
++ compatible = "cfi-flash";
++ reg = <0 0 2000000>;
++ bank-width = <2>;
++ device-width = <2>;
++ #size-cells = <1>;
++ #address-cells = <1>;
++ };
++ };
+ };
+diff --git a/arch/powerpc/boot/dts/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts
+index 0d701c1..09b4e16 100644
+--- a/arch/powerpc/boot/dts/lite5200.dts
++++ b/arch/powerpc/boot/dts/lite5200.dts
+@@ -258,6 +258,21 @@
+ local-mac-address = [ 00 00 00 00 00 00 ];
+ interrupts = <2 5 0>;
+ interrupt-parent = <&mpc5200_pic>;
++ phy-handle = <&phy0>;
++ };
++
++ mdio at 3000 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ compatible = "fsl,mpc5200-mdio";
++ reg = <3000 400>; // fec range, since we need to setup fec interrupts
++ interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
++ interrupt-parent = <&mpc5200_pic>;
++
++ phy0:ethernet-phy at 1 {
++ device_type = "ethernet-phy";
++ reg = <1>;
++ };
+ };
+
+ ata at 3a00 {
+diff --git a/arch/powerpc/boot/dts/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts
+index 76951ab..2b0dde0 100644
+--- a/arch/powerpc/boot/dts/motionpro.dts
++++ b/arch/powerpc/boot/dts/motionpro.dts
+@@ -148,7 +148,6 @@
+ interrupt-parent = <&mpc5200_pic>;
+ };
+
+-
+ spi at f00 {
+ compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
+ reg = <f00 20>;
+@@ -209,10 +208,25 @@
+ ethernet at 3000 {
+ device_type = "network";
+ compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
+- reg = <3000 800>;
++ reg = <3000 400>;
+ local-mac-address = [ 00 00 00 00 00 00 ];
+ interrupts = <2 5 0>;
+ interrupt-parent = <&mpc5200_pic>;
++ phy-handle = <&phy0>;
++ };
++
++ mdio at 3000 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
++ reg = <3000 400>; // fec range, since we need to setup fec interrupts
++ interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
++ interrupt-parent = <&mpc5200_pic>;
++
++ phy0: ethernet-phy at 2 {
++ device_type = "ethernet-phy";
++ reg = <2>;
++ };
+ };
+
+ ata at 3a00 {
+@@ -223,11 +237,19 @@
+ };
+
+ i2c at 3d40 {
++ #address-cells = <1>;
++ #size-cells = <0>;
+ compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
+ reg = <3d40 40>;
+ interrupts = <2 10 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ fsl5200-clocking;
++
++ rtc at 68 {
++ device_type = "rtc";
++ compatible = "dallas,ds1339";
++ reg = <68>;
++ };
+ };
+
+ sram at 8000 {
+@@ -240,7 +262,8 @@
+ compatible = "fsl,lpb";
+ #address-cells = <2>;
+ #size-cells = <1>;
+- ranges = <1 0 50000000 00010000
++ ranges = <0 0 ff000000 01000000
++ 1 0 50000000 00010000
+ 2 0 50010000 00010000
+ 3 0 50020000 00010000>;
+
+@@ -271,31 +294,15 @@
+ compatible = "promess,pro_module_dio";
+ reg = <3 800 2>;
+ };
+- };
+
+- pci at f0000d00 {
+- #interrupt-cells = <1>;
+- #size-cells = <2>;
+- #address-cells = <3>;
+- device_type = "pci";
+- compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci";
+- reg = <f0000d00 100>;
+- interrupt-map-mask = <f800 0 0 7>;
+- interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot
+- c000 0 0 2 &mpc5200_pic 1 1 3
+- c000 0 0 3 &mpc5200_pic 1 2 3
+- c000 0 0 4 &mpc5200_pic 1 3 3
+-
+- c800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot
+- c800 0 0 2 &mpc5200_pic 1 2 3
+- c800 0 0 3 &mpc5200_pic 1 3 3
+- c800 0 0 4 &mpc5200_pic 0 0 3>;
+- clock-frequency = <0>; // From boot loader
+- interrupts = <2 8 0 2 9 0 2 a 0>;
+- interrupt-parent = <&mpc5200_pic>;
+- bus-range = <0 0>;
+- ranges = <42000000 0 80000000 80000000 0 20000000
+- 02000000 0 a0000000 a0000000 0 10000000
+- 01000000 0 00000000 b0000000 0 01000000>;
++ // 16-bit flash device at LocalPlus Bus CS0
++ flash at 0,0 {
++ compatible = "cfi-flash";
++ reg = <0 0 01000000>;
++ bank-width = <2>;
++ device-width = <2>;
++ #size-cells = <1>;
++ #address-cells = <1>;
++ };
+ };
+ };
+diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts b/arch/powerpc/boot/dts/mpc8377_mds.dts
+index 49c05e9..eac8e1b 100644
+--- a/arch/powerpc/boot/dts/mpc8377_mds.dts
++++ b/arch/powerpc/boot/dts/mpc8377_mds.dts
+@@ -255,14 +255,14 @@
+ };
+
+ sata at 18000 {
+- compatible = "fsl,mpc8379-sata";
++ compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
+ reg = <0x18000 0x1000>;
+ interrupts = <44 0x8>;
+ interrupt-parent = <&ipic>;
+ };
+
+ sata at 19000 {
+- compatible = "fsl,mpc8379-sata";
++ compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
+ reg = <0x19000 0x1000>;
+ interrupts = <45 0x8>;
+ interrupt-parent = <&ipic>;
+diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts
+index 440aa4d..5bc09ad 100644
+--- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
++++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
+@@ -143,7 +143,6 @@
+ mode = "cpu";
+ };
+
+- /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
+ usb at 23000 {
+ compatible = "fsl-usb2-dr";
+ reg = <0x23000 0x1000>;
+@@ -151,7 +150,7 @@
+ #size-cells = <0>;
+ interrupt-parent = <&ipic>;
+ interrupts = <38 0x8>;
+- phy_type = "utmi";
++ phy_type = "ulpi";
+ };
+
+ mdio at 24520 {
+diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts
+index 9271153..711f9a3 100644
+--- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
++++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
+@@ -143,7 +143,6 @@
+ mode = "cpu";
+ };
+
+- /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
+ usb at 23000 {
+ compatible = "fsl-usb2-dr";
+ reg = <0x23000 0x1000>;
+@@ -151,7 +150,7 @@
+ #size-cells = <0>;
+ interrupt-parent = <&ipic>;
+ interrupts = <38 0x8>;
+- phy_type = "utmi";
++ phy_type = "ulpi";
+ };
+
+ mdio at 24520 {
+diff --git a/arch/powerpc/boot/dts/mpc8379_mds.dts b/arch/powerpc/boot/dts/mpc8379_mds.dts
+index fdb4a92..6f78a9f 100644
+--- a/arch/powerpc/boot/dts/mpc8379_mds.dts
++++ b/arch/powerpc/boot/dts/mpc8379_mds.dts
+@@ -255,28 +255,28 @@
+ };
+
+ sata at 18000 {
+- compatible = "fsl,mpc8379-sata";
++ compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
+ reg = <0x18000 0x1000>;
+ interrupts = <44 0x8>;
+ interrupt-parent = <&ipic>;
+ };
+
+ sata at 19000 {
+- compatible = "fsl,mpc8379-sata";
++ compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
+ reg = <0x19000 0x1000>;
+ interrupts = <45 0x8>;
+ interrupt-parent = <&ipic>;
+ };
+
+ sata at 1a000 {
+- compatible = "fsl,mpc8379-sata";
++ compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
+ reg = <0x1a000 0x1000>;
+ interrupts = <46 0x8>;
+ interrupt-parent = <&ipic>;
+ };
+
+ sata at 1b000 {
+- compatible = "fsl,mpc8379-sata";
++ compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
+ reg = <0x1b000 0x1000>;
+ interrupts = <47 0x8>;
+ interrupt-parent = <&ipic>;
+diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts
+index 0dda2fc..c11ceb7 100644
+--- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
++++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
+@@ -143,7 +143,6 @@
+ mode = "cpu";
+ };
+
+- /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
+ usb at 23000 {
+ compatible = "fsl-usb2-dr";
+ reg = <0x23000 0x1000>;
+@@ -151,7 +150,7 @@
+ #size-cells = <0>;
+ interrupt-parent = <&ipic>;
+ interrupts = <38 0x8>;
+- phy_type = "utmi";
++ phy_type = "ulpi";
+ };
+
+ mdio at 24520 {
+diff --git a/arch/powerpc/boot/dts/tqm5200.dts b/arch/powerpc/boot/dts/tqm5200.dts
+index c86464f..65bcea6 100644
+--- a/arch/powerpc/boot/dts/tqm5200.dts
++++ b/arch/powerpc/boot/dts/tqm5200.dts
+@@ -127,10 +127,25 @@
+ ethernet at 3000 {
+ device_type = "network";
+ compatible = "fsl,mpc5200-fec";
+- reg = <3000 800>;
++ reg = <3000 400>;
+ local-mac-address = [ 00 00 00 00 00 00 ];
+ interrupts = <2 5 0>;
+ interrupt-parent = <&mpc5200_pic>;
++ phy-handle = <&phy0>;
++ };
++
++ mdio at 3000 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
++ reg = <3000 400>; // fec range, since we need to setup fec interrupts
++ interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
++ interrupt-parent = <&mpc5200_pic>;
++
++ phy0: ethernet-phy at 0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
+ };
+
+ ata at 3a00 {
+@@ -141,11 +156,19 @@
+ };
+
+ i2c at 3d40 {
++ #address-cells = <1>;
++ #size-cells = <0>;
+ compatible = "fsl,mpc5200-i2c","fsl-i2c";
+ reg = <3d40 40>;
+ interrupts = <2 10 0>;
+ interrupt-parent = <&mpc5200_pic>;
+ fsl5200-clocking;
++
++ rtc at 68 {
++ device_type = "rtc";
++ compatible = "dallas,ds1307";
++ reg = <68>;
++ };
+ };
+
+ sram at 8000 {
+@@ -154,6 +177,23 @@
+ };
+ };
+
++ lpb {
++ model = "fsl,lpb";
++ compatible = "fsl,lpb";
++ #address-cells = <2>;
++ #size-cells = <1>;
++ ranges = <0 0 fc000000 02000000>;
++
++ flash at 0,0 {
++ compatible = "cfi-flash";
++ reg = <0 0 02000000>;
++ bank-width = <4>;
++ device-width = <2>;
++ #size-cells = <1>;
++ #address-cells = <1>;
++ };
++ };
++
+ pci at f0000d00 {
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+diff --git a/arch/powerpc/configs/mpc832x_mds_defconfig b/arch/powerpc/configs/mpc832x_mds_defconfig
+index 79d228f..50cceda 100644
+--- a/arch/powerpc/configs/mpc832x_mds_defconfig
++++ b/arch/powerpc/configs/mpc832x_mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:16 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:36:51 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -628,8 +628,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-CONFIG_GEN_RTC=y
+-# CONFIG_GEN_RTC_X is not set
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -824,10 +823,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/mpc834x_mds_defconfig b/arch/powerpc/configs/mpc834x_mds_defconfig
+index 9360144..b4e82c0 100644
+--- a/arch/powerpc/configs/mpc834x_mds_defconfig
++++ b/arch/powerpc/configs/mpc834x_mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:20 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:36:56 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -571,8 +571,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ # CONFIG_NVRAM is not set
+-CONFIG_GEN_RTC=y
+-# CONFIG_GEN_RTC_X is not set
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -767,10 +766,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/mpc836x_mds_defconfig b/arch/powerpc/configs/mpc836x_mds_defconfig
+index 7c8b060..d50a96e 100644
+--- a/arch/powerpc/configs/mpc836x_mds_defconfig
++++ b/arch/powerpc/configs/mpc836x_mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:21 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:36:57 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -626,8 +626,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-CONFIG_GEN_RTC=y
+-# CONFIG_GEN_RTC_X is not set
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -822,10 +821,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/mpc837x_rdb_defconfig b/arch/powerpc/configs/mpc837x_rdb_defconfig
+index 44093a0..a633176 100644
+--- a/arch/powerpc/configs/mpc837x_rdb_defconfig
++++ b/arch/powerpc/configs/mpc837x_rdb_defconfig
+@@ -684,7 +684,29 @@ CONFIG_USB_SUPPORT=y
+ CONFIG_USB_ARCH_HAS_HCD=y
+ # CONFIG_USB_ARCH_HAS_OHCI is not set
+ CONFIG_USB_ARCH_HAS_EHCI=y
+-# CONFIG_USB is not set
++CONFIG_USB=y
++# CONFIG_USB_DEBUG is not set
++# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
++
++#
++# Miscellaneous USB options
++#
++# CONFIG_USB_DEVICEFS is not set
++CONFIG_USB_DEVICE_CLASS=y
++# CONFIG_USB_DYNAMIC_MINORS is not set
++# CONFIG_USB_OTG is not set
++
++#
++# USB Host Controller Drivers
++#
++CONFIG_USB_EHCI_HCD=y
++CONFIG_USB_EHCI_ROOT_HUB_TT=y
++# CONFIG_USB_EHCI_TT_NEWSCHED is not set
++CONFIG_USB_EHCI_FSL=y
++CONFIG_USB_EHCI_HCD_PPC_OF=y
++# CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_SL811_HCD is not set
++# CONFIG_USB_R8A66597_HCD is not set
+
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
+index 1f6cf68..029d2da 100644
+--- a/arch/powerpc/configs/mpc83xx_defconfig
++++ b/arch/powerpc/configs/mpc83xx_defconfig
+@@ -690,7 +690,29 @@ CONFIG_USB_SUPPORT=y
+ CONFIG_USB_ARCH_HAS_HCD=y
+ # CONFIG_USB_ARCH_HAS_OHCI is not set
+ CONFIG_USB_ARCH_HAS_EHCI=y
+-# CONFIG_USB is not set
++CONFIG_USB=y
++# CONFIG_USB_DEBUG is not set
++# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
++
++#
++# Miscellaneous USB options
++#
++# CONFIG_USB_DEVICEFS is not set
++CONFIG_USB_DEVICE_CLASS=y
++# CONFIG_USB_DYNAMIC_MINORS is not set
++# CONFIG_USB_OTG is not set
++
++#
++# USB Host Controller Drivers
++#
++CONFIG_USB_EHCI_HCD=y
++CONFIG_USB_EHCI_ROOT_HUB_TT=y
++# CONFIG_USB_EHCI_TT_NEWSCHED is not set
++CONFIG_USB_EHCI_FSL=y
++CONFIG_USB_EHCI_HCD_PPC_OF=y
++# CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_SL811_HCD is not set
++# CONFIG_USB_R8A66597_HCD is not set
+
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+diff --git a/arch/powerpc/configs/mpc8544_ds_defconfig b/arch/powerpc/configs/mpc8544_ds_defconfig
+index c75b6ae..418bcdb 100644
+--- a/arch/powerpc/configs/mpc8544_ds_defconfig
++++ b/arch/powerpc/configs/mpc8544_ds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:26 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:37:03 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -742,8 +742,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-CONFIG_GEN_RTC=y
+-CONFIG_GEN_RTC_X=y
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -1209,10 +1208,6 @@ CONFIG_USB_MON=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/mpc8568mds_defconfig b/arch/powerpc/configs/mpc8568mds_defconfig
+index e7da4b9..2b866b3 100644
+--- a/arch/powerpc/configs/mpc8568mds_defconfig
++++ b/arch/powerpc/configs/mpc8568mds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:28 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:37:05 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -629,8 +629,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+-CONFIG_GEN_RTC=y
+-# CONFIG_GEN_RTC_X is not set
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -825,10 +824,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/mpc8572_ds_defconfig b/arch/powerpc/configs/mpc8572_ds_defconfig
+index 460afe9..53aa6f3 100644
+--- a/arch/powerpc/configs/mpc8572_ds_defconfig
++++ b/arch/powerpc/configs/mpc8572_ds_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:29 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:37:06 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -742,8 +742,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-CONFIG_GEN_RTC=y
+-CONFIG_GEN_RTC_X=y
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -1209,10 +1208,6 @@ CONFIG_USB_MON=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
+index 615e4c1..2075722 100644
+--- a/arch/powerpc/configs/mpc85xx_defconfig
++++ b/arch/powerpc/configs/mpc85xx_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:31 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:37:08 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -750,8 +750,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-CONFIG_GEN_RTC=y
+-CONFIG_GEN_RTC_X=y
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -1217,10 +1216,6 @@ CONFIG_USB_MON=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/mpc8641_hpcn_defconfig b/arch/powerpc/configs/mpc8641_hpcn_defconfig
+index 994e768..d01dcdb 100644
+--- a/arch/powerpc/configs/mpc8641_hpcn_defconfig
++++ b/arch/powerpc/configs/mpc8641_hpcn_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:34 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:37:11 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -736,8 +736,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ CONFIG_NVRAM=y
+-CONFIG_GEN_RTC=y
+-CONFIG_GEN_RTC_X=y
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -1203,10 +1202,6 @@ CONFIG_USB_MON=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
+index f53d55b..f912168 100644
+--- a/arch/powerpc/configs/prpmc2800_defconfig
++++ b/arch/powerpc/configs/prpmc2800_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:37 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:37:15 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -855,8 +855,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+ # CONFIG_NVRAM is not set
+-CONFIG_GEN_RTC=y
+-# CONFIG_GEN_RTC_X is not set
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -1129,10 +1128,6 @@ CONFIG_USB_MON=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
+index 8fc8574..fdbfd39 100644
+--- a/arch/powerpc/configs/storcenter_defconfig
++++ b/arch/powerpc/configs/storcenter_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.25-rc6
+-# Mon Mar 24 08:48:41 2008
++# Linux kernel version: 2.6.25-rc7
++# Mon Mar 31 11:37:19 2008
+ #
+ # CONFIG_PPC64 is not set
+
+@@ -717,8 +717,7 @@ CONFIG_LEGACY_PTY_COUNT=256
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=m
+ CONFIG_NVRAM=y
+-CONFIG_GEN_RTC=y
+-# CONFIG_GEN_RTC_X is not set
++# CONFIG_GEN_RTC is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+ # CONFIG_RAW_DRIVER is not set
+@@ -931,10 +930,6 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_EDAC is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+-
+-#
+-# Conflicting RTC option has been selected, check GEN_RTC and RTC
+-#
+ CONFIG_RTC_HCTOSYS=y
+ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+ # CONFIG_RTC_DEBUG is not set
+diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
+index 11b4f6d..d3aee08 100644
+--- a/arch/powerpc/kernel/head_64.S
++++ b/arch/powerpc/kernel/head_64.S
+@@ -1387,12 +1387,14 @@ __secondary_start:
+ #ifdef CONFIG_PPC_ISERIES
+ BEGIN_FW_FTR_SECTION
+ ori r4,r4,MSR_EE
++ li r8,1
++ stb r8,PACAHARDIRQEN(r13)
+ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
+ #endif
+ BEGIN_FW_FTR_SECTION
+- stb r7,PACASOFTIRQEN(r13)
+ stb r7,PACAHARDIRQEN(r13)
+ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES)
++ stb r7,PACASOFTIRQEN(r13)
+
+ mtspr SPRN_SRR0,r3
+ mtspr SPRN_SRR1,r4
+@@ -1520,15 +1522,14 @@ _INIT_GLOBAL(start_here_common)
+ #ifdef CONFIG_PPC_ISERIES
+ BEGIN_FW_FTR_SECTION
+ mfmsr r5
+- ori r5,r5,MSR_EE /* Hard Enabled */
++ ori r5,r5,MSR_EE /* Hard Enabled on iSeries*/
+ mtmsrd r5
++ li r5,1
+ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
+ #endif
+-BEGIN_FW_FTR_SECTION
+- stb r5,PACAHARDIRQEN(r13)
+-END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES)
++ stb r5,PACAHARDIRQEN(r13) /* Hard Disabled on others */
+
+- bl .start_kernel
++ bl .start_kernel
+
+ /* Not reached */
+ BUG_OPCODE
+diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
+index b0e5deb..292163f 100644
+--- a/arch/powerpc/kernel/irq.c
++++ b/arch/powerpc/kernel/irq.c
+@@ -143,7 +143,6 @@ void local_irq_restore(unsigned long en)
+ */
+ if (local_paca->lppaca_ptr->int_dword.any_int)
+ iseries_handle_interrupts();
+- return;
+ }
+
+ /*
+diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c
+index f227659..538baf4 100644
+--- a/arch/powerpc/kernel/rtas_flash.c
++++ b/arch/powerpc/kernel/rtas_flash.c
+@@ -356,7 +356,7 @@ static int rtas_excl_open(struct inode *inode, struct file *file)
+
+ /* Enforce exclusive open with use count of PDE */
+ spin_lock(&flash_file_open_lock);
+- if (atomic_read(&dp->count) > 1) {
++ if (atomic_read(&dp->count) > 2) {
+ spin_unlock(&flash_file_open_lock);
+ return -EBUSY;
+ }
+diff --git a/arch/powerpc/mm/hash_low_32.S b/arch/powerpc/mm/hash_low_32.S
+index 7f830a4..e10d76a 100644
+--- a/arch/powerpc/mm/hash_low_32.S
++++ b/arch/powerpc/mm/hash_low_32.S
+@@ -44,6 +44,9 @@ mmu_hash_lock:
+ #ifdef CONFIG_SMP
+ .text
+ _GLOBAL(hash_page_sync)
++ mfmsr r10
++ rlwinm r0,r10,0,17,15 /* clear bit 16 (MSR_EE) */
++ mtmsr r0
+ lis r8,mmu_hash_lock at h
+ ori r8,r8,mmu_hash_lock at l
+ lis r0,0x0fff
+@@ -60,8 +63,9 @@ _GLOBAL(hash_page_sync)
+ eieio
+ li r0,0
+ stw r0,0(r8)
+- blr
+-#endif
++ mtmsr r10
++ blr
++#endif /* CONFIG_SMP */
+
+ /*
+ * Load a PTE into the hash table, if possible.
+diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c
+index 7be7112..dd066bb 100644
+--- a/arch/powerpc/sysdev/cpm2.c
++++ b/arch/powerpc/sysdev/cpm2.c
+@@ -240,6 +240,7 @@ int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode)
+ case CPM_CLK_SCC1:
+ reg = &im_cpmux->cmx_scr;
+ shift = 24;
++ break;
+ case CPM_CLK_SCC2:
+ reg = &im_cpmux->cmx_scr;
+ shift = 16;
+diff --git a/arch/sparc64/kernel/iommu.c b/arch/sparc64/kernel/iommu.c
+index b781d3d..756fa24 100644
+--- a/arch/sparc64/kernel/iommu.c
++++ b/arch/sparc64/kernel/iommu.c
+@@ -516,9 +516,11 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
+ unsigned long flags, handle, prot, ctx;
+ dma_addr_t dma_next = 0, dma_addr;
+ unsigned int max_seg_size;
++ unsigned long seg_boundary_size;
+ int outcount, incount, i;
+ struct strbuf *strbuf;
+ struct iommu *iommu;
++ unsigned long base_shift;
+
+ BUG_ON(direction == DMA_NONE);
+
+@@ -549,8 +551,11 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
+ outs->dma_length = 0;
+
+ max_seg_size = dma_get_max_seg_size(dev);
++ seg_boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1,
++ IO_PAGE_SIZE) >> IO_PAGE_SHIFT;
++ base_shift = iommu->page_table_map_base >> IO_PAGE_SHIFT;
+ for_each_sg(sglist, s, nelems, i) {
+- unsigned long paddr, npages, entry, slen;
++ unsigned long paddr, npages, entry, out_entry = 0, slen;
+ iopte_t *base;
+
+ slen = s->length;
+@@ -593,7 +598,9 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
+ * - allocated dma_addr isn't contiguous to previous allocation
+ */
+ if ((dma_addr != dma_next) ||
+- (outs->dma_length + s->length > max_seg_size)) {
++ (outs->dma_length + s->length > max_seg_size) ||
++ (is_span_boundary(out_entry, base_shift,
++ seg_boundary_size, outs, s))) {
+ /* Can't merge: create a new segment */
+ segstart = s;
+ outcount++;
+@@ -607,6 +614,7 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist,
+ /* This is a new segment, fill entries */
+ outs->dma_address = dma_addr;
+ outs->dma_length = slen;
++ out_entry = entry;
+ }
+
+ /* Calculate next page pointer for contiguous check */
+diff --git a/arch/sparc64/kernel/iommu_common.h b/arch/sparc64/kernel/iommu_common.h
+index 0713bd5..f3575a6 100644
+--- a/arch/sparc64/kernel/iommu_common.h
++++ b/arch/sparc64/kernel/iommu_common.h
+@@ -12,6 +12,7 @@
+ #include <linux/mm.h>
+ #include <linux/scatterlist.h>
+ #include <linux/device.h>
++#include <linux/iommu-helper.h>
+
+ #include <asm/iommu.h>
+ #include <asm/scatterlist.h>
+@@ -45,17 +46,16 @@ static inline unsigned long iommu_num_pages(unsigned long vaddr,
+ return npages;
+ }
+
+-static inline unsigned long calc_npages(struct scatterlist *sglist, int nelems)
++static inline int is_span_boundary(unsigned long entry,
++ unsigned long shift,
++ unsigned long boundary_size,
++ struct scatterlist *outs,
++ struct scatterlist *sg)
+ {
+- unsigned long i, npages = 0;
+- struct scatterlist *sg;
++ unsigned long paddr = SG_ENT_PHYS_ADDRESS(outs);
++ int nr = iommu_num_pages(paddr, outs->dma_length + sg->length);
+
+- for_each_sg(sglist, sg, nelems, i) {
+- unsigned long paddr = SG_ENT_PHYS_ADDRESS(sg);
+- npages += iommu_num_pages(paddr, sg->length);
+- }
+-
+- return npages;
++ return iommu_is_span_boundary(entry, nr, shift, boundary_size);
+ }
+
+ extern unsigned long iommu_range_alloc(struct device *dev,
+diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c
+index ddca6c6..0183970 100644
+--- a/arch/sparc64/kernel/pci_sun4v.c
++++ b/arch/sparc64/kernel/pci_sun4v.c
+@@ -335,8 +335,10 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
+ unsigned long flags, handle, prot;
+ dma_addr_t dma_next = 0, dma_addr;
+ unsigned int max_seg_size;
++ unsigned long seg_boundary_size;
+ int outcount, incount, i;
+ struct iommu *iommu;
++ unsigned long base_shift;
+ long err;
+
+ BUG_ON(direction == DMA_NONE);
+@@ -362,8 +364,11 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
+ iommu_batch_start(dev, prot, ~0UL);
+
+ max_seg_size = dma_get_max_seg_size(dev);
++ seg_boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1,
++ IO_PAGE_SIZE) >> IO_PAGE_SHIFT;
++ base_shift = iommu->page_table_map_base >> IO_PAGE_SHIFT;
+ for_each_sg(sglist, s, nelems, i) {
+- unsigned long paddr, npages, entry, slen;
++ unsigned long paddr, npages, entry, out_entry = 0, slen;
+
+ slen = s->length;
+ /* Sanity check */
+@@ -406,7 +411,9 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
+ * - allocated dma_addr isn't contiguous to previous allocation
+ */
+ if ((dma_addr != dma_next) ||
+- (outs->dma_length + s->length > max_seg_size)) {
++ (outs->dma_length + s->length > max_seg_size) ||
++ (is_span_boundary(out_entry, base_shift,
++ seg_boundary_size, outs, s))) {
+ /* Can't merge: create a new segment */
+ segstart = s;
+ outcount++;
+@@ -420,6 +427,7 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
+ /* This is a new segment, fill entries */
+ outs->dma_address = dma_addr;
+ outs->dma_length = slen;
++ out_entry = entry;
+ }
+
+ /* Calculate next page pointer for contiguous check */
+diff --git a/arch/sparc64/mm/tlb.c b/arch/sparc64/mm/tlb.c
+index a0f000b..ae24919 100644
+--- a/arch/sparc64/mm/tlb.c
++++ b/arch/sparc64/mm/tlb.c
+@@ -23,11 +23,8 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers) = { 0, };
+
+ void flush_tlb_pending(void)
+ {
+- struct mmu_gather *mp;
++ struct mmu_gather *mp = &get_cpu_var(mmu_gathers);
+
+- preempt_disable();
+-
+- mp = &__get_cpu_var(mmu_gathers);
+ if (mp->tlb_nr) {
+ flush_tsb_user(mp);
+
+@@ -43,7 +40,7 @@ void flush_tlb_pending(void)
+ mp->tlb_nr = 0;
+ }
+
+- preempt_enable();
++ put_cpu_var(mmu_gathers);
+ }
+
+ void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig)
+diff --git a/arch/x86/kernel/cpu/perfctr-watchdog.c b/arch/x86/kernel/cpu/perfctr-watchdog.c
+index 9b83832..b943e10 100644
+--- a/arch/x86/kernel/cpu/perfctr-watchdog.c
++++ b/arch/x86/kernel/cpu/perfctr-watchdog.c
+@@ -652,9 +652,6 @@ static void probe_nmi_watchdog(void)
+ wd_ops = &p6_wd_ops;
+ break;
+ case 15:
+- if (boot_cpu_data.x86_model > 0x4)
+- return;
+-
+ wd_ops = &p4_wd_ops;
+ break;
+ default:
+@@ -670,8 +667,10 @@ int lapic_watchdog_init(unsigned nmi_hz)
+ {
+ if (!wd_ops) {
+ probe_nmi_watchdog();
+- if (!wd_ops)
++ if (!wd_ops) {
++ printk(KERN_INFO "NMI watchdog: CPU not supported\n");
+ return -1;
++ }
+
+ if (!wd_ops->reserve()) {
+ printk(KERN_ERR
+diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
+index 235fd6c..36652ea 100644
+--- a/arch/x86/kernel/hpet.c
++++ b/arch/x86/kernel/hpet.c
+@@ -133,13 +133,16 @@ static void hpet_reserve_platform_timers(unsigned long id)
+ #ifdef CONFIG_HPET_EMULATE_RTC
+ hpet_reserve_timer(&hd, 1);
+ #endif
++
+ hd.hd_irq[0] = HPET_LEGACY_8254;
+ hd.hd_irq[1] = HPET_LEGACY_RTC;
+
+- for (i = 2; i < nrtimers; timer++, i++)
+- hd.hd_irq[i] = (timer->hpet_config & Tn_INT_ROUTE_CNF_MASK) >>
+- Tn_INT_ROUTE_CNF_SHIFT;
++ for (i = 2; i < nrtimers; timer++, i++)
++ hd.hd_irq[i] = (timer->hpet_config & Tn_INT_ROUTE_CNF_MASK) >>
++ Tn_INT_ROUTE_CNF_SHIFT;
++
+ hpet_alloc(&hd);
++
+ }
+ #else
+ static void hpet_reserve_platform_timers(unsigned long id) { }
+diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c
+index 236d2f8..576a03d 100644
+--- a/arch/x86/kernel/machine_kexec_64.c
++++ b/arch/x86/kernel/machine_kexec_64.c
+@@ -233,6 +233,7 @@ NORET_TYPE void machine_kexec(struct kimage *image)
+
+ void arch_crash_save_vmcoreinfo(void)
+ {
++ VMCOREINFO_SYMBOL(phys_base);
+ VMCOREINFO_SYMBOL(init_level4_pgt);
+
+ #ifdef CONFIG_NUMA
+diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
+index faf3229..700e464 100644
+--- a/arch/x86/kernel/pci-gart_64.c
++++ b/arch/x86/kernel/pci-gart_64.c
+@@ -615,8 +615,8 @@ static __init int init_k8_gatt(struct agp_kern_info *info)
+
+ nommu:
+ /* Should not happen anymore */
+- printk(KERN_ERR "PCI-DMA: More than 4GB of RAM and no IOMMU\n"
+- KERN_ERR "PCI-DMA: 32bit PCI IO may malfunction.\n");
++ printk(KERN_WARNING "PCI-DMA: More than 4GB of RAM and no IOMMU\n"
++ KERN_WARNING "falling back to iommu=soft.\n");
+ return -1;
+ }
+
+@@ -692,9 +692,9 @@ void __init gart_iommu_init(void)
+ !gart_iommu_aperture ||
+ (no_agp && init_k8_gatt(&info) < 0)) {
+ if (end_pfn > MAX_DMA32_PFN) {
+- printk(KERN_ERR "WARNING more than 4GB of memory "
+- "but GART IOMMU not available.\n"
+- KERN_ERR "WARNING 32bit PCI may malfunction.\n");
++ printk(KERN_WARNING "More than 4GB of memory "
++ "but GART IOMMU not available.\n"
++ KERN_WARNING "falling back to iommu=soft.\n");
+ }
+ return;
+ }
+diff --git a/arch/x86/kernel/step.c b/arch/x86/kernel/step.c
+index 9d406cd..071ff47 100644
+--- a/arch/x86/kernel/step.c
++++ b/arch/x86/kernel/step.c
+@@ -140,6 +140,9 @@ static int enable_single_step(struct task_struct *child)
+ */
+ static void write_debugctlmsr(struct task_struct *child, unsigned long val)
+ {
++ if (child->thread.debugctlmsr == val)
++ return;
++
+ child->thread.debugctlmsr = val;
+
+ if (child != current)
+@@ -165,11 +168,11 @@ static void enable_step(struct task_struct *child, bool block)
+ write_debugctlmsr(child,
+ child->thread.debugctlmsr | DEBUGCTLMSR_BTF);
+ } else {
+- write_debugctlmsr(child,
+- child->thread.debugctlmsr & ~DEBUGCTLMSR_BTF);
++ write_debugctlmsr(child,
++ child->thread.debugctlmsr & ~DEBUGCTLMSR_BTF);
+
+- if (!child->thread.debugctlmsr)
+- clear_tsk_thread_flag(child, TIF_DEBUGCTLMSR);
++ if (!child->thread.debugctlmsr)
++ clear_tsk_thread_flag(child, TIF_DEBUGCTLMSR);
+ }
+ }
+
+diff --git a/arch/x86/kernel/tsc_32.c b/arch/x86/kernel/tsc_32.c
+index f14cfd9..d7498b3 100644
+--- a/arch/x86/kernel/tsc_32.c
++++ b/arch/x86/kernel/tsc_32.c
+@@ -287,14 +287,27 @@ core_initcall(cpufreq_tsc);
+ /* clock source code */
+
+ static unsigned long current_tsc_khz = 0;
++static struct clocksource clocksource_tsc;
+
++/*
++ * We compare the TSC to the cycle_last value in the clocksource
++ * structure to avoid a nasty time-warp issue. This can be observed in
++ * a very small window right after one CPU updated cycle_last under
++ * xtime lock and the other CPU reads a TSC value which is smaller
++ * than the cycle_last reference value due to a TSC which is slighty
++ * behind. This delta is nowhere else observable, but in that case it
++ * results in a forward time jump in the range of hours due to the
++ * unsigned delta calculation of the time keeping core code, which is
++ * necessary to support wrapping clocksources like pm timer.
++ */
+ static cycle_t read_tsc(void)
+ {
+ cycle_t ret;
+
+ rdtscll(ret);
+
+- return ret;
++ return ret >= clocksource_tsc.cycle_last ?
++ ret : clocksource_tsc.cycle_last;
+ }
+
+ static struct clocksource clocksource_tsc = {
+diff --git a/arch/x86/kernel/tsc_64.c b/arch/x86/kernel/tsc_64.c
+index 947554d..01fc9f0 100644
+--- a/arch/x86/kernel/tsc_64.c
++++ b/arch/x86/kernel/tsc_64.c
+@@ -11,6 +11,7 @@
+ #include <asm/hpet.h>
+ #include <asm/timex.h>
+ #include <asm/timer.h>
++#include <asm/vgtod.h>
+
+ static int notsc __initdata = 0;
+
+@@ -290,18 +291,34 @@ int __init notsc_setup(char *s)
+
+ __setup("notsc", notsc_setup);
+
++static struct clocksource clocksource_tsc;
+
+-/* clock source code: */
++/*
++ * We compare the TSC to the cycle_last value in the clocksource
++ * structure to avoid a nasty time-warp. This can be observed in a
++ * very small window right after one CPU updated cycle_last under
++ * xtime/vsyscall_gtod lock and the other CPU reads a TSC value which
++ * is smaller than the cycle_last reference value due to a TSC which
++ * is slighty behind. This delta is nowhere else observable, but in
++ * that case it results in a forward time jump in the range of hours
++ * due to the unsigned delta calculation of the time keeping core
++ * code, which is necessary to support wrapping clocksources like pm
++ * timer.
++ */
+ static cycle_t read_tsc(void)
+ {
+ cycle_t ret = (cycle_t)get_cycles();
+- return ret;
++
++ return ret >= clocksource_tsc.cycle_last ?
++ ret : clocksource_tsc.cycle_last;
+ }
+
+ static cycle_t __vsyscall_fn vread_tsc(void)
+ {
+ cycle_t ret = (cycle_t)vget_cycles();
+- return ret;
++
++ return ret >= __vsyscall_gtod_data.clock.cycle_last ?
++ ret : __vsyscall_gtod_data.clock.cycle_last;
+ }
+
+ static struct clocksource clocksource_tsc = {
+diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
+index de4e6f0..27ee26a 100644
+--- a/arch/x86/xen/enlighten.c
++++ b/arch/x86/xen/enlighten.c
+@@ -667,10 +667,10 @@ static void xen_release_pt_init(u32 pfn)
+ make_lowmem_page_readwrite(__va(PFN_PHYS(pfn)));
+ }
+
+-static void pin_pagetable_pfn(unsigned level, unsigned long pfn)
++static void pin_pagetable_pfn(unsigned cmd, unsigned long pfn)
+ {
+ struct mmuext_op op;
+- op.cmd = level;
++ op.cmd = cmd;
+ op.arg1.mfn = pfn_to_mfn(pfn);
+ if (HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF))
+ BUG();
+@@ -687,7 +687,8 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
+
+ if (!PageHighMem(page)) {
+ make_lowmem_page_readonly(__va(PFN_PHYS(pfn)));
+- pin_pagetable_pfn(level, pfn);
++ if (level == PT_PTE)
++ pin_pagetable_pfn(MMUEXT_PIN_L1_TABLE, pfn);
+ } else
+ /* make sure there are no stray mappings of
+ this page */
+@@ -697,27 +698,39 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
+
+ static void xen_alloc_pt(struct mm_struct *mm, u32 pfn)
+ {
+- xen_alloc_ptpage(mm, pfn, MMUEXT_PIN_L1_TABLE);
++ xen_alloc_ptpage(mm, pfn, PT_PTE);
+ }
+
+ static void xen_alloc_pd(struct mm_struct *mm, u32 pfn)
+ {
+- xen_alloc_ptpage(mm, pfn, MMUEXT_PIN_L2_TABLE);
++ xen_alloc_ptpage(mm, pfn, PT_PMD);
+ }
+
+ /* This should never happen until we're OK to use struct page */
+-static void xen_release_pt(u32 pfn)
++static void xen_release_ptpage(u32 pfn, unsigned level)
+ {
+ struct page *page = pfn_to_page(pfn);
+
+ if (PagePinned(page)) {
+ if (!PageHighMem(page)) {
+- pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn);
++ if (level == PT_PTE)
++ pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn);
+ make_lowmem_page_readwrite(__va(PFN_PHYS(pfn)));
+ }
++ ClearPagePinned(page);
+ }
+ }
+
++static void xen_release_pt(u32 pfn)
++{
++ xen_release_ptpage(pfn, PT_PTE);
++}
++
++static void xen_release_pd(u32 pfn)
++{
++ xen_release_ptpage(pfn, PT_PMD);
++}
++
+ #ifdef CONFIG_HIGHPTE
+ static void *xen_kmap_atomic_pte(struct page *page, enum km_type type)
+ {
+@@ -838,7 +851,7 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
+ pv_mmu_ops.alloc_pt = xen_alloc_pt;
+ pv_mmu_ops.alloc_pd = xen_alloc_pd;
+ pv_mmu_ops.release_pt = xen_release_pt;
+- pv_mmu_ops.release_pd = xen_release_pt;
++ pv_mmu_ops.release_pd = xen_release_pd;
+ pv_mmu_ops.set_pte = xen_set_pte;
+
+ setup_shared_info();
+diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
+index 0144395..2a054ef 100644
+--- a/arch/x86/xen/mmu.c
++++ b/arch/x86/xen/mmu.c
+@@ -310,13 +310,6 @@ pgd_t xen_make_pgd(unsigned long pgd)
+ }
+ #endif /* CONFIG_X86_PAE */
+
+-enum pt_level {
+- PT_PGD,
+- PT_PUD,
+- PT_PMD,
+- PT_PTE
+-};
+-
+ /*
+ (Yet another) pagetable walker. This one is intended for pinning a
+ pagetable. This means that it walks a pagetable and calls the
+diff --git a/arch/x86/xen/mmu.h b/arch/x86/xen/mmu.h
+index c9ff27f..b5e189b 100644
+--- a/arch/x86/xen/mmu.h
++++ b/arch/x86/xen/mmu.h
+@@ -3,6 +3,13 @@
+ #include <linux/linkage.h>
+ #include <asm/page.h>
+
++enum pt_level {
++ PT_PGD,
++ PT_PUD,
++ PT_PMD,
++ PT_PTE
++};
++
+ /*
+ * Page-directory addresses above 4GB do not fit into architectural %cr3.
+ * When accessing %cr3, or equivalent field in vcpu_guest_context, guests
+diff --git a/block/blk-settings.c b/block/blk-settings.c
+index 1344a0e..5713f7e 100644
+--- a/block/blk-settings.c
++++ b/block/blk-settings.c
+@@ -140,7 +140,7 @@ void blk_queue_bounce_limit(struct request_queue *q, u64 dma_addr)
+ /* Assume anything <= 4GB can be handled by IOMMU.
+ Actually some IOMMUs can handle everything, but I don't
+ know of a way to test this here. */
+- if (b_pfn <= (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
++ if (b_pfn < (min_t(u64, 0x100000000UL, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
+ dma = 1;
+ q->bounce_pfn = max_low_pfn;
+ #else
+diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
+index 0f962ec..f26da2b 100644
+--- a/block/cfq-iosched.c
++++ b/block/cfq-iosched.c
+@@ -1143,24 +1143,37 @@ static void cfq_put_queue(struct cfq_queue *cfqq)
+ }
+
+ /*
+- * Call func for each cic attached to this ioc. Returns number of cic's seen.
++ * Call func for each cic attached to this ioc.
+ */
+-static unsigned int
++static void
+ call_for_each_cic(struct io_context *ioc,
+ void (*func)(struct io_context *, struct cfq_io_context *))
+ {
+ struct cfq_io_context *cic;
+ struct hlist_node *n;
+- int called = 0;
+
+ rcu_read_lock();
+- hlist_for_each_entry_rcu(cic, n, &ioc->cic_list, cic_list) {
++ hlist_for_each_entry_rcu(cic, n, &ioc->cic_list, cic_list)
+ func(ioc, cic);
+- called++;
+- }
+ rcu_read_unlock();
++}
++
++static void cfq_cic_free_rcu(struct rcu_head *head)
++{
++ struct cfq_io_context *cic;
++
++ cic = container_of(head, struct cfq_io_context, rcu_head);
++
++ kmem_cache_free(cfq_ioc_pool, cic);
++ elv_ioc_count_dec(ioc_count);
++
++ if (ioc_gone && !elv_ioc_count_read(ioc_count))
++ complete(ioc_gone);
++}
+
+- return called;
++static void cfq_cic_free(struct cfq_io_context *cic)
++{
++ call_rcu(&cic->rcu_head, cfq_cic_free_rcu);
+ }
+
+ static void cic_free_func(struct io_context *ioc, struct cfq_io_context *cic)
+@@ -1174,24 +1187,18 @@ static void cic_free_func(struct io_context *ioc, struct cfq_io_context *cic)
+ hlist_del_rcu(&cic->cic_list);
+ spin_unlock_irqrestore(&ioc->lock, flags);
+
+- kmem_cache_free(cfq_ioc_pool, cic);
++ cfq_cic_free(cic);
+ }
+
+ static void cfq_free_io_context(struct io_context *ioc)
+ {
+- int freed;
+-
+ /*
+- * ioc->refcount is zero here, so no more cic's are allowed to be
+- * linked into this ioc. So it should be ok to iterate over the known
+- * list, we will see all cic's since no new ones are added.
++ * ioc->refcount is zero here, or we are called from elv_unregister(),
++ * so no more cic's are allowed to be linked into this ioc. So it
++ * should be ok to iterate over the known list, we will see all cic's
++ * since no new ones are added.
+ */
+- freed = call_for_each_cic(ioc, cic_free_func);
+-
+- elv_ioc_count_mod(ioc_count, -freed);
+-
+- if (ioc_gone && !elv_ioc_count_read(ioc_count))
+- complete(ioc_gone);
++ call_for_each_cic(ioc, cic_free_func);
+ }
+
+ static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq)
+@@ -1458,15 +1465,6 @@ cfq_get_queue(struct cfq_data *cfqd, int is_sync, struct io_context *ioc,
+ return cfqq;
+ }
+
+-static void cfq_cic_free(struct cfq_io_context *cic)
+-{
+- kmem_cache_free(cfq_ioc_pool, cic);
+- elv_ioc_count_dec(ioc_count);
+-
+- if (ioc_gone && !elv_ioc_count_read(ioc_count))
+- complete(ioc_gone);
+-}
+-
+ /*
+ * We drop cfq io contexts lazily, so we may find a dead one.
+ */
+@@ -2138,7 +2136,7 @@ static int __init cfq_slab_setup(void)
+ if (!cfq_pool)
+ goto fail;
+
+- cfq_ioc_pool = KMEM_CACHE(cfq_io_context, SLAB_DESTROY_BY_RCU);
++ cfq_ioc_pool = KMEM_CACHE(cfq_io_context, 0);
+ if (!cfq_ioc_pool)
+ goto fail;
+
+@@ -2286,7 +2284,6 @@ static void __exit cfq_exit(void)
+ smp_wmb();
+ if (elv_ioc_count_read(ioc_count))
+ wait_for_completion(ioc_gone);
+- synchronize_rcu();
+ cfq_slab_kill();
+ }
+
+diff --git a/crypto/xcbc.c b/crypto/xcbc.c
+index 2feb0f2..b63b633 100644
+--- a/crypto/xcbc.c
++++ b/crypto/xcbc.c
+@@ -116,13 +116,11 @@ static int crypto_xcbc_digest_update2(struct hash_desc *pdesc,
+ struct crypto_xcbc_ctx *ctx = crypto_hash_ctx_aligned(parent);
+ struct crypto_cipher *tfm = ctx->child;
+ int bs = crypto_hash_blocksize(parent);
+- unsigned int i = 0;
+
+- do {
+-
+- struct page *pg = sg_page(&sg[i]);
+- unsigned int offset = sg[i].offset;
+- unsigned int slen = sg[i].length;
++ for (;;) {
++ struct page *pg = sg_page(sg);
++ unsigned int offset = sg->offset;
++ unsigned int slen = sg->length;
+
+ if (unlikely(slen > nbytes))
+ slen = nbytes;
+@@ -182,8 +180,11 @@ static int crypto_xcbc_digest_update2(struct hash_desc *pdesc,
+ offset = 0;
+ pg++;
+ }
+- i++;
+- } while (nbytes>0);
++
++ if (!nbytes)
++ break;
++ sg = scatterwalk_sg_next(sg);
++ }
+
+ return 0;
+ }
+diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
+index 4851988..be95fdb 100644
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -326,6 +326,44 @@ static void ata_force_horkage(struct ata_device *dev)
+ }
+
+ /**
++ * atapi_cmd_type - Determine ATAPI command type from SCSI opcode
++ * @opcode: SCSI opcode
++ *
++ * Determine ATAPI command type from @opcode.
++ *
++ * LOCKING:
++ * None.
++ *
++ * RETURNS:
++ * ATAPI_{READ|WRITE|READ_CD|PASS_THRU|MISC}
++ */
++int atapi_cmd_type(u8 opcode)
++{
++ switch (opcode) {
++ case GPCMD_READ_10:
++ case GPCMD_READ_12:
++ return ATAPI_READ;
++
++ case GPCMD_WRITE_10:
++ case GPCMD_WRITE_12:
++ case GPCMD_WRITE_AND_VERIFY_10:
++ return ATAPI_WRITE;
++
++ case GPCMD_READ_CD:
++ case GPCMD_READ_CD_MSF:
++ return ATAPI_READ_CD;
++
++ case ATA_16:
++ case ATA_12:
++ if (atapi_passthru16)
++ return ATAPI_PASS_THRU;
++ /* fall thru */
++ default:
++ return ATAPI_MISC;
++ }
++}
++
++/**
+ * ata_tf_to_fis - Convert ATA taskfile to SATA FIS structure
+ * @tf: Taskfile to convert
+ * @pmp: Port multiplier port
+@@ -2660,7 +2698,7 @@ int ata_bus_probe(struct ata_port *ap)
+ specific sequence bass-ackwards so that PDIAG- is released by
+ the slave device */
+
+- ata_link_for_each_dev(dev, &ap->link) {
++ ata_link_for_each_dev_reverse(dev, &ap->link) {
+ if (tries[dev->devno])
+ dev->class = classes[dev->devno];
+
+@@ -7774,6 +7812,7 @@ EXPORT_SYMBOL_GPL(ata_tf_read);
+ EXPORT_SYMBOL_GPL(ata_noop_dev_select);
+ EXPORT_SYMBOL_GPL(ata_std_dev_select);
+ EXPORT_SYMBOL_GPL(sata_print_link_status);
++EXPORT_SYMBOL_GPL(atapi_cmd_type);
+ EXPORT_SYMBOL_GPL(ata_tf_to_fis);
+ EXPORT_SYMBOL_GPL(ata_tf_from_fis);
+ EXPORT_SYMBOL_GPL(ata_pack_xfermask);
+diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c
+index 8786455..ce830fe 100644
+--- a/drivers/ata/pata_ali.c
++++ b/drivers/ata/pata_ali.c
+@@ -36,6 +36,10 @@
+ #define DRV_NAME "pata_ali"
+ #define DRV_VERSION "0.7.5"
+
++int ali_atapi_dma = 0;
++module_param_named(atapi_dma, ali_atapi_dma, int, 0644);
++MODULE_PARM_DESC(atapi_dma, "Enable ATAPI DMA (0=disable, 1=enable)");
++
+ /*
+ * Cable special cases
+ */
+@@ -270,6 +274,27 @@ static void ali_set_dmamode(struct ata_port *ap, struct ata_device *adev)
+ }
+
+ /**
++ * ali_warn_atapi_dma - Warn about ATAPI DMA disablement
++ * @adev: Device
++ *
++ * Whine about ATAPI DMA disablement if @adev is an ATAPI device.
++ * Can be used as ->dev_config.
++ */
++
++static void ali_warn_atapi_dma(struct ata_device *adev)
++{
++ struct ata_eh_context *ehc = &adev->link->eh_context;
++ int print_info = ehc->i.flags & ATA_EHI_PRINTINFO;
++
++ if (print_info && adev->class == ATA_DEV_ATAPI && !ali_atapi_dma) {
++ ata_dev_printk(adev, KERN_WARNING,
++ "WARNING: ATAPI DMA disabled for reliablity issues. It can be enabled\n");
++ ata_dev_printk(adev, KERN_WARNING,
++ "WARNING: via pata_ali.atapi_dma modparam or corresponding sysfs node.\n");
++ }
++}
++
++/**
+ * ali_lock_sectors - Keep older devices to 255 sector mode
+ * @adev: Device
+ *
+@@ -283,6 +308,7 @@ static void ali_set_dmamode(struct ata_port *ap, struct ata_device *adev)
+ static void ali_lock_sectors(struct ata_device *adev)
+ {
+ adev->max_sectors = 255;
++ ali_warn_atapi_dma(adev);
+ }
+
+ /**
+@@ -294,6 +320,18 @@ static void ali_lock_sectors(struct ata_device *adev)
+
+ static int ali_check_atapi_dma(struct ata_queued_cmd *qc)
+ {
++ if (!ali_atapi_dma) {
++ /* FIXME: pata_ali can't do ATAPI DMA reliably but the
++ * IDE alim15x3 driver can. I tried lots of things
++ * but couldn't find what the actual difference was.
++ * If you got an idea, please write it to
++ * linux-ide at vger.kernel.org and cc htejun at gmail.com.
++ *
++ * Disable ATAPI DMA for now.
++ */
++ return -EOPNOTSUPP;
++ }
++
+ /* If its not a media command, its not worth it */
+ if (atapi_cmd_type(qc->cdb[0]) == ATAPI_MISC)
+ return -EOPNOTSUPP;
+@@ -359,6 +397,7 @@ static struct ata_port_operations ali_20_port_ops = {
+
+ .tf_load = ata_tf_load,
+ .tf_read = ata_tf_read,
++ .check_atapi_dma = ali_check_atapi_dma,
+ .check_status = ata_check_status,
+ .exec_command = ata_exec_command,
+ .dev_select = ata_std_dev_select,
+@@ -438,6 +477,7 @@ static struct ata_port_operations ali_c5_port_ops = {
+ .check_status = ata_check_status,
+ .exec_command = ata_exec_command,
+ .dev_select = ata_std_dev_select,
++ .dev_config = ali_warn_atapi_dma,
+
+ .freeze = ata_bmdma_freeze,
+ .thaw = ata_bmdma_thaw,
+diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
+index 07791a7..4c19855 100644
+--- a/drivers/ata/sata_fsl.c
++++ b/drivers/ata/sata_fsl.c
+@@ -1348,10 +1348,7 @@ static int sata_fsl_remove(struct of_device *ofdev)
+
+ static struct of_device_id fsl_sata_match[] = {
+ {
+- .compatible = "fsl,mpc8315-sata",
+- },
+- {
+- .compatible = "fsl,mpc8379-sata",
++ .compatible = "fsl,pq-sata",
+ },
+ {},
+ };
+diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
+index 47c57a4..98099f5 100644
+--- a/drivers/atm/firestream.c
++++ b/drivers/atm/firestream.c
+@@ -978,6 +978,7 @@ static int fs_open(struct atm_vcc *atm_vcc)
+ /* Docs are vague about this atm_hdr field. By the way, the FS
+ * chip makes odd errors if lower bits are set.... -- REW */
+ tc->atm_hdr = (vpi << 20) | (vci << 4);
++ tmc0 = 0;
+ {
+ int pcr = atm_pcr_goal (txtp);
+
+diff --git a/drivers/atm/he.c b/drivers/atm/he.c
+index 2e3395b..ffc4a5a 100644
+--- a/drivers/atm/he.c
++++ b/drivers/atm/he.c
+@@ -3000,8 +3000,7 @@ he_proc_read(struct atm_dev *dev, loff_t *pos, char *page)
+
+ /* eeprom routines -- see 4.7 */
+
+-u8
+-read_prom_byte(struct he_dev *he_dev, int addr)
++static u8 read_prom_byte(struct he_dev *he_dev, int addr)
+ {
+ u32 val = 0, tmp_read = 0;
+ int i, j = 0;
+diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c
+index b967919..28d77b5 100644
+--- a/drivers/atm/idt77252.c
++++ b/drivers/atm/idt77252.c
+@@ -2016,8 +2016,7 @@ idt77252_send_skb(struct atm_vcc *vcc, struct sk_buff *skb, int oam)
+ return 0;
+ }
+
+-int
+-idt77252_send(struct atm_vcc *vcc, struct sk_buff *skb)
++static int idt77252_send(struct atm_vcc *vcc, struct sk_buff *skb)
+ {
+ return idt77252_send_skb(vcc, skb, 0);
+ }
+@@ -3072,8 +3071,7 @@ idt77252_dev_open(struct idt77252_dev *card)
+ return 0;
+ }
+
+-void
+-idt77252_dev_close(struct atm_dev *dev)
++static void idt77252_dev_close(struct atm_dev *dev)
+ {
+ struct idt77252_dev *card = dev->dev_data;
+ u32 conf;
+diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
+index ef52452..670c093 100644
+--- a/drivers/atm/iphase.c
++++ b/drivers/atm/iphase.c
+@@ -958,6 +958,7 @@ static void ia_suni_pm7345_init (IADEV *iadev)
+
+ /***************************** IA_LIB END *****************************/
+
++#ifdef CONFIG_ATM_IA_DEBUG
+ static int tcnter = 0;
+ static void xdump( u_char* cp, int length, char* prefix )
+ {
+@@ -992,6 +993,7 @@ static void xdump( u_char* cp, int length, char* prefix )
+ }
+
+ } /* close xdump(... */
++#endif /* CONFIG_ATM_IA_DEBUG */
+
+
+ static struct atm_dev *ia_boards = NULL;
+diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
+index b53fdb0..60cc543 100644
+--- a/drivers/block/nbd.c
++++ b/drivers/block/nbd.c
+@@ -153,6 +153,12 @@ static int sock_xmit(struct nbd_device *lo, int send, void *buf, int size,
+ struct kvec iov;
+ sigset_t blocked, oldset;
+
++ if (unlikely(!sock)) {
++ printk(KERN_ERR "%s: Attempted %s on closed socket in sock_xmit\n",
++ lo->disk->disk_name, (send ? "send" : "recv"));
++ return -EINVAL;
++ }
++
+ /* Allow interception of SIGKILL only
+ * Don't allow other signals to interrupt the transmission */
+ siginitsetinv(&blocked, sigmask(SIGKILL));
+diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
+index 465ad35..1399971 100644
+--- a/drivers/char/hpet.c
++++ b/drivers/char/hpet.c
+@@ -731,14 +731,14 @@ static unsigned long hpet_calibrate(struct hpets *hpetp)
+
+ int hpet_alloc(struct hpet_data *hdp)
+ {
+- u64 cap, mcfg, hpet_config;
++ u64 cap, mcfg;
+ struct hpet_dev *devp;
+- u32 i, ntimer, irq;
++ u32 i, ntimer;
+ struct hpets *hpetp;
+ size_t siz;
+ struct hpet __iomem *hpet;
+ static struct hpets *last = NULL;
+- unsigned long period, irq_bitmap;
++ unsigned long period;
+ unsigned long long temp;
+
+ /*
+@@ -765,47 +765,11 @@ int hpet_alloc(struct hpet_data *hdp)
+ hpetp->hp_hpet_phys = hdp->hd_phys_address;
+
+ hpetp->hp_ntimer = hdp->hd_nirqs;
+- hpet = hpetp->hp_hpet;
+-
+- /* Assign IRQs statically for legacy devices */
+- hpetp->hp_dev[0].hd_hdwirq = hdp->hd_irq[0];
+- hpetp->hp_dev[1].hd_hdwirq = hdp->hd_irq[1];
+-
+- /* Assign IRQs dynamically for the others */
+- for (i = 2, devp = &hpetp->hp_dev[2]; i < hdp->hd_nirqs; i++, devp++) {
+- struct hpet_timer __iomem *timer;
+
+- timer = &hpet->hpet_timers[devp - hpetp->hp_dev];
++ for (i = 0; i < hdp->hd_nirqs; i++)
++ hpetp->hp_dev[i].hd_hdwirq = hdp->hd_irq[i];
+
+- /* Check if there's already an IRQ assigned to the timer */
+- if (hdp->hd_irq[i]) {
+- hpetp->hp_dev[i].hd_hdwirq = hdp->hd_irq[i];
+- continue;
+- }
+-
+- hpet_config = readq(&timer->hpet_config);
+- irq_bitmap = (hpet_config & Tn_INT_ROUTE_CAP_MASK)
+- >> Tn_INT_ROUTE_CAP_SHIFT;
+- if (!irq_bitmap)
+- irq = 0; /* No valid IRQ Assignable */
+- else {
+- irq = find_first_bit(&irq_bitmap, 32);
+- do {
+- hpet_config |= irq << Tn_INT_ROUTE_CNF_SHIFT;
+- writeq(hpet_config, &timer->hpet_config);
+-
+- /*
+- * Verify whether we have written a valid
+- * IRQ number by reading it back again
+- */
+- hpet_config = readq(&timer->hpet_config);
+- if (irq == (hpet_config & Tn_INT_ROUTE_CNF_MASK)
+- >> Tn_INT_ROUTE_CNF_SHIFT)
+- break; /* Success */
+- } while ((irq = (find_next_bit(&irq_bitmap, 32, irq))));
+- }
+- hpetp->hp_dev[i].hd_hdwirq = irq;
+- }
++ hpet = hpetp->hp_hpet;
+
+ cap = readq(&hpet->hpet_cap);
+
+@@ -836,8 +800,7 @@ int hpet_alloc(struct hpet_data *hdp)
+ hpetp->hp_which, hdp->hd_phys_address,
+ hpetp->hp_ntimer > 1 ? "s" : "");
+ for (i = 0; i < hpetp->hp_ntimer; i++)
+- printk("%s %d", i > 0 ? "," : "",
+- hpetp->hp_dev[i].hd_hdwirq);
++ printk("%s %d", i > 0 ? "," : "", hdp->hd_irq[i]);
+ printk("\n");
+
+ printk(KERN_INFO "hpet%u: %u %d-bit timers, %Lu Hz\n",
+diff --git a/drivers/char/rio/riotable.c b/drivers/char/rio/riotable.c
+index 991119c..9b52892 100644
+--- a/drivers/char/rio/riotable.c
++++ b/drivers/char/rio/riotable.c
+@@ -425,8 +425,10 @@ int RIOApel(struct rio_info *p)
+
+ MapP = &p->RIOConnectTable[Next++];
+ MapP->HostUniqueNum = HostP->UniqueNum;
+- if ((HostP->Flags & RUN_STATE) != RC_RUNNING)
++ if ((HostP->Flags & RUN_STATE) != RC_RUNNING) {
++ rio_spin_unlock_irqrestore(&HostP->HostLock, flags);
+ continue;
++ }
+ MapP->RtaUniqueNum = 0;
+ MapP->ID = 0;
+ MapP->Flags = SLOT_IN_USE;
+diff --git a/drivers/char/rio/riotty.c b/drivers/char/rio/riotty.c
+index a4f0b1e..cfa5436 100644
+--- a/drivers/char/rio/riotty.c
++++ b/drivers/char/rio/riotty.c
+@@ -319,6 +319,7 @@ int riotopen(struct tty_struct *tty, struct file *filp)
+ PortP->State |= RIO_WOPEN;
+ rio_spin_unlock_irqrestore(&PortP->portSem, flags);
+ if (RIODelay(PortP, HUNDRED_MS) == RIO_FAIL) {
++ rio_spin_lock_irqsave(&PortP->portSem, flags);
+ /*
+ ** ACTION: verify that this is a good thing
+ ** to do here. -- ???
+@@ -334,6 +335,7 @@ int riotopen(struct tty_struct *tty, struct file *filp)
+ func_exit();
+ return -EINTR;
+ }
++ rio_spin_lock_irqsave(&PortP->portSem, flags);
+ }
+ PortP->State &= ~RIO_WOPEN;
+ }
+@@ -493,6 +495,7 @@ int riotclose(void *ptr)
+
+ if (RIOShortCommand(p, PortP, CLOSE, 1, 0) == RIO_FAIL) {
+ RIOPreemptiveCmd(p, PortP, FCLOSE);
++ rio_spin_lock_irqsave(&PortP->portSem, flags);
+ goto close_end;
+ }
+
+@@ -508,6 +511,7 @@ int riotclose(void *ptr)
+
+ if (p->RIOHalted) {
+ RIOClearUp(PortP);
++ rio_spin_lock_irqsave(&PortP->portSem, flags);
+ goto close_end;
+ }
+ if (RIODelay(PortP, HUNDRED_MS) == RIO_FAIL) {
+diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
+index 7269230..df16368 100644
+--- a/drivers/dma/fsldma.c
++++ b/drivers/dma/fsldma.c
+@@ -1021,11 +1021,11 @@ const u32 mpc8349_dma_ip_feature = FSL_DMA_IP_83XX | FSL_DMA_LITTLE_ENDIAN;
+
+ static struct of_device_id of_fsl_dma_chan_ids[] = {
+ {
+- .compatible = "fsl,mpc8540-dma-channel",
++ .compatible = "fsl,eloplus-dma-channel",
+ .data = (void *)&mpc8540_dma_ip_feature,
+ },
+ {
+- .compatible = "fsl,mpc8349-dma-channel",
++ .compatible = "fsl,elo-dma-channel",
+ .data = (void *)&mpc8349_dma_ip_feature,
+ },
+ {}
+@@ -1107,8 +1107,8 @@ err:
+ }
+
+ static struct of_device_id of_fsl_dma_ids[] = {
+- { .compatible = "fsl,mpc8540-dma", },
+- { .compatible = "fsl,mpc8349-dma", },
++ { .compatible = "fsl,eloplus-dma", },
++ { .compatible = "fsl,elo-dma", },
+ {}
+ };
+
+diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
+index 4072449..c5e3ed7 100644
+--- a/drivers/firmware/dmi_scan.c
++++ b/drivers/firmware/dmi_scan.c
+@@ -266,7 +266,7 @@ static void __init dmi_save_ipmi_device(const struct dmi_header *dm)
+ dev->name = "IPMI controller";
+ dev->device_data = data;
+
+- list_add(&dev->list, &dmi_devices);
++ list_add_tail(&dev->list, &dmi_devices);
+ }
+
+ static void __init dmi_save_extended_devices(const struct dmi_header *dm)
+diff --git a/drivers/ide/arm/ide_arm.c b/drivers/ide/arm/ide_arm.c
+index 43a70e9..be9ff73 100644
+--- a/drivers/ide/arm/ide_arm.c
++++ b/drivers/ide/arm/ide_arm.c
+@@ -46,3 +46,5 @@ static int __init ide_arm_init(void)
+ }
+
+ module_init(ide_arm_init);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/cris/ide-cris.c b/drivers/ide/cris/ide-cris.c
+index e79bf8f..c8ffbaf 100644
+--- a/drivers/ide/cris/ide-cris.c
++++ b/drivers/ide/cris/ide-cris.c
+@@ -1067,3 +1067,5 @@ static void cris_dma_start(ide_drive_t *drive)
+ }
+
+ module_init(init_e100_ide);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/h8300/ide-h8300.c b/drivers/ide/h8300/ide-h8300.c
+index 520aec0..4108ec4 100644
+--- a/drivers/ide/h8300/ide-h8300.c
++++ b/drivers/ide/h8300/ide-h8300.c
+@@ -110,6 +110,7 @@ static int __init h8300_ide_init(void)
+ ide_init_port_data(hwif, index);
+ ide_init_port_hw(hwif, &hw);
+ hwif_setup(hwif);
++ hwif->host_flags = IDE_HFLAG_NO_IO_32BIT;
+ printk(KERN_INFO "ide%d: H8/300 generic IDE interface\n", index);
+
+ idx[0] = index;
+@@ -125,3 +126,5 @@ out_busy:
+ }
+
+ module_init(h8300_ide_init);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
+index 01b9220..e77cee0 100644
+--- a/drivers/ide/ide-iops.c
++++ b/drivers/ide/ide-iops.c
+@@ -658,7 +658,7 @@ int ide_driveid_update(ide_drive_t *drive)
+ local_irq_restore(flags);
+ return 0;
+ }
+- ata_input_data(drive, id, SECTOR_WORDS);
++ hwif->ata_input_data(drive, id, SECTOR_WORDS);
+ (void)ide_read_status(drive); /* clear drive IRQ */
+ local_irq_enable();
+ local_irq_restore(flags);
+diff --git a/drivers/ide/ide-pnp.c b/drivers/ide/ide-pnp.c
+index b163b2e..c14bb53 100644
+--- a/drivers/ide/ide-pnp.c
++++ b/drivers/ide/ide-pnp.c
+@@ -86,3 +86,5 @@ static void __exit pnpide_exit(void)
+
+ module_init(pnpide_init);
+ module_exit(pnpide_exit);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/legacy/buddha.c b/drivers/ide/legacy/buddha.c
+index 50ffa87..fdd3791 100644
+--- a/drivers/ide/legacy/buddha.c
++++ b/drivers/ide/legacy/buddha.c
+@@ -241,3 +241,5 @@ fail_base2:
+ }
+
+ module_init(buddha_init);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/legacy/falconide.c b/drivers/ide/legacy/falconide.c
+index 8949ce7..e950afa 100644
+--- a/drivers/ide/legacy/falconide.c
++++ b/drivers/ide/legacy/falconide.c
+@@ -93,3 +93,5 @@ static int __init falconide_init(void)
+ }
+
+ module_init(falconide_init);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/legacy/gayle.c b/drivers/ide/legacy/gayle.c
+index b7d8109..e3b4638 100644
+--- a/drivers/ide/legacy/gayle.c
++++ b/drivers/ide/legacy/gayle.c
+@@ -195,3 +195,5 @@ found:
+ }
+
+ module_init(gayle_init);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/legacy/macide.c b/drivers/ide/legacy/macide.c
+index 9a79098..eaf5dbe 100644
+--- a/drivers/ide/legacy/macide.c
++++ b/drivers/ide/legacy/macide.c
+@@ -137,3 +137,5 @@ static int __init macide_init(void)
+ }
+
+ module_init(macide_init);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/legacy/q40ide.c b/drivers/ide/legacy/q40ide.c
+index 1381b91..2da2875 100644
+--- a/drivers/ide/legacy/q40ide.c
++++ b/drivers/ide/legacy/q40ide.c
+@@ -153,3 +153,5 @@ static int __init q40ide_init(void)
+ }
+
+ module_init(q40ide_init);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/pci/cmd640.c b/drivers/ide/pci/cmd640.c
+index ec66798..29fbc5e 100644
+--- a/drivers/ide/pci/cmd640.c
++++ b/drivers/ide/pci/cmd640.c
+@@ -881,3 +881,5 @@ module_param_named(probe_vlb, cmd640_vlb, bool, 0);
+ MODULE_PARM_DESC(probe_vlb, "probe for VLB version of CMD640 chipset");
+
+ module_init(cmd640x_init);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/ppc/mpc8xx.c b/drivers/ide/ppc/mpc8xx.c
+index 38fbfb8..ebaba01 100644
+--- a/drivers/ide/ppc/mpc8xx.c
++++ b/drivers/ide/ppc/mpc8xx.c
+@@ -853,3 +853,5 @@ static int __init mpc8xx_ide_probe(void)
+ }
+
+ module_init(mpc8xx_ide_probe);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c
+index 78c9eeb..d9ca52e 100644
+--- a/drivers/ide/ppc/pmac.c
++++ b/drivers/ide/ppc/pmac.c
+@@ -1771,3 +1771,5 @@ static int __devinit pmac_ide_setup_dma(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
+ #endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */
+
+ module_init(pmac_ide_probe);
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/input/mouse/appletouch.c b/drivers/input/mouse/appletouch.c
+index b4423a4..8dd3942 100644
+--- a/drivers/input/mouse/appletouch.c
++++ b/drivers/input/mouse/appletouch.c
+@@ -62,6 +62,10 @@
+ #define GEYSER4_ISO_PRODUCT_ID 0x021B
+ #define GEYSER4_JIS_PRODUCT_ID 0x021C
+
++#define GEYSER4_HF_ANSI_PRODUCT_ID 0x0229
++#define GEYSER4_HF_ISO_PRODUCT_ID 0x022A
++#define GEYSER4_HF_JIS_PRODUCT_ID 0x022B
++
+ #define ATP_DEVICE(prod) \
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE | \
+ USB_DEVICE_ID_MATCH_INT_CLASS | \
+@@ -93,6 +97,10 @@ static struct usb_device_id atp_table [] = {
+ { ATP_DEVICE(GEYSER4_ISO_PRODUCT_ID) },
+ { ATP_DEVICE(GEYSER4_JIS_PRODUCT_ID) },
+
++ { ATP_DEVICE(GEYSER4_HF_ANSI_PRODUCT_ID) },
++ { ATP_DEVICE(GEYSER4_HF_ISO_PRODUCT_ID) },
++ { ATP_DEVICE(GEYSER4_HF_JIS_PRODUCT_ID) },
++
+ /* Terminating entry */
+ { }
+ };
+@@ -217,7 +225,10 @@ static inline int atp_is_geyser_3(struct atp *dev)
+ (productId == GEYSER3_JIS_PRODUCT_ID) ||
+ (productId == GEYSER4_ANSI_PRODUCT_ID) ||
+ (productId == GEYSER4_ISO_PRODUCT_ID) ||
+- (productId == GEYSER4_JIS_PRODUCT_ID);
++ (productId == GEYSER4_JIS_PRODUCT_ID) ||
++ (productId == GEYSER4_HF_ANSI_PRODUCT_ID) ||
++ (productId == GEYSER4_HF_ISO_PRODUCT_ID) ||
++ (productId == GEYSER4_HF_JIS_PRODUCT_ID);
+ }
+
+ /*
+diff --git a/drivers/media/radio/radio-cadet.c b/drivers/media/radio/radio-cadet.c
+index 34e317c..57b9e3a 100644
+--- a/drivers/media/radio/radio-cadet.c
++++ b/drivers/media/radio/radio-cadet.c
+@@ -587,6 +587,8 @@ static struct video_device cadet_radio=
+ .vidioc_s_input = vidioc_s_input,
+ };
+
++#ifdef CONFIG_PNP
++
+ static struct pnp_device_id cadet_pnp_devices[] = {
+ /* ADS Cadet AM/FM Radio Card */
+ {.id = "MSM0c24", .driver_data = 0},
+@@ -621,6 +623,10 @@ static struct pnp_driver cadet_pnp_driver = {
+ .remove = NULL,
+ };
+
++#else
++static struct pnp_driver cadet_pnp_driver;
++#endif
++
+ static int cadet_probe(void)
+ {
+ static int iovals[8]={0x330,0x332,0x334,0x336,0x338,0x33a,0x33c,0x33e};
+diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
+index a080c14..fcf8f2d 100644
+--- a/drivers/media/video/bt8xx/bttv-driver.c
++++ b/drivers/media/video/bt8xx/bttv-driver.c
+@@ -1990,7 +1990,7 @@ static int bttv_g_frequency(struct file *file, void *priv,
+ if (0 != err)
+ return err;
+
+- f->type = V4L2_TUNER_ANALOG_TV;
++ f->type = btv->radio_user ? V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV;
+ f->frequency = btv->freq;
+
+ return 0;
+@@ -2009,7 +2009,8 @@ static int bttv_s_frequency(struct file *file, void *priv,
+
+ if (unlikely(f->tuner != 0))
+ return -EINVAL;
+- if (unlikely(f->type != V4L2_TUNER_ANALOG_TV))
++ if (unlikely(f->type != (btv->radio_user
++ ? V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV)))
+ return -EINVAL;
+ mutex_lock(&btv->lock);
+ btv->freq = f->frequency;
+@@ -3415,6 +3416,7 @@ static int radio_open(struct inode *inode, struct file *file)
+ {
+ int minor = iminor(inode);
+ struct bttv *btv = NULL;
++ struct bttv_fh *fh;
+ unsigned int i;
+
+ dprintk("bttv: open minor=%d\n",minor);
+@@ -3429,12 +3431,19 @@ static int radio_open(struct inode *inode, struct file *file)
+ return -ENODEV;
+
+ dprintk("bttv%d: open called (radio)\n",btv->c.nr);
++
++ /* allocate per filehandle data */
++ fh = kmalloc(sizeof(*fh), GFP_KERNEL);
++ if (NULL == fh)
++ return -ENOMEM;
++ file->private_data = fh;
++ *fh = btv->init;
++ v4l2_prio_open(&btv->prio, &fh->prio);
++
+ mutex_lock(&btv->lock);
+
+ btv->radio_user++;
+
+- file->private_data = btv;
+-
+ bttv_call_i2c_clients(btv,AUDC_SET_RADIO,NULL);
+ audio_input(btv,TVAUDIO_INPUT_RADIO);
+
+@@ -3444,7 +3453,8 @@ static int radio_open(struct inode *inode, struct file *file)
+
+ static int radio_release(struct inode *inode, struct file *file)
+ {
+- struct bttv *btv = file->private_data;
++ struct bttv_fh *fh = file->private_data;
++ struct bttv *btv = fh->btv;
+ struct rds_command cmd;
+
+ btv->radio_user--;
+@@ -3508,8 +3518,12 @@ static int radio_enum_input(struct file *file, void *priv,
+ static int radio_g_audio(struct file *file, void *priv,
+ struct v4l2_audio *a)
+ {
++ if (a->index != 0)
++ return -EINVAL;
++
+ memset(a, 0, sizeof(*a));
+ strcpy(a->name, "Radio");
++
+ return 0;
+ }
+
+@@ -3569,7 +3583,8 @@ static int radio_g_input(struct file *filp, void *priv, unsigned int *i)
+ static ssize_t radio_read(struct file *file, char __user *data,
+ size_t count, loff_t *ppos)
+ {
+- struct bttv *btv = file->private_data;
++ struct bttv_fh *fh = file->private_data;
++ struct bttv *btv = fh->btv;
+ struct rds_command cmd;
+ cmd.block_count = count/3;
+ cmd.buffer = data;
+@@ -3583,7 +3598,8 @@ static ssize_t radio_read(struct file *file, char __user *data,
+
+ static unsigned int radio_poll(struct file *file, poll_table *wait)
+ {
+- struct bttv *btv = file->private_data;
++ struct bttv_fh *fh = file->private_data;
++ struct bttv *btv = fh->btv;
+ struct rds_command cmd;
+ cmd.instance = file;
+ cmd.event_list = wait;
+@@ -3599,6 +3615,7 @@ static const struct file_operations radio_fops =
+ .open = radio_open,
+ .read = radio_read,
+ .release = radio_release,
++ .compat_ioctl = v4l_compat_ioctl32,
+ .ioctl = video_ioctl2,
+ .llseek = no_llseek,
+ .poll = radio_poll,
+diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c
+index 2d414da..dfa2698 100644
+--- a/drivers/media/video/cx23885/cx23885-cards.c
++++ b/drivers/media/video/cx23885/cx23885-cards.c
+@@ -232,6 +232,7 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data)
+ case 78631: /* WinTV-HVR1800 (PCIe, OEM, No IR, No FM, Dual channel ATSC and MPEG2 HW Encoder */
+ case 79001: /* WinTV-HVR1250 (PCIe, Retail, IR, full height, ATSC and Basic analog */
+ case 79101: /* WinTV-HVR1250 (PCIe, Retail, IR, half height, ATSC and Basic analog */
++ case 79561: /* WinTV-HVR1250 (PCIe, OEM, No IR, half height, ATSC and Basic analog */
+ case 79571: /* WinTV-HVR1250 (PCIe, OEM, No IR, full height, ATSC and Basic analog */
+ case 79671: /* WinTV-HVR1250 (PCIe, OEM, No IR, half height, ATSC and Basic analog */
+ break;
+@@ -347,10 +348,13 @@ void cx23885_card_setup(struct cx23885_dev *dev)
+ case CX23885_BOARD_HAUPPAUGE_HVR1250:
+ case CX23885_BOARD_HAUPPAUGE_HVR1500:
+ case CX23885_BOARD_HAUPPAUGE_HVR1500Q:
++ if (dev->i2c_bus[0].i2c_rc == 0)
++ hauppauge_eeprom(dev, eeprom+0x80);
++ break;
+ case CX23885_BOARD_HAUPPAUGE_HVR1800:
+ case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
+ if (dev->i2c_bus[0].i2c_rc == 0)
+- hauppauge_eeprom(dev, eeprom+0x80);
++ hauppauge_eeprom(dev, eeprom+0xc0);
+ break;
+ }
+
+diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
+index 8e40c7b..7f10b27 100644
+--- a/drivers/media/video/cx23885/cx23885-core.c
++++ b/drivers/media/video/cx23885/cx23885-core.c
+@@ -56,137 +56,6 @@ LIST_HEAD(cx23885_devlist);
+
+ #define NO_SYNC_LINE (-1U)
+
+-/*
+- * CX23885 Assumptions
+- * 1 line = 16 bytes of CDT
+- * cmds size = 80
+- * cdt size = 16 * linesize
+- * iqsize = 64
+- * maxlines = 6
+- *
+- * Address Space:
+- * 0x00000000 0x00008fff FIFO clusters
+- * 0x00010000 0x000104af Channel Management Data Structures
+- * 0x000104b0 0x000104ff Free
+- * 0x00010500 0x000108bf 15 channels * iqsize
+- * 0x000108c0 0x000108ff Free
+- * 0x00010900 0x00010e9f IQ's + Cluster Descriptor Tables
+- * 15 channels * (iqsize + (maxlines * linesize))
+- * 0x00010ea0 0x00010xxx Free
+- */
+-
+-static struct sram_channel cx23885_sram_channels[] = {
+- [SRAM_CH01] = {
+- .name = "VID A",
+- .cmds_start = 0x10000,
+- .ctrl_start = 0x105b0,
+- .cdt = 0x107b0,
+- .fifo_start = 0x40,
+- .fifo_size = 0x2800,
+- .ptr1_reg = DMA1_PTR1,
+- .ptr2_reg = DMA1_PTR2,
+- .cnt1_reg = DMA1_CNT1,
+- .cnt2_reg = DMA1_CNT2,
+- .jumponly = 1,
+- },
+- [SRAM_CH02] = {
+- .name = "ch2",
+- .cmds_start = 0x0,
+- .ctrl_start = 0x0,
+- .cdt = 0x0,
+- .fifo_start = 0x0,
+- .fifo_size = 0x0,
+- .ptr1_reg = DMA2_PTR1,
+- .ptr2_reg = DMA2_PTR2,
+- .cnt1_reg = DMA2_CNT1,
+- .cnt2_reg = DMA2_CNT2,
+- },
+- [SRAM_CH03] = {
+- .name = "TS1 B",
+- .cmds_start = 0x100A0,
+- .ctrl_start = 0x10630,
+- .cdt = 0x10870,
+- .fifo_start = 0x5000,
+- .fifo_size = 0x1000,
+- .ptr1_reg = DMA3_PTR1,
+- .ptr2_reg = DMA3_PTR2,
+- .cnt1_reg = DMA3_CNT1,
+- .cnt2_reg = DMA3_CNT2,
+- },
+- [SRAM_CH04] = {
+- .name = "ch4",
+- .cmds_start = 0x0,
+- .ctrl_start = 0x0,
+- .cdt = 0x0,
+- .fifo_start = 0x0,
+- .fifo_size = 0x0,
+- .ptr1_reg = DMA4_PTR1,
+- .ptr2_reg = DMA4_PTR2,
+- .cnt1_reg = DMA4_CNT1,
+- .cnt2_reg = DMA4_CNT2,
+- },
+- [SRAM_CH05] = {
+- .name = "ch5",
+- .cmds_start = 0x0,
+- .ctrl_start = 0x0,
+- .cdt = 0x0,
+- .fifo_start = 0x0,
+- .fifo_size = 0x0,
+- .ptr1_reg = DMA5_PTR1,
+- .ptr2_reg = DMA5_PTR2,
+- .cnt1_reg = DMA5_CNT1,
+- .cnt2_reg = DMA5_CNT2,
+- },
+- [SRAM_CH06] = {
+- .name = "TS2 C",
+- .cmds_start = 0x10140,
+- .ctrl_start = 0x10680,
+- .cdt = 0x108d0,
+- .fifo_start = 0x6000,
+- .fifo_size = 0x1000,
+- .ptr1_reg = DMA5_PTR1,
+- .ptr2_reg = DMA5_PTR2,
+- .cnt1_reg = DMA5_CNT1,
+- .cnt2_reg = DMA5_CNT2,
+- },
+- [SRAM_CH07] = {
+- .name = "ch7",
+- .cmds_start = 0x0,
+- .ctrl_start = 0x0,
+- .cdt = 0x0,
+- .fifo_start = 0x0,
+- .fifo_size = 0x0,
+- .ptr1_reg = DMA6_PTR1,
+- .ptr2_reg = DMA6_PTR2,
+- .cnt1_reg = DMA6_CNT1,
+- .cnt2_reg = DMA6_CNT2,
+- },
+- [SRAM_CH08] = {
+- .name = "ch8",
+- .cmds_start = 0x0,
+- .ctrl_start = 0x0,
+- .cdt = 0x0,
+- .fifo_start = 0x0,
+- .fifo_size = 0x0,
+- .ptr1_reg = DMA7_PTR1,
+- .ptr2_reg = DMA7_PTR2,
+- .cnt1_reg = DMA7_CNT1,
+- .cnt2_reg = DMA7_CNT2,
+- },
+- [SRAM_CH09] = {
+- .name = "ch9",
+- .cmds_start = 0x0,
+- .ctrl_start = 0x0,
+- .cdt = 0x0,
+- .fifo_start = 0x0,
+- .fifo_size = 0x0,
+- .ptr1_reg = DMA8_PTR1,
+- .ptr2_reg = DMA8_PTR2,
+- .cnt1_reg = DMA8_CNT1,
+- .cnt2_reg = DMA8_CNT2,
+- },
+-};
+-
+ /* FIXME, these allocations will change when
+ * analog arrives. The be reviewed.
+ * CX23887 Assumptions
+@@ -754,6 +623,7 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
+ atomic_inc(&dev->refcount);
+
+ dev->nr = cx23885_devcount++;
++ dev->sram_channels = cx23887_sram_channels;
+ sprintf(dev->name, "cx23885[%d]", dev->nr);
+
+ mutex_lock(&devlist);
+@@ -763,13 +633,11 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
+ /* Configure the internal memory */
+ if(dev->pci->device == 0x8880) {
+ dev->bridge = CX23885_BRIDGE_887;
+- dev->sram_channels = cx23887_sram_channels;
+ /* Apply a sensible clock frequency for the PCIe bridge */
+ dev->clk_freq = 25000000;
+ } else
+ if(dev->pci->device == 0x8852) {
+ dev->bridge = CX23885_BRIDGE_885;
+- dev->sram_channels = cx23885_sram_channels;
+ /* Apply a sensible clock frequency for the PCIe bridge */
+ dev->clk_freq = 28000000;
+ } else
+diff --git a/drivers/media/video/v4l2-int-device.c b/drivers/media/video/v4l2-int-device.c
+index a545dca..0e45499 100644
+--- a/drivers/media/video/v4l2-int-device.c
++++ b/drivers/media/video/v4l2-int-device.c
+@@ -156,3 +156,5 @@ int v4l2_int_ioctl_1(struct v4l2_int_device *d, int cmd, void *arg)
+ find_ioctl(d->u.slave, cmd,
+ (v4l2_int_ioctl_func *)no_such_ioctl_1))(d, arg);
+ }
++
++MODULE_LICENSE("GPL");
+diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
+index 47794d2..0080452 100644
+--- a/drivers/mtd/chips/cfi_cmdset_0001.c
++++ b/drivers/mtd/chips/cfi_cmdset_0001.c
+@@ -718,7 +718,7 @@ static int chip_ready (struct map_info *map, struct flchip *chip, unsigned long
+ /* Someone else might have been playing with it. */
+ return -EAGAIN;
+ }
+-
++ /* Fall through */
+ case FL_READY:
+ case FL_CFI_QUERY:
+ case FL_JEDEC_QUERY:
+@@ -778,14 +778,14 @@ static int chip_ready (struct map_info *map, struct flchip *chip, unsigned long
+ chip->state = FL_READY;
+ return 0;
+
++ case FL_SHUTDOWN:
++ /* The machine is rebooting now,so no one can get chip anymore */
++ return -EIO;
+ case FL_POINT:
+ /* Only if there's no operation suspended... */
+ if (mode == FL_READY && chip->oldstate == FL_READY)
+ return 0;
+-
+- case FL_SHUTDOWN:
+- /* The machine is rebooting now,so no one can get chip anymore */
+- return -EIO;
++ /* Fall through */
+ default:
+ sleep:
+ set_current_state(TASK_UNINTERRUPTIBLE);
+diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
+index fe7b5ec..3a0b20a 100644
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -2635,7 +2635,7 @@ config NIU
+
+ config PASEMI_MAC
+ tristate "PA Semi 1/10Gbit MAC"
+- depends on PPC64 && PCI
++ depends on PPC_PASEMI && PCI
+ select PHYLIB
+ select INET_LRO
+ help
+diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
+index c993a32..26b2dd5 100644
+--- a/drivers/net/bfin_mac.c
++++ b/drivers/net/bfin_mac.c
+@@ -575,7 +575,6 @@ adjust_head:
+ static int bf537mac_hard_start_xmit(struct sk_buff *skb,
+ struct net_device *dev)
+ {
+- struct bf537mac_local *lp = netdev_priv(dev);
+ unsigned int data;
+
+ current_tx_ptr->skb = skb;
+@@ -634,7 +633,6 @@ out:
+ static void bf537mac_rx(struct net_device *dev)
+ {
+ struct sk_buff *skb, *new_skb;
+- struct bf537mac_local *lp = netdev_priv(dev);
+ unsigned short len;
+
+ /* allocate a new skb for next time receive */
+diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
+index 90a1f31..979c2d0 100644
+--- a/drivers/net/bonding/bond_sysfs.c
++++ b/drivers/net/bonding/bond_sysfs.c
+@@ -341,6 +341,7 @@ static ssize_t bonding_store_slaves(struct device *d,
+
+ if (command[0] == '-') {
+ dev = NULL;
++ original_mtu = 0;
+ bond_for_each_slave(bond, slave, i)
+ if (strnicmp(slave->dev->name, ifname, IFNAMSIZ) == 0) {
+ dev = slave->dev;
+diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
+index 58b71e6..fe59c27 100644
+--- a/drivers/net/fec_mpc52xx.c
++++ b/drivers/net/fec_mpc52xx.c
+@@ -1057,6 +1057,7 @@ static int mpc52xx_fec_of_resume(struct of_device *op)
+ #endif
+
+ static struct of_device_id mpc52xx_fec_match[] = {
++ { .type = "network", .compatible = "fsl,mpc5200b-fec", },
+ { .type = "network", .compatible = "fsl,mpc5200-fec", },
+ { .type = "network", .compatible = "mpc5200-fec", },
+ { }
+diff --git a/drivers/net/fec_mpc52xx_phy.c b/drivers/net/fec_mpc52xx_phy.c
+index 6a3ac4e..1d0cd1d 100644
+--- a/drivers/net/fec_mpc52xx_phy.c
++++ b/drivers/net/fec_mpc52xx_phy.c
+@@ -179,6 +179,7 @@ static int mpc52xx_fec_mdio_remove(struct of_device *of)
+
+ static struct of_device_id mpc52xx_fec_mdio_match[] = {
+ { .compatible = "fsl,mpc5200b-mdio", },
++ { .compatible = "fsl,mpc5200-mdio", },
+ { .compatible = "mpc5200b-fec-phy", },
+ {}
+ };
+diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
+index 6f7e3fd..980c2c2 100644
+--- a/drivers/net/forcedeth.c
++++ b/drivers/net/forcedeth.c
+@@ -1854,6 +1854,7 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
+ struct ring_desc* start_tx;
+ struct ring_desc* prev_tx;
+ struct nv_skb_map* prev_tx_ctx;
++ unsigned long flags;
+
+ /* add fragments to entries count */
+ for (i = 0; i < fragments; i++) {
+@@ -1863,10 +1864,10 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
+
+ empty_slots = nv_get_empty_tx_slots(np);
+ if (unlikely(empty_slots <= entries)) {
+- spin_lock_irq(&np->lock);
++ spin_lock_irqsave(&np->lock, flags);
+ netif_stop_queue(dev);
+ np->tx_stop = 1;
+- spin_unlock_irq(&np->lock);
++ spin_unlock_irqrestore(&np->lock, flags);
+ return NETDEV_TX_BUSY;
+ }
+
+@@ -1929,13 +1930,13 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
+ tx_flags_extra = skb->ip_summed == CHECKSUM_PARTIAL ?
+ NV_TX2_CHECKSUM_L3 | NV_TX2_CHECKSUM_L4 : 0;
+
+- spin_lock_irq(&np->lock);
++ spin_lock_irqsave(&np->lock, flags);
+
+ /* set tx flags */
+ start_tx->flaglen |= cpu_to_le32(tx_flags | tx_flags_extra);
+ np->put_tx.orig = put_tx;
+
+- spin_unlock_irq(&np->lock);
++ spin_unlock_irqrestore(&np->lock, flags);
+
+ dprintk(KERN_DEBUG "%s: nv_start_xmit: entries %d queued for transmission. tx_flags_extra: %x\n",
+ dev->name, entries, tx_flags_extra);
+@@ -1971,6 +1972,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
+ struct ring_desc_ex* prev_tx;
+ struct nv_skb_map* prev_tx_ctx;
+ struct nv_skb_map* start_tx_ctx;
++ unsigned long flags;
+
+ /* add fragments to entries count */
+ for (i = 0; i < fragments; i++) {
+@@ -1980,10 +1982,10 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
+
+ empty_slots = nv_get_empty_tx_slots(np);
+ if (unlikely(empty_slots <= entries)) {
+- spin_lock_irq(&np->lock);
++ spin_lock_irqsave(&np->lock, flags);
+ netif_stop_queue(dev);
+ np->tx_stop = 1;
+- spin_unlock_irq(&np->lock);
++ spin_unlock_irqrestore(&np->lock, flags);
+ return NETDEV_TX_BUSY;
+ }
+
+@@ -2059,7 +2061,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
+ start_tx->txvlan = 0;
+ }
+
+- spin_lock_irq(&np->lock);
++ spin_lock_irqsave(&np->lock, flags);
+
+ if (np->tx_limit) {
+ /* Limit the number of outstanding tx. Setup all fragments, but
+@@ -2085,7 +2087,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
+ start_tx->flaglen |= cpu_to_le32(tx_flags | tx_flags_extra);
+ np->put_tx.ex = put_tx;
+
+- spin_unlock_irq(&np->lock);
++ spin_unlock_irqrestore(&np->lock, flags);
+
+ dprintk(KERN_DEBUG "%s: nv_start_xmit_optimized: entries %d queued for transmission. tx_flags_extra: %x\n",
+ dev->name, entries, tx_flags_extra);
+diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
+index 0789802..378a239 100644
+--- a/drivers/net/ibm_newemac/core.c
++++ b/drivers/net/ibm_newemac/core.c
+@@ -1242,8 +1242,8 @@ static int emac_close(struct net_device *ndev)
+ static inline u16 emac_tx_csum(struct emac_instance *dev,
+ struct sk_buff *skb)
+ {
+- if (emac_has_feature(dev, EMAC_FTR_HAS_TAH &&
+- skb->ip_summed == CHECKSUM_PARTIAL)) {
++ if (emac_has_feature(dev, EMAC_FTR_HAS_TAH) &&
++ (skb->ip_summed == CHECKSUM_PARTIAL)) {
+ ++dev->stats.tx_packets_csum;
+ return EMAC_TX_CTRL_TAH_CSUM;
+ }
+diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
+index 3c915b8..c082cf0 100644
+--- a/drivers/net/s2io.c
++++ b/drivers/net/s2io.c
+@@ -84,7 +84,7 @@
+ #include "s2io.h"
+ #include "s2io-regs.h"
+
+-#define DRV_VERSION "2.0.26.15-2"
++#define DRV_VERSION "2.0.26.20"
+
+ /* S2io Driver name & version. */
+ static char s2io_driver_name[] = "Neterion";
+diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
+index 54c6626..853bce0 100644
+--- a/drivers/net/sky2.c
++++ b/drivers/net/sky2.c
+@@ -4329,10 +4329,14 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state)
+ if (!hw)
+ return 0;
+
++ del_timer_sync(&hw->watchdog_timer);
++ cancel_work_sync(&hw->restart_work);
++
+ for (i = 0; i < hw->ports; i++) {
+ struct net_device *dev = hw->dev[i];
+ struct sky2_port *sky2 = netdev_priv(dev);
+
++ netif_device_detach(dev);
+ if (netif_running(dev))
+ sky2_down(dev);
+
+@@ -4383,6 +4387,8 @@ static int sky2_resume(struct pci_dev *pdev)
+
+ for (i = 0; i < hw->ports; i++) {
+ struct net_device *dev = hw->dev[i];
++
++ netif_device_attach(dev);
+ if (netif_running(dev)) {
+ err = sky2_up(dev);
+ if (err) {
+diff --git a/drivers/net/tulip/eeprom.c b/drivers/net/tulip/eeprom.c
+index 206918b..da2206f 100644
+--- a/drivers/net/tulip/eeprom.c
++++ b/drivers/net/tulip/eeprom.c
+@@ -343,6 +343,12 @@ int __devinit tulip_read_eeprom(struct net_device *dev, int location, int addr_l
+ void __iomem *ee_addr = tp->base_addr + CSR9;
+ int read_cmd = location | (EE_READ_CMD << addr_len);
+
++ /* If location is past the end of what we can address, don't
++ * read some other location (ie truncate). Just return zero.
++ */
++ if (location > (1 << addr_len) - 1)
++ return 0;
++
+ iowrite32(EE_ENB & ~EE_CS, ee_addr);
+ iowrite32(EE_ENB, ee_addr);
+
+diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c
+index ed600bf..82f404b 100644
+--- a/drivers/net/tulip/tulip_core.c
++++ b/drivers/net/tulip/tulip_core.c
+@@ -1437,6 +1437,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
+ EEPROM.
+ */
+ ee_data = tp->eeprom;
++ memset(ee_data, 0, sizeof(tp->eeprom));
+ sum = 0;
+ if (chip_idx == LC82C168) {
+ for (i = 0; i < 3; i++) {
+@@ -1458,8 +1459,12 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
+ /* A serial EEPROM interface, we read now and sort it out later. */
+ int sa_offset = 0;
+ int ee_addr_size = tulip_read_eeprom(dev, 0xff, 8) & 0x40000 ? 8 : 6;
++ int ee_max_addr = ((1 << ee_addr_size) - 1) * sizeof(u16);
+
+- for (i = 0; i < sizeof(tp->eeprom); i+=2) {
++ if (ee_max_addr > sizeof(tp->eeprom))
++ ee_max_addr = sizeof(tp->eeprom);
++
++ for (i = 0; i < ee_max_addr ; i += sizeof(u16)) {
+ u16 data = tulip_read_eeprom(dev, i/2, ee_addr_size);
+ ee_data[i] = data & 0xff;
+ ee_data[i + 1] = data >> 8;
+diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
+index a12c9c4..0604f3f 100644
+--- a/drivers/net/usb/Kconfig
++++ b/drivers/net/usb/Kconfig
+@@ -129,7 +129,7 @@ config USB_USBNET
+
+ config USB_NET_AX8817X
+ tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
+- depends on USB_USBNET && NET_ETHERNET
++ depends on USB_USBNET
+ select CRC32
+ default y
+ help
+diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c
+index 0343b00..01660f6 100644
+--- a/drivers/net/usb/dm9601.c
++++ b/drivers/net/usb/dm9601.c
+@@ -354,7 +354,7 @@ static void dm9601_set_multicast(struct net_device *net)
+ struct dev_mc_list *mc_list = net->mc_list;
+ int i;
+
+- for (i = 0; i < net->mc_count; i++) {
++ for (i = 0; i < net->mc_count; i++, mc_list = mc_list->next) {
+ u32 crc = ether_crc(ETH_ALEN, mc_list->dmi_addr) >> 26;
+ hashes[crc >> 3] |= 1 << (crc & 0x7);
+ }
+diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c
+index d1ed68a..b588c89 100644
+--- a/drivers/net/usb/pegasus.c
++++ b/drivers/net/usb/pegasus.c
+@@ -1128,12 +1128,8 @@ pegasus_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
+ {
+ pegasus_t *pegasus;
+
+- if (in_atomic())
+- return 0;
+-
+ pegasus = netdev_priv(dev);
+ mii_ethtool_gset(&pegasus->mii, ecmd);
+-
+ return 0;
+ }
+
+diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
+index fb37b80..824df3b 100644
+--- a/drivers/net/wan/lapbether.c
++++ b/drivers/net/wan/lapbether.c
+@@ -58,7 +58,7 @@ struct lapbethdev {
+ struct net_device_stats stats; /* some statistics */
+ };
+
+-static struct list_head lapbeth_devices = LIST_HEAD_INIT(lapbeth_devices);
++static LIST_HEAD(lapbeth_devices);
+
+ /* ------------------------------------------------------------------------ */
+
+diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c
+index cfbc1a2..948eb1f 100644
+--- a/drivers/net/wireless/b43/dma.c
++++ b/drivers/net/wireless/b43/dma.c
+@@ -619,6 +619,7 @@ static int setup_rx_descbuffer(struct b43_dmaring *ring,
+ }
+
+ if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) {
++ b43err(ring->dev->wl, "RX DMA buffer allocation failed\n");
+ dev_kfree_skb_any(skb);
+ return -EIO;
+ }
+@@ -874,8 +875,12 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
+ DMA_TO_DEVICE);
+
+ if (b43_dma_mapping_error(ring, dma_test,
+- b43_txhdr_size(dev), 1))
++ b43_txhdr_size(dev), 1)) {
++
++ b43err(dev->wl,
++ "TXHDR DMA allocation failed\n");
+ goto err_kfree_txhdr_cache;
++ }
+ }
+
+ dma_unmap_single(dev->dev->dev,
+diff --git a/drivers/net/wireless/b43/pcmcia.c b/drivers/net/wireless/b43/pcmcia.c
+index b79a6bd..371e4a1 100644
+--- a/drivers/net/wireless/b43/pcmcia.c
++++ b/drivers/net/wireless/b43/pcmcia.c
+@@ -91,6 +91,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
+
+ dev->conf.ConfigBase = parse.config.base;
+ dev->conf.Present = parse.config.rmask[0];
++ dev->conf.Attributes = CONF_ENABLE_IRQ;
++ dev->conf.IntType = INT_MEMORY_AND_IO;
+
+ dev->io.BasePort2 = 0;
+ dev->io.NumPorts2 = 0;
+@@ -112,8 +114,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
+ if (res != CS_SUCCESS)
+ goto err_disable;
+
+- dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_FIRST_SHARED;
+- dev->irq.IRQInfo1 = IRQ_LEVEL_ID | IRQ_SHARE_ID;
++ dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
++ dev->irq.IRQInfo1 = IRQ_LEVEL_ID;
+ dev->irq.Handler = NULL; /* The handler is registered later. */
+ dev->irq.Instance = NULL;
+ res = pcmcia_request_irq(dev, &dev->irq);
+diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
+index d727de8..6576757 100644
+--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
++++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
+@@ -4589,7 +4589,7 @@ static u8 iwl4965_is_fat_tx_allowed(struct iwl4965_priv *priv,
+
+ if (sta_ht_inf) {
+ if ((!sta_ht_inf->ht_supported) ||
+- (!sta_ht_inf->cap & IEEE80211_HT_CAP_SUP_WIDTH))
++ (!(sta_ht_inf->cap & IEEE80211_HT_CAP_SUP_WIDTH)))
+ return 0;
+ }
+
+diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
+index 5a9cadb..038c66a 100644
+--- a/drivers/net/wireless/libertas/if_cs.c
++++ b/drivers/net/wireless/libertas/if_cs.c
+@@ -677,9 +677,7 @@ sbi_get_int_status_exit:
+
+ /* Card has a command result for us */
+ if (*ireg & IF_CS_C_S_CMD_UPLD_RDY) {
+- spin_lock(&priv->driver_lock);
+ ret = if_cs_receive_cmdres(priv, priv->upld_buf, &priv->upld_len);
+- spin_unlock(&priv->driver_lock);
+ if (ret < 0)
+ lbs_pr_err("could not receive cmd from card\n");
+ }
+diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
+index bd305f7..e873a39 100644
+--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
++++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
+@@ -1393,11 +1393,20 @@ int rt2x00lib_suspend(struct rt2x00_dev *rt2x00dev, pm_message_t state)
+
+ exit:
+ /*
+- * Set device mode to sleep for power management.
++ * Set device mode to sleep for power management,
++ * on some hardware this call seems to consistently fail.
++ * From the specifications it is hard to tell why it fails,
++ * and if this is a "bad thing".
++ * Overall it is safe to just ignore the failure and
++ * continue suspending. The only downside is that the
++ * device will not be in optimal power save mode, but with
++ * the radio and the other components already disabled the
++ * device is as good as disabled.
+ */
+ retval = rt2x00dev->ops->lib->set_device_state(rt2x00dev, STATE_SLEEP);
+ if (retval)
+- return retval;
++ WARNING(rt2x00dev, "Device failed to enter sleep state, "
++ "continue suspending.\n");
+
+ return 0;
+ }
+diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c
+index d76d37b..a858089 100644
+--- a/drivers/parport/parport_pc.c
++++ b/drivers/parport/parport_pc.c
+@@ -1568,9 +1568,8 @@ static void __devinit detect_and_report_it87(void)
+ outb(r | 8, 0x2F);
+ outb(0x02, 0x2E); /* Lock */
+ outb(0x02, 0x2F);
+-
+- release_region(0x2e, 1);
+ }
++ release_region(0x2e, 1);
+ }
+ #endif /* CONFIG_PARPORT_PC_SUPERIO */
+
+diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
+index 880c78b..ed7e0a1 100644
+--- a/drivers/scsi/hosts.c
++++ b/drivers/scsi/hosts.c
+@@ -218,18 +218,24 @@ int scsi_add_host(struct Scsi_Host *shost, struct device *dev)
+
+ get_device(&shost->shost_gendev);
+
+- if (shost->transportt->host_size &&
+- (shost->shost_data = kzalloc(shost->transportt->host_size,
+- GFP_KERNEL)) == NULL)
+- goto out_del_classdev;
++ if (shost->transportt->host_size) {
++ shost->shost_data = kzalloc(shost->transportt->host_size,
++ GFP_KERNEL);
++ if (shost->shost_data == NULL) {
++ error = -ENOMEM;
++ goto out_del_classdev;
++ }
++ }
+
+ if (shost->transportt->create_work_queue) {
+ snprintf(shost->work_q_name, KOBJ_NAME_LEN, "scsi_wq_%d",
+ shost->host_no);
+ shost->work_q = create_singlethread_workqueue(
+ shost->work_q_name);
+- if (!shost->work_q)
++ if (!shost->work_q) {
++ error = -EINVAL;
+ goto out_free_shost_data;
++ }
+ }
+
+ error = scsi_sysfs_add_host(shost);
+diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c
+index 31b9af2..709a6f7 100644
+--- a/drivers/scsi/libsas/sas_discover.c
++++ b/drivers/scsi/libsas/sas_discover.c
+@@ -295,11 +295,14 @@ static void sas_discover_domain(struct work_struct *work)
+ case FANOUT_DEV:
+ error = sas_discover_root_expander(dev);
+ break;
+-#ifdef CONFIG_SCSI_SAS_ATA
+ case SATA_DEV:
+ case SATA_PM:
++#ifdef CONFIG_SCSI_SAS_ATA
+ error = sas_discover_sata(dev);
+ break;
++#else
++ SAS_DPRINTK("ATA device seen but CONFIG_SCSI_SAS_ATA=N so cannot attach\n");
++ /* Fall through */
+ #endif
+ default:
+ error = -ENXIO;
+diff --git a/drivers/scsi/mvsas.c b/drivers/scsi/mvsas.c
+index 5ec0665..e55b903 100644
+--- a/drivers/scsi/mvsas.c
++++ b/drivers/scsi/mvsas.c
+@@ -37,11 +37,13 @@
+ #include <linux/dma-mapping.h>
+ #include <linux/ctype.h>
+ #include <scsi/libsas.h>
++#include <scsi/scsi_tcq.h>
++#include <scsi/sas_ata.h>
+ #include <asm/io.h>
+
+ #define DRV_NAME "mvsas"
+-#define DRV_VERSION "0.5.1"
+-#define _MV_DUMP 0
++#define DRV_VERSION "0.5.2"
++#define _MV_DUMP 0
+ #define MVS_DISABLE_NVRAM
+ #define MVS_DISABLE_MSI
+
+@@ -52,7 +54,7 @@
+ readl(regs + MVS_##reg); \
+ } while (0)
+
+-#define MVS_ID_NOT_MAPPED 0xff
++#define MVS_ID_NOT_MAPPED 0x7f
+ #define MVS_CHIP_SLOT_SZ (1U << mvi->chip->slot_width)
+
+ /* offset for D2H FIS in the Received FIS List Structure */
+@@ -84,6 +86,7 @@ enum driver_configuration {
+ MVS_RX_FIS_COUNT = 17, /* Optional rx'd FISs (max 17) */
+
+ MVS_QUEUE_SIZE = 30, /* Support Queue depth */
++ MVS_CAN_QUEUE = MVS_SLOTS - 1, /* SCSI Queue depth */
+ };
+
+ /* unchangeable hardware details */
+@@ -358,7 +361,20 @@ enum hw_register_bits {
+
+ /* VSR */
+ /* PHYMODE 6 (CDB) */
+- PHY_MODE6_DTL_SPEED = (1U << 27),
++ PHY_MODE6_LATECLK = (1U << 29), /* Lock Clock */
++ PHY_MODE6_DTL_SPEED = (1U << 27), /* Digital Loop Speed */
++ PHY_MODE6_FC_ORDER = (1U << 26), /* Fibre Channel Mode Order*/
++ PHY_MODE6_MUCNT_EN = (1U << 24), /* u Count Enable */
++ PHY_MODE6_SEL_MUCNT_LEN = (1U << 22), /* Training Length Select */
++ PHY_MODE6_SELMUPI = (1U << 20), /* Phase Multi Select (init) */
++ PHY_MODE6_SELMUPF = (1U << 18), /* Phase Multi Select (final) */
++ PHY_MODE6_SELMUFF = (1U << 16), /* Freq Loop Multi Sel(final) */
++ PHY_MODE6_SELMUFI = (1U << 14), /* Freq Loop Multi Sel(init) */
++ PHY_MODE6_FREEZE_LOOP = (1U << 12), /* Freeze Rx CDR Loop */
++ PHY_MODE6_INT_RXFOFFS = (1U << 3), /* Rx CDR Freq Loop Enable */
++ PHY_MODE6_FRC_RXFOFFS = (1U << 2), /* Initial Rx CDR Offset */
++ PHY_MODE6_STAU_0D8 = (1U << 1), /* Rx CDR Freq Loop Saturate */
++ PHY_MODE6_RXSAT_DIS = (1U << 0), /* Saturate Ctl */
+ };
+
+ enum mvs_info_flags {
+@@ -511,7 +527,43 @@ enum status_buffer {
+ };
+
+ enum error_info_rec {
+- CMD_ISS_STPD = (1U << 31), /* Cmd Issue Stopped */
++ CMD_ISS_STPD = (1U << 31), /* Cmd Issue Stopped */
++ CMD_PI_ERR = (1U << 30), /* Protection info error. see flags2 */
++ RSP_OVER = (1U << 29), /* rsp buffer overflow */
++ RETRY_LIM = (1U << 28), /* FIS/frame retry limit exceeded */
++ UNK_FIS = (1U << 27), /* unknown FIS */
++ DMA_TERM = (1U << 26), /* DMA terminate primitive rx'd */
++ SYNC_ERR = (1U << 25), /* SYNC rx'd during frame xmit */
++ TFILE_ERR = (1U << 24), /* SATA taskfile Error bit set */
++ R_ERR = (1U << 23), /* SATA returned R_ERR prim */
++ RD_OFS = (1U << 20), /* Read DATA frame invalid offset */
++ XFER_RDY_OFS = (1U << 19), /* XFER_RDY offset error */
++ UNEXP_XFER_RDY = (1U << 18), /* unexpected XFER_RDY error */
++ DATA_OVER_UNDER = (1U << 16), /* data overflow/underflow */
++ INTERLOCK = (1U << 15), /* interlock error */
++ NAK = (1U << 14), /* NAK rx'd */
++ ACK_NAK_TO = (1U << 13), /* ACK/NAK timeout */
++ CXN_CLOSED = (1U << 12), /* cxn closed w/out ack/nak */
++ OPEN_TO = (1U << 11), /* I_T nexus lost, open cxn timeout */
++ PATH_BLOCKED = (1U << 10), /* I_T nexus lost, pathway blocked */
++ NO_DEST = (1U << 9), /* I_T nexus lost, no destination */
++ STP_RES_BSY = (1U << 8), /* STP resources busy */
++ BREAK = (1U << 7), /* break received */
++ BAD_DEST = (1U << 6), /* bad destination */
++ BAD_PROTO = (1U << 5), /* protocol not supported */
++ BAD_RATE = (1U << 4), /* cxn rate not supported */
++ WRONG_DEST = (1U << 3), /* wrong destination error */
++ CREDIT_TO = (1U << 2), /* credit timeout */
++ WDOG_TO = (1U << 1), /* watchdog timeout */
++ BUF_PAR = (1U << 0), /* buffer parity error */
++};
++
++enum error_info_rec_2 {
++ SLOT_BSY_ERR = (1U << 31), /* Slot Busy Error */
++ GRD_CHK_ERR = (1U << 14), /* Guard Check Error */
++ APP_CHK_ERR = (1U << 13), /* Application Check error */
++ REF_CHK_ERR = (1U << 12), /* Reference Check Error */
++ USR_BLK_NM = (1U << 0), /* User Block Number */
+ };
+
+ struct mvs_chip_info {
+@@ -543,28 +595,12 @@ struct mvs_cmd_hdr {
+ __le32 reserved[4];
+ };
+
+-struct mvs_slot_info {
+- struct sas_task *task;
+- u32 n_elem;
+- u32 tx;
+-
+- /* DMA buffer for storing cmd tbl, open addr frame, status buffer,
+- * and PRD table
+- */
+- void *buf;
+- dma_addr_t buf_dma;
+-#if _MV_DUMP
+- u32 cmd_size;
+-#endif
+-
+- void *response;
+-};
+-
+ struct mvs_port {
+ struct asd_sas_port sas_port;
+ u8 port_attached;
+ u8 taskfileset;
+ u8 wide_port_phymap;
++ struct list_head list;
+ };
+
+ struct mvs_phy {
+@@ -582,6 +618,27 @@ struct mvs_phy {
+ u32 frame_rcvd_size;
+ u8 frame_rcvd[32];
+ u8 phy_attached;
++ enum sas_linkrate minimum_linkrate;
++ enum sas_linkrate maximum_linkrate;
++};
++
++struct mvs_slot_info {
++ struct list_head list;
++ struct sas_task *task;
++ u32 n_elem;
++ u32 tx;
++
++ /* DMA buffer for storing cmd tbl, open addr frame, status buffer,
++ * and PRD table
++ */
++ void *buf;
++ dma_addr_t buf_dma;
++#if _MV_DUMP
++ u32 cmd_size;
++#endif
++
++ void *response;
++ struct mvs_port *port;
+ };
+
+ struct mvs_info {
+@@ -612,21 +669,14 @@ struct mvs_info {
+
+ const struct mvs_chip_info *chip;
+
+- unsigned long tags[MVS_SLOTS];
++ u8 tags[MVS_SLOTS];
+ struct mvs_slot_info slot_info[MVS_SLOTS];
+ /* further per-slot information */
+ struct mvs_phy phy[MVS_MAX_PHYS];
+ struct mvs_port port[MVS_MAX_PHYS];
+-
+- u32 can_queue; /* per adapter */
+- u32 tag_out; /*Get*/
+- u32 tag_in; /*Give*/
+-};
+-
+-struct mvs_queue_task {
+- struct list_head list;
+-
+- void *uldd_task;
++#ifdef MVS_USE_TASKLET
++ struct tasklet_struct tasklet;
++#endif
+ };
+
+ static int mvs_phy_control(struct asd_sas_phy *sas_phy, enum phy_func func,
+@@ -641,10 +691,11 @@ static u32 mvs_read_port_irq_mask(struct mvs_info *mvi, u32 port);
+ static u32 mvs_is_phy_ready(struct mvs_info *mvi, int i);
+ static void mvs_detect_porttype(struct mvs_info *mvi, int i);
+ static void mvs_update_phyinfo(struct mvs_info *mvi, int i, int get_st);
++static void mvs_release_task(struct mvs_info *mvi, int phy_no);
+
+ static int mvs_scan_finished(struct Scsi_Host *, unsigned long);
+ static void mvs_scan_start(struct Scsi_Host *);
+-static int mvs_sas_slave_alloc(struct scsi_device *scsi_dev);
++static int mvs_slave_configure(struct scsi_device *sdev);
+
+ static struct scsi_transport_template *mvs_stt;
+
+@@ -659,7 +710,7 @@ static struct scsi_host_template mvs_sht = {
+ .name = DRV_NAME,
+ .queuecommand = sas_queuecommand,
+ .target_alloc = sas_target_alloc,
+- .slave_configure = sas_slave_configure,
++ .slave_configure = mvs_slave_configure,
+ .slave_destroy = sas_slave_destroy,
+ .scan_finished = mvs_scan_finished,
+ .scan_start = mvs_scan_start,
+@@ -674,7 +725,7 @@ static struct scsi_host_template mvs_sht = {
+ .use_clustering = ENABLE_CLUSTERING,
+ .eh_device_reset_handler = sas_eh_device_reset_handler,
+ .eh_bus_reset_handler = sas_eh_bus_reset_handler,
+- .slave_alloc = mvs_sas_slave_alloc,
++ .slave_alloc = sas_slave_alloc,
+ .target_destroy = sas_target_destroy,
+ .ioctl = sas_ioctl,
+ };
+@@ -709,10 +760,10 @@ static void mvs_hexdump(u32 size, u8 *data, u32 baseaddr)
+ printk("\n");
+ }
+
++#if _MV_DUMP
+ static void mvs_hba_sb_dump(struct mvs_info *mvi, u32 tag,
+ enum sas_protocol proto)
+ {
+-#if _MV_DUMP
+ u32 offset;
+ struct pci_dev *pdev = mvi->pdev;
+ struct mvs_slot_info *slot = &mvi->slot_info[tag];
+@@ -723,14 +774,14 @@ static void mvs_hba_sb_dump(struct mvs_info *mvi, u32 tag,
+ tag);
+ mvs_hexdump(32, (u8 *) slot->response,
+ (u32) slot->buf_dma + offset);
+-#endif
+ }
++#endif
+
+ static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
+ enum sas_protocol proto)
+ {
+ #if _MV_DUMP
+- u32 sz, w_ptr, r_ptr;
++ u32 sz, w_ptr;
+ u64 addr;
+ void __iomem *regs = mvi->regs;
+ struct pci_dev *pdev = mvi->pdev;
+@@ -738,12 +789,10 @@ static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
+
+ /*Delivery Queue */
+ sz = mr32(TX_CFG) & TX_RING_SZ_MASK;
+- w_ptr = mr32(TX_PROD_IDX) & TX_RING_SZ_MASK;
+- r_ptr = mr32(TX_CONS_IDX) & TX_RING_SZ_MASK;
++ w_ptr = slot->tx;
+ addr = mr32(TX_HI) << 16 << 16 | mr32(TX_LO);
+ dev_printk(KERN_DEBUG, &pdev->dev,
+- "Delivery Queue Size=%04d , WRT_PTR=%04X , RD_PTR=%04X\n",
+- sz, w_ptr, r_ptr);
++ "Delivery Queue Size=%04d , WRT_PTR=%04X\n", sz, w_ptr);
+ dev_printk(KERN_DEBUG, &pdev->dev,
+ "Delivery Queue Base Address=0x%llX (PA)"
+ "(tx_dma=0x%llX), Entry=%04d\n",
+@@ -751,11 +800,11 @@ static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
+ mvs_hexdump(sizeof(u32), (u8 *)(&mvi->tx[mvi->tx_prod]),
+ (u32) mvi->tx_dma + sizeof(u32) * w_ptr);
+ /*Command List */
+- addr = mr32(CMD_LIST_HI) << 16 << 16 | mr32(CMD_LIST_LO);
++ addr = mvi->slot_dma;
+ dev_printk(KERN_DEBUG, &pdev->dev,
+ "Command List Base Address=0x%llX (PA)"
+ "(slot_dma=0x%llX), Header=%03d\n",
+- addr, mvi->slot_dma, tag);
++ addr, slot->buf_dma, tag);
+ dev_printk(KERN_DEBUG, &pdev->dev, "Command Header[%03d]:\n", tag);
+ /*mvs_cmd_hdr */
+ mvs_hexdump(sizeof(struct mvs_cmd_hdr), (u8 *)(&mvi->slot[tag]),
+@@ -779,7 +828,7 @@ static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
+
+ static void mvs_hba_cq_dump(struct mvs_info *mvi)
+ {
+-#if _MV_DUMP
++#if (_MV_DUMP > 2)
+ u64 addr;
+ void __iomem *regs = mvi->regs;
+ struct pci_dev *pdev = mvi->pdev;
+@@ -788,8 +837,8 @@ static void mvs_hba_cq_dump(struct mvs_info *mvi)
+
+ /*Completion Queue */
+ addr = mr32(RX_HI) << 16 << 16 | mr32(RX_LO);
+- dev_printk(KERN_DEBUG, &pdev->dev, "Completion Task = 0x%08X\n",
+- (u32) mvi->slot_info[rx_desc & RXQ_SLOT_MASK].task);
++ dev_printk(KERN_DEBUG, &pdev->dev, "Completion Task = 0x%p\n",
++ mvi->slot_info[rx_desc & RXQ_SLOT_MASK].task);
+ dev_printk(KERN_DEBUG, &pdev->dev,
+ "Completion List Base Address=0x%llX (PA), "
+ "CQ_Entry=%04d, CQ_WP=0x%08X\n",
+@@ -854,34 +903,53 @@ static int pci_go_64(struct pci_dev *pdev)
+ return rc;
+ }
+
++static int mvs_find_tag(struct mvs_info *mvi, struct sas_task *task, u32 *tag)
++{
++ if (task->lldd_task) {
++ struct mvs_slot_info *slot;
++ slot = (struct mvs_slot_info *) task->lldd_task;
++ *tag = slot - mvi->slot_info;
++ return 1;
++ }
++ return 0;
++}
++
+ static void mvs_tag_clear(struct mvs_info *mvi, u32 tag)
+ {
+- mvi->tag_in = (mvi->tag_in + 1) & (MVS_SLOTS - 1);
+- mvi->tags[mvi->tag_in] = tag;
++ void *bitmap = (void *) &mvi->tags;
++ clear_bit(tag, bitmap);
+ }
+
+ static void mvs_tag_free(struct mvs_info *mvi, u32 tag)
+ {
+- mvi->tag_out = (mvi->tag_out - 1) & (MVS_SLOTS - 1);
++ mvs_tag_clear(mvi, tag);
++}
++
++static void mvs_tag_set(struct mvs_info *mvi, unsigned int tag)
++{
++ void *bitmap = (void *) &mvi->tags;
++ set_bit(tag, bitmap);
+ }
+
+ static int mvs_tag_alloc(struct mvs_info *mvi, u32 *tag_out)
+ {
+- if (mvi->tag_out != mvi->tag_in) {
+- *tag_out = mvi->tags[mvi->tag_out];
+- mvi->tag_out = (mvi->tag_out + 1) & (MVS_SLOTS - 1);
+- return 0;
+- }
+- return -EBUSY;
++ unsigned int index, tag;
++ void *bitmap = (void *) &mvi->tags;
++
++ index = find_first_zero_bit(bitmap, MVS_SLOTS);
++ tag = index;
++ if (tag >= MVS_SLOTS)
++ return -SAS_QUEUE_FULL;
++ mvs_tag_set(mvi, tag);
++ *tag_out = tag;
++ return 0;
+ }
+
+ static void mvs_tag_init(struct mvs_info *mvi)
+ {
+ int i;
+ for (i = 0; i < MVS_SLOTS; ++i)
+- mvi->tags[i] = i;
+- mvi->tag_out = 0;
+- mvi->tag_in = MVS_SLOTS - 1;
++ mvs_tag_clear(mvi, i);
+ }
+
+ #ifndef MVS_DISABLE_NVRAM
+@@ -1013,10 +1081,21 @@ err_out:
+ static void mvs_bytes_dmaed(struct mvs_info *mvi, int i)
+ {
+ struct mvs_phy *phy = &mvi->phy[i];
++ struct asd_sas_phy *sas_phy = mvi->sas.sas_phy[i];
+
+ if (!phy->phy_attached)
+ return;
+
++ if (sas_phy->phy) {
++ struct sas_phy *sphy = sas_phy->phy;
++
++ sphy->negotiated_linkrate = sas_phy->linkrate;
++ sphy->minimum_linkrate = phy->minimum_linkrate;
++ sphy->minimum_linkrate_hw = SAS_LINK_RATE_1_5_GBPS;
++ sphy->maximum_linkrate = phy->maximum_linkrate;
++ sphy->maximum_linkrate_hw = SAS_LINK_RATE_3_0_GBPS;
++ }
++
+ if (phy->phy_type & PORT_TYPE_SAS) {
+ struct sas_identify_frame *id;
+
+@@ -1053,80 +1132,149 @@ static void mvs_scan_start(struct Scsi_Host *shost)
+ }
+ }
+
+-static int mvs_sas_slave_alloc(struct scsi_device *scsi_dev)
++static int mvs_slave_configure(struct scsi_device *sdev)
+ {
+- int rc;
++ struct domain_device *dev = sdev_to_domain_dev(sdev);
++ int ret = sas_slave_configure(sdev);
+
+- rc = sas_slave_alloc(scsi_dev);
++ if (ret)
++ return ret;
+
+- return rc;
++ if (dev_is_sata(dev)) {
++ /* struct ata_port *ap = dev->sata_dev.ap; */
++ /* struct ata_device *adev = ap->link.device; */
++
++ /* clamp at no NCQ for the time being */
++ /* adev->flags |= ATA_DFLAG_NCQ_OFF; */
++ scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, 1);
++ }
++ return 0;
+ }
+
+-static void mvs_int_port(struct mvs_info *mvi, int port_no, u32 events)
++static void mvs_int_port(struct mvs_info *mvi, int phy_no, u32 events)
+ {
+ struct pci_dev *pdev = mvi->pdev;
+ struct sas_ha_struct *sas_ha = &mvi->sas;
+- struct mvs_phy *phy = &mvi->phy[port_no];
++ struct mvs_phy *phy = &mvi->phy[phy_no];
+ struct asd_sas_phy *sas_phy = &phy->sas_phy;
+
+- phy->irq_status = mvs_read_port_irq_stat(mvi, port_no);
++ phy->irq_status = mvs_read_port_irq_stat(mvi, phy_no);
+ /*
+ * events is port event now ,
+ * we need check the interrupt status which belongs to per port.
+ */
+ dev_printk(KERN_DEBUG, &pdev->dev,
+ "Port %d Event = %X\n",
+- port_no, phy->irq_status);
++ phy_no, phy->irq_status);
+
+ if (phy->irq_status & (PHYEV_POOF | PHYEV_DEC_ERR)) {
+- if (!mvs_is_phy_ready(mvi, port_no)) {
++ mvs_release_task(mvi, phy_no);
++ if (!mvs_is_phy_ready(mvi, phy_no)) {
+ sas_phy_disconnected(sas_phy);
+ sas_ha->notify_phy_event(sas_phy, PHYE_LOSS_OF_SIGNAL);
++ dev_printk(KERN_INFO, &pdev->dev,
++ "Port %d Unplug Notice\n", phy_no);
++
+ } else
+ mvs_phy_control(sas_phy, PHY_FUNC_LINK_RESET, NULL);
+ }
+ if (!(phy->irq_status & PHYEV_DEC_ERR)) {
+ if (phy->irq_status & PHYEV_COMWAKE) {
+- u32 tmp = mvs_read_port_irq_mask(mvi, port_no);
+- mvs_write_port_irq_mask(mvi, port_no,
++ u32 tmp = mvs_read_port_irq_mask(mvi, phy_no);
++ mvs_write_port_irq_mask(mvi, phy_no,
+ tmp | PHYEV_SIG_FIS);
+ }
+ if (phy->irq_status & (PHYEV_SIG_FIS | PHYEV_ID_DONE)) {
+- phy->phy_status = mvs_is_phy_ready(mvi, port_no);
++ phy->phy_status = mvs_is_phy_ready(mvi, phy_no);
+ if (phy->phy_status) {
+- mvs_detect_porttype(mvi, port_no);
++ mvs_detect_porttype(mvi, phy_no);
+
+ if (phy->phy_type & PORT_TYPE_SATA) {
+ u32 tmp = mvs_read_port_irq_mask(mvi,
+- port_no);
++ phy_no);
+ tmp &= ~PHYEV_SIG_FIS;
+ mvs_write_port_irq_mask(mvi,
+- port_no, tmp);
++ phy_no, tmp);
+ }
+
+- mvs_update_phyinfo(mvi, port_no, 0);
++ mvs_update_phyinfo(mvi, phy_no, 0);
+ sas_ha->notify_phy_event(sas_phy,
+ PHYE_OOB_DONE);
+- mvs_bytes_dmaed(mvi, port_no);
++ mvs_bytes_dmaed(mvi, phy_no);
+ } else {
+ dev_printk(KERN_DEBUG, &pdev->dev,
+ "plugin interrupt but phy is gone\n");
+ mvs_phy_control(sas_phy, PHY_FUNC_LINK_RESET,
+ NULL);
+ }
+- } else if (phy->irq_status & PHYEV_BROAD_CH)
++ } else if (phy->irq_status & PHYEV_BROAD_CH) {
++ mvs_release_task(mvi, phy_no);
+ sas_ha->notify_port_event(sas_phy,
+ PORTE_BROADCAST_RCVD);
++ }
+ }
+- mvs_write_port_irq_stat(mvi, port_no, phy->irq_status);
++ mvs_write_port_irq_stat(mvi, phy_no, phy->irq_status);
+ }
+
+ static void mvs_int_sata(struct mvs_info *mvi)
+ {
+- /* FIXME */
++ u32 tmp;
++ void __iomem *regs = mvi->regs;
++ tmp = mr32(INT_STAT_SRS);
++ mw32(INT_STAT_SRS, tmp & 0xFFFF);
++}
++
++static void mvs_slot_reset(struct mvs_info *mvi, struct sas_task *task,
++ u32 slot_idx)
++{
++ void __iomem *regs = mvi->regs;
++ struct domain_device *dev = task->dev;
++ struct asd_sas_port *sas_port = dev->port;
++ struct mvs_port *port = mvi->slot_info[slot_idx].port;
++ u32 reg_set, phy_mask;
++
++ if (!sas_protocol_ata(task->task_proto)) {
++ reg_set = 0;
++ phy_mask = (port->wide_port_phymap) ? port->wide_port_phymap :
++ sas_port->phy_mask;
++ } else {
++ reg_set = port->taskfileset;
++ phy_mask = sas_port->phy_mask;
++ }
++ mvi->tx[mvi->tx_prod] = cpu_to_le32(TXQ_MODE_I | slot_idx |
++ (TXQ_CMD_SLOT_RESET << TXQ_CMD_SHIFT) |
++ (phy_mask << TXQ_PHY_SHIFT) |
++ (reg_set << TXQ_SRS_SHIFT));
++
++ mw32(TX_PROD_IDX, mvi->tx_prod);
++ mvi->tx_prod = (mvi->tx_prod + 1) & (MVS_CHIP_SLOT_SZ - 1);
++}
++
++static int mvs_sata_done(struct mvs_info *mvi, struct sas_task *task,
++ u32 slot_idx, int err)
++{
++ struct mvs_port *port = mvi->slot_info[slot_idx].port;
++ struct task_status_struct *tstat = &task->task_status;
++ struct ata_task_resp *resp = (struct ata_task_resp *)tstat->buf;
++ int stat = SAM_GOOD;
++
++ resp->frame_len = sizeof(struct dev_to_host_fis);
++ memcpy(&resp->ending_fis[0],
++ SATA_RECEIVED_D2H_FIS(port->taskfileset),
++ sizeof(struct dev_to_host_fis));
++ tstat->buf_valid_size = sizeof(*resp);
++ if (unlikely(err))
++ stat = SAS_PROTO_RESPONSE;
++ return stat;
+ }
+
+-static void mvs_slot_free(struct mvs_info *mvi, struct sas_task *task,
++static void mvs_slot_free(struct mvs_info *mvi, u32 rx_desc)
++{
++ u32 slot_idx = rx_desc & RXQ_SLOT_MASK;
++ mvs_tag_clear(mvi, slot_idx);
++}
++
++static void mvs_slot_task_free(struct mvs_info *mvi, struct sas_task *task,
+ struct mvs_slot_info *slot, u32 slot_idx)
+ {
+ if (!sas_protocol_ata(task->task_proto))
+@@ -1149,38 +1297,58 @@ static void mvs_slot_free(struct mvs_info *mvi, struct sas_task *task,
+ /* do nothing */
+ break;
+ }
+-
++ list_del(&slot->list);
++ task->lldd_task = NULL;
+ slot->task = NULL;
+- mvs_tag_clear(mvi, slot_idx);
++ slot->port = NULL;
+ }
+
+-static void mvs_slot_err(struct mvs_info *mvi, struct sas_task *task,
++static int mvs_slot_err(struct mvs_info *mvi, struct sas_task *task,
+ u32 slot_idx)
+ {
+ struct mvs_slot_info *slot = &mvi->slot_info[slot_idx];
+- u64 err_dw0 = *(u32 *) slot->response;
+- void __iomem *regs = mvi->regs;
+- u32 tmp;
++ u32 err_dw0 = le32_to_cpu(*(u32 *) (slot->response));
++ u32 err_dw1 = le32_to_cpu(*(u32 *) (slot->response + 4));
++ int stat = SAM_CHECK_COND;
+
+- if (err_dw0 & CMD_ISS_STPD)
+- if (sas_protocol_ata(task->task_proto)) {
+- tmp = mr32(INT_STAT_SRS);
+- mw32(INT_STAT_SRS, tmp & 0xFFFF);
+- }
++ if (err_dw1 & SLOT_BSY_ERR) {
++ stat = SAS_QUEUE_FULL;
++ mvs_slot_reset(mvi, task, slot_idx);
++ }
++ switch (task->task_proto) {
++ case SAS_PROTOCOL_SSP:
++ break;
++ case SAS_PROTOCOL_SMP:
++ break;
++ case SAS_PROTOCOL_SATA:
++ case SAS_PROTOCOL_STP:
++ case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP:
++ if (err_dw0 & TFILE_ERR)
++ stat = mvs_sata_done(mvi, task, slot_idx, 1);
++ break;
++ default:
++ break;
++ }
+
+- mvs_hba_sb_dump(mvi, slot_idx, task->task_proto);
++ mvs_hexdump(16, (u8 *) slot->response, 0);
++ return stat;
+ }
+
+-static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc)
++static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc, u32 flags)
+ {
+ u32 slot_idx = rx_desc & RXQ_SLOT_MASK;
+ struct mvs_slot_info *slot = &mvi->slot_info[slot_idx];
+ struct sas_task *task = slot->task;
+- struct task_status_struct *tstat = &task->task_status;
+- struct mvs_port *port = &mvi->port[task->dev->port->id];
++ struct task_status_struct *tstat;
++ struct mvs_port *port;
+ bool aborted;
+ void *to;
+
++ if (unlikely(!task || !task->lldd_task))
++ return -1;
++
++ mvs_hba_cq_dump(mvi);
++
+ spin_lock(&task->task_state_lock);
+ aborted = task->task_state_flags & SAS_TASK_STATE_ABORTED;
+ if (!aborted) {
+@@ -1190,22 +1358,27 @@ static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc)
+ }
+ spin_unlock(&task->task_state_lock);
+
+- if (aborted)
++ if (aborted) {
++ mvs_slot_task_free(mvi, task, slot, slot_idx);
++ mvs_slot_free(mvi, rx_desc);
+ return -1;
++ }
+
++ port = slot->port;
++ tstat = &task->task_status;
+ memset(tstat, 0, sizeof(*tstat));
+ tstat->resp = SAS_TASK_COMPLETE;
+
+-
+- if (unlikely(!port->port_attached)) {
+- tstat->stat = SAS_PHY_DOWN;
++ if (unlikely(!port->port_attached || flags)) {
++ mvs_slot_err(mvi, task, slot_idx);
++ if (!sas_protocol_ata(task->task_proto))
++ tstat->stat = SAS_PHY_DOWN;
+ goto out;
+ }
+
+ /* error info record present */
+- if ((rx_desc & RXQ_ERR) && (*(u64 *) slot->response)) {
+- tstat->stat = SAM_CHECK_COND;
+- mvs_slot_err(mvi, task, slot_idx);
++ if (unlikely((rx_desc & RXQ_ERR) && (*(u64 *) slot->response))) {
++ tstat->stat = mvs_slot_err(mvi, task, slot_idx);
+ goto out;
+ }
+
+@@ -1242,21 +1415,7 @@ static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc)
+ case SAS_PROTOCOL_SATA:
+ case SAS_PROTOCOL_STP:
+ case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP: {
+- struct ata_task_resp *resp =
+- (struct ata_task_resp *)tstat->buf;
+-
+- if ((rx_desc & (RXQ_DONE | RXQ_ERR | RXQ_ATTN)) ==
+- RXQ_DONE)
+- tstat->stat = SAM_GOOD;
+- else
+- tstat->stat = SAM_CHECK_COND;
+-
+- resp->frame_len = sizeof(struct dev_to_host_fis);
+- memcpy(&resp->ending_fis[0],
+- SATA_RECEIVED_D2H_FIS(port->taskfileset),
+- sizeof(struct dev_to_host_fis));
+- if (resp->ending_fis[2] & ATA_ERR)
+- mvs_hexdump(16, resp->ending_fis, 0);
++ tstat->stat = mvs_sata_done(mvi, task, slot_idx, 0);
+ break;
+ }
+
+@@ -1266,11 +1425,34 @@ static int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc)
+ }
+
+ out:
+- mvs_slot_free(mvi, task, slot, slot_idx);
++ mvs_slot_task_free(mvi, task, slot, slot_idx);
++ if (unlikely(tstat->stat != SAS_QUEUE_FULL))
++ mvs_slot_free(mvi, rx_desc);
++
++ spin_unlock(&mvi->lock);
+ task->task_done(task);
++ spin_lock(&mvi->lock);
+ return tstat->stat;
+ }
+
++static void mvs_release_task(struct mvs_info *mvi, int phy_no)
++{
++ struct list_head *pos, *n;
++ struct mvs_slot_info *slot;
++ struct mvs_phy *phy = &mvi->phy[phy_no];
++ struct mvs_port *port = phy->port;
++ u32 rx_desc;
++
++ if (!port)
++ return;
++
++ list_for_each_safe(pos, n, &port->list) {
++ slot = container_of(pos, struct mvs_slot_info, list);
++ rx_desc = (u32) (slot - mvi->slot_info);
++ mvs_slot_complete(mvi, rx_desc, 1);
++ }
++}
++
+ static void mvs_int_full(struct mvs_info *mvi)
+ {
+ void __iomem *regs = mvi->regs;
+@@ -1305,40 +1487,43 @@ static int mvs_int_rx(struct mvs_info *mvi, bool self_clear)
+ * we don't have to stall the CPU reading that register.
+ * The actual RX ring is offset by one dword, due to this.
+ */
+- rx_prod_idx = mr32(RX_CONS_IDX) & RX_RING_SZ_MASK;
+- if (rx_prod_idx == 0xfff) { /* h/w hasn't touched RX ring yet */
+- mvi->rx_cons = 0xfff;
++ rx_prod_idx = mvi->rx_cons;
++ mvi->rx_cons = le32_to_cpu(mvi->rx[0]);
++ if (mvi->rx_cons == 0xfff) /* h/w hasn't touched RX ring yet */
+ return 0;
+- }
+
+ /* The CMPL_Q may come late, read from register and try again
+ * note: if coalescing is enabled,
+ * it will need to read from register every time for sure
+ */
+ if (mvi->rx_cons == rx_prod_idx)
+- return 0;
++ mvi->rx_cons = mr32(RX_CONS_IDX) & RX_RING_SZ_MASK;
+
+- if (mvi->rx_cons == 0xfff)
+- mvi->rx_cons = MVS_RX_RING_SZ - 1;
++ if (mvi->rx_cons == rx_prod_idx)
++ return 0;
+
+ while (mvi->rx_cons != rx_prod_idx) {
+
+ /* increment our internal RX consumer pointer */
+- mvi->rx_cons = (mvi->rx_cons + 1) & (MVS_RX_RING_SZ - 1);
++ rx_prod_idx = (rx_prod_idx + 1) & (MVS_RX_RING_SZ - 1);
+
+- rx_desc = le32_to_cpu(mvi->rx[mvi->rx_cons + 1]);
+-
+- mvs_hba_cq_dump(mvi);
++ rx_desc = le32_to_cpu(mvi->rx[rx_prod_idx + 1]);
+
+ if (likely(rx_desc & RXQ_DONE))
+- mvs_slot_complete(mvi, rx_desc);
++ mvs_slot_complete(mvi, rx_desc, 0);
+ if (rx_desc & RXQ_ATTN) {
+ attn = true;
+ dev_printk(KERN_DEBUG, &pdev->dev, "ATTN %X\n",
+ rx_desc);
+ } else if (rx_desc & RXQ_ERR) {
++ if (!(rx_desc & RXQ_DONE))
++ mvs_slot_complete(mvi, rx_desc, 0);
+ dev_printk(KERN_DEBUG, &pdev->dev, "RXQ_ERR %X\n",
+ rx_desc);
++ } else if (rx_desc & RXQ_SLOT_RESET) {
++ dev_printk(KERN_DEBUG, &pdev->dev, "Slot reset[%X]\n",
++ rx_desc);
++ mvs_slot_free(mvi, rx_desc);
+ }
+ }
+
+@@ -1348,6 +1533,23 @@ static int mvs_int_rx(struct mvs_info *mvi, bool self_clear)
+ return 0;
+ }
+
++#ifdef MVS_USE_TASKLET
++static void mvs_tasklet(unsigned long data)
++{
++ struct mvs_info *mvi = (struct mvs_info *) data;
++ unsigned long flags;
++
++ spin_lock_irqsave(&mvi->lock, flags);
++
++#ifdef MVS_DISABLE_MSI
++ mvs_int_full(mvi);
++#else
++ mvs_int_rx(mvi, true);
++#endif
++ spin_unlock_irqrestore(&mvi->lock, flags);
++}
++#endif
++
+ static irqreturn_t mvs_interrupt(int irq, void *opaque)
+ {
+ struct mvs_info *mvi = opaque;
+@@ -1356,18 +1558,21 @@ static irqreturn_t mvs_interrupt(int irq, void *opaque)
+
+ stat = mr32(GBL_INT_STAT);
+
+- /* clear CMD_CMPLT ASAP */
+- mw32_f(INT_STAT, CINT_DONE);
+-
+ if (stat == 0 || stat == 0xffffffff)
+ return IRQ_NONE;
+
++ /* clear CMD_CMPLT ASAP */
++ mw32_f(INT_STAT, CINT_DONE);
++
++#ifndef MVS_USE_TASKLET
+ spin_lock(&mvi->lock);
+
+ mvs_int_full(mvi);
+
+ spin_unlock(&mvi->lock);
+-
++#else
++ tasklet_schedule(&mvi->tasklet);
++#endif
+ return IRQ_HANDLED;
+ }
+
+@@ -1376,12 +1581,15 @@ static irqreturn_t mvs_msi_interrupt(int irq, void *opaque)
+ {
+ struct mvs_info *mvi = opaque;
+
++#ifndef MVS_USE_TASKLET
+ spin_lock(&mvi->lock);
+
+ mvs_int_rx(mvi, true);
+
+ spin_unlock(&mvi->lock);
+-
++#else
++ tasklet_schedule(&mvi->tasklet);
++#endif
+ return IRQ_HANDLED;
+ }
+ #endif
+@@ -1576,15 +1784,19 @@ static u8 mvs_assign_reg_set(struct mvs_info *mvi, struct mvs_port *port)
+ return MVS_ID_NOT_MAPPED;
+ }
+
+-static u32 mvs_get_ncq_tag(struct sas_task *task)
++static u32 mvs_get_ncq_tag(struct sas_task *task, u32 *tag)
+ {
+- u32 tag = 0;
+ struct ata_queued_cmd *qc = task->uldd_task;
+
+- if (qc)
+- tag = qc->tag;
++ if (qc) {
++ if (qc->tf.command == ATA_CMD_FPDMA_WRITE ||
++ qc->tf.command == ATA_CMD_FPDMA_READ) {
++ *tag = qc->tag;
++ return 1;
++ }
++ }
+
+- return tag;
++ return 0;
+ }
+
+ static int mvs_task_prep_ata(struct mvs_info *mvi,
+@@ -1628,11 +1840,9 @@ static int mvs_task_prep_ata(struct mvs_info *mvi,
+ hdr->flags = cpu_to_le32(flags);
+
+ /* FIXME: the low order order 5 bits for the TAG if enable NCQ */
+- if (task->ata_task.use_ncq) {
+- hdr->tags = cpu_to_le32(mvs_get_ncq_tag(task));
+- /*Fill in task file */
+- task->ata_task.fis.sector_count = hdr->tags << 3;
+- } else
++ if (task->ata_task.use_ncq && mvs_get_ncq_tag(task, &hdr->tags))
++ task->ata_task.fis.sector_count |= hdr->tags << 3;
++ else
+ hdr->tags = cpu_to_le32(tag);
+ hdr->data_len = cpu_to_le32(task->total_xfer_len);
+
+@@ -1725,13 +1935,16 @@ static int mvs_task_prep_ssp(struct mvs_info *mvi,
+ u32 flags;
+ u32 resp_len, req_len, i, tag = tei->tag;
+ const u32 max_resp_len = SB_RFB_MAX;
++ u8 phy_mask;
+
+ slot = &mvi->slot_info[tag];
+
++ phy_mask = (port->wide_port_phymap) ? port->wide_port_phymap :
++ task->dev->port->phy_mask;
+ slot->tx = mvi->tx_prod;
+ mvi->tx[mvi->tx_prod] = cpu_to_le32(TXQ_MODE_I | tag |
+ (TXQ_CMD_SSP << TXQ_CMD_SHIFT) |
+- (port->wide_port_phymap << TXQ_PHY_SHIFT));
++ (phy_mask << TXQ_PHY_SHIFT));
+
+ flags = MCH_RETRY;
+ if (task->ssp_task.enable_first_burst) {
+@@ -1832,22 +2045,32 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags)
+ void __iomem *regs = mvi->regs;
+ struct mvs_task_exec_info tei;
+ struct sas_task *t = task;
++ struct mvs_slot_info *slot;
+ u32 tag = 0xdeadbeef, rc, n_elem = 0;
+ unsigned long flags;
+ u32 n = num, pass = 0;
+
+ spin_lock_irqsave(&mvi->lock, flags);
+-
+ do {
++ dev = t->dev;
+ tei.port = &mvi->port[dev->port->id];
+
+ if (!tei.port->port_attached) {
+- struct task_status_struct *ts = &t->task_status;
+- ts->stat = SAS_PHY_DOWN;
+- t->task_done(t);
+- rc = 0;
+- goto exec_exit;
++ if (sas_protocol_ata(t->task_proto)) {
++ rc = SAS_PHY_DOWN;
++ goto out_done;
++ } else {
++ struct task_status_struct *ts = &t->task_status;
++ ts->resp = SAS_TASK_UNDELIVERED;
++ ts->stat = SAS_PHY_DOWN;
++ t->task_done(t);
++ if (n > 1)
++ t = list_entry(t->list.next,
++ struct sas_task, list);
++ continue;
++ }
+ }
++
+ if (!sas_protocol_ata(t->task_proto)) {
+ if (t->num_scatter) {
+ n_elem = pci_map_sg(mvi->pdev, t->scatter,
+@@ -1866,9 +2089,10 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags)
+ if (rc)
+ goto err_out;
+
+- mvi->slot_info[tag].task = t;
+- mvi->slot_info[tag].n_elem = n_elem;
+- memset(mvi->slot_info[tag].buf, 0, MVS_SLOT_BUF_SZ);
++ slot = &mvi->slot_info[tag];
++ t->lldd_task = NULL;
++ slot->n_elem = n_elem;
++ memset(slot->buf, 0, MVS_SLOT_BUF_SZ);
+ tei.task = t;
+ tei.hdr = &mvi->slot[tag];
+ tei.tag = tag;
+@@ -1897,28 +2121,26 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags)
+ if (rc)
+ goto err_out_tag;
+
++ slot->task = t;
++ slot->port = tei.port;
++ t->lldd_task = (void *) slot;
++ list_add_tail(&slot->list, &slot->port->list);
+ /* TODO: select normal or high priority */
+
+ spin_lock(&t->task_state_lock);
+ t->task_state_flags |= SAS_TASK_AT_INITIATOR;
+ spin_unlock(&t->task_state_lock);
+
+- if (n == 1) {
+- spin_unlock_irqrestore(&mvi->lock, flags);
+- mw32(TX_PROD_IDX, mvi->tx_prod);
+- }
+ mvs_hba_memory_dump(mvi, tag, t->task_proto);
+
+ ++pass;
+ mvi->tx_prod = (mvi->tx_prod + 1) & (MVS_CHIP_SLOT_SZ - 1);
+-
+- if (n == 1)
+- break;
+-
+- t = list_entry(t->list.next, struct sas_task, list);
++ if (n > 1)
++ t = list_entry(t->list.next, struct sas_task, list);
+ } while (--n);
+
+- return 0;
++ rc = 0;
++ goto out_done;
+
+ err_out_tag:
+ mvs_tag_free(mvi, tag);
+@@ -1928,7 +2150,7 @@ err_out:
+ if (n_elem)
+ pci_unmap_sg(mvi->pdev, t->scatter, n_elem,
+ t->data_dir);
+-exec_exit:
++out_done:
+ if (pass)
+ mw32(TX_PROD_IDX, (mvi->tx_prod - 1) & (MVS_CHIP_SLOT_SZ - 1));
+ spin_unlock_irqrestore(&mvi->lock, flags);
+@@ -1937,42 +2159,59 @@ exec_exit:
+
+ static int mvs_task_abort(struct sas_task *task)
+ {
+- int rc = 1;
++ int rc;
+ unsigned long flags;
+ struct mvs_info *mvi = task->dev->port->ha->lldd_ha;
+ struct pci_dev *pdev = mvi->pdev;
++ int tag;
+
+ spin_lock_irqsave(&task->task_state_lock, flags);
+ if (task->task_state_flags & SAS_TASK_STATE_DONE) {
+ rc = TMF_RESP_FUNC_COMPLETE;
++ spin_unlock_irqrestore(&task->task_state_lock, flags);
+ goto out_done;
+ }
+ spin_unlock_irqrestore(&task->task_state_lock, flags);
+
+- /*FIXME*/
+- rc = TMF_RESP_FUNC_COMPLETE;
+-
+ switch (task->task_proto) {
+ case SAS_PROTOCOL_SMP:
+- dev_printk(KERN_DEBUG, &pdev->dev, "SMP Abort! ");
++ dev_printk(KERN_DEBUG, &pdev->dev, "SMP Abort! \n");
+ break;
+ case SAS_PROTOCOL_SSP:
+- dev_printk(KERN_DEBUG, &pdev->dev, "SSP Abort! ");
++ dev_printk(KERN_DEBUG, &pdev->dev, "SSP Abort! \n");
+ break;
+ case SAS_PROTOCOL_SATA:
+ case SAS_PROTOCOL_STP:
+ case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP:{
+- dev_printk(KERN_DEBUG, &pdev->dev, "STP Abort! "
+- "Dump D2H FIS: \n");
++ dev_printk(KERN_DEBUG, &pdev->dev, "STP Abort! \n");
++#if _MV_DUMP
++ dev_printk(KERN_DEBUG, &pdev->dev, "Dump D2H FIS: \n");
+ mvs_hexdump(sizeof(struct host_to_dev_fis),
+ (void *)&task->ata_task.fis, 0);
+ dev_printk(KERN_DEBUG, &pdev->dev, "Dump ATAPI Cmd : \n");
+ mvs_hexdump(16, task->ata_task.atapi_packet, 0);
++#endif
++ spin_lock_irqsave(&task->task_state_lock, flags);
++ if (task->task_state_flags & SAS_TASK_NEED_DEV_RESET) {
++ /* TODO */
++ ;
++ }
++ spin_unlock_irqrestore(&task->task_state_lock, flags);
+ break;
+ }
+ default:
+ break;
+ }
++
++ if (mvs_find_tag(mvi, task, &tag)) {
++ spin_lock_irqsave(&mvi->lock, flags);
++ mvs_slot_task_free(mvi, task, &mvi->slot_info[tag], tag);
++ spin_unlock_irqrestore(&mvi->lock, flags);
++ }
++ if (!mvs_task_exec(task, 1, GFP_ATOMIC))
++ rc = TMF_RESP_FUNC_COMPLETE;
++ else
++ rc = TMF_RESP_FUNC_FAILED;
+ out_done:
+ return rc;
+ }
+@@ -2001,7 +2240,7 @@ static void mvs_free(struct mvs_info *mvi)
+ mvi->rx_fis, mvi->rx_fis_dma);
+ if (mvi->rx)
+ dma_free_coherent(&mvi->pdev->dev,
+- sizeof(*mvi->rx) * MVS_RX_RING_SZ,
++ sizeof(*mvi->rx) * (MVS_RX_RING_SZ + 1),
+ mvi->rx, mvi->rx_dma);
+ if (mvi->slot)
+ dma_free_coherent(&mvi->pdev->dev,
+@@ -2109,6 +2348,9 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
+ return NULL;
+
+ spin_lock_init(&mvi->lock);
++#ifdef MVS_USE_TASKLET
++ tasklet_init(&mvi->tasklet, mvs_tasklet, (unsigned long)mvi);
++#endif
+ mvi->pdev = pdev;
+ mvi->chip = chip;
+
+@@ -2132,6 +2374,10 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
+ mvs_phy_init(mvi, i);
+ arr_phy[i] = &mvi->phy[i].sas_phy;
+ arr_port[i] = &mvi->port[i].sas_port;
++ mvi->port[i].taskfileset = MVS_ID_NOT_MAPPED;
++ mvi->port[i].wide_port_phymap = 0;
++ mvi->port[i].port_attached = 0;
++ INIT_LIST_HEAD(&mvi->port[i].list);
+ }
+
+ SHOST_TO_SAS_HA(mvi->shost) = &mvi->sas;
+@@ -2148,9 +2394,10 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
+ mvi->sas.sas_phy = arr_phy;
+ mvi->sas.sas_port = arr_port;
+ mvi->sas.num_phys = chip->n_phy;
+- mvi->sas.lldd_max_execute_num = MVS_CHIP_SLOT_SZ - 1;
++ mvi->sas.lldd_max_execute_num = 1;
+ mvi->sas.lldd_queue_size = MVS_QUEUE_SIZE;
+- mvi->can_queue = (MVS_CHIP_SLOT_SZ >> 1) - 1;
++ mvi->shost->can_queue = MVS_CAN_QUEUE;
++ mvi->shost->cmd_per_lun = MVS_SLOTS / mvi->sas.num_phys;
+ mvi->sas.lldd_ha = mvi;
+ mvi->sas.core.shost = mvi->shost;
+
+@@ -2203,11 +2450,11 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
+ memset(mvi->rx_fis, 0, MVS_RX_FISL_SZ);
+
+ mvi->rx = dma_alloc_coherent(&pdev->dev,
+- sizeof(*mvi->rx) * MVS_RX_RING_SZ,
++ sizeof(*mvi->rx) * (MVS_RX_RING_SZ + 1),
+ &mvi->rx_dma, GFP_KERNEL);
+ if (!mvi->rx)
+ goto err_out;
+- memset(mvi->rx, 0, sizeof(*mvi->rx) * MVS_RX_RING_SZ);
++ memset(mvi->rx, 0, sizeof(*mvi->rx) * (MVS_RX_RING_SZ + 1));
+
+ mvi->rx[0] = cpu_to_le32(0xfff);
+ mvi->rx_cons = 0xfff;
+@@ -2357,7 +2604,7 @@ static void __devinit mvs_phy_hacks(struct mvs_info *mvi)
+ mvs_cw32(regs, CMD_SAS_CTL0, tmp);
+
+ /* workaround for WDTIMEOUT , set to 550 ms */
+- mvs_cw32(regs, CMD_WD_TIMER, 0xffffff);
++ mvs_cw32(regs, CMD_WD_TIMER, 0x86470);
+
+ /* not to halt for different port op during wideport link change */
+ mvs_cw32(regs, CMD_APP_ERR_CONFIG, 0xffefbf7d);
+@@ -2465,17 +2712,16 @@ static u32 mvs_is_phy_ready(struct mvs_info *mvi, int i)
+ {
+ u32 tmp;
+ struct mvs_phy *phy = &mvi->phy[i];
+- struct mvs_port *port;
++ struct mvs_port *port = phy->port;;
+
+ tmp = mvs_read_phy_ctl(mvi, i);
+
+ if ((tmp & PHY_READY_MASK) && !(phy->irq_status & PHYEV_POOF)) {
+- if (!phy->port)
++ if (!port)
+ phy->phy_attached = 1;
+ return tmp;
+ }
+
+- port = phy->port;
+ if (port) {
+ if (phy->phy_type & PORT_TYPE_SAS) {
+ port->wide_port_phymap &= ~(1U << i);
+@@ -2497,7 +2743,7 @@ static void mvs_update_phyinfo(struct mvs_info *mvi, int i,
+ {
+ struct mvs_phy *phy = &mvi->phy[i];
+ struct pci_dev *pdev = mvi->pdev;
+- u32 tmp, j;
++ u32 tmp;
+ u64 tmp64;
+
+ mvs_write_port_cfg_addr(mvi, i, PHYR_IDENTIFY);
+@@ -2524,46 +2770,20 @@ static void mvs_update_phyinfo(struct mvs_info *mvi, int i,
+ sas_phy->linkrate =
+ (phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >>
+ PHY_NEG_SPP_PHYS_LINK_RATE_MASK_OFFSET;
+-
+- /* Updated attached_sas_addr */
+- mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_ADDR_HI);
+- phy->att_dev_sas_addr =
+- (u64) mvs_read_port_cfg_data(mvi, i) << 32;
+-
+- mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_ADDR_LO);
+- phy->att_dev_sas_addr |= mvs_read_port_cfg_data(mvi, i);
+-
+- dev_printk(KERN_DEBUG, &pdev->dev,
+- "phy[%d] Get Attached Address 0x%llX ,"
+- " SAS Address 0x%llX\n",
+- i, phy->att_dev_sas_addr, phy->dev_sas_addr);
+- dev_printk(KERN_DEBUG, &pdev->dev,
+- "Rate = %x , type = %d\n",
+- sas_phy->linkrate, phy->phy_type);
+-
+-#if 1
+- /*
+- * If the device is capable of supporting a wide port
+- * on its phys, it may configure the phys as a wide port.
+- */
+- if (phy->phy_type & PORT_TYPE_SAS)
+- for (j = 0; j < mvi->chip->n_phy && j != i; ++j) {
+- if ((mvi->phy[j].phy_attached) &&
+- (mvi->phy[j].phy_type & PORT_TYPE_SAS))
+- if (phy->att_dev_sas_addr ==
+- mvi->phy[j].att_dev_sas_addr - 1) {
+- phy->att_dev_sas_addr =
+- mvi->phy[j].att_dev_sas_addr;
+- break;
+- }
+- }
+-
+-#endif
+-
+- tmp64 = cpu_to_be64(phy->att_dev_sas_addr);
+- memcpy(sas_phy->attached_sas_addr, &tmp64, SAS_ADDR_SIZE);
++ phy->minimum_linkrate =
++ (phy->phy_status &
++ PHY_MIN_SPP_PHYS_LINK_RATE_MASK) >> 8;
++ phy->maximum_linkrate =
++ (phy->phy_status &
++ PHY_MAX_SPP_PHYS_LINK_RATE_MASK) >> 12;
+
+ if (phy->phy_type & PORT_TYPE_SAS) {
++ /* Updated attached_sas_addr */
++ mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_ADDR_HI);
++ phy->att_dev_sas_addr =
++ (u64) mvs_read_port_cfg_data(mvi, i) << 32;
++ mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_ADDR_LO);
++ phy->att_dev_sas_addr |= mvs_read_port_cfg_data(mvi, i);
+ mvs_write_port_cfg_addr(mvi, i, PHYR_ATT_DEV_INFO);
+ phy->att_dev_info = mvs_read_port_cfg_data(mvi, i);
+ phy->identify.device_type =
+@@ -2582,6 +2802,7 @@ static void mvs_update_phyinfo(struct mvs_info *mvi, int i,
+ } else if (phy->phy_type & PORT_TYPE_SATA) {
+ phy->identify.target_port_protocols = SAS_PROTOCOL_STP;
+ if (mvs_is_sig_fis_received(phy->irq_status)) {
++ phy->att_dev_sas_addr = i; /* temp */
+ if (phy_st & PHY_OOB_DTCTD)
+ sas_phy->oob_mode = SATA_OOB_MODE;
+ phy->frame_rcvd_size =
+@@ -2591,20 +2812,34 @@ static void mvs_update_phyinfo(struct mvs_info *mvi, int i,
+ } else {
+ dev_printk(KERN_DEBUG, &pdev->dev,
+ "No sig fis\n");
++ phy->phy_type &= ~(PORT_TYPE_SATA);
++ goto out_done;
+ }
+ }
++ tmp64 = cpu_to_be64(phy->att_dev_sas_addr);
++ memcpy(sas_phy->attached_sas_addr, &tmp64, SAS_ADDR_SIZE);
++
++ dev_printk(KERN_DEBUG, &pdev->dev,
++ "phy[%d] Get Attached Address 0x%llX ,"
++ " SAS Address 0x%llX\n",
++ i, phy->att_dev_sas_addr, phy->dev_sas_addr);
++ dev_printk(KERN_DEBUG, &pdev->dev,
++ "Rate = %x , type = %d\n",
++ sas_phy->linkrate, phy->phy_type);
++
+ /* workaround for HW phy decoding error on 1.5g disk drive */
+ mvs_write_port_vsr_addr(mvi, i, VSR_PHY_MODE6);
+ tmp = mvs_read_port_vsr_data(mvi, i);
+ if (((phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >>
+ PHY_NEG_SPP_PHYS_LINK_RATE_MASK_OFFSET) ==
+ SAS_LINK_RATE_1_5_GBPS)
+- tmp &= ~PHY_MODE6_DTL_SPEED;
++ tmp &= ~PHY_MODE6_LATECLK;
+ else
+- tmp |= PHY_MODE6_DTL_SPEED;
++ tmp |= PHY_MODE6_LATECLK;
+ mvs_write_port_vsr_data(mvi, i, tmp);
+
+ }
++out_done:
+ if (get_st)
+ mvs_write_port_irq_stat(mvi, i, phy->irq_status);
+ }
+@@ -2629,6 +2864,11 @@ static void mvs_port_formed(struct asd_sas_phy *sas_phy)
+ spin_unlock_irqrestore(&mvi->lock, flags);
+ }
+
++static int mvs_I_T_nexus_reset(struct domain_device *dev)
++{
++ return TMF_RESP_FUNC_FAILED;
++}
++
+ static int __devinit mvs_hw_init(struct mvs_info *mvi)
+ {
+ void __iomem *regs = mvi->regs;
+@@ -2790,13 +3030,12 @@ static int __devinit mvs_hw_init(struct mvs_info *mvi)
+ /* enable CMD/CMPL_Q/RESP mode */
+ mw32(PCS, PCS_SATA_RETRY | PCS_FIS_RX_EN | PCS_CMD_EN);
+
+- /* re-enable interrupts globally */
+- mvs_hba_interrupt_enable(mvi);
+-
+ /* enable completion queue interrupt */
+- tmp = (CINT_PORT_MASK | CINT_DONE | CINT_MEM);
++ tmp = (CINT_PORT_MASK | CINT_DONE | CINT_MEM | CINT_SRS);
+ mw32(INT_MASK, tmp);
+
++ /* Enable SRS interrupt */
++ mw32(INT_MASK_SRS, 0xFF);
+ return 0;
+ }
+
+@@ -2870,6 +3109,8 @@ static int __devinit mvs_pci_init(struct pci_dev *pdev,
+
+ mvs_print_info(mvi);
+
++ mvs_hba_interrupt_enable(mvi);
++
+ scsi_scan_host(mvi->shost);
+
+ return 0;
+@@ -2915,12 +3156,22 @@ static struct sas_domain_function_template mvs_transport_ops = {
+ .lldd_execute_task = mvs_task_exec,
+ .lldd_control_phy = mvs_phy_control,
+ .lldd_abort_task = mvs_task_abort,
+- .lldd_port_formed = mvs_port_formed
++ .lldd_port_formed = mvs_port_formed,
++ .lldd_I_T_nexus_reset = mvs_I_T_nexus_reset,
+ };
+
+ static struct pci_device_id __devinitdata mvs_pci_table[] = {
+ { PCI_VDEVICE(MARVELL, 0x6320), chip_6320 },
+ { PCI_VDEVICE(MARVELL, 0x6340), chip_6440 },
++ {
++ .vendor = PCI_VENDOR_ID_MARVELL,
++ .device = 0x6440,
++ .subvendor = PCI_ANY_ID,
++ .subdevice = 0x6480,
++ .class = 0,
++ .class_mask = 0,
++ .driver_data = chip_6480,
++ },
+ { PCI_VDEVICE(MARVELL, 0x6440), chip_6440 },
+ { PCI_VDEVICE(MARVELL, 0x6480), chip_6480 },
+
+diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
+index b9b09a7..ed83cdb 100644
+--- a/drivers/scsi/scsi_sysfs.c
++++ b/drivers/scsi/scsi_sysfs.c
+@@ -294,7 +294,6 @@ static void scsi_device_dev_release_usercontext(struct work_struct *work)
+ }
+
+ if (sdev->request_queue) {
+- bsg_unregister_queue(sdev->request_queue);
+ sdev->request_queue->queuedata = NULL;
+ /* user context needed to free queue */
+ scsi_free_queue(sdev->request_queue);
+@@ -858,6 +857,7 @@ void __scsi_remove_device(struct scsi_device *sdev)
+ if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0)
+ return;
+
++ bsg_unregister_queue(sdev->request_queue);
+ class_device_unregister(&sdev->sdev_classdev);
+ transport_remove_device(dev);
+ device_del(dev);
+diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
+index d57bf3e..430997e 100644
+--- a/drivers/serial/atmel_serial.c
++++ b/drivers/serial/atmel_serial.c
+@@ -96,6 +96,7 @@
+
+ /* PDC registers */
+ #define UART_PUT_PTCR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_PTCR)
++#define UART_GET_TCR(port) __raw_readl((port)->membase + ATMEL_PDC_TCR)
+ #define UART_GET_PTSR(port) __raw_readl((port)->membase + ATMEL_PDC_PTSR)
+
+ #define UART_PUT_RPR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_RPR)
+@@ -106,6 +107,7 @@
+
+ #define UART_PUT_TPR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_TPR)
+ #define UART_PUT_TCR(port,v) __raw_writel(v, (port)->membase + ATMEL_PDC_TCR)
++#define UART_GET_TCR(port) __raw_readl((port)->membase + ATMEL_PDC_TCR)
+
+ static int (*atmel_open_hook)(struct uart_port *);
+ static void (*atmel_close_hook)(struct uart_port *);
+@@ -562,17 +564,22 @@ static void atmel_tx_dma(struct uart_port *port)
+ struct atmel_dma_buffer *pdc = &atmel_port->pdc_tx;
+ int count;
+
++ /* nothing left to transmit? */
++ if (UART_GET_TCR(port))
++ return;
++
+ xmit->tail += pdc->ofs;
+ xmit->tail &= UART_XMIT_SIZE - 1;
+
+ port->icount.tx += pdc->ofs;
+ pdc->ofs = 0;
+
+- if (!uart_circ_empty(xmit)) {
+- /* more to transmit - setup next transfer */
++ /* more to transmit - setup next transfer */
+
+- /* disable PDC transmit */
+- UART_PUT_PTCR(port, ATMEL_PDC_TXTDIS);
++ /* disable PDC transmit */
++ UART_PUT_PTCR(port, ATMEL_PDC_TXTDIS);
++
++ if (!uart_circ_empty(xmit)) {
+ dma_sync_single_for_device(port->dev,
+ pdc->dma_addr,
+ pdc->dma_size,
+@@ -586,11 +593,6 @@ static void atmel_tx_dma(struct uart_port *port)
+ /* re-enable PDC transmit and interrupts */
+ UART_PUT_PTCR(port, ATMEL_PDC_TXTEN);
+ UART_PUT_IER(port, ATMEL_US_ENDTX | ATMEL_US_TXBUFE);
+- } else {
+- /* nothing left to transmit - disable the transmitter */
+-
+- /* disable PDC transmit */
+- UART_PUT_PTCR(port, ATMEL_PDC_TXTDIS);
+ }
+
+ if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
+@@ -1274,6 +1276,7 @@ static void atmel_console_write(struct console *co, const char *s, u_int count)
+ {
+ struct uart_port *port = &atmel_ports[co->index].uart;
+ unsigned int status, imr;
++ unsigned int pdc_tx;
+
+ /*
+ * First, save IMR and then disable interrupts
+@@ -1281,6 +1284,10 @@ static void atmel_console_write(struct console *co, const char *s, u_int count)
+ imr = UART_GET_IMR(port);
+ UART_PUT_IDR(port, ATMEL_US_RXRDY | ATMEL_US_TXRDY);
+
++ /* Store PDC transmit status and disable it */
++ pdc_tx = UART_GET_PTSR(port) & ATMEL_PDC_TXTEN;
++ UART_PUT_PTCR(port, ATMEL_PDC_TXTDIS);
++
+ uart_console_write(port, s, count, atmel_console_putchar);
+
+ /*
+@@ -1290,6 +1297,11 @@ static void atmel_console_write(struct console *co, const char *s, u_int count)
+ do {
+ status = UART_GET_CSR(port);
+ } while (!(status & ATMEL_US_TXRDY));
++
++ /* Restore PDC transmit status */
++ if (pdc_tx)
++ UART_PUT_PTCR(port, ATMEL_PDC_TXTEN);
++
+ /* set interrupts back the way they were */
+ UART_PUT_IER(port, imr);
+ }
+diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
+index 40e8240..4e065e5 100644
+--- a/drivers/usb/host/ehci-hub.c
++++ b/drivers/usb/host/ehci-hub.c
+@@ -135,8 +135,6 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
+ hcd->state = HC_STATE_QUIESCING;
+ }
+ ehci->command = ehci_readl(ehci, &ehci->regs->command);
+- if (ehci->reclaim)
+- end_unlink_async(ehci);
+ ehci_work(ehci);
+
+ /* Unlike other USB host controller types, EHCI doesn't have
+@@ -180,6 +178,9 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
+ ehci_halt (ehci);
+ hcd->state = HC_STATE_SUSPENDED;
+
++ if (ehci->reclaim)
++ end_unlink_async(ehci);
++
+ /* allow remote wakeup */
+ mask = INTR_MASK;
+ if (!device_may_wakeup(&hcd->self.root_hub->dev))
+diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
+index dd4798e..33f1c1c 100644
+--- a/drivers/usb/host/ohci-hcd.c
++++ b/drivers/usb/host/ohci-hcd.c
+@@ -467,7 +467,7 @@ static void unlink_watchdog_func(unsigned long _ohci)
+ out:
+ kfree(seen);
+ if (ohci->eds_scheduled)
+- mod_timer(&ohci->unlink_watchdog, round_jiffies_relative(HZ));
++ mod_timer(&ohci->unlink_watchdog, round_jiffies(jiffies + HZ));
+ done:
+ spin_unlock_irqrestore(&ohci->lock, flags);
+ }
+diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c
+index 5181732..9c9f3b5 100644
+--- a/drivers/usb/host/ohci-q.c
++++ b/drivers/usb/host/ohci-q.c
+@@ -169,7 +169,7 @@ static int ed_schedule (struct ohci_hcd *ohci, struct ed *ed)
+ if (quirk_zfmicro(ohci)
+ && (ed->type == PIPE_INTERRUPT)
+ && !(ohci->eds_scheduled++))
+- mod_timer(&ohci->unlink_watchdog, round_jiffies_relative(HZ));
++ mod_timer(&ohci->unlink_watchdog, round_jiffies(jiffies + HZ));
+ wmb ();
+
+ /* we care about rm_list when setting CLE/BLE in case the HC was at
+diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
+index da922df..b6b5b2a 100644
+--- a/drivers/usb/misc/usbtest.c
++++ b/drivers/usb/misc/usbtest.c
+@@ -378,6 +378,7 @@ alloc_sglist (int nents, int max, int vary)
+ sg = kmalloc (nents * sizeof *sg, GFP_KERNEL);
+ if (!sg)
+ return NULL;
++ sg_init_table(sg, nents);
+
+ for (i = 0; i < nents; i++) {
+ char *buf;
+@@ -390,7 +391,7 @@ alloc_sglist (int nents, int max, int vary)
+ }
+
+ /* kmalloc pages are always physically contiguous! */
+- sg_init_one(&sg[i], buf, size);
++ sg_set_buf(&sg[i], buf, size);
+
+ switch (pattern) {
+ case 0:
+diff --git a/drivers/usb/serial/cp2101.c b/drivers/usb/serial/cp2101.c
+index f3ca660..324bb61 100644
+--- a/drivers/usb/serial/cp2101.c
++++ b/drivers/usb/serial/cp2101.c
+@@ -75,6 +75,7 @@ static struct usb_device_id id_table [] = {
+ { USB_DEVICE(0x10C4, 0x81E2) }, /* Lipowsky Industrie Elektronik GmbH, Baby-LIN */
+ { USB_DEVICE(0x10C4, 0x81E7) }, /* Aerocomm Radio */
+ { USB_DEVICE(0x10C4, 0x8218) }, /* Lipowsky Industrie Elektronik GmbH, HARP-1 */
++ { USB_DEVICE(0x10c4, 0x8293) }, /* Telegesys ETRX2USB */
+ { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
+ { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */
+ { USB_DEVICE(0x10C4, 0xF001) }, /* Elan Digital Systems USBscope50 */
+diff --git a/drivers/usb/serial/keyspan.h b/drivers/usb/serial/keyspan.h
+index 8a0d174..74ce8bc 100644
+--- a/drivers/usb/serial/keyspan.h
++++ b/drivers/usb/serial/keyspan.h
+@@ -637,6 +637,7 @@ static struct usb_serial_driver keyspan_pre_device = {
+ .description = "Keyspan - (without firmware)",
+ .id_table = keyspan_pre_ids,
+ .num_interrupt_in = NUM_DONT_CARE,
++ .num_interrupt_out = NUM_DONT_CARE,
+ .num_bulk_in = NUM_DONT_CARE,
+ .num_bulk_out = NUM_DONT_CARE,
+ .num_ports = 1,
+@@ -651,6 +652,7 @@ static struct usb_serial_driver keyspan_1port_device = {
+ .description = "Keyspan 1 port adapter",
+ .id_table = keyspan_1port_ids,
+ .num_interrupt_in = NUM_DONT_CARE,
++ .num_interrupt_out = NUM_DONT_CARE,
+ .num_bulk_in = NUM_DONT_CARE,
+ .num_bulk_out = NUM_DONT_CARE,
+ .num_ports = 1,
+@@ -678,6 +680,7 @@ static struct usb_serial_driver keyspan_2port_device = {
+ .description = "Keyspan 2 port adapter",
+ .id_table = keyspan_2port_ids,
+ .num_interrupt_in = NUM_DONT_CARE,
++ .num_interrupt_out = NUM_DONT_CARE,
+ .num_bulk_in = NUM_DONT_CARE,
+ .num_bulk_out = NUM_DONT_CARE,
+ .num_ports = 2,
+@@ -705,6 +708,7 @@ static struct usb_serial_driver keyspan_4port_device = {
+ .description = "Keyspan 4 port adapter",
+ .id_table = keyspan_4port_ids,
+ .num_interrupt_in = NUM_DONT_CARE,
++ .num_interrupt_out = NUM_DONT_CARE,
+ .num_bulk_in = NUM_DONT_CARE,
+ .num_bulk_out = NUM_DONT_CARE,
+ .num_ports = 4,
+diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
+index b517f93..e3d241f 100644
+--- a/drivers/usb/serial/ti_usb_3410_5052.c
++++ b/drivers/usb/serial/ti_usb_3410_5052.c
+@@ -265,8 +265,8 @@ static struct usb_serial_driver ti_1port_device = {
+ .description = "TI USB 3410 1 port adapter",
+ .usb_driver = &ti_usb_driver,
+ .id_table = ti_id_table_3410,
+- .num_interrupt_in = 1,
+- .num_bulk_in = 1,
++ .num_interrupt_in = NUM_DONT_CARE,
++ .num_bulk_in = NUM_DONT_CARE,
+ .num_bulk_out = 1,
+ .num_ports = 1,
+ .attach = ti_startup,
+diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
+index 22b3f78..c2b01f7 100644
+--- a/drivers/usb/serial/visor.c
++++ b/drivers/usb/serial/visor.c
+@@ -191,7 +191,7 @@ static struct usb_serial_driver handspring_device = {
+ .id_table = id_table,
+ .num_interrupt_in = NUM_DONT_CARE,
+ .num_bulk_in = 2,
+- .num_bulk_out = 2,
++ .num_bulk_out = NUM_DONT_CARE,
+ .num_ports = 2,
+ .open = visor_open,
+ .close = visor_close,
+diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
+index ea94dba..d85dc6d 100644
+--- a/drivers/xen/grant-table.c
++++ b/drivers/xen/grant-table.c
+@@ -381,11 +381,15 @@ EXPORT_SYMBOL_GPL(gnttab_cancel_free_callback);
+ static int grow_gnttab_list(unsigned int more_frames)
+ {
+ unsigned int new_nr_grant_frames, extra_entries, i;
++ unsigned int nr_glist_frames, new_nr_glist_frames;
+
+ new_nr_grant_frames = nr_grant_frames + more_frames;
+ extra_entries = more_frames * GREFS_PER_GRANT_FRAME;
+
+- for (i = nr_grant_frames; i < new_nr_grant_frames; i++) {
++ nr_glist_frames = (nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP;
++ new_nr_glist_frames =
++ (new_nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP;
++ for (i = nr_glist_frames; i < new_nr_glist_frames; i++) {
+ gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_ATOMIC);
+ if (!gnttab_list[i])
+ goto grow_nomem;
+@@ -407,7 +411,7 @@ static int grow_gnttab_list(unsigned int more_frames)
+ return 0;
+
+ grow_nomem:
+- for ( ; i >= nr_grant_frames; i--)
++ for ( ; i >= nr_glist_frames; i--)
+ free_page((unsigned long) gnttab_list[i]);
+ return -ENOMEM;
+ }
+@@ -530,7 +534,7 @@ static int gnttab_expand(unsigned int req_entries)
+ static int __devinit gnttab_init(void)
+ {
+ int i;
+- unsigned int max_nr_glist_frames;
++ unsigned int max_nr_glist_frames, nr_glist_frames;
+ unsigned int nr_init_grefs;
+
+ if (!is_running_on_xen())
+@@ -543,15 +547,15 @@ static int __devinit gnttab_init(void)
+ * grant reference free list on the current hypervisor.
+ */
+ max_nr_glist_frames = (boot_max_nr_grant_frames *
+- GREFS_PER_GRANT_FRAME /
+- (PAGE_SIZE / sizeof(grant_ref_t)));
++ GREFS_PER_GRANT_FRAME / RPP);
+
+ gnttab_list = kmalloc(max_nr_glist_frames * sizeof(grant_ref_t *),
+ GFP_KERNEL);
+ if (gnttab_list == NULL)
+ return -ENOMEM;
+
+- for (i = 0; i < nr_grant_frames; i++) {
++ nr_glist_frames = (nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP;
++ for (i = 0; i < nr_glist_frames; i++) {
+ gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_KERNEL);
+ if (gnttab_list[i] == NULL)
+ goto ini_nomem;
+diff --git a/fs/afs/cell.c b/fs/afs/cell.c
+index 788865d..584bb0f 100644
+--- a/fs/afs/cell.c
++++ b/fs/afs/cell.c
+@@ -138,6 +138,7 @@ struct afs_cell *afs_cell_create(const char *name, char *vllist)
+ cell = afs_cell_alloc(name, vllist);
+ if (IS_ERR(cell)) {
+ _leave(" = %ld", PTR_ERR(cell));
++ up_write(&afs_cells_sem);
+ return cell;
+ }
+
+diff --git a/fs/afs/internal.h b/fs/afs/internal.h
+index 9ba16ed..eec41c7 100644
+--- a/fs/afs/internal.h
++++ b/fs/afs/internal.h
+@@ -749,7 +749,7 @@ extern int afs_fsync(struct file *, struct dentry *, int);
+ extern unsigned afs_debug;
+
+ #define dbgprintk(FMT,...) \
+- printk("[%x%-6.6s] "FMT"\n", smp_processor_id(), current->comm ,##__VA_ARGS__)
++ printk("[%-6.6s] "FMT"\n", current->comm ,##__VA_ARGS__)
+
+ /* make sure we maintain the format strings, even when debugging is disabled */
+ static inline __attribute__((format(printf,1,2)))
+diff --git a/fs/buffer.c b/fs/buffer.c
+index 9819632..39ff144 100644
+--- a/fs/buffer.c
++++ b/fs/buffer.c
+@@ -1181,7 +1181,20 @@ __getblk_slow(struct block_device *bdev, sector_t block, int size)
+ void mark_buffer_dirty(struct buffer_head *bh)
+ {
+ WARN_ON_ONCE(!buffer_uptodate(bh));
+- if (!buffer_dirty(bh) && !test_set_buffer_dirty(bh))
++
++ /*
++ * Very *carefully* optimize the it-is-already-dirty case.
++ *
++ * Don't let the final "is it dirty" escape to before we
++ * perhaps modified the buffer.
++ */
++ if (buffer_dirty(bh)) {
++ smp_mb();
++ if (buffer_dirty(bh))
++ return;
++ }
++
++ if (!test_set_buffer_dirty(bh))
+ __set_page_dirty(bh->b_page, page_mapping(bh->b_page), 0);
+ }
+
+diff --git a/fs/efs/inode.c b/fs/efs/inode.c
+index 79e19e5..a8e7797 100644
+--- a/fs/efs/inode.c
++++ b/fs/efs/inode.c
+@@ -140,7 +140,7 @@ struct inode *efs_iget(struct super_block *super, unsigned long ino)
+ brelse(bh);
+
+ #ifdef DEBUG
+- printk(KERN_DEBUG "EFS: read_inode(): inode %lu, extents %d, mode %o\n",
++ printk(KERN_DEBUG "EFS: efs_iget(): inode %lu, extents %d, mode %o\n",
+ inode->i_ino, in->numextents, inode->i_mode);
+ #endif
+
+diff --git a/fs/splice.c b/fs/splice.c
+index 0670c91..a861bb3 100644
+--- a/fs/splice.c
++++ b/fs/splice.c
+@@ -320,7 +320,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
+ break;
+
+ error = add_to_page_cache_lru(page, mapping, index,
+- GFP_KERNEL);
++ mapping_gfp_mask(mapping));
+ if (unlikely(error)) {
+ page_cache_release(page);
+ if (error == -EEXIST)
+diff --git a/include/asm-alpha/current.h b/include/asm-alpha/current.h
+index 8d88a13..094d285 100644
+--- a/include/asm-alpha/current.h
++++ b/include/asm-alpha/current.h
+@@ -3,7 +3,7 @@
+
+ #include <linux/thread_info.h>
+
+-#define get_current() (current_thread_info()->task + 0)
++#define get_current() (current_thread_info()->task)
+ #define current get_current()
+
+ #endif /* _ALPHA_CURRENT_H */
+diff --git a/include/asm-alpha/dma-mapping.h b/include/asm-alpha/dma-mapping.h
+index 75a1aff..db351d1 100644
+--- a/include/asm-alpha/dma-mapping.h
++++ b/include/asm-alpha/dma-mapping.h
+@@ -11,7 +11,7 @@
+ #define dma_unmap_single(dev, addr, size, dir) \
+ pci_unmap_single(alpha_gendev_to_pci(dev), addr, size, dir)
+ #define dma_alloc_coherent(dev, size, addr, gfp) \
+- pci_alloc_consistent(alpha_gendev_to_pci(dev), size, addr)
++ __pci_alloc_consistent(alpha_gendev_to_pci(dev), size, addr, gfp)
+ #define dma_free_coherent(dev, size, va, addr) \
+ pci_free_consistent(alpha_gendev_to_pci(dev), size, va, addr)
+ #define dma_map_page(dev, page, off, size, dir) \
+diff --git a/include/asm-alpha/kvm.h b/include/asm-alpha/kvm.h
+new file mode 100644
+index 0000000..b9daec4
+--- /dev/null
++++ b/include/asm-alpha/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_ALPHA_H
++#define __LINUX_KVM_ALPHA_H
++
++/* alpha does not support KVM */
++
++#endif
+diff --git a/include/asm-alpha/pci.h b/include/asm-alpha/pci.h
+index d5b10ef..d31fd49 100644
+--- a/include/asm-alpha/pci.h
++++ b/include/asm-alpha/pci.h
+@@ -76,7 +76,13 @@ extern inline void pcibios_penalize_isa_irq(int irq, int active)
+ successful and sets *DMA_ADDRP to the pci side dma address as well,
+ else DMA_ADDRP is undefined. */
+
+-extern void *pci_alloc_consistent(struct pci_dev *, size_t, dma_addr_t *);
++extern void *__pci_alloc_consistent(struct pci_dev *, size_t,
++ dma_addr_t *, gfp_t);
++static inline void *
++pci_alloc_consistent(struct pci_dev *dev, size_t size, dma_addr_t *dma)
++{
++ return __pci_alloc_consistent(dev, size, dma, GFP_ATOMIC);
++}
+
+ /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must
+ be values that were returned from pci_alloc_consistent. SIZE must
+diff --git a/include/asm-arm/kvm.h b/include/asm-arm/kvm.h
+new file mode 100644
+index 0000000..cb3c08c
+--- /dev/null
++++ b/include/asm-arm/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_ARM_H
++#define __LINUX_KVM_ARM_H
++
++/* arm does not support KVM */
++
++#endif
+diff --git a/include/asm-avr32/kvm.h b/include/asm-avr32/kvm.h
+new file mode 100644
+index 0000000..8c57770
+--- /dev/null
++++ b/include/asm-avr32/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_AVR32_H
++#define __LINUX_KVM_AVR32_H
++
++/* avr32 does not support KVM */
++
++#endif
+diff --git a/include/asm-blackfin/kvm.h b/include/asm-blackfin/kvm.h
+new file mode 100644
+index 0000000..e3477d7
+--- /dev/null
++++ b/include/asm-blackfin/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_BLACKFIN_H
++#define __LINUX_KVM_BLACKFIN_H
++
++/* blackfin does not support KVM */
++
++#endif
+diff --git a/include/asm-cris/kvm.h b/include/asm-cris/kvm.h
+new file mode 100644
+index 0000000..c860f51
+--- /dev/null
++++ b/include/asm-cris/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_CRIS_H
++#define __LINUX_KVM_CRIS_H
++
++/* cris does not support KVM */
++
++#endif
+diff --git a/include/asm-frv/kvm.h b/include/asm-frv/kvm.h
+new file mode 100644
+index 0000000..9c8a4f0
+--- /dev/null
++++ b/include/asm-frv/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_FRV_H
++#define __LINUX_KVM_FRV_H
++
++/* frv does not support KVM */
++
++#endif
+diff --git a/include/asm-generic/Kbuild.asm b/include/asm-generic/Kbuild.asm
+index fd9dcfd..92a6d91 100644
+--- a/include/asm-generic/Kbuild.asm
++++ b/include/asm-generic/Kbuild.asm
+@@ -1,3 +1,5 @@
++header-y += kvm.h
++
+ ifeq ($(wildcard include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h)
+ unifdef-y += a.out.h
+ endif
+diff --git a/include/asm-h8300/kvm.h b/include/asm-h8300/kvm.h
+new file mode 100644
+index 0000000..bdbed7b
+--- /dev/null
++++ b/include/asm-h8300/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_H8300_H
++#define __LINUX_KVM_H8300_H
++
++/* h8300 does not support KVM */
++
++#endif
+diff --git a/include/asm-ia64/kvm.h b/include/asm-ia64/kvm.h
+new file mode 100644
+index 0000000..030d29b
+--- /dev/null
++++ b/include/asm-ia64/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_IA64_H
++#define __LINUX_KVM_IA64_H
++
++/* ia64 does not support KVM */
++
++#endif
+diff --git a/include/asm-m32r/kvm.h b/include/asm-m32r/kvm.h
+new file mode 100644
+index 0000000..99a4051
+--- /dev/null
++++ b/include/asm-m32r/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_M32R_H
++#define __LINUX_KVM_M32R_H
++
++/* m32r does not support KVM */
++
++#endif
+diff --git a/include/asm-m68k/kvm.h b/include/asm-m68k/kvm.h
+new file mode 100644
+index 0000000..7ed27fc
+--- /dev/null
++++ b/include/asm-m68k/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_M68K_H
++#define __LINUX_KVM_M68K_H
++
++/* m68k does not support KVM */
++
++#endif
+diff --git a/include/asm-m68knommu/kvm.h b/include/asm-m68knommu/kvm.h
+new file mode 100644
+index 0000000..b49d425
+--- /dev/null
++++ b/include/asm-m68knommu/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_M68KNOMMU_H
++#define __LINUX_KVM_M68KNOMMU_H
++
++/* m68knommu does not support KVM */
++
++#endif
+diff --git a/include/asm-mips/kvm.h b/include/asm-mips/kvm.h
+new file mode 100644
+index 0000000..093a5b7
+--- /dev/null
++++ b/include/asm-mips/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_MIPS_H
++#define __LINUX_KVM_MIPS_H
++
++/* mips does not support KVM */
++
++#endif
+diff --git a/include/asm-mips/mach-pb1x00/pb1200.h b/include/asm-mips/mach-pb1x00/pb1200.h
+index ed5fd73..72213e3 100644
+--- a/include/asm-mips/mach-pb1x00/pb1200.h
++++ b/include/asm-mips/mach-pb1x00/pb1200.h
+@@ -245,7 +245,7 @@ enum external_pb1200_ints {
+ PB1200_SD1_INSERT_INT,
+ PB1200_SD1_EJECT_INT,
+
+- PB1200_INT_END (PB1200_INT_BEGIN + 15)
++ PB1200_INT_END = PB1200_INT_BEGIN + 15
+ };
+
+ /* For drivers/pcmcia/au1000_db1x00.c */
+diff --git a/include/asm-mn10300/kvm.h b/include/asm-mn10300/kvm.h
+new file mode 100644
+index 0000000..f6b609f
+--- /dev/null
++++ b/include/asm-mn10300/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_MN10300_H
++#define __LINUX_KVM_MN10300_H
++
++/* mn10300 does not support KVM */
++
++#endif
+diff --git a/include/asm-parisc/kvm.h b/include/asm-parisc/kvm.h
+new file mode 100644
+index 0000000..00cc458
+--- /dev/null
++++ b/include/asm-parisc/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_PARISC_H
++#define __LINUX_KVM_PARISC_H
++
++/* parisc does not support KVM */
++
++#endif
+diff --git a/include/asm-powerpc/kvm.h b/include/asm-powerpc/kvm.h
+new file mode 100644
+index 0000000..d1b530f
+--- /dev/null
++++ b/include/asm-powerpc/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_POWERPC_H
++#define __LINUX_KVM_POWERPC_H
++
++/* powerpc does not support KVM */
++
++#endif
+diff --git a/include/asm-s390/kvm.h b/include/asm-s390/kvm.h
+new file mode 100644
+index 0000000..573f2a3
+--- /dev/null
++++ b/include/asm-s390/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_S390_H
++#define __LINUX_KVM_S390_H
++
++/* s390 does not support KVM */
++
++#endif
+diff --git a/include/asm-sh/kvm.h b/include/asm-sh/kvm.h
+new file mode 100644
+index 0000000..6af51db
+--- /dev/null
++++ b/include/asm-sh/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_SH_H
++#define __LINUX_KVM_SH_H
++
++/* sh does not support KVM */
++
++#endif
+diff --git a/include/asm-sparc/kvm.h b/include/asm-sparc/kvm.h
+new file mode 100644
+index 0000000..2e5478d
+--- /dev/null
++++ b/include/asm-sparc/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_SPARC_H
++#define __LINUX_KVM_SPARC_H
++
++/* sparc does not support KVM */
++
++#endif
+diff --git a/include/asm-sparc64/kvm.h b/include/asm-sparc64/kvm.h
+new file mode 100644
+index 0000000..380537a
+--- /dev/null
++++ b/include/asm-sparc64/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_SPARC64_H
++#define __LINUX_KVM_SPARC64_H
++
++/* sparc64 does not support KVM */
++
++#endif
+diff --git a/include/asm-um/kvm.h b/include/asm-um/kvm.h
+new file mode 100644
+index 0000000..66aa770
+--- /dev/null
++++ b/include/asm-um/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_UM_H
++#define __LINUX_KVM_UM_H
++
++/* um does not support KVM */
++
++#endif
+diff --git a/include/asm-v850/kvm.h b/include/asm-v850/kvm.h
+new file mode 100644
+index 0000000..3f729b7
+--- /dev/null
++++ b/include/asm-v850/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_V850_H
++#define __LINUX_KVM_V850_H
++
++/* v850 does not support KVM */
++
++#endif
+diff --git a/include/asm-x86/irqflags.h b/include/asm-x86/irqflags.h
+index 92021c1..0e22924 100644
+--- a/include/asm-x86/irqflags.h
++++ b/include/asm-x86/irqflags.h
+@@ -70,6 +70,26 @@ static inline void raw_local_irq_restore(unsigned long flags)
+ native_restore_fl(flags);
+ }
+
++#ifdef CONFIG_X86_VSMP
++
++/*
++ * Interrupt control for the VSMP architecture:
++ */
++
++static inline void raw_local_irq_disable(void)
++{
++ unsigned long flags = __raw_local_save_flags();
++ raw_local_irq_restore((flags & ~X86_EFLAGS_IF) | X86_EFLAGS_AC);
++}
++
++static inline void raw_local_irq_enable(void)
++{
++ unsigned long flags = __raw_local_save_flags();
++ raw_local_irq_restore((flags | X86_EFLAGS_IF) & (~X86_EFLAGS_AC));
++}
++
++#else
++
+ static inline void raw_local_irq_disable(void)
+ {
+ native_irq_disable();
+@@ -80,6 +100,8 @@ static inline void raw_local_irq_enable(void)
+ native_irq_enable();
+ }
+
++#endif
++
+ /*
+ * Used in the idle loop; sti takes one instruction cycle
+ * to complete:
+@@ -137,10 +159,17 @@ static inline unsigned long __raw_local_irq_save(void)
+ #define raw_local_irq_save(flags) \
+ do { (flags) = __raw_local_irq_save(); } while (0)
+
++#ifdef CONFIG_X86_VSMP
++static inline int raw_irqs_disabled_flags(unsigned long flags)
++{
++ return !(flags & X86_EFLAGS_IF) || (flags & X86_EFLAGS_AC);
++}
++#else
+ static inline int raw_irqs_disabled_flags(unsigned long flags)
+ {
+ return !(flags & X86_EFLAGS_IF);
+ }
++#endif
+
+ static inline int raw_irqs_disabled(void)
+ {
+diff --git a/include/asm-xtensa/kvm.h b/include/asm-xtensa/kvm.h
+new file mode 100644
+index 0000000..bda4e33
+--- /dev/null
++++ b/include/asm-xtensa/kvm.h
+@@ -0,0 +1,6 @@
++#ifndef __LINUX_KVM_XTENSA_H
++#define __LINUX_KVM_XTENSA_H
++
++/* xtensa does not support KVM */
++
++#endif
+diff --git a/include/linux/Kbuild b/include/linux/Kbuild
+index 4a446a1..9cdd12a 100644
+--- a/include/linux/Kbuild
++++ b/include/linux/Kbuild
+@@ -253,7 +253,7 @@ unifdef-y += kd.h
+ unifdef-y += kernelcapi.h
+ unifdef-y += kernel.h
+ unifdef-y += keyboard.h
+-unifdef-$(CONFIG_HAVE_KVM) += kvm.h
++unifdef-y += kvm.h
+ unifdef-y += llc.h
+ unifdef-y += loop.h
+ unifdef-y += lp.h
+diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
+index 028ba3b..a6a6035 100644
+--- a/include/linux/cgroup.h
++++ b/include/linux/cgroup.h
+@@ -256,6 +256,7 @@ struct cgroup_subsys {
+ void (*bind)(struct cgroup_subsys *ss, struct cgroup *root);
+ int subsys_id;
+ int active;
++ int disabled;
+ int early_init;
+ #define MAX_CGROUP_TYPE_NAMELEN 32
+ const char *name;
+diff --git a/include/linux/hpet.h b/include/linux/hpet.h
+index 9cd94bf..2dc29ce 100644
+--- a/include/linux/hpet.h
++++ b/include/linux/hpet.h
+@@ -64,7 +64,7 @@ struct hpet {
+ */
+
+ #define Tn_INT_ROUTE_CAP_MASK (0xffffffff00000000ULL)
+-#define Tn_INT_ROUTE_CAP_SHIFT (32UL)
++#define Tn_INI_ROUTE_CAP_SHIFT (32UL)
+ #define Tn_FSB_INT_DELCAP_MASK (0x8000UL)
+ #define Tn_FSB_INT_DELCAP_SHIFT (15)
+ #define Tn_FSB_EN_CNF_MASK (0x4000UL)
+diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h
+index 1b4ccf2..cac4b36 100644
+--- a/include/linux/iocontext.h
++++ b/include/linux/iocontext.h
+@@ -2,6 +2,7 @@
+ #define IOCONTEXT_H
+
+ #include <linux/radix-tree.h>
++#include <linux/rcupdate.h>
+
+ /*
+ * This is the per-process anticipatory I/O scheduler state.
+@@ -54,6 +55,8 @@ struct cfq_io_context {
+
+ void (*dtor)(struct io_context *); /* destructor */
+ void (*exit)(struct io_context *); /* called on task exit */
++
++ struct rcu_head rcu_head;
+ };
+
+ /*
+diff --git a/include/linux/libata.h b/include/linux/libata.h
+index b064bfe..37ee881 100644
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -350,7 +350,8 @@ enum {
+ ATAPI_READ = 0, /* READs */
+ ATAPI_WRITE = 1, /* WRITEs */
+ ATAPI_READ_CD = 2, /* READ CD [MSF] */
+- ATAPI_MISC = 3, /* the rest */
++ ATAPI_PASS_THRU = 3, /* SAT pass-thru */
++ ATAPI_MISC = 4, /* the rest */
+ };
+
+ enum ata_xfer_mask {
+@@ -849,6 +850,7 @@ extern unsigned int ata_dev_try_classify(struct ata_device *dev, int present,
+ */
+ extern void ata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf);
+ extern void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
++extern int atapi_cmd_type(u8 opcode);
+ extern void ata_tf_to_fis(const struct ata_taskfile *tf,
+ u8 pmp, int is_cmd, u8 *fis);
+ extern void ata_tf_from_fis(const u8 *fis, struct ata_taskfile *tf);
+@@ -1379,27 +1381,6 @@ static inline int ata_try_flush_cache(const struct ata_device *dev)
+ ata_id_has_flush_ext(dev->id);
+ }
+
+-static inline int atapi_cmd_type(u8 opcode)
+-{
+- switch (opcode) {
+- case GPCMD_READ_10:
+- case GPCMD_READ_12:
+- return ATAPI_READ;
+-
+- case GPCMD_WRITE_10:
+- case GPCMD_WRITE_12:
+- case GPCMD_WRITE_AND_VERIFY_10:
+- return ATAPI_WRITE;
+-
+- case GPCMD_READ_CD:
+- case GPCMD_READ_CD_MSF:
+- return ATAPI_READ_CD;
+-
+- default:
+- return ATAPI_MISC;
+- }
+-}
+-
+ static inline unsigned int ac_err_mask(u8 status)
+ {
+ if (status & (ATA_BUSY | ATA_DRQ))
+diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
+index a2f0032..ee81906 100644
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -383,9 +383,11 @@ static inline void __napi_complete(struct napi_struct *n)
+
+ static inline void napi_complete(struct napi_struct *n)
+ {
+- local_irq_disable();
++ unsigned long flags;
++
++ local_irq_save(flags);
+ __napi_complete(n);
+- local_irq_enable();
++ local_irq_restore(flags);
+ }
+
+ /**
+@@ -1072,12 +1074,14 @@ static inline int netif_is_multiqueue(const struct net_device *dev)
+ }
+
+ /* Use this variant when it is known for sure that it
+- * is executing from interrupt context.
++ * is executing from hardware interrupt context or with hardware interrupts
++ * disabled.
+ */
+ extern void dev_kfree_skb_irq(struct sk_buff *skb);
+
+ /* Use this variant in places where it could be invoked
+- * either from interrupt or non-interrupt context.
++ * from either hardware interrupt or other context, with hardware interrupts
++ * either disabled or enabled.
+ */
+ extern void dev_kfree_skb_any(struct sk_buff *skb);
+
+diff --git a/include/net/llc.h b/include/net/llc.h
+index f502458..7940da1 100644
+--- a/include/net/llc.h
++++ b/include/net/llc.h
+@@ -65,7 +65,6 @@ struct llc_sap {
+
+ extern struct list_head llc_sap_list;
+ extern rwlock_t llc_sap_list_lock;
+-extern unsigned char llc_station_mac_sa[ETH_ALEN];
+
+ extern int llc_rcv(struct sk_buff *skb, struct net_device *dev,
+ struct packet_type *pt, struct net_device *orig_dev);
+diff --git a/include/net/llc_pdu.h b/include/net/llc_pdu.h
+index 4a8f58b..75b8e29 100644
+--- a/include/net/llc_pdu.h
++++ b/include/net/llc_pdu.h
+@@ -381,7 +381,7 @@ static inline void llc_pdu_init_as_xid_cmd(struct sk_buff *skb,
+ xid_info->fmt_id = LLC_XID_FMT_ID; /* 0x81 */
+ xid_info->type = svcs_supported;
+ xid_info->rw = rx_window << 1; /* size of receive window */
+- skb_put(skb, 3);
++ skb_put(skb, sizeof(struct llc_xid_info));
+ }
+
+ /**
+@@ -406,7 +406,7 @@ static inline void llc_pdu_init_as_xid_rsp(struct sk_buff *skb,
+ xid_info->fmt_id = LLC_XID_FMT_ID;
+ xid_info->type = svcs_supported;
+ xid_info->rw = rx_window << 1;
+- skb_put(skb, 3);
++ skb_put(skb, sizeof(struct llc_xid_info));
+ }
+
+ /* LLC Type 2 FRMR response information field format */
+diff --git a/include/net/llc_sap.h b/include/net/llc_sap.h
+index 2c56dbe..ed25bec 100644
+--- a/include/net/llc_sap.h
++++ b/include/net/llc_sap.h
+@@ -1,5 +1,8 @@
+ #ifndef LLC_SAP_H
+ #define LLC_SAP_H
++
++#include <asm/types.h>
++
+ /*
+ * Copyright (c) 1997 by Procom Technology,Inc.
+ * 2001-2003 by Arnaldo Carvalho de Melo <acme at conectiva.com.br>
+@@ -19,8 +22,8 @@ struct sock;
+ extern void llc_sap_rtn_pdu(struct llc_sap *sap, struct sk_buff *skb);
+ extern void llc_save_primitive(struct sock *sk, struct sk_buff* skb,
+ unsigned char prim);
+-extern struct sk_buff *llc_alloc_frame(struct sock *sk,
+- struct net_device *dev);
++extern struct sk_buff *llc_alloc_frame(struct sock *sk, struct net_device *dev,
++ u8 type, u32 data_size);
+
+ extern void llc_build_and_send_test_pkt(struct llc_sap *sap,
+ struct sk_buff *skb,
+diff --git a/kernel/cgroup.c b/kernel/cgroup.c
+index 53d86b4..62f1a52 100644
+--- a/kernel/cgroup.c
++++ b/kernel/cgroup.c
+@@ -782,7 +782,14 @@ static int parse_cgroupfs_options(char *data,
+ if (!*token)
+ return -EINVAL;
+ if (!strcmp(token, "all")) {
+- opts->subsys_bits = (1 << CGROUP_SUBSYS_COUNT) - 1;
++ /* Add all non-disabled subsystems */
++ int i;
++ opts->subsys_bits = 0;
++ for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
++ struct cgroup_subsys *ss = subsys[i];
++ if (!ss->disabled)
++ opts->subsys_bits |= 1ul << i;
++ }
+ } else if (!strcmp(token, "noprefix")) {
+ set_bit(ROOT_NOPREFIX, &opts->flags);
+ } else if (!strncmp(token, "release_agent=", 14)) {
+@@ -800,7 +807,8 @@ static int parse_cgroupfs_options(char *data,
+ for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
+ ss = subsys[i];
+ if (!strcmp(token, ss->name)) {
+- set_bit(i, &opts->subsys_bits);
++ if (!ss->disabled)
++ set_bit(i, &opts->subsys_bits);
+ break;
+ }
+ }
+@@ -2600,13 +2608,13 @@ static int proc_cgroupstats_show(struct seq_file *m, void *v)
+ {
+ int i;
+
+- seq_puts(m, "#subsys_name\thierarchy\tnum_cgroups\n");
++ seq_puts(m, "#subsys_name\thierarchy\tnum_cgroups\tenabled\n");
+ mutex_lock(&cgroup_mutex);
+ for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
+ struct cgroup_subsys *ss = subsys[i];
+- seq_printf(m, "%s\t%lu\t%d\n",
++ seq_printf(m, "%s\t%lu\t%d\t%d\n",
+ ss->name, ss->root->subsys_bits,
+- ss->root->number_of_cgroups);
++ ss->root->number_of_cgroups, !ss->disabled);
+ }
+ mutex_unlock(&cgroup_mutex);
+ return 0;
+@@ -3010,3 +3018,27 @@ static void cgroup_release_agent(struct work_struct *work)
+ spin_unlock(&release_list_lock);
+ mutex_unlock(&cgroup_mutex);
+ }
++
++static int __init cgroup_disable(char *str)
++{
++ int i;
++ char *token;
++
++ while ((token = strsep(&str, ",")) != NULL) {
++ if (!*token)
++ continue;
++
++ for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
++ struct cgroup_subsys *ss = subsys[i];
++
++ if (!strcmp(token, ss->name)) {
++ ss->disabled = 1;
++ printk(KERN_INFO "Disabling %s control group"
++ " subsystem\n", ss->name);
++ break;
++ }
++ }
++ }
++ return 1;
++}
++__setup("cgroup_disable=", cgroup_disable);
+diff --git a/kernel/marker.c b/kernel/marker.c
+index 041c33e..005b959 100644
+--- a/kernel/marker.c
++++ b/kernel/marker.c
+@@ -671,6 +671,9 @@ int marker_probe_register(const char *name, const char *format,
+ entry->rcu_pending = 1;
+ /* write rcu_pending before calling the RCU callback */
+ smp_wmb();
++#ifdef CONFIG_PREEMPT_RCU
++ synchronize_sched(); /* Until we have the call_rcu_sched() */
++#endif
+ call_rcu(&entry->rcu, free_old_closure);
+ end:
+ mutex_unlock(&markers_mutex);
+@@ -714,6 +717,9 @@ int marker_probe_unregister(const char *name,
+ entry->rcu_pending = 1;
+ /* write rcu_pending before calling the RCU callback */
+ smp_wmb();
++#ifdef CONFIG_PREEMPT_RCU
++ synchronize_sched(); /* Until we have the call_rcu_sched() */
++#endif
+ call_rcu(&entry->rcu, free_old_closure);
+ remove_marker(name); /* Ignore busy error message */
+ ret = 0;
+@@ -792,6 +798,9 @@ int marker_probe_unregister_private_data(marker_probe_func *probe,
+ entry->rcu_pending = 1;
+ /* write rcu_pending before calling the RCU callback */
+ smp_wmb();
++#ifdef CONFIG_PREEMPT_RCU
++ synchronize_sched(); /* Until we have the call_rcu_sched() */
++#endif
+ call_rcu(&entry->rcu, free_old_closure);
+ remove_marker(entry->name); /* Ignore busy error message */
+ end:
+diff --git a/mm/memcontrol.c b/mm/memcontrol.c
+index 9b648bd..23b5fa4 100644
+--- a/mm/memcontrol.c
++++ b/mm/memcontrol.c
+@@ -533,6 +533,9 @@ static int mem_cgroup_charge_common(struct page *page, struct mm_struct *mm,
+ unsigned long nr_retries = MEM_CGROUP_RECLAIM_RETRIES;
+ struct mem_cgroup_per_zone *mz;
+
++ if (mem_cgroup_subsys.disabled)
++ return 0;
++
+ /*
+ * Should page_cgroup's go to their own slab?
+ * One could optimize the performance of the charging routine
+@@ -665,6 +668,9 @@ void mem_cgroup_uncharge_page(struct page *page)
+ struct mem_cgroup_per_zone *mz;
+ unsigned long flags;
+
++ if (mem_cgroup_subsys.disabled)
++ return;
++
+ /*
+ * Check if our page_cgroup is valid
+ */
+@@ -705,6 +711,9 @@ int mem_cgroup_prepare_migration(struct page *page)
+ {
+ struct page_cgroup *pc;
+
++ if (mem_cgroup_subsys.disabled)
++ return 0;
++
+ lock_page_cgroup(page);
+ pc = page_get_page_cgroup(page);
+ if (pc)
+@@ -803,6 +812,9 @@ static int mem_cgroup_force_empty(struct mem_cgroup *mem)
+ int ret = -EBUSY;
+ int node, zid;
+
++ if (mem_cgroup_subsys.disabled)
++ return 0;
++
+ css_get(&mem->css);
+ /*
+ * page reclaim code (kswapd etc..) will move pages between
+@@ -1053,6 +1065,8 @@ static void mem_cgroup_destroy(struct cgroup_subsys *ss,
+ static int mem_cgroup_populate(struct cgroup_subsys *ss,
+ struct cgroup *cont)
+ {
++ if (mem_cgroup_subsys.disabled)
++ return 0;
+ return cgroup_add_files(cont, ss, mem_cgroup_files,
+ ARRAY_SIZE(mem_cgroup_files));
+ }
+@@ -1065,6 +1079,9 @@ static void mem_cgroup_move_task(struct cgroup_subsys *ss,
+ struct mm_struct *mm;
+ struct mem_cgroup *mem, *old_mem;
+
++ if (mem_cgroup_subsys.disabled)
++ return;
++
+ mm = get_task_mm(p);
+ if (mm == NULL)
+ return;
+diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
+index dbc81b9..b33410a 100644
+--- a/net/8021q/vlan.c
++++ b/net/8021q/vlan.c
+@@ -374,17 +374,35 @@ static void vlan_sync_address(struct net_device *dev,
+ memcpy(vlan->real_dev_addr, dev->dev_addr, ETH_ALEN);
+ }
+
++static void __vlan_device_event(struct net_device *dev, unsigned long event)
++{
++ switch (event) {
++ case NETDEV_CHANGENAME:
++ vlan_proc_rem_dev(dev);
++ if (vlan_proc_add_dev(dev) < 0)
++ pr_warning("8021q: failed to change proc name for %s\n",
++ dev->name);
++ break;
++ }
++}
++
+ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
+ void *ptr)
+ {
+ struct net_device *dev = ptr;
+- struct vlan_group *grp = __vlan_find_group(dev->ifindex);
++ struct vlan_group *grp;
+ int i, flgs;
+ struct net_device *vlandev;
+
+ if (dev->nd_net != &init_net)
+ return NOTIFY_DONE;
+
++ if (is_vlan_dev(dev)) {
++ __vlan_device_event(dev, event);
++ goto out;
++ }
++
++ grp = __vlan_find_group(dev->ifindex);
+ if (!grp)
+ goto out;
+
+diff --git a/net/8021q/vlan.h b/net/8021q/vlan.h
+index 73efcc7..51271ae 100644
+--- a/net/8021q/vlan.h
++++ b/net/8021q/vlan.h
+@@ -45,4 +45,9 @@ void vlan_netlink_fini(void);
+
+ extern struct rtnl_link_ops vlan_link_ops;
+
++static inline int is_vlan_dev(struct net_device *dev)
++{
++ return dev->priv_flags & IFF_802_1Q_VLAN;
++}
++
+ #endif /* !(__BEN_VLAN_802_1Q_INC__) */
+diff --git a/net/8021q/vlanproc.c b/net/8021q/vlanproc.c
+index 146cfb0..9671aa5 100644
+--- a/net/8021q/vlanproc.c
++++ b/net/8021q/vlanproc.c
+@@ -210,11 +210,6 @@ int vlan_proc_rem_dev(struct net_device *vlandev)
+ * The following few functions build the content of /proc/net/vlan/config
+ */
+
+-static inline int is_vlan_dev(struct net_device *dev)
+-{
+- return dev->priv_flags & IFF_802_1Q_VLAN;
+-}
+-
+ /* start read of /proc/net/vlan/config */
+ static void *vlan_seq_start(struct seq_file *seq, loff_t *pos)
+ __acquires(dev_base_lock)
+diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c
+index 1220d8a..d366423 100644
+--- a/net/bluetooth/af_bluetooth.c
++++ b/net/bluetooth/af_bluetooth.c
+@@ -53,6 +53,30 @@
+ /* Bluetooth sockets */
+ #define BT_MAX_PROTO 8
+ static struct net_proto_family *bt_proto[BT_MAX_PROTO];
++
++static struct lock_class_key bt_slock_key[BT_MAX_PROTO];
++static struct lock_class_key bt_lock_key[BT_MAX_PROTO];
++static const char *bt_key_strings[BT_MAX_PROTO] = {
++ "sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP",
++ "sk_lock-AF_BLUETOOTH-BTPROTO_HCI",
++ "sk_lock-AF_BLUETOOTH-BTPROTO_SCO",
++ "sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM",
++ "sk_lock-AF_BLUETOOTH-BTPROTO_BNEP",
++ "sk_lock-AF_BLUETOOTH-BTPROTO_CMTP",
++ "sk_lock-AF_BLUETOOTH-BTPROTO_HIDP",
++ "sk_lock-AF_BLUETOOTH-BTPROTO_AVDTP",
++};
++
++static const char *bt_slock_key_strings[BT_MAX_PROTO] = {
++ "slock-AF_BLUETOOTH-BTPROTO_L2CAP",
++ "slock-AF_BLUETOOTH-BTPROTO_HCI",
++ "slock-AF_BLUETOOTH-BTPROTO_SCO",
++ "slock-AF_BLUETOOTH-BTPROTO_RFCOMM",
++ "slock-AF_BLUETOOTH-BTPROTO_BNEP",
++ "slock-AF_BLUETOOTH-BTPROTO_CMTP",
++ "slock-AF_BLUETOOTH-BTPROTO_HIDP",
++ "slock-AF_BLUETOOTH-BTPROTO_AVDTP",
++};
+ static DEFINE_RWLOCK(bt_proto_lock);
+
+ int bt_sock_register(int proto, struct net_proto_family *ops)
+@@ -95,6 +119,21 @@ int bt_sock_unregister(int proto)
+ }
+ EXPORT_SYMBOL(bt_sock_unregister);
+
++static void bt_reclassify_sock_lock(struct socket *sock, int proto)
++{
++ struct sock *sk = sock->sk;
++
++ if (!sk)
++ return;
++ BUG_ON(sock_owned_by_user(sk));
++
++ sock_lock_init_class_and_name(sk,
++ bt_slock_key_strings[proto],
++ &bt_slock_key[proto],
++ bt_key_strings[proto],
++ &bt_lock_key[proto]);
++}
++
+ static int bt_sock_create(struct net *net, struct socket *sock, int proto)
+ {
+ int err;
+@@ -117,6 +156,7 @@ static int bt_sock_create(struct net *net, struct socket *sock, int proto)
+
+ if (bt_proto[proto] && try_module_get(bt_proto[proto]->owner)) {
+ err = bt_proto[proto]->create(net, sock, proto);
++ bt_reclassify_sock_lock(sock, proto);
+ module_put(bt_proto[proto]->owner);
+ }
+
+diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
+index b5d4019..1d36c09 100644
+--- a/net/bluetooth/hci_sock.c
++++ b/net/bluetooth/hci_sock.c
+@@ -84,7 +84,7 @@ static struct hci_sec_filter hci_sec_filter = {
+ };
+
+ static struct bt_sock_list hci_sk_list = {
+- .lock = RW_LOCK_UNLOCKED
++ .lock = __RW_LOCK_UNLOCKED(hci_sk_list.lock)
+ };
+
+ /* Send frame to RAW socket */
+diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
+index 34f8bf9..2957df4 100644
+--- a/net/bluetooth/l2cap.c
++++ b/net/bluetooth/l2cap.c
+@@ -62,7 +62,7 @@ static u32 l2cap_feat_mask = 0x0000;
+ static const struct proto_ops l2cap_sock_ops;
+
+ static struct bt_sock_list l2cap_sk_list = {
+- .lock = RW_LOCK_UNLOCKED
++ .lock = __RW_LOCK_UNLOCKED(l2cap_sk_list.lock)
+ };
+
+ static void __l2cap_sock_close(struct sock *sk, int reason);
+diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c
+index 0c2c937..eb62558 100644
+--- a/net/bluetooth/rfcomm/core.c
++++ b/net/bluetooth/rfcomm/core.c
+@@ -423,8 +423,8 @@ static int __rfcomm_dlc_close(struct rfcomm_dlc *d, int err)
+
+ rfcomm_dlc_lock(d);
+ d->state = BT_CLOSED;
+- d->state_change(d, err);
+ rfcomm_dlc_unlock(d);
++ d->state_change(d, err);
+
+ skb_queue_purge(&d->tx_queue);
+ rfcomm_dlc_unlink(d);
+diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
+index c46d510..af4e393 100644
+--- a/net/bluetooth/rfcomm/sock.c
++++ b/net/bluetooth/rfcomm/sock.c
+@@ -60,7 +60,7 @@
+ static const struct proto_ops rfcomm_sock_ops;
+
+ static struct bt_sock_list rfcomm_sk_list = {
+- .lock = RW_LOCK_UNLOCKED
++ .lock = __RW_LOCK_UNLOCKED(rfcomm_sk_list.lock)
+ };
+
+ static void rfcomm_sock_close(struct sock *sk);
+diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
+index e4c779b..c3f749a 100644
+--- a/net/bluetooth/rfcomm/tty.c
++++ b/net/bluetooth/rfcomm/tty.c
+@@ -570,12 +570,7 @@ static void rfcomm_dev_state_change(struct rfcomm_dlc *dlc, int err)
+ return;
+
+ rfcomm_dev_del(dev);
+- /* We have to drop DLC lock here, otherwise
+- rfcomm_dev_put() will dead lock if it's
+- the last reference. */
+- rfcomm_dlc_unlock(dlc);
+ rfcomm_dev_put(dev);
+- rfcomm_dlc_lock(dlc);
+ }
+ } else
+ tty_hangup(dev->tty);
+diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
+index b91d3c8..cd887cd 100644
+--- a/net/bluetooth/sco.c
++++ b/net/bluetooth/sco.c
+@@ -58,7 +58,7 @@
+ static const struct proto_ops sco_sock_ops;
+
+ static struct bt_sock_list sco_sk_list = {
+- .lock = RW_LOCK_UNLOCKED
++ .lock = __RW_LOCK_UNLOCKED(sco_sk_list.lock)
+ };
+
+ static void __sco_chan_add(struct sco_conn *conn, struct sock *sk, struct sock *parent);
+diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
+index f3ceca3..4e73e57 100644
+--- a/net/ipv4/esp4.c
++++ b/net/ipv4/esp4.c
+@@ -336,7 +336,7 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
+ struct scatterlist *asg;
+ int err = -EINVAL;
+
+- if (!pskb_may_pull(skb, sizeof(*esph)))
++ if (!pskb_may_pull(skb, sizeof(*esph) + crypto_aead_ivsize(aead)))
+ goto out;
+
+ if (elen <= 0)
+diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c
+index 724d69a..a0a3c78 100644
+--- a/net/ipv4/inet_fragment.c
++++ b/net/ipv4/inet_fragment.c
+@@ -86,7 +86,10 @@ EXPORT_SYMBOL(inet_frags_fini);
+ void inet_frags_exit_net(struct netns_frags *nf, struct inet_frags *f)
+ {
+ nf->low_thresh = 0;
++
++ local_bh_disable();
+ inet_frag_evictor(nf, f);
++ local_bh_enable();
+ }
+ EXPORT_SYMBOL(inet_frags_exit_net);
+
+diff --git a/net/ipv4/ip_forward.c b/net/ipv4/ip_forward.c
+index 0b3b328..a4506c8 100644
+--- a/net/ipv4/ip_forward.c
++++ b/net/ipv4/ip_forward.c
+@@ -85,7 +85,7 @@ int ip_forward(struct sk_buff *skb)
+ if (opt->is_strictroute && rt->rt_dst != rt->rt_gateway)
+ goto sr_failed;
+
+- if (unlikely(skb->len > dst_mtu(&rt->u.dst) &&
++ if (unlikely(skb->len > dst_mtu(&rt->u.dst) && !skb_is_gso(skb) &&
+ (ip_hdr(skb)->frag_off & htons(IP_DF))) && !skb->local_df) {
+ IP_INC_STATS(IPSTATS_MIB_FRAGFAILS);
+ icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
+diff --git a/net/ipv4/netfilter/ip_queue.c b/net/ipv4/netfilter/ip_queue.c
+index fe05da4..4dc1628 100644
+--- a/net/ipv4/netfilter/ip_queue.c
++++ b/net/ipv4/netfilter/ip_queue.c
+@@ -588,11 +588,9 @@ static int __init ip_queue_init(void)
+ }
+
+ #ifdef CONFIG_PROC_FS
+- proc = create_proc_entry(IPQ_PROC_FS_NAME, 0, init_net.proc_net);
+- if (proc) {
+- proc->owner = THIS_MODULE;
+- proc->proc_fops = &ip_queue_proc_fops;
+- } else {
++ proc = proc_create(IPQ_PROC_FS_NAME, 0, init_net.proc_net,
++ &ip_queue_proc_fops);
++ if (!proc) {
+ printk(KERN_ERR "ip_queue: failed to create proc entry\n");
+ goto cleanup_ipqnl;
+ }
+diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c
+index c6cf84c..52926c8 100644
+--- a/net/ipv4/netfilter/ipt_CLUSTERIP.c
++++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c
+@@ -167,14 +167,13 @@ clusterip_config_init(struct ipt_clusterip_tgt_info *i, __be32 ip,
+
+ /* create proc dir entry */
+ sprintf(buffer, "%u.%u.%u.%u", NIPQUAD(ip));
+- c->pde = create_proc_entry(buffer, S_IWUSR|S_IRUSR,
+- clusterip_procdir);
++ c->pde = proc_create(buffer, S_IWUSR|S_IRUSR,
++ clusterip_procdir, &clusterip_proc_fops);
+ if (!c->pde) {
+ kfree(c);
+ return NULL;
+ }
+ }
+- c->pde->proc_fops = &clusterip_proc_fops;
+ c->pde->data = c;
+ #endif
+
+diff --git a/net/ipv4/netfilter/ipt_recent.c b/net/ipv4/netfilter/ipt_recent.c
+index 8e8f042..50e0669 100644
+--- a/net/ipv4/netfilter/ipt_recent.c
++++ b/net/ipv4/netfilter/ipt_recent.c
+@@ -276,12 +276,11 @@ recent_mt_check(const char *tablename, const void *ip,
+ for (i = 0; i < ip_list_hash_size; i++)
+ INIT_LIST_HEAD(&t->iphash[i]);
+ #ifdef CONFIG_PROC_FS
+- t->proc = create_proc_entry(t->name, ip_list_perms, proc_dir);
++ t->proc = proc_create(t->name, ip_list_perms, proc_dir, &recent_fops);
+ if (t->proc == NULL) {
+ kfree(t);
+ goto out;
+ }
+- t->proc->proc_fops = &recent_fops;
+ t->proc->uid = ip_list_uid;
+ t->proc->gid = ip_list_gid;
+ t->proc->data = t;
+diff --git a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c
+index 089252e..f500b0f 100644
+--- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c
++++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c
+@@ -395,13 +395,10 @@ int __init nf_conntrack_ipv4_compat_init(void)
+ if (!proc_exp)
+ goto err2;
+
+- proc_stat = create_proc_entry("ip_conntrack", S_IRUGO, init_net.proc_net_stat);
++ proc_stat = proc_create("ip_conntrack", S_IRUGO,
++ init_net.proc_net_stat, &ct_cpu_seq_fops);
+ if (!proc_stat)
+ goto err3;
+-
+- proc_stat->proc_fops = &ct_cpu_seq_fops;
+- proc_stat->owner = THIS_MODULE;
+-
+ return 0;
+
+ err3:
+diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
+index 7ea1b67..1704c14 100644
+--- a/net/ipv4/udp.c
++++ b/net/ipv4/udp.c
+@@ -1556,14 +1556,14 @@ static void *udp_seq_start(struct seq_file *seq, loff_t *pos)
+ __acquires(udp_hash_lock)
+ {
+ read_lock(&udp_hash_lock);
+- return *pos ? udp_get_idx(seq, *pos-1) : (void *)1;
++ return *pos ? udp_get_idx(seq, *pos-1) : SEQ_START_TOKEN;
+ }
+
+ static void *udp_seq_next(struct seq_file *seq, void *v, loff_t *pos)
+ {
+ struct sock *sk;
+
+- if (v == (void *)1)
++ if (v == SEQ_START_TOKEN)
+ sk = udp_get_idx(seq, 0);
+ else
+ sk = udp_get_next(seq, v);
+diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
+index 101e0e7..e7a1882 100644
+--- a/net/ipv6/addrconf.c
++++ b/net/ipv6/addrconf.c
+@@ -776,6 +776,7 @@ static int ipv6_create_tempaddr(struct inet6_ifaddr *ifp, struct inet6_ifaddr *i
+ struct inet6_dev *idev = ifp->idev;
+ struct in6_addr addr, *tmpaddr;
+ unsigned long tmp_prefered_lft, tmp_valid_lft, tmp_cstamp, tmp_tstamp;
++ unsigned long regen_advance;
+ int tmp_plen;
+ int ret = 0;
+ int max_addresses;
+@@ -836,8 +837,23 @@ retry:
+ tmp_tstamp = ifp->tstamp;
+ spin_unlock_bh(&ifp->lock);
+
++ regen_advance = idev->cnf.regen_max_retry *
++ idev->cnf.dad_transmits *
++ idev->nd_parms->retrans_time / HZ;
+ write_unlock(&idev->lock);
+
++ /* A temporary address is created only if this calculated Preferred
++ * Lifetime is greater than REGEN_ADVANCE time units. In particular,
++ * an implementation must not create a temporary address with a zero
++ * Preferred Lifetime.
++ */
++ if (tmp_prefered_lft <= regen_advance) {
++ in6_ifa_put(ifp);
++ in6_dev_put(idev);
++ ret = -1;
++ goto out;
++ }
++
+ addr_flags = IFA_F_TEMPORARY;
+ /* set in addrconf_prefix_rcv() */
+ if (ifp->flags & IFA_F_OPTIMISTIC)
+@@ -1831,6 +1847,9 @@ ok:
+ * lifetimes of an existing temporary address
+ * when processing a Prefix Information Option.
+ */
++ if (ifp != ift->ifpub)
++ continue;
++
+ spin_lock(&ift->lock);
+ flags = ift->flags;
+ if (ift->valid_lft > valid_lft &&
+diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
+index 0ec1402..c6bb4c6 100644
+--- a/net/ipv6/esp6.c
++++ b/net/ipv6/esp6.c
+@@ -282,7 +282,7 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)
+ struct scatterlist *sg;
+ struct scatterlist *asg;
+
+- if (!pskb_may_pull(skb, sizeof(*esph))) {
++ if (!pskb_may_pull(skb, sizeof(*esph) + crypto_aead_ivsize(aead))) {
+ ret = -EINVAL;
+ goto out;
+ }
+diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
+index 121d517..f204a72 100644
+--- a/net/ipv6/icmp.c
++++ b/net/ipv6/icmp.c
+@@ -436,10 +436,10 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
+ }
+
+ if (xfrm_decode_session_reverse(skb, &fl2, AF_INET6))
+- goto out;
++ goto out_dst_release;
+
+ if (ip6_dst_lookup(sk, &dst2, &fl))
+- goto out;
++ goto out_dst_release;
+
+ err = xfrm_lookup(&dst2, &fl, sk, XFRM_LOOKUP_ICMP);
+ if (err == -ENOENT) {
+diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c
+index 178aebc..98ab4f4 100644
+--- a/net/ipv6/ip6_input.c
++++ b/net/ipv6/ip6_input.c
+@@ -239,8 +239,7 @@ int ip6_mc_input(struct sk_buff *skb)
+ IP6_INC_STATS_BH(ip6_dst_idev(skb->dst), IPSTATS_MIB_INMCASTPKTS);
+
+ hdr = ipv6_hdr(skb);
+- deliver = unlikely(skb->dev->flags & (IFF_PROMISC|IFF_ALLMULTI)) ||
+- ipv6_chk_mcast_addr(skb->dev, &hdr->daddr, NULL);
++ deliver = ipv6_chk_mcast_addr(skb->dev, &hdr->daddr, NULL);
+
+ /*
+ * IPv6 multicast router mode isnt currently supported.
+diff --git a/net/ipv6/netfilter/ip6_queue.c b/net/ipv6/netfilter/ip6_queue.c
+index cc2f9af..8d366f7 100644
+--- a/net/ipv6/netfilter/ip6_queue.c
++++ b/net/ipv6/netfilter/ip6_queue.c
+@@ -591,11 +591,9 @@ static int __init ip6_queue_init(void)
+ }
+
+ #ifdef CONFIG_PROC_FS
+- proc = create_proc_entry(IPQ_PROC_FS_NAME, 0, init_net.proc_net);
+- if (proc) {
+- proc->owner = THIS_MODULE;
+- proc->proc_fops = &ip6_queue_proc_fops;
+- } else {
++ proc = proc_create(IPQ_PROC_FS_NAME, 0, init_net.proc_net,
++ &ip6_queue_proc_fops);
++ if (!proc) {
+ printk(KERN_ERR "ip6_queue: failed to create proc entry\n");
+ goto cleanup_ipqnl;
+ }
+diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
+index 2a0d698..24c0d03 100644
+--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
++++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
+@@ -171,7 +171,9 @@ static __inline__ void fq_kill(struct nf_ct_frag6_queue *fq)
+
+ static void nf_ct_frag6_evictor(void)
+ {
++ local_bh_disable();
+ inet_frag_evictor(&nf_init_frags, &nf_frags);
++ local_bh_enable();
+ }
+
+ static void nf_ct_frag6_expire(unsigned long data)
+diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
+index 46cf962..8c50eb4 100644
+--- a/net/llc/af_llc.c
++++ b/net/llc/af_llc.c
+@@ -155,6 +155,9 @@ static int llc_ui_create(struct net *net, struct socket *sock, int protocol)
+ struct sock *sk;
+ int rc = -ESOCKTNOSUPPORT;
+
++ if (!capable(CAP_NET_RAW))
++ return -EPERM;
++
+ if (net != &init_net)
+ return -EAFNOSUPPORT;
+
+diff --git a/net/llc/llc_c_ac.c b/net/llc/llc_c_ac.c
+index 860140c..71a0022 100644
+--- a/net/llc/llc_c_ac.c
++++ b/net/llc/llc_c_ac.c
+@@ -198,7 +198,7 @@ int llc_conn_ac_send_disc_cmd_p_set_x(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -223,7 +223,7 @@ int llc_conn_ac_send_dm_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -249,7 +249,7 @@ int llc_conn_ac_send_dm_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -282,7 +282,8 @@ int llc_conn_ac_send_frmr_rsp_f_set_x(struct sock *sk, struct sk_buff *skb)
+ llc_pdu_decode_pf_bit(skb, &f_bit);
+ else
+ f_bit = 0;
+- nskb = llc_alloc_frame(sk, llc->dev);
++ nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
++ sizeof(struct llc_frmr_info));
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+
+@@ -306,7 +307,8 @@ int llc_conn_ac_resend_frmr_rsp_f_set_0(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
++ sizeof(struct llc_frmr_info));
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -336,7 +338,8 @@ int llc_conn_ac_resend_frmr_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
+ struct llc_sock *llc = llc_sk(sk);
+
+ llc_pdu_decode_pf_bit(skb, &f_bit);
+- nskb = llc_alloc_frame(sk, llc->dev);
++ nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
++ sizeof(struct llc_frmr_info));
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+ struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb);
+@@ -424,7 +427,7 @@ int llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr(struct sock *sk,
+ struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb);
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -459,7 +462,7 @@ int llc_conn_ac_send_rej_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -483,7 +486,7 @@ int llc_conn_ac_send_rej_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -507,7 +510,7 @@ int llc_conn_ac_send_rej_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -531,7 +534,7 @@ int llc_conn_ac_send_rnr_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -555,7 +558,7 @@ int llc_conn_ac_send_rnr_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -579,7 +582,7 @@ int llc_conn_ac_send_rnr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -615,7 +618,7 @@ int llc_conn_ac_opt_send_rnr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -639,7 +642,7 @@ int llc_conn_ac_send_rr_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -663,7 +666,7 @@ int llc_conn_ac_send_rr_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -688,7 +691,7 @@ int llc_conn_ac_send_ack_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -712,7 +715,7 @@ int llc_conn_ac_send_rr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -736,7 +739,7 @@ int llc_conn_ac_send_ack_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -770,7 +773,7 @@ int llc_conn_ac_send_sabme_cmd_p_set_x(struct sock *sk, struct sk_buff *skb)
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+@@ -799,7 +802,7 @@ int llc_conn_ac_send_ua_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
+ u8 f_bit;
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
+
+ llc_pdu_decode_pf_bit(skb, &f_bit);
+ if (nskb) {
+@@ -956,7 +959,7 @@ static int llc_conn_ac_send_rr_rsp_f_set_ackpf(struct sock *sk,
+ {
+ int rc = -ENOBUFS;
+ struct llc_sock *llc = llc_sk(sk);
+- struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
++ struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
+
+ if (nskb) {
+ struct llc_sap *sap = llc->sap;
+diff --git a/net/llc/llc_core.c b/net/llc/llc_core.c
+index 248b590..50d5b10 100644
+--- a/net/llc/llc_core.c
++++ b/net/llc/llc_core.c
+@@ -25,8 +25,6 @@
+ LIST_HEAD(llc_sap_list);
+ DEFINE_RWLOCK(llc_sap_list_lock);
+
+-unsigned char llc_station_mac_sa[ETH_ALEN];
+-
+ /**
+ * llc_sap_alloc - allocates and initializes sap.
+ *
+@@ -37,8 +35,8 @@ static struct llc_sap *llc_sap_alloc(void)
+ struct llc_sap *sap = kzalloc(sizeof(*sap), GFP_ATOMIC);
+
+ if (sap) {
++ /* sap->laddr.mac - leave as a null, it's filled by bind */
+ sap->state = LLC_SAP_STATE_ACTIVE;
+- memcpy(sap->laddr.mac, llc_station_mac_sa, ETH_ALEN);
+ rwlock_init(&sap->sk_list.lock);
+ atomic_set(&sap->refcnt, 1);
+ }
+@@ -167,10 +165,6 @@ static int __init llc_init(void)
+ if (dev != NULL)
+ dev = next_net_device(dev);
+
+- if (dev != NULL)
+- memcpy(llc_station_mac_sa, dev->dev_addr, ETH_ALEN);
+- else
+- memset(llc_station_mac_sa, 0, ETH_ALEN);
+ dev_add_pack(&llc_packet_type);
+ dev_add_pack(&llc_tr_packet_type);
+ return 0;
+@@ -185,7 +179,6 @@ static void __exit llc_exit(void)
+ module_init(llc_init);
+ module_exit(llc_exit);
+
+-EXPORT_SYMBOL(llc_station_mac_sa);
+ EXPORT_SYMBOL(llc_sap_list);
+ EXPORT_SYMBOL(llc_sap_list_lock);
+ EXPORT_SYMBOL(llc_sap_find);
+diff --git a/net/llc/llc_input.c b/net/llc/llc_input.c
+index c40c9b2..bfd2567 100644
+--- a/net/llc/llc_input.c
++++ b/net/llc/llc_input.c
+@@ -117,8 +117,12 @@ static inline int llc_fixup_skb(struct sk_buff *skb)
+ skb_pull(skb, llc_len);
+ if (skb->protocol == htons(ETH_P_802_2)) {
+ __be16 pdulen = eth_hdr(skb)->h_proto;
+- u16 data_size = ntohs(pdulen) - llc_len;
++ s32 data_size = ntohs(pdulen) - llc_len;
+
++ if (data_size < 0 ||
++ ((skb_tail_pointer(skb) -
++ (u8 *)pdu) - llc_len) < data_size)
++ return 0;
+ if (unlikely(pskb_trim_rcsum(skb, data_size)))
+ return 0;
+ }
+diff --git a/net/llc/llc_pdu.c b/net/llc/llc_pdu.c
+index fa83243..2e6cb79 100644
+--- a/net/llc/llc_pdu.c
++++ b/net/llc/llc_pdu.c
+@@ -241,7 +241,7 @@ void llc_pdu_init_as_frmr_rsp(struct sk_buff *skb, struct llc_pdu_sn *prev_pdu,
+ FRMR_INFO_SET_PDU_INFO_2LONG_IND(frmr_info, vzyxw);
+ FRMR_INFO_SET_PDU_INVALID_Nr_IND(frmr_info, vzyxw);
+ FRMR_INFO_SET_PDU_INVALID_Ns_IND(frmr_info, vzyxw);
+- skb_put(skb, 5);
++ skb_put(skb, sizeof(struct llc_frmr_info));
+ }
+
+ /**
+diff --git a/net/llc/llc_s_ac.c b/net/llc/llc_s_ac.c
+index ac3d93b..a94bd56 100644
+--- a/net/llc/llc_s_ac.c
++++ b/net/llc/llc_s_ac.c
+@@ -103,7 +103,8 @@ int llc_sap_action_send_xid_r(struct llc_sap *sap, struct sk_buff *skb)
+ llc_pdu_decode_sa(skb, mac_da);
+ llc_pdu_decode_da(skb, mac_sa);
+ llc_pdu_decode_ssap(skb, &dsap);
+- nskb = llc_alloc_frame(NULL, skb->dev);
++ nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U,
++ sizeof(struct llc_xid_info));
+ if (!nskb)
+ goto out;
+ llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, sap->laddr.lsap, dsap,
+@@ -144,11 +145,15 @@ int llc_sap_action_send_test_r(struct llc_sap *sap, struct sk_buff *skb)
+ u8 mac_da[ETH_ALEN], mac_sa[ETH_ALEN], dsap;
+ struct sk_buff *nskb;
+ int rc = 1;
++ u32 data_size;
+
+ llc_pdu_decode_sa(skb, mac_da);
+ llc_pdu_decode_da(skb, mac_sa);
+ llc_pdu_decode_ssap(skb, &dsap);
+- nskb = llc_alloc_frame(NULL, skb->dev);
++
++ /* The test request command is type U (llc_len = 3) */
++ data_size = ntohs(eth_hdr(skb)->h_proto) - 3;
++ nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U, data_size);
+ if (!nskb)
+ goto out;
+ llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, sap->laddr.lsap, dsap,
+diff --git a/net/llc/llc_sap.c b/net/llc/llc_sap.c
+index 2525165..e2ddde7 100644
+--- a/net/llc/llc_sap.c
++++ b/net/llc/llc_sap.c
+@@ -24,20 +24,41 @@
+ #include <net/tcp_states.h>
+ #include <linux/llc.h>
+
++static int llc_mac_header_len(unsigned short devtype)
++{
++ switch (devtype) {
++ case ARPHRD_ETHER:
++ case ARPHRD_LOOPBACK:
++ return sizeof(struct ethhdr);
++#ifdef CONFIG_TR
++ case ARPHRD_IEEE802_TR:
++ return sizeof(struct trh_hdr);
++#endif
++ }
++ return 0;
++}
++
+ /**
+ * llc_alloc_frame - allocates sk_buff for frame
+ * @dev: network device this skb will be sent over
++ * @type: pdu type to allocate
++ * @data_size: data size to allocate
+ *
+ * Allocates an sk_buff for frame and initializes sk_buff fields.
+ * Returns allocated skb or %NULL when out of memory.
+ */
+-struct sk_buff *llc_alloc_frame(struct sock *sk, struct net_device *dev)
++struct sk_buff *llc_alloc_frame(struct sock *sk, struct net_device *dev,
++ u8 type, u32 data_size)
+ {
+- struct sk_buff *skb = alloc_skb(128, GFP_ATOMIC);
++ int hlen = type == LLC_PDU_TYPE_U ? 3 : 4;
++ struct sk_buff *skb;
++
++ hlen += llc_mac_header_len(dev->type);
++ skb = alloc_skb(hlen + data_size, GFP_ATOMIC);
+
+ if (skb) {
+ skb_reset_mac_header(skb);
+- skb_reserve(skb, 50);
++ skb_reserve(skb, hlen);
+ skb_reset_network_header(skb);
+ skb_reset_transport_header(skb);
+ skb->protocol = htons(ETH_P_802_2);
+diff --git a/net/llc/llc_station.c b/net/llc/llc_station.c
+index 6f2ea20..83da133 100644
+--- a/net/llc/llc_station.c
++++ b/net/llc/llc_station.c
+@@ -253,13 +253,14 @@ static int llc_station_ac_inc_xid_r_cnt_by_1(struct sk_buff *skb)
+ static int llc_station_ac_send_null_dsap_xid_c(struct sk_buff *skb)
+ {
+ int rc = 1;
+- struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev);
++ struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U,
++ sizeof(struct llc_xid_info));
+
+ if (!nskb)
+ goto out;
+ llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, 0, LLC_PDU_CMD);
+ llc_pdu_init_as_xid_cmd(nskb, LLC_XID_NULL_CLASS_2, 127);
+- rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, llc_station_mac_sa);
++ rc = llc_mac_hdr_init(nskb, skb->dev->dev_addr, skb->dev->dev_addr);
+ if (unlikely(rc))
+ goto free;
+ llc_station_send_pdu(nskb);
+@@ -274,7 +275,8 @@ static int llc_station_ac_send_xid_r(struct sk_buff *skb)
+ {
+ u8 mac_da[ETH_ALEN], dsap;
+ int rc = 1;
+- struct sk_buff* nskb = llc_alloc_frame(NULL, skb->dev);
++ struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U,
++ sizeof(struct llc_xid_info));
+
+ if (!nskb)
+ goto out;
+@@ -283,7 +285,7 @@ static int llc_station_ac_send_xid_r(struct sk_buff *skb)
+ llc_pdu_decode_ssap(skb, &dsap);
+ llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, dsap, LLC_PDU_RSP);
+ llc_pdu_init_as_xid_rsp(nskb, LLC_XID_NULL_CLASS_2, 127);
+- rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, mac_da);
++ rc = llc_mac_hdr_init(nskb, skb->dev->dev_addr, mac_da);
+ if (unlikely(rc))
+ goto free;
+ llc_station_send_pdu(nskb);
+@@ -298,7 +300,12 @@ static int llc_station_ac_send_test_r(struct sk_buff *skb)
+ {
+ u8 mac_da[ETH_ALEN], dsap;
+ int rc = 1;
+- struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev);
++ u32 data_size;
++ struct sk_buff *nskb;
++
++ /* The test request command is type U (llc_len = 3) */
++ data_size = ntohs(eth_hdr(skb)->h_proto) - 3;
++ nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U, data_size);
+
+ if (!nskb)
+ goto out;
+@@ -307,7 +314,7 @@ static int llc_station_ac_send_test_r(struct sk_buff *skb)
+ llc_pdu_decode_ssap(skb, &dsap);
+ llc_pdu_header_init(nskb, LLC_PDU_TYPE_U, 0, dsap, LLC_PDU_RSP);
+ llc_pdu_init_as_test_rsp(nskb, skb);
+- rc = llc_mac_hdr_init(nskb, llc_station_mac_sa, mac_da);
++ rc = llc_mac_hdr_init(nskb, skb->dev->dev_addr, mac_da);
+ if (unlikely(rc))
+ goto free;
+ llc_station_send_pdu(nskb);
+diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
+index 28bcdf9..8e58639 100644
+--- a/net/mac80211/ieee80211.c
++++ b/net/mac80211/ieee80211.c
+@@ -286,6 +286,18 @@ static int ieee80211_open(struct net_device *dev)
+ if (need_hw_reconfig)
+ ieee80211_hw_config(local);
+
++ /*
++ * ieee80211_sta_work is disabled while network interface
++ * is down. Therefore, some configuration changes may not
++ * yet be effective. Trigger execution of ieee80211_sta_work
++ * to fix this.
++ */
++ if(sdata->vif.type == IEEE80211_IF_TYPE_STA ||
++ sdata->vif.type == IEEE80211_IF_TYPE_IBSS) {
++ struct ieee80211_if_sta *ifsta = &sdata->u.sta;
++ queue_work(local->hw.workqueue, &ifsta->work);
++ }
++
+ netif_start_queue(dev);
+
+ return 0;
+diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
+index 9aeed53..e0c72d0 100644
+--- a/net/mac80211/ieee80211_sta.c
++++ b/net/mac80211/ieee80211_sta.c
+@@ -319,7 +319,7 @@ static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata,
+ struct ieee80211_bss_conf *bss_conf = &sdata->bss_conf;
+ struct ieee80211_if_sta *ifsta = &sdata->u.sta;
+ bool use_protection = (erp_value & WLAN_ERP_USE_PROTECTION) != 0;
+- bool preamble_mode = (erp_value & WLAN_ERP_BARKER_PREAMBLE) != 0;
++ bool use_short_preamble = (erp_value & WLAN_ERP_BARKER_PREAMBLE) == 0;
+ DECLARE_MAC_BUF(mac);
+ u32 changed = 0;
+
+@@ -335,16 +335,15 @@ static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata,
+ changed |= BSS_CHANGED_ERP_CTS_PROT;
+ }
+
+- if (preamble_mode != bss_conf->use_short_preamble) {
++ if (use_short_preamble != bss_conf->use_short_preamble) {
+ if (net_ratelimit()) {
+ printk(KERN_DEBUG "%s: switched to %s barker preamble"
+ " (BSSID=%s)\n",
+ sdata->dev->name,
+- (preamble_mode == WLAN_ERP_PREAMBLE_SHORT) ?
+- "short" : "long",
++ use_short_preamble ? "short" : "long",
+ print_mac(mac, ifsta->bssid));
+ }
+- bss_conf->use_short_preamble = preamble_mode;
++ bss_conf->use_short_preamble = use_short_preamble;
+ changed |= BSS_CHANGED_ERP_PREAMBLE;
+ }
+
+diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c
+index e88e96a..8599068 100644
+--- a/net/netfilter/nf_conntrack_standalone.c
++++ b/net/netfilter/nf_conntrack_standalone.c
+@@ -395,7 +395,7 @@ EXPORT_SYMBOL_GPL(nf_ct_log_invalid);
+ static int __init nf_conntrack_standalone_init(void)
+ {
+ #ifdef CONFIG_PROC_FS
+- struct proc_dir_entry *proc, *proc_stat;
++ struct proc_dir_entry *proc;
+ #endif
+ int ret = 0;
+
+@@ -407,12 +407,9 @@ static int __init nf_conntrack_standalone_init(void)
+ proc = proc_net_fops_create(&init_net, "nf_conntrack", 0440, &ct_file_ops);
+ if (!proc) goto cleanup_init;
+
+- proc_stat = create_proc_entry("nf_conntrack", S_IRUGO, init_net.proc_net_stat);
+- if (!proc_stat)
++ if (!proc_create("nf_conntrack", S_IRUGO,
++ init_net.proc_net_stat, &ct_cpu_seq_fops))
+ goto cleanup_proc;
+-
+- proc_stat->proc_fops = &ct_cpu_seq_fops;
+- proc_stat->owner = THIS_MODULE;
+ #endif
+ #ifdef CONFIG_SYSCTL
+ nf_ct_sysctl_header = register_sysctl_paths(nf_ct_path,
+diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
+index cec9976..bc11d70 100644
+--- a/net/netfilter/nf_log.c
++++ b/net/netfilter/nf_log.c
+@@ -168,13 +168,9 @@ static const struct file_operations nflog_file_ops = {
+ int __init netfilter_log_init(void)
+ {
+ #ifdef CONFIG_PROC_FS
+- struct proc_dir_entry *pde;
+-
+- pde = create_proc_entry("nf_log", S_IRUGO, proc_net_netfilter);
+- if (!pde)
++ if (!proc_create("nf_log", S_IRUGO,
++ proc_net_netfilter, &nflog_file_ops))
+ return -1;
+-
+- pde->proc_fops = &nflog_file_ops;
+ #endif
+ return 0;
+ }
+diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c
+index ddc80ea..bbd2689 100644
+--- a/net/netfilter/nf_queue.c
++++ b/net/netfilter/nf_queue.c
+@@ -348,12 +348,9 @@ static const struct file_operations nfqueue_file_ops = {
+ int __init netfilter_queue_init(void)
+ {
+ #ifdef CONFIG_PROC_FS
+- struct proc_dir_entry *pde;
+-
+- pde = create_proc_entry("nf_queue", S_IRUGO, proc_net_netfilter);
+- if (!pde)
++ if (!proc_create("nf_queue", S_IRUGO,
++ proc_net_netfilter, &nfqueue_file_ops))
+ return -1;
+- pde->proc_fops = &nfqueue_file_ops;
+ #endif
+ return 0;
+ }
+diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c
+index bf3f19b..b8173af 100644
+--- a/net/netfilter/nfnetlink_log.c
++++ b/net/netfilter/nfnetlink_log.c
+@@ -923,9 +923,6 @@ static const struct file_operations nful_file_ops = {
+ static int __init nfnetlink_log_init(void)
+ {
+ int i, status = -ENOMEM;
+-#ifdef CONFIG_PROC_FS
+- struct proc_dir_entry *proc_nful;
+-#endif
+
+ for (i = 0; i < INSTANCE_BUCKETS; i++)
+ INIT_HLIST_HEAD(&instance_table[i]);
+@@ -943,11 +940,9 @@ static int __init nfnetlink_log_init(void)
+ }
+
+ #ifdef CONFIG_PROC_FS
+- proc_nful = create_proc_entry("nfnetlink_log", 0440,
+- proc_net_netfilter);
+- if (!proc_nful)
++ if (!proc_create("nfnetlink_log", 0440,
++ proc_net_netfilter, &nful_file_ops))
+ goto cleanup_subsys;
+- proc_nful->proc_fops = &nful_file_ops;
+ #endif
+ return status;
+
+diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c
+index 012cb69..10522c0 100644
+--- a/net/netfilter/nfnetlink_queue.c
++++ b/net/netfilter/nfnetlink_queue.c
+@@ -896,9 +896,6 @@ static const struct file_operations nfqnl_file_ops = {
+ static int __init nfnetlink_queue_init(void)
+ {
+ int i, status = -ENOMEM;
+-#ifdef CONFIG_PROC_FS
+- struct proc_dir_entry *proc_nfqueue;
+-#endif
+
+ for (i = 0; i < INSTANCE_BUCKETS; i++)
+ INIT_HLIST_HEAD(&instance_table[i]);
+@@ -911,11 +908,9 @@ static int __init nfnetlink_queue_init(void)
+ }
+
+ #ifdef CONFIG_PROC_FS
+- proc_nfqueue = create_proc_entry("nfnetlink_queue", 0440,
+- proc_net_netfilter);
+- if (!proc_nfqueue)
++ if (!proc_create("nfnetlink_queue", 0440,
++ proc_net_netfilter, &nfqnl_file_ops))
+ goto cleanup_subsys;
+- proc_nfqueue->proc_fops = &nfqnl_file_ops;
+ #endif
+
+ register_netdevice_notifier(&nfqnl_dev_notifier);
+diff --git a/net/netfilter/xt_hashlimit.c b/net/netfilter/xt_hashlimit.c
+index 5418ce5..dc29007 100644
+--- a/net/netfilter/xt_hashlimit.c
++++ b/net/netfilter/xt_hashlimit.c
+@@ -237,14 +237,14 @@ static int htable_create_v0(struct xt_hashlimit_info *minfo, int family)
+ hinfo->family = family;
+ hinfo->rnd_initialized = 0;
+ spin_lock_init(&hinfo->lock);
+- hinfo->pde = create_proc_entry(minfo->name, 0,
+- family == AF_INET ? hashlimit_procdir4 :
+- hashlimit_procdir6);
++ hinfo->pde = proc_create(minfo->name, 0,
++ family == AF_INET ? hashlimit_procdir4 :
++ hashlimit_procdir6,
++ &dl_file_ops);
+ if (!hinfo->pde) {
+ vfree(hinfo);
+ return -1;
+ }
+- hinfo->pde->proc_fops = &dl_file_ops;
+ hinfo->pde->data = hinfo;
+
+ setup_timer(&hinfo->timer, htable_gc, (unsigned long )hinfo);
+@@ -301,14 +301,14 @@ static int htable_create(struct xt_hashlimit_mtinfo1 *minfo,
+ hinfo->rnd_initialized = 0;
+ spin_lock_init(&hinfo->lock);
+
+- hinfo->pde = create_proc_entry(minfo->name, 0,
+- family == AF_INET ? hashlimit_procdir4 :
+- hashlimit_procdir6);
++ hinfo->pde = proc_create(minfo->name, 0,
++ family == AF_INET ? hashlimit_procdir4 :
++ hashlimit_procdir6,
++ &dl_file_ops);
+ if (hinfo->pde == NULL) {
+ vfree(hinfo);
+ return -1;
+ }
+- hinfo->pde->proc_fops = &dl_file_ops;
+ hinfo->pde->data = hinfo;
+
+ setup_timer(&hinfo->timer, htable_gc, (unsigned long)hinfo);
+diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
+index 4a31a81..063cbc5 100644
+--- a/net/rose/af_rose.c
++++ b/net/rose/af_rose.c
+@@ -598,17 +598,24 @@ static int rose_release(struct socket *sock)
+
+ if (sk == NULL) return 0;
+
++ sock_hold(sk);
++ sock_orphan(sk);
++ lock_sock(sk);
+ rose = rose_sk(sk);
+
+ switch (rose->state) {
+ case ROSE_STATE_0:
++ release_sock(sk);
+ rose_disconnect(sk, 0, -1, -1);
++ lock_sock(sk);
+ rose_destroy_socket(sk);
+ break;
+
+ case ROSE_STATE_2:
+ rose->neighbour->use--;
++ release_sock(sk);
+ rose_disconnect(sk, 0, -1, -1);
++ lock_sock(sk);
+ rose_destroy_socket(sk);
+ break;
+
+@@ -633,6 +640,8 @@ static int rose_release(struct socket *sock)
+ }
+
+ sock->sk = NULL;
++ release_sock(sk);
++ sock_put(sk);
+
+ return 0;
+ }
+diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h
+index 126ca77..53fe94c 100644
+--- a/net/rxrpc/ar-internal.h
++++ b/net/rxrpc/ar-internal.h
+@@ -611,7 +611,7 @@ extern struct rxrpc_transport *rxrpc_find_transport(struct rxrpc_local *,
+ extern unsigned rxrpc_debug;
+
+ #define dbgprintk(FMT,...) \
+- printk("[%x%-6.6s] "FMT"\n", smp_processor_id(), current->comm ,##__VA_ARGS__)
++ printk("[%-6.6s] "FMT"\n", current->comm ,##__VA_ARGS__)
+
+ /* make sure we maintain the format strings, even when debugging is disabled */
+ static inline __attribute__((format(printf,1,2)))
+diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
+index 10b5c08..b741618 100644
+--- a/net/sched/sch_generic.c
++++ b/net/sched/sch_generic.c
+@@ -184,10 +184,22 @@ static inline int qdisc_restart(struct net_device *dev)
+
+ void __qdisc_run(struct net_device *dev)
+ {
+- do {
+- if (!qdisc_restart(dev))
++ unsigned long start_time = jiffies;
++
++ while (qdisc_restart(dev)) {
++ if (netif_queue_stopped(dev))
++ break;
++
++ /*
++ * Postpone processing if
++ * 1. another process needs the CPU;
++ * 2. we've been doing it for too long.
++ */
++ if (need_resched() || jiffies != start_time) {
++ netif_schedule(dev);
+ break;
+- } while (!netif_queue_stopped(dev));
++ }
++ }
+
+ clear_bit(__LINK_STATE_QDISC_RUNNING, &dev->state);
+ }
+diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
+index 41a049f..820d07a 100644
+--- a/security/selinux/hooks.c
++++ b/security/selinux/hooks.c
+@@ -180,7 +180,7 @@ static int inode_alloc_security(struct inode *inode)
+ struct task_security_struct *tsec = current->security;
+ struct inode_security_struct *isec;
+
+- isec = kmem_cache_zalloc(sel_inode_cache, GFP_KERNEL);
++ isec = kmem_cache_zalloc(sel_inode_cache, GFP_NOFS);
+ if (!isec)
+ return -ENOMEM;
+
+@@ -1630,6 +1630,12 @@ static inline u32 file_to_av(struct file *file)
+ else
+ av |= FILE__WRITE;
+ }
++ if (!av) {
++ /*
++ * Special file opened with flags 3 for ioctl-only use.
++ */
++ av = FILE__IOCTL;
++ }
+
+ return av;
+ }
+@@ -2423,7 +2429,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
+ return -EOPNOTSUPP;
+
+ if (name) {
+- namep = kstrdup(XATTR_SELINUX_SUFFIX, GFP_KERNEL);
++ namep = kstrdup(XATTR_SELINUX_SUFFIX, GFP_NOFS);
+ if (!namep)
+ return -ENOMEM;
+ *name = namep;
More information about the Kernel-svn-changes
mailing list