All of lore.kernel.org
 help / color / mirror / Atom feed
* [net 2/5] bnx2x: Fix PFC setting on BCM57840
From: Yaniv Rosner @ 2012-01-17 12:33 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Yaniv Rosner, Eilon Greenstein
In-Reply-To: <1326803609-25526-1-git-send-email-yanivr@broadcom.com>

This patch handles the second port of a path in a 4-port device of BCM57840.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c |   22 ++++++++++++----------
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h  |    1 +
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
index 3b184c2..cc80637 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
@@ -2502,7 +2502,7 @@ static void bnx2x_update_pfc_nig(struct link_params *params,
 		struct bnx2x_nig_brb_pfc_port_params *nig_params)
 {
 	u32 xcm_mask = 0, ppp_enable = 0, pause_enable = 0, llfc_out_en = 0;
-	u32 llfc_enable = 0, xcm0_out_en = 0, p0_hwpfc_enable = 0;
+	u32 llfc_enable = 0, xcm_out_en = 0, hwpfc_enable = 0;
 	u32 pkt_priority_to_cos = 0;
 	struct bnx2x *bp = params->bp;
 	u8 port = params->port;
@@ -2516,9 +2516,8 @@ static void bnx2x_update_pfc_nig(struct link_params *params,
 	 * MAC control frames (that are not pause packets)
 	 * will be forwarded to the XCM.
 	 */
-	xcm_mask = REG_RD(bp,
-				port ? NIG_REG_LLH1_XCM_MASK :
-				NIG_REG_LLH0_XCM_MASK);
+	xcm_mask = REG_RD(bp, port ? NIG_REG_LLH1_XCM_MASK :
+			  NIG_REG_LLH0_XCM_MASK);
 	/*
 	 * nig params will override non PFC params, since it's possible to
 	 * do transition from PFC to SAFC
@@ -2533,8 +2532,8 @@ static void bnx2x_update_pfc_nig(struct link_params *params,
 		ppp_enable = 1;
 		xcm_mask &= ~(port ? NIG_LLH1_XCM_MASK_REG_LLH1_XCM_MASK_BCN :
 				     NIG_LLH0_XCM_MASK_REG_LLH0_XCM_MASK_BCN);
-		xcm0_out_en = 0;
-		p0_hwpfc_enable = 1;
+		xcm_out_en = 0;
+		hwpfc_enable = 1;
 	} else  {
 		if (nig_params) {
 			llfc_out_en = nig_params->llfc_out_en;
@@ -2545,7 +2544,7 @@ static void bnx2x_update_pfc_nig(struct link_params *params,
 
 		xcm_mask |= (port ? NIG_LLH1_XCM_MASK_REG_LLH1_XCM_MASK_BCN :
 			NIG_LLH0_XCM_MASK_REG_LLH0_XCM_MASK_BCN);
-		xcm0_out_en = 1;
+		xcm_out_en = 1;
 	}
 
 	if (CHIP_IS_E3(bp))
@@ -2564,13 +2563,16 @@ static void bnx2x_update_pfc_nig(struct link_params *params,
 	REG_WR(bp, port ? NIG_REG_LLH1_XCM_MASK :
 	       NIG_REG_LLH0_XCM_MASK, xcm_mask);
 
-	REG_WR(bp,  NIG_REG_LLFC_EGRESS_SRC_ENABLE_0, 0x7);
+	REG_WR(bp, port ? NIG_REG_LLFC_EGRESS_SRC_ENABLE_1 :
+	       NIG_REG_LLFC_EGRESS_SRC_ENABLE_0, 0x7);
 
 	/* output enable for RX_XCM # IF */
-	REG_WR(bp, NIG_REG_XCM0_OUT_EN, xcm0_out_en);
+	REG_WR(bp, port ? NIG_REG_XCM1_OUT_EN :
+	       NIG_REG_XCM0_OUT_EN, xcm_out_en);
 
 	/* HW PFC TX enable */
-	REG_WR(bp, NIG_REG_P0_HWPFC_ENABLE, p0_hwpfc_enable);
+	REG_WR(bp, port ? NIG_REG_P1_HWPFC_ENABLE :
+	       NIG_REG_P0_HWPFC_ENABLE, hwpfc_enable);
 
 	if (nig_params) {
 		u8 i = 0;
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
index 44609de..dddbcf6 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
@@ -2176,6 +2176,7 @@
  * set to 0x345678021. This is a new register (with 2_) added in E3 B0 to
  * accommodate the 9 input clients to ETS arbiter. */
 #define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_MSB			 0x18684
+#define NIG_REG_P1_HWPFC_ENABLE					 0x181d0
 #define NIG_REG_P1_MAC_IN_EN					 0x185c0
 /* [RW 1] Output enable for TX MAC interface */
 #define NIG_REG_P1_MAC_OUT_EN					 0x185c4
-- 
1.7.7.1

^ permalink raw reply related

* [net 4/5] bnx2x: Remove AutoGrEEEn for BCM84833
From: Yaniv Rosner @ 2012-01-17 12:33 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Yaniv Rosner, Eilon Greenstein
In-Reply-To: <1326803609-25526-1-git-send-email-yanivr@broadcom.com>

Disable the autoGrEEEn feature for BCM84833.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
index 1d1a809..a6c48d6 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
@@ -9814,12 +9814,8 @@ static int bnx2x_848x3_config_init(struct bnx2x_phy *phy,
 	if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84833) {
 		bnx2x_84833_pair_swap_cfg(phy, params, vars);
 
-		/* AutogrEEEn */
-		if (params->feature_config_flags &
-			FEATURE_CONFIG_AUTOGREEEN_ENABLED)
-			cmd_args[0] = 0x2;
-		else
-			cmd_args[0] = 0x0;
+		/* Keep AutogrEEEn disabled. */
+		cmd_args[0] = 0x0;
 		cmd_args[1] = 0x0;
 		cmd_args[2] = PHY84833_CONSTANT_LATENCY + 1;
 		cmd_args[3] = PHY84833_CONSTANT_LATENCY;
-- 
1.7.7.1

^ permalink raw reply related

* [net 5/5] bnx2x: Disable AN KR work-around for BCM57810
From: Yaniv Rosner @ 2012-01-17 12:33 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Yaniv Rosner, Eilon Greenstein
In-Reply-To: <1326803609-25526-1-git-send-email-yanivr@broadcom.com>

Disable the work-around for the autoneg KR of the BCM57810 in case the Warpcore version is 0xD108 and above, which fixes this problem.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
index a6c48d6..2091e5d 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
@@ -3763,7 +3763,15 @@ static void bnx2x_warpcore_enable_AN_KR(struct bnx2x_phy *phy,
 	/* Advertise pause */
 	bnx2x_ext_phy_set_pause(params, phy, vars);
 
-	vars->rx_tx_asic_rst = MAX_KR_LINK_RETRY;
+	/*
+	 * Set KR Autoneg Work-Around flag for Warpcore version older than D108
+	 */
+	bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
+			MDIO_WC_REG_UC_INFO_B1_VERSION, &val16);
+	if (val16 < 0xd108) {
+		DP(NETIF_MSG_LINK, "Enable AN KR work-around\n");
+		vars->rx_tx_asic_rst = MAX_KR_LINK_RETRY;
+	}
 
 	bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
 			MDIO_WC_REG_DIGITAL5_MISC7, &val16);
-- 
1.7.7.1

^ permalink raw reply related

* [net 3/5] bnx2x: Remove 100Mb force speed for BCM84833
From: Yaniv Rosner @ 2012-01-17 12:33 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Yaniv Rosner, Eilon Greenstein
In-Reply-To: <1326803609-25526-1-git-send-email-yanivr@broadcom.com>

Remove unsupported speed of 100Mb force for BCM84833 due to hardware limitation.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
---
 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c    |    7 ++++++-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c   |   20 +++++++++++++++-----
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
index a688b9d..f99c6e3 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
@@ -365,13 +365,18 @@ static int bnx2x_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
 	DP(NETIF_MSG_LINK, "cfg_idx = %x\n", cfg_idx);
 
 	if (cmd->autoneg == AUTONEG_ENABLE) {
+		u32 an_supported_speed = bp->port.supported[cfg_idx];
+		if (bp->link_params.phy[EXT_PHY1].type ==
+		    PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84833)
+			an_supported_speed |= (SUPPORTED_100baseT_Half |
+					       SUPPORTED_100baseT_Full);
 		if (!(bp->port.supported[cfg_idx] & SUPPORTED_Autoneg)) {
 			DP(NETIF_MSG_LINK, "Autoneg not supported\n");
 			return -EINVAL;
 		}
 
 		/* advertise the requested speed and duplex if supported */
-		if (cmd->advertising & ~(bp->port.supported[cfg_idx])) {
+		if (cmd->advertising & ~an_supported_speed) {
 			DP(NETIF_MSG_LINK, "Advertisement parameters "
 					   "are not supported\n");
 			return -EINVAL;
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
index cc80637..1d1a809 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
@@ -9454,13 +9454,10 @@ static int bnx2x_848xx_cmn_config_init(struct bnx2x_phy *phy,
 			 an_1000_val);
 
 	/* set 100 speed advertisement */
-	if (((phy->req_line_speed == SPEED_AUTO_NEG) &&
+	if ((phy->req_line_speed == SPEED_AUTO_NEG) &&
 	     (phy->speed_cap_mask &
 	      (PORT_HW_CFG_SPEED_CAPABILITY_D0_100M_FULL |
-	       PORT_HW_CFG_SPEED_CAPABILITY_D0_100M_HALF)) &&
-	     (phy->supported &
-	      (SUPPORTED_100baseT_Half |
-	       SUPPORTED_100baseT_Full)))) {
+	       PORT_HW_CFG_SPEED_CAPABILITY_D0_100M_HALF))) {
 		an_10_100_val |= (1<<7);
 		/* Enable autoneg and restart autoneg for legacy speeds */
 		autoneg_val |= (1<<9 | 1<<12);
@@ -11528,6 +11525,19 @@ static int bnx2x_populate_ext_phy(struct bnx2x *bp,
 	}
 	phy->mdio_ctrl = bnx2x_get_emac_base(bp, mdc_mdio_access, port);
 
+	if ((phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84833) &&
+	    (phy->ver_addr)) {
+		/*
+		 * Remove 100Mb link supported for BCM84833 when phy fw
+		 * version lower than or equal to 1.39
+		 */
+		u32 raw_ver = REG_RD(bp, phy->ver_addr);
+		if (((raw_ver & 0x7F) <= 39) &&
+		    (((raw_ver & 0xF80) >> 7) <= 1))
+			phy->supported &= ~(SUPPORTED_100baseT_Half |
+					    SUPPORTED_100baseT_Full);
+	}
+
 	/*
 	 * In case mdc/mdio_access of the external phy is different than the
 	 * mdc/mdio access of the XGXS, a HW lock must be taken in each access
-- 
1.7.7.1

^ permalink raw reply related

* [PATCH] at_hdmac: bugfix for enabling channel irq
From: Nikolaus Voss @ 2012-01-17  9:28 UTC (permalink / raw)
  To: Vinod Koul, Dan Williams, Nicolas Ferre; +Cc: linux-kernel

commit 463894705e4089d0ff69e7d877312d496ac70e5b deleted redundant
chan_id and chancnt initialization in dma drivers as this is done
in dma_async_device_register().

However, atc_enable_irq() relied on chan_id set before registering
the device, what left only channel 0 functional for this driver.

This patch introduces atc_enable/disable_chan_irq() as a variant
of atc_enable/disable_irq() with the channel as explicit argument.

Signed-off-by: Nikolaus Voss <n.voss@weinmann.de>
---
 drivers/dma/at_hdmac.c      |    4 ++--
 drivers/dma/at_hdmac_regs.h |   17 ++++++++---------
 2 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
index fcfa0a8..a60adbf 100644
--- a/drivers/dma/at_hdmac.c
+++ b/drivers/dma/at_hdmac.c
@@ -1286,7 +1286,7 @@ static int __init at_dma_probe(struct platform_device *pdev)
 
 		tasklet_init(&atchan->tasklet, atc_tasklet,
 				(unsigned long)atchan);
-		atc_enable_irq(atchan);
+		atc_enable_chan_irq(atdma, i);
 	}
 
 	/* set base routines */
@@ -1353,7 +1353,7 @@ static int __exit at_dma_remove(struct platform_device *pdev)
 		struct at_dma_chan	*atchan = to_at_dma_chan(chan);
 
 		/* Disable interrupts */
-		atc_disable_irq(atchan);
+		atc_disable_chan_irq(atdma, chan->chan_id);
 		tasklet_disable(&atchan->tasklet);
 
 		tasklet_kill(&atchan->tasklet);
diff --git a/drivers/dma/at_hdmac_regs.h b/drivers/dma/at_hdmac_regs.h
index aa4c9ae..5aa82b4 100644
--- a/drivers/dma/at_hdmac_regs.h
+++ b/drivers/dma/at_hdmac_regs.h
@@ -326,28 +326,27 @@ static void atc_dump_lli(struct at_dma_chan *atchan, struct at_lli *lli)
 }
 
 
-static void atc_setup_irq(struct at_dma_chan *atchan, int on)
+static void atc_setup_irq(struct at_dma *atdma, int chan_id, int on)
 {
-	struct at_dma	*atdma = to_at_dma(atchan->chan_common.device);
-	u32		ebci;
+	u32 ebci;
 
 	/* enable interrupts on buffer transfer completion & error */
-	ebci =    AT_DMA_BTC(atchan->chan_common.chan_id)
-		| AT_DMA_ERR(atchan->chan_common.chan_id);
+	ebci =    AT_DMA_BTC(chan_id)
+		| AT_DMA_ERR(chan_id);
 	if (on)
 		dma_writel(atdma, EBCIER, ebci);
 	else
 		dma_writel(atdma, EBCIDR, ebci);
 }
 
-static inline void atc_enable_irq(struct at_dma_chan *atchan)
+static void atc_enable_chan_irq(struct at_dma *atdma, int chan_id)
 {
-	atc_setup_irq(atchan, 1);
+	atc_setup_irq(atdma, chan_id, 1);
 }
 
-static inline void atc_disable_irq(struct at_dma_chan *atchan)
+static void atc_disable_chan_irq(struct at_dma *atdma, int chan_id)
 {
-	atc_setup_irq(atchan, 0);
+	atc_setup_irq(atdma, chan_id, 0);
 }
 
 
-- 
1.7.5.4


^ permalink raw reply related

* [PATCH] amba-pl011: clear previous interrupts before request_irq
From: Shreshtha Kumar SAHU @ 2012-01-17 10:34 UTC (permalink / raw)
  To: gregkh, linux-serial, rmk+kernel; +Cc: linux-kernel, Shreshtha Kumar Sahu

From: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>

All previous interrupts should be cleared before installing
interrupt handler i.e. before request_irq. pl011_shutdown
clears the interrupt register but there may be case where
bootloader transfers control to kernel and there are some
pending interrupts. In this case interrupt handler will get
called even before interrupt mask is enabled.

Change-Id: Ie58ca0a36dec76ac38babc057ce1d66b3129d8f9
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/tty/serial/amba-pl011.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
index 6958594..6dafaa2 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1381,6 +1381,15 @@ static int pl011_startup(struct uart_port *port)
 	uap->port.uartclk = clk_get_rate(uap->clk);
 
 	/*
+	 * Clear previous interrupts before installing interrupt handler
+	 */
+	spin_lock_irq(&uap->port.lock);
+	uap->im = 0;
+	writew(uap->im, uap->port.membase + UART011_IMSC);
+	writew(0xffff, uap->port.membase + UART011_ICR);
+	spin_unlock_irq(&uap->port.lock);
+
+	/*
 	 * Allocate the IRQ
 	 */
 	retval = request_irq(uap->port.irq, pl011_int, 0, "uart-pl011", uap);
-- 
1.7.4.3


^ permalink raw reply related

* [PATCH] amba-pl011: clear previous interrupts before request_irq
From: Shreshtha Kumar SAHU @ 2012-01-17 10:34 UTC (permalink / raw)
  To: gregkh, linux-serial, rmk+kernel; +Cc: linux-kernel, Shreshtha Kumar Sahu

From: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com>

All previous interrupts should be cleared before installing
interrupt handler i.e. before request_irq. pl011_shutdown
clears the interrupt register but there may be case where
bootloader transfers control to kernel and there are some
pending interrupts. In this case interrupt handler will get
called even before interrupt mask is enabled.

Change-Id: Ie58ca0a36dec76ac38babc057ce1d66b3129d8f9
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/tty/serial/amba-pl011.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
index 6958594..6dafaa2 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1381,6 +1381,15 @@ static int pl011_startup(struct uart_port *port)
 	uap->port.uartclk = clk_get_rate(uap->clk);
 
 	/*
+	 * Clear previous interrupts before installing interrupt handler
+	 */
+	spin_lock_irq(&uap->port.lock);
+	uap->im = 0;
+	writew(uap->im, uap->port.membase + UART011_IMSC);
+	writew(0xffff, uap->port.membase + UART011_ICR);
+	spin_unlock_irq(&uap->port.lock);
+
+	/*
 	 * Allocate the IRQ
 	 */
 	retval = request_irq(uap->port.irq, pl011_int, 0, "uart-pl011", uap);
-- 
1.7.4.3


^ permalink raw reply related

* Re: [PATCH 4/5] filetype: add command support
From: Sascha Hauer @ 2012-01-17 10:35 UTC (permalink / raw)
  To: Jean-Christophe PLAGNIOL-VILLARD; +Cc: barebox
In-Reply-To: <1326621621-11484-4-git-send-email-plagnioj@jcrosoft.com>

On Sun, Jan 15, 2012 at 11:00:20AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> this will allow to detect the filetype of a file and export it as filetype
> 
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> ---
>  commands/Kconfig    |    5 +++++
>  commands/Makefile   |    1 +
>  commands/filetype.c |   39 +++++++++++++++++++++++++++++++++++++++
>  3 files changed, 45 insertions(+), 0 deletions(-)
>  create mode 100644 commands/filetype.c
> 
> diff --git a/commands/Kconfig b/commands/Kconfig
> index 766428c..c613e22 100644
> --- a/commands/Kconfig
> +++ b/commands/Kconfig
> @@ -181,6 +181,11 @@ config CMD_NANDTEST
>  	select PARTITION_NEED_MTD
>  	prompt "nandtest"
>  
> +config CMD_FILETYPE
> +	tristate
> +	depends on FILETYPE
> +	prompt "filetype"
> +
>  endmenu
>  
>  menu "console                       "
> diff --git a/commands/Makefile b/commands/Makefile
> index 31442b5..a91eed2 100644
> --- a/commands/Makefile
> +++ b/commands/Makefile
> @@ -64,3 +64,4 @@ obj-$(CONFIG_CMD_OFTREE)	+= oftree.o
>  obj-$(CONFIG_CMD_MAGICVAR)	+= magicvar.o
>  obj-$(CONFIG_CMD_IOMEM)		+= iomem.o
>  obj-$(CONFIG_CMD_LINUX_EXEC)	+= linux_exec.o
> +obj-$(CONFIG_CMD_FILETYPE)	+= filetype.o
> diff --git a/commands/filetype.c b/commands/filetype.c
> new file mode 100644
> index 0000000..7c5e907
> --- /dev/null
> +++ b/commands/filetype.c
> @@ -0,0 +1,39 @@
> +/*
> + * (C) Copyright 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> + *
> + * Under GPLv2 Only
> + */
> +
> +#include <common.h>
> +#include <command.h>
> +#include <fs.h>
> +#include <filetype.h>
> +#include <environment.h>
> +
> +static int do_filetype(struct command *cmdtp, int argc, char *argv[])
> +{
> +	enum filetype type;
> +
> +	if (argc < 2)
> +		return COMMAND_ERROR_USAGE;
> +
> +	type = file_name_detect_type(argv[1]);
> +
> +	printf("%s: %s detected\n", argv[1], file_type_to_string(type));

As this is likely to be used in scripts it's probably useful to be able
to suppress this output.

> +
> +	export_env_ull("filetype" , type);

magicvar description?

Also, with exporting the filetype as integer we export the numbers
currently only known in sourcecode. We should add a switch to this
command to dump the number <-> string relationship.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply

* Re: [0/5] bcma/brcmsmac suspend/resume cleanups and fixes
From: Arend van Spriel @ 2012-01-17 10:37 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Rafał Miłecki, Larry Finger, Alwin Beukers,
	Roland Vossen, John W. Linville, Network Development,
	Franky (Zhenhui) Lin
In-Reply-To: <CA+55aFyMY5o7irG+=c4ZrfftMu6OJvoyFFY4KNO8rCe90P0mhw@mail.gmail.com>

On 01/17/2012 02:12 AM, Linus Torvalds wrote:
> 2012/1/16 Arend van Spriel <arend@broadcom.com>:
>>
>> I build a new kernel with MCE enabled. Same issue. I did not load bcma
>> or brcmsmac yet. Attached is trace I could pull from the kernel log
>> (str-test-*).
> 
> Oh well. Everything looks fine in the test traces - the warnings are
> annoying and nasty, but a known issue and not dangerous (and I have a
> patch in my tree to fix them now).
> 
> So if the real suspend fails, it's some other subsystem that has
> gotten broken. I don't think I have any other reports like that yet,
> and there is not a lot to go on. If you could try to bisect it (I
> assume plain Linux-3.2 works fine?) that woudl be wonderful, otherwise
> I think we're stuck waiting for somebody else to hit it and figure it
> out.
> 
>                  Linus
> 

I am going to give the bisect a try. Hopefully (not likely) it will take
not too many steps.

Gr. AvS

^ permalink raw reply

* Re: [patch 1/3] intel_idle: fix API misuse
From: Thomas Renninger @ 2012-01-17 10:37 UTC (permalink / raw)
  To: akpm; +Cc: lenb, len.brown, linux-acpi, shaohua.li
In-Reply-To: <20120110234819.7F484100270@wpzn3.hot.corp.google.com>

On Wednesday, January 11, 2012 12:48:19 AM akpm@linux-foundation.org wrote:
> From: Shaohua Li <shaohua.li@intel.com>
> Subject: intel_idle: fix API misuse

This one looks worth adding:
CC: stable@vger.kernel.org

 
> smp_call_function() only lets all other CPUs execute a specific function,
> while we expect all CPUs do in intel_idle.  Without the fix, we could have
> one cpu which has auto_demotion enabled or has no boradcast timer setup. 
> Usually we don't see impact because auto demotion just harms power and the
> intel_idle init is called in CPU 0, where boradcast timer delivers
> interrupt, but this still could be a problem.
> 
> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
> Cc: Len Brown <lenb@kernel.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
CC: stable@vger.kernel.org

   Thomas

^ permalink raw reply

* Re: Driver domains and hotplug scripts, redux
From: Ian Campbell @ 2012-01-17 10:39 UTC (permalink / raw)
  To: Roger Pau Monné
  Cc: xen-devel@lists.xensource.com, Ian Jackson, Stefano Stabellini
In-Reply-To: <CAPLaKK5Cp+RtoxBs+hoXt=E_qDFuHr8EcwfUJ8RdhvmH5Jo9tA@mail.gmail.com>

On Tue, 2012-01-17 at 10:00 +0000, Roger Pau Monné wrote:
> 2012/1/17 Ian Campbell <Ian.Campbell@citrix.com>:
> > On Tue, 2012-01-17 at 09:40 +0000, Roger Pau Monné wrote:
> >> 2012/1/17 Ian Campbell <Ian.Campbell@citrix.com>:
> >> > However xend should not be transition to this new scheme but should
> >> > continue to use its existing scripts in the current manner.
> >> >
> >> > There was a conversation last year[0] about how a toolstack could
> >> > opt-in/out of the use of the hotplug scripts. We decided that toolstacks
> >> > should have to opt into the use of these scripts, by touching a stamp
> >> > file.
> >> >
> >> > Although this wasn't implemented yet (unless I missed it) I guess the
> >> > same scheme would apply to this work if that sort of thing turns out to
> >> > be necessary.
> >>
> >> Sorry for replying so many times, this is a big maybe, and possibly
> >> it's too drastic, but after this changes xl and xend will not be
> >> compatible anymore, so why don't we disable xend by default, and only
> >> build xl?
> >
> > I don't think they are compatible now, are they? I've certainly seen odd
> > behaviour when using xl with xend (accidentally) running, usually xend
> > reaps the domain I've just started...
> >
> > I'm all for disabling the build of xend by default but I had assumed
> > that others would think 4.2 was rather an aggressive timeline for that.
> >
> >> When the new configure script is in, it will be trivial to select if
> >> you want xl or xend, and only install one of those. Adding the option
> >> --enable-xend should disable xl and only build and install xend
> >> (printing a very big warning that xend is deprecated).
> >
> > I don't think --enable-xend should ever disable xl (or vice versa). Many
> > folks (e.g. distros) will want to build both, perhaps to package them in
> > two different binary packages, but certainly to offer their users the
> > choice, at least for the time being.
> 
> My main concern with this is that xend and xl will start to use
> different udev rules (well, xend will continue to use the existing
> ones, while xl will only use a subset of those). So we have to decide
> which udev rules file to install, because we can't have both installed
> at the same time.

Sure we can. Perhaps they need to have an "if $TOOLSTACK" check (e.g. if
[ -f /var/run/xend.hotplug ]) added to the top, that is all.

> Another option is to install xl udev rules by default, and make xend
> move it's own rules in the init script.

I don't think initscripts should be messing with udev rules.

Perhaps the opt-in needs to be more fine grained e.g. opt-in to vif but
not block scripts or whatever distinction you think is necessary instead
of jut a global opt in, it's just a different naming convention for the
stamp file. This avoids reconfiguration and the need to install subsets
of the scripts etc.

>  Since xl doesn't use a daemon,
> xl should always check if xend is running before doing anything and
> fail if xend is found.

I think that is a separate question/issue to the one of hotplug scripts.

Ian.

> 
> >>
> >> > Ian.
> >> >
> >> > [0] http://lists.xen.org/archives/html/xen-devel/2011-06/msg00952.html
> >> >
> >
> >



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply

* [RFC] ns16550: support for UART with broken FIFO
From: Antony Pavlov @ 2012-01-17 10:39 UTC (permalink / raw)
  To: barebox

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
---
 drivers/serial/serial_ns16550.c |   19 +++++++++++++++++--
 include/ns16550.h               |    2 ++
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index 1217a5f..01de964 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -139,6 +139,8 @@ static unsigned int ns16550_calc_divisor(struct console_device *cdev,
 static void ns16550_serial_init_port(struct console_device *cdev)
 {
 	unsigned int baud_divisor;
+	struct NS16550_plat *plat = (struct NS16550_plat *)
+	    cdev->dev->platform_data;
 
 	/* Setup the serial port with the defaults first */
 	baud_divisor = ns16550_calc_divisor(cdev, CONFIG_BAUDRATE);
@@ -153,7 +155,13 @@ static void ns16550_serial_init_port(struct console_device *cdev)
 	ns16550_write(cdev, (baud_divisor >> 8) & 0xff, dlm);
 	ns16550_write(cdev, LCRVAL, lcr);
 	ns16550_write(cdev, MCRVAL, mcr);
-	ns16550_write(cdev, FCRVAL, fcr);
+
+	if (plat->flags & NS16650_FLAG_DISABLE_FIFO) {
+		ns16550_write(cdev, FCRVAL & ~FCR_FIFO_EN, fcr);
+	} else {
+		ns16550_write(cdev, FCRVAL, fcr);
+	}
+
 #ifdef CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS
 	ns16550_write(cdev, 0x00,  mdr1);
 #endif
@@ -211,6 +219,8 @@ static int ns16550_tstc(struct console_device *cdev)
 static int ns16550_setbaudrate(struct console_device *cdev, int baud_rate)
 {
 	unsigned int baud_divisor = ns16550_calc_divisor(cdev, baud_rate);
+	struct NS16550_plat *plat = (struct NS16550_plat *)
+	    cdev->dev->platform_data;
 
 	ns16550_write(cdev, 0x00, ier);
 	ns16550_write(cdev, LCR_BKSE, lcr);
@@ -218,7 +228,12 @@ static int ns16550_setbaudrate(struct console_device *cdev, int baud_rate)
 	ns16550_write(cdev, (baud_divisor >> 8) & 0xff, dlm);
 	ns16550_write(cdev, LCRVAL, lcr);
 	ns16550_write(cdev, MCRVAL, mcr);
-	ns16550_write(cdev, FCRVAL, fcr);
+	if (plat->flags & NS16650_FLAG_DISABLE_FIFO) {
+		ns16550_write(cdev, FCRVAL & ~FCR_FIFO_EN, fcr);
+	} else {
+		ns16550_write(cdev, FCRVAL, fcr);
+	}
+
 	return 0;
 }
 
diff --git a/include/ns16550.h b/include/ns16550.h
index 5fd52fa..4a41b93 100644
--- a/include/ns16550.h
+++ b/include/ns16550.h
@@ -52,6 +52,8 @@ struct NS16550_plat {
 				    unsigned char reg_offset);
 
 	int shift;
+	unsigned int flags;
+#define NS16650_FLAG_DISABLE_FIFO	1
 };
 
 #endif				/* __NS16650_PLATFORM_H_ */
-- 
1.7.8.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply related

* Re: [patch v2, kernel version 3.2.1] net/ipv4/ip_gre: Ethernet multipoint GRE over IP
From: Štefan Gula @ 2012-01-17 10:40 UTC (permalink / raw)
  To: David Lamparter
  Cc: Alexey Kuznetsov, David S. Miller, James Morris,
	Hideaki YOSHIFUJI, Patrick McHardy, netdev, linux-kernel
In-Reply-To: <20120117101131.GH1077372@jupiter.n2.diac24.net>

Dňa 17. januára 2012 11:11, David Lamparter <equinox@diac24.net> napísal/a:
> On Tue, Jan 17, 2012 at 10:56:51AM +0100, Štefan Gula wrote:
>> Dňa 17. januára 2012 10:50, David Lamparter <equinox@diac24.net> napísal/a:
>> > On Mon, Jan 16, 2012 at 11:52:25PM +0100, Štefan Gula wrote:
>> >> Dňa 16. januára 2012 21:29, David Lamparter <equinox@diac24.net> napísal/a:
>> >> > At the risk of repeating myself, Linux GRE support already has
>> >> > provisions for multipoint tunnels. And unlike your code, those reuse the
>> >> > existing neighbor table infrastructure, including all of its user
>> >> > interface and introspection capabilities.
>> >> >
>> >> > It's actually slightly visible in your patch:
>> >> >
>> >> > On Mon, Jan 16, 2012 at 08:45:14PM +0100, Štefan Gula wrote:
>> >> >> +++ linux-3.2.1-my/net/ipv4/ip_gre.c  2012-01-16 20:42:03.000000000 +0100
>> >> >> @@ -716,7 +942,19 @@ static netdev_tx_t ipgre_tunnel_xmit(str
>> >> > [...]
>> >> >>               /* NBMA tunnel */
>> >> >>
>> >> >>               if (skb_dst(skb) == NULL) {
>> >> >
>> >> >
>> >> > -David
>> >>
>> >> That code you are referring to is used only for routed traffic inside
>> >> GRE - L3 traffic over L3 routed infrastructure. My patch is dealing
>> >> with L2 traffic over L3 routed infrastructure - so the decision here
>> >> is based on destination MAC addresses and not based on IPv4/IPv6
>> >> addresses.
>> >
>> > Yes, it currently only does IPv4/IPv6 -> IPv4 through the neighbor
>> > table. That doesn't mean it can't be extended to handle ethernet
>> > addresses the same way.
>>
>> Routing mechanisms and switching mechanisms works completely
>> different, in switching you simply don't have anything like next-hop
>> from routing, which can be resolved by utilizing modified ARP message
>> and there is also absolutely no hierarchy in MAC address (like you
>> have in routing table), so I seriously doubt that it can be done the
>> same way, but I am opened to ideas here. So how would you do like to
>> do that?
>
> NBMA GRE does not use routing mechanisms, it uses the neighbor table.
> The neighbor table does not use any hierarchy in its lookups.
>
> So you have the existing neighbor table use cases:
>  - IPv4 -> MAC with in-kernel ARP
>  - IPv6 -> MAC with in-kernel ND
>  - IPv4 -> IPv4 on NBMA GRE devices (without in-kernel filling)
>  - IPv6 -> IPv4 on NBMA GRE devices (without in-kernel filling)
> You could add to that:
>  - MAC -> IPv4 on NBMA GRETAP devices
>
>
> -David
Current status:
 - no general neighbor table exists (currently used build-in tables
for forwarding mechanism ARP, ND, RT, RT6 or combinations to get the
right information)

Your proposal:
 - creating another kernel build-in table -  MAC -> IPv4 on NBMA
GRETAP device table doesn't currently exists at all in kernel
 - adjust/implement learning mechanism to populate the table
 - adjust/implement forwarding mechanisms to forward frames based on
information from given table

My patch:
- creates table for holding MAC -> IPv4 on NBMA GRETAP device
- adjust/implement learning mechanism (using bridge code logic)
- adjust/implement forwarding mechanism (using bridge code logic)

So I think we are talking about the same thing here, only you are
talking in more general way, I am talking more about the actual
implementation.

^ permalink raw reply

* Re: [patch] Staging: comedi: logical || vs bitwise |
From: Ian Abbott @ 2012-01-17 10:41 UTC (permalink / raw)
  To: kernel-janitors
In-Reply-To: <20120117073112.GC11358@elgon.mountain>

On 2012-01-17 07:31, Dan Carpenter wrote:
> These are bitfields and the intend was to OR them together.  A logical
> OR here is simply 1.
>
> Signed-off-by: Dan Carpenter<dan.carpenter@oracle.com>

You have my ack.  I'll just add that since the driver is incomplete, the 
buggy code is not currently reached.  (In fact, as the AI and AO 
subdevices have neither a range_table nor a range_table_list, the comedi 
core's COMEDI_INSN/COMEDI_INSNLIST ioctl handlers will return an error 
for these subdevices before it even calls the driver's insn handlers for 
these subdevices!)

Acked-by: Ian Abbott <abbotti@mev.co.uk>

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-

^ permalink raw reply

* Boot error using 3.2.1: swapper (pid 1): Illegal instruction (code 8)
From: Rolf Eike Beer @ 2012-01-17 10:41 UTC (permalink / raw)
  To: linux-parisc

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

Machine is an Apollo 705, previous kernel version was 2.6.28. Any hints 
appreciated. Config attached.

Eike

Linux version 3.2.1 (root@apollo) (gcc version 4.5.3 (Gentoo 4.5.3-r1 p1.0, 
pie-0.4.5) ) #1 Mon Jan 16 15:48:44 CET 2012
unwind_init: start = 0x1043b000, end = 0x1046b8f0, entries = 12431
FP[0] enabled: Rev 3 Model 0
The 32-bit Kernel has started...
bootconsole [ttyB0] enabled
Initialized PDC Console for debugging.
Determining PDC firmware type: Snake.
model 00003020 00000481 00000000 00000000 77aac223 ffffffff 00000004 0000000d 
00000000
vers  00000003
model 9000/705
Total Memory: 64 MB
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: root=/dev/sdb5 console=ttyS0,57600 console=tty0 
palo_kernel=2/vmlinux-3.2.1
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 60612k/65536k available (2558k kernel code, 4924k reserved, 1243k 
data, 236k init)
virtual kernel memory layout:
    vmalloc : 0x00008000 - 0x0f000000   ( 239 MB)
    memory  : 0x10000000 - 0x14000000   (  64 MB)
      .init : 0x104e0000 - 0x1051b000   ( 236 kB)
      .data : 0x1037fbf4 - 0x104b6810   (1243 kB)
      .text : 0x10100000 - 0x1037fbf4   (2558 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:96
Console: colour dummy device 128x48
console [tty0] enabled, bootconsole disabled
Linux version 3.2.1 (root@apollo) (gcc version 4.5.3 (Gentoo 4.5.3-r1 p1.0, 
pie-0.4.5) ) #1 Mon Jan 16 15:48:44 CET 2012
unwind_init: start = 0x1043b000, end = 0x1046b8f0, entries = 12431
FP[0] enabled: Rev 3 Model 0
The 32-bit Kernel has started...
bootconsole [ttyB0] enabled
Initialized PDC Console for debugging.
Determining PDC firmware type: Snake.
model 00003020 00000481 00000000 00000000 77aac223 ffffffff 00000004 0000000d 
00000000
vers  00000003
model 9000/705
Total Memory: 64 MB
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: root=/dev/sdb5 console=ttyS0,57600 console=tty0 
palo_kernel=2/vmlinux-3.2.1
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 60612k/65536k available (2558k kernel code, 4924k reserved, 1243k 
data, 236k init)
virtual kernel memory layout:
    vmalloc : 0x00008000 - 0x0f000000   ( 239 MB)
    memory  : 0x10000000 - 0x14000000   (  64 MB)
      .init : 0x104e0000 - 0x1051b000   ( 236 kB)
      .data : 0x1037fbf4 - 0x104b6810   (1243 kB)
      .text : 0x10100000 - 0x1037fbf4   (2558 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:96
Console: colour dummy device 128x48
console [tty0] enabled, bootconsole disabled
Calibrating delay loop... 34.61 BogoMIPS (lpj=173056)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
devtmpfs: initialized
NET: Registered protocol family 16
EISA bus registered
Searching for devices...
Found devices:
1. Stinger Optional Graphics at 0xf4000000 [0] { 10, 0x0, 0x006, 0x00077 }
2. Flounder Core BA at 0xf082f000 [2] { 11, 0x0, 0x008, 0x00070 }
3. Flounder Core SCSI at 0xf0825000 [2/0/1] { 10, 0x0, 0x008, 0x00071 }
4. Flounder Core LAN (802.3) at 0xf0826000 [2/0/2] { 10, 0x0, 0x008, 0x00072 }
5. Flounder Core HIL at 0xf0821000 [2/0/3] { 10, 0x0, 0x008, 0x00073 }
6. Flounder Core RS-232 at 0xf0823000 [2/0/4] { 10, 0x0, 0x008, 0x00075 }
7. Flounder Core RS-232 at 0xf0822000 [2/0/5] { 10, 0x0, 0x008, 0x00075 }
8. Flounder Core Centronics at 0xf0824000 [2/0/6] { 10, 0x0, 0x008, 0x00074 }
9. Flounder Audio at 0xf1000000 [2/0/8] { 10, 0x0, 0x008, 0x0007a }
10. Flounder (705) at 0xfffbe000 [8] { 0, 0x0, 0x302, 0x00004 }
11. Memory at 0xfffbf000 [9] { 1, 0x0, 0x018, 0x00009 }
CPU(s): 1 x PA7000 (PCX-S) at 35.000000 MHz
Setting cache flush threshold to de0 (1 CPUs online)
Asp version 1 at 0xf082f000 found.
LED (ASP-style) display at f0800020 registered
powersw: Soft power switch support not available.
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Advanced Linux Sound Architecture Driver Version 1.0.24.
Switching to clocksource cr16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
PDC console driver not registered anymore, not creating ttyB
Chassis warnings not supported.
msgmni has been set to 118
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
PDC Stable Storage facility v0.30
STI GSC/PCI core graphics driver Version 0.9a
    id 27f12392-40a00499, conforms to spec rev. 8.02
    graphics card name: HPA1991AGrayscale
sticon: Initializing STI text console.
Console: switching to colour STI console 160x64
Console: switching to colour frame buffer device 160x64
fb0: stifb 1280x1024-8 frame buffer device, HPA1991AGrayscale, id: 27f12392, 
mmio: 0xf4100000
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
2:0:4: ttyS0 at MMIO 0xf0823800 (irq = 20) is a 16550A
console [ttyS0] enabled
2:0:5: ttyS1 at MMIO 0xf0822800 (irq = 21) is a 16550A
parport_init_chip: enhanced parport-modes not supported.
parport0: PC-style at 0xf0824800, irq 22 [PCSPP]
parport0: fix this legacy no-device port driver!
brd: module loaded
loop: module loaded
53c700: Version 2.8 By James.Bottomley@HansenPartnership.com
scsi0: 53c700 rev 0 
scsi0 : LASI SCSI 53c700
scsi 0:0:0:0: Direct-Access     TEAC     FC-1     HF   07 RV B PQ: 0 ANSI: 1 
CCS
scsi 0:0:4:0: Direct-Access     SEAGATE  ST39173N         6244 PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 5120 256-byte logical blocks: (1.31 MB/1.25 MiB)
sd 0:0:4:0: Enabling Tag Command Queuing
HP SDC: HP SDC at 0xf0821000, IRQ 18 (NMI IRQ 19)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:4:0: [sdb] 17783240 512-byte logical blocks: (9.10 GB/8.47 GiB)
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
HP SDC: New style SDC
sd 0:0:4:0: [sdb] Write Protect is off
HP SDC: Revision: 1820-4784
HP SDC: TI SN76494 beeper present
HP SDC: OKI MSM-58321 BBRTC present
HP SDC: Spunking the self test register to force PUP on next firmware reset.
sd 0:0:0:0: [sda] 5120 256-byte logical blocks: (1.31 MB/1.25 MiB)
HP SDC MLC: Registering the System Domain Controller's HIL MLC.
sd 0:0:4:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and 
FUA
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
mousedev: PS/2 mouse device common for all mice
 sdb: sdb1 sdb2 sdb3 sdb4 < sdb5 sdb6 >
rtc-generic rtc-generic: rtc core: registered rtc-generic as rtc0
sd 0:0:4:0: [sdb] Attached SCSI disk
harmony: cannot allocate graveyard buffer!
harmony: probe of 2:0:8 failed with error -12
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
rtc-generic rtc-generic: setting system clock to 2012-01-17 10:01:01 UTC 
(1326794461)
HIL: HIL keyboard found (did = 0xdf, lang = english.us)
input: HIL keyboard as /devices/serio0/input/input0
sd 0:0:0:0: [sda] Unhandled sense code
sd 0:0:0:0: [sda]  Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda]  Sense Key : 0x3 [current] 
Info fld=0x0
sd 0:0:0:0: [sda]  ASC=0x30 ASCQ=0x0
sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
sd 0:0:0:0: [sda] Unhandled sense code
sd 0:0:0:0: [sda]  Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda]  Sense Key : 0x3 [current] 
Info fld=0x0
sd 0:0:0:0: [sda]  ASC=0x30 ASCQ=0x0
sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
 sda: unable to read partition table
sd 0:0:0:0: [sda] 5120 256-byte logical blocks: (1.31 MB/1.25 MiB)
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
kjournald starting.  Commit interval 5 seconds
EXT3-fs (sdb5): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) readonly on device 8:21.
Freeing unused kernel memory: 236k freed
      _______________________________ 
     < Your System ate a SPARC! Gah! >
      ------------------------------- 
             \   ^__^
                 (__)\       )\/\
                  U  ||----w |
                     ||     ||
swapper (pid 1): Illegal instruction (code 8)

     YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000000000000000000000000 Not tainted
r00-03  00000000 00000003 1010eb18 0000000f
r04-07  104d2800 ffeffff1 100272c0 00000000
r08-11  0f2ff000 0f000000 13da8ffc 13c20508
r12-15  00000000 13d92000 13c20508 00000000
r16-19  00000000 00000023 00000020 00000001
r20-23  00000000 00000000 0000017d 00000020
r24-27  00000000 00000000 0000a2c0 10474000
r28-31  0f2ff000 00000000 13c20740 00000014
sr00-03  00000000 00000000 00000000 00000000
sr04-07  00000000 00000000 00000000 00000000

IASQ: 00000000 00000000 IAOQ: 101004ec 101004f0
 IIR: 0f801280    ISR: 00000000  IOR: 0f2ff000
 CPU:        0   CR30: 13c20000 CR31: 000000e0
 ORIG_R28: fffff000
 IAOQ[0]: __clear_user_page_asm+0x20/0x70
 IAOQ[1]: __clear_user_page_asm+0x24/0x70
 RP(r2): clear_user_page_asm+0x14/0x24
Backtrace:
 [<1010eb18>] clear_user_page_asm+0x14/0x24
 [<10174d48>] handle_pte_fault+0x1d4/0x610
 [<10175244>] handle_mm_fault+0xc0/0xf0
 [<101754a8>] __get_user_pages+0x170/0x348
 [<1018f3d4>] get_arg_page+0x5c/0xd8
 [<1018f638>] copy_strings+0xec/0x228
 [<1018f790>] copy_strings_kernel+0x1c/0x30
 [<1019025c>] do_execve+0x16c/0x2b8
 [<10114084>] sys_execve+0x40/0x6c
 [<10103084>] __execve+0x20/0x34
 [<10129c98>] vprintk+0x384/0x3d8
 [<1010ade8>] printk+0x24/0x34
 [<1010d5f0>] init_post+0x94/0xc8
 [<104e1c64>] kernel_init+0x11c/0x130

Backtrace:
 [<1010f514>] die_if_kernel+0x138/0x1b0
 [<1010f9a8>] handle_interruption+0x1ac/0x614
 [<10104078>] intr_check_sig+0x0/0x34
 [<101004f0>] __clear_user_page_asm+0x24/0x70

---[ end trace 37142cbeb02a4c73 ]---
note: swapper[1] exited with preempt_count 1
BUG: scheduling while atomic: swapper/1/0x10000001
Modules linked in:
Backtrace:
 [<1010b244>] __schedule+0x98/0x320
 [<10124280>] __cond_resched+0x2c/0x50
 [<1010b57c>] _cond_resched+0x34/0x50
 [<1012be44>] put_files_struct+0x8c/0x108
 [<1012c110>] do_exit+0x200/0x5a8
 [<1010f57c>] die_if_kernel+0x1a0/0x1b0
 [<1010f9a8>] handle_interruption+0x1ac/0x614
 [<10104078>] intr_check_sig+0x0/0x34
 [<101004f0>] __clear_user_page_asm+0x24/0x70

BUG: scheduling while atomic: swapper/1/0x10000001
Modules linked in:
Backtrace:
 [<1010b244>] __schedule+0x98/0x320
 [<10124280>] __cond_resched+0x2c/0x50
 [<1010b57c>] _cond_resched+0x34/0x50
 [<1012be44>] put_files_struct+0x8c/0x108
 [<1012c110>] do_exit+0x200/0x5a8
 [<1010f57c>] die_if_kernel+0x1a0/0x1b0
 [<1010f9a8>] handle_interruption+0x1ac/0x614
 [<10104078>] intr_check_sig+0x0/0x34
 [<101004f0>] __clear_user_page_asm+0x24/0x70

Kernel panic - not syncing: Attempted to kill init!
Backtrace:
 [<1010abf0>] panic+0x94/0x268
 [<1012bfd0>] do_exit+0xc0/0x5a8
 [<1010f57c>] die_if_kernel+0x1a0/0x1b0
 [<1010f9a8>] handle_interruption+0x1ac/0x614
 [<10104078>] intr_check_sig+0x0/0x34
 [<101004f0>] __clear_user_page_asm+0x24/0x70

[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 28702 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/parisc 3.2.0 Kernel Configuration
#
CONFIG_PARISC=y
CONFIG_MMU=y
CONFIG_STACK_GROWSUP=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_FHANDLE=y
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
# CONFIG_CGROUPS is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=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_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
# CONFIG_PERF_EVENTS is not set
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_PROFILING=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y

#
# GCOV-based kernel profiling
#
# 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=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_INIT_ALL_POSSIBLE=y
CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
# CONFIG_BLK_DEV_INTEGRITY is not set

#
# 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=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# 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=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# 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=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
# CONFIG_FREEZER is not set

#
# Processor type and features
#
CONFIG_PA7000=y
# CONFIG_PA7100LC is not set
# CONFIG_PA7200 is not set
# CONFIG_PA7300LC is not set
# CONFIG_PA8X00 is not set
CONFIG_PA11=y
CONFIG_PARISC_PAGE_SIZE_4KB=y
# CONFIG_SMP is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
# CONFIG_SCHED_HRTICK is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
# CONFIG_HPUX is not set

#
# Bus options (PCI, PCMCIA, EISA, GSC, ISA)
#
CONFIG_GSC=y
# CONFIG_HPPB is not set
# CONFIG_IOMMU_CCIO is not set
CONFIG_GSC_LASI=y
# CONFIG_GSC_WAX is not set
CONFIG_EISA=y
CONFIG_EISA_NAMES=y
# CONFIG_ISA is not set
# CONFIG_PCI is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
# CONFIG_PCCARD is not set

#
# PA-RISC specific drivers
#
CONFIG_CHASSIS_LCD_LED=y
# CONFIG_PDC_CHASSIS is not set
CONFIG_PDC_CHASSIS_WARN=y
CONFIG_PDC_STABLE=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
# CONFIG_INET_LRO is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
CONFIG_IPV6_SIT=y
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_IPV6_MROUTE is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_ADVANCED is not set

#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK_LOG is not set
# CONFIG_NF_CONNTRACK is not set
# CONFIG_NETFILTER_XTABLES is not set
# CONFIG_IP_VS is not set

#
# IP: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV4 is not set
# CONFIG_IP_NF_IPTABLES is not set

#
# IPv6: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV6 is not set
# CONFIG_IP6_NF_IPTABLES is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
# CONFIG_BRIDGE is not set
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# CONFIG_DNS_RESOLVER is not set
# CONFIG_BATMAN_ADV is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
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 is not set
# CONFIG_MTD is not set
CONFIG_PARPORT=y
# CONFIG_PARPORT_PC is not set
CONFIG_PARPORT_GSC=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_PARPORT_NOT_PC=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=4
CONFIG_BLK_DEV_CRYPTOLOOP=y

#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
#
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=6144
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_SENSORS_LIS3LV02D is not set
CONFIG_MISC_DEVICES=y
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_93CX6 is not set

#
# Texas Instruments shared transport line discipline
#

#
# Altera FPGA firmware download module
#
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y

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

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_LIBFC is not set
# CONFIG_LIBFCOE is not set
CONFIG_SCSI_LASI700=y
CONFIG_53C700_LE_ON_BE=y
# CONFIG_SCSI_ZALON is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
# CONFIG_ATA is not set
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_DM is not set
# CONFIG_TARGET_CORE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
# CONFIG_EQUALIZER is not set
# CONFIG_MII is not set
# CONFIG_MACVLAN is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set

#
# CAIF transport drivers
#
CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_DNET is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
CONFIG_DE4X5=m
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_HP is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_FDDI is not set
# CONFIG_PHYLIB is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_WLAN is not set

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set

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

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_ATKBD_HP_KEYCODES=y
# CONFIG_KEYBOARD_ATKBD_RDI_KEYCODES is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_HIL_OLD is not set
CONFIG_KEYBOARD_HIL=y
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_GSCPS2=y
CONFIG_HP_SDC=y
CONFIG_HIL_MLC=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=64
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_DEVKMEM is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_GSC=y
CONFIG_SERIAL_8250_NR_UARTS=8
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MUX is not set
CONFIG_PDC_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
# CONFIG_TCG_TPM is not set
# CONFIG_RAMOOPS is not set
# CONFIG_I2C is not set
# CONFIG_SPI is not set

#
# PPS support
#
# CONFIG_PPS is not set

#
# PPS generators support
#

#
# PTP clock support
#

#
# Enable Device Drivers -> PPS to see the PTP clock options.
#
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_WMT_GE_ROPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_STI=y
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set

#
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=128
CONFIG_DUMMY_CONSOLE_ROWS=48
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_STI_CONSOLE=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
# CONFIG_LOGO_LINUX_CLUT224 is not set
CONFIG_LOGO_PARISC_CLUT224=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
# CONFIG_SND_PCM_OSS_PLUGINS is not set
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_DYNAMIC_MINORS=y
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
# CONFIG_SND_RAWMIDI_SEQ is not set
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_GSC=y
CONFIG_SND_HARMONY=y
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HIDRAW=y
# CONFIG_HID_PID is not set

#
# Special HID drivers
#
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set

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

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
# 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_RTC_DRV_GENERIC=y
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set

#
# Virtio drivers
#
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_VIRTIO_MMIO is not set
# CONFIG_STAGING is not set

#
# Hardware Spinlock drivers
#
# CONFIG_IOMMU_SUPPORT is not set
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_PM_DEVFREQ is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
# CONFIG_EXT4_FS is not set
CONFIG_JBD=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_FS_POSIX_ACL is not set
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_CEPH_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_LOCKUP_DETECTOR is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_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 is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_ENCRYPTED_KEYS is not set
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_TEST is not set

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set

#
# Block modes
#
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set

#
# Digest
#
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set

#
# Ciphers
#
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set

#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
CONFIG_CRYPTO_HW=y
# CONFIG_BINARY_PRINTF is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
# CONFIG_CRC8 is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y
CONFIG_GENERIC_ATOMIC64=y
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set

^ permalink raw reply

* Re: [PATCH] regulator: Add devm_regulator_get()
From: Mark Brown @ 2012-01-17 10:41 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: Liam Girdwood, linux-kernel, linux-doc
In-Reply-To: <1326771598-28124-1-git-send-email-sboyd@codeaurora.org>

On Mon, Jan 16, 2012 at 07:39:58PM -0800, Stephen Boyd wrote:
> Add a resource managed regulator_get() to simplify regulator
> usage in drivers. This allows driver authors to "get and forget"
> about their regulators by automatically calling regulator_put()
> when the driver is detached.

So, I've gone ahead and applied this as it's obviously useful as-is but
it's obviously something that should have a bulk version - I'll probably
add that myself.  We really ought to have release functions too in case
something wants to release the resource earlier, though I can't think
where you'd actually use those.

^ permalink raw reply

* [PATCH 1/2] Bluetooth: Make l2cap_ertm_data_rcv static
From: Szymon Janc @ 2012-01-17 10:42 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: kanak.gupta, Szymon Janc

It is not used outside of l2cap_core.c.

Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
---
 net/bluetooth/l2cap_core.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 0087db8..d66c368 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -4139,7 +4139,7 @@ static inline int l2cap_data_channel_sframe(struct l2cap_chan *chan, u32 rx_cont
 	return 0;
 }
 
-int l2cap_ertm_data_rcv(struct l2cap_chan *chan, struct sk_buff *skb)
+static int l2cap_ertm_data_rcv(struct l2cap_chan *chan, struct sk_buff *skb)
 {
 	u32 control;
 	u16 req_seq;
-- 
on behalf of ST-Ericsson


^ permalink raw reply related

* [PATCH 2/2] Bluetooth: Remove not needed l2cap_ertm_data_rcv forward declaration
From: Szymon Janc @ 2012-01-17 10:42 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: kanak.gupta, Szymon Janc
In-Reply-To: <1326796951-16377-1-git-send-email-szymon.janc@tieto.com>

l2cap_ertm_data_rcv is only used after it is defined so there is no
need for forward declaration.

Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
---
 net/bluetooth/l2cap_core.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index d66c368..003bd40 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -73,8 +73,6 @@ static int l2cap_build_conf_req(struct l2cap_chan *chan, void *data);
 static void l2cap_send_disconn_req(struct l2cap_conn *conn,
 				struct l2cap_chan *chan, int err);
 
-static int l2cap_ertm_data_rcv(struct l2cap_chan *chan, struct sk_buff *skb);
-
 /* ---- L2CAP channels ---- */
 
 static struct l2cap_chan *__l2cap_get_chan_by_dcid(struct l2cap_conn *conn, u16 cid)
-- 
on behalf of ST-Ericsson


^ permalink raw reply related

* Re: [Qemu-devel] [PATCH 4/6] make: add check targets based on gtester
From: Paolo Bonzini @ 2012-01-17 10:42 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: qemu-devel
In-Reply-To: <4F14691D.1020201@codemonkey.ws>

On 01/16/2012 07:14 PM, Anthony Liguori wrote:
>>
>> Looks like there isn't any documentation about the protocol that
>> gtester uses,
>> and no Python implementation of the same in any other language. Or
>> dually, no
>> support for TAP output in gtester. :/
>>
>> I would have expected a bit less NIH from glib, but oh well...
>
> Yes, I had a similar reaction.
>
> But it's good enough for our purposes and only depends on our mandatory
> dependencies.

Agreed.  I'm looking into writing a gtest runner for pyunit.

Paolo

^ permalink raw reply

* Re: [PATCH 1/2] drivers: i915: Fix BLC PWM register setup
From: Daniel Vetter @ 2012-01-17 10:43 UTC (permalink / raw)
  To: Simon Que; +Cc: intel-gfx, olofj, snanda
In-Reply-To: <1320976227-21262-1-git-send-email-sque@chromium.org>

On Thu, Nov 10, 2011 at 05:50:26PM -0800, Simon Que wrote:
> There is an error in i915_read_blc_pwm_ctl, where the register values
> are not being copied correctly.  BLC_PWM_CTL and BLC_PWM_CTL2 are
> getting mixed up.  This patch fixes that so that saveBLC_PWM_CTL2 and
> not saveBLC_PWM_CTL is copied to the BLC_PWM_CTL2 register.
> 
> Signed-off-by: Simon Que <sque@chromium.org>

Patch 1 here looks good to me.Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48

^ permalink raw reply

* [PATCH 1/3] KVM: MMU: Remove unused kvm_pte_chain
From: Takuya Yoshikawa @ 2012-01-17 10:50 UTC (permalink / raw)
  To: mtosatti; +Cc: kvm

Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
---
 arch/x86/include/asm/kvm_host.h |    7 -------
 1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index bd69c93..4610166 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -181,13 +181,6 @@ struct kvm_mmu_memory_cache {
 	void *objects[KVM_NR_MEM_OBJS];
 };
 
-#define NR_PTE_CHAIN_ENTRIES 5
-
-struct kvm_pte_chain {
-	u64 *parent_ptes[NR_PTE_CHAIN_ENTRIES];
-	struct hlist_node link;
-};
-
 /*
  * kvm_mmu_page_role, below, is defined as:
  *
-- 
1.7.5.4


^ permalink raw reply related

* Re: [patch v2, kernel version 3.2.1] net/ipv4/ip_gre: Ethernet multipoint GRE over IP
From: Štefan Gula @ 2012-01-17 10:43 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Alexey Kuznetsov, David S. Miller, James Morris,
	Hideaki YOSHIFUJI, Patrick McHardy, netdev, linux-kernel
In-Reply-To: <1326788970.2564.52.camel@edumazet-laptop>

Dňa 17. januára 2012 9:29, Eric Dumazet <eric.dumazet@gmail.com> napísal/a:
> Le mardi 17 janvier 2012 à 09:04 +0100, Štefan Gula a écrit :
>> Dňa 17. januára 2012 5:47, Eric Dumazet <eric.dumazet@gmail.com> napísal/a:
>> >
>> > 2) You call ipgre_tap_bridge_fini() from ipgre_exit_net() and
>> > ipgre_init_net(), thats completely bogus if CONFIG_NET_NS=y
>> >
>> > Just remove the struct kmem_cache *ipgre_tap_bridge_cache
>> > and use instead kmalloc(sizeof(...))/kfree(ptr) instead.
>> >
>> As this is completely the same part of code from net/bridge/br_fdb.c,
>> can you give me a hint about how change that as I believe it should be
>> changed also there?
>
> Please dont copy code you dont understand :(
>
> bridge code is ok, but not yours, since you destroy the kmem_cache when
> a net namespace exits.
>
> Either you fix your code, either you change your memory allocations to
> mere kmalloc()/kfree() calls and dont care of a private kmem_cache you
> have to create and destroy.
>
> Since you ask a SLAB_HWCACHE_ALIGN, the SLUB allocator will anyway merge
> your kmem_cache with the standard one (kmalloc-64 I guess)
>
>
>
ok maybe I am getting it wrong, but I am little bit stuck here. I
recheck the original bridge code. The difference I recognize is that
in bridge code function:
br_fdb_init() and br_fdb_fini()
are called from module init and module exit functions:
br_init and br_deinit

in my code they are called from functions:
ipgre_init_net and ipgre_exit_net
instead of:
ipgre_init and ipgre_fini

To be honest I am not so familiar enough with kernel structure that I
see the difference on the first time. But I think that with your help
it can be done easily. The main idea was to create hash-table that is
used to determine the destination IPv4 address (part of the entry
structure). That hash-table should be different per each gretap
interface - I think that's the reason why I put those init and fini
inside ipgre_init_net and ipgre_exit_net. Am I right that the
placement of this calls is correct or not? If not where those calls
should be placed?

On the other hand I have no idea how to substitute those two function
with a code that you are suggesting kmalloc()/kfree(). I would be glad
if you can help me here by providing me example how to substitute
those two functions with kmalloc/kfree for the future usage (I am more
reverse engineer learner type of person than manuals reading one)

^ permalink raw reply

* Re: [LTP] selinux-testsuite has moved
From: Jan Stancek @ 2012-01-17  9:48 UTC (permalink / raw)
  To: Stephen Smalley; +Cc: ltp-list
In-Reply-To: <1303477727.18220.15.camel@moss-pluto>



----- Original Message -----
> From: "Stephen Smalley" <sds@tycho.nsa.gov>
> To: "ltp-list" <ltp-list@lists.sf.net>
> Sent: Friday, April 22, 2011 3:08:47 PM
> Subject: [LTP] selinux-testsuite has moved
> The selinux testsuite has been moved to a standalone testsuite
> separate from the ltp.  You can obtain it via:
>  git clone git://git.kernel.org/pub/scm/tests/selinux-testsuite

Hi,

Is this still valid? I'm having troubles cloning from there.

git clone git://git.kernel.org/pub/scm/tests/selinux-testsuite
Initialized empty Git repository in /usr/src/selinux-testsuite/.git/
fatal: The remote end hung up unexpectedly

and also I can't see it listed here: http://git.kernel.org/

Regards,
Jan

> 
> Thanks.
> 
> --
> Stephen Smalley
> National Security Agency
> 

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply

* [PATCH 2/3] KVM: MMU: Remove unused kvm parameter from __gfn_to_rmap()
From: Takuya Yoshikawa @ 2012-01-17 10:51 UTC (permalink / raw)
  To: mtosatti; +Cc: kvm
In-Reply-To: <20120117195008.5dee803f.yoshikawa.takuya@oss.ntt.co.jp>

Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
---
 arch/x86/kvm/mmu.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 71819c0..7570992 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -946,7 +946,7 @@ static void pte_list_walk(unsigned long *pte_list, pte_list_walk_fn fn)
 	}
 }
 
-static unsigned long *__gfn_to_rmap(struct kvm *kvm, gfn_t gfn, int level,
+static unsigned long *__gfn_to_rmap(gfn_t gfn, int level,
 				    struct kvm_memory_slot *slot)
 {
 	struct kvm_lpage_info *linfo;
@@ -966,7 +966,7 @@ static unsigned long *gfn_to_rmap(struct kvm *kvm, gfn_t gfn, int level)
 	struct kvm_memory_slot *slot;
 
 	slot = gfn_to_memslot(kvm, gfn);
-	return __gfn_to_rmap(kvm, gfn, level, slot);
+	return __gfn_to_rmap(gfn, level, slot);
 }
 
 static bool rmap_can_add(struct kvm_vcpu *vcpu)
@@ -1018,7 +1018,7 @@ int kvm_mmu_rmap_write_protect(struct kvm *kvm, u64 gfn,
 	u64 *spte;
 	int i, write_protected = 0;
 
-	rmapp = __gfn_to_rmap(kvm, gfn, PT_PAGE_TABLE_LEVEL, slot);
+	rmapp = __gfn_to_rmap(gfn, PT_PAGE_TABLE_LEVEL, slot);
 	spte = rmap_next(kvm, rmapp, NULL);
 	while (spte) {
 		BUG_ON(!(*spte & PT_PRESENT_MASK));
@@ -1033,7 +1033,7 @@ int kvm_mmu_rmap_write_protect(struct kvm *kvm, u64 gfn,
 	/* check for huge page mappings */
 	for (i = PT_DIRECTORY_LEVEL;
 	     i < PT_PAGE_TABLE_LEVEL + KVM_NR_PAGE_SIZES; ++i) {
-		rmapp = __gfn_to_rmap(kvm, gfn, i, slot);
+		rmapp = __gfn_to_rmap(gfn, i, slot);
 		spte = rmap_next(kvm, rmapp, NULL);
 		while (spte) {
 			BUG_ON(!(*spte & PT_PRESENT_MASK));
-- 
1.7.5.4


^ permalink raw reply related

* Re: [PATCH] drm/i915: kill i915_mem.c
From: Keith Whitwell @ 2012-01-17 10:45 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, intel-gfx, dri-devel
In-Reply-To: <20120116205604.GM3627@phenom.ffwll.local>


On Mon, 2012-01-16 at 21:56 +0100, Daniel Vetter wrote:
> On Thu, Dec 22, 2011 at 10:23:14PM +0100, Daniel Vetter wrote:
> > Some decent history digging indicates that this was to be used for the
> > GLX_MESA_allocate_memory extension but never actually implemented for
> > any released i915 userspace code.
> > 
> > So just rip it out.
> > 
> > Cc: Dave Airlie <airlied@gmail.com>
> > Cc: Keith Whitwell <keithw@vmware.com>
> > Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> 
> Can some bored soul take a look at this and do the history
> double-checking? And maybe notice that the Makefile change is missing ...
> 
> /me would like to kill this cruft

The description makes sense to me & I'd be happy to see the code go, but
don't have time to do any more detailed investigation of code history.

Keith


> Cheers, Daniel
> > ---
> >  drivers/gpu/drm/drm_ioctl.c     |    2 +
> >  drivers/gpu/drm/i915/i915_dma.c |   13 +-
> >  drivers/gpu/drm/i915/i915_drv.h |   13 --
> >  drivers/gpu/drm/i915/i915_mem.c |  387 ---------------------------------------
> >  4 files changed, 6 insertions(+), 409 deletions(-)
> >  delete mode 100644 drivers/gpu/drm/i915/i915_mem.c
> > 
> > diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
> > index 904d7e9..6bfc5ce 100644
> > --- a/drivers/gpu/drm/drm_ioctl.c
> > +++ b/drivers/gpu/drm/drm_ioctl.c
> > @@ -37,6 +37,7 @@
> >  #include "drm_core.h"
> >  
> >  #include "linux/pci.h"
> > +#include "linux/export.h"
> >  
> >  /**
> >   * Get the bus id.
> > @@ -353,3 +354,4 @@ int drm_noop(struct drm_device *dev, void *data,
> >  	DRM_DEBUG("\n");
> >  	return 0;
> >  }
> > +EXPORT_SYMBOL(drm_noop);
> > diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> > index a9ae374..71a1946 100644
> > --- a/drivers/gpu/drm/i915/i915_dma.c
> > +++ b/drivers/gpu/drm/i915/i915_dma.c
> > @@ -2243,9 +2243,6 @@ void i915_driver_lastclose(struct drm_device * dev)
> >  
> >  	i915_gem_lastclose(dev);
> >  
> > -	if (dev_priv->agp_heap)
> > -		i915_mem_takedown(&(dev_priv->agp_heap));
> > -
> >  	i915_dma_cleanup(dev);
> >  }
> >  
> > @@ -2253,8 +2250,6 @@ void i915_driver_preclose(struct drm_device * dev, struct drm_file *file_priv)
> >  {
> >  	drm_i915_private_t *dev_priv = dev->dev_private;
> >  	i915_gem_release(dev, file_priv);
> > -	if (!drm_core_check_feature(dev, DRIVER_MODESET))
> > -		i915_mem_release(dev, file_priv, dev_priv->agp_heap);
> >  }
> >  
> >  void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
> > @@ -2273,11 +2268,11 @@ struct drm_ioctl_desc i915_ioctls[] = {
> >  	DRM_IOCTL_DEF_DRV(I915_IRQ_WAIT, i915_irq_wait, DRM_AUTH),
> >  	DRM_IOCTL_DEF_DRV(I915_GETPARAM, i915_getparam, DRM_AUTH),
> >  	DRM_IOCTL_DEF_DRV(I915_SETPARAM, i915_setparam, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
> > -	DRM_IOCTL_DEF_DRV(I915_ALLOC, i915_mem_alloc, DRM_AUTH),
> > -	DRM_IOCTL_DEF_DRV(I915_FREE, i915_mem_free, DRM_AUTH),
> > -	DRM_IOCTL_DEF_DRV(I915_INIT_HEAP, i915_mem_init_heap, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
> > +	DRM_IOCTL_DEF_DRV(I915_ALLOC, drm_noop, DRM_AUTH),
> > +	DRM_IOCTL_DEF_DRV(I915_FREE, drm_noop, DRM_AUTH),
> > +	DRM_IOCTL_DEF_DRV(I915_INIT_HEAP, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
> >  	DRM_IOCTL_DEF_DRV(I915_CMDBUFFER, i915_cmdbuffer, DRM_AUTH),
> > -	DRM_IOCTL_DEF_DRV(I915_DESTROY_HEAP,  i915_mem_destroy_heap, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
> > +	DRM_IOCTL_DEF_DRV(I915_DESTROY_HEAP,  drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
> >  	DRM_IOCTL_DEF_DRV(I915_SET_VBLANK_PIPE,  i915_vblank_pipe_set, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
> >  	DRM_IOCTL_DEF_DRV(I915_GET_VBLANK_PIPE,  i915_vblank_pipe_get, DRM_AUTH),
> >  	DRM_IOCTL_DEF_DRV(I915_VBLANK_SWAP, i915_vblank_swap, DRM_AUTH),
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 554bef7..0dceb4a 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -327,7 +327,6 @@ typedef struct drm_i915_private {
> >  
> >  	int tex_lru_log_granularity;
> >  	int allow_batchbuffer;
> > -	struct mem_block *agp_heap;
> >  	unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds;
> >  	int vblank_pipe;
> >  	int num_pipe;
> > @@ -1070,18 +1069,6 @@ extern void i915_destroy_error_state(struct drm_device *dev);
> >  #endif
> >  
> >  
> > -/* i915_mem.c */
> > -extern int i915_mem_alloc(struct drm_device *dev, void *data,
> > -			  struct drm_file *file_priv);
> > -extern int i915_mem_free(struct drm_device *dev, void *data,
> > -			 struct drm_file *file_priv);
> > -extern int i915_mem_init_heap(struct drm_device *dev, void *data,
> > -			      struct drm_file *file_priv);
> > -extern int i915_mem_destroy_heap(struct drm_device *dev, void *data,
> > -				 struct drm_file *file_priv);
> > -extern void i915_mem_takedown(struct mem_block **heap);
> > -extern void i915_mem_release(struct drm_device * dev,
> > -			     struct drm_file *file_priv, struct mem_block *heap);
> >  /* i915_gem.c */
> >  int i915_gem_init_ioctl(struct drm_device *dev, void *data,
> >  			struct drm_file *file_priv);
> > diff --git a/drivers/gpu/drm/i915/i915_mem.c b/drivers/gpu/drm/i915/i915_mem.c
> > deleted file mode 100644
> > index cc8f6d4..0000000
> > --- a/drivers/gpu/drm/i915/i915_mem.c
> > +++ /dev/null
> > @@ -1,387 +0,0 @@
> > -/* i915_mem.c -- Simple agp/fb memory manager for i915 -*- linux-c -*-
> > - */
> > -/*
> > - * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
> > - * All Rights Reserved.
> > - *
> > - * Permission is hereby granted, free of charge, to any person obtaining a
> > - * copy of this software and associated documentation files (the
> > - * "Software"), to deal in the Software without restriction, including
> > - * without limitation the rights to use, copy, modify, merge, publish,
> > - * distribute, sub license, and/or sell copies of the Software, and to
> > - * permit persons to whom the Software is furnished to do so, subject to
> > - * the following conditions:
> > - *
> > - * The above copyright notice and this permission notice (including the
> > - * next paragraph) shall be included in all copies or substantial portions
> > - * of the Software.
> > - *
> > - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> > - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> > - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
> > - * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
> > - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> > - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> > - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
> > - *
> > - */
> > -
> > -#include "drmP.h"
> > -#include "drm.h"
> > -#include "i915_drm.h"
> > -#include "i915_drv.h"
> > -
> > -/* This memory manager is integrated into the global/local lru
> > - * mechanisms used by the clients.  Specifically, it operates by
> > - * setting the 'in_use' fields of the global LRU to indicate whether
> > - * this region is privately allocated to a client.
> > - *
> > - * This does require the client to actually respect that field.
> > - *
> > - * Currently no effort is made to allocate 'private' memory in any
> > - * clever way - the LRU information isn't used to determine which
> > - * block to allocate, and the ring is drained prior to allocations --
> > - * in other words allocation is expensive.
> > - */
> > -static void mark_block(struct drm_device * dev, struct mem_block *p, int in_use)
> > -{
> > -	drm_i915_private_t *dev_priv = dev->dev_private;
> > -	struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv;
> > -	drm_i915_sarea_t *sarea_priv = master_priv->sarea_priv;
> > -	struct drm_tex_region *list;
> > -	unsigned shift, nr;
> > -	unsigned start;
> > -	unsigned end;
> > -	unsigned i;
> > -	int age;
> > -
> > -	shift = dev_priv->tex_lru_log_granularity;
> > -	nr = I915_NR_TEX_REGIONS;
> > -
> > -	start = p->start >> shift;
> > -	end = (p->start + p->size - 1) >> shift;
> > -
> > -	age = ++sarea_priv->texAge;
> > -	list = sarea_priv->texList;
> > -
> > -	/* Mark the regions with the new flag and update their age.  Move
> > -	 * them to head of list to preserve LRU semantics.
> > -	 */
> > -	for (i = start; i <= end; i++) {
> > -		list[i].in_use = in_use;
> > -		list[i].age = age;
> > -
> > -		/* remove_from_list(i)
> > -		 */
> > -		list[(unsigned)list[i].next].prev = list[i].prev;
> > -		list[(unsigned)list[i].prev].next = list[i].next;
> > -
> > -		/* insert_at_head(list, i)
> > -		 */
> > -		list[i].prev = nr;
> > -		list[i].next = list[nr].next;
> > -		list[(unsigned)list[nr].next].prev = i;
> > -		list[nr].next = i;
> > -	}
> > -}
> > -
> > -/* Very simple allocator for agp memory, working on a static range
> > - * already mapped into each client's address space.
> > - */
> > -
> > -static struct mem_block *split_block(struct mem_block *p, int start, int size,
> > -				     struct drm_file *file_priv)
> > -{
> > -	/* Maybe cut off the start of an existing block */
> > -	if (start > p->start) {
> > -		struct mem_block *newblock = kmalloc(sizeof(*newblock),
> > -						     GFP_KERNEL);
> > -		if (!newblock)
> > -			goto out;
> > -		newblock->start = start;
> > -		newblock->size = p->size - (start - p->start);
> > -		newblock->file_priv = NULL;
> > -		newblock->next = p->next;
> > -		newblock->prev = p;
> > -		p->next->prev = newblock;
> > -		p->next = newblock;
> > -		p->size -= newblock->size;
> > -		p = newblock;
> > -	}
> > -
> > -	/* Maybe cut off the end of an existing block */
> > -	if (size < p->size) {
> > -		struct mem_block *newblock = kmalloc(sizeof(*newblock),
> > -						     GFP_KERNEL);
> > -		if (!newblock)
> > -			goto out;
> > -		newblock->start = start + size;
> > -		newblock->size = p->size - size;
> > -		newblock->file_priv = NULL;
> > -		newblock->next = p->next;
> > -		newblock->prev = p;
> > -		p->next->prev = newblock;
> > -		p->next = newblock;
> > -		p->size = size;
> > -	}
> > -
> > -      out:
> > -	/* Our block is in the middle */
> > -	p->file_priv = file_priv;
> > -	return p;
> > -}
> > -
> > -static struct mem_block *alloc_block(struct mem_block *heap, int size,
> > -				     int align2, struct drm_file *file_priv)
> > -{
> > -	struct mem_block *p;
> > -	int mask = (1 << align2) - 1;
> > -
> > -	for (p = heap->next; p != heap; p = p->next) {
> > -		int start = (p->start + mask) & ~mask;
> > -		if (p->file_priv == NULL && start + size <= p->start + p->size)
> > -			return split_block(p, start, size, file_priv);
> > -	}
> > -
> > -	return NULL;
> > -}
> > -
> > -static struct mem_block *find_block(struct mem_block *heap, int start)
> > -{
> > -	struct mem_block *p;
> > -
> > -	for (p = heap->next; p != heap; p = p->next)
> > -		if (p->start == start)
> > -			return p;
> > -
> > -	return NULL;
> > -}
> > -
> > -static void free_block(struct mem_block *p)
> > -{
> > -	p->file_priv = NULL;
> > -
> > -	/* Assumes a single contiguous range.  Needs a special file_priv in
> > -	 * 'heap' to stop it being subsumed.
> > -	 */
> > -	if (p->next->file_priv == NULL) {
> > -		struct mem_block *q = p->next;
> > -		p->size += q->size;
> > -		p->next = q->next;
> > -		p->next->prev = p;
> > -		kfree(q);
> > -	}
> > -
> > -	if (p->prev->file_priv == NULL) {
> > -		struct mem_block *q = p->prev;
> > -		q->size += p->size;
> > -		q->next = p->next;
> > -		q->next->prev = q;
> > -		kfree(p);
> > -	}
> > -}
> > -
> > -/* Initialize.  How to check for an uninitialized heap?
> > - */
> > -static int init_heap(struct mem_block **heap, int start, int size)
> > -{
> > -	struct mem_block *blocks = kmalloc(sizeof(*blocks), GFP_KERNEL);
> > -
> > -	if (!blocks)
> > -		return -ENOMEM;
> > -
> > -	*heap = kmalloc(sizeof(**heap), GFP_KERNEL);
> > -	if (!*heap) {
> > -		kfree(blocks);
> > -		return -ENOMEM;
> > -	}
> > -
> > -	blocks->start = start;
> > -	blocks->size = size;
> > -	blocks->file_priv = NULL;
> > -	blocks->next = blocks->prev = *heap;
> > -
> > -	memset(*heap, 0, sizeof(**heap));
> > -	(*heap)->file_priv = (struct drm_file *) -1;
> > -	(*heap)->next = (*heap)->prev = blocks;
> > -	return 0;
> > -}
> > -
> > -/* Free all blocks associated with the releasing file.
> > - */
> > -void i915_mem_release(struct drm_device * dev, struct drm_file *file_priv,
> > -		      struct mem_block *heap)
> > -{
> > -	struct mem_block *p;
> > -
> > -	if (!heap || !heap->next)
> > -		return;
> > -
> > -	for (p = heap->next; p != heap; p = p->next) {
> > -		if (p->file_priv == file_priv) {
> > -			p->file_priv = NULL;
> > -			mark_block(dev, p, 0);
> > -		}
> > -	}
> > -
> > -	/* Assumes a single contiguous range.  Needs a special file_priv in
> > -	 * 'heap' to stop it being subsumed.
> > -	 */
> > -	for (p = heap->next; p != heap; p = p->next) {
> > -		while (p->file_priv == NULL && p->next->file_priv == NULL) {
> > -			struct mem_block *q = p->next;
> > -			p->size += q->size;
> > -			p->next = q->next;
> > -			p->next->prev = p;
> > -			kfree(q);
> > -		}
> > -	}
> > -}
> > -
> > -/* Shutdown.
> > - */
> > -void i915_mem_takedown(struct mem_block **heap)
> > -{
> > -	struct mem_block *p;
> > -
> > -	if (!*heap)
> > -		return;
> > -
> > -	for (p = (*heap)->next; p != *heap;) {
> > -		struct mem_block *q = p;
> > -		p = p->next;
> > -		kfree(q);
> > -	}
> > -
> > -	kfree(*heap);
> > -	*heap = NULL;
> > -}
> > -
> > -static struct mem_block **get_heap(drm_i915_private_t * dev_priv, int region)
> > -{
> > -	switch (region) {
> > -	case I915_MEM_REGION_AGP:
> > -		return &dev_priv->agp_heap;
> > -	default:
> > -		return NULL;
> > -	}
> > -}
> > -
> > -/* IOCTL HANDLERS */
> > -
> > -int i915_mem_alloc(struct drm_device *dev, void *data,
> > -		   struct drm_file *file_priv)
> > -{
> > -	drm_i915_private_t *dev_priv = dev->dev_private;
> > -	drm_i915_mem_alloc_t *alloc = data;
> > -	struct mem_block *block, **heap;
> > -
> > -	if (!dev_priv) {
> > -		DRM_ERROR("called with no initialization\n");
> > -		return -EINVAL;
> > -	}
> > -
> > -	heap = get_heap(dev_priv, alloc->region);
> > -	if (!heap || !*heap)
> > -		return -EFAULT;
> > -
> > -	/* Make things easier on ourselves: all allocations at least
> > -	 * 4k aligned.
> > -	 */
> > -	if (alloc->alignment < 12)
> > -		alloc->alignment = 12;
> > -
> > -	block = alloc_block(*heap, alloc->size, alloc->alignment, file_priv);
> > -
> > -	if (!block)
> > -		return -ENOMEM;
> > -
> > -	mark_block(dev, block, 1);
> > -
> > -	if (DRM_COPY_TO_USER(alloc->region_offset, &block->start,
> > -			     sizeof(int))) {
> > -		DRM_ERROR("copy_to_user\n");
> > -		return -EFAULT;
> > -	}
> > -
> > -	return 0;
> > -}
> > -
> > -int i915_mem_free(struct drm_device *dev, void *data,
> > -		  struct drm_file *file_priv)
> > -{
> > -	drm_i915_private_t *dev_priv = dev->dev_private;
> > -	drm_i915_mem_free_t *memfree = data;
> > -	struct mem_block *block, **heap;
> > -
> > -	if (!dev_priv) {
> > -		DRM_ERROR("called with no initialization\n");
> > -		return -EINVAL;
> > -	}
> > -
> > -	heap = get_heap(dev_priv, memfree->region);
> > -	if (!heap || !*heap)
> > -		return -EFAULT;
> > -
> > -	block = find_block(*heap, memfree->region_offset);
> > -	if (!block)
> > -		return -EFAULT;
> > -
> > -	if (block->file_priv != file_priv)
> > -		return -EPERM;
> > -
> > -	mark_block(dev, block, 0);
> > -	free_block(block);
> > -	return 0;
> > -}
> > -
> > -int i915_mem_init_heap(struct drm_device *dev, void *data,
> > -		       struct drm_file *file_priv)
> > -{
> > -	drm_i915_private_t *dev_priv = dev->dev_private;
> > -	drm_i915_mem_init_heap_t *initheap = data;
> > -	struct mem_block **heap;
> > -
> > -	if (!dev_priv) {
> > -		DRM_ERROR("called with no initialization\n");
> > -		return -EINVAL;
> > -	}
> > -
> > -	heap = get_heap(dev_priv, initheap->region);
> > -	if (!heap)
> > -		return -EFAULT;
> > -
> > -	if (*heap) {
> > -		DRM_ERROR("heap already initialized?");
> > -		return -EFAULT;
> > -	}
> > -
> > -	return init_heap(heap, initheap->start, initheap->size);
> > -}
> > -
> > -int i915_mem_destroy_heap(struct drm_device *dev, void *data,
> > -			   struct drm_file *file_priv)
> > -{
> > -	drm_i915_private_t *dev_priv = dev->dev_private;
> > -	drm_i915_mem_destroy_heap_t *destroyheap = data;
> > -	struct mem_block **heap;
> > -
> > -	if (!dev_priv) {
> > -		DRM_ERROR("called with no initialization\n");
> > -		return -EINVAL;
> > -	}
> > -
> > -	heap = get_heap(dev_priv, destroyheap->region);
> > -	if (!heap) {
> > -		DRM_ERROR("get_heap failed");
> > -		return -EFAULT;
> > -	}
> > -
> > -	if (!*heap) {
> > -		DRM_ERROR("heap not initialized?");
> > -		return -EFAULT;
> > -	}
> > -
> > -	i915_mem_takedown(heap);
> > -	return 0;
> > -}
> > -- 
> > 1.7.7.3
> > 
> 

^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.