diff options
author | William Pitcock <nenolod@dereferenced.org> | 2011-01-28 14:29:51 -0600 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2011-01-28 14:29:51 -0600 |
commit | c53d62a09149dbb7ab14c0f5b70dca8109d4b6cc (patch) | |
tree | 77f77e593899dc0e09a77885337cfe3932adeec3 /main | |
parent | 7fff8e689ed713e0a5dee8818aec4b735f0ec333 (diff) | |
download | aports-c53d62a09149dbb7ab14c0f5b70dca8109d4b6cc.tar.bz2 aports-c53d62a09149dbb7ab14c0f5b70dca8109d4b6cc.tar.xz |
main/linux-pae: removed; unmaintained
Diffstat (limited to 'main')
20 files changed, 0 insertions, 7722 deletions
diff --git a/main/linux-pae/0002-gre-fix-hard-header-destination-address-checking.patch b/main/linux-pae/0002-gre-fix-hard-header-destination-address-checking.patch deleted file mode 100644 index 36a0ae449a..0000000000 --- a/main/linux-pae/0002-gre-fix-hard-header-destination-address-checking.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9082391046940c410eac3bad065c8701998b5cab Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 3 Mar 2010 04:01:13 +0000 -Subject: [PATCH 02/18] gre: fix hard header destination address checking - -ipgre_header() can be called with zero daddr when the gre device is -configured as multipoint tunnel and still has the NOARP flag set (which is -typically cleared by the userspace arp daemon). If the NOARP packets are -not dropped, ipgre_tunnel_xmit() will take rt->rt_gateway (= NBMA IP) and -use that for route look up (and may lead to bogus xfrm acquires). - -The multicast address check is removed as sending to multicast group should -be ok. In fact, if gre device has a multicast address as destination -ipgre_header is always called with multicast address. - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit 6d55cb91a0020ac0d78edcad61efd6c8cf5785a3) ---- - net/ipv4/ip_gre.c | 7 ++----- - 1 files changed, 2 insertions(+), 5 deletions(-) - -diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c -index 1433338..ac88ce5 100644 ---- a/net/ipv4/ip_gre.c -+++ b/net/ipv4/ip_gre.c -@@ -1137,12 +1137,9 @@ static int ipgre_header(struct sk_buff *skb, struct net_device *dev, - - if (saddr) - memcpy(&iph->saddr, saddr, 4); -- -- if (daddr) { -+ if (daddr) - memcpy(&iph->daddr, daddr, 4); -- return t->hlen; -- } -- if (iph->daddr && !ipv4_is_multicast(iph->daddr)) -+ if (iph->daddr) - return t->hlen; - - return -t->hlen; --- -1.7.0.2 - diff --git a/main/linux-pae/0003-ip_gre-include-route-header_len-in-max_headroom-calc.patch b/main/linux-pae/0003-ip_gre-include-route-header_len-in-max_headroom-calc.patch deleted file mode 100644 index 61d7c9a6c1..0000000000 --- a/main/linux-pae/0003-ip_gre-include-route-header_len-in-max_headroom-calc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From cd0e9d08480e1e0648e17d099ecf50f6fd8714e5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Sat, 20 Mar 2010 02:27:58 +0000 -Subject: [PATCH 03/18] ip_gre: include route header_len in max_headroom calculation - -Taking route's header_len into account, and updating gre device -needed_headroom will give better hints on upper bound of required -headroom. This is useful if the gre traffic is xfrm'ed. - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Acked-by: Herbert Xu <herbert@gondor.apana.org.au> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit 243aad830e8a4cdda261626fbaeddde16b08d04a) ---- - net/ipv4/ip_gre.c | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c -index ac88ce5..7f1ff73 100644 ---- a/net/ipv4/ip_gre.c -+++ b/net/ipv4/ip_gre.c -@@ -803,11 +803,13 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev - tunnel->err_count = 0; - } - -- max_headroom = LL_RESERVED_SPACE(tdev) + gre_hlen; -+ max_headroom = LL_RESERVED_SPACE(tdev) + gre_hlen + rt->u.dst.header_len; - - if (skb_headroom(skb) < max_headroom || skb_shared(skb)|| - (skb_cloned(skb) && !skb_clone_writable(skb, 0))) { - struct sk_buff *new_skb = skb_realloc_headroom(skb, max_headroom); -+ if (max_headroom > dev->needed_headroom) -+ dev->needed_headroom = max_headroom; - if (!new_skb) { - ip_rt_put(rt); - stats->tx_dropped++; --- -1.7.0.2 - diff --git a/main/linux-pae/0004-arp-flush-arp-cache-on-device-change.patch b/main/linux-pae/0004-arp-flush-arp-cache-on-device-change.patch deleted file mode 100644 index 85161ea3a3..0000000000 --- a/main/linux-pae/0004-arp-flush-arp-cache-on-device-change.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8a0e3ea4924059a7268446177d6869e3399adbb2 Mon Sep 17 00:00:00 2001 -From: Timo Teras <timo.teras@iki.fi> -Date: Mon, 12 Apr 2010 13:46:45 +0000 -Subject: [PATCH 04/18] arp: flush arp cache on device change - -If IFF_NOARP is changed, we must flush the arp cache. - -Signed-off-by: Timo Teras <timo.teras@iki.fi> ---- - net/ipv4/arp.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c -index 4e80f33..580bfc3 100644 ---- a/net/ipv4/arp.c -+++ b/net/ipv4/arp.c -@@ -1200,6 +1200,9 @@ static int arp_netdev_event(struct notifier_block *this, unsigned long event, vo - neigh_changeaddr(&arp_tbl, dev); - rt_cache_flush(dev_net(dev), 0); - break; -+ case NETDEV_CHANGE: -+ neigh_changeaddr(&arp_tbl, dev); -+ break; - default: - break; - } --- -1.7.0.2 - diff --git a/main/linux-pae/0007-r8169-Fix-rtl8169_rx_interrupt.patch b/main/linux-pae/0007-r8169-Fix-rtl8169_rx_interrupt.patch deleted file mode 100644 index fad2723284..0000000000 --- a/main/linux-pae/0007-r8169-Fix-rtl8169_rx_interrupt.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 26654a966adb674afc30d285f7e79535d03c2492 Mon Sep 17 00:00:00 2001 -From: Eric Dumazet <eric.dumazet@gmail.com> -Date: Wed, 31 Mar 2010 02:08:31 +0000 -Subject: [PATCH 07/18] r8169: Fix rtl8169_rx_interrupt() - -In case a reset is performed, rtl8169_rx_interrupt() is called from -process context instead of softirq context. Special care must be taken -to call appropriate network core services (netif_rx() instead of -netif_receive_skb()). VLAN handling also corrected. - -Reported-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> -Tested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> -Diagnosed-by: Oleg Nesterov <oleg@redhat.com> -Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit 630b943c182d1aed69f244405131902fbcba7ec6) ---- - drivers/net/r8169.c | 22 +++++++++++++++++----- - 1 files changed, 17 insertions(+), 5 deletions(-) - -diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c -index 1484528..bed1d47 100644 ---- a/drivers/net/r8169.c -+++ b/drivers/net/r8169.c -@@ -1047,14 +1047,14 @@ static void rtl8169_vlan_rx_register(struct net_device *dev, - } - - static int rtl8169_rx_vlan_skb(struct rtl8169_private *tp, struct RxDesc *desc, -- struct sk_buff *skb) -+ struct sk_buff *skb, int polling) - { - u32 opts2 = le32_to_cpu(desc->opts2); - struct vlan_group *vlgrp = tp->vlgrp; - int ret; - - if (vlgrp && (opts2 & RxVlanTag)) { -- vlan_hwaccel_receive_skb(skb, vlgrp, swab16(opts2 & 0xffff)); -+ __vlan_hwaccel_rx(skb, vlgrp, swab16(opts2 & 0xffff), polling); - ret = 0; - } else - ret = -1; -@@ -1071,7 +1071,7 @@ static inline u32 rtl8169_tx_vlan_tag(struct rtl8169_private *tp, - } - - static int rtl8169_rx_vlan_skb(struct rtl8169_private *tp, struct RxDesc *desc, -- struct sk_buff *skb) -+ struct sk_buff *skb, int polling) - { - return -1; - } -@@ -4480,12 +4480,20 @@ out: - return done; - } - -+/* -+ * Warning : rtl8169_rx_interrupt() might be called : -+ * 1) from NAPI (softirq) context -+ * (polling = 1 : we should call netif_receive_skb()) -+ * 2) from process context (rtl8169_reset_task()) -+ * (polling = 0 : we must call netif_rx() instead) -+ */ - static int rtl8169_rx_interrupt(struct net_device *dev, - struct rtl8169_private *tp, - void __iomem *ioaddr, u32 budget) - { - unsigned int cur_rx, rx_left; - unsigned int delta, count; -+ int polling = (budget != ~(u32)0) ? 1 : 0; - - cur_rx = tp->cur_rx; - rx_left = NUM_RX_DESC + tp->dirty_rx - cur_rx; -@@ -4550,8 +4558,12 @@ static int rtl8169_rx_interrupt(struct net_device *dev, - skb_put(skb, pkt_size); - skb->protocol = eth_type_trans(skb, dev); - -- if (rtl8169_rx_vlan_skb(tp, desc, skb) < 0) -- netif_receive_skb(skb); -+ if (rtl8169_rx_vlan_skb(tp, desc, skb, polling) < 0) { -+ if (likely(polling)) -+ netif_receive_skb(skb); -+ else -+ netif_rx(skb); -+ } - - dev->stats.rx_bytes += pkt_size; - dev->stats.rx_packets++; --- -1.7.0.2 - diff --git a/main/linux-pae/0009-ipsec-Fix-bogus-bundle-flowi.patch b/main/linux-pae/0009-ipsec-Fix-bogus-bundle-flowi.patch deleted file mode 100644 index d4de0e1d58..0000000000 --- a/main/linux-pae/0009-ipsec-Fix-bogus-bundle-flowi.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 21ee14f92ef1b6d4ca965c9b59135f3462919631 Mon Sep 17 00:00:00 2001 -From: Herbert Xu <herbert@gondor.apana.org.au> -Date: Tue, 2 Mar 2010 02:51:56 +0000 -Subject: [PATCH 09/18] ipsec: Fix bogus bundle flowi - -When I merged the bundle creation code, I introduced a bogus -flowi value in the bundle. Instead of getting from the caller, -it was instead set to the flow in the route object, which is -totally different. - -The end result is that the bundles we created never match, and -we instead end up with an ever growing bundle list. - -Thanks to Jamal for find this problem. - -Reported-by: Jamal Hadi Salim <hadi@cyberus.ca> -Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> -Acked-by: Steffen Klassert <steffen.klassert@secunet.com> -Acked-by: Jamal Hadi Salim <hadi@cyberus.ca> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit 87c1e12b5eeb7b30b4b41291bef8e0b41fc3dde9) ---- - include/net/xfrm.h | 3 ++- - net/ipv4/xfrm4_policy.c | 5 +++-- - net/ipv6/xfrm6_policy.c | 3 ++- - net/xfrm/xfrm_policy.c | 7 ++++--- - 4 files changed, 11 insertions(+), 7 deletions(-) - -diff --git a/include/net/xfrm.h b/include/net/xfrm.h -index 223e90a..6960be2 100644 ---- a/include/net/xfrm.h -+++ b/include/net/xfrm.h -@@ -273,7 +273,8 @@ struct xfrm_policy_afinfo { - struct dst_entry *dst, - int nfheader_len); - int (*fill_dst)(struct xfrm_dst *xdst, -- struct net_device *dev); -+ struct net_device *dev, -+ struct flowi *fl); - }; - - extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo); -diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c -index 74fb2eb..7009886 100644 ---- a/net/ipv4/xfrm4_policy.c -+++ b/net/ipv4/xfrm4_policy.c -@@ -92,11 +92,12 @@ static int xfrm4_init_path(struct xfrm_dst *path, struct dst_entry *dst, - return 0; - } - --static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) -+static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, -+ struct flowi *fl) - { - struct rtable *rt = (struct rtable *)xdst->route; - -- xdst->u.rt.fl = rt->fl; -+ xdst->u.rt.fl = *fl; - - xdst->u.dst.dev = dev; - dev_hold(dev); -diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c -index 8ec3d45..3f89ab7 100644 ---- a/net/ipv6/xfrm6_policy.c -+++ b/net/ipv6/xfrm6_policy.c -@@ -117,7 +117,8 @@ static int xfrm6_init_path(struct xfrm_dst *path, struct dst_entry *dst, - return 0; - } - --static int xfrm6_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) -+static int xfrm6_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, -+ struct flowi *fl) - { - struct rt6_info *rt = (struct rt6_info*)xdst->route; - -diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c -index cb81ca3..d75047c 100644 ---- a/net/xfrm/xfrm_policy.c -+++ b/net/xfrm/xfrm_policy.c -@@ -1341,7 +1341,8 @@ static inline int xfrm_init_path(struct xfrm_dst *path, struct dst_entry *dst, - return err; - } - --static inline int xfrm_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) -+static inline int xfrm_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, -+ struct flowi *fl) - { - struct xfrm_policy_afinfo *afinfo = - xfrm_policy_get_afinfo(xdst->u.dst.ops->family); -@@ -1350,7 +1351,7 @@ static inline int xfrm_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) - if (!afinfo) - return -EINVAL; - -- err = afinfo->fill_dst(xdst, dev); -+ err = afinfo->fill_dst(xdst, dev, fl); - - xfrm_policy_put_afinfo(afinfo); - -@@ -1454,7 +1455,7 @@ static struct dst_entry *xfrm_bundle_create(struct xfrm_policy *policy, - for (dst_prev = dst0; dst_prev != dst; dst_prev = dst_prev->child) { - struct xfrm_dst *xdst = (struct xfrm_dst *)dst_prev; - -- err = xfrm_fill_dst(xdst, dev); -+ err = xfrm_fill_dst(xdst, dev, fl); - if (err) - goto free_dst; - --- -1.7.0.2 - diff --git a/main/linux-pae/0010-xfrm-Remove-xfrm_state_genid.patch b/main/linux-pae/0010-xfrm-Remove-xfrm_state_genid.patch deleted file mode 100644 index 8cfffd7398..0000000000 --- a/main/linux-pae/0010-xfrm-Remove-xfrm_state_genid.patch +++ /dev/null @@ -1,54 +0,0 @@ -From f2c59932757a06851bb740dc757ce2ba1961fc08 Mon Sep 17 00:00:00 2001 -From: Herbert Xu <herbert@gondor.apana.org.au> -Date: Wed, 31 Mar 2010 01:19:49 +0000 -Subject: [PATCH 10/18] xfrm: Remove xfrm_state_genid -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The xfrm state genid only needs to be matched against the copy -saved in xfrm_dst. So we don't need a global genid at all. In -fact, we don't even need to initialise it. - -Based on observation by Timo Teräs. - -Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit 34996cb91dd72f0b0456d8fd3fef4aaee62232f2) ---- - net/xfrm/xfrm_state.c | 5 +---- - 1 files changed, 1 insertions(+), 4 deletions(-) - -diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c -index f2f7c63..8ee733f 100644 ---- a/net/xfrm/xfrm_state.c -+++ b/net/xfrm/xfrm_state.c -@@ -34,7 +34,6 @@ - static DEFINE_SPINLOCK(xfrm_state_lock); - - static unsigned int xfrm_state_hashmax __read_mostly = 1 * 1024 * 1024; --static unsigned int xfrm_state_genid; - - static struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned int family); - static void xfrm_state_put_afinfo(struct xfrm_state_afinfo *afinfo); -@@ -903,8 +902,6 @@ static void __xfrm_state_insert(struct xfrm_state *x) - struct net *net = xs_net(x); - unsigned int h; - -- x->genid = ++xfrm_state_genid; -- - list_add(&x->km.all, &net->xfrm.state_all); - - h = xfrm_dst_hash(net, &x->id.daddr, &x->props.saddr, -@@ -948,7 +945,7 @@ static void __xfrm_state_bump_genids(struct xfrm_state *xnew) - x->props.reqid == reqid && - !xfrm_addr_cmp(&x->id.daddr, &xnew->id.daddr, family) && - !xfrm_addr_cmp(&x->props.saddr, &xnew->props.saddr, family)) -- x->genid = xfrm_state_genid; -+ x->genid++; - } - } - --- -1.7.0.2 - diff --git a/main/linux-pae/0011-xfrm_user-verify-policy-direction-at-XFRM_MSG_POLEXP.patch b/main/linux-pae/0011-xfrm_user-verify-policy-direction-at-XFRM_MSG_POLEXP.patch deleted file mode 100644 index ae2a0f9100..0000000000 --- a/main/linux-pae/0011-xfrm_user-verify-policy-direction-at-XFRM_MSG_POLEXP.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5b3e87bccb0e48f2f8b78695e949c015a3695f8e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 31 Mar 2010 00:17:04 +0000 -Subject: [PATCH 11/18] xfrm_user: verify policy direction at XFRM_MSG_POLEXPIRE handler - -Add missing check for policy direction verification. This is -especially important since without this xfrm_user may end up -deleting per-socket policy which is not allowed. - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Acked-by: Herbert Xu <herbert@gondor.apana.org.au> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit c8bf4d04f970fafb3430d332533e1cf103f2a018) ---- - net/xfrm/xfrm_user.c | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c -index b95a2d6..d1e9ee3 100644 ---- a/net/xfrm/xfrm_user.c -+++ b/net/xfrm/xfrm_user.c -@@ -1589,6 +1589,10 @@ static int xfrm_add_pol_expire(struct sk_buff *skb, struct nlmsghdr *nlh, - if (err) - return err; - -+ err = verify_policy_dir(p->dir); -+ if (err) -+ return err; -+ - if (p->index) - xp = xfrm_policy_byid(net, type, p->dir, p->index, 0, &err); - else { --- -1.7.0.2 - diff --git a/main/linux-pae/0012-xfrm-remove-policy-lock-when-accessing-policy-walk.d.patch b/main/linux-pae/0012-xfrm-remove-policy-lock-when-accessing-policy-walk.d.patch deleted file mode 100644 index 222caaddfd..0000000000 --- a/main/linux-pae/0012-xfrm-remove-policy-lock-when-accessing-policy-walk.d.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 7a400eb025dd53883c3560d0fdb069542f7ad3db Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 31 Mar 2010 00:17:05 +0000 -Subject: [PATCH 12/18] xfrm: remove policy lock when accessing policy->walk.dead - -All of the code considers ->dead as a hint that the cached policy -needs to get refreshed. The read side can just drop the read lock -without any side effects. - -The write side needs to make sure that it's written only exactly -once. Only possible race is at xfrm_policy_kill(). This is fixed -by checking result of __xfrm_policy_unlink() when needed. It will -always succeed if the policy object is looked up from the hash -list (so some checks are removed), but it needs to be checked if -we are trying to unlink policy via a reference (appropriate -checks added). - -Since policy->walk.dead is written exactly once, it no longer -needs to be protected with a write lock. - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Acked-by: Herbert Xu <herbert@gondor.apana.org.au> -Signed-off-by: David S. Miller <davem@davemloft.net> -(backported from commit ea2dea9dacc256fe927857feb423872051642ae7) ---- - net/xfrm/xfrm_policy.c | 20 +++++--------------- - net/xfrm/xfrm_user.c | 6 +----- - 2 files changed, 6 insertions(+), 20 deletions(-) - -diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c -index d75047c..110184f 100644 ---- a/net/xfrm/xfrm_policy.c -+++ b/net/xfrm/xfrm_policy.c -@@ -156,7 +156,7 @@ static void xfrm_policy_timer(unsigned long data) - - read_lock(&xp->lock); - -- if (xp->walk.dead) -+ if (unlikely(xp->walk.dead)) - goto out; - - dir = xfrm_policy_id2dir(xp->index); -@@ -297,17 +297,7 @@ static DECLARE_WORK(xfrm_policy_gc_work, xfrm_policy_gc_task); - - static void xfrm_policy_kill(struct xfrm_policy *policy) - { -- int dead; -- -- write_lock_bh(&policy->lock); -- dead = policy->walk.dead; - policy->walk.dead = 1; -- write_unlock_bh(&policy->lock); -- -- if (unlikely(dead)) { -- WARN_ON(1); -- return; -- } - - spin_lock_bh(&xfrm_policy_gc_lock); - hlist_add_head(&policy->bydst, &xfrm_policy_gc_list); -@@ -1115,6 +1105,9 @@ int xfrm_sk_policy_insert(struct sock *sk, int dir, struct xfrm_policy *pol) - __xfrm_policy_link(pol, XFRM_POLICY_MAX+dir); - } - if (old_pol) -+ /* Unlinking succeeds always. This is the only function -+ * allowed to delete or replace socket policy. -+ */ - __xfrm_policy_unlink(old_pol, XFRM_POLICY_MAX+dir); - write_unlock_bh(&xfrm_policy_lock); - -@@ -1705,11 +1698,8 @@ restart: - goto error; - } - -- for (pi = 0; pi < npols; pi++) { -- read_lock_bh(&pols[pi]->lock); -+ for (pi = 0; pi < npols; pi++) - pol_dead |= pols[pi]->walk.dead; -- read_unlock_bh(&pols[pi]->lock); -- } - - write_lock_bh(&policy->lock); - if (unlikely(pol_dead || stale_bundle(dst))) { -diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c -index d1e9ee3..f9c56e9 100644 ---- a/net/xfrm/xfrm_user.c -+++ b/net/xfrm/xfrm_user.c -@@ -1617,13 +1617,9 @@ static int xfrm_add_pol_expire(struct sk_buff *skb, struct nlmsghdr *nlh, - if (xp == NULL) - return -ENOENT; - -- read_lock(&xp->lock); -- if (xp->walk.dead) { -- read_unlock(&xp->lock); -+ if (unlikely(xp->walk.dead)) - goto out; -- } - -- read_unlock(&xp->lock); - err = 0; - if (up->hard) { - uid_t loginuid = NETLINK_CB(skb).loginuid; --- -1.7.0.2 - diff --git a/main/linux-pae/0013-flow-structurize-flow-cache.patch b/main/linux-pae/0013-flow-structurize-flow-cache.patch deleted file mode 100644 index 68fa753a2c..0000000000 --- a/main/linux-pae/0013-flow-structurize-flow-cache.patch +++ /dev/null @@ -1,395 +0,0 @@ -From 884f6e44f0b405c06bd234b14cc228482291bb38 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 31 Mar 2010 00:17:06 +0000 -Subject: [PATCH 13/18] flow: structurize flow cache - -Group all per-cpu data to one structure instead of having many -globals. Also prepare the internals so that we can have multiple -instances of the flow cache if needed. - -Only the kmem_cache is left as a global as all flow caches share -the same element size, and benefit from using a common cache. - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Acked-by: Herbert Xu <herbert@gondor.apana.org.au> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit d7997fe1f4584da12e9c29fb682c18e9bdc13b73) ---- - net/core/flow.c | 223 +++++++++++++++++++++++++++++-------------------------- - 1 files changed, 119 insertions(+), 104 deletions(-) - -diff --git a/net/core/flow.c b/net/core/flow.c -index 9601587..1d27ca6 100644 ---- a/net/core/flow.c -+++ b/net/core/flow.c -@@ -35,104 +35,105 @@ struct flow_cache_entry { - atomic_t *object_ref; - }; - --atomic_t flow_cache_genid = ATOMIC_INIT(0); -- --static u32 flow_hash_shift; --#define flow_hash_size (1 << flow_hash_shift) --static DEFINE_PER_CPU(struct flow_cache_entry **, flow_tables) = { NULL }; -- --#define flow_table(cpu) (per_cpu(flow_tables, cpu)) -- --static struct kmem_cache *flow_cachep __read_mostly; -- --static int flow_lwm, flow_hwm; -- --struct flow_percpu_info { -- int hash_rnd_recalc; -- u32 hash_rnd; -- int count; -+struct flow_cache_percpu { -+ struct flow_cache_entry ** hash_table; -+ int hash_count; -+ u32 hash_rnd; -+ int hash_rnd_recalc; -+ struct tasklet_struct flush_tasklet; - }; --static DEFINE_PER_CPU(struct flow_percpu_info, flow_hash_info) = { 0 }; -- --#define flow_hash_rnd_recalc(cpu) \ -- (per_cpu(flow_hash_info, cpu).hash_rnd_recalc) --#define flow_hash_rnd(cpu) \ -- (per_cpu(flow_hash_info, cpu).hash_rnd) --#define flow_count(cpu) \ -- (per_cpu(flow_hash_info, cpu).count) -- --static struct timer_list flow_hash_rnd_timer; -- --#define FLOW_HASH_RND_PERIOD (10 * 60 * HZ) - - struct flow_flush_info { -- atomic_t cpuleft; -- struct completion completion; -+ struct flow_cache * cache; -+ atomic_t cpuleft; -+ struct completion completion; - }; --static DEFINE_PER_CPU(struct tasklet_struct, flow_flush_tasklets) = { NULL }; - --#define flow_flush_tasklet(cpu) (&per_cpu(flow_flush_tasklets, cpu)) -+struct flow_cache { -+ u32 hash_shift; -+ unsigned long order; -+ struct flow_cache_percpu * percpu; -+ struct notifier_block hotcpu_notifier; -+ int low_watermark; -+ int high_watermark; -+ struct timer_list rnd_timer; -+}; -+ -+atomic_t flow_cache_genid = ATOMIC_INIT(0); -+static struct flow_cache flow_cache_global; -+static struct kmem_cache *flow_cachep; -+ -+#define flow_cache_hash_size(cache) (1 << (cache)->hash_shift) -+#define FLOW_HASH_RND_PERIOD (10 * 60 * HZ) - - static void flow_cache_new_hashrnd(unsigned long arg) - { -+ struct flow_cache *fc = (void *) arg; - int i; - - for_each_possible_cpu(i) -- flow_hash_rnd_recalc(i) = 1; -+ per_cpu_ptr(fc->percpu, i)->hash_rnd_recalc = 1; - -- flow_hash_rnd_timer.expires = jiffies + FLOW_HASH_RND_PERIOD; -- add_timer(&flow_hash_rnd_timer); -+ fc->rnd_timer.expires = jiffies + FLOW_HASH_RND_PERIOD; -+ add_timer(&fc->rnd_timer); - } - --static void flow_entry_kill(int cpu, struct flow_cache_entry *fle) -+static void flow_entry_kill(struct flow_cache *fc, -+ struct flow_cache_percpu *fcp, -+ struct flow_cache_entry *fle) - { - if (fle->object) - atomic_dec(fle->object_ref); - kmem_cache_free(flow_cachep, fle); -- flow_count(cpu)--; -+ fcp->hash_count--; - } - --static void __flow_cache_shrink(int cpu, int shrink_to) -+static void __flow_cache_shrink(struct flow_cache *fc, -+ struct flow_cache_percpu *fcp, -+ int shrink_to) - { - struct flow_cache_entry *fle, **flp; - int i; - -- for (i = 0; i < flow_hash_size; i++) { -+ for (i = 0; i < flow_cache_hash_size(fc); i++) { - int k = 0; - -- flp = &flow_table(cpu)[i]; -+ flp = &fcp->hash_table[i]; - while ((fle = *flp) != NULL && k < shrink_to) { - k++; - flp = &fle->next; - } - while ((fle = *flp) != NULL) { - *flp = fle->next; -- flow_entry_kill(cpu, fle); -+ flow_entry_kill(fc, fcp, fle); - } - } - } - --static void flow_cache_shrink(int cpu) -+static void flow_cache_shrink(struct flow_cache *fc, -+ struct flow_cache_percpu *fcp) - { -- int shrink_to = flow_lwm / flow_hash_size; -+ int shrink_to = fc->low_watermark / flow_cache_hash_size(fc); - -- __flow_cache_shrink(cpu, shrink_to); -+ __flow_cache_shrink(fc, fcp, shrink_to); - } - --static void flow_new_hash_rnd(int cpu) -+static void flow_new_hash_rnd(struct flow_cache *fc, -+ struct flow_cache_percpu *fcp) - { -- get_random_bytes(&flow_hash_rnd(cpu), sizeof(u32)); -- flow_hash_rnd_recalc(cpu) = 0; -- -- __flow_cache_shrink(cpu, 0); -+ get_random_bytes(&fcp->hash_rnd, sizeof(u32)); -+ fcp->hash_rnd_recalc = 0; -+ __flow_cache_shrink(fc, fcp, 0); - } - --static u32 flow_hash_code(struct flowi *key, int cpu) -+static u32 flow_hash_code(struct flow_cache *fc, -+ struct flow_cache_percpu *fcp, -+ struct flowi *key) - { - u32 *k = (u32 *) key; - -- return (jhash2(k, (sizeof(*key) / sizeof(u32)), flow_hash_rnd(cpu)) & -- (flow_hash_size - 1)); -+ return (jhash2(k, (sizeof(*key) / sizeof(u32)), fcp->hash_rnd) -+ & (flow_cache_hash_size(fc) - 1)); - } - - #if (BITS_PER_LONG == 64) -@@ -168,24 +169,25 @@ static int flow_key_compare(struct flowi *key1, struct flowi *key2) - void *flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, - flow_resolve_t resolver) - { -+ struct flow_cache *fc = &flow_cache_global; -+ struct flow_cache_percpu *fcp; - struct flow_cache_entry *fle, **head; - unsigned int hash; -- int cpu; - - local_bh_disable(); -- cpu = smp_processor_id(); -+ fcp = per_cpu_ptr(fc->percpu, smp_processor_id()); - - fle = NULL; - /* Packet really early in init? Making flow_cache_init a - * pre-smp initcall would solve this. --RR */ -- if (!flow_table(cpu)) -+ if (!fcp->hash_table) - goto nocache; - -- if (flow_hash_rnd_recalc(cpu)) -- flow_new_hash_rnd(cpu); -- hash = flow_hash_code(key, cpu); -+ if (fcp->hash_rnd_recalc) -+ flow_new_hash_rnd(fc, fcp); -+ hash = flow_hash_code(fc, fcp, key); - -- head = &flow_table(cpu)[hash]; -+ head = &fcp->hash_table[hash]; - for (fle = *head; fle; fle = fle->next) { - if (fle->family == family && - fle->dir == dir && -@@ -204,8 +206,8 @@ void *flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, - } - - if (!fle) { -- if (flow_count(cpu) > flow_hwm) -- flow_cache_shrink(cpu); -+ if (fcp->hash_count > fc->high_watermark) -+ flow_cache_shrink(fc, fcp); - - fle = kmem_cache_alloc(flow_cachep, GFP_ATOMIC); - if (fle) { -@@ -215,7 +217,7 @@ void *flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, - fle->dir = dir; - memcpy(&fle->key, key, sizeof(*key)); - fle->object = NULL; -- flow_count(cpu)++; -+ fcp->hash_count++; - } - } - -@@ -249,14 +251,15 @@ nocache: - static void flow_cache_flush_tasklet(unsigned long data) - { - struct flow_flush_info *info = (void *)data; -+ struct flow_cache *fc = info->cache; -+ struct flow_cache_percpu *fcp; - int i; -- int cpu; - -- cpu = smp_processor_id(); -- for (i = 0; i < flow_hash_size; i++) { -+ fcp = per_cpu_ptr(fc->percpu, smp_processor_id()); -+ for (i = 0; i < flow_cache_hash_size(fc); i++) { - struct flow_cache_entry *fle; - -- fle = flow_table(cpu)[i]; -+ fle = fcp->hash_table[i]; - for (; fle; fle = fle->next) { - unsigned genid = atomic_read(&flow_cache_genid); - -@@ -272,7 +275,6 @@ static void flow_cache_flush_tasklet(unsigned long data) - complete(&info->completion); - } - --static void flow_cache_flush_per_cpu(void *) __attribute__((__unused__)); - static void flow_cache_flush_per_cpu(void *data) - { - struct flow_flush_info *info = data; -@@ -280,8 +282,7 @@ static void flow_cache_flush_per_cpu(void *data) - struct tasklet_struct *tasklet; - - cpu = smp_processor_id(); -- -- tasklet = flow_flush_tasklet(cpu); -+ tasklet = &per_cpu_ptr(info->cache->percpu, cpu)->flush_tasklet; - tasklet->data = (unsigned long)info; - tasklet_schedule(tasklet); - } -@@ -294,6 +295,7 @@ void flow_cache_flush(void) - /* Don't want cpus going down or up during this. */ - get_online_cpus(); - mutex_lock(&flow_flush_sem); -+ info.cache = &flow_cache_global; - atomic_set(&info.cpuleft, num_online_cpus()); - init_completion(&info.completion); - -@@ -307,62 +309,75 @@ void flow_cache_flush(void) - put_online_cpus(); - } - --static void __init flow_cache_cpu_prepare(int cpu) -+static void __init flow_cache_cpu_prepare(struct flow_cache *fc, -+ struct flow_cache_percpu *fcp) - { -- struct tasklet_struct *tasklet; -- unsigned long order; -- -- for (order = 0; -- (PAGE_SIZE << order) < -- (sizeof(struct flow_cache_entry *)*flow_hash_size); -- order++) -- /* NOTHING */; -- -- flow_table(cpu) = (struct flow_cache_entry **) -- __get_free_pages(GFP_KERNEL|__GFP_ZERO, order); -- if (!flow_table(cpu)) -- panic("NET: failed to allocate flow cache order %lu\n", order); -- -- flow_hash_rnd_recalc(cpu) = 1; -- flow_count(cpu) = 0; -- -- tasklet = flow_flush_tasklet(cpu); -- tasklet_init(tasklet, flow_cache_flush_tasklet, 0); -+ fcp->hash_table = (struct flow_cache_entry **) -+ __get_free_pages(GFP_KERNEL|__GFP_ZERO, fc->order); -+ if (!fcp->hash_table) -+ panic("NET: failed to allocate flow cache order %lu\n", fc->order); -+ -+ fcp->hash_rnd_recalc = 1; -+ fcp->hash_count = 0; -+ tasklet_init(&fcp->flush_tasklet, flow_cache_flush_tasklet, 0); - } - - static int flow_cache_cpu(struct notifier_block *nfb, - unsigned long action, - void *hcpu) - { -+ struct flow_cache *fc = container_of(nfb, struct flow_cache, hotcpu_notifier); -+ int cpu = (unsigned long) hcpu; -+ struct flow_cache_percpu *fcp = per_cpu_ptr(fc->percpu, cpu); -+ - if (action == CPU_DEAD || action == CPU_DEAD_FROZEN) -- __flow_cache_shrink((unsigned long)hcpu, 0); -+ __flow_cache_shrink(fc, fcp, 0); - return NOTIFY_OK; - } - --static int __init flow_cache_init(void) -+static int flow_cache_init(struct flow_cache *fc) - { -+ unsigned long order; - int i; - -- flow_cachep = kmem_cache_create("flow_cache", -- sizeof(struct flow_cache_entry), -- 0, SLAB_PANIC, -- NULL); -- flow_hash_shift = 10; -- flow_lwm = 2 * flow_hash_size; -- flow_hwm = 4 * flow_hash_size; -+ fc->hash_shift = 10; -+ fc->low_watermark = 2 * flow_cache_hash_size(fc); -+ fc->high_watermark = 4 * flow_cache_hash_size(fc); -+ -+ for (order = 0; -+ (PAGE_SIZE << order) < -+ (sizeof(struct flow_cache_entry *)*flow_cache_hash_size(fc)); -+ order++) -+ /* NOTHING */; -+ fc->order = order; -+ fc->percpu = alloc_percpu(struct flow_cache_percpu); - -- setup_timer(&flow_hash_rnd_timer, flow_cache_new_hashrnd, 0); -- flow_hash_rnd_timer.expires = jiffies + FLOW_HASH_RND_PERIOD; -- add_timer(&flow_hash_rnd_timer); -+ setup_timer(&fc->rnd_timer, flow_cache_new_hashrnd, -+ (unsigned long) fc); -+ fc->rnd_timer.expires = jiffies + FLOW_HASH_RND_PERIOD; -+ add_timer(&fc->rnd_timer); - - for_each_possible_cpu(i) -- flow_cache_cpu_prepare(i); -+ flow_cache_cpu_prepare(fc, per_cpu_ptr(fc->percpu, i)); -+ -+ fc->hotcpu_notifier = (struct notifier_block){ -+ .notifier_call = flow_cache_cpu, -+ }; -+ register_hotcpu_notifier(&fc->hotcpu_notifier); - -- hotcpu_notifier(flow_cache_cpu, 0); - return 0; - } - --module_init(flow_cache_init); -+static int __init flow_cache_init_global(void) -+{ -+ flow_cachep = kmem_cache_create("flow_cache", -+ sizeof(struct flow_cache_entry), -+ 0, SLAB_PANIC, NULL); -+ -+ return flow_cache_init(&flow_cache_global); -+} -+ -+module_init(flow_cache_init_global); - - EXPORT_SYMBOL(flow_cache_genid); - EXPORT_SYMBOL(flow_cache_lookup); --- -1.7.0.2 - diff --git a/main/linux-pae/0014-flow-virtualize-flow-cache-entry-methods.patch b/main/linux-pae/0014-flow-virtualize-flow-cache-entry-methods.patch deleted file mode 100644 index 5c4a9ea594..0000000000 --- a/main/linux-pae/0014-flow-virtualize-flow-cache-entry-methods.patch +++ /dev/null @@ -1,513 +0,0 @@ -From d56cd1c538e5448fe43acc69991aa842f382a622 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 7 Apr 2010 00:30:04 +0000 -Subject: [PATCH 14/18] flow: virtualize flow cache entry methods - -This allows to validate the cached object before returning it. -It also allows to destruct object properly, if the last reference -was held in flow cache. This is also a prepartion for caching -bundles in the flow cache. - -In return for virtualizing the methods, we save on: -- not having to regenerate the whole flow cache on policy removal: - each flow matching a killed policy gets refreshed as the getter - function notices it smartly. -- we do not have to call flow_cache_flush from policy gc, since the - flow cache now properly deletes the object if it had any references - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Acked-by: Herbert Xu <herbert@gondor.apana.org.au> -Signed-off-by: David S. Miller <davem@davemloft.net> -(backported from commit fe1a5f031e76bd8761a7803d75b95ee96e84a574) ---- - include/net/flow.h | 23 +++++++-- - include/net/xfrm.h | 3 + - net/core/flow.c | 128 +++++++++++++++++++++++++---------------------- - net/xfrm/xfrm_policy.c | 111 ++++++++++++++++++++++++++++-------------- - 4 files changed, 164 insertions(+), 101 deletions(-) - -diff --git a/include/net/flow.h b/include/net/flow.h -index 809970b..bb08692 100644 ---- a/include/net/flow.h -+++ b/include/net/flow.h -@@ -86,11 +86,26 @@ struct flowi { - - struct net; - struct sock; --typedef int (*flow_resolve_t)(struct net *net, struct flowi *key, u16 family, -- u8 dir, void **objp, atomic_t **obj_refp); -+struct flow_cache_ops; -+ -+struct flow_cache_object { -+ const struct flow_cache_ops *ops; -+}; -+ -+struct flow_cache_ops { -+ struct flow_cache_object *(*get)(struct flow_cache_object *); -+ int (*check)(struct flow_cache_object *); -+ void (*delete)(struct flow_cache_object *); -+}; -+ -+typedef struct flow_cache_object *(*flow_resolve_t)( -+ struct net *net, struct flowi *key, u16 family, -+ u8 dir, struct flow_cache_object *oldobj, void *ctx); -+ -+extern struct flow_cache_object *flow_cache_lookup( -+ struct net *net, struct flowi *key, u16 family, -+ u8 dir, flow_resolve_t resolver, void *ctx); - --extern void *flow_cache_lookup(struct net *net, struct flowi *key, u16 family, -- u8 dir, flow_resolve_t resolver); - extern void flow_cache_flush(void); - extern atomic_t flow_cache_genid; - -diff --git a/include/net/xfrm.h b/include/net/xfrm.h -index 6960be2..6023a48 100644 ---- a/include/net/xfrm.h -+++ b/include/net/xfrm.h -@@ -19,6 +19,8 @@ - #include <net/route.h> - #include <net/ipv6.h> - #include <net/ip6_fib.h> -+#include <net/flow.h> -+ - #ifdef CONFIG_XFRM_STATISTICS - #include <net/snmp.h> - #endif -@@ -482,6 +484,7 @@ struct xfrm_policy - atomic_t refcnt; - struct timer_list timer; - -+ struct flow_cache_object flo; - u32 priority; - u32 index; - struct xfrm_selector selector; -diff --git a/net/core/flow.c b/net/core/flow.c -index 1d27ca6..521df52 100644 ---- a/net/core/flow.c -+++ b/net/core/flow.c -@@ -26,17 +26,16 @@ - #include <linux/security.h> - - struct flow_cache_entry { -- struct flow_cache_entry *next; -- u16 family; -- u8 dir; -- u32 genid; -- struct flowi key; -- void *object; -- atomic_t *object_ref; -+ struct flow_cache_entry *next; -+ u16 family; -+ u8 dir; -+ u32 genid; -+ struct flowi key; -+ struct flow_cache_object *object; - }; - - struct flow_cache_percpu { -- struct flow_cache_entry ** hash_table; -+ struct flow_cache_entry **hash_table; - int hash_count; - u32 hash_rnd; - int hash_rnd_recalc; -@@ -44,7 +43,7 @@ struct flow_cache_percpu { - }; - - struct flow_flush_info { -- struct flow_cache * cache; -+ struct flow_cache *cache; - atomic_t cpuleft; - struct completion completion; - }; -@@ -52,7 +51,7 @@ struct flow_flush_info { - struct flow_cache { - u32 hash_shift; - unsigned long order; -- struct flow_cache_percpu * percpu; -+ struct flow_cache_percpu *percpu; - struct notifier_block hotcpu_notifier; - int low_watermark; - int high_watermark; -@@ -78,12 +77,21 @@ static void flow_cache_new_hashrnd(unsigned long arg) - add_timer(&fc->rnd_timer); - } - -+static int flow_entry_valid(struct flow_cache_entry *fle) -+{ -+ if (atomic_read(&flow_cache_genid) != fle->genid) -+ return 0; -+ if (fle->object && !fle->object->ops->check(fle->object)) -+ return 0; -+ return 1; -+} -+ - static void flow_entry_kill(struct flow_cache *fc, - struct flow_cache_percpu *fcp, - struct flow_cache_entry *fle) - { - if (fle->object) -- atomic_dec(fle->object_ref); -+ fle->object->ops->delete(fle->object); - kmem_cache_free(flow_cachep, fle); - fcp->hash_count--; - } -@@ -96,16 +104,18 @@ static void __flow_cache_shrink(struct flow_cache *fc, - int i; - - for (i = 0; i < flow_cache_hash_size(fc); i++) { -- int k = 0; -+ int saved = 0; - - flp = &fcp->hash_table[i]; -- while ((fle = *flp) != NULL && k < shrink_to) { -- k++; -- flp = &fle->next; -- } - while ((fle = *flp) != NULL) { -- *flp = fle->next; -- flow_entry_kill(fc, fcp, fle); -+ if (saved < shrink_to && -+ flow_entry_valid(fle)) { -+ saved++; -+ flp = &fle->next; -+ } else { -+ *flp = fle->next; -+ flow_entry_kill(fc, fcp, fle); -+ } - } - } - } -@@ -166,18 +176,21 @@ static int flow_key_compare(struct flowi *key1, struct flowi *key2) - return 0; - } - --void *flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, -- flow_resolve_t resolver) -+struct flow_cache_object * -+flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, -+ flow_resolve_t resolver, void *ctx) - { - struct flow_cache *fc = &flow_cache_global; - struct flow_cache_percpu *fcp; - struct flow_cache_entry *fle, **head; -+ struct flow_cache_object *flo; - unsigned int hash; - - local_bh_disable(); - fcp = per_cpu_ptr(fc->percpu, smp_processor_id()); - - fle = NULL; -+ flo = NULL; - /* Packet really early in init? Making flow_cache_init a - * pre-smp initcall would solve this. --RR */ - if (!fcp->hash_table) -@@ -185,27 +198,17 @@ void *flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, - - if (fcp->hash_rnd_recalc) - flow_new_hash_rnd(fc, fcp); -- hash = flow_hash_code(fc, fcp, key); - -+ hash = flow_hash_code(fc, fcp, key); - head = &fcp->hash_table[hash]; - for (fle = *head; fle; fle = fle->next) { - if (fle->family == family && - fle->dir == dir && -- flow_key_compare(key, &fle->key) == 0) { -- if (fle->genid == atomic_read(&flow_cache_genid)) { -- void *ret = fle->object; -- -- if (ret) -- atomic_inc(fle->object_ref); -- local_bh_enable(); -- -- return ret; -- } -+ flow_key_compare(key, &fle->key) == 0) - break; -- } - } - -- if (!fle) { -+ if (unlikely(!fle)) { - if (fcp->hash_count > fc->high_watermark) - flow_cache_shrink(fc, fcp); - -@@ -219,33 +222,39 @@ void *flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, - fle->object = NULL; - fcp->hash_count++; - } -+ } else if (likely(fle->genid == atomic_read(&flow_cache_genid))) { -+ flo = fle->object; -+ if (!flo) -+ goto ret_object; -+ flo = flo->ops->get(flo); -+ if (flo) -+ goto ret_object; -+ } else if (fle->object) { -+ flo = fle->object; -+ flo->ops->delete(flo); -+ fle->object = NULL; - } - - nocache: -- { -- int err; -- void *obj; -- atomic_t *obj_ref; -- -- err = resolver(net, key, family, dir, &obj, &obj_ref); -- -- if (fle && !err) { -- fle->genid = atomic_read(&flow_cache_genid); -- -- if (fle->object) -- atomic_dec(fle->object_ref); -- -- fle->object = obj; -- fle->object_ref = obj_ref; -- if (obj) -- atomic_inc(fle->object_ref); -- } -- local_bh_enable(); -- -- if (err) -- obj = ERR_PTR(err); -- return obj; -+ flo = NULL; -+ if (fle) { -+ flo = fle->object; -+ fle->object = NULL; -+ } -+ flo = resolver(net, key, family, dir, flo, ctx); -+ if (fle) { -+ fle->genid = atomic_read(&flow_cache_genid); -+ if (!IS_ERR(flo)) -+ fle->object = flo; -+ else -+ fle->genid--; -+ } else { -+ if (flo && !IS_ERR(flo)) -+ flo->ops->delete(flo); - } -+ret_object: -+ local_bh_enable(); -+ return flo; - } - - static void flow_cache_flush_tasklet(unsigned long data) -@@ -261,13 +270,12 @@ static void flow_cache_flush_tasklet(unsigned long data) - - fle = fcp->hash_table[i]; - for (; fle; fle = fle->next) { -- unsigned genid = atomic_read(&flow_cache_genid); -- -- if (!fle->object || fle->genid == genid) -+ if (flow_entry_valid(fle)) - continue; - -+ if (fle->object) -+ fle->object->ops->delete(fle->object); - fle->object = NULL; -- atomic_dec(fle->object_ref); - } - } - -diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c -index 110184f..d1eb2b5 100644 ---- a/net/xfrm/xfrm_policy.c -+++ b/net/xfrm/xfrm_policy.c -@@ -216,6 +216,35 @@ expired: - xfrm_pol_put(xp); - } - -+static struct flow_cache_object *xfrm_policy_flo_get(struct flow_cache_object *flo) -+{ -+ struct xfrm_policy *pol = container_of(flo, struct xfrm_policy, flo); -+ -+ if (unlikely(pol->walk.dead)) -+ flo = NULL; -+ else -+ xfrm_pol_hold(pol); -+ -+ return flo; -+} -+ -+static int xfrm_policy_flo_check(struct flow_cache_object *flo) -+{ -+ struct xfrm_policy *pol = container_of(flo, struct xfrm_policy, flo); -+ -+ return !pol->walk.dead; -+} -+ -+static void xfrm_policy_flo_delete(struct flow_cache_object *flo) -+{ -+ xfrm_pol_put(container_of(flo, struct xfrm_policy, flo)); -+} -+ -+static const struct flow_cache_ops xfrm_policy_fc_ops = { -+ .get = xfrm_policy_flo_get, -+ .check = xfrm_policy_flo_check, -+ .delete = xfrm_policy_flo_delete, -+}; - - /* Allocate xfrm_policy. Not used here, it is supposed to be used by pfkeyv2 - * SPD calls. -@@ -236,6 +265,7 @@ struct xfrm_policy *xfrm_policy_alloc(struct net *net, gfp_t gfp) - atomic_set(&policy->refcnt, 1); - setup_timer(&policy->timer, xfrm_policy_timer, - (unsigned long)policy); -+ policy->flo.ops = &xfrm_policy_fc_ops; - } - return policy; - } -@@ -269,9 +299,6 @@ static void xfrm_policy_gc_kill(struct xfrm_policy *policy) - if (del_timer(&policy->timer)) - atomic_dec(&policy->refcnt); - -- if (atomic_read(&policy->refcnt) > 1) -- flow_cache_flush(); -- - xfrm_pol_put(policy); - } - -@@ -658,10 +685,8 @@ struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, u8 type, int dir, - } - write_unlock_bh(&xfrm_policy_lock); - -- if (ret && delete) { -- atomic_inc(&flow_cache_genid); -+ if (ret && delete) - xfrm_policy_kill(ret); -- } - return ret; - } - EXPORT_SYMBOL(xfrm_policy_bysel_ctx); -@@ -699,10 +724,8 @@ struct xfrm_policy *xfrm_policy_byid(struct net *net, u8 type, int dir, u32 id, - } - write_unlock_bh(&xfrm_policy_lock); - -- if (ret && delete) { -- atomic_inc(&flow_cache_genid); -+ if (ret && delete) - xfrm_policy_kill(ret); -- } - return ret; - } - EXPORT_SYMBOL(xfrm_policy_byid); -@@ -967,32 +990,35 @@ fail: - return ret; - } - --static int xfrm_policy_lookup(struct net *net, struct flowi *fl, u16 family, -- u8 dir, void **objp, atomic_t **obj_refp) -+static struct flow_cache_object * -+xfrm_policy_lookup(struct net *net, struct flowi *fl, u16 family, -+ u8 dir, struct flow_cache_object *old_obj, void *ctx) - { - struct xfrm_policy *pol; -- int err = 0; -+ -+ if (old_obj) -+ xfrm_pol_put(container_of(old_obj, struct xfrm_policy, flo)); - - #ifdef CONFIG_XFRM_SUB_POLICY - pol = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_SUB, fl, family, dir); -- if (IS_ERR(pol)) { -- err = PTR_ERR(pol); -- pol = NULL; -- } -- if (pol || err) -- goto end; -+ if (IS_ERR(pol)) -+ return ERR_CAST(pol); -+ if (pol) -+ goto found; - #endif - pol = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_MAIN, fl, family, dir); -- if (IS_ERR(pol)) { -- err = PTR_ERR(pol); -- pol = NULL; -- } --#ifdef CONFIG_XFRM_SUB_POLICY --end: --#endif -- if ((*objp = (void *) pol) != NULL) -- *obj_refp = &pol->refcnt; -- return err; -+ if (IS_ERR(pol)) -+ return ERR_CAST(pol); -+ if (pol) -+ goto found; -+ return NULL; -+ -+found: -+ /* Resolver returns two references: -+ * one for cache and one for caller of flow_cache_lookup() */ -+ xfrm_pol_hold(pol); -+ -+ return &pol->flo; - } - - static inline int policy_to_flow_dir(int dir) -@@ -1077,8 +1103,6 @@ int xfrm_policy_delete(struct xfrm_policy *pol, int dir) - pol = __xfrm_policy_unlink(pol, dir); - write_unlock_bh(&xfrm_policy_lock); - if (pol) { -- if (dir < XFRM_POLICY_MAX) -- atomic_inc(&flow_cache_genid); - xfrm_policy_kill(pol); - return 0; - } -@@ -1549,18 +1573,24 @@ restart: - } - - if (!policy) { -+ struct flow_cache_object *flo; -+ - /* To accelerate a bit... */ - if ((dst_orig->flags & DST_NOXFRM) || - !net->xfrm.policy_count[XFRM_POLICY_OUT]) - goto nopol; - -- policy = flow_cache_lookup(net, fl, dst_orig->ops->family, -- dir, xfrm_policy_lookup); -- err = PTR_ERR(policy); -- if (IS_ERR(policy)) { -+ flo = flow_cache_lookup(net, fl, dst_orig->ops->family, -+ dir, xfrm_policy_lookup, NULL); -+ err = PTR_ERR(flo); -+ if (IS_ERR(flo)) { - XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLERROR); - goto dropdst; - } -+ if (flo) -+ policy = container_of(flo, struct xfrm_policy, flo); -+ else -+ policy = NULL; - } - - if (!policy) -@@ -1910,9 +1940,16 @@ int __xfrm_policy_check(struct sock *sk, int dir, struct sk_buff *skb, - } - } - -- if (!pol) -- pol = flow_cache_lookup(net, &fl, family, fl_dir, -- xfrm_policy_lookup); -+ if (!pol) { -+ struct flow_cache_object *flo; -+ -+ flo = flow_cache_lookup(net, &fl, family, fl_dir, -+ xfrm_policy_lookup, NULL); -+ if (flo == NULL || IS_ERR(flo)) -+ pol = ERR_CAST(flo); -+ else -+ pol = container_of(flo, struct xfrm_policy, flo); -+ } - - if (IS_ERR(pol)) { - XFRM_INC_STATS(net, LINUX_MIB_XFRMINPOLERROR); --- -1.7.0.2 - diff --git a/main/linux-pae/0015-xfrm-cache-bundles-instead-of-policies-for-outgoing-.patch b/main/linux-pae/0015-xfrm-cache-bundles-instead-of-policies-for-outgoing-.patch deleted file mode 100644 index 0d066c84d9..0000000000 --- a/main/linux-pae/0015-xfrm-cache-bundles-instead-of-policies-for-outgoing-.patch +++ /dev/null @@ -1,1068 +0,0 @@ -From f89d21648e6dc06db2aeabc8926c270894c41446 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 7 Apr 2010 00:30:05 +0000 -Subject: [PATCH 15/18] xfrm: cache bundles instead of policies for outgoing flows - -__xfrm_lookup() is called for each packet transmitted out of -system. The xfrm_find_bundle() does a linear search which can -kill system performance depending on how many bundles are -required per policy. - -This modifies __xfrm_lookup() to store bundles directly in -the flow cache. If we did not get a hit, we just create a new -bundle instead of doing slow search. This means that we can now -get multiple xfrm_dst's for same flow (on per-cpu basis). - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Signed-off-by: David S. Miller <davem@davemloft.net> -(backported from commit 80c802f3073e84c956846e921e8a0b02dfa3755f) ---- - include/net/xfrm.h | 10 +- - net/ipv4/xfrm4_policy.c | 22 -- - net/ipv6/xfrm6_policy.c | 31 -- - net/xfrm/xfrm_policy.c | 710 +++++++++++++++++++++++++---------------------- - 4 files changed, 383 insertions(+), 390 deletions(-) - -diff --git a/include/net/xfrm.h b/include/net/xfrm.h -index 6023a48..d51ef61 100644 ---- a/include/net/xfrm.h -+++ b/include/net/xfrm.h -@@ -266,7 +266,6 @@ struct xfrm_policy_afinfo { - xfrm_address_t *saddr, - xfrm_address_t *daddr); - int (*get_saddr)(struct net *net, xfrm_address_t *saddr, xfrm_address_t *daddr); -- struct dst_entry *(*find_bundle)(struct flowi *fl, struct xfrm_policy *policy); - void (*decode_session)(struct sk_buff *skb, - struct flowi *fl, - int reverse); -@@ -485,12 +484,12 @@ struct xfrm_policy - struct timer_list timer; - - struct flow_cache_object flo; -+ atomic_t genid; - u32 priority; - u32 index; - struct xfrm_selector selector; - struct xfrm_lifetime_cfg lft; - struct xfrm_lifetime_cur curlft; -- struct dst_entry *bundles; - struct xfrm_policy_walk_entry walk; - u8 type; - u8 action; -@@ -883,11 +882,15 @@ struct xfrm_dst - struct rt6_info rt6; - } u; - struct dst_entry *route; -+ struct flow_cache_object flo; -+ struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX]; -+ int num_pols, num_xfrms; - #ifdef CONFIG_XFRM_SUB_POLICY - struct flowi *origin; - struct xfrm_selector *partner; - #endif -- u32 genid; -+ u32 xfrm_genid; -+ u32 policy_genid; - u32 route_mtu_cached; - u32 child_mtu_cached; - u32 route_cookie; -@@ -897,6 +900,7 @@ struct xfrm_dst - #ifdef CONFIG_XFRM - static inline void xfrm_dst_destroy(struct xfrm_dst *xdst) - { -+ xfrm_pols_put(xdst->pols, xdst->num_pols); - dst_release(xdst->route); - if (likely(xdst->u.dst.xfrm)) - xfrm_state_put(xdst->u.dst.xfrm); -diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c -index 7009886..651a3e7 100644 ---- a/net/ipv4/xfrm4_policy.c -+++ b/net/ipv4/xfrm4_policy.c -@@ -60,27 +60,6 @@ static int xfrm4_get_saddr(struct net *net, - return 0; - } - --static struct dst_entry * --__xfrm4_find_bundle(struct flowi *fl, struct xfrm_policy *policy) --{ -- struct dst_entry *dst; -- -- read_lock_bh(&policy->lock); -- for (dst = policy->bundles; dst; dst = dst->next) { -- struct xfrm_dst *xdst = (struct xfrm_dst *)dst; -- if (xdst->u.rt.fl.oif == fl->oif && /*XXX*/ -- xdst->u.rt.fl.fl4_dst == fl->fl4_dst && -- xdst->u.rt.fl.fl4_src == fl->fl4_src && -- xdst->u.rt.fl.fl4_tos == fl->fl4_tos && -- xfrm_bundle_ok(policy, xdst, fl, AF_INET, 0)) { -- dst_clone(dst); -- break; -- } -- } -- read_unlock_bh(&policy->lock); -- return dst; --} -- - static int xfrm4_get_tos(struct flowi *fl) - { - return fl->fl4_tos; -@@ -258,7 +237,6 @@ static struct xfrm_policy_afinfo xfrm4_policy_afinfo = { - .dst_ops = &xfrm4_dst_ops, - .dst_lookup = xfrm4_dst_lookup, - .get_saddr = xfrm4_get_saddr, -- .find_bundle = __xfrm4_find_bundle, - .decode_session = _decode_session4, - .get_tos = xfrm4_get_tos, - .init_path = xfrm4_init_path, -diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c -index 3f89ab7..fb2a5b7 100644 ---- a/net/ipv6/xfrm6_policy.c -+++ b/net/ipv6/xfrm6_policy.c -@@ -68,36 +68,6 @@ static int xfrm6_get_saddr(struct net *net, - return 0; - } - --static struct dst_entry * --__xfrm6_find_bundle(struct flowi *fl, struct xfrm_policy *policy) --{ -- struct dst_entry *dst; -- -- /* Still not clear if we should set fl->fl6_{src,dst}... */ -- read_lock_bh(&policy->lock); -- for (dst = policy->bundles; dst; dst = dst->next) { -- struct xfrm_dst *xdst = (struct xfrm_dst*)dst; -- struct in6_addr fl_dst_prefix, fl_src_prefix; -- -- ipv6_addr_prefix(&fl_dst_prefix, -- &fl->fl6_dst, -- xdst->u.rt6.rt6i_dst.plen); -- ipv6_addr_prefix(&fl_src_prefix, -- &fl->fl6_src, -- xdst->u.rt6.rt6i_src.plen); -- if (ipv6_addr_equal(&xdst->u.rt6.rt6i_dst.addr, &fl_dst_prefix) && -- ipv6_addr_equal(&xdst->u.rt6.rt6i_src.addr, &fl_src_prefix) && -- xfrm_bundle_ok(policy, xdst, fl, AF_INET6, -- (xdst->u.rt6.rt6i_dst.plen != 128 || -- xdst->u.rt6.rt6i_src.plen != 128))) { -- dst_clone(dst); -- break; -- } -- } -- read_unlock_bh(&policy->lock); -- return dst; --} -- - static int xfrm6_get_tos(struct flowi *fl) - { - return 0; -@@ -290,7 +260,6 @@ static struct xfrm_policy_afinfo xfrm6_policy_afinfo = { - .dst_ops = &xfrm6_dst_ops, - .dst_lookup = xfrm6_dst_lookup, - .get_saddr = xfrm6_get_saddr, -- .find_bundle = __xfrm6_find_bundle, - .decode_session = _decode_session6, - .get_tos = xfrm6_get_tos, - .init_path = xfrm6_init_path, -diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c -index d1eb2b5..0379d82 100644 ---- a/net/xfrm/xfrm_policy.c -+++ b/net/xfrm/xfrm_policy.c -@@ -37,6 +37,8 @@ - DEFINE_MUTEX(xfrm_cfg_mutex); - EXPORT_SYMBOL(xfrm_cfg_mutex); - -+static DEFINE_SPINLOCK(xfrm_policy_sk_bundle_lock); -+static struct dst_entry *xfrm_policy_sk_bundles; - static DEFINE_RWLOCK(xfrm_policy_lock); - - static DEFINE_RWLOCK(xfrm_policy_afinfo_lock); -@@ -50,6 +52,7 @@ static DEFINE_SPINLOCK(xfrm_policy_gc_lock); - static struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(unsigned short family); - static void xfrm_policy_put_afinfo(struct xfrm_policy_afinfo *afinfo); - static void xfrm_init_pmtu(struct dst_entry *dst); -+static int stale_bundle(struct dst_entry *dst); - - static struct xfrm_policy *__xfrm_policy_unlink(struct xfrm_policy *pol, - int dir); -@@ -277,8 +280,6 @@ void xfrm_policy_destroy(struct xfrm_policy *policy) - { - BUG_ON(!policy->walk.dead); - -- BUG_ON(policy->bundles); -- - if (del_timer(&policy->timer)) - BUG(); - -@@ -289,12 +290,7 @@ EXPORT_SYMBOL(xfrm_policy_destroy); - - static void xfrm_policy_gc_kill(struct xfrm_policy *policy) - { -- struct dst_entry *dst; -- -- while ((dst = policy->bundles) != NULL) { -- policy->bundles = dst->next; -- dst_free(dst); -- } -+ atomic_inc(&policy->genid); - - if (del_timer(&policy->timer)) - atomic_dec(&policy->refcnt); -@@ -572,7 +568,6 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl) - struct xfrm_policy *delpol; - struct hlist_head *chain; - struct hlist_node *entry, *newpos; -- struct dst_entry *gc_list; - - write_lock_bh(&xfrm_policy_lock); - chain = policy_hash_bysel(net, &policy->selector, policy->family, dir); -@@ -620,34 +615,6 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl) - else if (xfrm_bydst_should_resize(net, dir, NULL)) - schedule_work(&net->xfrm.policy_hash_work); - -- read_lock_bh(&xfrm_policy_lock); -- gc_list = NULL; -- entry = &policy->bydst; -- hlist_for_each_entry_continue(policy, entry, bydst) { -- struct dst_entry *dst; -- -- write_lock(&policy->lock); -- dst = policy->bundles; -- if (dst) { -- struct dst_entry *tail = dst; -- while (tail->next) -- tail = tail->next; -- tail->next = gc_list; -- gc_list = dst; -- -- policy->bundles = NULL; -- } -- write_unlock(&policy->lock); -- } -- read_unlock_bh(&xfrm_policy_lock); -- -- while (gc_list) { -- struct dst_entry *dst = gc_list; -- -- gc_list = dst->next; -- dst_free(dst); -- } -- - return 0; - } - EXPORT_SYMBOL(xfrm_policy_insert); -@@ -990,6 +957,19 @@ fail: - return ret; - } - -+static struct xfrm_policy * -+__xfrm_policy_lookup(struct net *net, struct flowi *fl, u16 family, u8 dir) -+{ -+#ifdef CONFIG_XFRM_SUB_POLICY -+ struct xfrm_policy *pol; -+ -+ pol = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_SUB, fl, family, dir); -+ if (pol != NULL) -+ return pol; -+#endif -+ return xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_MAIN, fl, family, dir); -+} -+ - static struct flow_cache_object * - xfrm_policy_lookup(struct net *net, struct flowi *fl, u16 family, - u8 dir, struct flow_cache_object *old_obj, void *ctx) -@@ -999,21 +979,10 @@ xfrm_policy_lookup(struct net *net, struct flowi *fl, u16 family, - if (old_obj) - xfrm_pol_put(container_of(old_obj, struct xfrm_policy, flo)); - --#ifdef CONFIG_XFRM_SUB_POLICY -- pol = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_SUB, fl, family, dir); -- if (IS_ERR(pol)) -+ pol = __xfrm_policy_lookup(net, fl, family, dir); -+ if (pol == NULL || IS_ERR(pol)) - return ERR_CAST(pol); -- if (pol) -- goto found; --#endif -- pol = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_MAIN, fl, family, dir); -- if (IS_ERR(pol)) -- return ERR_CAST(pol); -- if (pol) -- goto found; -- return NULL; - --found: - /* Resolver returns two references: - * one for cache and one for caller of flow_cache_lookup() */ - xfrm_pol_hold(pol); -@@ -1299,18 +1268,6 @@ xfrm_tmpl_resolve(struct xfrm_policy **pols, int npols, struct flowi *fl, - * still valid. - */ - --static struct dst_entry * --xfrm_find_bundle(struct flowi *fl, struct xfrm_policy *policy, unsigned short family) --{ -- struct dst_entry *x; -- struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); -- if (unlikely(afinfo == NULL)) -- return ERR_PTR(-EINVAL); -- x = afinfo->find_bundle(fl, policy); -- xfrm_policy_put_afinfo(afinfo); -- return x; --} -- - static inline int xfrm_get_tos(struct flowi *fl, int family) - { - struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); -@@ -1326,6 +1283,54 @@ static inline int xfrm_get_tos(struct flowi *fl, int family) - return tos; - } - -+static struct flow_cache_object *xfrm_bundle_flo_get(struct flow_cache_object *flo) -+{ -+ struct xfrm_dst *xdst = container_of(flo, struct xfrm_dst, flo); -+ struct dst_entry *dst = &xdst->u.dst; -+ -+ if (xdst->route == NULL) { -+ /* Dummy bundle - if it has xfrms we were not -+ * able to build bundle as template resolution failed. -+ * It means we need to try again resolving. */ -+ if (xdst->num_xfrms > 0) -+ return NULL; -+ } else { -+ /* Real bundle */ -+ if (stale_bundle(dst)) -+ return NULL; -+ } -+ -+ dst_hold(dst); -+ return flo; -+} -+ -+static int xfrm_bundle_flo_check(struct flow_cache_object *flo) -+{ -+ struct xfrm_dst *xdst = container_of(flo, struct xfrm_dst, flo); -+ struct dst_entry *dst = &xdst->u.dst; -+ -+ if (!xdst->route) -+ return 0; -+ if (stale_bundle(dst)) -+ return 0; -+ -+ return 1; -+} -+ -+static void xfrm_bundle_flo_delete(struct flow_cache_object *flo) -+{ -+ struct xfrm_dst *xdst = container_of(flo, struct xfrm_dst, flo); -+ struct dst_entry *dst = &xdst->u.dst; -+ -+ dst_free(dst); -+} -+ -+static const struct flow_cache_ops xfrm_bundle_fc_ops = { -+ .get = xfrm_bundle_flo_get, -+ .check = xfrm_bundle_flo_check, -+ .delete = xfrm_bundle_flo_delete, -+}; -+ - static inline struct xfrm_dst *xfrm_alloc_dst(int family) - { - struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); -@@ -1338,6 +1343,8 @@ static inline struct xfrm_dst *xfrm_alloc_dst(int family) - - xfrm_policy_put_afinfo(afinfo); - -+ xdst->flo.ops = &xfrm_bundle_fc_ops; -+ - return xdst; - } - -@@ -1375,6 +1382,7 @@ static inline int xfrm_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, - return err; - } - -+ - /* Allocate chain of dst_entry's, attach known xfrm's, calculate - * all the metrics... Shortly, bundle a bundle. - */ -@@ -1437,7 +1445,7 @@ static struct dst_entry *xfrm_bundle_create(struct xfrm_policy *policy, - dst_hold(dst); - - dst1->xfrm = xfrm[i]; -- xdst->genid = xfrm[i]->genid; -+ xdst->xfrm_genid = xfrm[i]->genid; - - dst1->obsolete = -1; - dst1->flags |= DST_HOST; -@@ -1530,7 +1538,186 @@ xfrm_dst_update_origin(struct dst_entry *dst, struct flowi *fl) - #endif - } - --static int stale_bundle(struct dst_entry *dst); -+static int xfrm_expand_policies(struct flowi *fl, u16 family, -+ struct xfrm_policy **pols, -+ int *num_pols, int *num_xfrms) -+{ -+ int i; -+ -+ if (*num_pols == 0 || !pols[0]) { -+ *num_pols = 0; -+ *num_xfrms = 0; -+ return 0; -+ } -+ if (IS_ERR(pols[0])) -+ return PTR_ERR(pols[0]); -+ -+ *num_xfrms = pols[0]->xfrm_nr; -+ -+#ifdef CONFIG_XFRM_SUB_POLICY -+ if (pols[0] && pols[0]->action == XFRM_POLICY_ALLOW && -+ pols[0]->type != XFRM_POLICY_TYPE_MAIN) { -+ pols[1] = xfrm_policy_lookup_bytype(xp_net(pols[0]), -+ XFRM_POLICY_TYPE_MAIN, -+ fl, family, -+ XFRM_POLICY_OUT); -+ if (pols[1]) { -+ if (IS_ERR(pols[1])) { -+ xfrm_pols_put(pols, *num_pols); -+ return PTR_ERR(pols[1]); -+ } -+ (*num_pols) ++; -+ (*num_xfrms) += pols[1]->xfrm_nr; -+ } -+ } -+#endif -+ for (i = 0; i < *num_pols; i++) { -+ if (pols[i]->action != XFRM_POLICY_ALLOW) { -+ *num_xfrms = -1; -+ break; -+ } -+ } -+ -+ return 0; -+ -+} -+ -+static struct xfrm_dst * -+xfrm_resolve_and_create_bundle(struct xfrm_policy **pols, int num_pols, -+ struct flowi *fl, u16 family, -+ struct dst_entry *dst_orig) -+{ -+ struct net *net = xp_net(pols[0]); -+ struct xfrm_state *xfrm[XFRM_MAX_DEPTH]; -+ struct dst_entry *dst; -+ struct xfrm_dst *xdst; -+ int err; -+ -+ /* Try to instantiate a bundle */ -+ err = xfrm_tmpl_resolve(pols, num_pols, fl, xfrm, family); -+ if (err < 0) { -+ if (err != -EAGAIN) -+ XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLERROR); -+ return ERR_PTR(err); -+ } -+ -+ dst = xfrm_bundle_create(pols[0], xfrm, err, fl, dst_orig); -+ if (IS_ERR(dst)) { -+ XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTBUNDLEGENERROR); -+ return ERR_CAST(dst); -+ } -+ -+ xdst = (struct xfrm_dst *)dst; -+ xdst->num_xfrms = err; -+ if (num_pols > 1) -+ err = xfrm_dst_update_parent(dst, &pols[1]->selector); -+ else -+ err = xfrm_dst_update_origin(dst, fl); -+ if (unlikely(err)) { -+ dst_free(dst); -+ XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTBUNDLECHECKERROR); -+ return ERR_PTR(err); -+ } -+ -+ xdst->num_pols = num_pols; -+ memcpy(xdst->pols, pols, sizeof(struct xfrm_policy*) * num_pols); -+ xdst->policy_genid = atomic_read(&pols[0]->genid); -+ -+ return xdst; -+} -+ -+static struct flow_cache_object * -+xfrm_bundle_lookup(struct net *net, struct flowi *fl, u16 family, u8 dir, -+ struct flow_cache_object *oldflo, void *ctx) -+{ -+ struct dst_entry *dst_orig = (struct dst_entry *)ctx; -+ struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX]; -+ struct xfrm_dst *xdst, *new_xdst; -+ int num_pols = 0, num_xfrms = 0, i, err, pol_dead; -+ -+ /* Check if the policies from old bundle are usable */ -+ xdst = NULL; -+ if (oldflo) { -+ xdst = container_of(oldflo, struct xfrm_dst, flo); -+ num_pols = xdst->num_pols; -+ num_xfrms = xdst->num_xfrms; -+ pol_dead = 0; -+ for (i = 0; i < num_pols; i++) { -+ pols[i] = xdst->pols[i]; -+ pol_dead |= pols[i]->walk.dead; -+ } -+ if (pol_dead) { -+ dst_free(&xdst->u.dst); -+ xdst = NULL; -+ num_pols = 0; -+ num_xfrms = 0; -+ oldflo = NULL; -+ } -+ } -+ -+ /* Resolve policies to use if we couldn't get them from -+ * previous cache entry */ -+ if (xdst == NULL) { -+ num_pols = 1; -+ pols[0] = __xfrm_policy_lookup(net, fl, family, dir); -+ err = xfrm_expand_policies(fl, family, pols, -+ &num_pols, &num_xfrms); -+ if (err < 0) -+ goto inc_error; -+ if (num_pols == 0) -+ return NULL; -+ if (num_xfrms <= 0) -+ goto make_dummy_bundle; -+ } -+ -+ new_xdst = xfrm_resolve_and_create_bundle(pols, num_pols, fl, family, dst_orig); -+ if (IS_ERR(new_xdst)) { -+ err = PTR_ERR(new_xdst); -+ if (err != -EAGAIN) -+ goto error; -+ if (oldflo == NULL) -+ goto make_dummy_bundle; -+ dst_hold(&xdst->u.dst); -+ return oldflo; -+ } -+ -+ /* Kill the previous bundle */ -+ if (xdst) { -+ /* The policies were stolen for newly generated bundle */ -+ xdst->num_pols = 0; -+ dst_free(&xdst->u.dst); -+ } -+ -+ /* Flow cache does not have reference, it dst_free()'s, -+ * but we do need to return one reference for original caller */ -+ dst_hold(&new_xdst->u.dst); -+ return &new_xdst->flo; -+ -+make_dummy_bundle: -+ /* We found policies, but there's no bundles to instantiate: -+ * either because the policy blocks, has no transformations or -+ * we could not build template (no xfrm_states).*/ -+ xdst = xfrm_alloc_dst(family); -+ if (IS_ERR(xdst)) { -+ xfrm_pols_put(pols, num_pols); -+ return ERR_CAST(xdst); -+ } -+ xdst->num_pols = num_pols; -+ xdst->num_xfrms = num_xfrms; -+ memcpy(xdst->pols, pols, sizeof(struct xfrm_policy*) * num_pols); -+ -+ dst_hold(&xdst->u.dst); -+ return &xdst->flo; -+ -+inc_error: -+ XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLERROR); -+error: -+ if (xdst != NULL) -+ dst_free(&xdst->u.dst); -+ else -+ xfrm_pols_put(pols, num_pols); -+ return ERR_PTR(err); -+} - - /* Main function: finds/creates a bundle for given flow. - * -@@ -1540,248 +1727,152 @@ static int stale_bundle(struct dst_entry *dst); - int __xfrm_lookup(struct net *net, struct dst_entry **dst_p, struct flowi *fl, - struct sock *sk, int flags) - { -- struct xfrm_policy *policy; - struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX]; -- int npols; -- int pol_dead; -- int xfrm_nr; -- int pi; -- struct xfrm_state *xfrm[XFRM_MAX_DEPTH]; -- struct dst_entry *dst, *dst_orig = *dst_p; -- int nx = 0; -- int err; -- u32 genid; -- u16 family; -+ struct flow_cache_object *flo; -+ struct xfrm_dst *xdst; -+ struct dst_entry *dst, *dst_orig = *dst_p, *route; -+ u16 family = dst_orig->ops->family; - u8 dir = policy_to_flow_dir(XFRM_POLICY_OUT); -+ int i, err, num_pols, num_xfrms, drop_pols = 0; - - restart: -- genid = atomic_read(&flow_cache_genid); -- policy = NULL; -- for (pi = 0; pi < ARRAY_SIZE(pols); pi++) -- pols[pi] = NULL; -- npols = 0; -- pol_dead = 0; -- xfrm_nr = 0; -+ dst = NULL; -+ xdst = NULL; -+ route = NULL; - - if (sk && sk->sk_policy[XFRM_POLICY_OUT]) { -- policy = xfrm_sk_policy_lookup(sk, XFRM_POLICY_OUT, fl); -- err = PTR_ERR(policy); -- if (IS_ERR(policy)) { -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLERROR); -+ num_pols = 1; -+ pols[0] = xfrm_sk_policy_lookup(sk, XFRM_POLICY_OUT, fl); -+ err = xfrm_expand_policies(fl, family, pols, -+ &num_pols, &num_xfrms); -+ if (err < 0) - goto dropdst; -+ -+ if (num_pols) { -+ if (num_xfrms <= 0) { -+ drop_pols = num_pols; -+ goto no_transform; -+ } -+ -+ xdst = xfrm_resolve_and_create_bundle( -+ pols, num_pols, fl, -+ family, dst_orig); -+ if (IS_ERR(xdst)) { -+ xfrm_pols_put(pols, num_pols); -+ err = PTR_ERR(xdst); -+ goto dropdst; -+ } -+ -+ spin_lock_bh(&xfrm_policy_sk_bundle_lock); -+ xdst->u.dst.next = xfrm_policy_sk_bundles; -+ xfrm_policy_sk_bundles = &xdst->u.dst; -+ spin_unlock_bh(&xfrm_policy_sk_bundle_lock); -+ -+ route = xdst->route; - } - } - -- if (!policy) { -- struct flow_cache_object *flo; -- -+ if (xdst == NULL) { - /* To accelerate a bit... */ - if ((dst_orig->flags & DST_NOXFRM) || - !net->xfrm.policy_count[XFRM_POLICY_OUT]) - goto nopol; - -- flo = flow_cache_lookup(net, fl, dst_orig->ops->family, -- dir, xfrm_policy_lookup, NULL); -- err = PTR_ERR(flo); -+ flo = flow_cache_lookup(net, fl, family, dir, -+ xfrm_bundle_lookup, dst_orig); -+ if (flo == NULL) -+ goto nopol; - if (IS_ERR(flo)) { -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLERROR); -+ err = PTR_ERR(flo); - goto dropdst; - } -- if (flo) -- policy = container_of(flo, struct xfrm_policy, flo); -- else -- policy = NULL; -+ xdst = container_of(flo, struct xfrm_dst, flo); -+ -+ num_pols = xdst->num_pols; -+ num_xfrms = xdst->num_xfrms; -+ memcpy(pols, xdst->pols, sizeof(struct xfrm_policy*) * num_pols); -+ route = xdst->route; -+ } -+ -+ dst = &xdst->u.dst; -+ if (route == NULL && num_xfrms > 0) { -+ /* The only case when xfrm_bundle_lookup() returns a -+ * bundle with null route, is when the template could -+ * not be resolved. It means policies are there, but -+ * bundle could not be created, since we don't yet -+ * have the xfrm_state's. We need to wait for KM to -+ * negotiate new SA's or bail out with error.*/ -+ if (net->xfrm.sysctl_larval_drop) { -+ /* EREMOTE tells the caller to generate -+ * a one-shot blackhole route. */ -+ dst_release(dst); -+ xfrm_pols_put(pols, num_pols); -+ XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES); -+ return -EREMOTE; -+ } -+ if (flags & XFRM_LOOKUP_WAIT) { -+ DECLARE_WAITQUEUE(wait, current); -+ -+ add_wait_queue(&net->xfrm.km_waitq, &wait); -+ set_current_state(TASK_INTERRUPTIBLE); -+ schedule(); -+ set_current_state(TASK_RUNNING); -+ remove_wait_queue(&net->xfrm.km_waitq, &wait); -+ -+ if (!signal_pending(current)) { -+ dst_release(dst); -+ goto restart; -+ } -+ -+ err = -ERESTART; -+ } else -+ err = -EAGAIN; -+ -+ XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES); -+ goto error; - } - -- if (!policy) -+no_transform: -+ if (num_pols == 0) - goto nopol; - -- family = dst_orig->ops->family; -- pols[0] = policy; -- npols ++; -- xfrm_nr += pols[0]->xfrm_nr; -- -- err = -ENOENT; -- if ((flags & XFRM_LOOKUP_ICMP) && !(policy->flags & XFRM_POLICY_ICMP)) -+ if ((flags & XFRM_LOOKUP_ICMP) && -+ !(pols[0]->flags & XFRM_POLICY_ICMP)) { -+ err = -ENOENT; - goto error; -+ } - -- policy->curlft.use_time = get_seconds(); -+ for (i = 0; i < num_pols; i++) -+ pols[i]->curlft.use_time = get_seconds(); - -- switch (policy->action) { -- default: -- case XFRM_POLICY_BLOCK: -+ if (num_xfrms < 0) { - /* Prohibit the flow */ - XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLBLOCK); - err = -EPERM; - goto error; -- -- case XFRM_POLICY_ALLOW: --#ifndef CONFIG_XFRM_SUB_POLICY -- if (policy->xfrm_nr == 0) { -- /* Flow passes not transformed. */ -- xfrm_pol_put(policy); -- return 0; -- } --#endif -- -- /* Try to find matching bundle. -- * -- * LATER: help from flow cache. It is optional, this -- * is required only for output policy. -- */ -- dst = xfrm_find_bundle(fl, policy, family); -- if (IS_ERR(dst)) { -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTBUNDLECHECKERROR); -- err = PTR_ERR(dst); -- goto error; -- } -- -- if (dst) -- break; -- --#ifdef CONFIG_XFRM_SUB_POLICY -- if (pols[0]->type != XFRM_POLICY_TYPE_MAIN) { -- pols[1] = xfrm_policy_lookup_bytype(net, -- XFRM_POLICY_TYPE_MAIN, -- fl, family, -- XFRM_POLICY_OUT); -- if (pols[1]) { -- if (IS_ERR(pols[1])) { -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLERROR); -- err = PTR_ERR(pols[1]); -- goto error; -- } -- if (pols[1]->action == XFRM_POLICY_BLOCK) { -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLBLOCK); -- err = -EPERM; -- goto error; -- } -- npols ++; -- xfrm_nr += pols[1]->xfrm_nr; -- } -- } -- -- /* -- * Because neither flowi nor bundle information knows about -- * transformation template size. On more than one policy usage -- * we can realize whether all of them is bypass or not after -- * they are searched. See above not-transformed bypass -- * is surrounded by non-sub policy configuration, too. -- */ -- if (xfrm_nr == 0) { -- /* Flow passes not transformed. */ -- xfrm_pols_put(pols, npols); -- return 0; -- } -- --#endif -- nx = xfrm_tmpl_resolve(pols, npols, fl, xfrm, family); -- -- if (unlikely(nx<0)) { -- err = nx; -- if (err == -EAGAIN && net->xfrm.sysctl_larval_drop) { -- /* EREMOTE tells the caller to generate -- * a one-shot blackhole route. -- */ -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES); -- xfrm_pol_put(policy); -- return -EREMOTE; -- } -- if (err == -EAGAIN && (flags & XFRM_LOOKUP_WAIT)) { -- DECLARE_WAITQUEUE(wait, current); -- -- add_wait_queue(&net->xfrm.km_waitq, &wait); -- set_current_state(TASK_INTERRUPTIBLE); -- schedule(); -- set_current_state(TASK_RUNNING); -- remove_wait_queue(&net->xfrm.km_waitq, &wait); -- -- nx = xfrm_tmpl_resolve(pols, npols, fl, xfrm, family); -- -- if (nx == -EAGAIN && signal_pending(current)) { -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES); -- err = -ERESTART; -- goto error; -- } -- if (nx == -EAGAIN || -- genid != atomic_read(&flow_cache_genid)) { -- xfrm_pols_put(pols, npols); -- goto restart; -- } -- err = nx; -- } -- if (err < 0) { -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES); -- goto error; -- } -- } -- if (nx == 0) { -- /* Flow passes not transformed. */ -- xfrm_pols_put(pols, npols); -- return 0; -- } -- -- dst = xfrm_bundle_create(policy, xfrm, nx, fl, dst_orig); -- err = PTR_ERR(dst); -- if (IS_ERR(dst)) { -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTBUNDLEGENERROR); -- goto error; -- } -- -- for (pi = 0; pi < npols; pi++) -- pol_dead |= pols[pi]->walk.dead; -- -- write_lock_bh(&policy->lock); -- if (unlikely(pol_dead || stale_bundle(dst))) { -- /* Wow! While we worked on resolving, this -- * policy has gone. Retry. It is not paranoia, -- * we just cannot enlist new bundle to dead object. -- * We can't enlist stable bundles either. -- */ -- write_unlock_bh(&policy->lock); -- dst_free(dst); -- -- if (pol_dead) -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTPOLDEAD); -- else -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTBUNDLECHECKERROR); -- err = -EHOSTUNREACH; -- goto error; -- } -- -- if (npols > 1) -- err = xfrm_dst_update_parent(dst, &pols[1]->selector); -- else -- err = xfrm_dst_update_origin(dst, fl); -- if (unlikely(err)) { -- write_unlock_bh(&policy->lock); -- dst_free(dst); -- XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTBUNDLECHECKERROR); -- goto error; -- } -- -- dst->next = policy->bundles; -- policy->bundles = dst; -- dst_hold(dst); -- write_unlock_bh(&policy->lock); -+ } else if (num_xfrms > 0) { -+ /* Flow transformed */ -+ *dst_p = dst; -+ dst_release(dst_orig); -+ } else { -+ /* Flow passes untransformed */ -+ dst_release(dst); - } -- *dst_p = dst; -- dst_release(dst_orig); -- xfrm_pols_put(pols, npols); -+ok: -+ xfrm_pols_put(pols, drop_pols); - return 0; - -+nopol: -+ if (!(flags & XFRM_LOOKUP_ICMP)) -+ goto ok; -+ err = -ENOENT; - error: -- xfrm_pols_put(pols, npols); -+ dst_release(dst); - dropdst: - dst_release(dst_orig); - *dst_p = NULL; -+ xfrm_pols_put(pols, drop_pols); - return err; -- --nopol: -- err = -ENOENT; -- if (flags & XFRM_LOOKUP_ICMP) -- goto dropdst; -- return 0; - } - EXPORT_SYMBOL(__xfrm_lookup); - -@@ -2134,71 +2225,24 @@ static struct dst_entry *xfrm_negative_advice(struct dst_entry *dst) - return dst; - } - --static void prune_one_bundle(struct xfrm_policy *pol, int (*func)(struct dst_entry *), struct dst_entry **gc_list_p) --{ -- struct dst_entry *dst, **dstp; -- -- write_lock(&pol->lock); -- dstp = &pol->bundles; -- while ((dst=*dstp) != NULL) { -- if (func(dst)) { -- *dstp = dst->next; -- dst->next = *gc_list_p; -- *gc_list_p = dst; -- } else { -- dstp = &dst->next; -- } -- } -- write_unlock(&pol->lock); --} -- --static void xfrm_prune_bundles(struct net *net, int (*func)(struct dst_entry *)) -+static void __xfrm_garbage_collect(struct net *net) - { -- struct dst_entry *gc_list = NULL; -- int dir; -+ struct dst_entry *head, *next; - -- read_lock_bh(&xfrm_policy_lock); -- for (dir = 0; dir < XFRM_POLICY_MAX * 2; dir++) { -- struct xfrm_policy *pol; -- struct hlist_node *entry; -- struct hlist_head *table; -- int i; -+ flow_cache_flush(); - -- hlist_for_each_entry(pol, entry, -- &net->xfrm.policy_inexact[dir], bydst) -- prune_one_bundle(pol, func, &gc_list); -+ spin_lock_bh(&xfrm_policy_sk_bundle_lock); -+ head = xfrm_policy_sk_bundles; -+ xfrm_policy_sk_bundles = NULL; -+ spin_unlock_bh(&xfrm_policy_sk_bundle_lock); - -- table = net->xfrm.policy_bydst[dir].table; -- for (i = net->xfrm.policy_bydst[dir].hmask; i >= 0; i--) { -- hlist_for_each_entry(pol, entry, table + i, bydst) -- prune_one_bundle(pol, func, &gc_list); -- } -- } -- read_unlock_bh(&xfrm_policy_lock); -- -- while (gc_list) { -- struct dst_entry *dst = gc_list; -- gc_list = dst->next; -- dst_free(dst); -+ while (head) { -+ next = head->next; -+ dst_free(head); -+ head = next; - } - } - --static int unused_bundle(struct dst_entry *dst) --{ -- return !atomic_read(&dst->__refcnt); --} -- --static void __xfrm_garbage_collect(struct net *net) --{ -- xfrm_prune_bundles(net, unused_bundle); --} -- --static int xfrm_flush_bundles(struct net *net) --{ -- xfrm_prune_bundles(net, stale_bundle); -- return 0; --} -- - static void xfrm_init_pmtu(struct dst_entry *dst) - { - do { -@@ -2256,7 +2300,9 @@ int xfrm_bundle_ok(struct xfrm_policy *pol, struct xfrm_dst *first, - return 0; - if (dst->xfrm->km.state != XFRM_STATE_VALID) - return 0; -- if (xdst->genid != dst->xfrm->genid) -+ if (xdst->xfrm_genid != dst->xfrm->genid) -+ return 0; -+ if (xdst->policy_genid != atomic_read(&xdst->pols[0]->genid)) - return 0; - - if (strict && fl && -@@ -2383,7 +2429,7 @@ static int xfrm_dev_event(struct notifier_block *this, unsigned long event, void - - switch (event) { - case NETDEV_DOWN: -- xfrm_flush_bundles(dev_net(dev)); -+ __xfrm_garbage_collect(dev_net(dev)); - } - return NOTIFY_DONE; - } -@@ -2714,7 +2760,6 @@ static int xfrm_policy_migrate(struct xfrm_policy *pol, - struct xfrm_migrate *m, int num_migrate) - { - struct xfrm_migrate *mp; -- struct dst_entry *dst; - int i, j, n = 0; - - write_lock_bh(&pol->lock); -@@ -2739,10 +2784,7 @@ static int xfrm_policy_migrate(struct xfrm_policy *pol, - sizeof(pol->xfrm_vec[i].saddr)); - pol->xfrm_vec[i].encap_family = mp->new_family; - /* flush bundles */ -- while ((dst = pol->bundles) != NULL) { -- pol->bundles = dst->next; -- dst_free(dst); -- } -+ atomic_inc(&pol->genid); - } - } - --- -1.7.0.2 - diff --git a/main/linux-pae/0016-xfrm-remove-policy-garbage-collection.patch b/main/linux-pae/0016-xfrm-remove-policy-garbage-collection.patch deleted file mode 100644 index 4a45c7f40d..0000000000 --- a/main/linux-pae/0016-xfrm-remove-policy-garbage-collection.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 4c53c9239069f48ec9a86f8e596c163b72e8bc4d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 7 Apr 2010 00:30:06 +0000 -Subject: [PATCH 16/18] xfrm: remove policy garbage collection - -Policies are now properly reference counted and destroyed from -all code paths. The delayed gc is just an overhead now and can -be removed. - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit 285ead175c5dd5075cab5b6c94f35a3e6c0a3ae6) ---- - net/xfrm/xfrm_policy.c | 39 +++++---------------------------------- - 1 files changed, 5 insertions(+), 34 deletions(-) - -diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c -index 0379d82..5606841 100644 ---- a/net/xfrm/xfrm_policy.c -+++ b/net/xfrm/xfrm_policy.c -@@ -46,9 +46,6 @@ static struct xfrm_policy_afinfo *xfrm_policy_afinfo[NPROTO]; - - static struct kmem_cache *xfrm_dst_cache __read_mostly; - --static HLIST_HEAD(xfrm_policy_gc_list); --static DEFINE_SPINLOCK(xfrm_policy_gc_lock); -- - static struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(unsigned short family); - static void xfrm_policy_put_afinfo(struct xfrm_policy_afinfo *afinfo); - static void xfrm_init_pmtu(struct dst_entry *dst); -@@ -288,32 +285,6 @@ void xfrm_policy_destroy(struct xfrm_policy *policy) - } - EXPORT_SYMBOL(xfrm_policy_destroy); - --static void xfrm_policy_gc_kill(struct xfrm_policy *policy) --{ -- atomic_inc(&policy->genid); -- -- if (del_timer(&policy->timer)) -- atomic_dec(&policy->refcnt); -- -- xfrm_pol_put(policy); --} -- --static void xfrm_policy_gc_task(struct work_struct *work) --{ -- struct xfrm_policy *policy; -- struct hlist_node *entry, *tmp; -- struct hlist_head gc_list; -- -- spin_lock_bh(&xfrm_policy_gc_lock); -- gc_list.first = xfrm_policy_gc_list.first; -- INIT_HLIST_HEAD(&xfrm_policy_gc_list); -- spin_unlock_bh(&xfrm_policy_gc_lock); -- -- hlist_for_each_entry_safe(policy, entry, tmp, &gc_list, bydst) -- xfrm_policy_gc_kill(policy); --} --static DECLARE_WORK(xfrm_policy_gc_work, xfrm_policy_gc_task); -- - /* Rule must be locked. Release descentant resources, announce - * entry dead. The rule must be unlinked from lists to the moment. - */ -@@ -322,11 +293,12 @@ static void xfrm_policy_kill(struct xfrm_policy *policy) - { - policy->walk.dead = 1; - -- spin_lock_bh(&xfrm_policy_gc_lock); -- hlist_add_head(&policy->bydst, &xfrm_policy_gc_list); -- spin_unlock_bh(&xfrm_policy_gc_lock); -+ atomic_inc(&policy->genid); - -- schedule_work(&xfrm_policy_gc_work); -+ if (del_timer(&policy->timer)) -+ xfrm_pol_put(policy); -+ -+ xfrm_pol_put(policy); - } - - static unsigned int xfrm_policy_hashmax __read_mostly = 1 * 1024 * 1024; -@@ -2535,7 +2507,6 @@ static void xfrm_policy_fini(struct net *net) - audit_info.sessionid = -1; - audit_info.secid = 0; - xfrm_policy_flush(net, XFRM_POLICY_TYPE_MAIN, &audit_info); -- flush_work(&xfrm_policy_gc_work); - - WARN_ON(!list_empty(&net->xfrm.policy_all)); - --- -1.7.0.2 - diff --git a/main/linux-pae/0017-flow-delayed-deletion-of-flow-cache-entries.patch b/main/linux-pae/0017-flow-delayed-deletion-of-flow-cache-entries.patch deleted file mode 100644 index 7d17d41aed..0000000000 --- a/main/linux-pae/0017-flow-delayed-deletion-of-flow-cache-entries.patch +++ /dev/null @@ -1,231 +0,0 @@ -From fede05e99e2d860e97bc877b8b77fb9e63f55cc8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 7 Apr 2010 00:30:07 +0000 -Subject: [PATCH 17/18] flow: delayed deletion of flow cache entries - -Speed up lookups by freeing flow cache entries later. After -virtualizing flow cache entry operations, the flow cache may now -end up calling policy or bundle destructor which can be slowish. - -As gc_list is more effective with double linked list, the flow cache -is converted to use common hlist and list macroes where appropriate. - -Signed-off-by: Timo Teras <timo.teras@iki.fi> -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit 8e4795605d1e1b39113818ad7c147b8a867a1f6a) ---- - net/core/flow.c | 100 ++++++++++++++++++++++++++++++++++++++----------------- - 1 files changed, 69 insertions(+), 31 deletions(-) - -diff --git a/net/core/flow.c b/net/core/flow.c -index 521df52..1619006 100644 ---- a/net/core/flow.c -+++ b/net/core/flow.c -@@ -26,7 +26,10 @@ - #include <linux/security.h> - - struct flow_cache_entry { -- struct flow_cache_entry *next; -+ union { -+ struct hlist_node hlist; -+ struct list_head gc_list; -+ } u; - u16 family; - u8 dir; - u32 genid; -@@ -35,7 +38,7 @@ struct flow_cache_entry { - }; - - struct flow_cache_percpu { -- struct flow_cache_entry **hash_table; -+ struct hlist_head *hash_table; - int hash_count; - u32 hash_rnd; - int hash_rnd_recalc; -@@ -62,6 +65,9 @@ atomic_t flow_cache_genid = ATOMIC_INIT(0); - static struct flow_cache flow_cache_global; - static struct kmem_cache *flow_cachep; - -+static DEFINE_SPINLOCK(flow_cache_gc_lock); -+static LIST_HEAD(flow_cache_gc_list); -+ - #define flow_cache_hash_size(cache) (1 << (cache)->hash_shift) - #define FLOW_HASH_RND_PERIOD (10 * 60 * HZ) - -@@ -86,38 +92,66 @@ static int flow_entry_valid(struct flow_cache_entry *fle) - return 1; - } - --static void flow_entry_kill(struct flow_cache *fc, -- struct flow_cache_percpu *fcp, -- struct flow_cache_entry *fle) -+static void flow_entry_kill(struct flow_cache_entry *fle) - { - if (fle->object) - fle->object->ops->delete(fle->object); - kmem_cache_free(flow_cachep, fle); -- fcp->hash_count--; -+} -+ -+static void flow_cache_gc_task(struct work_struct *work) -+{ -+ struct list_head gc_list; -+ struct flow_cache_entry *fce, *n; -+ -+ INIT_LIST_HEAD(&gc_list); -+ spin_lock_bh(&flow_cache_gc_lock); -+ list_splice_tail_init(&flow_cache_gc_list, &gc_list); -+ spin_unlock_bh(&flow_cache_gc_lock); -+ -+ list_for_each_entry_safe(fce, n, &gc_list, u.gc_list) -+ flow_entry_kill(fce); -+} -+static DECLARE_WORK(flow_cache_gc_work, flow_cache_gc_task); -+ -+static void flow_cache_queue_garbage(struct flow_cache_percpu *fcp, -+ int deleted, struct list_head *gc_list) -+{ -+ if (deleted) { -+ fcp->hash_count -= deleted; -+ spin_lock_bh(&flow_cache_gc_lock); -+ list_splice_tail(gc_list, &flow_cache_gc_list); -+ spin_unlock_bh(&flow_cache_gc_lock); -+ schedule_work(&flow_cache_gc_work); -+ } - } - - static void __flow_cache_shrink(struct flow_cache *fc, - struct flow_cache_percpu *fcp, - int shrink_to) - { -- struct flow_cache_entry *fle, **flp; -- int i; -+ struct flow_cache_entry *fle; -+ struct hlist_node *entry, *tmp; -+ LIST_HEAD(gc_list); -+ int i, deleted = 0; - - for (i = 0; i < flow_cache_hash_size(fc); i++) { - int saved = 0; - -- flp = &fcp->hash_table[i]; -- while ((fle = *flp) != NULL) { -+ hlist_for_each_entry_safe(fle, entry, tmp, -+ &fcp->hash_table[i], u.hlist) { - if (saved < shrink_to && - flow_entry_valid(fle)) { - saved++; -- flp = &fle->next; - } else { -- *flp = fle->next; -- flow_entry_kill(fc, fcp, fle); -+ deleted++; -+ hlist_del(&fle->u.hlist); -+ list_add_tail(&fle->u.gc_list, &gc_list); - } - } - } -+ -+ flow_cache_queue_garbage(fcp, deleted, &gc_list); - } - - static void flow_cache_shrink(struct flow_cache *fc, -@@ -182,7 +216,8 @@ flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, - { - struct flow_cache *fc = &flow_cache_global; - struct flow_cache_percpu *fcp; -- struct flow_cache_entry *fle, **head; -+ struct flow_cache_entry *fle, *tfle; -+ struct hlist_node *entry; - struct flow_cache_object *flo; - unsigned int hash; - -@@ -200,12 +235,13 @@ flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, - flow_new_hash_rnd(fc, fcp); - - hash = flow_hash_code(fc, fcp, key); -- head = &fcp->hash_table[hash]; -- for (fle = *head; fle; fle = fle->next) { -- if (fle->family == family && -- fle->dir == dir && -- flow_key_compare(key, &fle->key) == 0) -+ hlist_for_each_entry(tfle, entry, &fcp->hash_table[hash], u.hlist) { -+ if (tfle->family == family && -+ tfle->dir == dir && -+ flow_key_compare(key, &tfle->key) == 0) { -+ fle = tfle; - break; -+ } - } - - if (unlikely(!fle)) { -@@ -214,12 +250,11 @@ flow_cache_lookup(struct net *net, struct flowi *key, u16 family, u8 dir, - - fle = kmem_cache_alloc(flow_cachep, GFP_ATOMIC); - if (fle) { -- fle->next = *head; -- *head = fle; - fle->family = family; - fle->dir = dir; - memcpy(&fle->key, key, sizeof(*key)); - fle->object = NULL; -+ hlist_add_head(&fle->u.hlist, &fcp->hash_table[hash]); - fcp->hash_count++; - } - } else if (likely(fle->genid == atomic_read(&flow_cache_genid))) { -@@ -262,23 +297,26 @@ static void flow_cache_flush_tasklet(unsigned long data) - struct flow_flush_info *info = (void *)data; - struct flow_cache *fc = info->cache; - struct flow_cache_percpu *fcp; -- int i; -+ struct flow_cache_entry *fle; -+ struct hlist_node *entry, *tmp; -+ LIST_HEAD(gc_list); -+ int i, deleted = 0; - - fcp = per_cpu_ptr(fc->percpu, smp_processor_id()); - for (i = 0; i < flow_cache_hash_size(fc); i++) { -- struct flow_cache_entry *fle; -- -- fle = fcp->hash_table[i]; -- for (; fle; fle = fle->next) { -+ hlist_for_each_entry_safe(fle, entry, tmp, -+ &fcp->hash_table[i], u.hlist) { - if (flow_entry_valid(fle)) - continue; - -- if (fle->object) -- fle->object->ops->delete(fle->object); -- fle->object = NULL; -+ deleted++; -+ hlist_del(&fle->u.hlist); -+ list_add_tail(&fle->u.gc_list, &gc_list); - } - } - -+ flow_cache_queue_garbage(fcp, deleted, &gc_list); -+ - if (atomic_dec_and_test(&info->cpuleft)) - complete(&info->completion); - } -@@ -320,7 +358,7 @@ void flow_cache_flush(void) - static void __init flow_cache_cpu_prepare(struct flow_cache *fc, - struct flow_cache_percpu *fcp) - { -- fcp->hash_table = (struct flow_cache_entry **) -+ fcp->hash_table = (struct hlist_head *) - __get_free_pages(GFP_KERNEL|__GFP_ZERO, fc->order); - if (!fcp->hash_table) - panic("NET: failed to allocate flow cache order %lu\n", fc->order); -@@ -354,7 +392,7 @@ static int flow_cache_init(struct flow_cache *fc) - - for (order = 0; - (PAGE_SIZE << order) < -- (sizeof(struct flow_cache_entry *)*flow_cache_hash_size(fc)); -+ (sizeof(struct hlist_head)*flow_cache_hash_size(fc)); - order++) - /* NOTHING */; - fc->order = order; --- -1.7.0.2 - diff --git a/main/linux-pae/0018-xfrm-Fix-crashes-in-xfrm_lookup.patch b/main/linux-pae/0018-xfrm-Fix-crashes-in-xfrm_lookup.patch deleted file mode 100644 index 6f0dc91286..0000000000 --- a/main/linux-pae/0018-xfrm-Fix-crashes-in-xfrm_lookup.patch +++ /dev/null @@ -1,46 +0,0 @@ -From e0c0800740cdf64fe7b121c2ef235c01f1957af0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Thu, 8 Apr 2010 11:27:42 -0700 -Subject: [PATCH 18/18] xfrm: Fix crashes in xfrm_lookup() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Timo Teräs <timo.teras@iki.fi> - -Happens because CONFIG_XFRM_SUB_POLICY is not enabled, and one of -the helper functions I used did unexpected things in that case. - -Signed-off-by: David S. Miller <davem@davemloft.net> -(cherry picked from commit e4077e018b5ead3de9951fc01d8bf12eeeeeefed) ---- - include/net/xfrm.h | 7 ------- - 1 files changed, 0 insertions(+), 7 deletions(-) - -diff --git a/include/net/xfrm.h b/include/net/xfrm.h -index d51ef61..280f46f 100644 ---- a/include/net/xfrm.h -+++ b/include/net/xfrm.h -@@ -738,19 +738,12 @@ static inline void xfrm_pol_put(struct xfrm_policy *policy) - xfrm_policy_destroy(policy); - } - --#ifdef CONFIG_XFRM_SUB_POLICY - static inline void xfrm_pols_put(struct xfrm_policy **pols, int npols) - { - int i; - for (i = npols - 1; i >= 0; --i) - xfrm_pol_put(pols[i]); - } --#else --static inline void xfrm_pols_put(struct xfrm_policy **pols, int npols) --{ -- xfrm_pol_put(pols[0]); --} --#endif - - extern void __xfrm_state_destroy(struct xfrm_state *); - --- -1.7.0.2 - diff --git a/main/linux-pae/APKBUILD b/main/linux-pae/APKBUILD deleted file mode 100644 index fa96d7ee35..0000000000 --- a/main/linux-pae/APKBUILD +++ /dev/null @@ -1,161 +0,0 @@ -# Maintainer: Natanael Copa <ncopa@alpinelinux.org> - -_flavor=pae -pkgname=linux-${_flavor} -pkgver=2.6.32.21 -_kernver=2.6.32 -pkgrel=0 -pkgdesc="Linux kernel with PAE enabled" -url=http://www.kernel.org -depends="mkinitfs linux-firmware" -makedepends="perl installkernel" -options="!strip" -_config=${config:-kernelconfig.${CARCH:-x86}} -install= -source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2 - ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-$pkgver.bz2 - 0002-gre-fix-hard-header-destination-address-checking.patch - 0003-ip_gre-include-route-header_len-in-max_headroom-calc.patch - 0004-arp-flush-arp-cache-on-device-change.patch - 0007-r8169-Fix-rtl8169_rx_interrupt.patch - 0009-ipsec-Fix-bogus-bundle-flowi.patch - 0010-xfrm-Remove-xfrm_state_genid.patch - 0011-xfrm_user-verify-policy-direction-at-XFRM_MSG_POLEXP.patch - 0012-xfrm-remove-policy-lock-when-accessing-policy-walk.d.patch - 0013-flow-structurize-flow-cache.patch - 0014-flow-virtualize-flow-cache-entry-methods.patch - 0015-xfrm-cache-bundles-instead-of-policies-for-outgoing-.patch - 0016-xfrm-remove-policy-garbage-collection.patch - 0017-flow-delayed-deletion-of-flow-cache-entries.patch - 0018-xfrm-Fix-crashes-in-xfrm_lookup.patch - xfrm-fix-policy-unreferencing-on-larval-drop.patch - r8169-fix-random-mdio_write-failures.patch - r8169-fix-mdio_read-and-update-mdio_write-according-to-hw-specs.patch - x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch - kernelconfig.x86 - " -subpackages="$pkgname-dev" -arch="x86" -license="GPL-2" - -_abi_release=${pkgver}-${_flavor} - -prepare() { - cd "$srcdir"/linux-$_kernver - if [ "$_kernver" != "$pkgver" ]; then - bunzip2 -c < ../patch-$pkgver.bz2 | patch -p1 -N || return 1 - fi - - # first apply patches in specified order - for i in $source; do - case $i in - *.patch) - msg "Applying $i..." - patch -s -p1 -N < "$srcdir"/$i || return 1 - ;; - esac - done - - mkdir -p "$srcdir"/build - cp "$srcdir"/$_config "$srcdir"/build/.config - echo "-${_flavor}" > "$srcdir"/linux-$_kernver/localversion-${_flavor} - make -C "$srcdir"/linux-$_kernver O="$srcdir"/build HOSTCC="${CC:-gcc}" \ - silentoldconfig -} - -# this is so we can do: 'abuild menuconfig' to reconfigure kernel -menuconfig() { - cd "$srcdir"/build || return 1 - make menuconfig - cp .config "$startdir"/$_config -} - -build() { - cd "$srcdir"/build - make CC="${CC:-gcc}" \ - KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine" \ - || return 1 -} - -package() { - cd "$srcdir"/build - mkdir -p "$pkgdir"/boot "$pkgdir"/lib/modules - make modules_install install \ - INSTALL_MOD_PATH="$pkgdir" \ - INSTALL_PATH="$pkgdir"/boot - - rm -f "$pkgdir"/lib/modules/${_abi_release}/build \ - "$pkgdir"/lib/modules/${_abi_release}/source - rm -rf "$pkgdir"/lib/firmware - - install -D include/config/kernel.release \ - "$pkgdir"/usr/share/kernel/$_flavor/kernel.release -} - -dev() { - # copy the only the parts that we really need for build 3rd party - # kernel modules and install those as /usr/src/linux-headers, - # simlar to what ubuntu does - # - # this way you dont need to install the 300-400 kernel sources to - # build a tiny kernel module - # - pkgdesc="Headers and script for third party modules for grsec kernel" - local dir="$subpkgdir"/usr/src/linux-headers-${_abi_release} - - # first we import config, run prepare to set up for building - # external modules, and create the scripts - mkdir -p "$dir" - cp "$srcdir"/$_config "$dir"/.config - make -j1 -C "$srcdir"/linux-$_kernver O="$dir" HOSTCC="${CC:-gcc}" \ - silentoldconfig prepare scripts - - # remove the stuff that poits to real sources. we want 3rd party - # modules to believe this is the soruces - rm "$dir"/Makefile "$dir"/source - - # copy the needed stuff from real sources - # - # this is taken from ubuntu kernel build script - # http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-jaunty.git;a=blob;f=debian/rules.d/3-binary-indep.mk;hb=HEAD - cd "$srcdir"/linux-$_kernver - find . -path './include/*' -prune -o -path './scripts/*' -prune \ - -o -type f \( -name 'Makefile*' -o -name 'Kconfig*' \ - -o -name 'Kbuild*' -o -name '*.sh' -o -name '*.pl' \ - -o -name '*.lds' \) | cpio -pdm "$dir" - cp -a drivers/media/dvb/dvb-core/*.h "$dir"/drivers/media/dvb/dvb-core - cp -a drivers/media/video/*.h "$dir"/drivers/media/video - cp -a drivers/media/dvb/frontends/*.h "$dir"/drivers/media/dvb/frontends - cp -a scripts include "$dir" - find $(find arch -name include -type d -print) -type f \ - | cpio -pdm "$dir" - - install -Dm644 "$srcdir"/build/Module.symvers \ - "$dir"/Module.symvers - - mkdir -p "$subpkgdir"/lib/modules/${_abi_release} - ln -sf /usr/src/linux-headers-${_abi_release} \ - "$subpkgdir"/lib/modules/${_abi_release}/build -} - -md5sums="260551284ac224c3a43c4adac7df4879 linux-2.6.32.tar.bz2 -29aa10a231882a6e52908642b572326f patch-2.6.32.21.bz2 -437317f88ec13ace8d39c31983a41696 0002-gre-fix-hard-header-destination-address-checking.patch -151b29a161178ed39d62a08f21f3484d 0003-ip_gre-include-route-header_len-in-max_headroom-calc.patch -776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch -5f8b9a76d95319c5b1aa26b54a42e6b5 0007-r8169-Fix-rtl8169_rx_interrupt.patch -cf168620efa63479a6e03da78906e32f 0009-ipsec-Fix-bogus-bundle-flowi.patch -3af4b5ae1afae3278b0070f585b874e3 0010-xfrm-Remove-xfrm_state_genid.patch -9f284c3fd5ab38cef4544efc1f50c6ba 0011-xfrm_user-verify-policy-direction-at-XFRM_MSG_POLEXP.patch -b035114e893883cf67530350678e00f5 0012-xfrm-remove-policy-lock-when-accessing-policy-walk.d.patch -9dea03ec19aaf9a384e4f56f57009257 0013-flow-structurize-flow-cache.patch -fc9ab26abbfec0d3f20000b5e695620b 0014-flow-virtualize-flow-cache-entry-methods.patch -c09b82b89a49ba2a3836a0bc3a3312f4 0015-xfrm-cache-bundles-instead-of-policies-for-outgoing-.patch -41618efb65ab9ddacfb59a1cde9b4edd 0016-xfrm-remove-policy-garbage-collection.patch -3b83f0972ab715819d1119b120a987e7 0017-flow-delayed-deletion-of-flow-cache-entries.patch -45a676c7a1759fec60b724d557b4e295 0018-xfrm-Fix-crashes-in-xfrm_lookup.patch -c7e606c11c05ff03012b21c3fe0ece47 xfrm-fix-policy-unreferencing-on-larval-drop.patch -ce4a74190febe13713bab1b886dd5bee r8169-fix-random-mdio_write-failures.patch -b41ee19f13498fb25992fd60cd1126d4 r8169-fix-mdio_read-and-update-mdio_write-according-to-hw-specs.patch -a1bcf76870b63a4a4035a8948fb758e2 x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch -970a1dc0f8c6c3e3227a77934eafd68e kernelconfig.x86" diff --git a/main/linux-pae/kernelconfig.x86 b/main/linux-pae/kernelconfig.x86 deleted file mode 100644 index 951f1f8860..0000000000 --- a/main/linux-pae/kernelconfig.x86 +++ /dev/null @@ -1,4546 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.32.15 -# Thu Jun 10 08:10:37 2010 -# -# CONFIG_64BIT is not set -CONFIG_X86_32=y -# CONFIG_X86_64 is not set -CONFIG_X86=y -CONFIG_OUTPUT_FORMAT="elf32-i386" -CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" -CONFIG_GENERIC_TIME=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_CLOCKSOURCE_WATCHDOG=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y -CONFIG_MMU=y -CONFIG_ZONE_DMA=y -CONFIG_GENERIC_ISA_DMA=y -CONFIG_GENERIC_IOMAP=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_GPIO=y -CONFIG_ARCH_MAY_HAVE_PC_FDC=y -# CONFIG_RWSEM_GENERIC_SPINLOCK is not set -CONFIG_RWSEM_XCHGADD_ALGORITHM=y -CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -# CONFIG_GENERIC_TIME_VSYSCALL is not set -CONFIG_ARCH_HAS_CPU_RELAX=y -CONFIG_ARCH_HAS_DEFAULT_IDLE=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_HAVE_SETUP_PER_CPU_AREA=y -CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y -CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y -# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -# CONFIG_ZONE_DMA32 is not set -CONFIG_ARCH_POPULATES_NODE_MAP=y -# CONFIG_AUDIT_ARCH is not set -CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_GENERIC_HARDIRQS=y -CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_PENDING_IRQ=y -CONFIG_USE_GENERIC_SMP_HELPERS=y -CONFIG_X86_32_SMP=y -CONFIG_X86_HT=y -CONFIG_X86_TRAMPOLINE=y -CONFIG_X86_32_LAZY_GS=y -CONFIG_KTIME_SCALAR=y -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" -CONFIG_CONSTRUCTORS=y - -# -# General setup -# -CONFIG_EXPERIMENTAL=y -CONFIG_LOCK_KERNEL=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_HAVE_KERNEL_GZIP=y -CONFIG_HAVE_KERNEL_BZIP2=y -CONFIG_HAVE_KERNEL_LZMA=y -CONFIG_KERNEL_GZIP=y -# CONFIG_KERNEL_BZIP2 is not set -# CONFIG_KERNEL_LZMA is not set -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_POSIX_MQUEUE is not set -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BSD_PROCESS_ACCT_V3=y -# CONFIG_TASKSTATS is not set -# CONFIG_AUDIT is not set - -# -# RCU Subsystem -# -CONFIG_TREE_RCU=y -# CONFIG_TREE_PREEMPT_RCU is not set -# CONFIG_RCU_TRACE is not set -CONFIG_RCU_FANOUT=32 -# CONFIG_RCU_FANOUT_EXACT is not set -# CONFIG_TREE_RCU_TRACE is not set -CONFIG_IKCONFIG=m -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set -# CONFIG_CGROUPS is not set -# CONFIG_SYSFS_DEPRECATED_V2 is not set -# CONFIG_RELAY is not set -# CONFIG_NAMESPACES is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_RD_GZIP=y -CONFIG_RD_BZIP2=y -CONFIG_RD_LZMA=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y -CONFIG_EMBEDDED=y -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y -# CONFIG_KALLSYMS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_PCSPKR_PLATFORM=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -CONFIG_SHMEM=y -CONFIG_AIO=y -CONFIG_HAVE_PERF_EVENTS=y - -# -# Kernel Performance Events And Counters -# -CONFIG_PERF_EVENTS=y -CONFIG_PERF_COUNTERS=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_PCI_QUIRKS=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -# CONFIG_SLAB is not set -CONFIG_SLUB=y -# CONFIG_SLOB is not set -CONFIG_PROFILING=y -CONFIG_OPROFILE=m -# CONFIG_OPROFILE_IBS is not set -# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DMA_API_DEBUG=y - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_SLOW_WORK=y -# CONFIG_SLOW_WORK_DEBUG is not set -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -# CONFIG_MODULE_FORCE_LOAD is not set -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_MODVERSIONS=y -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_STOP_MACHINE=y -CONFIG_BLOCK=y -CONFIG_LBDAF=y -CONFIG_BLK_DEV_BSG=y -# CONFIG_BLK_DEV_INTEGRITY is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_AS=m -CONFIG_IOSCHED_DEADLINE=m -CONFIG_IOSCHED_CFQ=y -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" -CONFIG_PREEMPT_NOTIFIERS=y -CONFIG_FREEZER=y - -# -# Processor type and features -# -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_SMP=y -# CONFIG_SPARSE_IRQ is not set -CONFIG_X86_MPPARSE=y -# CONFIG_X86_BIGSMP is not set -CONFIG_X86_EXTENDED_PLATFORM=y -# CONFIG_X86_ELAN is not set -# CONFIG_X86_MRST is not set -# CONFIG_X86_RDC321X is not set -# CONFIG_X86_32_NON_STANDARD is not set -CONFIG_SCHED_OMIT_FRAME_POINTER=y -CONFIG_PARAVIRT_GUEST=y -CONFIG_XEN=y -CONFIG_XEN_MAX_DOMAIN_MEMORY=8 -CONFIG_XEN_SAVE_RESTORE=y -# CONFIG_XEN_DEBUG_FS is not set -CONFIG_VMI=y -CONFIG_KVM_CLOCK=y -CONFIG_KVM_GUEST=y -CONFIG_LGUEST_GUEST=y -CONFIG_PARAVIRT=y -# CONFIG_PARAVIRT_SPINLOCKS is not set -CONFIG_PARAVIRT_CLOCK=y -# CONFIG_MEMTEST is not set -# CONFIG_M386 is not set -# CONFIG_M486 is not set -# CONFIG_M586 is not set -CONFIG_M586TSC=y -# CONFIG_M586MMX is not set -# CONFIG_M686 is not set -# CONFIG_MPENTIUMII is not set -# CONFIG_MPENTIUMIII is not set -# CONFIG_MPENTIUMM is not set -# CONFIG_MPENTIUM4 is not set -# CONFIG_MK6 is not set -# CONFIG_MK7 is not set -# CONFIG_MK8 is not set -# CONFIG_MCRUSOE is not set -# CONFIG_MEFFICEON is not set -# CONFIG_MWINCHIPC6 is not set -# CONFIG_MWINCHIP3D is not set -# CONFIG_MGEODEGX1 is not set -# CONFIG_MGEODE_LX is not set -# CONFIG_MCYRIXIII is not set -# CONFIG_MVIAC3_2 is not set -# CONFIG_MVIAC7 is not set -# CONFIG_MPSC is not set -# CONFIG_MCORE2 is not set -# CONFIG_MATOM is not set -# CONFIG_GENERIC_CPU is not set -CONFIG_X86_GENERIC=y -CONFIG_X86_CPU=y -CONFIG_X86_L1_CACHE_BYTES=64 -CONFIG_X86_INTERNODE_CACHE_BYTES=64 -CONFIG_X86_CMPXCHG=y -CONFIG_X86_L1_CACHE_SHIFT=5 -CONFIG_X86_XADD=y -# CONFIG_X86_PPRO_FENCE is not set -CONFIG_X86_F00F_BUG=y -CONFIG_X86_WP_WORKS_OK=y -CONFIG_X86_INVLPG=y -CONFIG_X86_BSWAP=y -CONFIG_X86_POPAD_OK=y -CONFIG_X86_ALIGNMENT_16=y -CONFIG_X86_INTEL_USERCOPY=y -CONFIG_X86_TSC=y -CONFIG_X86_CMPXCHG64=y -CONFIG_X86_MINIMUM_CPU_FAMILY=5 -# CONFIG_PROCESSOR_SELECT is not set -CONFIG_CPU_SUP_INTEL=y -CONFIG_CPU_SUP_CYRIX_32=y -CONFIG_CPU_SUP_AMD=y -CONFIG_CPU_SUP_CENTAUR=y -CONFIG_CPU_SUP_TRANSMETA_32=y -CONFIG_CPU_SUP_UMC_32=y -CONFIG_HPET_TIMER=y -CONFIG_HPET_EMULATE_RTC=y -CONFIG_DMI=y -# CONFIG_IOMMU_HELPER is not set -# CONFIG_IOMMU_API is not set -CONFIG_NR_CPUS=8 -CONFIG_SCHED_SMT=y -CONFIG_SCHED_MC=y -# CONFIG_PREEMPT_NONE is not set -CONFIG_PREEMPT_VOLUNTARY=y -# CONFIG_PREEMPT is not set -CONFIG_X86_LOCAL_APIC=y -CONFIG_X86_IO_APIC=y -# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set -# CONFIG_X86_MCE is not set -CONFIG_VM86=y -CONFIG_TOSHIBA=m -CONFIG_I8K=m -CONFIG_X86_REBOOTFIXUPS=y -CONFIG_MICROCODE=m -CONFIG_MICROCODE_INTEL=y -CONFIG_MICROCODE_AMD=y -CONFIG_MICROCODE_OLD_INTERFACE=y -CONFIG_X86_MSR=m -CONFIG_X86_CPUID=m -# CONFIG_NOHIGHMEM is not set -# CONFIG_HIGHMEM4G is not set -CONFIG_HIGHMEM64G=y -CONFIG_VMSPLIT_3G=y -# CONFIG_VMSPLIT_3G_OPT is not set -# CONFIG_VMSPLIT_2G is not set -# CONFIG_VMSPLIT_2G_OPT is not set -# CONFIG_VMSPLIT_1G is not set -CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_HIGHMEM=y -CONFIG_X86_PAE=y -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ILLEGAL_POINTER_VALUE=0 -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -CONFIG_SPARSEMEM_STATIC=y -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y -CONFIG_HAVE_MLOCK=y -CONFIG_HAVE_MLOCKED_PAGE_BIT=y -CONFIG_MMU_NOTIFIER=y -# CONFIG_KSM is not set -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -# CONFIG_HIGHPTE is not set -# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set -CONFIG_X86_RESERVE_LOW_64K=y -CONFIG_MATH_EMULATION=y -CONFIG_MTRR=y -CONFIG_MTRR_SANITIZER=y -CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 -CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 -CONFIG_X86_PAT=y -CONFIG_ARCH_USES_PG_UNCACHED=y -# CONFIG_EFI is not set -# CONFIG_SECCOMP is not set -# CONFIG_CC_STACKPROTECTOR is not set -# CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -CONFIG_HZ_300=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=300 -CONFIG_SCHED_HRTICK=y -# CONFIG_KEXEC is not set -# CONFIG_CRASH_DUMP is not set -CONFIG_PHYSICAL_START=0x1000000 -# CONFIG_RELOCATABLE is not set -CONFIG_PHYSICAL_ALIGN=0x1000000 -CONFIG_HOTPLUG_CPU=y -CONFIG_COMPAT_VDSO=y -# CONFIG_CMDLINE_BOOL is not set -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y - -# -# Power management and ACPI options -# -CONFIG_PM=y -# CONFIG_PM_DEBUG is not set -CONFIG_PM_SLEEP_SMP=y -CONFIG_PM_SLEEP=y -CONFIG_SUSPEND=y -CONFIG_SUSPEND_FREEZER=y -# CONFIG_HIBERNATION is not set -# CONFIG_PM_RUNTIME is not set -CONFIG_ACPI=y -CONFIG_ACPI_SLEEP=y -CONFIG_ACPI_PROCFS=y -CONFIG_ACPI_PROCFS_POWER=y -# CONFIG_ACPI_POWER_METER is not set -CONFIG_ACPI_SYSFS_POWER=y -CONFIG_ACPI_PROC_EVENT=y -CONFIG_ACPI_AC=m -CONFIG_ACPI_BATTERY=m -CONFIG_ACPI_BUTTON=m -CONFIG_ACPI_VIDEO=m -CONFIG_ACPI_FAN=m -CONFIG_ACPI_DOCK=y -CONFIG_ACPI_PROCESSOR=m -CONFIG_ACPI_HOTPLUG_CPU=y -# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set -CONFIG_ACPI_THERMAL=m -# CONFIG_ACPI_CUSTOM_DSDT is not set -CONFIG_ACPI_BLACKLIST_YEAR=2000 -# CONFIG_ACPI_DEBUG is not set -CONFIG_ACPI_PCI_SLOT=m -CONFIG_X86_PM_TIMER=y -CONFIG_ACPI_CONTAINER=m -CONFIG_ACPI_SBS=m -# CONFIG_SFI is not set -# CONFIG_APM is not set - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_TABLE=m -# CONFIG_CPU_FREQ_DEBUG is not set -CONFIG_CPU_FREQ_STAT=m -# CONFIG_CPU_FREQ_STAT_DETAILS is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=m -CONFIG_CPU_FREQ_GOV_USERSPACE=m -CONFIG_CPU_FREQ_GOV_ONDEMAND=m -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m - -# -# CPUFreq processor drivers -# -CONFIG_X86_ACPI_CPUFREQ=m -CONFIG_X86_POWERNOW_K6=m -CONFIG_X86_POWERNOW_K7=m -CONFIG_X86_POWERNOW_K7_ACPI=y -CONFIG_X86_POWERNOW_K8=m -CONFIG_X86_GX_SUSPMOD=m -CONFIG_X86_SPEEDSTEP_CENTRINO=m -CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y -CONFIG_X86_SPEEDSTEP_ICH=m -CONFIG_X86_SPEEDSTEP_SMI=m -CONFIG_X86_P4_CLOCKMOD=m -CONFIG_X86_CPUFREQ_NFORCE2=m -CONFIG_X86_LONGRUN=m -CONFIG_X86_LONGHAUL=m -CONFIG_X86_E_POWERSAVER=m - -# -# shared options -# -CONFIG_X86_SPEEDSTEP_LIB=m -CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_IDLE_GOV_MENU=y - -# -# Bus options (PCI etc.) -# -CONFIG_PCI=y -# CONFIG_PCI_GOBIOS is not set -# CONFIG_PCI_GOMMCONFIG is not set -# CONFIG_PCI_GODIRECT is not set -# CONFIG_PCI_GOOLPC is not set -CONFIG_PCI_GOANY=y -CONFIG_PCI_BIOS=y -CONFIG_PCI_DIRECT=y -CONFIG_PCI_MMCONFIG=y -CONFIG_PCI_DOMAINS=y -CONFIG_PCIEPORTBUS=y -CONFIG_HOTPLUG_PCI_PCIE=m -# CONFIG_PCIEAER is not set -CONFIG_PCIEASPM=y -# CONFIG_PCIEASPM_DEBUG is not set -CONFIG_ARCH_SUPPORTS_MSI=y -# CONFIG_PCI_MSI is not set -CONFIG_PCI_LEGACY=y -CONFIG_PCI_STUB=m -CONFIG_HT_IRQ=y -# CONFIG_PCI_IOV is not set -CONFIG_ISA_DMA_API=y -CONFIG_ISA=y -# CONFIG_EISA is not set -# CONFIG_MCA is not set -CONFIG_SCx200=m -CONFIG_SCx200HR_TIMER=m -# CONFIG_OLPC is not set -CONFIG_K8_NB=y -CONFIG_PCCARD=m -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA=m -CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y -CONFIG_CARDBUS=y - -# -# PC-card bridges -# -CONFIG_YENTA=m -CONFIG_YENTA_O2=y -CONFIG_YENTA_RICOH=y -CONFIG_YENTA_TI=y -CONFIG_YENTA_ENE_TUNE=y -CONFIG_YENTA_TOSHIBA=y -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_I82365=m -CONFIG_TCIC=m -CONFIG_PCMCIA_PROBE=y -CONFIG_PCCARD_NONSTATIC=m -CONFIG_HOTPLUG_PCI=m -CONFIG_HOTPLUG_PCI_FAKE=m -CONFIG_HOTPLUG_PCI_COMPAQ=m -# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set -CONFIG_HOTPLUG_PCI_IBM=m -CONFIG_HOTPLUG_PCI_ACPI=m -CONFIG_HOTPLUG_PCI_ACPI_IBM=m -CONFIG_HOTPLUG_PCI_CPCI=y -CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m -CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m -CONFIG_HOTPLUG_PCI_SHPC=m - -# -# Executable file formats / Emulations -# -CONFIG_BINFMT_ELF=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_HAVE_AOUT=y -CONFIG_BINFMT_AOUT=m -CONFIG_BINFMT_MISC=m -CONFIG_HAVE_ATOMIC_IOMAP=y -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=m -CONFIG_PACKET_MMAP=y -CONFIG_UNIX=y -CONFIG_XFRM=y -CONFIG_XFRM_USER=m -CONFIG_XFRM_SUB_POLICY=y -CONFIG_XFRM_MIGRATE=y -# CONFIG_XFRM_STATISTICS is not set -CONFIG_XFRM_IPCOMP=m -CONFIG_NET_KEY=m -CONFIG_NET_KEY_MIGRATE=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_ASK_IP_FIB_HASH=y -# CONFIG_IP_FIB_TRIE is not set -CONFIG_IP_FIB_HASH=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE=m -CONFIG_NET_IPGRE_BROADCAST=y -CONFIG_IP_MROUTE=y -# CONFIG_IP_PIMSM_V1 is not set -CONFIG_IP_PIMSM_V2=y -CONFIG_ARPD=y -CONFIG_SYN_COOKIES=y -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_XFRM_TUNNEL=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -CONFIG_INET_XFRM_MODE_TUNNEL=m -CONFIG_INET_XFRM_MODE_BEET=m -CONFIG_INET_LRO=y -CONFIG_INET_DIAG=m -CONFIG_INET_TCP_DIAG=m -CONFIG_TCP_CONG_ADVANCED=y -CONFIG_TCP_CONG_BIC=m -CONFIG_TCP_CONG_CUBIC=y -CONFIG_TCP_CONG_WESTWOOD=m -CONFIG_TCP_CONG_HTCP=m -CONFIG_TCP_CONG_HSTCP=m -CONFIG_TCP_CONG_HYBLA=m -CONFIG_TCP_CONG_VEGAS=m -CONFIG_TCP_CONG_SCALABLE=m -CONFIG_TCP_CONG_LP=m -CONFIG_TCP_CONG_VENO=m -CONFIG_TCP_CONG_YEAH=m -CONFIG_TCP_CONG_ILLINOIS=m -# CONFIG_DEFAULT_BIC is not set -CONFIG_DEFAULT_CUBIC=y -# CONFIG_DEFAULT_HTCP is not set -# CONFIG_DEFAULT_VEGAS is not set -# CONFIG_DEFAULT_WESTWOOD is not set -# CONFIG_DEFAULT_RENO is not set -CONFIG_DEFAULT_TCP_CONG="cubic" -CONFIG_TCP_MD5SIG=y -CONFIG_IPV6=m -CONFIG_IPV6_PRIVACY=y -CONFIG_IPV6_ROUTER_PREF=y -CONFIG_IPV6_ROUTE_INFO=y -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_IPCOMP=m -CONFIG_IPV6_MIP6=m -CONFIG_INET6_XFRM_TUNNEL=m -CONFIG_INET6_TUNNEL=m -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET6_XFRM_MODE_BEET=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -CONFIG_IPV6_SIT=m -CONFIG_IPV6_NDISC_NODETYPE=y -CONFIG_IPV6_TUNNEL=m -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_SUBTREES=y -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_PIMSM_V2=y -CONFIG_NETLABEL=y -CONFIG_NETWORK_SECMARK=y -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=y - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=m -CONFIG_NETFILTER_NETLINK_QUEUE=m -CONFIG_NETFILTER_NETLINK_LOG=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CT_ACCT=y -CONFIG_NF_CONNTRACK_MARK=y -CONFIG_NF_CONNTRACK_SECMARK=y -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CT_PROTO_DCCP=m -CONFIG_NF_CT_PROTO_GRE=m -CONFIG_NF_CT_PROTO_SCTP=m -CONFIG_NF_CT_PROTO_UDPLITE=m -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_PPTP=m -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -CONFIG_NETFILTER_TPROXY=m -CONFIG_NETFILTER_XTABLES=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HL=m -CONFIG_NETFILTER_XT_TARGET_LED=m -CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -CONFIG_NETFILTER_XT_TARGET_RATEEST=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -CONFIG_NETFILTER_XT_TARGET_TRACE=m -CONFIG_NETFILTER_XT_TARGET_SECMARK=m -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_DCCP=m -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_HL=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set -CONFIG_NETFILTER_XT_MATCH_SCTP=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_IP_VS=m -CONFIG_IP_VS_IPV6=y -# CONFIG_IP_VS_DEBUG is not set -CONFIG_IP_VS_TAB_BITS=12 - -# -# IPVS transport protocol load balancing support -# -CONFIG_IP_VS_PROTO_TCP=y -CONFIG_IP_VS_PROTO_UDP=y -CONFIG_IP_VS_PROTO_AH_ESP=y -CONFIG_IP_VS_PROTO_ESP=y -CONFIG_IP_VS_PROTO_AH=y - -# -# IPVS scheduler -# -CONFIG_IP_VS_RR=m -CONFIG_IP_VS_WRR=m -CONFIG_IP_VS_LC=m -CONFIG_IP_VS_WLC=m -CONFIG_IP_VS_LBLC=m -CONFIG_IP_VS_LBLCR=m -CONFIG_IP_VS_DH=m -CONFIG_IP_VS_SH=m -CONFIG_IP_VS_SED=m -CONFIG_IP_VS_NQ=m - -# -# IPVS application helper -# -CONFIG_IP_VS_FTP=m - -# -# IP: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV4=m -CONFIG_NF_CONNTRACK_IPV4=m -CONFIG_NF_CONNTRACK_PROC_COMPAT=y -CONFIG_IP_NF_QUEUE=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_ADDRTYPE=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_LOG=m -CONFIG_IP_NF_TARGET_ULOG=m -CONFIG_NF_NAT=m -CONFIG_NF_NAT_NEEDED=y -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_NF_NAT_SNMP_BASIC=m -CONFIG_NF_NAT_PROTO_DCCP=m -CONFIG_NF_NAT_PROTO_GRE=m -CONFIG_NF_NAT_PROTO_UDPLITE=m -CONFIG_NF_NAT_PROTO_SCTP=m -CONFIG_NF_NAT_FTP=m -CONFIG_NF_NAT_IRC=m -CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_AMANDA=m -CONFIG_NF_NAT_PPTP=m -CONFIG_NF_NAT_H323=m -CONFIG_NF_NAT_SIP=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_SECURITY=m -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m - -# -# IPv6: Netfilter Configuration -# -CONFIG_NF_CONNTRACK_IPV6=m -CONFIG_IP6_NF_QUEUE=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_TARGET_HL=m -CONFIG_IP6_NF_TARGET_LOG=m -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_TARGET_REJECT=m -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_RAW=m -CONFIG_IP6_NF_SECURITY=m - -# -# DECnet: Netfilter Configuration -# -CONFIG_DECNET_NF_GRABULATOR=m -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_IP6=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_ULOG=m -CONFIG_BRIDGE_EBT_NFLOG=m -CONFIG_IP_DCCP=m -CONFIG_INET_DCCP_DIAG=m - -# -# DCCP CCIDs Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP_CCID2_DEBUG is not set -CONFIG_IP_DCCP_CCID3=y -# CONFIG_IP_DCCP_CCID3_DEBUG is not set -CONFIG_IP_DCCP_CCID3_RTO=100 -CONFIG_IP_DCCP_TFRC_LIB=y -CONFIG_IP_SCTP=m -# CONFIG_SCTP_DBG_MSG is not set -# CONFIG_SCTP_DBG_OBJCNT is not set -# CONFIG_SCTP_HMAC_NONE is not set -CONFIG_SCTP_HMAC_SHA1=y -# CONFIG_SCTP_HMAC_MD5 is not set -CONFIG_RDS=m -# CONFIG_RDS_RDMA is not set -# CONFIG_RDS_TCP is not set -# CONFIG_RDS_DEBUG is not set -CONFIG_TIPC=m -# CONFIG_TIPC_ADVANCED is not set -# CONFIG_TIPC_DEBUG is not set -CONFIG_ATM=m -CONFIG_ATM_CLIP=m -# CONFIG_ATM_CLIP_NO_ICMP is not set -CONFIG_ATM_LANE=m -CONFIG_ATM_MPOA=m -CONFIG_ATM_BR2684=m -# CONFIG_ATM_BR2684_IPFILTER is not set -CONFIG_STP=m -CONFIG_BRIDGE=m -# CONFIG_NET_DSA is not set -CONFIG_VLAN_8021Q=m -# CONFIG_VLAN_8021Q_GVRP is not set -CONFIG_DECNET=m -CONFIG_DECNET_ROUTER=y -CONFIG_LLC=m -CONFIG_LLC2=m -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set -CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=m -CONFIG_LTPC=m -CONFIG_COPS=m -CONFIG_COPS_DAYNA=y -CONFIG_COPS_TANGENT=y -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y -CONFIG_X25=m -CONFIG_LAPB=m -CONFIG_ECONET=m -CONFIG_ECONET_AUNUDP=y -CONFIG_ECONET_NATIVE=y -CONFIG_WAN_ROUTER=m -CONFIG_PHONET=m -CONFIG_IEEE802154=m -CONFIG_NET_SCHED=y - -# -# Queueing/Scheduling -# -CONFIG_NET_SCH_CBQ=m -CONFIG_NET_SCH_HTB=m -CONFIG_NET_SCH_HFSC=m -CONFIG_NET_SCH_ATM=m -CONFIG_NET_SCH_PRIO=m -CONFIG_NET_SCH_MULTIQ=m -CONFIG_NET_SCH_RED=m -CONFIG_NET_SCH_SFQ=m -CONFIG_NET_SCH_TEQL=m -CONFIG_NET_SCH_TBF=m -CONFIG_NET_SCH_GRED=m -CONFIG_NET_SCH_DSMARK=m -CONFIG_NET_SCH_NETEM=m -CONFIG_NET_SCH_DRR=m -CONFIG_NET_SCH_INGRESS=m - -# -# Classification -# -CONFIG_NET_CLS=y -CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_TCINDEX=m -CONFIG_NET_CLS_ROUTE4=m -CONFIG_NET_CLS_ROUTE=y -CONFIG_NET_CLS_FW=m -CONFIG_NET_CLS_U32=m -CONFIG_CLS_U32_PERF=y -CONFIG_CLS_U32_MARK=y -CONFIG_NET_CLS_RSVP=m -CONFIG_NET_CLS_RSVP6=m -CONFIG_NET_CLS_FLOW=m -CONFIG_NET_EMATCH=y -CONFIG_NET_EMATCH_STACK=32 -CONFIG_NET_EMATCH_CMP=m -CONFIG_NET_EMATCH_NBYTE=m -CONFIG_NET_EMATCH_U32=m -CONFIG_NET_EMATCH_META=m -CONFIG_NET_EMATCH_TEXT=m -CONFIG_NET_CLS_ACT=y -CONFIG_NET_ACT_POLICE=m -CONFIG_NET_ACT_GACT=m -CONFIG_GACT_PROB=y -CONFIG_NET_ACT_MIRRED=m -CONFIG_NET_ACT_IPT=m -CONFIG_NET_ACT_NAT=m -CONFIG_NET_ACT_PEDIT=m -CONFIG_NET_ACT_SIMP=m -CONFIG_NET_ACT_SKBEDIT=m -# CONFIG_NET_CLS_IND is not set -CONFIG_NET_SCH_FIFO=y -# CONFIG_DCB is not set - -# -# Network testing -# -CONFIG_NET_PKTGEN=m -# CONFIG_HAMRADIO is not set -CONFIG_CAN=m -CONFIG_CAN_RAW=m -CONFIG_CAN_BCM=m - -# -# CAN Device Drivers -# -CONFIG_CAN_VCAN=m -CONFIG_CAN_DEV=m -# CONFIG_CAN_CALC_BITTIMING is not set -CONFIG_CAN_SJA1000=m -# CONFIG_CAN_SJA1000_ISA is not set -CONFIG_CAN_SJA1000_PLATFORM=m -CONFIG_CAN_EMS_PCI=m -CONFIG_CAN_KVASER_PCI=m - -# -# CAN USB interfaces -# -# CONFIG_CAN_EMS_USB is not set -# CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_IRDA=m - -# -# IrDA protocols -# -CONFIG_IRLAN=m -CONFIG_IRNET=m -CONFIG_IRCOMM=m -CONFIG_IRDA_ULTRA=y - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=m - -# -# Dongle support -# -CONFIG_DONGLE=y -CONFIG_ESI_DONGLE=m -CONFIG_ACTISYS_DONGLE=m -CONFIG_TEKRAM_DONGLE=m -CONFIG_TOIM3232_DONGLE=m -CONFIG_LITELINK_DONGLE=m -CONFIG_MA600_DONGLE=m -CONFIG_GIRBIL_DONGLE=m -CONFIG_MCP2120_DONGLE=m -CONFIG_OLD_BELKIN_DONGLE=m -CONFIG_ACT200L_DONGLE=m -CONFIG_KINGSUN_DONGLE=m -CONFIG_KSDAZZLE_DONGLE=m -CONFIG_KS959_DONGLE=m - -# -# FIR device drivers -# -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_NSC_FIR=m -CONFIG_WINBOND_FIR=m -CONFIG_TOSHIBA_FIR=m -CONFIG_SMC_IRCC_FIR=m -CONFIG_ALI_FIR=m -CONFIG_VLSI_FIR=m -CONFIG_VIA_FIR=m -CONFIG_MCS_FIR=m -CONFIG_BT=m -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_CMTP=m -CONFIG_BT_HIDP=m - -# -# Bluetooth device drivers -# -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIBTSDIO=m -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIUART_LL=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIDTL1=m -CONFIG_BT_HCIBT3C=m -CONFIG_BT_HCIBLUECARD=m -CONFIG_BT_HCIBTUART=m -CONFIG_BT_HCIVHCI=m -# CONFIG_BT_MRVL is not set -CONFIG_AF_RXRPC=m -# CONFIG_AF_RXRPC_DEBUG is not set -CONFIG_RXKAD=m -CONFIG_FIB_RULES=y -CONFIG_WIRELESS=y -CONFIG_CFG80211=m -# CONFIG_NL80211_TESTMODE is not set -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -# CONFIG_CFG80211_REG_DEBUG is not set -CONFIG_CFG80211_DEFAULT_PS=y -CONFIG_CFG80211_DEFAULT_PS_VALUE=1 -# CONFIG_CFG80211_DEBUGFS is not set -CONFIG_WIRELESS_OLD_REGULATORY=y -CONFIG_WIRELESS_EXT=y -CONFIG_WIRELESS_EXT_SYSFS=y -CONFIG_LIB80211=m -CONFIG_LIB80211_CRYPT_WEP=m -CONFIG_LIB80211_CRYPT_CCMP=m -CONFIG_LIB80211_CRYPT_TKIP=m -# CONFIG_LIB80211_DEBUG is not set -CONFIG_MAC80211=m -CONFIG_MAC80211_RC_PID=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT_PID=y -# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set -CONFIG_MAC80211_RC_DEFAULT="pid" -# CONFIG_MAC80211_MESH is not set -CONFIG_MAC80211_LEDS=y -# CONFIG_MAC80211_DEBUGFS is not set -# CONFIG_MAC80211_DEBUG_MENU is not set -CONFIG_WIMAX=m -CONFIG_WIMAX_DEBUG_LEVEL=8 -CONFIG_RFKILL=m -CONFIG_RFKILL_LEDS=y -# CONFIG_RFKILL_INPUT is not set -CONFIG_NET_9P=m -CONFIG_NET_9P_VIRTIO=m -CONFIG_NET_9P_RDMA=m -# CONFIG_NET_9P_DEBUG is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -# CONFIG_DEVTMPFS is not set -CONFIG_STANDALONE=y -# CONFIG_PREVENT_FIRMWARE_BUILD is not set -CONFIG_FW_LOADER=m -# CONFIG_FIRMWARE_IN_KERNEL is not set -CONFIG_EXTRA_FIRMWARE="" -CONFIG_SYS_HYPERVISOR=y -CONFIG_CONNECTOR=m -CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_TESTS=m -CONFIG_MTD_CONCAT=m -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=m -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -CONFIG_MTD_AR7_PARTS=m - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=m -CONFIG_HAVE_MTD_OTP=y -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -CONFIG_MTD_BLOCK_RO=m -CONFIG_FTL=m -CONFIG_NFTL=m -CONFIG_NFTL_RW=y -CONFIG_INFTL=m -CONFIG_RFD_FTL=m -CONFIG_SSFDC=m -CONFIG_MTD_OOPS=m - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=m -CONFIG_MTD_JEDECPROBE=m -CONFIG_MTD_GEN_PROBE=m -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=m -CONFIG_MTD_CFI_AMDSTD=m -CONFIG_MTD_CFI_STAA=m -CONFIG_MTD_CFI_UTIL=m -CONFIG_MTD_RAM=m -CONFIG_MTD_ROM=m -CONFIG_MTD_ABSENT=m - -# -# Mapping drivers for chip access -# -CONFIG_MTD_COMPLEX_MAPPINGS=y -CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_COMPAT is not set -CONFIG_MTD_SC520CDP=m -CONFIG_MTD_NETSC520=m -CONFIG_MTD_TS5500=m -CONFIG_MTD_SBC_GXX=m -CONFIG_MTD_SCx200_DOCFLASH=m -CONFIG_MTD_AMD76XROM=m -CONFIG_MTD_ICHXROM=m -CONFIG_MTD_ESB2ROM=m -CONFIG_MTD_CK804XROM=m -CONFIG_MTD_SCB2_FLASH=m -CONFIG_MTD_NETtel=m -CONFIG_MTD_L440GX=m -CONFIG_MTD_PCI=m -# CONFIG_MTD_GPIO_ADDR is not set -CONFIG_MTD_INTEL_VR_NOR=m -CONFIG_MTD_PLATRAM=m - -# -# Self-contained MTD device drivers -# -CONFIG_MTD_PMC551=m -CONFIG_MTD_PMC551_BUGFIX=y -# CONFIG_MTD_PMC551_DEBUG is not set -CONFIG_MTD_DATAFLASH=m -# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set -# CONFIG_MTD_DATAFLASH_OTP is not set -CONFIG_MTD_M25P80=m -CONFIG_M25PXX_USE_FAST_READ=y -# CONFIG_MTD_SST25L is not set -CONFIG_MTD_SLRAM=m -CONFIG_MTD_PHRAM=m -CONFIG_MTD_MTDRAM=m -CONFIG_MTDRAM_TOTAL_SIZE=4096 -CONFIG_MTDRAM_ERASE_SIZE=128 -CONFIG_MTD_BLOCK2MTD=m - -# -# Disk-On-Chip Device Drivers -# -CONFIG_MTD_DOC2000=m -CONFIG_MTD_DOC2001=m -CONFIG_MTD_DOC2001PLUS=m -CONFIG_MTD_DOCPROBE=m -CONFIG_MTD_DOCECC=m -CONFIG_MTD_DOCPROBE_ADVANCED=y -CONFIG_MTD_DOCPROBE_ADDRESS=0x0000 -# CONFIG_MTD_DOCPROBE_HIGH is not set -# CONFIG_MTD_DOCPROBE_55AA is not set -CONFIG_MTD_NAND=m -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -CONFIG_MTD_NAND_ECC_SMC=y -# CONFIG_MTD_NAND_MUSEUM_IDS is not set -CONFIG_MTD_NAND_IDS=m -CONFIG_MTD_NAND_DISKONCHIP=m -# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set -CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 -# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set -CONFIG_MTD_NAND_CAFE=m -CONFIG_MTD_NAND_CS553X=m -CONFIG_MTD_NAND_NANDSIM=m -CONFIG_MTD_NAND_PLATFORM=m -CONFIG_MTD_ALAUDA=m -CONFIG_MTD_ONENAND=m -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OTP=y -CONFIG_MTD_ONENAND_2X_PROGRAM=y -CONFIG_MTD_ONENAND_SIM=m - -# -# LPDDR flash memory drivers -# -CONFIG_MTD_LPDDR=m -CONFIG_MTD_QINFO_PROBE=m - -# -# UBI - Unsorted block images -# -CONFIG_MTD_UBI=m -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MTD_UBI_BEB_RESERVE=1 -# CONFIG_MTD_UBI_GLUEBI is not set - -# -# UBI debugging options -# -# CONFIG_MTD_UBI_DEBUG is not set -CONFIG_PARPORT=m -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_SERIAL=m -# CONFIG_PARPORT_PC_FIFO is not set -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_GSC is not set -CONFIG_PARPORT_AX88796=m -# CONFIG_PARPORT_1284 is not set -CONFIG_PARPORT_NOT_PC=y -CONFIG_PNP=y -# CONFIG_PNP_DEBUG_MESSAGES is not set - -# -# Protocols -# -CONFIG_ISAPNP=y -CONFIG_PNPBIOS=y -# CONFIG_PNPBIOS_PROC_FS is not set -CONFIG_PNPACPI=y -CONFIG_BLK_DEV=y -CONFIG_BLK_DEV_FD=m -CONFIG_BLK_DEV_XD=m -# CONFIG_PARIDE is not set -CONFIG_BLK_CPQ_DA=m -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_CISS_SCSI_TAPE=y -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_UMEM=m -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_CRYPTOLOOP=m -CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_OSD=m -CONFIG_BLK_DEV_SX8=m -CONFIG_BLK_DEV_UB=m -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -# CONFIG_BLK_DEV_XIP is not set -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set -CONFIG_ATA_OVER_ETH=m -CONFIG_XEN_BLKDEV_FRONTEND=y -CONFIG_VIRTIO_BLK=m -# CONFIG_BLK_DEV_HD is not set -CONFIG_MISC_DEVICES=y -CONFIG_IBM_ASM=m -CONFIG_PHANTOM=m -CONFIG_SGI_IOC4=m -CONFIG_TIFM_CORE=m -CONFIG_TIFM_7XX1=m -CONFIG_ICS932S401=m -CONFIG_ENCLOSURE_SERVICES=m -CONFIG_HP_ILO=m -CONFIG_DELL_LAPTOP=m -CONFIG_ISL29003=m -CONFIG_C2PORT=m -CONFIG_C2PORT_DURAMAR_2150=m - -# -# EEPROM support -# -CONFIG_EEPROM_AT24=m -CONFIG_EEPROM_AT25=m -CONFIG_EEPROM_LEGACY=m -CONFIG_EEPROM_MAX6875=m -CONFIG_EEPROM_93CX6=m -CONFIG_CB710_CORE=m -# CONFIG_CB710_DEBUG is not set -CONFIG_CB710_DEBUG_ASSUMPTIONS=y -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set - -# -# SCSI device support -# -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=m -CONFIG_SCSI_DMA=y -CONFIG_SCSI_TGT=m -CONFIG_SCSI_NETLINK=y -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_ENCLOSURE=m -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_WAIT_SCAN=m - -# -# SCSI Transports -# -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_FC_TGT_ATTRS=y -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_SCSI_SAS_LIBSAS=m -CONFIG_SCSI_SAS_ATA=y -CONFIG_SCSI_SAS_HOST_SMP=y -# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set -CONFIG_SCSI_SRP_ATTRS=m -CONFIG_SCSI_SRP_TGT_ATTRS=y -CONFIG_SCSI_LOWLEVEL=y -CONFIG_ISCSI_TCP=m -CONFIG_SCSI_CXGB3_ISCSI=m -CONFIG_SCSI_BNX2_ISCSI=m -# CONFIG_BE2ISCSI is not set -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_7000FASST=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AHA152X=m -CONFIG_SCSI_AHA1542=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX=m -CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set -CONFIG_AIC7XXX_DEBUG_ENABLE=y -CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y -CONFIG_SCSI_AIC7XXX_OLD=m -CONFIG_SCSI_AIC79XX=m -CONFIG_AIC79XX_CMDS_PER_DEVICE=32 -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -# CONFIG_AIC79XX_BUILD_FIRMWARE is not set -CONFIG_AIC79XX_DEBUG_ENABLE=y -CONFIG_AIC79XX_DEBUG_MASK=0 -CONFIG_AIC79XX_REG_PRETTY_PRINT=y -CONFIG_SCSI_AIC94XX=m -# CONFIG_AIC94XX_DEBUG is not set -CONFIG_SCSI_MVSAS=m -CONFIG_SCSI_MVSAS_DEBUG=y -CONFIG_SCSI_DPT_I2O=m -CONFIG_SCSI_ADVANSYS=m -CONFIG_SCSI_IN2000=m -CONFIG_SCSI_ARCMSR=m -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_SAS=m -CONFIG_SCSI_MPT2SAS=m -CONFIG_SCSI_MPT2SAS_MAX_SGE=128 -# CONFIG_SCSI_MPT2SAS_LOGGING is not set -CONFIG_SCSI_HPTIOP=m -CONFIG_SCSI_BUSLOGIC=m -CONFIG_SCSI_FLASHPOINT=y -CONFIG_LIBFC=m -CONFIG_LIBFCOE=m -CONFIG_FCOE=m -CONFIG_FCOE_FNIC=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_DTC3280=m -CONFIG_SCSI_EATA=m -# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set -# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set -CONFIG_SCSI_EATA_MAX_TAGS=16 -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_GDTH=m -CONFIG_SCSI_GENERIC_NCR5380=m -CONFIG_SCSI_GENERIC_NCR5380_MMIO=m -CONFIG_SCSI_GENERIC_NCR53C400=y -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_PPA=m -CONFIG_SCSI_IMM=m -# CONFIG_SCSI_IZIP_EPP16 is not set -# CONFIG_SCSI_IZIP_SLOW_CTR is not set -CONFIG_SCSI_NCR53C406A=m -CONFIG_SCSI_STEX=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_SYM53C8XX_MMIO=y -CONFIG_SCSI_IPR=m -CONFIG_SCSI_IPR_TRACE=y -# CONFIG_SCSI_IPR_DUMP is not set -CONFIG_SCSI_PAS16=m -CONFIG_SCSI_QLOGIC_FAS=m -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_QLA_FC=m -CONFIG_SCSI_QLA_ISCSI=m -CONFIG_SCSI_LPFC=m -# CONFIG_SCSI_LPFC_DEBUG_FS is not set -CONFIG_SCSI_SYM53C416=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -CONFIG_SCSI_T128=m -CONFIG_SCSI_U14_34F=m -# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set -# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set -CONFIG_SCSI_U14_34F_MAX_TAGS=8 -CONFIG_SCSI_ULTRASTOR=m -CONFIG_SCSI_NSP32=m -CONFIG_SCSI_DEBUG=m -# CONFIG_SCSI_PMCRAID is not set -CONFIG_SCSI_SRP=m -# CONFIG_SCSI_BFA_FC is not set -CONFIG_SCSI_LOWLEVEL_PCMCIA=y -CONFIG_PCMCIA_AHA152X=m -CONFIG_PCMCIA_FDOMAIN=m -CONFIG_PCMCIA_NINJA_SCSI=m -CONFIG_PCMCIA_QLOGIC=m -CONFIG_PCMCIA_SYM53C500=m -CONFIG_SCSI_DH=m -CONFIG_SCSI_DH_RDAC=m -CONFIG_SCSI_DH_HP_SW=m -CONFIG_SCSI_DH_EMC=m -CONFIG_SCSI_DH_ALUA=m -CONFIG_SCSI_OSD_INITIATOR=m -CONFIG_SCSI_OSD_ULD=m -CONFIG_SCSI_OSD_DPRINT_SENSE=1 -# CONFIG_SCSI_OSD_DEBUG is not set -CONFIG_ATA=m -# CONFIG_ATA_NONSTANDARD is not set -CONFIG_ATA_VERBOSE_ERROR=y -CONFIG_ATA_ACPI=y -CONFIG_SATA_PMP=y -CONFIG_SATA_AHCI=m -CONFIG_SATA_SIL24=m -CONFIG_ATA_SFF=y -CONFIG_SATA_SVW=m -CONFIG_ATA_PIIX=m -CONFIG_SATA_MV=m -CONFIG_SATA_NV=m -CONFIG_PDC_ADMA=m -CONFIG_SATA_QSTOR=m -CONFIG_SATA_PROMISE=m -CONFIG_SATA_SX4=m -CONFIG_SATA_SIL=m -CONFIG_SATA_SIS=m -CONFIG_SATA_ULI=m -CONFIG_SATA_VIA=m -CONFIG_SATA_VITESSE=m -CONFIG_SATA_INIC162X=m -CONFIG_PATA_ACPI=m -CONFIG_PATA_ALI=m -CONFIG_PATA_AMD=m -CONFIG_PATA_ARTOP=m -CONFIG_PATA_ATP867X=m -CONFIG_PATA_ATIIXP=m -CONFIG_PATA_CMD640_PCI=m -CONFIG_PATA_CMD64X=m -CONFIG_PATA_CS5520=m -CONFIG_PATA_CS5530=m -CONFIG_PATA_CS5535=m -CONFIG_PATA_CS5536=m -CONFIG_PATA_CYPRESS=m -CONFIG_PATA_EFAR=m -CONFIG_ATA_GENERIC=m -CONFIG_PATA_HPT366=m -CONFIG_PATA_HPT37X=m -CONFIG_PATA_HPT3X2N=m -CONFIG_PATA_HPT3X3=m -CONFIG_PATA_HPT3X3_DMA=y -CONFIG_PATA_ISAPNP=m -CONFIG_PATA_IT821X=m -CONFIG_PATA_IT8213=m -CONFIG_PATA_JMICRON=m -CONFIG_PATA_LEGACY=m -CONFIG_PATA_TRIFLEX=m -CONFIG_PATA_MARVELL=m -CONFIG_PATA_MPIIX=m -CONFIG_PATA_OLDPIIX=m -CONFIG_PATA_NETCELL=m -CONFIG_PATA_NINJA32=m -CONFIG_PATA_NS87410=m -CONFIG_PATA_NS87415=m -CONFIG_PATA_OPTI=m -CONFIG_PATA_OPTIDMA=m -CONFIG_PATA_PCMCIA=m -CONFIG_PATA_PDC_OLD=m -CONFIG_PATA_QDI=m -CONFIG_PATA_RADISYS=m -CONFIG_PATA_RDC=m -CONFIG_PATA_RZ1000=m -CONFIG_PATA_SC1200=m -CONFIG_PATA_SERVERWORKS=m -CONFIG_PATA_PDC2027X=m -CONFIG_PATA_SIL680=m -CONFIG_PATA_SIS=m -CONFIG_PATA_VIA=m -CONFIG_PATA_WINBOND=m -CONFIG_PATA_WINBOND_VLB=m -CONFIG_PATA_PLATFORM=m -CONFIG_PATA_SCH=m -CONFIG_MD=y -CONFIG_BLK_DEV_MD=y -# CONFIG_MD_AUTODETECT is not set -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID456=m -# CONFIG_MULTICORE_RAID456 is not set -CONFIG_MD_RAID6_PQ=m -# CONFIG_ASYNC_RAID6_TEST is not set -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_DEBUG is not set -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_LOG_USERSPACE=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m -CONFIG_DM_MULTIPATH_QL=m -CONFIG_DM_MULTIPATH_ST=m -CONFIG_DM_DELAY=m -# CONFIG_DM_UEVENT is not set -CONFIG_FUSION=y -CONFIG_FUSION_SPI=m -CONFIG_FUSION_FC=m -CONFIG_FUSION_SAS=m -CONFIG_FUSION_MAX_SGE=128 -CONFIG_FUSION_CTL=m -# CONFIG_FUSION_LOGGING is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# You can enable one or both FireWire driver stacks. -# - -# -# See the help texts for more information. -# -CONFIG_FIREWIRE=m -CONFIG_FIREWIRE_OHCI=m -CONFIG_FIREWIRE_OHCI_DEBUG=y -CONFIG_FIREWIRE_SBP2=m -CONFIG_FIREWIRE_NET=m -CONFIG_IEEE1394=m -CONFIG_IEEE1394_OHCI1394=m -CONFIG_IEEE1394_PCILYNX=m -CONFIG_IEEE1394_SBP2=m -# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set -CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y -CONFIG_IEEE1394_ETH1394=m -CONFIG_IEEE1394_RAWIO=m -CONFIG_IEEE1394_VIDEO1394=m -CONFIG_IEEE1394_DV1394=m -# CONFIG_IEEE1394_VERBOSEDEBUG is not set -CONFIG_I2O=m -CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y -CONFIG_I2O_EXT_ADAPTEC=y -CONFIG_I2O_EXT_ADAPTEC_DMA64=y -CONFIG_I2O_CONFIG=m -CONFIG_I2O_CONFIG_OLD_IOCTL=y -CONFIG_I2O_BUS=m -CONFIG_I2O_BLOCK=m -CONFIG_I2O_SCSI=m -CONFIG_I2O_PROC=m -# CONFIG_MACINTOSH_DRIVERS is not set -CONFIG_NETDEVICES=y -CONFIG_IFB=m -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_MACVLAN=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_VETH=m -CONFIG_NET_SB1000=m -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -CONFIG_ARCNET_1051=m -CONFIG_ARCNET_RAW=m -CONFIG_ARCNET_CAP=m -CONFIG_ARCNET_COM90xx=m -CONFIG_ARCNET_COM90xxIO=m -CONFIG_ARCNET_RIM_I=m -CONFIG_ARCNET_COM20020=m -CONFIG_ARCNET_COM20020_ISA=m -CONFIG_ARCNET_COM20020_PCI=m -CONFIG_PHYLIB=m - -# -# MII PHY device drivers -# -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m -CONFIG_VITESSE_PHY=m -CONFIG_SMSC_PHY=m -CONFIG_BROADCOM_PHY=m -CONFIG_ICPLUS_PHY=m -CONFIG_REALTEK_PHY=m -CONFIG_NATIONAL_PHY=m -CONFIG_STE10XP=m -CONFIG_LSI_ET1011C_PHY=m -CONFIG_MDIO_BITBANG=m -CONFIG_MDIO_GPIO=m -CONFIG_NET_ETHERNET=y -CONFIG_MII=m -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_CASSINI=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_EL1=m -CONFIG_EL2=m -CONFIG_ELPLUS=m -CONFIG_EL16=m -CONFIG_EL3=m -CONFIG_3C515=m -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_LANCE=m -CONFIG_NET_VENDOR_SMC=y -CONFIG_WD80x3=m -CONFIG_ULTRA=m -CONFIG_SMC9194=m -CONFIG_ENC28J60=m -# CONFIG_ENC28J60_WRITEVERIFY is not set -CONFIG_ETHOC=m -CONFIG_NET_VENDOR_RACAL=y -CONFIG_NI52=m -CONFIG_NI65=m -CONFIG_DNET=m -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_DE2104X_DSL=0 -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_DE4X5=m -CONFIG_WINBOND_840=m -CONFIG_DM9102=m -CONFIG_ULI526X=m -CONFIG_PCMCIA_XIRCOM=m -CONFIG_AT1700=m -CONFIG_DEPCA=m -CONFIG_HP100=m -CONFIG_NET_ISA=y -CONFIG_E2100=m -CONFIG_EWRK3=m -CONFIG_EEXPRESS=m -CONFIG_EEXPRESS_PRO=m -CONFIG_HPLAN_PLUS=m -CONFIG_HPLAN=m -CONFIG_LP486E=m -CONFIG_ETH16I=m -CONFIG_NE2000=m -CONFIG_ZNET=m -CONFIG_SEEQ8005=m -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set -# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set -# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set -CONFIG_NET_PCI=y -CONFIG_PCNET32=m -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_AC3200=m -CONFIG_APRICOT=m -CONFIG_B44=m -CONFIG_B44_PCI_AUTOSELECT=y -CONFIG_B44_PCICORE_AUTOSELECT=y -CONFIG_B44_PCI=y -CONFIG_FORCEDETH=m -# CONFIG_FORCEDETH_NAPI is not set -CONFIG_CS89x0=m -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -CONFIG_8139TOO_PIO=y -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8139TOO_8129 is not set -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_R6040=m -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SMSC9420=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_TLAN=m -CONFIG_KS8842=m -CONFIG_KS8851=m -CONFIG_KS8851_MLL=m -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_SC92031=m -CONFIG_NET_POCKET=y -CONFIG_ATP=m -CONFIG_DE600=m -CONFIG_DE620=m -CONFIG_ATL2=m -CONFIG_NETDEV_1000=y -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set -CONFIG_DL2K=m -CONFIG_E1000=m -CONFIG_E1000E=m -CONFIG_IP1000=m -CONFIG_IGB=m -CONFIG_IGB_DCA=y -CONFIG_IGBVF=m -CONFIG_NS83820=m -CONFIG_HAMACHI=m -CONFIG_YELLOWFIN=m -CONFIG_R8169=m -CONFIG_R8169_VLAN=y -CONFIG_SIS190=m -CONFIG_SKGE=m -# CONFIG_SKGE_DEBUG is not set -CONFIG_SKY2=m -# CONFIG_SKY2_DEBUG is not set -CONFIG_VIA_VELOCITY=m -CONFIG_TIGON3=m -CONFIG_BNX2=m -CONFIG_CNIC=m -CONFIG_QLA3XXX=m -CONFIG_ATL1=m -CONFIG_ATL1E=m -CONFIG_ATL1C=m -CONFIG_JME=m -CONFIG_NETDEV_10000=y -CONFIG_MDIO=m -CONFIG_CHELSIO_T1=m -CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T3_DEPENDS=y -CONFIG_CHELSIO_T3=m -CONFIG_ENIC=m -CONFIG_IXGBE=m -CONFIG_IXGBE_DCA=y -CONFIG_IXGB=m -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_MYRI10GE=m -CONFIG_MYRI10GE_DCA=y -CONFIG_NETXEN_NIC=m -CONFIG_NIU=m -CONFIG_MLX4_EN=m -CONFIG_MLX4_CORE=m -CONFIG_MLX4_DEBUG=y -CONFIG_TEHUTI=m -CONFIG_BNX2X=m -CONFIG_QLGE=m -CONFIG_SFC=m -CONFIG_SFC_MTD=y -CONFIG_BE2NET=m -# CONFIG_TR is not set -CONFIG_WLAN=y -CONFIG_WLAN_PRE80211=y -CONFIG_STRIP=m -CONFIG_ARLAN=m -CONFIG_WAVELAN=m -CONFIG_PCMCIA_WAVELAN=m -CONFIG_PCMCIA_NETWAVE=m -CONFIG_WLAN_80211=y -CONFIG_PCMCIA_RAYCS=m -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_USB=m -CONFIG_LIBERTAS_CS=m -CONFIG_LIBERTAS_SDIO=m -CONFIG_LIBERTAS_SPI=m -# CONFIG_LIBERTAS_DEBUG is not set -CONFIG_LIBERTAS_THINFIRM=m -CONFIG_LIBERTAS_THINFIRM_USB=m -CONFIG_AIRO=m -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_PCMCIA_ATMEL=m -CONFIG_AT76C50X_USB=m -CONFIG_AIRO_CS=m -CONFIG_PCMCIA_WL3501=m -CONFIG_PRISM54=m -CONFIG_USB_ZD1201=m -CONFIG_USB_NET_RNDIS_WLAN=m -CONFIG_RTL8180=m -CONFIG_RTL8187=m -CONFIG_RTL8187_LEDS=y -CONFIG_ADM8211=m -CONFIG_MAC80211_HWSIM=m -CONFIG_MWL8K=m -CONFIG_P54_COMMON=m -CONFIG_P54_USB=m -CONFIG_P54_PCI=m -CONFIG_P54_SPI=m -CONFIG_P54_LEDS=y -CONFIG_ATH_COMMON=m -CONFIG_ATH5K=m -# CONFIG_ATH5K_DEBUG is not set -CONFIG_ATH9K=m -# CONFIG_ATH9K_DEBUG is not set -CONFIG_AR9170_USB=m -CONFIG_AR9170_LEDS=y -CONFIG_IPW2100=m -CONFIG_IPW2100_MONITOR=y -# CONFIG_IPW2100_DEBUG is not set -CONFIG_IPW2200=m -CONFIG_IPW2200_MONITOR=y -CONFIG_IPW2200_RADIOTAP=y -CONFIG_IPW2200_PROMISCUOUS=y -CONFIG_IPW2200_QOS=y -# CONFIG_IPW2200_DEBUG is not set -CONFIG_LIBIPW=m -# CONFIG_LIBIPW_DEBUG is not set -CONFIG_IWLWIFI=m -# CONFIG_IWLWIFI_LEDS is not set -# CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT is not set -# CONFIG_IWLWIFI_DEBUG is not set -CONFIG_IWLAGN=m -CONFIG_IWL4965=y -CONFIG_IWL5000=y -CONFIG_IWL3945=m -# CONFIG_IWL3945_SPECTRUM_MEASUREMENT is not set -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -CONFIG_HOSTAP_FIRMWARE_NVRAM=y -CONFIG_HOSTAP_PLX=m -CONFIG_HOSTAP_PCI=m -CONFIG_HOSTAP_CS=m -CONFIG_B43=m -CONFIG_B43_PCI_AUTOSELECT=y -CONFIG_B43_PCICORE_AUTOSELECT=y -CONFIG_B43_PCMCIA=y -CONFIG_B43_SDIO=y -CONFIG_B43_PIO=y -CONFIG_B43_PHY_LP=y -CONFIG_B43_LEDS=y -CONFIG_B43_HWRNG=y -# CONFIG_B43_DEBUG is not set -CONFIG_B43LEGACY=m -CONFIG_B43LEGACY_PCI_AUTOSELECT=y -CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y -CONFIG_B43LEGACY_LEDS=y -CONFIG_B43LEGACY_HWRNG=y -CONFIG_B43LEGACY_DEBUG=y -CONFIG_B43LEGACY_DMA=y -CONFIG_B43LEGACY_PIO=y -CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y -# CONFIG_B43LEGACY_DMA_MODE is not set -# CONFIG_B43LEGACY_PIO_MODE is not set -CONFIG_ZD1211RW=m -# CONFIG_ZD1211RW_DEBUG is not set -CONFIG_RT2X00=m -CONFIG_RT2400PCI=m -CONFIG_RT2500PCI=m -CONFIG_RT61PCI=m -CONFIG_RT2500USB=m -CONFIG_RT73USB=m -CONFIG_RT2800USB=m -CONFIG_RT2X00_LIB_PCI=m -CONFIG_RT2X00_LIB_USB=m -CONFIG_RT2X00_LIB=m -CONFIG_RT2X00_LIB_HT=y -CONFIG_RT2X00_LIB_FIRMWARE=y -CONFIG_RT2X00_LIB_CRYPTO=y -CONFIG_RT2X00_LIB_LEDS=y -# CONFIG_RT2X00_DEBUG is not set -CONFIG_HERMES=m -CONFIG_HERMES_CACHE_FW_ON_INIT=y -CONFIG_PLX_HERMES=m -CONFIG_TMD_HERMES=m -CONFIG_NORTEL_HERMES=m -CONFIG_PCI_HERMES=m -CONFIG_PCMCIA_HERMES=m -CONFIG_PCMCIA_SPECTRUM=m -CONFIG_WL12XX=m -CONFIG_WL1251=m -CONFIG_WL1251_SPI=m -CONFIG_WL1251_SDIO=m -CONFIG_WL1271=m -CONFIG_IWM=m -# CONFIG_IWM_DEBUG is not set - -# -# WiMAX Wireless Broadband devices -# -CONFIG_WIMAX_I2400M=m -CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_SDIO=m -CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDCETHER=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_SMSC95XX=m -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_KC2190=y -CONFIG_USB_NET_ZAURUS=m -CONFIG_USB_HSO=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_CDC_PHONET=m -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m -CONFIG_ARCNET_COM20020_CS=m -CONFIG_WAN=y -CONFIG_HOSTESS_SV11=m -CONFIG_COSA=m -CONFIG_LANMEDIA=m -CONFIG_SEALEVEL_4021=m -CONFIG_HDLC=m -CONFIG_HDLC_RAW=m -CONFIG_HDLC_RAW_ETH=m -CONFIG_HDLC_CISCO=m -CONFIG_HDLC_FR=m -CONFIG_HDLC_PPP=m -CONFIG_HDLC_X25=m -CONFIG_PCI200SYN=m -CONFIG_WANXL=m -# CONFIG_WANXL_BUILD_FIRMWARE is not set -CONFIG_PC300TOO=m -CONFIG_N2=m -CONFIG_C101=m -CONFIG_FARSYNC=m -CONFIG_DSCC4=m -CONFIG_DSCC4_PCISYNC=y -CONFIG_DSCC4_PCI_RST=y -CONFIG_DLCI=m -CONFIG_DLCI_MAX=8 -CONFIG_SDLA=m -CONFIG_WAN_ROUTER_DRIVERS=m -CONFIG_CYCLADES_SYNC=m -CONFIG_CYCLOMX_X25=y -CONFIG_LAPBETHER=m -CONFIG_X25_ASY=m -CONFIG_SBNI=m -CONFIG_SBNI_MULTILINE=y -CONFIG_ATM_DRIVERS=y -CONFIG_ATM_DUMMY=m -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_DEBUG is not set -# CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set -CONFIG_ATM_NICSTAR=m -CONFIG_ATM_NICSTAR_USE_SUNI=y -CONFIG_ATM_NICSTAR_USE_IDT77105=y -CONFIG_ATM_IDT77252=m -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -CONFIG_ATM_IDT77252_USE_SUNI=y -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set -CONFIG_ATM_IA=m -# CONFIG_ATM_IA_DEBUG is not set -CONFIG_ATM_FORE200E=m -CONFIG_ATM_FORE200E_USE_TASKLET=y -CONFIG_ATM_FORE200E_TX_RETRY=16 -CONFIG_ATM_FORE200E_DEBUG=0 -CONFIG_ATM_HE=m -CONFIG_ATM_HE_USE_SUNI=y -CONFIG_ATM_SOLOS=m -CONFIG_IEEE802154_DRIVERS=m -CONFIG_IEEE802154_FAKEHARD=m -CONFIG_XEN_NETDEV_FRONTEND=y -CONFIG_FDDI=y -CONFIG_DEFXX=m -# CONFIG_DEFXX_MMIO is not set -CONFIG_SKFP=m -CONFIG_HIPPI=y -CONFIG_ROADRUNNER=m -# CONFIG_ROADRUNNER_LARGE_RINGS is not set -CONFIG_PLIP=m -CONFIG_PPP=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_MPPE=m -CONFIG_PPPOE=m -CONFIG_PPPOATM=m -CONFIG_PPPOL2TP=m -CONFIG_SLIP=m -CONFIG_SLIP_COMPRESSED=y -CONFIG_SLHC=m -CONFIG_SLIP_SMART=y -CONFIG_SLIP_MODE_SLIP6=y -# CONFIG_NET_FC is not set -CONFIG_NETCONSOLE=m -CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y -CONFIG_VIRTIO_NET=m -CONFIG_VMXNET3=m -CONFIG_ISDN=y -# CONFIG_ISDN_I4L is not set -CONFIG_MISDN=m -CONFIG_MISDN_DSP=m -CONFIG_MISDN_L1OIP=m - -# -# mISDN hardware drivers -# -CONFIG_MISDN_HFCPCI=m -CONFIG_MISDN_HFCMULTI=m -CONFIG_MISDN_HFCUSB=m -CONFIG_MISDN_AVMFRITZ=m -# CONFIG_MISDN_SPEEDFAX is not set -# CONFIG_MISDN_INFINEON is not set -# CONFIG_MISDN_W6692 is not set -# CONFIG_MISDN_NETJET is not set -CONFIG_MISDN_IPAC=m -CONFIG_ISDN_CAPI=m -# CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON is not set -# CONFIG_CAPI_TRACE is not set -CONFIG_ISDN_CAPI_MIDDLEWARE=y -CONFIG_ISDN_CAPI_CAPI20=m -CONFIG_ISDN_CAPI_CAPIFS_BOOL=y -CONFIG_ISDN_CAPI_CAPIFS=m - -# -# CAPI hardware drivers -# -CONFIG_CAPI_AVM=y -CONFIG_ISDN_DRV_AVMB1_B1ISA=m -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_T1ISA=m -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_AVM_CS=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_AVMB1_C4=m -CONFIG_CAPI_EICON=y -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVAS_MAINT=m -# CONFIG_PHONE is not set - -# -# Input device support -# -CONFIG_INPUT=y -CONFIG_INPUT_FF_MEMLESS=m -CONFIG_INPUT_POLLDEV=m - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=m -CONFIG_INPUT_MOUSEDEV_PSAUX=y -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -CONFIG_INPUT_JOYDEV=m -CONFIG_INPUT_EVDEV=m -CONFIG_INPUT_EVBUG=m -CONFIG_XEN_KBDDEV_FRONTEND=m - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ADP5588 is not set -CONFIG_KEYBOARD_ATKBD=y -CONFIG_QT2160=m -CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_GPIO=m -CONFIG_KEYBOARD_MATRIX=m -CONFIG_KEYBOARD_LM8323=m -# CONFIG_KEYBOARD_MAX7359 is not set -CONFIG_KEYBOARD_NEWTON=m -# CONFIG_KEYBOARD_OPENCORES is not set -CONFIG_KEYBOARD_STOWAWAY=m -CONFIG_KEYBOARD_SUNKBD=m -CONFIG_KEYBOARD_XTKBD=m -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=m -CONFIG_MOUSE_PS2_ALPS=y -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_LIFEBOOK=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -# CONFIG_MOUSE_PS2_ELANTECH is not set -# CONFIG_MOUSE_PS2_SENTELIC is not set -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_APPLETOUCH=m -CONFIG_MOUSE_BCM5974=m -CONFIG_MOUSE_INPORT=m -# CONFIG_MOUSE_ATIXL is not set -CONFIG_MOUSE_LOGIBM=m -CONFIG_MOUSE_PC110PAD=m -CONFIG_MOUSE_VSXXXAA=m -CONFIG_MOUSE_GPIO=m -CONFIG_MOUSE_SYNAPTICS_I2C=m -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_ADS7846=m -CONFIG_TOUCHSCREEN_AD7877=m -CONFIG_TOUCHSCREEN_AD7879_I2C=m -CONFIG_TOUCHSCREEN_AD7879=m -CONFIG_TOUCHSCREEN_EETI=m -CONFIG_TOUCHSCREEN_FUJITSU=m -CONFIG_TOUCHSCREEN_GUNZE=m -CONFIG_TOUCHSCREEN_ELO=m -CONFIG_TOUCHSCREEN_WACOM_W8001=m -# CONFIG_TOUCHSCREEN_MCS5000 is not set -CONFIG_TOUCHSCREEN_MTOUCH=m -CONFIG_TOUCHSCREEN_INEXIO=m -CONFIG_TOUCHSCREEN_MK712=m -CONFIG_TOUCHSCREEN_HTCPEN=m -CONFIG_TOUCHSCREEN_PENMOUNT=m -CONFIG_TOUCHSCREEN_TOUCHRIGHT=m -CONFIG_TOUCHSCREEN_TOUCHWIN=m -CONFIG_TOUCHSCREEN_UCB1400=m -CONFIG_TOUCHSCREEN_WM97XX=m -CONFIG_TOUCHSCREEN_WM9705=y -CONFIG_TOUCHSCREEN_WM9712=y -CONFIG_TOUCHSCREEN_WM9713=y -CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -CONFIG_TOUCHSCREEN_USB_EGALAX=y -CONFIG_TOUCHSCREEN_USB_PANJIT=y -CONFIG_TOUCHSCREEN_USB_3M=y -CONFIG_TOUCHSCREEN_USB_ITM=y -CONFIG_TOUCHSCREEN_USB_ETURBO=y -CONFIG_TOUCHSCREEN_USB_GUNZE=y -CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y -CONFIG_TOUCHSCREEN_USB_IRTOUCH=y -CONFIG_TOUCHSCREEN_USB_IDEALTEK=y -CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y -CONFIG_TOUCHSCREEN_USB_GOTOP=y -CONFIG_TOUCHSCREEN_USB_JASTEC=y -CONFIG_TOUCHSCREEN_USB_E2I=y -CONFIG_TOUCHSCREEN_TOUCHIT213=m -CONFIG_TOUCHSCREEN_TSC2007=m -CONFIG_INPUT_MISC=y -CONFIG_INPUT_PCSPKR=m -CONFIG_INPUT_APANEL=m -CONFIG_INPUT_WISTRON_BTNS=m -CONFIG_INPUT_ATLAS_BTNS=m -CONFIG_INPUT_ATI_REMOTE=m -CONFIG_INPUT_ATI_REMOTE2=m -CONFIG_INPUT_KEYSPAN_REMOTE=m -CONFIG_INPUT_POWERMATE=m -CONFIG_INPUT_YEALINK=m -CONFIG_INPUT_CM109=m -CONFIG_INPUT_UINPUT=m -CONFIG_INPUT_WINBOND_CIR=m -CONFIG_INPUT_PCF50633_PMU=m -CONFIG_INPUT_GPIO_ROTARY_ENCODER=m - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=m -CONFIG_SERIO_CT82C710=m -CONFIG_SERIO_PARKBD=m -CONFIG_SERIO_PCIPS2=m -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=m -# CONFIG_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_DEVKMEM is not set -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_COMPUTONE=m -CONFIG_ROCKETPORT=m -CONFIG_CYCLADES=m -# CONFIG_CYZ_INTR is not set -CONFIG_DIGIEPCA=m -CONFIG_MOXA_INTELLIO=m -CONFIG_MOXA_SMARTIO=m -CONFIG_ISI=m -CONFIG_SYNCLINK=m -CONFIG_SYNCLINKMP=m -CONFIG_SYNCLINK_GT=m -CONFIG_N_HDLC=m -CONFIG_RISCOM8=m -CONFIG_SPECIALIX=m -CONFIG_STALDRV=y -CONFIG_STALLION=m -CONFIG_ISTALLION=m -CONFIG_NOZOMI=m - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_PNP=y -CONFIG_SERIAL_8250_CS=m -CONFIG_SERIAL_8250_NR_UARTS=16 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_FOURPORT=m -CONFIG_SERIAL_8250_ACCENT=m -CONFIG_SERIAL_8250_BOCA=m -CONFIG_SERIAL_8250_EXAR_ST16C554=m -CONFIG_SERIAL_8250_HUB6=m -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_RSA=y - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_MAX3100=m -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_SERIAL_JSM=m -CONFIG_UNIX98_PTYS=y -# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set -# CONFIG_LEGACY_PTYS is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -CONFIG_PPDEV=m -CONFIG_HVC_DRIVER=y -CONFIG_HVC_IRQ=y -CONFIG_HVC_XEN=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_SI=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IPMI_POWEROFF=m -CONFIG_HW_RANDOM=m -CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_INTEL=m -CONFIG_HW_RANDOM_AMD=m -CONFIG_HW_RANDOM_GEODE=m -CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_NVRAM=m -CONFIG_DTLK=m -CONFIG_R3964=m -CONFIG_APPLICOM=m -CONFIG_SONYPI=m - -# -# PCMCIA character devices -# -CONFIG_SYNCLINK_CS=m -CONFIG_CARDMAN_4000=m -CONFIG_CARDMAN_4040=m -CONFIG_IPWIRELESS=m -CONFIG_MWAVE=m -CONFIG_SCx200_GPIO=m -CONFIG_PC8736x_GPIO=m -CONFIG_NSC_GPIO=m -CONFIG_CS5535_GPIO=m -CONFIG_RAW_DRIVER=m -CONFIG_MAX_RAW_DEVS=256 -CONFIG_HPET=y -CONFIG_HPET_MMAP=y -CONFIG_HANGCHECK_TIMER=m -CONFIG_TCG_TPM=m -CONFIG_TCG_TIS=m -CONFIG_TCG_NSC=m -CONFIG_TCG_ATMEL=m -CONFIG_TCG_INFINEON=m -CONFIG_TELCLOCK=m -CONFIG_DEVPORT=y -CONFIG_I2C=m -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_ALGOBIT=m -CONFIG_I2C_ALGOPCA=m - -# -# I2C Hardware Bus support -# - -# -# PC SMBus host controller drivers -# -CONFIG_I2C_ALI1535=m -CONFIG_I2C_ALI1563=m -CONFIG_I2C_ALI15X3=m -CONFIG_I2C_AMD756=m -CONFIG_I2C_AMD756_S4882=m -CONFIG_I2C_AMD8111=m -CONFIG_I2C_I801=m -CONFIG_I2C_ISCH=m -CONFIG_I2C_PIIX4=m -CONFIG_I2C_NFORCE2=m -CONFIG_I2C_NFORCE2_S4985=m -CONFIG_I2C_SIS5595=m -CONFIG_I2C_SIS630=m -CONFIG_I2C_SIS96X=m -CONFIG_I2C_VIA=m -CONFIG_I2C_VIAPRO=m - -# -# ACPI drivers -# -CONFIG_I2C_SCMI=m - -# -# I2C system bus drivers (mostly embedded / system-on-chip) -# -CONFIG_I2C_GPIO=m -CONFIG_I2C_OCORES=m -CONFIG_I2C_SIMTEC=m - -# -# External I2C/SMBus adapter drivers -# -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_TAOS_EVM=m -CONFIG_I2C_TINY_USB=m - -# -# Graphics adapter I2C/DDC channel drivers -# -CONFIG_I2C_VOODOO3=m - -# -# Other I2C/SMBus bus drivers -# -CONFIG_I2C_PCA_ISA=m -CONFIG_I2C_PCA_PLATFORM=m -CONFIG_I2C_STUB=m -CONFIG_SCx200_I2C=m -CONFIG_SCx200_I2C_SCL=12 -CONFIG_SCx200_I2C_SDA=13 -CONFIG_SCx200_ACB=m - -# -# Miscellaneous I2C Chip support -# -CONFIG_DS1682=m -CONFIG_SENSORS_TSL2550=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set -CONFIG_SPI=y -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -CONFIG_SPI_BITBANG=m -CONFIG_SPI_BUTTERFLY=m -CONFIG_SPI_GPIO=m -CONFIG_SPI_LM70_LLP=m - -# -# SPI Protocol Masters -# -CONFIG_SPI_SPIDEV=m -CONFIG_SPI_TLE62X0=m - -# -# PPS support -# -# CONFIG_PPS is not set -CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y -CONFIG_GPIOLIB=y -# CONFIG_GPIO_SYSFS is not set - -# -# Memory mapped GPIO expanders: -# - -# -# I2C GPIO expanders: -# -CONFIG_GPIO_MAX732X=m -CONFIG_GPIO_PCA953X=m -CONFIG_GPIO_PCF857X=m - -# -# PCI GPIO expanders: -# -# CONFIG_GPIO_LANGWELL is not set - -# -# SPI GPIO expanders: -# -CONFIG_GPIO_MAX7301=m -CONFIG_GPIO_MCP23S08=m -# CONFIG_GPIO_MC33880 is not set - -# -# AC97 GPIO expanders: -# -# CONFIG_GPIO_UCB1400 is not set -CONFIG_W1=m -CONFIG_W1_CON=y - -# -# 1-wire Bus Masters -# -CONFIG_W1_MASTER_MATROX=m -CONFIG_W1_MASTER_DS2490=m -CONFIG_W1_MASTER_DS2482=m -CONFIG_W1_MASTER_GPIO=m - -# -# 1-wire Slaves -# -CONFIG_W1_SLAVE_THERM=m -CONFIG_W1_SLAVE_SMEM=m -CONFIG_W1_SLAVE_DS2431=m -CONFIG_W1_SLAVE_DS2433=m -# CONFIG_W1_SLAVE_DS2433_CRC is not set -CONFIG_W1_SLAVE_DS2760=m -CONFIG_W1_SLAVE_BQ27000=m -CONFIG_POWER_SUPPLY=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -CONFIG_PDA_POWER=m -CONFIG_WM8350_POWER=m -CONFIG_BATTERY_DS2760=m -CONFIG_BATTERY_DS2782=m -CONFIG_BATTERY_BQ27x00=m -CONFIG_BATTERY_MAX17040=m -CONFIG_CHARGER_PCF50633=m -CONFIG_HWMON=m -CONFIG_HWMON_VID=m -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Native drivers -# -CONFIG_SENSORS_ABITUGURU=m -CONFIG_SENSORS_ABITUGURU3=m -CONFIG_SENSORS_AD7414=m -CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADCXX=m -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1029=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ADM9240=m -CONFIG_SENSORS_ADT7462=m -CONFIG_SENSORS_ADT7470=m -CONFIG_SENSORS_ADT7473=m -CONFIG_SENSORS_ADT7475=m -CONFIG_SENSORS_K8TEMP=m -CONFIG_SENSORS_ASB100=m -CONFIG_SENSORS_ATXP1=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_I5K_AMB=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_F71882FG=m -CONFIG_SENSORS_F75375S=m -CONFIG_SENSORS_FSCHMD=m -CONFIG_SENSORS_G760A=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -CONFIG_SENSORS_CORETEMP=m -CONFIG_SENSORS_IBMAEM=m -CONFIG_SENSORS_IBMPEX=m -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM70=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_LM93=m -CONFIG_SENSORS_LTC4215=m -CONFIG_SENSORS_LTC4245=m -CONFIG_SENSORS_LM95241=m -CONFIG_SENSORS_MAX1111=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_MAX6650=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PC87427=m -CONFIG_SENSORS_PCF8591=m -CONFIG_SENSORS_SHT15=m -CONFIG_SENSORS_SIS5595=m -CONFIG_SENSORS_DME1737=m -CONFIG_SENSORS_SMSC47M1=m -CONFIG_SENSORS_SMSC47M192=m -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_ADS7828=m -CONFIG_SENSORS_THMC50=m -CONFIG_SENSORS_TMP401=m -CONFIG_SENSORS_TMP421=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_VT1211=m -CONFIG_SENSORS_VT8231=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83791D=m -CONFIG_SENSORS_W83792D=m -CONFIG_SENSORS_W83793=m -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83L786NG=m -CONFIG_SENSORS_W83627HF=m -CONFIG_SENSORS_W83627EHF=m -# CONFIG_SENSORS_WM8350 is not set -CONFIG_SENSORS_HDAPS=m -CONFIG_SENSORS_APPLESMC=m - -# -# ACPI drivers -# -CONFIG_SENSORS_ATK0110=m -CONFIG_SENSORS_LIS3LV02D=m -CONFIG_THERMAL=y -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -CONFIG_SOFT_WATCHDOG=m -CONFIG_WM8350_WATCHDOG=m -CONFIG_ACQUIRE_WDT=m -CONFIG_ADVANTECH_WDT=m -CONFIG_ALIM1535_WDT=m -CONFIG_ALIM7101_WDT=m -CONFIG_SC520_WDT=m -# CONFIG_SBC_FITPC2_WATCHDOG is not set -CONFIG_EUROTECH_WDT=m -CONFIG_IB700_WDT=m -CONFIG_IBMASR=m -CONFIG_WAFER_WDT=m -CONFIG_I6300ESB_WDT=m -CONFIG_ITCO_WDT=m -CONFIG_ITCO_VENDOR_SUPPORT=y -CONFIG_IT8712F_WDT=m -CONFIG_IT87_WDT=m -# CONFIG_HP_WATCHDOG is not set -CONFIG_SC1200_WDT=m -CONFIG_SCx200_WDT=m -CONFIG_PC87413_WDT=m -CONFIG_60XX_WDT=m -CONFIG_SBC8360_WDT=m -CONFIG_SBC7240_WDT=m -CONFIG_CPU5_WDT=m -CONFIG_SMSC_SCH311X_WDT=m -CONFIG_SMSC37B787_WDT=m -CONFIG_W83627HF_WDT=m -CONFIG_W83697HF_WDT=m -CONFIG_W83697UG_WDT=m -CONFIG_W83877F_WDT=m -CONFIG_W83977F_WDT=m -CONFIG_MACHZ_WDT=m -CONFIG_SBC_EPX_C3_WATCHDOG=m - -# -# ISA-based Watchdog Cards -# -CONFIG_PCWATCHDOG=m -CONFIG_MIXCOMWD=m -CONFIG_WDT=m - -# -# PCI-based Watchdog Cards -# -CONFIG_PCIPCWATCHDOG=m -CONFIG_WDTPCI=m - -# -# USB-based Watchdog Cards -# -CONFIG_USBPCWATCHDOG=m -CONFIG_SSB_POSSIBLE=y - -# -# Sonics Silicon Backplane -# -CONFIG_SSB=m -CONFIG_SSB_SPROM=y -CONFIG_SSB_BLOCKIO=y -CONFIG_SSB_PCIHOST_POSSIBLE=y -CONFIG_SSB_PCIHOST=y -CONFIG_SSB_B43_PCI_BRIDGE=y -CONFIG_SSB_PCMCIAHOST_POSSIBLE=y -CONFIG_SSB_PCMCIAHOST=y -CONFIG_SSB_SDIOHOST_POSSIBLE=y -CONFIG_SSB_SDIOHOST=y -# CONFIG_SSB_SILENT is not set -# CONFIG_SSB_DEBUG is not set -CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y -CONFIG_SSB_DRIVER_PCICORE=y - -# -# Multifunction device drivers -# -CONFIG_MFD_CORE=m -CONFIG_MFD_SM501=m -# CONFIG_MFD_SM501_GPIO is not set -CONFIG_HTC_PASIC3=m -CONFIG_UCB1400_CORE=m -CONFIG_TPS65010=m -# CONFIG_MFD_TMIO is not set -CONFIG_MFD_WM8400=m -# CONFIG_MFD_WM831X is not set -CONFIG_MFD_WM8350=m -CONFIG_MFD_WM8350_I2C=m -CONFIG_MFD_PCF50633=m -# CONFIG_MFD_MC13783 is not set -CONFIG_PCF50633_ADC=m -CONFIG_PCF50633_GPIO=m -CONFIG_AB3100_CORE=m -CONFIG_AB3100_OTP=m -# CONFIG_EZX_PCAP is not set -CONFIG_REGULATOR=y -# CONFIG_REGULATOR_DEBUG is not set -# CONFIG_REGULATOR_FIXED_VOLTAGE is not set -CONFIG_REGULATOR_VIRTUAL_CONSUMER=m -CONFIG_REGULATOR_USERSPACE_CONSUMER=m -CONFIG_REGULATOR_BQ24022=m -CONFIG_REGULATOR_MAX1586=m -CONFIG_REGULATOR_WM8350=m -CONFIG_REGULATOR_WM8400=m -CONFIG_REGULATOR_PCF50633=m -CONFIG_REGULATOR_LP3971=m -CONFIG_REGULATOR_AB3100=m -# CONFIG_REGULATOR_TPS65023 is not set -# CONFIG_REGULATOR_TPS6507X is not set -CONFIG_MEDIA_SUPPORT=m - -# -# Multimedia core support -# -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L2_COMMON=m -# CONFIG_VIDEO_ALLOW_V4L1 is not set -CONFIG_VIDEO_V4L1_COMPAT=y -CONFIG_DVB_CORE=m -CONFIG_VIDEO_MEDIA=m - -# -# Multimedia drivers -# -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m -# CONFIG_MEDIA_ATTACH is not set -CONFIG_MEDIA_TUNER=m -# CONFIG_MEDIA_TUNER_CUSTOMISE is not set -CONFIG_MEDIA_TUNER_SIMPLE=m -CONFIG_MEDIA_TUNER_TDA8290=m -CONFIG_MEDIA_TUNER_TDA827X=m -CONFIG_MEDIA_TUNER_TDA18271=m -CONFIG_MEDIA_TUNER_TDA9887=m -CONFIG_MEDIA_TUNER_TEA5761=m -CONFIG_MEDIA_TUNER_TEA5767=m -CONFIG_MEDIA_TUNER_MT20XX=m -CONFIG_MEDIA_TUNER_MT2060=m -CONFIG_MEDIA_TUNER_MT2266=m -CONFIG_MEDIA_TUNER_MT2131=m -CONFIG_MEDIA_TUNER_QT1010=m -CONFIG_MEDIA_TUNER_XC2028=m -CONFIG_MEDIA_TUNER_XC5000=m -CONFIG_MEDIA_TUNER_MXL5005S=m -CONFIG_MEDIA_TUNER_MXL5007T=m -CONFIG_MEDIA_TUNER_MC44S803=m -CONFIG_VIDEO_V4L2=m -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_DMA_SG=m -CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m -CONFIG_VIDEO_BTCX=m -CONFIG_VIDEO_IR=m -CONFIG_VIDEO_TVEEPROM=m -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEO_CAPTURE_DRIVERS=y -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set -CONFIG_VIDEO_IR_I2C=m - -# -# Encoders/decoders and other helper chips -# - -# -# Audio decoders -# -CONFIG_VIDEO_TVAUDIO=m -CONFIG_VIDEO_TDA7432=m -CONFIG_VIDEO_TDA9840=m -CONFIG_VIDEO_TDA9875=m -CONFIG_VIDEO_TEA6415C=m -CONFIG_VIDEO_TEA6420=m -CONFIG_VIDEO_MSP3400=m -CONFIG_VIDEO_CS5345=m -CONFIG_VIDEO_CS53L32A=m -CONFIG_VIDEO_M52790=m -CONFIG_VIDEO_TLV320AIC23B=m -CONFIG_VIDEO_WM8775=m -CONFIG_VIDEO_WM8739=m -CONFIG_VIDEO_VP27SMPX=m - -# -# RDS decoders -# -CONFIG_VIDEO_SAA6588=m - -# -# Video decoders -# -# CONFIG_VIDEO_ADV7180 is not set -CONFIG_VIDEO_BT819=m -CONFIG_VIDEO_BT856=m -CONFIG_VIDEO_BT866=m -CONFIG_VIDEO_KS0127=m -CONFIG_VIDEO_OV7670=m -CONFIG_VIDEO_MT9V011=m -CONFIG_VIDEO_TCM825X=m -CONFIG_VIDEO_SAA7110=m -CONFIG_VIDEO_SAA711X=m -CONFIG_VIDEO_SAA717X=m -CONFIG_VIDEO_TVP514X=m -CONFIG_VIDEO_TVP5150=m -CONFIG_VIDEO_VPX3220=m - -# -# Video and audio decoders -# -CONFIG_VIDEO_CX25840=m - -# -# MPEG video encoders -# -CONFIG_VIDEO_CX2341X=m - -# -# Video encoders -# -CONFIG_VIDEO_SAA7127=m -CONFIG_VIDEO_SAA7185=m -CONFIG_VIDEO_ADV7170=m -CONFIG_VIDEO_ADV7175=m -CONFIG_VIDEO_THS7303=m -CONFIG_VIDEO_ADV7343=m - -# -# Video improvement chips -# -CONFIG_VIDEO_UPD64031A=m -CONFIG_VIDEO_UPD64083=m -CONFIG_VIDEO_VIVI=m -CONFIG_VIDEO_BT848=m -CONFIG_VIDEO_BT848_DVB=y -CONFIG_VIDEO_SAA5246A=m -CONFIG_VIDEO_SAA5249=m -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_VIDEO_ZORAN_ZR36060=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_ZORAN_AVS6EYES=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_SAA7134_DVB=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_CX88_ALSA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_CX88_DVB=m -CONFIG_VIDEO_CX88_MPEG=m -CONFIG_VIDEO_CX88_VP3054=m -CONFIG_VIDEO_CX23885=m -CONFIG_VIDEO_AU0828=m -CONFIG_VIDEO_IVTV=m -CONFIG_VIDEO_FB_IVTV=m -CONFIG_VIDEO_CX18=m -CONFIG_VIDEO_SAA7164=m -CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_SOC_CAMERA=m -CONFIG_SOC_CAMERA_MT9M001=m -CONFIG_SOC_CAMERA_MT9M111=m -CONFIG_SOC_CAMERA_MT9T031=m -CONFIG_SOC_CAMERA_MT9V022=m -CONFIG_SOC_CAMERA_TW9910=m -CONFIG_SOC_CAMERA_PLATFORM=m -CONFIG_SOC_CAMERA_OV772X=m -CONFIG_V4L_USB_DRIVERS=y -CONFIG_USB_VIDEO_CLASS=m -CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -CONFIG_USB_GSPCA=m -CONFIG_USB_M5602=m -CONFIG_USB_STV06XX=m -CONFIG_USB_GL860=m -CONFIG_USB_GSPCA_CONEX=m -CONFIG_USB_GSPCA_ETOMS=m -CONFIG_USB_GSPCA_FINEPIX=m -CONFIG_USB_GSPCA_JEILINJ=m -CONFIG_USB_GSPCA_MARS=m -CONFIG_USB_GSPCA_MR97310A=m -CONFIG_USB_GSPCA_OV519=m -CONFIG_USB_GSPCA_OV534=m -CONFIG_USB_GSPCA_PAC207=m -CONFIG_USB_GSPCA_PAC7311=m -CONFIG_USB_GSPCA_SN9C20X=m -CONFIG_USB_GSPCA_SN9C20X_EVDEV=y -CONFIG_USB_GSPCA_SONIXB=m -CONFIG_USB_GSPCA_SONIXJ=m -CONFIG_USB_GSPCA_SPCA500=m -CONFIG_USB_GSPCA_SPCA501=m -CONFIG_USB_GSPCA_SPCA505=m -CONFIG_USB_GSPCA_SPCA506=m -CONFIG_USB_GSPCA_SPCA508=m -CONFIG_USB_GSPCA_SPCA561=m -CONFIG_USB_GSPCA_SQ905=m -CONFIG_USB_GSPCA_SQ905C=m -CONFIG_USB_GSPCA_STK014=m -CONFIG_USB_GSPCA_SUNPLUS=m -CONFIG_USB_GSPCA_T613=m -CONFIG_USB_GSPCA_TV8532=m -CONFIG_USB_GSPCA_VC032X=m -CONFIG_USB_GSPCA_ZC3XX=m -CONFIG_VIDEO_PVRUSB2=m -CONFIG_VIDEO_PVRUSB2_SYSFS=y -CONFIG_VIDEO_PVRUSB2_DVB=y -# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set -CONFIG_VIDEO_HDPVR=m -CONFIG_VIDEO_EM28XX=m -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_VIDEO_CX231XX=m -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_VIDEO_USBVISION=m -CONFIG_USB_ET61X251=m -CONFIG_USB_SN9C102=m -CONFIG_USB_ZC0301=m -CONFIG_USB_PWC_INPUT_EVDEV=y -CONFIG_USB_ZR364XX=m -CONFIG_USB_STKWEBCAM=m -CONFIG_USB_S2255=m -CONFIG_RADIO_ADAPTERS=y -CONFIG_RADIO_CADET=m -CONFIG_RADIO_RTRACK=m -CONFIG_RADIO_RTRACK2=m -CONFIG_RADIO_AZTECH=m -CONFIG_RADIO_GEMTEK=m -CONFIG_RADIO_GEMTEK_PCI=m -CONFIG_RADIO_MAXIRADIO=m -CONFIG_RADIO_MAESTRO=m -CONFIG_RADIO_SF16FMI=m -CONFIG_RADIO_SF16FMR2=m -CONFIG_RADIO_TERRATEC=m -CONFIG_RADIO_TRUST=m -CONFIG_RADIO_TYPHOON=m -CONFIG_RADIO_ZOLTRIX=m -# CONFIG_I2C_SI4713 is not set -# CONFIG_RADIO_SI4713 is not set -CONFIG_USB_DSBR=m -# CONFIG_RADIO_SI470X is not set -CONFIG_USB_MR800=m -CONFIG_RADIO_TEA5764=m -CONFIG_DVB_MAX_ADAPTERS=8 -# CONFIG_DVB_DYNAMIC_MINORS is not set -CONFIG_DVB_CAPTURE_DRIVERS=y - -# -# Supported SAA7146 based PCI Adapters -# -CONFIG_TTPCI_EEPROM=m -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y -CONFIG_DVB_BUDGET_CORE=m -CONFIG_DVB_BUDGET=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m - -# -# Supported USB Adapters -# -CONFIG_DVB_USB=m -# CONFIG_DVB_USB_DEBUG is not set -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_DIBUSB_MB=m -# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_CXUSB=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_CINERGY_T2=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_USB_CE6230=m -# CONFIG_DVB_USB_FRIIO is not set -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_DVB_TTUSB_DEC=m -CONFIG_SMS_SIANO_MDTV=m - -# -# Siano module components -# -CONFIG_SMS_USB_DRV=m -CONFIG_SMS_SDIO_DRV=m - -# -# Supported FlexCopII (B2C2) Adapters -# -CONFIG_DVB_B2C2_FLEXCOP=m -CONFIG_DVB_B2C2_FLEXCOP_PCI=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set - -# -# Supported BT878 Adapters -# -CONFIG_DVB_BT8XX=m - -# -# Supported Pluto2 Adapters -# -CONFIG_DVB_PLUTO2=m - -# -# Supported SDMC DM1105 Adapters -# -CONFIG_DVB_DM1105=m - -# -# Supported FireWire (IEEE 1394) Adapters -# -CONFIG_DVB_FIREDTV=m -CONFIG_DVB_FIREDTV_IEEE1394=y -CONFIG_DVB_FIREDTV_INPUT=y - -# -# Supported Earthsoft PT1 Adapters -# -# CONFIG_DVB_PT1 is not set - -# -# Supported DVB Frontends -# -# CONFIG_DVB_FE_CUSTOMISE is not set -CONFIG_DVB_STB0899=m -CONFIG_DVB_STB6100=m -CONFIG_DVB_CX24110=m -CONFIG_DVB_CX24123=m -CONFIG_DVB_MT312=m -CONFIG_DVB_ZL10036=m -CONFIG_DVB_ZL10039=m -CONFIG_DVB_S5H1420=m -CONFIG_DVB_STV0288=m -CONFIG_DVB_STB6000=m -CONFIG_DVB_STV0299=m -CONFIG_DVB_STV6110=m -CONFIG_DVB_STV0900=m -CONFIG_DVB_TDA8083=m -CONFIG_DVB_TDA10086=m -CONFIG_DVB_TDA8261=m -CONFIG_DVB_VES1X93=m -CONFIG_DVB_TUNER_ITD1000=m -CONFIG_DVB_TUNER_CX24113=m -CONFIG_DVB_TDA826X=m -CONFIG_DVB_TUA6100=m -CONFIG_DVB_CX24116=m -CONFIG_DVB_SI21XX=m -CONFIG_DVB_SP8870=m -CONFIG_DVB_SP887X=m -CONFIG_DVB_CX22700=m -CONFIG_DVB_CX22702=m -CONFIG_DVB_L64781=m -CONFIG_DVB_TDA1004X=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_MT352=m -CONFIG_DVB_ZL10353=m -CONFIG_DVB_DIB3000MB=m -CONFIG_DVB_DIB3000MC=m -CONFIG_DVB_DIB7000M=m -CONFIG_DVB_DIB7000P=m -CONFIG_DVB_TDA10048=m -CONFIG_DVB_AF9013=m -CONFIG_DVB_VES1820=m -CONFIG_DVB_TDA10021=m -CONFIG_DVB_TDA10023=m -CONFIG_DVB_STV0297=m -CONFIG_DVB_NXT200X=m -CONFIG_DVB_OR51211=m -CONFIG_DVB_OR51132=m -CONFIG_DVB_BCM3510=m -CONFIG_DVB_LGDT330X=m -CONFIG_DVB_LGDT3305=m -CONFIG_DVB_S5H1409=m -CONFIG_DVB_AU8522=m -CONFIG_DVB_S5H1411=m -CONFIG_DVB_DIB8000=m -CONFIG_DVB_PLL=m -CONFIG_DVB_TUNER_DIB0070=m -CONFIG_DVB_LNBP21=m -CONFIG_DVB_ISL6405=m -CONFIG_DVB_ISL6421=m -CONFIG_DVB_LGS8GXX=m -CONFIG_DAB=y -CONFIG_USB_DABUSB=m - -# -# Graphics support -# -CONFIG_AGP=m -CONFIG_AGP_ALI=m -CONFIG_AGP_ATI=m -CONFIG_AGP_AMD=m -CONFIG_AGP_AMD64=m -CONFIG_AGP_INTEL=m -CONFIG_AGP_NVIDIA=m -CONFIG_AGP_SIS=m -CONFIG_AGP_SWORKS=m -CONFIG_AGP_VIA=m -CONFIG_AGP_EFFICEON=m -# CONFIG_VGA_ARB is not set -CONFIG_DRM=m -CONFIG_DRM_KMS_HELPER=m -CONFIG_DRM_TTM=m -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_I810=m -CONFIG_DRM_I830=m -CONFIG_DRM_I915=m -# CONFIG_DRM_I915_KMS is not set -CONFIG_DRM_MGA=m -CONFIG_DRM_SIS=m -CONFIG_DRM_VIA=m -CONFIG_DRM_SAVAGE=m -CONFIG_VGASTATE=m -CONFIG_VIDEO_OUTPUT_CONTROL=m -CONFIG_FB=m -# CONFIG_FIRMWARE_EDID is not set -CONFIG_FB_DDC=m -# CONFIG_FB_BOOT_VESA_SUPPORT is not set -CONFIG_FB_CFB_FILLRECT=m -CONFIG_FB_CFB_COPYAREA=m -CONFIG_FB_CFB_IMAGEBLIT=m -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -CONFIG_FB_SYS_FILLRECT=m -CONFIG_FB_SYS_COPYAREA=m -CONFIG_FB_SYS_IMAGEBLIT=m -# CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=m -CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_HECUBA=m -CONFIG_FB_SVGALIB=m -# CONFIG_FB_MACMODES is not set -CONFIG_FB_BACKLIGHT=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y - -# -# Frame buffer hardware drivers -# -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_PM2_FIFO_DISCONNECT=y -CONFIG_FB_CYBER2000=m -CONFIG_FB_ARC=m -CONFIG_FB_VGA16=m -CONFIG_FB_UVESA=m -CONFIG_FB_N411=m -CONFIG_FB_HGA=m -# CONFIG_FB_HGA_ACCEL is not set -CONFIG_FB_S1D13XXX=m -CONFIG_FB_NVIDIA=m -CONFIG_FB_NVIDIA_I2C=y -# CONFIG_FB_NVIDIA_DEBUG is not set -CONFIG_FB_NVIDIA_BACKLIGHT=y -CONFIG_FB_RIVA=m -CONFIG_FB_RIVA_I2C=y -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_RIVA_BACKLIGHT=y -CONFIG_FB_I810=m -CONFIG_FB_I810_GTF=y -CONFIG_FB_I810_I2C=y -CONFIG_FB_LE80578=m -CONFIG_FB_CARILLO_RANCH=m -CONFIG_FB_INTEL=m -# CONFIG_FB_INTEL_DEBUG is not set -CONFIG_FB_INTEL_I2C=y -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_I2C=m -CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY128_BACKLIGHT=y -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -CONFIG_FB_ATY_GENERIC_LCD=y -CONFIG_FB_ATY_GX=y -CONFIG_FB_ATY_BACKLIGHT=y -CONFIG_FB_S3=m -CONFIG_FB_SAVAGE=m -CONFIG_FB_SAVAGE_I2C=y -CONFIG_FB_SAVAGE_ACCEL=y -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_VIA=m -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_3DFX=m -CONFIG_FB_3DFX_ACCEL=y -CONFIG_FB_3DFX_I2C=y -CONFIG_FB_VOODOO1=m -CONFIG_FB_VT8623=m -CONFIG_FB_TRIDENT=m -CONFIG_FB_ARK=m -CONFIG_FB_PM3=m -CONFIG_FB_CARMINE=m -CONFIG_FB_CARMINE_DRAM_EVAL=y -# CONFIG_CARMINE_DRAM_CUSTOM is not set -CONFIG_FB_GEODE=y -CONFIG_FB_GEODE_LX=m -CONFIG_FB_GEODE_GX=m -CONFIG_FB_GEODE_GX1=m -CONFIG_FB_TMIO=m -CONFIG_FB_TMIO_ACCELL=y -CONFIG_FB_SM501=m -# CONFIG_FB_VIRTUAL is not set -CONFIG_XEN_FBDEV_FRONTEND=m -CONFIG_FB_METRONOME=m -CONFIG_FB_MB862XX=m -# CONFIG_FB_MB862XX_PCI_GDC is not set -CONFIG_FB_BROADSHEET=m -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_LCD_CLASS_DEVICE=m -CONFIG_LCD_LMS283GF05=m -CONFIG_LCD_LTV350QV=m -CONFIG_LCD_ILI9320=m -CONFIG_LCD_TDO24M=m -CONFIG_LCD_VGG2432A4=m -CONFIG_LCD_PLATFORM=m -CONFIG_BACKLIGHT_CLASS_DEVICE=m -CONFIG_BACKLIGHT_GENERIC=m -CONFIG_BACKLIGHT_PROGEAR=m -CONFIG_BACKLIGHT_CARILLO_RANCH=m -CONFIG_BACKLIGHT_MBP_NVIDIA=m -CONFIG_BACKLIGHT_SAHARA=m - -# -# Display device support -# -CONFIG_DISPLAY_SUPPORT=m - -# -# Display hardware drivers -# - -# -# Console display driver support -# -CONFIG_VGA_CONSOLE=y -# CONFIG_VGACON_SOFT_SCROLLBACK is not set -CONFIG_MDA_CONSOLE=m -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=m -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y -# CONFIG_LOGO is not set -CONFIG_SOUND=m -CONFIG_SOUND_OSS_CORE=y -CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m -CONFIG_SND_HWDEP=m -CONFIG_SND_RAWMIDI=m -CONFIG_SND_JACK=y -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_HRTIMER=m -CONFIG_SND_SEQ_HRTIMER_DEFAULT=y -CONFIG_SND_DYNAMIC_MINORS=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_VMASTER=y -CONFIG_SND_DMA_SGBUF=y -CONFIG_SND_RAWMIDI_SEQ=m -CONFIG_SND_OPL3_LIB_SEQ=m -CONFIG_SND_OPL4_LIB_SEQ=m -CONFIG_SND_SBAWE_SEQ=m -CONFIG_SND_EMU10K1_SEQ=m -CONFIG_SND_MPU401_UART=m -CONFIG_SND_OPL3_LIB=m -CONFIG_SND_OPL4_LIB=m -CONFIG_SND_VX_LIB=m -CONFIG_SND_AC97_CODEC=m -CONFIG_SND_DRIVERS=y -CONFIG_SND_PCSP=m -CONFIG_SND_DUMMY=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_MTS64=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m -CONFIG_SND_PORTMAN2X4=m -CONFIG_SND_AC97_POWER_SAVE=y -CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 -CONFIG_SND_WSS_LIB=m -CONFIG_SND_SB_COMMON=m -CONFIG_SND_SB8_DSP=m -CONFIG_SND_SB16_DSP=m -CONFIG_SND_ISA=y -CONFIG_SND_ADLIB=m -CONFIG_SND_AD1816A=m -CONFIG_SND_AD1848=m -CONFIG_SND_ALS100=m -CONFIG_SND_AZT2320=m -CONFIG_SND_CMI8330=m -CONFIG_SND_CS4231=m -CONFIG_SND_CS4236=m -CONFIG_SND_DT019X=m -CONFIG_SND_ES968=m -CONFIG_SND_ES1688=m -CONFIG_SND_ES18XX=m -CONFIG_SND_SC6000=m -CONFIG_SND_GUSCLASSIC=m -CONFIG_SND_GUSEXTREME=m -CONFIG_SND_GUSMAX=m -CONFIG_SND_INTERWAVE=m -CONFIG_SND_INTERWAVE_STB=m -CONFIG_SND_OPL3SA2=m -CONFIG_SND_OPTI92X_AD1848=m -CONFIG_SND_OPTI92X_CS4231=m -CONFIG_SND_OPTI93X=m -CONFIG_SND_MIRO=m -CONFIG_SND_SB8=m -CONFIG_SND_SB16=m -CONFIG_SND_SBAWE=m -CONFIG_SND_SB16_CSP=y -CONFIG_SND_SGALAXY=m -CONFIG_SND_SSCAPE=m -CONFIG_SND_WAVEFRONT=m -CONFIG_SND_MSND_PINNACLE=m -CONFIG_SND_MSND_CLASSIC=m -CONFIG_SND_PCI=y -CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AW2=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_OXYGEN_LIB=m -CONFIG_SND_OXYGEN=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_CS5530=m -CONFIG_SND_CS5535AUDIO=m -CONFIG_SND_CTXFI=m -CONFIG_SND_DARLA20=m -CONFIG_SND_GINA20=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_DARLA24=m -CONFIG_SND_GINA24=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_MONA=m -CONFIG_SND_MIA=m -CONFIG_SND_ECHO3G=m -CONFIG_SND_INDIGO=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_INDIGOIOX=m -CONFIG_SND_INDIGODJX=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -# CONFIG_SND_FM801_TEA575X_BOOL is not set -CONFIG_SND_HDA_INTEL=m -CONFIG_SND_HDA_HWDEP=y -# CONFIG_SND_HDA_RECONFIG is not set -CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INPUT_JACK=y -# CONFIG_SND_HDA_PATCH_LOADER is not set -CONFIG_SND_HDA_CODEC_REALTEK=y -CONFIG_SND_HDA_CODEC_ANALOG=y -CONFIG_SND_HDA_CODEC_SIGMATEL=y -CONFIG_SND_HDA_CODEC_VIA=y -CONFIG_SND_HDA_CODEC_ATIHDMI=y -CONFIG_SND_HDA_CODEC_NVHDMI=y -CONFIG_SND_HDA_CODEC_INTELHDMI=y -CONFIG_SND_HDA_ELD=y -CONFIG_SND_HDA_CODEC_CIRRUS=y -CONFIG_SND_HDA_CODEC_CONEXANT=y -CONFIG_SND_HDA_CODEC_CA0110=y -CONFIG_SND_HDA_CODEC_CMEDIA=y -CONFIG_SND_HDA_CODEC_SI3054=y -CONFIG_SND_HDA_GENERIC=y -# CONFIG_SND_HDA_POWER_SAVE is not set -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_HIFIER=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_LX6464ES=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SIS7019=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VIRTUOSO=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m -CONFIG_SND_SPI=y -CONFIG_SND_USB=y -CONFIG_SND_USB_AUDIO=m -CONFIG_SND_USB_USX2Y=m -CONFIG_SND_USB_CAIAQ=m -# CONFIG_SND_USB_CAIAQ_INPUT is not set -CONFIG_SND_USB_US122L=m -CONFIG_SND_PCMCIA=y -CONFIG_SND_VXPOCKET=m -CONFIG_SND_PDAUDIOCF=m -CONFIG_SND_SOC=m -CONFIG_SND_SOC_I2C_AND_SPI=m -CONFIG_SND_SOC_ALL_CODECS=m -CONFIG_SND_SOC_WM_HUBS=m -CONFIG_SND_SOC_AD1836=m -CONFIG_SND_SOC_AD1938=m -CONFIG_SND_SOC_AD73311=m -CONFIG_SND_SOC_AK4104=m -CONFIG_SND_SOC_AK4535=m -CONFIG_SND_SOC_AK4642=m -CONFIG_SND_SOC_CS4270=m -CONFIG_SND_SOC_L3=m -CONFIG_SND_SOC_PCM3008=m -CONFIG_SND_SOC_SPDIF=m -CONFIG_SND_SOC_SSM2602=m -CONFIG_SND_SOC_TLV320AIC23=m -CONFIG_SND_SOC_TLV320AIC26=m -CONFIG_SND_SOC_TLV320AIC3X=m -CONFIG_SND_SOC_UDA134X=m -CONFIG_SND_SOC_UDA1380=m -CONFIG_SND_SOC_WM8350=m -CONFIG_SND_SOC_WM8400=m -CONFIG_SND_SOC_WM8510=m -CONFIG_SND_SOC_WM8523=m -CONFIG_SND_SOC_WM8580=m -CONFIG_SND_SOC_WM8728=m -CONFIG_SND_SOC_WM8731=m -CONFIG_SND_SOC_WM8750=m -CONFIG_SND_SOC_WM8753=m -CONFIG_SND_SOC_WM8776=m -CONFIG_SND_SOC_WM8900=m -CONFIG_SND_SOC_WM8903=m -CONFIG_SND_SOC_WM8940=m -CONFIG_SND_SOC_WM8960=m -CONFIG_SND_SOC_WM8961=m -CONFIG_SND_SOC_WM8971=m -CONFIG_SND_SOC_WM8974=m -CONFIG_SND_SOC_WM8988=m -CONFIG_SND_SOC_WM8990=m -CONFIG_SND_SOC_WM8993=m -CONFIG_SND_SOC_WM9081=m -CONFIG_SND_SOC_MAX9877=m -# CONFIG_SOUND_PRIME is not set -CONFIG_AC97_BUS=m -CONFIG_HID_SUPPORT=y -CONFIG_HID=m -CONFIG_HIDRAW=y - -# -# USB Input Devices -# -CONFIG_USB_HID=m -# CONFIG_HID_PID is not set -# CONFIG_USB_HIDDEV is not set - -# -# USB HID Boot Protocol drivers -# -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -# -# Special HID drivers -# -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_TWINHAN is not set -# CONFIG_HID_KENSINGTON is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SONY is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_ZEROPLUS is not set -CONFIG_USB_SUPPORT=y -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB_ARCH_HAS_EHCI=y -CONFIG_USB=m -# CONFIG_USB_DEBUG is not set -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DEVICE_CLASS=y -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_SUSPEND is not set -# CONFIG_USB_OTG is not set -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -CONFIG_USB_MON=m -CONFIG_USB_WUSB=m -CONFIG_USB_WUSB_CBAF=m -# CONFIG_USB_WUSB_CBAF_DEBUG is not set - -# -# USB Host Controller Drivers -# -CONFIG_USB_C67X00_HCD=m -CONFIG_USB_XHCI_HCD=m -# CONFIG_USB_XHCI_HCD_DEBUGGING is not set -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -# CONFIG_USB_EHCI_TT_NEWSCHED is not set -CONFIG_USB_OXU210HP_HCD=m -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_ISP1760_HCD=m -CONFIG_USB_ISP1362_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_OHCI_HCD_SSB=y -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_U132_HCD=m -CONFIG_USB_SL811_HCD=m -CONFIG_USB_SL811_CS=m -CONFIG_USB_R8A66597_HCD=m -CONFIG_USB_WHCI_HCD=m -CONFIG_USB_HWA_HCD=m - -# -# Enable Host or Gadget support to see Inventra options -# - -# -# USB Device Class drivers -# -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m -CONFIG_USB_WDM=m -CONFIG_USB_TMC=m - -# -# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may -# - -# -# also be needed; see USB_STORAGE Help for more info -# -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=m -CONFIG_USB_STORAGE_FREECOM=m -CONFIG_USB_STORAGE_ISD200=m -CONFIG_USB_STORAGE_USBAT=m -CONFIG_USB_STORAGE_SDDR09=m -CONFIG_USB_STORAGE_SDDR55=m -CONFIG_USB_STORAGE_JUMPSHOT=m -CONFIG_USB_STORAGE_ALAUDA=m -CONFIG_USB_STORAGE_ONETOUCH=m -CONFIG_USB_STORAGE_KARMA=m -CONFIG_USB_STORAGE_CYPRESS_ATACB=m -CONFIG_USB_LIBUSUAL=y - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB port drivers -# -CONFIG_USB_USS720=m -CONFIG_USB_SERIAL=m -CONFIG_USB_EZUSB=y -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_CH341=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_CP210X=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_FUNSOFT=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_IUU=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KEYSPAN=m -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7840=m -CONFIG_USB_SERIAL_MOTOROLA=m -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_OTI6858=m -CONFIG_USB_SERIAL_QUALCOMM=m -CONFIG_USB_SERIAL_SPCP8X5=m -CONFIG_USB_SERIAL_HP4X=m -CONFIG_USB_SERIAL_SAFE=m -CONFIG_USB_SERIAL_SAFE_PADDED=y -CONFIG_USB_SERIAL_SIEMENS_MPI=m -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -CONFIG_USB_SERIAL_SYMBOL=m -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_OPTICON=m -CONFIG_USB_SERIAL_DEBUG=m - -# -# USB Miscellaneous drivers -# -CONFIG_USB_EMI62=m -CONFIG_USB_EMI26=m -CONFIG_USB_ADUTUX=m -CONFIG_USB_SEVSEG=m -CONFIG_USB_RIO500=m -# CONFIG_USB_LEGOTOWER is not set -CONFIG_USB_LCD=m -# CONFIG_USB_BERRY_CHARGE is not set -CONFIG_USB_LED=m -CONFIG_USB_CYPRESS_CY7C63=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_FTDI_ELAN=m -# CONFIG_USB_APPLEDISPLAY is not set -CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y -CONFIG_USB_LD=m -# CONFIG_USB_TRANCEVIBRATOR is not set -CONFIG_USB_IOWARRIOR=m -CONFIG_USB_TEST=m -CONFIG_USB_ISIGHTFW=m -# CONFIG_USB_VST is not set -CONFIG_USB_ATM=m -CONFIG_USB_SPEEDTOUCH=m -CONFIG_USB_CXACRU=m -CONFIG_USB_UEAGLEATM=m -CONFIG_USB_XUSBATM=m -# CONFIG_USB_GADGET is not set - -# -# OTG and related infrastructure -# -CONFIG_USB_OTG_UTILS=y -CONFIG_USB_GPIO_VBUS=m -CONFIG_NOP_USB_XCEIV=m -CONFIG_UWB=m -CONFIG_UWB_HWA=m -CONFIG_UWB_WHCI=m -CONFIG_UWB_WLP=m -CONFIG_UWB_I1480U=m -CONFIG_UWB_I1480U_WLP=m -CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_UNSAFE_RESUME is not set - -# -# MMC/SD/SDIO Card Drivers -# -CONFIG_MMC_BLOCK=m -CONFIG_MMC_BLOCK_BOUNCE=y -CONFIG_SDIO_UART=m -CONFIG_MMC_TEST=m - -# -# MMC/SD/SDIO Host Controller Drivers -# -CONFIG_MMC_SDHCI=m -CONFIG_MMC_SDHCI_PCI=m -CONFIG_MMC_RICOH_MMC=m -CONFIG_MMC_SDHCI_PLTFM=m -CONFIG_MMC_WBSD=m -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_ATMELMCI is not set -CONFIG_MMC_TIFM_SD=m -CONFIG_MMC_SDRICOH_CS=m -CONFIG_MMC_CB710=m -CONFIG_MMC_VIA_SDMMC=m -CONFIG_MEMSTICK=m -# CONFIG_MEMSTICK_DEBUG is not set - -# -# MemoryStick drivers -# -# CONFIG_MEMSTICK_UNSAFE_RESUME is not set -CONFIG_MSPRO_BLOCK=m - -# -# MemoryStick Host Controller Drivers -# -CONFIG_MEMSTICK_TIFM_MS=m -CONFIG_MEMSTICK_JMICRON_38X=m -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=m - -# -# LED drivers -# -CONFIG_LEDS_NET48XX=m -CONFIG_LEDS_WRAP=m -CONFIG_LEDS_ALIX2=m -CONFIG_LEDS_PCA9532=m -CONFIG_LEDS_GPIO=m -CONFIG_LEDS_GPIO_PLATFORM=y -CONFIG_LEDS_LP3944=m -CONFIG_LEDS_CLEVO_MAIL=m -CONFIG_LEDS_PCA955X=m -CONFIG_LEDS_WM8350=m -CONFIG_LEDS_DAC124S085=m -CONFIG_LEDS_BD2802=m - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_HEARTBEAT=m -CONFIG_LEDS_TRIGGER_BACKLIGHT=m -CONFIG_LEDS_TRIGGER_GPIO=m -CONFIG_LEDS_TRIGGER_DEFAULT_ON=m - -# -# iptables trigger is under Netfilter config (LED target) -# -CONFIG_ACCESSIBILITY=y -# CONFIG_A11Y_BRAILLE_CONSOLE is not set -CONFIG_INFINIBAND=m -CONFIG_INFINIBAND_USER_MAD=m -CONFIG_INFINIBAND_USER_ACCESS=m -CONFIG_INFINIBAND_USER_MEM=y -CONFIG_INFINIBAND_ADDR_TRANS=y -CONFIG_INFINIBAND_MTHCA=m -# CONFIG_INFINIBAND_MTHCA_DEBUG is not set -CONFIG_INFINIBAND_AMSO1100=m -# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set -CONFIG_INFINIBAND_CXGB3=m -# CONFIG_INFINIBAND_CXGB3_DEBUG is not set -CONFIG_MLX4_INFINIBAND=m -CONFIG_INFINIBAND_NES=m -# CONFIG_INFINIBAND_NES_DEBUG is not set -CONFIG_INFINIBAND_IPOIB=m -# CONFIG_INFINIBAND_IPOIB_CM is not set -# CONFIG_INFINIBAND_IPOIB_DEBUG is not set -CONFIG_INFINIBAND_SRP=m -CONFIG_INFINIBAND_ISER=m -# CONFIG_EDAC is not set -CONFIG_RTC_LIB=m -CONFIG_RTC_CLASS=m - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -CONFIG_RTC_INTF_DEV_UIE_EMUL=y -CONFIG_RTC_DRV_TEST=m - -# -# I2C RTC drivers -# -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1374=m -CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_MAX6900=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_M41T80=m -CONFIG_RTC_DRV_M41T80_WDT=y -CONFIG_RTC_DRV_S35390A=m -CONFIG_RTC_DRV_FM3130=m -CONFIG_RTC_DRV_RX8581=m -CONFIG_RTC_DRV_RX8025=m - -# -# SPI RTC drivers -# -CONFIG_RTC_DRV_M41T94=m -CONFIG_RTC_DRV_DS1305=m -CONFIG_RTC_DRV_DS1390=m -CONFIG_RTC_DRV_MAX6902=m -CONFIG_RTC_DRV_R9701=m -CONFIG_RTC_DRV_RS5C348=m -CONFIG_RTC_DRV_DS3234=m -CONFIG_RTC_DRV_PCF2123=m - -# -# Platform RTC drivers -# -CONFIG_RTC_DRV_CMOS=m -CONFIG_RTC_DRV_DS1286=m -CONFIG_RTC_DRV_DS1511=m -CONFIG_RTC_DRV_DS1553=m -CONFIG_RTC_DRV_DS1742=m -CONFIG_RTC_DRV_STK17TA8=m -CONFIG_RTC_DRV_M48T86=m -CONFIG_RTC_DRV_M48T35=m -CONFIG_RTC_DRV_M48T59=m -CONFIG_RTC_DRV_BQ4802=m -CONFIG_RTC_DRV_V3020=m -CONFIG_RTC_DRV_WM8350=m -CONFIG_RTC_DRV_PCF50633=m -CONFIG_RTC_DRV_AB3100=m - -# -# on-CPU RTC drivers -# -CONFIG_DMADEVICES=y - -# -# DMA Devices -# -CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y -CONFIG_INTEL_IOATDMA=m -CONFIG_DMA_ENGINE=y - -# -# DMA Clients -# -CONFIG_NET_DMA=y -# CONFIG_ASYNC_TX_DMA is not set -CONFIG_DMATEST=m -CONFIG_DCA=m -CONFIG_AUXDISPLAY=y -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 -CONFIG_KS0108_DELAY=2 -CONFIG_CFAG12864B=m -CONFIG_CFAG12864B_RATE=20 -CONFIG_UIO=m -CONFIG_UIO_CIF=m -CONFIG_UIO_PDRV=m -CONFIG_UIO_PDRV_GENIRQ=m -CONFIG_UIO_SMX=m -CONFIG_UIO_AEC=m -CONFIG_UIO_SERCOS3=m -# CONFIG_UIO_PCI_GENERIC is not set - -# -# TI VLYNQ -# -CONFIG_XEN_BALLOON=y -CONFIG_XEN_SCRUB_PAGES=y -CONFIG_XEN_DEV_EVTCHN=y -CONFIG_XENFS=y -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_STAGING=y -# CONFIG_STAGING_EXCLUDE_BUILD is not set -# CONFIG_ET131X is not set -# CONFIG_SLICOSS is not set -# CONFIG_VIDEO_GO7007 is not set -# CONFIG_VIDEO_CX25821 is not set -# CONFIG_USB_IP_COMMON is not set -# CONFIG_W35UND is not set -# CONFIG_PRISM2_USB is not set -# CONFIG_ECHO is not set -# CONFIG_POCH is not set -# CONFIG_OTUS is not set -# CONFIG_RT2860 is not set -# CONFIG_RT2870 is not set -# CONFIG_RT3090 is not set -# CONFIG_COMEDI is not set -# CONFIG_ASUS_OLED is not set -# CONFIG_PANEL is not set -# CONFIG_ALTERA_PCIE_CHDMA is not set -# CONFIG_RTL8187SE is not set -# CONFIG_RTL8192SU is not set -# CONFIG_RTL8192E is not set -# CONFIG_TRANZPORT is not set - -# -# Android -# - -# -# Qualcomm MSM Camera And Video -# - -# -# Camera Sensor Selection -# -# CONFIG_INPUT_GPIO is not set -# CONFIG_DST is not set -# CONFIG_POHMELFS is not set -# CONFIG_B3DFG is not set -# CONFIG_IDE_PHISON is not set -# CONFIG_PLAN9AUTH is not set -# CONFIG_LINE6_USB is not set -# CONFIG_DRM_RADEON_KMS is not set -# CONFIG_USB_SERIAL_QUATECH2 is not set -# CONFIG_USB_SERIAL_QUATECH_USB2 is not set -# CONFIG_VT6655 is not set -# CONFIG_VT6656 is not set -# CONFIG_FB_UDL is not set -CONFIG_HYPERV=m -CONFIG_HYPERV_STORAGE=m -CONFIG_HYPERV_BLOCK=m -CONFIG_HYPERV_NET=m -# CONFIG_VME_BUS is not set - -# -# RAR Register Driver -# -# CONFIG_RAR_REGISTER is not set -# CONFIG_IIO is not set -CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_ACER_WMI=m -CONFIG_ASUS_LAPTOP=m -CONFIG_DELL_WMI=m -CONFIG_FUJITSU_LAPTOP=m -# CONFIG_FUJITSU_LAPTOP_DEBUG is not set -CONFIG_TC1100_WMI=m -CONFIG_HP_WMI=m -CONFIG_MSI_LAPTOP=m -CONFIG_PANASONIC_LAPTOP=m -CONFIG_COMPAL_LAPTOP=m -CONFIG_SONY_LAPTOP=m -# CONFIG_SONYPI_COMPAT is not set -CONFIG_THINKPAD_ACPI=m -# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set -# CONFIG_THINKPAD_ACPI_DEBUG is not set -# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set -CONFIG_THINKPAD_ACPI_VIDEO=y -CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y -CONFIG_INTEL_MENLOW=m -CONFIG_EEEPC_LAPTOP=m -CONFIG_ACPI_WMI=m -CONFIG_ACPI_ASUS=m -# CONFIG_TOPSTAR_LAPTOP is not set -CONFIG_ACPI_TOSHIBA=m - -# -# Firmware Drivers -# -CONFIG_EDD=m -# CONFIG_EDD_OFF is not set -CONFIG_FIRMWARE_MEMMAP=y -CONFIG_DELL_RBU=m -CONFIG_DCDBAS=m -CONFIG_DMIID=y -# CONFIG_ISCSI_IBFT_FIND is not set - -# -# File systems -# -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -CONFIG_EXT2_FS_XIP=y -CONFIG_EXT3_FS=m -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_EXT4_FS=m -CONFIG_EXT4_FS_XATTR=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -# CONFIG_EXT4_DEBUG is not set -CONFIG_FS_XIP=y -CONFIG_JBD=m -# CONFIG_JBD_DEBUG is not set -CONFIG_JBD2=m -# CONFIG_JBD2_DEBUG is not set -CONFIG_FS_MBCACHE=m -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -CONFIG_REISERFS_PROC_INFO=y -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -# CONFIG_REISERFS_FS_SECURITY is not set -CONFIG_JFS_FS=m -CONFIG_JFS_POSIX_ACL=y -CONFIG_JFS_SECURITY=y -# CONFIG_JFS_DEBUG is not set -CONFIG_JFS_STATISTICS=y -CONFIG_FS_POSIX_ACL=y -CONFIG_XFS_FS=m -CONFIG_XFS_QUOTA=y -CONFIG_XFS_POSIX_ACL=y -CONFIG_XFS_RT=y -# CONFIG_XFS_DEBUG is not set -CONFIG_GFS2_FS=m -CONFIG_GFS2_FS_LOCKING_DLM=y -CONFIG_OCFS2_FS=m -CONFIG_OCFS2_FS_O2CB=m -CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m -CONFIG_OCFS2_FS_STATS=y -CONFIG_OCFS2_DEBUG_MASKLOG=y -# CONFIG_OCFS2_DEBUG_FS is not set -CONFIG_OCFS2_FS_POSIX_ACL=y -CONFIG_BTRFS_FS=m -CONFIG_BTRFS_FS_POSIX_ACL=y -CONFIG_NILFS2_FS=m -CONFIG_FILE_LOCKING=y -CONFIG_FSNOTIFY=y -# CONFIG_DNOTIFY is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -CONFIG_QUOTA=y -CONFIG_QUOTA_NETLINK_INTERFACE=y -# CONFIG_PRINT_QUOTA_WARNING is not set -CONFIG_QUOTA_TREE=m -CONFIG_QFMT_V1=m -CONFIG_QFMT_V2=m -CONFIG_QUOTACTL=y -CONFIG_AUTOFS_FS=m -CONFIG_AUTOFS4_FS=m -CONFIG_FUSE_FS=m -# CONFIG_CUSE is not set - -# -# Caches -# -CONFIG_FSCACHE=m -CONFIG_FSCACHE_STATS=y -CONFIG_FSCACHE_HISTOGRAM=y -# CONFIG_FSCACHE_DEBUG is not set -# CONFIG_FSCACHE_OBJECT_LIST is not set -CONFIG_CACHEFILES=m -# CONFIG_CACHEFILES_DEBUG is not set -# CONFIG_CACHEFILES_HISTOGRAM is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -CONFIG_NTFS_RW=y - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -# CONFIG_PROC_KCORE is not set -CONFIG_PROC_SYSCTL=y -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_HUGETLBFS is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_CONFIGFS_FS=m -CONFIG_MISC_FILESYSTEMS=y -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -CONFIG_ECRYPT_FS=m -CONFIG_HFS_FS=m -CONFIG_HFSPLUS_FS=m -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -CONFIG_EFS_FS=m -CONFIG_JFFS2_FS=m -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -CONFIG_JFFS2_SUMMARY=y -CONFIG_JFFS2_FS_XATTR=y -CONFIG_JFFS2_FS_POSIX_ACL=y -CONFIG_JFFS2_FS_SECURITY=y -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -CONFIG_JFFS2_RUBIN=y -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -CONFIG_UBIFS_FS=m -# CONFIG_UBIFS_FS_XATTR is not set -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -# CONFIG_UBIFS_FS_DEBUG is not set -CONFIG_CRAMFS=m -CONFIG_SQUASHFS=m -# CONFIG_SQUASHFS_EMBEDDED is not set -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -# CONFIG_VXFS_FS is not set -CONFIG_MINIX_FS=m -CONFIG_OMFS_FS=m -CONFIG_HPFS_FS=m -# CONFIG_QNX4FS_FS is not set -CONFIG_ROMFS_FS=m -CONFIG_ROMFS_BACKED_BY_BLOCK=y -# CONFIG_ROMFS_BACKED_BY_MTD is not set -# CONFIG_ROMFS_BACKED_BY_BOTH is not set -CONFIG_ROMFS_ON_BLOCK=y -CONFIG_SYSV_FS=m -CONFIG_UFS_FS=m -# CONFIG_UFS_FS_WRITE is not set -# CONFIG_UFS_DEBUG is not set -CONFIG_EXOFS_FS=m -# CONFIG_EXOFS_DEBUG is not set -CONFIG_NETWORK_FILESYSTEMS=y -CONFIG_NFS_FS=m -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -# CONFIG_NFS_V4_1 is not set -# CONFIG_NFS_FSCACHE is not set -CONFIG_NFSD=m -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V3_ACL is not set -CONFIG_NFSD_V4=y -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=m -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -CONFIG_SUNRPC_GSS=m -CONFIG_SUNRPC_XPRT_RDMA=m -CONFIG_RPCSEC_GSS_KRB5=m -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_UPCALL is not set -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_DEBUG2 is not set -CONFIG_CIFS_DFS_UPCALL=y -CONFIG_CIFS_EXPERIMENTAL=y -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y -CONFIG_NLS=m -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=m -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=m -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_UTF8=m -CONFIG_DLM=m -# CONFIG_DLM_DEBUG is not set - -# -# Kernel hacking -# -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -# CONFIG_PRINTK_TIME is not set -CONFIG_ENABLE_WARN_DEPRECATED=y -# CONFIG_ENABLE_MUST_CHECK is not set -CONFIG_FRAME_WARN=1024 -# CONFIG_MAGIC_SYSRQ is not set -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_KERNEL is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_DEBUG_MEMORY_INIT is not set -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y -# CONFIG_RCU_CPU_STALL_DETECTOR is not set -# CONFIG_LATENCYTOP is not set -CONFIG_SYSCTL_SYSCALL_CHECK=y -CONFIG_USER_STACKTRACE_SUPPORT=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y -CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_RING_BUFFER=y -CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set -# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set -# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set -# CONFIG_DYNAMIC_DEBUG is not set -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_KMEMCHECK=y -CONFIG_STRICT_DEVMEM=y -# CONFIG_X86_VERBOSE_BOOTUP is not set -# CONFIG_EARLY_PRINTK is not set -# CONFIG_4KSTACKS is not set -# CONFIG_DOUBLEFAULT is not set -# CONFIG_IOMMU_STRESS is not set -CONFIG_HAVE_MMIOTRACE_SUPPORT=y -CONFIG_IO_DELAY_TYPE_0X80=0 -CONFIG_IO_DELAY_TYPE_0XED=1 -CONFIG_IO_DELAY_TYPE_UDELAY=2 -CONFIG_IO_DELAY_TYPE_NONE=3 -CONFIG_IO_DELAY_0X80=y -# CONFIG_IO_DELAY_0XED is not set -# CONFIG_IO_DELAY_UDELAY is not set -# CONFIG_IO_DELAY_NONE is not set -CONFIG_DEFAULT_IO_DELAY_TYPE=0 -# CONFIG_OPTIMIZE_INLINING is not set - -# -# Security options -# -CONFIG_KEYS=y -# CONFIG_KEYS_DEBUG_PROC_KEYS is not set -CONFIG_SECURITY=y -CONFIG_SECURITYFS=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_PATH is not set -CONFIG_SECURITY_FILE_CAPABILITIES=y -# CONFIG_SECURITY_TOMOYO is not set -# CONFIG_IMA is not set -CONFIG_XOR_BLOCKS=m -CONFIG_ASYNC_CORE=m -CONFIG_ASYNC_MEMCPY=m -CONFIG_ASYNC_XOR=m -CONFIG_ASYNC_PQ=m -CONFIG_ASYNC_RAID6_RECOV=m -CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y -CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y -CONFIG_CRYPTO=y - -# -# Crypto core or helper -# -CONFIG_CRYPTO_FIPS=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_AEAD=m -CONFIG_CRYPTO_AEAD2=y -CONFIG_CRYPTO_BLKCIPHER=m -CONFIG_CRYPTO_BLKCIPHER2=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=m -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_PCOMP=y -CONFIG_CRYPTO_MANAGER=m -CONFIG_CRYPTO_MANAGER2=y -CONFIG_CRYPTO_GF128MUL=m -CONFIG_CRYPTO_NULL=m -CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_CRYPTO_CRYPTD=m -CONFIG_CRYPTO_AUTHENC=m -CONFIG_CRYPTO_TEST=m - -# -# Authenticated Encryption with Associated Data -# -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m -CONFIG_CRYPTO_SEQIV=m - -# -# Block modes -# -CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_CTR=m -CONFIG_CRYPTO_CTS=m -CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m -CONFIG_CRYPTO_XTS=m - -# -# Hash modes -# -CONFIG_CRYPTO_HMAC=m -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_VMAC=m - -# -# Digest -# -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_CRC32C_INTEL=m -CONFIG_CRYPTO_GHASH=m -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_RMD128=m -CONFIG_CRYPTO_RMD160=m -CONFIG_CRYPTO_RMD256=m -CONFIG_CRYPTO_RMD320=m -CONFIG_CRYPTO_SHA1=m -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_WP512=m - -# -# Ciphers -# -CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_AES_586=m -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_SALSA20=m -CONFIG_CRYPTO_SALSA20_586=m -CONFIG_CRYPTO_SEED=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_TWOFISH_COMMON=m -CONFIG_CRYPTO_TWOFISH_586=m - -# -# Compression -# -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_ZLIB=m -CONFIG_CRYPTO_LZO=m - -# -# Random Number Generation -# -CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_DEV_PADLOCK=m -CONFIG_CRYPTO_DEV_PADLOCK_AES=m -CONFIG_CRYPTO_DEV_PADLOCK_SHA=m -CONFIG_CRYPTO_DEV_GEODE=m -CONFIG_CRYPTO_DEV_HIFN_795X=m -CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y -CONFIG_HAVE_KVM=y -CONFIG_HAVE_KVM_IRQCHIP=y -CONFIG_HAVE_KVM_EVENTFD=y -CONFIG_KVM_APIC_ARCHITECTURE=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=m -CONFIG_KVM_INTEL=m -CONFIG_KVM_AMD=m -CONFIG_LGUEST=m -CONFIG_VIRTIO=y -CONFIG_VIRTIO_RING=y -CONFIG_VIRTIO_PCI=m -CONFIG_VIRTIO_BALLOON=m -# CONFIG_BINARY_PRINTF is not set - -# -# Library routines -# -CONFIG_BITREVERSE=m -CONFIG_GENERIC_FIND_FIRST_BIT=y -CONFIG_GENERIC_FIND_NEXT_BIT=y -CONFIG_GENERIC_FIND_LAST_BIT=y -CONFIG_CRC_CCITT=m -CONFIG_CRC16=m -CONFIG_CRC_T10DIF=m -CONFIG_CRC_ITU_T=m -CONFIG_CRC32=m -CONFIG_CRC7=m -CONFIG_LIBCRC32C=m -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=m -CONFIG_LZO_COMPRESS=m -CONFIG_LZO_DECOMPRESS=m -CONFIG_DECOMPRESS_GZIP=y -CONFIG_DECOMPRESS_BZIP2=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_REED_SOLOMON=m -CONFIG_REED_SOLOMON_DEC16=y -CONFIG_TEXTSEARCH=y -CONFIG_TEXTSEARCH_KMP=m -CONFIG_TEXTSEARCH_BM=m -CONFIG_TEXTSEARCH_FSM=m -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_DMA=y -CONFIG_CHECK_SIGNATURE=y -CONFIG_NLATTR=y diff --git a/main/linux-pae/r8169-fix-mdio_read-and-update-mdio_write-according-to-hw-specs.patch b/main/linux-pae/r8169-fix-mdio_read-and-update-mdio_write-according-to-hw-specs.patch deleted file mode 100644 index bd111e8772..0000000000 --- a/main/linux-pae/r8169-fix-mdio_read-and-update-mdio_write-according-to-hw-specs.patch +++ /dev/null @@ -1,56 +0,0 @@ -From patchwork Wed Jun 9 05:22:10 2010 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Subject: r8169: fix mdio_read and update mdio_write according to hw specs -Date: Tue, 08 Jun 2010 19:22:10 -0000 -From: =?utf-8?b?VGltbyBUZXLDpHMgPHRpbW8udGVyYXNAaWtpLmZpPg==?= -X-Patchwork-Id: 55049 -Message-Id: <1276060930-15697-1-git-send-email-timo.teras@iki.fi> -To: netdev@vger.kernel.org -Cc: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>, - Francois Romieu <romieu@fr.zoreil.com>, Hayeswang <hayeswang@realtek.com> - -Realtek confirmed that a 20us delay is needed after mdio_read and -mdio_write operations. Reduce the delay in mdio_write, and add it -to mdio_read too. Also add a comment that the 20us is from hw specs. - -Signed-off-by: Timo Teräs <timo.teras@iki.fi> -Cc: Francois Romieu <romieu@fr.zoreil.com> -Cc: Hayeswang <hayeswang@realtek.com> - ---- -drivers/net/r8169.c | 12 +++++++++--- - 1 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c -index 03a8318..96b6cfb 100644 ---- a/drivers/net/r8169.c -+++ b/drivers/net/r8169.c -@@ -560,10 +560,10 @@ static void mdio_write(void __iomem *ioaddr, int reg_addr, int value) - udelay(25); - } - /* -- * Some configurations require a small delay even after the write -- * completed indication or the next write might fail. -+ * According to hardware specs a 20us delay is required after write -+ * complete indication, but before sending next command. - */ -- udelay(25); -+ udelay(20); - } - - static int mdio_read(void __iomem *ioaddr, int reg_addr) -@@ -583,6 +583,12 @@ static int mdio_read(void __iomem *ioaddr, int reg_addr) - } - udelay(25); - } -+ /* -+ * According to hardware specs a 20us delay is required after read -+ * complete indication, but before sending next command. -+ */ -+ udelay(20); -+ - return value; - } - diff --git a/main/linux-pae/r8169-fix-random-mdio_write-failures.patch b/main/linux-pae/r8169-fix-random-mdio_write-failures.patch deleted file mode 100644 index 1e2beadd0f..0000000000 --- a/main/linux-pae/r8169-fix-random-mdio_write-failures.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 024a07bacf8287a6ddfa83e9d5b951c5e8b4070e Mon Sep 17 00:00:00 2001 -From: =?utf8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Sun, 6 Jun 2010 15:38:47 -0700 -Subject: [PATCH 1/1] r8169: fix random mdio_write failures -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Some configurations need delay between the "write completed" indication -and new write to work reliably. - -Realtek driver seems to use longer delay when polling the "write complete" -bit, so it waits long enough between writes with high probability (but -could probably break too). This patch adds a new udelay to make sure we -wait unconditionally some time after the write complete indication. - -This caused a regression with XID 18000000 boards when the board specific -phy configuration writing many mdio registers was added in commit -2e955856ff (r8169: phy init for the 8169scd). Some of the configration -mdio writes would almost always fail, and depending on failure might leave -the PHY in non-working state. - -Signed-off-by: Timo Teräs <timo.teras@iki.fi> -Acked-off-by: Francois Romieu <romieu@fr.zoreil.com> -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - drivers/net/r8169.c | 5 +++++ - 1 files changed, 5 insertions(+), 0 deletions(-) - -diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c -index 217e709..03a8318 100644 ---- a/drivers/net/r8169.c -+++ b/drivers/net/r8169.c -@@ -559,6 +559,11 @@ static void mdio_write(void __iomem *ioaddr, int reg_addr, int value) - break; - udelay(25); - } -+ /* -+ * Some configurations require a small delay even after the write -+ * completed indication or the next write might fail. -+ */ -+ udelay(25); - } - - static int mdio_read(void __iomem *ioaddr, int reg_addr) --- -1.7.1 - diff --git a/main/linux-pae/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch b/main/linux-pae/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch deleted file mode 100644 index a4f94d7fa4..0000000000 --- a/main/linux-pae/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch +++ /dev/null @@ -1,48 +0,0 @@ -From f1f6baf8f1df29be38003089787e378567ce0086 Mon Sep 17 00:00:00 2001 -From: H. Peter Anvin <hpa@zytor.com> -Date: Wed, 17 Feb 2010 18:32:06 -0800 -Subject: [PATCH] x86, setup: When restoring the screen, update boot_params.screen_info - -When we restore the screen content after a mode change, we return the -cursor to its former position. However, we need to also update -boot_params.screen_info accordingly, so that the decompression code -knows where on the screen the cursor is. Just in case the video BIOS -does something extra screwy, read the cursor position back from the -BIOS instead of relying on it doing the right thing. - -While we're at it, make sure we cap the cursor position to the new -screen coordinates. - -Reported-by: Wim Osterholt <wim@djo.tudelft.nl> -Bugzilla-Reference: http://bugzilla.kernel.org/show_bug.cgi?id=15329 -Signed-off-by: H. Peter Anvin <hpa@zytor.com> ---- - arch/x86/boot/video.c | 7 +++++++ - 1 files changed, 7 insertions(+), 0 deletions(-) - -diff --git a/arch/x86/boot/video.c b/arch/x86/boot/video.c -index f767164..43eda28 100644 ---- a/arch/x86/boot/video.c -+++ b/arch/x86/boot/video.c -@@ -298,11 +298,18 @@ static void restore_screen(void) - } - - /* Restore cursor position */ -+ if (saved.curx >= xs) -+ saved.curx = xs-1; -+ if (saved.cury >= ys) -+ saved.cury = ys-1; -+ - initregs(&ireg); - ireg.ah = 0x02; /* Set cursor position */ - ireg.dh = saved.cury; - ireg.dl = saved.curx; - intcall(0x10, &ireg, NULL); -+ -+ store_cursor_position(); - } - - void set_video(void) --- -1.7.1 - diff --git a/main/linux-pae/xfrm-fix-policy-unreferencing-on-larval-drop.patch b/main/linux-pae/xfrm-fix-policy-unreferencing-on-larval-drop.patch deleted file mode 100644 index 25dc0dcdc2..0000000000 --- a/main/linux-pae/xfrm-fix-policy-unreferencing-on-larval-drop.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c -index 31f4ba4..f4ea3a0 100644 ---- a/net/xfrm/xfrm_policy.c -+++ b/net/xfrm/xfrm_policy.c -@@ -1805,7 +1805,7 @@ restart: - /* EREMOTE tells the caller to generate - * a one-shot blackhole route. */ - dst_release(dst); -- xfrm_pols_put(pols, num_pols); -+ xfrm_pols_put(pols, drop_pols); - XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES); - return -EREMOTE; - } - |