Netdev List
 help / color / mirror / Atom feed
* [net-next-2.6 PATCH 08/12] e1000e: Incorrect function pointer set for force_speed_duplex on 82577
From: Jeff Kirsher @ 2010-05-11  1:01 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100511005801.30827.50808.stgit@localhost.localdomain>

From: Bruce Allan <bruce.w.allan@intel.com>

The force_speed_duplex function pointer was incorrectly set.  Instead of
calling the 82577-specific version it was calling the m88 version which,
among other incorrect things, reset the PHY causing autonegotiation to be
re-enabled in the PHY resulting in the link defaulting to half-duplex.
The 82577-specific force_speed_duplex function also had an issue where
it disabled Auto-MDI-X which caused the link to not come up.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/ich8lan.c |    1 +
 drivers/net/e1000e/phy.c     |   21 +--------------------
 2 files changed, 2 insertions(+), 20 deletions(-)

diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 61f8927..e1f244a 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -330,6 +330,7 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)
 		phy->ops.get_cable_length = e1000_get_cable_length_82577;
 		phy->ops.get_info = e1000_get_phy_info_82577;
 		phy->ops.commit = e1000e_phy_sw_reset;
+		break;
 	case e1000_phy_82578:
 		phy->ops.check_polarity = e1000_check_polarity_m88;
 		phy->ops.force_speed_duplex = e1000e_phy_force_speed_duplex_m88;
diff --git a/drivers/net/e1000e/phy.c b/drivers/net/e1000e/phy.c
index 7f3ceb9..b4ac82d 100644
--- a/drivers/net/e1000e/phy.c
+++ b/drivers/net/e1000e/phy.c
@@ -3116,9 +3116,7 @@ s32 e1000_check_polarity_82577(struct e1000_hw *hw)
  *  e1000_phy_force_speed_duplex_82577 - Force speed/duplex for I82577 PHY
  *  @hw: pointer to the HW structure
  *
- *  Calls the PHY setup function to force speed and duplex.  Clears the
- *  auto-crossover to force MDI manually.  Waits for link and returns
- *  successful if link up is successful, else -E1000_ERR_PHY (-2).
+ *  Calls the PHY setup function to force speed and duplex.
  **/
 s32 e1000_phy_force_speed_duplex_82577(struct e1000_hw *hw)
 {
@@ -3137,23 +3135,6 @@ s32 e1000_phy_force_speed_duplex_82577(struct e1000_hw *hw)
 	if (ret_val)
 		goto out;
 
-	/*
-	 * Clear Auto-Crossover to force MDI manually.  82577 requires MDI
-	 * forced whenever speed and duplex are forced.
-	 */
-	ret_val = phy->ops.read_reg(hw, I82577_PHY_CTRL_2, &phy_data);
-	if (ret_val)
-		goto out;
-
-	phy_data &= ~I82577_PHY_CTRL2_AUTO_MDIX;
-	phy_data &= ~I82577_PHY_CTRL2_FORCE_MDI_MDIX;
-
-	ret_val = phy->ops.write_reg(hw, I82577_PHY_CTRL_2, phy_data);
-	if (ret_val)
-		goto out;
-
-	e_dbg("I82577_PHY_CTRL_2: %X\n", phy_data);
-
 	udelay(1);
 
 	if (phy->autoneg_wait_to_complete) {


^ permalink raw reply related

* [net-next-2.6 PATCH 07/12] e1000e: Cleanup e1000_sw_lcd_config_ich8lan()
From: Jeff Kirsher @ 2010-05-11  1:01 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100511005801.30827.50808.stgit@localhost.localdomain>

From: Bruce Allan <bruce.w.allan@intel.com>

After every reset all ICH/PCH parts call this function which acquires the
swflag, performs a workaround on applicable parts and releases the swflag.
There is no reason for parts for which this workaround is not applicable
to acquire and release the swflag so the function should just return
without doing anything for these parts.  This also provides for the
indentation of most of the function contents to be shifted left cleaning up
the code.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/ich8lan.c |  152 +++++++++++++++++++++---------------------
 1 files changed, 75 insertions(+), 77 deletions(-)

diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 448e123..61f8927 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -815,11 +815,16 @@ static s32 e1000_check_reset_block_ich8lan(struct e1000_hw *hw)
  **/
 static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
 {
+	struct e1000_adapter *adapter = hw->adapter;
 	struct e1000_phy_info *phy = &hw->phy;
 	u32 i, data, cnf_size, cnf_base_addr, sw_cfg_mask;
-	s32 ret_val;
+	s32 ret_val = 0;
 	u16 word_addr, reg_data, reg_addr, phy_page = 0;
 
+	if (!(hw->mac.type == e1000_ich8lan && phy->type == e1000_phy_igp_3) &&
+		!(hw->mac.type == e1000_pchlan))
+		return ret_val;
+
 	ret_val = hw->phy.ops.acquire(hw);
 	if (ret_val)
 		return ret_val;
@@ -831,97 +836,90 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
 	 * Therefore, after each PHY reset, we will load the
 	 * configuration data out of the NVM manually.
 	 */
-	if ((hw->mac.type == e1000_ich8lan && phy->type == e1000_phy_igp_3) ||
-		(hw->mac.type == e1000_pchlan)) {
-		struct e1000_adapter *adapter = hw->adapter;
-
-		/* Check if SW needs to configure the PHY */
-		if ((adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_M_AMT) ||
-		    (adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_M) ||
-		    (hw->mac.type == e1000_pchlan))
-			sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M;
-		else
-			sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG;
+	if ((adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_M_AMT) ||
+	    (adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_M) ||
+	    (hw->mac.type == e1000_pchlan))
+		sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M;
+	else
+		sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG;
 
-		data = er32(FEXTNVM);
-		if (!(data & sw_cfg_mask))
-			goto out;
+	data = er32(FEXTNVM);
+	if (!(data & sw_cfg_mask))
+		goto out;
 
-		/* Wait for basic configuration completes before proceeding */
-		e1000_lan_init_done_ich8lan(hw);
+	/* Wait for basic configuration completes before proceeding */
+	e1000_lan_init_done_ich8lan(hw);
 
+	/*
+	 * Make sure HW does not configure LCD from PHY
+	 * extended configuration before SW configuration
+	 */
+	data = er32(EXTCNF_CTRL);
+	if (data & E1000_EXTCNF_CTRL_LCD_WRITE_ENABLE)
+		goto out;
+
+	cnf_size = er32(EXTCNF_SIZE);
+	cnf_size &= E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_MASK;
+	cnf_size >>= E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_SHIFT;
+	if (!cnf_size)
+		goto out;
+
+	cnf_base_addr = data & E1000_EXTCNF_CTRL_EXT_CNF_POINTER_MASK;
+	cnf_base_addr >>= E1000_EXTCNF_CTRL_EXT_CNF_POINTER_SHIFT;
+
+	if (!(data & E1000_EXTCNF_CTRL_OEM_WRITE_ENABLE) &&
+	    (hw->mac.type == e1000_pchlan)) {
 		/*
-		 * Make sure HW does not configure LCD from PHY
-		 * extended configuration before SW configuration
+		 * HW configures the SMBus address and LEDs when the
+		 * OEM and LCD Write Enable bits are set in the NVM.
+		 * When both NVM bits are cleared, SW will configure
+		 * them instead.
 		 */
-		data = er32(EXTCNF_CTRL);
-		if (data & E1000_EXTCNF_CTRL_LCD_WRITE_ENABLE)
+		data = er32(STRAP);
+		data &= E1000_STRAP_SMBUS_ADDRESS_MASK;
+		reg_data = data >> E1000_STRAP_SMBUS_ADDRESS_SHIFT;
+		reg_data |= HV_SMB_ADDR_PEC_EN | HV_SMB_ADDR_VALID;
+		ret_val = e1000_write_phy_reg_hv_locked(hw, HV_SMB_ADDR,
+							reg_data);
+		if (ret_val)
 			goto out;
 
-		cnf_size = er32(EXTCNF_SIZE);
-		cnf_size &= E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_MASK;
-		cnf_size >>= E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_SHIFT;
-		if (!cnf_size)
+		data = er32(LEDCTL);
+		ret_val = e1000_write_phy_reg_hv_locked(hw, HV_LED_CONFIG,
+							(u16)data);
+		if (ret_val)
 			goto out;
+	}
 
-		cnf_base_addr = data & E1000_EXTCNF_CTRL_EXT_CNF_POINTER_MASK;
-		cnf_base_addr >>= E1000_EXTCNF_CTRL_EXT_CNF_POINTER_SHIFT;
-
-		if (!(data & E1000_EXTCNF_CTRL_OEM_WRITE_ENABLE) &&
-		    (hw->mac.type == e1000_pchlan)) {
-			/*
-			 * HW configures the SMBus address and LEDs when the
-			 * OEM and LCD Write Enable bits are set in the NVM.
-			 * When both NVM bits are cleared, SW will configure
-			 * them instead.
-			 */
-			data = er32(STRAP);
-			data &= E1000_STRAP_SMBUS_ADDRESS_MASK;
-			reg_data = data >> E1000_STRAP_SMBUS_ADDRESS_SHIFT;
-			reg_data |= HV_SMB_ADDR_PEC_EN | HV_SMB_ADDR_VALID;
-			ret_val = e1000_write_phy_reg_hv_locked(hw, HV_SMB_ADDR,
-			                                        reg_data);
-			if (ret_val)
-				goto out;
-
-			data = er32(LEDCTL);
-			ret_val = e1000_write_phy_reg_hv_locked(hw,
-			                                        HV_LED_CONFIG,
-			                                        (u16)data);
-			if (ret_val)
-				goto out;
-		}
-		/* Configure LCD from extended configuration region. */
+	/* Configure LCD from extended configuration region. */
 
-		/* cnf_base_addr is in DWORD */
-		word_addr = (u16)(cnf_base_addr << 1);
+	/* cnf_base_addr is in DWORD */
+	word_addr = (u16)(cnf_base_addr << 1);
 
-		for (i = 0; i < cnf_size; i++) {
-			ret_val = e1000_read_nvm(hw, (word_addr + i * 2), 1,
-			                           &reg_data);
-			if (ret_val)
-				goto out;
+	for (i = 0; i < cnf_size; i++) {
+		ret_val = e1000_read_nvm(hw, (word_addr + i * 2), 1,
+					 &reg_data);
+		if (ret_val)
+			goto out;
 
-			ret_val = e1000_read_nvm(hw, (word_addr + i * 2 + 1),
-			                           1, &reg_addr);
-			if (ret_val)
-				goto out;
+		ret_val = e1000_read_nvm(hw, (word_addr + i * 2 + 1),
+					 1, &reg_addr);
+		if (ret_val)
+			goto out;
 
-			/* Save off the PHY page for future writes. */
-			if (reg_addr == IGP01E1000_PHY_PAGE_SELECT) {
-				phy_page = reg_data;
-				continue;
-			}
+		/* Save off the PHY page for future writes. */
+		if (reg_addr == IGP01E1000_PHY_PAGE_SELECT) {
+			phy_page = reg_data;
+			continue;
+		}
 
-			reg_addr &= PHY_REG_MASK;
-			reg_addr |= phy_page;
+		reg_addr &= PHY_REG_MASK;
+		reg_addr |= phy_page;
 
-			ret_val = phy->ops.write_reg_locked(hw,
-			                                    (u32)reg_addr,
-			                                    reg_data);
-			if (ret_val)
-				goto out;
-		}
+		ret_val = phy->ops.write_reg_locked(hw, (u32)reg_addr,
+						    reg_data);
+		if (ret_val)
+			goto out;
 	}
 
 out:


^ permalink raw reply related

* [net-next-2.6 PATCH 06/12] e1000e: Remove EN_MAC_ADDR_FILTER check from enable_mng_pass_thru check
From: Jeff Kirsher @ 2010-05-11  1:00 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100511005801.30827.50808.stgit@localhost.localdomain>

From: Bruce Allan <bruce.w.allan@intel.com>

Patch addresses issues when manageability passthrough is enabled, but the
MAC_ADDR_FILTER bit is not set in the MANC register.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/lib.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/e1000e/lib.c b/drivers/net/e1000e/lib.c
index b0d2a60..b32361d 100644
--- a/drivers/net/e1000e/lib.c
+++ b/drivers/net/e1000e/lib.c
@@ -2515,10 +2515,11 @@ s32 e1000e_mng_write_dhcp_info(struct e1000_hw *hw, u8 *buffer, u16 length)
 }
 
 /**
- *  e1000e_enable_mng_pass_thru - Enable processing of ARP's
+ *  e1000e_enable_mng_pass_thru - Check if management passthrough is needed
  *  @hw: pointer to the HW structure
  *
- *  Verifies the hardware needs to allow ARPs to be processed by the host.
+ *  Verifies the hardware needs to leave interface enabled so that frames can
+ *  be directed to and from the management interface.
  **/
 bool e1000e_enable_mng_pass_thru(struct e1000_hw *hw)
 {
@@ -2528,8 +2529,7 @@ bool e1000e_enable_mng_pass_thru(struct e1000_hw *hw)
 
 	manc = er32(MANC);
 
-	if (!(manc & E1000_MANC_RCV_TCO_EN) ||
-	    !(manc & E1000_MANC_EN_MAC_ADDR_FILTER))
+	if (!(manc & E1000_MANC_RCV_TCO_EN))
 		return ret_val;
 
 	if (hw->mac.arc_subsystem_valid) {


^ permalink raw reply related

* [net-next-2.6 PATCH 05/12] e1000e: cleanup multiple common exit points
From: Jeff Kirsher @ 2010-05-11  1:00 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100511005801.30827.50808.stgit@localhost.localdomain>

From: Bruce Allan <bruce.w.allan@intel.com>

...in e1000_update_nvm_checksum_ich8lan().

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/ich8lan.c |   41 +++++++++++++++++------------------------
 1 files changed, 17 insertions(+), 24 deletions(-)

diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index b8c4dce..448e123 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -1938,18 +1938,14 @@ static s32 e1000_update_nvm_checksum_ich8lan(struct e1000_hw *hw)
 		new_bank_offset = nvm->flash_bank_size;
 		old_bank_offset = 0;
 		ret_val = e1000_erase_flash_bank_ich8lan(hw, 1);
-		if (ret_val) {
-			nvm->ops.release(hw);
-			goto out;
-		}
+		if (ret_val)
+			goto release;
 	} else {
 		old_bank_offset = nvm->flash_bank_size;
 		new_bank_offset = 0;
 		ret_val = e1000_erase_flash_bank_ich8lan(hw, 0);
-		if (ret_val) {
-			nvm->ops.release(hw);
-			goto out;
-		}
+		if (ret_val)
+			goto release;
 	}
 
 	for (i = 0; i < E1000_ICH8_SHADOW_RAM_WORDS; i++) {
@@ -2005,8 +2001,7 @@ static s32 e1000_update_nvm_checksum_ich8lan(struct e1000_hw *hw)
 	if (ret_val) {
 		/* Possibly read-only, see e1000e_write_protect_nvm_ich8lan() */
 		e_dbg("Flash commit failed.\n");
-		nvm->ops.release(hw);
-		goto out;
+		goto release;
 	}
 
 	/*
@@ -2017,18 +2012,15 @@ static s32 e1000_update_nvm_checksum_ich8lan(struct e1000_hw *hw)
 	 */
 	act_offset = new_bank_offset + E1000_ICH_NVM_SIG_WORD;
 	ret_val = e1000_read_flash_word_ich8lan(hw, act_offset, &data);
-	if (ret_val) {
-		nvm->ops.release(hw);
-		goto out;
-	}
+	if (ret_val)
+		goto release;
+
 	data &= 0xBFFF;
 	ret_val = e1000_retry_write_flash_byte_ich8lan(hw,
 						       act_offset * 2 + 1,
 						       (u8)(data >> 8));
-	if (ret_val) {
-		nvm->ops.release(hw);
-		goto out;
-	}
+	if (ret_val)
+		goto release;
 
 	/*
 	 * And invalidate the previously valid segment by setting
@@ -2038,10 +2030,8 @@ static s32 e1000_update_nvm_checksum_ich8lan(struct e1000_hw *hw)
 	 */
 	act_offset = (old_bank_offset + E1000_ICH_NVM_SIG_WORD) * 2 + 1;
 	ret_val = e1000_retry_write_flash_byte_ich8lan(hw, act_offset, 0);
-	if (ret_val) {
-		nvm->ops.release(hw);
-		goto out;
-	}
+	if (ret_val)
+		goto release;
 
 	/* Great!  Everything worked, we can now clear the cached entries. */
 	for (i = 0; i < E1000_ICH8_SHADOW_RAM_WORDS; i++) {
@@ -2049,14 +2039,17 @@ static s32 e1000_update_nvm_checksum_ich8lan(struct e1000_hw *hw)
 		dev_spec->shadow_ram[i].value = 0xFFFF;
 	}
 
+release:
 	nvm->ops.release(hw);
 
 	/*
 	 * Reload the EEPROM, or else modifications will not appear
 	 * until after the next adapter reset.
 	 */
-	e1000e_reload_nvm(hw);
-	msleep(10);
+	if (!ret_val) {
+		e1000e_reload_nvm(hw);
+		msleep(10);
+	}
 
 out:
 	if (ret_val)


^ permalink raw reply related

* [net-next-2.6 PATCH 04/12] e1000e: s/w initiated LSC MSI-X interrupts not generated; no transmit
From: Jeff Kirsher @ 2010-05-11  1:00 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100511005801.30827.50808.stgit@localhost.localdomain>

From: Bruce Allan <bruce.w.allan@intel.com>

In MSI-X mode when an IMPI SoL session was active (i.e. the PHY reset was
blocked), the LSC interrupt generated by s/w to start the watchdog which
started the transmitter was not getting fired by the hardware because bit
24 (the 'other' cause bit) also needed to be set.  Without an active SoL
session, the PHY was reset which caused the h/w to fire the LSC interrupt.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/netdev.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 36473e6..16a03c5 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -3220,7 +3220,11 @@ int e1000e_up(struct e1000_adapter *adapter)
 	netif_wake_queue(adapter->netdev);
 
 	/* fire a link change interrupt to start the watchdog */
-	ew32(ICS, E1000_ICS_LSC);
+	if (adapter->msix_entries)
+		ew32(ICS, E1000_ICS_LSC | E1000_ICR_OTHER);
+	else
+		ew32(ICS, E1000_ICS_LSC);
+
 	return 0;
 }
 
@@ -3537,7 +3541,10 @@ static int e1000_open(struct net_device *netdev)
 	pm_runtime_put(&pdev->dev);
 
 	/* fire a link status change interrupt to start the watchdog */
-	ew32(ICS, E1000_ICS_LSC);
+	if (adapter->msix_entries)
+		ew32(ICS, E1000_ICS_LSC | E1000_ICR_OTHER);
+	else
+		ew32(ICS, E1000_ICS_LSC);
 
 	return 0;
 


^ permalink raw reply related

* [net-next-2.6 PATCH 03/12] e1000e: initialize manageability (IPMI) pass-through in 82574/82583
From: Jeff Kirsher @ 2010-05-11  0:59 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100511005801.30827.50808.stgit@localhost.localdomain>

From: Bruce Allan <bruce.w.allan@intel.com>

82574/82583 uses different registers/bits to setup manageability filters
than all other parts supported by e1000e; set them accordingly for IPMI
pass-through.  Rename the function to better reflect what it does.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/defines.h |    5 ++++
 drivers/net/e1000e/hw.h      |    2 +
 drivers/net/e1000e/netdev.c  |   57 +++++++++++++++++++++++++++++++++++-------
 3 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/drivers/net/e1000e/defines.h b/drivers/net/e1000e/defines.h
index 7f760aa..227147f 100644
--- a/drivers/net/e1000e/defines.h
+++ b/drivers/net/e1000e/defines.h
@@ -138,6 +138,11 @@
 /* Enable MNG packets to host memory */
 #define E1000_MANC_EN_MNG2HOST   0x00200000
 
+#define E1000_MANC2H_PORT_623    0x00000020 /* Port 0x26f */
+#define E1000_MANC2H_PORT_664    0x00000040 /* Port 0x298 */
+#define E1000_MDEF_PORT_623      0x00000800 /* Port 0x26f */
+#define E1000_MDEF_PORT_664      0x00000400 /* Port 0x298 */
+
 /* Receive Control */
 #define E1000_RCTL_EN             0x00000002    /* enable */
 #define E1000_RCTL_SBP            0x00000004    /* store bad packet */
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index 8bdcd5f..6f66c37 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -208,6 +208,8 @@ enum e1e_registers {
 
 	E1000_KMRNCTRLSTA = 0x00034, /* MAC-PHY interface - RW */
 	E1000_MANC2H    = 0x05860, /* Management Control To Host - RW */
+	E1000_MDEF_BASE = 0x05890, /* Management Decision Filters */
+#define E1000_MDEF(_n)   (E1000_MDEF_BASE + ((_n) * 4))
 	E1000_SW_FW_SYNC = 0x05B5C, /* Software-Firmware Synchronization - RW */
 	E1000_GCR	= 0x05B00, /* PCI-Ex Control */
 	E1000_GCR2      = 0x05B64, /* PCI-Ex Control #2 */
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index ab79bec..36473e6 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -2526,10 +2526,10 @@ static void e1000_restore_vlan(struct e1000_adapter *adapter)
 	}
 }
 
-static void e1000_init_manageability(struct e1000_adapter *adapter)
+static void e1000_init_manageability_pt(struct e1000_adapter *adapter)
 {
 	struct e1000_hw *hw = &adapter->hw;
-	u32 manc, manc2h;
+	u32 manc, manc2h, mdef, i, j;
 
 	if (!(adapter->flags & FLAG_MNG_PT_ENABLED))
 		return;
@@ -2543,10 +2543,49 @@ static void e1000_init_manageability(struct e1000_adapter *adapter)
 	 */
 	manc |= E1000_MANC_EN_MNG2HOST;
 	manc2h = er32(MANC2H);
-#define E1000_MNG2HOST_PORT_623 (1 << 5)
-#define E1000_MNG2HOST_PORT_664 (1 << 6)
-	manc2h |= E1000_MNG2HOST_PORT_623;
-	manc2h |= E1000_MNG2HOST_PORT_664;
+
+	switch (hw->mac.type) {
+	default:
+		manc2h |= (E1000_MANC2H_PORT_623 | E1000_MANC2H_PORT_664);
+		break;
+	case e1000_82574:
+	case e1000_82583:
+		/*
+		 * Check if IPMI pass-through decision filter already exists;
+		 * if so, enable it.
+		 */
+		for (i = 0, j = 0; i < 8; i++) {
+			mdef = er32(MDEF(i));
+
+			/* Ignore filters with anything other than IPMI ports */
+			if (mdef & !(E1000_MDEF_PORT_623 | E1000_MDEF_PORT_664))
+				continue;
+
+			/* Enable this decision filter in MANC2H */
+			if (mdef)
+				manc2h |= (1 << i);
+
+			j |= mdef;
+		}
+
+		if (j == (E1000_MDEF_PORT_623 | E1000_MDEF_PORT_664))
+			break;
+
+		/* Create new decision filter in an empty filter */
+		for (i = 0, j = 0; i < 8; i++)
+			if (er32(MDEF(i)) == 0) {
+				ew32(MDEF(i), (E1000_MDEF_PORT_623 |
+					       E1000_MDEF_PORT_664));
+				manc2h |= (1 << 1);
+				j++;
+				break;
+			}
+
+		if (!j)
+			e_warn("Unable to create IPMI pass-through filter\n");
+		break;
+	}
+
 	ew32(MANC2H, manc2h);
 	ew32(MANC, manc);
 }
@@ -2961,7 +3000,7 @@ static void e1000_configure(struct e1000_adapter *adapter)
 	e1000_set_multi(adapter->netdev);
 
 	e1000_restore_vlan(adapter);
-	e1000_init_manageability(adapter);
+	e1000_init_manageability_pt(adapter);
 
 	e1000_configure_tx(adapter);
 	e1000_setup_rctl(adapter);
@@ -5104,7 +5143,7 @@ static int __e1000_resume(struct pci_dev *pdev)
 
 	e1000e_reset(adapter);
 
-	e1000_init_manageability(adapter);
+	e1000_init_manageability_pt(adapter);
 
 	if (netif_running(netdev))
 		e1000e_up(adapter);
@@ -5305,7 +5344,7 @@ static void e1000_io_resume(struct pci_dev *pdev)
 	struct net_device *netdev = pci_get_drvdata(pdev);
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 
-	e1000_init_manageability(adapter);
+	e1000_init_manageability_pt(adapter);
 
 	if (netif_running(netdev)) {
 		if (e1000e_up(adapter)) {


^ permalink raw reply related

* [net-next-2.6 PATCH 02/12] e1000e: bad state after running ethtool diagnostics with AMT enabled
From: Jeff Kirsher @ 2010-05-11  0:59 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Bruce Allan, Jeff Kirsher
In-Reply-To: <20100511005801.30827.50808.stgit@localhost.localdomain>

From: Bruce Allan <bruce.w.allan@intel.com>

When running ethtool online diagnostics with no open interface, there is a
short period of time where the driver relinquishes control of the adapter
during which time AMT (manageability firmware) can put the adapter into an
unknown state resulting in such things as link test failure, hardware hang,
reporting an incorrect link speed, etc.  Resetting the adapter during an
open() resolves this by putting the adapter into a quiescent state.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/ethtool.c |    9 +++++++++
 drivers/net/e1000e/netdev.c  |   16 +++++++++-------
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 6ff376c..2c52121 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -1737,6 +1737,12 @@ static void e1000_diag_test(struct net_device *netdev,
 		if (if_running)
 			dev_open(netdev);
 	} else {
+		if (!if_running && (adapter->flags & FLAG_HAS_AMT)) {
+			clear_bit(__E1000_TESTING, &adapter->state);
+			dev_open(netdev);
+			set_bit(__E1000_TESTING, &adapter->state);
+		}
+
 		e_info("online testing starting\n");
 		/* Online tests */
 		if (e1000_link_test(adapter, &data[4]))
@@ -1748,6 +1754,9 @@ static void e1000_diag_test(struct net_device *netdev,
 		data[2] = 0;
 		data[3] = 0;
 
+		if (!if_running && (adapter->flags & FLAG_HAS_AMT))
+			dev_close(netdev);
+
 		clear_bit(__E1000_TESTING, &adapter->state);
 	}
 	msleep_interruptible(4 * 1000);
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index c5f65a2..ab79bec 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -3444,6 +3444,15 @@ static int e1000_open(struct net_device *netdev)
 	if (err)
 		goto err_setup_rx;
 
+	/*
+	 * If AMT is enabled, let the firmware know that the network
+	 * interface is now open and reset the part to a known state.
+	 */
+	if (adapter->flags & FLAG_HAS_AMT) {
+		e1000_get_hw_control(adapter);
+		e1000e_reset(adapter);
+	}
+
 	e1000e_power_up_phy(adapter);
 
 	adapter->mng_vlan_id = E1000_MNG_VLAN_NONE;
@@ -3452,13 +3461,6 @@ static int e1000_open(struct net_device *netdev)
 		e1000_update_mng_vlan(adapter);
 
 	/*
-	 * If AMT is enabled, let the firmware know that the network
-	 * interface is now open
-	 */
-	if (adapter->flags & FLAG_HAS_AMT)
-		e1000_get_hw_control(adapter);
-
-	/*
 	 * before we allocate an interrupt, we must be ready to handle it.
 	 * Setting DEBUG_SHIRQ in the kernel makes it fire an interrupt
 	 * as soon as we call pci_request_irq, so we have to setup our


^ permalink raw reply related

* [net-next-2.6 PATCH 01/12] e1000e: use static params to save stack space (part 2)
From: Jeff Kirsher @ 2010-05-11  0:59 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Bruce Allan, Jesse Brandeburg, Jeff Kirsher

From: Bruce Allan <bruce.w.allan@intel.com>

A couple stack cleanups missed in an earlier patch from Jesse.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/param.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/e1000e/param.c b/drivers/net/e1000e/param.c
index 0f4077c..a150e48 100644
--- a/drivers/net/e1000e/param.c
+++ b/drivers/net/e1000e/param.c
@@ -286,7 +286,7 @@ void __devinit e1000e_check_options(struct e1000_adapter *adapter)
 		}
 	}
 	{ /* Receive Interrupt Delay */
-		struct e1000_option opt = {
+		static struct e1000_option opt = {
 			.type = range_option,
 			.name = "Receive Interrupt Delay",
 			.err  = "using default of "
@@ -386,7 +386,7 @@ void __devinit e1000e_check_options(struct e1000_adapter *adapter)
 		}
 	}
 	{ /* Interrupt Mode */
-		struct e1000_option opt = {
+		static struct e1000_option opt = {
 			.type = range_option,
 			.name = "Interrupt Mode",
 			.err  = "defaulting to 2 (MSI-X)",


^ permalink raw reply related

* e1000e fails probe
From: Pete Zaitcev @ 2010-05-11  0:50 UTC (permalink / raw)
  To: netdev; +Cc: zaitcev

Dear All:

I have a box where e1000e would refuse to probe the onboard interface
with the following in dmesg:

e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k2
e1000e: Copyright (c) 1999 - 2009 Intel Corporation.
e1000e 0000:00:19.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
e1000e 0000:00:19.0: setting latency timer to 64
e1000e 0000:00:19.0: irq 34 for MSI/MSI-X
0000:00:19.0: 0000:00:19.0: MDI Error
e1000e 0000:00:19.0: PCI INT A disabled
e1000e: probe of 0000:00:19.0 failed with error -2

The "MDI Error" seems to indicate a hardware failure, so I paid it no
mind until I noticed that RHEL 5 works. So, I diffed the drivers
between Linus' 2.6.34-rc5 and RHEL's 2.6.18-180.el5, with the following
minimal patch working for me:

diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 8b5e157..b97cd9f 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -276,19 +276,21 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)
 
 	phy->id = e1000_phy_unknown;
 	ret_val = e1000e_get_phy_id(hw);
-	if (ret_val)
-		goto out;
-	if ((phy->id == 0) || (phy->id == PHY_REVISION_MASK)) {
+/* P3 */ printk("get_phy_id.fast ret %d id %d\n", ret_val, phy->id);
+	if (ret_val || (phy->id == 0) || (phy->id == PHY_REVISION_MASK)) {
 		/*
 		 * In case the PHY needs to be in mdio slow mode (eg. 82577),
 		 * set slow mode and try to get the PHY id again.
 		 */
 		ret_val = e1000_set_mdio_slow_mode_hv(hw);
-		if (ret_val)
-			goto out;
-		ret_val = e1000e_get_phy_id(hw);
-		if (ret_val)
-			goto out;
+		if (ret_val) {
+/* P3 */ printk("failed to set mdio slow mode %d\n", ret_val);
+			phy->id = e1000_phy_unknown;
+		} else {
+			ret_val = e1000e_get_phy_id(hw);
+/* P3 */ printk("get_phy_id.slow ret %d id %d\n", ret_val, phy->id);
+		}
+		ret_val = 0; /* P3 */
 	}
 	phy->type = e1000e_get_phy_type_from_id(phy->id);
 
@@ -307,11 +309,10 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)
 		phy->ops.get_info = e1000e_get_phy_info_m88;
 		break;
 	default:
-		ret_val = -E1000_ERR_PHY;
+/* P3 */ printk("not doing anything for phy type %d\n", phy->type);
 		break;
 	}
 
-out:
 	return ret_val;
 }
 
@@ -354,7 +355,10 @@ static s32 e1000_init_phy_params_ich8lan(struct e1000_hw *hw)
 		msleep(1);
 		ret_val = e1000e_get_phy_id(hw);
 		if (ret_val)
+{
+/* P3 */ printk("get_phy_id for params ret %d id %d\n", ret_val, phy->id);
 			return ret_val;
+}
 	}
 
 	/* Verify phy id */
@@ -777,6 +781,77 @@ static s32 e1000_check_reset_block_ich8lan(struct e1000_hw *hw)
 }
 
 /**
+ *  e1000_phy_force_speed_duplex_ich8lan - Force PHY speed & duplex
+ *  @hw: pointer to the HW structure
+ *
+ *  Forces the speed and duplex settings of the PHY.
+ *  This is a function pointer entry point only called by
+ *  PHY setup routines.
+ **/
+static s32 e1000_phy_force_speed_duplex_ich8lan(struct e1000_hw *hw)
+{
+	struct e1000_phy_info *phy = &hw->phy;
+	s32 ret_val;
+	u16 data;
+	bool link;
+
+	if (phy->type != e1000_phy_ife) {
+		ret_val = e1000e_phy_force_speed_duplex_igp(hw);
+		return ret_val;
+	}
+
+	ret_val = e1e_rphy(hw, PHY_CONTROL, &data);
+	if (ret_val)
+		return ret_val;
+
+	e1000e_phy_force_speed_duplex_setup(hw, &data);
+
+	ret_val = e1e_wphy(hw, PHY_CONTROL, data);
+	if (ret_val)
+		return ret_val;
+
+	/* Disable MDI-X support for 10/100 */
+	ret_val = e1e_rphy(hw, IFE_PHY_MDIX_CONTROL, &data);
+	if (ret_val)
+		return ret_val;
+
+	data &= ~IFE_PMC_AUTO_MDIX;
+	data &= ~IFE_PMC_FORCE_MDIX;
+
+	ret_val = e1e_wphy(hw, IFE_PHY_MDIX_CONTROL, data);
+	if (ret_val)
+		return ret_val;
+
+	e_dbg("IFE PMC: %X\n", data);
+
+	udelay(1);
+
+	if (phy->autoneg_wait_to_complete) {
+		e_dbg("Waiting for forced speed/duplex link on IFE phy.\n");
+
+		ret_val = e1000e_phy_has_link_generic(hw,
+						     PHY_FORCE_LIMIT,
+						     100000,
+						     &link);
+		if (ret_val)
+			return ret_val;
+
+		if (!link)
+			e_dbg("Link taking longer than expected.\n");
+
+		/* Try once more */
+		ret_val = e1000e_phy_has_link_generic(hw,
+						     PHY_FORCE_LIMIT,
+						     100000,
+						     &link);
+		if (ret_val)
+			return ret_val;
+	}
+
+	return 0;
+}
+
+/**
  *  e1000_sw_lcd_config_ich8lan - SW-based LCD Configuration
  *  @hw:   pointer to the HW structure
  *
@@ -1273,6 +1348,87 @@ out:
 }
 
 /**
+ *  e1000_get_phy_info_ife_ich8lan - Retrieves various IFE PHY states
+ *  @hw: pointer to the HW structure
+ *
+ *  Populates "phy" structure with various feature states.
+ *  This function is only called by other family-specific
+ *  routines.
+ **/
+static s32 e1000_get_phy_info_ife_ich8lan(struct e1000_hw *hw)
+{
+	struct e1000_phy_info *phy = &hw->phy;
+	s32 ret_val;
+	u16 data;
+	bool link;
+
+	ret_val = e1000e_phy_has_link_generic(hw, 1, 0, &link);
+	if (ret_val)
+		return ret_val;
+
+	if (!link) {
+		e_dbg("Phy info is only valid if link is up\n");
+		return -E1000_ERR_CONFIG;
+	}
+
+	ret_val = e1e_rphy(hw, IFE_PHY_SPECIAL_CONTROL, &data);
+	if (ret_val)
+		return ret_val;
+	phy->polarity_correction = (!(data & IFE_PSC_AUTO_POLARITY_DISABLE));
+
+	if (phy->polarity_correction) {
+		ret_val = phy->ops.check_polarity(hw);
+		if (ret_val)
+			return ret_val;
+	} else {
+		/* Polarity is forced */
+		phy->cable_polarity = (data & IFE_PSC_FORCE_POLARITY)
+				      ? e1000_rev_polarity_reversed
+				      : e1000_rev_polarity_normal;
+	}
+
+	ret_val = e1e_rphy(hw, IFE_PHY_MDIX_CONTROL, &data);
+	if (ret_val)
+		return ret_val;
+
+	phy->is_mdix = (data & IFE_PMC_MDIX_STATUS);
+
+	/* The following parameters are undefined for 10/100 operation. */
+	phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;
+	phy->local_rx = e1000_1000t_rx_status_undefined;
+	phy->remote_rx = e1000_1000t_rx_status_undefined;
+
+	return 0;
+}
+
+/**
+ *  e1000_get_phy_info_ich8lan - Calls appropriate PHY type get_info
+ *  @hw: pointer to the HW structure
+ *
+ *  Wrapper for calling the get_info routines for the appropriate phy type.
+ *  This is a function pointer entry point called by drivers
+ *  or other shared routines.
+ **/
+static s32 e1000_get_phy_info_ich8lan(struct e1000_hw *hw)
+{
+	switch (hw->phy.type) {
+	case e1000_phy_ife:
+		return e1000_get_phy_info_ife_ich8lan(hw);
+		break;
+	case e1000_phy_igp_3:
+	case e1000_phy_bm:
+	case e1000_phy_82578:
+	case e1000_phy_82577:
+		return e1000e_get_phy_info_igp(hw);
+		break;
+	default:
+		break;
+	}
+
+	return -E1000_ERR_PHY_TYPE;
+}
+
+/**
  *  e1000_set_lplu_state_pchlan - Set Low Power Link Up state
  *  @hw: pointer to the HW structure
  *  @active: true to enable LPLU, false to disable
@@ -3394,8 +3550,10 @@ static struct e1000_phy_operations ich8_phy_ops = {
 	.acquire		= e1000_acquire_swflag_ich8lan,
 	.check_reset_block	= e1000_check_reset_block_ich8lan,
 	.commit			= NULL,
+	.force_speed_duplex	= e1000_phy_force_speed_duplex_ich8lan,
 	.get_cfg_done		= e1000_get_cfg_done_ich8lan,
 	.get_cable_length	= e1000e_get_cable_length_igp_2,
+	.get_info		= e1000_get_phy_info_ich8lan,
 	.read_reg		= e1000e_read_phy_reg_igp,
 	.release		= e1000_release_swflag_ich8lan,
 	.reset			= e1000_phy_hw_reset_ich8lan,

What seems to be happening here is a persistent failure of
e1000e_get_phy_id, in both "slow" and "fast" MDI modes. However,
in RHEL 5, this failure triggers a chain of workaround and adjustments
that bring up the interface with some default parameters... which
appear to work with my 1Gbit/s Netgear switch. So the hardware is
not dead, or not completely dead.

Could someone come up with a fix here, please? I have no clue where
to start even.

Greetings,
-- Pete

^ permalink raw reply related

* [stable-2.6.32 PATCH] ixgbe: backport bug fix for tx panic
From: Jeff Kirsher @ 2010-05-11  0:46 UTC (permalink / raw)
  To: stable, greg; +Cc: netdev, linux-kernel, davem, Brandon, Jesse Brandeburg

From: Jesse Brandeburg <jesse.brandeburg@intel.com>

backporting this commit:

commit fdd3d631cddad20ad9d3e1eb7dbf26825a8a121f
Author: Krishna Kumar <krkumar2@in.ibm.com>
Date:   Wed Feb 3 13:13:10 2010 +0000

    ixgbe: Fix return of invalid txq

    a developer had complained of getting lots of warnings:

    "eth16 selects TX queue 98, but real number of TX queues is 64"

    http://www.mail-archive.com/e1000-devel@lists.sourceforge.net/msg02200.html

    As there was no follow up on that bug, I am submitting this
    patch assuming that the other return points will not return
    invalid txq's, and also that this fixes the bug (not tested).

    Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
    Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

CC: Brandon <brandon@ifup.org>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
---

 drivers/net/ixgbe/ixgbe_main.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 6339d65..a873c5d 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -5241,9 +5241,13 @@ static int ixgbe_maybe_stop_tx(struct net_device *netdev,
 static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb)
 {
 	struct ixgbe_adapter *adapter = netdev_priv(dev);
+	int txq = smp_processor_id();
 
-	if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE)
-		return smp_processor_id();
+	if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {
+		while (unlikely(txq >= dev->real_num_tx_queues))
+			txq -= dev->real_num_tx_queues;
+		return txq;
+	}
 
 	if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
 		return (skb->vlan_tci & IXGBE_TX_FLAGS_VLAN_PRIO_MASK) >> 13;

^ permalink raw reply related

* [PATCH net-next-2.6 2/2] bonding: allow user-controlled output slave selection
From: Andy Gospodarek @ 2010-05-11  0:32 UTC (permalink / raw)
  To: netdev


This patch give the user the ability to control the output slave for
round-robin and active-backup bonding.  Similar functionality was
discussed in the past, but Jay Vosburgh indicated he would rather see a
feature like this added to existing modes rather than creating a
completely new mode.  Jay's thoughts as well as Neil's input surrounding
some of the issues with the first implementation pushed us toward a
design that relied on the queue_mapping rather than skb marks.
Round-robin and active-backup modes were chosen as the first users of
this slave selection as they seemed like the most logical choices when
considering a multi-switch environment.

Round-robin mode works without any modification, but active-backup does
require inclusion of the first patch in this series and setting
the 'keep_all' flag.  This will allow reception of unicast traffic on
any of the backup interfaces.

This was tested with IPv4-based filters as well as VLAN-based filters
with good results.

More information as well as a configuration example is available in the
patch to Documentation/networking/bonding.txt.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
---
 Documentation/networking/bonding.txt |   76 +++++++++++++++++++++-
 drivers/net/bonding/bond_main.c      |   77 +++++++++++++++++++++-
 drivers/net/bonding/bond_sysfs.c     |  117 +++++++++++++++++++++++++++++++++-
 drivers/net/bonding/bonding.h        |    5 ++
 include/linux/if_bonding.h           |    1 +
 5 files changed, 270 insertions(+), 6 deletions(-)

diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index d64fd2f..fd277c1 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -49,6 +49,7 @@ Table of Contents
 3.3	Configuring Bonding Manually with Ifenslave
 3.3.1		Configuring Multiple Bonds Manually
 3.4	Configuring Bonding Manually via Sysfs
+3.5	Overriding Configuration for Special Cases
 
 4. Querying Bonding Configuration
 4.1	Bonding Configuration
@@ -1333,8 +1334,79 @@ echo 2000 > /sys/class/net/bond1/bonding/arp_interval
 echo +eth2 > /sys/class/net/bond1/bonding/slaves
 echo +eth3 > /sys/class/net/bond1/bonding/slaves
 
-
-4. Querying Bonding Configuration 
+3.5 Overriding Configuration for Special Cases
+----------------------------------------------
+Nominally, when using the bonding driver, the physical port which transmits a
+frame is selected by the bonding driver, and is not relevant to the user or
+system administrator.  The output port is simply selected using the policies of
+the selected bonding mode.  On occasion however, it is helpful to direct certain
+classes of traffic to certain physical interfaces on output to implement
+slightly more complex policies.  For example, to reach a web server over a
+bonded interface in which eth0 connects to a private network, while eth1
+connects via a public network, it may be desirous to bias the bond to send said
+traffic over eth0 first, using eth1 only as a fall back, while all other traffic
+can safely be sent over either interface.  Such configurations may be achieved
+using the traffic control utilities inherent in linux.
+
+By default the bonding driver is multiqueue aware and 16 queues are created
+when the driver initializes (see Documentation/networking/multiqueue.txt
+for details).  If more or less queues are desired the module parameter
+tx_queues can be used to change this value.  There is no sysfs parameter
+available as the allocation is done at module init time.
+
+The output of the file /proc/net/bonding/bondX has changed so the output Queue
+ID is now printed for each slave:
+
+Bonding Mode: fault-tolerance (active-backup)
+Primary Slave: None
+Currently Active Slave: eth0
+MII Status: up
+MII Polling Interval (ms): 0
+Up Delay (ms): 0
+Down Delay (ms): 0
+
+Slave Interface: eth0
+MII Status: up
+Link Failure Count: 0
+Permanent HW addr: 00:1a:a0:12:8f:cb
+Slave queue ID: 0
+
+Slave Interface: eth1
+MII Status: up
+Link Failure Count: 0
+Permanent HW addr: 00:1a:a0:12:8f:cc
+Slave queue ID: 2
+
+The queue_id for a slave can be set using the command:
+
+# echo "eth1:2" > /sys/class/net/bond0/bonding/queue_id
+
+Any interface that needs a queue_id set should set it with multiple calls
+like the one above until proper priorities are set for all interfaces.  On
+distributions that allow configuration via initscripts, multiple 'queue_id'
+arguments can be added to BONDING_OPTS to set all needed slave queues.
+
+These queue id's can be used in conjunction with the tc utility to configure
+a multiqueue qdisc and filters to bias certain traffic to transmit on certain
+slave devices.  For instance, say we wanted, in the above configuration to
+force all traffic bound to 192.168.1.100 to use eth1 in the bond as its output
+device. The following commands would accomplish this:
+
+# tc qdisc add dev bond0 handle 1 root multiq
+
+# tc filter add dev bond0 protocol ip parent 1: prio 1 u32 match ip dst \
+	192.168.1.100 action skbedit queue_mapping 2
+
+These commands tell the kernel to attach a multiqueue queue discipline to the
+bond0 interface and filter traffic enqueued to it, such that packets with a dst
+ip of 192.168.1.100 have their output queue mapping value overwritten to 2.
+This value is then passed into the driver, causing the normal output path
+selection policy to be overridden, selecting instead qid 2, which maps to eth1.
+
+Note that qid values begin at 1.  qid 0 is reserved to initiate to the driver
+that normal output policy selection should take place.
+
+4 Querying Bonding Configuration
 =================================
 
 4.1 Bonding Configuration
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index eb86363..aa6a79a 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -90,6 +90,7 @@
 #define BOND_LINK_ARP_INTERV	0
 
 static int max_bonds	= BOND_DEFAULT_MAX_BONDS;
+static int tx_queues	= BOND_DEFAULT_TX_QUEUES;
 static int num_grat_arp = 1;
 static int num_unsol_na = 1;
 static int miimon	= BOND_LINK_MON_INTERV;
@@ -111,6 +112,8 @@ static struct bond_params bonding_defaults;
 
 module_param(max_bonds, int, 0);
 MODULE_PARM_DESC(max_bonds, "Max number of bonded devices");
+module_param(tx_queues, int, 0);
+MODULE_PARM_DESC(tx_queues, "Max number of transmit queues (default = 16)");
 module_param(num_grat_arp, int, 0644);
 MODULE_PARM_DESC(num_grat_arp, "Number of gratuitous ARP packets to send on failover event");
 module_param(num_unsol_na, int, 0644);
@@ -1532,6 +1535,12 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
 		goto err_undo_flags;
 	}
 
+	/*
+	 * Set the new_slave's queue_id to be zero.  Queue ID mapping
+	 * is set via sysfs or module option if desired.
+	 */
+	new_slave->queue_id = 0;
+
 	/* save slave's original flags before calling
 	 * netdev_set_master and dev_open
 	 */
@@ -1790,6 +1799,7 @@ err_restore_mac:
 	}
 
 err_free:
+	new_slave->queue_id = 0;
 	kfree(new_slave);
 
 err_undo_flags:
@@ -1977,6 +1987,7 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev)
 				   IFF_SLAVE_INACTIVE | IFF_BONDING |
 				   IFF_SLAVE_NEEDARP);
 
+	slave->queue_id = 0;
 	kfree(slave);
 
 	return 0;  /* deletion OK */
@@ -3269,6 +3280,7 @@ static void bond_info_show_slave(struct seq_file *seq,
 		else
 			seq_puts(seq, "Aggregator ID: N/A\n");
 	}
+	seq_printf(seq, "Slave queue ID: %d\n", slave->queue_id);
 }
 
 static int bond_info_seq_show(struct seq_file *seq, void *v)
@@ -4405,9 +4417,59 @@ static void bond_set_xmit_hash_policy(struct bonding *bond)
 	}
 }
 
+/*
+ * Lookup the slave that corresponds to a qid
+ */
+static inline int bond_slave_override(struct bonding *bond,
+				      struct sk_buff *skb)
+{
+	int i, res = 1;
+	struct slave *slave = NULL;
+	struct slave *check_slave;
+
+	read_lock(&bond->lock);
+
+	if (!BOND_IS_OK(bond) || !skb->queue_mapping)
+		goto out;
+
+	/* Find out if any slaves have the same mapping as this skb. */
+	bond_for_each_slave(bond, check_slave, i) {
+		if (check_slave->queue_id == skb->queue_mapping) {
+			slave = check_slave;
+			break;
+		}
+	}
+
+	/* If the slave isn't UP, use default transmit policy. */
+	if (slave && slave->queue_id && IS_UP(slave->dev) &&
+	    (slave->link == BOND_LINK_UP)) {
+		res = bond_dev_queue_xmit(bond, skb, slave->dev);
+	}
+
+out:
+	read_unlock(&bond->lock);
+	return res;
+}
+
+static u16 bond_select_queue(struct net_device *dev, struct sk_buff *skb)
+{
+	/*
+	 * This helper function exists to help dev_pick_tx get the correct
+	 * destination queue.  Using a helper function skips the a call to
+	 * skb_tx_hash and will put the skbs in the queue we expect on their
+	 * way down to the bonding driver.
+	 */
+	return skb->queue_mapping;
+}
+
 static netdev_tx_t bond_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
-	const struct bonding *bond = netdev_priv(dev);
+	struct bonding *bond = netdev_priv(dev);
+
+	if (TX_QUEUE_OVERRIDE(bond->params.mode)) {
+		if (!bond_slave_override(bond, skb))
+			return NETDEV_TX_OK;
+	}
 
 	switch (bond->params.mode) {
 	case BOND_MODE_ROUNDROBIN:
@@ -4492,6 +4554,7 @@ static const struct net_device_ops bond_netdev_ops = {
 	.ndo_open		= bond_open,
 	.ndo_stop		= bond_close,
 	.ndo_start_xmit		= bond_start_xmit,
+	.ndo_select_queue	= bond_select_queue,
 	.ndo_get_stats		= bond_get_stats,
 	.ndo_do_ioctl		= bond_do_ioctl,
 	.ndo_set_multicast_list	= bond_set_multicast_list,
@@ -4763,6 +4826,13 @@ static int bond_check_params(struct bond_params *params)
 		}
 	}
 
+	if (tx_queues < 1 || tx_queues > 255) {
+		pr_warning("Warning: tx_queues (%d) should be between "
+			   "1 and 255, resetting to %d\n",
+			   tx_queues, BOND_DEFAULT_TX_QUEUES);
+		tx_queues = BOND_DEFAULT_TX_QUEUES;
+	}
+
 	if ((keep_all != 0) && (keep_all != 1)) {
 		pr_warning("Warning: keep_all module parameter (%d), "
 			   "not of valid value (0/1), so it was set to "
@@ -4940,6 +5010,7 @@ static int bond_check_params(struct bond_params *params)
 	params->primary[0] = 0;
 	params->primary_reselect = primary_reselect_value;
 	params->fail_over_mac = fail_over_mac_value;
+	params->tx_queues = tx_queues;
 	params->keep_all = keep_all;
 
 	if (primary) {
@@ -5027,8 +5098,8 @@ int bond_create(struct net *net, const char *name)
 
 	rtnl_lock();
 
-	bond_dev = alloc_netdev(sizeof(struct bonding), name ? name : "",
-				bond_setup);
+	bond_dev = alloc_netdev_mq(sizeof(struct bonding), name ? name : "",
+				bond_setup, tx_queues);
 	if (!bond_dev) {
 		pr_err("%s: eek! can't alloc netdev!\n", name);
 		rtnl_unlock();
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index 44651ce..87bfcf1 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -1472,6 +1472,121 @@ static ssize_t bonding_show_ad_partner_mac(struct device *d,
 static DEVICE_ATTR(ad_partner_mac, S_IRUGO, bonding_show_ad_partner_mac, NULL);
 
 /*
+ * Show the queue_ids of the slaves in the current bond.
+ */
+static ssize_t bonding_show_queue_id(struct device *d,
+				     struct device_attribute *attr,
+				     char *buf)
+{
+	struct slave *slave;
+	int i, res = 0;
+	struct bonding *bond = to_bond(d);
+
+	if (!rtnl_trylock())
+		return restart_syscall();
+
+	read_lock(&bond->lock);
+	bond_for_each_slave(bond, slave, i) {
+		if (res > (PAGE_SIZE - 6)) {
+			/* not enough space for another interface name */
+			if ((PAGE_SIZE - res) > 10)
+				res = PAGE_SIZE - 10;
+			res += sprintf(buf + res, "++more++ ");
+			break;
+		}
+		res += sprintf(buf + res, "%s:%d ",
+			       slave->dev->name, slave->queue_id);
+	}
+	read_unlock(&bond->lock);
+	if (res)
+		buf[res-1] = '\n'; /* eat the leftover space */
+	rtnl_unlock();
+	return res;
+}
+
+/*
+ * Set the queue_ids of the  slaves in the current bond.  The bond
+ * interface must be enslaved for this to work.
+ */
+static ssize_t bonding_store_queue_id(struct device *d,
+				      struct device_attribute *attr,
+				      const char *buffer, size_t count)
+{
+	struct slave *slave, *update_slave;
+	struct bonding *bond = to_bond(d);
+	u16 qid;
+	int i, ret = count;
+	char *delim;
+	struct net_device *sdev = NULL;
+
+	if (!rtnl_trylock())
+		return restart_syscall();
+
+	/* delim will point to queue id if successful */
+	delim = strchr(buffer, ':');
+	if (!delim)
+		goto err_no_cmd;
+
+	/*
+	 * Terminate string that points to device name and bump it
+	 * up one, so we can read the queue id there.
+	 */
+	*delim = '\0';
+	if (sscanf(++delim, "%hd\n", &qid) != 1)
+		goto err_no_cmd;
+
+	/* Check buffer length, valid ifname and queue id */
+	if (strlen(buffer) > IFNAMSIZ ||
+	    !dev_valid_name(buffer) ||
+	    qid > bond->params.tx_queues)
+		goto err_no_cmd;
+
+	/* Get the pointer to that interface if it exists */
+	sdev = __dev_get_by_name(dev_net(bond->dev), buffer);
+	if (!sdev)
+		goto err_no_cmd;
+
+	read_lock(&bond->lock);
+
+	/* Search for thes slave and check for duplicate qids */
+	update_slave = NULL;
+	bond_for_each_slave(bond, slave, i) {
+		if (sdev == slave->dev)
+			/*
+			 * We don't need to check the matching
+			 * slave for dups, since we're overwriting it
+			 */
+			update_slave = slave;
+		else if (qid && qid == slave->queue_id) {
+			goto err_no_cmd_unlock;
+		}
+	}
+
+	if (!update_slave)
+		goto err_no_cmd_unlock;
+
+	/* Actually set the qids for the slave */
+	update_slave->queue_id = qid;
+
+	read_unlock(&bond->lock);
+out:
+	rtnl_unlock();
+	return ret;
+
+err_no_cmd_unlock:
+	read_unlock(&bond->lock);
+err_no_cmd:
+	pr_info("invalid input for queue_id set for %s.\n",
+		bond->dev->name);
+	ret = -EPERM;
+	goto out;
+}
+
+static DEVICE_ATTR(queue_id, S_IRUGO | S_IWUSR, bonding_show_queue_id,
+		   bonding_store_queue_id);
+
+
+/*
  * Show and set the keep_all flag.
  */
 static ssize_t bonding_show_keep(struct device *d,
@@ -1513,7 +1628,6 @@ static DEVICE_ATTR(keep_all, S_IRUGO | S_IWUSR,
 		   bonding_show_keep, bonding_store_keep);
 
 
-
 static struct attribute *per_bond_attrs[] = {
 	&dev_attr_slaves.attr,
 	&dev_attr_mode.attr,
@@ -1539,6 +1653,7 @@ static struct attribute *per_bond_attrs[] = {
 	&dev_attr_ad_actor_key.attr,
 	&dev_attr_ad_partner_key.attr,
 	&dev_attr_ad_partner_mac.attr,
+	&dev_attr_queue_id.attr,
 	&dev_attr_keep_all.attr,
 	NULL,
 };
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index 3b7532f..274a3a1 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -60,6 +60,9 @@
 		 ((mode) == BOND_MODE_TLB)          ||	\
 		 ((mode) == BOND_MODE_ALB))
 
+#define TX_QUEUE_OVERRIDE(mode)				\
+			(((mode) == BOND_MODE_ACTIVEBACKUP) ||	\
+			 ((mode) == BOND_MODE_ROUNDROBIN))
 /*
  * Less bad way to call ioctl from within the kernel; this needs to be
  * done some other way to get the call out of interrupt context.
@@ -131,6 +134,7 @@ struct bond_params {
 	char primary[IFNAMSIZ];
 	int primary_reselect;
 	__be32 arp_targets[BOND_MAX_ARP_TARGETS];
+	int tx_queues;
 	int keep_all;
 };
 
@@ -166,6 +170,7 @@ struct slave {
 	u8     perm_hwaddr[ETH_ALEN];
 	u16    speed;
 	u8     duplex;
+	u16    queue_id;
 	struct ad_slave_info ad_info; /* HUGE - better to dynamically alloc */
 	struct tlb_slave_info tlb_info;
 };
diff --git a/include/linux/if_bonding.h b/include/linux/if_bonding.h
index cd525fa..2c79943 100644
--- a/include/linux/if_bonding.h
+++ b/include/linux/if_bonding.h
@@ -83,6 +83,7 @@
 
 #define BOND_DEFAULT_MAX_BONDS  1   /* Default maximum number of devices to support */
 
+#define BOND_DEFAULT_TX_QUEUES 16   /* Default number of tx queues per device */
 /* hashing types */
 #define BOND_XMIT_POLICY_LAYER2		0 /* layer 2 (MAC only), default */
 #define BOND_XMIT_POLICY_LAYER34	1 /* layer 3+4 (IP ^ (TCP || UDP)) */
-- 
1.6.2.5


^ permalink raw reply related

* [PATCH net-next-2.6 1/2] bonding: add keep_all parameter
From: Andy Gospodarek @ 2010-05-11  0:29 UTC (permalink / raw)
  To: netdev


In an effort to suppress duplicate frames on certain bonding modes
(specifically the modes that do not require additional configuration on
the switch or switches connected to the host), code was added in the
generic receive patch in 2.6.16.  The current behavior works quite well
for most users, but there are some times it would be nice to restore old
functionality and allow all frames to make their way up the stack.

This patch adds support for a new module option and sysfs file called
'keep_all' that will restore pre-2.6.16 functionality if the user
desires.  The default value is '0' and retains existing behavior, but
the user can set it to '1' and allow all frames up if desired.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
---
 Documentation/networking/bonding.txt |   15 ++++++++++++
 drivers/net/bonding/bond_main.c      |   15 ++++++++++++
 drivers/net/bonding/bond_sysfs.c     |   43 +++++++++++++++++++++++++++++++++-
 drivers/net/bonding/bonding.h        |    1 +
 include/linux/if.h                   |    1 +
 net/core/dev.c                       |   26 +++++++++++---------
 6 files changed, 88 insertions(+), 13 deletions(-)

diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 61f516b..d64fd2f 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -399,6 +399,21 @@ fail_over_mac
 	This option was added in bonding version 3.2.0.  The "follow"
 	policy was added in bonding version 3.3.0.
 
+keep_all
+
+	Option to specify whether or not you will keep all frames
+	received on an interface that is a member of a bond.  Right
+	now checking is done to ensure that most frames ultimately
+	classified as duplicates are dropped to keep noise to a
+	minimum.  The feature to drop duplicates was added in kernel
+	version 2.6.16 (bonding driver version 3.0.2) and this will
+	allow that original behavior to be restored if desired.
+
+	A value of 0 (default) will preserve the current behavior and
+	will drop all duplicate frames the bond may receive.  A value
+	of 1 will not attempt to avoid duplicate frames and pass all
+	of them up the stack.
+
 lacp_rate
 
 	Option specifying the rate in which we'll ask our link partner
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 5e12462..eb86363 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -106,6 +106,7 @@ static int arp_interval = BOND_LINK_ARP_INTERV;
 static char *arp_ip_target[BOND_MAX_ARP_TARGETS];
 static char *arp_validate;
 static char *fail_over_mac;
+static int keep_all	= 0;
 static struct bond_params bonding_defaults;
 
 module_param(max_bonds, int, 0);
@@ -155,6 +156,9 @@ module_param(arp_validate, charp, 0);
 MODULE_PARM_DESC(arp_validate, "validate src/dst of ARP probes: none (default), active, backup or all");
 module_param(fail_over_mac, charp, 0);
 MODULE_PARM_DESC(fail_over_mac, "For active-backup, do not set all slaves to the same MAC.  none (default), active or follow");
+module_param(keep_all, int, 0);
+MODULE_PARM_DESC(keep_all, "Keep all frames received on an interface"
+			   "0 for never (default), 1 for always.");
 
 /*----------------------------- Global variables ----------------------------*/
 
@@ -4542,6 +4546,9 @@ static void bond_setup(struct net_device *bond_dev)
 	if (bond->params.arp_interval)
 		bond_dev->priv_flags |= IFF_MASTER_ARPMON;
 
+	if (bond->params.keep_all)
+		bond_dev->priv_flags |= IFF_BONDING_KEEP_ALL;
+
 	/* At first, we block adding VLANs. That's the only way to
 	 * prevent problems that occur when adding VLANs over an
 	 * empty bond. The block will be removed once non-challenged
@@ -4756,6 +4763,13 @@ static int bond_check_params(struct bond_params *params)
 		}
 	}
 
+	if ((keep_all != 0) && (keep_all != 1)) {
+		pr_warning("Warning: keep_all module parameter (%d), "
+			   "not of valid value (0/1), so it was set to "
+			   "0\n", keep_all);
+		keep_all = 0;
+	}
+
 	/* reset values for TLB/ALB */
 	if ((bond_mode == BOND_MODE_TLB) ||
 	    (bond_mode == BOND_MODE_ALB)) {
@@ -4926,6 +4940,7 @@ static int bond_check_params(struct bond_params *params)
 	params->primary[0] = 0;
 	params->primary_reselect = primary_reselect_value;
 	params->fail_over_mac = fail_over_mac_value;
+	params->keep_all = keep_all;
 
 	if (primary) {
 		strncpy(params->primary, primary, IFNAMSIZ);
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index b8bec08..44651ce 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -339,7 +339,6 @@ out:
 
 static DEVICE_ATTR(slaves, S_IRUGO | S_IWUSR, bonding_show_slaves,
 		   bonding_store_slaves);
-
 /*
  * Show and set the bonding mode.  The bond interface must be down to
  * change the mode.
@@ -1472,6 +1471,47 @@ static ssize_t bonding_show_ad_partner_mac(struct device *d,
 }
 static DEVICE_ATTR(ad_partner_mac, S_IRUGO, bonding_show_ad_partner_mac, NULL);
 
+/*
+ * Show and set the keep_all flag.
+ */
+static ssize_t bonding_show_keep(struct device *d,
+				 struct device_attribute *attr,
+				 char *buf)
+{
+	struct bonding *bond = to_bond(d);
+
+	return sprintf(buf, "%d\n", bond->params.keep_all);
+}
+
+static ssize_t bonding_store_keep(struct device *d,
+				  struct device_attribute *attr,
+				  const char *buf, size_t count)
+{
+	int new_value, ret = count;
+	struct bonding *bond = to_bond(d);
+
+	if (sscanf(buf, "%d", &new_value) != 1) {
+		pr_err("%s: no keep_all value specified.\n",
+		       bond->dev->name);
+		ret = -EINVAL;
+		goto out;
+	}
+	if ((new_value == 0) || (new_value == 1)) {
+		bond->params.keep_all = new_value;
+		if (bond->params.keep_all)
+			bond->dev->priv_flags |= IFF_BONDING_KEEP_ALL;
+		else
+			bond->dev->priv_flags &= ~IFF_BONDING_KEEP_ALL;
+	} else {
+		pr_info("%s: Ignoring invalid keep_all value %d.\n",
+			bond->dev->name, new_value);
+	}
+out:
+	return count;
+}
+static DEVICE_ATTR(keep_all, S_IRUGO | S_IWUSR,
+		   bonding_show_keep, bonding_store_keep);
+
 
 
 static struct attribute *per_bond_attrs[] = {
@@ -1499,6 +1539,7 @@ static struct attribute *per_bond_attrs[] = {
 	&dev_attr_ad_actor_key.attr,
 	&dev_attr_ad_partner_key.attr,
 	&dev_attr_ad_partner_mac.attr,
+	&dev_attr_keep_all.attr,
 	NULL,
 };
 
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index 2aa3367..3b7532f 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -131,6 +131,7 @@ struct bond_params {
 	char primary[IFNAMSIZ];
 	int primary_reselect;
 	__be32 arp_targets[BOND_MAX_ARP_TARGETS];
+	int keep_all;
 };
 
 struct bond_parm_tbl {
diff --git a/include/linux/if.h b/include/linux/if.h
index be350e6..e9f6040 100644
--- a/include/linux/if.h
+++ b/include/linux/if.h
@@ -73,6 +73,7 @@
 #define IFF_DONT_BRIDGE 0x800		/* disallow bridging this ether dev */
 #define IFF_IN_NETPOLL	0x1000		/* whether we are processing netpoll */
 #define IFF_DISABLE_NETPOLL	0x2000	/* disable netpoll at run-time */
+#define IFF_BONDING_KEEP_ALL	0x4000	/* do not drop possible dup frames */
 
 #define IF_GET_IFACE	0x0001		/* for querying only */
 #define IF_GET_PROTO	0x0002
diff --git a/net/core/dev.c b/net/core/dev.c
index 32611c8..9a9c01d 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2758,21 +2758,23 @@ int __skb_bond_should_drop(struct sk_buff *skb, struct net_device *master)
 		skb_bond_set_mac_by_master(skb, master);
 	}
 
-	if (dev->priv_flags & IFF_SLAVE_INACTIVE) {
-		if ((dev->priv_flags & IFF_SLAVE_NEEDARP) &&
-		    skb->protocol == __cpu_to_be16(ETH_P_ARP))
-			return 0;
+	if (unlikely(!(master->priv_flags & IFF_BONDING_KEEP_ALL))) {
+		if (dev->priv_flags & IFF_SLAVE_INACTIVE) {
+			if ((dev->priv_flags & IFF_SLAVE_NEEDARP) &&
+			    skb->protocol == __cpu_to_be16(ETH_P_ARP))
+				return 0;
 
-		if (master->priv_flags & IFF_MASTER_ALB) {
-			if (skb->pkt_type != PACKET_BROADCAST &&
-			    skb->pkt_type != PACKET_MULTICAST)
+			if (master->priv_flags & IFF_MASTER_ALB) {
+				if (skb->pkt_type != PACKET_BROADCAST &&
+				    skb->pkt_type != PACKET_MULTICAST)
+					return 0;
+			}
+			if (master->priv_flags & IFF_MASTER_8023AD &&
+			    skb->protocol == __cpu_to_be16(ETH_P_SLOW))
 				return 0;
-		}
-		if (master->priv_flags & IFF_MASTER_8023AD &&
-		    skb->protocol == __cpu_to_be16(ETH_P_SLOW))
-			return 0;
 
-		return 1;
+			return 1;
+		}
 	}
 	return 0;
 }
-- 
1.6.2.5


^ permalink raw reply related

* Re: [PATCH] virtif: initial interface extensions
From: Scott Feldman @ 2010-05-11  0:25 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: Stefan Berger, netdev
In-Reply-To: <201005102346.38229.arnd@arndb.de>

On 5/10/10 2:46 PM, "Arnd Bergmann" <arnd@arndb.de> wrote:

> On Monday 10 May 2010 20:56:39 Scott Feldman wrote:
>> With Arnd's latest additions, we have a single netlink msg, but the
>> parameter sets are disjoint between VDP/CDCP and what we need for the kernel
>> driver.  So that means the sender (libvirt in this case) needs to know about
>> both setups to send a single netlink msg.  An alternative is a have two
>> netlink msgs, one for each setup.  That still requires the sender to know
>> about two setups.
> 
> There are two separate issues here. The first one is whether we're doing
> the association in the device driver or in user space. The assumption here
> is that if it's in the device driver, there will be a VF number to identify
> the channel, while in user space that is not needed.
> 
> The other question is which protocol we're using. There are as far as I
> can tell five options:
> 
> 1. enic device driver
> 2. VDP
> 3. CDCP
> 4. CDCP + VDP
> 5. enic + VDP
> 
> The first two ones are the most interesting for now, since Linux cannot do
> S-VLANs yet, and they are required for CDCP. However, each of these options
> could theoreticall be done in the kernel (plus firmware) or in user space.
> 
> If it's done in user space, the VF number is meaningless, because the setup
> of the software device is also done from software, but instead you need to
> take care of creating the software device with the correct parameters, e.g.
> a macvtap device connected to a VLAN interface using the numbers you pass
> in the VDP protocol.
> 
> Right now, we're not planning to do the protocol that enic uses in LLDPAD,
> because it's not publically released. Similarly, there are no adapters that
> do VDP in firmware, but both these cases should be covered by the protocol
> and it would be good if libvirt could handle them.
> 
> Stefan, can you just define the XML in a way that matches the netlink
> definition? What you need is something like
> 
> 1. VF number (optional, signifies that 2/3 are done in firmware)
> 2. Lower-level protocol
>   2.1. CDCP
>      2.1.1 SVID
>      2.1.2 SCID
>   2.2. enic
>      2.2.1 port profile name
>      2.2.2 ...
> 3. VDP
>   3.1 VSI type/version/provider
>   3.2 UUID
>   3.3 MAC/VLAN
> 
> You need to have 2. or 3. or both, and 2.1/2.2 are mutually exclusive.

I'm don't think this is going in the right direction.  We're talking a
pretty simple concept of a port-profile used to configure the virtual port
backing a VM i/f to something that's trying to munge disjoint protocols
based on pre-standard work into a single API.  It's forcing all those
pre-standard protocol details into the API, into the XML, and into the mgmt
software (libvirt), and into the admin's lap.

I want the API to pass a port-profile name plus other information associated
with the VM i/f to some mgmt object which can setup the virtual port backing
the VM i/f.  (And unset it).  Using netlink for API let's that object be in
user- or kernel-space software, hardware or firmware.  How the object sets
up the virtual port based on the passed port-profile is beyond the scope of
the API.

My last port-profile patch is this API.  It gives us this:

    1) single netlink msg for kernel- and user-space
    2) single parameter set from sender's perspective (libvirt)
    3) single XML representation of parameters
    4) single code path in kernel and libvirt
    5) (potential) cross-vendor-switch VM migration
    6) admin-friendly port-profile names
    7) allows pre-standard (802.1Qbg/bh) details to change
       without bogging down the API

What I proposed on the libvirt list is to maintain a mapping database from
port-profile to vendor-specific or protocol-specific parameters.  Using VDP
as an example, a port-profile would resolve the VDP tuple:

     port-profile: "joes-garage"   --->  VSI Manager ID: 15
                                         VSI Type ID: 12345
                                         VSI Type ID Ver: 1
                                         other VSI settings (preassociate)

How the mapping database is maintained is beyond the scope of the API.

The port-profile string is the unifying concept.  This is the common ground
and the only way to be protocol-independent in the API.

-scott


^ permalink raw reply

* [PATCH -next 1/2] bnx2: Fix register printouts during NETEV_WATCHDOG.
From: Michael Chan @ 2010-05-10 23:18 UTC (permalink / raw)
  To: davem; +Cc: netdev

From: Eddie Wai <waie@broadcom.com>

Dump the correct MCP registers and add EMAC_RX_STATUS register during
NETDEV_WATCHDOG for debugging.

Signed-off-by: Eddie Wai <waie@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/bnx2.c |   15 ++++++++++++---
 drivers/net/bnx2.h |    2 ++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 667f419..c281218 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -6301,14 +6301,23 @@ static void
 bnx2_dump_state(struct bnx2 *bp)
 {
 	struct net_device *dev = bp->dev;
+	u32 mcp_p0, mcp_p1;
 
 	netdev_err(dev, "DEBUG: intr_sem[%x]\n", atomic_read(&bp->intr_sem));
-	netdev_err(dev, "DEBUG: EMAC_TX_STATUS[%08x] RPM_MGMT_PKT_CTRL[%08x]\n",
+	netdev_err(dev, "DEBUG: EMAC_TX_STATUS[%08x] EMAC_RX_STATUS[%08x]\n",
 		   REG_RD(bp, BNX2_EMAC_TX_STATUS),
+		   REG_RD(bp, BNX2_EMAC_RX_STATUS));
+	netdev_err(dev, "DEBUG: RPM_MGMT_PKT_CTRL[%08x]\n",
 		   REG_RD(bp, BNX2_RPM_MGMT_PKT_CTRL));
+	if (CHIP_NUM(bp) == CHIP_NUM_5709) {
+		mcp_p0 = BNX2_MCP_STATE_P0;
+		mcp_p1 = BNX2_MCP_STATE_P1;
+	} else {
+		mcp_p0 = BNX2_MCP_STATE_P0_5708;
+		mcp_p1 = BNX2_MCP_STATE_P1_5708;
+	}
 	netdev_err(dev, "DEBUG: MCP_STATE_P0[%08x] MCP_STATE_P1[%08x]\n",
-		   bnx2_reg_rd_ind(bp, BNX2_MCP_STATE_P0),
-		   bnx2_reg_rd_ind(bp, BNX2_MCP_STATE_P1));
+		   bnx2_reg_rd_ind(bp, mcp_p0), bnx2_reg_rd_ind(bp, mcp_p1));
 	netdev_err(dev, "DEBUG: HC_STATS_INTERRUPT_STATUS[%08x]\n",
 		   REG_RD(bp, BNX2_HC_STATS_INTERRUPT_STATUS));
 	if (bp->flags & BNX2_FLAG_USING_MSIX)
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index dd35bd0..ddaa3fc 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -6347,6 +6347,8 @@ struct l2_fhdr {
 #define BNX2_MCP_SCRATCH				0x00160000
 #define BNX2_MCP_STATE_P1				 0x0016f9c8
 #define BNX2_MCP_STATE_P0				 0x0016fdc8
+#define BNX2_MCP_STATE_P1_5708				 0x001699c8
+#define BNX2_MCP_STATE_P0_5708				 0x00169dc8
 
 #define BNX2_SHM_HDR_SIGNATURE				BNX2_MCP_SCRATCH
 #define BNX2_SHM_HDR_SIGNATURE_SIG_MASK			 0xffff0000
-- 
1.6.4.GIT



^ permalink raw reply related

* Confirm E-mail From Dr.Mary Simon
From: Microsoft Award Office England @ 2010-05-10 23:27 UTC (permalink / raw)




ATTN:
You have won the sum of Seven Hundred And Ten Thousand Pounds from Microsoft
Company on our 2010 bonanza.

You are to contact him with your details below;
1.Name.2.Address.3.Nationality.4.Age.5.Occupation.6.Phone/Fax.

You can as well reach him on his cell for details.

Contact Person:Donald Preece
Email :donaldpreece1@w.cn
Tel:+44 702 408 3922

Congratulations once again.
Regards,
Dr.Mary Simon
Microsoft Award Office England


^ permalink raw reply

* Re: [PATCH] virtif: initial interface extensions
From: Stefan Berger @ 2010-05-10 23:51 UTC (permalink / raw)
  To: netdev
In-Reply-To: <201005102346.38229.arnd@arndb.de>

Arnd Bergmann <arnd@arndb.de> wrote on 05/10/2010 05:46:37 PM:


> The other question is which protocol we're using. There are as far as I
> can tell five options:
> 
> 1. enic device driver
> 2. VDP
> 3. CDCP
> 4. CDCP + VDP
> 5. enic + VDP
> 
> The first two ones are the most interesting for now, since Linux cannot do
> S-VLANs yet, and they are required for CDCP. However, each of these options
> could theoreticall be done in the kernel (plus firmware) or in user space.
> 
> If it's done in user space, the VF number is meaningless, because the setup
> of the software device is also done from software, but instead you need to
> take care of creating the software device with the correct parameters, e.g.
> a macvtap device connected to a VLAN interface using the numbers you pass
> in the VDP protocol.
> 
> Right now, we're not planning to do the protocol that enic uses in LLDPAD,
> because it's not publically released. Similarly, there are no adapters that
> do VDP in firmware, but both these cases should be covered by the protocol
> and it would be good if libvirt could handle them.
> 
> Stefan, can you just define the XML in a way that matches the netlink
> definition? What you need is something like
> 
> 1. VF number (optional, signifies that 2/3 are done in firmware) 

Shouldn't we be able to query that number via netlink starting with the 
macvtap device and the following the trail to the root and trying to find 
a VF number on the way? 

> 2. Lower-level protocol
>   2.1. CDCP
>      2.1.1 SVID
>      2.1.2 SCID 

Will the later on be qeueryable via netlink as well but not today??? 
Vivek tells me svid is vlan, so that could be found out from the kernel. 

So if we want to only support 1 and 2 for now, I'd rather skip them for now. 

>   2.2. enic
>      2.2.1 port profile name 

as proposed on libvirt mailing list 

>      2.2.2 ...
> 3. VDP
>   3.1 VSI type/version/provider 

as proposed on libvirt mailing list 

>   3.2 UUID 

we have a couple of UUIDs, which one? 


>   3.3 MAC/VLAN 

MAC: available from libvirt 
VLAN: can be found out by querying for every interface for VLAN ID while
following the path towards the root device. 


    Stefan 


^ permalink raw reply

* Re: bug: micrel phy init (2.6.34-rc7)
From: Randy Dunlap @ 2010-05-10 22:56 UTC (permalink / raw)
  To: Linux Kernel Mailing List, Netdev; +Cc: David J. Choi
In-Reply-To: <4BE88BED.4030400@oracle.com>

On 05/10/10 15:42, Randy Dunlap wrote:
> Loading the micrel phy driver BUGs (no device present):
> 
> [  623.821462] BUG: unable to handle kernel NULL pointer dereference at (null)
> [  623.822164] IP: [<ffffffff8123c9f0>] strcmp+0x6/0x44
> [  623.822164] PGD 7d4bd067 PUD 7d6bb067 PMD 0 
> [  623.822164] Oops: 0000 [#1] SMP
> 
> 
> Full kernel log and config are attached.
> 
> Not a regression -- this is a new driver.

OK, I see that this was reported & fixed on May-06.  :)


-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

^ permalink raw reply

* bug: micrel phy init (2.6.34-rc7)
From: Randy Dunlap @ 2010-05-10 22:42 UTC (permalink / raw)
  To: Linux Kernel Mailing List, Netdev; +Cc: David J. Choi

[-- Attachment #1: Type: text/plain, Size: 450 bytes --]

Loading the micrel phy driver BUGs (no device present):

[  623.821462] BUG: unable to handle kernel NULL pointer dereference at (null)
[  623.822164] IP: [<ffffffff8123c9f0>] strcmp+0x6/0x44
[  623.822164] PGD 7d4bd067 PUD 7d6bb067 PMD 0 
[  623.822164] Oops: 0000 [#1] SMP


Full kernel log and config are attached.

Not a regression -- this is a new driver.

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

[-- Attachment #2: config-2634-rc7 --]
[-- Type: text/plain, Size: 80155 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.34-rc7
# Sun May  9 20:49:41 2010
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_EARLY_RES=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_TREE_PREEMPT_RCU is not set
# CONFIG_TINY_RCU is not set
CONFIG_RCU_TRACE=y
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_EXACT=y
# CONFIG_RCU_FAST_NO_HZ is not set
CONFIG_TREE_RCU_TRACE=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
# CONFIG_NAMESPACES is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_LZO is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_PERF_COUNTERS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
CONFIG_OPROFILE_EVENT_MULTIPLEX=y
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
# CONFIG_OPTPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y

#
# GCOV-based kernel profiling
#
CONFIG_GCOV_KERNEL=y
CONFIG_GCOV_PROFILE_ALL=y
CONFIG_SLOW_WORK=y
# CONFIG_SLOW_WORK_DEBUG is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
# CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
# CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_SPARSE_IRQ=y
CONFIG_NUMA_IRQ_DESC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_NO_BOOTMEM is not set
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=7
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_PROCESSOR_SELECT is not set
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
# CONFIG_X86_DS is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
# CONFIG_AMD_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_IOMMU_API=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
# CONFIG_X86_MCE_AMD is not set
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_NUMA=y
# CONFIG_K8_NUMA is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=9
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW_64K=y
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
CONFIG_COMPAT_VDSO=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATION_NVS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_RUNTIME=y
CONFIG_PM_OPS=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_POWER_METER=m
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_SBS=m
# CONFIG_SFI is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

#
# CPUFreq processor drivers
#
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_POWERNOW_K8 is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_P4_CLOCKMOD=m

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y

#
# Memory power savings
#
CONFIG_I7300_IDLE_IOAT_CHANNEL=y
CONFIG_I7300_IDLE=m

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
CONFIG_DMAR=y
# CONFIG_DMAR_DEFAULT_ON is not set
CONFIG_DMAR_FLOPPY_WA=y
CONFIG_INTR_REMAP=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
CONFIG_PCIEAER=y
CONFIG_PCIE_ECRC=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_STUB=m
CONFIG_HT_IRQ=y
CONFIG_PCI_IOV=y
CONFIG_PCI_IOAPIC=y
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=m
CONFIG_I82092=m
CONFIG_PCCARD_NONSTATIC=m
CONFIG_HOTPLUG_PCI=m
CONFIG_HOTPLUG_PCI_FAKE=m
CONFIG_HOTPLUG_PCI_ACPI=m
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
CONFIG_HOTPLUG_PCI_SHPC=m

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=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_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
CONFIG_RDS=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_STP=m
CONFIG_GARP=m
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_IGMP_SNOOPING is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
# CONFIG_DECNET is not set
CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
CONFIG_NET_DROP_MONITOR=y
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=m
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
CONFIG_NL80211_TESTMODE=y
CONFIG_CFG80211_DEVELOPER_WARNINGS=y
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
CONFIG_LIB80211_CRYPT_TKIP=m
# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
# CONFIG_MAC80211_RC_PID is not set
CONFIG_MAC80211_RC_MINSTREL=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_WIMAX=m
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
# CONFIG_RFKILL_INPUT is not set
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_PC_SUPERIO=y
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
CONFIG_PARIDE=m

#
# Parallel IDE high-level drivers
#
CONFIG_PARIDE_PD=m
CONFIG_PARIDE_PCD=m
CONFIG_PARIDE_PF=m
CONFIG_PARIDE_PT=m
CONFIG_PARIDE_PG=m

#
# Parallel IDE protocol modules
#
# CONFIG_PARIDE_ATEN is not set
# CONFIG_PARIDE_BPCK is not set
# CONFIG_PARIDE_COMM is not set
# CONFIG_PARIDE_DSTR is not set
# CONFIG_PARIDE_FIT2 is not set
# CONFIG_PARIDE_FIT3 is not set
# CONFIG_PARIDE_EPAT is not set
# CONFIG_PARIDE_EPIA is not set
# CONFIG_PARIDE_FRIQ is not set
# CONFIG_PARIDE_FRPW is not set
# CONFIG_PARIDE_KBIC is not set
# CONFIG_PARIDE_KTTI is not set
# CONFIG_PARIDE_ON20 is not set
# CONFIG_PARIDE_ON26 is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_OSD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_XIP=y
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_TIFM_CORE=m
CONFIG_EEPROM_93CX6=m
CONFIG_CB710_CORE=m
CONFIG_IWMC3200TOP=m
CONFIG_HAVE_IDE=y
CONFIG_IDE=m

#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_IDE_GD=m
CONFIG_IDE_GD_ATA=y
CONFIG_IDE_GD_ATAPI=y
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_DELKIN=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEACPI=y
CONFIG_IDE_TASK_IOCTL=y
CONFIG_IDE_PROC_FS=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=m
CONFIG_BLK_DEV_PLATFORM=m
CONFIG_BLK_DEV_CMD640=m
CONFIG_BLK_DEV_CMD640_ENHANCED=y
CONFIG_BLK_DEV_IDEPNP=m
CONFIG_BLK_DEV_IDEDMA_SFF=y

#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_OFFBOARD=y
CONFIG_BLK_DEV_GENERIC=m
CONFIG_BLK_DEV_OPTI621=m
CONFIG_BLK_DEV_RZ1000=m
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_AEC62XX=m
CONFIG_BLK_DEV_ALI15X3=m
CONFIG_BLK_DEV_AMD74XX=m
CONFIG_BLK_DEV_ATIIXP=m
CONFIG_BLK_DEV_CMD64X=m
CONFIG_BLK_DEV_TRIFLEX=m
CONFIG_BLK_DEV_CS5520=m
CONFIG_BLK_DEV_CS5530=m
CONFIG_BLK_DEV_HPT366=m
CONFIG_BLK_DEV_JMICRON=m
CONFIG_BLK_DEV_SC1200=m
CONFIG_BLK_DEV_PIIX=m
CONFIG_BLK_DEV_IT8172=m
CONFIG_BLK_DEV_IT8213=m
CONFIG_BLK_DEV_IT821X=m
CONFIG_BLK_DEV_NS87415=m
CONFIG_BLK_DEV_PDC202XX_OLD=m
CONFIG_BLK_DEV_PDC202XX_NEW=m
CONFIG_BLK_DEV_SVWKS=m
CONFIG_BLK_DEV_SIIMAGE=m
CONFIG_BLK_DEV_SIS5513=m
CONFIG_BLK_DEV_SLC90E66=m
CONFIG_BLK_DEV_TRM290=m
CONFIG_BLK_DEV_VIA82CXXX=m
CONFIG_BLK_DEV_TC86C001=m
CONFIG_BLK_DEV_IDEDMA=y

#
# SCSI device support
#
CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
# CONFIG_SCSI_BNX2_ISCSI is not set
CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC7XXX_OLD=m
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=5000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ARCMSR=m
CONFIG_SCSI_ARCMSR_AER=y
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS_LOGGING=y
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_VMWARE_PVSCSI=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
CONFIG_SCSI_IZIP_EPP16=y
CONFIG_SCSI_IZIP_SLOW_CTR=y
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=m
# CONFIG_SCSI_IPR_TRACE is not set
# CONFIG_SCSI_IPR_DUMP is not set
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
CONFIG_SCSI_LPFC_DEBUG_FS=y
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
CONFIG_SCSI_SRP=m
CONFIG_SCSI_BFA_FC=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
CONFIG_SCSI_DH=m
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_OSD_INITIATOR=m
CONFIG_SCSI_OSD_ULD=m
CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=m
CONFIG_SATA_SIL24=m
CONFIG_ATA_SFF=y
CONFIG_SATA_SVW=m
CONFIG_ATA_PIIX=m
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SX4=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m
CONFIG_SATA_INIC162X=m
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=m
CONFIG_PATA_ARTOP=m
CONFIG_PATA_ATP867X=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_CMD640_PCI=m
CONFIG_PATA_CMD64X=m
CONFIG_PATA_CS5520=m
CONFIG_PATA_CS5530=m
CONFIG_PATA_CYPRESS=m
CONFIG_PATA_EFAR=m
CONFIG_ATA_GENERIC=m
CONFIG_PATA_HPT366=m
CONFIG_PATA_HPT37X=m
CONFIG_PATA_HPT3X2N=m
CONFIG_PATA_HPT3X3=m
CONFIG_PATA_HPT3X3_DMA=y
CONFIG_PATA_IT821X=m
CONFIG_PATA_IT8213=m
CONFIG_PATA_JMICRON=m
# CONFIG_PATA_LEGACY is not set
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_MARVELL=m
CONFIG_PATA_MPIIX=m
CONFIG_PATA_OLDPIIX=m
CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_NS87410=m
CONFIG_PATA_NS87415=m
CONFIG_PATA_OPTI=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_PCMCIA=m
CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_RADISYS=m
CONFIG_PATA_RDC=m
CONFIG_PATA_RZ1000=m
CONFIG_PATA_SC1200=m
CONFIG_PATA_SERVERWORKS=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_SIS=m
CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
# CONFIG_PATA_PLATFORM is not set
CONFIG_PATA_SCH=m
# CONFIG_MD is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#

#
# You can enable one or both FireWire driver stacks.
#

#
# The newer stack is recommended.
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_OHCI_DEBUG=y
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
CONFIG_IEEE1394=m
CONFIG_IEEE1394_OHCI1394=m
CONFIG_IEEE1394_PCILYNX=m
CONFIG_IEEE1394_SBP2=m
CONFIG_IEEE1394_SBP2_PHYS_DMA=y
CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_RAWIO=m
CONFIG_IEEE1394_VIDEO1394=m
CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_VERBOSEDEBUG=y
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_BONDING=m
CONFIG_MACVLAN=m
# CONFIG_MACVTAP is not set
CONFIG_EQUALIZER=m
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_NET_SB1000=m
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_GPIO=m
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
# CONFIG_NET_VENDOR_3COM is not set
CONFIG_ENC28J60=m
CONFIG_ENC28J60_WRITEVERIFY=y
CONFIG_ETHOC=m
CONFIG_DNET=m
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=m
CONFIG_AMD8111_ETH=m
CONFIG_ADAPTEC_STARFIRE=m
# CONFIG_KSZ884X_PCI is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
CONFIG_E100=m
# CONFIG_FEALNX is not set
CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_R6040 is not set
CONFIG_SIS900=m
CONFIG_EPIC100=m
CONFIG_SMSC9420=m
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_KS8842 is not set
# CONFIG_KS8851 is not set
CONFIG_KS8851_MLL=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
# CONFIG_SC92031 is not set
CONFIG_NET_POCKET=y
CONFIG_ATP=m
CONFIG_DE600=m
CONFIG_DE620=m
# CONFIG_ATL2 is not set
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=m
CONFIG_ACENIC_OMIT_TIGON_I=y
CONFIG_DL2K=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IP1000=m
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
CONFIG_R8169=m
CONFIG_R8169_VLAN=y
CONFIG_SIS190=m
CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_VIA_VELOCITY=m
CONFIG_TIGON3=y
# CONFIG_BNX2 is not set
# CONFIG_CNIC is not set
CONFIG_QLA3XXX=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_JME=m
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AIRO=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
CONFIG_AT76C50X_USB=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=m
CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=m
CONFIG_MAC80211_HWSIM=m
CONFIG_MWL8K=m
CONFIG_ATH_COMMON=m
# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K=m
# CONFIG_ATH5K_DEBUG is not set
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
CONFIG_ATH9K_DEBUGFS=y
CONFIG_AR9170_USB=m
CONFIG_AR9170_LEDS=y
CONFIG_B43=m
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_PIO=y
CONFIG_B43_PHY_LP=y
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_CS=m
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=m
# CONFIG_LIBIPW_DEBUG is not set
CONFIG_IWLWIFI=m
# CONFIG_IWLWIFI_DEBUG is not set
CONFIG_IWLWIFI_DEVICE_TRACING=y
CONFIG_IWLAGN=m
CONFIG_IWL4965=y
CONFIG_IWL5000=y
CONFIG_IWL3945=m
CONFIG_IWM=m
# CONFIG_IWM_DEBUG is not set
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_CS=m
CONFIG_LIBERTAS_SDIO=m
CONFIG_LIBERTAS_SPI=m
# CONFIG_LIBERTAS_DEBUG is not set
# CONFIG_LIBERTAS_MESH is not set
CONFIG_HERMES=m
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_NORTEL_HERMES=m
CONFIG_PCI_HERMES=m
CONFIG_PCMCIA_HERMES=m
CONFIG_PCMCIA_SPECTRUM=m
CONFIG_P54_COMMON=m
CONFIG_P54_USB=m
CONFIG_P54_PCI=m
CONFIG_P54_SPI=m
CONFIG_P54_LEDS=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
CONFIG_RT61PCI=m
CONFIG_RT2800PCI_PCI=y
CONFIG_RT2800PCI=m
# CONFIG_RT2800PCI_RT30XX is not set
# CONFIG_RT2800PCI_RT35XX is not set
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
# CONFIG_RT2800USB_RT30XX is not set
# CONFIG_RT2800USB_RT35XX is not set
# CONFIG_RT2800USB_UNKNOWN is not set
CONFIG_RT2800_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
CONFIG_RT2X00_LIB_DEBUGFS=y
# CONFIG_RT2X00_DEBUG is not set
CONFIG_WL12XX=m
CONFIG_WL1251=m
CONFIG_WL1251_SPI=m
CONFIG_WL1251_SDIO=m
CONFIG_WL1271=m
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set

#
# WiMAX Wireless Broadband devices
#
CONFIG_WIMAX_I2400M=m
CONFIG_WIMAX_I2400M_USB=m
CONFIG_WIMAX_I2400M_SDIO=m
CONFIG_WIMAX_IWMC3200_SDIO=y
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_DM9601=m
# CONFIG_USB_NET_SMSC75XX is not set
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
# CONFIG_USB_IPHETH is not set
CONFIG_USB_SIERRA_NET=m
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_PCMCIA_PCNET=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_PCMCIA_SMC91C92=m
CONFIG_PCMCIA_XIRC2PS=m
CONFIG_PCMCIA_AXNET=m
# CONFIG_WAN is not set
CONFIG_FDDI=m
CONFIG_DEFXX=m
CONFIG_DEFXX_MMIO=y
CONFIG_SKFP=m
CONFIG_HIPPI=y
CONFIG_ROADRUNNER=m
CONFIG_ROADRUNNER_LARGE_RINGS=y
CONFIG_PLIP=m
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
CONFIG_PPPOE=m
CONFIG_PPPOL2TP=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLHC=m
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_NET_FC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_VMXNET3=m
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_SPARSEKMAP=m

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADP5588=m
CONFIG_KEYBOARD_ATKBD=y
CONFIG_QT2160=m
CONFIG_KEYBOARD_LKKBD=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_MATRIX=m
CONFIG_KEYBOARD_LM8323=m
CONFIG_KEYBOARD_MAX7359=m
CONFIG_KEYBOARD_NEWTON=m
CONFIG_KEYBOARD_OPENCORES=m
CONFIG_KEYBOARD_STOWAWAY=m
CONFIG_KEYBOARD_SUNKBD=m
CONFIG_KEYBOARD_XTKBD=m
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_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_VSXXXAA=m
CONFIG_MOUSE_GPIO=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=m
CONFIG_JOYSTICK_COBRA=m
CONFIG_JOYSTICK_GF2K=m
CONFIG_JOYSTICK_GRIP=m
CONFIG_JOYSTICK_GRIP_MP=m
CONFIG_JOYSTICK_GUILLEMOT=m
CONFIG_JOYSTICK_INTERACT=m
CONFIG_JOYSTICK_SIDEWINDER=m
CONFIG_JOYSTICK_TMDC=m
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
CONFIG_JOYSTICK_IFORCE_232=y
CONFIG_JOYSTICK_WARRIOR=m
CONFIG_JOYSTICK_MAGELLAN=m
CONFIG_JOYSTICK_SPACEORB=m
CONFIG_JOYSTICK_SPACEBALL=m
CONFIG_JOYSTICK_STINGER=m
CONFIG_JOYSTICK_TWIDJOY=m
CONFIG_JOYSTICK_ZHENHUA=m
CONFIG_JOYSTICK_DB9=m
CONFIG_JOYSTICK_GAMECON=m
CONFIG_JOYSTICK_TURBOGRAFX=m
CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_JOYSTICK_WALKERA0701=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
CONFIG_TABLET_USB_GTCO=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_WM97XX=m
CONFIG_TOUCHSCREEN_WM9705=y
CONFIG_TOUCHSCREEN_WM9712=y
CONFIG_TOUCHSCREEN_WM9713=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TSC2007=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_APANEL=m
CONFIG_INPUT_ATLAS_BTNS=m
CONFIG_INPUT_ATI_REMOTE=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
CONFIG_INPUT_WINBOND_CIR=m
CONFIG_INPUT_GPIO_ROTARY_ENCODER=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_SERIO_ALTERA_PS2=m
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_NVRAM=m
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_IPWIRELESS is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m

#
# ACPI drivers
#
CONFIG_I2C_SCMI=m

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
CONFIG_I2C_GPIO=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_STUB=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
CONFIG_SPI_XILINX=m
CONFIG_SPI_XILINX_PLTFM=m
CONFIG_SPI_DESIGNWARE=y
CONFIG_SPI_DW_PCI=m

#
# SPI Protocol Masters
#
CONFIG_SPI_SPIDEV=m
CONFIG_SPI_TLE62X0=m

#
# PPS support
#
# CONFIG_PPS is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MAX730X=m

#
# Memory mapped GPIO expanders:
#
# CONFIG_GPIO_IT8761E is not set
# CONFIG_GPIO_SCH is not set

#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX732X=m
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
CONFIG_GPIO_ADP5588=m

#
# PCI GPIO expanders:
#
CONFIG_GPIO_CS5535=m
CONFIG_GPIO_LANGWELL=y

#
# SPI GPIO expanders:
#
CONFIG_GPIO_MAX7301=m
CONFIG_GPIO_MCP23S08=m
CONFIG_GPIO_MC33880=m

#
# AC97 GPIO expanders:
#
CONFIG_W1=m
CONFIG_W1_CON=y

#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
CONFIG_W1_MASTER_GPIO=m

#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_BQ27000=m
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADCXX=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
# CONFIG_SENSORS_ADT7411 is not set
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
# CONFIG_SENSORS_ASC7621 is not set
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHMD=m
CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_LTC4215=m
CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_MAX1111=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_HDAPS=m
CONFIG_SENSORS_LIS3_I2C=m
CONFIG_SENSORS_APPLESMC=m

#
# ACPI drivers
#
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_LIS3LV02D=m
CONFIG_THERMAL=m
CONFIG_THERMAL_HWMON=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
CONFIG_I6300ESB_WDT=m
CONFIG_ITCO_WDT=m
CONFIG_ITCO_VENDOR_SUPPORT=y
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83697UG_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y

#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_HTC_I2CPLD is not set
# CONFIG_UCB1400_CORE is not set
# CONFIG_TPS65010 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_MC13783 is not set
# CONFIG_AB3100_CORE is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_AB4500_CORE is not set
# CONFIG_MFD_TIMBERDALE is not set
# CONFIG_LPC_SCH is not set
# CONFIG_REGULATOR is not set
CONFIG_MEDIA_SUPPORT=m

#
# Multimedia core support
#
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
# CONFIG_DVB_CORE is not set
CONFIG_VIDEO_MEDIA=m

#
# Multimedia drivers
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_IR_CORE=m
CONFIG_VIDEO_IR=m
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_TDA9840=m
CONFIG_VIDEO_TEA6415C=m
CONFIG_VIDEO_TEA6420=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
CONFIG_VIDEO_OV7670=m
CONFIG_VIDEO_MT9V011=m
CONFIG_VIDEO_SAA7110=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_TVP5150=m
CONFIG_VIDEO_VPX3220=m
CONFIG_VIDEO_CX25840=m
CONFIG_VIDEO_CX2341X=m
CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
CONFIG_VIDEO_W9966=m
CONFIG_VIDEO_CPIA=m
CONFIG_VIDEO_CPIA_PP=m
CONFIG_VIDEO_CPIA_USB=m
CONFIG_VIDEO_CPIA2=m
CONFIG_VIDEO_SAA5246A=m
CONFIG_VIDEO_SAA5249=m
CONFIG_VIDEO_STRADIS=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_ZR36060=m
CONFIG_VIDEO_ZORAN_BUZ=m
CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_MPEG=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_MT9M001=m
CONFIG_SOC_CAMERA_MT9M111=m
CONFIG_SOC_CAMERA_MT9T031=m
CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
CONFIG_SOC_CAMERA_RJ54N1=m
CONFIG_SOC_CAMERA_TW9910=m
CONFIG_SOC_CAMERA_PLATFORM=m
CONFIG_SOC_CAMERA_OV772X=m
CONFIG_SOC_CAMERA_OV9640=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
CONFIG_USB_STV06XX=m
CONFIG_USB_GL860=m
# CONFIG_USB_GSPCA_BENQ is not set
CONFIG_USB_GSPCA_CONEX=m
# CONFIG_USB_GSPCA_CPIA1 is not set
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
# CONFIG_USB_GSPCA_OV534_9 is not set
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
# CONFIG_USB_GSPCA_SN9C2028 is not set
CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_SQ905=m
CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_STK014=m
CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_ZC3XX=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_ALSA=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_USBVIDEO=m
CONFIG_USB_VICAM=m
CONFIG_USB_IBMCAM=m
CONFIG_USB_KONICAWC=m
CONFIG_USB_QUICKCAM_MESSENGER=m
CONFIG_USB_ET61X251=m
CONFIG_VIDEO_OVCAMCHIP=m
CONFIG_USB_W9968CF=m
CONFIG_USB_OV511=m
CONFIG_USB_SE401=m
CONFIG_USB_SN9C102=m
CONFIG_USB_STV680=m
CONFIG_USB_ZC0301=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
# CONFIG_RADIO_ADAPTERS is not set
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=m
CONFIG_AGP_INTEL=m
CONFIG_AGP_SIS=m
CONFIG_AGP_VIA=m
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_KMS=y
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_I915 is not set
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
CONFIG_VGASTATE=m
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_HECUBA=m
CONFIG_FB_SVGALIB=m
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=m
CONFIG_FB_PM2=m
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=m
CONFIG_FB_ARC=m
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_N411=m
CONFIG_FB_HGA=m
CONFIG_FB_HGA_ACCEL=y
CONFIG_FB_S1D13XXX=m
CONFIG_FB_NVIDIA=m
CONFIG_FB_NVIDIA_I2C=y
# CONFIG_FB_NVIDIA_DEBUG is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA=m
CONFIG_FB_RIVA_I2C=y
# CONFIG_FB_RIVA_DEBUG is not set
CONFIG_FB_RIVA_BACKLIGHT=y
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
# CONFIG_FB_INTEL is not set
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MAVEN=m
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
CONFIG_FB_ATY128=m
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=m
CONFIG_FB_ATY_CT=y
CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=m
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
CONFIG_FB_SIS=m
CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_VIA=m
CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
CONFIG_FB_3DFX_ACCEL=y
CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=m
CONFIG_FB_VT8623=m
CONFIG_FB_TRIDENT=m
CONFIG_FB_ARK=m
CONFIG_FB_PM3=m
CONFIG_FB_CARMINE=m
CONFIG_FB_CARMINE_DRAM_EVAL=y
# CONFIG_CARMINE_DRAM_CUSTOM is not set
CONFIG_FB_GEODE=y
CONFIG_FB_GEODE_LX=m
CONFIG_FB_GEODE_GX=m
CONFIG_FB_GEODE_GX1=m
CONFIG_FB_VIRTUAL=m
CONFIG_FB_METRONOME=m
CONFIG_FB_MB862XX=m
CONFIG_FB_MB862XX_PCI_GDC=y
CONFIG_FB_BROADSHEET=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_L4F00242T03 is not set
CONFIG_LCD_LMS283GF05=m
CONFIG_LCD_LTV350QV=m
CONFIG_LCD_ILI9320=m
CONFIG_LCD_TDO24M=m
CONFIG_LCD_VGG2432A4=m
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_PROGEAR=m
CONFIG_BACKLIGHT_CARILLO_RANCH=m
CONFIG_BACKLIGHT_MBP_NVIDIA=m
CONFIG_BACKLIGHT_SAHARA=m

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m

#
# Display hardware drivers
#

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=m
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_FONT_6x11=y
CONFIG_FONT_7x14=y
CONFIG_FONT_PEARL_8x8=y
CONFIG_FONT_ACORN_8x8=y
CONFIG_FONT_MINI_4x6=y
CONFIG_FONT_SUN8x16=y
CONFIG_FONT_SUN12x22=y
CONFIG_FONT_10x18=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
# CONFIG_SND_DYNAMIC_MINORS is not set
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_OPL3_LIB_SEQ=m
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
CONFIG_SND_PCSP=m
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_MTS64=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
CONFIG_SND_PORTMAN2X4=m
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
CONFIG_SND_SB_COMMON=m
CONFIG_SND_SB16_DSP=m
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=m
CONFIG_SND_ALS300=m
CONFIG_SND_ALS4000=m
CONFIG_SND_ALI5451=m
CONFIG_SND_ATIIXP=m
CONFIG_SND_ATIIXP_MODEM=m
CONFIG_SND_AU8810=m
CONFIG_SND_AU8820=m
CONFIG_SND_AU8830=m
CONFIG_SND_AW2=m
CONFIG_SND_AZT3328=m
CONFIG_SND_BT87X=m
CONFIG_SND_BT87X_OVERCLOCK=y
CONFIG_SND_CA0106=m
CONFIG_SND_CMIPCI=m
CONFIG_SND_OXYGEN_LIB=m
CONFIG_SND_OXYGEN=m
CONFIG_SND_CS4281=m
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
CONFIG_SND_LAYLA20=m
CONFIG_SND_DARLA24=m
CONFIG_SND_GINA24=m
CONFIG_SND_LAYLA24=m
CONFIG_SND_MONA=m
CONFIG_SND_MIA=m
CONFIG_SND_ECHO3G=m
CONFIG_SND_INDIGO=m
CONFIG_SND_INDIGOIO=m
CONFIG_SND_INDIGODJ=m
CONFIG_SND_INDIGOIOX=m
CONFIG_SND_INDIGODJX=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_ENS1370=m
CONFIG_SND_ENS1371=m
CONFIG_SND_ES1938=m
CONFIG_SND_ES1968=m
CONFIG_SND_FM801=m
CONFIG_SND_FM801_TEA575X_BOOL=y
CONFIG_SND_FM801_TEA575X=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_INPUT_JACK=y
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_NVHDMI=y
CONFIG_SND_HDA_CODEC_INTELHDMI=y
CONFIG_SND_HDA_ELD=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
CONFIG_SND_HIFIER=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m
CONFIG_SND_PCXHR=m
CONFIG_SND_RIPTIDE=m
CONFIG_SND_RME32=m
CONFIG_SND_RME96=m
CONFIG_SND_RME9652=m
CONFIG_SND_SONICVIBES=m
CONFIG_SND_TRIDENT=m
CONFIG_SND_VIA82XX=m
CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
# CONFIG_SND_USB_UA101 is not set
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=m
# CONFIG_SND_PCMCIA is not set
# CONFIG_SND_SOC is not set
CONFIG_SOUND_PRIME=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_VMIDI=m
CONFIG_SOUND_TRIX=m
CONFIG_SOUND_MSS=m
CONFIG_SOUND_MPU401=m
CONFIG_SOUND_PAS=m
CONFIG_SOUND_PSS=m
CONFIG_PSS_MIXER=y
CONFIG_SOUND_SB=m
CONFIG_SOUND_YM3812=m
CONFIG_SOUND_UART6850=m
CONFIG_SOUND_AEDSP16=m
CONFIG_SC6600=y
CONFIG_SC6600_JOY=y
CONFIG_SC6600_CDROM=4
CONFIG_SC6600_CDROMBASE=0
CONFIG_SOUND_KAHLUA=m
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HIDRAW=y

#
# USB Input Devices
#
CONFIG_USB_HID=m
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y

#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set

#
# Special HID drivers
#
# CONFIG_HID_3M_PCT is not set
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_APPLE is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_TWINHAN is not set
# CONFIG_HID_KENSINGTON is not set
# CONFIG_HID_LOGITECH is not set
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MOSART is not set
# CONFIG_HID_MONTEREY is not set
CONFIG_HID_NTRIG=m
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_QUANTA is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SONY is not set
# CONFIG_HID_STANTUM is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_THRUSTMASTER is not set
CONFIG_HID_WACOM=m
# CONFIG_HID_ZEROPLUS is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_XHCI_HCD_DEBUGGING=y
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_OXU210HP_HCD=m
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_HCD_SSB=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_U132_HCD=m
CONFIG_USB_SL811_HCD=m
CONFIG_USB_SL811_CS=m
CONFIG_USB_R8A66597_HCD=m
CONFIG_USB_WHCI_HCD=m
CONFIG_USB_HWA_HCD=m

#
# Enable Host or Gadget support to see Inventra options
#

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m
CONFIG_USB_TMC=m

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
CONFIG_USB_STORAGE_ISD200=m
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
CONFIG_USB_STORAGE_ONETOUCH=m
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
CONFIG_USB_LIBUSUAL=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m

#
# USB port drivers
#
CONFIG_USB_USS720=m
CONFIG_USB_SERIAL=m
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_FUNSOFT=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
# CONFIG_USB_SERIAL_QCAUX is not set
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
CONFIG_USB_SERIAL_DEBUG=m

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
CONFIG_USB_TEST=m
CONFIG_USB_ISIGHTFW=m
# CONFIG_USB_GADGET is not set

#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
CONFIG_USB_GPIO_VBUS=m
CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
CONFIG_UWB_WLP=m
CONFIG_UWB_I1480U=m
CONFIG_UWB_I1480U_WLP=m
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_UNSAFE_RESUME=y

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
# CONFIG_MMC_RICOH_MMC is not set
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SPI=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
CONFIG_MEMSTICK_UNSAFE_RESUME=y
CONFIG_MSPRO_BLOCK=m

#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MEMSTICK_JMICRON_38X=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=m

#
# LED drivers
#
CONFIG_LEDS_ALIX2=m
CONFIG_LEDS_PCA9532=m
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_GPIO_PLATFORM=y
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_INTEL_SS4200=m
CONFIG_LEDS_LT3593=m
CONFIG_LEDS_TRIGGERS=y

#
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=m
CONFIG_RTC_CLASS=m

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_DS3234 is not set
# CONFIG_RTC_DRV_PCF2123 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=m
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set

#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set

#
# TI VLYNQ
#
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set

#
# Firmware Drivers
#
CONFIG_EDD=m
CONFIG_EDD_OFF=y
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_EFI_VARS=m
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m

#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=m
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_FS_XIP=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_NILFS2_FS is not set
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
CONFIG_GENERIC_ACL=y

#
# Caches
#
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
CONFIG_FSCACHE_HISTOGRAM=y
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
CONFIG_CACHEFILES_HISTOGRAM=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
CONFIG_ECRYPT_FS=m
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_LOGFS is not set
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
CONFIG_MINIX_FS=m
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_BACKED_BY_BLOCK=y
# CONFIG_ROMFS_BACKED_BY_MTD is not set
# CONFIG_ROMFS_BACKED_BY_BOTH is not set
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
CONFIG_UFS_FS_WRITE=y
# CONFIG_UFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_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 is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_NLS=m
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m
# CONFIG_DLM is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
CONFIG_DETECT_HUNG_TASK=y
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
CONFIG_SLUB_DEBUG_ON=y
CONFIG_SLUB_STATS=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
# CONFIG_PROVE_LOCKING is not set
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
CONFIG_DEBUG_CREDENTIALS=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_DETECTOR=y
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FTRACE_NMI_ENTER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_RING_BUFFER=y
CONFIG_FTRACE_NMI_ENTER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SYSPROF_TRACER=y
CONFIG_SCHED_TRACER=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_BOOT_TRACER=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_KSYM_TRACER is not set
CONFIG_STACK_TRACER=y
CONFIG_KMEMTRACE=y
CONFIG_WORKQUEUE_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENT=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_FUNCTION_PROFILER=y
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
CONFIG_RING_BUFFER_BENCHMARK=m
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_FIREWIRE_OHCI_REMOTE_DMA=y
# CONFIG_BUILD_DOCSRC is not set
CONFIG_DYNAMIC_DEBUG=y
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=m
CONFIG_KGDB_TESTS=y
# CONFIG_KGDB_TESTS_ON_BOOT is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_X86_PTDUMP=y
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_IOMMU_DEBUG is not set
CONFIG_IOMMU_STRESS=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_X86_DECODER_SELFTEST=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
# CONFIG_INTEL_TXT is not set
# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_IMA is not set
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
# CONFIG_DEFAULT_SECURITY_SMACK is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_FPU=m

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m

#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m

#
# Ciphers
#
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=m
CONFIG_DECOMPRESS_GZIP=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_NLATTR=y

[-- Attachment #3: micrel.log --]
[-- Type: text/plain, Size: 102961 bytes --]

[    0.000000] Linux version 2.6.34-rc7 (rdunlap@control.site) (gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC) ) #1 SMP Sun May 9 21:22:05 PDT 2010
[    0.000000] Command line: ro root=/dev/sda6 selinux=0 debug ignore_loglevel initcall_debug printk.time=1 print_fatal_signals=1 kern=2634rc7 console=ttyS0,115200n8 console=tty0
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007f686c00 (usable)
[    0.000000]  BIOS-e820: 000000007f686c00 - 000000007f688c00 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000007f688c00 - 000000007f68ac00 (ACPI data)
[    0.000000]  BIOS-e820: 000000007f68ac00 - 0000000080000000 (reserved)
[    0.000000]  BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 00000000fed00400 (reserved)
[    0.000000]  BIOS-e820: 00000000fed20000 - 00000000feda0000 (reserved)
[    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fef00000 (reserved)
[    0.000000]  BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
[    0.000000] debug: ignoring loglevel setting.
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI 2.3 present.
[    0.000000] e820 update range: 0000000000000000 - 0000000000001000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn = 0x7f686 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-CFFFF write-protect
[    0.000000]   D0000-EFFFF uncachable
[    0.000000]   F0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask F80000000 write-back
[    0.000000]   1 base 07F800000 mask FFF800000 uncachable
[    0.000000]   2 base 07F700000 mask FFFF00000 uncachable
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] e820 update range: 0000000000001000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] Scanning 1 areas for low memory corruption
[    0.000000] modified physical RAM map:
[    0.000000]  modified: 0000000000000000 - 0000000000010000 (reserved)
[    0.000000]  modified: 0000000000010000 - 00000000000a0000 (usable)
[    0.000000]  modified: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  modified: 0000000000100000 - 000000007f686c00 (usable)
[    0.000000]  modified: 000000007f686c00 - 000000007f688c00 (ACPI NVS)
[    0.000000]  modified: 000000007f688c00 - 000000007f68ac00 (ACPI data)
[    0.000000]  modified: 000000007f68ac00 - 0000000080000000 (reserved)
[    0.000000]  modified: 00000000f0000000 - 00000000f4000000 (reserved)
[    0.000000]  modified: 00000000fec00000 - 00000000fed00400 (reserved)
[    0.000000]  modified: 00000000fed20000 - 00000000feda0000 (reserved)
[    0.000000]  modified: 00000000fee00000 - 00000000fef00000 (reserved)
[    0.000000]  modified: 00000000ffb00000 - 0000000100000000 (reserved)
[    0.000000] initial memory mapped : 0 - 20000000
[    0.000000] found SMP MP-table at [ffff8800000fe710] fe710
[    0.000000] init_memory_mapping: 0000000000000000-000000007f686000
[    0.000000]  0000000000 - 007f600000 page 2M
[    0.000000]  007f600000 - 007f686000 page 4k
[    0.000000] kernel direct mapping tables up to 7f686000 @ 16000-1a000
[    0.000000] RAMDISK: 37c13000 - 37ff0000
[    0.000000] ACPI: RSDP 00000000000feb00 00024 (v02 DELL  )
[    0.000000] ACPI: XSDT 00000000000fd24f 0005C (v01 DELL    GX620   00000007 ASL  00000061)
[    0.000000] ACPI: FACP 00000000000fd347 000F4 (v03 DELL    GX620   00000007 ASL  00000061)
[    0.000000] ACPI: DSDT 00000000fffd32f4 03D69 (v01   DELL    dt_ex 00001000 INTL 20050309)
[    0.000000] ACPI: FACS 000000007f686c00 00040
[    0.000000] ACPI: SSDT 00000000fffd717c 000AA (v01   DELL    st_ex 00001000 INTL 20050309)
[    0.000000] ACPI: APIC 00000000000fd43b 00072 (v01 DELL    GX620   00000007 ASL  00000061)
[    0.000000] ACPI: BOOT 00000000000fd4ad 00028 (v01 DELL    GX620   00000007 ASL  00000061)
[    0.000000] ACPI: ASF! 00000000000fd4d5 00067 (v16 DELL    GX620   00000007 ASL  00000061)
[    0.000000] ACPI: MCFG 00000000000fd53c 0003E (v01 DELL    GX620   00000007 ASL  00000061)
[    0.000000] ACPI: HPET 00000000000fd57a 00038 (v01 DELL    GX620   00000007 ASL  00000061)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-000000007f686000
[    0.000000] Initmem setup node 0 0000000000000000-000000007f686000
[    0.000000]   NODE_DATA [00000000028c5240 - 00000000028d923f]
[    0.000000]   bootmap [00000000028da000 -  00000000028e9ed7] pages 10
[    0.000000] (13/32 early reservations) ==> bootmem [0000000000 - 007f686000]
[    0.000000]   #0 [0001000000 - 00028c4b10]    TEXT DATA BSS ==> [0001000000 - 00028c4b10]
[    0.000000]   #1 [0037c13000 - 0037ff0000]          RAMDISK ==> [0037c13000 - 0037ff0000]
[    0.000000]   #2 [00028c5000 - 00028c521c]              BRK ==> [00028c5000 - 00028c521c]
[    0.000000]   #3 [00000fe720 - 0000100000]    BIOS reserved ==> [00000fe720 - 0000100000]
[    0.000000]   #4 [00000fe710 - 00000fe720]     MP-table mpf ==> [00000fe710 - 00000fe720]
[    0.000000]   #5 [000009fc00 - 00000f0000]    BIOS reserved ==> [000009fc00 - 00000f0000]
[    0.000000]   #6 [00000f0284 - 00000fe710]    BIOS reserved ==> [00000f0284 - 00000fe710]
[    0.000000]   #7 [00000f0000 - 00000f0284]     MP-table mpc ==> [00000f0000 - 00000f0284]
[    0.000000]   #8 [0000010000 - 0000012000]       TRAMPOLINE ==> [0000010000 - 0000012000]
[    0.000000]   #9 [0000012000 - 0000016000]      ACPI WAKEUP ==> [0000012000 - 0000016000]
[    0.000000]   #10 [0000016000 - 0000018000]          PGTABLE ==> [0000016000 - 0000018000]
[    0.000000]   #11 [00028c5240 - 00028d9240]        NODE_DATA ==> [00028c5240 - 00028d9240]
[    0.000000]   #12 [00028da000 - 00028ea000]          BOOTMAP ==> [00028da000 - 00028ea000]
[    0.000000]  [ffffea0000000000-ffffea0001bfffff] PMD -> [ffff880003200000-ffff880004dfffff] on node 0
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x000000a0
[    0.000000]     0: 0x00000100 -> 0x0007f686
[    0.000000] On node 0 totalpages: 521750
[    0.000000]   DMA zone: 56 pages used for memmap
[    0.000000]   DMA zone: 103 pages reserved
[    0.000000]   DMA zone: 3825 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 7079 pages used for memmap
[    0.000000]   DMA32 zone: 510687 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x05] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x07] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high level lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 4 CPUs, 2 hotplug CPUs
[    0.000000] nr_irqs_gsi: 24
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000f0000
[    0.000000] PM: Registered nosave memory: 00000000000f0000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 80000000 (gap: 80000000:70000000)
[    0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] PERCPU: Embedded 476 pages/cpu @ffff880005400000 s1920232 r8192 d21272 u2097152
[    0.000000] pcpu-alloc: s1920232 r8192 d21272 u2097152 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 514512
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: ro root=/dev/sda6 selinux=0 debug ignore_loglevel initcall_debug printk.time=1 print_fatal_signals=1 kern=2634rc7 console=ttyS0,115200n8 console=tty0
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Memory: 2021036k/2087448k available (4471k kernel code, 448k absent, 65964k reserved, 6663k data, 3324k init)
[    0.000000] SLUB: Genslabs=14, HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] RCU-based detection of stalled CPUs is enabled.
[    0.000000] NR_IRQS:4352 nr_irqs:440
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS0] enabled
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
[    0.000000] ... CHAINHASH_SIZE:          16384
[    0.000000]  memory used by lock dependency info: 6335 kB
[    0.000000]  per task-struct memory footprint: 2688 bytes
[    0.000000] hpet clockevent registered
[    0.000000] Fast TSC calibration using PIT
[    0.000000] Detected 2992.708 MHz processor.
[    0.003010] Calibrating delay loop (skipped), value calculated using timer frequency.. 5985.41 BogoMIPS (lpj=2992708)
[    0.006145] Security Framework initialized
[    0.007562] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.009449] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.011228] Mount-cache hash table entries: 256
[    0.014154] CPU: Physical Processor ID: 0
[    0.015008] CPU: Processor Core ID: 0
[    0.016010] mce: CPU supports 4 MCE banks
[    0.017022] CPU0: Thermal monitoring enabled (TM1)
[    0.018013] using mwait in idle threads.
[    0.019008] Performance Events: no PMU driver, software events only.
[    0.021082] ACPI: Core revision 20100121
[    0.189860] ftrace: converting mcount calls to 0f 1f 44 00 00
[    0.190012] ftrace: allocating 15507 entries in 61 pages
[    0.193205] Setting APIC routing to flat
[    0.194502] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.205842] CPU0: Intel(R) Pentium(R) D CPU 3.00GHz stepping 04
[    0.208999] calling  migration_init+0x0/0x7c @ 1
[    0.209216] initcall migration_init+0x0/0x7c returned 0 after 0 usecs
[    0.210008] calling  spawn_ksoftirqd+0x0/0x7d @ 1
[    0.211134] initcall spawn_ksoftirqd+0x0/0x7d returned 0 after 0 usecs
[    0.212010] calling  init_call_single_data+0x0/0xe2 @ 1
[    0.213011] initcall init_call_single_data+0x0/0xe2 returned 0 after 0 usecs
[    0.214007] calling  spawn_softlockup_task+0x0/0xa8 @ 1
[    0.215119] initcall spawn_softlockup_task+0x0/0xa8 returned 0 after 0 usecs
[    0.216007] calling  relay_init+0x0/0x22 @ 1
[    0.217029] initcall relay_init+0x0/0x22 returned 0 after 0 usecs
[    0.218007] calling  tracer_alloc_buffers+0x0/0x2c2 @ 1
[    0.220127] initcall tracer_alloc_buffers+0x0/0x2c2 returned 0 after 976 usecs
[    0.221007] calling  init_trace_printk+0x0/0x20 @ 1
[    0.222007] initcall init_trace_printk+0x0/0x20 returned 0 after 0 usecs
[    0.223007] calling  trace_workqueue_early_init+0x0/0x1a1 @ 1
[    0.224116] initcall trace_workqueue_early_init+0x0/0x1a1 returned 0 after 0 usecs
[    0.226351] lockdep: fixing up alternatives.
[    0.227135] Booting Node   0, Processors  #1
[    0.301083] Brought up 2 CPUs
[    0.302011] Total of 2 processors activated (11970.71 BogoMIPS).
[    0.305349] devtmpfs: initialized
[    0.307375] khelper used greatest stack depth: 6064 bytes left
[    0.309748] gcov: version magic: 0x34303452
[    0.311482] calling  init_mmap_min_addr+0x0/0x1d @ 1
[    0.312066] initcall init_mmap_min_addr+0x0/0x1d returned 0 after 0 usecs
[    0.313010] calling  init_cpufreq_transition_notifier_list+0x0/0x29 @ 1
[    0.314019] initcall init_cpufreq_transition_notifier_list+0x0/0x29 returned 0 after 0 usecs
[    0.315016] calling  net_ns_init+0x0/0x24f @ 1
[    0.316029] initcall net_ns_init+0x0/0x24f returned 0 after 0 usecs
[    0.317009] calling  e820_mark_nvs_memory+0x0/0x5c @ 1
[    0.319072] initcall e820_mark_nvs_memory+0x0/0x5c returned 0 after 0 usecs
[    0.320018] calling  cpufreq_tsc+0x0/0x28 @ 1
[    0.321009] initcall cpufreq_tsc+0x0/0x28 returned 0 after 0 usecs
[    0.322009] calling  pci_reboot_init+0x0/0x22 @ 1
[    0.323011] initcall pci_reboot_init+0x0/0x22 returned 0 after 0 usecs
[    0.324012] calling  init_lapic_sysfs+0x0/0x52 @ 1
[    0.325389] initcall init_lapic_sysfs+0x0/0x52 returned 0 after 0 usecs
[    0.326042] calling  init_smp_flush+0x0/0x53 @ 1
[    0.327011] initcall init_smp_flush+0x0/0x53 returned 0 after 0 usecs
[    0.328009] calling  alloc_frozen_cpus+0x0/0x14 @ 1
[    0.329010] initcall alloc_frozen_cpus+0x0/0x14 returned 0 after 0 usecs
[    0.330014] calling  sysctl_init+0x0/0x47 @ 1
[    0.331343] initcall sysctl_init+0x0/0x47 returned 0 after 0 usecs
[    0.332008] calling  ksysfs_init+0x0/0xe7 @ 1
[    0.333054] initcall ksysfs_init+0x0/0xe7 returned 0 after 0 usecs
[    0.334063] calling  async_init+0x0/0x8c @ 1
[    0.335225] initcall async_init+0x0/0x8c returned 0 after 0 usecs
[    0.336013] calling  init_jiffies_clocksource+0x0/0x20 @ 1
[    0.337014] initcall init_jiffies_clocksource+0x0/0x20 returned 0 after 0 usecs
[    0.338008] calling  pm_init+0x0/0x97 @ 1
[    0.339210] initcall pm_init+0x0/0x97 returned 0 after 0 usecs
[    0.340050] calling  pm_disk_init+0x0/0x27 @ 1
[    0.341023] initcall pm_disk_init+0x0/0x27 returned 0 after 0 usecs
[    0.342009] calling  swsusp_header_init+0x0/0x46 @ 1
[    0.343011] initcall swsusp_header_init+0x0/0x46 returned 0 after 0 usecs
[    0.344012] calling  init_ftrace_syscalls+0x0/0xfc @ 1
[    0.347297] initcall init_ftrace_syscalls+0x0/0xfc returned 0 after 1953 usecs
[    0.348012] calling  init_hw_breakpoint+0x0/0x20 @ 1
[    0.349013] initcall init_hw_breakpoint+0x0/0x20 returned 0 after 0 usecs
[    0.350008] calling  init_zero_pfn+0x0/0x43 @ 1
[    0.351008] initcall init_zero_pfn+0x0/0x43 returned 0 after 0 usecs
[    0.352012] calling  filelock_init+0x0/0x3c @ 1
[    0.353024] initcall filelock_init+0x0/0x3c returned 0 after 0 usecs
[    0.354012] calling  init_misc_binfmt+0x0/0x6c @ 1
[    0.355029] initcall init_misc_binfmt+0x0/0x6c returned 0 after 0 usecs
[    0.356008] calling  init_script_binfmt+0x0/0x22 @ 1
[    0.357010] initcall init_script_binfmt+0x0/0x22 returned 0 after 0 usecs
[    0.358013] calling  init_elf_binfmt+0x0/0x22 @ 1
[    0.359010] initcall init_elf_binfmt+0x0/0x22 returned 0 after 0 usecs
[    0.360008] calling  init_compat_elf_binfmt+0x0/0x22 @ 1
[    0.361010] initcall init_compat_elf_binfmt+0x0/0x22 returned 0 after 0 usecs
[    0.362012] calling  debugfs_init+0x0/0x85 @ 1
[    0.363034] initcall debugfs_init+0x0/0x85 returned 0 after 0 usecs
[    0.364015] calling  securityfs_init+0x0/0x7c @ 1
[    0.365021] initcall securityfs_init+0x0/0x7c returned 0 after 0 usecs
[    0.366008] calling  random32_init+0x0/0x119 @ 1
[    0.367010] initcall random32_init+0x0/0x119 returned 0 after 0 usecs
[    0.368013] calling  cpufreq_core_init+0x0/0xc5 @ 1
[    0.369021] initcall cpufreq_core_init+0x0/0xc5 returned 0 after 0 usecs
[    0.370008] calling  cpuidle_init+0x0/0x5e @ 1
[    0.371025] initcall cpuidle_init+0x0/0x5e returned 0 after 0 usecs
[    0.372012] calling  sock_init+0x0/0x91 @ 1
[    0.373170] initcall sock_init+0x0/0x91 returned 0 after 0 usecs
[    0.374010] calling  netpoll_init+0x0/0x22 @ 1
[    0.375009] initcall netpoll_init+0x0/0x22 returned 0 after 0 usecs
[    0.376008] calling  netlink_proto_init+0x0/0x1bd @ 1
[    0.377093] NET: Registered protocol family 16
[    0.378113] initcall netlink_proto_init+0x0/0x1bd returned 0 after 976 usecs
[    0.379008] calling  bdi_class_init+0x0/0x67 @ 1
[    0.380298] initcall bdi_class_init+0x0/0x67 returned 0 after 0 usecs
[    0.381014] calling  kobject_uevent_init+0x0/0x77 @ 1
[    0.382032] initcall kobject_uevent_init+0x0/0x77 returned 0 after 0 usecs
[    0.383008] calling  gpiolib_sysfs_init+0x0/0xed @ 1
[    0.384246] initcall gpiolib_sysfs_init+0x0/0xed returned 0 after 0 usecs
[    0.385026] calling  pcibus_class_init+0x0/0x27 @ 1
[    0.387015] initcall pcibus_class_init+0x0/0x27 returned 0 after 976 usecs
[    0.394017] calling  pci_driver_init+0x0/0x20 @ 1
[    0.399163] initcall pci_driver_init+0x0/0x20 returned 0 after 976 usecs
[    0.406012] calling  backlight_class_init+0x0/0x79 @ 1
[    0.411569] initcall backlight_class_init+0x0/0x79 returned 0 after 0 usecs
[    0.418014] calling  tty_class_init+0x0/0x4b @ 1
[    0.423630] initcall tty_class_init+0x0/0x4b returned 0 after 0 usecs
[    0.430012] calling  vtconsole_class_init+0x0/0x113 @ 1
[    0.436236] initcall vtconsole_class_init+0x0/0x113 returned 0 after 976 usecs
[    0.443012] calling  register_node_type+0x0/0x20 @ 1
[    0.449140] initcall register_node_type+0x0/0x20 returned 0 after 976 usecs
[    0.456013] calling  spi_init+0x0/0x11d @ 1
[    0.461333] initcall spi_init+0x0/0x11d returned 0 after 976 usecs
[    0.467012] calling  i2c_init+0x0/0xb5 @ 1
[    0.472457] initcall i2c_init+0x0/0xb5 returned 0 after 976 usecs
[    0.478012] calling  amd_postcore_init+0x0/0xc6 @ 1
[    0.483010] initcall amd_postcore_init+0x0/0xc6 returned 0 after 0 usecs
[    0.490010] calling  arch_kdebugfs_init+0x0/0x3a6 @ 1
[    0.495168] initcall arch_kdebugfs_init+0x0/0x3a6 returned 0 after 0 usecs
[    0.502010] calling  mtrr_if_init+0x0/0x8d @ 1
[    0.507032] initcall mtrr_if_init+0x0/0x8d returned 0 after 0 usecs
[    0.513009] calling  ffh_cstate_init+0x0/0x41 @ 1
[    0.518019] initcall ffh_cstate_init+0x0/0x41 returned 0 after 0 usecs
[    0.524009] calling  acpi_pci_init+0x0/0xa6 @ 1
[    0.529023] ACPI: bus type pci registered
[    0.533010] initcall acpi_pci_init+0x0/0xa6 returned 0 after 3906 usecs
[    0.540008] calling  dmi_id_init+0x0/0x499 @ 1
[    0.545578] initcall dmi_id_init+0x0/0x499 returned 0 after 976 usecs
[    0.552011] calling  pci_arch_init+0x0/0xc6 @ 1
[    0.557050] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf0000000-0xf3ffffff] (base 0xf0000000)
[    0.566009] PCI: MMCONFIG at [mem 0xf0000000-0xf3ffffff] reserved in E820
[    0.607515] PCI: Using configuration type 1 for base access
[    0.613018] initcall pci_arch_init+0x0/0xc6 returned 0 after 54687 usecs
[    0.620009] calling  topology_init+0x0/0xe4 @ 1
[    0.626209] initcall topology_init+0x0/0xe4 returned 0 after 1953 usecs
[    0.633010] calling  mtrr_init_finialize+0x0/0x70 @ 1
[    0.638010] initcall mtrr_init_finialize+0x0/0x70 returned 0 after 0 usecs
[    0.645010] calling  param_sysfs_init+0x0/0x356 @ 1
[    0.669458] initcall param_sysfs_init+0x0/0x356 returned 0 after 19531 usecs
[    0.676013] calling  pm_sysrq_init+0x0/0x2c @ 1
[    0.681027] initcall pm_sysrq_init+0x0/0x2c returned 0 after 0 usecs
[    0.687009] calling  audit_watch_init+0x0/0x4b @ 1
[    0.692015] initcall audit_watch_init+0x0/0x4b returned 0 after 0 usecs
[    0.699009] calling  init_slow_work+0x0/0x5a @ 1
[    0.703009] initcall init_slow_work+0x0/0x5a returned 0 after 0 usecs
[    0.710009] calling  default_bdi_init+0x0/0x113 @ 1
[    0.716366] initcall default_bdi_init+0x0/0x113 returned 0 after 976 usecs
[    0.723012] calling  init_bio+0x0/0x115 @ 1
[    0.727723] bio: create slab <bio-0> at 0
[    0.732175] initcall init_bio+0x0/0x115 returned 0 after 4882 usecs
[    0.738011] calling  fsnotify_init+0x0/0x2e @ 1
[    0.743023] initcall fsnotify_init+0x0/0x2e returned 0 after 0 usecs
[    0.749011] calling  fsnotify_notification_init+0x0/0x84 @ 1
[    0.755034] initcall fsnotify_notification_init+0x0/0x84 returned 0 after 0 usecs
[    0.763010] calling  cryptomgr_init+0x0/0x20 @ 1
[    0.767010] initcall cryptomgr_init+0x0/0x20 returned 0 after 0 usecs
[    0.774009] calling  blk_settings_init+0x0/0x31 @ 1
[    0.779010] initcall blk_settings_init+0x0/0x31 returned 0 after 0 usecs
[    0.785008] calling  blk_ioc_init+0x0/0x38 @ 1
[    0.790020] initcall blk_ioc_init+0x0/0x38 returned 0 after 0 usecs
[    0.796008] calling  blk_softirq_init+0x0/0x9d @ 1
[    0.801013] initcall blk_softirq_init+0x0/0x9d returned 0 after 0 usecs
[    0.808008] calling  blk_iopoll_setup+0x0/0x9d @ 1
[    0.813011] initcall blk_iopoll_setup+0x0/0x9d returned 0 after 0 usecs
[    0.819009] calling  genhd_device_init+0x0/0x92 @ 1
[    0.826689] initcall genhd_device_init+0x0/0x92 returned 0 after 976 usecs
[    0.834012] calling  blk_dev_integrity_init+0x0/0x38 @ 1
[    0.839029] initcall blk_dev_integrity_init+0x0/0x38 returned 0 after 0 usecs
[    0.846011] calling  gpiolib_debugfs_init+0x0/0x32 @ 1
[    0.851033] initcall gpiolib_debugfs_init+0x0/0x32 returned 0 after 0 usecs
[    0.858010] calling  pci_slot_init+0x0/0x6d @ 1
[    0.863021] initcall pci_slot_init+0x0/0x6d returned 0 after 0 usecs
[    0.869008] calling  fbmem_init+0x0/0xd0 @ 1
[    0.874373] initcall fbmem_init+0x0/0xd0 returned 0 after 0 usecs
[    0.880011] calling  acpi_init+0x0/0x1be @ 1
[    0.893031] ACPI: EC: Look up EC in DSDT
[    0.945443] ACPI: BIOS _OSI(Linux) query ignored
[    0.975765] ACPI: Interpreter enabled
[    0.980015] ACPI: (supports S0 S1 S3 S4 S5)
[    0.984022] ACPI: Using IOAPIC for interrupt routing
[    1.144457] initcall acpi_init+0x0/0x1be returned 0 after 252929 usecs
[    1.151013] calling  dock_init+0x0/0xde @ 1
[    1.163152] ACPI: ACPI Dock Station Driver: 1 docks/bays found
[    1.169010] initcall dock_init+0x0/0xde returned 0 after 13671 usecs
[    1.176010] calling  acpi_pci_root_init+0x0/0x52 @ 1
[    1.181009] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug
[    1.197623] ACPI: PCI Root Bridge [PCI0] (0000:00)
[    1.217372] pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7] (ignored)
[    1.225008] pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff] (ignored)
[    1.233009] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] (ignored)
[    1.241008] pci_root PNP0A03:00: host bridge window [mem 0x000c0000-0x000effff] (ignored)
[    1.249008] pci_root PNP0A03:00: host bridge window [mem 0x000f0000-0x000fffff] (ignored)
[    1.257008] pci_root PNP0A03:00: host bridge window [mem 0x80000000-0xefffffff] (ignored)
[    1.266009] pci_root PNP0A03:00: host bridge window [mem 0xf4000000-0xfebfffff] (ignored)
[    1.274008] pci_root PNP0A03:00: host bridge window [mem 0xffa80800-0xffa80bff] (ignored)
[    1.282296] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    1.289012] pci 0000:00:01.0: PME# disabled
[    1.293108] pci 0000:00:02.0: reg 10: [mem 0xfeb00000-0xfeb7ffff]
[    1.299018] pci 0000:00:02.0: reg 14: [io  0xe898-0xe89f]
[    1.305018] pci 0000:00:02.0: reg 18: [mem 0xe0000000-0xefffffff pref]
[    1.311017] pci 0000:00:02.0: reg 1c: [mem 0xfeac0000-0xfeafffff]
[    1.317193] pci 0000:00:02.1: reg 10: [mem 0xfeb80000-0xfebfffff]
[    1.324391] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    1.330012] pci 0000:00:1c.0: PME# disabled
[    1.335241] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    1.341015] pci 0000:00:1c.1: PME# disabled
[    1.345185] pci 0000:00:1d.0: reg 20: [io  0xff80-0xff9f]
[    1.351149] pci 0000:00:1d.1: reg 20: [io  0xff60-0xff7f]
[    1.356150] pci 0000:00:1d.2: reg 20: [io  0xff40-0xff5f]
[    1.362149] pci 0000:00:1d.3: reg 20: [io  0xff20-0xff3f]
[    1.368146] pci 0000:00:1d.7: reg 10: [mem 0xffa80800-0xffa80bff]
[    1.374131] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    1.380013] pci 0000:00:1d.7: PME# disabled
[    1.384262] pci 0000:00:1e.2: reg 10: [io  0xec00-0xecff]
[    1.390019] pci 0000:00:1e.2: reg 14: [io  0xe8c0-0xe8ff]
[    1.395032] pci 0000:00:1e.2: reg 18: [mem 0xfeabfa00-0xfeabfbff]
[    1.402019] pci 0000:00:1e.2: reg 1c: [mem 0xfeabf900-0xfeabf9ff]
[    1.408082] pci 0000:00:1e.2: PME# supported from D0 D3hot D3cold
[    1.414013] pci 0000:00:1e.2: PME# disabled
[    1.418128] pci 0000:00:1f.0: quirk: [io  0x0800-0x087f] claimed by ICH6 ACPI/GPIO/TCO
[    1.427012] pci 0000:00:1f.0: quirk: [io  0x0880-0x08bf] claimed by ICH6 GPIO
[    1.434011] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0c00 (mask 007f)
[    1.441011] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 00e0 (mask 0007)
[    1.449095] pci 0000:00:1f.1: reg 10: [io  0x01f0-0x01f7]
[    1.455019] pci 0000:00:1f.1: reg 14: [io  0x03f4-0x03f7]
[    1.460019] pci 0000:00:1f.1: reg 18: [io  0x0170-0x0177]
[    1.466019] pci 0000:00:1f.1: reg 1c: [io  0x0374-0x0377]
[    1.471019] pci 0000:00:1f.1: reg 20: [io  0xffa0-0xffaf]
[    1.476152] pci 0000:00:1f.2: reg 10: [io  0xfe00-0xfe07]
[    1.482020] pci 0000:00:1f.2: reg 14: [io  0xfe10-0xfe13]
[    1.488019] pci 0000:00:1f.2: reg 18: [io  0xfe20-0xfe27]
[    1.493018] pci 0000:00:1f.2: reg 1c: [io  0xfe30-0xfe33]
[    1.498018] pci 0000:00:1f.2: reg 20: [io  0xfea0-0xfeaf]
[    1.504073] pci 0000:00:1f.2: PME# supported from D3hot
[    1.509013] pci 0000:00:1f.2: PME# disabled
[    1.514034] pci 0000:00:1f.3: reg 20: [io  0xe8a0-0xe8bf]
[    1.519193] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    1.525013] pci 0000:00:01.0:   bridge window [io  0xf000-0x0000] (disabled)
[    1.532013] pci 0000:00:01.0:   bridge window [mem 0xfe900000-0xfe9fffff]
[    1.538045] pci 0000:00:01.0:   bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
[    1.547227] pci 0000:02:00.0: reg 10: [mem 0xfe8f0000-0xfe8fffff 64bit]
[    1.554160] pci 0000:02:00.0: PME# supported from D3hot D3cold
[    1.560013] pci 0000:02:00.0: PME# disabled
[    1.564041] pci 0000:02:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
[    1.574055] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
[    1.579014] pci 0000:00:1c.0:   bridge window [io  0xf000-0x0000] (disabled)
[    1.586041] pci 0000:00:1c.0:   bridge window [mem 0xfe800000-0xfe8fffff]
[    1.593018] pci 0000:00:1c.0:   bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
[    1.602131] pci 0000:00:1c.1: PCI bridge to [bus 03-03]
[    1.607016] pci 0000:00:1c.1:   bridge window [io  0xf000-0x0000] (disabled)
[    1.614015] pci 0000:00:1c.1:   bridge window [mem 0xfe700000-0xfe7fffff]
[    1.621018] pci 0000:00:1c.1:   bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
[    1.629221] pci 0000:00:1e.0: PCI bridge to [bus 04-04] (subtractive decode)
[    1.637013] pci 0000:00:1e.0:   bridge window [io  0xf000-0x0000] (disabled)
[    1.644013] pci 0000:00:1e.0:   bridge window [mem 0xfff00000-0x000fffff] (disabled)
[    1.652018] pci 0000:00:1e.0:   bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
[    1.660010] pci 0000:00:1e.0:   bridge window [io  0x0000-0xffff] (subtractive decode)
[    1.668010] pci 0000:00:1e.0:   bridge window [mem 0x00000000-0xffffffffffffffff] (subtractive decode)
[    1.677069] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    1.687509] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI4._PRT]
[    1.697309] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI2._PRT]
[    1.704425] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI3._PRT]
[    1.712086] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1._PRT]
[    3.070204] initcall acpi_pci_root_init+0x0/0x52 returned 0 after 1844726 usecs
[    3.077012] calling  acpi_pci_link_init+0x0/0x7c @ 1
[    3.083489] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12 15)
[    3.091870] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 *10 11 12 15)
[    3.099902] ACPI: PCI Interrupt Link [LNKC] (IRQs *3 4 5 6 7 9 10 11 12 15)
[    3.107622] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 11 12 15) *0, disabled.
[    3.117282] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 *5 6 7 9 10 11 12 15)
[    3.125682] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 *9 10 11 12 15)
[    3.134102] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 9 10 11 12 15)
[    3.142479] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 *10 11 12 15)
[    3.151101] initcall acpi_pci_link_init+0x0/0x7c returned 0 after 67382 usecs
[    3.158014] calling  pnp_init+0x0/0x20 @ 1
[    3.162683] initcall pnp_init+0x0/0x20 returned 0 after 0 usecs
[    3.168013] calling  misc_init+0x0/0xf6 @ 1
[    3.173354] initcall misc_init+0x0/0xf6 returned 0 after 0 usecs
[    3.179012] calling  vga_arb_device_init+0x0/0xbf @ 1
[    3.185129] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    3.193124] vgaarb: loaded
[    3.196011] initcall vga_arb_device_init+0x0/0xbf returned 0 after 11718 usecs
[    3.203011] calling  cn_init+0x0/0xd6 @ 1
[    3.207097] initcall cn_init+0x0/0xd6 returned 0 after 0 usecs
[    3.213013] calling  phy_init+0x0/0x5a @ 1
[    3.219102] initcall phy_init+0x0/0x5a returned 0 after 976 usecs
[    3.225011] calling  serio_init+0x0/0xda @ 1
[    3.230304] initcall serio_init+0x0/0xda returned 0 after 976 usecs
[    3.236012] calling  input_init+0x0/0x1db @ 1
[    3.241314] initcall input_init+0x0/0x1db returned 0 after 0 usecs
[    3.247012] calling  power_supply_class_init+0x0/0x4b @ 1
[    3.253435] initcall power_supply_class_init+0x0/0x4b returned 0 after 0 usecs
[    3.260012] calling  pci_subsys_init+0x0/0x16a @ 1
[    3.265008] PCI: Using ACPI for IRQ routing
[    3.270009] PCI: pci_cache_line_size set to 64 bytes
[    3.275424] reserve RAM buffer: 000000007f686c00 - 000000007fffffff initcall pci_subsys_init+0x0/0x16a returned 0 after 15625 usecs
[    3.287009] calling  proto_init+0x0/0x20 @ 1
[    3.291030] initcall proto_init+0x0/0x20 returned 0 after 0 usecs
[    3.297009] calling  net_dev_init+0x0/0x254 @ 1
[    3.303475] initcall net_dev_init+0x0/0x254 returned 0 after 976 usecs
[    3.310011] calling  neigh_init+0x0/0x9b @ 1
[    3.314011] initcall neigh_init+0x0/0x9b returned 0 after 0 usecs
[    3.320009] calling  fib_rules_init+0x0/0xfa @ 1
[    3.325015] initcall fib_rules_init+0x0/0xfa returned 0 after 0 usecs
[    3.331015] calling  genl_init+0x0/0xeb @ 1
[    3.336104] initcall genl_init+0x0/0xeb returned 0 after 0 usecs
[    3.342010] calling  cipso_v4_init+0x0/0xbe @ 1
[    3.346058] initcall cipso_v4_init+0x0/0xbe returned 0 after 976 usecs
[    3.353009] calling  wireless_nlevent_init+0x0/0x20 @ 1
[    3.358013] initcall wireless_nlevent_init+0x0/0x20 returned 0 after 0 usecs
[    3.365009] calling  netlbl_init+0x0/0xdc @ 1
[    3.370006] NetLabel: Initializing
[    3.373007] NetLabel:  domain hash size = 128
[    3.378006] NetLabel:  protocols = UNLABELED CIPSOv4
[    3.383222] NetLabel:  unlabeled traffic allowed by default
[    3.389010] initcall netlbl_init+0x0/0xdc returned 0 after 18554 usecs
[    3.395009] calling  sysctl_init+0x0/0x72 @ 1
[    3.400015] initcall sysctl_init+0x0/0x72 returned 0 after 0 usecs
[    3.406010] calling  print_ICs+0x0/0x7a4 @ 1
[    3.412010] initcall print_ICs+0x0/0x7a4 returned 0 after 0 usecs
[    3.418009] calling  hpet_late_init+0x0/0xea @ 1
[    3.423012] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[    3.430013] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    3.435008] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
[    3.444157] initcall hpet_late_init+0x0/0xea returned 0 after 20507 usecs
[    3.451011] calling  init_k8_nbs+0x0/0x44 @ 1
[    3.455148] initcall init_k8_nbs+0x0/0x44 returned 0 after 0 usecs
[    3.461010] calling  clocksource_done_booting+0x0/0x96 @ 1
[    3.467013] Switching to clocksource tsc
[    3.472321] initcall clocksource_done_booting+0x0/0x96 returned 0 after 5190 usecs
[    3.480069] calling  ftrace_init_debugfs+0x0/0x2f1 @ 1
[    3.485615] initcall ftrace_init_debugfs+0x0/0x2f1 returned 0 after 301 usecs
[    3.492847] calling  rb_init_debugfs+0x0/0x44 @ 1
[    3.497671] initcall rb_init_debugfs+0x0/0x44 returned 0 after 19 usecs
[    3.504384] calling  tracer_init_debugfs+0x0/0x4a7 @ 1
[    3.510818] initcall tracer_init_debugfs+0x0/0x4a7 returned 0 after 1168 usecs
[    3.518206] calling  init_trace_printk_function_export+0x0/0x4d @ 1
[    3.524591] initcall init_trace_printk_function_export+0x0/0x4d returned 0 after 18 usecs
[    3.532932] calling  stat_workqueue_init+0x0/0x49 @ 1
[    3.538118] initcall stat_workqueue_init+0x0/0x49 returned 0 after 23 usecs
[    3.545175] calling  event_trace_init+0x0/0x2ea @ 1
[    3.654766] initcall event_trace_init+0x0/0x2ea returned 0 after 102161 usecs
[    3.662015] calling  init_kprobe_trace+0x0/0xbc @ 1
[    3.667074] initcall init_kprobe_trace+0x0/0xbc returned 0 after 74 usecs
[    3.673961] calling  init_pipe_fs+0x0/0x76 @ 1
[    3.678659] initcall init_pipe_fs+0x0/0x76 returned 0 after 138 usecs
[    3.685197] calling  eventpoll_init+0x0/0x10d @ 1
[    3.690069] initcall eventpoll_init+0x0/0x10d returned 0 after 66 usecs
[    3.696780] calling  anon_inode_init+0x0/0x18a @ 1
[    3.701744] initcall anon_inode_init+0x0/0x18a returned 0 after 72 usecs
[    3.708540] calling  blk_scsi_ioctl_init+0x0/0x488 @ 1
[    3.713779] initcall blk_scsi_ioctl_init+0x0/0x488 returned 0 after 1 usecs
[    3.720837] calling  acpi_event_init+0x0/0xe1 @ 1
[    3.725759] initcall acpi_event_init+0x0/0xe1 returned 0 after 114 usecs
[    3.732565] calling  pnpacpi_init+0x0/0xd5 @ 1
[    3.737107] pnp: PnP ACPI init
[    3.740346] ACPI: bus type pnp registered
[    3.757969] pnp 00:01: disabling [io  0x0800-0x085f] because it overlaps 0000:00:1f.0 BAR 13 [io  0x0800-0x087f]
[    3.768312] pnp 00:01: disabling [io  0x0860-0x08ff] because it overlaps 0000:00:1f.0 BAR 13 [io  0x0800-0x087f]
[    3.837981] pnp: PnP ACPI: found 10 devices
[    3.842296] ACPI: ACPI bus type pnp unregistered
[    3.847029] initcall pnpacpi_init+0x0/0xd5 returned 0 after 107339 usecs
[    3.853834] calling  pnp_system_init+0x0/0x20 @ 1
[    3.858700] system 00:01: [io  0x0c00-0x0c7f] has been reserved
[    3.864758] system 00:08: [mem 0x00000000-0x0009ffff] could not be reserved
[    3.871823] system 00:08: [mem 0x00100000-0x00ffffff] could not be reserved
[    3.878888] system 00:08: [mem 0x01000000-0x7f686bff] could not be reserved
[    3.885954] system 00:08: [mem 0x000f0000-0x000fffff] could not be reserved
[    3.893053] system 00:08: [mem 0x000c0000-0x000cffff] has been reserved
[    3.899770] system 00:08: [mem 0xfec00000-0xfecfffff] could not be reserved
[    3.906831] system 00:08: [mem 0xfee00000-0xfeefffff] has been reserved
[    3.913546] system 00:08: [mem 0xfed20000-0xfed9ffff] has been reserved
[    3.920260] system 00:08: [mem 0xffb00000-0xffbfffff] has been reserved
[    3.926974] system 00:08: [mem 0xffc00000-0xffffffff] has been reserved
[    3.933725] system 00:09: [io  0x0100-0x01fe] could not be reserved
[    3.940093] system 00:09: [io  0x0200-0x0277] has been reserved
[    3.946114] system 00:09: [io  0x0280-0x02e7] has been reserved
[    3.952154] system 00:09: [io  0x02f0-0x02f7] has been reserved
[    3.958180] system 00:09: [io  0x0300-0x0377] could not be reserved
[    3.964545] system 00:09: [io  0x0380-0x03bb] has been reserved
[    3.970573] system 00:09: [io  0x03c0-0x03e7] could not be reserved
[    3.976946] system 00:09: [io  0x03f6-0x03f7] could not be reserved
[    3.983329] system 00:09: [io  0x0400-0x04cf] has been reserved
[    3.989353] system 00:09: [io  0x04d2-0x057f] has been reserved
[    3.995375] system 00:09: [io  0x0580-0x0677] has been reserved
[    4.001403] system 00:09: [io  0x0680-0x0777] has been reserved
[    4.007449] system 00:09: [io  0x0780-0x07bb] has been reserved
[    4.013472] system 00:09: [io  0x07c0-0x07ff] has been reserved
[    4.019493] system 00:09: [io  0x08e0-0x08ff] has been reserved
[    4.025514] system 00:09: [io  0x0900-0x09fe] has been reserved
[    4.031537] system 00:09: [io  0x0a00-0x0afe] has been reserved
[    4.037557] system 00:09: [io  0x0b00-0x0bfe] has been reserved
[    4.043579] system 00:09: [io  0x0c80-0x0caf] has been reserved
[    4.049599] system 00:09: [io  0x0cb0-0x0cbf] has been reserved
[    4.055621] system 00:09: [io  0x0cc0-0x0cf7] has been reserved
[    4.061641] system 00:09: [io  0x0d00-0x0dfe] has been reserved
[    4.067662] system 00:09: [io  0x0e00-0x0efe] has been reserved
[    4.073683] system 00:09: [io  0x0f00-0x0ffe] has been reserved
[    4.079706] system 00:09: [io  0x2000-0x20fe] has been reserved
[    4.085727] system 00:09: [io  0x2100-0x21fe] has been reserved
[    4.091750] system 00:09: [io  0x2200-0x22fe] has been reserved
[    4.097772] system 00:09: [io  0x2300-0x23fe] has been reserved
[    4.103809] system 00:09: [io  0x2400-0x24fe] has been reserved
[    4.109831] system 00:09: [io  0x2500-0x25fe] has been reserved
[    4.115850] system 00:09: [io  0x2600-0x26fe] has been reserved
[    4.121869] system 00:09: [io  0x2700-0x27fe] has been reserved
[    4.127892] system 00:09: [io  0x2800-0x28fe] has been reserved
[    4.133914] system 00:09: [io  0x2900-0x29fe] has been reserved
[    4.139948] system 00:09: [io  0x2a00-0x2afe] has been reserved
[    4.145983] system 00:09: [io  0x2b00-0x2bfe] has been reserved
[    4.152069] system 00:09: [io  0x2c00-0x2cfe] has been reserved
[    4.158090] system 00:09: [io  0x2d00-0x2dfe] has been reserved
[    4.164110] system 00:09: [io  0x2e00-0x2efe] has been reserved
[    4.170138] system 00:09: [io  0x2f00-0x2ffe] has been reserved
[    4.176160] system 00:09: [io  0x5000-0x50fe] has been reserved
[    4.182184] system 00:09: [io  0x5100-0x51fe] has been reserved
[    4.188206] system 00:09: [io  0x5200-0x52fe] has been reserved
[    4.194228] system 00:09: [io  0x5300-0x53fe] has been reserved
[    4.200249] system 00:09: [io  0x5400-0x54fe] has been reserved
[    4.206268] system 00:09: [io  0x5500-0x55fe] has been reserved
[    4.212290] system 00:09: [io  0x5600-0x56fe] has been reserved
[    4.218313] system 00:09: [io  0x5700-0x57fe] has been reserved
[    4.224336] system 00:09: [io  0x5800-0x58fe] has been reserved
[    4.230357] system 00:09: [io  0x5900-0x59fe] has been reserved
[    4.236379] system 00:09: [io  0x5a00-0x5afe] has been reserved
[    4.242401] system 00:09: [io  0x5b00-0x5bfe] has been reserved
[    4.248425] system 00:09: [io  0x5c00-0x5cfe] has been reserved
[    4.254448] system 00:09: [io  0x5d00-0x5dfe] has been reserved
[    4.260470] system 00:09: [io  0x5e00-0x5efe] has been reserved
[    4.266493] system 00:09: [io  0x5f00-0x5ffe] has been reserved
[    4.272518] system 00:09: [io  0x6000-0x60fe] has been reserved
[    4.278536] system 00:09: [io  0x6100-0x61fe] has been reserved
[    4.284559] system 00:09: [io  0x6200-0x62fe] has been reserved
[    4.290582] system 00:09: [io  0x6300-0x63fe] has been reserved
[    4.296606] system 00:09: [io  0x6400-0x64fe] has been reserved
[    4.302629] system 00:09: [io  0x6500-0x65fe] has been reserved
[    4.308650] system 00:09: [io  0x6600-0x66fe] has been reserved
[    4.314674] system 00:09: [io  0x6700-0x67fe] has been reserved
[    4.320694] system 00:09: [io  0x6800-0x68fe] has been reserved
[    4.326716] system 00:09: [io  0x6900-0x69fe] has been reserved
[    4.332752] system 00:09: [io  0x6a00-0x6afe] has been reserved
[    4.338776] system 00:09: [io  0x6b00-0x6bfe] has been reserved
[    4.344800] system 00:09: [io  0x6c00-0x6cfe] has been reserved
[    4.350822] system 00:09: [io  0x6d00-0x6dfe] has been reserved
[    4.356845] system 00:09: [io  0x6e00-0x6efe] has been reserved
[    4.362867] system 00:09: [io  0x6f00-0x6ffe] has been reserved
[    4.368888] system 00:09: [io  0xa000-0xa0fe] has been reserved
[    4.374912] system 00:09: [io  0xa100-0xa1fe] has been reserved
[    4.380960] system 00:09: [io  0xa200-0xa2fe] has been reserved
[    4.386995] system 00:09: [io  0xa300-0xa3fe] has been reserved
[    4.393056] system 00:09: [io  0xa400-0xa4fe] has been reserved
[    4.399077] system 00:09: [io  0xa500-0xa5fe] has been reserved
[    4.405101] system 00:09: [io  0xa600-0xa6fe] has been reserved
[    4.411124] system 00:09: [io  0xa700-0xa7fe] has been reserved
[    4.417147] system 00:09: [io  0xa800-0xa8fe] has been reserved
[    4.423171] system 00:09: [io  0xa900-0xa9fe] has been reserved
[    4.429193] system 00:09: [io  0xaa00-0xaafe] has been reserved
[    4.435214] system 00:09: [io  0xab00-0xabfe] has been reserved
[    4.441237] system 00:09: [io  0xac00-0xacfe] has been reserved
[    4.447262] system 00:09: [io  0xad00-0xadfe] has been reserved
[    4.453286] system 00:09: [io  0xae00-0xaefe] has been reserved
[    4.459309] system 00:09: [io  0xaf00-0xaffe] has been reserved
[    4.465331] system 00:09: [mem 0xf0000000-0xf3ffffff] has been reserved
[    4.472051] system 00:09: [mem 0xfeda0000-0xfedacfff] has been reserved
[    4.479185] initcall pnp_system_init+0x0/0x20 returned 0 after 606002 usecs
[    4.486255] calling  chr_dev_init+0x0/0x121 @ 1
[    4.496607] initcall chr_dev_init+0x0/0x121 returned 0 after 5587 usecs
[    4.503339] calling  firmware_class_init+0x0/0xb1 @ 1
[    4.508886] initcall firmware_class_init+0x0/0xb1 returned 0 after 376 usecs
[    4.516051] calling  cpufreq_gov_performance_init+0x0/0x20 @ 1
[    4.522007] initcall cpufreq_gov_performance_init+0x0/0x20 returned 0 after 22 usecs
[    4.529923] calling  cpufreq_gov_dbs_init+0x0/0xf5 @ 1
[    4.535569] initcall cpufreq_gov_dbs_init+0x0/0xf5 returned 0 after 386 usecs
[    4.542813] calling  init_acpi_pm_clocksource+0x0/0x160 @ 1
[    4.553098] initcall init_acpi_pm_clocksource+0x0/0x160 returned 0 after 4495 usecs
[    4.560959] calling  pcibios_assign_resources+0x0/0xb5 @ 1
[    4.566713] PCI: max bus depth: 1 pci_try_num: 2
[    4.571527] pci 0000:00:1c.0: BAR 15: assigned [mem 0x80000000-0x801fffff 64bit pref]
[    4.579540] pci 0000:00:1c.1: BAR 15: assigned [mem 0x80200000-0x803fffff 64bit pref]
[    4.587546] pci 0000:00:1c.0: BAR 13: assigned [io  0x1000-0x1fff]
[    4.593836] pci 0000:00:1c.1: BAR 13: assigned [io  0x3000-0x3fff]
[    4.600122] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    4.605456] pci 0000:00:01.0:   bridge window [io  disabled]
[    4.611225] pci 0000:00:01.0:   bridge window [mem 0xfe900000-0xfe9fffff]
[    4.618120] pci 0000:00:01.0:   bridge window [mem pref disabled]
[    4.624335] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
[    4.629665] pci 0000:00:1c.0:   bridge window [io  0x1000-0x1fff]
[    4.635868] pci 0000:00:1c.0:   bridge window [mem 0xfe800000-0xfe8fffff]
[    4.642764] pci 0000:00:1c.0:   bridge window [mem 0x80000000-0x801fffff 64bit pref]
[    4.652464] pci 0000:00:1c.1: PCI bridge to [bus 03-03]
[    4.657797] pci 0000:00:1c.1:   bridge window [io  0x3000-0x3fff]
[    4.663999] pci 0000:00:1c.1:   bridge window [mem 0xfe700000-0xfe7fffff]
[    4.670897] pci 0000:00:1c.1:   bridge window [mem 0x80200000-0x803fffff 64bit pref]
[    4.678816] pci 0000:00:1e.0: PCI bridge to [bus 04-04]
[    4.684170] pci 0000:00:1e.0:   bridge window [io  disabled]
[    4.689942] pci 0000:00:1e.0:   bridge window [mem disabled]
[    4.695711] pci 0000:00:1e.0:   bridge window [mem pref disabled]
[    4.701976]   alloc irq_desc for 16 on node -1
[    4.702892]   alloc kstat_irqs on node -1
[    4.710637] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    4.717447] pci 0000:00:01.0: setting latency timer to 64
[    4.722972] pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    4.729782] pci 0000:00:1c.0: setting latency timer to 64
[    4.735306]   alloc irq_desc for 17 on node -1
[    4.736269]   alloc kstat_irqs on node -1
[    4.743962] pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[    4.750770] pci 0000:00:1c.1: setting latency timer to 64
[    4.756289] pci 0000:00:1e.0: setting latency timer to 64
[    4.761797] pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
[    4.767473] pci_bus 0000:00: resource 1 [mem 0x00000000-0xffffffffffffffff]
[    4.774537] pci_bus 0000:01: resource 1 [mem 0xfe900000-0xfe9fffff]
[    4.780908] pci_bus 0000:02: resource 0 [io  0x1000-0x1fff]
[    4.786583] pci_bus 0000:02: resource 1 [mem 0xfe800000-0xfe8fffff]
[    4.792954] pci_bus 0000:02: resource 2 [mem 0x80000000-0x801fffff 64bit pref]
[    4.800346] pci_bus 0000:03: resource 0 [io  0x3000-0x3fff]
[    4.806021] pci_bus 0000:03: resource 1 [mem 0xfe700000-0xfe7fffff]
[    4.812392] pci_bus 0000:03: resource 2 [mem 0x80200000-0x803fffff 64bit pref]
[    4.819785] pci_bus 0000:04: resource 4 [io  0x0000-0xffff]
[    4.825462] pci_bus 0000:04: resource 5 [mem 0x00000000-0xffffffffffffffff]
[    4.832529] initcall pcibios_assign_resources+0x0/0xb5 returned 0 after 259743 usecs
[    4.840440] calling  sysctl_core_init+0x0/0x54 @ 1
[    4.845409] initcall sysctl_core_init+0x0/0x54 returned 0 after 71 usecs
[    4.852223] calling  inet_init+0x0/0x387 @ 1
[    4.856669] NET: Registered protocol family 2
[    4.861719] IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
[    4.871686] TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
[    4.882501] TCP bind hash table entries: 65536 (order: 10, 4718592 bytes)
[    4.897354] TCP: Hash tables configured (established 262144 bind 65536)
[    4.904158] TCP reno registered
[    4.907477] UDP hash table entries: 1024 (order: 5, 163840 bytes)
[    4.913944] UDP-Lite hash table entries: 1024 (order: 5, 163840 bytes)
[    4.921344] initcall inet_init+0x0/0x387 returned 0 after 63221 usecs
[    4.927886] calling  af_unix_init+0x0/0x7f @ 1
[    4.932444] NET: Registered protocol family 1
[    4.936947] initcall af_unix_init+0x0/0x7f returned 0 after 4410 usecs
[    4.943581] calling  pci_apply_final_quirks+0x0/0x16c @ 1
[    4.949134] pci 0000:00:02.0: Boot video device
[    4.954089] PCI: CLS 64 bytes, default 64
[    4.958206] initcall pci_apply_final_quirks+0x0/0x16c returned 0 after 8911 usecs
[    4.965856] calling  populate_rootfs+0x0/0x18b @ 1
[    4.971491] Unpacking initramfs...
[    5.140481] Freeing initrd memory: 3956k freed
[    5.147286] initcall populate_rootfs+0x0/0x18b returned 0 after 172393 usecs
[    5.154443] calling  pci_iommu_init+0x0/0x5b @ 1
[    5.159169] initcall pci_iommu_init+0x0/0x5b returned 0 after 1 usecs
[    5.165716] calling  i8259A_init_sysfs+0x0/0x3e @ 1
[    5.171688] initcall i8259A_init_sysfs+0x0/0x3e returned 0 after 961 usecs
[    5.178674] calling  vsyscall_init+0x0/0x6c @ 1
[    5.183364] initcall vsyscall_init+0x0/0x6c returned 0 after 50 usecs
[    5.189973] calling  sbf_init+0x0/0x18b @ 1
[    5.194264] Simple Boot Flag at 0x7a set to 0x1
[    5.198902] initcall sbf_init+0x0/0x18b returned 0 after 4532 usecs
[    5.205276] calling  i8237A_init_sysfs+0x0/0x3e @ 1
[    5.211099] initcall i8237A_init_sysfs+0x0/0x3e returned 0 after 818 usecs
[    5.218166] calling  add_rtc_cmos+0x0/0xea @ 1
[    5.222726] initcall add_rtc_cmos+0x0/0xea returned 0 after 5 usecs
[    5.229102] calling  cache_sysfs_init+0x0/0x98 @ 1
[    5.236742] initcall cache_sysfs_init+0x0/0x98 returned 0 after 2675 usecs
[    5.243883] calling  mcheck_init_device+0x0/0x13a @ 1
[    5.251003] initcall mcheck_init_device+0x0/0x13a returned 0 after 1914 usecs
[    5.258323] calling  thermal_throttle_init_device+0x0/0xf4 @ 1
[    5.264374] initcall thermal_throttle_init_device+0x0/0xf4 returned 0 after 109 usecs
[    5.272533] calling  ioapic_init_sysfs+0x0/0x10f @ 1
[    5.278503] initcall ioapic_init_sysfs+0x0/0x10f returned 0 after 875 usecs
[    5.285598] calling  add_pcspkr+0x0/0x3a @ 1
[    5.290514] initcall add_pcspkr+0x0/0x3a returned 0 after 529 usecs
[    5.296924] calling  start_periodic_check_for_corruption+0x0/0x61 @ 1
[    5.303471] Scanning for low memory corruption every 60 seconds
[    5.309506] initcall start_periodic_check_for_corruption+0x0/0x61 returned 0 after 5891 usecs
[    5.318201] calling  audit_classes_init+0x0/0xfc @ 1
[    5.323386] initcall audit_classes_init+0x0/0xfc returned 0 after 109 usecs
[    5.330477] calling  pt_dump_init+0x0/0x4a @ 1
[    5.335056] initcall pt_dump_init+0x0/0x4a returned 0 after 27 usecs
[    5.341521] calling  init_vdso_vars+0x0/0x207 @ 1
[    5.346354] initcall init_vdso_vars+0x0/0x207 returned 0 after 21 usecs
[    5.353080] calling  ia32_binfmt_init+0x0/0x14 @ 1
[    5.358024] initcall ia32_binfmt_init+0x0/0x14 returned 0 after 40 usecs
[    5.364831] calling  sysenter_setup+0x0/0x2d0 @ 1
[    5.369646] initcall sysenter_setup+0x0/0x2d0 returned 0 after 5 usecs
[    5.376277] calling  init_aout_binfmt+0x0/0x22 @ 1
[    5.381176] initcall init_aout_binfmt+0x0/0x22 returned 0 after 1 usecs
[    5.387894] calling  init_sched_debug_procfs+0x0/0x46 @ 1
[    5.393426] initcall init_sched_debug_procfs+0x0/0x46 returned 0 after 24 usecs
[    5.400907] calling  proc_schedstat_init+0x0/0x30 @ 1
[    5.406085] initcall proc_schedstat_init+0x0/0x30 returned 0 after 17 usecs
[    5.413160] calling  proc_execdomains_init+0x0/0x30 @ 1
[    5.418503] initcall proc_execdomains_init+0x0/0x30 returned 0 after 17 usecs
[    5.425738] calling  ioresources_init+0x0/0x51 @ 1
[    5.430659] initcall ioresources_init+0x0/0x51 returned 0 after 27 usecs
[    5.437458] calling  uid_cache_init+0x0/0xc4 @ 1
[    5.442224] initcall uid_cache_init+0x0/0xc4 returned 0 after 45 usecs
[    5.448849] calling  init_posix_timers+0x0/0x1b2 @ 1
[    5.453929] initcall init_posix_timers+0x0/0x1b2 returned 0 after 14 usecs
[    5.460904] calling  init_posix_cpu_timers+0x0/0x10f @ 1
[    5.466323] initcall init_posix_cpu_timers+0x0/0x10f returned 0 after 0 usecs
[    5.473558] calling  nsproxy_cache_init+0x0/0x3b @ 1
[    5.478636] initcall nsproxy_cache_init+0x0/0x3b returned 0 after 12 usecs
[    5.485612] calling  create_proc_profile+0x0/0x301 @ 1
[    5.490849] initcall create_proc_profile+0x0/0x301 returned 0 after 0 usecs
[    5.497910] calling  timekeeping_init_device+0x0/0x3e @ 1
[    5.504276] initcall timekeeping_init_device+0x0/0x3e returned 0 after 825 usecs
[    5.511846] calling  init_clocksource_sysfs+0x0/0x88 @ 1
[    5.518198] initcall init_clocksource_sysfs+0x0/0x88 returned 0 after 911 usecs
[    5.525730] calling  init_timer_list_procfs+0x0/0x46 @ 1
[    5.531201] initcall init_timer_list_procfs+0x0/0x46 returned 0 after 21 usecs
[    5.538606] calling  init_tstats_procfs+0x0/0x46 @ 1
[    5.543693] initcall init_tstats_procfs+0x0/0x46 returned 0 after 16 usecs
[    5.550681] calling  lockdep_proc_init+0x0/0x7b @ 1
[    5.555708] initcall lockdep_proc_init+0x0/0x7b returned 0 after 41 usecs
[    5.562600] calling  futex_init+0x0/0xa3 @ 1
[    5.567025] initcall futex_init+0x0/0xa3 returned 0 after 45 usecs
[    5.573310] calling  proc_dma_init+0x0/0x30 @ 1
[    5.577964] initcall proc_dma_init+0x0/0x30 returned 0 after 16 usecs
[    5.584511] calling  proc_modules_init+0x0/0x30 @ 1
[    5.589511] initcall proc_modules_init+0x0/0x30 returned 0 after 18 usecs
[    5.596403] calling  kallsyms_init+0x0/0x33 @ 1
[    5.601059] initcall kallsyms_init+0x0/0x33 returned 0 after 16 usecs
[    5.607610] calling  snapshot_device_init+0x0/0x20 @ 1
[    5.613345] initcall snapshot_device_init+0x0/0x20 returned 0 after 480 usecs
[    5.620585] calling  crash_save_vmcoreinfo_init+0x0/0x593 @ 1
[    5.626473] initcall crash_save_vmcoreinfo_init+0x0/0x593 returned 0 after 36 usecs
[    5.634299] calling  crash_notes_memory_init+0x0/0x52 @ 1
[    5.639924] initcall crash_notes_memory_init+0x0/0x52 returned 0 after 116 usecs
[    5.647501] calling  ikconfig_init+0x0/0x4e @ 1
[    5.652183] initcall ikconfig_init+0x0/0x4e returned 0 after 26 usecs
[    5.658760] calling  audit_init+0x0/0x1ac @ 1
[    5.663223] audit: initializing netlink socket (disabled)
[    5.668834] type=2000 audit(1273504570.668:1): initialized
[    5.674440] initcall audit_init+0x0/0x1ac returned 0 after 10951 usecs
[    5.681071] calling  gcov_init+0x0/0x20 @ 1
[    5.685367] initcall gcov_init+0x0/0x20 returned 0 after 1 usecs
[    5.691475] calling  gcov_fs_init+0x0/0x10d @ 1
[    5.833515] initcall gcov_fs_init+0x0/0x10d returned 0 after 134173 usecs
[    5.840412] calling  audit_tree_init+0x0/0x7a @ 1
[    5.845225] initcall audit_tree_init+0x0/0x7a returned 0 after 5 usecs
[    5.851850] calling  init_kprobes+0x0/0x220 @ 1
[    5.868755] initcall init_kprobes+0x0/0x220 returned 0 after 11984 usecs
[    5.875554] calling  hung_task_init+0x0/0x76 @ 1
[    5.880528] initcall hung_task_init+0x0/0x76 returned 0 after 246 usecs
[    5.887255] calling  rcuclassic_trace_init+0x0/0x15d @ 1
[    5.892775] initcall rcuclassic_trace_init+0x0/0x15d returned 0 after 104 usecs
[    5.900249] calling  utsname_sysctl_init+0x0/0x22 @ 1
[    5.905520] initcall utsname_sysctl_init+0x0/0x22 returned 0 after 115 usecs
[    5.912668] calling  init_tracepoints+0x0/0x25 @ 1
[    5.917559] initcall init_tracepoints+0x0/0x25 returned 0 after 0 usecs
[    5.924273] calling  init_lstats_procfs+0x0/0x33 @ 1
[    5.929379] initcall init_lstats_procfs+0x0/0x33 returned 0 after 40 usecs
[    5.936352] calling  ftrace_mod_cmd_init+0x0/0x20 @ 1
[    5.941549] initcall ftrace_mod_cmd_init+0x0/0x20 returned 0 after 43 usecs
[    5.948607] calling  init_events+0x0/0xa4 @ 1
[    5.953080] initcall init_events+0x0/0xa4 returned 0 after 13 usecs
[    5.959451] calling  init_sched_switch_trace+0x0/0x20 @ 1
[    5.964955] initcall init_sched_switch_trace+0x0/0x20 returned 0 after 4 usecs
[    5.974172] calling  init_stack_trace+0x0/0x20 @ 1
[    5.979071] initcall init_stack_trace+0x0/0x20 returned 0 after 2 usecs
[    5.985789] calling  init_function_trace+0x0/0x71 @ 1
[    5.990948] initcall init_function_trace+0x0/0x71 returned 0 after 5 usecs
[    5.997921] calling  init_wakeup_tracer+0x0/0x4d @ 1
[    6.002988] initcall init_wakeup_tracer+0x0/0x4d returned 0 after 4 usecs
[    6.009877] calling  stack_trace_init+0x0/0x95 @ 1
[    6.014811] initcall stack_trace_init+0x0/0x95 returned 0 after 38 usecs
[    6.021610] calling  init_graph_trace+0x0/0x40 @ 1
[    6.026505] initcall init_graph_trace+0x0/0x40 returned 0 after 3 usecs
[    6.033216] calling  init_kmem_tracer+0x0/0xaf @ 1
[    6.038115] initcall init_kmem_tracer+0x0/0xaf returned 0 after 6 usecs
[    6.044837] calling  init_blk_tracer+0x0/0x8f @ 1
[    6.049646] initcall init_blk_tracer+0x0/0x8f returned 0 after 4 usecs
[    6.056272] calling  perf_event_sysfs_init+0x0/0x27 @ 1
[    6.061617] initcall perf_event_sysfs_init+0x0/0x27 returned 0 after 22 usecs
[    6.068853] calling  init_per_zone_wmark_min+0x0/0xc0 @ 1
[    6.074540] initcall init_per_zone_wmark_min+0x0/0xc0 returned 0 after 180 usecs
[    6.082103] calling  kswapd_init+0x0/0xad @ 1
[    6.086811] initcall kswapd_init+0x0/0xad returned 0 after 238 usecs
[    6.093278] calling  setup_vmstat+0x0/0x104 @ 1
[    6.097991] initcall setup_vmstat+0x0/0x104 returned 0 after 80 usecs
[    6.104530] calling  mm_sysfs_init+0x0/0x43 @ 1
[    6.109179] initcall mm_sysfs_init+0x0/0x43 returned 0 after 15 usecs
[    6.115721] calling  proc_vmalloc_init+0x0/0x33 @ 1
[    6.120716] initcall proc_vmalloc_init+0x0/0x33 returned 0 after 15 usecs
[    6.127603] calling  procswaps_init+0x0/0x30 @ 1
[    6.132334] initcall procswaps_init+0x0/0x30 returned 0 after 14 usecs
[    6.138961] calling  hugetlb_init+0x0/0x55d @ 1
[    6.143600] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    6.150162] initcall hugetlb_init+0x0/0x55d returned 0 after 6411 usecs
[    6.156879] calling  ksm_init+0x0/0x301 @ 1
[    6.161518] initcall ksm_init+0x0/0x301 returned 0 after 343 usecs
[    6.167809] calling  slab_proc_init+0x0/0x33 @ 1
[    6.172544] initcall slab_proc_init+0x0/0x33 returned 0 after 15 usecs
[    6.179170] calling  slab_sysfs_init+0x0/0x157 @ 1
[    6.195409] khelper used greatest stack depth: 5736 bytes left
[    6.258564] initcall slab_sysfs_init+0x0/0x157 returned 0 after 72752 usecs
[    6.265814] calling  fasync_init+0x0/0x38 @ 1
[    6.270955] initcall fasync_init+0x0/0x38 returned 0 after 662 usecs
[    6.277476] calling  proc_filesystems_init+0x0/0x30 @ 1
[    6.282861] initcall proc_filesystems_init+0x0/0x30 returned 0 after 51 usecs
[    6.290171] calling  dnotify_init+0x0/0xa3 @ 1
[    6.296177] initcall dnotify_init+0x0/0xa3 returned 0 after 1420 usecs
[    6.302822] calling  inotify_setup+0x0/0x19 @ 1
[    6.307459] initcall inotify_setup+0x0/0x19 returned 0 after 0 usecs
[    6.313918] calling  inotify_user_setup+0x0/0x85 @ 1
[    6.320473] initcall inotify_user_setup+0x0/0x85 returned 0 after 1447 usecs
[    6.327703] calling  aio_setup+0x0/0x11d @ 1
[    6.333921] initcall aio_setup+0x0/0x11d returned 0 after 1796 usecs
[    6.340442] calling  proc_locks_init+0x0/0x30 @ 1
[    6.345271] initcall proc_locks_init+0x0/0x30 returned 0 after 18 usecs
[    6.351990] calling  init_sys32_ioctl+0x0/0x36 @ 1
[    6.357053] initcall init_sys32_ioctl+0x0/0x36 returned 0 after 161 usecs
[    6.363949] calling  dquot_init+0x0/0x121 @ 1
[    6.368412] VFS: Disk quotas dquot_6.5.2
[    6.373323] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    6.379920] initcall dquot_init+0x0/0x121 returned 0 after 11235 usecs
[    6.386574] calling  quota_init+0x0/0x42 @ 1
[    6.391003] initcall quota_init+0x0/0x42 returned 0 after 49 usecs
[    6.397289] calling  proc_cmdline_init+0x0/0x30 @ 1
[    6.402295] initcall proc_cmdline_init+0x0/0x30 returned 0 after 17 usecs
[    6.409216] calling  proc_cpuinfo_init+0x0/0x30 @ 1
[    6.414217] initcall proc_cpuinfo_init+0x0/0x30 returned 0 after 16 usecs
[    6.421117] calling  proc_devices_init+0x0/0x30 @ 1
[    6.426128] initcall proc_devices_init+0x0/0x30 returned 0 after 16 usecs
[    6.433027] calling  proc_interrupts_init+0x0/0x30 @ 1
[    6.438290] initcall proc_interrupts_init+0x0/0x30 returned 0 after 16 usecs
[    6.445442] calling  proc_loadavg_init+0x0/0x30 @ 1
[    6.450445] initcall proc_loadavg_init+0x0/0x30 returned 0 after 17 usecs
[    6.457342] calling  proc_meminfo_init+0x0/0x30 @ 1
[    6.462345] initcall proc_meminfo_init+0x0/0x30 returned 0 after 16 usecs
[    6.469239] calling  proc_stat_init+0x0/0x30 @ 1
[    6.473974] initcall proc_stat_init+0x0/0x30 returned 0 after 16 usecs
[    6.480602] calling  proc_uptime_init+0x0/0x30 @ 1
[    6.485508] initcall proc_uptime_init+0x0/0x30 returned 0 after 14 usecs
[    6.492312] calling  proc_version_init+0x0/0x30 @ 1
[    6.497308] initcall proc_version_init+0x0/0x30 returned 0 after 14 usecs
[    6.504214] calling  proc_softirqs_init+0x0/0x30 @ 1
[    6.509295] initcall proc_softirqs_init+0x0/0x30 returned 0 after 14 usecs
[    6.516267] calling  proc_kcore_init+0x0/0xe4 @ 1
[    6.521103] initcall proc_kcore_init+0x0/0xe4 returned 0 after 29 usecs
[    6.527826] calling  vmcore_init+0x0/0x4e1 @ 1
[    6.532372] initcall vmcore_init+0x0/0x4e1 returned 0 after 0 usecs
[    6.538739] calling  proc_kmsg_init+0x0/0x33 @ 1
[    6.543475] initcall proc_kmsg_init+0x0/0x33 returned 0 after 14 usecs
[    6.550101] calling  proc_page_init+0x0/0x57 @ 1
[    6.554853] initcall proc_page_init+0x0/0x57 returned 0 after 27 usecs
[    6.561478] calling  init_devpts_fs+0x0/0x76 @ 1
[    6.566326] initcall init_devpts_fs+0x0/0x76 returned 0 after 125 usecs
[    6.573041] calling  init_ramfs_fs+0x0/0x20 @ 1
[    6.577682] initcall init_ramfs_fs+0x0/0x20 returned 0 after 3 usecs
[    6.584144] calling  init_hugetlbfs_fs+0x0/0xf1 @ 1
[    6.589972] initcall init_hugetlbfs_fs+0x0/0xf1 returned 0 after 827 usecs
[    6.596956] calling  ipc_init+0x0/0x46 @ 1
[    6.601179] msgmni has been set to 3955
[    6.605180] initcall ipc_init+0x0/0x46 returned 0 after 3926 usecs
[    6.611458] calling  ipc_sysctl_init+0x0/0x22 @ 1
[    6.616451] initcall ipc_sysctl_init+0x0/0x22 returned 0 after 186 usecs
[    6.623248] calling  init_mqueue_fs+0x0/0x128 @ 1
[    6.629067] initcall init_mqueue_fs+0x0/0x128 returned 0 after 986 usecs
[    6.635872] calling  key_proc_init+0x0/0x7e @ 1
[    6.640535] initcall key_proc_init+0x0/0x7e returned 0 after 31 usecs
[    6.647071] calling  crypto_wq_init+0x0/0x4c @ 1
[    6.652237] initcall crypto_wq_init+0x0/0x4c returned 0 after 431 usecs
[    6.658957] calling  crypto_algapi_init+0x0/0x1b @ 1
[    6.664067] initcall crypto_algapi_init+0x0/0x1b returned 0 after 44 usecs
[    6.671043] calling  skcipher_module_init+0x0/0x4e @ 1
[    6.676284] initcall skcipher_module_init+0x0/0x4e returned 0 after 0 usecs
[    6.683343] calling  chainiv_module_init+0x0/0x20 @ 1
[    6.688527] initcall chainiv_module_init+0x0/0x20 returned 0 after 34 usecs
[    6.695587] calling  eseqiv_module_init+0x0/0x20 @ 1
[    6.700653] initcall eseqiv_module_init+0x0/0x20 returned 0 after 2 usecs
[    6.707540] calling  hmac_module_init+0x0/0x20 @ 1
[    6.712433] initcall hmac_module_init+0x0/0x20 returned 0 after 2 usecs
[    6.719162] calling  md5_mod_init+0x0/0x20 @ 1
[    6.724062] initcall md5_mod_init+0x0/0x20 returned 0 after 342 usecs
[    6.730622] calling  sha1_generic_mod_init+0x0/0x20 @ 1
[    6.736252] initcall sha1_generic_mod_init+0x0/0x20 returned 0 after 294 usecs
[    6.743659] calling  krng_mod_init+0x0/0x20 @ 1
[    6.748502] alg: No test for stdrng (krng)
[    6.752805] initcall krng_mod_init+0x0/0x20 returned 0 after 4402 usecs
[    6.759539] calling  proc_genhd_init+0x0/0x51 @ 1
[    6.764377] initcall proc_genhd_init+0x0/0x51 returned 0 after 32 usecs
[    6.771090] calling  bsg_init+0x0/0x1ae @ 1
[    6.776525] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[    6.784105] initcall bsg_init+0x0/0x1ae returned 0 after 8522 usecs
[    6.790479] calling  noop_init+0x0/0x22 @ 1
[    6.794783] io scheduler noop registered
[    6.798807] initcall noop_init+0x0/0x22 returned 0 after 3948 usecs
[    6.805172] calling  deadline_init+0x0/0x22 @ 1
[    6.809803] io scheduler deadline registered
[    6.814173] initcall deadline_init+0x0/0x22 returned 0 after 4267 usecs
[    6.820887] calling  cfq_init+0x0/0xda @ 1
[    6.826495] io scheduler cfq registered (default)
[    6.831344] initcall cfq_init+0x0/0xda returned 0 after 6111 usecs
[    6.837621] calling  percpu_counter_startup+0x0/0x2e @ 1
[    6.843069] initcall percpu_counter_startup+0x0/0x2e returned 0 after 35 usecs
[    6.850503] calling  dynamic_debug_init+0x0/0x1aa @ 1
[    6.856050] initcall dynamic_debug_init+0x0/0x1aa returned 0 after 385 usecs
[    6.863197] calling  lnw_gpio_init+0x0/0x29 @ 1
[    6.868344] initcall lnw_gpio_init+0x0/0x29 returned 0 after 503 usecs
[    6.874978] calling  pci_proc_init+0x0/0x94 @ 1
[    6.880180] initcall pci_proc_init+0x0/0x94 returned 0 after 547 usecs
[    6.886811] calling  pcie_portdrv_init+0x0/0x90 @ 1
[    6.892389] pcieport 0000:00:01.0: setting latency timer to 64
[    6.898463]   alloc irq_desc for 24 on node -1
[    6.899315]   alloc kstat_irqs on node -1
[    6.907182] pcieport 0000:00:01.0: irq 24 for MSI/MSI-X
[    6.913693] pcieport 0000:00:1c.0: setting latency timer to 64
[    6.919771]   alloc irq_desc for 25 on node -1
[    6.920618]   alloc kstat_irqs on node -1
[    6.928481] pcieport 0000:00:1c.0: irq 25 for MSI/MSI-X
[    6.935432] pcieport 0000:00:1c.1: setting latency timer to 64
[    6.941580]   alloc irq_desc for 26 on node -1
[    6.942357]   alloc kstat_irqs on node -1
[    6.950263] pcieport 0000:00:1c.1: irq 26 for MSI/MSI-X
[    6.957681] khelper used greatest stack depth: 5560 bytes left
[    6.963766] initcall pcie_portdrv_init+0x0/0x90 returned 0 after 70282 usecs
[    6.971037] calling  aer_service_init+0x0/0x50 @ 1
[    6.976437] initcall aer_service_init+0x0/0x50 returned 0 after 481 usecs
[    6.983364] calling  pcie_pme_service_init+0x0/0x37 @ 1
[    6.988758] pcieport 0000:00:01.0: Requesting control of PCIe PME from ACPI BIOS
[    6.996358] pcieport 0000:00:01.0: Failed to receive control of PCIe PME service: no _OSC support
[    7.005475] pcie_pme: probe of 0000:00:01.0:pcie01 failed with error -13
[    7.012302] pcieport 0000:00:1c.0: Requesting control of PCIe PME from ACPI BIOS
[    7.019874] pcieport 0000:00:1c.0: Failed to receive control of PCIe PME service: no _OSC support
[    7.028939] pcie_pme: probe of 0000:00:1c.0:pcie01 failed with error -13
[    7.035772] pcieport 0000:00:1c.1: Requesting control of PCIe PME from ACPI BIOS
[    7.043344] pcieport 0000:00:1c.1: Failed to receive control of PCIe PME service: no _OSC support
[    7.054234] pcie_pme: probe of 0000:00:1c.1:pcie01 failed with error -13
[    7.061451] initcall pcie_pme_service_init+0x0/0x37 returned 0 after 71049 usecs
[    7.069029] calling  ioapic_init+0x0/0x29 @ 1
[    7.073991] initcall ioapic_init+0x0/0x29 returned 0 after 485 usecs
[    7.080467] calling  vesafb_init+0x0/0x331 @ 1
[    7.087117] initcall vesafb_init+0x0/0x331 returned -19 after 2042 usecs
[    7.094088] calling  efifb_init+0x0/0x2be @ 1
[    7.098563] initcall efifb_init+0x0/0x2be returned -19 after 7 usecs
[    7.105021] calling  acpi_reserve_resources+0x0/0x141 @ 1
[    7.110570] initcall acpi_reserve_resources+0x0/0x141 returned 0 after 42 usecs
[    7.118133] calling  irqrouter_init_sysfs+0x0/0x62 @ 1
[    7.124263] initcall irqrouter_init_sysfs+0x0/0x62 returned 0 after 859 usecs
[    7.131560] calling  rand_initialize+0x0/0x4d @ 1
[    7.136409] initcall rand_initialize+0x0/0x4d returned 0 after 37 usecs
[    7.143131] calling  tty_init+0x0/0x15a @ 1
[    7.187484] initcall tty_init+0x0/0x15a returned 0 after 39113 usecs
[    7.194413] calling  pty_init+0x0/0x603 @ 1
[    7.498806] initcall pty_init+0x0/0x603 returned 0 after 293062 usecs
[    7.505685] calling  sysrq_init+0x0/0x33 @ 1
[    7.510121] initcall sysrq_init+0x0/0x33 returned 0 after 56 usecs
[    7.516526] calling  hpet_init+0x0/0xab @ 1
[    7.521895] initcall hpet_init+0x0/0xab returned 0 after 1046 usecs
[    7.528290] calling  agp_init+0x0/0x3b @ 1
[    7.532492] Linux agpgart interface v0.103
[    7.536697] initcall agp_init+0x0/0x3b returned 0 after 4104 usecs
[    7.542983] calling  drm_core_init+0x0/0x1ab @ 1
[    7.548294] [drm] Initialized drm 1.1.0 20060810
[    7.553059] initcall drm_core_init+0x0/0x1ab returned 0 after 5226 usecs
[    7.559872] calling  cn_proc_init+0x0/0x5b @ 1
[    7.564513] initcall cn_proc_init+0x0/0x5b returned 0 after 87 usecs
[    7.570995] calling  serial8250_init+0x0/0x222 @ 1
[    7.575892] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    7.583010] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    7.592156] initcall serial8250_init+0x0/0x222 returned 0 after 15878 usecs
[    7.599374] calling  serial8250_pnp_init+0x0/0x20 @ 1
[    7.606290] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    7.613139] initcall serial8250_pnp_init+0x0/0x20 returned 0 after 8402 usecs
[    7.620477] calling  serial8250_pci_init+0x0/0x29 @ 1
[    7.626192] initcall serial8250_pci_init+0x0/0x29 returned 0 after 541 usecs
[    7.633395] calling  topology_sysfs_init+0x0/0x8e @ 1
[    7.638673] initcall topology_sysfs_init+0x0/0x8e returned 0 after 112 usecs
[    7.645838] calling  init_kgdbts+0x0/0x2d @ 1
[    7.650304] initcall init_kgdbts+0x0/0x2d returned 0 after 0 usecs
[    7.656589] calling  fixed_mdio_bus_init+0x0/0x13a @ 1
[    7.662869] Fixed MDIO Bus: probed
[    7.666390] initcall fixed_mdio_bus_init+0x0/0x13a returned 0 after 4448 usecs
[    7.673784] calling  tg3_init+0x0/0x29 @ 1
[    7.678214] tg3.c:v3.108 (February 17, 2010)
[    7.682623] tg3 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    7.689439] tg3 0000:02:00.0: setting latency timer to 64
[    7.705478] tg3 0000:02:00.0: eth0: Tigon3 [partno(BCM5751PKFBG) rev 4001] (PCI Express) MAC address 00:18:8b:01:d2:2b
[    7.716347] tg3 0000:02:00.0: eth0: attached PHY is 5750 (10/100/1000Base-T Ethernet) (WireSpeed[1])
[    7.725651] tg3 0000:02:00.0: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[    7.733736] tg3 0000:02:00.0: eth0: dma_rwctrl[76180000] dma_mask[64-bit]
[    7.741143] initcall tg3_init+0x0/0x29 returned 0 after 61669 usecs
[    7.747565] calling  net_olddevs_init+0x0/0x11c @ 1
[    7.752557] initcall net_olddevs_init+0x0/0x11c returned 0 after 6 usecs
[    7.759364] calling  init_netconsole+0x0/0x32c @ 1
[    7.764301] console [netcon0] enabled
[    7.768073] netconsole: network logging started
[    7.772714] initcall init_netconsole+0x0/0x32c returned 0 after 8252 usecs
[    7.779695] calling  i8042_init+0x0/0x50e @ 1
[    7.786093] PNP: No PS/2 controller found. Probing ports directly.
[    7.795877] serio: i8042 KBD port at 0x60,0x64 irq 1
[    7.800960] serio: i8042 AUX port at 0x60,0x64 irq 12
[    7.806758] initcall i8042_init+0x0/0x50e returned 0 after 22062 usecs
[    7.813462] calling  mousedev_init+0x0/0xd8 @ 1
[    7.819397] mice: PS/2 mouse device common for all mice
[    7.824758] initcall mousedev_init+0x0/0xd8 returned 0 after 6501 usecs
[    7.831476] calling  atkbd_init+0x0/0x3c @ 1
[    7.836377] initcall atkbd_init+0x0/0x3c returned 0 after 509 usecs
[    7.842786] calling  init_ladder+0x0/0x20 @ 1
[    7.847399] cpuidle: using governor ladder
[    7.851626] initcall init_ladder+0x0/0x20 returned 0 after 4223 usecs
[    7.858169] calling  init_menu+0x0/0x20 @ 1
[    7.862475] cpuidle: using governor menu
[    7.866500] initcall init_menu+0x0/0x20 returned 0 after 3930 usecs
[    7.872867] calling  ledtrig_ide_init+0x0/0x29 @ 1
[    7.877797] initcall ledtrig_ide_init+0x0/0x29 returned 0 after 37 usecs
[    7.884599] calling  hid_init+0x0/0xac @ 1
[    7.889725] initcall hid_init+0x0/0xac returned 0 after 905 usecs
[    7.895928] calling  flow_cache_init+0x0/0x20d @ 1
[    7.901568] initcall flow_cache_init+0x0/0x20d returned 0 after 716 usecs
[    7.908471] calling  sysctl_ipv4_init+0x0/0x75 @ 1
[    7.915658] initcall sysctl_ipv4_init+0x0/0x75 returned 0 after 2239 usecs
[    7.922630] calling  init_syncookies+0x0/0x27 @ 1
[    7.927486] initcall init_syncookies+0x0/0x27 returned 0 after 48 usecs
[    7.934199] calling  cubictcp_register+0x0/0x76 @ 1
[    7.939178] TCP cubic registered
[    7.942508] initcall cubictcp_register+0x0/0x76 returned 0 after 3251 usecs
[    7.949568] calling  packet_init+0x0/0x71 @ 1
[    7.954051] NET: Registered protocol family 17
[    7.958630] initcall packet_init+0x0/0x71 returned 0 after 4472 usecs
[    7.965170] calling  mcheck_debugfs_init+0x0/0x60 @ 1
[    7.970404] initcall mcheck_debugfs_init+0x0/0x60 returned 0 after 81 usecs
[    7.977466] calling  severities_debugfs_init+0x0/0x5e @ 1
[    7.982984] initcall severities_debugfs_init+0x0/0x5e returned 0 after 18 usecs
[    7.990478] calling  hpet_insert_resource+0x0/0x3a @ 1
[    7.995720] initcall hpet_insert_resource+0x0/0x3a returned 0 after 3 usecs
[    8.002776] calling  update_mp_table+0x0/0x85c @ 1
[    8.007685] initcall update_mp_table+0x0/0x85c returned 0 after 0 usecs
[    8.014403] calling  lapic_insert_resource+0x0/0x55 @ 1
[    8.019731] initcall lapic_insert_resource+0x0/0x55 returned 0 after 1 usecs
[    8.026879] calling  init_lapic_nmi_sysfs+0x0/0x65 @ 1
[    8.032115] initcall init_lapic_nmi_sysfs+0x0/0x65 returned 0 after 0 usecs
[    8.039175] calling  io_apic_bug_finalize+0x0/0x29 @ 1
[    8.044412] initcall io_apic_bug_finalize+0x0/0x29 returned 0 after 0 usecs
[    8.051474] calling  check_early_ioremap_leak+0x0/0x91 @ 1
[    8.057059] initcall check_early_ioremap_leak+0x0/0x91 returned 0 after 0 usecs
[    8.064533] calling  pat_memtype_list_init+0x0/0x47 @ 1
[    8.069877] initcall pat_memtype_list_init+0x0/0x47 returned 0 after 18 usecs
[    8.077111] calling  sched_init_debug+0x0/0x32 @ 1
[    8.082049] initcall sched_init_debug+0x0/0x32 returned 0 after 43 usecs
[    8.088854] calling  init_oops_id+0x0/0x4b @ 1
[    8.093406] initcall init_oops_id+0x0/0x4b returned 0 after 8 usecs
[    8.099771] calling  disable_boot_consoles+0x0/0x67 @ 1
[    8.105097] initcall disable_boot_consoles+0x0/0x67 returned 0 after 0 usecs
[    8.112243] calling  pm_qos_power_init+0x0/0xb9 @ 1
[    8.118952] initcall pm_qos_power_init+0x0/0xb9 returned 0 after 1682 usecs
[    8.126052] calling  software_resume+0x0/0x4b2 @ 1
[    8.130970] initcall software_resume+0x0/0x4b2 returned -2 after 25 usecs
[    8.137868] initcall software_resume+0x0/0x4b2 returned with error code -2 
[    8.144928] calling  debugfs_kprobe_init+0x0/0xd4 @ 1
[    8.150157] initcall debugfs_kprobe_init+0x0/0xd4 returned 0 after 63 usecs
[    8.157216] calling  taskstats_init+0x0/0xe0 @ 1
[    8.162010] registered taskstats version 1
[    8.166221] initcall taskstats_init+0x0/0xe0 returned 0 after 4186 usecs
[    8.173044] calling  clear_boot_tracer+0x0/0x44 @ 1
[    8.178055] initcall clear_boot_tracer+0x0/0x44 returned 0 after 4 usecs
[    8.184855] calling  max_swapfiles_check+0x0/0xf @ 1
[    8.189919] initcall max_swapfiles_check+0x0/0xf returned 0 after 0 usecs
[    8.196819] calling  random32_reseed+0x0/0xdc @ 1
[    8.201665] initcall random32_reseed+0x0/0xdc returned 0 after 39 usecs
[    8.208378] calling  pci_resource_alignment_sysfs_init+0x0/0x27 @ 1
[    8.214752] initcall pci_resource_alignment_sysfs_init+0x0/0x27 returned 0 after 8 usecs
[    8.223006] calling  pci_sysfs_init+0x0/0x7b @ 1
[    8.228603] initcall pci_sysfs_init+0x0/0x7b returned 0 after 848 usecs
[    8.235319] calling  seqgen_init+0x0/0x1d @ 1
[    8.239802] initcall seqgen_init+0x0/0x1d returned 0 after 23 usecs
[    8.246166] calling  memmap_init+0x0/0x5b @ 1
[    8.250883] initcall memmap_init+0x0/0x5b returned 0 after 253 usecs
[    8.257337] calling  pci_mmcfg_late_insert_resources+0x0/0x97 @ 1
[    8.263533] initcall pci_mmcfg_late_insert_resources+0x0/0x97 returned 0 after 2 usecs
[    8.271615] calling  init_net_drop_monitor+0x0/0x209 @ 1
[    8.277048] Initalizing network drop monitor service
[    8.282238] initcall init_net_drop_monitor+0x0/0x209 returned 0 after 5065 usecs
[    8.289796] calling  tcp_congestion_default+0x0/0x20 @ 1
[    8.295210] initcall tcp_congestion_default+0x0/0x20 returned 0 after 1 usecs
[    8.302440] calling  ip_auto_config+0x0/0x1302 @ 1
[    8.307350] initcall ip_auto_config+0x0/0x1302 returned 0 after 18 usecs
[    8.314149] calling  initialize_hashrnd+0x0/0x27 @ 1
[    8.319222] initcall initialize_hashrnd+0x0/0x27 returned 0 after 8 usecs
[    8.326497] async_waiting @ 1
[    8.329586] async_continuing @ 1 after 18 usec
[    8.334212] Freeing unused kernel memory: 3324k freed
[    8.341184] Write protecting the kernel read-only data: 10240k
[    8.348680] Freeing unused kernel memory: 1652k freed
[    8.356404] Freeing unused kernel memory: 2024k freed
[    8.852995] calling  usb_init+0x0/0x270 [usbcore] @ 990
[    8.858725] usbcore: registered new interface driver usbfs
[    8.864698] usbcore: registered new interface driver hub
[    8.870497] usbcore: registered new device driver usb
[    8.875670] initcall usb_init+0x0/0x270 [usbcore] returned 0 after 16909 usecs
[    8.888120] calling  ehci_hcd_init+0x0/0x136 [ehci_hcd] @ 990
[    8.895837] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    8.902576]   alloc irq_desc for 21 on node -1
[    8.903455]   alloc kstat_irqs on node -1
[    8.911277] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    8.918575] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    8.924512] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    8.930210] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
[    8.937892] ehci_hcd 0000:00:1d.7: using broken periodic workaround
[    8.944280] ehci_hcd 0000:00:1d.7: debug port 1
[    8.952819] ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported
[    8.959789] ehci_hcd 0000:00:1d.7: irq 21, io mem 0xffa80800
[    8.975055] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    8.981300] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    8.988188] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    8.995578] usb usb1: Product: EHCI Host Controller
[    9.000556] usb usb1: Manufacturer: Linux 2.6.34-rc7 ehci_hcd
[    9.006403] usb usb1: SerialNumber: 0000:00:1d.7
[    9.012301] hub 1-0:1.0: USB hub found
[    9.016209] hub 1-0:1.0: 8 ports detected
[    9.021436] initcall ehci_hcd_init+0x0/0x136 [ehci_hcd] returned 0 after 122645 usecs
[    9.029774] modprobe used greatest stack depth: 4512 bytes left
[    9.046128] calling  init_pcmcia_cs+0x0/0x4b [pcmcia_core] @ 992
[    9.052384] initcall init_pcmcia_cs+0x0/0x4b [pcmcia_core] returned 0 after 121 usecs
[    9.068084] calling  init_pcmcia_bus+0x0/0x9d [pcmcia] @ 992
[    9.074113] initcall init_pcmcia_bus+0x0/0x9d [pcmcia] returned 0 after 240 usecs
[    9.095166] calling  mmc_init+0x0/0xd8 [mmc_core] @ 992
[    9.101243] initcall mmc_init+0x0/0xd8 [mmc_core] returned 0 after 712 usecs
[    9.119494] calling  ssb_modinit+0x0/0xb1 [ssb] @ 992
[    9.125382] initcall ssb_modinit+0x0/0xb1 [ssb] returned 0 after 616 usecs
[    9.137951] calling  ohci_hcd_mod_init+0x0/0x135 [ohci_hcd] @ 992
[    9.144174] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    9.150822] initcall ohci_hcd_mod_init+0x0/0x135 [ohci_hcd] returned 0 after 6488 usecs
[    9.168392] calling  uhci_hcd_init+0x0/0x12b [uhci_hcd] @ 994
[    9.174255] uhci_hcd: USB Universal Host Controller Interface driver
[    9.181240] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    9.188523] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    9.194465] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    9.199894] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    9.207547] uhci_hcd 0000:00:1d.0: irq 21, io base 0x0000ff80
[    9.213689] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    9.220581] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    9.227986] usb usb2: Product: UHCI Host Controller
[    9.232970] usb usb2: Manufacturer: Linux 2.6.34-rc7 uhci_hcd
[    9.238819] usb usb2: SerialNumber: 0000:00:1d.0
[    9.244648] hub 2-0:1.0: USB hub found
[    9.248628] hub 2-0:1.0: 2 ports detected
[    9.253496]   alloc irq_desc for 22 on node -1
[    9.254005]   alloc kstat_irqs on node -1
[    9.262190] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 22 (level, low) -> IRQ 22
[    9.269482] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    9.275427] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    9.280822] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[    9.288499] uhci_hcd 0000:00:1d.1: irq 22, io base 0x0000ff60
[    9.294605] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    9.301529] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    9.308920] usb usb3: Product: UHCI Host Controller
[    9.313895] usb usb3: Manufacturer: Linux 2.6.34-rc7 uhci_hcd
[    9.319740] usb usb3: SerialNumber: 0000:00:1d.1
[    9.325354] hub 3-0:1.0: USB hub found
[    9.329247] hub 3-0:1.0: 2 ports detected
[    9.334105]   alloc irq_desc for 18 on node -1
[    9.335006]   alloc kstat_irqs on node -1
[    9.342779] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    9.350046] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    9.356024] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    9.361583] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    9.369268] uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000ff40
[    9.375373] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    9.382261] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    9.389652] usb usb4: Product: UHCI Host Controller
[    9.394630] usb usb4: Manufacturer: Linux 2.6.34-rc7 uhci_hcd
[    9.400473] usb usb4: SerialNumber: 0000:00:1d.2
[    9.405995] hub 4-0:1.0: USB hub found
[    9.409920] hub 4-0:1.0: 2 ports detected
[    9.414754]   alloc irq_desc for 23 on node -1
[    9.415025]   alloc kstat_irqs on node -1
[    9.423428] uhci_hcd 0000:00:1d.3: PCI INT D -> GSI 23 (level, low) -> IRQ 23
[    9.430691] uhci_hcd 0000:00:1d.3: setting latency timer to 64
[    9.436644] uhci_hcd 0000:00:1d.3: UHCI Host Controller
[    9.442128] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
[    9.449812] uhci_hcd 0000:00:1d.3: irq 23, io base 0x0000ff20
[    9.456039] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[    9.462934] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    9.470326] usb usb5: Product: UHCI Host Controller
[    9.475305] usb usb5: Manufacturer: Linux 2.6.34-rc7 uhci_hcd
[    9.481158] usb usb5: SerialNumber: 0000:00:1d.3
[    9.486763] hub 5-0:1.0: USB hub found
[    9.490657] hub 5-0:1.0: 2 ports detected
[    9.495719] initcall uhci_hcd_init+0x0/0x12b [uhci_hcd] returned 0 after 313923 usecs
[    9.504106] modprobe used greatest stack depth: 4224 bytes left
[    9.519439] calling  init_mbcache+0x0/0x22 [mbcache] @ 995
[    9.525078] initcall init_mbcache+0x0/0x22 [mbcache] returned 0 after 2 usecs
[    9.540493] calling  journal_init+0x0/0x114 [jbd] @ 995
[    9.547553] initcall journal_init+0x0/0x114 [jbd] returned 0 after 1658 usecs
[    9.570642] calling  init_ext3_fs+0x0/0xbf [ext3] @ 995
[    9.576867] initcall init_ext3_fs+0x0/0xbf [ext3] returned 0 after 852 usecs
[    9.621437] calling  init_scsi+0x0/0x131 [scsi_mod] @ 997
[    9.630399] SCSI subsystem initialized
[    9.634273] initcall init_scsi+0x0/0x131 [scsi_mod] returned 0 after 7133 usecs
[    9.648186] usb 3-1: new full speed USB device using uhci_hcd and address 2
[    9.654095] calling  init_sd+0x0/0x227 [sd_mod] @ 998
[    9.654808] initcall init_sd+0x0/0x227 [sd_mod] returned 0 after 686 usecs
[    9.682456] calling  ide_init+0x0/0xcc [ide_core] @ 999
[    9.687799] Uniform Multi-Platform E-IDE driver
[    9.692791] initcall ide_init+0x0/0xcc [ide_core] returned 0 after 4864 usecs
[    9.707098] calling  generic_ide_init+0x0/0x2e [ide_pci_generic] @ 1000
[    9.714209] initcall generic_ide_init+0x0/0x2e [ide_pci_generic] returned 0 after 330 usecs
[    9.757119] calling  ata_init+0x0/0x470 [libata] @ 1001
[    9.763178] libata version 3.00 loaded.
[    9.767169] initcall ata_init+0x0/0x470 [libata] returned 0 after 4573 usecs
[    9.784789] calling  piix_init+0x0/0x45 [ata_piix] @ 1005
[    9.790425] ata_piix 0000:00:1f.1: version 2.13
[    9.795160] ata_piix 0000:00:1f.1: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    9.802724] ata_piix 0000:00:1f.1: setting latency timer to 64
[    9.809143] scsi0 : ata_piix
[    9.813671] scsi1 : ata_piix
[    9.823345] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14
[    9.830494] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15
[    9.837810]   alloc irq_desc for 20 on node -1
[    9.838529] ata2: port disabled. ignoring.
[    9.838547]   alloc kstat_irqs on node -1
[    9.850762] ata_piix 0000:00:1f.2: PCI INT C -> GSI 20 (level, low) -> IRQ 20
[    9.858068] usb 3-1: New USB device found, idVendor=413c, idProduct=1003
[    9.858078] ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
[    9.870162] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    9.877403] usb 3-1: Product: Dell USB Keyboard Hub
[    9.882383] usb 3-1: Manufacturer: Dell
[    9.894638] hub 3-1:1.0: USB hub found
[    9.899467] hub 3-1:1.0: 3 ports detected
[    9.991493] ata1.00: ATAPI: HL-DT-STDVD+-RW GSA-H21N, A105, max UDMA/33
[   10.004387] ata1.00: configured for UDMA/33
[   10.009230] ata_piix 0000:00:1f.2: setting latency timer to 64
[   10.015846] scsi2 : ata_piix
[   10.019860] scsi3 : ata_piix
[   10.023561] ata3: SATA max UDMA/133 cmd 0xfe00 ctl 0xfe10 bmdma 0xfea0 irq 20
[   10.030883] ata4: SATA max UDMA/133 cmd 0xfe20 ctl 0xfe30 bmdma 0xfea8 irq 20
[   10.030902] scsi 0:0:0:0: CD-ROM            HL-DT-ST DVD+-RW GSA-H21N A105 PQ: 0 ANSI: 5
[   10.046898] initcall piix_init+0x0/0x45 [ata_piix] returned 0 after 250546 usecs
[   10.188449] usb 3-1.1: new full speed USB device using uhci_hcd and address 3
[   10.200339] ata3.00: ATA-7: WDC WD2500JS-75NCB3, 10.02E04, max UDMA/133
[   10.207180] ata3.00: 488281250 sectors, multi 8: LBA48 NCQ (depth 0/32)
[   10.217368] ata3.00: configured for UDMA/133
[   10.222242] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2500JS-75N 10.0 PQ: 0 ANSI: 5
[   10.232204] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB)
[   10.240326] sd 2:0:0:0: [sda] Write Protect is off
[   10.245236] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   10.250570] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   10.260865]  sda: sda1 sda2 sda3 sda4 < sda5 sda6 >
[   10.310076] sd 2:0:0:0: [sda] Attached SCSI disk
[   10.339448] usb 3-1.1: New USB device found, idVendor=413c, idProduct=2010
[   10.346459] usb 3-1.1: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[   10.353943] usb 3-1.1: Product: Dell USB Keyboard
[   10.358747] usb 3-1.1: Manufacturer: Dell
[   10.439458] usb 3-1.3: new low speed USB device using uhci_hcd and address 4
[   10.573437] usb 3-1.3: New USB device found, idVendor=046d, idProduct=c016
[   10.580458] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   10.589776] usb 3-1.3: Product: Optical USB Mouse
[   10.594580] usb 3-1.3: Manufacturer: Logitech
[   11.838705] calling  pacpi_init+0x0/0x2e [pata_acpi] @ 1013
[   11.844708] initcall pacpi_init+0x0/0x2e [pata_acpi] returned 0 after 234 usecs
[   11.860655] calling  ata_generic_init+0x0/0x2e [ata_generic] @ 1014
[   11.867312] initcall ata_generic_init+0x0/0x2e [ata_generic] returned 0 after 250 usecs
[   11.880958] calling  wait_scan_init+0x0/0x1b [scsi_wait_scan] @ 1015
[   11.887450] initcall wait_scan_init+0x0/0x1b [scsi_wait_scan] returned 0 after 3 usecs
[   12.165672] kjournald starting.  Commit interval 5 seconds
[   12.165817] EXT3-fs (sda6): mounted filesystem with writeback data mode
[   12.580055] modprobe used greatest stack depth: 3736 bytes left
[   14.568086] udev: starting version 141
[   14.575720] udev: deprecated sysfs layout; update the kernel or disable CONFIG_SYSFS_DEPRECATED; some udev features will not work correctly
[   15.278075] calling  cdrom_init+0x0/0x1b [cdrom] @ 1165
[   15.314730] initcall cdrom_init+0x0/0x1b [cdrom] returned 0 after 30486 usecs
[   15.446795] calling  init_sr+0x0/0x72 [sr_mod] @ 1165
[   15.490013] sr0: scsi3-mmc drive: 48x/48x writer cd/rw xa/form2 cdda tray
[   15.496972] Uniform CD-ROM driver Revision: 3.20
[   15.540647] sr 0:0:0:0: Attached scsi CD-ROM sr0
[   15.556540] initcall init_sr+0x0/0x72 [sr_mod] returned 0 after 102078 usecs
[   18.662157] calling  hwmon_init+0x0/0x186 [hwmon] @ 1970
[   18.674145] initcall hwmon_init+0x0/0x186 [hwmon] returned 0 after 6297 usecs
[   18.719938] calling  thermal_init+0x0/0x88 [thermal_sys] @ 1974
[   18.767697] calling  acpi_button_init+0x0/0x7d [button] @ 1976
[   18.777688] initcall thermal_init+0x0/0x88 [thermal_sys] returned 0 after 50227 usecs
[   18.828847] input: Power Button as /class/input/input0
[   18.847887] calling  acpi_processor_init+0x0/0x159 [processor] @ 1975
[   18.861293] calling  agp_intel_init+0x0/0x45 [intel_agp] @ 1982
[   18.866160] ACPI: Power Button [VBTN]
[   18.866591] input: Power Button as /class/input/input1
[   18.866604] ACPI: Power Button [PWRF]
[   18.866707] initcall acpi_button_init+0x0/0x7d [button] returned 0 after 90794 usecs
[   18.878068] initcall acpi_processor_init+0x0/0x159 [processor] returned 0 after 22932 usecs
[   18.914588] calling  acpi_thermal_init+0x0/0xb7 [thermal] @ 1981
[   18.930773] initcall acpi_thermal_init+0x0/0xb7 [thermal] returned 0 after 9758 usecs
[   18.931852] agpgart-intel 0000:00:00.0: Intel 945G Chipset
[   19.017600] agpgart-intel 0000:00:00.0: detected 7932K stolen memory
[   19.046741] calling  parport_default_proc_register+0x0/0x29 [parport] @ 2059
[   19.111782] initcall parport_default_proc_register+0x0/0x29 [parport] returned 0 after 56472 usecs
[   19.121902] calling  rtc_init+0x0/0xa0 [rtc_core] @ 2057
[   19.147536] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xe0000000
[   19.162335] initcall rtc_init+0x0/0xa0 [rtc_core] returned 0 after 34038 usecs
[   19.179427] initcall agp_intel_init+0x0/0x45 [intel_agp] returned 0 after 276079 usecs
[   19.225665] calling  mod_init+0x0/0x383 [intel_rng] @ 2089
[   19.242496] intel_rng: Firmware space is locked read-only. If you can't or
[   19.242501] intel_rng: don't want to disable this in firmware setup, and if
[   19.242503] intel_rng: you are certain that your system has a functional
[   19.242505] intel_rng: RNG, try using the 'no_fwh_detect' option.
[   19.269653] initcall mod_init+0x0/0x383 [intel_rng] returned -16 after 37416 usecs
[   19.277523] initcall mod_init+0x0/0x383 [intel_rng] returned with error code -16 
[   19.354855] calling  init_sg+0x0/0x1a7 [sg] @ 2120
[   19.360870] sr 0:0:0:0: Attached scsi generic sg0 type 5
[   19.367529] sd 2:0:0:0: Attached scsi generic sg1 type 0
[   19.368561] calling  pcspkr_init+0x0/0x20 [pcspkr] @ 2109
[   19.368883] input: PC Speaker as /class/input/input2
[   19.369005] initcall pcspkr_init+0x0/0x20 [pcspkr] returned 0 after 424 usecs
[   19.391762] initcall init_sg+0x0/0x1a7 [sg] returned 0 after 31171 usecs
[   19.414809] calling  cmos_init+0x0/0xad [rtc_cmos] @ 2057
[   19.421783] rtc_cmos 00:05: RTC can wake from S4
[   19.427240] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
[   19.433638] rtc0: alarms up to one day, 242 bytes nvram, hpet irqs
[   19.440179] initcall cmos_init+0x0/0xad [rtc_cmos] returned 0 after 19333 usecs
[   19.525732] calling  snd_mem_init+0x0/0x3a [snd_page_alloc] @ 2082
[   19.526638] calling  iTCO_vendor_init_module+0x0/0x2a [iTCO_vendor_support] @ 2089
[   19.526643] iTCO_vendor_support: vendor-support=0
[   19.526649] initcall iTCO_vendor_init_module+0x0/0x2a [iTCO_vendor_support] returned 0 after 3 usecs
[   19.553864] initcall snd_mem_init+0x0/0x3a [snd_page_alloc] returned 0 after 30 usecs
[   19.568501] calling  parport_pc_init+0x0/0x7fa [parport_pc] @ 2059
[   19.576505] parport_pc 00:06: reported by Plug and Play ACPI
[   19.585583] calling  iTCO_wdt_init_module+0x0/0x9b [iTCO_wdt] @ 2089
[   19.587896] parport0: PC-style at 0x378 (0x778), irq 7, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]
[   19.600902] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
[   19.611201] iTCO_wdt: unable to reset NO_REBOOT flag, platform may have disabled it
[   19.612308] calling  init_soundcore+0x0/0xd9 [soundcore] @ 2082
[   19.612416] initcall init_soundcore+0x0/0xd9 [soundcore] returned 0 after 96 usecs
[   19.633950] initcall iTCO_wdt_init_module+0x0/0x9b [iTCO_wdt] returned 0 after 32261 usecs
[   19.676986] initcall parport_pc_init+0x0/0x7fa [parport_pc] returned 0 after 99653 usecs
[   19.720792] calling  evdev_init+0x0/0x20 [evdev] @ 2146
[   19.727693] initcall evdev_init+0x0/0x20 [evdev] returned 0 after 1464 usecs
[   19.757587] calling  ppdev_init+0x0/0x128 [ppdev] @ 2189
[   19.765856] ppdev: user-space parallel port driver
[   19.770823] initcall ppdev_init+0x0/0x128 [ppdev] returned 0 after 7537 usecs
[   19.781132] calling  i2c_i801_init+0x0/0x106 [i2c_i801] @ 2105
[   19.788001] i801_smbus 0000:00:1f.3: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[   19.798023] calling  serio_raw_init+0x0/0x2e [serio_raw] @ 2122
[   19.811379] initcall serio_raw_init+0x0/0x2e [serio_raw] returned 0 after 7097 usecs
[   19.817630] initcall i2c_i801_init+0x0/0x106 [i2c_i801] returned 0 after 29806 usecs
[   19.872553] calling  leds_init+0x0/0x60 [led_class] @ 2089
[   19.878457] initcall leds_init+0x0/0x60 [led_class] returned 0 after 229 usecs
[   19.945909] calling  nas_gpio_init+0x0/0x31f [leds_ss4200] @ 2089
[   19.952186] leds_ss4200: no LED devices found
[   19.956682] initcall nas_gpio_init+0x0/0x31f [leds_ss4200] returned -19 after 4387 usecs
[   19.963885] calling  alsa_sound_init+0x0/0xce [snd] @ 2082
[   19.964201] initcall alsa_sound_init+0x0/0xce [snd] returned 0 after 293 usecs
[   20.027960] calling  psmouse_init+0x0/0xc1 [psmouse] @ 2122
[   20.034216] initcall psmouse_init+0x0/0xc1 [psmouse] returned 0 after 524 usecs
[   20.087623] calling  hid_init+0x0/0x149 [usbhid] @ 2172
[   20.097063] calling  alsa_timer_init+0x0/0x21d [snd_timer] @ 2082
[   20.099942] usbcore: registered new interface driver hiddev
[   20.105740] input: Dell Dell USB Keyboard as /class/input/input3
[   20.107446] generic-usb 0003:413C:2010.0001: input,hidraw0: USB HID v1.10 Keyboard [Dell Dell USB Keyboard] on usb-0000:00:1d.1-1.1/input0
[   20.114295] input: Dell Dell USB Keyboard as /class/input/input4
[   20.115588] generic-usb 0003:413C:2010.0002: input,hidraw1: USB HID v1.10 Device [Dell Dell USB Keyboard] on usb-0000:00:1d.1-1.1/input1
[   20.130688] input: Logitech Optical USB Mouse as /class/input/input5
[   20.131507] generic-usb 0003:046D:C016.0003: input,hidraw2: USB HID v1.10 Mouse [Logitech Optical USB Mouse] on usb-0000:00:1d.1-1.3/input0
[   20.131706] usbcore: registered new interface driver usbhid
[   20.131709] usbhid: USB HID core driver
[   20.131725] initcall hid_init+0x0/0x149 [usbhid] returned 0 after 37747 usecs
[   20.228581] initcall alsa_timer_init+0x0/0x21d [snd_timer] returned 0 after 45315 usecs
[   20.261588] calling  joydev_init+0x0/0x20 [joydev] @ 2254
[   20.281118] initcall joydev_init+0x0/0x20 [joydev] returned 0 after 13618 usecs
[   20.353663] calling  alsa_pcm_init+0x0/0xa9 [snd_pcm] @ 2264
[   20.360215] initcall alsa_pcm_init+0x0/0xa9 [snd_pcm] returned 0 after 452 usecs
[   20.407266] calling  alsa_seq_device_init+0x0/0x87 [snd_seq_device] @ 2281
[   20.414464] initcall alsa_seq_device_init+0x0/0x87 [snd_seq_device] returned 0 after 150 usecs
[   20.500423] calling  alsa_seq_init+0x0/0xae [snd_seq] @ 2281
[   20.507927] initcall alsa_seq_init+0x0/0xae [snd_seq] returned 0 after 1653 usecs
[   20.539836] calling  ac97_bus_init+0x0/0x20 [ac97_bus] @ 2082
[   20.546115] initcall ac97_bus_init+0x0/0x20 [ac97_bus] returned 0 after 335 usecs
[   20.619964] calling  alsa_ac97_init+0x0/0xf [snd_ac97_codec] @ 2082
[   20.626382] initcall alsa_ac97_init+0x0/0xf [snd_ac97_codec] returned 0 after 0 usecs
[   20.665672] calling  alsa_card_intel8x0_init+0x0/0x2e [snd_intel8x0] @ 2082
[   20.673205] Intel ICH 0000:00:1e.2: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[   20.680698] Intel ICH 0000:00:1e.2: setting latency timer to 64
[   21.051672] intel8x0: white list rate for 1028:01ad is 48000
[   21.061378] initcall alsa_card_intel8x0_init+0x0/0x2e [snd_intel8x0] returned 0 after 379466 usecs
[   21.211715] calling  uinput_init+0x0/0x20 [uinput] @ 2301
[   21.217767] initcall uinput_init+0x0/0x20 [uinput] returned 0 after 470 usecs
[   21.305358] calling  wait_scan_init+0x0/0x1b [scsi_wait_scan] @ 2314
[   21.311887] initcall wait_scan_init+0x0/0x1b [scsi_wait_scan] returned 0 after 3 usecs
[   23.301999] EXT3-fs (sda6): using internal journal
[   23.550923] kjournald starting.  Commit interval 5 seconds
[   23.557056] EXT3-fs (sda1): using internal journal
[   23.562089] EXT3-fs (sda1): mounted filesystem with writeback data mode
[   23.602514] kjournald starting.  Commit interval 5 seconds
[   23.602895] EXT3-fs (sda3): using internal journal
[   23.602915] EXT3-fs (sda3): mounted filesystem with writeback data mode
[   23.652294] kjournald starting.  Commit interval 5 seconds
[   23.652631] EXT3-fs (sda5): using internal journal
[   23.652650] EXT3-fs (sda5): mounted filesystem with writeback data mode
[   24.655510] Adding 4194300k swap on /dev/sda2.  Priority:-1 extents:1 across:4194300k 
[   30.310080] calling  acpi_cpufreq_init+0x0/0x12c [acpi_cpufreq] @ 2466
[   30.317001] initcall acpi_cpufreq_init+0x0/0x12c [acpi_cpufreq] returned -19 after 221 usecs
[   30.390588] calling  cpufreq_p4_init+0x0/0x8f [p4_clockmod] @ 2477
[   30.397037] ondemand governor failed, too long transition latency of HW, fallback to performance governor
[   30.406978] ondemand governor failed, too long transition latency of HW, fallback to performance governor
[   30.416835] p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available
[   30.424105] initcall cpufreq_p4_init+0x0/0x8f [p4_clockmod] returned 0 after 26542 usecs
[   30.959122] calling  inet6_init+0x0/0x4ff [ipv6] @ 2507
[   30.968190] NET: Registered protocol family 10
[   31.002662] lo: Disabled Privacy Extensions
[   31.012216] initcall inet6_init+0x0/0x4ff [ipv6] returned 0 after 46533 usecs
[   35.229367] calling  rfkill_init+0x0/0x9b [rfkill] @ 2887
[   35.235702] initcall rfkill_init+0x0/0x9b [rfkill] returned 0 after 773 usecs
[   35.393349] calling  bt_init+0x0/0x9b [bluetooth] @ 2887
[   35.399046] Bluetooth: Core ver 2.15
[   35.401298] NET: Registered protocol family 31
[   35.401303] Bluetooth: HCI device and connection manager initialized
[   35.401459] Bluetooth: HCI socket layer initialized
[   35.401482] initcall bt_init+0x0/0x9b [bluetooth] returned 0 after 2362 usecs
[   35.498964] calling  l2cap_init+0x0/0x178 [l2cap] @ 2918
[   35.506107] Bluetooth: L2CAP ver 2.14
[   35.509920] Bluetooth: L2CAP socket layer initialized
[   35.515126] initcall l2cap_init+0x0/0x178 [l2cap] returned 0 after 10411 usecs
[   35.576081] calling  bnep_init+0x0/0xca [bnep] @ 2927
[   35.581320] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   35.586788] Bluetooth: BNEP filters: protocol multicast
[   35.592190] initcall bnep_init+0x0/0xca [bnep] returned 0 after 10612 usecs
[   35.635315] calling  llc_init+0x0/0x6d [llc] @ 2938
[   35.640447] initcall llc_init+0x0/0x6d [llc] returned 0 after 12 usecs
[   35.785465] calling  br_init+0x0/0x136 [bridge] @ 2938
[   35.792354] initcall br_init+0x0/0x136 [bridge] returned 0 after 911 usecs
[   35.853507] calling  sco_init+0x0/0x17f [sco] @ 2950
[   35.862661] Bluetooth: SCO (Voice Link) ver 0.6
[   35.867421] Bluetooth: SCO socket layer initialized
[   35.867437] initcall sco_init+0x0/0x17f [sco] returned 0 after 8602 usecs
[   36.631543] virbr0: starting userspace STP failed, starting kernel STP
[   38.924117] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   40.781914] tg3 0000:02:00.0: eth0: Link is up at 100 Mbps, full duplex
[   40.782129] tg3 0000:02:00.0: eth0: Flow control is on for TX and on for RX
[   40.782129] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   51.292022] eth0: no IPv6 routers present
[  623.813798] calling  ksphy_init+0x0/0x9f [micrel] @ 3637
[  623.821462] BUG: unable to handle kernel NULL pointer dereference at (null)
[  623.822164] IP: [<ffffffff8123c9f0>] strcmp+0x6/0x44
[  623.822164] PGD 7d4bd067 PUD 7d6bb067 PMD 0 
[  623.822164] Oops: 0000 [#1] SMP 
[  623.822164] last sysfs file: /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/local_cpus
[  623.822164] CPU 0 
[  623.822164] Modules linked in: micrel(+) sco bridge stp llc bnep l2cap crc16 bluetooth rfkill ipv6 p4_clockmod speedstep_lib uinput snd_intel8x0 snd_ac97_codec ac97_bus snd_seq snd_seq_device snd_pcm joydev snd_timer usbhid psmouse snd leds_ss4200 led_class serio_raw i2c_i801 ppdev evdev soundcore iTCO_wdt parport_pc iTCO_vendor_support snd_page_alloc rtc_cmos pcspkr sg rng_core rtc_core parport rtc_lib thermal intel_agp button thermal_sys hwmon sr_mod cdrom ata_generic pata_acpi ata_piix libata ide_pci_generic ide_core sd_mod scsi_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ssb mmc_core pcmcia pcmcia_core ehci_hcd usbcore nls_base [last unloaded: sungem_phy]
[  623.822164] 
[  623.822164] Pid: 3637, comm: modprobe Not tainted 2.6.34-rc7 #1 0HH807/OptiPlex GX620               
[  623.822164] RIP: 0010:[<ffffffff8123c9f0>]  [<ffffffff8123c9f0>] strcmp+0x6/0x44
[  623.822164] RSP: 0018:ffff88007d629e48  EFLAGS: 00010206
[  623.822164] RAX: ffff88007e9ad747 RBX: ffff88007e9ad710 RCX: ffffffff81237690
[  623.822164] RDX: ffff88000540edd0 RSI: 0000000000000000 RDI: ffff88007e99c9f8
[  623.822164] RBP: ffff88007d629e48 R08: ffffffff81237690 R09: ffff88007d629e56
[  623.822164] R10: 0000000000000000 R11: ffffffff81237690 R12: ffff88007e8898c0
[  623.822164] R13: ffff88007e8898d0 R14: ffff88007e8898c0 R15: 0000000000000000
[  623.822164] FS:  00007fd4f92566f0(0000) GS:ffff880005400000(0000) knlGS:0000000000000000
[  623.822164] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[  623.822164] CR2: 0000000000000000 CR3: 0000000075d99000 CR4: 00000000000006f0
[  623.822164] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  623.822164] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  623.822164] Process modprobe (pid: 3637, threadinfo ffff88007d628000, task ffff880075dec620)
[  623.822164] Stack:
[  623.822164]  ffff88007d629e98 ffffffff812376bf 0000000000000246 ffff880075dec620
[  623.822164] <0> ffff88007d629e78 ffffffffa05891a0 ffffffffa0589130 000000913ea4030f
[  623.822164] <0> 0000000000000000 0000000000000000 ffff88007d629ea8 ffffffff813244c2
[  623.822164] Call Trace:
[  623.822164]  [<ffffffff812376bf>] kset_find_obj+0x59/0xb9
[  623.822164]  [<ffffffff813244c2>] driver_find+0x26/0x46
[  623.822164]  [<ffffffff81324663>] driver_register+0xac/0x1b2
[  623.822164]  [<ffffffffa058c000>] ? ksphy_init+0x0/0x9f [micrel]
[  623.822164]  [<ffffffff81337d94>] phy_driver_register+0x45/0xcf
[  623.822164]  [<ffffffffa058c000>] ? ksphy_init+0x0/0x9f [micrel]
[  623.822164]  [<ffffffffa058c01b>] ksphy_init+0x1b/0x9f [micrel]
[  623.822164]  [<ffffffff81000266>] do_one_initcall+0x9c/0x218
[  623.822164]  [<ffffffff810a54aa>] sys_init_module+0x139/0x32b
[  623.822164]  [<ffffffff8100371b>] system_call_fastpath+0x16/0x1b
[  623.822164] Code: 75 0c c6 01 00 48 ff 05 97 33 5a 01 eb 15 40 8a 3e 48 ff c6 40 84 ff 40 88 39 75 d7 48 ff 05 90 33 5a 01 c9 c3 55 48 89 e5 8a 07 <8a> 16 48 ff c7 48 ff c6 38 d0 74 1c 73 05 83 c8 ff eb 0c 48 ff 
[  623.822164] RIP  [<ffffffff8123c9f0>] strcmp+0x6/0x44
[  623.822164]  RSP <ffff88007d629e48>
[  623.822164] CR2: 0000000000000000
[  624.236429] ---[ end trace 35f18f5636a2458a ]---

^ permalink raw reply

* Re: [PATCH] virtif: initial interface extensions
From: Arnd Bergmann @ 2010-05-10 21:46 UTC (permalink / raw)
  To: Scott Feldman; +Cc: Stefan Berger, netdev, Arnd Bergmann
In-Reply-To: <C80DA4F7.2FBCF%scofeldm@cisco.com>

On Monday 10 May 2010 20:56:39 Scott Feldman wrote:
> On 5/10/10 8:37 AM, "Stefan Berger" <stefanb@us.ibm.com> wrote:
> > In what case would the IFLA_VIRTIF_PORT_PROFILE be provided? Would libvirt for
> > example need to be aware of whether the Ethernet device can handle the setup
> > protocol via its firmware and in this case provide the port profile parameter
> > and in other cases provide other parameters? Certainly the user or upper layer
> > management software would have to know it when creating the domain XML and in
> > fact different types of parameters were needed.
> 
> > Obviously we should have one
> > common set of (XML) parameters that go into the netlink message and that can
> > be handled by the kernel driver if the firmware knows how to handle it or by
> > LLDPAD. 
> 
> With Arnd's latest additions, we have a single netlink msg, but the
> parameter sets are disjoint between VDP/CDCP and what we need for the kernel
> driver.  So that means the sender (libvirt in this case) needs to know about
> both setups to send a single netlink msg.  An alternative is a have two
> netlink msgs, one for each setup.  That still requires the sender to know
> about two setups.

There are two separate issues here. The first one is whether we're doing
the association in the device driver or in user space. The assumption here
is that if it's in the device driver, there will be a VF number to identify
the channel, while in user space that is not needed.

The other question is which protocol we're using. There are as far as I
can tell five options:

1. enic device driver
2. VDP
3. CDCP
4. CDCP + VDP
5. enic + VDP

The first two ones are the most interesting for now, since Linux cannot do
S-VLANs yet, and they are required for CDCP. However, each of these options
could theoreticall be done in the kernel (plus firmware) or in user space.

If it's done in user space, the VF number is meaningless, because the setup
of the software device is also done from software, but instead you need to
take care of creating the software device with the correct parameters, e.g.
a macvtap device connected to a VLAN interface using the numbers you pass
in the VDP protocol.

Right now, we're not planning to do the protocol that enic uses in LLDPAD,
because it's not publically released. Similarly, there are no adapters that
do VDP in firmware, but both these cases should be covered by the protocol
and it would be good if libvirt could handle them.

Stefan, can you just define the XML in a way that matches the netlink
definition? What you need is something like

1. VF number (optional, signifies that 2/3 are done in firmware)
2. Lower-level protocol
  2.1. CDCP
     2.1.1 SVID
     2.1.2 SCID
  2.2. enic
     2.2.1 port profile name
     2.2.2 ...
3. VDP
  3.1 VSI type/version/provider
  3.2 UUID
  3.3 MAC/VLAN

You need to have 2. or 3. or both, and 2.1/2.2 are mutually exclusive.

	Arnd

^ permalink raw reply

* [PATCH V4 3/4] net: Use ip_route_input_noref() in input path
From: Eric Dumazet @ 2010-05-10 21:33 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

Use ip_route_input_noref() in ip fast path, to avoid two atomic ops per
incoming packet.

Note: loopback is excluded from this optimization in ip_rcv_finish()

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
net/ipv4/arp.c         |    2 +-
net/ipv4/ip_input.c    |    4 ++--
net/ipv4/xfrm4_input.c |    4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index 6e74706..f4ae3d4 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -854,7 +854,7 @@ static int arp_process(struct sk_buff *skb)
 	}
 
 	if (arp->ar_op == htons(ARPOP_REQUEST) &&
-	    ip_route_input(skb, tip, sip, 0, dev) == 0) {
+	    ip_route_input_noref(skb, tip, sip, 0, dev) == 0) {
 
 		rt = skb_rtable(skb);
 		addr_type = rt->rt_type;
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c
index f8ab7a3..6d5b65a 100644
--- a/net/ipv4/ip_input.c
+++ b/net/ipv4/ip_input.c
@@ -331,8 +331,8 @@ static int ip_rcv_finish(struct sk_buff *skb)
 	 *	how the packet travels inside Linux networking.
 	 */
 	if (skb_dst(skb) == NULL) {
-		int err = ip_route_input(skb, iph->daddr, iph->saddr, iph->tos,
-					 skb->dev);
+		int err = ip_route_input_noref(skb, iph->daddr, iph->saddr,
+					       iph->tos, skb->dev);
 		if (unlikely(err)) {
 			if (err == -EHOSTUNREACH)
 				IP_INC_STATS_BH(dev_net(skb->dev),
diff --git a/net/ipv4/xfrm4_input.c b/net/ipv4/xfrm4_input.c
index c791bb6..e7972d8 100644
--- a/net/ipv4/xfrm4_input.c
+++ b/net/ipv4/xfrm4_input.c
@@ -27,8 +27,8 @@ static inline int xfrm4_rcv_encap_finish(struct sk_buff *skb)
 	if (skb_dst(skb) == NULL) {
 		const struct iphdr *iph = ip_hdr(skb);
 
-		if (ip_route_input(skb, iph->daddr, iph->saddr, iph->tos,
-				   skb->dev))
+		if (ip_route_input_noref(skb, iph->daddr, iph->saddr,
+					 iph->tos, skb->dev))
 			goto drop;
 	}
 	return dst_input(skb);





^ permalink raw reply related

* [PATCH V4 2/4] net: implements ip_route_input_noref()
From: Eric Dumazet @ 2010-05-10 21:32 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

ip_route_input() is the version returning a refcounted dst, while
ip_route_input_noref() returns a non refcounted one.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
include/net/route.h |   17 ++++++++++++++++-
net/ipv4/route.c    |   15 ++++++++++-----
2 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/include/net/route.h b/include/net/route.h
index 2c9fba7..af6cf4b 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -112,7 +112,22 @@ extern void		rt_cache_flush_batch(void);
 extern int		__ip_route_output_key(struct net *, struct rtable **, const struct flowi *flp);
 extern int		ip_route_output_key(struct net *, struct rtable **, struct flowi *flp);
 extern int		ip_route_output_flow(struct net *, struct rtable **rp, struct flowi *flp, struct sock *sk, int flags);
-extern int		ip_route_input(struct sk_buff*, __be32 dst, __be32 src, u8 tos, struct net_device *devin);
+
+extern int ip_route_input_common(struct sk_buff *skb, __be32 dst, __be32 src,
+				 u8 tos, struct net_device *devin, bool noref);
+
+static inline int ip_route_input(struct sk_buff *skb, __be32 dst, __be32 src,
+				 u8 tos, struct net_device *devin)
+{
+	return ip_route_input_common(skb, dst, src, tos, devin, false);
+}
+
+static inline int ip_route_input_noref(struct sk_buff *skb, __be32 dst, __be32 src,
+				       u8 tos, struct net_device *devin)
+{
+	return ip_route_input_common(skb, dst, src, tos, devin, true);
+}
+
 extern unsigned short	ip_rt_frag_needed(struct net *net, struct iphdr *iph, unsigned short new_mtu, struct net_device *dev);
 extern void		ip_rt_send_redirect(struct sk_buff *skb);
 
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 705eccf..560acc6 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -2277,8 +2277,8 @@ martian_source:
 	goto e_inval;
 }
 
-int ip_route_input(struct sk_buff *skb, __be32 daddr, __be32 saddr,
-		   u8 tos, struct net_device *dev)
+int ip_route_input_common(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+			   u8 tos, struct net_device *dev, bool noref)
 {
 	struct rtable * rth;
 	unsigned	hash;
@@ -2304,10 +2304,15 @@ int ip_route_input(struct sk_buff *skb, __be32 daddr, __be32 saddr,
 		    rth->fl.mark == skb->mark &&
 		    net_eq(dev_net(rth->u.dst.dev), net) &&
 		    !rt_is_expired(rth)) {
-			dst_use(&rth->u.dst, jiffies);
+			if (noref) {
+				dst_use_noref(&rth->u.dst, jiffies);
+				skb_dst_set_noref(skb, &rth->u.dst);
+			} else {
+				dst_use(&rth->u.dst, jiffies);
+				skb_dst_set(skb, &rth->u.dst);
+			}
 			RT_CACHE_STAT_INC(in_hit);
 			rcu_read_unlock();
-			skb_dst_set(skb, &rth->u.dst);
 			return 0;
 		}
 		RT_CACHE_STAT_INC(in_hlist_search);
@@ -2350,6 +2355,7 @@ skip_cache:
 	}
 	return ip_route_input_slow(skb, daddr, saddr, tos, dev);
 }
+EXPORT_SYMBOL(ip_route_input_common);
 
 static int __mkroute_output(struct rtable **result,
 			    struct fib_result *res,
@@ -3361,5 +3367,4 @@ void __init ip_static_sysctl_init(void)
 #endif
 
 EXPORT_SYMBOL(__ip_select_ident);
-EXPORT_SYMBOL(ip_route_input);
 EXPORT_SYMBOL(ip_route_output_key);





^ permalink raw reply related

* [PATCH V4 1/4] net: add a noref bit on skb dst
From: Eric Dumazet @ 2010-05-10 21:32 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

Use low order bit of skb->_skb_dst to tell dst is not refcounted.

Change _skb_dst to _skb_refdst to make sure all uses are catched.

skb_dst() returns the dst, regardless of noref bit set or not, but
with a lockdep check to make sure a noref dst is not given if current
user is not rcu protected.

New skb_dst_set_noref() helper to set an notrefcounted dst on a skb.
(with lockdep check)

skb_dst_drop() drops a reference only if skb dst was refcounted.

skb_dst_force() helper is used to force a refcount on dst, when skb
is queued and not anymore RCU protected.

Use skb_dst_force() in __sk_add_backlog(), __dev_xmit_skb() if 
!IFF_XMIT_DST_RELEASE or skb enqueued on qdisc queue, in
sock_queue_rcv_skb(), in __nf_queue().

Note: dst_use_noref() still dirties dst, we might transform it
later to do one dirtying per jiffies.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
include/linux/skbuff.h   |   58 ++++++++++++++++++++++++++++++++++---
include/net/dst.h        |   48 ++++++++++++++++++++++++++++--
include/net/sock.h       |   13 +++++---
net/core/dev.c           |    3 +
net/core/skbuff.c        |    2 -
net/core/sock.c          |    6 +++
net/ipv4/icmp.c          |    6 +--
net/ipv4/ip_options.c    |    9 +++--
net/ipv4/netfilter.c     |    6 +--
net/ipv4/route.c         |    2 -
net/netfilter/nf_queue.c |    2 +
net/sched/sch_generic.c  |    2 -
12 files changed, 132 insertions(+), 25 deletions(-) 
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index c9525bc..7cdfb4d 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -264,7 +264,7 @@ typedef unsigned char *sk_buff_data_t;
  *	@transport_header: Transport layer header
  *	@network_header: Network layer header
  *	@mac_header: Link layer header
- *	@_skb_dst: destination entry
+ *	@_skb_refdst: destination entry (with norefcount bit)
  *	@sp: the security path, used for xfrm
  *	@cb: Control buffer. Free for use by every layer. Put private vars here
  *	@len: Length of actual data
@@ -328,7 +328,7 @@ struct sk_buff {
 	 */
 	char			cb[48] __aligned(8);
 
-	unsigned long		_skb_dst;
+	unsigned long		_skb_refdst;
 #ifdef CONFIG_XFRM
 	struct	sec_path	*sp;
 #endif
@@ -419,14 +419,64 @@ struct sk_buff {
 
 #include <asm/system.h>
 
+/*
+ * skb might have a dst pointer attached, refcounted or not.
+ * _skb_refdst low order bit is set if refcount was _not_ taken
+ */
+#define SKB_DST_NOREF	1UL
+#define SKB_DST_PTRMASK	~(SKB_DST_NOREF)
+
+/**
+ * skb_dst - returns skb dst_entry
+ * @skb: buffer
+ *
+ * Returns skb dst_entry, regardless of reference taken or not.
+ */
 static inline struct dst_entry *skb_dst(const struct sk_buff *skb)
 {
-	return (struct dst_entry *)skb->_skb_dst;
+	/* If refdst was not refcounted, check we still are in a 
+	 * rcu_read_lock section
+	 */
+	WARN_ON((skb->_skb_refdst & SKB_DST_NOREF) &&
+		!rcu_read_lock_held() &&
+		!rcu_read_lock_bh_held());
+	return (struct dst_entry *)(skb->_skb_refdst & SKB_DST_PTRMASK);
 }
 
+/**
+ * skb_dst_set - sets skb dst
+ * @skb: buffer
+ * @dst: dst entry
+ *
+ * Sets skb dst, assuming a reference was taken on dst and should
+ * be released by skb_dst_drop()
+ */
 static inline void skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)
 {
-	skb->_skb_dst = (unsigned long)dst;
+	skb->_skb_refdst = (unsigned long)dst;
+}
+
+/**
+ * skb_dst_set_noref - sets skb dst, without a reference
+ * @skb: buffer
+ * @dst: dst entry
+ *
+ * Sets skb dst, assuming a reference was not taken on dst
+ * skb_dst_drop() should not dst_release() this dst
+ */
+static inline void skb_dst_set_noref(struct sk_buff *skb, struct dst_entry *dst)
+{
+	WARN_ON(!rcu_read_lock_held() && !rcu_read_lock_bh_held());
+	skb->_skb_refdst = (unsigned long)dst | SKB_DST_NOREF;
+}
+
+/**
+ * skb_dst_is_noref - Test if skb dst isnt refcounted
+ * @skb: buffer
+ */
+static inline bool skb_dst_is_noref(const struct sk_buff *skb)
+{
+	return (skb->_skb_refdst & SKB_DST_NOREF) && skb_dst(skb);
 }
 
 static inline struct rtable *skb_rtable(const struct sk_buff *skb)
diff --git a/include/net/dst.h b/include/net/dst.h
index aac5a5f..27207a1 100644
--- a/include/net/dst.h
+++ b/include/net/dst.h
@@ -168,6 +168,12 @@ static inline void dst_use(struct dst_entry *dst, unsigned long time)
 	dst->lastuse = time;
 }
 
+static inline void dst_use_noref(struct dst_entry *dst, unsigned long time)
+{
+	dst->__use++;
+	dst->lastuse = time;
+}
+
 static inline
 struct dst_entry * dst_clone(struct dst_entry * dst)
 {
@@ -177,11 +183,47 @@ struct dst_entry * dst_clone(struct dst_entry * dst)
 }
 
 extern void dst_release(struct dst_entry *dst);
+
+static inline void refdst_drop(unsigned long refdst)
+{
+	if (!(refdst & SKB_DST_NOREF))
+		dst_release((struct dst_entry *)(refdst & SKB_DST_PTRMASK));
+}
+
+/**
+ * skb_dst_drop - drops skb dst
+ * @skb: buffer
+ *
+ * Drops dst reference count if a reference was taken.
+ */
 static inline void skb_dst_drop(struct sk_buff *skb)
 {
-	if (skb->_skb_dst)
-		dst_release(skb_dst(skb));
-	skb->_skb_dst = 0UL;
+	if (skb->_skb_refdst) {
+		refdst_drop(skb->_skb_refdst);
+		skb->_skb_refdst = 0UL;
+	}
+}
+
+static inline void skb_dst_copy(struct sk_buff *nskb, const struct sk_buff *oskb)
+{
+	nskb->_skb_refdst = oskb->_skb_refdst;
+	if (!(nskb->_skb_refdst & SKB_DST_NOREF))
+		dst_clone(skb_dst(nskb));
+}
+
+/**
+ * skb_dst_force - makes sure skb dst is refcounted
+ * @skb: buffer
+ *
+ * If dst is not yet refcounted, let's do it
+ */
+static inline void skb_dst_force(struct sk_buff *skb)
+{
+	if (skb_dst_is_noref(skb)) {
+		WARN_ON(!rcu_read_lock_held());
+		skb->_skb_refdst &= ~SKB_DST_NOREF;
+		dst_clone(skb_dst(skb));
+	}
 }
 
 /* Children define the path of the packet through the
diff --git a/include/net/sock.h b/include/net/sock.h
index 328e03f..307affa 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -598,12 +598,15 @@ static inline int sk_stream_memory_free(struct sock *sk)
 /* OOB backlog add */
 static inline void __sk_add_backlog(struct sock *sk, struct sk_buff *skb)
 {
-	if (!sk->sk_backlog.tail) {
-		sk->sk_backlog.head = sk->sk_backlog.tail = skb;
-	} else {
+	/* dont let skb dst not refcounted, we are going to leave rcu lock */
+	skb_dst_force(skb);
+
+	if (!sk->sk_backlog.tail)
+		sk->sk_backlog.head = skb;
+	else
 		sk->sk_backlog.tail->next = skb;
-		sk->sk_backlog.tail = skb;
-	}
+
+	sk->sk_backlog.tail = skb;
 	skb->next = NULL;
 }
 
diff --git a/net/core/dev.c b/net/core/dev.c
index 32611c8..dfe6ba6 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2047,6 +2047,8 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q,
 		 * waiting to be sent out; and the qdisc is not running -
 		 * xmit the skb directly.
 		 */
+		if (!(dev->priv_flags & IFF_XMIT_DST_RELEASE))
+			skb_dst_force(skb);
 		__qdisc_update_bstats(q, skb->len);
 		if (sch_direct_xmit(skb, q, dev, txq, root_lock))
 			__qdisc_run(q);
@@ -2055,6 +2057,7 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q,
 
 		rc = NET_XMIT_SUCCESS;
 	} else {
+		skb_dst_force(skb);
 		rc = qdisc_enqueue_root(skb, q);
 		qdisc_run(q);
 	}
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index a9b0e1f..c543dd2 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -520,7 +520,7 @@ static void __copy_skb_header(struct sk_buff *new, const struct sk_buff *old)
 	new->transport_header	= old->transport_header;
 	new->network_header	= old->network_header;
 	new->mac_header		= old->mac_header;
-	skb_dst_set(new, dst_clone(skb_dst(old)));
+	skb_dst_copy(new, old);
 	new->rxhash		= old->rxhash;
 #ifdef CONFIG_XFRM
 	new->sp			= secpath_get(old->sp);
diff --git a/net/core/sock.c b/net/core/sock.c
index 94c4aff..d24b5c1 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -307,6 +307,11 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
 	 */
 	skb_len = skb->len;
 
+	/* we escape from rcu protected region, make sure we dont leak
+	 * a norefcounted dst
+	 */
+	skb_dst_force(skb);
+
 	spin_lock_irqsave(&list->lock, flags);
 	skb->dropcount = atomic_read(&sk->sk_drops);
 	__skb_queue_tail(list, skb);
@@ -1535,6 +1540,7 @@ static void __release_sock(struct sock *sk)
 		do {
 			struct sk_buff *next = skb->next;
 
+			WARN_ON_ONCE(skb_dst_is_noref(skb));
 			skb->next = NULL;
 			sk_backlog_rcv(sk, skb);
 
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
index f3d339f..d65e921 100644
--- a/net/ipv4/icmp.c
+++ b/net/ipv4/icmp.c
@@ -587,20 +587,20 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info)
 			err = __ip_route_output_key(net, &rt2, &fl);
 		else {
 			struct flowi fl2 = {};
-			struct dst_entry *odst;
+			unsigned long orefdst;
 
 			fl2.fl4_dst = fl.fl4_src;
 			if (ip_route_output_key(net, &rt2, &fl2))
 				goto relookup_failed;
 
 			/* Ugh! */
-			odst = skb_dst(skb_in);
+			orefdst = skb_in->_skb_refdst; /* save old refdst */
 			err = ip_route_input(skb_in, fl.fl4_dst, fl.fl4_src,
 					     RT_TOS(tos), rt2->u.dst.dev);
 
 			dst_release(&rt2->u.dst);
 			rt2 = skb_rtable(skb_in);
-			skb_dst_set(skb_in, odst);
+			skb_in->_skb_refdst = orefdst; /* restore old refdst */
 		}
 
 		if (err)
diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c
index 4c09a31..3244133 100644
--- a/net/ipv4/ip_options.c
+++ b/net/ipv4/ip_options.c
@@ -601,6 +601,7 @@ int ip_options_rcv_srr(struct sk_buff *skb)
 	unsigned char *optptr = skb_network_header(skb) + opt->srr;
 	struct rtable *rt = skb_rtable(skb);
 	struct rtable *rt2;
+	unsigned long orefdst;
 	int err;
 
 	if (!opt->srr)
@@ -624,16 +625,16 @@ int ip_options_rcv_srr(struct sk_buff *skb)
 		}
 		memcpy(&nexthop, &optptr[srrptr-1], 4);
 
-		rt = skb_rtable(skb);
+		orefdst = skb->_skb_refdst;
 		skb_dst_set(skb, NULL);
 		err = ip_route_input(skb, nexthop, iph->saddr, iph->tos, skb->dev);
 		rt2 = skb_rtable(skb);
 		if (err || (rt2->rt_type != RTN_UNICAST && rt2->rt_type != RTN_LOCAL)) {
-			ip_rt_put(rt2);
-			skb_dst_set(skb, &rt->u.dst);
+			skb_dst_drop(skb);
+			skb->_skb_refdst = orefdst;
 			return -EINVAL;
 		}
-		ip_rt_put(rt);
+		refdst_drop(orefdst);
 		if (rt2->rt_type != RTN_LOCAL)
 			break;
 		/* Superfast 8) loopback forward */
diff --git a/net/ipv4/netfilter.c b/net/ipv4/netfilter.c
index 82fb43c..07de855 100644
--- a/net/ipv4/netfilter.c
+++ b/net/ipv4/netfilter.c
@@ -17,7 +17,7 @@ int ip_route_me_harder(struct sk_buff *skb, unsigned addr_type)
 	const struct iphdr *iph = ip_hdr(skb);
 	struct rtable *rt;
 	struct flowi fl = {};
-	struct dst_entry *odst;
+	unsigned long orefdst;
 	unsigned int hh_len;
 	unsigned int type;
 
@@ -51,14 +51,14 @@ int ip_route_me_harder(struct sk_buff *skb, unsigned addr_type)
 		if (ip_route_output_key(net, &rt, &fl) != 0)
 			return -1;
 
-		odst = skb_dst(skb);
+		orefdst = skb->_skb_refdst;
 		if (ip_route_input(skb, iph->daddr, iph->saddr,
 				   RT_TOS(iph->tos), rt->u.dst.dev) != 0) {
 			dst_release(&rt->u.dst);
 			return -1;
 		}
 		dst_release(&rt->u.dst);
-		dst_release(odst);
+		refdst_drop(orefdst);
 	}
 
 	if (skb_dst(skb)->error)
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index dea3f92..705eccf 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -3033,7 +3033,7 @@ int ip_rt_dump(struct sk_buff *skb,  struct netlink_callback *cb)
 				continue;
 			if (rt_is_expired(rt))
 				continue;
-			skb_dst_set(skb, dst_clone(&rt->u.dst));
+			skb_dst_set_noref(skb, &rt->u.dst);
 			if (rt_fill_info(net, skb, NETLINK_CB(cb->skb).pid,
 					 cb->nlh->nlmsg_seq, RTM_NEWROUTE,
 					 1, NLM_F_MULTI) <= 0) {
diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c
index c49ef21..cb3cde4 100644
--- a/net/netfilter/nf_queue.c
+++ b/net/netfilter/nf_queue.c
@@ -9,6 +9,7 @@
 #include <linux/rcupdate.h>
 #include <net/protocol.h>
 #include <net/netfilter/nf_queue.h>
+#include <net/dst.h>
 
 #include "nf_internals.h"
 
@@ -170,6 +171,7 @@ static int __nf_queue(struct sk_buff *skb,
 			dev_hold(physoutdev);
 	}
 #endif
+	skb_dst_force(skb);
 	afinfo->saveroute(skb, entry);
 	status = qh->outfn(entry, queuenum);
 
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index a969b11..418bc2e 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -179,7 +179,7 @@ static inline int qdisc_restart(struct Qdisc *q)
 	skb = dequeue_skb(q);
 	if (unlikely(!skb))
 		return 0;
-
+	WARN_ON_ONCE(skb_dst_is_noref(skb));
 	root_lock = qdisc_lock(q);
 	dev = qdisc_dev(q);
 	txq = netdev_get_tx_queue(dev, skb_get_queue_mapping(skb));





^ permalink raw reply related

* [PATCH V4 4/4] net: No dst refcounting in ip_queue_xmit()
From: Eric Dumazet @ 2010-05-10 21:31 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

TCP outgoing packets can avoid two atomic ops, and dirtying
of previously higly contended cache line using new refdst
infrastructure.

Note 1: loopback device excluded because of !IFF_XMIT_DST_RELEASE
Note 2: UDP packets dsts are built before ip_queue_xmit().

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
net/ipv4/ip_output.c |    9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index f039219..012f1c9 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -318,10 +318,12 @@ int ip_queue_xmit(struct sk_buff *skb)
 	struct ip_options *opt = inet->opt;
 	struct rtable *rt;
 	struct iphdr *iph;
+	int res;
 
 	/* Skip all of this if the packet is already routed,
 	 * f.e. by something like SCTP.
 	 */
+	rcu_read_lock();
 	rt = skb_rtable(skb);
 	if (rt != NULL)
 		goto packet_routed;
@@ -359,7 +361,7 @@ int ip_queue_xmit(struct sk_buff *skb)
 		}
 		sk_setup_caps(sk, &rt->u.dst);
 	}
-	skb_dst_set(skb, dst_clone(&rt->u.dst));
+	skb_dst_set_noref(skb, &rt->u.dst);
 
 packet_routed:
 	if (opt && opt->is_strictroute && rt->rt_dst != rt->rt_gateway)
@@ -391,9 +393,12 @@ packet_routed:
 	skb->priority = sk->sk_priority;
 	skb->mark = sk->sk_mark;
 
-	return ip_local_out(skb);
+	res = ip_local_out(skb);
+	rcu_read_unlock();
+	return res;
 
 no_route:
+	rcu_read_unlock();
 	IP_INC_STATS(sock_net(sk), IPSTATS_MIB_OUTNOROUTES);
 	kfree_skb(skb);
 	return -EHOSTUNREACH;




^ permalink raw reply related

* [PATCH V4  0/4] net: relax dst refcnt for net-next-2.6
From: Eric Dumazet @ 2010-05-10 21:08 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

Here is V4 of a patch previously sent last year

One serious point of contention in network stack is the IP route cache
refcounts in input path, on SMP setups.

On stress situation, one cpu (say A) handles network softirq RX processing.
When a packet is received, we need to find a dst_entry, take
a reference on this dst_entry and associate skb to this dst_entry.
skb is queued on a socket receive queue.

When application (running from another CPU B) dequeues this packet,
it has to release the dst_entry, which refcount is hot and dirty on
another CPU A cache, involving an expensive cache line ping-pong.

Back in November 2008, we tried to keep this cache line only
in CPU A (commit 703556028792)
(net: release skb->dst in sock_queue_rcv_skb()), but we had
to revert this commit because it broke IP_PKTINFO handling,
as noticed by Mark McLoughlin

Then David suggested not taking the reference at the first place,
which this patch does when possible.

We prepared this work with commit adf30907 (net: skb->dst accessors),
introducing accessors to work on skb->dst

We now can use the low order bit of skb->_skb_dst to tell
if a reference was _not_ taken on dst for this skb

We make sure a dst leaving rcu protected region has a refcount.
This is done on enqueueing on any kind of queue (backlog, qdisc,
nf_queue, ...)

Net effect of this patch is avoiding two atomic ops per
incoming packet, and two atomic ops per outgoing TCP packet.

Same for outgoing path, if device has IFF_XMIT_DST_RELEASE,
or qdisc is work-conserving (or no queue)

V2: Forwarding is taken into account by changes in dev_queue_xmit(),
forcing a dst refcount on !IFF_XMIT_DST_RELEASE devices.

V3: As pointed by Patrick, we must force a dst refcount in
__nf_queue(), before queueing a packet.

V4: 
- output path (ip_queue_xmit()) handled as well.

- commit f84af32cbca70 (net: ip_queue_rcv_skb() helper) already in tree.

- Some interim checks make sure a dst does not escape unrefcounted
from a RCU section (thanks to lockdep)

- Better handling of queueing (backlog, qdisc)

Patch split into 4 parts :

1/4 : add a noref bit on skb dst (dstref infrastructure)

2/4 : ip_route_input_noref() introduction

3/4 : Use ip_route_input_noref() in three input paths

4/4 : norefcounting in ip_queue_xmit()


 include/linux/skbuff.h   |   58 ++++++++++++++++++++++++++++++++++---
 include/net/dst.h        |   48 ++++++++++++++++++++++++++++--
 include/net/route.h      |   17 ++++++++++
 include/net/sock.h       |   13 +++++---
 net/core/dev.c           |    3 +
 net/core/skbuff.c        |    2 -
 net/core/sock.c          |    6 +++
 net/ipv4/arp.c           |    2 -
 net/ipv4/icmp.c          |    6 +--
 net/ipv4/ip_input.c      |    4 +-
 net/ipv4/ip_options.c    |    9 +++--
 net/ipv4/ip_output.c     |    9 ++++-
 net/ipv4/netfilter.c     |    6 +--
 net/ipv4/route.c         |   17 +++++++---
 net/ipv4/xfrm4_input.c   |    4 +-
 net/netfilter/nf_queue.c |    2 +
 net/sched/sch_generic.c  |    2 -
 17 files changed, 170 insertions(+), 38 deletions(-)



^ permalink raw reply

* Re: [PATCH 72/84] netfilter: xtables: inclusion of xt_TEE
From: Eric Dumazet @ 2010-05-10 20:52 UTC (permalink / raw)
  To: kaber; +Cc: davem, netfilter-devel, netdev
In-Reply-To: <1273522735-24672-73-git-send-email-kaber@trash.net>

Le lundi 10 mai 2010 à 22:18 +0200, kaber@trash.net a écrit :
> From: Jan Engelhardt <jengelh@medozas.de>
> 
> xt_TEE can be used to clone and reroute a packet. This can for
> example be used to copy traffic at a router for logging purposes
> to another dedicated machine.
> 
> References: http://www.gossamer-threads.com/lists/iptables/devel/68781
> Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
> Signed-off-by: Patrick McHardy <kaber@trash.net>
> ---

> +static bool tee_tg_route_oif(struct flowi *f, struct net *net,
> +			     const struct xt_tee_tginfo *info)
> +{
> +	const struct net_device *dev;
> +
> +	if (*info->oif != '\0')
> +		return true;
> +	dev = dev_get_by_name(net, info->oif);
> +	if (dev == NULL)
> +		return false;
> +	f->oif = dev->ifindex;
> +	return true;
> +}
> +

This leaks a refcount on device.

But I see patch 76/84 replaces the whole thing, so this is probably
harmless.





^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox