linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
@ 2011-12-12  0:12 Keith Packard
  2011-12-12  2:59 ` Linus Torvalds
  2011-12-12  3:06 ` Ingo Molnar
  0 siblings, 2 replies; 29+ messages in thread
From: Keith Packard @ 2011-12-12  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: Keith Packard, Matt Fleming, H. Peter Anvin, Matthew Garrett,
	Zhang Rui, Huang Ying, Linus Torvalds, Andrew Morton,
	Ingo Molnar

This hangs my MacBook Air at boot time; I get no console messages at
all. I reverted this on top of -rc5 and my machine boots again.

This reverts commit e8c7106280a305e1ff2a3a8a4dfce141469fb039.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Huang Ying <huang.ying.caritas@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/1321621751-3650-1-git-send-email-matt@console
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Keith Packard <keithp@keithp.com>
---
 arch/x86/include/asm/e820.h    |    8 --------
 arch/x86/include/asm/efi.h     |    5 +++++
 arch/x86/kernel/e820.c         |    3 +--
 arch/x86/kernel/setup.c        |   21 +--------------------
 arch/x86/platform/efi/efi.c    |   29 +++++++++++------------------
 arch/x86/platform/efi/efi_64.c |   17 +++++++++++++++++
 6 files changed, 35 insertions(+), 48 deletions(-)

diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index c954703..908b969 100644
--- a/arch/x86/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -53,13 +53,6 @@
  */
 #define E820_RESERVED_KERN        128
 
-/*
- * Address ranges that need to be mapped by the kernel direct
- * mapping. This is used to make sure regions such as
- * EFI_RUNTIME_SERVICES_DATA are directly mapped. See setup_arch().
- */
-#define E820_RESERVED_EFI         129
-
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
 struct e820entry {
@@ -122,7 +115,6 @@ static inline void early_memtest(unsigned long start, unsigned long end)
 }
 #endif
 
-extern unsigned long e820_end_pfn(unsigned long limit_pfn, unsigned type);
 extern unsigned long e820_end_of_ram_pfn(void);
 extern unsigned long e820_end_of_low_ram_pfn(void);
 extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align);
diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
index b8d8bfc..7093e4a 100644
--- a/arch/x86/include/asm/efi.h
+++ b/arch/x86/include/asm/efi.h
@@ -33,6 +33,8 @@ extern unsigned long asmlinkage efi_call_phys(void *, ...);
 #define efi_call_virt6(f, a1, a2, a3, a4, a5, a6)	\
 	efi_call_virt(f, a1, a2, a3, a4, a5, a6)
 
+#define efi_ioremap(addr, size, type)		ioremap_cache(addr, size)
+
 #else /* !CONFIG_X86_32 */
 
 extern u64 efi_call0(void *fp);
@@ -82,6 +84,9 @@ extern u64 efi_call6(void *fp, u64 arg1, u64 arg2, u64 arg3,
 	efi_call6((void *)(efi.systab->runtime->f), (u64)(a1), (u64)(a2), \
 		  (u64)(a3), (u64)(a4), (u64)(a5), (u64)(a6))
 
+extern void __iomem *efi_ioremap(unsigned long addr, unsigned long size,
+				 u32 type);
+
 #endif /* CONFIG_X86_32 */
 
 extern int add_efi_memmap;
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 65ffd11..303a0e4 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -135,7 +135,6 @@ static void __init e820_print_type(u32 type)
 		printk(KERN_CONT "(usable)");
 		break;
 	case E820_RESERVED:
-	case E820_RESERVED_EFI:
 		printk(KERN_CONT "(reserved)");
 		break;
 	case E820_ACPI:
@@ -784,7 +783,7 @@ u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align)
 /*
  * Find the highest page frame number we have available
  */
-unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
+static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
 {
 	int i;
 	unsigned long last_pfn = 0;
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 9a9e40f..cf0ef98 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -691,8 +691,6 @@ early_param("reservelow", parse_reservelow);
 
 void __init setup_arch(char **cmdline_p)
 {
-	unsigned long end_pfn;
-
 #ifdef CONFIG_X86_32
 	memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
 	visws_early_detect();
@@ -934,24 +932,7 @@ void __init setup_arch(char **cmdline_p)
 	init_gbpages();
 
 	/* max_pfn_mapped is updated here */
-	end_pfn = max_low_pfn;
-
-#ifdef CONFIG_X86_64
-	/*
-	 * There may be regions after the last E820_RAM region that we
-	 * want to include in the kernel direct mapping, such as
-	 * EFI_RUNTIME_SERVICES_DATA.
-	 */
-	if (efi_enabled) {
-		unsigned long efi_end;
-
-		efi_end = e820_end_pfn(MAXMEM>>PAGE_SHIFT, E820_RESERVED_EFI);
-		if (efi_end > max_low_pfn)
-			end_pfn = efi_end;
-	}
-#endif
-
-	max_low_pfn_mapped = init_memory_mapping(0, end_pfn << PAGE_SHIFT);
+	max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT);
 	max_pfn_mapped = max_low_pfn_mapped;
 
 #ifdef CONFIG_X86_64
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index c9718a1..37718f0 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -323,13 +323,10 @@ static void __init do_add_efi_memmap(void)
 		case EFI_UNUSABLE_MEMORY:
 			e820_type = E820_UNUSABLE;
 			break;
-		case EFI_RUNTIME_SERVICES_DATA:
-			e820_type = E820_RESERVED_EFI;
-			break;
 		default:
 			/*
 			 * EFI_RESERVED_TYPE EFI_RUNTIME_SERVICES_CODE
-			 * EFI_MEMORY_MAPPED_IO
+			 * EFI_RUNTIME_SERVICES_DATA EFI_MEMORY_MAPPED_IO
 			 * EFI_MEMORY_MAPPED_IO_PORT_SPACE EFI_PAL_CODE
 			 */
 			e820_type = E820_RESERVED;
@@ -674,21 +671,10 @@ void __init efi_enter_virtual_mode(void)
 		end_pfn = PFN_UP(end);
 		if (end_pfn <= max_low_pfn_mapped
 		    || (end_pfn > (1UL << (32 - PAGE_SHIFT))
-			&& end_pfn <= max_pfn_mapped)) {
+			&& end_pfn <= max_pfn_mapped))
 			va = __va(md->phys_addr);
-
-			if (!(md->attribute & EFI_MEMORY_WB)) {
-				addr = (u64) (unsigned long)va;
-				npages = md->num_pages;
-				memrange_efi_to_native(&addr, &npages);
-				set_memory_uc(addr, npages);
-			}
-		} else {
-			if (!(md->attribute & EFI_MEMORY_WB))
-				va = ioremap_nocache(md->phys_addr, size);
-			else
-				va = ioremap_cache(md->phys_addr, size);
-		}
+		else
+			va = efi_ioremap(md->phys_addr, size, md->type);
 
 		md->virt_addr = (u64) (unsigned long) va;
 
@@ -698,6 +684,13 @@ void __init efi_enter_virtual_mode(void)
 			continue;
 		}
 
+		if (!(md->attribute & EFI_MEMORY_WB)) {
+			addr = md->virt_addr;
+			npages = md->num_pages;
+			memrange_efi_to_native(&addr, &npages);
+			set_memory_uc(addr, npages);
+		}
+
 		systab = (u64) (unsigned long) efi_phys.systab;
 		if (md->phys_addr <= systab && systab < end) {
 			systab += md->virt_addr - md->phys_addr;
diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
index 312250c..ac3aa54 100644
--- a/arch/x86/platform/efi/efi_64.c
+++ b/arch/x86/platform/efi/efi_64.c
@@ -80,3 +80,20 @@ void __init efi_call_phys_epilog(void)
 	local_irq_restore(efi_flags);
 	early_code_mapping_set_exec(0);
 }
+
+void __iomem *__init efi_ioremap(unsigned long phys_addr, unsigned long size,
+				 u32 type)
+{
+	unsigned long last_map_pfn;
+
+	if (type == EFI_MEMORY_MAPPED_IO)
+		return ioremap(phys_addr, size);
+
+	last_map_pfn = init_memory_mapping(phys_addr, phys_addr + size);
+	if ((last_map_pfn << PAGE_SHIFT) < phys_addr + size) {
+		unsigned long top = last_map_pfn << PAGE_SHIFT;
+		efi_ioremap(top, size - (top - phys_addr), type);
+	}
+
+	return (void __iomem *)__va(phys_addr);
+}
-- 
1.7.7.3


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  0:12 [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid" Keith Packard
@ 2011-12-12  2:59 ` Linus Torvalds
  2011-12-12  3:01   ` H. Peter Anvin
                     ` (2 more replies)
  2011-12-12  3:06 ` Ingo Molnar
  1 sibling, 3 replies; 29+ messages in thread
From: Linus Torvalds @ 2011-12-12  2:59 UTC (permalink / raw)
  To: Keith Packard
  Cc: linux-kernel, Matt Fleming, H. Peter Anvin, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On Sun, Dec 11, 2011 at 4:12 PM, Keith Packard <keithp@keithp.com> wrote:
> This hangs my MacBook Air at boot time; I get no console messages at
> all. I reverted this on top of -rc5 and my machine boots again.

Interesting. Current -git works for me on my 11" Macbook Air. Which
should be identical to yours. This is the 4GB RAM, 128GB disk version,
no?

But I'm running OpenSUSE, and you're running Debian, right? And our
kernel configs are probably wildly different, since I tend to try to
boot a fairly minimal set.

That said, if you've verified that if fails for you, I guess we should
revert regardless. Matt, any suggestions for tests to do?

                       Linus

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  2:59 ` Linus Torvalds
@ 2011-12-12  3:01   ` H. Peter Anvin
  2011-12-12  3:11     ` Ingo Molnar
  2011-12-12  3:31   ` Keith Packard
  2011-12-12 10:01   ` Matt Fleming
  2 siblings, 1 reply; 29+ messages in thread
From: H. Peter Anvin @ 2011-12-12  3:01 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Keith Packard, linux-kernel, Matt Fleming, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On 12/11/2011 06:59 PM, Linus Torvalds wrote:
> On Sun, Dec 11, 2011 at 4:12 PM, Keith Packard <keithp@keithp.com> wrote:
>> This hangs my MacBook Air at boot time; I get no console messages at
>> all. I reverted this on top of -rc5 and my machine boots again.
> 
> Interesting. Current -git works for me on my 11" Macbook Air. Which
> should be identical to yours. This is the 4GB RAM, 128GB disk version,
> no?
> 
> But I'm running OpenSUSE, and you're running Debian, right? And our
> kernel configs are probably wildly different, since I tend to try to
> boot a fairly minimal set.
> 
> That said, if you've verified that if fails for you, I guess we should
> revert regardless. Matt, any suggestions for tests to do?
> 

Also... I'd like to know what machines, if any, would break without the
patch, so we can figure out what has to be tested.

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  0:12 [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid" Keith Packard
  2011-12-12  2:59 ` Linus Torvalds
@ 2011-12-12  3:06 ` Ingo Molnar
  1 sibling, 0 replies; 29+ messages in thread
From: Ingo Molnar @ 2011-12-12  3:06 UTC (permalink / raw)
  To: Keith Packard
  Cc: linux-kernel, Matt Fleming, H. Peter Anvin, Matthew Garrett,
	Zhang Rui, Huang Ying, Linus Torvalds, Andrew Morton


* Keith Packard <keithp@keithp.com> wrote:

> This hangs my MacBook Air at boot time; I get no console messages at
> all. I reverted this on top of -rc5 and my machine boots again.
> 
> This reverts commit e8c7106280a305e1ff2a3a8a4dfce141469fb039.
> 
> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Matthew Garrett <mjg@redhat.com>
> Cc: Zhang Rui <rui.zhang@intel.com>
> Cc: Huang Ying <huang.ying.caritas@gmail.com>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Link: http://lkml.kernel.org/r/1321621751-3650-1-git-send-email-matt@console
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> Signed-off-by: Keith Packard <keithp@keithp.com>

Acked-by: Ingo Molnar <mingo@elte.hu>

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  3:01   ` H. Peter Anvin
@ 2011-12-12  3:11     ` Ingo Molnar
  0 siblings, 0 replies; 29+ messages in thread
From: Ingo Molnar @ 2011-12-12  3:11 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Linus Torvalds, Keith Packard, linux-kernel, Matt Fleming,
	Matthew Garrett, Zhang Rui, Huang Ying, Andrew Morton


* H. Peter Anvin <hpa@zytor.com> wrote:

> > That said, if you've verified that if fails for you, I guess 
> > we should revert regardless. Matt, any suggestions for tests 
> > to do?
> > 
> 
> Also... I'd like to know what machines, if any, would break 
> without the patch, so we can figure out what has to be tested.

The offending commit has this bugzilla:

        https://bugzilla.redhat.com/show_bug.cgi?id=748516

Which says this about the orignal failing system:

| Additional info:
| From the affected system:
| dmidecode | grep -i product
|  Product Name: MacBookAir1,1
|  Product Name: Mac-F42C8CC8

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  2:59 ` Linus Torvalds
  2011-12-12  3:01   ` H. Peter Anvin
@ 2011-12-12  3:31   ` Keith Packard
  2011-12-12  3:32     ` H. Peter Anvin
  2011-12-12 10:01   ` Matt Fleming
  2 siblings, 1 reply; 29+ messages in thread
From: Keith Packard @ 2011-12-12  3:31 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Matt Fleming, H. Peter Anvin, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

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

On Sun, 11 Dec 2011 18:59:43 -0800, Linus Torvalds <torvalds@linux-foundation.org> wrote:

> Interesting. Current -git works for me on my 11" Macbook Air. Which
> should be identical to yours. This is the 4GB RAM, 128GB disk version,
> no?

Mine does have the larger disk (256GB), otherwise they should be identical.

> But I'm running OpenSUSE, and you're running Debian, right? And our
> kernel configs are probably wildly different, since I tend to try to
> boot a fairly minimal set.

I've got an ancient kernel config that has been culted along for several
years; I do build a ton of useless modules, but I boot without an
initrd, so it seems like there shouldn't be many differences by the time
this crashes.

> That said, if you've verified that if fails for you, I guess we should
> revert regardless. Matt, any suggestions for tests to do?

Of course I'd be willing to do whatever tests someone would like to
suggest; just that I don't know how to get a netconsole on this machine,
which makes it pretty hard to figure anything out before the screen
lights up.

-- 
keith.packard@intel.com

[-- Attachment #2: Type: application/pgp-signature, Size: 827 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  3:31   ` Keith Packard
@ 2011-12-12  3:32     ` H. Peter Anvin
  2011-12-12  3:43       ` Keith Packard
  0 siblings, 1 reply; 29+ messages in thread
From: H. Peter Anvin @ 2011-12-12  3:32 UTC (permalink / raw)
  To: Keith Packard
  Cc: Linus Torvalds, linux-kernel, Matt Fleming, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On 12/11/2011 07:31 PM, Keith Packard wrote:
> 
> I've got an ancient kernel config that has been culted along for
> several years; I do build a ton of useless modules, but I boot
> without an initrd, so it seems like there shouldn't be many
> differences by the time this crashes.
> 

Could you share your configuration, please?

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  3:32     ` H. Peter Anvin
@ 2011-12-12  3:43       ` Keith Packard
  2011-12-12 10:01         ` Matt Fleming
  0 siblings, 1 reply; 29+ messages in thread
From: Keith Packard @ 2011-12-12  3:43 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Linus Torvalds, linux-kernel, Matt Fleming, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar


[-- Attachment #1.1: Type: text/plain, Size: 136 bytes --]

On Sun, 11 Dec 2011 19:32:51 -0800, "H. Peter Anvin" <hpa@zytor.com> wrote:

> Could you share your configuration, please?

Of course.


[-- Attachment #1.2: Type: application/pgp-signature, Size: 827 bytes --]

[-- Attachment #2: .config --]
[-- Type: application/octet-stream, Size: 109060 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.2.0-rc2 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_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_KTIME_SCALAR is not set
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_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 set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_FHANDLE is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
CONFIG_RCU_FAST_NO_HZ=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
# CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

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

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

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_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_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_SPINLOCKS is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
CONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=7
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_CMPXCHG_DOUBLE=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=64
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
# CONFIG_X86_MCE_AMD is not set
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=m
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_NUMA=y
# CONFIG_AMD_NUMA is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_CLEANCACHE is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
# CONFIG_KEXEC_JUMP is not set
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION="/dev/sda2"
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_CAN_PM_TRACE=y
# CONFIG_PM_TRACE_RTC is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
# CONFIG_ACPI_PROC_EVENT is not set
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
# CONFIG_ACPI_CUSTOM_METHOD is not set
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
# CONFIG_ACPI_APEI_PCIEAER is not set
# CONFIG_ACPI_APEI_MEMORY_FAILURE is not set
# CONFIG_ACPI_APEI_EINJ is not set
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
CONFIG_SFI=y

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

#
# 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 is not set

#
# shared options
#
# CONFIG_X86_SPEEDSTEP_LIB is not set
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=y
CONFIG_I7300_IDLE=m

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_STUB=m
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

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

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

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=y
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=m

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETPORT=m
# CONFIG_IP_SET_HASH_NETIFACE is not set
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_DCCP=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PROTO_UDPLITE=m
CONFIG_NF_NAT_PROTO_SCTP=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m

#
# DECnet: Netfilter Configuration
#
CONFIG_DECNET_NF_GRABULATOR=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
CONFIG_NET_SCTPPROBE=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
CONFIG_RDS=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=m
CONFIG_TIPC_ADVANCED=y
CONFIG_TIPC_PORTS=8191
CONFIG_TIPC_LOG=0
# CONFIG_TIPC_DEBUG is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_STP=m
CONFIG_GARP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_DECNET=m
# CONFIG_DECNET_ROUTER is not set
CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
CONFIG_LAPB=m
# CONFIG_ECONET is not set
CONFIG_WAN_ROUTER=m
CONFIG_PHONET=m
CONFIG_IEEE802154=m
# CONFIG_IEEE802154_6LOWPAN is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
# CONFIG_NET_SCH_QFQ is not set
CONFIG_NET_SCH_INGRESS=m

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=m
# CONFIG_BATMAN_ADV_DEBUG is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_HAVE_BPF_JIT=y
# CONFIG_BPF_JIT is not set

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NET_TCPPROBE is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=m
# CONFIG_AX25_DAMA_SLAVE is not set
CONFIG_NETROM=m
CONFIG_ROSE=m

#
# AX.25 network device drivers
#
CONFIG_MKISS=m
CONFIG_6PACK=m
CONFIG_BPQETHER=m
CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_YAM=m
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
# CONFIG_CAN_GW is not set

#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=m
CONFIG_CAN_SLCAN=m
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_MCP251X=m
# CONFIG_PCH_CAN is not set
CONFIG_CAN_SJA1000=m
# CONFIG_CAN_SJA1000_PLATFORM is not set
# CONFIG_CAN_EMS_PCMCIA is not set
CONFIG_CAN_EMS_PCI=m
# CONFIG_CAN_PEAK_PCI is not set
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PLX_PCI=m
# CONFIG_CAN_C_CAN is not set

#
# CAN USB interfaces
#
CONFIG_CAN_EMS_USB=m
CONFIG_CAN_ESD_USB2=m
# CONFIG_CAN_SOFTING is not set
# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_IRDA=m

#
# IrDA protocols
#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
# CONFIG_IRDA_ULTRA is not set

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
# CONFIG_IRDA_DEBUG is not set

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=m

#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=m
CONFIG_ACTISYS_DONGLE=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TOIM3232_DONGLE=m
CONFIG_LITELINK_DONGLE=m
CONFIG_MA600_DONGLE=m
CONFIG_GIRBIL_DONGLE=m
CONFIG_MCP2120_DONGLE=m
CONFIG_OLD_BELKIN_DONGLE=m
CONFIG_ACT200L_DONGLE=m
CONFIG_KINGSUN_DONGLE=m
CONFIG_KSDAZZLE_DONGLE=m
CONFIG_KS959_DONGLE=m

#
# FIR device drivers
#
CONFIG_USB_IRDA=m
CONFIG_SIGMATEL_FIR=m
CONFIG_NSC_FIR=m
CONFIG_WINBOND_FIR=m
CONFIG_SMC_IRCC_FIR=m
CONFIG_ALI_FIR=m
CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
CONFIG_BT=m
CONFIG_BT_L2CAP=y
CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m

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

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
CONFIG_CONNECTOR=m
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_CPQ_DA=m
CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=m
CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_XEN_BLKDEV_FRONTEND=m
# CONFIG_XEN_BLKDEV_BACKEND is not set
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=m
CONFIG_SENSORS_LIS3LV02D=m
CONFIG_MISC_DEVICES=y
CONFIG_AD525X_DPOT=m
CONFIG_AD525X_DPOT_I2C=m
CONFIG_AD525X_DPOT_SPI=m
CONFIG_IBM_ASM=m
CONFIG_PHANTOM=m
# CONFIG_INTEL_MID_PTI is not set
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
CONFIG_ICS932S401=m
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_HP_ILO=m
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
CONFIG_ISL29020=m
CONFIG_SENSORS_TSL2550=m
CONFIG_SENSORS_BH1780=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_APDS990X=m
CONFIG_HMC6352=m
CONFIG_DS1682=m
CONFIG_TI_DAC7512=m
CONFIG_VMWARE_BALLOON=m
CONFIG_BMP085=m
# CONFIG_PCH_PHUB is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m

#
# EEPROM support
#
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
CONFIG_IWMC3200TOP=m
# CONFIG_IWMC3200TOP_DEBUG is not set
# CONFIG_IWMC3200TOP_DEBUGFS is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
CONFIG_SENSORS_LIS3_I2C=m

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

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

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=m
# CONFIG_BLK_DEV_PLATFORM is not set
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPNP=m
CONFIG_BLK_DEV_IDEDMA_SFF=y

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

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

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

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_OSD_INITIATOR=m
CONFIG_SCSI_OSD_ULD=m
CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_ATA_SFF is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
# CONFIG_MULTICORE_RAID456 is not set
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
# CONFIG_DM_THIN_PROVISIONING is not set
CONFIG_DM_MIRROR=m
# CONFIG_DM_RAID is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
# CONFIG_DM_FLAKEY is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
# CONFIG_ISCSI_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_OHCI_DEBUG=y
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
CONFIG_I2O_EXT_ADAPTEC_DMA64=y
CONFIG_I2O_CONFIG=m
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=m
CONFIG_I2O_BLOCK=m
CONFIG_I2O_SCSI=m
CONFIG_I2O_PROC=m
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_EQUALIZER=m
# CONFIG_NET_FC is not set
CONFIG_MII=m
CONFIG_IEEE802154_DRIVERS=m
CONFIG_IEEE802154_FAKEHARD=m
CONFIG_IFB=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
CONFIG_SUNGEM_PHY=m
# CONFIG_ARCNET is not set
# CONFIG_ATM_DRIVERS is not set

#
# CAIF transport drivers
#
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_3C589 is not set
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=m
CONFIG_PCNET32=m
# CONFIG_PCMCIA_NMCLAN is not set
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=m
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3=m
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
CONFIG_DNET=m
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
CONFIG_DE2104X_DSL=0
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
CONFIG_DE4X5=m
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
CONFIG_ULI526X=m
CONFIG_PCMCIA_XIRCOM=m
CONFIG_NET_VENDOR_DLINK=y
CONFIG_DL2K=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_NET_VENDOR_EMULEX=y
CONFIG_BE2NET=m
CONFIG_NET_VENDOR_EXAR=y
CONFIG_S2IO=m
CONFIG_VXGE=m
# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_NET_VENDOR_FUJITSU=y
# CONFIG_PCMCIA_FMVJ18X is not set
CONFIG_NET_VENDOR_HP=y
CONFIG_HP100=m
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGB_DCA=y
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCA=y
CONFIG_IXGBE_DCB=y
CONFIG_IXGBEVF=m
CONFIG_NET_VENDOR_I825XX=y
# CONFIG_ZNET is not set
CONFIG_IP1000=m
CONFIG_JME=m
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
# CONFIG_SKGE_GENESIS is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_NET_VENDOR_MELLANOX=y
CONFIG_MLX4_EN=m
CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_NET_VENDOR_MICREL=y
CONFIG_KS8842=m
CONFIG_KS8851=m
CONFIG_KS8851_MLL=m
CONFIG_KSZ884X_PCI=m
CONFIG_NET_VENDOR_MICROCHIP=y
CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
CONFIG_NS83820=m
CONFIG_NET_VENDOR_8390=y
# CONFIG_PCMCIA_AXNET is not set
CONFIG_NE2K_PCI=m
# CONFIG_PCMCIA_PCNET is not set
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=m
CONFIG_NET_VENDOR_OKI=y
# CONFIG_PCH_GBE is not set
CONFIG_ETHOC=m
# CONFIG_NET_PACKET_ENGINE is not set
CONFIG_NET_VENDOR_QLOGIC=y
CONFIG_QLA3XXX=m
CONFIG_QLCNIC=m
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=m
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=m
CONFIG_NET_VENDOR_SEEQ=y
# CONFIG_SEEQ8005 is not set
# CONFIG_NET_VENDOR_SILAN is not set
CONFIG_NET_VENDOR_SIS=y
CONFIG_SIS900=m
CONFIG_SIS190=m
CONFIG_SFC=m
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_PCMCIA_SMC91C92 is not set
CONFIG_EPIC100=m
CONFIG_SMSC9420=m
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
CONFIG_TLAN=m
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_VIA_VELOCITY=m
CONFIG_NET_VENDOR_XIRCOM=y
# CONFIG_PCMCIA_XIRC2PS is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_NET_SB1000=m
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
# CONFIG_FIXED_PHY is not set
CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_GPIO is not set
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=m
CONFIG_PPPOE=m
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_SLIP=m
CONFIG_SLHC=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
# CONFIG_TR is not set

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_CDC_NCM=m
CONFIG_USB_NET_DM9601=m
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
# CONFIG_USB_NET_KALMIA is not set
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
# CONFIG_USB_VL600 is not set
CONFIG_WLAN=y
# CONFIG_PCMCIA_RAYCS is not set
# CONFIG_LIBERTAS_THINFIRM is not set
# CONFIG_AIRO is not set
# CONFIG_ATMEL is not set
# CONFIG_AT76C50X_USB is not set
# CONFIG_AIRO_CS is not set
# CONFIG_PCMCIA_WL3501 is not set
# CONFIG_PRISM54 is not set
# CONFIG_USB_ZD1201 is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
CONFIG_RTL8180=m
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
# CONFIG_ADM8211 is not set
# CONFIG_MAC80211_HWSIM is not set
# CONFIG_MWL8K is not set
CONFIG_ATH_COMMON=m
# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K=m
# CONFIG_ATH5K_DEBUG is not set
# CONFIG_ATH5K_TRACER is not set
CONFIG_ATH5K_PCI=y
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
# CONFIG_ATH9K_PCI is not set
# CONFIG_ATH9K_AHB is not set
# CONFIG_ATH9K_DEBUGFS is not set
CONFIG_ATH9K_RATE_CONTROL=y
CONFIG_ATH9K_HTC=m
# CONFIG_ATH9K_HTC_DEBUGFS is not set
# CONFIG_CARL9170 is not set
# CONFIG_ATH6KL is not set
CONFIG_B43=m
CONFIG_B43_SSB=y
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_PIO=y
CONFIG_B43_PHY_N=y
CONFIG_B43_PHY_LP=y
# CONFIG_B43_PHY_HT is not set
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
CONFIG_BRCMUTIL=m
CONFIG_BRCMSMAC=m
CONFIG_BRCMFMAC=m
# CONFIG_BRCMDBG is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_CS=m
CONFIG_IPW2100=m
# CONFIG_IPW2100_MONITOR is not set
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=m
# CONFIG_LIBIPW_DEBUG is not set
CONFIG_IWLWIFI=m

#
# Debugging Options
#
# CONFIG_IWLWIFI_DEBUG is not set
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
CONFIG_IWLWIFI_LEGACY=m

#
# Debugging Options
#
# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set
CONFIG_IWL4965=m
CONFIG_IWL3945=m
CONFIG_IWM=m
# CONFIG_IWM_DEBUG is not set
# CONFIG_IWM_TRACING is not set
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_CS=m
CONFIG_LIBERTAS_SDIO=m
CONFIG_LIBERTAS_SPI=m
# CONFIG_LIBERTAS_DEBUG is not set
CONFIG_LIBERTAS_MESH=y
CONFIG_HERMES=m
# CONFIG_HERMES_PRISM is not set
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_NORTEL_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 is not set
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 is not set
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
CONFIG_RT2800USB_RT33XX=y
CONFIG_RT2800USB_RT35XX=y
# CONFIG_RT2800USB_RT53XX is not set
# CONFIG_RT2800USB_UNKNOWN is not set
CONFIG_RT2800_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
CONFIG_RTL8192CE=m
# CONFIG_RTL8192SE is not set
# CONFIG_RTL8192DE is not set
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTL8192C_COMMON=m
CONFIG_WL1251=m
CONFIG_WL1251_SPI=m
CONFIG_WL1251_SDIO=m
CONFIG_WL12XX_MENU=m
CONFIG_WL12XX=m
CONFIG_WL12XX_SPI=m
CONFIG_WL12XX_SDIO=m
# CONFIG_WL12XX_SDIO_TEST is not set
CONFIG_WL12XX_PLATFORM_DATA=y
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
# CONFIG_MWIFIEX is not set

#
# WiMAX Wireless Broadband devices
#
CONFIG_WIMAX_I2400M=m
CONFIG_WIMAX_I2400M_USB=m
CONFIG_WIMAX_I2400M_SDIO=m
CONFIG_WIMAX_IWMC3200_SDIO=y
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
# CONFIG_WAN is not set
# CONFIG_XEN_NETDEV_FRONTEND is not set
# CONFIG_XEN_NETDEV_BACKEND is not set
CONFIG_VMXNET3=m
# CONFIG_ISDN is not set
CONFIG_PHONE=y
CONFIG_PHONE_IXJ=m
CONFIG_PHONE_IXJ_PCMCIA=m

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

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

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADP5588=m
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
CONFIG_KEYBOARD_QT2160=m
CONFIG_KEYBOARD_LKKBD=m
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_MATRIX is not set
CONFIG_KEYBOARD_LM8323=m
CONFIG_KEYBOARD_MAX7359=m
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
CONFIG_KEYBOARD_NEWTON=m
CONFIG_KEYBOARD_OPENCORES=m
CONFIG_KEYBOARD_STOWAWAY=m
CONFIG_KEYBOARD_SUNKBD=m
CONFIG_KEYBOARD_XTKBD=m
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=m
CONFIG_JOYSTICK_COBRA=m
CONFIG_JOYSTICK_GF2K=m
CONFIG_JOYSTICK_GRIP=m
CONFIG_JOYSTICK_GRIP_MP=m
CONFIG_JOYSTICK_GUILLEMOT=m
CONFIG_JOYSTICK_INTERACT=m
CONFIG_JOYSTICK_SIDEWINDER=m
CONFIG_JOYSTICK_TMDC=m
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
CONFIG_JOYSTICK_IFORCE_232=y
CONFIG_JOYSTICK_WARRIOR=m
CONFIG_JOYSTICK_MAGELLAN=m
CONFIG_JOYSTICK_SPACEORB=m
CONFIG_JOYSTICK_SPACEBALL=m
CONFIG_JOYSTICK_STINGER=m
CONFIG_JOYSTICK_TWIDJOY=m
CONFIG_JOYSTICK_ZHENHUA=m
# CONFIG_JOYSTICK_AS5011 is not set
CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
CONFIG_TABLET_USB_GTCO=m
# CONFIG_TABLET_USB_HANWANG is not set
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_WM97XX=m
CONFIG_TOUCHSCREEN_WM9705=y
CONFIG_TOUCHSCREEN_WM9712=y
CONFIG_TOUCHSCREEN_WM9713=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
CONFIG_TOUCHSCREEN_TSC2007=m
# CONFIG_TOUCHSCREEN_ST1232 is not set
CONFIG_TOUCHSCREEN_TPS6507X=m
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_BMA150 is not set
CONFIG_INPUT_PCSPKR=m
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MPU3050 is not set
CONFIG_INPUT_APANEL=m
CONFIG_INPUT_ATLAS_BTNS=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
CONFIG_INPUT_PCF50633_PMU=m
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_CMA3000 is not set
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y

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

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

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MAX3100=m
# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_MFD_HSU=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_IFX6X60 is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
CONFIG_HVC_DRIVER=y
# CONFIG_HVC_XEN is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_NVRAM=m
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

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

#
# I2C Hardware Bus support
#

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

#
# ACPI drivers
#
CONFIG_I2C_SCMI=m

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

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m

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

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
CONFIG_SPI_BITBANG=m
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_TOPCLIFF_PCH is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
CONFIG_SPI_TLE62X0=m

#
# PPS support
#
CONFIG_PPS=m
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set

#
# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_IT8761E is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_VX855 is not set

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

#
# PCI GPIO expanders:
#
# CONFIG_GPIO_LANGWELL is not set
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_RDC321X is not set

#
# SPI GPIO expanders:
#
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_74X164 is not set

#
# AC97 GPIO expanders:
#

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

#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
# CONFIG_W1_MASTER_DS1WM is not set
# CONFIG_W1_MASTER_GPIO is not set

#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
# CONFIG_W1_SLAVE_DS2408 is not set
# CONFIG_W1_SLAVE_DS2423 is not set
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
# CONFIG_W1_SLAVE_DS2780 is not set
CONFIG_W1_SLAVE_BQ27000=m
CONFIG_POWER_SUPPLY=m
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
# CONFIG_TEST_POWER is not set
CONFIG_BATTERY_DS2760=m
# CONFIG_BATTERY_DS2780 is not set
CONFIG_BATTERY_DS2782=m
# CONFIG_BATTERY_BQ20Z75 is not set
CONFIG_BATTERY_BQ27x00=m
CONFIG_BATTERY_BQ27X00_I2C=y
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_BATTERY_MAX17040=m
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_PCF50633=m
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_GPIO is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
# CONFIG_SENSORS_AD7314 is not set
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADCXX=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
# CONFIG_SENSORS_FAM15H_POWER is not set
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
# CONFIG_SENSORS_DS620 is not set
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHMD=m
CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_GPIO_FAN is not set
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LINEAGE is not set
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
# CONFIG_SENSORS_LTC4151 is not set
CONFIG_SENSORS_LTC4215=m
CONFIG_SENSORS_LTC4245=m
# CONFIG_SENSORS_LTC4261 is not set
CONFIG_SENSORS_LM95241=m
# CONFIG_SENSORS_LM95245 is not set
CONFIG_SENSORS_MAX1111=m
# CONFIG_SENSORS_MAX16065 is not set
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
CONFIG_SENSORS_MAX6650=m
# CONFIG_SENSORS_NTC_THERMISTOR is not set
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
# CONFIG_PMBUS is not set
CONFIG_SENSORS_SHT15=m
# CONFIG_SENSORS_SHT21 is not set
CONFIG_SENSORS_SIS5595=m
# CONFIG_SENSORS_SMM665 is not set
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC6W201 is not set
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
# CONFIG_SENSORS_W83795 is not set
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_APPLESMC=m

#
# ACPI drivers
#
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=m
CONFIG_THERMAL_HWMON=y
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

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

#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=m
CONFIG_MFD_SM501=m
# CONFIG_MFD_SM501_GPIO is not set
CONFIG_HTC_PASIC3=m
# CONFIG_UCB1400_CORE is not set
# CONFIG_TPS6105X is not set
CONFIG_TPS65010=m
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
# CONFIG_MFD_WM831X_SPI is not set
CONFIG_MFD_PCF50633=m
CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=m
# CONFIG_MFD_MC13XXX is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_TIMBERDALE is not set
CONFIG_LPC_SCH=m
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_DUMMY is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
# CONFIG_REGULATOR_GPIO is not set
CONFIG_REGULATOR_BQ24022=m
CONFIG_REGULATOR_MAX1586=m
CONFIG_REGULATOR_MAX8649=m
CONFIG_REGULATOR_MAX8660=m
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_WM8400=m
CONFIG_REGULATOR_PCF50633=m
CONFIG_REGULATOR_LP3971=m
# CONFIG_REGULATOR_LP3972 is not set
CONFIG_REGULATOR_TPS65023=m
CONFIG_REGULATOR_TPS6507X=m
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_MEDIA_SUPPORT=m

#
# Multimedia core support
#
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
# CONFIG_VIDEO_V4L2_SUBDEV_API is not set
CONFIG_DVB_CORE=m
CONFIG_DVB_NET=y
CONFIG_VIDEO_MEDIA=m

#
# Multimedia drivers
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_RC_CORE=m
CONFIG_LIRC=m
CONFIG_RC_MAP=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
CONFIG_IR_JVC_DECODER=m
CONFIG_IR_SONY_DECODER=m
CONFIG_IR_RC5_SZ_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
CONFIG_IR_LIRC_CODEC=m
# CONFIG_RC_ATI_REMOTE is not set
CONFIG_IR_ENE=m
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
# CONFIG_IR_ITE_CIR is not set
# CONFIG_IR_FINTEK is not set
CONFIG_IR_NUVOTON=m
# CONFIG_IR_REDRAT3 is not set
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
# CONFIG_RC_LOOPBACK is not set
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_MT2060=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_XC4000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEOBUF2_CORE=m
CONFIG_VIDEOBUF2_MEMOPS=m
CONFIG_VIDEOBUF2_DMA_CONTIG=m
CONFIG_VIDEOBUF2_VMALLOC=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_IR_I2C=m

#
# Audio decoders, processors and mixers
#
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_TDA9840=m
CONFIG_VIDEO_TEA6415C=m
CONFIG_VIDEO_TEA6420=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m

#
# RDS decoders
#
CONFIG_VIDEO_SAA6588=m

#
# Video decoders
#
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
CONFIG_VIDEO_SAA7110=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_TVP5150=m
CONFIG_VIDEO_VPX3220=m

#
# Video and audio decoders
#
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_CX25840=m

#
# MPEG video encoders
#
CONFIG_VIDEO_CX2341X=m

#
# Video encoders
#
CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m

#
# Camera sensor devices
#
CONFIG_VIDEO_OV7670=m
CONFIG_VIDEO_MT9V011=m

#
# Flash devices
#

#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m

#
# Miscelaneous helper chips
#
CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
CONFIG_VIDEO_CPIA2=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_ZR36060=m
CONFIG_VIDEO_ZORAN_BUZ=m
CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
# CONFIG_VIDEO_TIMBERDALE is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_DVB=m
CONFIG_VIDEO_CX88_MPEG=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_CX23885=m
# CONFIG_MEDIA_ALTERA_CI is not set
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_CX18=m
CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
CONFIG_VIDEO_CAFE_CCIC=m
# CONFIG_VIDEO_VIA_CAMERA is not set
CONFIG_SOC_CAMERA=m
# CONFIG_SOC_CAMERA_IMX074 is not set
CONFIG_SOC_CAMERA_MT9M001=m
CONFIG_SOC_CAMERA_MT9M111=m
CONFIG_SOC_CAMERA_MT9T031=m
CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
CONFIG_SOC_CAMERA_RJ54N1=m
CONFIG_SOC_CAMERA_TW9910=m
CONFIG_SOC_CAMERA_PLATFORM=m
# CONFIG_SOC_CAMERA_OV2640 is not set
# CONFIG_SOC_CAMERA_OV5642 is not set
# CONFIG_SOC_CAMERA_OV6650 is not set
CONFIG_SOC_CAMERA_OV772X=m
CONFIG_SOC_CAMERA_OV9640=m
# CONFIG_SOC_CAMERA_OV9740 is not set
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
CONFIG_USB_STV06XX=m
CONFIG_USB_GL860=m
CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_JEILINJ=m
# CONFIG_USB_GSPCA_KINECT is not set
CONFIG_USB_GSPCA_KONICA=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_NW80X=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
# CONFIG_USB_GSPCA_SE401 is not set
CONFIG_USB_GSPCA_SN9C2028=m
CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_SPCA1528=m
CONFIG_USB_GSPCA_SQ905=m
CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_SQ930X=m
CONFIG_USB_GSPCA_STK014=m
CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
# CONFIG_USB_GSPCA_TOPRO is not set
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_VICAM=m
CONFIG_USB_GSPCA_XIRLINK_CIT=m
CONFIG_USB_GSPCA_ZC3XX=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_VIDEO_EM28XX_RC=y
CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=m
CONFIG_VIDEO_CX231XX_DVB=m
# CONFIG_VIDEO_TM6000 is not set
CONFIG_VIDEO_USBVISION=m
CONFIG_USB_ET61X251=m
CONFIG_USB_SN9C102=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_VIDEO_MEM2MEM_TESTDEV is not set
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_MAXIRADIO=m
CONFIG_I2C_SI4713=m
CONFIG_RADIO_SI4713=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
CONFIG_I2C_SI470X=m
CONFIG_USB_MR800=m
CONFIG_RADIO_TEA5764=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_TEF6862=m
# CONFIG_RADIO_WL1273 is not set

#
# Texas Instruments WL128x FM driver (ST based)
#
# CONFIG_RADIO_WL128X is not set
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_DVB_CAPTURE_DRIVERS=y

#
# Supported SAA7146 based PCI Adapters
#
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET_CORE=m
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m

#
# Supported USB Adapters
#
CONFIG_DVB_USB=m
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_DIBUSB_MB=m
CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_DIB0700=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_CXUSB=m
CONFIG_DVB_USB_M920X=m
CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_AU6610=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_VP7045=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_GP8PSK=m
CONFIG_DVB_USB_NOVA_T_USB2=m
CONFIG_DVB_USB_TTUSB2=m
CONFIG_DVB_USB_DTT200U=m
CONFIG_DVB_USB_OPERA1=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
# CONFIG_DVB_USB_PCTV452E is not set
CONFIG_DVB_USB_DW2102=m
CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_CE6230=m
CONFIG_DVB_USB_FRIIO=m
CONFIG_DVB_USB_EC168=m
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_TECHNISAT_USB2=m
# CONFIG_DVB_USB_IT913X is not set
# CONFIG_DVB_USB_MXL111SF is not set
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_SIANO_MDTV=m

#
# Siano module components
#
CONFIG_SMS_USB_DRV=m
CONFIG_SMS_SDIO_DRV=m

#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

#
# Supported BT878 Adapters
#
CONFIG_DVB_BT8XX=m

#
# Supported Pluto2 Adapters
#
CONFIG_DVB_PLUTO2=m

#
# Supported SDMC DM1105 Adapters
#
CONFIG_DVB_DM1105=m

#
# Supported FireWire (IEEE 1394) Adapters
#
CONFIG_DVB_FIREDTV=m
CONFIG_DVB_FIREDTV_INPUT=y

#
# Supported Earthsoft PT1 Adapters
#
CONFIG_DVB_PT1=m

#
# Supported Mantis Adapters
#
CONFIG_MANTIS_CORE=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m

#
# Supported nGene Adapters
#
CONFIG_DVB_NGENE=m

#
# Supported ddbridge ('Octopus') Adapters
#
# CONFIG_DVB_DDBRIDGE is not set

#
# Supported DVB Frontends
#
# CONFIG_DVB_FE_CUSTOMISE is not set

#
# Multistandard (satellite) frontends
#
CONFIG_DVB_STB0899=m
CONFIG_DVB_STB6100=m
CONFIG_DVB_STV090x=m
CONFIG_DVB_STV6110x=m

#
# Multistandard (cable + terrestrial) frontends
#
CONFIG_DVB_DRXK=m
CONFIG_DVB_TDA18271C2DD=m

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
CONFIG_DVB_ZL10036=m
CONFIG_DVB_ZL10039=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_STV6110=m
CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m
CONFIG_DVB_DS3000=m
CONFIG_DVB_MB86A16=m
CONFIG_DVB_TDA10071=m

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_DRXD=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
CONFIG_DVB_MT352=m
CONFIG_DVB_ZL10353=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m

#
# DVB-C (cable) frontends
#
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_LGDT3305=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m

#
# ISDB-T (terrestrial) frontends
#
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m

#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
CONFIG_DVB_TUNER_DIB0090=m

#
# SEC control devices for DVB-S
#
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_A8293=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=m
CONFIG_DVB_IX2505V=m

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set

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

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=m
CONFIG_FB_PM2=m
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=m
CONFIG_FB_CYBER2000_DDC=y
CONFIG_FB_ARC=m
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_N411=m
CONFIG_FB_HGA=m
CONFIG_FB_S1D13XXX=m
CONFIG_FB_NVIDIA=m
# CONFIG_FB_NVIDIA_I2C is not set
# CONFIG_FB_NVIDIA_DEBUG is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
# CONFIG_FB_RIVA is not set
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MAVEN=m
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
CONFIG_FB_ATY128=m
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=m
CONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=m
CONFIG_FB_S3_DDC=y
CONFIG_FB_SAVAGE=m
# CONFIG_FB_SAVAGE_I2C is not set
# CONFIG_FB_SAVAGE_ACCEL is not set
CONFIG_FB_SIS=m
CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not set
# CONFIG_FB_VIA_X_COMPATIBILITY is not set
CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not set
CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=m
CONFIG_FB_VT8623=m
CONFIG_FB_TRIDENT=m
CONFIG_FB_ARK=m
CONFIG_FB_PM3=m
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_TMIO is not set
CONFIG_FB_SM501=m
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
CONFIG_FB_VIRTUAL=m
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_FB_METRONOME=m
CONFIG_FB_MB862XX=m
CONFIG_FB_MB862XX_PCI_GDC=y
CONFIG_FB_MB862XX_I2C=y
# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PROGEAR=m
CONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_PCF50633 is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m

#
# Display hardware drivers
#

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=m
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=m
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=5
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PREALLOC_SIZE=64
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_INPUT_JACK=y
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=m
CONFIG_SND_USB_6FIRE=m
# CONFIG_SND_FIREWIRE is not set
# CONFIG_SND_PCMCIA is not set
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
CONFIG_HIDRAW=y

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

#
# Special HID drivers
#
CONFIG_HID_A4TECH=m
CONFIG_HID_ACRUX=m
# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_PRODIKEYS=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_EZKEY=m
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_KEYTOUCH is not set
CONFIG_HID_KYE=m
CONFIG_HID_UCLOGIC=m
CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
# CONFIG_HID_MULTITOUCH is not set
CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LEDS=y
# CONFIG_HID_PRIMAX is not set
CONFIG_HID_QUANTA=m
CONFIG_HID_ROCCAT=m
CONFIG_HID_ROCCAT_COMMON=m
# CONFIG_HID_ROCCAT_ARVO is not set
CONFIG_HID_ROCCAT_KONE=m
CONFIG_HID_ROCCAT_KONEPLUS=m
CONFIG_HID_ROCCAT_KOVAPLUS=m
CONFIG_HID_ROCCAT_PYRA=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
# CONFIG_HID_SPEEDLINK is not set
CONFIG_HID_SUNPLUS=m
CONFIG_HID_GREENASIA=m
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TOPSEED=m
CONFIG_HID_THRUSTMASTER=m
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_WACOM=m
CONFIG_HID_WACOM_POWER_SUPPLY=y
# CONFIG_HID_WIIMOTE is not set
CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=m
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
CONFIG_USB=m
CONFIG_USB_DEBUG=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

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

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

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

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

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

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

#
# USB port drivers
#
CONFIG_USB_SERIAL=m
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_FUNSOFT=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
CONFIG_USB_SERIAL_QCAUX=m
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
CONFIG_USB_SERIAL_ZIO=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_DEBUG=m

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

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

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

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

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
CONFIG_MSPRO_BLOCK=m

#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MEMSTICK_JMICRON_38X=m
# CONFIG_MEMSTICK_R592 is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA9532_GPIO is not set
# CONFIG_LEDS_GPIO is not set
CONFIG_LEDS_LP3944=m
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_REGULATOR=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_INTEL_SS4200=m
CONFIG_LEDS_LT3593=m
CONFIG_LEDS_TRIGGERS=y

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

#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
# CONFIG_INFINIBAND is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
CONFIG_EDAC_I3200=m
CONFIG_EDAC_X38=m
CONFIG_EDAC_I5400=m
CONFIG_EDAC_I7CORE=m
CONFIG_EDAC_I5000=m
CONFIG_EDAC_I5100=m
# CONFIG_EDAC_I7300 is not set
CONFIG_EDAC_SBRIDGE=m
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set

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

#
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1374=m
CONFIG_RTC_DRV_DS1672=m
# CONFIG_RTC_DRV_DS3232 is not set
CONFIG_RTC_DRV_MAX6900=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
# CONFIG_RTC_DRV_ISL12022 is not set
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
# CONFIG_RTC_DRV_M41T80_WDT is not set
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set

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

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_PCF50633=m

#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
# CONFIG_INTEL_MID_DMAC is not set
CONFIG_INTEL_IOATDMA=m
# CONFIG_TIMB_DMA is not set
# CONFIG_PCH_DMA is not set
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
CONFIG_NET_DMA=y
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=m
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
CONFIG_UIO_NETX=m
CONFIG_VIRTIO=m
CONFIG_VIRTIO_RING=m

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=m
# CONFIG_VIRTIO_MMIO is not set

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
# CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_PCIDEV_BACKEND=m
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_ACERHDF is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_DELL_LAPTOP is not set
# CONFIG_FUJITSU_LAPTOP is not set
CONFIG_HP_ACCEL=m
# CONFIG_MSI_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
CONFIG_IDEAPAD_LAPTOP=m
CONFIG_THINKPAD_ACPI=m
CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
# CONFIG_THINKPAD_ACPI_DEBUG is not set
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_SENSORS_HDAPS=m
# CONFIG_INTEL_MENLOW is not set
# CONFIG_EEEPC_LAPTOP is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_ACPI_CMPC is not set
CONFIG_INTEL_IPS=m
# CONFIG_IBM_RTL is not set
# CONFIG_XO15_EBOOK is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_INTEL_OAKTRAIL is not set
CONFIG_SAMSUNG_Q10=m

#
# Hardware Spinlock drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_IOMMU_SUPPORT=y
# CONFIG_AMD_IOMMU is not set
# CONFIG_INTEL_IOMMU is not set
# CONFIG_IRQ_REMAP is not set
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_HYPERV is not set
# CONFIG_PM_DEVFREQ is not set

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

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_NILFS2_FS=m
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=m
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y

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

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

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

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_BACKED_BY_BLOCK=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_PSTORE=y
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EXOFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_V4_1 is not set
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_USE_NEW_IDMAPPER is not set
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_CEPH_FS=m
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_FSCACHE=y
CONFIG_CIFS_ACL=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
# CONFIG_NCPFS_SMALLDOS is not set
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
CONFIG_DLM_DEBUG=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
# CONFIG_FRAME_POINTER is not set
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_LKDTM is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_FTRACE_SYSCALLS is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENT=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
# CONFIG_KGDB_LOW_LEVEL_TRAP is not set
# CONFIG_KGDB_KDB is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_KMEMCHECK is not set
# CONFIG_TEST_KSTRTOX is not set
CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_DEBUG_SET_MODULE_RONX=y
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_ENCRYPTED_KEYS is not set
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
# CONFIG_SECURITY_PATH is not set
# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y

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

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

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

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

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

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

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

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
# CONFIG_KVM_MMU_AUDIT is not set
CONFIG_VHOST_NET=m
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_BTREE=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
CONFIG_CORDIC=m

[-- Attachment #3: Type: text/plain, Size: 29 bytes --]


-- 
keith.packard@intel.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  3:43       ` Keith Packard
@ 2011-12-12 10:01         ` Matt Fleming
  2011-12-12 16:35           ` Keith Packard
  0 siblings, 1 reply; 29+ messages in thread
From: Matt Fleming @ 2011-12-12 10:01 UTC (permalink / raw)
  To: Keith Packard
  Cc: H. Peter Anvin, Linus Torvalds, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On Sun, 2011-12-11 at 19:43 -0800, Keith Packard wrote:
> On Sun, 11 Dec 2011 19:32:51 -0800, "H. Peter Anvin" <hpa@zytor.com> wrote:
> 
> > Could you share your configuration, please?
> 
> Of course.

How about the dmesg from a kernel with this revert applied?

-- 
Matt Fleming, Intel Open Source Technology Center


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12  2:59 ` Linus Torvalds
  2011-12-12  3:01   ` H. Peter Anvin
  2011-12-12  3:31   ` Keith Packard
@ 2011-12-12 10:01   ` Matt Fleming
  2011-12-12 17:09     ` H. Peter Anvin
  2 siblings, 1 reply; 29+ messages in thread
From: Matt Fleming @ 2011-12-12 10:01 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Keith Packard, linux-kernel, H. Peter Anvin, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On Sun, 2011-12-11 at 18:59 -0800, Linus Torvalds wrote:
> That said, if you've verified that if fails for you, I guess we should
> revert regardless. Matt, any suggestions for tests to do?

A dmesg from Keith of a working kernel would be good since the most
interesting things are the EFI memory map and the E820 memory map.

At this late -rc stage I agree it makes sense to revert this. The
CONFIG_X86_32 oops that the patch fixes has been around for years and no
one seems to have encountered it (until now), whereas this new
regression is likely to affect many more users.

Looks like there are some macbook memory map funnies that still need to
be addressed...

-- 
Matt Fleming, Intel Open Source Technology Center


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 10:01         ` Matt Fleming
@ 2011-12-12 16:35           ` Keith Packard
  2011-12-12 16:50             ` Linus Torvalds
  2011-12-15 15:29             ` Matt Fleming
  0 siblings, 2 replies; 29+ messages in thread
From: Keith Packard @ 2011-12-12 16:35 UTC (permalink / raw)
  To: Matt Fleming
  Cc: H. Peter Anvin, Linus Torvalds, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

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

On Mon, 12 Dec 2011 10:01:23 +0000, Matt Fleming <matt@console-pimps.org> wrote:

> How about the dmesg from a kernel with this revert applied?

Happy to oblige. Here's the first few seconds (until X starts):

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-rc5-00021-g899e4f0 (keithp@sumi) (gcc version 4.6.2 (Debian 4.6.2-5) ) #211 SMP Sun Dec 11 15:53:31 PST 2011
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-rc5-00021-g899e4f0 root=/dev/sda4 ro quiet
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000008f000 (usable)
[    0.000000]  BIOS-e820: 000000000008f000 - 0000000000090000 (reserved)
[    0.000000]  BIOS-e820: 0000000000090000 - 00000000000a0000 (usable)
[    0.000000]  BIOS-e820: 00000000000a0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 0000000020000000 (usable)
[    0.000000]  BIOS-e820: 0000000020000000 - 0000000020200000 (reserved)
[    0.000000]  BIOS-e820: 0000000020200000 - 0000000040000000 (usable)
[    0.000000]  BIOS-e820: 0000000040000000 - 0000000040200000 (reserved)
[    0.000000]  BIOS-e820: 0000000040200000 - 000000008ad36000 (usable)
[    0.000000]  BIOS-e820: 000000008ad36000 - 000000008ad5f000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000008ad5f000 - 000000008ad6f000 (usable)
[    0.000000]  BIOS-e820: 000000008ad6f000 - 000000008ad8f000 (ACPI data)
[    0.000000]  BIOS-e820: 000000008ad8f000 - 000000008ae33000 (usable)
[    0.000000]  BIOS-e820: 000000008ae33000 - 000000008ae8f000 (reserved)
[    0.000000]  BIOS-e820: 000000008ae8f000 - 000000008aed2000 (usable)
[    0.000000]  BIOS-e820: 000000008aed2000 - 000000008aeff000 (reserved)
[    0.000000]  BIOS-e820: 000000008aeff000 - 000000008afa2000 (usable)
[    0.000000]  BIOS-e820: 000000008afa2000 - 000000008fa00000 (reserved)
[    0.000000]  BIOS-e820: 00000000e00f8000 - 00000000e00f9000 (reserved)
[    0.000000]  BIOS-e820: 00000000fed1c000 - 00000000fed20000 (reserved)
[    0.000000]  BIOS-e820: 00000000ffed0000 - 00000000fff00000 (reserved)
[    0.000000]  BIOS-e820: 0000000100000000 - 000000016fe00000 (usable)
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] EFI v1.10 by Apple
[    0.000000]  ACPI=0x8ad8e000  ACPI 2.0=0x8ad8e014  SMBIOS=0x8ad3d000 
[    0.000000] Kernel-defined memdesc doesn't match the one from EFI!
[    0.000000] EFI: mem00: type=7, attr=0x80000000000000f, range=[0x0000000000000000-0x000000000008f000) (0MB)
[    0.000000] EFI: mem01: type=0, attr=0x80000000000000f, range=[0x000000000008f000-0x0000000000090000) (0MB)
[    0.000000] EFI: mem02: type=7, attr=0x80000000000000f, range=[0x0000000000090000-0x00000000000a0000) (0MB)
[    0.000000] EFI: mem03: type=2, attr=0xf, range=[0x0000000000100000-0x0000000000443000) (3MB)
[    0.000000] EFI: mem04: type=7, attr=0xf, range=[0x0000000000443000-0x0000000020000000) (507MB)
[    0.000000] EFI: mem05: type=0, attr=0xf, range=[0x0000000020000000-0x0000000020200000) (2MB)
[    0.000000] EFI: mem06: type=7, attr=0xf, range=[0x0000000020200000-0x0000000040000000) (510MB)
[    0.000000] EFI: mem07: type=0, attr=0xf, range=[0x0000000040000000-0x0000000040200000) (2MB)
[    0.000000] EFI: mem08: type=7, attr=0xf, range=[0x0000000040200000-0x0000000065b74000) (601MB)
[    0.000000] EFI: mem09: type=2, attr=0xf, range=[0x0000000065b74000-0x0000000087d1e000) (545MB)
[    0.000000] EFI: mem10: type=4, attr=0xf, range=[0x0000000087d1e000-0x0000000087d30000) (0MB)
[    0.000000] EFI: mem11: type=7, attr=0xf, range=[0x0000000087d30000-0x00000000889e0000) (12MB)
[    0.000000] EFI: mem12: type=1, attr=0xf, range=[0x00000000889e0000-0x0000000088a01000) (0MB)
[    0.000000] EFI: mem13: type=7, attr=0xf, range=[0x0000000088a01000-0x0000000088a1d000) (0MB)
[    0.000000] EFI: mem14: type=4, attr=0xf, range=[0x0000000088a1d000-0x0000000088a23000) (0MB)
[    0.000000] EFI: mem15: type=2, attr=0xf, range=[0x0000000088a23000-0x0000000088a82000) (0MB)
[    0.000000] EFI: mem16: type=4, attr=0xf, range=[0x0000000088a82000-0x0000000088a85000) (0MB)
[    0.000000] EFI: mem17: type=2, attr=0xf, range=[0x0000000088a85000-0x0000000088acd000) (0MB)
[    0.000000] EFI: mem18: type=4, attr=0xf, range=[0x0000000088acd000-0x0000000088ad4000) (0MB)
[    0.000000] EFI: mem19: type=2, attr=0xf, range=[0x0000000088ad4000-0x0000000088ad6000) (0MB)
[    0.000000] EFI: mem20: type=4, attr=0xf, range=[0x0000000088ad6000-0x0000000088af3000) (0MB)
[    0.000000] EFI: mem21: type=1, attr=0xf, range=[0x0000000088af3000-0x0000000088b10000) (0MB)
[    0.000000] EFI: mem22: type=4, attr=0xf, range=[0x0000000088b10000-0x0000000088b28000) (0MB)
[    0.000000] EFI: mem23: type=2, attr=0xf, range=[0x0000000088b28000-0x0000000088b2d000) (0MB)
[    0.000000] EFI: mem24: type=4, attr=0xf, range=[0x0000000088b2d000-0x0000000088b3b000) (0MB)
[    0.000000] EFI: mem25: type=2, attr=0xf, range=[0x0000000088b3b000-0x0000000088b3c000) (0MB)
[    0.000000] EFI: mem26: type=4, attr=0xf, range=[0x0000000088b3c000-0x0000000088b3d000) (0MB)
[    0.000000] EFI: mem27: type=2, attr=0xf, range=[0x0000000088b3d000-0x0000000088b45000) (0MB)
[    0.000000] EFI: mem28: type=4, attr=0xf, range=[0x0000000088b45000-0x0000000089491000) (9MB)
[    0.000000] EFI: mem29: type=3, attr=0xf, range=[0x0000000089491000-0x0000000089492000) (0MB)
[    0.000000] EFI: mem30: type=4, attr=0xf, range=[0x0000000089492000-0x000000008960b000) (1MB)
[    0.000000] EFI: mem31: type=3, attr=0xf, range=[0x000000008960b000-0x0000000089610000) (0MB)
[    0.000000] EFI: mem32: type=4, attr=0xf, range=[0x0000000089610000-0x000000008962c000) (0MB)
[    0.000000] EFI: mem33: type=3, attr=0xf, range=[0x000000008962c000-0x0000000089635000) (0MB)
[    0.000000] EFI: mem34: type=4, attr=0xf, range=[0x0000000089635000-0x0000000089637000) (0MB)
[    0.000000] EFI: mem35: type=3, attr=0xf, range=[0x0000000089637000-0x0000000089638000) (0MB)
[    0.000000] EFI: mem36: type=4, attr=0xf, range=[0x0000000089638000-0x0000000089639000) (0MB)
[    0.000000] EFI: mem37: type=3, attr=0xf, range=[0x0000000089639000-0x000000008963a000) (0MB)
[    0.000000] EFI: mem38: type=4, attr=0xf, range=[0x000000008963a000-0x000000008963c000) (0MB)
[    0.000000] EFI: mem39: type=3, attr=0xf, range=[0x000000008963c000-0x0000000089641000) (0MB)
[    0.000000] EFI: mem40: type=4, attr=0xf, range=[0x0000000089641000-0x0000000089655000) (0MB)
[    0.000000] EFI: mem41: type=3, attr=0xf, range=[0x0000000089655000-0x0000000089659000) (0MB)
[    0.000000] EFI: mem42: type=4, attr=0xf, range=[0x0000000089659000-0x0000000089660000) (0MB)
[    0.000000] EFI: mem43: type=3, attr=0xf, range=[0x0000000089660000-0x0000000089661000) (0MB)
[    0.000000] EFI: mem44: type=4, attr=0xf, range=[0x0000000089661000-0x0000000089664000) (0MB)
[    0.000000] EFI: mem45: type=3, attr=0xf, range=[0x0000000089664000-0x000000008966e000) (0MB)
[    0.000000] EFI: mem46: type=4, attr=0xf, range=[0x000000008966e000-0x0000000089673000) (0MB)
[    0.000000] EFI: mem47: type=3, attr=0xf, range=[0x0000000089673000-0x0000000089675000) (0MB)
[    0.000000] EFI: mem48: type=4, attr=0xf, range=[0x0000000089675000-0x000000008969a000) (0MB)
[    0.000000] EFI: mem49: type=3, attr=0xf, range=[0x000000008969a000-0x000000008969d000) (0MB)
[    0.000000] EFI: mem50: type=4, attr=0xf, range=[0x000000008969d000-0x00000000896ad000) (0MB)
[    0.000000] EFI: mem51: type=3, attr=0xf, range=[0x00000000896ad000-0x00000000896b1000) (0MB)
[    0.000000] EFI: mem52: type=4, attr=0xf, range=[0x00000000896b1000-0x00000000896d6000) (0MB)
[    0.000000] EFI: mem53: type=3, attr=0xf, range=[0x00000000896d6000-0x00000000896eb000) (0MB)
[    0.000000] EFI: mem54: type=4, attr=0xf, range=[0x00000000896eb000-0x00000000896f6000) (0MB)
[    0.000000] EFI: mem55: type=3, attr=0xf, range=[0x00000000896f6000-0x000000008970b000) (0MB)
[    0.000000] EFI: mem56: type=4, attr=0xf, range=[0x000000008970b000-0x0000000089710000) (0MB)
[    0.000000] EFI: mem57: type=3, attr=0xf, range=[0x0000000089710000-0x0000000089719000) (0MB)
[    0.000000] EFI: mem58: type=4, attr=0xf, range=[0x0000000089719000-0x0000000089726000) (0MB)
[    0.000000] EFI: mem59: type=3, attr=0xf, range=[0x0000000089726000-0x0000000089739000) (0MB)
[    0.000000] EFI: mem60: type=4, attr=0xf, range=[0x0000000089739000-0x000000008973a000) (0MB)
[    0.000000] EFI: mem61: type=3, attr=0xf, range=[0x000000008973a000-0x000000008973c000) (0MB)
[    0.000000] EFI: mem62: type=4, attr=0xf, range=[0x000000008973c000-0x0000000089742000) (0MB)
[    0.000000] EFI: mem63: type=3, attr=0xf, range=[0x0000000089742000-0x0000000089743000) (0MB)
[    0.000000] EFI: mem64: type=4, attr=0xf, range=[0x0000000089743000-0x0000000089744000) (0MB)
[    0.000000] EFI: mem65: type=3, attr=0xf, range=[0x0000000089744000-0x0000000089748000) (0MB)
[    0.000000] EFI: mem66: type=4, attr=0xf, range=[0x0000000089748000-0x000000008974a000) (0MB)
[    0.000000] EFI: mem67: type=3, attr=0xf, range=[0x000000008974a000-0x000000008974b000) (0MB)
[    0.000000] EFI: mem68: type=4, attr=0xf, range=[0x000000008974b000-0x000000008974f000) (0MB)
[    0.000000] EFI: mem69: type=3, attr=0xf, range=[0x000000008974f000-0x0000000089752000) (0MB)
[    0.000000] EFI: mem70: type=4, attr=0xf, range=[0x0000000089752000-0x0000000089753000) (0MB)
[    0.000000] EFI: mem71: type=3, attr=0xf, range=[0x0000000089753000-0x0000000089754000) (0MB)
[    0.000000] EFI: mem72: type=4, attr=0xf, range=[0x0000000089754000-0x0000000089755000) (0MB)
[    0.000000] EFI: mem73: type=3, attr=0xf, range=[0x0000000089755000-0x0000000089759000) (0MB)
[    0.000000] EFI: mem74: type=4, attr=0xf, range=[0x0000000089759000-0x000000008975c000) (0MB)
[    0.000000] EFI: mem75: type=3, attr=0xf, range=[0x000000008975c000-0x000000008975d000) (0MB)
[    0.000000] EFI: mem76: type=4, attr=0xf, range=[0x000000008975d000-0x000000008975f000) (0MB)
[    0.000000] EFI: mem77: type=3, attr=0xf, range=[0x000000008975f000-0x0000000089761000) (0MB)
[    0.000000] EFI: mem78: type=4, attr=0xf, range=[0x0000000089761000-0x0000000089765000) (0MB)
[    0.000000] EFI: mem79: type=3, attr=0xf, range=[0x0000000089765000-0x0000000089769000) (0MB)
[    0.000000] EFI: mem80: type=4, attr=0xf, range=[0x0000000089769000-0x000000008976a000) (0MB)
[    0.000000] EFI: mem81: type=3, attr=0xf, range=[0x000000008976a000-0x000000008976b000) (0MB)
[    0.000000] EFI: mem82: type=4, attr=0xf, range=[0x000000008976b000-0x000000008976e000) (0MB)
[    0.000000] EFI: mem83: type=3, attr=0xf, range=[0x000000008976e000-0x0000000089775000) (0MB)
[    0.000000] EFI: mem84: type=4, attr=0xf, range=[0x0000000089775000-0x0000000089776000) (0MB)
[    0.000000] EFI: mem85: type=3, attr=0xf, range=[0x0000000089776000-0x000000008977b000) (0MB)
[    0.000000] EFI: mem86: type=4, attr=0xf, range=[0x000000008977b000-0x000000008977f000) (0MB)
[    0.000000] EFI: mem87: type=3, attr=0xf, range=[0x000000008977f000-0x0000000089780000) (0MB)
[    0.000000] EFI: mem88: type=4, attr=0xf, range=[0x0000000089780000-0x0000000089781000) (0MB)
[    0.000000] EFI: mem89: type=3, attr=0xf, range=[0x0000000089781000-0x0000000089786000) (0MB)
[    0.000000] EFI: mem90: type=4, attr=0xf, range=[0x0000000089786000-0x0000000089788000) (0MB)
[    0.000000] EFI: mem91: type=3, attr=0xf, range=[0x0000000089788000-0x000000008978a000) (0MB)
[    0.000000] EFI: mem92: type=4, attr=0xf, range=[0x000000008978a000-0x000000008978b000) (0MB)
[    0.000000] EFI: mem93: type=3, attr=0xf, range=[0x000000008978b000-0x000000008978f000) (0MB)
[    0.000000] EFI: mem94: type=4, attr=0xf, range=[0x000000008978f000-0x00000000897a7000) (0MB)
[    0.000000] EFI: mem95: type=3, attr=0xf, range=[0x00000000897a7000-0x00000000897bb000) (0MB)
[    0.000000] EFI: mem96: type=4, attr=0xf, range=[0x00000000897bb000-0x00000000897be000) (0MB)
[    0.000000] EFI: mem97: type=3, attr=0xf, range=[0x00000000897be000-0x00000000897c2000) (0MB)
[    0.000000] EFI: mem98: type=4, attr=0xf, range=[0x00000000897c2000-0x00000000897c3000) (0MB)
[    0.000000] EFI: mem99: type=3, attr=0xf, range=[0x00000000897c3000-0x00000000897c5000) (0MB)
[    0.000000] EFI: mem100: type=4, attr=0xf, range=[0x00000000897c5000-0x00000000897c7000) (0MB)
[    0.000000] EFI: mem101: type=3, attr=0xf, range=[0x00000000897c7000-0x00000000897c9000) (0MB)
[    0.000000] EFI: mem102: type=4, attr=0xf, range=[0x00000000897c9000-0x00000000897ca000) (0MB)
[    0.000000] EFI: mem103: type=3, attr=0xf, range=[0x00000000897ca000-0x00000000897d7000) (0MB)
[    0.000000] EFI: mem104: type=4, attr=0xf, range=[0x00000000897d7000-0x00000000897d9000) (0MB)
[    0.000000] EFI: mem105: type=3, attr=0xf, range=[0x00000000897d9000-0x00000000897db000) (0MB)
[    0.000000] EFI: mem106: type=4, attr=0xf, range=[0x00000000897db000-0x00000000897e3000) (0MB)
[    0.000000] EFI: mem107: type=3, attr=0xf, range=[0x00000000897e3000-0x00000000897e6000) (0MB)
[    0.000000] EFI: mem108: type=4, attr=0xf, range=[0x00000000897e6000-0x00000000897e8000) (0MB)
[    0.000000] EFI: mem109: type=3, attr=0xf, range=[0x00000000897e8000-0x00000000897ea000) (0MB)
[    0.000000] EFI: mem110: type=4, attr=0xf, range=[0x00000000897ea000-0x00000000897ef000) (0MB)
[    0.000000] EFI: mem111: type=3, attr=0xf, range=[0x00000000897ef000-0x00000000897f5000) (0MB)
[    0.000000] EFI: mem112: type=4, attr=0xf, range=[0x00000000897f5000-0x00000000897f7000) (0MB)
[    0.000000] EFI: mem113: type=3, attr=0xf, range=[0x00000000897f7000-0x00000000897fe000) (0MB)
[    0.000000] EFI: mem114: type=4, attr=0xf, range=[0x00000000897fe000-0x0000000089800000) (0MB)
[    0.000000] EFI: mem115: type=3, attr=0xf, range=[0x0000000089800000-0x0000000089806000) (0MB)
[    0.000000] EFI: mem116: type=4, attr=0xf, range=[0x0000000089806000-0x000000008980a000) (0MB)
[    0.000000] EFI: mem117: type=3, attr=0xf, range=[0x000000008980a000-0x000000008980b000) (0MB)
[    0.000000] EFI: mem118: type=4, attr=0xf, range=[0x000000008980b000-0x000000008980c000) (0MB)
[    0.000000] EFI: mem119: type=3, attr=0xf, range=[0x000000008980c000-0x0000000089813000) (0MB)
[    0.000000] EFI: mem120: type=4, attr=0xf, range=[0x0000000089813000-0x0000000089815000) (0MB)
[    0.000000] EFI: mem121: type=3, attr=0xf, range=[0x0000000089815000-0x000000008981b000) (0MB)
[    0.000000] EFI: mem122: type=4, attr=0xf, range=[0x000000008981b000-0x000000008981f000) (0MB)
[    0.000000] EFI: mem123: type=3, attr=0xf, range=[0x000000008981f000-0x000000008982e000) (0MB)
[    0.000000] EFI: mem124: type=4, attr=0xf, range=[0x000000008982e000-0x000000008982f000) (0MB)
[    0.000000] EFI: mem125: type=3, attr=0xf, range=[0x000000008982f000-0x0000000089848000) (0MB)
[    0.000000] EFI: mem126: type=4, attr=0xf, range=[0x0000000089848000-0x0000000089849000) (0MB)
[    0.000000] EFI: mem127: type=3, attr=0xf, range=[0x0000000089849000-0x000000008984f000) (0MB)
[    0.000000] EFI: mem128: type=4, attr=0xf, range=[0x000000008984f000-0x0000000089853000) (0MB)
[    0.000000] EFI: mem129: type=3, attr=0xf, range=[0x0000000089853000-0x0000000089859000) (0MB)
[    0.000000] EFI: mem130: type=4, attr=0xf, range=[0x0000000089859000-0x000000008985a000) (0MB)
[    0.000000] EFI: mem131: type=3, attr=0xf, range=[0x000000008985a000-0x000000008985b000) (0MB)
[    0.000000] EFI: mem132: type=4, attr=0xf, range=[0x000000008985b000-0x000000008985f000) (0MB)
[    0.000000] EFI: mem133: type=3, attr=0xf, range=[0x000000008985f000-0x0000000089860000) (0MB)
[    0.000000] EFI: mem134: type=4, attr=0xf, range=[0x0000000089860000-0x0000000089865000) (0MB)
[    0.000000] EFI: mem135: type=3, attr=0xf, range=[0x0000000089865000-0x0000000089867000) (0MB)
[    0.000000] EFI: mem136: type=4, attr=0xf, range=[0x0000000089867000-0x0000000089869000) (0MB)
[    0.000000] EFI: mem137: type=3, attr=0xf, range=[0x0000000089869000-0x000000008986a000) (0MB)
[    0.000000] EFI: mem138: type=4, attr=0xf, range=[0x000000008986a000-0x000000008986d000) (0MB)
[    0.000000] EFI: mem139: type=3, attr=0xf, range=[0x000000008986d000-0x000000008986e000) (0MB)
[    0.000000] EFI: mem140: type=4, attr=0xf, range=[0x000000008986e000-0x000000008986f000) (0MB)
[    0.000000] EFI: mem141: type=3, attr=0xf, range=[0x000000008986f000-0x0000000089871000) (0MB)
[    0.000000] EFI: mem142: type=4, attr=0xf, range=[0x0000000089871000-0x0000000089873000) (0MB)
[    0.000000] EFI: mem143: type=3, attr=0xf, range=[0x0000000089873000-0x0000000089875000) (0MB)
[    0.000000] EFI: mem144: type=4, attr=0xf, range=[0x0000000089875000-0x0000000089877000) (0MB)
[    0.000000] EFI: mem145: type=3, attr=0xf, range=[0x0000000089877000-0x0000000089880000) (0MB)
[    0.000000] EFI: mem146: type=4, attr=0xf, range=[0x0000000089880000-0x0000000089881000) (0MB)
[    0.000000] EFI: mem147: type=3, attr=0xf, range=[0x0000000089881000-0x0000000089883000) (0MB)
[    0.000000] EFI: mem148: type=4, attr=0xf, range=[0x0000000089883000-0x0000000089884000) (0MB)
[    0.000000] EFI: mem149: type=3, attr=0xf, range=[0x0000000089884000-0x0000000089885000) (0MB)
[    0.000000] EFI: mem150: type=4, attr=0xf, range=[0x0000000089885000-0x000000008988a000) (0MB)
[    0.000000] EFI: mem151: type=3, attr=0xf, range=[0x000000008988a000-0x000000008988b000) (0MB)
[    0.000000] EFI: mem152: type=4, attr=0xf, range=[0x000000008988b000-0x0000000089890000) (0MB)
[    0.000000] EFI: mem153: type=3, attr=0xf, range=[0x0000000089890000-0x0000000089891000) (0MB)
[    0.000000] EFI: mem154: type=4, attr=0xf, range=[0x0000000089891000-0x0000000089892000) (0MB)
[    0.000000] EFI: mem155: type=3, attr=0xf, range=[0x0000000089892000-0x0000000089899000) (0MB)
[    0.000000] EFI: mem156: type=4, attr=0xf, range=[0x0000000089899000-0x000000008989e000) (0MB)
[    0.000000] EFI: mem157: type=3, attr=0xf, range=[0x000000008989e000-0x00000000898a0000) (0MB)
[    0.000000] EFI: mem158: type=4, attr=0xf, range=[0x00000000898a0000-0x00000000898a6000) (0MB)
[    0.000000] EFI: mem159: type=3, attr=0xf, range=[0x00000000898a6000-0x00000000898a7000) (0MB)
[    0.000000] EFI: mem160: type=4, attr=0xf, range=[0x00000000898a7000-0x00000000898a9000) (0MB)
[    0.000000] EFI: mem161: type=3, attr=0xf, range=[0x00000000898a9000-0x00000000898aa000) (0MB)
[    0.000000] EFI: mem162: type=4, attr=0xf, range=[0x00000000898aa000-0x00000000898db000) (0MB)
[    0.000000] EFI: mem163: type=3, attr=0xf, range=[0x00000000898db000-0x00000000898ee000) (0MB)
[    0.000000] EFI: mem164: type=4, attr=0xf, range=[0x00000000898ee000-0x0000000089934000) (0MB)
[    0.000000] EFI: mem165: type=3, attr=0xf, range=[0x0000000089934000-0x0000000089948000) (0MB)
[    0.000000] EFI: mem166: type=4, attr=0xf, range=[0x0000000089948000-0x0000000089949000) (0MB)
[    0.000000] EFI: mem167: type=3, attr=0xf, range=[0x0000000089949000-0x000000008994c000) (0MB)
[    0.000000] EFI: mem168: type=4, attr=0xf, range=[0x000000008994c000-0x0000000089968000) (0MB)
[    0.000000] EFI: mem169: type=3, attr=0xf, range=[0x0000000089968000-0x000000008996d000) (0MB)
[    0.000000] EFI: mem170: type=4, attr=0xf, range=[0x000000008996d000-0x000000008997a000) (0MB)
[    0.000000] EFI: mem171: type=3, attr=0xf, range=[0x000000008997a000-0x000000008997b000) (0MB)
[    0.000000] EFI: mem172: type=4, attr=0xf, range=[0x000000008997b000-0x000000008997c000) (0MB)
[    0.000000] EFI: mem173: type=3, attr=0xf, range=[0x000000008997c000-0x000000008997d000) (0MB)
[    0.000000] EFI: mem174: type=4, attr=0xf, range=[0x000000008997d000-0x000000008998f000) (0MB)
[    0.000000] EFI: mem175: type=3, attr=0xf, range=[0x000000008998f000-0x00000000899a4000) (0MB)
[    0.000000] EFI: mem176: type=4, attr=0xf, range=[0x00000000899a4000-0x00000000899a5000) (0MB)
[    0.000000] EFI: mem177: type=3, attr=0xf, range=[0x00000000899a5000-0x00000000899b1000) (0MB)
[    0.000000] EFI: mem178: type=4, attr=0xf, range=[0x00000000899b1000-0x00000000899b4000) (0MB)
[    0.000000] EFI: mem179: type=3, attr=0xf, range=[0x00000000899b4000-0x00000000899b8000) (0MB)
[    0.000000] EFI: mem180: type=4, attr=0xf, range=[0x00000000899b8000-0x0000000089dd9000) (4MB)
[    0.000000] EFI: mem181: type=3, attr=0xf, range=[0x0000000089dd9000-0x0000000089dde000) (0MB)
[    0.000000] EFI: mem182: type=4, attr=0xf, range=[0x0000000089dde000-0x0000000089ddf000) (0MB)
[    0.000000] EFI: mem183: type=3, attr=0xf, range=[0x0000000089ddf000-0x0000000089de1000) (0MB)
[    0.000000] EFI: mem184: type=4, attr=0xf, range=[0x0000000089de1000-0x0000000089de2000) (0MB)
[    0.000000] EFI: mem185: type=3, attr=0xf, range=[0x0000000089de2000-0x0000000089de5000) (0MB)
[    0.000000] EFI: mem186: type=4, attr=0xf, range=[0x0000000089de5000-0x0000000089de6000) (0MB)
[    0.000000] EFI: mem187: type=3, attr=0xf, range=[0x0000000089de6000-0x0000000089df3000) (0MB)
[    0.000000] EFI: mem188: type=4, attr=0xf, range=[0x0000000089df3000-0x0000000089df5000) (0MB)
[    0.000000] EFI: mem189: type=3, attr=0xf, range=[0x0000000089df5000-0x0000000089e02000) (0MB)
[    0.000000] EFI: mem190: type=4, attr=0xf, range=[0x0000000089e02000-0x0000000089e03000) (0MB)
[    0.000000] EFI: mem191: type=3, attr=0xf, range=[0x0000000089e03000-0x0000000089e06000) (0MB)
[    0.000000] EFI: mem192: type=4, attr=0xf, range=[0x0000000089e06000-0x0000000089e07000) (0MB)
[    0.000000] EFI: mem193: type=3, attr=0xf, range=[0x0000000089e07000-0x0000000089e08000) (0MB)
[    0.000000] EFI: mem194: type=4, attr=0xf, range=[0x0000000089e08000-0x000000008ad0f000) (15MB)
[    0.000000] EFI: mem195: type=7, attr=0xf, range=[0x000000008ad0f000-0x000000008ad36000) (0MB)
[    0.000000] EFI: mem196: type=10, attr=0xf, range=[0x000000008ad36000-0x000000008ad5f000) (0MB)
[    0.000000] EFI: mem197: type=7, attr=0xf, range=[0x000000008ad5f000-0x000000008ad6f000) (0MB)
[    0.000000] EFI: mem198: type=9, attr=0xf, range=[0x000000008ad6f000-0x000000008ad8f000) (0MB)
[    0.000000] EFI: mem199: type=7, attr=0xf, range=[0x000000008ad8f000-0x000000008ae33000) (0MB)
[    0.000000] EFI: mem200: type=6, attr=0x800000000000000f, range=[0x000000008ae33000-0x000000008ae8f000) (0MB)
[    0.000000] EFI: mem201: type=7, attr=0xf, range=[0x000000008ae8f000-0x000000008aed2000) (0MB)
[    0.000000] EFI: mem202: type=5, attr=0x800000000000000f, range=[0x000000008aed2000-0x000000008aeff000) (0MB)
[    0.000000] EFI: mem203: type=7, attr=0xf, range=[0x000000008aeff000-0x000000008af9a000) (0MB)
[    0.000000] EFI: mem204: type=2, attr=0xf, range=[0x000000008af9a000-0x000000008afa2000) (0MB)
[    0.000000] EFI: mem205: type=0, attr=0xf, range=[0x000000008afa2000-0x000000008afff000) (0MB)
[    0.000000] EFI: mem206: type=6, attr=0x800000000000000f, range=[0x000000008afff000-0x000000008b000000) (0MB)
[    0.000000] EFI: mem207: type=7, attr=0xf, range=[0x0000000100000000-0x000000016fe00000) (1790MB)
[    0.000000] EFI: mem208: type=0, attr=0x8000000000000000, range=[0x00000000000a0000-0x0000000000100000) (0MB)
[    0.000000] EFI: mem209: type=0, attr=0x8000000000000000, range=[0x000000008b000000-0x000000008fa00000) (74MB)
[    0.000000] EFI: mem210: type=11, attr=0x8000000000000000, range=[0x00000000e00f8000-0x00000000e00f9000) (0MB)
[    0.000000] EFI: mem211: type=11, attr=0x8000000000000000, range=[0x00000000fed1c000-0x00000000fed20000) (0MB)
[    0.000000] EFI: mem212: type=11, attr=0x8000000000000000, range=[0x00000000ffed0000-0x00000000fff00000) (0MB)
[    0.000000] DMI 2.4 present.
[    0.000000] DMI: Apple Inc. MacBookAir4,1/Mac-C08A6BB70A942AC2, BIOS MBA41.88Z.0077.B00.1106300929 06/30/2011
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn = 0x16fe00 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: write-back
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-DFFFF write-protect
[    0.000000]   E0000-FFFFF uncachable
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 0C0000000 mask FC0000000 uncachable
[    0.000000]   1 base 0A0000000 mask FE0000000 uncachable
[    0.000000]   2 base 090000000 mask FF0000000 uncachable
[    0.000000]   3 base 08C000000 mask FFC000000 uncachable
[    0.000000]   4 base 08B800000 mask FFF800000 uncachable
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000]   8 disabled
[    0.000000]   9 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] last_pfn = 0x8afa2 max_arch_pfn = 0x400000000
[    0.000000] initial memory mapped : 0 - 20000000
[    0.000000] Base memory trampoline at [ffff88000009a000] 9a000 size 20480
[    0.000000] init_memory_mapping: 0000000000000000-000000008afa2000
[    0.000000]  0000000000 - 008ae00000 page 2M
[    0.000000]  008ae00000 - 008afa2000 page 4k
[    0.000000] kernel direct mapping tables up to 8afa2000 @ 1fffb000-20000000
[    0.000000] init_memory_mapping: 0000000100000000-000000016fe00000
[    0.000000]  0100000000 - 016fe00000 page 2M
[    0.000000] kernel direct mapping tables up to 16fe00000 @ 8af9b000-8afa2000
[    0.000000] ACPI: RSDP 000000008ad8e014 00024 (v02 APPLE )
[    0.000000] ACPI: XSDT 000000008ad8e1c0 000A4 (v01 APPLE   Apple00 00000060      01000013)
[    0.000000] ACPI: FACP 000000008ad8c000 000F4 (v04 APPLE   Apple00 00000060 Loki 0000005F)
[    0.000000] ACPI: DSDT 000000008ad81000 05050 (v01 APPLE  MacBookA 00040001 INTL 20100915)
[    0.000000] ACPI: FACS 000000008ad40000 00040
[    0.000000] ACPI: HPET 000000008ad8b000 00038 (v01 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: APIC 000000008ad8a000 000BC (v02 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: SBST 000000008ad88000 00030 (v01 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: ECDT 000000008ad87000 00053 (v01 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: SSDT 000000008ad7e000 00107 (v01 APPLE  SataAhci 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad7d000 00024 (v01 APPLE   SmcDppt 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad7a000 006BE (v01 APPLE  UsbNoRmh 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad77000 00159 (v02 APPLE     IGHda 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad75000 00032 (v01 APPLE    SsdtS3 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad73000 015EB (v02 APPLE  SsdtIGPU 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad72000 00569 (v01  PmRef  Cpu0Ist 00003000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad71000 009B1 (v01  PmRef    CpuPm 00003000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad70000 00315 (v01  PmRef  Cpu0Tst 00003000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000008ad6f000 0037A (v01  PmRef    ApTst 00003000 INTL 20100915)
[    0.000000] ACPI: MCFG 000000008ad89000 0003C (v01 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-000000016fe00000
[    0.000000] Initmem setup node 0 0000000000000000-000000016fe00000
[    0.000000]   NODE_DATA [000000016fdfb000 - 000000016fdfffff]
[    0.000000]  [ffffea0000000000-ffffea00051fffff] PMD -> [ffff88016b400000-ffff88016edfffff] on node 0
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x0016fe00
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[10] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000008f
[    0.000000]     0: 0x00000090 -> 0x000000a0
[    0.000000]     0: 0x00000100 -> 0x00020000
[    0.000000]     0: 0x00020200 -> 0x00040000
[    0.000000]     0: 0x00040200 -> 0x0008ad36
[    0.000000]     0: 0x0008ad5f -> 0x0008ad6f
[    0.000000]     0: 0x0008ad8f -> 0x0008ae33
[    0.000000]     0: 0x0008ae8f -> 0x0008aed2
[    0.000000]     0: 0x0008aeff -> 0x0008afa2
[    0.000000]     0: 0x00100000 -> 0x0016fe00
[    0.000000] On node 0 totalpages: 1026143
[    0.000000]   DMA zone: 56 pages used for memmap
[    0.000000]   DMA zone: 9 pages reserved
[    0.000000]   DMA zone: 3918 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 14280 pages used for memmap
[    0.000000]   DMA32 zone: 549640 pages, LIFO batch:31
[    0.000000]   Normal zone: 6265 pages used for memmap
[    0.000000]   Normal zone: 451975 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0xff] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0xff] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0xff] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0xff] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x08] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 8 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] PM: Registered nosave memory: 000000000008f000 - 0000000000090000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 0000000000100000
[    0.000000] PM: Registered nosave memory: 0000000020000000 - 0000000020200000
[    0.000000] PM: Registered nosave memory: 0000000040000000 - 0000000040200000
[    0.000000] PM: Registered nosave memory: 000000008ad36000 - 000000008ad5f000
[    0.000000] PM: Registered nosave memory: 000000008ad6f000 - 000000008ad8f000
[    0.000000] PM: Registered nosave memory: 000000008ae33000 - 000000008ae8f000
[    0.000000] PM: Registered nosave memory: 000000008aed2000 - 000000008aeff000
[    0.000000] PM: Registered nosave memory: 000000008afa2000 - 000000008fa00000
[    0.000000] PM: Registered nosave memory: 000000008fa00000 - 00000000e00f8000
[    0.000000] PM: Registered nosave memory: 00000000e00f8000 - 00000000e00f9000
[    0.000000] PM: Registered nosave memory: 00000000e00f9000 - 00000000fed1c000
[    0.000000] PM: Registered nosave memory: 00000000fed1c000 - 00000000fed20000
[    0.000000] PM: Registered nosave memory: 00000000fed20000 - 00000000ffed0000
[    0.000000] PM: Registered nosave memory: 00000000ffed0000 - 00000000fff00000
[    0.000000] PM: Registered nosave memory: 00000000fff00000 - 0000000100000000
[    0.000000] Allocating PCI resources starting at 8fa00000 (gap: 8fa00000:506f8000)
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:8 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88016fa00000 s82112 r8192 d24384 u262144
[    0.000000] pcpu-alloc: s82112 r8192 d24384 u262144 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 2 3 4 5 6 7 
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 1005533
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-rc5-00021-g899e4f0 root=/dev/sda4 ro quiet
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] xsave/xrstor: enabled xstate_bv 0x7, cntxt size 0x340
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Memory: 3932228k/6027264k available (4771k kernel code, 1922692k absent, 172344k reserved, 4027k data, 592k init)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:4352 nr_irqs:744 16
[    0.000000] Extended CMOS year: 2000
[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [tty0] enabled
[    0.000000] allocated 33554432 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] hpet clockevent registered
[    0.000000] Fast TSC calibration using PIT
[    0.001000] Detected 1799.985 MHz processor.
[    0.000003] Calibrating delay loop (skipped), value calculated using timer frequency.. 3599.97 BogoMIPS (lpj=1799985)
[    0.000007] pid_max: default: 32768 minimum: 301
[    0.000047] init_memory_mapping: 000000008afff000-000000008b000000
[    0.000050]  008afff000 - 008b000000 page 4k
[    0.000227] init_memory_mapping: 000000008b000000-000000008fa00000
[    0.000229]  008b000000 - 008fa00000 page 2M
[    0.039269] Security Framework initialized
[    0.039708] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.040859] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.041319] Mount-cache hash table entries: 256
[    0.041429] Initializing cgroup subsys cpuacct
[    0.041434] Initializing cgroup subsys memory
[    0.041444] Initializing cgroup subsys devices
[    0.041446] Initializing cgroup subsys freezer
[    0.041447] Initializing cgroup subsys net_cls
[    0.041449] Initializing cgroup subsys blkio
[    0.041482] CPU: Physical Processor ID: 0
[    0.041484] CPU: Processor Core ID: 0
[    0.041490] mce: CPU supports 7 MCE banks
[    0.041504] CPU0: Thermal monitoring enabled (TM1)
[    0.041511] using mwait in idle threads.
[    0.043090] ACPI: Core revision 20110623
[    0.051138] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.061125] CPU0: Intel(R) Core(TM) i7-2677M CPU @ 1.80GHz stepping 07
[    0.162482] Performance Events: PEBS fmt1+, SandyBridge events, Intel PMU driver.
[    0.162488] PEBS disabled due to CPU errata.
[    0.162491] ... version:                3
[    0.162492] ... bit width:              48
[    0.162494] ... generic registers:      4
[    0.162495] ... value mask:             0000ffffffffffff
[    0.162497] ... max period:             000000007fffffff
[    0.162498] ... fixed-purpose events:   3
[    0.162500] ... event mask:             000000070000000f
[    0.162646] NMI watchdog enabled, takes one hw-pmu counter.
[    0.162746] Booting Node   0, Processors  #1
[    0.162748] smpboot cpu 1: start_ip = 9a000
[    0.253474] NMI watchdog enabled, takes one hw-pmu counter.
[    0.253574]  #2
[    0.253576] smpboot cpu 2: start_ip = 9a000
[    0.344322] NMI watchdog enabled, takes one hw-pmu counter.
[    0.344426]  #3
[    0.344428] smpboot cpu 3: start_ip = 9a000
[    0.435151] NMI watchdog enabled, takes one hw-pmu counter.
[    0.435180] Brought up 4 CPUs
[    0.435182] Total of 4 processors activated (14398.34 BogoMIPS).
[    0.439934] devtmpfs: initialized
[    0.440868] PM: Registering ACPI NVS region at 8ad36000 (167936 bytes)
[    0.441025] print_constraints: dummy: 
[    0.441086] NET: Registered protocol family 16
[    0.441183] ACPI: bus type pci registered
[    0.441264] PCI: MMCONFIG for domain 0000 [bus 00-97] at [mem 0xe0000000-0xe97fffff] (base 0xe0000000)
[    0.441268] PCI: not using MMCONFIG
[    0.441270] PCI: Using configuration type 1 for base access
[    0.441991] bio: create slab <bio-0> at 0
[    0.442089] ACPI: Added _OSI(Module Device)
[    0.442091] ACPI: Added _OSI(Processor Device)
[    0.442093] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.442096] ACPI: Added _OSI(Processor Aggregator Device)
[    0.443450] ACPI: EC: EC description table is found, configuring boot EC
[    0.450776] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    0.451448] ACPI: SSDT 000000008ad3b190 00781 (v01  PmRef  Cpu0Cst 00003001 INTL 20100915)
[    0.451819] ACPI: Dynamic OEM Table Load:
[    0.451822] ACPI: SSDT           (null) 00781 (v01  PmRef  Cpu0Cst 00003001 INTL 20100915)
[    0.454358] ACPI: SSDT 000000008ad3c710 003A4 (v01  PmRef    ApIst 00003000 INTL 20100915)
[    0.454793] ACPI: Dynamic OEM Table Load:
[    0.454796] ACPI: SSDT           (null) 003A4 (v01  PmRef    ApIst 00003000 INTL 20100915)
[    0.457148] ACPI: SSDT 000000008ad3ad90 00119 (v01  PmRef    ApCst 00003000 INTL 20100915)
[    0.457500] ACPI: Dynamic OEM Table Load:
[    0.457502] ACPI: SSDT           (null) 00119 (v01  PmRef    ApCst 00003000 INTL 20100915)
[    0.460695] ACPI: Interpreter enabled
[    0.460699] ACPI: (supports S0 S3 S4 S5)
[    0.460724] ACPI: Using IOAPIC for interrupt routing
[    0.460747] PCI: MMCONFIG for domain 0000 [bus 00-97] at [mem 0xe0000000-0xe97fffff] (base 0xe0000000)
[    0.463446] PCI: MMCONFIG at [mem 0xe0000000-0xe97fffff] reserved in ACPI motherboard resources
[    0.525934] ACPI: EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
[    0.526127] ACPI: No dock devices found.
[    0.526129] HEST: Table not found.
[    0.526132] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.526385] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.526726] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7]
[    0.526729] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff]
[    0.526732] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x000bffff]
[    0.526734] pci_root PNP0A08:00: host bridge window [mem 0x000c0000-0x000c3fff]
[    0.526736] pci_root PNP0A08:00: host bridge window [mem 0x000c4000-0x000c7fff]
[    0.526739] pci_root PNP0A08:00: host bridge window [mem 0x000c8000-0x000cbfff]
[    0.526741] pci_root PNP0A08:00: host bridge window [mem 0x000cc000-0x000cffff]
[    0.526743] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x000d3fff]
[    0.526746] pci_root PNP0A08:00: host bridge window [mem 0x000d4000-0x000d7fff]
[    0.526748] pci_root PNP0A08:00: host bridge window [mem 0x000d8000-0x000dbfff]
[    0.526750] pci_root PNP0A08:00: host bridge window [mem 0x000dc000-0x000dffff]
[    0.526753] pci_root PNP0A08:00: host bridge window [mem 0x000e0000-0x000e3fff]
[    0.526755] pci_root PNP0A08:00: host bridge window [mem 0x000e4000-0x000e7fff]
[    0.526757] pci_root PNP0A08:00: host bridge window [mem 0x000e8000-0x000ebfff]
[    0.526759] pci_root PNP0A08:00: host bridge window [mem 0x000ec000-0x000effff]
[    0.526762] pci_root PNP0A08:00: host bridge window [mem 0x000f0000-0x000fffff]
[    0.526764] pci_root PNP0A08:00: host bridge window [mem 0x8fa00000-0xfeafffff]
[    0.526767] pci_root PNP0A08:00: host bridge window [mem 0xfed40000-0xfed44fff]
[    0.526784] pci 0000:00:00.0: [8086:0104] type 0 class 0x000600
[    0.526824] pci 0000:00:01.0: [8086:0101] type 1 class 0x000604
[    0.526857] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    0.526861] pci 0000:00:01.0: PME# disabled
[    0.526885] pci 0000:00:02.0: [8086:0116] type 0 class 0x000300
[    0.526897] pci 0000:00:02.0: reg 10: [mem 0xa0000000-0xa03fffff 64bit]
[    0.526905] pci 0000:00:02.0: reg 18: [mem 0x90000000-0x9fffffff 64bit pref]
[    0.526910] pci 0000:00:02.0: reg 20: [io  0x2000-0x203f]
[    0.526968] pci 0000:00:16.0: [8086:1c3a] type 0 class 0x000780
[    0.526996] pci 0000:00:16.0: reg 10: [mem 0xa0607100-0xa060710f 64bit]
[    0.527064] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[    0.527069] pci 0000:00:16.0: PME# disabled
[    0.527105] pci 0000:00:1a.0: [8086:1c2c] type 0 class 0x000c03
[    0.527152] pci 0000:00:1a.0: reg 20: [io  0x2140-0x215f]
[    0.527216] pci 0000:00:1a.7: [8086:1c2d] type 0 class 0x000c03
[    0.527239] pci 0000:00:1a.7: reg 10: [mem 0xa0606c00-0xa0606fff]
[    0.527318] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
[    0.527323] pci 0000:00:1a.7: PME# disabled
[    0.527351] pci 0000:00:1b.0: [8086:1c20] type 0 class 0x000403
[    0.527369] pci 0000:00:1b.0: reg 10: [mem 0xa0600000-0xa0603fff 64bit]
[    0.527430] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.527435] pci 0000:00:1b.0: PME# disabled
[    0.527463] pci 0000:00:1c.0: [8086:1c10] type 1 class 0x000604
[    0.527566] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.527571] pci 0000:00:1c.0: PME# disabled
[    0.527608] pci 0000:00:1c.1: [8086:1c12] type 1 class 0x000604
[    0.527710] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    0.527716] pci 0000:00:1c.1: PME# disabled
[    0.527760] pci 0000:00:1d.0: [8086:1c27] type 0 class 0x000c03
[    0.527807] pci 0000:00:1d.0: reg 20: [io  0x20e0-0x20ff]
[    0.527876] pci 0000:00:1d.7: [8086:1c26] type 0 class 0x000c03
[    0.527899] pci 0000:00:1d.7: reg 10: [mem 0xa0606800-0xa0606bff]
[    0.527978] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    0.527983] pci 0000:00:1d.7: PME# disabled
[    0.528013] pci 0000:00:1f.0: [8086:1c4d] type 0 class 0x000601
[    0.528138] pci 0000:00:1f.2: [8086:1c03] type 0 class 0x000106
[    0.528160] pci 0000:00:1f.2: reg 10: [io  0x2168-0x216f]
[    0.528169] pci 0000:00:1f.2: reg 14: [io  0x217c-0x217f]
[    0.528179] pci 0000:00:1f.2: reg 18: [io  0x2160-0x2167]
[    0.528188] pci 0000:00:1f.2: reg 1c: [io  0x2178-0x217b]
[    0.528197] pci 0000:00:1f.2: reg 20: [io  0x2060-0x207f]
[    0.528207] pci 0000:00:1f.2: reg 24: [mem 0xa0606000-0xa06067ff]
[    0.528243] pci 0000:00:1f.2: PME# supported from D3hot
[    0.528248] pci 0000:00:1f.2: PME# disabled
[    0.528268] pci 0000:00:1f.3: [8086:1c22] type 0 class 0x000c05
[    0.528286] pci 0000:00:1f.3: reg 10: [mem 0xa0607000-0xa06070ff 64bit]
[    0.528309] pci 0000:00:1f.3: reg 20: [io  0xefa0-0xefbf]
[    0.528377] pci 0000:03:00.0: [8086:151a] type 1 class 0x000604
[    0.528426] pci 0000:03:00.0: supports D1 D2
[    0.528428] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.528431] pci 0000:03:00.0: PME# disabled
[    0.529869] pci 0000:00:01.0: PCI bridge to [bus 03-97]
[    0.529876] pci 0000:00:01.0:   bridge window [io  0x3000-0x3fff]
[    0.529882] pci 0000:00:01.0:   bridge window [mem 0xa0700000-0xa49fffff]
[    0.529892] pci 0000:00:01.0:   bridge window [mem 0xa4a00000-0xa89fffff 64bit pref]
[    0.529956] pci 0000:04:00.0: [8086:151a] type 1 class 0x000604
[    0.530008] pci 0000:04:00.0: supports D1 D2
[    0.530010] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.530014] pci 0000:04:00.0: PME# disabled
[    0.530047] pci 0000:04:03.0: [8086:151a] type 1 class 0x000604
[    0.530098] pci 0000:04:03.0: supports D1 D2
[    0.530100] pci 0000:04:03.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.530104] pci 0000:04:03.0: PME# disabled
[    0.530132] pci 0000:04:04.0: [8086:151a] type 1 class 0x000604
[    0.530183] pci 0000:04:04.0: supports D1 D2
[    0.530185] pci 0000:04:04.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.530189] pci 0000:04:04.0: PME# disabled
[    0.530231] pci 0000:03:00.0: PCI bridge to [bus 04-67]
[    0.530238] pci 0000:03:00.0:   bridge window [mem 0xa0700000-0xa09fffff]
[    0.530297] pci 0000:05:00.0: [8086:151a] type 0 class 0x000880
[    0.530312] pci 0000:05:00.0: reg 10: [mem 0xa0700000-0xa073ffff]
[    0.530323] pci 0000:05:00.0: reg 14: [mem 0xa0740000-0xa0740fff]
[    0.530400] pci 0000:05:00.0: supports D1 D2
[    0.530402] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.530407] pci 0000:05:00.0: PME# disabled
[    0.531867] pci 0000:04:00.0: PCI bridge to [bus 05-05]
[    0.531881] pci 0000:04:00.0:   bridge window [mem 0xa0700000-0xa07fffff]
[    0.531943] pci 0000:04:03.0: PCI bridge to [bus 06-36]
[    0.531951] pci 0000:04:03.0:   bridge window [mem 0xa0800000-0xa08fffff]
[    0.531995] pci 0000:04:04.0: PCI bridge to [bus 37-67]
[    0.532003] pci 0000:04:04.0:   bridge window [mem 0xa0900000-0xa09fffff]
[    0.532097] pci 0000:00:1c.0: PCI bridge to [bus 01-01]
[    0.532106] pci 0000:00:1c.0:   bridge window [mem 0xa0500000-0xa05fffff]
[    0.532266] pci 0000:02:00.0: [14e4:4353] type 0 class 0x000280
[    0.532318] pci 0000:02:00.0: reg 10: [mem 0xa0400000-0xa0403fff 64bit]
[    0.532524] pci 0000:02:00.0: supports D1 D2
[    0.532526] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.532536] pci 0000:02:00.0: PME# disabled
[    0.533879] pci 0000:00:1c.1: PCI bridge to [bus 02-02]
[    0.533893] pci 0000:00:1c.1:   bridge window [mem 0xa0400000-0xa04fffff]
[    0.533927] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.534099] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P2._PRT]
[    0.534221] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP02._PRT]
[    0.534358]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.534538]  pci0000:00: ACPI _OSC control (0x19) granted
[    0.538802] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[    0.538866] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[    0.538923] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[    0.538980] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[    0.539036] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[    0.539091] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[    0.539145] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[    0.539202] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[    0.539307] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.539318] vgaarb: loaded
[    0.539319] vgaarb: bridge control possible 0000:00:02.0
[    0.539430] SCSI subsystem initialized
[    0.539446] libata version 3.00 loaded.
[    0.539501] PCI: Using ACPI for IRQ routing
[    0.543584] PCI: pci_cache_line_size set to 64 bytes
[    0.543710] reserve RAM buffer: 000000000008f000 - 000000000008ffff 
[    0.543712] reserve RAM buffer: 000000008ad36000 - 000000008bffffff 
[    0.543717] reserve RAM buffer: 000000008ad6f000 - 000000008bffffff 
[    0.543720] reserve RAM buffer: 000000008ae33000 - 000000008bffffff 
[    0.543723] reserve RAM buffer: 000000008aed2000 - 000000008bffffff 
[    0.543726] reserve RAM buffer: 000000008afa2000 - 000000008bffffff 
[    0.543728] reserve RAM buffer: 000000016fe00000 - 000000016fffffff 
[    0.543841] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    0.543847] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[    0.545867] Switching to clocksource hpet
[    0.548891] pnp: PnP ACPI init
[    0.548906] ACPI: bus type pnp registered
[    0.549107] pnp 00:00: [bus 00-ff]
[    0.549110] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.549113] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.549115] pnp 00:00: [io  0x0d00-0xffff window]
[    0.549117] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.549120] pnp 00:00: [mem 0x000c0000-0x000c3fff window]
[    0.549122] pnp 00:00: [mem 0x000c4000-0x000c7fff window]
[    0.549124] pnp 00:00: [mem 0x000c8000-0x000cbfff window]
[    0.549126] pnp 00:00: [mem 0x000cc000-0x000cffff window]
[    0.549129] pnp 00:00: [mem 0x000d0000-0x000d3fff window]
[    0.549131] pnp 00:00: [mem 0x000d4000-0x000d7fff window]
[    0.549133] pnp 00:00: [mem 0x000d8000-0x000dbfff window]
[    0.549135] pnp 00:00: [mem 0x000dc000-0x000dffff window]
[    0.549137] pnp 00:00: [mem 0x000e0000-0x000e3fff window]
[    0.549141] pnp 00:00: [mem 0x000e4000-0x000e7fff window]
[    0.549143] pnp 00:00: [mem 0x000e8000-0x000ebfff window]
[    0.549145] pnp 00:00: [mem 0x000ec000-0x000effff window]
[    0.549147] pnp 00:00: [mem 0x000f0000-0x000fffff window]
[    0.549150] pnp 00:00: [mem 0x8fa00000-0xfeafffff window]
[    0.549152] pnp 00:00: [mem 0xfed40000-0xfed44fff window]
[    0.549205] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 (active)
[    0.549299] pnp 00:01: [io  0x0000-0x001f]
[    0.549301] pnp 00:01: [io  0x0081-0x0091]
[    0.549303] pnp 00:01: [io  0x0093-0x009f]
[    0.549305] pnp 00:01: [io  0x00c0-0x00df]
[    0.549307] pnp 00:01: [dma 4]
[    0.549339] pnp 00:01: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.549348] pnp 00:02: [mem 0xff000000-0xffffffff]
[    0.549376] pnp 00:02: Plug and Play ACPI device, IDs INT0800 (active)
[    0.549466] pnp 00:03: [irq 0 disabled]
[    0.549475] pnp 00:03: [irq 8]
[    0.549477] pnp 00:03: [mem 0xfed00000-0xfed003ff]
[    0.549527] system 00:03: [mem 0xfed00000-0xfed003ff] has been reserved
[    0.549531] system 00:03: Plug and Play ACPI device, IDs PNP0103 PNP0c01 (active)
[    0.549543] pnp 00:04: [io  0x00f0]
[    0.549549] pnp 00:04: [irq 13]
[    0.549578] pnp 00:04: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.549590] pnp 00:05: [io  0x002e-0x002f]
[    0.549592] pnp 00:05: [io  0x004e-0x004f]
[    0.549594] pnp 00:05: [io  0x0061]
[    0.549596] pnp 00:05: [io  0x0063]
[    0.549597] pnp 00:05: [io  0x0065]
[    0.549599] pnp 00:05: [io  0x0067]
[    0.549601] pnp 00:05: [io  0x0080]
[    0.549603] pnp 00:05: [io  0x0092]
[    0.549605] pnp 00:05: [io  0x00b2-0x00b3]
[    0.549607] pnp 00:05: [io  0x1000-0x100f]
[    0.549609] pnp 00:05: [io  0x0400-0x047f]
[    0.549610] pnp 00:05: [io  0x0500-0x057f]
[    0.549658] system 00:05: [io  0x1000-0x100f] has been reserved
[    0.549662] system 00:05: [io  0x0400-0x047f] has been reserved
[    0.549664] system 00:05: [io  0x0500-0x057f] has been reserved
[    0.549667] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.549677] pnp 00:06: [io  0x0070-0x0077]
[    0.549706] pnp 00:06: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.549720] pnp 00:07: [io  0x0300-0x031f]
[    0.549725] pnp 00:07: [irq 6]
[    0.549755] pnp 00:07: Plug and Play ACPI device, IDs APP0001 (active)
[    0.549943] pnp 00:08: [mem 0xfed1c000-0xfed1ffff]
[    0.549945] pnp 00:08: [mem 0xfed10000-0xfed17fff]
[    0.549947] pnp 00:08: [mem 0xfed18000-0xfed18fff]
[    0.549949] pnp 00:08: [mem 0xfed19000-0xfed19fff]
[    0.549951] pnp 00:08: [mem 0xe0000000-0xefffffff]
[    0.549953] pnp 00:08: [mem 0xfed20000-0xfed3ffff]
[    0.549955] pnp 00:08: [mem 0xfed90000-0xfed93fff]
[    0.549957] pnp 00:08: [mem 0xfed45000-0xfed8ffff]
[    0.549959] pnp 00:08: [mem 0xff000000-0xffffffff]
[    0.549961] pnp 00:08: [mem 0xfee00000-0xfeefffff]
[    0.549964] pnp 00:08: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.550019] system 00:08: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    0.550022] system 00:08: [mem 0xfed10000-0xfed17fff] has been reserved
[    0.550025] system 00:08: [mem 0xfed18000-0xfed18fff] has been reserved
[    0.550028] system 00:08: [mem 0xfed19000-0xfed19fff] has been reserved
[    0.550031] system 00:08: [mem 0xe0000000-0xefffffff] could not be reserved
[    0.550034] system 00:08: [mem 0xfed20000-0xfed3ffff] has been reserved
[    0.550037] system 00:08: [mem 0xfed90000-0xfed93fff] has been reserved
[    0.550039] system 00:08: [mem 0xfed45000-0xfed8ffff] has been reserved
[    0.550042] system 00:08: [mem 0xff000000-0xffffffff] could not be reserved
[    0.550045] system 00:08: [mem 0xfee00000-0xfeefffff] has been reserved
[    0.550048] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.555807] pnp 00:09: [mem 0x20000000-0x201fffff]
[    0.555809] pnp 00:09: [mem 0x40000000-0x401fffff]
[    0.555909] system 00:09: [mem 0x20000000-0x201fffff] has been reserved
[    0.555920] system 00:09: [mem 0x40000000-0x401fffff] has been reserved
[    0.555923] system 00:09: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.555933] pnp: PnP ACPI: found 10 devices
[    0.555935] ACPI: ACPI bus type pnp unregistered
[    0.562891] PCI: max bus depth: 3 pci_try_num: 4
[    0.562954] pci 0000:04:00.0: PCI bridge to [bus 05-05]
[    0.562959] pci 0000:04:00.0:   bridge window [mem 0xa0700000-0xa07fffff]
[    0.562967] pci 0000:04:03.0: PCI bridge to [bus 06-36]
[    0.562972] pci 0000:04:03.0:   bridge window [mem 0xa0800000-0xa08fffff]
[    0.562980] pci 0000:04:04.0: PCI bridge to [bus 37-67]
[    0.562985] pci 0000:04:04.0:   bridge window [mem 0xa0900000-0xa09fffff]
[    0.562993] pci 0000:03:00.0: PCI bridge to [bus 04-67]
[    0.562997] pci 0000:03:00.0:   bridge window [mem 0xa0700000-0xa09fffff]
[    0.563005] pci 0000:00:01.0: PCI bridge to [bus 03-97]
[    0.563007] pci 0000:00:01.0:   bridge window [io  0x3000-0x3fff]
[    0.563011] pci 0000:00:01.0:   bridge window [mem 0xa0700000-0xa49fffff]
[    0.563014] pci 0000:00:01.0:   bridge window [mem 0xa4a00000-0xa89fffff 64bit pref]
[    0.563019] pci 0000:00:1c.0: PCI bridge to [bus 01-01]
[    0.563026] pci 0000:00:1c.0:   bridge window [mem 0xa0500000-0xa05fffff]
[    0.563039] pci 0000:00:1c.1: PCI bridge to [bus 02-02]
[    0.563047] pci 0000:00:1c.1:   bridge window [mem 0xa0400000-0xa04fffff]
[    0.563070] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.563074] pci 0000:00:01.0: setting latency timer to 64
[    0.563080] pci 0000:03:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.563084] pci 0000:03:00.0: setting latency timer to 64
[    0.563090] pci 0000:04:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.563094] pci 0000:04:00.0: setting latency timer to 64
[    0.563099] pci 0000:04:03.0: enabling device (0000 -> 0002)
[    0.563106] pci 0000:04:03.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
[    0.563111] pci 0000:04:03.0: setting latency timer to 64
[    0.563117] pci 0000:04:04.0: enabling device (0000 -> 0002)
[    0.563120] pci 0000:04:04.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.563125] pci 0000:04:04.0: setting latency timer to 64
[    0.563132] pci 0000:00:1c.0: enabling device (0000 -> 0002)
[    0.563137] pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.563144] pci 0000:00:1c.0: setting latency timer to 64
[    0.563212] pci 0000:00:1c.1: power state changed by ACPI to D0
[    0.563217] pci 0000:00:1c.1: power state changed by ACPI to D0
[    0.563227] pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[    0.563233] pci 0000:00:1c.1: setting latency timer to 64
[    0.563238] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.563240] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.563243] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.563245] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000c3fff]
[    0.563247] pci_bus 0000:00: resource 8 [mem 0x000c4000-0x000c7fff]
[    0.563249] pci_bus 0000:00: resource 9 [mem 0x000c8000-0x000cbfff]
[    0.563252] pci_bus 0000:00: resource 10 [mem 0x000cc000-0x000cffff]
[    0.563254] pci_bus 0000:00: resource 11 [mem 0x000d0000-0x000d3fff]
[    0.563257] pci_bus 0000:00: resource 12 [mem 0x000d4000-0x000d7fff]
[    0.563259] pci_bus 0000:00: resource 13 [mem 0x000d8000-0x000dbfff]
[    0.563261] pci_bus 0000:00: resource 14 [mem 0x000dc000-0x000dffff]
[    0.563263] pci_bus 0000:00: resource 15 [mem 0x000e0000-0x000e3fff]
[    0.563266] pci_bus 0000:00: resource 16 [mem 0x000e4000-0x000e7fff]
[    0.563268] pci_bus 0000:00: resource 17 [mem 0x000e8000-0x000ebfff]
[    0.563270] pci_bus 0000:00: resource 18 [mem 0x000ec000-0x000effff]
[    0.563272] pci_bus 0000:00: resource 19 [mem 0x000f0000-0x000fffff]
[    0.563275] pci_bus 0000:00: resource 20 [mem 0x8fa00000-0xfeafffff]
[    0.563277] pci_bus 0000:00: resource 21 [mem 0xfed40000-0xfed44fff]
[    0.563279] pci_bus 0000:03: resource 0 [io  0x3000-0x3fff]
[    0.563282] pci_bus 0000:03: resource 1 [mem 0xa0700000-0xa49fffff]
[    0.563284] pci_bus 0000:03: resource 2 [mem 0xa4a00000-0xa89fffff 64bit pref]
[    0.563287] pci_bus 0000:04: resource 1 [mem 0xa0700000-0xa09fffff]
[    0.563289] pci_bus 0000:05: resource 1 [mem 0xa0700000-0xa07fffff]
[    0.563292] pci_bus 0000:06: resource 1 [mem 0xa0800000-0xa08fffff]
[    0.563294] pci_bus 0000:37: resource 1 [mem 0xa0900000-0xa09fffff]
[    0.563296] pci_bus 0000:01: resource 1 [mem 0xa0500000-0xa05fffff]
[    0.563299] pci_bus 0000:02: resource 1 [mem 0xa0400000-0xa04fffff]
[    0.563367] NET: Registered protocol family 2
[    0.563538] IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.564633] TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
[    0.566364] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.566521] TCP: Hash tables configured (established 524288 bind 65536)
[    0.566524] TCP reno registered
[    0.566533] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[    0.566557] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[    0.566676] NET: Registered protocol family 1
[    0.566692] pci 0000:00:02.0: Boot video device
[    0.566704] pci 0000:00:1a.0: uhci_check_and_reset_hc: cmd = 0x0080
[    0.566706] pci 0000:00:1a.0: Performing full reset
[    0.566765] pci 0000:00:1d.0: uhci_check_and_reset_hc: cmd = 0x0080
[    0.566767] pci 0000:00:1d.0: Performing full reset
[    0.566860] PCI: CLS 256 bytes, default 64
[    0.566923] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.566926] Placing 64MB software IO TLB between ffff880083d1e000 - ffff880087d1e000
[    0.566929] software IO TLB at phys 0x83d1e000 - 0x87d1e000
[    0.567432] audit: initializing netlink socket (disabled)
[    0.567442] type=2000 audit(1323648347.406:1): initialized
[    0.587702] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.597159] VFS: Disk quotas dquot_6.5.2
[    0.597197] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.597490] msgmni has been set to 7748
[    0.597647] alg: No test for stdrng (krng)
[    0.597683] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    0.597686] io scheduler noop registered
[    0.597688] io scheduler deadline registered
[    0.597708] io scheduler cfq registered (default)
[    0.597796] pcieport 0000:00:01.0: setting latency timer to 64
[    0.597825] pcieport 0000:00:01.0: irq 40 for MSI/MSI-X
[    0.598037] pcieport 0000:03:00.0: setting latency timer to 64
[    0.598072] pcieport 0000:03:00.0: irq 41 for MSI/MSI-X
[    0.598150] pcieport 0000:04:00.0: setting latency timer to 64
[    0.598186] pcieport 0000:04:00.0: irq 42 for MSI/MSI-X
[    0.598265] pcieport 0000:04:03.0: setting latency timer to 64
[    0.598301] pcieport 0000:04:03.0: irq 43 for MSI/MSI-X
[    0.598378] pcieport 0000:04:04.0: setting latency timer to 64
[    0.598414] pcieport 0000:04:04.0: irq 44 for MSI/MSI-X
[    0.598597] efifb: probing for efifb
[    0.600178] efifb: framebuffer at 0x90000000, mapped to 0xffffc9000a900000, using 4224k, total 4224k
[    0.600181] efifb: mode is 1366x768x32, linelength=5632, pages=1
[    0.600183] efifb: scrolling: redraw
[    0.600185] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.603411] Console: switching to colour frame buffer device 170x48
[    0.606470] fb0: EFI VGA frame buffer device
[    0.606478] intel_idle: MWAIT substates: 0x21120
[    0.606480] intel_idle: v0.4 model 0x2A
[    0.606482] intel_idle: lapic_timer_reliable_states 0xffffffff
[    0.606530] ERST: Table is not found!
[    0.606532] GHES: HEST is not enabled!
[    0.606588] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.651164] Linux agpgart interface v0.103
[    0.651257] agpgart-intel 0000:00:00.0: Intel Sandybridge Chipset
[    0.651457] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable
[    0.653389] agpgart-intel 0000:00:00.0: detected 65536K stolen memory
[    0.653500] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0x90000000
[    0.653624] ahci 0000:00:1f.2: version 3.0
[    0.653635] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    0.653687] ahci 0000:00:1f.2: irq 45 for MSI/MSI-X
[    0.653737] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x1 impl SATA mode
[    0.653741] ahci 0000:00:1f.2: flags: 64bit ncq sntf pm led clo pio slum part ems apst 
[    0.653747] ahci 0000:00:1f.2: setting latency timer to 64
[    0.654324] scsi0 : ahci
[    0.654427] scsi1 : ahci
[    0.654502] scsi2 : ahci
[    0.654573] scsi3 : ahci
[    0.654643] scsi4 : ahci
[    0.654715] scsi5 : ahci
[    0.654842] ata1: SATA max UDMA/133 abar m2048@0xa0606000 port 0xa0606100 irq 45
[    0.654844] ata2: DUMMY
[    0.654846] ata3: DUMMY
[    0.654847] ata4: DUMMY
[    0.654848] ata5: DUMMY
[    0.654849] ata6: DUMMY
[    0.654942] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    0.655834] i8042: No controller found
[    0.655926] mousedev: PS/2 mouse device common for all mice
[    0.655967] rtc_cmos 00:06: RTC can wake from S4
[    0.656088] rtc_cmos 00:06: rtc core: registered rtc_cmos as rtc0
[    0.656119] rtc0: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    0.656127] Linux telephony interface: v1.00
[    0.656268] cpuidle: using governor ladder
[    0.656478] cpuidle: using governor menu
[    0.656630] TCP cubic registered
[    0.656717] NET: Registered protocol family 10
[    0.657193] Mobile IPv6
[    0.657196] NET: Registered protocol family 17
[    0.657200] Registering the dns_resolver key type
[    0.657345] PM: Checking hibernation image partition /dev/sda2
[    0.959383] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    0.960988] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[    0.962135] ata1.00: ATA-8: APPLE SSD SM256C, AXM09A1Q, max UDMA/133
[    0.962151] ata1.00: 490234752 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    0.962588] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[    0.963852] ata1.00: configured for UDMA/133
[    0.964143] scsi 0:0:0:0: Direct-Access     ATA      APPLE SSD SM256C AXM0 PQ: 0 ANSI: 5
[    0.964438] sd 0:0:0:0: [sda] 490234752 512-byte logical blocks: (251 GB/233 GiB)
[    0.964905] sd 0:0:0:0: [sda] Write Protect is off
[    0.964909] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    0.965064] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    0.968829]  sda: sda1 sda2 sda3 sda4
[    0.969926] sd 0:0:0:0: [sda] Attached SCSI disk
[    0.969976] PM: Hibernation image partition 8:2 present
[    0.969979] PM: Looking for hibernation image.
[    0.970402] PM: Image not found (code -22)
[    0.970405] PM: Hibernation image not present or could not be loaded.
[    0.970420] registered taskstats version 1
[    0.975735] rtc_cmos 00:06: setting system clock to 2011-12-12 00:05:48 UTC (1323648348)
[    0.975813] Initializing network drop monitor service
[    0.979429] kjournald starting.  Commit interval 5 seconds
[    0.979489] EXT3-fs (sda4): mounted filesystem with ordered data mode
[    0.979499] VFS: Mounted root (ext3 filesystem) readonly on device 8:4.
[    0.980054] devtmpfs: mounted
[    0.981102] Freeing unused kernel memory: 592k freed
[    0.981190] Write protecting the kernel read-only data: 8192k
[    0.985598] Freeing unused kernel memory: 1356k freed
[    0.987580] Freeing unused kernel memory: 552k freed
[    1.119369] udevd[103]: starting version 175
[    1.211273] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input0
[    1.211320] ACPI: Lid Switch [LID0]
[    1.211384] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input1
[    1.211390] ACPI: Power Button [PWRB]
[    1.211458] input: Sleep Button as /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2
[    1.211464] ACPI: Sleep Button [SLPB]
[    1.211529] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[    1.211534] ACPI: Power Button [PWRF]
[    1.217016] ACPI: AC Adapter [ADP1] (on-line)
[    1.221758] usbcore: registered new interface driver usbfs
[    1.221782] usbcore: registered new interface driver hub
[    1.223372] usbcore: registered new device driver usb
[    1.230537] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.230543] ehci_hcd: block sizes: qh 112 qtd 96 itd 192 sitd 96
[    1.230585] ehci_hcd 0000:00:1a.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[    1.230612] ehci_hcd 0000:00:1a.7: setting latency timer to 64
[    1.230618] ehci_hcd 0000:00:1a.7: EHCI Host Controller
[    1.230641] drivers/usb/core/inode.c: creating file 'devices'
[    1.230648] drivers/usb/core/inode.c: creating file '001'
[    1.230653] ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bus number 1
[    1.230665] ehci_hcd 0000:00:1a.7: reset hcs_params 0x203206 dbg=2 cc=3 pcc=2 ordered !ppc ports=6
[    1.230671] ehci_hcd 0000:00:1a.7: reset hcc_params 36881 caching frame 1024 64 bit addr
[    1.230692] ehci_hcd 0000:00:1a.7: support lpm
[    1.230708] ehci_hcd 0000:00:1a.7: debug port 2
[    1.230714] ehci_hcd 0000:00:1a.7: reset command 0080012 (park)=0 ithresh=8 Periodic period=1024 Reset HALT
[    1.234604] ehci_hcd 0000:00:1a.7: cache line size of 256 is not supported
[    1.234610] ehci_hcd 0000:00:1a.7: supports USB remote wakeup
[    1.234633] ehci_hcd 0000:00:1a.7: irq 23, io mem 0xa0606c00
[    1.234641] ehci_hcd 0000:00:1a.7: reset command 0080002 (park)=0 ithresh=8 period=1024 Reset HALT
[    1.238532] ehci_hcd 0000:00:1a.7: init command 0010001 (park)=0 ithresh=1 period=1024 RUN
[    1.241697] uhci_hcd: USB Universal Host Controller Interface driver
[    1.244860] ehci_hcd 0000:00:1a.7: USB 2.0 started, EHCI 1.00
[    1.244895] usb usb1: default language 0x0409
[    1.244906] usb usb1: udev 1, busnum 1, minor = 0
[    1.244910] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.244914] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.244918] usb usb1: Product: EHCI Host Controller
[    1.244921] usb usb1: Manufacturer: Linux 3.2.0-rc5-00021-g899e4f0 ehci_hcd
[    1.244924] usb usb1: SerialNumber: 0000:00:1a.7
[    1.245038] usb usb1: usb_probe_device
[    1.245043] usb usb1: configuration #1 chosen from 1 choice
[    1.245053] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[    1.245088] hub 1-0:1.0: usb_probe_interface
[    1.245091] hub 1-0:1.0: usb_probe_interface - got id
[    1.245095] hub 1-0:1.0: USB hub found
[    1.245101] hub 1-0:1.0: 6 ports detected
[    1.245104] hub 1-0:1.0: standalone hub
[    1.245107] hub 1-0:1.0: no power switching (usb 1.0)
[    1.245110] hub 1-0:1.0: individual port over-current protection
[    1.245113] hub 1-0:1.0: power on to power good time: 20ms
[    1.245118] hub 1-0:1.0: local power source is good
[    1.245122] hub 1-0:1.0: trying to enable port power on non-switchable hub
[    1.245167] drivers/usb/core/inode.c: creating file '001'
[    1.245245] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[    1.245275] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    1.245281] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    1.245290] drivers/usb/core/inode.c: creating file '002'
[    1.245296] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 2
[    1.245307] ehci_hcd 0000:00:1d.7: reset hcs_params 0x204208 dbg=2 cc=4 pcc=2 ordered !ppc ports=8
[    1.245313] ehci_hcd 0000:00:1d.7: reset hcc_params 36881 caching frame 1024 64 bit addr
[    1.245331] ehci_hcd 0000:00:1d.7: support lpm
[    1.245344] ehci_hcd 0000:00:1d.7: debug port 2
[    1.245351] ehci_hcd 0000:00:1d.7: reset command 0080012 (park)=0 ithresh=8 Periodic period=1024 Reset HALT
[    1.246151] input: PC Speaker as /devices/platform/pcspkr/input/input4
[    1.249230] ehci_hcd 0000:00:1d.7: cache line size of 256 is not supported
[    1.249234] ehci_hcd 0000:00:1d.7: supports USB remote wakeup
[    1.249253] ehci_hcd 0000:00:1d.7: irq 22, io mem 0xa0606800
[    1.249258] ehci_hcd 0000:00:1d.7: reset command 0080002 (park)=0 ithresh=8 period=1024 Reset HALT
[    1.253127] ehci_hcd 0000:00:1d.7: init command 0010001 (park)=0 ithresh=1 period=1024 RUN
[    1.258838] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    1.258873] usb usb2: default language 0x0409
[    1.258884] usb usb2: udev 1, busnum 2, minor = 128
[    1.258887] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.258891] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.258894] usb usb2: Product: EHCI Host Controller
[    1.258897] usb usb2: Manufacturer: Linux 3.2.0-rc5-00021-g899e4f0 ehci_hcd
[    1.258900] usb usb2: SerialNumber: 0000:00:1d.7
[    1.259008] usb usb2: usb_probe_device
[    1.259011] usb usb2: configuration #1 chosen from 1 choice
[    1.259019] usb usb2: adding 2-0:1.0 (config #1, interface 0)
[    1.259054] hub 2-0:1.0: usb_probe_interface
[    1.259057] hub 2-0:1.0: usb_probe_interface - got id
[    1.259061] hub 2-0:1.0: USB hub found
[    1.259067] hub 2-0:1.0: 8 ports detected
[    1.259070] hub 2-0:1.0: standalone hub
[    1.259072] hub 2-0:1.0: no power switching (usb 1.0)
[    1.259075] hub 2-0:1.0: individual port over-current protection
[    1.259078] hub 2-0:1.0: power on to power good time: 20ms
[    1.259084] hub 2-0:1.0: local power source is good
[    1.259088] hub 2-0:1.0: trying to enable port power on non-switchable hub
[    1.259137] drivers/usb/core/inode.c: creating file '001'
[    1.259417] uhci_hcd 0000:00:1a.0: PCI INT B -> GSI 21 (level, low) -> IRQ 21
[    1.259429] uhci_hcd 0000:00:1a.0: setting latency timer to 64
[    1.259434] uhci_hcd 0000:00:1a.0: UHCI Host Controller
[    1.259443] drivers/usb/core/inode.c: creating file '003'
[    1.259449] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 3
[    1.259461] uhci_hcd 0000:00:1a.0: detected 2 ports
[    1.259495] uhci_hcd 0000:00:1a.0: uhci_check_and_reset_hc: cmd = 0x0000
[    1.259498] uhci_hcd 0000:00:1a.0: Performing full reset
[    1.259644] uhci_hcd 0000:00:1a.0: irq 21, io base 0x00002140
[    1.259680] usb usb3: default language 0x0409
[    1.259686] usb usb3: udev 1, busnum 3, minor = 256
[    1.259688] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    1.259691] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.259693] usb usb3: Product: UHCI Host Controller
[    1.259696] usb usb3: Manufacturer: Linux 3.2.0-rc5-00021-g899e4f0 uhci_hcd
[    1.259699] usb usb3: SerialNumber: 0000:00:1a.0
[    1.259911] usb usb3: usb_probe_device
[    1.259916] usb usb3: configuration #1 chosen from 1 choice
[    1.259926] usb usb3: adding 3-0:1.0 (config #1, interface 0)
[    1.259965] hub 3-0:1.0: usb_probe_interface
[    1.259968] hub 3-0:1.0: usb_probe_interface - got id
[    1.259971] hub 3-0:1.0: USB hub found
[    1.259978] hub 3-0:1.0: 2 ports detected
[    1.259980] hub 3-0:1.0: standalone hub
[    1.259983] hub 3-0:1.0: no power switching (usb 1.0)
[    1.259985] hub 3-0:1.0: individual port over-current protection
[    1.259988] hub 3-0:1.0: power on to power good time: 2ms
[    1.259994] hub 3-0:1.0: local power source is good
[    1.259997] hub 3-0:1.0: trying to enable port power on non-switchable hub
[    1.260037] drivers/usb/core/inode.c: creating file '001'
[    1.260071] ehci_hcd 0000:00:1a.7: HS companion for 0000:00:1a.0
[    1.260091] uhci_hcd 0000:00:1d.0: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    1.260098] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    1.260102] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    1.260107] drivers/usb/core/inode.c: creating file '004'
[    1.260111] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 4
[    1.260118] uhci_hcd 0000:00:1d.0: detected 2 ports
[    1.260123] uhci_hcd 0000:00:1d.0: uhci_check_and_reset_hc: cmd = 0x0000
[    1.260125] uhci_hcd 0000:00:1d.0: Performing full reset
[    1.260152] uhci_hcd 0000:00:1d.0: irq 19, io base 0x000020e0
[    1.260214] usb usb4: default language 0x0409
[    1.260264] usb usb4: udev 1, busnum 4, minor = 384
[    1.260267] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    1.260270] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.260274] usb usb4: Product: UHCI Host Controller
[    1.260276] usb usb4: Manufacturer: Linux 3.2.0-rc5-00021-g899e4f0 uhci_hcd
[    1.260279] usb usb4: SerialNumber: 0000:00:1d.0
[    1.260483] usb usb4: usb_probe_device
[    1.260487] usb usb4: configuration #1 chosen from 1 choice
[    1.260497] usb usb4: adding 4-0:1.0 (config #1, interface 0)
[    1.260559] hub 4-0:1.0: usb_probe_interface
[    1.260562] hub 4-0:1.0: usb_probe_interface - got id
[    1.260565] hub 4-0:1.0: USB hub found
[    1.260572] hub 4-0:1.0: 2 ports detected
[    1.260575] hub 4-0:1.0: standalone hub
[    1.260577] hub 4-0:1.0: no power switching (usb 1.0)
[    1.260580] hub 4-0:1.0: individual port over-current protection
[    1.260583] hub 4-0:1.0: power on to power good time: 2ms
[    1.260588] hub 4-0:1.0: local power source is good
[    1.260592] hub 4-0:1.0: trying to enable port power on non-switchable hub
[    1.260618] drivers/usb/core/inode.c: creating file '001'
[    1.260661] ehci_hcd 0000:00:1d.7: HS companion for 0000:00:1d.0
[    1.319627] ACPI: Battery Slot [BAT0] (battery present)
[    1.322053] i801_smbus 0000:00:1f.3: enabling device (0000 -> 0003)
[    1.322081] i801_smbus 0000:00:1f.3: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    1.340640] cfg80211: Calling CRDA to update world regulatory domain
[    1.345651] ehci_hcd 0000:00:1a.7: GetStatus port:1 status 001803 0  ACK POWER sig=j CSC CONNECT
[    1.345660] hub 1-0:1.0: port 1: status 0501 change 0001
[    1.345673] ehci_hcd 0000:00:1a.7: GetStatus port:2 status 001803 0  ACK POWER sig=j CSC CONNECT
[    1.345678] hub 1-0:1.0: port 2: status 0501 change 0001
[    1.354771] brcmsmac 0000:02:00.0: bus 2 slot 0 func 0 irq 0
[    1.354819] brcmsmac 0000:02:00.0: enabling device (0000 -> 0002)
[    1.354832] brcmsmac 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    1.354849] brcmsmac 0000:02:00.0: setting latency timer to 64
[    1.359684] uhci_hcd 0000:00:1a.0: port 1 portsc 0082,00
[    1.359698] uhci_hcd 0000:00:1a.0: port 2 portsc 0082,00
[    1.359721] uhci_hcd 0000:00:1d.0: port 1 portsc 0082,00
[    1.360357] ehci_hcd 0000:00:1d.7: GetStatus port:1 status 001803 0  ACK POWER sig=j CSC CONNECT
[    1.360362] hub 2-0:1.0: port 1: status 0501 change 0001
[    1.420114] applesmc: : read arg fail
[    1.445191] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
[    1.445202] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[    1.445216] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[    1.445267] snd_hda_intel 0000:00:1b.0: irq 46 for MSI/MSI-X
[    1.445295] snd_hda_intel 0000:00:1b.0: setting latency timer to 64
[    1.445559] hub 1-0:1.0: state 7 ports 6 chg 0006 evt 0000
[    1.445570] hub 1-0:1.0: port 1, status 0501, change 0000, 480 Mb/s
[    1.496779] ehci_hcd 0000:00:1a.7: port 1 high speed
[    1.496785] ehci_hcd 0000:00:1a.7: GetStatus port:1 status 001005 0  ACK POWER sig=se0 PE CONNECT
[    1.508297] applesmc: key=349 fan=1 temp=25 acc=0 lux=2 kbd=1
[    1.508300] applesmc: init_smcreg() took 50 ms
[    1.508585] Registered led device: smc::kbd_backlight
[    1.547477] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[    1.566426] Refined TSC clocksource calibration: 1800.012 MHz.
[    1.566432] Switching to clocksource tsc
[    1.598621] ehci_hcd 0000:00:1a.7: port 1 high speed
[    1.598627] ehci_hcd 0000:00:1a.7: GetStatus port:1 status 001005 0  ACK POWER sig=se0 PE CONNECT
[    1.661437] ehci_hcd 0000:00:1a.7: set dev address 2 for port 1
[    1.661444] ehci_hcd 0000:00:1a.7: LPM: no device attached
[    1.661726] usb 1-1: udev 2, busnum 1, minor = 1
[    1.661739] usb 1-1: New USB device found, idVendor=0424, idProduct=2513
[    1.661742] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.661911] usb 1-1: usb_probe_device
[    1.661917] usb 1-1: configuration #1 chosen from 1 choice
[    1.662046] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
[    1.662080] hub 1-1:1.0: usb_probe_interface
[    1.662084] hub 1-1:1.0: usb_probe_interface - got id
[    1.662088] hub 1-1:1.0: USB hub found
[    1.662185] hub 1-1:1.0: 3 ports detected
[    1.662194] hub 1-1:1.0: compound device; port removable status: FFR
[    1.662197] hub 1-1:1.0: individual port power switching
[    1.662199] hub 1-1:1.0: individual port over-current protection
[    1.662336] hub 1-1:1.0: TT per port
[    1.662340] hub 1-1:1.0: TT requires at most 8 FS bit times (666 ns)
[    1.662342] hub 1-1:1.0: power on to power good time: 100ms
[    1.662529] hub 1-1:1.0: local power source is good
[    1.662535] hub 1-1:1.0: enabling power on all ports
[    1.662967] drivers/usb/core/inode.c: creating file '002'
[    1.663012] hub 1-0:1.0: port 2, status 0501, change 0000, 480 Mb/s
[    1.713440] ehci_hcd 0000:00:1a.7: port 2 high speed
[    1.713447] ehci_hcd 0000:00:1a.7: GetStatus port:2 status 001005 0  ACK POWER sig=se0 PE CONNECT
[    1.762338] hub 1-1:1.0: port 1: status 0101 change 0001
[    1.762825] hub 1-1:1.0: port 2: status 0101 change 0001
[    1.764059] usb 1-2: new high-speed USB device number 3 using ehci_hcd
[    1.815280] ehci_hcd 0000:00:1a.7: port 2 high speed
[    1.815287] ehci_hcd 0000:00:1a.7: GetStatus port:2 status 001005 0  ACK POWER sig=se0 PE CONNECT
[    1.862961] usb 1-1: link qh256-0001/ffff880165cf7a40 start 1 [1/0 us]
[    1.878801] ehci_hcd 0000:00:1a.7: set dev address 3 for port 2
[    1.878808] ehci_hcd 0000:00:1a.7: LPM: no device attached
[    1.884996] usb 1-2: skipped 1 descriptor after configuration
[    1.885000] usb 1-2: skipped 4 descriptors after interface
[    1.885003] usb 1-2: skipped 1 descriptor after endpoint
[    1.885005] usb 1-2: skipped 9 descriptors after interface
[    1.885633] usb 1-2: default language 0x0409
[    1.889897] usb 1-2: udev 3, busnum 1, minor = 2
[    1.889911] usb 1-2: New USB device found, idVendor=05ac, idProduct=850a
[    1.889914] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.889917] usb 1-2: Product: FaceTime Camera (Built-in)
[    1.889919] usb 1-2: Manufacturer: Apple Inc.
[    1.889921] usb 1-2: SerialNumber: CCGB6L03L5DL8LFX
[    1.890121] usb 1-2: usb_probe_device
[    1.890126] usb 1-2: configuration #1 chosen from 1 choice
[    1.890888] usb 1-2: adding 1-2:1.0 (config #1, interface 0)
[    1.892940] usb 1-2: adding 1-2:1.1 (config #1, interface 1)
[    1.892988] usb 1-2: adding 1-2:1.2 (config #1, interface 2)
[    1.893021] drivers/usb/core/inode.c: creating file '003'
[    1.893056] hub 2-0:1.0: state 7 ports 8 chg 0002 evt 0000
[    1.893067] hub 2-0:1.0: port 1, status 0501, change 0000, 480 Mb/s
[    1.944080] ehci_hcd 0000:00:1d.7: port 1 high speed
[    1.944087] ehci_hcd 0000:00:1d.7: GetStatus port:1 status 001005 0  ACK POWER sig=se0 PE CONNECT
[    1.972338] HDMI status: Codec=3 Pin=5 Presence_Detect=0 ELD_Valid=0
[    1.972517] HDMI status: Codec=3 Pin=6 Presence_Detect=0 ELD_Valid=0
[    1.972724] HDMI status: Codec=3 Pin=7 Presence_Detect=0 ELD_Valid=0
[    1.972874] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
[    1.972955] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
[    1.973019] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
[    1.994754] usb 2-1: new high-speed USB device number 2 using ehci_hcd
[    2.045919] ehci_hcd 0000:00:1d.7: port 1 high speed
[    2.045925] ehci_hcd 0000:00:1d.7: GetStatus port:1 status 001005 0  ACK POWER sig=se0 PE CONNECT
[    2.108799] ehci_hcd 0000:00:1d.7: set dev address 2 for port 1
[    2.108805] ehci_hcd 0000:00:1d.7: LPM: no device attached
[    2.109086] usb 2-1: udev 2, busnum 2, minor = 129
[    2.109090] usb 2-1: New USB device found, idVendor=0424, idProduct=2513
[    2.109092] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.109274] usb 2-1: usb_probe_device
[    2.109280] usb 2-1: configuration #1 chosen from 1 choice
[    2.109370] usb 2-1: adding 2-1:1.0 (config #1, interface 0)
[    2.109409] hub 2-1:1.0: usb_probe_interface
[    2.109412] hub 2-1:1.0: usb_probe_interface - got id
[    2.109415] hub 2-1:1.0: USB hub found
[    2.109457] hub 2-1:1.0: 1 port detected
[    2.109459] hub 2-1:1.0: compound device; port removable status: R
[    2.109460] hub 2-1:1.0: individual port power switching
[    2.109462] hub 2-1:1.0: individual port over-current protection
[    2.109632] hub 2-1:1.0: TT per port
[    2.109636] hub 2-1:1.0: TT requires at most 8 FS bit times (666 ns)
[    2.109638] hub 2-1:1.0: power on to power good time: 100ms
[    2.109884] hub 2-1:1.0: local power source is good
[    2.109895] hub 2-1:1.0: enabling power on all ports
[    2.109977] drivers/usb/core/inode.c: creating file '002'
[    2.110027] hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0000
[    2.110034] hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0000
[    2.110038] hub 1-1:1.0: state 7 ports 3 chg 0006 evt 0000
[    2.110109] hub 1-1:1.0: port 1, status 0101, change 0000, 12 Mb/s
[    2.120783] hub 1-1:1.0: port 1 not reset yet, waiting 10ms
[    2.182695] usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
[    2.193664] hub 1-1:1.0: port 1 not reset yet, waiting 10ms
[    2.209644] usb 2-1: link qh256-0001/ffff880165cf7e40 start 1 [1/0 us]
[    2.267333] usb 1-1.1: ep0 maxpacket = 8
[    2.269160] usb 1-1.1: default language 0x0409
[    2.269658] usb 1-1.1: udev 4, busnum 1, minor = 3
[    2.269672] usb 1-1.1: New USB device found, idVendor=0a5c, idProduct=4500
[    2.269675] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.269678] usb 1-1.1: Product: BRCM20702 Hub
[    2.269680] usb 1-1.1: Manufacturer: Apple Inc.
[    2.269864] usb 1-1.1: usb_probe_device
[    2.269869] usb 1-1.1: configuration #1 chosen from 1 choice
[    2.270130] usb 1-1.1: adding 1-1.1:1.0 (config #1, interface 0)
[    2.270171] hub 1-1.1:1.0: usb_probe_interface
[    2.270174] hub 1-1.1:1.0: usb_probe_interface - got id
[    2.270177] hub 1-1.1:1.0: USB hub found
[    2.270360] hub 1-1.1:1.0: 3 ports detected
[    2.270364] hub 1-1.1:1.0: compound device; port removable status: FFF
[    2.270366] hub 1-1.1:1.0: ganged power switching
[    2.270368] hub 1-1.1:1.0: global over-current protection
[    2.270370] hub 1-1.1:1.0: power on to power good time: 100ms
[    2.270671] hub 1-1.1:1.0: local power source is good
[    2.270688] hub 1-1.1:1.0: no over-current condition exists
[    2.270691] hub 1-1.1:1.0: enabling power on all ports
[    2.271440] drivers/usb/core/inode.c: creating file '004'
[    2.271611] hub 1-1:1.0: port 2, status 0101, change 0000, 12 Mb/s
[    2.282526] hub 1-1:1.0: port 2 not reset yet, waiting 10ms
[    2.344441] usb 1-1.2: new full-speed USB device number 5 using ehci_hcd
[    2.355413] hub 1-1:1.0: port 2 not reset yet, waiting 10ms
[    2.361181] usb usb3: suspend_rh (auto-stop)
[    2.361208] usb usb4: suspend_rh (auto-stop)
[    2.371383] hub 1-1.1:1.0: port 1: status 0101 change 0001
[    2.371896] hub 1-1.1:1.0: port 2: status 0101 change 0001
[    2.372370] hub 1-1.1:1.0: port 3: status 0101 change 0001
[    2.429085] usb 1-1.2: ep0 maxpacket = 8
[    2.433205] usb 1-1.2: skipped 1 descriptor after interface
[    2.433209] usb 1-1.2: skipped 1 descriptor after interface
[    2.433212] usb 1-1.2: skipped 1 descriptor after interface
[    2.433527] usb 1-1.2: default language 0x0409
[    2.435664] usb 1-1.2: udev 5, busnum 1, minor = 4
[    2.435678] usb 1-1.2: New USB device found, idVendor=05ac, idProduct=0249
[    2.435680] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.435683] usb 1-1.2: Product: Apple Internal Keyboard / Trackpad
[    2.435685] usb 1-1.2: Manufacturer: Apple Inc.
[    2.435869] usb 1-1.2: usb_probe_device
[    2.435875] usb 1-1.2: configuration #1 chosen from 1 choice
[    2.436137] usb 1-1.2: adding 1-1.2:1.0 (config #1, interface 0)
[    2.437319] usb 1-1.2: adding 1-1.2:1.1 (config #1, interface 1)
[    2.437944] usb 1-1.2: adding 1-1.2:1.2 (config #1, interface 2)
[    2.438568] drivers/usb/core/inode.c: creating file '005'
[    2.438595] hub 2-1:1.0: state 7 ports 1 chg 0000 evt 0000
[    2.445394] bcm5974 1-1.2:1.2: usb_probe_interface
[    2.445399] bcm5974 1-1.2:1.2: usb_probe_interface - got id
[    2.445463] input: bcm5974 as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.2/1-1.2:1.2/input/input8
[    2.445556] usbcore: registered new interface driver bcm5974
[    2.445976] Linux media interface: v0.10
[    2.449925] Linux video capture interface: v2.00
[    2.450620] usbhid 1-1.2:1.0: usb_probe_interface
[    2.450635] usbhid 1-1.2:1.0: usb_probe_interface - got id
[    2.450690] usbhid 1-1.2:1.1: usb_probe_interface
[    2.450692] usbhid 1-1.2:1.1: usb_probe_interface - got id
[    2.450733] usbcore: registered new interface driver usbhid
[    2.450735] usbhid: USB HID core driver
[    2.452447] uvcvideo 1-2:1.0: usb_probe_interface
[    2.452452] uvcvideo 1-2:1.0: usb_probe_interface - got id
[    2.452473] uvcvideo: Found UVC 1.00 device FaceTime Camera (Built-in) (05ac:850a)
[    2.457453] input: Apple Inc. Apple Internal Keyboard / Trackpad as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.2/1-1.2:1.0/input/input9
[    2.457477] usb 1-1.2: link qh8-0e01/ffff880165d8fe40 start 2 [1/2 us]
[    2.457561] apple 0003:05AC:0249.0001: input,hidraw0: USB HID v1.11 Keyboard [Apple Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:1a.7-1.2/input0
[    2.461089] input: FaceTime Camera (Built-in) as /devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/input/input10
[    2.461187] usbcore: registered new interface driver uvcvideo
[    2.461189] USB Video Class driver (1.1.1)
[    2.463278] usb 1-2: link qh4-0001/ffff88016715cf40 start 3 [1/0 us]
[    2.463319] usb 1-2: unlink qh4-0001/ffff88016715cf40 start 3 [1/0 us]
[    2.472010] usb 1-1.1: link qh128-0e01/ffff880165d8fb40 start 4 [1/2 us]
[    2.472054] hub 1-1.1:1.0: state 7 ports 3 chg 000e evt 0000
[    2.472357] hub 1-1.1:1.0: port 1, status 0101, change 0000, 12 Mb/s
[    2.534147] usb 1-1.1.1: new full-speed USB device number 6 using ehci_hcd
[    2.545118] hub 1-1.1:1.0: port 1 not reset yet, waiting 10ms
[    2.579936] apple 0003:05AC:0249.0002: hidraw1: USB HID v1.11 Device [Apple Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:1a.7-1.2/input1
[    2.618782] usb 1-1.1.1: ep0 maxpacket = 8
[    2.621998] usb 1-1.1.1: skipped 1 descriptor after interface
[    2.622004] usb 1-1.1.1: udev 6, busnum 1, minor = 5
[    2.622006] usb 1-1.1.1: New USB device found, idVendor=05ac, idProduct=820a
[    2.622009] usb 1-1.1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.622192] usb 1-1.1.1: usb_probe_device
[    2.622198] usb 1-1.1.1: configuration #1 chosen from 1 choice
[    2.622295] usb 1-1.1.1: adding 1-1.1.1:1.0 (config #1, interface 0)
[    2.622333] usbhid 1-1.1.1:1.0: usb_probe_interface
[    2.622337] usbhid 1-1.1.1:1.0: usb_probe_interface - got id
[    2.623677] input: HID 05ac:820a as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/input/input11
[    2.623709] usb 1-1.1.1: link qh8-0e01/ffff880165d931c0 start 5 [1/2 us]
[    2.623899] generic-usb 0003:05AC:820A.0003: input,hidraw2: USB HID v1.11 Keyboard [HID 05ac:820a] on usb-0000:00:1a.7-1.1.1/input0
[    2.623931] drivers/usb/core/inode.c: creating file '006'
[    2.624245] hub 1-1.1:1.0: port 2, status 0101, change 0000, 12 Mb/s
[    2.634988] hub 1-1.1:1.0: port 2 not reset yet, waiting 10ms
[    2.696890] usb 1-1.1.2: new full-speed USB device number 7 using ehci_hcd
[    2.771549] usb 1-1.1.2: ep0 maxpacket = 8
[    2.774528] usb 1-1.1.2: skipped 1 descriptor after interface
[    2.774533] usb 1-1.1.2: udev 7, busnum 1, minor = 6
[    2.774536] usb 1-1.1.2: New USB device found, idVendor=05ac, idProduct=820b
[    2.774538] usb 1-1.1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.774721] usb 1-1.1.2: usb_probe_device
[    2.774728] usb 1-1.1.2: configuration #1 chosen from 1 choice
[    2.774963] usb 1-1.1.2: adding 1-1.1.2:1.0 (config #1, interface 0)
[    2.775007] usbhid 1-1.1.2:1.0: usb_probe_interface
[    2.775011] usbhid 1-1.1.2:1.0: usb_probe_interface - got id
[    2.776408] input: HID 05ac:820b as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/input/input12
[    2.776716] generic-usb 0003:05AC:820B.0004: input,hidraw3: USB HID v1.11 Mouse [HID 05ac:820b] on usb-0000:00:1a.7-1.1.2/input0
[    2.776750] drivers/usb/core/inode.c: creating file '007'
[    2.776989] hub 1-1.1:1.0: port 3, status 0101, change 0000, 12 Mb/s
[    2.787744] hub 1-1.1:1.0: port 3 not reset yet, waiting 10ms
[    2.849658] usb 1-1.1.3: new full-speed USB device number 8 using ehci_hcd
[    2.860634] hub 1-1.1:1.0: port 3 not reset yet, waiting 10ms
[    2.937139] usb 1-1.1.3: skipped 1 descriptor after interface
[    2.937496] usb 1-1.1.3: default language 0x0409
[    2.938252] usb 1-1.1.3: udev 8, busnum 1, minor = 7
[    2.938266] usb 1-1.1.3: New USB device found, idVendor=05ac, idProduct=821f
[    2.938269] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.938272] usb 1-1.1.3: Product: Bluetooth USB Host Controller
[    2.938274] usb 1-1.1.3: Manufacturer: Apple Inc.
[    2.938458] usb 1-1.1.3: usb_probe_device
[    2.938464] usb 1-1.1.3: configuration #1 chosen from 1 choice
[    2.938555] usb 1-1.1.3: adding 1-1.1.3:1.0 (config #1, interface 0)
[    2.938644] usb 1-1.1.3: adding 1-1.1.3:1.1 (config #1, interface 1)
[    2.938715] usb 1-1.1.3: adding 1-1.1.3:1.2 (config #1, interface 2)
[    2.938780] usb 1-1.1.3: adding 1-1.1.3:1.3 (config #1, interface 3)
[    2.938809] drivers/usb/core/inode.c: creating file '008'
[    2.938844] hub 1-1.1:1.0: state 7 ports 3 chg 0000 evt 0008
[    2.951992] Bluetooth: Core ver 2.16
[    2.952009] NET: Registered protocol family 31
[    2.952011] Bluetooth: HCI device and connection manager initialized
[    2.952014] Bluetooth: HCI socket layer initialized
[    2.952015] Bluetooth: L2CAP socket layer initialized
[    2.952020] Bluetooth: SCO socket layer initialized
[    2.953395] Bluetooth: Generic Bluetooth USB driver ver 0.6
[    2.953416] btusb 1-1.1.3:1.0: usb_probe_interface
[    2.953419] btusb 1-1.1.3:1.0: usb_probe_interface - got id
[    2.953797] btusb 1-1.1.3:1.2: usb_probe_interface
[    2.953801] btusb 1-1.1.3:1.2: usb_probe_interface - got id
[    2.953809] btusb 1-1.1.3:1.3: usb_probe_interface
[    2.953811] btusb 1-1.1.3:1.3: usb_probe_interface - got id
[    2.953868] usb 1-1.1.3: link qh1-0e01/ffff880165cf74c0 start 0 [1/2 us]
[    2.953871] usbcore: registered new interface driver btusb
[    2.977214] usb 1-1.1.1: unlink qh8-0e01/ffff880165d931c0 start 5 [1/2 us]
[    2.990207] ehci_hcd 0000:00:1a.7: reused qh ffff880165d931c0 schedule
[    2.990214] usb 1-1.1.1: link qh8-0e01/ffff880165d931c0 start 5 [1/2 us]
[    3.009048] usb 1-1.1.1: unlink qh8-0e01/ffff880165d931c0 start 5 [1/2 us]
[    3.032029] hub 1-1.1:1.0: state 7 ports 3 chg 0000 evt 0006
[    3.032295] hub 1-1.1:1.0: port 1, status 0100, change 0001, 12 Mb/s
[    3.032301] usb 1-1.1.1: USB disconnect, device number 6
[    3.032304] usb 1-1.1.1: unregistering device
[    3.032308] usb 1-1.1.1: unregistering interface 1-1.1.1:1.0
[    3.054150] usb 1-1.1.1: usb_disable_device nuking all URBs
[    3.158263] EXT3-fs (sda4): using internal journal
[    3.167087] hub 1-1.1:1.0: debounce: port 1: total 100ms stable 100ms status 0x100
[    3.167314] hub 1-1.1:1.0: port 2, status 0100, change 0001, 12 Mb/s
[    3.167318] usb 1-1.1.2: USB disconnect, device number 7
[    3.167320] usb 1-1.1.2: unregistering device
[    3.167323] usb 1-1.1.2: unregistering interface 1-1.1.2:1.0
[    3.173967] loop: module loaded
[    3.180504] usb 1-1.1.2: usb_disable_device nuking all URBs
[    3.284882] hub 1-1.1:1.0: debounce: port 2: total 100ms stable 100ms status 0x100
[    3.284889] hub 1-1.1:1.0: state 7 ports 3 chg 0000 evt 0000
[    4.290842] Adding 4194300k swap on /volatile/swapfile.  Priority:-1 extents:1178 across:7720876k SS
[    4.369125] FAT-fs (sda1): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[    4.550625] RPC: Registered named UNIX socket transport module.
[    4.550629] RPC: Registered udp transport module.
[    4.550632] RPC: Registered tcp transport module.
[    4.550634] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    4.557003] FS-Cache: Loaded
[    4.563178] FS-Cache: Netfs 'nfs' registered for caching
[    4.569979] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    4.685168] fuse init (API version 7.17)
[    4.939118] hub 2-1:1.0: hub_suspend
[    4.939134] usb 1-2: usb auto-suspend, wakeup 0
[    4.939152] usb 2-1: unlink qh256-0001/ffff880165cf7e40 start 1 [1/0 us]
[    4.939162] hub 3-0:1.0: hub_suspend
[    4.939169] usb usb3: bus auto-suspend, wakeup 1
[    4.939172] usb usb3: suspend_rh
[    4.939188] hub 4-0:1.0: hub_suspend
[    4.939191] usb usb4: bus auto-suspend, wakeup 1
[    4.939193] usb usb4: suspend_rh
[    4.939351] usb 2-1: usb auto-suspend, wakeup 1
[    5.067852] usb 1-1.1.3: unlink qh1-0e01/ffff880165cf74c0 start 0 [1/2 us]
[    5.068068] usb 1-1: clear tt buffer port 1, a8 ep2 t04048d82
[    5.079783] usb 1-1.2: link qh1-0e01/ffff880165c112c0 start 0 [1/2 us]
[    5.079882] usb 1-1.2: link qh1-0e01/ffff880165f57f40 start 0 [1/3 us]
[    5.083904] usb 1-1.2: unlink qh1-0e01/ffff880165f57f40 start 0 [1/3 us]
[    5.083915] usb 1-1.2: unlink qh1-0e01/ffff880165c112c0 start 0 [1/2 us]
[    5.105712] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.105715] Bluetooth: BNEP filters: protocol multicast
[    5.106075] Bluetooth: RFCOMM TTY layer initialized
[    5.106079] Bluetooth: RFCOMM socket layer initialized
[    5.106081] Bluetooth: RFCOMM ver 1.11
[    5.107462] ehci_hcd 0000:00:1a.7: reused qh ffff880165cf74c0 schedule
[    5.107466] usb 1-1.1.3: link qh1-0e01/ffff880165cf74c0 start 0 [1/2 us]
[    5.271126] ieee80211 phy0: brcms_ops_config: change monitor mode: false (implement)
[    5.272011] ieee80211 phy0: brcms_ops_config: change power-save mode: false (implement)
[    5.285122] ieee80211 phy0: brcms_ops_bss_info_changed: qos enabled: false (implement)
[    5.286709] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[    5.973837] input: ACPI Virtual Keyboard Device as /devices/virtual/input/input13
[    6.263461] [drm] Initialized drm 1.1.0 20060810


-- 
keith.packard@intel.com

[-- Attachment #2: Type: application/pgp-signature, Size: 827 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 16:35           ` Keith Packard
@ 2011-12-12 16:50             ` Linus Torvalds
  2011-12-12 17:09               ` H. Peter Anvin
  2011-12-12 17:21               ` Keith Packard
  2011-12-15 15:29             ` Matt Fleming
  1 sibling, 2 replies; 29+ messages in thread
From: Linus Torvalds @ 2011-12-12 16:50 UTC (permalink / raw)
  To: Keith Packard
  Cc: Matt Fleming, H. Peter Anvin, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On Mon, Dec 12, 2011 at 8:35 AM, Keith Packard <keithp@keithp.com> wrote:
>
> Happy to oblige. Here's the first few seconds (until X starts):

Ahh. And the reason it works for me is that I don't even have
"CONFIG_EFI" enabled, much less EFI debugging. So I never trigger the
buggy code at all.

That certainly explains why I never saw the problem,

                 Linus

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 10:01   ` Matt Fleming
@ 2011-12-12 17:09     ` H. Peter Anvin
  2011-12-12 17:26       ` Ingo Molnar
  0 siblings, 1 reply; 29+ messages in thread
From: H. Peter Anvin @ 2011-12-12 17:09 UTC (permalink / raw)
  To: Matt Fleming
  Cc: Linus Torvalds, Keith Packard, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On 12/12/2011 02:01 AM, Matt Fleming wrote:
> 
> At this late -rc stage I agree it makes sense to revert this. The
> CONFIG_X86_32 oops that the patch fixes has been around for years and no
> one seems to have encountered it (until now), whereas this new
> regression is likely to affect many more users.
> 

Agreed on both accounts.

For the revert:

Acked-by: H. Peter Anvin <hpa@zytor.com>

... or we can push it in the next x86/urgent batch.

However, still want to chase the root cause down.

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 16:50             ` Linus Torvalds
@ 2011-12-12 17:09               ` H. Peter Anvin
  2011-12-12 17:21               ` Keith Packard
  1 sibling, 0 replies; 29+ messages in thread
From: H. Peter Anvin @ 2011-12-12 17:09 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Keith Packard, Matt Fleming, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On 12/12/2011 08:50 AM, Linus Torvalds wrote:
> On Mon, Dec 12, 2011 at 8:35 AM, Keith Packard <keithp@keithp.com> wrote:
>>
>> Happy to oblige. Here's the first few seconds (until X starts):
> 
> Ahh. And the reason it works for me is that I don't even have
> "CONFIG_EFI" enabled, much less EFI debugging. So I never trigger the
> buggy code at all.
> 
> That certainly explains why I never saw the problem,
> 

Indeed it does.

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 16:50             ` Linus Torvalds
  2011-12-12 17:09               ` H. Peter Anvin
@ 2011-12-12 17:21               ` Keith Packard
  2011-12-12 17:29                 ` H. Peter Anvin
  1 sibling, 1 reply; 29+ messages in thread
From: Keith Packard @ 2011-12-12 17:21 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Matt Fleming, H. Peter Anvin, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

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

On Mon, 12 Dec 2011 08:50:52 -0800, Linus Torvalds <torvalds@linux-foundation.org> wrote:

> Ahh. And the reason it works for me is that I don't even have
> "CONFIG_EFI" enabled, much less EFI debugging. So I never trigger the
> buggy code at all.

I foolishly assumed that an EFI machine required CONFIG_EFI...

-- 
keith.packard@intel.com

[-- Attachment #2: Type: application/pgp-signature, Size: 827 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 17:09     ` H. Peter Anvin
@ 2011-12-12 17:26       ` Ingo Molnar
  0 siblings, 0 replies; 29+ messages in thread
From: Ingo Molnar @ 2011-12-12 17:26 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Matt Fleming, Linus Torvalds, Keith Packard, linux-kernel,
	Matthew Garrett, Zhang Rui, Huang Ying, Andrew Morton


* H. Peter Anvin <hpa@zytor.com> wrote:

> On 12/12/2011 02:01 AM, Matt Fleming wrote:
> > 
> > At this late -rc stage I agree it makes sense to revert this. The
> > CONFIG_X86_32 oops that the patch fixes has been around for years and no
> > one seems to have encountered it (until now), whereas this new
> > regression is likely to affect many more users.
> > 
> 
> Agreed on both accounts.
> 
> For the revert:
> 
> Acked-by: H. Peter Anvin <hpa@zytor.com>
> 
> ... or we can push it in the next x86/urgent batch.

I've pushed it int x86/urgent and will send it to Linus later 
today (if he has not applied it meanwhile).

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 17:21               ` Keith Packard
@ 2011-12-12 17:29                 ` H. Peter Anvin
  2011-12-12 17:37                   ` Linus Torvalds
  0 siblings, 1 reply; 29+ messages in thread
From: H. Peter Anvin @ 2011-12-12 17:29 UTC (permalink / raw)
  To: Keith Packard
  Cc: Linus Torvalds, Matt Fleming, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On 12/12/2011 09:21 AM, Keith Packard wrote:
> On Mon, 12 Dec 2011 08:50:52 -0800, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> 
>> Ahh. And the reason it works for me is that I don't even have 
>> "CONFIG_EFI" enabled, much less EFI debugging. So I never trigger
>> the buggy code at all.
> 
> I foolishly assumed that an EFI machine required CONFIG_EFI...
> 

Machines with EFI only do.

Machines which support BIOS emulation don't (and are generally better
off booted in that mode...)

It depends mostly if you have and EFI or a BIOS bootloader.

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 17:29                 ` H. Peter Anvin
@ 2011-12-12 17:37                   ` Linus Torvalds
  0 siblings, 0 replies; 29+ messages in thread
From: Linus Torvalds @ 2011-12-12 17:37 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Keith Packard, Matt Fleming, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On Mon, Dec 12, 2011 at 9:29 AM, H. Peter Anvin <hpa@zytor.com> wrote:
>
> Machines with EFI only do.

Yeah, and they exist, but should basically be considered broken.

EFi without BIOS emulation is such a crazy idiotic crock that it's not
even funny. It's pure and utter shite.

EFI as a "extended BIOS rewritten in C" is not bad.

EFI as a "new world order" is totally idiotic and crazy, and only
morons ever believed it was a good idea.

Sadly that "pure EFI" thing still exists. Some of the early EFI
proponents really wanted it, and it's still an option for some
unfathomable reason. The world would be a better place without it.

                           Linus

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-12 16:35           ` Keith Packard
  2011-12-12 16:50             ` Linus Torvalds
@ 2011-12-15 15:29             ` Matt Fleming
  2012-01-16  9:22               ` Matt Fleming
  1 sibling, 1 reply; 29+ messages in thread
From: Matt Fleming @ 2011-12-15 15:29 UTC (permalink / raw)
  To: Keith Packard
  Cc: H. Peter Anvin, Linus Torvalds, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On Mon, 2011-12-12 at 08:35 -0800, Keith Packard wrote:
> On Mon, 12 Dec 2011 10:01:23 +0000, Matt Fleming <matt@console-pimps.org> wrote:
> 
> > How about the dmesg from a kernel with this revert applied?
> 
> Happy to oblige. Here's the first few seconds (until X starts):

Thanks Keith. I think I see what the problem is now. Your memory map
shows that there are some regions that need runtime mappings that
weren't being setup with the original patch because they're not of type
EFI_RUNTIME_SERVICES_DATA. What the patch should do is check for the
EFI_MEMORY_RUNTIME attribute.

Can you try this patch and see if your MacBook Air still boots?

>From 58994e0a535af52faec068cf030069672107cae0 Mon Sep 17 00:00:00 2001
From: Matt Fleming <matt.fleming@intel.com>
Date: Mon, 10 Oct 2011 13:30:03 +0100
Subject: [PATCH] x86, efi: Delete efi_ioremap() and fix CONFIG_X86_32 oops

This patch reimplements the fix from e8c7106280a3 ("x86, efi: Calling
__pa() with an ioremap()ed address is invalid") which was reverted in
e1ad783b12ec because it caused a regression on some MacBooks (they
hung at boot). The regression was caused because the commit only
marked EFI_RUNTIME_SERVICES_DATA as E820_RESERVED_EFI, when it should
have marked all regions that have the EFI_MEMORY_RUNTIME attribute.

Calling __pa() with an ioremap'd address is invalid. If we encounter
an efi_memory_desc_t without EFI_MEMORY_WB set in ->attribute we
currently call set_memory_uc(), which in turn calls __pa() on a
potentially ioremap'd address. On CONFIG_X86_32 this results in the
following oops,

  BUG: unable to handle kernel paging request at f7f22280
  IP: [<c10257b9>] reserve_ram_pages_type+0x89/0x210
  *pdpt = 0000000001978001 *pde = 0000000001ffb067 *pte = 0000000000000000
  Oops: 0000 [#1] PREEMPT SMP
  Modules linked in:

  Pid: 0, comm: swapper Not tainted 3.0.0-acpi-efi-0805 #3
   EIP: 0060:[<c10257b9>] EFLAGS: 00010202 CPU: 0
   EIP is at reserve_ram_pages_type+0x89/0x210
   EAX: 0070e280 EBX: 38714000 ECX: f7814000 EDX: 00000000
   ESI: 00000000 EDI: 38715000 EBP: c189fef0 ESP: c189fea8
   DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
  Process swapper (pid: 0, ti=c189e000 task=c18bbe60 task.ti=c189e000)
  Stack:
   80000200 ff108000 00000000 c189ff00 00038714 00000000 00000000 c189fed0
   c104f8ca 00038714 00000000 00038715 00000000 00000000 00038715 00000000
   00000010 38715000 c189ff48 c1025aff 38715000 00000000 00000010 00000000
  Call Trace:
   [<c104f8ca>] ? page_is_ram+0x1a/0x40
   [<c1025aff>] reserve_memtype+0xdf/0x2f0
   [<c1024dc9>] set_memory_uc+0x49/0xa0
   [<c19334d0>] efi_enter_virtual_mode+0x1c2/0x3aa
   [<c19216d4>] start_kernel+0x291/0x2f2
   [<c19211c7>] ? loglevel+0x1b/0x1b
   [<c19210bf>] i386_start_kernel+0xbf/0xc8

A better approach to this problem is to map the memory region with the
correct attributes from the start, instead of modifying them after the
fact.

Despite first impressions, it's not possible to use ioremap_cache() to
map all cached memory regions on CONFIG_X86_64 because of the way that
the memory map might be configured as detailed in the following bug
report,

	https://bugzilla.redhat.com/show_bug.cgi?id=748516

Therefore, we need to ensure that any regions requiring a runtime
mapping are covered by the direct kernel mapping table. Previously,
this was taken care of by efi_ioremap() but if we handle this case
earlier, in setup_arch(), we can delete the CONFIG_X86_32 and
CONFIG_X86_64 efi_ioremap() implementations entirely.

To accomplish this we now mark any regions that need a runtime mapping
as E820_RESERVED_EFI and map them via the direct kernel mapping in
setup_arch().

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Huang Ying <huang.ying.caritas@gmail.com>
Cc: Keith Packard <keithp@keithp.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
---
 arch/x86/include/asm/e820.h    |    7 +++++++
 arch/x86/include/asm/efi.h     |    5 -----
 arch/x86/kernel/e820.c         |    3 ++-
 arch/x86/kernel/setup.c        |   21 ++++++++++++++++++++-
 arch/x86/platform/efi/efi.c    |   37 ++++++++++++++++++++++++-------------
 arch/x86/platform/efi/efi_64.c |   17 -----------------
 6 files changed, 53 insertions(+), 37 deletions(-)

diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index 908b969..bc0a9c0 100644
--- a/arch/x86/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -53,6 +53,12 @@
  */
 #define E820_RESERVED_KERN        128
 
+/*
+ * Address ranges that need to be mapped by the kernel direct mapping
+ * because they require a runtime mapping. See setup_arch().
+ */
+#define E820_RESERVED_EFI         129
+
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
 struct e820entry {
@@ -115,6 +121,7 @@ static inline void early_memtest(unsigned long start, unsigned long end)
 }
 #endif
 
+extern unsigned long e820_end_pfn(unsigned long limit_pfn, unsigned type);
 extern unsigned long e820_end_of_ram_pfn(void);
 extern unsigned long e820_end_of_low_ram_pfn(void);
 extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align);
diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
index 7093e4a..b8d8bfc 100644
--- a/arch/x86/include/asm/efi.h
+++ b/arch/x86/include/asm/efi.h
@@ -33,8 +33,6 @@ extern unsigned long asmlinkage efi_call_phys(void *, ...);
 #define efi_call_virt6(f, a1, a2, a3, a4, a5, a6)	\
 	efi_call_virt(f, a1, a2, a3, a4, a5, a6)
 
-#define efi_ioremap(addr, size, type)		ioremap_cache(addr, size)
-
 #else /* !CONFIG_X86_32 */
 
 extern u64 efi_call0(void *fp);
@@ -84,9 +82,6 @@ extern u64 efi_call6(void *fp, u64 arg1, u64 arg2, u64 arg3,
 	efi_call6((void *)(efi.systab->runtime->f), (u64)(a1), (u64)(a2), \
 		  (u64)(a3), (u64)(a4), (u64)(a5), (u64)(a6))
 
-extern void __iomem *efi_ioremap(unsigned long addr, unsigned long size,
-				 u32 type);
-
 #endif /* CONFIG_X86_32 */
 
 extern int add_efi_memmap;
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 303a0e4..65ffd11 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -135,6 +135,7 @@ static void __init e820_print_type(u32 type)
 		printk(KERN_CONT "(usable)");
 		break;
 	case E820_RESERVED:
+	case E820_RESERVED_EFI:
 		printk(KERN_CONT "(reserved)");
 		break;
 	case E820_ACPI:
@@ -783,7 +784,7 @@ u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align)
 /*
  * Find the highest page frame number we have available
  */
-static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
+unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
 {
 	int i;
 	unsigned long last_pfn = 0;
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index afaf384..28c2402 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -691,6 +691,8 @@ early_param("reservelow", parse_reservelow);
 
 void __init setup_arch(char **cmdline_p)
 {
+	unsigned long end_pfn;
+
 #ifdef CONFIG_X86_32
 	memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
 	visws_early_detect();
@@ -932,7 +934,24 @@ void __init setup_arch(char **cmdline_p)
 	init_gbpages();
 
 	/* max_pfn_mapped is updated here */
-	max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT);
+	end_pfn = max_low_pfn;
+
+#ifdef CONFIG_X86_64
+	/*
+	 * There may be regions after the last E820_RAM region that we
+	 * want to include in the kernel direct mapping because their
+	 * contents are needed at runtime.
+	 */
+	if (efi_enabled) {
+		unsigned long efi_end;
+
+		efi_end = e820_end_pfn(MAXMEM>>PAGE_SHIFT, E820_RESERVED_EFI);
+		if (efi_end > end_pfn)
+			end_pfn = efi_end;
+	}
+#endif
+
+	max_low_pfn_mapped = init_memory_mapping(0, end_pfn << PAGE_SHIFT);
 	max_pfn_mapped = max_low_pfn_mapped;
 
 #ifdef CONFIG_X86_64
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 37718f0..f5c22d4 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -323,13 +323,20 @@ static void __init do_add_efi_memmap(void)
 		case EFI_UNUSABLE_MEMORY:
 			e820_type = E820_UNUSABLE;
 			break;
+		case EFI_MEMORY_MAPPED_IO:
+		case EFI_MEMORY_MAPPED_IO_PORT_SPACE:
+			e820_type = E820_RESERVED;
+			break;
 		default:
 			/*
 			 * EFI_RESERVED_TYPE EFI_RUNTIME_SERVICES_CODE
-			 * EFI_RUNTIME_SERVICES_DATA EFI_MEMORY_MAPPED_IO
-			 * EFI_MEMORY_MAPPED_IO_PORT_SPACE EFI_PAL_CODE
+			 * EFI_RUNTIME_SERVICES_DATA
+			 * EFI_PAL_CODE
 			 */
-			e820_type = E820_RESERVED;
+			if (md->attribute & EFI_MEMORY_RUNTIME)
+				e820_type = E820_RESERVED_EFI;
+			else
+				e820_type = E820_RESERVED;
 			break;
 		}
 		e820_add_region(start, size, e820_type);
@@ -671,10 +678,21 @@ void __init efi_enter_virtual_mode(void)
 		end_pfn = PFN_UP(end);
 		if (end_pfn <= max_low_pfn_mapped
 		    || (end_pfn > (1UL << (32 - PAGE_SHIFT))
-			&& end_pfn <= max_pfn_mapped))
+			&& end_pfn <= max_pfn_mapped)) {
 			va = __va(md->phys_addr);
-		else
-			va = efi_ioremap(md->phys_addr, size, md->type);
+
+			if (!(md->attribute & EFI_MEMORY_WB)) {
+				addr = (u64) (unsigned long)va;
+				npages = md->num_pages;
+				memrange_efi_to_native(&addr, &npages);
+				set_memory_uc(addr, npages);
+			}
+		} else {
+			if (!(md->attribute & EFI_MEMORY_WB))
+				va = ioremap_nocache(md->phys_addr, size);
+			else
+				va = ioremap_cache(md->phys_addr, size);
+		}
 
 		md->virt_addr = (u64) (unsigned long) va;
 
@@ -684,13 +702,6 @@ void __init efi_enter_virtual_mode(void)
 			continue;
 		}
 
-		if (!(md->attribute & EFI_MEMORY_WB)) {
-			addr = md->virt_addr;
-			npages = md->num_pages;
-			memrange_efi_to_native(&addr, &npages);
-			set_memory_uc(addr, npages);
-		}
-
 		systab = (u64) (unsigned long) efi_phys.systab;
 		if (md->phys_addr <= systab && systab < end) {
 			systab += md->virt_addr - md->phys_addr;
diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
index ac3aa54..312250c 100644
--- a/arch/x86/platform/efi/efi_64.c
+++ b/arch/x86/platform/efi/efi_64.c
@@ -80,20 +80,3 @@ void __init efi_call_phys_epilog(void)
 	local_irq_restore(efi_flags);
 	early_code_mapping_set_exec(0);
 }
-
-void __iomem *__init efi_ioremap(unsigned long phys_addr, unsigned long size,
-				 u32 type)
-{
-	unsigned long last_map_pfn;
-
-	if (type == EFI_MEMORY_MAPPED_IO)
-		return ioremap(phys_addr, size);
-
-	last_map_pfn = init_memory_mapping(phys_addr, phys_addr + size);
-	if ((last_map_pfn << PAGE_SHIFT) < phys_addr + size) {
-		unsigned long top = last_map_pfn << PAGE_SHIFT;
-		efi_ioremap(top, size - (top - phys_addr), type);
-	}
-
-	return (void __iomem *)__va(phys_addr);
-}
-- 
1.7.4.4




^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2011-12-15 15:29             ` Matt Fleming
@ 2012-01-16  9:22               ` Matt Fleming
  2012-01-16  9:31                 ` Ingo Molnar
  0 siblings, 1 reply; 29+ messages in thread
From: Matt Fleming @ 2012-01-16  9:22 UTC (permalink / raw)
  To: Keith Packard
  Cc: H. Peter Anvin, Linus Torvalds, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

Ping?

On Thu, 2011-12-15 at 15:29 +0000, Matt Fleming wrote:
> On Mon, 2011-12-12 at 08:35 -0800, Keith Packard wrote:
> > On Mon, 12 Dec 2011 10:01:23 +0000, Matt Fleming <matt@console-pimps.org> wrote:
> > 
> > > How about the dmesg from a kernel with this revert applied?
> > 
> > Happy to oblige. Here's the first few seconds (until X starts):
> 
> Thanks Keith. I think I see what the problem is now. Your memory map
> shows that there are some regions that need runtime mappings that
> weren't being setup with the original patch because they're not of type
> EFI_RUNTIME_SERVICES_DATA. What the patch should do is check for the
> EFI_MEMORY_RUNTIME attribute.
> 
> Can you try this patch and see if your MacBook Air still boots?
> 
> From 58994e0a535af52faec068cf030069672107cae0 Mon Sep 17 00:00:00 2001
> From: Matt Fleming <matt.fleming@intel.com>
> Date: Mon, 10 Oct 2011 13:30:03 +0100
> Subject: [PATCH] x86, efi: Delete efi_ioremap() and fix CONFIG_X86_32 oops
> 
> This patch reimplements the fix from e8c7106280a3 ("x86, efi: Calling
> __pa() with an ioremap()ed address is invalid") which was reverted in
> e1ad783b12ec because it caused a regression on some MacBooks (they
> hung at boot). The regression was caused because the commit only
> marked EFI_RUNTIME_SERVICES_DATA as E820_RESERVED_EFI, when it should
> have marked all regions that have the EFI_MEMORY_RUNTIME attribute.
> 
> Calling __pa() with an ioremap'd address is invalid. If we encounter
> an efi_memory_desc_t without EFI_MEMORY_WB set in ->attribute we
> currently call set_memory_uc(), which in turn calls __pa() on a
> potentially ioremap'd address. On CONFIG_X86_32 this results in the
> following oops,
> 
>   BUG: unable to handle kernel paging request at f7f22280
>   IP: [<c10257b9>] reserve_ram_pages_type+0x89/0x210
>   *pdpt = 0000000001978001 *pde = 0000000001ffb067 *pte = 0000000000000000
>   Oops: 0000 [#1] PREEMPT SMP
>   Modules linked in:
> 
>   Pid: 0, comm: swapper Not tainted 3.0.0-acpi-efi-0805 #3
>    EIP: 0060:[<c10257b9>] EFLAGS: 00010202 CPU: 0
>    EIP is at reserve_ram_pages_type+0x89/0x210
>    EAX: 0070e280 EBX: 38714000 ECX: f7814000 EDX: 00000000
>    ESI: 00000000 EDI: 38715000 EBP: c189fef0 ESP: c189fea8
>    DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
>   Process swapper (pid: 0, ti=c189e000 task=c18bbe60 task.ti=c189e000)
>   Stack:
>    80000200 ff108000 00000000 c189ff00 00038714 00000000 00000000 c189fed0
>    c104f8ca 00038714 00000000 00038715 00000000 00000000 00038715 00000000
>    00000010 38715000 c189ff48 c1025aff 38715000 00000000 00000010 00000000
>   Call Trace:
>    [<c104f8ca>] ? page_is_ram+0x1a/0x40
>    [<c1025aff>] reserve_memtype+0xdf/0x2f0
>    [<c1024dc9>] set_memory_uc+0x49/0xa0
>    [<c19334d0>] efi_enter_virtual_mode+0x1c2/0x3aa
>    [<c19216d4>] start_kernel+0x291/0x2f2
>    [<c19211c7>] ? loglevel+0x1b/0x1b
>    [<c19210bf>] i386_start_kernel+0xbf/0xc8
> 
> A better approach to this problem is to map the memory region with the
> correct attributes from the start, instead of modifying them after the
> fact.
> 
> Despite first impressions, it's not possible to use ioremap_cache() to
> map all cached memory regions on CONFIG_X86_64 because of the way that
> the memory map might be configured as detailed in the following bug
> report,
> 
> 	https://bugzilla.redhat.com/show_bug.cgi?id=748516
> 
> Therefore, we need to ensure that any regions requiring a runtime
> mapping are covered by the direct kernel mapping table. Previously,
> this was taken care of by efi_ioremap() but if we handle this case
> earlier, in setup_arch(), we can delete the CONFIG_X86_32 and
> CONFIG_X86_64 efi_ioremap() implementations entirely.
> 
> To accomplish this we now mark any regions that need a runtime mapping
> as E820_RESERVED_EFI and map them via the direct kernel mapping in
> setup_arch().
> 
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@elte.hu>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Matthew Garrett <mjg@redhat.com>
> Cc: Zhang Rui <rui.zhang@intel.com>
> Cc: Huang Ying <huang.ying.caritas@gmail.com>
> Cc: Keith Packard <keithp@keithp.com>
> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
> ---
>  arch/x86/include/asm/e820.h    |    7 +++++++
>  arch/x86/include/asm/efi.h     |    5 -----
>  arch/x86/kernel/e820.c         |    3 ++-
>  arch/x86/kernel/setup.c        |   21 ++++++++++++++++++++-
>  arch/x86/platform/efi/efi.c    |   37 ++++++++++++++++++++++++-------------
>  arch/x86/platform/efi/efi_64.c |   17 -----------------
>  6 files changed, 53 insertions(+), 37 deletions(-)
> 
> diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
> index 908b969..bc0a9c0 100644
> --- a/arch/x86/include/asm/e820.h
> +++ b/arch/x86/include/asm/e820.h
> @@ -53,6 +53,12 @@
>   */
>  #define E820_RESERVED_KERN        128
>  
> +/*
> + * Address ranges that need to be mapped by the kernel direct mapping
> + * because they require a runtime mapping. See setup_arch().
> + */
> +#define E820_RESERVED_EFI         129
> +
>  #ifndef __ASSEMBLY__
>  #include <linux/types.h>
>  struct e820entry {
> @@ -115,6 +121,7 @@ static inline void early_memtest(unsigned long start, unsigned long end)
>  }
>  #endif
>  
> +extern unsigned long e820_end_pfn(unsigned long limit_pfn, unsigned type);
>  extern unsigned long e820_end_of_ram_pfn(void);
>  extern unsigned long e820_end_of_low_ram_pfn(void);
>  extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align);
> diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
> index 7093e4a..b8d8bfc 100644
> --- a/arch/x86/include/asm/efi.h
> +++ b/arch/x86/include/asm/efi.h
> @@ -33,8 +33,6 @@ extern unsigned long asmlinkage efi_call_phys(void *, ...);
>  #define efi_call_virt6(f, a1, a2, a3, a4, a5, a6)	\
>  	efi_call_virt(f, a1, a2, a3, a4, a5, a6)
>  
> -#define efi_ioremap(addr, size, type)		ioremap_cache(addr, size)
> -
>  #else /* !CONFIG_X86_32 */
>  
>  extern u64 efi_call0(void *fp);
> @@ -84,9 +82,6 @@ extern u64 efi_call6(void *fp, u64 arg1, u64 arg2, u64 arg3,
>  	efi_call6((void *)(efi.systab->runtime->f), (u64)(a1), (u64)(a2), \
>  		  (u64)(a3), (u64)(a4), (u64)(a5), (u64)(a6))
>  
> -extern void __iomem *efi_ioremap(unsigned long addr, unsigned long size,
> -				 u32 type);
> -
>  #endif /* CONFIG_X86_32 */
>  
>  extern int add_efi_memmap;
> diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
> index 303a0e4..65ffd11 100644
> --- a/arch/x86/kernel/e820.c
> +++ b/arch/x86/kernel/e820.c
> @@ -135,6 +135,7 @@ static void __init e820_print_type(u32 type)
>  		printk(KERN_CONT "(usable)");
>  		break;
>  	case E820_RESERVED:
> +	case E820_RESERVED_EFI:
>  		printk(KERN_CONT "(reserved)");
>  		break;
>  	case E820_ACPI:
> @@ -783,7 +784,7 @@ u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align)
>  /*
>   * Find the highest page frame number we have available
>   */
> -static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
> +unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
>  {
>  	int i;
>  	unsigned long last_pfn = 0;
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index afaf384..28c2402 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -691,6 +691,8 @@ early_param("reservelow", parse_reservelow);
>  
>  void __init setup_arch(char **cmdline_p)
>  {
> +	unsigned long end_pfn;
> +
>  #ifdef CONFIG_X86_32
>  	memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
>  	visws_early_detect();
> @@ -932,7 +934,24 @@ void __init setup_arch(char **cmdline_p)
>  	init_gbpages();
>  
>  	/* max_pfn_mapped is updated here */
> -	max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT);
> +	end_pfn = max_low_pfn;
> +
> +#ifdef CONFIG_X86_64
> +	/*
> +	 * There may be regions after the last E820_RAM region that we
> +	 * want to include in the kernel direct mapping because their
> +	 * contents are needed at runtime.
> +	 */
> +	if (efi_enabled) {
> +		unsigned long efi_end;
> +
> +		efi_end = e820_end_pfn(MAXMEM>>PAGE_SHIFT, E820_RESERVED_EFI);
> +		if (efi_end > end_pfn)
> +			end_pfn = efi_end;
> +	}
> +#endif
> +
> +	max_low_pfn_mapped = init_memory_mapping(0, end_pfn << PAGE_SHIFT);
>  	max_pfn_mapped = max_low_pfn_mapped;
>  
>  #ifdef CONFIG_X86_64
> diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> index 37718f0..f5c22d4 100644
> --- a/arch/x86/platform/efi/efi.c
> +++ b/arch/x86/platform/efi/efi.c
> @@ -323,13 +323,20 @@ static void __init do_add_efi_memmap(void)
>  		case EFI_UNUSABLE_MEMORY:
>  			e820_type = E820_UNUSABLE;
>  			break;
> +		case EFI_MEMORY_MAPPED_IO:
> +		case EFI_MEMORY_MAPPED_IO_PORT_SPACE:
> +			e820_type = E820_RESERVED;
> +			break;
>  		default:
>  			/*
>  			 * EFI_RESERVED_TYPE EFI_RUNTIME_SERVICES_CODE
> -			 * EFI_RUNTIME_SERVICES_DATA EFI_MEMORY_MAPPED_IO
> -			 * EFI_MEMORY_MAPPED_IO_PORT_SPACE EFI_PAL_CODE
> +			 * EFI_RUNTIME_SERVICES_DATA
> +			 * EFI_PAL_CODE
>  			 */
> -			e820_type = E820_RESERVED;
> +			if (md->attribute & EFI_MEMORY_RUNTIME)
> +				e820_type = E820_RESERVED_EFI;
> +			else
> +				e820_type = E820_RESERVED;
>  			break;
>  		}
>  		e820_add_region(start, size, e820_type);
> @@ -671,10 +678,21 @@ void __init efi_enter_virtual_mode(void)
>  		end_pfn = PFN_UP(end);
>  		if (end_pfn <= max_low_pfn_mapped
>  		    || (end_pfn > (1UL << (32 - PAGE_SHIFT))
> -			&& end_pfn <= max_pfn_mapped))
> +			&& end_pfn <= max_pfn_mapped)) {
>  			va = __va(md->phys_addr);
> -		else
> -			va = efi_ioremap(md->phys_addr, size, md->type);
> +
> +			if (!(md->attribute & EFI_MEMORY_WB)) {
> +				addr = (u64) (unsigned long)va;
> +				npages = md->num_pages;
> +				memrange_efi_to_native(&addr, &npages);
> +				set_memory_uc(addr, npages);
> +			}
> +		} else {
> +			if (!(md->attribute & EFI_MEMORY_WB))
> +				va = ioremap_nocache(md->phys_addr, size);
> +			else
> +				va = ioremap_cache(md->phys_addr, size);
> +		}
>  
>  		md->virt_addr = (u64) (unsigned long) va;
>  
> @@ -684,13 +702,6 @@ void __init efi_enter_virtual_mode(void)
>  			continue;
>  		}
>  
> -		if (!(md->attribute & EFI_MEMORY_WB)) {
> -			addr = md->virt_addr;
> -			npages = md->num_pages;
> -			memrange_efi_to_native(&addr, &npages);
> -			set_memory_uc(addr, npages);
> -		}
> -
>  		systab = (u64) (unsigned long) efi_phys.systab;
>  		if (md->phys_addr <= systab && systab < end) {
>  			systab += md->virt_addr - md->phys_addr;
> diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
> index ac3aa54..312250c 100644
> --- a/arch/x86/platform/efi/efi_64.c
> +++ b/arch/x86/platform/efi/efi_64.c
> @@ -80,20 +80,3 @@ void __init efi_call_phys_epilog(void)
>  	local_irq_restore(efi_flags);
>  	early_code_mapping_set_exec(0);
>  }
> -
> -void __iomem *__init efi_ioremap(unsigned long phys_addr, unsigned long size,
> -				 u32 type)
> -{
> -	unsigned long last_map_pfn;
> -
> -	if (type == EFI_MEMORY_MAPPED_IO)
> -		return ioremap(phys_addr, size);
> -
> -	last_map_pfn = init_memory_mapping(phys_addr, phys_addr + size);
> -	if ((last_map_pfn << PAGE_SHIFT) < phys_addr + size) {
> -		unsigned long top = last_map_pfn << PAGE_SHIFT;
> -		efi_ioremap(top, size - (top - phys_addr), type);
> -	}
> -
> -	return (void __iomem *)__va(phys_addr);
> -}


-- 
Matt Fleming, Intel Open Source Technology Center


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2012-01-16  9:22               ` Matt Fleming
@ 2012-01-16  9:31                 ` Ingo Molnar
  2012-01-16  9:49                   ` Matt Fleming
  0 siblings, 1 reply; 29+ messages in thread
From: Ingo Molnar @ 2012-01-16  9:31 UTC (permalink / raw)
  To: Matt Fleming
  Cc: Keith Packard, H. Peter Anvin, Linus Torvalds, linux-kernel,
	Matthew Garrett, Zhang Rui, Huang Ying, Andrew Morton


* Matt Fleming <matt@console-pimps.org> wrote:

> Ping?

Would be nice to have testing from Keith as your fix looks more 
attractive than the plain revert.

I could queue up the fix blindly and do a double revert if it 
breaks, but i already strongly depleted my problematic-tree 
quota for this cycle, so i'd rather have a nice Tested-by tag 
from Keith ... ;-)

Failing that i guess we'll have to do the revert, and re-try the 
original commit with your fix merged into it.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2012-01-16  9:31                 ` Ingo Molnar
@ 2012-01-16  9:49                   ` Matt Fleming
  2012-01-16  9:55                     ` Ingo Molnar
  0 siblings, 1 reply; 29+ messages in thread
From: Matt Fleming @ 2012-01-16  9:49 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Keith Packard, H. Peter Anvin, Linus Torvalds, linux-kernel,
	Matthew Garrett, Zhang Rui, Huang Ying, Andrew Morton

On Mon, 2012-01-16 at 10:31 +0100, Ingo Molnar wrote:
> * Matt Fleming <matt@console-pimps.org> wrote:
> 
> > Ping?
> 
> Would be nice to have testing from Keith as your fix looks more 
> attractive than the plain revert.
> 
> I could queue up the fix blindly and do a double revert if it 
> breaks, but i already strongly depleted my problematic-tree 
> quota for this cycle, so i'd rather have a nice Tested-by tag 
> from Keith ... ;-)

Sorry, I should have been more verbose here. What I was really asking
was whether Keith has had chance to test this patch. A Tested-by tag is
essential - I really don't want to be responsible for a problematic
tree ;-)

> Failing that i guess we'll have to do the revert, and re-try the 
> original commit with your fix merged into it.

The revert is already in Linus' tree as e1ad783b12ec "Revert "x86, efi:
Calling __pa() with an ioremap()ed address is invalid", so at least
we've got some time to get this patch right.

-- 
Matt Fleming, Intel Open Source Technology Center


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2012-01-16  9:49                   ` Matt Fleming
@ 2012-01-16  9:55                     ` Ingo Molnar
  2012-01-16 10:16                       ` Matt Fleming
  0 siblings, 1 reply; 29+ messages in thread
From: Ingo Molnar @ 2012-01-16  9:55 UTC (permalink / raw)
  To: Matt Fleming
  Cc: Keith Packard, H. Peter Anvin, Linus Torvalds, linux-kernel,
	Matthew Garrett, Zhang Rui, Huang Ying, Andrew Morton


* Matt Fleming <matt@console-pimps.org> wrote:

> > Failing that i guess we'll have to do the revert, and re-try 
> > the original commit with your fix merged into it.
> 
> The revert is already in Linus' tree as e1ad783b12ec "Revert 
> "x86, efi: Calling __pa() with an ioremap()ed address is 
> invalid", so at least we've got some time to get this patch 
> right.

Yeah, indeed - the hollidays made me forget everything and back 
then tip-bot notification was not restored yet so today i 
assumed the issue is still open ;-)

Does your new patch apply cleanly on top of the revert? If not 
then please send an updated one, so that we can investigate its 
effects.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2012-01-16  9:55                     ` Ingo Molnar
@ 2012-01-16 10:16                       ` Matt Fleming
  2012-01-16 14:54                         ` [tip:x86/efi] x86/efi: Delete efi_ioremap() and fix CONFIG_X86_32 oops tip-bot for Matt Fleming
  2012-02-08 12:46                         ` [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid" Matt Fleming
  0 siblings, 2 replies; 29+ messages in thread
From: Matt Fleming @ 2012-01-16 10:16 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Keith Packard, H. Peter Anvin, Linus Torvalds, linux-kernel,
	Matthew Garrett, Zhang Rui, Huang Ying, Andrew Morton

On Mon, 2012-01-16 at 10:55 +0100, Ingo Molnar wrote:
> Does your new patch apply cleanly on top of the revert? If not 
> then please send an updated one, so that we can investigate its 
> effects.

Good point, it doesn't apply cleanly. Here's an updated version rebased
against Linus' tree.

>From eec877b7277d2658ab8ad9b8c9961f8772ea62b6 Mon Sep 17 00:00:00 2001
From: Matt Fleming <matt.fleming@intel.com>
Date: Mon, 10 Oct 2011 13:30:03 +0100
Subject: [PATCH] x86, efi: Delete efi_ioremap() and fix CONFIG_X86_32 oops

This patch reimplements the fix from e8c7106280a3 ("x86, efi: Calling
__pa() with an ioremap()ed address is invalid") which was reverted in
e1ad783b12ec because it caused a regression on some MacBooks (they
hung at boot). The regression was caused because the commit only
marked EFI_RUNTIME_SERVICES_DATA as E820_RESERVED_EFI, when it should
have marked all regions that have the EFI_MEMORY_RUNTIME attribute.

Calling __pa() with an ioremap'd address is invalid. If we encounter
an efi_memory_desc_t without EFI_MEMORY_WB set in ->attribute we
currently call set_memory_uc(), which in turn calls __pa() on a
potentially ioremap'd address. On CONFIG_X86_32 this results in the
following oops,

  BUG: unable to handle kernel paging request at f7f22280
  IP: [<c10257b9>] reserve_ram_pages_type+0x89/0x210
  *pdpt = 0000000001978001 *pde = 0000000001ffb067 *pte = 0000000000000000
  Oops: 0000 [#1] PREEMPT SMP
  Modules linked in:

  Pid: 0, comm: swapper Not tainted 3.0.0-acpi-efi-0805 #3
   EIP: 0060:[<c10257b9>] EFLAGS: 00010202 CPU: 0
   EIP is at reserve_ram_pages_type+0x89/0x210
   EAX: 0070e280 EBX: 38714000 ECX: f7814000 EDX: 00000000
   ESI: 00000000 EDI: 38715000 EBP: c189fef0 ESP: c189fea8
   DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
  Process swapper (pid: 0, ti=c189e000 task=c18bbe60 task.ti=c189e000)
  Stack:
   80000200 ff108000 00000000 c189ff00 00038714 00000000 00000000 c189fed0
   c104f8ca 00038714 00000000 00038715 00000000 00000000 00038715 00000000
   00000010 38715000 c189ff48 c1025aff 38715000 00000000 00000010 00000000
  Call Trace:
   [<c104f8ca>] ? page_is_ram+0x1a/0x40
   [<c1025aff>] reserve_memtype+0xdf/0x2f0
   [<c1024dc9>] set_memory_uc+0x49/0xa0
   [<c19334d0>] efi_enter_virtual_mode+0x1c2/0x3aa
   [<c19216d4>] start_kernel+0x291/0x2f2
   [<c19211c7>] ? loglevel+0x1b/0x1b
   [<c19210bf>] i386_start_kernel+0xbf/0xc8

A better approach to this problem is to map the memory region with the
correct attributes from the start, instead of modifying them after the
fact.

Despite first impressions, it's not possible to use ioremap_cache() to
map all cached memory regions on CONFIG_X86_64 because of the way that
the memory map might be configured as detailed in the following bug
report,

	https://bugzilla.redhat.com/show_bug.cgi?id=748516

Therefore, we need to ensure that any regions requiring a runtime
mapping are covered by the direct kernel mapping table. Previously,
this was taken care of by efi_ioremap() but if we handle this case
earlier, in setup_arch(), we can delete the CONFIG_X86_32 and
CONFIG_X86_64 efi_ioremap() implementations entirely.

To accomplish this we now mark any regions that need a runtime mapping
as E820_RESERVED_EFI and map them via the direct kernel mapping in
setup_arch().

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Huang Ying <huang.ying.caritas@gmail.com>
Cc: Keith Packard <keithp@keithp.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
---
 arch/x86/include/asm/e820.h    |    7 +++++++
 arch/x86/include/asm/efi.h     |    5 -----
 arch/x86/kernel/e820.c         |    3 ++-
 arch/x86/kernel/setup.c        |   21 ++++++++++++++++++++-
 arch/x86/platform/efi/efi.c    |   37 ++++++++++++++++++++++++-------------
 arch/x86/platform/efi/efi_64.c |   17 -----------------
 6 files changed, 53 insertions(+), 37 deletions(-)

diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index 3778256..5db3c45 100644
--- a/arch/x86/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -53,6 +53,12 @@
  */
 #define E820_RESERVED_KERN        128
 
+/*
+ * Address ranges that need to be mapped by the kernel direct mapping
+ * because they require a runtime mapping. See setup_arch().
+ */
+#define E820_RESERVED_EFI         129
+
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
 struct e820entry {
@@ -115,6 +121,7 @@ static inline void early_memtest(unsigned long start, unsigned long end)
 }
 #endif
 
+extern unsigned long e820_end_pfn(unsigned long limit_pfn, unsigned type);
 extern unsigned long e820_end_of_ram_pfn(void);
 extern unsigned long e820_end_of_low_ram_pfn(void);
 extern u64 early_reserve_e820(u64 sizet, u64 align);
diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
index 844f735..26d8c18 100644
--- a/arch/x86/include/asm/efi.h
+++ b/arch/x86/include/asm/efi.h
@@ -35,8 +35,6 @@ extern unsigned long asmlinkage efi_call_phys(void *, ...);
 #define efi_call_virt6(f, a1, a2, a3, a4, a5, a6)	\
 	efi_call_virt(f, a1, a2, a3, a4, a5, a6)
 
-#define efi_ioremap(addr, size, type)		ioremap_cache(addr, size)
-
 #else /* !CONFIG_X86_32 */
 
 #define EFI_LOADER_SIGNATURE	"EL64"
@@ -88,9 +86,6 @@ extern u64 efi_call6(void *fp, u64 arg1, u64 arg2, u64 arg3,
 	efi_call6((void *)(efi.systab->runtime->f), (u64)(a1), (u64)(a2), \
 		  (u64)(a3), (u64)(a4), (u64)(a5), (u64)(a6))
 
-extern void __iomem *efi_ioremap(unsigned long addr, unsigned long size,
-				 u32 type);
-
 #endif /* CONFIG_X86_32 */
 
 extern int add_efi_memmap;
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 174d938..e8df715 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -136,6 +136,7 @@ static void __init e820_print_type(u32 type)
 		printk(KERN_CONT "(usable)");
 		break;
 	case E820_RESERVED:
+	case E820_RESERVED_EFI:
 		printk(KERN_CONT "(reserved)");
 		break;
 	case E820_ACPI:
@@ -754,7 +755,7 @@ u64 __init early_reserve_e820(u64 size, u64 align)
 /*
  * Find the highest page frame number we have available
  */
-static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
+unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
 {
 	int i;
 	unsigned long last_pfn = 0;
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index d7d5099..e22bb08 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -690,6 +690,8 @@ early_param("reservelow", parse_reservelow);
 
 void __init setup_arch(char **cmdline_p)
 {
+	unsigned long end_pfn;
+
 #ifdef CONFIG_X86_32
 	memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
 	visws_early_detect();
@@ -926,7 +928,24 @@ void __init setup_arch(char **cmdline_p)
 	init_gbpages();
 
 	/* max_pfn_mapped is updated here */
-	max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT);
+	end_pfn = max_low_pfn;
+
+#ifdef CONFIG_X86_64
+	/*
+	 * There may be regions after the last E820_RAM region that we
+	 * want to include in the kernel direct mapping because their
+	 * contents are needed at runtime.
+	 */
+	if (efi_enabled) {
+		unsigned long efi_end;
+
+		efi_end = e820_end_pfn(MAXMEM>>PAGE_SHIFT, E820_RESERVED_EFI);
+		if (efi_end > end_pfn)
+			end_pfn = efi_end;
+	}
+#endif
+
+	max_low_pfn_mapped = init_memory_mapping(0, end_pfn << PAGE_SHIFT);
 	max_pfn_mapped = max_low_pfn_mapped;
 
 #ifdef CONFIG_X86_64
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 4cf9bd0..264cc6e 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -324,13 +324,20 @@ static void __init do_add_efi_memmap(void)
 		case EFI_UNUSABLE_MEMORY:
 			e820_type = E820_UNUSABLE;
 			break;
+		case EFI_MEMORY_MAPPED_IO:
+		case EFI_MEMORY_MAPPED_IO_PORT_SPACE:
+			e820_type = E820_RESERVED;
+			break;
 		default:
 			/*
 			 * EFI_RESERVED_TYPE EFI_RUNTIME_SERVICES_CODE
-			 * EFI_RUNTIME_SERVICES_DATA EFI_MEMORY_MAPPED_IO
-			 * EFI_MEMORY_MAPPED_IO_PORT_SPACE EFI_PAL_CODE
+			 * EFI_RUNTIME_SERVICES_DATA
+			 * EFI_PAL_CODE
 			 */
-			e820_type = E820_RESERVED;
+			if (md->attribute & EFI_MEMORY_RUNTIME)
+				e820_type = E820_RESERVED_EFI;
+			else
+				e820_type = E820_RESERVED;
 			break;
 		}
 		e820_add_region(start, size, e820_type);
@@ -669,10 +676,21 @@ void __init efi_enter_virtual_mode(void)
 		end_pfn = PFN_UP(end);
 		if (end_pfn <= max_low_pfn_mapped
 		    || (end_pfn > (1UL << (32 - PAGE_SHIFT))
-			&& end_pfn <= max_pfn_mapped))
+			&& end_pfn <= max_pfn_mapped)) {
 			va = __va(md->phys_addr);
-		else
-			va = efi_ioremap(md->phys_addr, size, md->type);
+
+			if (!(md->attribute & EFI_MEMORY_WB)) {
+				addr = (u64) (unsigned long)va;
+				npages = md->num_pages;
+				memrange_efi_to_native(&addr, &npages);
+				set_memory_uc(addr, npages);
+			}
+		} else {
+			if (!(md->attribute & EFI_MEMORY_WB))
+				va = ioremap_nocache(md->phys_addr, size);
+			else
+				va = ioremap_cache(md->phys_addr, size);
+		}
 
 		md->virt_addr = (u64) (unsigned long) va;
 
@@ -682,13 +700,6 @@ void __init efi_enter_virtual_mode(void)
 			continue;
 		}
 
-		if (!(md->attribute & EFI_MEMORY_WB)) {
-			addr = md->virt_addr;
-			npages = md->num_pages;
-			memrange_efi_to_native(&addr, &npages);
-			set_memory_uc(addr, npages);
-		}
-
 		systab = (u64) (unsigned long) efi_phys.systab;
 		if (md->phys_addr <= systab && systab < end) {
 			systab += md->virt_addr - md->phys_addr;
diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
index ac3aa54..312250c 100644
--- a/arch/x86/platform/efi/efi_64.c
+++ b/arch/x86/platform/efi/efi_64.c
@@ -80,20 +80,3 @@ void __init efi_call_phys_epilog(void)
 	local_irq_restore(efi_flags);
 	early_code_mapping_set_exec(0);
 }
-
-void __iomem *__init efi_ioremap(unsigned long phys_addr, unsigned long size,
-				 u32 type)
-{
-	unsigned long last_map_pfn;
-
-	if (type == EFI_MEMORY_MAPPED_IO)
-		return ioremap(phys_addr, size);
-
-	last_map_pfn = init_memory_mapping(phys_addr, phys_addr + size);
-	if ((last_map_pfn << PAGE_SHIFT) < phys_addr + size) {
-		unsigned long top = last_map_pfn << PAGE_SHIFT;
-		efi_ioremap(top, size - (top - phys_addr), type);
-	}
-
-	return (void __iomem *)__va(phys_addr);
-}
-- 
1.7.4.4




^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [tip:x86/efi] x86/efi: Delete efi_ioremap() and fix CONFIG_X86_32 oops
  2012-01-16 10:16                       ` Matt Fleming
@ 2012-01-16 14:54                         ` tip-bot for Matt Fleming
  2012-02-08 12:46                         ` [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid" Matt Fleming
  1 sibling, 0 replies; 29+ messages in thread
From: tip-bot for Matt Fleming @ 2012-01-16 14:54 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, mjg, hpa, mingo, keithp, torvalds, rui.zhang,
	huang.ying.caritas, matt.fleming, matt, tglx, mingo

Commit-ID:  add75d07b7b3fdba9b9e53db404ad17ceab5646c
Gitweb:     http://git.kernel.org/tip/add75d07b7b3fdba9b9e53db404ad17ceab5646c
Author:     Matt Fleming <matt@console-pimps.org>
AuthorDate: Mon, 16 Jan 2012 10:16:06 +0000
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Mon, 16 Jan 2012 11:21:57 +0100

x86/efi: Delete efi_ioremap() and fix CONFIG_X86_32 oops

This patch reimplements the fix from e8c7106280a3 ("x86, efi:
Calling __pa() with an ioremap()ed address is invalid") which
was reverted in e1ad783b12ec because it caused a regression on
some MacBooks (they hung at boot). The regression was caused
because the commit only marked EFI_RUNTIME_SERVICES_DATA as
E820_RESERVED_EFI, when it should have marked all regions that
have the EFI_MEMORY_RUNTIME attribute.

Calling __pa() with an ioremap'd address is invalid. If we
encounter an efi_memory_desc_t without EFI_MEMORY_WB set in
->attribute we currently call set_memory_uc(), which in turn
calls __pa() on a potentially ioremap'd address. On
CONFIG_X86_32 this results in the following oops,

  BUG: unable to handle kernel paging request at f7f22280
  IP: [<c10257b9>] reserve_ram_pages_type+0x89/0x210
  *pdpt = 0000000001978001 *pde = 0000000001ffb067 *pte = 0000000000000000
  Oops: 0000 [#1] PREEMPT SMP
  Modules linked in:

  Pid: 0, comm: swapper Not tainted 3.0.0-acpi-efi-0805 #3
   EIP: 0060:[<c10257b9>] EFLAGS: 00010202 CPU: 0
   EIP is at reserve_ram_pages_type+0x89/0x210
   EAX: 0070e280 EBX: 38714000 ECX: f7814000 EDX: 00000000
   ESI: 00000000 EDI: 38715000 EBP: c189fef0 ESP: c189fea8
   DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
  Process swapper (pid: 0, ti=c189e000 task=c18bbe60 task.ti=c189e000)
  Stack:
   80000200 ff108000 00000000 c189ff00 00038714 00000000 00000000 c189fed0
   c104f8ca 00038714 00000000 00038715 00000000 00000000 00038715 00000000
   00000010 38715000 c189ff48 c1025aff 38715000 00000000 00000010 00000000
  Call Trace:
   [<c104f8ca>] ? page_is_ram+0x1a/0x40
   [<c1025aff>] reserve_memtype+0xdf/0x2f0
   [<c1024dc9>] set_memory_uc+0x49/0xa0
   [<c19334d0>] efi_enter_virtual_mode+0x1c2/0x3aa
   [<c19216d4>] start_kernel+0x291/0x2f2
   [<c19211c7>] ? loglevel+0x1b/0x1b
   [<c19210bf>] i386_start_kernel+0xbf/0xc8

A better approach to this problem is to map the memory region
with the correct attributes from the start, instead of modifying
them after the fact.

Despite first impressions, it's not possible to use
ioremap_cache() to map all cached memory regions on
CONFIG_X86_64 because of the way that the memory map might be
configured as detailed in the following bug report,

	https://bugzilla.redhat.com/show_bug.cgi?id=748516

Therefore, we need to ensure that any regions requiring a
runtime mapping are covered by the direct kernel mapping table.
Previously, this was taken care of by efi_ioremap() but if we
handle this case earlier, in setup_arch(), we can delete the
CONFIG_X86_32 and CONFIG_X86_64 efi_ioremap() implementations
entirely.

To accomplish this we now mark any regions that need a runtime
mapping as E820_RESERVED_EFI and map them via the direct kernel
mapping in setup_arch().

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Cc: Keith Packard <keithp@keithp.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Huang Ying <huang.ying.caritas@gmail.com>
Cc: Matthew Garrett <mjg@redhat.com>
Link: http://lkml.kernel.org/r/1326708966.3629.31.camel@mfleming-mobl1.ger.corp.intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 arch/x86/include/asm/e820.h    |    7 +++++++
 arch/x86/include/asm/efi.h     |    5 -----
 arch/x86/kernel/e820.c         |    3 ++-
 arch/x86/kernel/setup.c        |   21 ++++++++++++++++++++-
 arch/x86/platform/efi/efi.c    |   37 ++++++++++++++++++++++++-------------
 arch/x86/platform/efi/efi_64.c |   17 -----------------
 6 files changed, 53 insertions(+), 37 deletions(-)

diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index 908b969..bc0a9c0 100644
--- a/arch/x86/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -53,6 +53,12 @@
  */
 #define E820_RESERVED_KERN        128
 
+/*
+ * Address ranges that need to be mapped by the kernel direct mapping
+ * because they require a runtime mapping. See setup_arch().
+ */
+#define E820_RESERVED_EFI         129
+
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
 struct e820entry {
@@ -115,6 +121,7 @@ static inline void early_memtest(unsigned long start, unsigned long end)
 }
 #endif
 
+extern unsigned long e820_end_pfn(unsigned long limit_pfn, unsigned type);
 extern unsigned long e820_end_of_ram_pfn(void);
 extern unsigned long e820_end_of_low_ram_pfn(void);
 extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align);
diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
index 844f735..26d8c18 100644
--- a/arch/x86/include/asm/efi.h
+++ b/arch/x86/include/asm/efi.h
@@ -35,8 +35,6 @@ extern unsigned long asmlinkage efi_call_phys(void *, ...);
 #define efi_call_virt6(f, a1, a2, a3, a4, a5, a6)	\
 	efi_call_virt(f, a1, a2, a3, a4, a5, a6)
 
-#define efi_ioremap(addr, size, type)		ioremap_cache(addr, size)
-
 #else /* !CONFIG_X86_32 */
 
 #define EFI_LOADER_SIGNATURE	"EL64"
@@ -88,9 +86,6 @@ extern u64 efi_call6(void *fp, u64 arg1, u64 arg2, u64 arg3,
 	efi_call6((void *)(efi.systab->runtime->f), (u64)(a1), (u64)(a2), \
 		  (u64)(a3), (u64)(a4), (u64)(a5), (u64)(a6))
 
-extern void __iomem *efi_ioremap(unsigned long addr, unsigned long size,
-				 u32 type);
-
 #endif /* CONFIG_X86_32 */
 
 extern int add_efi_memmap;
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 303a0e4..65ffd11 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -135,6 +135,7 @@ static void __init e820_print_type(u32 type)
 		printk(KERN_CONT "(usable)");
 		break;
 	case E820_RESERVED:
+	case E820_RESERVED_EFI:
 		printk(KERN_CONT "(reserved)");
 		break;
 	case E820_ACPI:
@@ -783,7 +784,7 @@ u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align)
 /*
  * Find the highest page frame number we have available
  */
-static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
+unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type)
 {
 	int i;
 	unsigned long last_pfn = 0;
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 421a5e7..b1c27ba 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -691,6 +691,8 @@ early_param("reservelow", parse_reservelow);
 
 void __init setup_arch(char **cmdline_p)
 {
+	unsigned long end_pfn;
+
 #ifdef CONFIG_X86_32
 	memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
 	visws_early_detect();
@@ -927,7 +929,24 @@ void __init setup_arch(char **cmdline_p)
 	init_gbpages();
 
 	/* max_pfn_mapped is updated here */
-	max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT);
+	end_pfn = max_low_pfn;
+
+#ifdef CONFIG_X86_64
+	/*
+	 * There may be regions after the last E820_RAM region that we
+	 * want to include in the kernel direct mapping because their
+	 * contents are needed at runtime.
+	 */
+	if (efi_enabled) {
+		unsigned long efi_end;
+
+		efi_end = e820_end_pfn(MAXMEM>>PAGE_SHIFT, E820_RESERVED_EFI);
+		if (efi_end > end_pfn)
+			end_pfn = efi_end;
+	}
+#endif
+
+	max_low_pfn_mapped = init_memory_mapping(0, end_pfn << PAGE_SHIFT);
 	max_pfn_mapped = max_low_pfn_mapped;
 
 #ifdef CONFIG_X86_64
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 37718f0..f5c22d4 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -323,13 +323,20 @@ static void __init do_add_efi_memmap(void)
 		case EFI_UNUSABLE_MEMORY:
 			e820_type = E820_UNUSABLE;
 			break;
+		case EFI_MEMORY_MAPPED_IO:
+		case EFI_MEMORY_MAPPED_IO_PORT_SPACE:
+			e820_type = E820_RESERVED;
+			break;
 		default:
 			/*
 			 * EFI_RESERVED_TYPE EFI_RUNTIME_SERVICES_CODE
-			 * EFI_RUNTIME_SERVICES_DATA EFI_MEMORY_MAPPED_IO
-			 * EFI_MEMORY_MAPPED_IO_PORT_SPACE EFI_PAL_CODE
+			 * EFI_RUNTIME_SERVICES_DATA
+			 * EFI_PAL_CODE
 			 */
-			e820_type = E820_RESERVED;
+			if (md->attribute & EFI_MEMORY_RUNTIME)
+				e820_type = E820_RESERVED_EFI;
+			else
+				e820_type = E820_RESERVED;
 			break;
 		}
 		e820_add_region(start, size, e820_type);
@@ -671,10 +678,21 @@ void __init efi_enter_virtual_mode(void)
 		end_pfn = PFN_UP(end);
 		if (end_pfn <= max_low_pfn_mapped
 		    || (end_pfn > (1UL << (32 - PAGE_SHIFT))
-			&& end_pfn <= max_pfn_mapped))
+			&& end_pfn <= max_pfn_mapped)) {
 			va = __va(md->phys_addr);
-		else
-			va = efi_ioremap(md->phys_addr, size, md->type);
+
+			if (!(md->attribute & EFI_MEMORY_WB)) {
+				addr = (u64) (unsigned long)va;
+				npages = md->num_pages;
+				memrange_efi_to_native(&addr, &npages);
+				set_memory_uc(addr, npages);
+			}
+		} else {
+			if (!(md->attribute & EFI_MEMORY_WB))
+				va = ioremap_nocache(md->phys_addr, size);
+			else
+				va = ioremap_cache(md->phys_addr, size);
+		}
 
 		md->virt_addr = (u64) (unsigned long) va;
 
@@ -684,13 +702,6 @@ void __init efi_enter_virtual_mode(void)
 			continue;
 		}
 
-		if (!(md->attribute & EFI_MEMORY_WB)) {
-			addr = md->virt_addr;
-			npages = md->num_pages;
-			memrange_efi_to_native(&addr, &npages);
-			set_memory_uc(addr, npages);
-		}
-
 		systab = (u64) (unsigned long) efi_phys.systab;
 		if (md->phys_addr <= systab && systab < end) {
 			systab += md->virt_addr - md->phys_addr;
diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
index ac3aa54..312250c 100644
--- a/arch/x86/platform/efi/efi_64.c
+++ b/arch/x86/platform/efi/efi_64.c
@@ -80,20 +80,3 @@ void __init efi_call_phys_epilog(void)
 	local_irq_restore(efi_flags);
 	early_code_mapping_set_exec(0);
 }
-
-void __iomem *__init efi_ioremap(unsigned long phys_addr, unsigned long size,
-				 u32 type)
-{
-	unsigned long last_map_pfn;
-
-	if (type == EFI_MEMORY_MAPPED_IO)
-		return ioremap(phys_addr, size);
-
-	last_map_pfn = init_memory_mapping(phys_addr, phys_addr + size);
-	if ((last_map_pfn << PAGE_SHIFT) < phys_addr + size) {
-		unsigned long top = last_map_pfn << PAGE_SHIFT;
-		efi_ioremap(top, size - (top - phys_addr), type);
-	}
-
-	return (void __iomem *)__va(phys_addr);
-}

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2012-01-16 10:16                       ` Matt Fleming
  2012-01-16 14:54                         ` [tip:x86/efi] x86/efi: Delete efi_ioremap() and fix CONFIG_X86_32 oops tip-bot for Matt Fleming
@ 2012-02-08 12:46                         ` Matt Fleming
  2012-02-08 17:15                           ` Keith Packard
  1 sibling, 1 reply; 29+ messages in thread
From: Matt Fleming @ 2012-02-08 12:46 UTC (permalink / raw)
  To: Keith Packard
  Cc: H. Peter Anvin, Linus Torvalds, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

On Mon, 2012-01-16 at 10:16 +0000, Matt Fleming wrote:
> On Mon, 2012-01-16 at 10:55 +0100, Ingo Molnar wrote:
> > Does your new patch apply cleanly on top of the revert? If not 
> > then please send an updated one, so that we can investigate its 
> > effects.
> 
> Good point, it doesn't apply cleanly. Here's an updated version rebased
> against Linus' tree.

Ping? Keith, have you had chance to test this patch yet?

-- 
Matt Fleming, Intel Open Source Technology Center


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2012-02-08 12:46                         ` [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid" Matt Fleming
@ 2012-02-08 17:15                           ` Keith Packard
  2012-02-15 12:13                             ` Matt Fleming
  0 siblings, 1 reply; 29+ messages in thread
From: Keith Packard @ 2012-02-08 17:15 UTC (permalink / raw)
  To: Matt Fleming
  Cc: H. Peter Anvin, Linus Torvalds, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Ingo Molnar

<#part sign=pgpmime>
On Wed, 08 Feb 2012 12:46:49 +0000, Matt Fleming <matt@console-pimps.org> wrote:

> Ping? Keith, have you had chance to test this patch yet?

No, I haven't had a chance to try the patch, and I'm leaving on vacation
tomorrow until March 1...

-- 
keith.packard@intel.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2012-02-08 17:15                           ` Keith Packard
@ 2012-02-15 12:13                             ` Matt Fleming
  2012-02-17 11:21                               ` Ingo Molnar
  0 siblings, 1 reply; 29+ messages in thread
From: Matt Fleming @ 2012-02-15 12:13 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: H. Peter Anvin, Linus Torvalds, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Keith Packard

On Wed, 2012-02-08 at 09:15 -0800, Keith Packard wrote:
> <#part sign=pgpmime>
> On Wed, 08 Feb 2012 12:46:49 +0000, Matt Fleming <matt@console-pimps.org> wrote:
> 
> > Ping? Keith, have you had chance to test this patch yet?
> 
> No, I haven't had a chance to try the patch, and I'm leaving on vacation
> tomorrow until March 1...

Hmm... I haven't been able to find anybody else willing to test this
patch either.

Ingo, got any opinions on how to handle this?

-- 
Matt Fleming, Intel Open Source Technology Center


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
  2012-02-15 12:13                             ` Matt Fleming
@ 2012-02-17 11:21                               ` Ingo Molnar
  0 siblings, 0 replies; 29+ messages in thread
From: Ingo Molnar @ 2012-02-17 11:21 UTC (permalink / raw)
  To: Matt Fleming
  Cc: H. Peter Anvin, Linus Torvalds, linux-kernel, Matthew Garrett,
	Zhang Rui, Huang Ying, Andrew Morton, Keith Packard


* Matt Fleming <matt@console-pimps.org> wrote:

> On Wed, 2012-02-08 at 09:15 -0800, Keith Packard wrote:
> > <#part sign=pgpmime>
> > On Wed, 08 Feb 2012 12:46:49 +0000, Matt Fleming <matt@console-pimps.org> wrote:
> > 
> > > Ping? Keith, have you had chance to test this patch yet?
> > 
> > No, I haven't had a chance to try the patch, and I'm leaving 
> > on vacation tomorrow until March 1...
> 
> Hmm... I haven't been able to find anybody else willing to 
> test this patch either.
> 
> Ingo, got any opinions on how to handle this?

Please send the latest and I'll apply it. If we don't get 
voluntary testers then involuntary ones will have to do :-/

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2012-02-17 11:21 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-12  0:12 [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid" Keith Packard
2011-12-12  2:59 ` Linus Torvalds
2011-12-12  3:01   ` H. Peter Anvin
2011-12-12  3:11     ` Ingo Molnar
2011-12-12  3:31   ` Keith Packard
2011-12-12  3:32     ` H. Peter Anvin
2011-12-12  3:43       ` Keith Packard
2011-12-12 10:01         ` Matt Fleming
2011-12-12 16:35           ` Keith Packard
2011-12-12 16:50             ` Linus Torvalds
2011-12-12 17:09               ` H. Peter Anvin
2011-12-12 17:21               ` Keith Packard
2011-12-12 17:29                 ` H. Peter Anvin
2011-12-12 17:37                   ` Linus Torvalds
2011-12-15 15:29             ` Matt Fleming
2012-01-16  9:22               ` Matt Fleming
2012-01-16  9:31                 ` Ingo Molnar
2012-01-16  9:49                   ` Matt Fleming
2012-01-16  9:55                     ` Ingo Molnar
2012-01-16 10:16                       ` Matt Fleming
2012-01-16 14:54                         ` [tip:x86/efi] x86/efi: Delete efi_ioremap() and fix CONFIG_X86_32 oops tip-bot for Matt Fleming
2012-02-08 12:46                         ` [PATCH] Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid" Matt Fleming
2012-02-08 17:15                           ` Keith Packard
2012-02-15 12:13                             ` Matt Fleming
2012-02-17 11:21                               ` Ingo Molnar
2011-12-12 10:01   ` Matt Fleming
2011-12-12 17:09     ` H. Peter Anvin
2011-12-12 17:26       ` Ingo Molnar
2011-12-12  3:06 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).