drivers/iommu/amd_iommu_init.c:1400:32: error: 'disable_iommus' undeclared (first use in this function)
PATCH 8/28 drivers/iommu/amd_iommu_init.c:1400:32: error: 'disable_iommus' undeclared (first use in this function)
Hi Joerg,
Kernel build failed on
tree: git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git irq-remapping head: afd6b14061a786c34b41722d35035d0eeecae55c commit: 337e75c1618f2b44298b09d7061d67253b234a33 [8/28] iommu/amd: Split enable_iommus() routine config: x86_64-allmodconfig (attached as .config)
All related error/warning messages:
drivers/iommu/amd_iommu_init.c: In function 'early_enable_iommus':drivers/iommu/amd_iommu_init.c:1400:32: error: 'disable_iommus' undeclared (first use in this function) drivers/iommu/amd_iommu_init.c:1400:32: note: each undeclared identifier is reported only once for each function it appears in
vim +1400 drivers/iommu/amd_iommu_init.c
1397 iommu_flush_all_caches(iommu);
1398 }
1399
Quoted 1 line
1400 x86_platform.iommu_shutdown =
disable_iommus;
1401
1402 }
1403
---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu <wfg-VuQAYsv1563Yd54FQh9/[email protected]> Intel Corporation
Quoted 1 line
From
337e75c1618f2b44298b09d7061d67253b234a33Mon Sep 17 00:00:00 2001
From: Joerg Roedel <[email protected]>
Date: Tue, 12 Jun 2012 16:30:06 +0200
Subject: [PATCH] iommu/amd: Split enable_iommus() routine
Split the enable_iommus() routine so that a part of it can run in early code.
--- drivers/iommu/amd_iommu_init.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-)
drivers/iommu/amd_iommu_init.c +21 -5
@@ -1376,34 +1376,52 @@ static void iommu_apply_resume_quirks(struct amd_iommu *iommu)/* Lock PCI setup registers */ pci_write_config_dword (iommu->dev, iommu->cap_ptr +4 , iommu->stored_addr_lo |1 ); }/* * This function finally enables all IOMMUs found in the system after * they have been initialized */ -static void enable_iommus (void ) +static void early_enable_iommus (void ) {struct amd_iommu *iommu;for_each_iommu (iommu) {iommu_disable (iommu);iommu_init_flags (iommu);iommu_set_device_table (iommu);iommu_enable_command_buffer (iommu);iommu_enable_event_buffer (iommu); -iommu_enable_ppr_log (iommu); -iommu_enable_gt (iommu);iommu_set_exclusion_range (iommu);iommu_enable (iommu);iommu_flush_all_caches (iommu); } + + x86_platform.iommu_shutdown = disable_iommus; + +} + +static void enable_iommus_v2 (void ) +{ +struct amd_iommu *iommu; + +for_each_iommu (iommu) { +iommu_enable_ppr_log (iommu); +iommu_enable_gt (iommu); + } +} + +static void enable_iommus (void ) +{ +early_enable_iommus (); + +enable_iommus_v2 (); }static void disable_iommus (void ) {struct amd_iommu *iommu;for_each_iommu (iommu)iommu_disable (iommu); }
@@ -1690,20 +1708,18 @@ static int __init amd_iommu_init(void)if (iommu_pass_through) goto out;if (amd_iommu_unmap_flush)printk (KERN_INFO "AMD-Vi: IO/TLB flush on unmap enabled\n" );else printk (KERN_INFO "AMD-Vi: Lazy IO/TLB flushing enabled\n" ); - x86_platform.iommu_shutdown = disable_iommus; - out:return ret; free:disable_iommus ();free_on_init_error (); goto out;
Signature · 1 line
1.7.10
/*
* Copyright (C) 2007-2010 Advanced Micro Devices, Inc.
* Author: Joerg Roedel <[email protected]>
* Leo Duran <[email protected]>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <linux/pci.h>
#include <linux/acpi.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/syscore_ops.h>
#include <linux/interrupt.h>
#include <linux/msi.h>
#include <linux/amd-iommu.h>
#include <linux/export.h>
#include <linux/acpi.h>
#include <acpi/acpi.h>
#include <asm/pci-direct.h>
#include <asm/iommu.h>
#include <asm/gart.h>
#include <asm/x86_init.h>
#include <asm/iommu_table.h>
#include "amd_iommu_proto.h"
#include "amd_iommu_types.h"
/*
* definitions for the ACPI scanning code
*/
#define IVRS_HEADER_LENGTH 48
#define ACPI_IVHD_TYPE 0x10 #define ACPI_IVMD_TYPE_ALL 0x20 #define ACPI_IVMD_TYPE 0x21 #define ACPI_IVMD_TYPE_RANGE 0x22
#define IVHD_DEV_ALL 0x01 #define IVHD_DEV_SELECT 0x02 #define IVHD_DEV_SELECT_RANGE_START 0x03 #define IVHD_DEV_RANGE_END 0x04 #define IVHD_DEV_ALIAS 0x42 #define IVHD_DEV_ALIAS_RANGE 0x43 #define IVHD_DEV_EXT_SELECT 0x46 #define IVHD_DEV_EXT_SELECT_RANGE 0x47
#define IVHD_FLAG_HT_TUN_EN_MASK 0x01 #define IVHD_FLAG_PASSPW_EN_MASK 0x02 #define IVHD_FLAG_RESPASSPW_EN_MASK 0x04 #define IVHD_FLAG_ISOC_EN_MASK 0x08
#define IVMD_FLAG_EXCL_RANGE 0x08
#define IVMD_FLAG_UNITY_MAP 0x01
#define ACPI_DEVFLAG_INITPASS 0x01 #define ACPI_DEVFLAG_EXTINT 0x02 #define ACPI_DEVFLAG_NMI 0x04 #define ACPI_DEVFLAG_SYSMGT1 0x10 #define ACPI_DEVFLAG_SYSMGT2 0x20 #define ACPI_DEVFLAG_LINT0 0x40 #define ACPI_DEVFLAG_LINT1 0x80 #define ACPI_DEVFLAG_ATSDIS 0x10000000
/*
* ACPI table definitions
*
* These data structures are laid over the table to parse the important values
* out of it.
*/
/*
* structure describing one IOMMU in the ACPI table. Typically followed by one
* or more ivhd_entrys.
*/
struct ivhd_header {
u8 type;
u8 flags;
u16 length;
u16 devid;
u16 cap_ptr;
u64 mmio_phys;
u16 pci_seg;
u16 info;
u32 reserved;
} __attribute__((packed));/*
* A device entry describing which devices a specific IOMMU translates and
* which requestor ids they use.
*/
struct ivhd_entry {
u8 type;
u16 devid;
u8 flags;
u32 ext;
} __attribute__((packed));/*
* An AMD IOMMU memory definition structure. It defines things like exclusion
* ranges for devices and regions that should be unity mapped.
*/
struct ivmd_header {
u8 type;
u8 flags;
u16 length;
u16 devid;
u16 aux;
u64 resv;
u64 range_start;
u64 range_length;
} __attribute__((packed));bool amd_iommu_dump;
static bool amd_iommu_detected;
static bool __initdata amd_iommu_disabled;
u16 amd_iommu_last_bdf; /* largest PCI device id we have
to handle */LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings
we find in ACPI */
bool amd_iommu_unmap_flush; /* if true, flush on every unmap */
LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the
system */
/* Array to assign indices to IOMMUs*/
struct amd_iommu *amd_iommus[MAX_IOMMUS];
int amd_iommus_present;
/* IOMMUs have a non-present cache? */
bool amd_iommu_np_cache __read_mostly;
bool amd_iommu_iotlb_sup __read_mostly = true;
u32 amd_iommu_max_pasids __read_mostly = ~0;
bool amd_iommu_v2_present __read_mostly;
bool amd_iommu_force_isolation __read_mostly;
/*
* List of protection domains - used during resume */LIST_HEAD(amd_iommu_pd_list);spinlock_t amd_iommu_pd_lock;
/*
* Pointer to the device table which is shared by all AMD IOMMUs
* it is indexed by the PCI device id or the HT unit id and contains
* information about the domain the device belongs to as well as the
* page table root pointer.
*/
struct dev_table_entry *amd_iommu_dev_table;
/*
* The alias table is a driver specific data structure which contains the
* mappings of the PCI device ids to the actual requestor ids on the IOMMU.
* More than one device can share the same requestor id.
*/
u16 *amd_iommu_alias_table;
/*
* The rlookup table is used to find the IOMMU which is responsible
* for a specific device. It is also indexed by the PCI device id. */
struct amd_iommu **amd_iommu_rlookup_table;
/*
* AMD IOMMU allows up to 2^16 differend protection domains. This is a bitmap
* to know which ones are already in use.
*/
unsigned long *amd_iommu_pd_alloc_bitmap;
static u32 dev_table_size; /* size of the device table */
static u32 alias_table_size; /* size of the alias table */
static u32 rlookup_table_size; /* size if the rlookup table */
/*
* This function flushes all internal caches of
* the IOMMU used by this driver.
*/
extern void iommu_flush_all_caches(struct amd_iommu *iommu);
static int amd_iommu_enable_interrupts(void);
static inline void update_last_devid(u16 devid)
{
if (devid > amd_iommu_last_bdf)
amd_iommu_last_bdf = devid;
}static inline unsigned long tbl_size(int entry_size)
{
unsigned shift = PAGE_SHIFT +
get_order(((int)amd_iommu_last_bdf + 1) * entry_size);
return 1UL << shift;
}/* Access to l1 and l2 indexed register spaces */
static u32 iommu_read_l1(struct amd_iommu *iommu, u16 l1, u8 address)
{
u32 val;
pci_write_config_dword(iommu->dev, 0xf8, (address | l1 << 16));
pci_read_config_dword(iommu->dev, 0xfc, &val);
return val;
}static void iommu_write_l1(struct amd_iommu *iommu, u16 l1, u8 address, u32 val)
{
pci_write_config_dword(iommu->dev, 0xf8, (address | l1 << 16 | 1 << 31));
pci_write_config_dword(iommu->dev, 0xfc, val);
pci_write_config_dword(iommu->dev, 0xf8, (address | l1 << 16));
}static u32 iommu_read_l2(struct amd_iommu *iommu, u8 address)
{
u32 val;
pci_write_config_dword(iommu->dev, 0xf0, address);
pci_read_config_dword(iommu->dev, 0xf4, &val);
return val;
}static void iommu_write_l2(struct amd_iommu *iommu, u8 address, u32 val)
{
pci_write_config_dword(iommu->dev, 0xf0, (address | 1 << 8));
pci_write_config_dword(iommu->dev, 0xf4, val);
}/****************************************************************************
*
* AMD IOMMU MMIO register space handling functions
*
* These functions are used to program the IOMMU device registers in
* MMIO space required for that driver.
* ****************************************************************************/
/*
* This function set the exclusion range in the IOMMU. DMA accesses to the
* exclusion range are passed through untranslated
*/
static void iommu_set_exclusion_range(struct amd_iommu *iommu)
{
u64 start = iommu->exclusion_start & PAGE_MASK;
u64 limit = (start + iommu->exclusion_length) & PAGE_MASK;
u64 entry;
if (!iommu->exclusion_start)
return;
entry = start | MMIO_EXCL_ENABLE_MASK;
memcpy_toio(iommu->mmio_base + MMIO_EXCL_BASE_OFFSET,
&entry, sizeof(entry));
entry = limit;
memcpy_toio(iommu->mmio_base + MMIO_EXCL_LIMIT_OFFSET,
&entry, sizeof(entry));
}/* Programs the physical address of the device table into the IOMMU hardware */ static void iommu_set_device_table(struct amd_iommu *iommu)
{
u64 entry;
BUG_ON(iommu->mmio_base == NULL);
entry = virt_to_phys(amd_iommu_dev_table);
entry |= (dev_table_size >> 12) - 1;
memcpy_toio(iommu->mmio_base + MMIO_DEV_TABLE_OFFSET,
&entry, sizeof(entry));
}/* Generic functions to enable/disable certain features of the IOMMU. */ static void iommu_feature_enable(struct amd_iommu *iommu, u8 bit)
{
u32 ctrl;
ctrl = readl(iommu->mmio_base + MMIO_CONTROL_OFFSET);
ctrl |= (1 << bit);
writel(ctrl, iommu->mmio_base + MMIO_CONTROL_OFFSET);
}static void iommu_feature_disable(struct amd_iommu *iommu, u8 bit)
{
u32 ctrl;
ctrl = readl(iommu->mmio_base + MMIO_CONTROL_OFFSET);
ctrl &= ~(1 << bit);
writel(ctrl, iommu->mmio_base + MMIO_CONTROL_OFFSET);
}static void iommu_set_inv_tlb_timeout(struct amd_iommu *iommu, int timeout)
{
u32 ctrl;
ctrl = readl(iommu->mmio_base + MMIO_CONTROL_OFFSET);
ctrl &= ~CTRL_INV_TO_MASK;
ctrl |= (timeout << CONTROL_INV_TIMEOUT) & CTRL_INV_TO_MASK;
writel(ctrl, iommu->mmio_base + MMIO_CONTROL_OFFSET);
}/* Function to enable the hardware */
static void iommu_enable(struct amd_iommu *iommu)
{
iommu_feature_enable(iommu, CONTROL_IOMMU_EN);
}static void iommu_disable(struct amd_iommu *iommu)
{
/* Disable command buffer */
iommu_feature_disable(iommu, CONTROL_CMDBUF_EN);
/* Disable event logging and event interrupts */
iommu_feature_disable(iommu, CONTROL_EVT_INT_EN);
iommu_feature_disable(iommu, CONTROL_EVT_LOG_EN);
/* Disable IOMMU hardware itself */
iommu_feature_disable(iommu, CONTROL_IOMMU_EN);
}/*
* mapping and unmapping functions for the IOMMU MMIO space. Each AMD IOMMU in
* the system has one.
*/
static u8 * __init iommu_map_mmio_space(u64 address)
{
if (!request_mem_region(address, MMIO_REGION_LENGTH, "amd_iommu")) {
pr_err("AMD-Vi: Can not reserve memory region %llx for mmio\n",
address);
pr_err("AMD-Vi: This is a BIOS bug. Please contact your hardware vendor\n");
return NULL;
}
return ioremap_nocache(address, MMIO_REGION_LENGTH);
}static void __init iommu_unmap_mmio_space(struct amd_iommu *iommu)
{
if (iommu->mmio_base)
iounmap(iommu->mmio_base);
release_mem_region(iommu->mmio_phys, MMIO_REGION_LENGTH);
}/****************************************************************************
*
* The functions below belong to the first pass of AMD IOMMU ACPI table
* parsing. In this pass we try to find out the highest device id this
* code has to handle. Upon this information the size of the shared data
* structures is determined later.
* ****************************************************************************/
/*
* This function calculates the length of a given IVHD entry */
static inline int ivhd_entry_length(u8 *ivhd)
{
return 0x04 << (*ivhd >> 6);
}/*
* This function reads the last device id the IOMMU has to handle from the PCI
* capability header for this IOMMU
*/
static int __init find_last_devid_on_pci(int bus, int dev, int fn, int cap_ptr)
{
u32 cap;
cap = read_pci_config(bus, dev, fn, cap_ptr+MMIO_RANGE_OFFSET);
update_last_devid(calc_devid(MMIO_GET_BUS(cap), MMIO_GET_LD(cap)));
return 0;
}/*
* After reading the highest device id from the IOMMU PCI capability header
* this function looks if there is a higher device id defined in the ACPI table */
static int __init find_last_devid_from_ivhd(struct ivhd_header *h)
{
u8 *p = (void *)h, *end = (void *)h;
struct ivhd_entry *dev;
p += sizeof(*h);
end += h->length;
find_last_devid_on_pci(PCI_BUS(h->devid),
PCI_SLOT(h->devid),
PCI_FUNC(h->devid),
h->cap_ptr);
while (p < end) {
dev = (struct ivhd_entry *)p;
switch (dev->type) {
case IVHD_DEV_SELECT:
case IVHD_DEV_RANGE_END:
case IVHD_DEV_ALIAS:
case IVHD_DEV_EXT_SELECT:
/* all the above subfield types refer to device ids */
update_last_devid(dev->devid);
break;
default:
break;
}
p += ivhd_entry_length(p);
}
WARN_ON(p != end);
return 0;
}/*
* Iterate over all IVHD entries in the ACPI table and find the highest device
* id which we need to handle. This is the first of three functions which parse
* the ACPI table. So we check the checksum here.
*/
static int __init find_last_devid_acpi(struct acpi_table_header *table)
{
int i;
u8 checksum = 0, *p = (u8 *)table, *end = (u8 *)table;
struct ivhd_header *h;
/*
* Validate checksum here so we don't need to do it when
* we actually parse the table
*/
for (i = 0; i < table->length; ++i)
checksum += p[i];
if (checksum != 0)
/* ACPI table corrupt */
return -ENODEV;
p += IVRS_HEADER_LENGTH;
end += table->length;
while (p < end) {
h = (struct ivhd_header *)p;
switch (h->type) {
case ACPI_IVHD_TYPE:
find_last_devid_from_ivhd(h);
break;
default:
break;
}
p += h->length;
}
WARN_ON(p != end);
return 0;
}/****************************************************************************
*
* The following functions belong the the code path which parses the ACPI table
* the second time. In this ACPI parsing iteration we allocate IOMMU specific
* data structures, initialize the device/alias/rlookup table and also
* basically initialize the hardware.
* ****************************************************************************/
/*
* Allocates the command buffer. This buffer is per AMD IOMMU. We can
* write commands to that buffer later and the IOMMU will execute them
* asynchronously
*/
static u8 * __init alloc_command_buffer(struct amd_iommu *iommu)
{
u8 *cmd_buf = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
get_order(CMD_BUFFER_SIZE));
if (cmd_buf == NULL)
return NULL;
iommu->cmd_buf_size = CMD_BUFFER_SIZE | CMD_BUFFER_UNINITIALIZED;
return cmd_buf;
}/*
* This function resets the command buffer if the IOMMU stopped fetching
* commands from it.
*/
void amd_iommu_reset_cmd_buffer(struct amd_iommu *iommu)
{
iommu_feature_disable(iommu, CONTROL_CMDBUF_EN);
writel(0x00, iommu->mmio_base + MMIO_CMD_HEAD_OFFSET);
writel(0x00, iommu->mmio_base + MMIO_CMD_TAIL_OFFSET);
iommu_feature_enable(iommu, CONTROL_CMDBUF_EN);
}/*
* This function writes the command buffer address to the hardware and
* enables it.
*/
static void iommu_enable_command_buffer(struct amd_iommu *iommu)
{
u64 entry;
BUG_ON(iommu->cmd_buf == NULL);
entry = (u64)virt_to_phys(iommu->cmd_buf);
entry |= MMIO_CMD_SIZE_512;
memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET,
&entry, sizeof(entry));
amd_iommu_reset_cmd_buffer(iommu);
iommu->cmd_buf_size &= ~(CMD_BUFFER_UNINITIALIZED);
}static void __init free_command_buffer(struct amd_iommu *iommu)
{
free_pages((unsigned long)iommu->cmd_buf,
get_order(iommu->cmd_buf_size & ~(CMD_BUFFER_UNINITIALIZED)));
}/* allocates the memory where the IOMMU will log its events to */ static u8 * __init alloc_event_buffer(struct amd_iommu *iommu)
{
iommu->evt_buf = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
get_order(EVT_BUFFER_SIZE));
if (iommu->evt_buf == NULL)
return NULL;
iommu->evt_buf_size = EVT_BUFFER_SIZE;
return iommu->evt_buf;
}static void iommu_enable_event_buffer(struct amd_iommu *iommu)
{
u64 entry;
BUG_ON(iommu->evt_buf == NULL);
entry = (u64)virt_to_phys(iommu->evt_buf) | EVT_LEN_MASK;
memcpy_toio(iommu->mmio_base + MMIO_EVT_BUF_OFFSET,
&entry, sizeof(entry));
/* set head and tail to zero manually */
writel(0x00, iommu->mmio_base + MMIO_EVT_HEAD_OFFSET);
writel(0x00, iommu->mmio_base + MMIO_EVT_TAIL_OFFSET);
iommu_feature_enable(iommu, CONTROL_EVT_LOG_EN);
}static void __init free_event_buffer(struct amd_iommu *iommu)
{
free_pages((unsigned long)iommu->evt_buf, get_order(EVT_BUFFER_SIZE));
}/* allocates the memory where the IOMMU will log its events to */ static u8 * __init alloc_ppr_log(struct amd_iommu *iommu)
{
iommu->ppr_log = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
get_order(PPR_LOG_SIZE));
if (iommu->ppr_log == NULL)
return NULL;
return iommu->ppr_log;
}static void iommu_enable_ppr_log(struct amd_iommu *iommu)
{
u64 entry;
if (iommu->ppr_log == NULL)
return;
entry = (u64)virt_to_phys(iommu->ppr_log) | PPR_LOG_SIZE_512;
memcpy_toio(iommu->mmio_base + MMIO_PPR_LOG_OFFSET,
&entry, sizeof(entry));
/* set head and tail to zero manually */
writel(0x00, iommu->mmio_base + MMIO_PPR_HEAD_OFFSET);
writel(0x00, iommu->mmio_base + MMIO_PPR_TAIL_OFFSET);
iommu_feature_enable(iommu, CONTROL_PPFLOG_EN);
iommu_feature_enable(iommu, CONTROL_PPR_EN);
}static void __init free_ppr_log(struct amd_iommu *iommu)
{
if (iommu->ppr_log == NULL)
return;
free_pages((unsigned long)iommu->ppr_log, get_order(PPR_LOG_SIZE));
}static void iommu_enable_gt(struct amd_iommu *iommu)
{
if (!iommu_feature(iommu, FEATURE_GT))
return;
iommu_feature_enable(iommu, CONTROL_GT_EN);
}/* sets a specific bit in the device table entry. */ static void set_dev_entry_bit(u16 devid, u8 bit)
{
int i = (bit >> 6) & 0x03;
int _bit = bit & 0x3f;
amd_iommu_dev_table[devid].data[i] |= (1UL << _bit);
}static int get_dev_entry_bit(u16 devid, u8 bit)
{
int i = (bit >> 6) & 0x03;
int _bit = bit & 0x3f;
return (amd_iommu_dev_table[devid].data[i] & (1UL << _bit)) >> _bit;
}void amd_iommu_apply_erratum_63(u16 devid)
{
int sysmgt;
sysmgt = get_dev_entry_bit(devid, DEV_ENTRY_SYSMGT1) |
(get_dev_entry_bit(devid, DEV_ENTRY_SYSMGT2) << 1);
if (sysmgt == 0x01)
set_dev_entry_bit(devid, DEV_ENTRY_IW);
}/* Writes the specific IOMMU for a device into the rlookup table */ static void __init set_iommu_for_device(struct amd_iommu *iommu, u16 devid)
{
amd_iommu_rlookup_table[devid] = iommu;
}/*
* This function takes the device specific flags read from the ACPI
* table and sets up the device table entry with that information */
static void __init set_dev_entry_from_acpi(struct amd_iommu *iommu,
u16 devid, u32 flags, u32 ext_flags)
{
if (flags & ACPI_DEVFLAG_INITPASS)
set_dev_entry_bit(devid, DEV_ENTRY_INIT_PASS);
if (flags & ACPI_DEVFLAG_EXTINT)
set_dev_entry_bit(devid, DEV_ENTRY_EINT_PASS);
if (flags & ACPI_DEVFLAG_NMI)
set_dev_entry_bit(devid, DEV_ENTRY_NMI_PASS);
if (flags & ACPI_DEVFLAG_SYSMGT1)
set_dev_entry_bit(devid, DEV_ENTRY_SYSMGT1);
if (flags & ACPI_DEVFLAG_SYSMGT2)
set_dev_entry_bit(devid, DEV_ENTRY_SYSMGT2);
if (flags & ACPI_DEVFLAG_LINT0)
set_dev_entry_bit(devid, DEV_ENTRY_LINT0_PASS);
if (flags & ACPI_DEVFLAG_LINT1)
set_dev_entry_bit(devid, DEV_ENTRY_LINT1_PASS);
amd_iommu_apply_erratum_63(devid);
set_iommu_for_device(iommu, devid);
}/*
* Reads the device exclusion range from ACPI and initialize IOMMU with
* it
*/
static void __init set_device_exclusion_range(u16 devid, struct ivmd_header *m)
{
struct amd_iommu *iommu = amd_iommu_rlookup_table[devid];
if (!(m->flags & IVMD_FLAG_EXCL_RANGE))
return;
if (iommu) {
/*
* We only can configure exclusion ranges per IOMMU, not
* per device. But we can enable the exclusion range per
* device. This is done here
*/
set_dev_entry_bit(m->devid, DEV_ENTRY_EX);
iommu->exclusion_start = m->range_start;
iommu->exclusion_length = m->range_length;
}
}/*
* Takes a pointer to an AMD IOMMU entry in the ACPI table and
* initializes the hardware and our data structures with it. */
static void __init init_iommu_from_acpi(struct amd_iommu *iommu,
struct ivhd_header *h)
{
u8 *p = (u8 *)h;
u8 *end = p, flags = 0;
u16 devid = 0, devid_start = 0, devid_to = 0;
u32 dev_i, ext_flags = 0;
bool alias = false;
struct ivhd_entry *e;
/*
* First save the recommended feature enable bits from ACPI
*/
iommu->acpi_flags = h->flags;
/*
* Done. Now parse the device entries
*/
p += sizeof(struct ivhd_header);
end += h->length;
while (p < end) {
e = (struct ivhd_entry *)p;
switch (e->type) {
case IVHD_DEV_ALL:
DUMP_printk(" DEV_ALL\t\t\t first devid: %02x:%02x.%x"
" last device %02x:%02x.%x flags: %02x\n",
PCI_BUS(iommu->first_device),
PCI_SLOT(iommu->first_device),
PCI_FUNC(iommu->first_device),
PCI_BUS(iommu->last_device),
PCI_SLOT(iommu->last_device),
PCI_FUNC(iommu->last_device),
e->flags);
for (dev_i = iommu->first_device;
dev_i <= iommu->last_device; ++dev_i)
set_dev_entry_from_acpi(iommu, dev_i,
e->flags, 0);
break;
case IVHD_DEV_SELECT:
DUMP_printk(" DEV_SELECT\t\t\t devid: %02x:%02x.%x "
"flags: %02x\n",
PCI_BUS(e->devid),
PCI_SLOT(e->devid),
PCI_FUNC(e->devid),
e->flags);
devid = e->devid;
set_dev_entry_from_acpi(iommu, devid, e->flags, 0);
break;
case IVHD_DEV_SELECT_RANGE_START:
DUMP_printk(" DEV_SELECT_RANGE_START\t "
"devid: %02x:%02x.%x flags: %02x\n",
PCI_BUS(e->devid),
PCI_SLOT(e->devid),
PCI_FUNC(e->devid),
e->flags);
devid_start = e->devid;
flags = e->flags;
ext_flags = 0;
alias = false;
break;
case IVHD_DEV_ALIAS:
DUMP_printk(" DEV_ALIAS\t\t\t devid: %02x:%02x.%x "
"flags: %02x devid_to: %02x:%02x.%x\n",
PCI_BUS(e->devid),
PCI_SLOT(e->devid),
PCI_FUNC(e->devid),
e->flags,
PCI_BUS(e->ext >> 8),
PCI_SLOT(e->ext >> 8),
PCI_FUNC(e->ext >> 8));
devid = e->devid;
devid_to = e->ext >> 8;
set_dev_entry_from_acpi(iommu, devid , e->flags, 0);
set_dev_entry_from_acpi(iommu, devid_to, e->flags, 0);
amd_iommu_alias_table[devid] = devid_to;
break;
case IVHD_DEV_ALIAS_RANGE:
DUMP_printk(" DEV_ALIAS_RANGE\t\t "
"devid: %02x:%02x.%x flags: %02x "
"devid_to: %02x:%02x.%x\n",
PCI_BUS(e->devid),
PCI_SLOT(e->devid),
PCI_FUNC(e->devid),
e->flags,
PCI_BUS(e->ext >> 8),
PCI_SLOT(e->ext >> 8),
PCI_FUNC(e->ext >> 8));
devid_start = e->devid;
flags = e->flags;
devid_to = e->ext >> 8;
ext_flags = 0;
alias = true;
break;
case IVHD_DEV_EXT_SELECT:
DUMP_printk(" DEV_EXT_SELECT\t\t devid: %02x:%02x.%x "
"flags: %02x ext: %08x\n",
PCI_BUS(e->devid),
PCI_SLOT(e->devid),
PCI_FUNC(e->devid),
e->flags, e->ext);
devid = e->devid;
set_dev_entry_from_acpi(iommu, devid, e->flags,
e->ext);
break;
case IVHD_DEV_EXT_SELECT_RANGE:
DUMP_printk(" DEV_EXT_SELECT_RANGE\t devid: "
"%02x:%02x.%x flags: %02x ext: %08x\n",
PCI_BUS(e->devid),
PCI_SLOT(e->devid),
PCI_FUNC(e->devid),
e->flags, e->ext);
devid_start = e->devid;
flags = e->flags;
ext_flags = e->ext;
alias = false;
break;
case IVHD_DEV_RANGE_END:
DUMP_printk(" DEV_RANGE_END\t\t devid: %02x:%02x.%x\n",
PCI_BUS(e->devid),
PCI_SLOT(e->devid),
PCI_FUNC(e->devid));
devid = e->devid;
for (dev_i = devid_start; dev_i <= devid; ++dev_i) {
if (alias) {
amd_iommu_alias_table[dev_i] = devid_to;
set_dev_entry_from_acpi(iommu,
devid_to, flags, ext_flags);
}
set_dev_entry_from_acpi(iommu, dev_i,
flags, ext_flags);
}
break;
default:
break;
}
p += ivhd_entry_length(p);
}
}/* Initializes the device->iommu mapping for the driver */ static int __init init_iommu_devices(struct amd_iommu *iommu)
{
u32 i;
for (i = iommu->first_device; i <= iommu->last_device; ++i)
set_iommu_for_device(iommu, i);
return 0;
}static void __init free_iommu_one(struct amd_iommu *iommu)
{
free_command_buffer(iommu);
free_event_buffer(iommu);
free_ppr_log(iommu);
iommu_unmap_mmio_space(iommu);
}static void __init free_iommu_all(void)
{
struct amd_iommu *iommu, *next;
for_each_iommu_safe(iommu, next) {
list_del(&iommu->list);
free_iommu_one(iommu);
kfree(iommu);
}
}/*
* This function clues the initialization function for one IOMMU
* together and also allocates the command buffer and programs the
* hardware. It does NOT enable the IOMMU. This is done afterwards. */
static int __init init_iommu_one(struct amd_iommu *iommu, struct ivhd_header *h)
{
spin_lock_init(&iommu->lock);
/* Add IOMMU to internal data structures */
list_add_tail(&iommu->list, &amd_iommu_list);
iommu->index = amd_iommus_present++;
if (unlikely(iommu->index >= MAX_IOMMUS)) {
WARN(1, "AMD-Vi: System has more IOMMUs than supported by this driver\n");
return -ENOSYS;
}
/* Index is fine - add IOMMU to the array */
amd_iommus[iommu->index] = iommu;
/*
* Copy data from ACPI table entry to the iommu struct
*/
iommu->devid = h->devid;
iommu->cap_ptr = h->cap_ptr;
iommu->pci_seg = h->pci_seg;
iommu->mmio_phys = h->mmio_phys;
iommu->mmio_base = iommu_map_mmio_space(h->mmio_phys);
if (!iommu->mmio_base)
return -ENOMEM;
iommu->cmd_buf = alloc_command_buffer(iommu);
if (!iommu->cmd_buf)
return -ENOMEM;
iommu->evt_buf = alloc_event_buffer(iommu);
if (!iommu->evt_buf)
return -ENOMEM;
iommu->int_enabled = false;
init_iommu_from_acpi(iommu, h);
init_iommu_devices(iommu);
return 0;
}/*
* Iterates over all IOMMU entries in the ACPI table, allocates the
* IOMMU structure and initializes it with init_iommu_one() */
static int __init init_iommu_all(struct acpi_table_header *table)
{
u8 *p = (u8 *)table, *end = (u8 *)table;
struct ivhd_header *h;
struct amd_iommu *iommu;
int ret;
end += table->length;
p += IVRS_HEADER_LENGTH;
while (p < end) {
h = (struct ivhd_header *)p;
switch (*p) {
case ACPI_IVHD_TYPE:
DUMP_printk("device: %02x:%02x.%01x cap: %04x "
"seg: %d flags: %01x info %04x\n",
PCI_BUS(h->devid), PCI_SLOT(h->devid),
PCI_FUNC(h->devid), h->cap_ptr,
h->pci_seg, h->flags, h->info);
DUMP_printk(" mmio-addr: %016llx\n",
h->mmio_phys);
iommu = kzalloc(sizeof(struct amd_iommu), GFP_KERNEL);
if (iommu == NULL)
return -ENOMEM;
ret = init_iommu_one(iommu, h);
if (ret)
return ret;
break;
default:
break;
}
p += h->length;
}
WARN_ON(p != end);
return 0;
}static int iommu_init_pci(struct amd_iommu *iommu)
{
int cap_ptr = iommu->cap_ptr;
u32 range, misc, low, high;
iommu->dev = pci_get_bus_and_slot(PCI_BUS(iommu->devid),
iommu->devid & 0xff);
if (!iommu->dev)
return -ENODEV;
pci_read_config_dword(iommu->dev, cap_ptr + MMIO_CAP_HDR_OFFSET,
&iommu->cap);
pci_read_config_dword(iommu->dev, cap_ptr + MMIO_RANGE_OFFSET,
&range);
pci_read_config_dword(iommu->dev, cap_ptr + MMIO_MISC_OFFSET,
&misc);
iommu->first_device = calc_devid(MMIO_GET_BUS(range),
MMIO_GET_FD(range));
iommu->last_device = calc_devid(MMIO_GET_BUS(range),
MMIO_GET_LD(range));
if (!(iommu->cap & (1 << IOMMU_CAP_IOTLB)))
amd_iommu_iotlb_sup = false;
/* read extended feature bits */
low = readl(iommu->mmio_base + MMIO_EXT_FEATURES);
high = readl(iommu->mmio_base + MMIO_EXT_FEATURES + 4);
iommu->features = ((u64)high << 32) | low;
if (iommu_feature(iommu, FEATURE_GT)) {
int glxval;
u32 pasids;
u64 shift;
shift = iommu->features & FEATURE_PASID_MASK;
shift >>= FEATURE_PASID_SHIFT;
pasids = (1 << shift);
amd_iommu_max_pasids = min(amd_iommu_max_pasids, pasids);
glxval = iommu->features & FEATURE_GLXVAL_MASK;
glxval >>= FEATURE_GLXVAL_SHIFT;
if (amd_iommu_max_glx_val == -1)
amd_iommu_max_glx_val = glxval;
else
amd_iommu_max_glx_val = min(amd_iommu_max_glx_val, glxval);
}
if (iommu_feature(iommu, FEATURE_GT) &&
iommu_feature(iommu, FEATURE_PPR)) {
iommu->is_iommu_v2 = true;
amd_iommu_v2_present = true;
}
if (iommu_feature(iommu, FEATURE_PPR)) {
iommu->ppr_log = alloc_ppr_log(iommu);
if (!iommu->ppr_log)
return -ENOMEM;
}
if (iommu->cap & (1UL << IOMMU_CAP_NPCACHE))
amd_iommu_np_cache = true;
if (is_rd890_iommu(iommu->dev)) {
int i, j;
iommu->root_pdev = pci_get_bus_and_slot(iommu->dev->bus->number,
PCI_DEVFN(0, 0));
/*
* Some rd890 systems may not be fully reconfigured by the
* BIOS, so it's necessary for us to store this information so
* it can be reprogrammed on resume
*/
pci_read_config_dword(iommu->dev, iommu->cap_ptr + 4,
&iommu->stored_addr_lo);
pci_read_config_dword(iommu->dev, iommu->cap_ptr + 8,
&iommu->stored_addr_hi);
/* Low bit locks writes to configuration space */
iommu->stored_addr_lo &= ~1;
for (i = 0; i < 6; i++)
for (j = 0; j < 0x12; j++)
iommu->stored_l1[i][j] = iommu_read_l1(iommu, i, j);
for (i = 0; i < 0x83; i++)
iommu->stored_l2[i] = iommu_read_l2(iommu, i);
}
return pci_enable_device(iommu->dev);
}static void print_iommu_info(void)
{
static const char * const feat_str[] = {
"PreF", "PPR", "X2APIC", "NX", "GT", "[5]",
"IA", "GA", "HE", "PC", NULL
};
struct amd_iommu *iommu;
for_each_iommu(iommu) {
int i;
pr_info("AMD-Vi: Found IOMMU at %s cap 0x%hx\n",
dev_name(&iommu->dev->dev), iommu->cap_ptr);
if (iommu->cap & (1 << IOMMU_CAP_EFR)) {
pr_info("AMD-Vi: Extended features: ");
for (i = 0; feat_str[i]; ++i)
if (iommu_feature(iommu, (1ULL << i)))
pr_cont(" %s", feat_str[i]);
}
pr_cont("\n");
}
}static int amd_iommu_init_pci(void)
{
struct amd_iommu *iommu;
int ret = 0;
for_each_iommu(iommu) {
ret = iommu_init_pci(iommu);
if (ret)
break;
}
/* Make sure ACS will be enabled */
pci_request_acs();
ret = amd_iommu_init_devices();
print_iommu_info();
return ret;
}/****************************************************************************
*
* The following functions initialize the MSI interrupts for all IOMMUs
* in the system. Its a bit challenging because there could be multiple
* IOMMUs per PCI BDF but we can call pci_enable_msi(x) only once per
* pci_dev.
* ****************************************************************************/
static int iommu_setup_msi(struct amd_iommu *iommu)
{
int r;
r = pci_enable_msi(iommu->dev);
if (r)
return r;
r = request_threaded_irq(iommu->dev->irq,
amd_iommu_int_handler,
amd_iommu_int_thread,
0, "AMD-Vi",
iommu->dev);
if (r) {
pci_disable_msi(iommu->dev);
return r;
}
iommu->int_enabled = true;
return 0;
}static int iommu_init_msi(struct amd_iommu *iommu)
{
int ret;
if (iommu->int_enabled)
goto enable_faults;
if (pci_find_capability(iommu->dev, PCI_CAP_ID_MSI))
ret = iommu_setup_msi(iommu);
else
ret = -ENODEV;
if (ret)
return ret;enable_faults:
iommu_feature_enable(iommu, CONTROL_EVT_INT_EN); if (iommu->ppr_log != NULL) iommu_feature_enable(iommu, CONTROL_PPFINT_EN); return 0; }
/****************************************************************************
*
* The next functions belong to the third pass of parsing the ACPI
* table. In this last pass the memory mapping requirements are
* gathered (like exclusion and unity mapping reanges).
* ****************************************************************************/
static void __init free_unity_maps(void)
{
struct unity_map_entry *entry, *next;
list_for_each_entry_safe(entry, next, &amd_iommu_unity_map, list) {
list_del(&entry->list);
kfree(entry);
}
}/* called when we find an exclusion range definition in ACPI */ static int __init init_exclusion_range(struct ivmd_header *m)
{
int i;
switch (m->type) {
case ACPI_IVMD_TYPE:
set_device_exclusion_range(m->devid, m);
break;
case ACPI_IVMD_TYPE_ALL:
for (i = 0; i <= amd_iommu_last_bdf; ++i)
set_device_exclusion_range(i, m);
break;
case ACPI_IVMD_TYPE_RANGE:
for (i = m->devid; i <= m->aux; ++i)
set_device_exclusion_range(i, m);
break;
default:
break;
}
return 0;
}/* called for unity map ACPI definition */
static int __init init_unity_map_range(struct ivmd_header *m)
{
struct unity_map_entry *e = 0;
char *s;
e = kzalloc(sizeof(*e), GFP_KERNEL);
if (e == NULL)
return -ENOMEM;
switch (m->type) {
default:
kfree(e);
return 0;
case ACPI_IVMD_TYPE:
s = "IVMD_TYPEi\t\t\t";
e->devid_start = e->devid_end = m->devid;
break;
case ACPI_IVMD_TYPE_ALL:
s = "IVMD_TYPE_ALL\t\t";
e->devid_start = 0;
e->devid_end = amd_iommu_last_bdf;
break;
case ACPI_IVMD_TYPE_RANGE:
s = "IVMD_TYPE_RANGE\t\t";
e->devid_start = m->devid;
e->devid_end = m->aux;
break;
}
e->address_start = PAGE_ALIGN(m->range_start);
e->address_end = e->address_start + PAGE_ALIGN(m->range_length);
e->prot = m->flags >> 1;
DUMP_printk("%s devid_start: %02x:%02x.%x devid_end: %02x:%02x.%x"
" range_start: %016llx range_end: %016llx flags: %x\n", s,
PCI_BUS(e->devid_start), PCI_SLOT(e->devid_start),
PCI_FUNC(e->devid_start), PCI_BUS(e->devid_end),
PCI_SLOT(e->devid_end), PCI_FUNC(e->devid_end),
e->address_start, e->address_end, m->flags);
list_add_tail(&e->list, &amd_iommu_unity_map);
return 0;
}/* iterates over all memory definitions we find in the ACPI table */ static int __init init_memory_definitions(struct acpi_table_header *table)
{
u8 *p = (u8 *)table, *end = (u8 *)table;
struct ivmd_header *m;
end += table->length;
p += IVRS_HEADER_LENGTH;
while (p < end) {
m = (struct ivmd_header *)p;
if (m->flags & IVMD_FLAG_EXCL_RANGE)
init_exclusion_range(m);
else if (m->flags & IVMD_FLAG_UNITY_MAP)
init_unity_map_range(m);
p += m->length;
}
return 0;
}/*
* Init the device table to not allow DMA access for devices and
* suppress all page faults
*/
static void init_device_table(void)
{
u32 devid;
for (devid = 0; devid <= amd_iommu_last_bdf; ++devid) {
set_dev_entry_bit(devid, DEV_ENTRY_VALID);
set_dev_entry_bit(devid, DEV_ENTRY_TRANSLATION);
}
}static void iommu_init_flags(struct amd_iommu *iommu)
{
iommu->acpi_flags & IVHD_FLAG_HT_TUN_EN_MASK ?
iommu_feature_enable(iommu, CONTROL_HT_TUN_EN) :
iommu_feature_disable(iommu, CONTROL_HT_TUN_EN);
iommu->acpi_flags & IVHD_FLAG_PASSPW_EN_MASK ?
iommu_feature_enable(iommu, CONTROL_PASSPW_EN) :
iommu_feature_disable(iommu, CONTROL_PASSPW_EN);
iommu->acpi_flags & IVHD_FLAG_RESPASSPW_EN_MASK ?
iommu_feature_enable(iommu, CONTROL_RESPASSPW_EN) :
iommu_feature_disable(iommu, CONTROL_RESPASSPW_EN);
iommu->acpi_flags & IVHD_FLAG_ISOC_EN_MASK ?
iommu_feature_enable(iommu, CONTROL_ISOC_EN) :
iommu_feature_disable(iommu, CONTROL_ISOC_EN);
/*
* make IOMMU memory accesses cache coherent
*/
iommu_feature_enable(iommu, CONTROL_COHERENT_EN);
/* Set IOTLB invalidation timeout to 1s */
iommu_set_inv_tlb_timeout(iommu, CTRL_INV_TO_1S);
}static void iommu_apply_resume_quirks(struct amd_iommu *iommu)
{
int i, j;
u32 ioc_feature_control;
struct pci_dev *pdev = iommu->root_pdev;
/* RD890 BIOSes may not have completely reconfigured the iommu */
if (!is_rd890_iommu(iommu->dev) || !pdev)
return;
/*
* First, we need to ensure that the iommu is enabled. This is
* controlled by a register in the northbridge
*/
/* Select Northbridge indirect register 0x75 and enable writing */
pci_write_config_dword(pdev, 0x60, 0x75 | (1 << 7));
pci_read_config_dword(pdev, 0x64, &ioc_feature_control);
/* Enable the iommu */
if (!(ioc_feature_control & 0x1))
pci_write_config_dword(pdev, 0x64, ioc_feature_control | 1);
/* Restore the iommu BAR */
pci_write_config_dword(iommu->dev, iommu->cap_ptr + 4,
iommu->stored_addr_lo);
pci_write_config_dword(iommu->dev, iommu->cap_ptr + 8,
iommu->stored_addr_hi);
/* Restore the l1 indirect regs for each of the 6 l1s */
for (i = 0; i < 6; i++)
for (j = 0; j < 0x12; j++)
iommu_write_l1(iommu, i, j, iommu->stored_l1[i][j]);
/* Restore the l2 indirect regs */
for (i = 0; i < 0x83; i++)
iommu_write_l2(iommu, i, iommu->stored_l2[i]);
/* Lock PCI setup registers */
pci_write_config_dword(iommu->dev, iommu->cap_ptr + 4,
iommu->stored_addr_lo | 1);
}/*
* This function finally enables all IOMMUs found in the system after
* they have been initialized
*/
static void early_enable_iommus(void)
{
struct amd_iommu *iommu;
for_each_iommu(iommu) {
iommu_disable(iommu);
iommu_init_flags(iommu);
iommu_set_device_table(iommu);
iommu_enable_command_buffer(iommu);
iommu_enable_event_buffer(iommu);
iommu_set_exclusion_range(iommu);
iommu_enable(iommu);
iommu_flush_all_caches(iommu);
}
x86_platform.iommu_shutdown = disable_iommus;}
static void enable_iommus_v2(void)
{
struct amd_iommu *iommu;
for_each_iommu(iommu) {
iommu_enable_ppr_log(iommu);
iommu_enable_gt(iommu);
}
}static void enable_iommus(void)
{
early_enable_iommus();
enable_iommus_v2();
}static void disable_iommus(void)
{
struct amd_iommu *iommu;
for_each_iommu(iommu)
iommu_disable(iommu);
}/*
* Suspend/Resume support
* disable suspend until real resume implemented
*/
static void amd_iommu_resume(void)
{
struct amd_iommu *iommu;
for_each_iommu(iommu)
iommu_apply_resume_quirks(iommu);
/* re-load the hardware */
enable_iommus();
amd_iommu_enable_interrupts();
}static int amd_iommu_suspend(void)
{
/* disable IOMMUs to go out of the way for BIOS */
disable_iommus();
return 0;
}static struct syscore_ops amd_iommu_syscore_ops = {
.suspend = amd_iommu_suspend, .resume = amd_iommu_resume,
};
static void __init free_on_init_error(void)
{
amd_iommu_uninit_devices();
free_pages((unsigned long)amd_iommu_pd_alloc_bitmap,
get_order(MAX_DOMAIN_ID/8));
free_pages((unsigned long)amd_iommu_rlookup_table,
get_order(rlookup_table_size));
free_pages((unsigned long)amd_iommu_alias_table,
get_order(alias_table_size));
free_pages((unsigned long)amd_iommu_dev_table,
get_order(dev_table_size));
free_iommu_all();
free_unity_maps();#ifdef CONFIG_GART_IOMMU /* * We failed to initialize the AMD IOMMU - try fallback to GART * if possible. */ gart_iommu_init();
#endif
}
/*
* This is the hardware init function for AMD IOMMU in the system.
* This function is called either from amd_iommu_init or from the interrupt
* remapping setup code.
*
* This function basically parses the ACPI table for AMD IOMMU (IVRS)
* three times:
*
* 1 pass) Find the highest PCI device id the driver has to handle.
* Upon this information the size of the data structures is
* determined that needs to be allocated.
*
* 2 pass) Initialize the data structures just allocated with the
* information in the ACPI table about available AMD IOMMUs
* in the system. It also maps the PCI devices in the
* system to specific IOMMUs
*
* 3 pass) After the basic data structures are allocated and
* initialized we update them with information about memory
* remapping requirements parsed out of the ACPI table in
* this last pass.
*
* After everything is set up the IOMMUs are enabled and the necessary
* hotplug and suspend notifiers are registered.
*/
static int __init early_amd_iommu_init(void)
{
struct acpi_table_header *ivrs_base;
acpi_size ivrs_size;
acpi_status status;
int i, ret = 0;
if (!amd_iommu_detected)
return -ENODEV;
if (amd_iommu_dev_table != NULL) {
/* Hardware already initialized */
return 0;
}
status = acpi_get_table_with_size("IVRS", 0, &ivrs_base, &ivrs_size);
if (status == AE_NOT_FOUND)
return -ENODEV;
else if (ACPI_FAILURE(status)) {
const char *err = acpi_format_exception(status);
pr_err("AMD-Vi: IVRS table error: %s\n", err);
return -EINVAL;
}
/*
* First parse ACPI tables to find the largest Bus/Dev/Func
* we need to handle. Upon this information the shared data
* structures for the IOMMUs in the system will be allocated
*/
if (find_last_devid_acpi(ivrs_base))
goto out;
dev_table_size = tbl_size(DEV_TABLE_ENTRY_SIZE);
alias_table_size = tbl_size(ALIAS_TABLE_ENTRY_SIZE);
rlookup_table_size = tbl_size(RLOOKUP_TABLE_ENTRY_SIZE);
/* Device table - directly used by all IOMMUs */
ret = -ENOMEM;
amd_iommu_dev_table = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
get_order(dev_table_size));
if (amd_iommu_dev_table == NULL)
goto out;
/*
* Alias table - map PCI Bus/Dev/Func to Bus/Dev/Func the
* IOMMU see for that device
*/
amd_iommu_alias_table = (void *)__get_free_pages(GFP_KERNEL,
get_order(alias_table_size));
if (amd_iommu_alias_table == NULL)
goto free;
/* IOMMU rlookup table - find the IOMMU for a specific device */
amd_iommu_rlookup_table = (void *)__get_free_pages(
GFP_KERNEL | __GFP_ZERO,
get_order(rlookup_table_size));
if (amd_iommu_rlookup_table == NULL)
goto free;
amd_iommu_pd_alloc_bitmap = (void *)__get_free_pages(
GFP_KERNEL | __GFP_ZERO,
get_order(MAX_DOMAIN_ID/8));
if (amd_iommu_pd_alloc_bitmap == NULL)
goto free;
/* init the device table */
init_device_table();
/*
* let all alias entries point to itself
*/
for (i = 0; i <= amd_iommu_last_bdf; ++i)
amd_iommu_alias_table[i] = i;
/*
* never allocate domain 0 because its used as the non-allocated and
* error value placeholder
*/
amd_iommu_pd_alloc_bitmap[0] = 1;
spin_lock_init(&amd_iommu_pd_lock);
/*
* now the data structures are allocated and basically initialized
* start the real acpi table scan
*/
ret = init_iommu_all(ivrs_base);
if (ret)
goto free;
ret = init_memory_definitions(ivrs_base);
if (ret)
goto free;out:
/* Don't leak any ACPI memory */ early_acpi_os_unmap_memory((char *)ivrs_base, ivrs_size); ivrs_base = NULL; return ret;
free:
free_on_init_error(); goto out; }
int amd_iommu_init_hardware(void)
{
int ret = 0;
ret = early_amd_iommu_init();
if (ret)
return ret;
ret = amd_iommu_init_pci();
if (ret)
return ret;
enable_iommus();
amd_iommu_init_notifier();
register_syscore_ops(&amd_iommu_syscore_ops);
return ret;
}static int amd_iommu_enable_interrupts(void)
{
struct amd_iommu *iommu;
int ret = 0;
for_each_iommu(iommu) {
ret = iommu_init_msi(iommu);
if (ret)
goto out;
}out:
return ret; }
static bool detect_ivrs(void)
{
struct acpi_table_header *ivrs_base;
acpi_size ivrs_size;
acpi_status status;
status = acpi_get_table_with_size("IVRS", 0, &ivrs_base, &ivrs_size);
if (status == AE_NOT_FOUND)
return false;
else if (ACPI_FAILURE(status)) {
const char *err = acpi_format_exception(status);
pr_err("AMD-Vi: IVRS table error: %s\n", err);
return false;
}
early_acpi_os_unmap_memory((char *)ivrs_base, ivrs_size);
return true;
}/*
* This is the core init function for AMD IOMMU hardware in the system.
* This function is called from the generic x86 DMA layer initialization
* code.
*
* The function calls amd_iommu_init_hardware() to setup and enable the
* IOMMU hardware if this has not happened yet. After that the driver
* registers for the DMA-API and for the IOMMU-API as necessary. */
static int __init amd_iommu_init(void)
{
int ret = 0;
ret = amd_iommu_init_hardware();
if (ret)
goto out;
ret = amd_iommu_enable_interrupts();
if (ret)
goto free;
if (iommu_pass_through)
ret = amd_iommu_init_passthrough();
else
ret = amd_iommu_init_dma_ops();
if (ret)
goto free;
amd_iommu_init_api();
if (iommu_pass_through)
goto out;
if (amd_iommu_unmap_flush)
printk(KERN_INFO "AMD-Vi: IO/TLB flush on unmap enabled\n");
else
printk(KERN_INFO "AMD-Vi: Lazy IO/TLB flushing enabled\n");out:
return ret;
free:
disable_iommus(); free_on_init_error(); goto out; }
/****************************************************************************
*
* Early detect code. This code runs at IOMMU detection time in the DMA
* layer. It just looks if there is an IVRS ACPI table to detect AMD
* IOMMUs
* ****************************************************************************/
int __init amd_iommu_detect(void)
{
if (no_iommu || (iommu_detected && !gart_iommu_aperture)) return -ENODEV; if (amd_iommu_disabled) return -ENODEV; if (!detect_ivrs()) return -ENODEV; amd_iommu_detected = true; iommu_detected = 1; x86_init.iommu.iommu_init = amd_iommu_init; return 0; }
/****************************************************************************
*
* Parsing functions for the AMD IOMMU specific kernel command line
* options.
* ****************************************************************************/
static int __init parse_amd_iommu_dump(char *str)
{
amd_iommu_dump = true;
return 1;
}static int __init parse_amd_iommu_options(char *str)
{
for (; *str; ++str) {
if (strncmp(str, "fullflush", 9) == 0)
amd_iommu_unmap_flush = true;
if (strncmp(str, "off", 3) == 0)
amd_iommu_disabled = true;
if (strncmp(str, "force_isolation", 15) == 0)
amd_iommu_force_isolation = true;
}
return 1;
}__setup("amd_iommu_dump", parse_amd_iommu_dump);__setup("amd_iommu=", parse_amd_iommu_options);
IOMMU_INIT_FINISH(amd_iommu_detect,
gart_iommu_hole_init, 0, 0);
bool amd_iommu_v2_supported(void)
{
return amd_iommu_v2_present;
}EXPORT_SYMBOL(amd_iommu_v2_supported);
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.5.0-rc5 Kernel Configuration
#CONFIG_64BIT=y
# CONFIG_X86_32 is not setCONFIG_X86_64=yCONFIG_X86=yCONFIG_INSTRUCTION_DECODER=yCONFIG_OUTPUT_FORMAT="elf64-x86-64"CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"CONFIG_LOCKDEP_SUPPORT=yCONFIG_STACKTRACE_SUPPORT=yCONFIG_HAVE_LATENCYTOP_SUPPORT=yCONFIG_MMU=yCONFIG_NEED_DMA_MAP_STATE=yCONFIG_NEED_SG_DMA_LENGTH=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_BUG=yCONFIG_GENERIC_BUG_RELATIVE_POINTERS=yCONFIG_GENERIC_HWEIGHT=yCONFIG_GENERIC_GPIO=yCONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not setCONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_GENERIC_CALIBRATE_DELAY=yCONFIG_ARCH_HAS_CPU_RELAX=yCONFIG_ARCH_HAS_DEFAULT_IDLE=yCONFIG_ARCH_HAS_CACHE_LINE_SIZE=yCONFIG_ARCH_HAS_CPU_AUTOPROBE=yCONFIG_HAVE_SETUP_PER_CPU_AREA=yCONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=yCONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=yCONFIG_ARCH_HIBERNATION_POSSIBLE=yCONFIG_ARCH_SUSPEND_POSSIBLE=yCONFIG_ZONE_DMA32=yCONFIG_AUDIT_ARCH=yCONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=yCONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=yCONFIG_HAVE_INTEL_TXT=yCONFIG_X86_64_SMP=yCONFIG_X86_HT=yCONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_CPU_PROBE_RELEASE=yCONFIG_ARCH_SUPPORTS_UPROBES=yCONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"CONFIG_CONSTRUCTORS=yCONFIG_HAVE_IRQ_WORK=yCONFIG_IRQ_WORK=yCONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
#CONFIG_EXPERIMENTAL=yCONFIG_INIT_ENV_ARG_LIMIT=32CONFIG_CROSS_COMPILE=""CONFIG_LOCALVERSION=""CONFIG_LOCALVERSION_AUTO=yCONFIG_HAVE_KERNEL_GZIP=yCONFIG_HAVE_KERNEL_BZIP2=yCONFIG_HAVE_KERNEL_LZMA=yCONFIG_HAVE_KERNEL_XZ=yCONFIG_HAVE_KERNEL_LZO=yCONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not setCONFIG_DEFAULT_HOSTNAME="(none)"CONFIG_SWAP=yCONFIG_SYSVIPC=yCONFIG_SYSVIPC_SYSCTL=yCONFIG_POSIX_MQUEUE=yCONFIG_POSIX_MQUEUE_SYSCTL=yCONFIG_BSD_PROCESS_ACCT=yCONFIG_BSD_PROCESS_ACCT_V3=yCONFIG_FHANDLE=yCONFIG_TASKSTATS=yCONFIG_TASK_DELAY_ACCT=yCONFIG_TASK_XACCT=yCONFIG_TASK_IO_ACCOUNTING=yCONFIG_AUDIT=yCONFIG_AUDITSYSCALL=yCONFIG_AUDIT_WATCH=yCONFIG_AUDIT_TREE=yCONFIG_AUDIT_LOGINUID_IMMUTABLE=yCONFIG_HAVE_GENERIC_HARDIRQS=y
#
# IRQ subsystem
#CONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_IRQ_PROBE=yCONFIG_GENERIC_IRQ_SHOW=yCONFIG_GENERIC_PENDING_IRQ=yCONFIG_GENERIC_IRQ_CHIP=yCONFIG_IRQ_DOMAIN=yCONFIG_IRQ_DOMAIN_DEBUG=yCONFIG_IRQ_FORCED_THREADING=yCONFIG_SPARSE_IRQ=yCONFIG_CLOCKSOURCE_WATCHDOG=yCONFIG_ARCH_CLOCKSOURCE_DATA=yCONFIG_GENERIC_TIME_VSYSCALL=yCONFIG_GENERIC_CLOCKEVENTS=yCONFIG_GENERIC_CLOCKEVENTS_BUILD=yCONFIG_GENERIC_CLOCKEVENTS_BROADCAST=yCONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=yCONFIG_GENERIC_CMOS_UPDATE=y
#
# Timers subsystem
#CONFIG_TICK_ONESHOT=yCONFIG_NO_HZ=yCONFIG_HIGH_RES_TIMERS=y
#
# RCU Subsystem
#CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not setCONFIG_RCU_FANOUT=64CONFIG_RCU_FANOUT_LEAF=16CONFIG_RCU_FANOUT_EXACT=yCONFIG_RCU_FAST_NO_HZ=yCONFIG_TREE_RCU_TRACE=yCONFIG_IKCONFIG=mCONFIG_IKCONFIG_PROC=yCONFIG_LOG_BUF_SHIFT=17CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=yCONFIG_CGROUPS=yCONFIG_CGROUP_DEBUG=yCONFIG_CGROUP_FREEZER=yCONFIG_CGROUP_DEVICE=yCONFIG_CPUSETS=yCONFIG_PROC_PID_CPUSET=yCONFIG_CGROUP_CPUACCT=yCONFIG_RESOURCE_COUNTERS=yCONFIG_CGROUP_MEM_RES_CTLR=yCONFIG_CGROUP_MEM_RES_CTLR_SWAP=yCONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=yCONFIG_CGROUP_MEM_RES_CTLR_KMEM=yCONFIG_CGROUP_PERF=yCONFIG_CGROUP_SCHED=yCONFIG_FAIR_GROUP_SCHED=yCONFIG_CFS_BANDWIDTH=yCONFIG_RT_GROUP_SCHED=yCONFIG_BLK_CGROUP=yCONFIG_DEBUG_BLK_CGROUP=yCONFIG_CHECKPOINT_RESTORE=yCONFIG_NAMESPACES=yCONFIG_UTS_NS=yCONFIG_IPC_NS=yCONFIG_PID_NS=yCONFIG_NET_NS=yCONFIG_SCHED_AUTOGROUP=yCONFIG_MM_OWNER=yCONFIG_SYSFS_DEPRECATED=yCONFIG_SYSFS_DEPRECATED_V2=yCONFIG_RELAY=yCONFIG_BLK_DEV_INITRD=yCONFIG_INITRAMFS_SOURCE=""CONFIG_RD_GZIP=yCONFIG_RD_BZIP2=yCONFIG_RD_LZMA=yCONFIG_RD_XZ=yCONFIG_RD_LZO=yCONFIG_CC_OPTIMIZE_FOR_SIZE=yCONFIG_SYSCTL=yCONFIG_ANON_INODES=yCONFIG_EXPERT=yCONFIG_UID16=yCONFIG_SYSCTL_SYSCALL=yCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_HOTPLUG=yCONFIG_PRINTK=yCONFIG_BUG=yCONFIG_ELF_CORE=yCONFIG_PCSPKR_PLATFORM=yCONFIG_HAVE_PCSPKR_PLATFORM=yCONFIG_BASE_FULL=yCONFIG_FUTEX=yCONFIG_EPOLL=yCONFIG_SIGNALFD=yCONFIG_TIMERFD=yCONFIG_EVENTFD=yCONFIG_SHMEM=yCONFIG_AIO=yCONFIG_EMBEDDED=yCONFIG_HAVE_PERF_EVENTS=yCONFIG_PERF_USE_VMALLOC=y
#
# Kernel Performance Events And Counters
#CONFIG_PERF_EVENTS=yCONFIG_DEBUG_PERF_USE_VMALLOC=yCONFIG_VM_EVENT_COUNTERS=yCONFIG_PCI_QUIRKS=yCONFIG_SLUB_DEBUG=yCONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not setCONFIG_SLUB=y
# CONFIG_SLOB is not setCONFIG_PROFILING=yCONFIG_TRACEPOINTS=yCONFIG_OPROFILE=mCONFIG_OPROFILE_EVENT_MULTIPLEX=yCONFIG_HAVE_OPROFILE=yCONFIG_OPROFILE_NMI_TIMER=yCONFIG_KPROBES=yCONFIG_JUMP_LABEL=yCONFIG_OPTPROBES=yCONFIG_UPROBES=yCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=yCONFIG_KRETPROBES=yCONFIG_USER_RETURN_NOTIFIER=yCONFIG_HAVE_IOREMAP_PROT=yCONFIG_HAVE_KPROBES=yCONFIG_HAVE_KRETPROBES=yCONFIG_HAVE_OPTPROBES=yCONFIG_HAVE_ARCH_TRACEHOOK=yCONFIG_HAVE_DMA_ATTRS=yCONFIG_USE_GENERIC_SMP_HELPERS=yCONFIG_GENERIC_SMP_IDLE_THREAD=yCONFIG_HAVE_REGS_AND_STACK_ACCESS_API=yCONFIG_HAVE_DMA_API_DEBUG=yCONFIG_HAVE_HW_BREAKPOINT=yCONFIG_HAVE_MIXED_BREAKPOINTS_REGS=yCONFIG_HAVE_USER_RETURN_NOTIFIER=yCONFIG_HAVE_PERF_EVENTS_NMI=yCONFIG_HAVE_ARCH_JUMP_LABEL=yCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=yCONFIG_HAVE_ALIGNED_STRUCT_PAGE=yCONFIG_HAVE_CMPXCHG_LOCAL=yCONFIG_HAVE_CMPXCHG_DOUBLE=yCONFIG_ARCH_WANT_OLD_COMPAT_IPC=yCONFIG_HAVE_ARCH_SECCOMP_FILTER=yCONFIG_SECCOMP_FILTER=y
#
# GCOV-based kernel profiling
#CONFIG_GCOV_KERNEL=yCONFIG_GCOV_PROFILE_ALL=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not setCONFIG_SLABINFO=yCONFIG_RT_MUTEXES=yCONFIG_BASE_SMALL=0CONFIG_MODULES=yCONFIG_MODULE_FORCE_LOAD=yCONFIG_MODULE_UNLOAD=yCONFIG_MODULE_FORCE_UNLOAD=yCONFIG_MODVERSIONS=yCONFIG_MODULE_SRCVERSION_ALL=yCONFIG_STOP_MACHINE=yCONFIG_BLOCK=yCONFIG_BLK_DEV_BSG=yCONFIG_BLK_DEV_BSGLIB=yCONFIG_BLK_DEV_INTEGRITY=yCONFIG_BLK_DEV_THROTTLING=y
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=yCONFIG_ACORN_PARTITION=yCONFIG_ACORN_PARTITION_CUMANA=yCONFIG_ACORN_PARTITION_EESOX=yCONFIG_ACORN_PARTITION_ICS=yCONFIG_ACORN_PARTITION_ADFS=yCONFIG_ACORN_PARTITION_POWERTEC=yCONFIG_ACORN_PARTITION_RISCIX=yCONFIG_OSF_PARTITION=yCONFIG_AMIGA_PARTITION=yCONFIG_ATARI_PARTITION=yCONFIG_MAC_PARTITION=yCONFIG_MSDOS_PARTITION=yCONFIG_BSD_DISKLABEL=yCONFIG_MINIX_SUBPARTITION=yCONFIG_SOLARIS_X86_PARTITION=yCONFIG_UNIXWARE_DISKLABEL=yCONFIG_LDM_PARTITION=yCONFIG_LDM_DEBUG=yCONFIG_SGI_PARTITION=yCONFIG_ULTRIX_PARTITION=yCONFIG_SUN_PARTITION=yCONFIG_KARMA_PARTITION=yCONFIG_EFI_PARTITION=yCONFIG_SYSV68_PARTITION=yCONFIG_BLOCK_COMPAT=y
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_DEADLINE=m CONFIG_IOSCHED_CFQ=m CONFIG_CFQ_GROUP_IOSCHED=y CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop" CONFIG_PREEMPT_NOTIFIERS=yCONFIG_PADATA=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set # CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set CONFIG_UNINLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set # CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set # CONFIG_INLINE_READ_UNLOCK_IRQ is not set # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set # CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set # CONFIG_MUTEX_SPIN_ON_OWNER is not set CONFIG_FREEZER=y
#
# Processor type and features
#CONFIG_ZONE_DMA=yCONFIG_SMP=yCONFIG_X86_X2APIC=yCONFIG_X86_MPPARSE=yCONFIG_X86_EXTENDED_PLATFORM=yCONFIG_X86_NUMACHIP=yCONFIG_X86_VSMP=yCONFIG_X86_UV=yCONFIG_X86_SUPPORTS_MEMORY_FAILURE=yCONFIG_SCHED_OMIT_FRAME_POINTER=yCONFIG_PARAVIRT_GUEST=yCONFIG_PARAVIRT_TIME_ACCOUNTING=yCONFIG_XEN=yCONFIG_XEN_DOM0=yCONFIG_XEN_PRIVILEGED_GUEST=yCONFIG_XEN_PVHVM=yCONFIG_XEN_MAX_DOMAIN_MEMORY=500CONFIG_XEN_SAVE_RESTORE=yCONFIG_XEN_DEBUG_FS=yCONFIG_KVM_CLOCK=yCONFIG_KVM_GUEST=yCONFIG_PARAVIRT=yCONFIG_PARAVIRT_SPINLOCKS=yCONFIG_PARAVIRT_CLOCK=yCONFIG_PARAVIRT_DEBUG=yCONFIG_NO_BOOTMEM=yCONFIG_MEMTEST=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not setCONFIG_GENERIC_CPU=yCONFIG_X86_INTERNODE_CACHE_SHIFT=12CONFIG_X86_CMPXCHG=yCONFIG_X86_L1_CACHE_SHIFT=6CONFIG_X86_XADD=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_TSC=yCONFIG_X86_CMPXCHG64=yCONFIG_X86_CMOV=yCONFIG_X86_MINIMUM_CPU_FAMILY=64CONFIG_X86_DEBUGCTLMSR=yCONFIG_PROCESSOR_SELECT=yCONFIG_CPU_SUP_INTEL=yCONFIG_CPU_SUP_AMD=yCONFIG_CPU_SUP_CENTAUR=yCONFIG_HPET_TIMER=yCONFIG_HPET_EMULATE_RTC=yCONFIG_DMI=yCONFIG_GART_IOMMU=yCONFIG_CALGARY_IOMMU=yCONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=yCONFIG_SWIOTLB=yCONFIG_IOMMU_HELPER=yCONFIG_MAXSMP=yCONFIG_NR_CPUS=4096CONFIG_SCHED_SMT=yCONFIG_SCHED_MC=yCONFIG_IRQ_TIME_ACCOUNTING=yCONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not setCONFIG_PREEMPT_COUNT=yCONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=yCONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=yCONFIG_X86_MCE=yCONFIG_X86_MCE_INTEL=yCONFIG_X86_MCE_AMD=yCONFIG_X86_MCE_THRESHOLD=yCONFIG_X86_MCE_INJECT=mCONFIG_X86_THERMAL_VECTOR=yCONFIG_I8K=mCONFIG_MICROCODE=mCONFIG_MICROCODE_INTEL=yCONFIG_MICROCODE_AMD=yCONFIG_MICROCODE_OLD_INTERFACE=yCONFIG_X86_MSR=mCONFIG_X86_CPUID=mCONFIG_ARCH_PHYS_ADDR_T_64BIT=yCONFIG_ARCH_DMA_ADDR_T_64BIT=yCONFIG_DIRECT_GBPAGES=yCONFIG_NUMA=yCONFIG_AMD_NUMA=yCONFIG_X86_64_ACPI_NUMA=yCONFIG_NODES_SPAN_OTHER_NODES=yCONFIG_NUMA_EMU=yCONFIG_NODES_SHIFT=10CONFIG_ARCH_SPARSEMEM_ENABLE=yCONFIG_ARCH_SPARSEMEM_DEFAULT=yCONFIG_ARCH_SELECT_MEMORY_MODEL=yCONFIG_ARCH_MEMORY_PROBE=yCONFIG_ARCH_PROC_KCORE_TEXT=yCONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000CONFIG_SELECT_MEMORY_MODEL=yCONFIG_SPARSEMEM_MANUAL=yCONFIG_SPARSEMEM=yCONFIG_NEED_MULTIPLE_NODES=yCONFIG_HAVE_MEMORY_PRESENT=yCONFIG_SPARSEMEM_EXTREME=yCONFIG_SPARSEMEM_VMEMMAP_ENABLE=yCONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=yCONFIG_SPARSEMEM_VMEMMAP=yCONFIG_HAVE_MEMBLOCK=yCONFIG_HAVE_MEMBLOCK_NODE_MAP=yCONFIG_ARCH_DISCARD_MEMBLOCK=yCONFIG_MEMORY_HOTPLUG=yCONFIG_MEMORY_HOTPLUG_SPARSE=yCONFIG_MEMORY_HOTREMOVE=yCONFIG_PAGEFLAGS_EXTENDED=yCONFIG_SPLIT_PTLOCK_CPUS=999999CONFIG_COMPACTION=yCONFIG_MIGRATION=yCONFIG_PHYS_ADDR_T_64BIT=yCONFIG_ZONE_DMA_FLAG=1CONFIG_BOUNCE=yCONFIG_VIRT_TO_BUS=yCONFIG_MMU_NOTIFIER=yCONFIG_KSM=yCONFIG_DEFAULT_MMAP_MIN_ADDR=4096CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=yCONFIG_MEMORY_FAILURE=yCONFIG_HWPOISON_INJECT=mCONFIG_TRANSPARENT_HUGEPAGE=yCONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not setCONFIG_CROSS_MEMORY_ATTACH=yCONFIG_CLEANCACHE=yCONFIG_FRONTSWAP=yCONFIG_X86_CHECK_BIOS_CORRUPTION=yCONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=yCONFIG_X86_RESERVE_LOW=64CONFIG_MTRR=yCONFIG_MTRR_SANITIZER=yCONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1CONFIG_X86_PAT=yCONFIG_ARCH_USES_PG_UNCACHED=yCONFIG_ARCH_RANDOM=yCONFIG_EFI=yCONFIG_EFI_STUB=yCONFIG_SECCOMP=yCONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not setCONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not setCONFIG_HZ=250CONFIG_SCHED_HRTICK=yCONFIG_KEXEC=yCONFIG_CRASH_DUMP=yCONFIG_KEXEC_JUMP=yCONFIG_PHYSICAL_START=0x1000000CONFIG_RELOCATABLE=yCONFIG_PHYSICAL_ALIGN=0x1000000CONFIG_HOTPLUG_CPU=yCONFIG_COMPAT_VDSO=yCONFIG_CMDLINE_BOOL=yCONFIG_CMDLINE=""CONFIG_CMDLINE_OVERRIDE=yCONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=yCONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=yCONFIG_USE_PERCPU_NUMA_NODE_ID=y
#
# Power management and ACPI options
#CONFIG_ARCH_HIBERNATION_HEADER=yCONFIG_SUSPEND=yCONFIG_SUSPEND_FREEZER=yCONFIG_HIBERNATE_CALLBACKS=yCONFIG_HIBERNATION=yCONFIG_PM_STD_PARTITION=""CONFIG_PM_SLEEP=yCONFIG_PM_SLEEP_SMP=yCONFIG_PM_AUTOSLEEP=yCONFIG_PM_WAKELOCKS=yCONFIG_PM_WAKELOCKS_LIMIT=100CONFIG_PM_WAKELOCKS_GC=yCONFIG_PM_RUNTIME=yCONFIG_PM=yCONFIG_PM_DEBUG=yCONFIG_PM_ADVANCED_DEBUG=yCONFIG_PM_TEST_SUSPEND=yCONFIG_CAN_PM_TRACE=yCONFIG_PM_TRACE=yCONFIG_PM_TRACE_RTC=yCONFIG_ACPI=yCONFIG_ACPI_SLEEP=yCONFIG_ACPI_PROCFS=yCONFIG_ACPI_PROCFS_POWER=yCONFIG_ACPI_EC_DEBUGFS=mCONFIG_ACPI_PROC_EVENT=yCONFIG_ACPI_AC=mCONFIG_ACPI_BATTERY=mCONFIG_ACPI_BUTTON=mCONFIG_ACPI_VIDEO=mCONFIG_ACPI_FAN=mCONFIG_ACPI_DOCK=yCONFIG_ACPI_PROCESSOR=mCONFIG_ACPI_IPMI=mCONFIG_ACPI_HOTPLUG_CPU=yCONFIG_ACPI_PROCESSOR_AGGREGATOR=mCONFIG_ACPI_THERMAL=mCONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not setCONFIG_ACPI_BLACKLIST_YEAR=0CONFIG_ACPI_DEBUG=yCONFIG_ACPI_DEBUG_FUNC_TRACE=yCONFIG_ACPI_PCI_SLOT=mCONFIG_X86_PM_TIMER=yCONFIG_ACPI_CONTAINER=mCONFIG_ACPI_HOTPLUG_MEMORY=mCONFIG_ACPI_SBS=mCONFIG_ACPI_HED=yCONFIG_ACPI_CUSTOM_METHOD=mCONFIG_ACPI_BGRT=mCONFIG_ACPI_APEI=yCONFIG_ACPI_APEI_GHES=yCONFIG_ACPI_APEI_PCIEAER=yCONFIG_ACPI_APEI_MEMORY_FAILURE=yCONFIG_ACPI_APEI_EINJ=mCONFIG_ACPI_APEI_ERST_DEBUG=mCONFIG_SFI=y
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=yCONFIG_CPU_FREQ_TABLE=m CONFIG_CPU_FREQ_STAT=m CONFIG_CPU_FREQ_STAT_DETAILS=y 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
#
# x86 CPU frequency scaling drivers # CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_ACPI_CPUFREQ=m CONFIG_X86_POWERNOW_K8=m CONFIG_X86_SPEEDSTEP_CENTRINO=m CONFIG_X86_P4_CLOCKMOD=m
#
# shared options # CONFIG_X86_SPEEDSTEP_LIB=m CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_INTEL_IDLE=y
#
# Memory power savings
#CONFIG_I7300_IDLE_IOAT_CHANNEL=yCONFIG_I7300_IDLE=m
#
# Bus options (PCI etc.)
#CONFIG_PCI=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=yCONFIG_PCI_XEN=yCONFIG_PCI_DOMAINS=yCONFIG_PCI_CNB20LE_QUIRK=yCONFIG_PCIEPORTBUS=yCONFIG_HOTPLUG_PCI_PCIE=mCONFIG_PCIEAER=yCONFIG_PCIE_ECRC=yCONFIG_PCIEAER_INJECT=mCONFIG_PCIEASPM=yCONFIG_PCIEASPM_DEBUG=yCONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not setCONFIG_PCIE_PME=yCONFIG_ARCH_SUPPORTS_MSI=yCONFIG_PCI_MSI=yCONFIG_PCI_DEBUG=yCONFIG_PCI_REALLOC_ENABLE_AUTO=yCONFIG_PCI_STUB=mCONFIG_XEN_PCIDEV_FRONTEND=mCONFIG_HT_IRQ=yCONFIG_PCI_ATS=yCONFIG_PCI_IOV=yCONFIG_PCI_PRI=yCONFIG_PCI_PASID=yCONFIG_PCI_IOAPIC=mCONFIG_PCI_LABEL=yCONFIG_ISA_DMA_API=yCONFIG_AMD_NB=yCONFIG_PCCARD=mCONFIG_PCMCIA=mCONFIG_PCMCIA_LOAD_CIS=yCONFIG_CARDBUS=y
#
# PC-card bridges
#CONFIG_YENTA=mCONFIG_YENTA_O2=yCONFIG_YENTA_RICOH=yCONFIG_YENTA_TI=yCONFIG_YENTA_ENE_TUNE=yCONFIG_YENTA_TOSHIBA=yCONFIG_PD6729=mCONFIG_I82092=mCONFIG_PCCARD_NONSTATIC=yCONFIG_HOTPLUG_PCI=mCONFIG_HOTPLUG_PCI_FAKE=mCONFIG_HOTPLUG_PCI_ACPI=mCONFIG_HOTPLUG_PCI_ACPI_IBM=mCONFIG_HOTPLUG_PCI_CPCI=yCONFIG_HOTPLUG_PCI_CPCI_ZT5550=mCONFIG_HOTPLUG_PCI_CPCI_GENERIC=mCONFIG_HOTPLUG_PCI_SHPC=mCONFIG_RAPIDIO=yCONFIG_RAPIDIO_TSI721=yCONFIG_RAPIDIO_DISC_TIMEOUT=30CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=yCONFIG_RAPIDIO_DMA_ENGINE=yCONFIG_RAPIDIO_DEBUG=yCONFIG_RAPIDIO_TSI57X=yCONFIG_RAPIDIO_CPS_XX=yCONFIG_RAPIDIO_TSI568=yCONFIG_RAPIDIO_CPS_GEN2=yCONFIG_RAPIDIO_TSI500=y
#
# Executable file formats / Emulations
#CONFIG_BINFMT_ELF=yCONFIG_COMPAT_BINFMT_ELF=yCONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=yCONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not setCONFIG_BINFMT_MISC=mCONFIG_IA32_EMULATION=yCONFIG_IA32_AOUT=mCONFIG_X86_X32=yCONFIG_COMPAT=yCONFIG_COMPAT_FOR_U64_ALIGNMENT=yCONFIG_SYSVIPC_COMPAT=yCONFIG_KEYS_COMPAT=yCONFIG_HAVE_TEXT_POKE_SMP=yCONFIG_X86_DEV_DMA_OPS=yCONFIG_NET=yCONFIG_COMPAT_NETLINK_MESSAGES=y
#
# Networking options
#CONFIG_PACKET=mCONFIG_UNIX=mCONFIG_UNIX_DIAG=mCONFIG_XFRM=yCONFIG_XFRM_ALGO=mCONFIG_XFRM_USER=mCONFIG_XFRM_SUB_POLICY=yCONFIG_XFRM_MIGRATE=yCONFIG_XFRM_STATISTICS=yCONFIG_XFRM_IPCOMP=mCONFIG_NET_KEY=mCONFIG_NET_KEY_MIGRATE=yCONFIG_INET=yCONFIG_IP_MULTICAST=yCONFIG_IP_ADVANCED_ROUTER=yCONFIG_IP_FIB_TRIE_STATS=yCONFIG_IP_MULTIPLE_TABLES=yCONFIG_IP_ROUTE_MULTIPATH=yCONFIG_IP_ROUTE_VERBOSE=yCONFIG_IP_ROUTE_CLASSID=yCONFIG_IP_PNP=yCONFIG_IP_PNP_DHCP=yCONFIG_IP_PNP_BOOTP=yCONFIG_IP_PNP_RARP=yCONFIG_NET_IPIP=mCONFIG_NET_IPGRE_DEMUX=mCONFIG_NET_IPGRE=mCONFIG_NET_IPGRE_BROADCAST=yCONFIG_IP_MROUTE=yCONFIG_IP_MROUTE_MULTIPLE_TABLES=yCONFIG_IP_PIMSM_V1=yCONFIG_IP_PIMSM_V2=yCONFIG_ARPD=yCONFIG_SYN_COOKIES=yCONFIG_INET_AH=mCONFIG_INET_ESP=mCONFIG_INET_IPCOMP=mCONFIG_INET_XFRM_TUNNEL=mCONFIG_INET_TUNNEL=mCONFIG_INET_XFRM_MODE_TRANSPORT=mCONFIG_INET_XFRM_MODE_TUNNEL=mCONFIG_INET_XFRM_MODE_BEET=mCONFIG_INET_LRO=mCONFIG_INET_DIAG=mCONFIG_INET_TCP_DIAG=mCONFIG_INET_UDP_DIAG=mCONFIG_TCP_CONG_ADVANCED=yCONFIG_TCP_CONG_BIC=mCONFIG_TCP_CONG_CUBIC=mCONFIG_TCP_CONG_WESTWOOD=mCONFIG_TCP_CONG_HTCP=mCONFIG_TCP_CONG_HSTCP=mCONFIG_TCP_CONG_HYBLA=mCONFIG_TCP_CONG_VEGAS=mCONFIG_TCP_CONG_SCALABLE=mCONFIG_TCP_CONG_LP=mCONFIG_TCP_CONG_VENO=mCONFIG_TCP_CONG_YEAH=mCONFIG_TCP_CONG_ILLINOIS=mCONFIG_DEFAULT_RENO=yCONFIG_DEFAULT_TCP_CONG="reno"CONFIG_TCP_MD5SIG=yCONFIG_IPV6=mCONFIG_IPV6_PRIVACY=yCONFIG_IPV6_ROUTER_PREF=yCONFIG_IPV6_ROUTE_INFO=yCONFIG_IPV6_OPTIMISTIC_DAD=yCONFIG_INET6_AH=mCONFIG_INET6_ESP=mCONFIG_INET6_IPCOMP=mCONFIG_IPV6_MIP6=mCONFIG_INET6_XFRM_TUNNEL=mCONFIG_INET6_TUNNEL=mCONFIG_INET6_XFRM_MODE_TRANSPORT=mCONFIG_INET6_XFRM_MODE_TUNNEL=mCONFIG_INET6_XFRM_MODE_BEET=mCONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=mCONFIG_IPV6_SIT=mCONFIG_IPV6_SIT_6RD=yCONFIG_IPV6_NDISC_NODETYPE=yCONFIG_IPV6_TUNNEL=mCONFIG_IPV6_MULTIPLE_TABLES=yCONFIG_IPV6_SUBTREES=yCONFIG_IPV6_MROUTE=yCONFIG_IPV6_MROUTE_MULTIPLE_TABLES=yCONFIG_IPV6_PIMSM_V2=yCONFIG_NETLABEL=yCONFIG_NETWORK_SECMARK=yCONFIG_NETWORK_PHY_TIMESTAMPING=yCONFIG_NETFILTER=yCONFIG_NETFILTER_DEBUG=yCONFIG_NETFILTER_ADVANCED=yCONFIG_BRIDGE_NETFILTER=y
#
# Core Netfilter Configuration
#CONFIG_NETFILTER_NETLINK=mCONFIG_NETFILTER_NETLINK_ACCT=mCONFIG_NETFILTER_NETLINK_QUEUE=mCONFIG_NETFILTER_NETLINK_LOG=mCONFIG_NF_CONNTRACK=mCONFIG_NF_CONNTRACK_MARK=yCONFIG_NF_CONNTRACK_SECMARK=yCONFIG_NF_CONNTRACK_ZONES=yCONFIG_NF_CONNTRACK_PROCFS=yCONFIG_NF_CONNTRACK_EVENTS=yCONFIG_NF_CONNTRACK_TIMEOUT=yCONFIG_NF_CONNTRACK_TIMESTAMP=yCONFIG_NF_CT_PROTO_DCCP=mCONFIG_NF_CT_PROTO_GRE=mCONFIG_NF_CT_PROTO_SCTP=mCONFIG_NF_CT_PROTO_UDPLITE=mCONFIG_NF_CONNTRACK_AMANDA=mCONFIG_NF_CONNTRACK_FTP=mCONFIG_NF_CONNTRACK_H323=mCONFIG_NF_CONNTRACK_IRC=mCONFIG_NF_CONNTRACK_BROADCAST=mCONFIG_NF_CONNTRACK_NETBIOS_NS=mCONFIG_NF_CONNTRACK_SNMP=mCONFIG_NF_CONNTRACK_PPTP=mCONFIG_NF_CONNTRACK_SANE=mCONFIG_NF_CONNTRACK_SIP=mCONFIG_NF_CONNTRACK_TFTP=mCONFIG_NF_CT_NETLINK=mCONFIG_NF_CT_NETLINK_TIMEOUT=mCONFIG_NETFILTER_TPROXY=mCONFIG_NETFILTER_XTABLES=m
#
# Xtables combined modules
#CONFIG_NETFILTER_XT_MARK=mCONFIG_NETFILTER_XT_CONNMARK=mCONFIG_NETFILTER_XT_SET=m
#
# Xtables targets
#CONFIG_NETFILTER_XT_TARGET_AUDIT=mCONFIG_NETFILTER_XT_TARGET_CHECKSUM=mCONFIG_NETFILTER_XT_TARGET_CLASSIFY=mCONFIG_NETFILTER_XT_TARGET_CONNMARK=mCONFIG_NETFILTER_XT_TARGET_CONNSECMARK=mCONFIG_NETFILTER_XT_TARGET_CT=mCONFIG_NETFILTER_XT_TARGET_DSCP=mCONFIG_NETFILTER_XT_TARGET_HL=mCONFIG_NETFILTER_XT_TARGET_HMARK=mCONFIG_NETFILTER_XT_TARGET_IDLETIMER=mCONFIG_NETFILTER_XT_TARGET_LED=mCONFIG_NETFILTER_XT_TARGET_LOG=mCONFIG_NETFILTER_XT_TARGET_MARK=mCONFIG_NETFILTER_XT_TARGET_NFLOG=mCONFIG_NETFILTER_XT_TARGET_NFQUEUE=mCONFIG_NETFILTER_XT_TARGET_NOTRACK=mCONFIG_NETFILTER_XT_TARGET_RATEEST=mCONFIG_NETFILTER_XT_TARGET_TEE=mCONFIG_NETFILTER_XT_TARGET_TPROXY=mCONFIG_NETFILTER_XT_TARGET_TRACE=mCONFIG_NETFILTER_XT_TARGET_SECMARK=mCONFIG_NETFILTER_XT_TARGET_TCPMSS=mCONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
#
# Xtables matches
#CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=mCONFIG_NETFILTER_XT_MATCH_CLUSTER=mCONFIG_NETFILTER_XT_MATCH_COMMENT=mCONFIG_NETFILTER_XT_MATCH_CONNBYTES=mCONFIG_NETFILTER_XT_MATCH_CONNLIMIT=mCONFIG_NETFILTER_XT_MATCH_CONNMARK=mCONFIG_NETFILTER_XT_MATCH_CONNTRACK=mCONFIG_NETFILTER_XT_MATCH_CPU=mCONFIG_NETFILTER_XT_MATCH_DCCP=mCONFIG_NETFILTER_XT_MATCH_DEVGROUP=mCONFIG_NETFILTER_XT_MATCH_DSCP=mCONFIG_NETFILTER_XT_MATCH_ECN=mCONFIG_NETFILTER_XT_MATCH_ESP=mCONFIG_NETFILTER_XT_MATCH_HASHLIMIT=mCONFIG_NETFILTER_XT_MATCH_HELPER=mCONFIG_NETFILTER_XT_MATCH_HL=mCONFIG_NETFILTER_XT_MATCH_IPRANGE=mCONFIG_NETFILTER_XT_MATCH_IPVS=mCONFIG_NETFILTER_XT_MATCH_LENGTH=mCONFIG_NETFILTER_XT_MATCH_LIMIT=mCONFIG_NETFILTER_XT_MATCH_MAC=mCONFIG_NETFILTER_XT_MATCH_MARK=mCONFIG_NETFILTER_XT_MATCH_MULTIPORT=mCONFIG_NETFILTER_XT_MATCH_NFACCT=mCONFIG_NETFILTER_XT_MATCH_OSF=mCONFIG_NETFILTER_XT_MATCH_OWNER=mCONFIG_NETFILTER_XT_MATCH_POLICY=mCONFIG_NETFILTER_XT_MATCH_PHYSDEV=mCONFIG_NETFILTER_XT_MATCH_PKTTYPE=mCONFIG_NETFILTER_XT_MATCH_QUOTA=mCONFIG_NETFILTER_XT_MATCH_RATEEST=mCONFIG_NETFILTER_XT_MATCH_REALM=mCONFIG_NETFILTER_XT_MATCH_RECENT=mCONFIG_NETFILTER_XT_MATCH_SCTP=mCONFIG_NETFILTER_XT_MATCH_SOCKET=mCONFIG_NETFILTER_XT_MATCH_STATE=mCONFIG_NETFILTER_XT_MATCH_STATISTIC=mCONFIG_NETFILTER_XT_MATCH_STRING=mCONFIG_NETFILTER_XT_MATCH_TCPMSS=mCONFIG_NETFILTER_XT_MATCH_TIME=mCONFIG_NETFILTER_XT_MATCH_U32=mCONFIG_IP_SET=mCONFIG_IP_SET_MAX=256CONFIG_IP_SET_BITMAP_IP=mCONFIG_IP_SET_BITMAP_IPMAC=mCONFIG_IP_SET_BITMAP_PORT=mCONFIG_IP_SET_HASH_IP=mCONFIG_IP_SET_HASH_IPPORT=mCONFIG_IP_SET_HASH_IPPORTIP=mCONFIG_IP_SET_HASH_IPPORTNET=mCONFIG_IP_SET_HASH_NET=mCONFIG_IP_SET_HASH_NETPORT=mCONFIG_IP_SET_HASH_NETIFACE=mCONFIG_IP_SET_LIST_SET=mCONFIG_IP_VS=mCONFIG_IP_VS_IPV6=yCONFIG_IP_VS_DEBUG=yCONFIG_IP_VS_TAB_BITS=12
#
# IPVS transport protocol load balancing support
#CONFIG_IP_VS_PROTO_TCP=yCONFIG_IP_VS_PROTO_UDP=yCONFIG_IP_VS_PROTO_AH_ESP=yCONFIG_IP_VS_PROTO_ESP=yCONFIG_IP_VS_PROTO_AH=yCONFIG_IP_VS_PROTO_SCTP=y
#
# IPVS scheduler
#CONFIG_IP_VS_RR=mCONFIG_IP_VS_WRR=mCONFIG_IP_VS_LC=mCONFIG_IP_VS_WLC=mCONFIG_IP_VS_LBLC=mCONFIG_IP_VS_LBLCR=mCONFIG_IP_VS_DH=mCONFIG_IP_VS_SH=mCONFIG_IP_VS_SED=mCONFIG_IP_VS_NQ=m
#
# IPVS SH scheduler
#CONFIG_IP_VS_SH_TAB_BITS=8
#
# IPVS application helper
#CONFIG_IP_VS_FTP=mCONFIG_IP_VS_NFCT=yCONFIG_IP_VS_PE_SIP=m
#
# IP: Netfilter Configuration
#CONFIG_NF_DEFRAG_IPV4=mCONFIG_NF_CONNTRACK_IPV4=mCONFIG_NF_CONNTRACK_PROC_COMPAT=yCONFIG_IP_NF_QUEUE=mCONFIG_IP_NF_IPTABLES=mCONFIG_IP_NF_MATCH_AH=mCONFIG_IP_NF_MATCH_ECN=mCONFIG_IP_NF_MATCH_RPFILTER=mCONFIG_IP_NF_MATCH_TTL=mCONFIG_IP_NF_FILTER=mCONFIG_IP_NF_TARGET_REJECT=mCONFIG_IP_NF_TARGET_ULOG=mCONFIG_NF_NAT=mCONFIG_NF_NAT_NEEDED=yCONFIG_IP_NF_TARGET_MASQUERADE=mCONFIG_IP_NF_TARGET_NETMAP=mCONFIG_IP_NF_TARGET_REDIRECT=mCONFIG_NF_NAT_SNMP_BASIC=mCONFIG_NF_NAT_PROTO_DCCP=mCONFIG_NF_NAT_PROTO_GRE=mCONFIG_NF_NAT_PROTO_UDPLITE=mCONFIG_NF_NAT_PROTO_SCTP=mCONFIG_NF_NAT_FTP=mCONFIG_NF_NAT_IRC=mCONFIG_NF_NAT_TFTP=mCONFIG_NF_NAT_AMANDA=mCONFIG_NF_NAT_PPTP=mCONFIG_NF_NAT_H323=mCONFIG_NF_NAT_SIP=mCONFIG_IP_NF_MANGLE=mCONFIG_IP_NF_TARGET_CLUSTERIP=mCONFIG_IP_NF_TARGET_ECN=mCONFIG_IP_NF_TARGET_TTL=mCONFIG_IP_NF_RAW=mCONFIG_IP_NF_SECURITY=mCONFIG_IP_NF_ARPTABLES=mCONFIG_IP_NF_ARPFILTER=mCONFIG_IP_NF_ARP_MANGLE=m
#
# IPv6: Netfilter Configuration
#CONFIG_NF_DEFRAG_IPV6=mCONFIG_NF_CONNTRACK_IPV6=mCONFIG_IP6_NF_IPTABLES=mCONFIG_IP6_NF_MATCH_AH=mCONFIG_IP6_NF_MATCH_EUI64=mCONFIG_IP6_NF_MATCH_FRAG=mCONFIG_IP6_NF_MATCH_OPTS=mCONFIG_IP6_NF_MATCH_HL=mCONFIG_IP6_NF_MATCH_IPV6HEADER=mCONFIG_IP6_NF_MATCH_MH=mCONFIG_IP6_NF_MATCH_RPFILTER=mCONFIG_IP6_NF_MATCH_RT=mCONFIG_IP6_NF_TARGET_HL=mCONFIG_IP6_NF_FILTER=mCONFIG_IP6_NF_TARGET_REJECT=mCONFIG_IP6_NF_MANGLE=mCONFIG_IP6_NF_RAW=mCONFIG_IP6_NF_SECURITY=m
#
# DECnet: Netfilter Configuration
#CONFIG_DECNET_NF_GRABULATOR=mCONFIG_BRIDGE_NF_EBTABLES=mCONFIG_BRIDGE_EBT_BROUTE=mCONFIG_BRIDGE_EBT_T_FILTER=mCONFIG_BRIDGE_EBT_T_NAT=mCONFIG_BRIDGE_EBT_802_3=mCONFIG_BRIDGE_EBT_AMONG=mCONFIG_BRIDGE_EBT_ARP=mCONFIG_BRIDGE_EBT_IP=mCONFIG_BRIDGE_EBT_IP6=mCONFIG_BRIDGE_EBT_LIMIT=mCONFIG_BRIDGE_EBT_MARK=mCONFIG_BRIDGE_EBT_PKTTYPE=mCONFIG_BRIDGE_EBT_STP=mCONFIG_BRIDGE_EBT_VLAN=mCONFIG_BRIDGE_EBT_ARPREPLY=mCONFIG_BRIDGE_EBT_DNAT=mCONFIG_BRIDGE_EBT_MARK_T=mCONFIG_BRIDGE_EBT_REDIRECT=mCONFIG_BRIDGE_EBT_SNAT=mCONFIG_BRIDGE_EBT_LOG=mCONFIG_BRIDGE_EBT_ULOG=mCONFIG_BRIDGE_EBT_NFLOG=mCONFIG_IP_DCCP=mCONFIG_INET_DCCP_DIAG=m
#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#CONFIG_IP_DCCP_CCID2_DEBUG=yCONFIG_IP_DCCP_CCID3=yCONFIG_IP_DCCP_CCID3_DEBUG=yCONFIG_IP_DCCP_TFRC_LIB=yCONFIG_IP_DCCP_TFRC_DEBUG=y
#
# DCCP Kernel Hacking
#CONFIG_IP_DCCP_DEBUG=yCONFIG_NET_DCCPPROBE=mCONFIG_IP_SCTP=mCONFIG_NET_SCTPPROBE=mCONFIG_SCTP_DBG_MSG=yCONFIG_SCTP_DBG_OBJCNT=y
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not setCONFIG_SCTP_HMAC_MD5=yCONFIG_RDS=mCONFIG_RDS_RDMA=mCONFIG_RDS_TCP=mCONFIG_RDS_DEBUG=yCONFIG_TIPC=mCONFIG_TIPC_ADVANCED=yCONFIG_TIPC_PORTS=8191CONFIG_TIPC_LOG=0CONFIG_TIPC_DEBUG=yCONFIG_ATM=mCONFIG_ATM_CLIP=mCONFIG_ATM_CLIP_NO_ICMP=yCONFIG_ATM_LANE=mCONFIG_ATM_MPOA=mCONFIG_ATM_BR2684=mCONFIG_ATM_BR2684_IPFILTER=yCONFIG_L2TP=mCONFIG_L2TP_DEBUGFS=mCONFIG_L2TP_V3=yCONFIG_L2TP_IP=mCONFIG_L2TP_ETH=mCONFIG_STP=mCONFIG_GARP=mCONFIG_BRIDGE=mCONFIG_BRIDGE_IGMP_SNOOPING=yCONFIG_NET_DSA=mCONFIG_NET_DSA_TAG_DSA=yCONFIG_NET_DSA_TAG_EDSA=yCONFIG_NET_DSA_TAG_TRAILER=yCONFIG_VLAN_8021Q=mCONFIG_VLAN_8021Q_GVRP=yCONFIG_DECNET=mCONFIG_DECNET_ROUTER=yCONFIG_LLC=mCONFIG_LLC2=mCONFIG_IPX=mCONFIG_IPX_INTERN=yCONFIG_ATALK=mCONFIG_DEV_APPLETALK=mCONFIG_IPDDP=mCONFIG_IPDDP_ENCAP=yCONFIG_IPDDP_DECAP=yCONFIG_X25=mCONFIG_LAPB=mCONFIG_WAN_ROUTER=mCONFIG_PHONET=mCONFIG_IEEE802154=mCONFIG_IEEE802154_6LOWPAN=mCONFIG_MAC802154=mCONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#CONFIG_NET_SCH_CBQ=mCONFIG_NET_SCH_HTB=mCONFIG_NET_SCH_HFSC=mCONFIG_NET_SCH_ATM=mCONFIG_NET_SCH_PRIO=mCONFIG_NET_SCH_MULTIQ=mCONFIG_NET_SCH_RED=mCONFIG_NET_SCH_SFB=mCONFIG_NET_SCH_SFQ=mCONFIG_NET_SCH_TEQL=mCONFIG_NET_SCH_TBF=mCONFIG_NET_SCH_GRED=mCONFIG_NET_SCH_DSMARK=mCONFIG_NET_SCH_NETEM=mCONFIG_NET_SCH_DRR=mCONFIG_NET_SCH_MQPRIO=mCONFIG_NET_SCH_CHOKE=mCONFIG_NET_SCH_QFQ=mCONFIG_NET_SCH_CODEL=mCONFIG_NET_SCH_FQ_CODEL=mCONFIG_NET_SCH_INGRESS=mCONFIG_NET_SCH_PLUG=m
#
# Classification
#CONFIG_NET_CLS=yCONFIG_NET_CLS_BASIC=mCONFIG_NET_CLS_TCINDEX=mCONFIG_NET_CLS_ROUTE4=mCONFIG_NET_CLS_FW=mCONFIG_NET_CLS_U32=mCONFIG_CLS_U32_PERF=yCONFIG_CLS_U32_MARK=yCONFIG_NET_CLS_RSVP=mCONFIG_NET_CLS_RSVP6=mCONFIG_NET_CLS_FLOW=mCONFIG_NET_CLS_CGROUP=mCONFIG_NET_EMATCH=yCONFIG_NET_EMATCH_STACK=32CONFIG_NET_EMATCH_CMP=mCONFIG_NET_EMATCH_NBYTE=mCONFIG_NET_EMATCH_U32=mCONFIG_NET_EMATCH_META=mCONFIG_NET_EMATCH_TEXT=mCONFIG_NET_CLS_ACT=yCONFIG_NET_ACT_POLICE=mCONFIG_NET_ACT_GACT=mCONFIG_GACT_PROB=yCONFIG_NET_ACT_MIRRED=mCONFIG_NET_ACT_IPT=mCONFIG_NET_ACT_NAT=mCONFIG_NET_ACT_PEDIT=mCONFIG_NET_ACT_SIMP=mCONFIG_NET_ACT_SKBEDIT=mCONFIG_NET_ACT_CSUM=mCONFIG_NET_CLS_IND=yCONFIG_NET_SCH_FIFO=yCONFIG_DCB=yCONFIG_DNS_RESOLVER=mCONFIG_BATMAN_ADV=mCONFIG_BATMAN_ADV_BLA=yCONFIG_BATMAN_ADV_DEBUG=yCONFIG_OPENVSWITCH=mCONFIG_RPS=yCONFIG_RFS_ACCEL=yCONFIG_XPS=yCONFIG_NETPRIO_CGROUP=mCONFIG_BQL=yCONFIG_BPF_JIT=y
#
# Network testing
#CONFIG_NET_PKTGEN=mCONFIG_NET_TCPPROBE=mCONFIG_NET_DROP_MONITOR=mCONFIG_HAMRADIO=y
#
# Packet Radio protocols
#CONFIG_AX25=mCONFIG_AX25_DAMA_SLAVE=yCONFIG_NETROM=mCONFIG_ROSE=m
#
# AX.25 network device drivers
#CONFIG_MKISS=mCONFIG_6PACK=mCONFIG_BPQETHER=mCONFIG_BAYCOM_SER_FDX=mCONFIG_BAYCOM_SER_HDX=mCONFIG_BAYCOM_PAR=mCONFIG_YAM=mCONFIG_CAN=mCONFIG_CAN_RAW=mCONFIG_CAN_BCM=mCONFIG_CAN_GW=m
#
# CAN Device Drivers
#CONFIG_CAN_VCAN=mCONFIG_CAN_SLCAN=mCONFIG_CAN_DEV=mCONFIG_CAN_CALC_BITTIMING=yCONFIG_CAN_MCP251X=mCONFIG_CAN_JANZ_ICAN3=mCONFIG_PCH_CAN=mCONFIG_CAN_SJA1000=mCONFIG_CAN_SJA1000_ISA=mCONFIG_CAN_SJA1000_PLATFORM=mCONFIG_CAN_EMS_PCMCIA=mCONFIG_CAN_EMS_PCI=mCONFIG_CAN_PEAK_PCMCIA=mCONFIG_CAN_PEAK_PCI=mCONFIG_CAN_PEAK_PCIEC=yCONFIG_CAN_KVASER_PCI=mCONFIG_CAN_PLX_PCI=mCONFIG_CAN_C_CAN=mCONFIG_CAN_C_CAN_PLATFORM=mCONFIG_CAN_CC770=mCONFIG_CAN_CC770_ISA=mCONFIG_CAN_CC770_PLATFORM=m
#
# CAN USB interfaces
#CONFIG_CAN_EMS_USB=mCONFIG_CAN_ESD_USB2=mCONFIG_CAN_PEAK_USB=mCONFIG_CAN_SOFTING=mCONFIG_CAN_SOFTING_CS=mCONFIG_CAN_DEBUG_DEVICES=yCONFIG_IRDA=m
#
# IrDA protocols
#CONFIG_IRLAN=mCONFIG_IRNET=mCONFIG_IRCOMM=mCONFIG_IRDA_ULTRA=y
#
# IrDA options
#CONFIG_IRDA_CACHE_LAST_LSAP=yCONFIG_IRDA_FAST_RR=yCONFIG_IRDA_DEBUG=y
#
# Infrared-port device drivers
#
#
# SIR device drivers
#CONFIG_IRTTY_SIR=m
#
# Dongle support
#CONFIG_DONGLE=yCONFIG_ESI_DONGLE=mCONFIG_ACTISYS_DONGLE=mCONFIG_TEKRAM_DONGLE=mCONFIG_TOIM3232_DONGLE=mCONFIG_LITELINK_DONGLE=mCONFIG_MA600_DONGLE=mCONFIG_GIRBIL_DONGLE=mCONFIG_MCP2120_DONGLE=mCONFIG_OLD_BELKIN_DONGLE=mCONFIG_ACT200L_DONGLE=mCONFIG_KINGSUN_DONGLE=mCONFIG_KSDAZZLE_DONGLE=mCONFIG_KS959_DONGLE=m
#
# FIR device drivers
#CONFIG_USB_IRDA=mCONFIG_SIGMATEL_FIR=mCONFIG_NSC_FIR=mCONFIG_WINBOND_FIR=mCONFIG_SMC_IRCC_FIR=mCONFIG_ALI_FIR=mCONFIG_VLSI_FIR=mCONFIG_VIA_FIR=mCONFIG_MCS_FIR=mCONFIG_BT=mCONFIG_BT_RFCOMM=mCONFIG_BT_RFCOMM_TTY=yCONFIG_BT_BNEP=mCONFIG_BT_BNEP_MC_FILTER=yCONFIG_BT_BNEP_PROTO_FILTER=yCONFIG_BT_CMTP=mCONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#CONFIG_BT_HCIBTUSB=mCONFIG_BT_HCIBTSDIO=mCONFIG_BT_HCIUART=mCONFIG_BT_HCIUART_H4=yCONFIG_BT_HCIUART_BCSP=yCONFIG_BT_HCIUART_ATH3K=yCONFIG_BT_HCIUART_LL=yCONFIG_BT_HCIBCM203X=mCONFIG_BT_HCIBPA10X=mCONFIG_BT_HCIBFUSB=mCONFIG_BT_HCIDTL1=mCONFIG_BT_HCIBT3C=mCONFIG_BT_HCIBLUECARD=mCONFIG_BT_HCIBTUART=mCONFIG_BT_HCIVHCI=mCONFIG_BT_MRVL=mCONFIG_BT_MRVL_SDIO=mCONFIG_BT_ATH3K=mCONFIG_BT_WILINK=mCONFIG_AF_RXRPC=mCONFIG_AF_RXRPC_DEBUG=yCONFIG_RXKAD=mCONFIG_FIB_RULES=yCONFIG_WIRELESS=yCONFIG_WIRELESS_EXT=yCONFIG_WEXT_CORE=yCONFIG_WEXT_PROC=yCONFIG_WEXT_SPY=yCONFIG_WEXT_PRIV=yCONFIG_CFG80211=mCONFIG_NL80211_TESTMODE=yCONFIG_CFG80211_DEVELOPER_WARNINGS=yCONFIG_CFG80211_REG_DEBUG=yCONFIG_CFG80211_DEFAULT_PS=yCONFIG_CFG80211_DEBUGFS=yCONFIG_CFG80211_INTERNAL_REGDB=yCONFIG_CFG80211_WEXT=yCONFIG_WIRELESS_EXT_SYSFS=yCONFIG_LIB80211=mCONFIG_LIB80211_CRYPT_WEP=mCONFIG_LIB80211_CRYPT_CCMP=mCONFIG_LIB80211_CRYPT_TKIP=mCONFIG_LIB80211_DEBUG=yCONFIG_MAC80211=mCONFIG_MAC80211_HAS_RC=yCONFIG_MAC80211_RC_PID=yCONFIG_MAC80211_RC_MINSTREL=yCONFIG_MAC80211_RC_MINSTREL_HT=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not setCONFIG_MAC80211_RC_DEFAULT_MINSTREL=yCONFIG_MAC80211_RC_DEFAULT="minstrel_ht"CONFIG_MAC80211_MESH=yCONFIG_MAC80211_LEDS=yCONFIG_MAC80211_DEBUGFS=yCONFIG_MAC80211_DEBUG_MENU=yCONFIG_MAC80211_NOINLINE=yCONFIG_MAC80211_VERBOSE_DEBUG=yCONFIG_MAC80211_HT_DEBUG=yCONFIG_MAC80211_TKIP_DEBUG=yCONFIG_MAC80211_IBSS_DEBUG=yCONFIG_MAC80211_VERBOSE_PS_DEBUG=yCONFIG_MAC80211_VERBOSE_MPL_DEBUG=yCONFIG_MAC80211_VERBOSE_MPATH_DEBUG=yCONFIG_MAC80211_VERBOSE_MHWMP_DEBUG=yCONFIG_MAC80211_VERBOSE_MESH_SYNC_DEBUG=yCONFIG_MAC80211_VERBOSE_TDLS_DEBUG=yCONFIG_MAC80211_DEBUG_COUNTERS=yCONFIG_WIMAX=mCONFIG_WIMAX_DEBUG_LEVEL=8CONFIG_RFKILL=mCONFIG_RFKILL_LEDS=yCONFIG_RFKILL_INPUT=yCONFIG_RFKILL_REGULATOR=mCONFIG_NET_9P=mCONFIG_NET_9P_VIRTIO=mCONFIG_NET_9P_RDMA=mCONFIG_NET_9P_DEBUG=yCONFIG_CAIF=mCONFIG_CAIF_DEBUG=yCONFIG_CAIF_NETDEV=mCONFIG_CAIF_USB=mCONFIG_CEPH_LIB=mCONFIG_CEPH_LIB_PRETTYDEBUG=yCONFIG_CEPH_LIB_USE_DNS_RESOLVER=yCONFIG_NFC=mCONFIG_NFC_NCI=mCONFIG_NFC_HCI=mCONFIG_NFC_SHDLC=yCONFIG_NFC_LLCP=y
#
# Near Field Communication (NFC) devices
#CONFIG_PN544_NFC=mCONFIG_PN544_HCI_NFC=mCONFIG_NFC_PN533=mCONFIG_NFC_WILINK=mCONFIG_HAVE_BPF_JIT=y
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_UEVENT_HELPER_PATH=""CONFIG_DEVTMPFS=yCONFIG_DEVTMPFS_MOUNT=yCONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=mCONFIG_FIRMWARE_IN_KERNEL=yCONFIG_EXTRA_FIRMWARE=""CONFIG_DEBUG_DRIVER=yCONFIG_DEBUG_DEVRES=yCONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not setCONFIG_REGMAP=yCONFIG_REGMAP_I2C=mCONFIG_REGMAP_SPI=yCONFIG_REGMAP_IRQ=yCONFIG_DMA_SHARED_BUFFER=yCONFIG_CONNECTOR=mCONFIG_MTD=mCONFIG_MTD_TESTS=mCONFIG_MTD_REDBOOT_PARTS=mCONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=yCONFIG_MTD_REDBOOT_PARTS_READONLY=yCONFIG_MTD_AR7_PARTS=m
#
# User Modules And Translation Layers
#CONFIG_MTD_CHAR=mCONFIG_HAVE_MTD_OTP=yCONFIG_MTD_BLKDEVS=mCONFIG_MTD_BLOCK=mCONFIG_MTD_BLOCK_RO=mCONFIG_FTL=mCONFIG_NFTL=mCONFIG_NFTL_RW=yCONFIG_INFTL=mCONFIG_RFD_FTL=mCONFIG_SSFDC=mCONFIG_SM_FTL=mCONFIG_MTD_OOPS=mCONFIG_MTD_SWAP=m
#
# RAM/ROM/Flash chip drivers
#CONFIG_MTD_CFI=mCONFIG_MTD_JEDECPROBE=mCONFIG_MTD_GEN_PROBE=mCONFIG_MTD_CFI_ADV_OPTIONS=yCONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not setCONFIG_MTD_CFI_GEOMETRY=yCONFIG_MTD_MAP_BANK_WIDTH_1=yCONFIG_MTD_MAP_BANK_WIDTH_2=yCONFIG_MTD_MAP_BANK_WIDTH_4=yCONFIG_MTD_MAP_BANK_WIDTH_8=yCONFIG_MTD_MAP_BANK_WIDTH_16=yCONFIG_MTD_MAP_BANK_WIDTH_32=yCONFIG_MTD_CFI_I1=yCONFIG_MTD_CFI_I2=yCONFIG_MTD_CFI_I4=yCONFIG_MTD_CFI_I8=yCONFIG_MTD_OTP=yCONFIG_MTD_CFI_INTELEXT=mCONFIG_MTD_CFI_AMDSTD=mCONFIG_MTD_CFI_STAA=mCONFIG_MTD_CFI_UTIL=mCONFIG_MTD_RAM=mCONFIG_MTD_ROM=mCONFIG_MTD_ABSENT=m
#
# Mapping drivers for chip access
#CONFIG_MTD_COMPLEX_MAPPINGS=yCONFIG_MTD_PHYSMAP=mCONFIG_MTD_PHYSMAP_COMPAT=yCONFIG_MTD_PHYSMAP_START=0x8000000CONFIG_MTD_PHYSMAP_LEN=0CONFIG_MTD_PHYSMAP_BANKWIDTH=2CONFIG_MTD_SC520CDP=mCONFIG_MTD_NETSC520=mCONFIG_MTD_TS5500=mCONFIG_MTD_SBC_GXX=mCONFIG_MTD_AMD76XROM=mCONFIG_MTD_ICHXROM=mCONFIG_MTD_ESB2ROM=mCONFIG_MTD_CK804XROM=mCONFIG_MTD_SCB2_FLASH=m
CONFIG_MTD_NETtel=mCONFIG_MTD_L440GX=mCONFIG_MTD_PCI=mCONFIG_MTD_PCMCIA=mCONFIG_MTD_PCMCIA_ANONYMOUS=yCONFIG_MTD_GPIO_ADDR=mCONFIG_MTD_INTEL_VR_NOR=mCONFIG_MTD_PLATRAM=mCONFIG_MTD_LATCH_ADDR=m
#
# Self-contained MTD device drivers
#CONFIG_MTD_PMC551=mCONFIG_MTD_PMC551_BUGFIX=yCONFIG_MTD_PMC551_DEBUG=yCONFIG_MTD_DATAFLASH=mCONFIG_MTD_DATAFLASH_WRITE_VERIFY=yCONFIG_MTD_DATAFLASH_OTP=yCONFIG_MTD_M25P80=mCONFIG_M25PXX_USE_FAST_READ=yCONFIG_MTD_SST25L=mCONFIG_MTD_SLRAM=mCONFIG_MTD_PHRAM=mCONFIG_MTD_MTDRAM=mCONFIG_MTDRAM_TOTAL_SIZE=4096CONFIG_MTDRAM_ERASE_SIZE=128CONFIG_MTD_BLOCK2MTD=m
#
# Disk-On-Chip Device Drivers
#CONFIG_MTD_DOC2000=mCONFIG_MTD_DOC2001=m CONFIG_MTD_DOC2001PLUS=m CONFIG_MTD_DOCG3=mCONFIG_BCH_CONST_M=14CONFIG_BCH_CONST_T=4CONFIG_MTD_DOCPROBE=mCONFIG_MTD_DOCECC=m CONFIG_MTD_DOCPROBE_ADVANCED=y CONFIG_MTD_DOCPROBE_ADDRESS=0x0 CONFIG_MTD_DOCPROBE_HIGH=y CONFIG_MTD_DOCPROBE_55AA=y CONFIG_MTD_NAND_ECC=m CONFIG_MTD_NAND_ECC_SMC=y CONFIG_MTD_NAND=m CONFIG_MTD_NAND_VERIFY_WRITE=y CONFIG_MTD_NAND_BCH=m CONFIG_MTD_NAND_ECC_BCH=y CONFIG_MTD_SM_COMMON=m CONFIG_MTD_NAND_MUSEUM_IDS=y CONFIG_MTD_NAND_DENALI=m CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_RICOH=m CONFIG_MTD_NAND_DISKONCHIP=m CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y CONFIG_MTD_NAND_DOCG4=m CONFIG_MTD_NAND_CAFE=m CONFIG_MTD_NAND_NANDSIM=m CONFIG_MTD_NAND_PLATFORM=m CONFIG_MTD_ALAUDA=mCONFIG_MTD_ONENAND=m CONFIG_MTD_ONENAND_VERIFY_WRITE=y CONFIG_MTD_ONENAND_GENERIC=m CONFIG_MTD_ONENAND_OTP=y CONFIG_MTD_ONENAND_2X_PROGRAM=y CONFIG_MTD_ONENAND_SIM=m
#
# LPDDR flash memory drivers
#CONFIG_MTD_LPDDR=mCONFIG_MTD_QINFO_PROBE=mCONFIG_MTD_UBI=mCONFIG_MTD_UBI_WL_THRESHOLD=4096CONFIG_MTD_UBI_BEB_RESERVE=1CONFIG_MTD_UBI_GLUEBI=mCONFIG_PARPORT=mCONFIG_PARPORT_PC=mCONFIG_PARPORT_SERIAL=mCONFIG_PARPORT_PC_FIFO=yCONFIG_PARPORT_PC_SUPERIO=yCONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not setCONFIG_PARPORT_AX88796=mCONFIG_PARPORT_1284=yCONFIG_PARPORT_NOT_PC=yCONFIG_PNP=yCONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#CONFIG_PNPACPI=yCONFIG_BLK_DEV=yCONFIG_BLK_DEV_FD=mCONFIG_PARIDE=m
#
# Parallel IDE high-level drivers
#CONFIG_PARIDE_PD=mCONFIG_PARIDE_PCD=mCONFIG_PARIDE_PF=mCONFIG_PARIDE_PT=mCONFIG_PARIDE_PG=m
#
# Parallel IDE protocol modules
#CONFIG_PARIDE_ATEN=mCONFIG_PARIDE_BPCK=mCONFIG_PARIDE_COMM=mCONFIG_PARIDE_DSTR=mCONFIG_PARIDE_FIT2=mCONFIG_PARIDE_FIT3=mCONFIG_PARIDE_EPAT=mCONFIG_PARIDE_EPATC8=yCONFIG_PARIDE_EPIA=mCONFIG_PARIDE_FRIQ=mCONFIG_PARIDE_FRPW=mCONFIG_PARIDE_KBIC=mCONFIG_PARIDE_KTTI=mCONFIG_PARIDE_ON20=mCONFIG_PARIDE_ON26=mCONFIG_BLK_DEV_PCIESSD_MTIP32XX=mCONFIG_BLK_CPQ_DA=mCONFIG_BLK_CPQ_CISS_DA=mCONFIG_CISS_SCSI_TAPE=yCONFIG_BLK_DEV_DAC960=mCONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_COW_COMMON is not setCONFIG_BLK_DEV_LOOP=mCONFIG_BLK_DEV_LOOP_MIN_COUNT=8CONFIG_BLK_DEV_CRYPTOLOOP=mCONFIG_BLK_DEV_DRBD=mCONFIG_DRBD_FAULT_INJECTION=yCONFIG_BLK_DEV_NBD=mCONFIG_BLK_DEV_NVME=mCONFIG_BLK_DEV_OSD=mCONFIG_BLK_DEV_SX8=mCONFIG_BLK_DEV_UB=mCONFIG_BLK_DEV_RAM=mCONFIG_BLK_DEV_RAM_COUNT=16CONFIG_BLK_DEV_RAM_SIZE=4096CONFIG_BLK_DEV_XIP=yCONFIG_CDROM_PKTCDVD=mCONFIG_CDROM_PKTCDVD_BUFFERS=8CONFIG_CDROM_PKTCDVD_WCACHE=yCONFIG_ATA_OVER_ETH=mCONFIG_XEN_BLKDEV_FRONTEND=mCONFIG_XEN_BLKDEV_BACKEND=mCONFIG_VIRTIO_BLK=mCONFIG_BLK_DEV_HD=yCONFIG_BLK_DEV_RBD=m
#
# Misc devices
#CONFIG_SENSORS_LIS3LV02D=mCONFIG_AD525X_DPOT=mCONFIG_AD525X_DPOT_I2C=mCONFIG_AD525X_DPOT_SPI=mCONFIG_IBM_ASM=mCONFIG_PHANTOM=mCONFIG_INTEL_MID_PTI=mCONFIG_SGI_IOC4=mCONFIG_TIFM_CORE=mCONFIG_TIFM_7XX1=mCONFIG_ICS932S401=mCONFIG_ENCLOSURE_SERVICES=mCONFIG_SGI_XP=mCONFIG_CS5535_MFGPT=mCONFIG_CS5535_MFGPT_DEFAULT_IRQ=7CONFIG_CS5535_CLOCK_EVENT_SRC=mCONFIG_HP_ILO=mCONFIG_SGI_GRU=mCONFIG_SGI_GRU_DEBUG=yCONFIG_APDS9802ALS=mCONFIG_ISL29003=mCONFIG_ISL29020=mCONFIG_SENSORS_TSL2550=mCONFIG_SENSORS_BH1780=mCONFIG_SENSORS_BH1770=mCONFIG_SENSORS_APDS990X=mCONFIG_HMC6352=mCONFIG_DS1682=mCONFIG_TI_DAC7512=mCONFIG_VMWARE_BALLOON=mCONFIG_BMP085=yCONFIG_BMP085_I2C=mCONFIG_BMP085_SPI=mCONFIG_PCH_PHUB=mCONFIG_USB_SWITCH_FSA9480=mCONFIG_C2PORT=mCONFIG_C2PORT_DURAMAR_2150=m
#
# EEPROM support
#CONFIG_EEPROM_AT24=mCONFIG_EEPROM_AT25=mCONFIG_EEPROM_LEGACY=mCONFIG_EEPROM_MAX6875=mCONFIG_EEPROM_93CX6=mCONFIG_EEPROM_93XX46=mCONFIG_CB710_CORE=mCONFIG_CB710_DEBUG=yCONFIG_CB710_DEBUG_ASSUMPTIONS=yCONFIG_IWMC3200TOP=mCONFIG_IWMC3200TOP_DEBUG=yCONFIG_IWMC3200TOP_DEBUGFS=y
#
# Texas Instruments shared transport line discipline #CONFIG_TI_ST=mCONFIG_SENSORS_LIS3_I2C=m
#
# Altera FPGA firmware download module
#CONFIG_ALTERA_STAPL=mCONFIG_INTEL_MEI=mCONFIG_HAVE_IDE=yCONFIG_IDE=m
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives #CONFIG_IDE_XFER_MODE=yCONFIG_IDE_TIMINGS=yCONFIG_IDE_ATAPI=yCONFIG_BLK_DEV_IDE_SATA=yCONFIG_IDE_GD=mCONFIG_IDE_GD_ATA=yCONFIG_IDE_GD_ATAPI=yCONFIG_BLK_DEV_IDECS=mCONFIG_BLK_DEV_DELKIN=mCONFIG_BLK_DEV_IDECD=m CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y CONFIG_BLK_DEV_IDETAPE=mCONFIG_BLK_DEV_IDEACPI=yCONFIG_IDE_TASK_IOCTL=yCONFIG_IDE_PROC_FS=y
#
# IDE chipset support/bugfixes
#CONFIG_IDE_GENERIC=mCONFIG_BLK_DEV_PLATFORM=mCONFIG_BLK_DEV_CMD640=mCONFIG_BLK_DEV_CMD640_ENHANCED=yCONFIG_BLK_DEV_IDEPNP=mCONFIG_BLK_DEV_IDEDMA_SFF=y
#
# PCI IDE chipsets support
#CONFIG_BLK_DEV_IDEPCI=yCONFIG_BLK_DEV_OFFBOARD=yCONFIG_BLK_DEV_GENERIC=mCONFIG_BLK_DEV_OPTI621=mCONFIG_BLK_DEV_RZ1000=mCONFIG_BLK_DEV_IDEDMA_PCI=yCONFIG_BLK_DEV_AEC62XX=mCONFIG_BLK_DEV_ALI15X3=mCONFIG_BLK_DEV_AMD74XX=mCONFIG_BLK_DEV_ATIIXP=mCONFIG_BLK_DEV_CMD64X=mCONFIG_BLK_DEV_TRIFLEX=mCONFIG_BLK_DEV_CS5520=mCONFIG_BLK_DEV_CS5530=mCONFIG_BLK_DEV_HPT366=mCONFIG_BLK_DEV_JMICRON=mCONFIG_BLK_DEV_SC1200=mCONFIG_BLK_DEV_PIIX=mCONFIG_BLK_DEV_IT8172=mCONFIG_BLK_DEV_IT8213=mCONFIG_BLK_DEV_IT821X=mCONFIG_BLK_DEV_NS87415=mCONFIG_BLK_DEV_PDC202XX_OLD=mCONFIG_BLK_DEV_PDC202XX_NEW=mCONFIG_BLK_DEV_SVWKS=mCONFIG_BLK_DEV_SIIMAGE=mCONFIG_BLK_DEV_SIS5513=mCONFIG_BLK_DEV_SLC90E66=mCONFIG_BLK_DEV_TRM290=mCONFIG_BLK_DEV_VIA82CXXX=mCONFIG_BLK_DEV_TC86C001=mCONFIG_BLK_DEV_IDEDMA=y
#
# SCSI device support
#CONFIG_SCSI_MOD=mCONFIG_RAID_ATTRS=mCONFIG_SCSI=mCONFIG_SCSI_DMA=yCONFIG_SCSI_TGT=mCONFIG_SCSI_NETLINK=yCONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=mCONFIG_CHR_DEV_ST=mCONFIG_CHR_DEV_OSST=mCONFIG_BLK_DEV_SR=mCONFIG_BLK_DEV_SR_VENDOR=yCONFIG_CHR_DEV_SG=mCONFIG_CHR_DEV_SCH=mCONFIG_SCSI_ENCLOSURE=mCONFIG_SCSI_MULTI_LUN=yCONFIG_SCSI_CONSTANTS=yCONFIG_SCSI_LOGGING=yCONFIG_SCSI_SCAN_ASYNC=yCONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#CONFIG_SCSI_SPI_ATTRS=mCONFIG_SCSI_FC_ATTRS=mCONFIG_SCSI_FC_TGT_ATTRS=yCONFIG_SCSI_ISCSI_ATTRS=mCONFIG_SCSI_SAS_ATTRS=mCONFIG_SCSI_SAS_LIBSAS=mCONFIG_SCSI_SAS_ATA=yCONFIG_SCSI_SAS_HOST_SMP=yCONFIG_SCSI_SRP_ATTRS=mCONFIG_SCSI_SRP_TGT_ATTRS=yCONFIG_SCSI_LOWLEVEL=yCONFIG_ISCSI_TCP=mCONFIG_ISCSI_BOOT_SYSFS=mCONFIG_SCSI_CXGB3_ISCSI=mCONFIG_SCSI_CXGB4_ISCSI=mCONFIG_SCSI_BNX2_ISCSI=mCONFIG_SCSI_BNX2X_FCOE=mCONFIG_BE2ISCSI=mCONFIG_BLK_DEV_3W_XXXX_RAID=mCONFIG_SCSI_HPSA=mCONFIG_SCSI_3W_9XXX=mCONFIG_SCSI_3W_SAS=mCONFIG_SCSI_ACARD=mCONFIG_SCSI_AACRAID=mCONFIG_SCSI_AIC7XXX=mCONFIG_AIC7XXX_CMDS_PER_DEVICE=32CONFIG_AIC7XXX_RESET_DELAY_MS=5000CONFIG_AIC7XXX_DEBUG_ENABLE=yCONFIG_AIC7XXX_DEBUG_MASK=0CONFIG_AIC7XXX_REG_PRETTY_PRINT=yCONFIG_SCSI_AIC7XXX_OLD=mCONFIG_SCSI_AIC79XX=mCONFIG_AIC79XX_CMDS_PER_DEVICE=32CONFIG_AIC79XX_RESET_DELAY_MS=5000CONFIG_AIC79XX_DEBUG_ENABLE=yCONFIG_AIC79XX_DEBUG_MASK=0CONFIG_AIC79XX_REG_PRETTY_PRINT=yCONFIG_SCSI_AIC94XX=mCONFIG_AIC94XX_DEBUG=yCONFIG_SCSI_MVSAS=mCONFIG_SCSI_MVSAS_DEBUG=yCONFIG_SCSI_MVSAS_TASKLET=yCONFIG_SCSI_MVUMI=mCONFIG_SCSI_DPT_I2O=mCONFIG_SCSI_ADVANSYS=mCONFIG_SCSI_ARCMSR=mCONFIG_MEGARAID_NEWGEN=yCONFIG_MEGARAID_MM=mCONFIG_MEGARAID_MAILBOX=mCONFIG_MEGARAID_LEGACY=mCONFIG_MEGARAID_SAS=mCONFIG_SCSI_MPT2SAS=mCONFIG_SCSI_MPT2SAS_MAX_SGE=128CONFIG_SCSI_MPT2SAS_LOGGING=yCONFIG_SCSI_UFSHCD=mCONFIG_SCSI_HPTIOP=mCONFIG_SCSI_BUSLOGIC=mCONFIG_VMWARE_PVSCSI=mCONFIG_HYPERV_STORAGE=mCONFIG_LIBFC=mCONFIG_LIBFCOE=mCONFIG_FCOE=mCONFIG_FCOE_FNIC=mCONFIG_SCSI_DMX3191D=mCONFIG_SCSI_EATA=mCONFIG_SCSI_EATA_TAGGED_QUEUE=yCONFIG_SCSI_EATA_LINKED_COMMANDS=yCONFIG_SCSI_EATA_MAX_TAGS=16CONFIG_SCSI_FUTURE_DOMAIN=mCONFIG_SCSI_GDTH=mCONFIG_SCSI_ISCI=mCONFIG_SCSI_IPS=mCONFIG_SCSI_INITIO=mCONFIG_SCSI_INIA100=mCONFIG_SCSI_PPA=mCONFIG_SCSI_IMM=mCONFIG_SCSI_IZIP_EPP16=yCONFIG_SCSI_IZIP_SLOW_CTR=yCONFIG_SCSI_STEX=mCONFIG_SCSI_SYM53C8XX_2=mCONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64CONFIG_SCSI_SYM53C8XX_MMIO=yCONFIG_SCSI_IPR=mCONFIG_SCSI_IPR_TRACE=yCONFIG_SCSI_IPR_DUMP=yCONFIG_SCSI_QLOGIC_1280=mCONFIG_SCSI_QLA_FC=mCONFIG_TCM_QLA2XXX=mCONFIG_SCSI_QLA_ISCSI=m
# CONFIG_SCSI_LPFC is not set
CONFIG_SCSI_DC395x=mCONFIG_SCSI_DC390T=mCONFIG_SCSI_DEBUG=mCONFIG_SCSI_PMCRAID=mCONFIG_SCSI_PM8001=mCONFIG_SCSI_SRP=mCONFIG_SCSI_BFA_FC=mCONFIG_SCSI_VIRTIO=mCONFIG_SCSI_LOWLEVEL_PCMCIA=yCONFIG_PCMCIA_AHA152X=mCONFIG_PCMCIA_FDOMAIN=mCONFIG_PCMCIA_QLOGIC=mCONFIG_PCMCIA_SYM53C500=mCONFIG_SCSI_DH=mCONFIG_SCSI_DH_RDAC=mCONFIG_SCSI_DH_HP_SW=mCONFIG_SCSI_DH_EMC=mCONFIG_SCSI_DH_ALUA=mCONFIG_SCSI_OSD_INITIATOR=mCONFIG_SCSI_OSD_ULD=mCONFIG_SCSI_OSD_DPRINT_SENSE=1CONFIG_SCSI_OSD_DEBUG=yCONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not setCONFIG_ATA_VERBOSE_ERROR=yCONFIG_ATA_ACPI=yCONFIG_SATA_PMP=y
#
# Controllers with non-SFF native interface
#CONFIG_SATA_AHCI=mCONFIG_SATA_AHCI_PLATFORM=mCONFIG_SATA_INIC162X=mCONFIG_SATA_ACARD_AHCI=mCONFIG_SATA_SIL24=mCONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#CONFIG_PDC_ADMA=mCONFIG_SATA_QSTOR=mCONFIG_SATA_SX4=mCONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#CONFIG_ATA_PIIX=mCONFIG_SATA_MV=mCONFIG_SATA_NV=mCONFIG_SATA_PROMISE=mCONFIG_SATA_SIL=mCONFIG_SATA_SIS=mCONFIG_SATA_SVW=mCONFIG_SATA_ULI=mCONFIG_SATA_VIA=mCONFIG_SATA_VITESSE=m
#
# PATA SFF controllers with BMDMA
#CONFIG_PATA_ALI=mCONFIG_PATA_AMD=mCONFIG_PATA_ARASAN_CF=mCONFIG_PATA_ARTOP=mCONFIG_PATA_ATIIXP=mCONFIG_PATA_ATP867X=mCONFIG_PATA_CMD64X=mCONFIG_PATA_CS5520=mCONFIG_PATA_CS5530=mCONFIG_PATA_CS5536=mCONFIG_PATA_CYPRESS=mCONFIG_PATA_EFAR=mCONFIG_PATA_HPT366=mCONFIG_PATA_HPT37X=mCONFIG_PATA_HPT3X2N=mCONFIG_PATA_HPT3X3=mCONFIG_PATA_HPT3X3_DMA=yCONFIG_PATA_IT8213=mCONFIG_PATA_IT821X=mCONFIG_PATA_JMICRON=mCONFIG_PATA_MARVELL=mCONFIG_PATA_NETCELL=mCONFIG_PATA_NINJA32=mCONFIG_PATA_NS87415=mCONFIG_PATA_OLDPIIX=mCONFIG_PATA_OPTIDMA=mCONFIG_PATA_PDC2027X=mCONFIG_PATA_PDC_OLD=mCONFIG_PATA_RADISYS=mCONFIG_PATA_RDC=mCONFIG_PATA_SC1200=mCONFIG_PATA_SCH=mCONFIG_PATA_SERVERWORKS=mCONFIG_PATA_SIL680=mCONFIG_PATA_SIS=mCONFIG_PATA_TOSHIBA=mCONFIG_PATA_TRIFLEX=mCONFIG_PATA_VIA=mCONFIG_PATA_WINBOND=m
#
# PIO-only SFF controllers
#CONFIG_PATA_CMD640_PCI=mCONFIG_PATA_MPIIX=mCONFIG_PATA_NS87410=mCONFIG_PATA_OPTI=mCONFIG_PATA_PCMCIA=mCONFIG_PATA_PLATFORM=mCONFIG_PATA_RZ1000=m
#
# Generic fallback / legacy drivers
#CONFIG_PATA_ACPI=mCONFIG_ATA_GENERIC=mCONFIG_PATA_LEGACY=mCONFIG_MD=yCONFIG_BLK_DEV_MD=mCONFIG_MD_LINEAR=mCONFIG_MD_RAID0=mCONFIG_MD_RAID1=mCONFIG_MD_RAID10=mCONFIG_MD_RAID456=mCONFIG_MULTICORE_RAID456=yCONFIG_MD_MULTIPATH=mCONFIG_MD_FAULTY=mCONFIG_BLK_DEV_DM=mCONFIG_DM_DEBUG=yCONFIG_DM_BUFIO=mCONFIG_DM_PERSISTENT_DATA=mCONFIG_DM_CRYPT=mCONFIG_DM_SNAPSHOT=mCONFIG_DM_THIN_PROVISIONING=mCONFIG_DM_DEBUG_BLOCK_STACK_TRACING=yCONFIG_DM_DEBUG_SPACE_MAPS=yCONFIG_DM_MIRROR=mCONFIG_DM_RAID=mCONFIG_DM_LOG_USERSPACE=mCONFIG_DM_ZERO=mCONFIG_DM_MULTIPATH=mCONFIG_DM_MULTIPATH_QL=mCONFIG_DM_MULTIPATH_ST=mCONFIG_DM_DELAY=mCONFIG_DM_UEVENT=yCONFIG_DM_FLAKEY=mCONFIG_DM_VERITY=mCONFIG_TARGET_CORE=mCONFIG_TCM_IBLOCK=mCONFIG_TCM_FILEIO=mCONFIG_TCM_PSCSI=mCONFIG_LOOPBACK_TARGET=mCONFIG_TCM_FC=mCONFIG_ISCSI_TARGET=mCONFIG_SBP_TARGET=mCONFIG_FUSION=yCONFIG_FUSION_SPI=mCONFIG_FUSION_FC=mCONFIG_FUSION_SAS=mCONFIG_FUSION_MAX_SGE=128CONFIG_FUSION_CTL=mCONFIG_FUSION_LAN=mCONFIG_FUSION_LOGGING=y
#
# IEEE 1394 (FireWire) support
#CONFIG_FIREWIRE=mCONFIG_FIREWIRE_OHCI=mCONFIG_FIREWIRE_SBP2=mCONFIG_FIREWIRE_NET=mCONFIG_FIREWIRE_NOSY=mCONFIG_I2O=mCONFIG_I2O_LCT_NOTIFY_ON_CHANGES=yCONFIG_I2O_EXT_ADAPTEC=yCONFIG_I2O_EXT_ADAPTEC_DMA64=yCONFIG_I2O_CONFIG=mCONFIG_I2O_CONFIG_OLD_IOCTL=yCONFIG_I2O_BUS=mCONFIG_I2O_BLOCK=mCONFIG_I2O_SCSI=mCONFIG_I2O_PROC=mCONFIG_MACINTOSH_DRIVERS=yCONFIG_MAC_EMUMOUSEBTN=mCONFIG_NETDEVICES=yCONFIG_NET_CORE=yCONFIG_BONDING=mCONFIG_DUMMY=mCONFIG_EQUALIZER=mCONFIG_NET_FC=yCONFIG_MII=mCONFIG_IEEE802154_DRIVERS=mCONFIG_IEEE802154_FAKEHARD=mCONFIG_IEEE802154_FAKELB=mCONFIG_IFB=mCONFIG_NET_TEAM=mCONFIG_NET_TEAM_MODE_ROUNDROBIN=mCONFIG_NET_TEAM_MODE_ACTIVEBACKUP=mCONFIG_NET_TEAM_MODE_LOADBALANCE=mCONFIG_MACVLAN=mCONFIG_MACVTAP=mCONFIG_NETCONSOLE=mCONFIG_NETCONSOLE_DYNAMIC=yCONFIG_NETPOLL=yCONFIG_NETPOLL_TRAP=yCONFIG_NET_POLL_CONTROLLER=yCONFIG_RIONET=mCONFIG_RIONET_TX_SIZE=128CONFIG_RIONET_RX_SIZE=128CONFIG_TUN=mCONFIG_VETH=mCONFIG_VIRTIO_NET=mCONFIG_SUNGEM_PHY=mCONFIG_ARCNET=mCONFIG_ARCNET_1201=mCONFIG_ARCNET_1051=mCONFIG_ARCNET_RAW=mCONFIG_ARCNET_CAP=m
CONFIG_ARCNET_COM90xx=m
CONFIG_ARCNET_COM90xxIO=mCONFIG_ARCNET_RIM_I=mCONFIG_ARCNET_COM20020=mCONFIG_ARCNET_COM20020_PCI=mCONFIG_ARCNET_COM20020_CS=mCONFIG_ATM_DRIVERS=yCONFIG_ATM_DUMMY=mCONFIG_ATM_TCP=mCONFIG_ATM_LANAI=mCONFIG_ATM_ENI=mCONFIG_ATM_ENI_DEBUG=yCONFIG_ATM_ENI_TUNE_BURST=yCONFIG_ATM_ENI_BURST_TX_16W=yCONFIG_ATM_ENI_BURST_TX_8W=yCONFIG_ATM_ENI_BURST_TX_4W=yCONFIG_ATM_ENI_BURST_TX_2W=yCONFIG_ATM_ENI_BURST_RX_16W=yCONFIG_ATM_ENI_BURST_RX_8W=yCONFIG_ATM_ENI_BURST_RX_4W=yCONFIG_ATM_ENI_BURST_RX_2W=yCONFIG_ATM_FIRESTREAM=mCONFIG_ATM_ZATM=mCONFIG_ATM_ZATM_DEBUG=yCONFIG_ATM_NICSTAR=mCONFIG_ATM_NICSTAR_USE_SUNI=yCONFIG_ATM_NICSTAR_USE_IDT77105=yCONFIG_ATM_IDT77252=mCONFIG_ATM_IDT77252_DEBUG=yCONFIG_ATM_IDT77252_RCV_ALL=yCONFIG_ATM_IDT77252_USE_SUNI=yCONFIG_ATM_AMBASSADOR=mCONFIG_ATM_AMBASSADOR_DEBUG=yCONFIG_ATM_HORIZON=mCONFIG_ATM_HORIZON_DEBUG=yCONFIG_ATM_IA=mCONFIG_ATM_IA_DEBUG=yCONFIG_ATM_FORE200E=mCONFIG_ATM_FORE200E_USE_TASKLET=yCONFIG_ATM_FORE200E_TX_RETRY=16CONFIG_ATM_FORE200E_DEBUG=0CONFIG_ATM_HE=mCONFIG_ATM_HE_USE_SUNI=yCONFIG_ATM_SOLOS=m
#
# CAIF transport drivers
#CONFIG_CAIF_TTY=mCONFIG_CAIF_SPI_SLAVE=mCONFIG_CAIF_SPI_SYNC=yCONFIG_CAIF_HSI=m
#
# Distributed Switch Architecture drivers
#CONFIG_NET_DSA_MV88E6XXX=mCONFIG_NET_DSA_MV88E6060=mCONFIG_NET_DSA_MV88E6XXX_NEED_PPU=yCONFIG_NET_DSA_MV88E6131=mCONFIG_NET_DSA_MV88E6123_61_65=mCONFIG_ETHERNET=yCONFIG_MDIO=mCONFIG_NET_VENDOR_3COM=yCONFIG_PCMCIA_3C574=mCONFIG_PCMCIA_3C589=mCONFIG_VORTEX=mCONFIG_TYPHOON=mCONFIG_NET_VENDOR_ADAPTEC=yCONFIG_ADAPTEC_STARFIRE=mCONFIG_NET_VENDOR_ALTEON=yCONFIG_ACENIC=mCONFIG_ACENIC_OMIT_TIGON_I=yCONFIG_NET_VENDOR_AMD=yCONFIG_AMD8111_ETH=mCONFIG_PCNET32=mCONFIG_PCMCIA_NMCLAN=mCONFIG_NET_VENDOR_ATHEROS=yCONFIG_ATL2=mCONFIG_ATL1=mCONFIG_ATL1E=mCONFIG_ATL1C=mCONFIG_NET_VENDOR_BROADCOM=yCONFIG_B44=mCONFIG_B44_PCI_AUTOSELECT=yCONFIG_B44_PCICORE_AUTOSELECT=yCONFIG_B44_PCI=yCONFIG_BNX2=mCONFIG_CNIC=mCONFIG_TIGON3=mCONFIG_BNX2X=mCONFIG_NET_VENDOR_BROCADE=yCONFIG_BNA=mCONFIG_NET_CALXEDA_XGMAC=mCONFIG_NET_VENDOR_CHELSIO=yCONFIG_CHELSIO_T1=mCONFIG_CHELSIO_T1_1G=yCONFIG_CHELSIO_T3=mCONFIG_CHELSIO_T4=mCONFIG_CHELSIO_T4VF=mCONFIG_NET_VENDOR_CISCO=yCONFIG_ENIC=mCONFIG_DNET=mCONFIG_NET_VENDOR_DEC=yCONFIG_NET_TULIP=yCONFIG_DE2104X=mCONFIG_DE2104X_DSL=0CONFIG_TULIP=mCONFIG_TULIP_MWI=yCONFIG_TULIP_MMIO=yCONFIG_TULIP_NAPI=yCONFIG_TULIP_NAPI_HW_MITIGATION=yCONFIG_DE4X5=mCONFIG_WINBOND_840=mCONFIG_DM9102=mCONFIG_ULI526X=mCONFIG_PCMCIA_XIRCOM=mCONFIG_NET_VENDOR_DLINK=yCONFIG_DE600=mCONFIG_DE620=mCONFIG_DL2K=mCONFIG_SUNDANCE=mCONFIG_SUNDANCE_MMIO=yCONFIG_NET_VENDOR_EMULEX=yCONFIG_BE2NET=mCONFIG_NET_VENDOR_EXAR=yCONFIG_S2IO=mCONFIG_VXGE=mCONFIG_VXGE_DEBUG_TRACE_ALL=yCONFIG_NET_VENDOR_FUJITSU=yCONFIG_PCMCIA_FMVJ18X=mCONFIG_NET_VENDOR_HP=yCONFIG_HP100=mCONFIG_NET_VENDOR_INTEL=yCONFIG_E100=mCONFIG_E1000=mCONFIG_E1000E=mCONFIG_IGB=mCONFIG_IGB_DCA=yCONFIG_IGB_PTP=yCONFIG_IGBVF=mCONFIG_IXGB=mCONFIG_IXGBE=mCONFIG_IXGBE_HWMON=yCONFIG_IXGBE_DCA=yCONFIG_IXGBE_DCB=yCONFIG_IXGBE_PTP=yCONFIG_IXGBEVF=mCONFIG_NET_VENDOR_I825XX=yCONFIG_ZNET=mCONFIG_IP1000=mCONFIG_JME=mCONFIG_NET_VENDOR_MARVELL=yCONFIG_SKGE=mCONFIG_SKGE_DEBUG=yCONFIG_SKGE_GENESIS=yCONFIG_SKY2=mCONFIG_SKY2_DEBUG=yCONFIG_NET_VENDOR_MELLANOX=yCONFIG_MLX4_EN=mCONFIG_MLX4_EN_DCB=yCONFIG_MLX4_CORE=mCONFIG_MLX4_DEBUG=yCONFIG_NET_VENDOR_MICREL=yCONFIG_KS8842=mCONFIG_KS8851=mCONFIG_KS8851_MLL=mCONFIG_KSZ884X_PCI=mCONFIG_NET_VENDOR_MICROCHIP=yCONFIG_ENC28J60=mCONFIG_ENC28J60_WRITEVERIFY=yCONFIG_NET_VENDOR_MYRI=yCONFIG_MYRI10GE=mCONFIG_MYRI10GE_DCA=yCONFIG_FEALNX=mCONFIG_NET_VENDOR_NATSEMI=yCONFIG_NATSEMI=mCONFIG_NS83820=mCONFIG_NET_VENDOR_8390=yCONFIG_PCMCIA_AXNET=mCONFIG_NE2K_PCI=mCONFIG_PCMCIA_PCNET=mCONFIG_NET_VENDOR_NVIDIA=yCONFIG_FORCEDETH=mCONFIG_NET_VENDOR_OKI=yCONFIG_PCH_GBE=mCONFIG_PCH_PTP=yCONFIG_ETHOC=mCONFIG_NET_PACKET_ENGINE=yCONFIG_HAMACHI=mCONFIG_YELLOWFIN=mCONFIG_NET_VENDOR_QLOGIC=yCONFIG_QLA3XXX=mCONFIG_QLCNIC=mCONFIG_QLGE=mCONFIG_NETXEN_NIC=mCONFIG_NET_VENDOR_REALTEK=yCONFIG_ATP=mCONFIG_8139CP=mCONFIG_8139TOO=mCONFIG_8139TOO_PIO=yCONFIG_8139TOO_TUNE_TWISTER=yCONFIG_8139TOO_8129=yCONFIG_8139_OLD_RX_RESET=yCONFIG_R8169=mCONFIG_NET_VENDOR_RDC=yCONFIG_R6040=mCONFIG_NET_VENDOR_SEEQ=yCONFIG_SEEQ8005=mCONFIG_NET_VENDOR_SILAN=yCONFIG_SC92031=mCONFIG_NET_VENDOR_SIS=yCONFIG_SIS900=mCONFIG_SIS190=mCONFIG_SFC=mCONFIG_SFC_MTD=yCONFIG_SFC_MCDI_MON=yCONFIG_SFC_SRIOV=yCONFIG_NET_VENDOR_SMSC=yCONFIG_PCMCIA_SMC91C92=mCONFIG_EPIC100=mCONFIG_SMSC9420=mCONFIG_NET_VENDOR_STMICRO=yCONFIG_STMMAC_ETH=mCONFIG_STMMAC_PLATFORM=yCONFIG_STMMAC_PCI=yCONFIG_STMMAC_DEBUG_FS=yCONFIG_STMMAC_DA=yCONFIG_STMMAC_RING=y
# CONFIG_STMMAC_CHAINED is not setCONFIG_NET_VENDOR_SUN=yCONFIG_HAPPYMEAL=mCONFIG_SUNGEM=mCONFIG_CASSINI=mCONFIG_NIU=mCONFIG_NET_VENDOR_TEHUTI=yCONFIG_TEHUTI=mCONFIG_NET_VENDOR_TI=yCONFIG_TLAN=mCONFIG_NET_VENDOR_VIA=yCONFIG_VIA_RHINE=mCONFIG_VIA_RHINE_MMIO=yCONFIG_VIA_VELOCITY=mCONFIG_NET_VENDOR_WIZNET=yCONFIG_WIZNET_W5100=mCONFIG_WIZNET_W5300=m
# CONFIG_WIZNET_BUS_DIRECT is not set
# CONFIG_WIZNET_BUS_INDIRECT is not setCONFIG_WIZNET_BUS_ANY=yCONFIG_NET_VENDOR_XIRCOM=yCONFIG_PCMCIA_XIRC2PS=mCONFIG_FDDI=mCONFIG_DEFXX=mCONFIG_DEFXX_MMIO=yCONFIG_SKFP=mCONFIG_HIPPI=yCONFIG_ROADRUNNER=mCONFIG_ROADRUNNER_LARGE_RINGS=yCONFIG_NET_SB1000=mCONFIG_PHYLIB=m
#
# MII PHY device drivers
#CONFIG_AMD_PHY=mCONFIG_MARVELL_PHY=mCONFIG_DAVICOM_PHY=mCONFIG_QSEMI_PHY=mCONFIG_LXT_PHY=mCONFIG_CICADA_PHY=mCONFIG_VITESSE_PHY=mCONFIG_SMSC_PHY=mCONFIG_BROADCOM_PHY=mCONFIG_ICPLUS_PHY=mCONFIG_REALTEK_PHY=mCONFIG_NATIONAL_PHY=mCONFIG_STE10XP=mCONFIG_LSI_ET1011C_PHY=mCONFIG_MICREL_PHY=mCONFIG_MDIO_BITBANG=mCONFIG_MDIO_GPIO=mCONFIG_MICREL_KS8995MA=mCONFIG_PLIP=mCONFIG_PPP=mCONFIG_PPP_BSDCOMP=mCONFIG_PPP_DEFLATE=mCONFIG_PPP_FILTER=yCONFIG_PPP_MPPE=mCONFIG_PPP_MULTILINK=yCONFIG_PPPOATM=mCONFIG_PPPOE=mCONFIG_PPTP=mCONFIG_PPPOL2TP=mCONFIG_PPP_ASYNC=mCONFIG_PPP_SYNC_TTY=mCONFIG_SLIP=mCONFIG_SLHC=mCONFIG_SLIP_COMPRESSED=yCONFIG_SLIP_SMART=yCONFIG_SLIP_MODE_SLIP6=y
#
# USB Network Adapters
#CONFIG_USB_CATC=mCONFIG_USB_KAWETH=mCONFIG_USB_PEGASUS=mCONFIG_USB_RTL8150=mCONFIG_USB_USBNET=mCONFIG_USB_NET_AX8817X=mCONFIG_USB_NET_CDCETHER=mCONFIG_USB_NET_CDC_EEM=mCONFIG_USB_NET_CDC_NCM=mCONFIG_USB_NET_DM9601=mCONFIG_USB_NET_SMSC75XX=mCONFIG_USB_NET_SMSC95XX=mCONFIG_USB_NET_GL620A=mCONFIG_USB_NET_NET1080=mCONFIG_USB_NET_PLUSB=mCONFIG_USB_NET_MCS7830=mCONFIG_USB_NET_RNDIS_HOST=mCONFIG_USB_NET_CDC_SUBSET=mCONFIG_USB_ALI_M5632=yCONFIG_USB_AN2720=yCONFIG_USB_BELKIN=yCONFIG_USB_ARMLINUX=yCONFIG_USB_EPSON2888=yCONFIG_USB_KC2190=yCONFIG_USB_NET_ZAURUS=mCONFIG_USB_NET_CX82310_ETH=mCONFIG_USB_NET_KALMIA=mCONFIG_USB_NET_QMI_WWAN=mCONFIG_USB_HSO=mCONFIG_USB_NET_INT51X1=mCONFIG_USB_CDC_PHONET=mCONFIG_USB_IPHETH=mCONFIG_USB_SIERRA_NET=mCONFIG_USB_VL600=mCONFIG_WLAN=yCONFIG_PCMCIA_RAYCS=mCONFIG_LIBERTAS_THINFIRM=mCONFIG_LIBERTAS_THINFIRM_DEBUG=yCONFIG_LIBERTAS_THINFIRM_USB=mCONFIG_AIRO=mCONFIG_ATMEL=mCONFIG_PCI_ATMEL=mCONFIG_PCMCIA_ATMEL=mCONFIG_AT76C50X_USB=mCONFIG_AIRO_CS=mCONFIG_PCMCIA_WL3501=mCONFIG_PRISM54=mCONFIG_USB_ZD1201=mCONFIG_USB_NET_RNDIS_WLAN=mCONFIG_RTL8180=mCONFIG_RTL8187=mCONFIG_RTL8187_LEDS=yCONFIG_ADM8211=mCONFIG_MAC80211_HWSIM=mCONFIG_MWL8K=mCONFIG_ATH_COMMON=mCONFIG_ATH_DEBUG=yCONFIG_ATH5K=mCONFIG_ATH5K_DEBUG=yCONFIG_ATH5K_TRACER=yCONFIG_ATH5K_PCI=yCONFIG_ATH9K_HW=mCONFIG_ATH9K_COMMON=mCONFIG_ATH9K_DFS_DEBUGFS=yCONFIG_ATH9K_BTCOEX_SUPPORT=yCONFIG_ATH9K=mCONFIG_ATH9K_PCI=yCONFIG_ATH9K_AHB=yCONFIG_ATH9K_DEBUGFS=yCONFIG_ATH9K_DFS_CERTIFIED=yCONFIG_ATH9K_MAC_DEBUG=yCONFIG_ATH9K_RATE_CONTROL=yCONFIG_ATH9K_HTC=mCONFIG_ATH9K_HTC_DEBUGFS=yCONFIG_CARL9170=mCONFIG_CARL9170_LEDS=yCONFIG_CARL9170_DEBUGFS=yCONFIG_CARL9170_WPC=yCONFIG_CARL9170_HWRNG=yCONFIG_ATH6KL=mCONFIG_ATH6KL_SDIO=mCONFIG_ATH6KL_USB=mCONFIG_ATH6KL_DEBUG=yCONFIG_B43=mCONFIG_B43_BCMA=yCONFIG_B43_BCMA_EXTRA=yCONFIG_B43_SSB=yCONFIG_B43_PCI_AUTOSELECT=yCONFIG_B43_PCICORE_AUTOSELECT=yCONFIG_B43_PCMCIA=yCONFIG_B43_SDIO=yCONFIG_B43_BCMA_PIO=yCONFIG_B43_PIO=yCONFIG_B43_PHY_N=yCONFIG_B43_PHY_LP=yCONFIG_B43_PHY_HT=yCONFIG_B43_LEDS=yCONFIG_B43_HWRNG=yCONFIG_B43_DEBUG=yCONFIG_B43LEGACY=mCONFIG_B43LEGACY_PCI_AUTOSELECT=yCONFIG_B43LEGACY_PCICORE_AUTOSELECT=yCONFIG_B43LEGACY_LEDS=yCONFIG_B43LEGACY_HWRNG=yCONFIG_B43LEGACY_DEBUG=yCONFIG_B43LEGACY_DMA=yCONFIG_B43LEGACY_PIO=yCONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not setCONFIG_BRCMUTIL=mCONFIG_BRCMSMAC=mCONFIG_BRCMFMAC=mCONFIG_BRCMFMAC_SDIO=yCONFIG_BRCMFMAC_SDIO_OOB=yCONFIG_BRCMFMAC_USB=yCONFIG_BRCMDBG=yCONFIG_HOSTAP=mCONFIG_HOSTAP_FIRMWARE=yCONFIG_HOSTAP_FIRMWARE_NVRAM=yCONFIG_HOSTAP_PLX=mCONFIG_HOSTAP_PCI=mCONFIG_HOSTAP_CS=mCONFIG_IPW2100=mCONFIG_IPW2100_MONITOR=yCONFIG_IPW2100_DEBUG=yCONFIG_IPW2200=mCONFIG_IPW2200_MONITOR=yCONFIG_IPW2200_RADIOTAP=yCONFIG_IPW2200_PROMISCUOUS=yCONFIG_IPW2200_QOS=yCONFIG_IPW2200_DEBUG=yCONFIG_LIBIPW=mCONFIG_LIBIPW_DEBUG=yCONFIG_IWLWIFI=m
#
# Debugging Options
#CONFIG_IWLWIFI_DEBUG=yCONFIG_IWLWIFI_DEBUGFS=yCONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE=yCONFIG_IWLWIFI_DEVICE_TRACING=yCONFIG_IWLWIFI_DEVICE_TESTMODE=yCONFIG_IWLWIFI_P2P=yCONFIG_IWLWIFI_EXPERIMENTAL_MFP=yCONFIG_IWLEGACY=mCONFIG_IWL4965=mCONFIG_IWL3945=m
#
# iwl3945 / iwl4965 Debugging Options # CONFIG_IWLEGACY_DEBUG=y CONFIG_IWLEGACY_DEBUGFS=y CONFIG_IWM=m CONFIG_IWM_DEBUG=y CONFIG_IWM_TRACING=y CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m CONFIG_LIBERTAS_CS=m CONFIG_LIBERTAS_SDIO=m CONFIG_LIBERTAS_SPI=m CONFIG_LIBERTAS_DEBUG=y CONFIG_LIBERTAS_MESH=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y 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_ORINOCO_USB=m CONFIG_P54_COMMON=m CONFIG_P54_USB=m CONFIG_P54_PCI=m CONFIG_P54_SPI=m CONFIG_P54_SPI_DEFAULT_EEPROM=y CONFIG_P54_LEDS=y CONFIG_RT2X00=m CONFIG_RT2400PCI=m CONFIG_RT2500PCI=m CONFIG_RT61PCI=m CONFIG_RT2800PCI=m CONFIG_RT2800PCI_RT33XX=y CONFIG_RT2800PCI_RT35XX=y CONFIG_RT2800PCI_RT53XX=y CONFIG_RT2500USB=m CONFIG_RT73USB=m CONFIG_RT2800USB=m CONFIG_RT2800USB_RT33XX=y CONFIG_RT2800USB_RT35XX=y CONFIG_RT2800USB_RT53XX=y CONFIG_RT2800USB_UNKNOWN=y CONFIG_RT2800_LIB=m CONFIG_RT2X00_LIB_PCI=m CONFIG_RT2X00_LIB_USB=m CONFIG_RT2X00_LIB=m CONFIG_RT2X00_LIB_FIRMWARE=y CONFIG_RT2X00_LIB_CRYPTO=y CONFIG_RT2X00_LIB_LEDS=y CONFIG_RT2X00_LIB_DEBUGFS=y CONFIG_RT2X00_DEBUG=y CONFIG_RTL8192CE=m CONFIG_RTL8192SE=m CONFIG_RTL8192DE=m CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m CONFIG_RTLWIFI_DEBUG=y CONFIG_RTL8192C_COMMON=m CONFIG_WL_TI=y CONFIG_WL1251=m CONFIG_WL1251_SPI=m CONFIG_WL1251_SDIO=m CONFIG_WL12XX=m CONFIG_WLCORE=m CONFIG_WLCORE_SPI=m CONFIG_WLCORE_SDIO=m CONFIG_WL12XX_PLATFORM_DATA=y CONFIG_ZD1211RW=m CONFIG_ZD1211RW_DEBUG=y CONFIG_MWIFIEX=m CONFIG_MWIFIEX_SDIO=m CONFIG_MWIFIEX_PCIE=m CONFIG_MWIFIEX_USB=m
#
# WiMAX Wireless Broadband devices
#CONFIG_WIMAX_I2400M=mCONFIG_WIMAX_I2400M_USB=mCONFIG_WIMAX_I2400M_SDIO=mCONFIG_WIMAX_IWMC3200_SDIO=yCONFIG_WIMAX_I2400M_DEBUG_LEVEL=8CONFIG_WAN=yCONFIG_LANMEDIA=mCONFIG_HDLC=mCONFIG_HDLC_RAW=mCONFIG_HDLC_RAW_ETH=mCONFIG_HDLC_CISCO=mCONFIG_HDLC_FR=mCONFIG_HDLC_PPP=mCONFIG_HDLC_X25=mCONFIG_PCI200SYN=mCONFIG_WANXL=mCONFIG_PC300TOO=mCONFIG_FARSYNC=mCONFIG_DSCC4=mCONFIG_DSCC4_PCISYNC=yCONFIG_DSCC4_PCI_RST=yCONFIG_DLCI=mCONFIG_DLCI_MAX=8CONFIG_WAN_ROUTER_DRIVERS=mCONFIG_CYCLADES_SYNC=mCONFIG_CYCLOMX_X25=yCONFIG_LAPBETHER=mCONFIG_X25_ASY=mCONFIG_SBNI=mCONFIG_SBNI_MULTILINE=yCONFIG_XEN_NETDEV_FRONTEND=mCONFIG_XEN_NETDEV_BACKEND=mCONFIG_VMXNET3=mCONFIG_HYPERV_NET=mCONFIG_ISDN=yCONFIG_ISDN_I4L=mCONFIG_ISDN_PPP=yCONFIG_ISDN_PPP_VJ=yCONFIG_ISDN_MPP=yCONFIG_IPPP_FILTER=yCONFIG_ISDN_PPP_BSDCOMP=mCONFIG_ISDN_AUDIO=yCONFIG_ISDN_TTY_FAX=yCONFIG_ISDN_X25=y
#
# ISDN feature submodules
#CONFIG_ISDN_DIVERSION=m
#
# ISDN4Linux hardware drivers
#
#
# Passive cards
#CONFIG_ISDN_DRV_HISAX=m
#
# D-channel protocol features
#CONFIG_HISAX_EURO=yCONFIG_DE_AOC=yCONFIG_HISAX_NO_SENDCOMPLETE=yCONFIG_HISAX_NO_LLC=yCONFIG_HISAX_NO_KEYPAD=yCONFIG_HISAX_1TR6=yCONFIG_HISAX_NI1=yCONFIG_HISAX_MAX_CARDS=8
#
# HiSax supported cards
#CONFIG_HISAX_16_3=yCONFIG_HISAX_TELESPCI=yCONFIG_HISAX_S0BOX=yCONFIG_HISAX_FRITZPCI=yCONFIG_HISAX_AVM_A1_PCMCIA=yCONFIG_HISAX_ELSA=yCONFIG_HISAX_DIEHLDIVA=yCONFIG_HISAX_SEDLBAUER=yCONFIG_HISAX_NETJET=yCONFIG_HISAX_NETJET_U=yCONFIG_HISAX_NICCY=yCONFIG_HISAX_BKM_A4T=yCONFIG_HISAX_SCT_QUADRO=yCONFIG_HISAX_GAZEL=yCONFIG_HISAX_HFC_PCI=yCONFIG_HISAX_W6692=yCONFIG_HISAX_HFC_SX=yCONFIG_HISAX_ENTERNOW_PCI=yCONFIG_HISAX_DEBUG=y
#
# HiSax PCMCIA card service modules
#CONFIG_HISAX_SEDLBAUER_CS=mCONFIG_HISAX_ELSA_CS=mCONFIG_HISAX_AVM_A1_CS=mCONFIG_HISAX_TELES_CS=m
#
# HiSax sub driver modules
#CONFIG_HISAX_ST5481=mCONFIG_HISAX_HFCUSB=mCONFIG_HISAX_HFC4S8S=mCONFIG_HISAX_FRITZ_PCIPNP=m
#
# Active cards
#CONFIG_ISDN_CAPI=mCONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=yCONFIG_CAPI_TRACE=yCONFIG_ISDN_CAPI_MIDDLEWARE=yCONFIG_ISDN_CAPI_CAPI20=mCONFIG_ISDN_CAPI_CAPIDRV=m
#
# CAPI hardware drivers
#CONFIG_CAPI_AVM=yCONFIG_ISDN_DRV_AVMB1_B1PCI=mCONFIG_ISDN_DRV_AVMB1_B1PCIV4=yCONFIG_ISDN_DRV_AVMB1_B1PCMCIA=mCONFIG_ISDN_DRV_AVMB1_AVM_CS=mCONFIG_ISDN_DRV_AVMB1_T1PCI=mCONFIG_ISDN_DRV_AVMB1_C4=mCONFIG_CAPI_EICON=yCONFIG_ISDN_DIVAS=mCONFIG_ISDN_DIVAS_BRIPCI=yCONFIG_ISDN_DIVAS_PRIPCI=yCONFIG_ISDN_DIVAS_DIVACAPI=mCONFIG_ISDN_DIVAS_USERIDI=mCONFIG_ISDN_DIVAS_MAINT=mCONFIG_ISDN_DRV_GIGASET=mCONFIG_GIGASET_CAPI=y
# CONFIG_GIGASET_I4L is not set
# CONFIG_GIGASET_DUMMYLL is not setCONFIG_GIGASET_BASE=mCONFIG_GIGASET_M105=mCONFIG_GIGASET_M101=mCONFIG_GIGASET_DEBUG=yCONFIG_HYSDN=mCONFIG_HYSDN_CAPI=yCONFIG_MISDN=mCONFIG_MISDN_DSP=mCONFIG_MISDN_L1OIP=m
#
# mISDN hardware drivers
#CONFIG_MISDN_HFCPCI=mCONFIG_MISDN_HFCMULTI=mCONFIG_MISDN_HFCUSB=mCONFIG_MISDN_AVMFRITZ=mCONFIG_MISDN_SPEEDFAX=mCONFIG_MISDN_INFINEON=mCONFIG_MISDN_W6692=mCONFIG_MISDN_NETJET=mCONFIG_MISDN_IPAC=mCONFIG_MISDN_ISAR=mCONFIG_ISDN_HDLC=m
#
# Input device support
#CONFIG_INPUT=yCONFIG_INPUT_FF_MEMLESS=mCONFIG_INPUT_POLLDEV=mCONFIG_INPUT_SPARSEKMAP=mCONFIG_INPUT_MATRIXKMAP=m
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=mCONFIG_INPUT_MOUSEDEV_PSAUX=yCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768CONFIG_INPUT_JOYDEV=mCONFIG_INPUT_EVDEV=mCONFIG_INPUT_EVBUG=m
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ADP5588=mCONFIG_KEYBOARD_ADP5589=mCONFIG_KEYBOARD_ATKBD=mCONFIG_KEYBOARD_QT1070=mCONFIG_KEYBOARD_QT2160=mCONFIG_KEYBOARD_LKKBD=mCONFIG_KEYBOARD_GPIO=mCONFIG_KEYBOARD_GPIO_POLLED=mCONFIG_KEYBOARD_TCA6416=mCONFIG_KEYBOARD_TCA8418=mCONFIG_KEYBOARD_MATRIX=mCONFIG_KEYBOARD_LM8323=mCONFIG_KEYBOARD_LM8333=mCONFIG_KEYBOARD_MAX7359=mCONFIG_KEYBOARD_MCS=mCONFIG_KEYBOARD_MPR121=mCONFIG_KEYBOARD_NEWTON=mCONFIG_KEYBOARD_OPENCORES=mCONFIG_KEYBOARD_STOWAWAY=mCONFIG_KEYBOARD_SUNKBD=mCONFIG_KEYBOARD_STMPE=mCONFIG_KEYBOARD_OMAP4=mCONFIG_KEYBOARD_XTKBD=mCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=mCONFIG_MOUSE_PS2_ALPS=yCONFIG_MOUSE_PS2_LOGIPS2PP=yCONFIG_MOUSE_PS2_SYNAPTICS=yCONFIG_MOUSE_PS2_LIFEBOOK=yCONFIG_MOUSE_PS2_TRACKPOINT=yCONFIG_MOUSE_PS2_ELANTECH=yCONFIG_MOUSE_PS2_SENTELIC=yCONFIG_MOUSE_PS2_TOUCHKIT=yCONFIG_MOUSE_SERIAL=mCONFIG_MOUSE_APPLETOUCH=mCONFIG_MOUSE_BCM5974=mCONFIG_MOUSE_VSXXXAA=mCONFIG_MOUSE_GPIO=mCONFIG_MOUSE_SYNAPTICS_I2C=mCONFIG_MOUSE_SYNAPTICS_USB=mCONFIG_INPUT_JOYSTICK=yCONFIG_JOYSTICK_ANALOG=mCONFIG_JOYSTICK_A3D=mCONFIG_JOYSTICK_ADI=mCONFIG_JOYSTICK_COBRA=mCONFIG_JOYSTICK_GF2K=mCONFIG_JOYSTICK_GRIP=mCONFIG_JOYSTICK_GRIP_MP=mCONFIG_JOYSTICK_GUILLEMOT=mCONFIG_JOYSTICK_INTERACT=mCONFIG_JOYSTICK_SIDEWINDER=mCONFIG_JOYSTICK_TMDC=mCONFIG_JOYSTICK_IFORCE=mCONFIG_JOYSTICK_IFORCE_USB=yCONFIG_JOYSTICK_IFORCE_232=yCONFIG_JOYSTICK_WARRIOR=mCONFIG_JOYSTICK_MAGELLAN=mCONFIG_JOYSTICK_SPACEORB=mCONFIG_JOYSTICK_SPACEBALL=mCONFIG_JOYSTICK_STINGER=mCONFIG_JOYSTICK_TWIDJOY=mCONFIG_JOYSTICK_ZHENHUA=mCONFIG_JOYSTICK_DB9=mCONFIG_JOYSTICK_GAMECON=mCONFIG_JOYSTICK_TURBOGRAFX=mCONFIG_JOYSTICK_AS5011=mCONFIG_JOYSTICK_JOYDUMP=mCONFIG_JOYSTICK_XPAD=mCONFIG_JOYSTICK_XPAD_FF=yCONFIG_JOYSTICK_XPAD_LEDS=yCONFIG_JOYSTICK_WALKERA0701=mCONFIG_INPUT_TABLET=yCONFIG_TABLET_USB_ACECAD=mCONFIG_TABLET_USB_AIPTEK=mCONFIG_TABLET_USB_GTCO=mCONFIG_TABLET_USB_HANWANG=mCONFIG_TABLET_USB_KBTAB=mCONFIG_TABLET_USB_WACOM=mCONFIG_INPUT_TOUCHSCREEN=yCONFIG_TOUCHSCREEN_ADS7846=mCONFIG_TOUCHSCREEN_AD7877=mCONFIG_TOUCHSCREEN_AD7879=mCONFIG_TOUCHSCREEN_AD7879_I2C=mCONFIG_TOUCHSCREEN_AD7879_SPI=mCONFIG_TOUCHSCREEN_ATMEL_MXT=mCONFIG_TOUCHSCREEN_AUO_PIXCIR=mCONFIG_TOUCHSCREEN_BU21013=mCONFIG_TOUCHSCREEN_CY8CTMG110=mCONFIG_TOUCHSCREEN_CYTTSP_CORE=mCONFIG_TOUCHSCREEN_CYTTSP_I2C=mCONFIG_TOUCHSCREEN_CYTTSP_SPI=mCONFIG_TOUCHSCREEN_DA9052=mCONFIG_TOUCHSCREEN_DYNAPRO=mCONFIG_TOUCHSCREEN_HAMPSHIRE=mCONFIG_TOUCHSCREEN_EETI=mCONFIG_TOUCHSCREEN_EGALAX=mCONFIG_TOUCHSCREEN_FUJITSU=mCONFIG_TOUCHSCREEN_ILI210X=mCONFIG_TOUCHSCREEN_GUNZE=mCONFIG_TOUCHSCREEN_ELO=mCONFIG_TOUCHSCREEN_WACOM_W8001=mCONFIG_TOUCHSCREEN_WACOM_I2C=mCONFIG_TOUCHSCREEN_MAX11801=mCONFIG_TOUCHSCREEN_MCS5000=mCONFIG_TOUCHSCREEN_MTOUCH=mCONFIG_TOUCHSCREEN_INEXIO=mCONFIG_TOUCHSCREEN_MK712=mCONFIG_TOUCHSCREEN_PENMOUNT=mCONFIG_TOUCHSCREEN_TOUCHRIGHT=mCONFIG_TOUCHSCREEN_TOUCHWIN=mCONFIG_TOUCHSCREEN_UCB1400=mCONFIG_TOUCHSCREEN_PIXCIR=mCONFIG_TOUCHSCREEN_WM831X=mCONFIG_TOUCHSCREEN_WM97XX=mCONFIG_TOUCHSCREEN_WM9705=yCONFIG_TOUCHSCREEN_WM9712=yCONFIG_TOUCHSCREEN_WM9713=yCONFIG_TOUCHSCREEN_USB_COMPOSITE=mCONFIG_TOUCHSCREEN_MC13783=mCONFIG_TOUCHSCREEN_USB_EGALAX=yCONFIG_TOUCHSCREEN_USB_PANJIT=yCONFIG_TOUCHSCREEN_USB_3M=yCONFIG_TOUCHSCREEN_USB_ITM=yCONFIG_TOUCHSCREEN_USB_ETURBO=yCONFIG_TOUCHSCREEN_USB_GUNZE=yCONFIG_TOUCHSCREEN_USB_DMC_TSC10=yCONFIG_TOUCHSCREEN_USB_IRTOUCH=yCONFIG_TOUCHSCREEN_USB_IDEALTEK=yCONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=yCONFIG_TOUCHSCREEN_USB_GOTOP=yCONFIG_TOUCHSCREEN_USB_JASTEC=yCONFIG_TOUCHSCREEN_USB_ELO=yCONFIG_TOUCHSCREEN_USB_E2I=yCONFIG_TOUCHSCREEN_USB_ZYTRONIC=yCONFIG_TOUCHSCREEN_USB_ETT_TC45USB=yCONFIG_TOUCHSCREEN_USB_NEXIO=yCONFIG_TOUCHSCREEN_USB_EASYTOUCH=yCONFIG_TOUCHSCREEN_TOUCHIT213=mCONFIG_TOUCHSCREEN_TSC_SERIO=mCONFIG_TOUCHSCREEN_TSC2005=mCONFIG_TOUCHSCREEN_TSC2007=mCONFIG_TOUCHSCREEN_PCAP=mCONFIG_TOUCHSCREEN_ST1232=mCONFIG_TOUCHSCREEN_STMPE=mCONFIG_TOUCHSCREEN_TPS6507X=mCONFIG_INPUT_MISC=yCONFIG_INPUT_AD714X=mCONFIG_INPUT_AD714X_I2C=mCONFIG_INPUT_AD714X_SPI=mCONFIG_INPUT_BMA150=mCONFIG_INPUT_PCSPKR=mCONFIG_INPUT_MC13783_PWRBUTTON=mCONFIG_INPUT_MMA8450=mCONFIG_INPUT_MPU3050=mCONFIG_INPUT_APANEL=mCONFIG_INPUT_GP2A=mCONFIG_INPUT_GPIO_TILT_POLLED=mCONFIG_INPUT_ATLAS_BTNS=mCONFIG_INPUT_ATI_REMOTE2=mCONFIG_INPUT_KEYSPAN_REMOTE=mCONFIG_INPUT_KXTJ9=mCONFIG_INPUT_KXTJ9_POLLED_MODE=yCONFIG_INPUT_POWERMATE=mCONFIG_INPUT_YEALINK=mCONFIG_INPUT_CM109=mCONFIG_INPUT_UINPUT=mCONFIG_INPUT_PCF50633_PMU=mCONFIG_INPUT_PCF8574=mCONFIG_INPUT_GPIO_ROTARY_ENCODER=mCONFIG_INPUT_DA9052_ONKEY=mCONFIG_INPUT_WM831X_ON=mCONFIG_INPUT_PCAP=mCONFIG_INPUT_ADXL34X=mCONFIG_INPUT_ADXL34X_I2C=mCONFIG_INPUT_ADXL34X_SPI=mCONFIG_INPUT_CMA3000=mCONFIG_INPUT_CMA3000_I2C=mCONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
#
# Hardware I/O ports
#CONFIG_SERIO=mCONFIG_SERIO_I8042=mCONFIG_SERIO_SERPORT=mCONFIG_SERIO_CT82C710=mCONFIG_SERIO_PARKBD=mCONFIG_SERIO_PCIPS2=mCONFIG_SERIO_LIBPS2=mCONFIG_SERIO_RAW=mCONFIG_SERIO_ALTERA_PS2=mCONFIG_SERIO_PS2MULT=mCONFIG_GAMEPORT=mCONFIG_GAMEPORT_NS558=mCONFIG_GAMEPORT_L4=mCONFIG_GAMEPORT_EMU10K1=mCONFIG_GAMEPORT_FM801=m
#
# Character devices
#CONFIG_VT=yCONFIG_CONSOLE_TRANSLATIONS=yCONFIG_VT_CONSOLE=yCONFIG_VT_CONSOLE_SLEEP=yCONFIG_HW_CONSOLE=yCONFIG_VT_HW_CONSOLE_BINDING=yCONFIG_UNIX98_PTYS=yCONFIG_DEVPTS_MULTIPLE_INSTANCES=yCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256CONFIG_SERIAL_NONSTANDARD=yCONFIG_ROCKETPORT=mCONFIG_CYCLADES=mCONFIG_CYZ_INTR=yCONFIG_MOXA_INTELLIO=mCONFIG_MOXA_SMARTIO=mCONFIG_SYNCLINK=mCONFIG_SYNCLINKMP=mCONFIG_SYNCLINK_GT=mCONFIG_NOZOMI=mCONFIG_ISI=mCONFIG_N_HDLC=mCONFIG_N_GSM=mCONFIG_TRACE_ROUTER=mCONFIG_TRACE_SINK=mCONFIG_DEVKMEM=yCONFIG_STALDRV=y
#
# Serial drivers
#CONFIG_SERIAL_8250=mCONFIG_FIX_EARLYCON_MEM=yCONFIG_SERIAL_8250_PCI=mCONFIG_SERIAL_8250_PNP=mCONFIG_SERIAL_8250_CS=mCONFIG_SERIAL_8250_NR_UARTS=4CONFIG_SERIAL_8250_RUNTIME_UARTS=4CONFIG_SERIAL_8250_EXTENDED=yCONFIG_SERIAL_8250_MANY_PORTS=yCONFIG_SERIAL_8250_SHARE_IRQ=yCONFIG_SERIAL_8250_DETECT_IRQ=yCONFIG_SERIAL_8250_RSA=y
#
# Non-8250 serial port support
#CONFIG_SERIAL_MAX3100=mCONFIG_SERIAL_MAX3107=mCONFIG_SERIAL_MRST_MAX3110=mCONFIG_SERIAL_MFD_HSU=mCONFIG_SERIAL_UARTLITE=mCONFIG_SERIAL_CORE=mCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_CONSOLE_POLL=yCONFIG_SERIAL_JSM=mCONFIG_SERIAL_TIMBERDALE=mCONFIG_SERIAL_ALTERA_JTAGUART=mCONFIG_SERIAL_ALTERA_UART=mCONFIG_SERIAL_ALTERA_UART_MAXPORTS=4CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200CONFIG_SERIAL_IFX6X60=mCONFIG_SERIAL_PCH_UART=mCONFIG_SERIAL_XILINX_PS_UART=mCONFIG_TTY_PRINTK=yCONFIG_PRINTER=mCONFIG_LP_CONSOLE=yCONFIG_PPDEV=mCONFIG_HVC_DRIVER=yCONFIG_HVC_IRQ=yCONFIG_HVC_XEN=yCONFIG_HVC_XEN_FRONTEND=yCONFIG_VIRTIO_CONSOLE=mCONFIG_IPMI_HANDLER=mCONFIG_IPMI_PANIC_EVENT=yCONFIG_IPMI_PANIC_STRING=yCONFIG_IPMI_DEVICE_INTERFACE=mCONFIG_IPMI_SI=mCONFIG_IPMI_WATCHDOG=mCONFIG_IPMI_POWEROFF=mCONFIG_HW_RANDOM=mCONFIG_HW_RANDOM_TIMERIOMEM=mCONFIG_HW_RANDOM_INTEL=mCONFIG_HW_RANDOM_AMD=mCONFIG_HW_RANDOM_VIA=mCONFIG_HW_RANDOM_VIRTIO=mCONFIG_NVRAM=mCONFIG_R3964=mCONFIG_APPLICOM=m
#
# PCMCIA character devices
#CONFIG_SYNCLINK_CS=mCONFIG_CARDMAN_4000=mCONFIG_CARDMAN_4040=mCONFIG_IPWIRELESS=mCONFIG_MWAVE=mCONFIG_RAW_DRIVER=mCONFIG_MAX_RAW_DEVS=256CONFIG_HPET=yCONFIG_HPET_MMAP=yCONFIG_HANGCHECK_TIMER=mCONFIG_UV_MMTIMER=mCONFIG_TCG_TPM=yCONFIG_TCG_TIS=yCONFIG_TCG_NSC=mCONFIG_TCG_ATMEL=mCONFIG_TCG_INFINEON=mCONFIG_TELCLOCK=mCONFIG_DEVPORT=yCONFIG_I2C=mCONFIG_I2C_BOARDINFO=yCONFIG_I2C_COMPAT=yCONFIG_I2C_CHARDEV=mCONFIG_I2C_MUX=m
#
# Multiplexer I2C Chip support
#CONFIG_I2C_MUX_GPIO=mCONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=mCONFIG_I2C_HELPER_AUTO=yCONFIG_I2C_SMBUS=mCONFIG_I2C_ALGOBIT=mCONFIG_I2C_ALGOPCA=m
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#CONFIG_I2C_ALI1535=mCONFIG_I2C_ALI1563=mCONFIG_I2C_ALI15X3=mCONFIG_I2C_AMD756=mCONFIG_I2C_AMD756_S4882=mCONFIG_I2C_AMD8111=mCONFIG_I2C_I801=mCONFIG_I2C_ISCH=mCONFIG_I2C_PIIX4=mCONFIG_I2C_NFORCE2=mCONFIG_I2C_NFORCE2_S4985=mCONFIG_I2C_SIS5595=mCONFIG_I2C_SIS630=mCONFIG_I2C_SIS96X=mCONFIG_I2C_VIA=mCONFIG_I2C_VIAPRO=m
#
# ACPI drivers
#CONFIG_I2C_SCMI=m
#
# I2C system bus drivers (mostly embedded / system-on-chip) #CONFIG_I2C_DESIGNWARE_PCI=mCONFIG_I2C_EG20T=mCONFIG_I2C_GPIO=mCONFIG_I2C_INTEL_MID=mCONFIG_I2C_OCORES=mCONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PXA_PCI is not set CONFIG_I2C_SIMTEC=mCONFIG_I2C_XILINX=m
#
# External I2C/SMBus adapter drivers
#CONFIG_I2C_DIOLAN_U2C=mCONFIG_I2C_PARPORT=mCONFIG_I2C_PARPORT_LIGHT=mCONFIG_I2C_TAOS_EVM=mCONFIG_I2C_TINY_USB=m
#
# Other I2C/SMBus bus drivers
#CONFIG_I2C_STUB=mCONFIG_I2C_DEBUG_CORE=yCONFIG_I2C_DEBUG_ALGO=yCONFIG_I2C_DEBUG_BUS=yCONFIG_SPI=yCONFIG_SPI_DEBUG=yCONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#CONFIG_SPI_ALTERA=mCONFIG_SPI_BITBANG=mCONFIG_SPI_BUTTERFLY=mCONFIG_SPI_GPIO=mCONFIG_SPI_LM70_LLP=mCONFIG_SPI_OC_TINY=m
# CONFIG_SPI_PXA2XX_PCI is not setCONFIG_SPI_TOPCLIFF_PCH=mCONFIG_SPI_XILINX=mCONFIG_SPI_DESIGNWARE=mCONFIG_SPI_DW_PCI=mCONFIG_SPI_DW_MID_DMA=y
#
# SPI Protocol Masters
#CONFIG_SPI_SPIDEV=mCONFIG_SPI_TLE62X0=mCONFIG_HSI=mCONFIG_HSI_BOARDINFO=y
#
# HSI clients
#CONFIG_HSI_CHAR=m
#
# PPS support
#CONFIG_PPS=mCONFIG_PPS_DEBUG=y
#
# PPS clients support
#CONFIG_PPS_CLIENT_KTIMER=mCONFIG_PPS_CLIENT_LDISC=mCONFIG_PPS_CLIENT_PARPORT=mCONFIG_PPS_CLIENT_GPIO=m
#
# PPS generators support
#
#
# PTP clock support
#CONFIG_PTP_1588_CLOCK=mCONFIG_DP83640_PHY=mCONFIG_PTP_1588_CLOCK_PCH=mCONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=yCONFIG_GPIOLIB=yCONFIG_DEBUG_GPIO=yCONFIG_GPIO_SYSFS=yCONFIG_GPIO_GENERIC=mCONFIG_GPIO_MAX730X=m
#
# Memory mapped GPIO drivers:
#CONFIG_GPIO_GENERIC_PLATFORM=mCONFIG_GPIO_IT8761E=mCONFIG_GPIO_SCH=mCONFIG_GPIO_ICH=mCONFIG_GPIO_VX855=m
#
# I2C GPIO expanders:
#CONFIG_GPIO_MAX7300=mCONFIG_GPIO_MAX732X=mCONFIG_GPIO_PCA953X=mCONFIG_GPIO_PCF857X=mCONFIG_GPIO_STMPE=yCONFIG_GPIO_TPS65912=mCONFIG_GPIO_WM831X=mCONFIG_GPIO_ADP5588=m
#
# PCI GPIO expanders:
#CONFIG_GPIO_CS5535=mCONFIG_GPIO_LANGWELL=yCONFIG_GPIO_PCH=mCONFIG_GPIO_ML_IOH=mCONFIG_GPIO_TIMBERDALE=yCONFIG_GPIO_RDC321X=m
#
# SPI GPIO expanders:
#CONFIG_GPIO_MAX7301=mCONFIG_GPIO_MCP23S08=mCONFIG_GPIO_MC33880=mCONFIG_GPIO_74X164=m
#
# AC97 GPIO expanders:
#CONFIG_GPIO_UCB1400=y
#
# MODULbus GPIO expanders:
#CONFIG_GPIO_JANZ_TTL=mCONFIG_W1=mCONFIG_W1_CON=y
#
# 1-wire Bus Masters
#CONFIG_W1_MASTER_MATROX=mCONFIG_W1_MASTER_DS2490=mCONFIG_W1_MASTER_DS2482=mCONFIG_W1_MASTER_DS1WM=mCONFIG_W1_MASTER_GPIO=m
#
# 1-wire Slaves
#CONFIG_W1_SLAVE_THERM=mCONFIG_W1_SLAVE_SMEM=mCONFIG_W1_SLAVE_DS2408=mCONFIG_W1_SLAVE_DS2423=mCONFIG_W1_SLAVE_DS2431=mCONFIG_W1_SLAVE_DS2433=mCONFIG_W1_SLAVE_DS2433_CRC=yCONFIG_W1_SLAVE_DS2760=mCONFIG_W1_SLAVE_DS2780=mCONFIG_W1_SLAVE_DS2781=mCONFIG_W1_SLAVE_BQ27000=mCONFIG_POWER_SUPPLY=yCONFIG_POWER_SUPPLY_DEBUG=yCONFIG_PDA_POWER=mCONFIG_WM831X_BACKUP=mCONFIG_WM831X_POWER=mCONFIG_TEST_POWER=mCONFIG_BATTERY_DS2760=mCONFIG_BATTERY_DS2780=mCONFIG_BATTERY_DS2781=mCONFIG_BATTERY_DS2782=mCONFIG_BATTERY_SBS=m
CONFIG_BATTERY_BQ27x00=mCONFIG_BATTERY_BQ27X00_I2C=yCONFIG_BATTERY_BQ27X00_PLATFORM=yCONFIG_BATTERY_MAX17040=mCONFIG_BATTERY_MAX17042=mCONFIG_CHARGER_PCF50633=mCONFIG_CHARGER_ISP1704=mCONFIG_CHARGER_MAX8903=mCONFIG_CHARGER_LP8727=mCONFIG_CHARGER_GPIO=mCONFIG_CHARGER_MANAGER=yCONFIG_CHARGER_SMB347=mCONFIG_HWMON=mCONFIG_HWMON_VID=mCONFIG_HWMON_DEBUG_CHIP=y
#
# Native drivers
#CONFIG_SENSORS_ABITUGURU=mCONFIG_SENSORS_ABITUGURU3=mCONFIG_SENSORS_AD7314=mCONFIG_SENSORS_AD7414=mCONFIG_SENSORS_AD7418=mCONFIG_SENSORS_ADCXX=mCONFIG_SENSORS_ADM1021=mCONFIG_SENSORS_ADM1025=mCONFIG_SENSORS_ADM1026=mCONFIG_SENSORS_ADM1029=mCONFIG_SENSORS_ADM1031=mCONFIG_SENSORS_ADM9240=mCONFIG_SENSORS_ADT7411=mCONFIG_SENSORS_ADT7462=mCONFIG_SENSORS_ADT7470=mCONFIG_SENSORS_ADT7475=mCONFIG_SENSORS_ASC7621=mCONFIG_SENSORS_K8TEMP=mCONFIG_SENSORS_K10TEMP=mCONFIG_SENSORS_FAM15H_POWER=mCONFIG_SENSORS_ASB100=mCONFIG_SENSORS_ATXP1=mCONFIG_SENSORS_DS620=mCONFIG_SENSORS_DS1621=mCONFIG_SENSORS_I5K_AMB=mCONFIG_SENSORS_F71805F=mCONFIG_SENSORS_F71882FG=mCONFIG_SENSORS_F75375S=mCONFIG_SENSORS_FSCHMD=mCONFIG_SENSORS_G760A=mCONFIG_SENSORS_GL518SM=mCONFIG_SENSORS_GL520SM=mCONFIG_SENSORS_GPIO_FAN=mCONFIG_SENSORS_CORETEMP=mCONFIG_SENSORS_IBMAEM=mCONFIG_SENSORS_IBMPEX=mCONFIG_SENSORS_IT87=mCONFIG_SENSORS_JC42=mCONFIG_SENSORS_LINEAGE=mCONFIG_SENSORS_LM63=mCONFIG_SENSORS_LM70=mCONFIG_SENSORS_LM73=mCONFIG_SENSORS_LM75=mCONFIG_SENSORS_LM77=mCONFIG_SENSORS_LM78=mCONFIG_SENSORS_LM80=mCONFIG_SENSORS_LM83=mCONFIG_SENSORS_LM85=mCONFIG_SENSORS_LM87=mCONFIG_SENSORS_LM90=mCONFIG_SENSORS_LM92=mCONFIG_SENSORS_LM93=mCONFIG_SENSORS_LTC4151=mCONFIG_SENSORS_LTC4215=mCONFIG_SENSORS_LTC4245=mCONFIG_SENSORS_LTC4261=mCONFIG_SENSORS_LM95241=mCONFIG_SENSORS_LM95245=mCONFIG_SENSORS_MAX1111=mCONFIG_SENSORS_MAX16065=mCONFIG_SENSORS_MAX1619=mCONFIG_SENSORS_MAX1668=mCONFIG_SENSORS_MAX6639=mCONFIG_SENSORS_MAX6642=mCONFIG_SENSORS_MAX6650=mCONFIG_SENSORS_MCP3021=mCONFIG_SENSORS_NTC_THERMISTOR=mCONFIG_SENSORS_PC87360=mCONFIG_SENSORS_PC87427=mCONFIG_SENSORS_PCF8591=mCONFIG_PMBUS=mCONFIG_SENSORS_PMBUS=mCONFIG_SENSORS_ADM1275=mCONFIG_SENSORS_LM25066=mCONFIG_SENSORS_LTC2978=mCONFIG_SENSORS_MAX16064=mCONFIG_SENSORS_MAX34440=mCONFIG_SENSORS_MAX8688=mCONFIG_SENSORS_UCD9000=mCONFIG_SENSORS_UCD9200=mCONFIG_SENSORS_ZL6100=mCONFIG_SENSORS_SHT15=mCONFIG_SENSORS_SHT21=mCONFIG_SENSORS_SIS5595=mCONFIG_SENSORS_SMM665=mCONFIG_SENSORS_DME1737=mCONFIG_SENSORS_EMC1403=mCONFIG_SENSORS_EMC2103=mCONFIG_SENSORS_EMC6W201=mCONFIG_SENSORS_SMSC47M1=mCONFIG_SENSORS_SMSC47M192=mCONFIG_SENSORS_SMSC47B397=mCONFIG_SENSORS_SCH56XX_COMMON=mCONFIG_SENSORS_SCH5627=mCONFIG_SENSORS_SCH5636=mCONFIG_SENSORS_ADS1015=mCONFIG_SENSORS_ADS7828=mCONFIG_SENSORS_ADS7871=mCONFIG_SENSORS_AMC6821=mCONFIG_SENSORS_INA2XX=mCONFIG_SENSORS_THMC50=mCONFIG_SENSORS_TMP102=mCONFIG_SENSORS_TMP401=mCONFIG_SENSORS_TMP421=mCONFIG_SENSORS_VIA_CPUTEMP=mCONFIG_SENSORS_VIA686A=mCONFIG_SENSORS_VT1211=mCONFIG_SENSORS_VT8231=mCONFIG_SENSORS_W83781D=mCONFIG_SENSORS_W83791D=mCONFIG_SENSORS_W83792D=mCONFIG_SENSORS_W83793=mCONFIG_SENSORS_W83795=mCONFIG_SENSORS_W83795_FANCTRL=yCONFIG_SENSORS_W83L785TS=mCONFIG_SENSORS_W83L786NG=mCONFIG_SENSORS_W83627HF=mCONFIG_SENSORS_W83627EHF=mCONFIG_SENSORS_WM831X=mCONFIG_SENSORS_APPLESMC=mCONFIG_SENSORS_MC13783_ADC=m
#
# ACPI drivers
#CONFIG_SENSORS_ACPI_POWER=mCONFIG_SENSORS_ATK0110=mCONFIG_THERMAL=mCONFIG_THERMAL_HWMON=yCONFIG_WATCHDOG=yCONFIG_WATCHDOG_CORE=yCONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#CONFIG_SOFT_WATCHDOG=mCONFIG_DA9052_WATCHDOG=mCONFIG_WM831X_WATCHDOG=mCONFIG_ACQUIRE_WDT=mCONFIG_ADVANTECH_WDT=mCONFIG_ALIM1535_WDT=mCONFIG_ALIM7101_WDT=mCONFIG_F71808E_WDT=mCONFIG_SP5100_TCO=mCONFIG_GEODE_WDT=mCONFIG_SC520_WDT=mCONFIG_SBC_FITPC2_WATCHDOG=mCONFIG_EUROTECH_WDT=mCONFIG_IB700_WDT=mCONFIG_IBMASR=mCONFIG_WAFER_WDT=mCONFIG_I6300ESB_WDT=mCONFIG_IE6XX_WDT=mCONFIG_ITCO_WDT=mCONFIG_ITCO_VENDOR_SUPPORT=yCONFIG_IT8712F_WDT=mCONFIG_IT87_WDT=mCONFIG_HP_WATCHDOG=mCONFIG_HPWDT_NMI_DECODING=yCONFIG_SC1200_WDT=mCONFIG_PC87413_WDT=mCONFIG_NV_TCO=mCONFIG_60XX_WDT=mCONFIG_SBC8360_WDT=mCONFIG_CPU5_WDT=mCONFIG_SMSC_SCH311X_WDT=mCONFIG_SMSC37B787_WDT=mCONFIG_VIA_WDT=mCONFIG_W83627HF_WDT=mCONFIG_W83697HF_WDT=mCONFIG_W83697UG_WDT=mCONFIG_W83877F_WDT=mCONFIG_W83977F_WDT=mCONFIG_MACHZ_WDT=mCONFIG_SBC_EPX_C3_WATCHDOG=mCONFIG_XEN_WDT=m
#
# PCI-based Watchdog Cards
#CONFIG_PCIPCWATCHDOG=mCONFIG_WDTPCI=m
#
# USB-based Watchdog Cards
#CONFIG_USBPCWATCHDOG=mCONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#CONFIG_SSB=mCONFIG_SSB_SPROM=yCONFIG_SSB_BLOCKIO=yCONFIG_SSB_PCIHOST_POSSIBLE=yCONFIG_SSB_PCIHOST=yCONFIG_SSB_B43_PCI_BRIDGE=yCONFIG_SSB_PCMCIAHOST_POSSIBLE=yCONFIG_SSB_PCMCIAHOST=yCONFIG_SSB_SDIOHOST_POSSIBLE=yCONFIG_SSB_SDIOHOST=yCONFIG_SSB_SILENT=yCONFIG_SSB_DRIVER_PCICORE_POSSIBLE=yCONFIG_SSB_DRIVER_PCICORE=yCONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#CONFIG_BCMA=mCONFIG_BCMA_BLOCKIO=yCONFIG_BCMA_HOST_PCI_POSSIBLE=yCONFIG_BCMA_HOST_PCI=yCONFIG_BCMA_DEBUG=y
#
# Multifunction device drivers
#CONFIG_MFD_CORE=yCONFIG_MFD_SM501=mCONFIG_MFD_SM501_GPIO=yCONFIG_HTC_PASIC3=mCONFIG_UCB1400_CORE=mCONFIG_MFD_LM3533=mCONFIG_TPS6105X=mCONFIG_TPS65010=mCONFIG_TPS6507X=mCONFIG_MFD_TPS65217=mCONFIG_MFD_TPS65912=yCONFIG_MFD_TPS65912_SPI=yCONFIG_MFD_STMPE=y
#
# STMPE Interface Drivers
#CONFIG_STMPE_SPI=y
# CONFIG_MFD_TMIO is not setCONFIG_PMIC_DA9052=yCONFIG_MFD_DA9052_SPI=yCONFIG_MFD_WM831X=yCONFIG_MFD_WM831X_SPI=yCONFIG_MFD_PCF50633=mCONFIG_PCF50633_ADC=mCONFIG_PCF50633_GPIO=mCONFIG_MFD_MC13783=mCONFIG_MFD_MC13XXX=mCONFIG_MFD_MC13XXX_SPI=mCONFIG_MFD_MC13XXX_I2C=mCONFIG_ABX500_CORE=yCONFIG_EZX_PCAP=yCONFIG_MFD_CS5535=mCONFIG_MFD_TIMBERDALE=mCONFIG_LPC_SCH=mCONFIG_LPC_ICH=mCONFIG_MFD_RDC321X=mCONFIG_MFD_JANZ_CMODIO=mCONFIG_MFD_VX855=mCONFIG_MFD_WL1273_CORE=mCONFIG_REGULATOR=yCONFIG_REGULATOR_DEBUG=yCONFIG_REGULATOR_DUMMY=yCONFIG_REGULATOR_FIXED_VOLTAGE=mCONFIG_REGULATOR_VIRTUAL_CONSUMER=mCONFIG_REGULATOR_USERSPACE_CONSUMER=mCONFIG_REGULATOR_GPIO=mCONFIG_REGULATOR_AD5398=mCONFIG_REGULATOR_DA9052=mCONFIG_REGULATOR_MC13XXX_CORE=mCONFIG_REGULATOR_MC13783=mCONFIG_REGULATOR_MC13892=mCONFIG_REGULATOR_ISL6271A=mCONFIG_REGULATOR_MAX1586=mCONFIG_REGULATOR_MAX8649=mCONFIG_REGULATOR_MAX8660=mCONFIG_REGULATOR_MAX8952=mCONFIG_REGULATOR_PCAP=mCONFIG_REGULATOR_LP3971=mCONFIG_REGULATOR_LP3972=mCONFIG_REGULATOR_PCF50633=mCONFIG_REGULATOR_TPS6105X=mCONFIG_REGULATOR_TPS62360=mCONFIG_REGULATOR_TPS65023=mCONFIG_REGULATOR_TPS6507X=mCONFIG_REGULATOR_TPS65217=mCONFIG_REGULATOR_TPS6524X=mCONFIG_REGULATOR_TPS65912=mCONFIG_REGULATOR_WM831X=mCONFIG_MEDIA_SUPPORT=m
#
# Multimedia core support
#CONFIG_MEDIA_CONTROLLER=yCONFIG_VIDEO_DEV=mCONFIG_VIDEO_V4L2_COMMON=mCONFIG_VIDEO_V4L2_SUBDEV_API=yCONFIG_DVB_CORE=mCONFIG_DVB_NET=yCONFIG_VIDEO_MEDIA=m
#
# Multimedia drivers
#CONFIG_VIDEO_SAA7146=mCONFIG_VIDEO_SAA7146_VV=mCONFIG_RC_CORE=mCONFIG_LIRC=mCONFIG_RC_MAP=mCONFIG_IR_NEC_DECODER=mCONFIG_IR_RC5_DECODER=mCONFIG_IR_RC6_DECODER=mCONFIG_IR_JVC_DECODER=mCONFIG_IR_SONY_DECODER=mCONFIG_IR_RC5_SZ_DECODER=mCONFIG_IR_SANYO_DECODER=mCONFIG_IR_MCE_KBD_DECODER=mCONFIG_IR_LIRC_CODEC=mCONFIG_RC_ATI_REMOTE=mCONFIG_IR_ENE=mCONFIG_IR_IMON=mCONFIG_IR_MCEUSB=mCONFIG_IR_ITE_CIR=mCONFIG_IR_FINTEK=mCONFIG_IR_NUVOTON=mCONFIG_IR_REDRAT3=mCONFIG_IR_STREAMZAP=mCONFIG_IR_WINBOND_CIR=mCONFIG_RC_LOOPBACK=mCONFIG_IR_GPIO_CIR=mCONFIG_MEDIA_ATTACH=yCONFIG_MEDIA_TUNER=mCONFIG_MEDIA_TUNER_CUSTOMISE=y
#
# Customize TV tuners
#CONFIG_MEDIA_TUNER_SIMPLE=mCONFIG_MEDIA_TUNER_TDA8290=mCONFIG_MEDIA_TUNER_TDA827X=mCONFIG_MEDIA_TUNER_TDA18271=mCONFIG_MEDIA_TUNER_TDA9887=mCONFIG_MEDIA_TUNER_TEA5761=mCONFIG_MEDIA_TUNER_TEA5767=mCONFIG_MEDIA_TUNER_MT20XX=mCONFIG_MEDIA_TUNER_MT2060=mCONFIG_MEDIA_TUNER_MT2063=mCONFIG_MEDIA_TUNER_MT2266=mCONFIG_MEDIA_TUNER_MT2131=mCONFIG_MEDIA_TUNER_QT1010=mCONFIG_MEDIA_TUNER_XC2028=mCONFIG_MEDIA_TUNER_XC5000=mCONFIG_MEDIA_TUNER_XC4000=mCONFIG_MEDIA_TUNER_MXL5005S=mCONFIG_MEDIA_TUNER_MXL5007T=mCONFIG_MEDIA_TUNER_MC44S803=mCONFIG_MEDIA_TUNER_MAX2165=mCONFIG_MEDIA_TUNER_TDA18218=mCONFIG_MEDIA_TUNER_FC0011=mCONFIG_MEDIA_TUNER_FC0012=mCONFIG_MEDIA_TUNER_FC0013=mCONFIG_MEDIA_TUNER_TDA18212=mCONFIG_MEDIA_TUNER_TUA9001=mCONFIG_VIDEO_V4L2=mCONFIG_VIDEOBUF_GEN=mCONFIG_VIDEOBUF_DMA_SG=mCONFIG_VIDEOBUF_VMALLOC=mCONFIG_VIDEOBUF_DMA_CONTIG=mCONFIG_VIDEOBUF_DVB=mCONFIG_VIDEO_BTCX=mCONFIG_VIDEO_TVEEPROM=mCONFIG_VIDEO_TUNER=mCONFIG_V4L2_MEM2MEM_DEV=mCONFIG_VIDEOBUF2_CORE=mCONFIG_VIDEOBUF2_MEMOPS=mCONFIG_VIDEOBUF2_DMA_CONTIG=mCONFIG_VIDEOBUF2_VMALLOC=mCONFIG_VIDEO_CAPTURE_DRIVERS=yCONFIG_VIDEO_ADV_DEBUG=yCONFIG_VIDEO_FIXED_MINOR_RANGES=yCONFIG_VIDEO_HELPER_CHIPS_AUTO=yCONFIG_VIDEO_IR_I2C=m
#
# Audio decoders, processors and mixers
#CONFIG_VIDEO_TVAUDIO=mCONFIG_VIDEO_TDA7432=mCONFIG_VIDEO_TDA9840=mCONFIG_VIDEO_TEA6415C=mCONFIG_VIDEO_TEA6420=mCONFIG_VIDEO_MSP3400=mCONFIG_VIDEO_CS5345=mCONFIG_VIDEO_CS53L32A=mCONFIG_VIDEO_WM8775=mCONFIG_VIDEO_WM8739=mCONFIG_VIDEO_VP27SMPX=m
#
# RDS decoders
#CONFIG_VIDEO_SAA6588=m
#
# Video decoders
#CONFIG_VIDEO_ADV7180=mCONFIG_VIDEO_BT819=mCONFIG_VIDEO_BT856=mCONFIG_VIDEO_BT866=mCONFIG_VIDEO_KS0127=mCONFIG_VIDEO_SAA7110=mCONFIG_VIDEO_SAA711X=mCONFIG_VIDEO_TVP5150=mCONFIG_VIDEO_VPX3220=m
#
# Video and audio decoders
#CONFIG_VIDEO_SAA717X=mCONFIG_VIDEO_CX25840=m
#
# MPEG video encoders
#CONFIG_VIDEO_CX2341X=m
#
# Video encoders
#CONFIG_VIDEO_SAA7127=mCONFIG_VIDEO_SAA7185=mCONFIG_VIDEO_ADV7170=mCONFIG_VIDEO_ADV7175=m
#
# Camera sensor devices
#CONFIG_VIDEO_OV7670=mCONFIG_VIDEO_MT9V011=m
#
# Flash devices
#
#
# Video improvement chips
#CONFIG_VIDEO_UPD64031A=mCONFIG_VIDEO_UPD64083=m
#
# Miscelaneous helper chips
#CONFIG_VIDEO_M52790=mCONFIG_VIDEO_VIVI=mCONFIG_V4L_USB_DRIVERS=yCONFIG_VIDEO_AU0828=mCONFIG_USB_VIDEO_CLASS=mCONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=yCONFIG_USB_GSPCA=mCONFIG_USB_M5602=mCONFIG_USB_STV06XX=mCONFIG_USB_GL860=mCONFIG_USB_GSPCA_BENQ=mCONFIG_USB_GSPCA_CONEX=mCONFIG_USB_GSPCA_CPIA1=mCONFIG_USB_GSPCA_ETOMS=mCONFIG_USB_GSPCA_FINEPIX=mCONFIG_USB_GSPCA_JEILINJ=mCONFIG_USB_GSPCA_JL2005BCD=mCONFIG_USB_GSPCA_KINECT=mCONFIG_USB_GSPCA_KONICA=mCONFIG_USB_GSPCA_MARS=mCONFIG_USB_GSPCA_MR97310A=mCONFIG_USB_GSPCA_NW80X=mCONFIG_USB_GSPCA_OV519=mCONFIG_USB_GSPCA_OV534=mCONFIG_USB_GSPCA_OV534_9=mCONFIG_USB_GSPCA_PAC207=mCONFIG_USB_GSPCA_PAC7302=mCONFIG_USB_GSPCA_PAC7311=mCONFIG_USB_GSPCA_SE401=mCONFIG_USB_GSPCA_SN9C2028=mCONFIG_USB_GSPCA_SN9C20X=mCONFIG_USB_GSPCA_SONIXB=mCONFIG_USB_GSPCA_SONIXJ=mCONFIG_USB_GSPCA_SPCA500=mCONFIG_USB_GSPCA_SPCA501=mCONFIG_USB_GSPCA_SPCA505=mCONFIG_USB_GSPCA_SPCA506=mCONFIG_USB_GSPCA_SPCA508=mCONFIG_USB_GSPCA_SPCA561=mCONFIG_USB_GSPCA_SPCA1528=mCONFIG_USB_GSPCA_SQ905=mCONFIG_USB_GSPCA_SQ905C=mCONFIG_USB_GSPCA_SQ930X=mCONFIG_USB_GSPCA_STK014=mCONFIG_USB_GSPCA_STV0680=mCONFIG_USB_GSPCA_SUNPLUS=mCONFIG_USB_GSPCA_T613=mCONFIG_USB_GSPCA_TOPRO=mCONFIG_USB_GSPCA_TV8532=mCONFIG_USB_GSPCA_VC032X=mCONFIG_USB_GSPCA_VICAM=mCONFIG_USB_GSPCA_XIRLINK_CIT=mCONFIG_USB_GSPCA_ZC3XX=mCONFIG_VIDEO_PVRUSB2=mCONFIG_VIDEO_PVRUSB2_SYSFS=yCONFIG_VIDEO_PVRUSB2_DVB=yCONFIG_VIDEO_PVRUSB2_DEBUGIFC=yCONFIG_VIDEO_HDPVR=mCONFIG_VIDEO_EM28XX=mCONFIG_VIDEO_EM28XX_ALSA=mCONFIG_VIDEO_EM28XX_DVB=mCONFIG_VIDEO_EM28XX_RC=mCONFIG_VIDEO_TLG2300=mCONFIG_VIDEO_CX231XX=mCONFIG_VIDEO_CX231XX_RC=yCONFIG_VIDEO_CX231XX_ALSA=mCONFIG_VIDEO_CX231XX_DVB=mCONFIG_VIDEO_TM6000=mCONFIG_VIDEO_TM6000_ALSA=mCONFIG_VIDEO_TM6000_DVB=mCONFIG_VIDEO_USBVISION=mCONFIG_USB_SN9C102=mCONFIG_USB_PWC=mCONFIG_USB_PWC_DEBUG=yCONFIG_USB_PWC_INPUT_EVDEV=yCONFIG_VIDEO_CPIA2=mCONFIG_USB_ZR364XX=mCONFIG_USB_STKWEBCAM=mCONFIG_USB_S2255=mCONFIG_V4L_PCI_DRIVERS=yCONFIG_VIDEO_BT848=mCONFIG_VIDEO_BT848_DVB=yCONFIG_VIDEO_CX18=mCONFIG_VIDEO_CX18_ALSA=mCONFIG_VIDEO_CX23885=mCONFIG_MEDIA_ALTERA_CI=mCONFIG_VIDEO_CX25821=mCONFIG_VIDEO_CX25821_ALSA=mCONFIG_VIDEO_CX88=mCONFIG_VIDEO_CX88_ALSA=mCONFIG_VIDEO_CX88_BLACKBIRD=mCONFIG_VIDEO_CX88_DVB=mCONFIG_VIDEO_CX88_VP3054=mCONFIG_VIDEO_CX88_MPEG=mCONFIG_VIDEO_HEXIUM_GEMINI=mCONFIG_VIDEO_HEXIUM_ORION=mCONFIG_VIDEO_IVTV=mCONFIG_VIDEO_FB_IVTV=mCONFIG_VIDEO_MEYE=mCONFIG_VIDEO_MXB=mCONFIG_VIDEO_SAA7134=mCONFIG_VIDEO_SAA7134_ALSA=mCONFIG_VIDEO_SAA7134_RC=yCONFIG_VIDEO_SAA7134_DVB=mCONFIG_VIDEO_SAA7164=mCONFIG_VIDEO_ZORAN=mCONFIG_VIDEO_ZORAN_DC30=mCONFIG_VIDEO_ZORAN_ZR36060=mCONFIG_VIDEO_ZORAN_BUZ=mCONFIG_VIDEO_ZORAN_DC10=mCONFIG_VIDEO_ZORAN_LML33=mCONFIG_VIDEO_ZORAN_LML33R10=mCONFIG_VIDEO_ZORAN_AVS6EYES=mCONFIG_V4L_ISA_PARPORT_DRIVERS=yCONFIG_VIDEO_BWQCAM=mCONFIG_VIDEO_CQCAM=mCONFIG_VIDEO_W9966=mCONFIG_V4L_PLATFORM_DRIVERS=yCONFIG_VIDEO_CAFE_CCIC=mCONFIG_VIDEO_VIA_CAMERA=mCONFIG_VIDEO_TIMBERDALE=mCONFIG_SOC_CAMERA=mCONFIG_SOC_CAMERA_IMX074=mCONFIG_SOC_CAMERA_MT9M001=mCONFIG_SOC_CAMERA_MT9M111=mCONFIG_SOC_CAMERA_MT9T031=mCONFIG_SOC_CAMERA_MT9T112=mCONFIG_SOC_CAMERA_MT9V022=mCONFIG_SOC_CAMERA_RJ54N1=mCONFIG_SOC_CAMERA_TW9910=mCONFIG_SOC_CAMERA_PLATFORM=mCONFIG_SOC_CAMERA_OV2640=mCONFIG_SOC_CAMERA_OV5642=mCONFIG_SOC_CAMERA_OV6650=mCONFIG_SOC_CAMERA_OV772X=mCONFIG_SOC_CAMERA_OV9640=mCONFIG_SOC_CAMERA_OV9740=mCONFIG_V4L_MEM2MEM_DRIVERS=yCONFIG_VIDEO_MEM2MEM_TESTDEV=mCONFIG_RADIO_ADAPTERS=yCONFIG_RADIO_SI470X=yCONFIG_USB_SI470X=mCONFIG_I2C_SI470X=mCONFIG_USB_MR800=mCONFIG_USB_DSBR=mCONFIG_RADIO_MAXIRADIO=mCONFIG_I2C_SI4713=mCONFIG_RADIO_SI4713=mCONFIG_USB_KEENE=mCONFIG_RADIO_TEA5764=mCONFIG_RADIO_SAA7706H=mCONFIG_RADIO_TEF6862=mCONFIG_RADIO_TIMBERDALE=mCONFIG_RADIO_WL1273=m
#
# Texas Instruments WL128x FM driver (ST based)
#CONFIG_RADIO_WL128X=mCONFIG_DVB_MAX_ADAPTERS=8CONFIG_DVB_DYNAMIC_MINORS=yCONFIG_DVB_CAPTURE_DRIVERS=y
#
# Supported SAA7146 based PCI Adapters
#CONFIG_TTPCI_EEPROM=mCONFIG_DVB_AV7110=mCONFIG_DVB_AV7110_OSD=yCONFIG_DVB_BUDGET_CORE=mCONFIG_DVB_BUDGET=mCONFIG_DVB_BUDGET_CI=mCONFIG_DVB_BUDGET_AV=mCONFIG_DVB_BUDGET_PATCH=m
#
# Supported USB Adapters
#CONFIG_DVB_USB=mCONFIG_DVB_USB_DEBUG=yCONFIG_DVB_USB_A800=mCONFIG_DVB_USB_DIBUSB_MB=mCONFIG_DVB_USB_DIBUSB_MB_FAULTY=yCONFIG_DVB_USB_DIBUSB_MC=mCONFIG_DVB_USB_DIB0700=mCONFIG_DVB_USB_UMT_010=mCONFIG_DVB_USB_CXUSB=mCONFIG_DVB_USB_M920X=mCONFIG_DVB_USB_GL861=mCONFIG_DVB_USB_AU6610=mCONFIG_DVB_USB_DIGITV=mCONFIG_DVB_USB_VP7045=mCONFIG_DVB_USB_VP702X=mCONFIG_DVB_USB_GP8PSK=mCONFIG_DVB_USB_NOVA_T_USB2=mCONFIG_DVB_USB_TTUSB2=mCONFIG_DVB_USB_DTT200U=mCONFIG_DVB_USB_OPERA1=mCONFIG_DVB_USB_AF9005=mCONFIG_DVB_USB_AF9005_REMOTE=mCONFIG_DVB_USB_PCTV452E=mCONFIG_DVB_USB_DW2102=mCONFIG_DVB_USB_CINERGY_T2=mCONFIG_DVB_USB_ANYSEE=mCONFIG_DVB_USB_DTV5100=mCONFIG_DVB_USB_AF9015=mCONFIG_DVB_USB_CE6230=mCONFIG_DVB_USB_FRIIO=mCONFIG_DVB_USB_EC168=mCONFIG_DVB_USB_AZ6007=mCONFIG_DVB_USB_AZ6027=mCONFIG_DVB_USB_LME2510=mCONFIG_DVB_USB_TECHNISAT_USB2=mCONFIG_DVB_USB_IT913X=mCONFIG_DVB_USB_MXL111SF=mCONFIG_DVB_USB_RTL28XXU=mCONFIG_DVB_USB_AF9035=mCONFIG_DVB_TTUSB_BUDGET=mCONFIG_DVB_TTUSB_DEC=mCONFIG_SMS_SIANO_MDTV=m
#
# Siano module components
#CONFIG_SMS_USB_DRV=mCONFIG_SMS_SDIO_DRV=m
#
# Supported FlexCopII (B2C2) Adapters
#CONFIG_DVB_B2C2_FLEXCOP=mCONFIG_DVB_B2C2_FLEXCOP_PCI=mCONFIG_DVB_B2C2_FLEXCOP_USB=mCONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
#
# 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=mCONFIG_DVB_FIREDTV_INPUT=y
#
# Supported Earthsoft PT1 Adapters
#CONFIG_DVB_PT1=m
#
# Supported Mantis Adapters
#CONFIG_MANTIS_CORE=mCONFIG_DVB_MANTIS=mCONFIG_DVB_HOPPER=m
#
# Supported nGene Adapters
#CONFIG_DVB_NGENE=m
#
# Supported ddbridge ('Octopus') Adapters
#CONFIG_DVB_DDBRIDGE=m
#
# Supported DVB Frontends
#CONFIG_DVB_FE_CUSTOMISE=y
#
# Customise DVB Frontends
#
#
# Multistandard (satellite) frontends
#CONFIG_DVB_STB0899=mCONFIG_DVB_STB6100=m
CONFIG_DVB_STV090x=m
CONFIG_DVB_STV6110x=m
#
# Multistandard (cable + terrestrial) frontends
#CONFIG_DVB_DRXK=mCONFIG_DVB_TDA18271C2DD=m
#
# DVB-S (satellite) frontends
#CONFIG_DVB_CX24110=mCONFIG_DVB_CX24123=mCONFIG_DVB_MT312=mCONFIG_DVB_ZL10036=mCONFIG_DVB_ZL10039=mCONFIG_DVB_S5H1420=mCONFIG_DVB_STV0288=mCONFIG_DVB_STB6000=mCONFIG_DVB_STV0299=mCONFIG_DVB_STV6110=mCONFIG_DVB_STV0900=mCONFIG_DVB_TDA8083=mCONFIG_DVB_TDA10086=mCONFIG_DVB_TDA8261=mCONFIG_DVB_VES1X93=mCONFIG_DVB_TUNER_ITD1000=mCONFIG_DVB_TUNER_CX24113=mCONFIG_DVB_TDA826X=mCONFIG_DVB_TUA6100=mCONFIG_DVB_CX24116=mCONFIG_DVB_SI21XX=mCONFIG_DVB_DS3000=mCONFIG_DVB_MB86A16=mCONFIG_DVB_TDA10071=m
#
# DVB-T (terrestrial) frontends
#CONFIG_DVB_SP8870=mCONFIG_DVB_SP887X=mCONFIG_DVB_CX22700=mCONFIG_DVB_CX22702=mCONFIG_DVB_S5H1432=mCONFIG_DVB_DRXD=mCONFIG_DVB_L64781=mCONFIG_DVB_TDA1004X=mCONFIG_DVB_NXT6000=mCONFIG_DVB_MT352=mCONFIG_DVB_ZL10353=mCONFIG_DVB_DIB3000MB=mCONFIG_DVB_DIB3000MC=mCONFIG_DVB_DIB7000M=mCONFIG_DVB_DIB7000P=mCONFIG_DVB_DIB9000=mCONFIG_DVB_TDA10048=mCONFIG_DVB_AF9013=mCONFIG_DVB_EC100=mCONFIG_DVB_HD29L2=mCONFIG_DVB_STV0367=mCONFIG_DVB_CXD2820R=mCONFIG_DVB_RTL2830=m
#
# DVB-C (cable) frontends
#CONFIG_DVB_VES1820=mCONFIG_DVB_TDA10021=mCONFIG_DVB_TDA10023=mCONFIG_DVB_STV0297=m
#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends #CONFIG_DVB_NXT200X=mCONFIG_DVB_OR51211=mCONFIG_DVB_OR51132=mCONFIG_DVB_BCM3510=mCONFIG_DVB_LGDT330X=mCONFIG_DVB_LGDT3305=mCONFIG_DVB_LG2160=mCONFIG_DVB_S5H1409=mCONFIG_DVB_AU8522=mCONFIG_DVB_AU8522_DTV=mCONFIG_DVB_AU8522_V4L=mCONFIG_DVB_S5H1411=m
#
# ISDB-T (terrestrial) frontends
#CONFIG_DVB_S921=mCONFIG_DVB_DIB8000=mCONFIG_DVB_MB86A20S=m
#
# Digital terrestrial only tuners/PLL
#CONFIG_DVB_PLL=mCONFIG_DVB_TUNER_DIB0070=mCONFIG_DVB_TUNER_DIB0090=m
#
# SEC control devices for DVB-S
#CONFIG_DVB_LNBP21=mCONFIG_DVB_LNBP22=mCONFIG_DVB_ISL6405=mCONFIG_DVB_ISL6421=mCONFIG_DVB_ISL6423=mCONFIG_DVB_A8293=mCONFIG_DVB_LGS8GL5=mCONFIG_DVB_LGS8GXX=mCONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=mCONFIG_DVB_IX2505V=mCONFIG_DVB_IT913X_FE=mCONFIG_DVB_M88RS2000=mCONFIG_DVB_AF9033=m
#
# Tools to develop new frontends
#CONFIG_DVB_DUMMY_FE=m
#
# Graphics support
#CONFIG_AGP=mCONFIG_AGP_AMD64=mCONFIG_AGP_INTEL=mCONFIG_AGP_SIS=mCONFIG_AGP_VIA=mCONFIG_VGA_ARB=yCONFIG_VGA_ARB_MAX_GPUS=16CONFIG_VGA_SWITCHEROO=yCONFIG_DRM=mCONFIG_DRM_USB=mCONFIG_DRM_KMS_HELPER=mCONFIG_DRM_LOAD_EDID_FIRMWARE=yCONFIG_DRM_TTM=mCONFIG_DRM_TDFX=mCONFIG_DRM_R128=mCONFIG_DRM_RADEON=mCONFIG_DRM_RADEON_KMS=yCONFIG_DRM_NOUVEAU=mCONFIG_DRM_NOUVEAU_BACKLIGHT=yCONFIG_DRM_NOUVEAU_DEBUG=y
#
# I2C encoder or helper chips
#CONFIG_DRM_I2C_CH7006=mCONFIG_DRM_I2C_SIL164=mCONFIG_DRM_I810=mCONFIG_DRM_I915=mCONFIG_DRM_I915_KMS=yCONFIG_DRM_MGA=mCONFIG_DRM_SIS=mCONFIG_DRM_VIA=mCONFIG_DRM_SAVAGE=mCONFIG_DRM_VMWGFX=mCONFIG_DRM_GMA500=mCONFIG_DRM_GMA600=yCONFIG_DRM_GMA3600=yCONFIG_DRM_UDL=mCONFIG_DRM_AST=mCONFIG_DRM_MGAG200=mCONFIG_DRM_CIRRUS_QEMU=mCONFIG_STUB_POULSBO=mCONFIG_VGASTATE=mCONFIG_VIDEO_OUTPUT_CONTROL=mCONFIG_FB=mCONFIG_FIRMWARE_EDID=yCONFIG_FB_DDC=m
# CONFIG_FB_BOOT_VESA_SUPPORT is not setCONFIG_FB_CFB_FILLRECT=mCONFIG_FB_CFB_COPYAREA=mCONFIG_FB_CFB_IMAGEBLIT=m
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not setCONFIG_FB_SYS_FILLRECT=mCONFIG_FB_SYS_COPYAREA=mCONFIG_FB_SYS_IMAGEBLIT=mCONFIG_FB_FOREIGN_ENDIAN=yCONFIG_FB_BOTH_ENDIAN=y
# CONFIG_FB_BIG_ENDIAN is not set
# CONFIG_FB_LITTLE_ENDIAN is not setCONFIG_FB_SYS_FOPS=m
# CONFIG_FB_WMT_GE_ROPS is not setCONFIG_FB_DEFERRED_IO=yCONFIG_FB_HECUBA=mCONFIG_FB_SVGALIB=m
# CONFIG_FB_MACMODES is not setCONFIG_FB_BACKLIGHT=yCONFIG_FB_MODE_HELPERS=yCONFIG_FB_TILEBLITTING=y
2,271 lines not shown · raw message
Part of this message is not shown here. View the raw message.