diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-10 18:30:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-10 18:30:41 -0400 |
commit | 82782ca77d1bfb32b0334cce40a25b91bd8ec016 (patch) | |
tree | d8c73212af80ed9aa314612e2b8b9e6cf74c47f7 /arch | |
parent | f0d5e12bd42b7173ebbbf59279c867605f859814 (diff) | |
parent | 6799687a53a28536fd027ccb644833f66a778925 (diff) |
Merge branch 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (46 commits)
x86, boot: add new generated files to the appropriate .gitignore files
x86, boot: correct the calculation of ZO_INIT_SIZE
x86-64: align __PHYSICAL_START, remove __KERNEL_ALIGN
x86, boot: correct sanity checks in boot/compressed/misc.c
x86: add extension fields for bootloader type and version
x86, defconfig: update kernel position parameters
x86, defconfig: update to current, no material changes
x86: make CONFIG_RELOCATABLE the default
x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB
x86: document new bzImage fields
x86, boot: make kernel_alignment adjustable; new bzImage fields
x86, boot: remove dead code from boot/compressed/head_*.S
x86, boot: use LOAD_PHYSICAL_ADDR on 64 bits
x86, boot: make symbols from the main vmlinux available
x86, boot: determine compressed code offset at compile time
x86, boot: use appropriate rep string for move and clear
x86, boot: zero EFLAGS on 32 bits
x86, boot: set up the decompression stack as early as possible
x86, boot: straighten out ranges to copy/zero in compressed/head*.S
x86, boot: stylistic cleanups for boot/compressed/head_64.S
...
Fixed trivial conflict in arch/x86/configs/x86_64_defconfig manually
Diffstat (limited to 'arch')
28 files changed, 1092 insertions, 956 deletions
diff --git a/arch/x86/Kbuild b/arch/x86/Kbuild new file mode 100644 index 000000000000..ad8ec356fb36 --- /dev/null +++ b/arch/x86/Kbuild | |||
@@ -0,0 +1,16 @@ | |||
1 | |||
2 | obj-$(CONFIG_KVM) += kvm/ | ||
3 | |||
4 | # Xen paravirtualization support | ||
5 | obj-$(CONFIG_XEN) += xen/ | ||
6 | |||
7 | # lguest paravirtualization support | ||
8 | obj-$(CONFIG_LGUEST_GUEST) += lguest/ | ||
9 | |||
10 | obj-y += kernel/ | ||
11 | obj-y += mm/ | ||
12 | |||
13 | obj-y += crypto/ | ||
14 | obj-y += vdso/ | ||
15 | obj-$(CONFIG_IA32_EMULATION) += ia32/ | ||
16 | |||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index b1d3f60525c0..aafae3b140de 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -47,6 +47,11 @@ config X86 | |||
47 | select HAVE_KERNEL_BZIP2 | 47 | select HAVE_KERNEL_BZIP2 |
48 | select HAVE_KERNEL_LZMA | 48 | select HAVE_KERNEL_LZMA |
49 | 49 | ||
50 | config OUTPUT_FORMAT | ||
51 | string | ||
52 | default "elf32-i386" if X86_32 | ||
53 | default "elf64-x86-64" if X86_64 | ||
54 | |||
50 | config ARCH_DEFCONFIG | 55 | config ARCH_DEFCONFIG |
51 | string | 56 | string |
52 | default "arch/x86/configs/i386_defconfig" if X86_32 | 57 | default "arch/x86/configs/i386_defconfig" if X86_32 |
@@ -1460,9 +1465,7 @@ config KEXEC_JUMP | |||
1460 | 1465 | ||
1461 | config PHYSICAL_START | 1466 | config PHYSICAL_START |
1462 | hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) | 1467 | hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) |
1463 | default "0x1000000" if X86_NUMAQ | 1468 | default "0x1000000" |
1464 | default "0x200000" if X86_64 | ||
1465 | default "0x100000" | ||
1466 | ---help--- | 1469 | ---help--- |
1467 | This gives the physical address where the kernel is loaded. | 1470 | This gives the physical address where the kernel is loaded. |
1468 | 1471 | ||
@@ -1481,15 +1484,15 @@ config PHYSICAL_START | |||
1481 | to be specifically compiled to run from a specific memory area | 1484 | to be specifically compiled to run from a specific memory area |
1482 | (normally a reserved region) and this option comes handy. | 1485 | (normally a reserved region) and this option comes handy. |
1483 | 1486 | ||
1484 | So if you are using bzImage for capturing the crash dump, leave | 1487 | So if you are using bzImage for capturing the crash dump, |
1485 | the value here unchanged to 0x100000 and set CONFIG_RELOCATABLE=y. | 1488 | leave the value here unchanged to 0x1000000 and set |
1486 | Otherwise if you plan to use vmlinux for capturing the crash dump | 1489 | CONFIG_RELOCATABLE=y. Otherwise if you plan to use vmlinux |
1487 | change this value to start of the reserved region (Typically 16MB | 1490 | for capturing the crash dump change this value to start of |
1488 | 0x1000000). In other words, it can be set based on the "X" value as | 1491 | the reserved region. In other words, it can be set based on |
1489 | specified in the "crashkernel=YM@XM" command line boot parameter | 1492 | the "X" value as specified in the "crashkernel=YM@XM" |
1490 | passed to the panic-ed kernel. Typically this parameter is set as | 1493 | command line boot parameter passed to the panic-ed |
1491 | crashkernel=64M@16M. Please take a look at | 1494 | kernel. Please take a look at Documentation/kdump/kdump.txt |
1492 | Documentation/kdump/kdump.txt for more details about crash dumps. | 1495 | for more details about crash dumps. |
1493 | 1496 | ||
1494 | Usage of bzImage for capturing the crash dump is recommended as | 1497 | Usage of bzImage for capturing the crash dump is recommended as |
1495 | one does not have to build two kernels. Same kernel can be used | 1498 | one does not have to build two kernels. Same kernel can be used |
@@ -1502,8 +1505,8 @@ config PHYSICAL_START | |||
1502 | Don't change this unless you know what you are doing. | 1505 | Don't change this unless you know what you are doing. |
1503 | 1506 | ||
1504 | config RELOCATABLE | 1507 | config RELOCATABLE |
1505 | bool "Build a relocatable kernel (EXPERIMENTAL)" | 1508 | bool "Build a relocatable kernel" |
1506 | depends on EXPERIMENTAL | 1509 | default y |
1507 | ---help--- | 1510 | ---help--- |
1508 | This builds a kernel image that retains relocation information | 1511 | This builds a kernel image that retains relocation information |
1509 | so it can be loaded someplace besides the default 1MB. | 1512 | so it can be loaded someplace besides the default 1MB. |
@@ -1518,12 +1521,16 @@ config RELOCATABLE | |||
1518 | it has been loaded at and the compile time physical address | 1521 | it has been loaded at and the compile time physical address |
1519 | (CONFIG_PHYSICAL_START) is ignored. | 1522 | (CONFIG_PHYSICAL_START) is ignored. |
1520 | 1523 | ||
1524 | # Relocation on x86-32 needs some additional build support | ||
1525 | config X86_NEED_RELOCS | ||
1526 | def_bool y | ||
1527 | depends on X86_32 && RELOCATABLE | ||
1528 | |||
1521 | config PHYSICAL_ALIGN | 1529 | config PHYSICAL_ALIGN |
1522 | hex | 1530 | hex |
1523 | prompt "Alignment value to which kernel should be aligned" if X86_32 | 1531 | prompt "Alignment value to which kernel should be aligned" if X86_32 |
1524 | default "0x100000" if X86_32 | 1532 | default "0x1000000" |
1525 | default "0x200000" if X86_64 | 1533 | range 0x2000 0x1000000 |
1526 | range 0x2000 0x400000 | ||
1527 | ---help--- | 1534 | ---help--- |
1528 | This value puts the alignment restrictions on physical address | 1535 | This value puts the alignment restrictions on physical address |
1529 | where kernel is loaded and run from. Kernel is compiled for an | 1536 | where kernel is loaded and run from. Kernel is compiled for an |
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index 8c86b72afdc2..edbd0ca62067 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile | |||
@@ -7,8 +7,6 @@ else | |||
7 | KBUILD_DEFCONFIG := $(ARCH)_defconfig | 7 | KBUILD_DEFCONFIG := $(ARCH)_defconfig |
8 | endif | 8 | endif |
9 | 9 | ||
10 | core-$(CONFIG_KVM) += arch/x86/kvm/ | ||
11 | |||
12 | # BITS is used as extension for files which are available in a 32 bit | 10 | # BITS is used as extension for files which are available in a 32 bit |
13 | # and a 64 bit version to simplify shared Makefiles. | 11 | # and a 64 bit version to simplify shared Makefiles. |
14 | # e.g.: obj-y += foo_$(BITS).o | 12 | # e.g.: obj-y += foo_$(BITS).o |
@@ -118,21 +116,8 @@ head-y += arch/x86/kernel/init_task.o | |||
118 | 116 | ||
119 | libs-y += arch/x86/lib/ | 117 | libs-y += arch/x86/lib/ |
120 | 118 | ||
121 | # Sub architecture files that needs linking first | 119 | # See arch/x86/Kbuild for content of core part of the kernel |
122 | core-y += $(fcore-y) | 120 | core-y += arch/x86/ |
123 | |||
124 | # Xen paravirtualization support | ||
125 | core-$(CONFIG_XEN) += arch/x86/xen/ | ||
126 | |||
127 | # lguest paravirtualization support | ||
128 | core-$(CONFIG_LGUEST_GUEST) += arch/x86/lguest/ | ||
129 | |||
130 | core-y += arch/x86/kernel/ | ||
131 | core-y += arch/x86/mm/ | ||
132 | |||
133 | core-y += arch/x86/crypto/ | ||
134 | core-y += arch/x86/vdso/ | ||
135 | core-$(CONFIG_IA32_EMULATION) += arch/x86/ia32/ | ||
136 | 121 | ||
137 | # drivers-y are linked after core-y | 122 | # drivers-y are linked after core-y |
138 | drivers-$(CONFIG_MATH_EMULATION) += arch/x86/math-emu/ | 123 | drivers-$(CONFIG_MATH_EMULATION) += arch/x86/math-emu/ |
diff --git a/arch/x86/boot/.gitignore b/arch/x86/boot/.gitignore index 172cf8a98bdd..851fe936d242 100644 --- a/arch/x86/boot/.gitignore +++ b/arch/x86/boot/.gitignore | |||
@@ -3,6 +3,8 @@ bzImage | |||
3 | cpustr.h | 3 | cpustr.h |
4 | mkcpustr | 4 | mkcpustr |
5 | offsets.h | 5 | offsets.h |
6 | voffset.h | ||
7 | zoffset.h | ||
6 | setup | 8 | setup |
7 | setup.bin | 9 | setup.bin |
8 | setup.elf | 10 | setup.elf |
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile index 6633b6e7505a..619d297aa2ba 100644 --- a/arch/x86/boot/Makefile +++ b/arch/x86/boot/Makefile | |||
@@ -86,19 +86,27 @@ $(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE | |||
86 | 86 | ||
87 | SETUP_OBJS = $(addprefix $(obj)/,$(setup-y)) | 87 | SETUP_OBJS = $(addprefix $(obj)/,$(setup-y)) |
88 | 88 | ||
89 | sed-offsets := -e 's/^00*/0/' \ | 89 | sed-voffset := -e 's/^\([0-9a-fA-F]*\) . \(_text\|_end\)$$/\#define VO_\2 0x\1/p' |
90 | -e 's/^\([0-9a-fA-F]*\) . \(input_data\|input_data_end\)$$/\#define \2 0x\1/p' | ||
91 | 90 | ||
92 | quiet_cmd_offsets = OFFSETS $@ | 91 | quiet_cmd_voffset = VOFFSET $@ |
93 | cmd_offsets = $(NM) $< | sed -n $(sed-offsets) > $@ | 92 | cmd_voffset = $(NM) $< | sed -n $(sed-voffset) > $@ |
94 | 93 | ||
95 | $(obj)/offsets.h: $(obj)/compressed/vmlinux FORCE | 94 | targets += voffset.h |
96 | $(call if_changed,offsets) | 95 | $(obj)/voffset.h: vmlinux FORCE |
96 | $(call if_changed,voffset) | ||
97 | |||
98 | sed-zoffset := -e 's/^\([0-9a-fA-F]*\) . \(startup_32\|input_data\|_end\|z_.*\)$$/\#define ZO_\2 0x\1/p' | ||
99 | |||
100 | quiet_cmd_zoffset = ZOFFSET $@ | ||
101 | cmd_zoffset = $(NM) $< | sed -n $(sed-zoffset) > $@ | ||
102 | |||
103 | targets += zoffset.h | ||
104 | $(obj)/zoffset.h: $(obj)/compressed/vmlinux FORCE | ||
105 | $(call if_changed,zoffset) | ||
97 | 106 | ||
98 | targets += offsets.h | ||
99 | 107 | ||
100 | AFLAGS_header.o += -I$(obj) | 108 | AFLAGS_header.o += -I$(obj) |
101 | $(obj)/header.o: $(obj)/offsets.h | 109 | $(obj)/header.o: $(obj)/voffset.h $(obj)/zoffset.h |
102 | 110 | ||
103 | LDFLAGS_setup.elf := -T | 111 | LDFLAGS_setup.elf := -T |
104 | $(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE | 112 | $(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE |
diff --git a/arch/x86/boot/compressed/.gitignore b/arch/x86/boot/compressed/.gitignore index 63eff3b04d01..4a46fab7162e 100644 --- a/arch/x86/boot/compressed/.gitignore +++ b/arch/x86/boot/compressed/.gitignore | |||
@@ -1,3 +1,6 @@ | |||
1 | relocs | 1 | relocs |
2 | vmlinux.bin.all | 2 | vmlinux.bin.all |
3 | vmlinux.relocs | 3 | vmlinux.relocs |
4 | vmlinux.lds | ||
5 | mkpiggy | ||
6 | piggy.S | ||
diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile index 65551c9f8571..49c8a4c37d7c 100644 --- a/arch/x86/boot/compressed/Makefile +++ b/arch/x86/boot/compressed/Makefile | |||
@@ -19,7 +19,9 @@ KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ | |||
19 | LDFLAGS := -m elf_$(UTS_MACHINE) | 19 | LDFLAGS := -m elf_$(UTS_MACHINE) |
20 | LDFLAGS_vmlinux := -T | 20 | LDFLAGS_vmlinux := -T |
21 | 21 | ||
22 | $(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/piggy.o FORCE | 22 | hostprogs-y := mkpiggy |
23 | |||
24 | $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/piggy.o FORCE | ||
23 | $(call if_changed,ld) | 25 | $(call if_changed,ld) |
24 | @: | 26 | @: |
25 | 27 | ||
@@ -29,7 +31,7 @@ $(obj)/vmlinux.bin: vmlinux FORCE | |||
29 | 31 | ||
30 | 32 | ||
31 | targets += vmlinux.bin.all vmlinux.relocs relocs | 33 | targets += vmlinux.bin.all vmlinux.relocs relocs |
32 | hostprogs-$(CONFIG_X86_32) += relocs | 34 | hostprogs-$(CONFIG_X86_NEED_RELOCS) += relocs |
33 | 35 | ||
34 | quiet_cmd_relocs = RELOCS $@ | 36 | quiet_cmd_relocs = RELOCS $@ |
35 | cmd_relocs = $(obj)/relocs $< > $@;$(obj)/relocs --abs-relocs $< | 37 | cmd_relocs = $(obj)/relocs $< > $@;$(obj)/relocs --abs-relocs $< |
@@ -37,46 +39,22 @@ $(obj)/vmlinux.relocs: vmlinux $(obj)/relocs FORCE | |||
37 | $(call if_changed,relocs) | 39 | $(call if_changed,relocs) |
38 | 40 | ||
39 | vmlinux.bin.all-y := $(obj)/vmlinux.bin | 41 | vmlinux.bin.all-y := $(obj)/vmlinux.bin |
40 | vmlinux.bin.all-$(CONFIG_RELOCATABLE) += $(obj)/vmlinux.relocs | 42 | vmlinux.bin.all-$(CONFIG_X86_NEED_RELOCS) += $(obj)/vmlinux.relocs |
41 | quiet_cmd_relocbin = BUILD $@ | ||
42 | cmd_relocbin = cat $(filter-out FORCE,$^) > $@ | ||
43 | $(obj)/vmlinux.bin.all: $(vmlinux.bin.all-y) FORCE | ||
44 | $(call if_changed,relocbin) | ||
45 | |||
46 | ifeq ($(CONFIG_X86_32),y) | ||
47 | 43 | ||
48 | ifdef CONFIG_RELOCATABLE | 44 | $(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y) FORCE |
49 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin.all FORCE | ||
50 | $(call if_changed,gzip) | ||
51 | $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin.all FORCE | ||
52 | $(call if_changed,bzip2) | ||
53 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE | ||
54 | $(call if_changed,lzma) | ||
55 | else | ||
56 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE | ||
57 | $(call if_changed,gzip) | 45 | $(call if_changed,gzip) |
58 | $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE | 46 | $(obj)/vmlinux.bin.bz2: $(vmlinux.bin.all-y) FORCE |
59 | $(call if_changed,bzip2) | 47 | $(call if_changed,bzip2) |
60 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE | 48 | $(obj)/vmlinux.bin.lzma: $(vmlinux.bin.all-y) FORCE |
61 | $(call if_changed,lzma) | 49 | $(call if_changed,lzma) |
62 | endif | ||
63 | LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T | ||
64 | 50 | ||
65 | else | 51 | suffix-$(CONFIG_KERNEL_GZIP) := gz |
52 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 | ||
53 | suffix-$(CONFIG_KERNEL_LZMA) := lzma | ||
66 | 54 | ||
67 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE | 55 | quiet_cmd_mkpiggy = MKPIGGY $@ |
68 | $(call if_changed,gzip) | 56 | cmd_mkpiggy = $(obj)/mkpiggy $< > $@ || ( rm -f $@ ; false ) |
69 | $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE | ||
70 | $(call if_changed,bzip2) | ||
71 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE | ||
72 | $(call if_changed,lzma) | ||
73 | |||
74 | LDFLAGS_piggy.o := -r --format binary --oformat elf64-x86-64 -T | ||
75 | endif | ||
76 | 57 | ||
77 | suffix_$(CONFIG_KERNEL_GZIP) = gz | 58 | targets += piggy.S |
78 | suffix_$(CONFIG_KERNEL_BZIP2) = bz2 | 59 | $(obj)/piggy.S: $(obj)/vmlinux.bin.$(suffix-y) $(obj)/mkpiggy FORCE |
79 | suffix_$(CONFIG_KERNEL_LZMA) = lzma | 60 | $(call if_changed,mkpiggy) |
80 | |||
81 | $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE | ||
82 | $(call if_changed,ld) | ||
diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S index 3a8a866fb2e2..75e4f001e706 100644 --- a/arch/x86/boot/compressed/head_32.S +++ b/arch/x86/boot/compressed/head_32.S | |||
@@ -12,16 +12,16 @@ | |||
12 | * the page directory. [According to comments etc elsewhere on a compressed | 12 | * the page directory. [According to comments etc elsewhere on a compressed |
13 | * kernel it will end up at 0x1000 + 1Mb I hope so as I assume this. - AC] | 13 | * kernel it will end up at 0x1000 + 1Mb I hope so as I assume this. - AC] |
14 | * | 14 | * |
15 | * Page 0 is deliberately kept safe, since System Management Mode code in | 15 | * Page 0 is deliberately kept safe, since System Management Mode code in |
16 | * laptops may need to access the BIOS data stored there. This is also | 16 | * laptops may need to access the BIOS data stored there. This is also |
17 | * useful for future device drivers that either access the BIOS via VM86 | 17 | * useful for future device drivers that either access the BIOS via VM86 |
18 | * mode. | 18 | * mode. |
19 | */ | 19 | */ |
20 | 20 | ||
21 | /* | 21 | /* |
22 | * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996 | 22 | * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996 |
23 | */ | 23 | */ |
24 | .text | 24 | .text |
25 | 25 | ||
26 | #include <linux/linkage.h> | 26 | #include <linux/linkage.h> |
27 | #include <asm/segment.h> | 27 | #include <asm/segment.h> |
@@ -29,161 +29,151 @@ | |||
29 | #include <asm/boot.h> | 29 | #include <asm/boot.h> |
30 | #include <asm/asm-offsets.h> | 30 | #include <asm/asm-offsets.h> |
31 | 31 | ||
32 | .section ".text.head","ax",@progbits | 32 | .section ".text.head","ax",@progbits |
33 | ENTRY(startup_32) | 33 | ENTRY(startup_32) |
34 | cld | 34 | cld |
35 | /* test KEEP_SEGMENTS flag to see if the bootloader is asking | 35 | /* |
36 | * us to not reload segments */ | 36 | * Test KEEP_SEGMENTS flag to see if the bootloader is asking |
37 | testb $(1<<6), BP_loadflags(%esi) | 37 | * us to not reload segments |
38 | jnz 1f | 38 | */ |
39 | testb $(1<<6), BP_loadflags(%esi) | ||
40 | jnz 1f | ||
39 | 41 | ||
40 | cli | 42 | cli |
41 | movl $(__BOOT_DS),%eax | 43 | movl $__BOOT_DS, %eax |
42 | movl %eax,%ds | 44 | movl %eax, %ds |
43 | movl %eax,%es | 45 | movl %eax, %es |
44 | movl %eax,%fs | 46 | movl %eax, %fs |
45 | movl %eax,%gs | 47 | movl %eax, %gs |
46 | movl %eax,%ss | 48 | movl %eax, %ss |
47 | 1: | 49 | 1: |
48 | 50 | ||
49 | /* Calculate the delta between where we were compiled to run | 51 | /* |
52 | * Calculate the delta between where we were compiled to run | ||
50 | * at and where we were actually loaded at. This can only be done | 53 | * at and where we were actually loaded at. This can only be done |
51 | * with a short local call on x86. Nothing else will tell us what | 54 | * with a short local call on x86. Nothing else will tell us what |
52 | * address we are running at. The reserved chunk of the real-mode | 55 | * address we are running at. The reserved chunk of the real-mode |
53 | * data at 0x1e4 (defined as a scratch field) are used as the stack | 56 | * data at 0x1e4 (defined as a scratch field) are used as the stack |
54 | * for this calculation. Only 4 bytes are needed. | 57 | * for this calculation. Only 4 bytes are needed. |
55 | */ | 58 | */ |
56 | leal (0x1e4+4)(%esi), %esp | 59 | leal (BP_scratch+4)(%esi), %esp |
57 | call 1f | 60 | call 1f |
58 | 1: popl %ebp | 61 | 1: popl %ebp |
59 | subl $1b, %ebp | 62 | subl $1b, %ebp |
60 | 63 | ||
61 | /* %ebp contains the address we are loaded at by the boot loader and %ebx | 64 | /* |
65 | * %ebp contains the address we are loaded at by the boot loader and %ebx | ||
62 | * contains the address where we should move the kernel image temporarily | 66 | * contains the address where we should move the kernel image temporarily |
63 | * for safe in-place decompression. | 67 | * for safe in-place decompression. |
64 | */ | 68 | */ |
65 | 69 | ||
66 | #ifdef CONFIG_RELOCATABLE | 70 | #ifdef CONFIG_RELOCATABLE |
67 | movl %ebp, %ebx | 71 | movl %ebp, %ebx |
68 | addl $(CONFIG_PHYSICAL_ALIGN - 1), %ebx | 72 | movl BP_kernel_alignment(%esi), %eax |
69 | andl $(~(CONFIG_PHYSICAL_ALIGN - 1)), %ebx | 73 | decl %eax |
74 | addl %eax, %ebx | ||
75 | notl %eax | ||
76 | andl %eax, %ebx | ||
70 | #else | 77 | #else |
71 | movl $LOAD_PHYSICAL_ADDR, %ebx | 78 | movl $LOAD_PHYSICAL_ADDR, %ebx |
72 | #endif | 79 | #endif |
73 | 80 | ||
74 | /* Replace the compressed data size with the uncompressed size */ | 81 | /* Target address to relocate to for decompression */ |
75 | subl input_len(%ebp), %ebx | 82 | addl $z_extract_offset, %ebx |
76 | movl output_len(%ebp), %eax | 83 | |
77 | addl %eax, %ebx | 84 | /* Set up the stack */ |
78 | /* Add 8 bytes for every 32K input block */ | 85 | leal boot_stack_end(%ebx), %esp |
79 | shrl $12, %eax | 86 | |
80 | addl %eax, %ebx | 87 | /* Zero EFLAGS */ |
81 | /* Add 32K + 18 bytes of extra slack */ | 88 | pushl $0 |
82 | addl $(32768 + 18), %ebx | 89 | popfl |
83 | /* Align on a 4K boundary */ | 90 | |
84 | addl $4095, %ebx | 91 | /* |
85 | andl $~4095, %ebx | 92 | * Copy the compressed kernel to the end of our buffer |
86 | |||
87 | /* Copy the compressed kernel to the end of our buffer | ||
88 | * where decompression in place becomes safe. | 93 | * where decompression in place becomes safe. |
89 | */ | 94 | */ |
90 | pushl %esi | 95 | pushl %esi |
91 | leal _end(%ebp), %esi | 96 | leal (_bss-4)(%ebp), %esi |
92 | leal _end(%ebx), %edi | 97 | leal (_bss-4)(%ebx), %edi |
93 | movl $(_end - startup_32), %ecx | 98 | movl $(_bss - startup_32), %ecx |
99 | shrl $2, %ecx | ||
94 | std | 100 | std |
95 | rep | 101 | rep movsl |
96 | movsb | ||
97 | cld | 102 | cld |
98 | popl %esi | 103 | popl %esi |
99 | |||
100 | /* Compute the kernel start address. | ||
101 | */ | ||
102 | #ifdef CONFIG_RELOCATABLE | ||
103 | addl $(CONFIG_PHYSICAL_ALIGN - 1), %ebp | ||
104 | andl $(~(CONFIG_PHYSICAL_ALIGN - 1)), %ebp | ||
105 | #else | ||
106 | movl $LOAD_PHYSICAL_ADDR, %ebp | ||
107 | #endif | ||
108 | 104 | ||
109 | /* | 105 | /* |
110 | * Jump to the relocated address. | 106 | * Jump to the relocated address. |
111 | */ | 107 | */ |
112 | leal relocated(%ebx), %eax | 108 | leal relocated(%ebx), %eax |
113 | jmp *%eax | 109 | jmp *%eax |
114 | ENDPROC(startup_32) | 110 | ENDPROC(startup_32) |
115 | 111 | ||
116 | .section ".text" | 112 | .text |
117 | relocated: | 113 | relocated: |
118 | 114 | ||
119 | /* | 115 | /* |
120 | * Clear BSS | 116 | * Clear BSS (stack is currently empty) |
121 | */ | ||
122 | xorl %eax,%eax | ||
123 | leal _edata(%ebx),%edi | ||
124 | leal _end(%ebx), %ecx | ||
125 | subl %edi,%ecx | ||
126 | cld | ||
127 | rep | ||
128 | stosb | ||
129 | |||
130 | /* | ||
131 | * Setup the stack for the decompressor | ||
132 | */ | 117 | */ |
133 | leal boot_stack_end(%ebx), %esp | 118 | xorl %eax, %eax |
119 | leal _bss(%ebx), %edi | ||
120 | leal _ebss(%ebx), %ecx | ||
121 | subl %edi, %ecx | ||
122 | shrl $2, %ecx | ||
123 | rep stosl | ||
134 | 124 | ||
135 | /* | 125 | /* |
136 | * Do the decompression, and jump to the new kernel.. | 126 | * Do the decompression, and jump to the new kernel.. |
137 | */ | 127 | */ |
138 | movl output_len(%ebx), %eax | 128 | leal z_extract_offset_negative(%ebx), %ebp |
139 | pushl %eax | 129 | /* push arguments for decompress_kernel: */ |
140 | # push arguments for decompress_kernel: | 130 | pushl %ebp /* output address */ |
141 | pushl %ebp # output address | 131 | pushl $z_input_len /* input_len */ |
142 | movl input_len(%ebx), %eax | 132 | leal input_data(%ebx), %eax |
143 | pushl %eax # input_len | 133 | pushl %eax /* input_data */ |
144 | leal input_data(%ebx), %eax | 134 | leal boot_heap(%ebx), %eax |
145 | pushl %eax # input_data | 135 | pushl %eax /* heap area */ |
146 | leal boot_heap(%ebx), %eax | 136 | pushl %esi /* real mode pointer */ |
147 | pushl %eax # heap area | 137 | call decompress_kernel |
148 | pushl %esi # real mode pointer | 138 | addl $20, %esp |
149 | call decompress_kernel | ||
150 | addl $20, %esp | ||
151 | popl %ecx | ||
152 | 139 | ||
153 | #if CONFIG_RELOCATABLE | 140 | #if CONFIG_RELOCATABLE |
154 | /* Find the address of the relocations. | 141 | /* |
142 | * Find the address of the relocations. | ||
155 | */ | 143 | */ |
156 | movl %ebp, %edi | 144 | leal z_output_len(%ebp), %edi |
157 | addl %ecx, %edi | ||
158 | 145 | ||
159 | /* Calculate the delta between where vmlinux was compiled to run | 146 | /* |
147 | * Calculate the delta between where vmlinux was compiled to run | ||
160 | * and where it was actually loaded. | 148 | * and where it was actually loaded. |
161 | */ | 149 | */ |
162 | movl %ebp, %ebx | 150 | movl %ebp, %ebx |
163 | subl $LOAD_PHYSICAL_ADDR, %ebx | 151 | subl $LOAD_PHYSICAL_ADDR, %ebx |
164 | jz 2f /* Nothing to be done if loaded at compiled addr. */ | 152 | jz 2f /* Nothing to be done if loaded at compiled addr. */ |
165 | /* | 153 | /* |
166 | * Process relocations. | 154 | * Process relocations. |
167 | */ | 155 | */ |
168 | 156 | ||
169 | 1: subl $4, %edi | 157 | 1: subl $4, %edi |
170 | movl 0(%edi), %ecx | 158 | movl (%edi), %ecx |
171 | testl %ecx, %ecx | 159 | testl %ecx, %ecx |
172 | jz 2f | 160 | jz 2f |
173 | addl %ebx, -__PAGE_OFFSET(%ebx, %ecx) | 161 | addl %ebx, -__PAGE_OFFSET(%ebx, %ecx) |
174 | jmp 1b | 162 | jmp 1b |
175 | 2: | 163 | 2: |
176 | #endif | 164 | #endif |
177 | 165 | ||
178 | /* | 166 | /* |
179 | * Jump to the decompressed kernel. | 167 | * Jump to the decompressed kernel. |
180 | */ | 168 | */ |
181 | xorl %ebx,%ebx | 169 | xorl %ebx, %ebx |
182 | jmp *%ebp | 170 | jmp *%ebp |
183 | 171 | ||
184 | .bss | 172 | /* |
185 | /* Stack and heap for uncompression */ | 173 | * Stack and heap for uncompression |
186 | .balign 4 | 174 | */ |
175 | .bss | ||
176 | .balign 4 | ||
187 | boot_heap: | 177 | boot_heap: |
188 | .fill BOOT_HEAP_SIZE, 1, 0 | 178 | .fill BOOT_HEAP_SIZE, 1, 0 |
189 | boot_stack: | 179 | boot_stack: |
diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S index ed4a82948002..f62c284db9eb 100644 --- a/arch/x86/boot/compressed/head_64.S +++ b/arch/x86/boot/compressed/head_64.S | |||
@@ -21,8 +21,8 @@ | |||
21 | /* | 21 | /* |
22 | * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996 | 22 | * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996 |
23 | */ | 23 | */ |
24 | .code32 | 24 | .code32 |
25 | .text | 25 | .text |
26 | 26 | ||
27 | #include <linux/linkage.h> | 27 | #include <linux/linkage.h> |
28 | #include <asm/segment.h> | 28 | #include <asm/segment.h> |
@@ -33,12 +33,14 @@ | |||
33 | #include <asm/processor-flags.h> | 33 | #include <asm/processor-flags.h> |
34 | #include <asm/asm-offsets.h> | 34 | #include <asm/asm-offsets.h> |
35 | 35 | ||
36 | .section ".text.head" | 36 | .section ".text.head" |
37 | .code32 | 37 | .code32 |
38 | ENTRY(startup_32) | 38 | ENTRY(startup_32) |
39 | cld | 39 | cld |
40 | /* test KEEP_SEGMENTS flag to see if the bootloader is asking | 40 | /* |
41 | * us to not reload segments */ | 41 | * Test KEEP_SEGMENTS flag to see if the bootloader is asking |
42 | * us to not reload segments | ||
43 | */ | ||
42 | testb $(1<<6), BP_loadflags(%esi) | 44 | testb $(1<<6), BP_loadflags(%esi) |
43 | jnz 1f | 45 | jnz 1f |
44 | 46 | ||
@@ -49,14 +51,15 @@ ENTRY(startup_32) | |||
49 | movl %eax, %ss | 51 | movl %eax, %ss |
50 | 1: | 52 | 1: |
51 | 53 | ||
52 | /* Calculate the delta between where we were compiled to run | 54 | /* |
55 | * Calculate the delta between where we were compiled to run | ||
53 | * at and where we were actually loaded at. This can only be done | 56 | * at and where we were actually loaded at. This can only be done |
54 | * with a short local call on x86. Nothing else will tell us what | 57 | * with a short local call on x86. Nothing else will tell us what |
55 | * address we are running at. The reserved chunk of the real-mode | 58 | * address we are running at. The reserved chunk of the real-mode |
56 | * data at 0x1e4 (defined as a scratch field) are used as the stack | 59 | * data at 0x1e4 (defined as a scratch field) are used as the stack |
57 | * for this calculation. Only 4 bytes are needed. | 60 | * for this calculation. Only 4 bytes are needed. |
58 | */ | 61 | */ |
59 | leal (0x1e4+4)(%esi), %esp | 62 | leal (BP_scratch+4)(%esi), %esp |
60 | call 1f | 63 | call 1f |
61 | 1: popl %ebp | 64 | 1: popl %ebp |
62 | subl $1b, %ebp | 65 | subl $1b, %ebp |
@@ -70,32 +73,28 @@ ENTRY(startup_32) | |||
70 | testl %eax, %eax | 73 | testl %eax, %eax |
71 | jnz no_longmode | 74 | jnz no_longmode |
72 | 75 | ||
73 | /* Compute the delta between where we were compiled to run at | 76 | /* |
77 | * Compute the delta between where we were compiled to run at | ||
74 | * and where the code will actually run at. | 78 | * and where the code will actually run at. |
75 | */ | 79 | * |
76 | /* %ebp contains the address we are loaded at by the boot loader and %ebx | 80 | * %ebp contains the address we are loaded at by the boot loader and %ebx |
77 | * contains the address where we should move the kernel image temporarily | 81 | * contains the address where we should move the kernel image temporarily |
78 | * for safe in-place decompression. | 82 | * for safe in-place decompression. |
79 | */ | 83 | */ |
80 | 84 | ||
81 | #ifdef CONFIG_RELOCATABLE | 85 | #ifdef CONFIG_RELOCATABLE |
82 | movl %ebp, %ebx | 86 | movl %ebp, %ebx |
83 | addl $(PMD_PAGE_SIZE -1), %ebx | 87 | movl BP_kernel_alignment(%esi), %eax |
84 | andl $PMD_PAGE_MASK, %ebx | 88 | decl %eax |
89 | addl %eax, %ebx | ||
90 | notl %eax | ||
91 | andl %eax, %ebx | ||
85 | #else | 92 | #else |
86 | movl $CONFIG_PHYSICAL_START, %ebx | 93 | movl $LOAD_PHYSICAL_ADDR, %ebx |
87 | #endif | 94 | #endif |
88 | 95 | ||
89 | /* Replace the compressed data size with the uncompressed size */ | 96 | /* Target address to relocate to for decompression */ |
90 | subl input_len(%ebp), %ebx | 97 | addl $z_extract_offset, %ebx |
91 | movl output_len(%ebp), %eax | ||
92 | addl %eax, %ebx | ||
93 | /* Add 8 bytes for every 32K input block */ | ||
94 | shrl $12, %eax | ||
95 | addl %eax, %ebx | ||
96 | /* Add 32K + 18 bytes of extra slack and align on a 4K boundary */ | ||
97 | addl $(32768 + 18 + 4095), %ebx | ||
98 | andl $~4095, %ebx | ||
99 | 98 | ||
100 | /* | 99 | /* |
101 | * Prepare for entering 64 bit mode | 100 | * Prepare for entering 64 bit mode |
@@ -114,7 +113,7 @@ ENTRY(startup_32) | |||
114 | /* | 113 | /* |
115 | * Build early 4G boot pagetable | 114 | * Build early 4G boot pagetable |
116 | */ | 115 | */ |
117 | /* Initialize Page tables to 0*/ | 116 | /* Initialize Page tables to 0 */ |
118 | leal pgtable(%ebx), %edi | 117 | leal pgtable(%ebx), %edi |
119 | xorl %eax, %eax | 118 | xorl %eax, %eax |
120 | movl $((4096*6)/4), %ecx | 119 | movl $((4096*6)/4), %ecx |
@@ -155,7 +154,8 @@ ENTRY(startup_32) | |||
155 | btsl $_EFER_LME, %eax | 154 | btsl $_EFER_LME, %eax |
156 | wrmsr | 155 | wrmsr |
157 | 156 | ||
158 | /* Setup for the jump to 64bit mode | 157 | /* |
158 | * Setup for the jump to 64bit mode | ||
159 | * | 159 | * |
160 | * When the jump is performend we will be in long mode but | 160 | * When the jump is performend we will be in long mode but |
161 | * in 32bit compatibility mode with EFER.LME = 1, CS.L = 0, CS.D = 1 | 161 | * in 32bit compatibility mode with EFER.LME = 1, CS.L = 0, CS.D = 1 |
@@ -184,7 +184,8 @@ no_longmode: | |||
184 | 184 | ||
185 | #include "../../kernel/verify_cpu_64.S" | 185 | #include "../../kernel/verify_cpu_64.S" |
186 | 186 | ||
187 | /* Be careful here startup_64 needs to be at a predictable | 187 | /* |
188 | * Be careful here startup_64 needs to be at a predictable | ||
188 | * address so I can export it in an ELF header. Bootloaders | 189 | * address so I can export it in an ELF header. Bootloaders |
189 | * should look at the ELF header to find this address, as | 190 | * should look at the ELF header to find this address, as |
190 | * it may change in the future. | 191 | * it may change in the future. |
@@ -192,7 +193,8 @@ no_longmode: | |||
192 | .code64 | 193 | .code64 |
193 | .org 0x200 | 194 | .org 0x200 |
194 | ENTRY(startup_64) | 195 | ENTRY(startup_64) |
195 | /* We come here either from startup_32 or directly from a | 196 | /* |
197 | * We come here either from startup_32 or directly from a | ||
196 | * 64bit bootloader. If we come here from a bootloader we depend on | 198 | * 64bit bootloader. If we come here from a bootloader we depend on |
197 | * an identity mapped page table being provied that maps our | 199 | * an identity mapped page table being provied that maps our |
198 | * entire text+data+bss and hopefully all of memory. | 200 | * entire text+data+bss and hopefully all of memory. |
@@ -209,50 +211,54 @@ ENTRY(startup_64) | |||
209 | movl $0x20, %eax | 211 | movl $0x20, %eax |
210 | ltr %ax | 212 | ltr %ax |
211 | 213 | ||
212 | /* Compute the decompressed kernel start address. It is where | 214 | /* |
215 | * Compute the decompressed kernel start address. It is where | ||
213 | * we were loaded at aligned to a 2M boundary. %rbp contains the | 216 | * we were loaded at aligned to a 2M boundary. %rbp contains the |
214 | * decompressed kernel start address. | 217 | * decompressed kernel start address. |
215 | * | 218 | * |
216 | * If it is a relocatable kernel then decompress and run the kernel | 219 | * If it is a relocatable kernel then decompress and run the kernel |
217 | * from load address aligned to 2MB addr, otherwise decompress and | 220 | * from load address aligned to 2MB addr, otherwise decompress and |
218 | * run the kernel from CONFIG_PHYSICAL_START | 221 | * run the kernel from LOAD_PHYSICAL_ADDR |
222 | * | ||
223 | * We cannot rely on the calculation done in 32-bit mode, since we | ||
224 | * may have been invoked via the 64-bit entry point. | ||
219 | */ | 225 | */ |
220 | 226 | ||
221 | /* Start with the delta to where the kernel will run at. */ | 227 | /* Start with the delta to where the kernel will run at. */ |
222 | #ifdef CONFIG_RELOCATABLE | 228 | #ifdef CONFIG_RELOCATABLE |
223 | leaq startup_32(%rip) /* - $startup_32 */, %rbp | 229 | leaq startup_32(%rip) /* - $startup_32 */, %rbp |
224 | addq $(PMD_PAGE_SIZE - 1), %rbp | 230 | movl BP_kernel_alignment(%rsi), %eax |
225 | andq $PMD_PAGE_MASK, %rbp | 231 | decl %eax |
226 | movq %rbp, %rbx | 232 | addq %rax, %rbp |
233 | notq %rax | ||
234 | andq %rax, %rbp | ||
227 | #else | 235 | #else |
228 | movq $CONFIG_PHYSICAL_START, %rbp | 236 | movq $LOAD_PHYSICAL_ADDR, %rbp |
229 | movq %rbp, %rbx | ||
230 | #endif | 237 | #endif |
231 | 238 | ||
232 | /* Replace the compressed data size with the uncompressed size */ | 239 | /* Target address to relocate to for decompression */ |
233 | movl input_len(%rip), %eax | 240 | leaq z_extract_offset(%rbp), %rbx |
234 | subq %rax, %rbx | 241 | |
235 | movl output_len(%rip), %eax | 242 | /* Set up the stack */ |
236 | addq %rax, %rbx | 243 | leaq boot_stack_end(%rbx), %rsp |
237 | /* Add 8 bytes for every 32K input block */ | 244 | |
238 | shrq $12, %rax | 245 | /* Zero EFLAGS */ |
239 | addq %rax, %rbx | 246 | pushq $0 |
240 | /* Add 32K + 18 bytes of extra slack and align on a 4K boundary */ | 247 | popfq |
241 | addq $(32768 + 18 + 4095), %rbx | 248 | |
242 | andq $~4095, %rbx | 249 | /* |
243 | 250 | * Copy the compressed kernel to the end of our buffer | |
244 | /* Copy the compressed kernel to the end of our buffer | ||
245 | * where decompression in place becomes safe. | 251 | * where decompression in place becomes safe. |
246 | */ | 252 | */ |
247 | leaq _end_before_pgt(%rip), %r8 | 253 | pushq %rsi |
248 | leaq _end_before_pgt(%rbx), %r9 | 254 | leaq (_bss-8)(%rip), %rsi |
249 | movq $_end_before_pgt /* - $startup_32 */, %rcx | 255 | leaq (_bss-8)(%rbx), %rdi |
250 | 1: subq $8, %r8 | 256 | movq $_bss /* - $startup_32 */, %rcx |
251 | subq $8, %r9 | 257 | shrq $3, %rcx |
252 | movq 0(%r8), %rax | 258 | std |
253 | movq %rax, 0(%r9) | 259 | rep movsq |
254 | subq $8, %rcx | 260 | cld |
255 | jnz 1b | 261 | popq %rsi |
256 | 262 | ||
257 | /* | 263 | /* |
258 | * Jump to the relocated address. | 264 | * Jump to the relocated address. |
@@ -260,37 +266,28 @@ ENTRY(startup_64) | |||
260 | leaq relocated(%rbx), %rax | 266 | leaq relocated(%rbx), %rax |
261 | jmp *%rax | 267 | jmp *%rax |
262 | 268 | ||
263 | .section ".text" | 269 | .text |
264 | relocated: | 270 | relocated: |
265 | 271 | ||
266 | /* | 272 | /* |
267 | * Clear BSS | 273 | * Clear BSS (stack is currently empty) |
268 | */ | 274 | */ |
269 | xorq %rax, %rax | 275 | xorl %eax, %eax |
270 | leaq _edata(%rbx), %rdi | 276 | leaq _bss(%rip), %rdi |
271 | leaq _end_before_pgt(%rbx), %rcx | 277 | leaq _ebss(%rip), %rcx |
272 | subq %rdi, %rcx | 278 | subq %rdi, %rcx |
273 | cld | 279 | shrq $3, %rcx |
274 | rep | 280 | rep stosq |
275 | stosb | ||
276 | |||
277 | /* Setup the stack */ | ||
278 | leaq boot_stack_end(%rip), %rsp | ||
279 | |||
280 | /* zero EFLAGS after setting rsp */ | ||
281 | pushq $0 | ||
282 | popfq | ||
283 | 281 | ||
284 | /* | 282 | /* |
285 | * Do the decompression, and jump to the new kernel.. | 283 | * Do the decompression, and jump to the new kernel.. |
286 | */ | 284 | */ |
287 | pushq %rsi # Save the real mode argument | 285 | pushq %rsi /* Save the real mode argument */ |
288 | movq %rsi, %rdi # real mode address | 286 | movq %rsi, %rdi /* real mode address */ |
289 | leaq boot_heap(%rip), %rsi # malloc area for uncompression | 287 | leaq boot_heap(%rip), %rsi /* malloc area for uncompression */ |
290 | leaq input_data(%rip), %rdx # input_data | 288 | leaq input_data(%rip), %rdx /* input_data */ |
291 | movl input_len(%rip), %eax | 289 | movl $z_input_len, %ecx /* input_len */ |
292 | movq %rax, %rcx # input_len | 290 | movq %rbp, %r8 /* output target address */ |
293 | movq %rbp, %r8 # output | ||
294 | call decompress_kernel | 291 | call decompress_kernel |
295 | popq %rsi | 292 | popq %rsi |
296 | 293 | ||
@@ -311,11 +308,21 @@ gdt: | |||
311 | .quad 0x0000000000000000 /* TS continued */ | 308 | .quad 0x0000000000000000 /* TS continued */ |
312 | gdt_end: | 309 | gdt_end: |
313 | 310 | ||
314 | .bss | 311 | /* |
315 | /* Stack and heap for uncompression */ | 312 | * Stack and heap for uncompression |
316 | .balign 4 | 313 | */ |
314 | .bss | ||
315 | .balign 4 | ||
317 | boot_heap: | 316 | boot_heap: |
318 | .fill BOOT_HEAP_SIZE, 1, 0 | 317 | .fill BOOT_HEAP_SIZE, 1, 0 |
319 | boot_stack: | 318 | boot_stack: |
320 | .fill BOOT_STACK_SIZE, 1, 0 | 319 | .fill BOOT_STACK_SIZE, 1, 0 |
321 | boot_stack_end: | 320 | boot_stack_end: |
321 | |||
322 | /* | ||
323 | * Space for page tables (not in .bss so not zeroed) | ||
324 | */ | ||
325 | .section ".pgtable","a",@nobits | ||
326 | .balign 4096 | ||
327 | pgtable: | ||
328 | .fill 6*4096, 1, 0 | ||
diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c index e45be73684ff..842b2a36174a 100644 --- a/arch/x86/boot/compressed/misc.c +++ b/arch/x86/boot/compressed/misc.c | |||
@@ -325,21 +325,19 @@ asmlinkage void decompress_kernel(void *rmode, memptr heap, | |||
325 | free_mem_ptr = heap; /* Heap */ | 325 | free_mem_ptr = heap; /* Heap */ |
326 | free_mem_end_ptr = heap + BOOT_HEAP_SIZE; | 326 | free_mem_end_ptr = heap + BOOT_HEAP_SIZE; |
327 | 327 | ||
328 | if ((unsigned long)output & (MIN_KERNEL_ALIGN - 1)) | ||
329 | error("Destination address inappropriately aligned"); | ||
328 | #ifdef CONFIG_X86_64 | 330 | #ifdef CONFIG_X86_64 |
329 | if ((unsigned long)output & (__KERNEL_ALIGN - 1)) | 331 | if (heap > 0x3fffffffffffUL) |
330 | error("Destination address not 2M aligned"); | ||
331 | if ((unsigned long)output >= 0xffffffffffUL) | ||
332 | error("Destination address too large"); | 332 | error("Destination address too large"); |
333 | #else | 333 | #else |
334 | if ((u32)output & (CONFIG_PHYSICAL_ALIGN - 1)) | ||
335 | error("Destination address not CONFIG_PHYSICAL_ALIGN aligned"); | ||
336 | if (heap > ((-__PAGE_OFFSET-(512<<20)-1) & 0x7fffffff)) | 334 | if (heap > ((-__PAGE_OFFSET-(512<<20)-1) & 0x7fffffff)) |
337 | error("Destination address too large"); | 335 | error("Destination address too large"); |
336 | #endif | ||
338 | #ifndef CONFIG_RELOCATABLE | 337 | #ifndef CONFIG_RELOCATABLE |
339 | if ((u32)output != LOAD_PHYSICAL_ADDR) | 338 | if ((unsigned long)output != LOAD_PHYSICAL_ADDR) |
340 | error("Wrong destination address"); | 339 | error("Wrong destination address"); |
341 | #endif | 340 | #endif |
342 | #endif | ||
343 | 341 | ||
344 | if (!quiet) | 342 | if (!quiet) |
345 | putstr("\nDecompressing Linux... "); | 343 | putstr("\nDecompressing Linux... "); |
diff --git a/arch/x86/boot/compressed/mkpiggy.c b/arch/x86/boot/compressed/mkpiggy.c new file mode 100644 index 000000000000..bcbd36c41432 --- /dev/null +++ b/arch/x86/boot/compressed/mkpiggy.c | |||
@@ -0,0 +1,97 @@ | |||
1 | /* ----------------------------------------------------------------------- * | ||
2 | * | ||
3 | * Copyright (C) 2009 Intel Corporation. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License version | ||
7 | * 2 as published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
17 | * 02110-1301, USA. | ||
18 | * | ||
19 | * H. Peter Anvin <hpa@linux.intel.com> | ||
20 | * | ||
21 | * ----------------------------------------------------------------------- */ | ||
22 | |||
23 | /* | ||
24 | * Compute the desired load offset from a compressed program; outputs | ||
25 | * a small assembly wrapper with the appropriate symbols defined. | ||
26 | */ | ||
27 | |||
28 | #include <stdlib.h> | ||
29 | #include <stdio.h> | ||
30 | #include <string.h> | ||
31 | #include <inttypes.h> | ||
32 | |||
33 | static uint32_t getle32(const void *p) | ||
34 | { | ||
35 | const uint8_t *cp = p; | ||
36 | |||
37 | return (uint32_t)cp[0] + ((uint32_t)cp[1] << 8) + | ||
38 | ((uint32_t)cp[2] << 16) + ((uint32_t)cp[3] << 24); | ||
39 | } | ||
40 | |||
41 | int main(int argc, char *argv[]) | ||
42 | { | ||
43 | uint32_t olen; | ||
44 | long ilen; | ||
45 | unsigned long offs; | ||
46 | FILE *f; | ||
47 | |||
48 | if (argc < 2) { | ||
49 | fprintf(stderr, "Usage: %s compressed_file\n", argv[0]); | ||
50 | return 1; | ||
51 | } | ||
52 | |||
53 | /* Get the information for the compressed kernel image first */ | ||
54 | |||
55 | f = fopen(argv[1], "r"); | ||
56 | if (!f) { | ||
57 | perror(argv[1]); | ||
58 | return 1; | ||
59 | } | ||
60 | |||
61 | |||
62 | if (fseek(f, -4L, SEEK_END)) { | ||
63 | perror(argv[1]); | ||
64 | } | ||
65 | fread(&olen, sizeof olen, 1, f); | ||
66 | ilen = ftell(f); | ||
67 | olen = getle32(&olen); | ||
68 | fclose(f); | ||
69 | |||
70 | /* | ||
71 | * Now we have the input (compressed) and output (uncompressed) | ||
72 | * sizes, compute the necessary decompression offset... | ||
73 | */ | ||
74 | |||
75 | offs = (olen > ilen) ? olen - ilen : 0; | ||
76 | offs += olen >> 12; /* Add 8 bytes for each 32K block */ | ||
77 | offs += 32*1024 + 18; /* Add 32K + 18 bytes slack */ | ||
78 | offs = (offs+4095) & ~4095; /* Round to a 4K boundary */ | ||
79 | |||
80 | printf(".section \".rodata.compressed\",\"a\",@progbits\n"); | ||
81 | printf(".globl z_input_len\n"); | ||
82 | printf("z_input_len = %lu\n", ilen); | ||
83 | printf(".globl z_output_len\n"); | ||
84 | printf("z_output_len = %lu\n", (unsigned long)olen); | ||
85 | printf(".globl z_extract_offset\n"); | ||
86 | printf("z_extract_offset = 0x%lx\n", offs); | ||
87 | /* z_extract_offset_negative allows simplification of head_32.S */ | ||
88 | printf(".globl z_extract_offset_negative\n"); | ||
89 | printf("z_extract_offset_negative = -0x%lx\n", offs); | ||
90 | |||
91 | printf(".globl input_data, input_data_end\n"); | ||
92 | printf("input_data:\n"); | ||
93 | printf(".incbin \"%s\"\n", argv[1]); | ||
94 | printf("input_data_end:\n"); | ||
95 | |||
96 | return 0; | ||
97 | } | ||
diff --git a/arch/x86/boot/compressed/vmlinux_64.lds b/arch/x86/boot/compressed/vmlinux.lds.S index bef1ac891bce..cc353e1b3ffd 100644 --- a/arch/x86/boot/compressed/vmlinux_64.lds +++ b/arch/x86/boot/compressed/vmlinux.lds.S | |||
@@ -1,6 +1,17 @@ | |||
1 | OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") | 1 | OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT) |
2 | |||
3 | #undef i386 | ||
4 | |||
5 | #include <asm/page_types.h> | ||
6 | |||
7 | #ifdef CONFIG_X86_64 | ||
2 | OUTPUT_ARCH(i386:x86-64) | 8 | OUTPUT_ARCH(i386:x86-64) |
3 | ENTRY(startup_64) | 9 | ENTRY(startup_64) |
10 | #else | ||
11 | OUTPUT_ARCH(i386) | ||
12 | ENTRY(startup_32) | ||
13 | #endif | ||
14 | |||
4 | SECTIONS | 15 | SECTIONS |
5 | { | 16 | { |
6 | /* Be careful parts of head_64.S assume startup_32 is at | 17 | /* Be careful parts of head_64.S assume startup_32 is at |
@@ -33,16 +44,22 @@ SECTIONS | |||
33 | *(.data.*) | 44 | *(.data.*) |
34 | _edata = . ; | 45 | _edata = . ; |
35 | } | 46 | } |
47 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
36 | .bss : { | 48 | .bss : { |
37 | _bss = . ; | 49 | _bss = . ; |
38 | *(.bss) | 50 | *(.bss) |
39 | *(.bss.*) | 51 | *(.bss.*) |
40 | *(COMMON) | 52 | *(COMMON) |
41 | . = ALIGN(8); | 53 | . = ALIGN(8); /* For convenience during zeroing */ |
42 | _end_before_pgt = . ; | ||
43 | . = ALIGN(4096); | ||
44 | pgtable = . ; | ||
45 | . = . + 4096 * 6; | ||
46 | _ebss = .; | 54 | _ebss = .; |
47 | } | 55 | } |
56 | #ifdef CONFIG_X86_64 | ||
57 | . = ALIGN(PAGE_SIZE); | ||
58 | .pgtable : { | ||
59 | _pgtable = . ; | ||
60 | *(.pgtable) | ||
61 | _epgtable = . ; | ||
62 | } | ||
63 | #endif | ||
64 | _end = .; | ||
48 | } | 65 | } |
diff --git a/arch/x86/boot/compressed/vmlinux.scr b/arch/x86/boot/compressed/vmlinux.scr deleted file mode 100644 index f02382ae5c48..000000000000 --- a/arch/x86/boot/compressed/vmlinux.scr +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | SECTIONS | ||
2 | { | ||
3 | .rodata.compressed : { | ||
4 | input_len = .; | ||
5 | LONG(input_data_end - input_data) input_data = .; | ||
6 | *(.data) | ||
7 | output_len = . - 4; | ||
8 | input_data_end = .; | ||
9 | } | ||
10 | } | ||
diff --git a/arch/x86/boot/compressed/vmlinux_32.lds b/arch/x86/boot/compressed/vmlinux_32.lds deleted file mode 100644 index bb3c48379c40..000000000000 --- a/arch/x86/boot/compressed/vmlinux_32.lds +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") | ||
2 | OUTPUT_ARCH(i386) | ||
3 | ENTRY(startup_32) | ||
4 | SECTIONS | ||
5 | { | ||
6 | /* Be careful parts of head_32.S assume startup_32 is at | ||
7 | * address 0. | ||
8 | */ | ||
9 | . = 0; | ||
10 | .text.head : { | ||
11 | _head = . ; | ||
12 | *(.text.head) | ||
13 | _ehead = . ; | ||
14 | } | ||
15 | .rodata.compressed : { | ||
16 | *(.rodata.compressed) | ||
17 | } | ||
18 | .text : { | ||
19 | _text = .; /* Text */ | ||
20 | *(.text) | ||
21 | *(.text.*) | ||
22 | _etext = . ; | ||
23 | } | ||
24 | .rodata : { | ||
25 | _rodata = . ; | ||
26 | *(.rodata) /* read-only data */ | ||
27 | *(.rodata.*) | ||
28 | _erodata = . ; | ||
29 | } | ||
30 | .data : { | ||
31 | _data = . ; | ||
32 | *(.data) | ||
33 | *(.data.*) | ||
34 | _edata = . ; | ||
35 | } | ||
36 | .bss : { | ||
37 | _bss = . ; | ||
38 | *(.bss) | ||
39 | *(.bss.*) | ||
40 | *(COMMON) | ||
41 | _end = . ; | ||
42 | } | ||
43 | } | ||
diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S index 5d84d1c74e4c..1040f6e8010c 100644 --- a/arch/x86/boot/header.S +++ b/arch/x86/boot/header.S | |||
@@ -22,7 +22,8 @@ | |||
22 | #include <asm/page_types.h> | 22 | #include <asm/page_types.h> |
23 | #include <asm/setup.h> | 23 | #include <asm/setup.h> |
24 | #include "boot.h" | 24 | #include "boot.h" |
25 | #include "offsets.h" | 25 | #include "voffset.h" |
26 | #include "zoffset.h" | ||
26 | 27 | ||
27 | BOOTSEG = 0x07C0 /* original address of boot-sector */ | 28 | BOOTSEG = 0x07C0 /* original address of boot-sector */ |
28 | SYSSEG = 0x1000 /* historical load address >> 4 */ | 29 | SYSSEG = 0x1000 /* historical load address >> 4 */ |
@@ -115,7 +116,7 @@ _start: | |||
115 | # Part 2 of the header, from the old setup.S | 116 | # Part 2 of the header, from the old setup.S |
116 | 117 | ||
117 | .ascii "HdrS" # header signature | 118 | .ascii "HdrS" # header signature |
118 | .word 0x0209 # header version number (>= 0x0105) | 119 | .word 0x020a # header version number (>= 0x0105) |
119 | # or else old loadlin-1.5 will fail) | 120 | # or else old loadlin-1.5 will fail) |
120 | .globl realmode_swtch | 121 | .globl realmode_swtch |
121 | realmode_swtch: .word 0, 0 # default_switch, SETUPSEG | 122 | realmode_swtch: .word 0, 0 # default_switch, SETUPSEG |
@@ -168,7 +169,11 @@ heap_end_ptr: .word _end+STACK_SIZE-512 | |||
168 | # end of setup code can be used by setup | 169 | # end of setup code can be used by setup |
169 | # for local heap purposes. | 170 | # for local heap purposes. |
170 | 171 | ||
171 | pad1: .word 0 | 172 | ext_loader_ver: |
173 | .byte 0 # Extended boot loader version | ||
174 | ext_loader_type: | ||
175 | .byte 0 # Extended boot loader type | ||
176 | |||
172 | cmd_line_ptr: .long 0 # (Header version 0x0202 or later) | 177 | cmd_line_ptr: .long 0 # (Header version 0x0202 or later) |
173 | # If nonzero, a 32-bit pointer | 178 | # If nonzero, a 32-bit pointer |
174 | # to the kernel command line. | 179 | # to the kernel command line. |
@@ -200,7 +205,7 @@ relocatable_kernel: .byte 1 | |||
200 | #else | 205 | #else |
201 | relocatable_kernel: .byte 0 | 206 | relocatable_kernel: .byte 0 |
202 | #endif | 207 | #endif |
203 | pad2: .byte 0 | 208 | min_alignment: .byte MIN_KERNEL_ALIGN_LG2 # minimum alignment |
204 | pad3: .word 0 | 209 | pad3: .word 0 |
205 | 210 | ||
206 | cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line, | 211 | cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line, |
@@ -212,13 +217,24 @@ hardware_subarch: .long 0 # subarchitecture, added with 2.07 | |||
212 | 217 | ||
213 | hardware_subarch_data: .quad 0 | 218 | hardware_subarch_data: .quad 0 |
214 | 219 | ||
215 | payload_offset: .long input_data | 220 | payload_offset: .long ZO_input_data |
216 | payload_length: .long input_data_end-input_data | 221 | payload_length: .long ZO_z_input_len |
217 | 222 | ||
218 | setup_data: .quad 0 # 64-bit physical pointer to | 223 | setup_data: .quad 0 # 64-bit physical pointer to |
219 | # single linked list of | 224 | # single linked list of |
220 | # struct setup_data | 225 | # struct setup_data |
221 | 226 | ||
227 | pref_address: .quad LOAD_PHYSICAL_ADDR # preferred load addr | ||
228 | |||
229 | #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_extract_offset) | ||
230 | #define VO_INIT_SIZE (VO__end - VO__text) | ||
231 | #if ZO_INIT_SIZE > VO_INIT_SIZE | ||
232 | #define INIT_SIZE ZO_INIT_SIZE | ||
233 | #else | ||
234 | #define INIT_SIZE VO_INIT_SIZE | ||
235 | #endif | ||
236 | init_size: .long INIT_SIZE # kernel initialization size | ||
237 | |||
222 | # End of setup header ##################################################### | 238 | # End of setup header ##################################################### |
223 | 239 | ||
224 | .section ".inittext", "ax" | 240 | .section ".inittext", "ax" |
diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig index 235b81d0f6f2..edb992ebef92 100644 --- a/arch/x86/configs/i386_defconfig +++ b/arch/x86/configs/i386_defconfig | |||
@@ -1,12 +1,13 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc4 | 3 | # Linux kernel version: 2.6.30-rc2 |
4 | # Tue Feb 24 15:50:58 2009 | 4 | # Mon May 11 16:21:55 2009 |
5 | # | 5 | # |
6 | # CONFIG_64BIT is not set | 6 | # CONFIG_64BIT is not set |
7 | CONFIG_X86_32=y | 7 | CONFIG_X86_32=y |
8 | # CONFIG_X86_64 is not set | 8 | # CONFIG_X86_64 is not set |
9 | CONFIG_X86=y | 9 | CONFIG_X86=y |
10 | CONFIG_OUTPUT_FORMAT="elf32-i386" | ||
10 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" | 11 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" |
11 | CONFIG_GENERIC_TIME=y | 12 | CONFIG_GENERIC_TIME=y |
12 | CONFIG_GENERIC_CMOS_UPDATE=y | 13 | CONFIG_GENERIC_CMOS_UPDATE=y |
@@ -33,6 +34,7 @@ CONFIG_ARCH_HAS_CPU_RELAX=y | |||
33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 34 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
34 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y | 35 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y |
35 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 36 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
37 | CONFIG_HAVE_DYNAMIC_PER_CPU_AREA=y | ||
36 | # CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set | 38 | # CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set |
37 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 39 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
38 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 40 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
@@ -40,15 +42,16 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
40 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 42 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
41 | # CONFIG_AUDIT_ARCH is not set | 43 | # CONFIG_AUDIT_ARCH is not set |
42 | CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y | 44 | CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y |
45 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
43 | CONFIG_GENERIC_HARDIRQS=y | 46 | CONFIG_GENERIC_HARDIRQS=y |
47 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
44 | CONFIG_GENERIC_IRQ_PROBE=y | 48 | CONFIG_GENERIC_IRQ_PROBE=y |
45 | CONFIG_GENERIC_PENDING_IRQ=y | 49 | CONFIG_GENERIC_PENDING_IRQ=y |
46 | CONFIG_X86_SMP=y | ||
47 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 50 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
48 | CONFIG_X86_32_SMP=y | 51 | CONFIG_X86_32_SMP=y |
49 | CONFIG_X86_HT=y | 52 | CONFIG_X86_HT=y |
50 | CONFIG_X86_BIOS_REBOOT=y | ||
51 | CONFIG_X86_TRAMPOLINE=y | 53 | CONFIG_X86_TRAMPOLINE=y |
54 | CONFIG_X86_32_LAZY_GS=y | ||
52 | CONFIG_KTIME_SCALAR=y | 55 | CONFIG_KTIME_SCALAR=y |
53 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 56 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
54 | 57 | ||
@@ -60,10 +63,17 @@ CONFIG_LOCK_KERNEL=y | |||
60 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 63 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
61 | CONFIG_LOCALVERSION="" | 64 | CONFIG_LOCALVERSION="" |
62 | # CONFIG_LOCALVERSION_AUTO is not set | 65 | # CONFIG_LOCALVERSION_AUTO is not set |
66 | CONFIG_HAVE_KERNEL_GZIP=y | ||
67 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
68 | CONFIG_HAVE_KERNEL_LZMA=y | ||
69 | CONFIG_KERNEL_GZIP=y | ||
70 | # CONFIG_KERNEL_BZIP2 is not set | ||
71 | # CONFIG_KERNEL_LZMA is not set | ||
63 | CONFIG_SWAP=y | 72 | CONFIG_SWAP=y |
64 | CONFIG_SYSVIPC=y | 73 | CONFIG_SYSVIPC=y |
65 | CONFIG_SYSVIPC_SYSCTL=y | 74 | CONFIG_SYSVIPC_SYSCTL=y |
66 | CONFIG_POSIX_MQUEUE=y | 75 | CONFIG_POSIX_MQUEUE=y |
76 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
67 | CONFIG_BSD_PROCESS_ACCT=y | 77 | CONFIG_BSD_PROCESS_ACCT=y |
68 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 78 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
69 | CONFIG_TASKSTATS=y | 79 | CONFIG_TASKSTATS=y |
@@ -113,23 +123,26 @@ CONFIG_PID_NS=y | |||
113 | CONFIG_NET_NS=y | 123 | CONFIG_NET_NS=y |
114 | CONFIG_BLK_DEV_INITRD=y | 124 | CONFIG_BLK_DEV_INITRD=y |
115 | CONFIG_INITRAMFS_SOURCE="" | 125 | CONFIG_INITRAMFS_SOURCE="" |
126 | CONFIG_RD_GZIP=y | ||
127 | CONFIG_RD_BZIP2=y | ||
128 | CONFIG_RD_LZMA=y | ||
116 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 129 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
117 | CONFIG_SYSCTL=y | 130 | CONFIG_SYSCTL=y |
131 | CONFIG_ANON_INODES=y | ||
118 | # CONFIG_EMBEDDED is not set | 132 | # CONFIG_EMBEDDED is not set |
119 | CONFIG_UID16=y | 133 | CONFIG_UID16=y |
120 | CONFIG_SYSCTL_SYSCALL=y | 134 | CONFIG_SYSCTL_SYSCALL=y |
121 | CONFIG_KALLSYMS=y | 135 | CONFIG_KALLSYMS=y |
122 | CONFIG_KALLSYMS_ALL=y | 136 | CONFIG_KALLSYMS_ALL=y |
123 | CONFIG_KALLSYMS_EXTRA_PASS=y | 137 | CONFIG_KALLSYMS_EXTRA_PASS=y |
138 | # CONFIG_STRIP_ASM_SYMS is not set | ||
124 | CONFIG_HOTPLUG=y | 139 | CONFIG_HOTPLUG=y |
125 | CONFIG_PRINTK=y | 140 | CONFIG_PRINTK=y |
126 | CONFIG_BUG=y | 141 | CONFIG_BUG=y |
127 | CONFIG_ELF_CORE=y | 142 | CONFIG_ELF_CORE=y |
128 | CONFIG_PCSPKR_PLATFORM=y | 143 | CONFIG_PCSPKR_PLATFORM=y |
129 | # CONFIG_COMPAT_BRK is not set | ||
130 | CONFIG_BASE_FULL=y | 144 | CONFIG_BASE_FULL=y |
131 | CONFIG_FUTEX=y | 145 | CONFIG_FUTEX=y |
132 | CONFIG_ANON_INODES=y | ||
133 | CONFIG_EPOLL=y | 146 | CONFIG_EPOLL=y |
134 | CONFIG_SIGNALFD=y | 147 | CONFIG_SIGNALFD=y |
135 | CONFIG_TIMERFD=y | 148 | CONFIG_TIMERFD=y |
@@ -139,6 +152,7 @@ CONFIG_AIO=y | |||
139 | CONFIG_VM_EVENT_COUNTERS=y | 152 | CONFIG_VM_EVENT_COUNTERS=y |
140 | CONFIG_PCI_QUIRKS=y | 153 | CONFIG_PCI_QUIRKS=y |
141 | CONFIG_SLUB_DEBUG=y | 154 | CONFIG_SLUB_DEBUG=y |
155 | # CONFIG_COMPAT_BRK is not set | ||
142 | # CONFIG_SLAB is not set | 156 | # CONFIG_SLAB is not set |
143 | CONFIG_SLUB=y | 157 | CONFIG_SLUB=y |
144 | # CONFIG_SLOB is not set | 158 | # CONFIG_SLOB is not set |
@@ -154,6 +168,8 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
154 | CONFIG_HAVE_KPROBES=y | 168 | CONFIG_HAVE_KPROBES=y |
155 | CONFIG_HAVE_KRETPROBES=y | 169 | CONFIG_HAVE_KRETPROBES=y |
156 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 170 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
171 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
172 | # CONFIG_SLOW_WORK is not set | ||
157 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 173 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
158 | CONFIG_SLABINFO=y | 174 | CONFIG_SLABINFO=y |
159 | CONFIG_RT_MUTEXES=y | 175 | CONFIG_RT_MUTEXES=y |
@@ -167,7 +183,6 @@ CONFIG_MODULE_FORCE_UNLOAD=y | |||
167 | CONFIG_STOP_MACHINE=y | 183 | CONFIG_STOP_MACHINE=y |
168 | CONFIG_BLOCK=y | 184 | CONFIG_BLOCK=y |
169 | # CONFIG_LBD is not set | 185 | # CONFIG_LBD is not set |
170 | CONFIG_BLK_DEV_IO_TRACE=y | ||
171 | CONFIG_BLK_DEV_BSG=y | 186 | CONFIG_BLK_DEV_BSG=y |
172 | # CONFIG_BLK_DEV_INTEGRITY is not set | 187 | # CONFIG_BLK_DEV_INTEGRITY is not set |
173 | 188 | ||
@@ -194,12 +209,12 @@ CONFIG_HIGH_RES_TIMERS=y | |||
194 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 209 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
195 | CONFIG_SMP=y | 210 | CONFIG_SMP=y |
196 | CONFIG_SPARSE_IRQ=y | 211 | CONFIG_SPARSE_IRQ=y |
197 | CONFIG_X86_FIND_SMP_CONFIG=y | ||
198 | CONFIG_X86_MPPARSE=y | 212 | CONFIG_X86_MPPARSE=y |
213 | # CONFIG_X86_BIGSMP is not set | ||
214 | CONFIG_X86_EXTENDED_PLATFORM=y | ||
199 | # CONFIG_X86_ELAN is not set | 215 | # CONFIG_X86_ELAN is not set |
200 | # CONFIG_X86_GENERICARCH is not set | ||
201 | # CONFIG_X86_VSMP is not set | ||
202 | # CONFIG_X86_RDC321X is not set | 216 | # CONFIG_X86_RDC321X is not set |
217 | # CONFIG_X86_32_NON_STANDARD is not set | ||
203 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | 218 | CONFIG_SCHED_OMIT_FRAME_POINTER=y |
204 | # CONFIG_PARAVIRT_GUEST is not set | 219 | # CONFIG_PARAVIRT_GUEST is not set |
205 | # CONFIG_MEMTEST is not set | 220 | # CONFIG_MEMTEST is not set |
@@ -230,8 +245,10 @@ CONFIG_M686=y | |||
230 | # CONFIG_GENERIC_CPU is not set | 245 | # CONFIG_GENERIC_CPU is not set |
231 | CONFIG_X86_GENERIC=y | 246 | CONFIG_X86_GENERIC=y |
232 | CONFIG_X86_CPU=y | 247 | CONFIG_X86_CPU=y |
248 | CONFIG_X86_L1_CACHE_BYTES=64 | ||
249 | CONFIG_X86_INTERNODE_CACHE_BYTES=64 | ||
233 | CONFIG_X86_CMPXCHG=y | 250 | CONFIG_X86_CMPXCHG=y |
234 | CONFIG_X86_L1_CACHE_SHIFT=7 | 251 | CONFIG_X86_L1_CACHE_SHIFT=5 |
235 | CONFIG_X86_XADD=y | 252 | CONFIG_X86_XADD=y |
236 | # CONFIG_X86_PPRO_FENCE is not set | 253 | # CONFIG_X86_PPRO_FENCE is not set |
237 | CONFIG_X86_WP_WORKS_OK=y | 254 | CONFIG_X86_WP_WORKS_OK=y |
@@ -247,7 +264,7 @@ CONFIG_X86_DEBUGCTLMSR=y | |||
247 | CONFIG_CPU_SUP_INTEL=y | 264 | CONFIG_CPU_SUP_INTEL=y |
248 | CONFIG_CPU_SUP_CYRIX_32=y | 265 | CONFIG_CPU_SUP_CYRIX_32=y |
249 | CONFIG_CPU_SUP_AMD=y | 266 | CONFIG_CPU_SUP_AMD=y |
250 | CONFIG_CPU_SUP_CENTAUR_32=y | 267 | CONFIG_CPU_SUP_CENTAUR=y |
251 | CONFIG_CPU_SUP_TRANSMETA_32=y | 268 | CONFIG_CPU_SUP_TRANSMETA_32=y |
252 | CONFIG_CPU_SUP_UMC_32=y | 269 | CONFIG_CPU_SUP_UMC_32=y |
253 | CONFIG_X86_DS=y | 270 | CONFIG_X86_DS=y |
@@ -279,6 +296,7 @@ CONFIG_MICROCODE_AMD=y | |||
279 | CONFIG_MICROCODE_OLD_INTERFACE=y | 296 | CONFIG_MICROCODE_OLD_INTERFACE=y |
280 | CONFIG_X86_MSR=y | 297 | CONFIG_X86_MSR=y |
281 | CONFIG_X86_CPUID=y | 298 | CONFIG_X86_CPUID=y |
299 | # CONFIG_X86_CPU_DEBUG is not set | ||
282 | # CONFIG_NOHIGHMEM is not set | 300 | # CONFIG_NOHIGHMEM is not set |
283 | CONFIG_HIGHMEM4G=y | 301 | CONFIG_HIGHMEM4G=y |
284 | # CONFIG_HIGHMEM64G is not set | 302 | # CONFIG_HIGHMEM64G is not set |
@@ -302,6 +320,8 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
302 | CONFIG_BOUNCE=y | 320 | CONFIG_BOUNCE=y |
303 | CONFIG_VIRT_TO_BUS=y | 321 | CONFIG_VIRT_TO_BUS=y |
304 | CONFIG_UNEVICTABLE_LRU=y | 322 | CONFIG_UNEVICTABLE_LRU=y |
323 | CONFIG_HAVE_MLOCK=y | ||
324 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
305 | CONFIG_HIGHPTE=y | 325 | CONFIG_HIGHPTE=y |
306 | CONFIG_X86_CHECK_BIOS_CORRUPTION=y | 326 | CONFIG_X86_CHECK_BIOS_CORRUPTION=y |
307 | CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y | 327 | CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y |
@@ -312,6 +332,7 @@ CONFIG_MTRR=y | |||
312 | CONFIG_X86_PAT=y | 332 | CONFIG_X86_PAT=y |
313 | CONFIG_EFI=y | 333 | CONFIG_EFI=y |
314 | CONFIG_SECCOMP=y | 334 | CONFIG_SECCOMP=y |
335 | # CONFIG_CC_STACKPROTECTOR is not set | ||
315 | # CONFIG_HZ_100 is not set | 336 | # CONFIG_HZ_100 is not set |
316 | # CONFIG_HZ_250 is not set | 337 | # CONFIG_HZ_250 is not set |
317 | # CONFIG_HZ_300 is not set | 338 | # CONFIG_HZ_300 is not set |
@@ -322,8 +343,9 @@ CONFIG_KEXEC=y | |||
322 | CONFIG_CRASH_DUMP=y | 343 | CONFIG_CRASH_DUMP=y |
323 | # CONFIG_KEXEC_JUMP is not set | 344 | # CONFIG_KEXEC_JUMP is not set |
324 | CONFIG_PHYSICAL_START=0x1000000 | 345 | CONFIG_PHYSICAL_START=0x1000000 |
325 | # CONFIG_RELOCATABLE is not set | 346 | CONFIG_RELOCATABLE=y |
326 | CONFIG_PHYSICAL_ALIGN=0x200000 | 347 | CONFIG_X86_NEED_RELOCS=y |
348 | CONFIG_PHYSICAL_ALIGN=0x1000000 | ||
327 | CONFIG_HOTPLUG_CPU=y | 349 | CONFIG_HOTPLUG_CPU=y |
328 | # CONFIG_COMPAT_VDSO is not set | 350 | # CONFIG_COMPAT_VDSO is not set |
329 | # CONFIG_CMDLINE_BOOL is not set | 351 | # CONFIG_CMDLINE_BOOL is not set |
@@ -363,7 +385,6 @@ CONFIG_ACPI_THERMAL=y | |||
363 | CONFIG_ACPI_BLACKLIST_YEAR=0 | 385 | CONFIG_ACPI_BLACKLIST_YEAR=0 |
364 | # CONFIG_ACPI_DEBUG is not set | 386 | # CONFIG_ACPI_DEBUG is not set |
365 | # CONFIG_ACPI_PCI_SLOT is not set | 387 | # CONFIG_ACPI_PCI_SLOT is not set |
366 | CONFIG_ACPI_SYSTEM=y | ||
367 | CONFIG_X86_PM_TIMER=y | 388 | CONFIG_X86_PM_TIMER=y |
368 | CONFIG_ACPI_CONTAINER=y | 389 | CONFIG_ACPI_CONTAINER=y |
369 | # CONFIG_ACPI_SBS is not set | 390 | # CONFIG_ACPI_SBS is not set |
@@ -425,6 +446,7 @@ CONFIG_PCI_BIOS=y | |||
425 | CONFIG_PCI_DIRECT=y | 446 | CONFIG_PCI_DIRECT=y |
426 | CONFIG_PCI_MMCONFIG=y | 447 | CONFIG_PCI_MMCONFIG=y |
427 | CONFIG_PCI_DOMAINS=y | 448 | CONFIG_PCI_DOMAINS=y |
449 | # CONFIG_DMAR is not set | ||
428 | CONFIG_PCIEPORTBUS=y | 450 | CONFIG_PCIEPORTBUS=y |
429 | # CONFIG_HOTPLUG_PCI_PCIE is not set | 451 | # CONFIG_HOTPLUG_PCI_PCIE is not set |
430 | CONFIG_PCIEAER=y | 452 | CONFIG_PCIEAER=y |
@@ -435,6 +457,7 @@ CONFIG_PCI_MSI=y | |||
435 | # CONFIG_PCI_DEBUG is not set | 457 | # CONFIG_PCI_DEBUG is not set |
436 | # CONFIG_PCI_STUB is not set | 458 | # CONFIG_PCI_STUB is not set |
437 | CONFIG_HT_IRQ=y | 459 | CONFIG_HT_IRQ=y |
460 | # CONFIG_PCI_IOV is not set | ||
438 | CONFIG_ISA_DMA_API=y | 461 | CONFIG_ISA_DMA_API=y |
439 | # CONFIG_ISA is not set | 462 | # CONFIG_ISA is not set |
440 | # CONFIG_MCA is not set | 463 | # CONFIG_MCA is not set |
@@ -481,7 +504,6 @@ CONFIG_NET=y | |||
481 | # | 504 | # |
482 | # Networking options | 505 | # Networking options |
483 | # | 506 | # |
484 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
485 | CONFIG_PACKET=y | 507 | CONFIG_PACKET=y |
486 | CONFIG_PACKET_MMAP=y | 508 | CONFIG_PACKET_MMAP=y |
487 | CONFIG_UNIX=y | 509 | CONFIG_UNIX=y |
@@ -639,6 +661,7 @@ CONFIG_LLC=y | |||
639 | # CONFIG_LAPB is not set | 661 | # CONFIG_LAPB is not set |
640 | # CONFIG_ECONET is not set | 662 | # CONFIG_ECONET is not set |
641 | # CONFIG_WAN_ROUTER is not set | 663 | # CONFIG_WAN_ROUTER is not set |
664 | # CONFIG_PHONET is not set | ||
642 | CONFIG_NET_SCHED=y | 665 | CONFIG_NET_SCHED=y |
643 | 666 | ||
644 | # | 667 | # |
@@ -696,6 +719,7 @@ CONFIG_NET_SCH_FIFO=y | |||
696 | # | 719 | # |
697 | # CONFIG_NET_PKTGEN is not set | 720 | # CONFIG_NET_PKTGEN is not set |
698 | # CONFIG_NET_TCPPROBE is not set | 721 | # CONFIG_NET_TCPPROBE is not set |
722 | # CONFIG_NET_DROP_MONITOR is not set | ||
699 | CONFIG_HAMRADIO=y | 723 | CONFIG_HAMRADIO=y |
700 | 724 | ||
701 | # | 725 | # |
@@ -706,12 +730,10 @@ CONFIG_HAMRADIO=y | |||
706 | # CONFIG_IRDA is not set | 730 | # CONFIG_IRDA is not set |
707 | # CONFIG_BT is not set | 731 | # CONFIG_BT is not set |
708 | # CONFIG_AF_RXRPC is not set | 732 | # CONFIG_AF_RXRPC is not set |
709 | # CONFIG_PHONET is not set | ||
710 | CONFIG_FIB_RULES=y | 733 | CONFIG_FIB_RULES=y |
711 | CONFIG_WIRELESS=y | 734 | CONFIG_WIRELESS=y |
712 | CONFIG_CFG80211=y | 735 | CONFIG_CFG80211=y |
713 | # CONFIG_CFG80211_REG_DEBUG is not set | 736 | # CONFIG_CFG80211_REG_DEBUG is not set |
714 | CONFIG_NL80211=y | ||
715 | CONFIG_WIRELESS_OLD_REGULATORY=y | 737 | CONFIG_WIRELESS_OLD_REGULATORY=y |
716 | CONFIG_WIRELESS_EXT=y | 738 | CONFIG_WIRELESS_EXT=y |
717 | CONFIG_WIRELESS_EXT_SYSFS=y | 739 | CONFIG_WIRELESS_EXT_SYSFS=y |
@@ -789,6 +811,7 @@ CONFIG_MISC_DEVICES=y | |||
789 | # CONFIG_ICS932S401 is not set | 811 | # CONFIG_ICS932S401 is not set |
790 | # CONFIG_ENCLOSURE_SERVICES is not set | 812 | # CONFIG_ENCLOSURE_SERVICES is not set |
791 | # CONFIG_HP_ILO is not set | 813 | # CONFIG_HP_ILO is not set |
814 | # CONFIG_ISL29003 is not set | ||
792 | # CONFIG_C2PORT is not set | 815 | # CONFIG_C2PORT is not set |
793 | 816 | ||
794 | # | 817 | # |
@@ -842,6 +865,7 @@ CONFIG_SCSI_SPI_ATTRS=y | |||
842 | # CONFIG_SCSI_LOWLEVEL is not set | 865 | # CONFIG_SCSI_LOWLEVEL is not set |
843 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | 866 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |
844 | # CONFIG_SCSI_DH is not set | 867 | # CONFIG_SCSI_DH is not set |
868 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
845 | CONFIG_ATA=y | 869 | CONFIG_ATA=y |
846 | # CONFIG_ATA_NONSTANDARD is not set | 870 | # CONFIG_ATA_NONSTANDARD is not set |
847 | CONFIG_ATA_ACPI=y | 871 | CONFIG_ATA_ACPI=y |
@@ -940,6 +964,7 @@ CONFIG_DM_ZERO=y | |||
940 | CONFIG_MACINTOSH_DRIVERS=y | 964 | CONFIG_MACINTOSH_DRIVERS=y |
941 | CONFIG_MAC_EMUMOUSEBTN=y | 965 | CONFIG_MAC_EMUMOUSEBTN=y |
942 | CONFIG_NETDEVICES=y | 966 | CONFIG_NETDEVICES=y |
967 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
943 | # CONFIG_IFB is not set | 968 | # CONFIG_IFB is not set |
944 | # CONFIG_DUMMY is not set | 969 | # CONFIG_DUMMY is not set |
945 | # CONFIG_BONDING is not set | 970 | # CONFIG_BONDING is not set |
@@ -977,6 +1002,8 @@ CONFIG_MII=y | |||
977 | CONFIG_NET_VENDOR_3COM=y | 1002 | CONFIG_NET_VENDOR_3COM=y |
978 | # CONFIG_VORTEX is not set | 1003 | # CONFIG_VORTEX is not set |
979 | # CONFIG_TYPHOON is not set | 1004 | # CONFIG_TYPHOON is not set |
1005 | # CONFIG_ETHOC is not set | ||
1006 | # CONFIG_DNET is not set | ||
980 | CONFIG_NET_TULIP=y | 1007 | CONFIG_NET_TULIP=y |
981 | # CONFIG_DE2104X is not set | 1008 | # CONFIG_DE2104X is not set |
982 | # CONFIG_TULIP is not set | 1009 | # CONFIG_TULIP is not set |
@@ -1026,6 +1053,7 @@ CONFIG_E1000=y | |||
1026 | CONFIG_E1000E=y | 1053 | CONFIG_E1000E=y |
1027 | # CONFIG_IP1000 is not set | 1054 | # CONFIG_IP1000 is not set |
1028 | # CONFIG_IGB is not set | 1055 | # CONFIG_IGB is not set |
1056 | # CONFIG_IGBVF is not set | ||
1029 | # CONFIG_NS83820 is not set | 1057 | # CONFIG_NS83820 is not set |
1030 | # CONFIG_HAMACHI is not set | 1058 | # CONFIG_HAMACHI is not set |
1031 | # CONFIG_YELLOWFIN is not set | 1059 | # CONFIG_YELLOWFIN is not set |
@@ -1040,6 +1068,7 @@ CONFIG_BNX2=y | |||
1040 | # CONFIG_QLA3XXX is not set | 1068 | # CONFIG_QLA3XXX is not set |
1041 | # CONFIG_ATL1 is not set | 1069 | # CONFIG_ATL1 is not set |
1042 | # CONFIG_ATL1E is not set | 1070 | # CONFIG_ATL1E is not set |
1071 | # CONFIG_ATL1C is not set | ||
1043 | # CONFIG_JME is not set | 1072 | # CONFIG_JME is not set |
1044 | CONFIG_NETDEV_10000=y | 1073 | CONFIG_NETDEV_10000=y |
1045 | # CONFIG_CHELSIO_T1 is not set | 1074 | # CONFIG_CHELSIO_T1 is not set |
@@ -1049,6 +1078,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
1049 | # CONFIG_IXGBE is not set | 1078 | # CONFIG_IXGBE is not set |
1050 | # CONFIG_IXGB is not set | 1079 | # CONFIG_IXGB is not set |
1051 | # CONFIG_S2IO is not set | 1080 | # CONFIG_S2IO is not set |
1081 | # CONFIG_VXGE is not set | ||
1052 | # CONFIG_MYRI10GE is not set | 1082 | # CONFIG_MYRI10GE is not set |
1053 | # CONFIG_NETXEN_NIC is not set | 1083 | # CONFIG_NETXEN_NIC is not set |
1054 | # CONFIG_NIU is not set | 1084 | # CONFIG_NIU is not set |
@@ -1058,6 +1088,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
1058 | # CONFIG_BNX2X is not set | 1088 | # CONFIG_BNX2X is not set |
1059 | # CONFIG_QLGE is not set | 1089 | # CONFIG_QLGE is not set |
1060 | # CONFIG_SFC is not set | 1090 | # CONFIG_SFC is not set |
1091 | # CONFIG_BE2NET is not set | ||
1061 | CONFIG_TR=y | 1092 | CONFIG_TR=y |
1062 | # CONFIG_IBMOL is not set | 1093 | # CONFIG_IBMOL is not set |
1063 | # CONFIG_IBMLS is not set | 1094 | # CONFIG_IBMLS is not set |
@@ -1073,8 +1104,8 @@ CONFIG_WLAN_80211=y | |||
1073 | # CONFIG_LIBERTAS is not set | 1104 | # CONFIG_LIBERTAS is not set |
1074 | # CONFIG_LIBERTAS_THINFIRM is not set | 1105 | # CONFIG_LIBERTAS_THINFIRM is not set |
1075 | # CONFIG_AIRO is not set | 1106 | # CONFIG_AIRO is not set |
1076 | # CONFIG_HERMES is not set | ||
1077 | # CONFIG_ATMEL is not set | 1107 | # CONFIG_ATMEL is not set |
1108 | # CONFIG_AT76C50X_USB is not set | ||
1078 | # CONFIG_AIRO_CS is not set | 1109 | # CONFIG_AIRO_CS is not set |
1079 | # CONFIG_PCMCIA_WL3501 is not set | 1110 | # CONFIG_PCMCIA_WL3501 is not set |
1080 | # CONFIG_PRISM54 is not set | 1111 | # CONFIG_PRISM54 is not set |
@@ -1084,21 +1115,21 @@ CONFIG_WLAN_80211=y | |||
1084 | # CONFIG_RTL8187 is not set | 1115 | # CONFIG_RTL8187 is not set |
1085 | # CONFIG_ADM8211 is not set | 1116 | # CONFIG_ADM8211 is not set |
1086 | # CONFIG_MAC80211_HWSIM is not set | 1117 | # CONFIG_MAC80211_HWSIM is not set |
1118 | # CONFIG_MWL8K is not set | ||
1087 | # CONFIG_P54_COMMON is not set | 1119 | # CONFIG_P54_COMMON is not set |
1088 | CONFIG_ATH5K=y | 1120 | CONFIG_ATH5K=y |
1089 | # CONFIG_ATH5K_DEBUG is not set | 1121 | # CONFIG_ATH5K_DEBUG is not set |
1090 | # CONFIG_ATH9K is not set | 1122 | # CONFIG_ATH9K is not set |
1123 | # CONFIG_AR9170_USB is not set | ||
1091 | # CONFIG_IPW2100 is not set | 1124 | # CONFIG_IPW2100 is not set |
1092 | # CONFIG_IPW2200 is not set | 1125 | # CONFIG_IPW2200 is not set |
1093 | # CONFIG_IWLCORE is not set | 1126 | # CONFIG_IWLWIFI is not set |
1094 | # CONFIG_IWLWIFI_LEDS is not set | ||
1095 | # CONFIG_IWLAGN is not set | ||
1096 | # CONFIG_IWL3945 is not set | ||
1097 | # CONFIG_HOSTAP is not set | 1127 | # CONFIG_HOSTAP is not set |
1098 | # CONFIG_B43 is not set | 1128 | # CONFIG_B43 is not set |
1099 | # CONFIG_B43LEGACY is not set | 1129 | # CONFIG_B43LEGACY is not set |
1100 | # CONFIG_ZD1211RW is not set | 1130 | # CONFIG_ZD1211RW is not set |
1101 | # CONFIG_RT2X00 is not set | 1131 | # CONFIG_RT2X00 is not set |
1132 | # CONFIG_HERMES is not set | ||
1102 | 1133 | ||
1103 | # | 1134 | # |
1104 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 1135 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -1209,6 +1240,8 @@ CONFIG_INPUT_TABLET=y | |||
1209 | # CONFIG_TABLET_USB_KBTAB is not set | 1240 | # CONFIG_TABLET_USB_KBTAB is not set |
1210 | # CONFIG_TABLET_USB_WACOM is not set | 1241 | # CONFIG_TABLET_USB_WACOM is not set |
1211 | CONFIG_INPUT_TOUCHSCREEN=y | 1242 | CONFIG_INPUT_TOUCHSCREEN=y |
1243 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
1244 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
1212 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 1245 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
1213 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 1246 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
1214 | # CONFIG_TOUCHSCREEN_ELO is not set | 1247 | # CONFIG_TOUCHSCREEN_ELO is not set |
@@ -1303,6 +1336,7 @@ CONFIG_UNIX98_PTYS=y | |||
1303 | # CONFIG_LEGACY_PTYS is not set | 1336 | # CONFIG_LEGACY_PTYS is not set |
1304 | # CONFIG_IPMI_HANDLER is not set | 1337 | # CONFIG_IPMI_HANDLER is not set |
1305 | CONFIG_HW_RANDOM=y | 1338 | CONFIG_HW_RANDOM=y |
1339 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
1306 | CONFIG_HW_RANDOM_INTEL=y | 1340 | CONFIG_HW_RANDOM_INTEL=y |
1307 | CONFIG_HW_RANDOM_AMD=y | 1341 | CONFIG_HW_RANDOM_AMD=y |
1308 | CONFIG_HW_RANDOM_GEODE=y | 1342 | CONFIG_HW_RANDOM_GEODE=y |
@@ -1390,7 +1424,6 @@ CONFIG_I2C_I801=y | |||
1390 | # CONFIG_SENSORS_PCF8574 is not set | 1424 | # CONFIG_SENSORS_PCF8574 is not set |
1391 | # CONFIG_PCF8575 is not set | 1425 | # CONFIG_PCF8575 is not set |
1392 | # CONFIG_SENSORS_PCA9539 is not set | 1426 | # CONFIG_SENSORS_PCA9539 is not set |
1393 | # CONFIG_SENSORS_PCF8591 is not set | ||
1394 | # CONFIG_SENSORS_MAX6875 is not set | 1427 | # CONFIG_SENSORS_MAX6875 is not set |
1395 | # CONFIG_SENSORS_TSL2550 is not set | 1428 | # CONFIG_SENSORS_TSL2550 is not set |
1396 | # CONFIG_I2C_DEBUG_CORE is not set | 1429 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1424,6 +1457,7 @@ CONFIG_HWMON=y | |||
1424 | # CONFIG_SENSORS_ADT7475 is not set | 1457 | # CONFIG_SENSORS_ADT7475 is not set |
1425 | # CONFIG_SENSORS_K8TEMP is not set | 1458 | # CONFIG_SENSORS_K8TEMP is not set |
1426 | # CONFIG_SENSORS_ASB100 is not set | 1459 | # CONFIG_SENSORS_ASB100 is not set |
1460 | # CONFIG_SENSORS_ATK0110 is not set | ||
1427 | # CONFIG_SENSORS_ATXP1 is not set | 1461 | # CONFIG_SENSORS_ATXP1 is not set |
1428 | # CONFIG_SENSORS_DS1621 is not set | 1462 | # CONFIG_SENSORS_DS1621 is not set |
1429 | # CONFIG_SENSORS_I5K_AMB is not set | 1463 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1433,6 +1467,7 @@ CONFIG_HWMON=y | |||
1433 | # CONFIG_SENSORS_FSCHER is not set | 1467 | # CONFIG_SENSORS_FSCHER is not set |
1434 | # CONFIG_SENSORS_FSCPOS is not set | 1468 | # CONFIG_SENSORS_FSCPOS is not set |
1435 | # CONFIG_SENSORS_FSCHMD is not set | 1469 | # CONFIG_SENSORS_FSCHMD is not set |
1470 | # CONFIG_SENSORS_G760A is not set | ||
1436 | # CONFIG_SENSORS_GL518SM is not set | 1471 | # CONFIG_SENSORS_GL518SM is not set |
1437 | # CONFIG_SENSORS_GL520SM is not set | 1472 | # CONFIG_SENSORS_GL520SM is not set |
1438 | # CONFIG_SENSORS_CORETEMP is not set | 1473 | # CONFIG_SENSORS_CORETEMP is not set |
@@ -1448,11 +1483,14 @@ CONFIG_HWMON=y | |||
1448 | # CONFIG_SENSORS_LM90 is not set | 1483 | # CONFIG_SENSORS_LM90 is not set |
1449 | # CONFIG_SENSORS_LM92 is not set | 1484 | # CONFIG_SENSORS_LM92 is not set |
1450 | # CONFIG_SENSORS_LM93 is not set | 1485 | # CONFIG_SENSORS_LM93 is not set |
1486 | # CONFIG_SENSORS_LTC4215 is not set | ||
1451 | # CONFIG_SENSORS_LTC4245 is not set | 1487 | # CONFIG_SENSORS_LTC4245 is not set |
1488 | # CONFIG_SENSORS_LM95241 is not set | ||
1452 | # CONFIG_SENSORS_MAX1619 is not set | 1489 | # CONFIG_SENSORS_MAX1619 is not set |
1453 | # CONFIG_SENSORS_MAX6650 is not set | 1490 | # CONFIG_SENSORS_MAX6650 is not set |
1454 | # CONFIG_SENSORS_PC87360 is not set | 1491 | # CONFIG_SENSORS_PC87360 is not set |
1455 | # CONFIG_SENSORS_PC87427 is not set | 1492 | # CONFIG_SENSORS_PC87427 is not set |
1493 | # CONFIG_SENSORS_PCF8591 is not set | ||
1456 | # CONFIG_SENSORS_SIS5595 is not set | 1494 | # CONFIG_SENSORS_SIS5595 is not set |
1457 | # CONFIG_SENSORS_DME1737 is not set | 1495 | # CONFIG_SENSORS_DME1737 is not set |
1458 | # CONFIG_SENSORS_SMSC47M1 is not set | 1496 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1643,7 +1681,6 @@ CONFIG_FB_EFI=y | |||
1643 | # CONFIG_FB_3DFX is not set | 1681 | # CONFIG_FB_3DFX is not set |
1644 | # CONFIG_FB_VOODOO1 is not set | 1682 | # CONFIG_FB_VOODOO1 is not set |
1645 | # CONFIG_FB_VT8623 is not set | 1683 | # CONFIG_FB_VT8623 is not set |
1646 | # CONFIG_FB_CYBLA is not set | ||
1647 | # CONFIG_FB_TRIDENT is not set | 1684 | # CONFIG_FB_TRIDENT is not set |
1648 | # CONFIG_FB_ARK is not set | 1685 | # CONFIG_FB_ARK is not set |
1649 | # CONFIG_FB_PM3 is not set | 1686 | # CONFIG_FB_PM3 is not set |
@@ -1652,6 +1689,7 @@ CONFIG_FB_EFI=y | |||
1652 | # CONFIG_FB_VIRTUAL is not set | 1689 | # CONFIG_FB_VIRTUAL is not set |
1653 | # CONFIG_FB_METRONOME is not set | 1690 | # CONFIG_FB_METRONOME is not set |
1654 | # CONFIG_FB_MB862XX is not set | 1691 | # CONFIG_FB_MB862XX is not set |
1692 | # CONFIG_FB_BROADSHEET is not set | ||
1655 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 1693 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
1656 | # CONFIG_LCD_CLASS_DEVICE is not set | 1694 | # CONFIG_LCD_CLASS_DEVICE is not set |
1657 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | 1695 | CONFIG_BACKLIGHT_CLASS_DEVICE=y |
@@ -1738,6 +1776,8 @@ CONFIG_SND_PCI=y | |||
1738 | # CONFIG_SND_INDIGO is not set | 1776 | # CONFIG_SND_INDIGO is not set |
1739 | # CONFIG_SND_INDIGOIO is not set | 1777 | # CONFIG_SND_INDIGOIO is not set |
1740 | # CONFIG_SND_INDIGODJ is not set | 1778 | # CONFIG_SND_INDIGODJ is not set |
1779 | # CONFIG_SND_INDIGOIOX is not set | ||
1780 | # CONFIG_SND_INDIGODJX is not set | ||
1741 | # CONFIG_SND_EMU10K1 is not set | 1781 | # CONFIG_SND_EMU10K1 is not set |
1742 | # CONFIG_SND_EMU10K1X is not set | 1782 | # CONFIG_SND_EMU10K1X is not set |
1743 | # CONFIG_SND_ENS1370 is not set | 1783 | # CONFIG_SND_ENS1370 is not set |
@@ -1811,15 +1851,17 @@ CONFIG_USB_HIDDEV=y | |||
1811 | # | 1851 | # |
1812 | # Special HID drivers | 1852 | # Special HID drivers |
1813 | # | 1853 | # |
1814 | CONFIG_HID_COMPAT=y | ||
1815 | CONFIG_HID_A4TECH=y | 1854 | CONFIG_HID_A4TECH=y |
1816 | CONFIG_HID_APPLE=y | 1855 | CONFIG_HID_APPLE=y |
1817 | CONFIG_HID_BELKIN=y | 1856 | CONFIG_HID_BELKIN=y |
1818 | CONFIG_HID_CHERRY=y | 1857 | CONFIG_HID_CHERRY=y |
1819 | CONFIG_HID_CHICONY=y | 1858 | CONFIG_HID_CHICONY=y |
1820 | CONFIG_HID_CYPRESS=y | 1859 | CONFIG_HID_CYPRESS=y |
1860 | # CONFIG_DRAGONRISE_FF is not set | ||
1821 | CONFIG_HID_EZKEY=y | 1861 | CONFIG_HID_EZKEY=y |
1862 | CONFIG_HID_KYE=y | ||
1822 | CONFIG_HID_GYRATION=y | 1863 | CONFIG_HID_GYRATION=y |
1864 | CONFIG_HID_KENSINGTON=y | ||
1823 | CONFIG_HID_LOGITECH=y | 1865 | CONFIG_HID_LOGITECH=y |
1824 | CONFIG_LOGITECH_FF=y | 1866 | CONFIG_LOGITECH_FF=y |
1825 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1867 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1885,11 +1927,11 @@ CONFIG_USB_PRINTER=y | |||
1885 | # CONFIG_USB_TMC is not set | 1927 | # CONFIG_USB_TMC is not set |
1886 | 1928 | ||
1887 | # | 1929 | # |
1888 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1930 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1889 | # | 1931 | # |
1890 | 1932 | ||
1891 | # | 1933 | # |
1892 | # see USB_STORAGE Help for more information | 1934 | # also be needed; see USB_STORAGE Help for more info |
1893 | # | 1935 | # |
1894 | CONFIG_USB_STORAGE=y | 1936 | CONFIG_USB_STORAGE=y |
1895 | # CONFIG_USB_STORAGE_DEBUG is not set | 1937 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1931,7 +1973,6 @@ CONFIG_USB_LIBUSUAL=y | |||
1931 | # CONFIG_USB_LED is not set | 1973 | # CONFIG_USB_LED is not set |
1932 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1974 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1933 | # CONFIG_USB_CYTHERM is not set | 1975 | # CONFIG_USB_CYTHERM is not set |
1934 | # CONFIG_USB_PHIDGET is not set | ||
1935 | # CONFIG_USB_IDMOUSE is not set | 1976 | # CONFIG_USB_IDMOUSE is not set |
1936 | # CONFIG_USB_FTDI_ELAN is not set | 1977 | # CONFIG_USB_FTDI_ELAN is not set |
1937 | # CONFIG_USB_APPLEDISPLAY is not set | 1978 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1947,6 +1988,7 @@ CONFIG_USB_LIBUSUAL=y | |||
1947 | # | 1988 | # |
1948 | # OTG and related infrastructure | 1989 | # OTG and related infrastructure |
1949 | # | 1990 | # |
1991 | # CONFIG_NOP_USB_XCEIV is not set | ||
1950 | # CONFIG_UWB is not set | 1992 | # CONFIG_UWB is not set |
1951 | # CONFIG_MMC is not set | 1993 | # CONFIG_MMC is not set |
1952 | # CONFIG_MEMSTICK is not set | 1994 | # CONFIG_MEMSTICK is not set |
@@ -1958,8 +2000,10 @@ CONFIG_LEDS_CLASS=y | |||
1958 | # | 2000 | # |
1959 | # CONFIG_LEDS_ALIX2 is not set | 2001 | # CONFIG_LEDS_ALIX2 is not set |
1960 | # CONFIG_LEDS_PCA9532 is not set | 2002 | # CONFIG_LEDS_PCA9532 is not set |
2003 | # CONFIG_LEDS_LP5521 is not set | ||
1961 | # CONFIG_LEDS_CLEVO_MAIL is not set | 2004 | # CONFIG_LEDS_CLEVO_MAIL is not set |
1962 | # CONFIG_LEDS_PCA955X is not set | 2005 | # CONFIG_LEDS_PCA955X is not set |
2006 | # CONFIG_LEDS_BD2802 is not set | ||
1963 | 2007 | ||
1964 | # | 2008 | # |
1965 | # LED Triggers | 2009 | # LED Triggers |
@@ -1969,6 +2013,10 @@ CONFIG_LEDS_TRIGGERS=y | |||
1969 | # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set | 2013 | # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set |
1970 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | 2014 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set |
1971 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | 2015 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set |
2016 | |||
2017 | # | ||
2018 | # iptables trigger is under Netfilter config (LED target) | ||
2019 | # | ||
1972 | # CONFIG_ACCESSIBILITY is not set | 2020 | # CONFIG_ACCESSIBILITY is not set |
1973 | # CONFIG_INFINIBAND is not set | 2021 | # CONFIG_INFINIBAND is not set |
1974 | CONFIG_EDAC=y | 2022 | CONFIG_EDAC=y |
@@ -2037,6 +2085,7 @@ CONFIG_DMADEVICES=y | |||
2037 | # DMA Devices | 2085 | # DMA Devices |
2038 | # | 2086 | # |
2039 | # CONFIG_INTEL_IOATDMA is not set | 2087 | # CONFIG_INTEL_IOATDMA is not set |
2088 | # CONFIG_AUXDISPLAY is not set | ||
2040 | # CONFIG_UIO is not set | 2089 | # CONFIG_UIO is not set |
2041 | # CONFIG_STAGING is not set | 2090 | # CONFIG_STAGING is not set |
2042 | CONFIG_X86_PLATFORM_DEVICES=y | 2091 | CONFIG_X86_PLATFORM_DEVICES=y |
@@ -2071,6 +2120,7 @@ CONFIG_DMIID=y | |||
2071 | # | 2120 | # |
2072 | # CONFIG_EXT2_FS is not set | 2121 | # CONFIG_EXT2_FS is not set |
2073 | CONFIG_EXT3_FS=y | 2122 | CONFIG_EXT3_FS=y |
2123 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
2074 | CONFIG_EXT3_FS_XATTR=y | 2124 | CONFIG_EXT3_FS_XATTR=y |
2075 | CONFIG_EXT3_FS_POSIX_ACL=y | 2125 | CONFIG_EXT3_FS_POSIX_ACL=y |
2076 | CONFIG_EXT3_FS_SECURITY=y | 2126 | CONFIG_EXT3_FS_SECURITY=y |
@@ -2101,6 +2151,11 @@ CONFIG_AUTOFS4_FS=y | |||
2101 | CONFIG_GENERIC_ACL=y | 2151 | CONFIG_GENERIC_ACL=y |
2102 | 2152 | ||
2103 | # | 2153 | # |
2154 | # Caches | ||
2155 | # | ||
2156 | # CONFIG_FSCACHE is not set | ||
2157 | |||
2158 | # | ||
2104 | # CD-ROM/DVD Filesystems | 2159 | # CD-ROM/DVD Filesystems |
2105 | # | 2160 | # |
2106 | CONFIG_ISO9660_FS=y | 2161 | CONFIG_ISO9660_FS=y |
@@ -2151,6 +2206,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
2151 | # CONFIG_ROMFS_FS is not set | 2206 | # CONFIG_ROMFS_FS is not set |
2152 | # CONFIG_SYSV_FS is not set | 2207 | # CONFIG_SYSV_FS is not set |
2153 | # CONFIG_UFS_FS is not set | 2208 | # CONFIG_UFS_FS is not set |
2209 | # CONFIG_NILFS2_FS is not set | ||
2154 | CONFIG_NETWORK_FILESYSTEMS=y | 2210 | CONFIG_NETWORK_FILESYSTEMS=y |
2155 | CONFIG_NFS_FS=y | 2211 | CONFIG_NFS_FS=y |
2156 | CONFIG_NFS_V3=y | 2212 | CONFIG_NFS_V3=y |
@@ -2164,7 +2220,6 @@ CONFIG_NFS_ACL_SUPPORT=y | |||
2164 | CONFIG_NFS_COMMON=y | 2220 | CONFIG_NFS_COMMON=y |
2165 | CONFIG_SUNRPC=y | 2221 | CONFIG_SUNRPC=y |
2166 | CONFIG_SUNRPC_GSS=y | 2222 | CONFIG_SUNRPC_GSS=y |
2167 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
2168 | CONFIG_RPCSEC_GSS_KRB5=y | 2223 | CONFIG_RPCSEC_GSS_KRB5=y |
2169 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 2224 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
2170 | # CONFIG_SMB_FS is not set | 2225 | # CONFIG_SMB_FS is not set |
@@ -2251,6 +2306,7 @@ CONFIG_DEBUG_FS=y | |||
2251 | CONFIG_DEBUG_KERNEL=y | 2306 | CONFIG_DEBUG_KERNEL=y |
2252 | # CONFIG_DEBUG_SHIRQ is not set | 2307 | # CONFIG_DEBUG_SHIRQ is not set |
2253 | # CONFIG_DETECT_SOFTLOCKUP is not set | 2308 | # CONFIG_DETECT_SOFTLOCKUP is not set |
2309 | # CONFIG_DETECT_HUNG_TASK is not set | ||
2254 | # CONFIG_SCHED_DEBUG is not set | 2310 | # CONFIG_SCHED_DEBUG is not set |
2255 | CONFIG_SCHEDSTATS=y | 2311 | CONFIG_SCHEDSTATS=y |
2256 | CONFIG_TIMER_STATS=y | 2312 | CONFIG_TIMER_STATS=y |
@@ -2266,6 +2322,7 @@ CONFIG_TIMER_STATS=y | |||
2266 | # CONFIG_LOCK_STAT is not set | 2322 | # CONFIG_LOCK_STAT is not set |
2267 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 2323 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
2268 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 2324 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
2325 | CONFIG_STACKTRACE=y | ||
2269 | # CONFIG_DEBUG_KOBJECT is not set | 2326 | # CONFIG_DEBUG_KOBJECT is not set |
2270 | # CONFIG_DEBUG_HIGHMEM is not set | 2327 | # CONFIG_DEBUG_HIGHMEM is not set |
2271 | CONFIG_DEBUG_BUGVERBOSE=y | 2328 | CONFIG_DEBUG_BUGVERBOSE=y |
@@ -2289,13 +2346,19 @@ CONFIG_FRAME_POINTER=y | |||
2289 | # CONFIG_FAULT_INJECTION is not set | 2346 | # CONFIG_FAULT_INJECTION is not set |
2290 | # CONFIG_LATENCYTOP is not set | 2347 | # CONFIG_LATENCYTOP is not set |
2291 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 2348 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
2349 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
2292 | CONFIG_USER_STACKTRACE_SUPPORT=y | 2350 | CONFIG_USER_STACKTRACE_SUPPORT=y |
2351 | CONFIG_NOP_TRACER=y | ||
2293 | CONFIG_HAVE_FUNCTION_TRACER=y | 2352 | CONFIG_HAVE_FUNCTION_TRACER=y |
2294 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 2353 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
2295 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 2354 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
2296 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 2355 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
2297 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 2356 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
2298 | CONFIG_HAVE_HW_BRANCH_TRACER=y | 2357 | CONFIG_HAVE_HW_BRANCH_TRACER=y |
2358 | CONFIG_HAVE_FTRACE_SYSCALLS=y | ||
2359 | CONFIG_RING_BUFFER=y | ||
2360 | CONFIG_TRACING=y | ||
2361 | CONFIG_TRACING_SUPPORT=y | ||
2299 | 2362 | ||
2300 | # | 2363 | # |
2301 | # Tracers | 2364 | # Tracers |
@@ -2305,13 +2368,21 @@ CONFIG_HAVE_HW_BRANCH_TRACER=y | |||
2305 | # CONFIG_SYSPROF_TRACER is not set | 2368 | # CONFIG_SYSPROF_TRACER is not set |
2306 | # CONFIG_SCHED_TRACER is not set | 2369 | # CONFIG_SCHED_TRACER is not set |
2307 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 2370 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
2371 | # CONFIG_EVENT_TRACER is not set | ||
2372 | # CONFIG_FTRACE_SYSCALLS is not set | ||
2308 | # CONFIG_BOOT_TRACER is not set | 2373 | # CONFIG_BOOT_TRACER is not set |
2309 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 2374 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
2310 | # CONFIG_POWER_TRACER is not set | 2375 | # CONFIG_POWER_TRACER is not set |
2311 | # CONFIG_STACK_TRACER is not set | 2376 | # CONFIG_STACK_TRACER is not set |
2312 | # CONFIG_HW_BRANCH_TRACER is not set | 2377 | # CONFIG_HW_BRANCH_TRACER is not set |
2378 | # CONFIG_KMEMTRACE is not set | ||
2379 | # CONFIG_WORKQUEUE_TRACER is not set | ||
2380 | CONFIG_BLK_DEV_IO_TRACE=y | ||
2381 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
2382 | # CONFIG_MMIOTRACE is not set | ||
2313 | CONFIG_PROVIDE_OHCI1394_DMA_INIT=y | 2383 | CONFIG_PROVIDE_OHCI1394_DMA_INIT=y |
2314 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 2384 | # CONFIG_DYNAMIC_DEBUG is not set |
2385 | # CONFIG_DMA_API_DEBUG is not set | ||
2315 | # CONFIG_SAMPLES is not set | 2386 | # CONFIG_SAMPLES is not set |
2316 | CONFIG_HAVE_ARCH_KGDB=y | 2387 | CONFIG_HAVE_ARCH_KGDB=y |
2317 | # CONFIG_KGDB is not set | 2388 | # CONFIG_KGDB is not set |
@@ -2321,7 +2392,6 @@ CONFIG_EARLY_PRINTK=y | |||
2321 | CONFIG_EARLY_PRINTK_DBGP=y | 2392 | CONFIG_EARLY_PRINTK_DBGP=y |
2322 | CONFIG_DEBUG_STACKOVERFLOW=y | 2393 | CONFIG_DEBUG_STACKOVERFLOW=y |
2323 | CONFIG_DEBUG_STACK_USAGE=y | 2394 | CONFIG_DEBUG_STACK_USAGE=y |
2324 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
2325 | # CONFIG_DEBUG_PER_CPU_MAPS is not set | 2395 | # CONFIG_DEBUG_PER_CPU_MAPS is not set |
2326 | # CONFIG_X86_PTDUMP is not set | 2396 | # CONFIG_X86_PTDUMP is not set |
2327 | CONFIG_DEBUG_RODATA=y | 2397 | CONFIG_DEBUG_RODATA=y |
@@ -2329,7 +2399,7 @@ CONFIG_DEBUG_RODATA=y | |||
2329 | CONFIG_DEBUG_NX_TEST=m | 2399 | CONFIG_DEBUG_NX_TEST=m |
2330 | # CONFIG_4KSTACKS is not set | 2400 | # CONFIG_4KSTACKS is not set |
2331 | CONFIG_DOUBLEFAULT=y | 2401 | CONFIG_DOUBLEFAULT=y |
2332 | # CONFIG_MMIOTRACE is not set | 2402 | CONFIG_HAVE_MMIOTRACE_SUPPORT=y |
2333 | CONFIG_IO_DELAY_TYPE_0X80=0 | 2403 | CONFIG_IO_DELAY_TYPE_0X80=0 |
2334 | CONFIG_IO_DELAY_TYPE_0XED=1 | 2404 | CONFIG_IO_DELAY_TYPE_0XED=1 |
2335 | CONFIG_IO_DELAY_TYPE_UDELAY=2 | 2405 | CONFIG_IO_DELAY_TYPE_UDELAY=2 |
@@ -2365,6 +2435,8 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y | |||
2365 | CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 | 2435 | CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 |
2366 | # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set | 2436 | # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set |
2367 | # CONFIG_SECURITY_SMACK is not set | 2437 | # CONFIG_SECURITY_SMACK is not set |
2438 | # CONFIG_SECURITY_TOMOYO is not set | ||
2439 | # CONFIG_IMA is not set | ||
2368 | CONFIG_CRYPTO=y | 2440 | CONFIG_CRYPTO=y |
2369 | 2441 | ||
2370 | # | 2442 | # |
@@ -2380,10 +2452,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
2380 | CONFIG_CRYPTO_HASH=y | 2452 | CONFIG_CRYPTO_HASH=y |
2381 | CONFIG_CRYPTO_HASH2=y | 2453 | CONFIG_CRYPTO_HASH2=y |
2382 | CONFIG_CRYPTO_RNG2=y | 2454 | CONFIG_CRYPTO_RNG2=y |
2455 | CONFIG_CRYPTO_PCOMP=y | ||
2383 | CONFIG_CRYPTO_MANAGER=y | 2456 | CONFIG_CRYPTO_MANAGER=y |
2384 | CONFIG_CRYPTO_MANAGER2=y | 2457 | CONFIG_CRYPTO_MANAGER2=y |
2385 | # CONFIG_CRYPTO_GF128MUL is not set | 2458 | # CONFIG_CRYPTO_GF128MUL is not set |
2386 | # CONFIG_CRYPTO_NULL is not set | 2459 | # CONFIG_CRYPTO_NULL is not set |
2460 | CONFIG_CRYPTO_WORKQUEUE=y | ||
2387 | # CONFIG_CRYPTO_CRYPTD is not set | 2461 | # CONFIG_CRYPTO_CRYPTD is not set |
2388 | CONFIG_CRYPTO_AUTHENC=y | 2462 | CONFIG_CRYPTO_AUTHENC=y |
2389 | # CONFIG_CRYPTO_TEST is not set | 2463 | # CONFIG_CRYPTO_TEST is not set |
@@ -2456,6 +2530,7 @@ CONFIG_CRYPTO_DES=y | |||
2456 | # Compression | 2530 | # Compression |
2457 | # | 2531 | # |
2458 | # CONFIG_CRYPTO_DEFLATE is not set | 2532 | # CONFIG_CRYPTO_DEFLATE is not set |
2533 | # CONFIG_CRYPTO_ZLIB is not set | ||
2459 | # CONFIG_CRYPTO_LZO is not set | 2534 | # CONFIG_CRYPTO_LZO is not set |
2460 | 2535 | ||
2461 | # | 2536 | # |
@@ -2467,11 +2542,13 @@ CONFIG_CRYPTO_HW=y | |||
2467 | # CONFIG_CRYPTO_DEV_GEODE is not set | 2542 | # CONFIG_CRYPTO_DEV_GEODE is not set |
2468 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 2543 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
2469 | CONFIG_HAVE_KVM=y | 2544 | CONFIG_HAVE_KVM=y |
2545 | CONFIG_HAVE_KVM_IRQCHIP=y | ||
2470 | CONFIG_VIRTUALIZATION=y | 2546 | CONFIG_VIRTUALIZATION=y |
2471 | # CONFIG_KVM is not set | 2547 | # CONFIG_KVM is not set |
2472 | # CONFIG_LGUEST is not set | 2548 | # CONFIG_LGUEST is not set |
2473 | # CONFIG_VIRTIO_PCI is not set | 2549 | # CONFIG_VIRTIO_PCI is not set |
2474 | # CONFIG_VIRTIO_BALLOON is not set | 2550 | # CONFIG_VIRTIO_BALLOON is not set |
2551 | CONFIG_BINARY_PRINTF=y | ||
2475 | 2552 | ||
2476 | # | 2553 | # |
2477 | # Library routines | 2554 | # Library routines |
@@ -2489,7 +2566,10 @@ CONFIG_CRC32=y | |||
2489 | # CONFIG_LIBCRC32C is not set | 2566 | # CONFIG_LIBCRC32C is not set |
2490 | CONFIG_AUDIT_GENERIC=y | 2567 | CONFIG_AUDIT_GENERIC=y |
2491 | CONFIG_ZLIB_INFLATE=y | 2568 | CONFIG_ZLIB_INFLATE=y |
2492 | CONFIG_PLIST=y | 2569 | CONFIG_DECOMPRESS_GZIP=y |
2570 | CONFIG_DECOMPRESS_BZIP2=y | ||
2571 | CONFIG_DECOMPRESS_LZMA=y | ||
2493 | CONFIG_HAS_IOMEM=y | 2572 | CONFIG_HAS_IOMEM=y |
2494 | CONFIG_HAS_IOPORT=y | 2573 | CONFIG_HAS_IOPORT=y |
2495 | CONFIG_HAS_DMA=y | 2574 | CONFIG_HAS_DMA=y |
2575 | CONFIG_NLATTR=y | ||
diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig index 27b8ce0f5908..cee1dd2e69b2 100644 --- a/arch/x86/configs/x86_64_defconfig +++ b/arch/x86/configs/x86_64_defconfig | |||
@@ -1,12 +1,13 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc4 | 3 | # Linux kernel version: 2.6.30-rc2 |
4 | # Tue Feb 24 15:44:16 2009 | 4 | # Mon May 11 16:22:00 2009 |
5 | # | 5 | # |
6 | CONFIG_64BIT=y | 6 | CONFIG_64BIT=y |
7 | # CONFIG_X86_32 is not set | 7 | # CONFIG_X86_32 is not set |
8 | CONFIG_X86_64=y | 8 | CONFIG_X86_64=y |
9 | CONFIG_X86=y | 9 | CONFIG_X86=y |
10 | CONFIG_OUTPUT_FORMAT="elf64-x86-64" | ||
10 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" | 11 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" |
11 | CONFIG_GENERIC_TIME=y | 12 | CONFIG_GENERIC_TIME=y |
12 | CONFIG_GENERIC_CMOS_UPDATE=y | 13 | CONFIG_GENERIC_CMOS_UPDATE=y |
@@ -34,6 +35,7 @@ CONFIG_ARCH_HAS_CPU_RELAX=y | |||
34 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 35 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
35 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y | 36 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y |
36 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 37 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
38 | CONFIG_HAVE_DYNAMIC_PER_CPU_AREA=y | ||
37 | CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y | 39 | CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y |
38 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 40 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
39 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 41 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
@@ -41,14 +43,14 @@ CONFIG_ZONE_DMA32=y | |||
41 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 43 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
42 | CONFIG_AUDIT_ARCH=y | 44 | CONFIG_AUDIT_ARCH=y |
43 | CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y | 45 | CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y |
46 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
44 | CONFIG_GENERIC_HARDIRQS=y | 47 | CONFIG_GENERIC_HARDIRQS=y |
48 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
45 | CONFIG_GENERIC_IRQ_PROBE=y | 49 | CONFIG_GENERIC_IRQ_PROBE=y |
46 | CONFIG_GENERIC_PENDING_IRQ=y | 50 | CONFIG_GENERIC_PENDING_IRQ=y |
47 | CONFIG_X86_SMP=y | ||
48 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 51 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
49 | CONFIG_X86_64_SMP=y | 52 | CONFIG_X86_64_SMP=y |
50 | CONFIG_X86_HT=y | 53 | CONFIG_X86_HT=y |
51 | CONFIG_X86_BIOS_REBOOT=y | ||
52 | CONFIG_X86_TRAMPOLINE=y | 54 | CONFIG_X86_TRAMPOLINE=y |
53 | # CONFIG_KTIME_SCALAR is not set | 55 | # CONFIG_KTIME_SCALAR is not set |
54 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 56 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
@@ -61,10 +63,17 @@ CONFIG_LOCK_KERNEL=y | |||
61 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 63 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
62 | CONFIG_LOCALVERSION="" | 64 | CONFIG_LOCALVERSION="" |
63 | # CONFIG_LOCALVERSION_AUTO is not set | 65 | # CONFIG_LOCALVERSION_AUTO is not set |
66 | CONFIG_HAVE_KERNEL_GZIP=y | ||
67 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
68 | CONFIG_HAVE_KERNEL_LZMA=y | ||
69 | CONFIG_KERNEL_GZIP=y | ||
70 | # CONFIG_KERNEL_BZIP2 is not set | ||
71 | # CONFIG_KERNEL_LZMA is not set | ||
64 | CONFIG_SWAP=y | 72 | CONFIG_SWAP=y |
65 | CONFIG_SYSVIPC=y | 73 | CONFIG_SYSVIPC=y |
66 | CONFIG_SYSVIPC_SYSCTL=y | 74 | CONFIG_SYSVIPC_SYSCTL=y |
67 | CONFIG_POSIX_MQUEUE=y | 75 | CONFIG_POSIX_MQUEUE=y |
76 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
68 | CONFIG_BSD_PROCESS_ACCT=y | 77 | CONFIG_BSD_PROCESS_ACCT=y |
69 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 78 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
70 | CONFIG_TASKSTATS=y | 79 | CONFIG_TASKSTATS=y |
@@ -114,23 +123,26 @@ CONFIG_PID_NS=y | |||
114 | CONFIG_NET_NS=y | 123 | CONFIG_NET_NS=y |
115 | CONFIG_BLK_DEV_INITRD=y | 124 | CONFIG_BLK_DEV_INITRD=y |
116 | CONFIG_INITRAMFS_SOURCE="" | 125 | CONFIG_INITRAMFS_SOURCE="" |
126 | CONFIG_RD_GZIP=y | ||
127 | CONFIG_RD_BZIP2=y | ||
128 | CONFIG_RD_LZMA=y | ||
117 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 129 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
118 | CONFIG_SYSCTL=y | 130 | CONFIG_SYSCTL=y |
131 | CONFIG_ANON_INODES=y | ||
119 | # CONFIG_EMBEDDED is not set | 132 | # CONFIG_EMBEDDED is not set |
120 | CONFIG_UID16=y | 133 | CONFIG_UID16=y |
121 | CONFIG_SYSCTL_SYSCALL=y | 134 | CONFIG_SYSCTL_SYSCALL=y |
122 | CONFIG_KALLSYMS=y | 135 | CONFIG_KALLSYMS=y |
123 | CONFIG_KALLSYMS_ALL=y | 136 | CONFIG_KALLSYMS_ALL=y |
124 | CONFIG_KALLSYMS_EXTRA_PASS=y | 137 | CONFIG_KALLSYMS_EXTRA_PASS=y |
138 | # CONFIG_STRIP_ASM_SYMS is not set | ||
125 | CONFIG_HOTPLUG=y | 139 | CONFIG_HOTPLUG=y |
126 | CONFIG_PRINTK=y | 140 | CONFIG_PRINTK=y |
127 | CONFIG_BUG=y | 141 | CONFIG_BUG=y |
128 | CONFIG_ELF_CORE=y | 142 | CONFIG_ELF_CORE=y |
129 | CONFIG_PCSPKR_PLATFORM=y | 143 | CONFIG_PCSPKR_PLATFORM=y |
130 | # CONFIG_COMPAT_BRK is not set | ||
131 | CONFIG_BASE_FULL=y | 144 | CONFIG_BASE_FULL=y |
132 | CONFIG_FUTEX=y | 145 | CONFIG_FUTEX=y |
133 | CONFIG_ANON_INODES=y | ||
134 | CONFIG_EPOLL=y | 146 | CONFIG_EPOLL=y |
135 | CONFIG_SIGNALFD=y | 147 | CONFIG_SIGNALFD=y |
136 | CONFIG_TIMERFD=y | 148 | CONFIG_TIMERFD=y |
@@ -140,6 +152,7 @@ CONFIG_AIO=y | |||
140 | CONFIG_VM_EVENT_COUNTERS=y | 152 | CONFIG_VM_EVENT_COUNTERS=y |
141 | CONFIG_PCI_QUIRKS=y | 153 | CONFIG_PCI_QUIRKS=y |
142 | CONFIG_SLUB_DEBUG=y | 154 | CONFIG_SLUB_DEBUG=y |
155 | # CONFIG_COMPAT_BRK is not set | ||
143 | # CONFIG_SLAB is not set | 156 | # CONFIG_SLAB is not set |
144 | CONFIG_SLUB=y | 157 | CONFIG_SLUB=y |
145 | # CONFIG_SLOB is not set | 158 | # CONFIG_SLOB is not set |
@@ -155,6 +168,8 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
155 | CONFIG_HAVE_KPROBES=y | 168 | CONFIG_HAVE_KPROBES=y |
156 | CONFIG_HAVE_KRETPROBES=y | 169 | CONFIG_HAVE_KRETPROBES=y |
157 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 170 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
171 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
172 | # CONFIG_SLOW_WORK is not set | ||
158 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 173 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
159 | CONFIG_SLABINFO=y | 174 | CONFIG_SLABINFO=y |
160 | CONFIG_RT_MUTEXES=y | 175 | CONFIG_RT_MUTEXES=y |
@@ -167,7 +182,6 @@ CONFIG_MODULE_FORCE_UNLOAD=y | |||
167 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 182 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
168 | CONFIG_STOP_MACHINE=y | 183 | CONFIG_STOP_MACHINE=y |
169 | CONFIG_BLOCK=y | 184 | CONFIG_BLOCK=y |
170 | CONFIG_BLK_DEV_IO_TRACE=y | ||
171 | CONFIG_BLK_DEV_BSG=y | 185 | CONFIG_BLK_DEV_BSG=y |
172 | # CONFIG_BLK_DEV_INTEGRITY is not set | 186 | # CONFIG_BLK_DEV_INTEGRITY is not set |
173 | CONFIG_BLOCK_COMPAT=y | 187 | CONFIG_BLOCK_COMPAT=y |
@@ -195,11 +209,10 @@ CONFIG_HIGH_RES_TIMERS=y | |||
195 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 209 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
196 | CONFIG_SMP=y | 210 | CONFIG_SMP=y |
197 | CONFIG_SPARSE_IRQ=y | 211 | CONFIG_SPARSE_IRQ=y |
198 | CONFIG_X86_FIND_SMP_CONFIG=y | ||
199 | CONFIG_X86_MPPARSE=y | 212 | CONFIG_X86_MPPARSE=y |
200 | # CONFIG_X86_ELAN is not set | 213 | CONFIG_X86_EXTENDED_PLATFORM=y |
201 | # CONFIG_X86_GENERICARCH is not set | ||
202 | # CONFIG_X86_VSMP is not set | 214 | # CONFIG_X86_VSMP is not set |
215 | # CONFIG_X86_UV is not set | ||
203 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | 216 | CONFIG_SCHED_OMIT_FRAME_POINTER=y |
204 | # CONFIG_PARAVIRT_GUEST is not set | 217 | # CONFIG_PARAVIRT_GUEST is not set |
205 | # CONFIG_MEMTEST is not set | 218 | # CONFIG_MEMTEST is not set |
@@ -229,10 +242,10 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y | |||
229 | # CONFIG_MCORE2 is not set | 242 | # CONFIG_MCORE2 is not set |
230 | CONFIG_GENERIC_CPU=y | 243 | CONFIG_GENERIC_CPU=y |
231 | CONFIG_X86_CPU=y | 244 | CONFIG_X86_CPU=y |
232 | CONFIG_X86_L1_CACHE_BYTES=128 | 245 | CONFIG_X86_L1_CACHE_BYTES=64 |
233 | CONFIG_X86_INTERNODE_CACHE_BYTES=128 | 246 | CONFIG_X86_INTERNODE_CACHE_BYTES=64 |
234 | CONFIG_X86_CMPXCHG=y | 247 | CONFIG_X86_CMPXCHG=y |
235 | CONFIG_X86_L1_CACHE_SHIFT=7 | 248 | CONFIG_X86_L1_CACHE_SHIFT=6 |
236 | CONFIG_X86_WP_WORKS_OK=y | 249 | CONFIG_X86_WP_WORKS_OK=y |
237 | CONFIG_X86_TSC=y | 250 | CONFIG_X86_TSC=y |
238 | CONFIG_X86_CMPXCHG64=y | 251 | CONFIG_X86_CMPXCHG64=y |
@@ -241,7 +254,7 @@ CONFIG_X86_MINIMUM_CPU_FAMILY=64 | |||
241 | CONFIG_X86_DEBUGCTLMSR=y | 254 | CONFIG_X86_DEBUGCTLMSR=y |
242 | CONFIG_CPU_SUP_INTEL=y | 255 | CONFIG_CPU_SUP_INTEL=y |
243 | CONFIG_CPU_SUP_AMD=y | 256 | CONFIG_CPU_SUP_AMD=y |
244 | CONFIG_CPU_SUP_CENTAUR_64=y | 257 | CONFIG_CPU_SUP_CENTAUR=y |
245 | CONFIG_X86_DS=y | 258 | CONFIG_X86_DS=y |
246 | CONFIG_X86_PTRACE_BTS=y | 259 | CONFIG_X86_PTRACE_BTS=y |
247 | CONFIG_HPET_TIMER=y | 260 | CONFIG_HPET_TIMER=y |
@@ -268,6 +281,7 @@ CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y | |||
268 | CONFIG_X86_MCE=y | 281 | CONFIG_X86_MCE=y |
269 | CONFIG_X86_MCE_INTEL=y | 282 | CONFIG_X86_MCE_INTEL=y |
270 | CONFIG_X86_MCE_AMD=y | 283 | CONFIG_X86_MCE_AMD=y |
284 | CONFIG_X86_MCE_THRESHOLD=y | ||
271 | # CONFIG_I8K is not set | 285 | # CONFIG_I8K is not set |
272 | CONFIG_MICROCODE=y | 286 | CONFIG_MICROCODE=y |
273 | CONFIG_MICROCODE_INTEL=y | 287 | CONFIG_MICROCODE_INTEL=y |
@@ -275,6 +289,7 @@ CONFIG_MICROCODE_AMD=y | |||
275 | CONFIG_MICROCODE_OLD_INTERFACE=y | 289 | CONFIG_MICROCODE_OLD_INTERFACE=y |
276 | CONFIG_X86_MSR=y | 290 | CONFIG_X86_MSR=y |
277 | CONFIG_X86_CPUID=y | 291 | CONFIG_X86_CPUID=y |
292 | # CONFIG_X86_CPU_DEBUG is not set | ||
278 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y | 293 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
279 | CONFIG_DIRECT_GBPAGES=y | 294 | CONFIG_DIRECT_GBPAGES=y |
280 | CONFIG_NUMA=y | 295 | CONFIG_NUMA=y |
@@ -308,6 +323,8 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
308 | CONFIG_BOUNCE=y | 323 | CONFIG_BOUNCE=y |
309 | CONFIG_VIRT_TO_BUS=y | 324 | CONFIG_VIRT_TO_BUS=y |
310 | CONFIG_UNEVICTABLE_LRU=y | 325 | CONFIG_UNEVICTABLE_LRU=y |
326 | CONFIG_HAVE_MLOCK=y | ||
327 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
311 | CONFIG_X86_CHECK_BIOS_CORRUPTION=y | 328 | CONFIG_X86_CHECK_BIOS_CORRUPTION=y |
312 | CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y | 329 | CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y |
313 | CONFIG_X86_RESERVE_LOW_64K=y | 330 | CONFIG_X86_RESERVE_LOW_64K=y |
@@ -316,6 +333,7 @@ CONFIG_MTRR=y | |||
316 | CONFIG_X86_PAT=y | 333 | CONFIG_X86_PAT=y |
317 | CONFIG_EFI=y | 334 | CONFIG_EFI=y |
318 | CONFIG_SECCOMP=y | 335 | CONFIG_SECCOMP=y |
336 | # CONFIG_CC_STACKPROTECTOR is not set | ||
319 | # CONFIG_HZ_100 is not set | 337 | # CONFIG_HZ_100 is not set |
320 | # CONFIG_HZ_250 is not set | 338 | # CONFIG_HZ_250 is not set |
321 | # CONFIG_HZ_300 is not set | 339 | # CONFIG_HZ_300 is not set |
@@ -324,9 +342,10 @@ CONFIG_HZ=1000 | |||
324 | CONFIG_SCHED_HRTICK=y | 342 | CONFIG_SCHED_HRTICK=y |
325 | CONFIG_KEXEC=y | 343 | CONFIG_KEXEC=y |
326 | CONFIG_CRASH_DUMP=y | 344 | CONFIG_CRASH_DUMP=y |
345 | # CONFIG_KEXEC_JUMP is not set | ||
327 | CONFIG_PHYSICAL_START=0x1000000 | 346 | CONFIG_PHYSICAL_START=0x1000000 |
328 | # CONFIG_RELOCATABLE is not set | 347 | CONFIG_RELOCATABLE=y |
329 | CONFIG_PHYSICAL_ALIGN=0x200000 | 348 | CONFIG_PHYSICAL_ALIGN=0x1000000 |
330 | CONFIG_HOTPLUG_CPU=y | 349 | CONFIG_HOTPLUG_CPU=y |
331 | # CONFIG_COMPAT_VDSO is not set | 350 | # CONFIG_COMPAT_VDSO is not set |
332 | # CONFIG_CMDLINE_BOOL is not set | 351 | # CONFIG_CMDLINE_BOOL is not set |
@@ -369,7 +388,6 @@ CONFIG_ACPI_NUMA=y | |||
369 | CONFIG_ACPI_BLACKLIST_YEAR=0 | 388 | CONFIG_ACPI_BLACKLIST_YEAR=0 |
370 | # CONFIG_ACPI_DEBUG is not set | 389 | # CONFIG_ACPI_DEBUG is not set |
371 | # CONFIG_ACPI_PCI_SLOT is not set | 390 | # CONFIG_ACPI_PCI_SLOT is not set |
372 | CONFIG_ACPI_SYSTEM=y | ||
373 | CONFIG_X86_PM_TIMER=y | 391 | CONFIG_X86_PM_TIMER=y |
374 | CONFIG_ACPI_CONTAINER=y | 392 | CONFIG_ACPI_CONTAINER=y |
375 | # CONFIG_ACPI_SBS is not set | 393 | # CONFIG_ACPI_SBS is not set |
@@ -435,6 +453,7 @@ CONFIG_PCI_MSI=y | |||
435 | # CONFIG_PCI_DEBUG is not set | 453 | # CONFIG_PCI_DEBUG is not set |
436 | # CONFIG_PCI_STUB is not set | 454 | # CONFIG_PCI_STUB is not set |
437 | CONFIG_HT_IRQ=y | 455 | CONFIG_HT_IRQ=y |
456 | # CONFIG_PCI_IOV is not set | ||
438 | CONFIG_ISA_DMA_API=y | 457 | CONFIG_ISA_DMA_API=y |
439 | CONFIG_K8_NB=y | 458 | CONFIG_K8_NB=y |
440 | CONFIG_PCCARD=y | 459 | CONFIG_PCCARD=y |
@@ -480,7 +499,6 @@ CONFIG_NET=y | |||
480 | # | 499 | # |
481 | # Networking options | 500 | # Networking options |
482 | # | 501 | # |
483 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
484 | CONFIG_PACKET=y | 502 | CONFIG_PACKET=y |
485 | CONFIG_PACKET_MMAP=y | 503 | CONFIG_PACKET_MMAP=y |
486 | CONFIG_UNIX=y | 504 | CONFIG_UNIX=y |
@@ -638,6 +656,7 @@ CONFIG_LLC=y | |||
638 | # CONFIG_LAPB is not set | 656 | # CONFIG_LAPB is not set |
639 | # CONFIG_ECONET is not set | 657 | # CONFIG_ECONET is not set |
640 | # CONFIG_WAN_ROUTER is not set | 658 | # CONFIG_WAN_ROUTER is not set |
659 | # CONFIG_PHONET is not set | ||
641 | CONFIG_NET_SCHED=y | 660 | CONFIG_NET_SCHED=y |
642 | 661 | ||
643 | # | 662 | # |
@@ -695,6 +714,7 @@ CONFIG_NET_SCH_FIFO=y | |||
695 | # | 714 | # |
696 | # CONFIG_NET_PKTGEN is not set | 715 | # CONFIG_NET_PKTGEN is not set |
697 | # CONFIG_NET_TCPPROBE is not set | 716 | # CONFIG_NET_TCPPROBE is not set |
717 | # CONFIG_NET_DROP_MONITOR is not set | ||
698 | CONFIG_HAMRADIO=y | 718 | CONFIG_HAMRADIO=y |
699 | 719 | ||
700 | # | 720 | # |
@@ -705,12 +725,10 @@ CONFIG_HAMRADIO=y | |||
705 | # CONFIG_IRDA is not set | 725 | # CONFIG_IRDA is not set |
706 | # CONFIG_BT is not set | 726 | # CONFIG_BT is not set |
707 | # CONFIG_AF_RXRPC is not set | 727 | # CONFIG_AF_RXRPC is not set |
708 | # CONFIG_PHONET is not set | ||
709 | CONFIG_FIB_RULES=y | 728 | CONFIG_FIB_RULES=y |
710 | CONFIG_WIRELESS=y | 729 | CONFIG_WIRELESS=y |
711 | CONFIG_CFG80211=y | 730 | CONFIG_CFG80211=y |
712 | # CONFIG_CFG80211_REG_DEBUG is not set | 731 | # CONFIG_CFG80211_REG_DEBUG is not set |
713 | CONFIG_NL80211=y | ||
714 | CONFIG_WIRELESS_OLD_REGULATORY=y | 732 | CONFIG_WIRELESS_OLD_REGULATORY=y |
715 | CONFIG_WIRELESS_EXT=y | 733 | CONFIG_WIRELESS_EXT=y |
716 | CONFIG_WIRELESS_EXT_SYSFS=y | 734 | CONFIG_WIRELESS_EXT_SYSFS=y |
@@ -787,9 +805,8 @@ CONFIG_MISC_DEVICES=y | |||
787 | # CONFIG_TIFM_CORE is not set | 805 | # CONFIG_TIFM_CORE is not set |
788 | # CONFIG_ICS932S401 is not set | 806 | # CONFIG_ICS932S401 is not set |
789 | # CONFIG_ENCLOSURE_SERVICES is not set | 807 | # CONFIG_ENCLOSURE_SERVICES is not set |
790 | # CONFIG_SGI_XP is not set | ||
791 | # CONFIG_HP_ILO is not set | 808 | # CONFIG_HP_ILO is not set |
792 | # CONFIG_SGI_GRU is not set | 809 | # CONFIG_ISL29003 is not set |
793 | # CONFIG_C2PORT is not set | 810 | # CONFIG_C2PORT is not set |
794 | 811 | ||
795 | # | 812 | # |
@@ -843,6 +860,7 @@ CONFIG_SCSI_SPI_ATTRS=y | |||
843 | # CONFIG_SCSI_LOWLEVEL is not set | 860 | # CONFIG_SCSI_LOWLEVEL is not set |
844 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | 861 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |
845 | # CONFIG_SCSI_DH is not set | 862 | # CONFIG_SCSI_DH is not set |
863 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
846 | CONFIG_ATA=y | 864 | CONFIG_ATA=y |
847 | # CONFIG_ATA_NONSTANDARD is not set | 865 | # CONFIG_ATA_NONSTANDARD is not set |
848 | CONFIG_ATA_ACPI=y | 866 | CONFIG_ATA_ACPI=y |
@@ -939,6 +957,7 @@ CONFIG_DM_ZERO=y | |||
939 | CONFIG_MACINTOSH_DRIVERS=y | 957 | CONFIG_MACINTOSH_DRIVERS=y |
940 | CONFIG_MAC_EMUMOUSEBTN=y | 958 | CONFIG_MAC_EMUMOUSEBTN=y |
941 | CONFIG_NETDEVICES=y | 959 | CONFIG_NETDEVICES=y |
960 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
942 | # CONFIG_IFB is not set | 961 | # CONFIG_IFB is not set |
943 | # CONFIG_DUMMY is not set | 962 | # CONFIG_DUMMY is not set |
944 | # CONFIG_BONDING is not set | 963 | # CONFIG_BONDING is not set |
@@ -976,6 +995,8 @@ CONFIG_MII=y | |||
976 | CONFIG_NET_VENDOR_3COM=y | 995 | CONFIG_NET_VENDOR_3COM=y |
977 | # CONFIG_VORTEX is not set | 996 | # CONFIG_VORTEX is not set |
978 | # CONFIG_TYPHOON is not set | 997 | # CONFIG_TYPHOON is not set |
998 | # CONFIG_ETHOC is not set | ||
999 | # CONFIG_DNET is not set | ||
979 | CONFIG_NET_TULIP=y | 1000 | CONFIG_NET_TULIP=y |
980 | # CONFIG_DE2104X is not set | 1001 | # CONFIG_DE2104X is not set |
981 | # CONFIG_TULIP is not set | 1002 | # CONFIG_TULIP is not set |
@@ -1025,6 +1046,7 @@ CONFIG_E1000=y | |||
1025 | # CONFIG_E1000E is not set | 1046 | # CONFIG_E1000E is not set |
1026 | # CONFIG_IP1000 is not set | 1047 | # CONFIG_IP1000 is not set |
1027 | # CONFIG_IGB is not set | 1048 | # CONFIG_IGB is not set |
1049 | # CONFIG_IGBVF is not set | ||
1028 | # CONFIG_NS83820 is not set | 1050 | # CONFIG_NS83820 is not set |
1029 | # CONFIG_HAMACHI is not set | 1051 | # CONFIG_HAMACHI is not set |
1030 | # CONFIG_YELLOWFIN is not set | 1052 | # CONFIG_YELLOWFIN is not set |
@@ -1039,6 +1061,7 @@ CONFIG_TIGON3=y | |||
1039 | # CONFIG_QLA3XXX is not set | 1061 | # CONFIG_QLA3XXX is not set |
1040 | # CONFIG_ATL1 is not set | 1062 | # CONFIG_ATL1 is not set |
1041 | # CONFIG_ATL1E is not set | 1063 | # CONFIG_ATL1E is not set |
1064 | # CONFIG_ATL1C is not set | ||
1042 | # CONFIG_JME is not set | 1065 | # CONFIG_JME is not set |
1043 | CONFIG_NETDEV_10000=y | 1066 | CONFIG_NETDEV_10000=y |
1044 | # CONFIG_CHELSIO_T1 is not set | 1067 | # CONFIG_CHELSIO_T1 is not set |
@@ -1048,6 +1071,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
1048 | # CONFIG_IXGBE is not set | 1071 | # CONFIG_IXGBE is not set |
1049 | # CONFIG_IXGB is not set | 1072 | # CONFIG_IXGB is not set |
1050 | # CONFIG_S2IO is not set | 1073 | # CONFIG_S2IO is not set |
1074 | # CONFIG_VXGE is not set | ||
1051 | # CONFIG_MYRI10GE is not set | 1075 | # CONFIG_MYRI10GE is not set |
1052 | # CONFIG_NETXEN_NIC is not set | 1076 | # CONFIG_NETXEN_NIC is not set |
1053 | # CONFIG_NIU is not set | 1077 | # CONFIG_NIU is not set |
@@ -1057,6 +1081,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
1057 | # CONFIG_BNX2X is not set | 1081 | # CONFIG_BNX2X is not set |
1058 | # CONFIG_QLGE is not set | 1082 | # CONFIG_QLGE is not set |
1059 | # CONFIG_SFC is not set | 1083 | # CONFIG_SFC is not set |
1084 | # CONFIG_BE2NET is not set | ||
1060 | CONFIG_TR=y | 1085 | CONFIG_TR=y |
1061 | # CONFIG_IBMOL is not set | 1086 | # CONFIG_IBMOL is not set |
1062 | # CONFIG_3C359 is not set | 1087 | # CONFIG_3C359 is not set |
@@ -1071,8 +1096,8 @@ CONFIG_WLAN_80211=y | |||
1071 | # CONFIG_LIBERTAS is not set | 1096 | # CONFIG_LIBERTAS is not set |
1072 | # CONFIG_LIBERTAS_THINFIRM is not set | 1097 | # CONFIG_LIBERTAS_THINFIRM is not set |
1073 | # CONFIG_AIRO is not set | 1098 | # CONFIG_AIRO is not set |
1074 | # CONFIG_HERMES is not set | ||
1075 | # CONFIG_ATMEL is not set | 1099 | # CONFIG_ATMEL is not set |
1100 | # CONFIG_AT76C50X_USB is not set | ||
1076 | # CONFIG_AIRO_CS is not set | 1101 | # CONFIG_AIRO_CS is not set |
1077 | # CONFIG_PCMCIA_WL3501 is not set | 1102 | # CONFIG_PCMCIA_WL3501 is not set |
1078 | # CONFIG_PRISM54 is not set | 1103 | # CONFIG_PRISM54 is not set |
@@ -1082,21 +1107,21 @@ CONFIG_WLAN_80211=y | |||
1082 | # CONFIG_RTL8187 is not set | 1107 | # CONFIG_RTL8187 is not set |
1083 | # CONFIG_ADM8211 is not set | 1108 | # CONFIG_ADM8211 is not set |
1084 | # CONFIG_MAC80211_HWSIM is not set | 1109 | # CONFIG_MAC80211_HWSIM is not set |
1110 | # CONFIG_MWL8K is not set | ||
1085 | # CONFIG_P54_COMMON is not set | 1111 | # CONFIG_P54_COMMON is not set |
1086 | CONFIG_ATH5K=y | 1112 | CONFIG_ATH5K=y |
1087 | # CONFIG_ATH5K_DEBUG is not set | 1113 | # CONFIG_ATH5K_DEBUG is not set |
1088 | # CONFIG_ATH9K is not set | 1114 | # CONFIG_ATH9K is not set |
1115 | # CONFIG_AR9170_USB is not set | ||
1089 | # CONFIG_IPW2100 is not set | 1116 | # CONFIG_IPW2100 is not set |
1090 | # CONFIG_IPW2200 is not set | 1117 | # CONFIG_IPW2200 is not set |
1091 | # CONFIG_IWLCORE is not set | 1118 | # CONFIG_IWLWIFI is not set |
1092 | # CONFIG_IWLWIFI_LEDS is not set | ||
1093 | # CONFIG_IWLAGN is not set | ||
1094 | # CONFIG_IWL3945 is not set | ||
1095 | # CONFIG_HOSTAP is not set | 1119 | # CONFIG_HOSTAP is not set |
1096 | # CONFIG_B43 is not set | 1120 | # CONFIG_B43 is not set |
1097 | # CONFIG_B43LEGACY is not set | 1121 | # CONFIG_B43LEGACY is not set |
1098 | # CONFIG_ZD1211RW is not set | 1122 | # CONFIG_ZD1211RW is not set |
1099 | # CONFIG_RT2X00 is not set | 1123 | # CONFIG_RT2X00 is not set |
1124 | # CONFIG_HERMES is not set | ||
1100 | 1125 | ||
1101 | # | 1126 | # |
1102 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 1127 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -1207,6 +1232,8 @@ CONFIG_INPUT_TABLET=y | |||
1207 | # CONFIG_TABLET_USB_KBTAB is not set | 1232 | # CONFIG_TABLET_USB_KBTAB is not set |
1208 | # CONFIG_TABLET_USB_WACOM is not set | 1233 | # CONFIG_TABLET_USB_WACOM is not set |
1209 | CONFIG_INPUT_TOUCHSCREEN=y | 1234 | CONFIG_INPUT_TOUCHSCREEN=y |
1235 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
1236 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
1210 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 1237 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
1211 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 1238 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
1212 | # CONFIG_TOUCHSCREEN_ELO is not set | 1239 | # CONFIG_TOUCHSCREEN_ELO is not set |
@@ -1300,6 +1327,7 @@ CONFIG_UNIX98_PTYS=y | |||
1300 | # CONFIG_LEGACY_PTYS is not set | 1327 | # CONFIG_LEGACY_PTYS is not set |
1301 | # CONFIG_IPMI_HANDLER is not set | 1328 | # CONFIG_IPMI_HANDLER is not set |
1302 | CONFIG_HW_RANDOM=y | 1329 | CONFIG_HW_RANDOM=y |
1330 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
1303 | # CONFIG_HW_RANDOM_INTEL is not set | 1331 | # CONFIG_HW_RANDOM_INTEL is not set |
1304 | # CONFIG_HW_RANDOM_AMD is not set | 1332 | # CONFIG_HW_RANDOM_AMD is not set |
1305 | CONFIG_NVRAM=y | 1333 | CONFIG_NVRAM=y |
@@ -1381,7 +1409,6 @@ CONFIG_I2C_I801=y | |||
1381 | # CONFIG_SENSORS_PCF8574 is not set | 1409 | # CONFIG_SENSORS_PCF8574 is not set |
1382 | # CONFIG_PCF8575 is not set | 1410 | # CONFIG_PCF8575 is not set |
1383 | # CONFIG_SENSORS_PCA9539 is not set | 1411 | # CONFIG_SENSORS_PCA9539 is not set |
1384 | # CONFIG_SENSORS_PCF8591 is not set | ||
1385 | # CONFIG_SENSORS_MAX6875 is not set | 1412 | # CONFIG_SENSORS_MAX6875 is not set |
1386 | # CONFIG_SENSORS_TSL2550 is not set | 1413 | # CONFIG_SENSORS_TSL2550 is not set |
1387 | # CONFIG_I2C_DEBUG_CORE is not set | 1414 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -1415,6 +1442,7 @@ CONFIG_HWMON=y | |||
1415 | # CONFIG_SENSORS_ADT7475 is not set | 1442 | # CONFIG_SENSORS_ADT7475 is not set |
1416 | # CONFIG_SENSORS_K8TEMP is not set | 1443 | # CONFIG_SENSORS_K8TEMP is not set |
1417 | # CONFIG_SENSORS_ASB100 is not set | 1444 | # CONFIG_SENSORS_ASB100 is not set |
1445 | # CONFIG_SENSORS_ATK0110 is not set | ||
1418 | # CONFIG_SENSORS_ATXP1 is not set | 1446 | # CONFIG_SENSORS_ATXP1 is not set |
1419 | # CONFIG_SENSORS_DS1621 is not set | 1447 | # CONFIG_SENSORS_DS1621 is not set |
1420 | # CONFIG_SENSORS_I5K_AMB is not set | 1448 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1424,6 +1452,7 @@ CONFIG_HWMON=y | |||
1424 | # CONFIG_SENSORS_FSCHER is not set | 1452 | # CONFIG_SENSORS_FSCHER is not set |
1425 | # CONFIG_SENSORS_FSCPOS is not set | 1453 | # CONFIG_SENSORS_FSCPOS is not set |
1426 | # CONFIG_SENSORS_FSCHMD is not set | 1454 | # CONFIG_SENSORS_FSCHMD is not set |
1455 | # CONFIG_SENSORS_G760A is not set | ||
1427 | # CONFIG_SENSORS_GL518SM is not set | 1456 | # CONFIG_SENSORS_GL518SM is not set |
1428 | # CONFIG_SENSORS_GL520SM is not set | 1457 | # CONFIG_SENSORS_GL520SM is not set |
1429 | # CONFIG_SENSORS_CORETEMP is not set | 1458 | # CONFIG_SENSORS_CORETEMP is not set |
@@ -1439,11 +1468,14 @@ CONFIG_HWMON=y | |||
1439 | # CONFIG_SENSORS_LM90 is not set | 1468 | # CONFIG_SENSORS_LM90 is not set |
1440 | # CONFIG_SENSORS_LM92 is not set | 1469 | # CONFIG_SENSORS_LM92 is not set |
1441 | # CONFIG_SENSORS_LM93 is not set | 1470 | # CONFIG_SENSORS_LM93 is not set |
1471 | # CONFIG_SENSORS_LTC4215 is not set | ||
1442 | # CONFIG_SENSORS_LTC4245 is not set | 1472 | # CONFIG_SENSORS_LTC4245 is not set |
1473 | # CONFIG_SENSORS_LM95241 is not set | ||
1443 | # CONFIG_SENSORS_MAX1619 is not set | 1474 | # CONFIG_SENSORS_MAX1619 is not set |
1444 | # CONFIG_SENSORS_MAX6650 is not set | 1475 | # CONFIG_SENSORS_MAX6650 is not set |
1445 | # CONFIG_SENSORS_PC87360 is not set | 1476 | # CONFIG_SENSORS_PC87360 is not set |
1446 | # CONFIG_SENSORS_PC87427 is not set | 1477 | # CONFIG_SENSORS_PC87427 is not set |
1478 | # CONFIG_SENSORS_PCF8591 is not set | ||
1447 | # CONFIG_SENSORS_SIS5595 is not set | 1479 | # CONFIG_SENSORS_SIS5595 is not set |
1448 | # CONFIG_SENSORS_DME1737 is not set | 1480 | # CONFIG_SENSORS_DME1737 is not set |
1449 | # CONFIG_SENSORS_SMSC47M1 is not set | 1481 | # CONFIG_SENSORS_SMSC47M1 is not set |
@@ -1634,6 +1666,7 @@ CONFIG_FB_EFI=y | |||
1634 | # CONFIG_FB_VIRTUAL is not set | 1666 | # CONFIG_FB_VIRTUAL is not set |
1635 | # CONFIG_FB_METRONOME is not set | 1667 | # CONFIG_FB_METRONOME is not set |
1636 | # CONFIG_FB_MB862XX is not set | 1668 | # CONFIG_FB_MB862XX is not set |
1669 | # CONFIG_FB_BROADSHEET is not set | ||
1637 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 1670 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
1638 | # CONFIG_LCD_CLASS_DEVICE is not set | 1671 | # CONFIG_LCD_CLASS_DEVICE is not set |
1639 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | 1672 | CONFIG_BACKLIGHT_CLASS_DEVICE=y |
@@ -1719,6 +1752,8 @@ CONFIG_SND_PCI=y | |||
1719 | # CONFIG_SND_INDIGO is not set | 1752 | # CONFIG_SND_INDIGO is not set |
1720 | # CONFIG_SND_INDIGOIO is not set | 1753 | # CONFIG_SND_INDIGOIO is not set |
1721 | # CONFIG_SND_INDIGODJ is not set | 1754 | # CONFIG_SND_INDIGODJ is not set |
1755 | # CONFIG_SND_INDIGOIOX is not set | ||
1756 | # CONFIG_SND_INDIGODJX is not set | ||
1722 | # CONFIG_SND_EMU10K1 is not set | 1757 | # CONFIG_SND_EMU10K1 is not set |
1723 | # CONFIG_SND_EMU10K1X is not set | 1758 | # CONFIG_SND_EMU10K1X is not set |
1724 | # CONFIG_SND_ENS1370 is not set | 1759 | # CONFIG_SND_ENS1370 is not set |
@@ -1791,15 +1826,17 @@ CONFIG_USB_HIDDEV=y | |||
1791 | # | 1826 | # |
1792 | # Special HID drivers | 1827 | # Special HID drivers |
1793 | # | 1828 | # |
1794 | CONFIG_HID_COMPAT=y | ||
1795 | CONFIG_HID_A4TECH=y | 1829 | CONFIG_HID_A4TECH=y |
1796 | CONFIG_HID_APPLE=y | 1830 | CONFIG_HID_APPLE=y |
1797 | CONFIG_HID_BELKIN=y | 1831 | CONFIG_HID_BELKIN=y |
1798 | CONFIG_HID_CHERRY=y | 1832 | CONFIG_HID_CHERRY=y |
1799 | CONFIG_HID_CHICONY=y | 1833 | CONFIG_HID_CHICONY=y |
1800 | CONFIG_HID_CYPRESS=y | 1834 | CONFIG_HID_CYPRESS=y |
1835 | # CONFIG_DRAGONRISE_FF is not set | ||
1801 | CONFIG_HID_EZKEY=y | 1836 | CONFIG_HID_EZKEY=y |
1837 | CONFIG_HID_KYE=y | ||
1802 | CONFIG_HID_GYRATION=y | 1838 | CONFIG_HID_GYRATION=y |
1839 | CONFIG_HID_KENSINGTON=y | ||
1803 | CONFIG_HID_LOGITECH=y | 1840 | CONFIG_HID_LOGITECH=y |
1804 | CONFIG_LOGITECH_FF=y | 1841 | CONFIG_LOGITECH_FF=y |
1805 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1842 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
@@ -1865,11 +1902,11 @@ CONFIG_USB_PRINTER=y | |||
1865 | # CONFIG_USB_TMC is not set | 1902 | # CONFIG_USB_TMC is not set |
1866 | 1903 | ||
1867 | # | 1904 | # |
1868 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1905 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1869 | # | 1906 | # |
1870 | 1907 | ||
1871 | # | 1908 | # |
1872 | # see USB_STORAGE Help for more information | 1909 | # also be needed; see USB_STORAGE Help for more info |
1873 | # | 1910 | # |
1874 | CONFIG_USB_STORAGE=y | 1911 | CONFIG_USB_STORAGE=y |
1875 | # CONFIG_USB_STORAGE_DEBUG is not set | 1912 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1911,7 +1948,6 @@ CONFIG_USB_LIBUSUAL=y | |||
1911 | # CONFIG_USB_LED is not set | 1948 | # CONFIG_USB_LED is not set |
1912 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1949 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1913 | # CONFIG_USB_CYTHERM is not set | 1950 | # CONFIG_USB_CYTHERM is not set |
1914 | # CONFIG_USB_PHIDGET is not set | ||
1915 | # CONFIG_USB_IDMOUSE is not set | 1951 | # CONFIG_USB_IDMOUSE is not set |
1916 | # CONFIG_USB_FTDI_ELAN is not set | 1952 | # CONFIG_USB_FTDI_ELAN is not set |
1917 | # CONFIG_USB_APPLEDISPLAY is not set | 1953 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1927,6 +1963,7 @@ CONFIG_USB_LIBUSUAL=y | |||
1927 | # | 1963 | # |
1928 | # OTG and related infrastructure | 1964 | # OTG and related infrastructure |
1929 | # | 1965 | # |
1966 | # CONFIG_NOP_USB_XCEIV is not set | ||
1930 | # CONFIG_UWB is not set | 1967 | # CONFIG_UWB is not set |
1931 | # CONFIG_MMC is not set | 1968 | # CONFIG_MMC is not set |
1932 | # CONFIG_MEMSTICK is not set | 1969 | # CONFIG_MEMSTICK is not set |
@@ -1938,8 +1975,10 @@ CONFIG_LEDS_CLASS=y | |||
1938 | # | 1975 | # |
1939 | # CONFIG_LEDS_ALIX2 is not set | 1976 | # CONFIG_LEDS_ALIX2 is not set |
1940 | # CONFIG_LEDS_PCA9532 is not set | 1977 | # CONFIG_LEDS_PCA9532 is not set |
1978 | # CONFIG_LEDS_LP5521 is not set | ||
1941 | # CONFIG_LEDS_CLEVO_MAIL is not set | 1979 | # CONFIG_LEDS_CLEVO_MAIL is not set |
1942 | # CONFIG_LEDS_PCA955X is not set | 1980 | # CONFIG_LEDS_PCA955X is not set |
1981 | # CONFIG_LEDS_BD2802 is not set | ||
1943 | 1982 | ||
1944 | # | 1983 | # |
1945 | # LED Triggers | 1984 | # LED Triggers |
@@ -1949,6 +1988,10 @@ CONFIG_LEDS_TRIGGERS=y | |||
1949 | # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set | 1988 | # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set |
1950 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | 1989 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set |
1951 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | 1990 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set |
1991 | |||
1992 | # | ||
1993 | # iptables trigger is under Netfilter config (LED target) | ||
1994 | # | ||
1952 | # CONFIG_ACCESSIBILITY is not set | 1995 | # CONFIG_ACCESSIBILITY is not set |
1953 | # CONFIG_INFINIBAND is not set | 1996 | # CONFIG_INFINIBAND is not set |
1954 | CONFIG_EDAC=y | 1997 | CONFIG_EDAC=y |
@@ -2017,6 +2060,7 @@ CONFIG_DMADEVICES=y | |||
2017 | # DMA Devices | 2060 | # DMA Devices |
2018 | # | 2061 | # |
2019 | # CONFIG_INTEL_IOATDMA is not set | 2062 | # CONFIG_INTEL_IOATDMA is not set |
2063 | # CONFIG_AUXDISPLAY is not set | ||
2020 | # CONFIG_UIO is not set | 2064 | # CONFIG_UIO is not set |
2021 | # CONFIG_STAGING is not set | 2065 | # CONFIG_STAGING is not set |
2022 | CONFIG_X86_PLATFORM_DEVICES=y | 2066 | CONFIG_X86_PLATFORM_DEVICES=y |
@@ -2050,6 +2094,7 @@ CONFIG_DMIID=y | |||
2050 | # | 2094 | # |
2051 | # CONFIG_EXT2_FS is not set | 2095 | # CONFIG_EXT2_FS is not set |
2052 | CONFIG_EXT3_FS=y | 2096 | CONFIG_EXT3_FS=y |
2097 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
2053 | CONFIG_EXT3_FS_XATTR=y | 2098 | CONFIG_EXT3_FS_XATTR=y |
2054 | CONFIG_EXT3_FS_POSIX_ACL=y | 2099 | CONFIG_EXT3_FS_POSIX_ACL=y |
2055 | CONFIG_EXT3_FS_SECURITY=y | 2100 | CONFIG_EXT3_FS_SECURITY=y |
@@ -2081,6 +2126,11 @@ CONFIG_AUTOFS4_FS=y | |||
2081 | CONFIG_GENERIC_ACL=y | 2126 | CONFIG_GENERIC_ACL=y |
2082 | 2127 | ||
2083 | # | 2128 | # |
2129 | # Caches | ||
2130 | # | ||
2131 | # CONFIG_FSCACHE is not set | ||
2132 | |||
2133 | # | ||
2084 | # CD-ROM/DVD Filesystems | 2134 | # CD-ROM/DVD Filesystems |
2085 | # | 2135 | # |
2086 | CONFIG_ISO9660_FS=y | 2136 | CONFIG_ISO9660_FS=y |
@@ -2131,6 +2181,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
2131 | # CONFIG_ROMFS_FS is not set | 2181 | # CONFIG_ROMFS_FS is not set |
2132 | # CONFIG_SYSV_FS is not set | 2182 | # CONFIG_SYSV_FS is not set |
2133 | # CONFIG_UFS_FS is not set | 2183 | # CONFIG_UFS_FS is not set |
2184 | # CONFIG_NILFS2_FS is not set | ||
2134 | CONFIG_NETWORK_FILESYSTEMS=y | 2185 | CONFIG_NETWORK_FILESYSTEMS=y |
2135 | CONFIG_NFS_FS=y | 2186 | CONFIG_NFS_FS=y |
2136 | CONFIG_NFS_V3=y | 2187 | CONFIG_NFS_V3=y |
@@ -2144,7 +2195,6 @@ CONFIG_NFS_ACL_SUPPORT=y | |||
2144 | CONFIG_NFS_COMMON=y | 2195 | CONFIG_NFS_COMMON=y |
2145 | CONFIG_SUNRPC=y | 2196 | CONFIG_SUNRPC=y |
2146 | CONFIG_SUNRPC_GSS=y | 2197 | CONFIG_SUNRPC_GSS=y |
2147 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
2148 | CONFIG_RPCSEC_GSS_KRB5=y | 2198 | CONFIG_RPCSEC_GSS_KRB5=y |
2149 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 2199 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
2150 | # CONFIG_SMB_FS is not set | 2200 | # CONFIG_SMB_FS is not set |
@@ -2231,6 +2281,7 @@ CONFIG_DEBUG_FS=y | |||
2231 | CONFIG_DEBUG_KERNEL=y | 2281 | CONFIG_DEBUG_KERNEL=y |
2232 | # CONFIG_DEBUG_SHIRQ is not set | 2282 | # CONFIG_DEBUG_SHIRQ is not set |
2233 | # CONFIG_DETECT_SOFTLOCKUP is not set | 2283 | # CONFIG_DETECT_SOFTLOCKUP is not set |
2284 | # CONFIG_DETECT_HUNG_TASK is not set | ||
2234 | # CONFIG_SCHED_DEBUG is not set | 2285 | # CONFIG_SCHED_DEBUG is not set |
2235 | CONFIG_SCHEDSTATS=y | 2286 | CONFIG_SCHEDSTATS=y |
2236 | CONFIG_TIMER_STATS=y | 2287 | CONFIG_TIMER_STATS=y |
@@ -2246,6 +2297,7 @@ CONFIG_TIMER_STATS=y | |||
2246 | # CONFIG_LOCK_STAT is not set | 2297 | # CONFIG_LOCK_STAT is not set |
2247 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 2298 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
2248 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 2299 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
2300 | CONFIG_STACKTRACE=y | ||
2249 | # CONFIG_DEBUG_KOBJECT is not set | 2301 | # CONFIG_DEBUG_KOBJECT is not set |
2250 | CONFIG_DEBUG_BUGVERBOSE=y | 2302 | CONFIG_DEBUG_BUGVERBOSE=y |
2251 | # CONFIG_DEBUG_INFO is not set | 2303 | # CONFIG_DEBUG_INFO is not set |
@@ -2268,13 +2320,19 @@ CONFIG_FRAME_POINTER=y | |||
2268 | # CONFIG_FAULT_INJECTION is not set | 2320 | # CONFIG_FAULT_INJECTION is not set |
2269 | # CONFIG_LATENCYTOP is not set | 2321 | # CONFIG_LATENCYTOP is not set |
2270 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 2322 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
2323 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
2271 | CONFIG_USER_STACKTRACE_SUPPORT=y | 2324 | CONFIG_USER_STACKTRACE_SUPPORT=y |
2325 | CONFIG_NOP_TRACER=y | ||
2272 | CONFIG_HAVE_FUNCTION_TRACER=y | 2326 | CONFIG_HAVE_FUNCTION_TRACER=y |
2273 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 2327 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
2274 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 2328 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
2275 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 2329 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
2276 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 2330 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
2277 | CONFIG_HAVE_HW_BRANCH_TRACER=y | 2331 | CONFIG_HAVE_HW_BRANCH_TRACER=y |
2332 | CONFIG_HAVE_FTRACE_SYSCALLS=y | ||
2333 | CONFIG_RING_BUFFER=y | ||
2334 | CONFIG_TRACING=y | ||
2335 | CONFIG_TRACING_SUPPORT=y | ||
2278 | 2336 | ||
2279 | # | 2337 | # |
2280 | # Tracers | 2338 | # Tracers |
@@ -2284,13 +2342,21 @@ CONFIG_HAVE_HW_BRANCH_TRACER=y | |||
2284 | # CONFIG_SYSPROF_TRACER is not set | 2342 | # CONFIG_SYSPROF_TRACER is not set |
2285 | # CONFIG_SCHED_TRACER is not set | 2343 | # CONFIG_SCHED_TRACER is not set |
2286 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 2344 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
2345 | # CONFIG_EVENT_TRACER is not set | ||
2346 | # CONFIG_FTRACE_SYSCALLS is not set | ||
2287 | # CONFIG_BOOT_TRACER is not set | 2347 | # CONFIG_BOOT_TRACER is not set |
2288 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 2348 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
2289 | # CONFIG_POWER_TRACER is not set | 2349 | # CONFIG_POWER_TRACER is not set |
2290 | # CONFIG_STACK_TRACER is not set | 2350 | # CONFIG_STACK_TRACER is not set |
2291 | # CONFIG_HW_BRANCH_TRACER is not set | 2351 | # CONFIG_HW_BRANCH_TRACER is not set |
2352 | # CONFIG_KMEMTRACE is not set | ||
2353 | # CONFIG_WORKQUEUE_TRACER is not set | ||
2354 | CONFIG_BLK_DEV_IO_TRACE=y | ||
2355 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
2356 | # CONFIG_MMIOTRACE is not set | ||
2292 | CONFIG_PROVIDE_OHCI1394_DMA_INIT=y | 2357 | CONFIG_PROVIDE_OHCI1394_DMA_INIT=y |
2293 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 2358 | # CONFIG_DYNAMIC_DEBUG is not set |
2359 | # CONFIG_DMA_API_DEBUG is not set | ||
2294 | # CONFIG_SAMPLES is not set | 2360 | # CONFIG_SAMPLES is not set |
2295 | CONFIG_HAVE_ARCH_KGDB=y | 2361 | CONFIG_HAVE_ARCH_KGDB=y |
2296 | # CONFIG_KGDB is not set | 2362 | # CONFIG_KGDB is not set |
@@ -2300,14 +2366,13 @@ CONFIG_EARLY_PRINTK=y | |||
2300 | CONFIG_EARLY_PRINTK_DBGP=y | 2366 | CONFIG_EARLY_PRINTK_DBGP=y |
2301 | CONFIG_DEBUG_STACKOVERFLOW=y | 2367 | CONFIG_DEBUG_STACKOVERFLOW=y |
2302 | CONFIG_DEBUG_STACK_USAGE=y | 2368 | CONFIG_DEBUG_STACK_USAGE=y |
2303 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
2304 | # CONFIG_DEBUG_PER_CPU_MAPS is not set | 2369 | # CONFIG_DEBUG_PER_CPU_MAPS is not set |
2305 | # CONFIG_X86_PTDUMP is not set | 2370 | # CONFIG_X86_PTDUMP is not set |
2306 | CONFIG_DEBUG_RODATA=y | 2371 | CONFIG_DEBUG_RODATA=y |
2307 | # CONFIG_DEBUG_RODATA_TEST is not set | 2372 | # CONFIG_DEBUG_RODATA_TEST is not set |
2308 | CONFIG_DEBUG_NX_TEST=m | 2373 | CONFIG_DEBUG_NX_TEST=m |
2309 | # CONFIG_IOMMU_DEBUG is not set | 2374 | # CONFIG_IOMMU_DEBUG is not set |
2310 | # CONFIG_MMIOTRACE is not set | 2375 | CONFIG_HAVE_MMIOTRACE_SUPPORT=y |
2311 | CONFIG_IO_DELAY_TYPE_0X80=0 | 2376 | CONFIG_IO_DELAY_TYPE_0X80=0 |
2312 | CONFIG_IO_DELAY_TYPE_0XED=1 | 2377 | CONFIG_IO_DELAY_TYPE_0XED=1 |
2313 | CONFIG_IO_DELAY_TYPE_UDELAY=2 | 2378 | CONFIG_IO_DELAY_TYPE_UDELAY=2 |
@@ -2343,6 +2408,8 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y | |||
2343 | CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 | 2408 | CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 |
2344 | # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set | 2409 | # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set |
2345 | # CONFIG_SECURITY_SMACK is not set | 2410 | # CONFIG_SECURITY_SMACK is not set |
2411 | # CONFIG_SECURITY_TOMOYO is not set | ||
2412 | # CONFIG_IMA is not set | ||
2346 | CONFIG_CRYPTO=y | 2413 | CONFIG_CRYPTO=y |
2347 | 2414 | ||
2348 | # | 2415 | # |
@@ -2358,10 +2425,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
2358 | CONFIG_CRYPTO_HASH=y | 2425 | CONFIG_CRYPTO_HASH=y |
2359 | CONFIG_CRYPTO_HASH2=y | 2426 | CONFIG_CRYPTO_HASH2=y |
2360 | CONFIG_CRYPTO_RNG2=y | 2427 | CONFIG_CRYPTO_RNG2=y |
2428 | CONFIG_CRYPTO_PCOMP=y | ||
2361 | CONFIG_CRYPTO_MANAGER=y | 2429 | CONFIG_CRYPTO_MANAGER=y |
2362 | CONFIG_CRYPTO_MANAGER2=y | 2430 | CONFIG_CRYPTO_MANAGER2=y |
2363 | # CONFIG_CRYPTO_GF128MUL is not set | 2431 | # CONFIG_CRYPTO_GF128MUL is not set |
2364 | # CONFIG_CRYPTO_NULL is not set | 2432 | # CONFIG_CRYPTO_NULL is not set |
2433 | CONFIG_CRYPTO_WORKQUEUE=y | ||
2365 | # CONFIG_CRYPTO_CRYPTD is not set | 2434 | # CONFIG_CRYPTO_CRYPTD is not set |
2366 | CONFIG_CRYPTO_AUTHENC=y | 2435 | CONFIG_CRYPTO_AUTHENC=y |
2367 | # CONFIG_CRYPTO_TEST is not set | 2436 | # CONFIG_CRYPTO_TEST is not set |
@@ -2413,6 +2482,7 @@ CONFIG_CRYPTO_SHA1=y | |||
2413 | # | 2482 | # |
2414 | CONFIG_CRYPTO_AES=y | 2483 | CONFIG_CRYPTO_AES=y |
2415 | # CONFIG_CRYPTO_AES_X86_64 is not set | 2484 | # CONFIG_CRYPTO_AES_X86_64 is not set |
2485 | # CONFIG_CRYPTO_AES_NI_INTEL is not set | ||
2416 | # CONFIG_CRYPTO_ANUBIS is not set | 2486 | # CONFIG_CRYPTO_ANUBIS is not set |
2417 | CONFIG_CRYPTO_ARC4=y | 2487 | CONFIG_CRYPTO_ARC4=y |
2418 | # CONFIG_CRYPTO_BLOWFISH is not set | 2488 | # CONFIG_CRYPTO_BLOWFISH is not set |
@@ -2434,6 +2504,7 @@ CONFIG_CRYPTO_DES=y | |||
2434 | # Compression | 2504 | # Compression |
2435 | # | 2505 | # |
2436 | # CONFIG_CRYPTO_DEFLATE is not set | 2506 | # CONFIG_CRYPTO_DEFLATE is not set |
2507 | # CONFIG_CRYPTO_ZLIB is not set | ||
2437 | # CONFIG_CRYPTO_LZO is not set | 2508 | # CONFIG_CRYPTO_LZO is not set |
2438 | 2509 | ||
2439 | # | 2510 | # |
@@ -2443,10 +2514,12 @@ CONFIG_CRYPTO_DES=y | |||
2443 | CONFIG_CRYPTO_HW=y | 2514 | CONFIG_CRYPTO_HW=y |
2444 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 2515 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
2445 | CONFIG_HAVE_KVM=y | 2516 | CONFIG_HAVE_KVM=y |
2517 | CONFIG_HAVE_KVM_IRQCHIP=y | ||
2446 | CONFIG_VIRTUALIZATION=y | 2518 | CONFIG_VIRTUALIZATION=y |
2447 | # CONFIG_KVM is not set | 2519 | # CONFIG_KVM is not set |
2448 | # CONFIG_VIRTIO_PCI is not set | 2520 | # CONFIG_VIRTIO_PCI is not set |
2449 | # CONFIG_VIRTIO_BALLOON is not set | 2521 | # CONFIG_VIRTIO_BALLOON is not set |
2522 | CONFIG_BINARY_PRINTF=y | ||
2450 | 2523 | ||
2451 | # | 2524 | # |
2452 | # Library routines | 2525 | # Library routines |
@@ -2463,7 +2536,10 @@ CONFIG_CRC32=y | |||
2463 | # CONFIG_CRC7 is not set | 2536 | # CONFIG_CRC7 is not set |
2464 | # CONFIG_LIBCRC32C is not set | 2537 | # CONFIG_LIBCRC32C is not set |
2465 | CONFIG_ZLIB_INFLATE=y | 2538 | CONFIG_ZLIB_INFLATE=y |
2466 | CONFIG_PLIST=y | 2539 | CONFIG_DECOMPRESS_GZIP=y |
2540 | CONFIG_DECOMPRESS_BZIP2=y | ||
2541 | CONFIG_DECOMPRESS_LZMA=y | ||
2467 | CONFIG_HAS_IOMEM=y | 2542 | CONFIG_HAS_IOMEM=y |
2468 | CONFIG_HAS_IOPORT=y | 2543 | CONFIG_HAS_IOPORT=y |
2469 | CONFIG_HAS_DMA=y | 2544 | CONFIG_HAS_DMA=y |
2545 | CONFIG_NLATTR=y | ||
diff --git a/arch/x86/include/asm/boot.h b/arch/x86/include/asm/boot.h index 6ba23dd9fc92..418e632d4a80 100644 --- a/arch/x86/include/asm/boot.h +++ b/arch/x86/include/asm/boot.h | |||
@@ -8,11 +8,26 @@ | |||
8 | 8 | ||
9 | #ifdef __KERNEL__ | 9 | #ifdef __KERNEL__ |
10 | 10 | ||
11 | #include <asm/page_types.h> | ||
12 | |||
11 | /* Physical address where kernel should be loaded. */ | 13 | /* Physical address where kernel should be loaded. */ |
12 | #define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \ | 14 | #define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \ |
13 | + (CONFIG_PHYSICAL_ALIGN - 1)) \ | 15 | + (CONFIG_PHYSICAL_ALIGN - 1)) \ |
14 | & ~(CONFIG_PHYSICAL_ALIGN - 1)) | 16 | & ~(CONFIG_PHYSICAL_ALIGN - 1)) |
15 | 17 | ||
18 | /* Minimum kernel alignment, as a power of two */ | ||
19 | #ifdef CONFIG_x86_64 | ||
20 | #define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT | ||
21 | #else | ||
22 | #define MIN_KERNEL_ALIGN_LG2 (PAGE_SHIFT+1) | ||
23 | #endif | ||
24 | #define MIN_KERNEL_ALIGN (_AC(1, UL) << MIN_KERNEL_ALIGN_LG2) | ||
25 | |||
26 | #if (CONFIG_PHYSICAL_ALIGN & (CONFIG_PHYSICAL_ALIGN-1)) || \ | ||
27 | (CONFIG_PHYSICAL_ALIGN < (_AC(1, UL) << MIN_KERNEL_ALIGN_LG2)) | ||
28 | #error "Invalid value for CONFIG_PHYSICAL_ALIGN" | ||
29 | #endif | ||
30 | |||
16 | #ifdef CONFIG_KERNEL_BZIP2 | 31 | #ifdef CONFIG_KERNEL_BZIP2 |
17 | #define BOOT_HEAP_SIZE 0x400000 | 32 | #define BOOT_HEAP_SIZE 0x400000 |
18 | #else /* !CONFIG_KERNEL_BZIP2 */ | 33 | #else /* !CONFIG_KERNEL_BZIP2 */ |
diff --git a/arch/x86/include/asm/bootparam.h b/arch/x86/include/asm/bootparam.h index 433adaebf9b6..1724e8de317c 100644 --- a/arch/x86/include/asm/bootparam.h +++ b/arch/x86/include/asm/bootparam.h | |||
@@ -50,7 +50,8 @@ struct setup_header { | |||
50 | __u32 ramdisk_size; | 50 | __u32 ramdisk_size; |
51 | __u32 bootsect_kludge; | 51 | __u32 bootsect_kludge; |
52 | __u16 heap_end_ptr; | 52 | __u16 heap_end_ptr; |
53 | __u16 _pad1; | 53 | __u8 ext_loader_ver; |
54 | __u8 ext_loader_type; | ||
54 | __u32 cmd_line_ptr; | 55 | __u32 cmd_line_ptr; |
55 | __u32 initrd_addr_max; | 56 | __u32 initrd_addr_max; |
56 | __u32 kernel_alignment; | 57 | __u32 kernel_alignment; |
diff --git a/arch/x86/include/asm/page_64_types.h b/arch/x86/include/asm/page_64_types.h index d38c91b70248..e11900f2500e 100644 --- a/arch/x86/include/asm/page_64_types.h +++ b/arch/x86/include/asm/page_64_types.h | |||
@@ -32,17 +32,9 @@ | |||
32 | */ | 32 | */ |
33 | #define __PAGE_OFFSET _AC(0xffff880000000000, UL) | 33 | #define __PAGE_OFFSET _AC(0xffff880000000000, UL) |
34 | 34 | ||
35 | #define __PHYSICAL_START CONFIG_PHYSICAL_START | 35 | #define __PHYSICAL_START ((CONFIG_PHYSICAL_START + \ |
36 | #define __KERNEL_ALIGN 0x200000 | 36 | (CONFIG_PHYSICAL_ALIGN - 1)) & \ |
37 | 37 | ~(CONFIG_PHYSICAL_ALIGN - 1)) | |
38 | /* | ||
39 | * Make sure kernel is aligned to 2MB address. Catching it at compile | ||
40 | * time is better. Change your config file and compile the kernel | ||
41 | * for a 2MB aligned address (CONFIG_PHYSICAL_START) | ||
42 | */ | ||
43 | #if (CONFIG_PHYSICAL_START % __KERNEL_ALIGN) != 0 | ||
44 | #error "CONFIG_PHYSICAL_START must be a multiple of 2MB" | ||
45 | #endif | ||
46 | 38 | ||
47 | #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START) | 39 | #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START) |
48 | #define __START_KERNEL_map _AC(0xffffffff80000000, UL) | 40 | #define __START_KERNEL_map _AC(0xffffffff80000000, UL) |
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index fed93fec9764..6469866a7410 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h | |||
@@ -815,6 +815,7 @@ extern unsigned int BIOS_revision; | |||
815 | 815 | ||
816 | /* Boot loader type from the setup header: */ | 816 | /* Boot loader type from the setup header: */ |
817 | extern int bootloader_type; | 817 | extern int bootloader_type; |
818 | extern int bootloader_version; | ||
818 | 819 | ||
819 | extern char ignore_fpu_irq; | 820 | extern char ignore_fpu_irq; |
820 | 821 | ||
diff --git a/arch/x86/kernel/asm-offsets_32.c b/arch/x86/kernel/asm-offsets_32.c index 5a6aa1c1162f..1a830cbd7015 100644 --- a/arch/x86/kernel/asm-offsets_32.c +++ b/arch/x86/kernel/asm-offsets_32.c | |||
@@ -146,4 +146,5 @@ void foo(void) | |||
146 | OFFSET(BP_loadflags, boot_params, hdr.loadflags); | 146 | OFFSET(BP_loadflags, boot_params, hdr.loadflags); |
147 | OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch); | 147 | OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch); |
148 | OFFSET(BP_version, boot_params, hdr.version); | 148 | OFFSET(BP_version, boot_params, hdr.version); |
149 | OFFSET(BP_kernel_alignment, boot_params, hdr.kernel_alignment); | ||
149 | } | 150 | } |
diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c index e72f062fb4b5..898ecc47e129 100644 --- a/arch/x86/kernel/asm-offsets_64.c +++ b/arch/x86/kernel/asm-offsets_64.c | |||
@@ -125,6 +125,7 @@ int main(void) | |||
125 | OFFSET(BP_loadflags, boot_params, hdr.loadflags); | 125 | OFFSET(BP_loadflags, boot_params, hdr.loadflags); |
126 | OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch); | 126 | OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch); |
127 | OFFSET(BP_version, boot_params, hdr.version); | 127 | OFFSET(BP_version, boot_params, hdr.version); |
128 | OFFSET(BP_kernel_alignment, boot_params, hdr.kernel_alignment); | ||
128 | 129 | ||
129 | BLANK(); | 130 | BLANK(); |
130 | DEFINE(PAGE_SIZE_asm, PAGE_SIZE); | 131 | DEFINE(PAGE_SIZE_asm, PAGE_SIZE); |
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index 30683883e0cd..dc5ed4bdd88d 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S | |||
@@ -608,13 +608,6 @@ ignore_int: | |||
608 | ENTRY(initial_code) | 608 | ENTRY(initial_code) |
609 | .long i386_start_kernel | 609 | .long i386_start_kernel |
610 | 610 | ||
611 | .section .text | ||
612 | /* | ||
613 | * Real beginning of normal "text" segment | ||
614 | */ | ||
615 | ENTRY(stext) | ||
616 | ENTRY(_stext) | ||
617 | |||
618 | /* | 611 | /* |
619 | * BSS section | 612 | * BSS section |
620 | */ | 613 | */ |
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 523bb697120d..7791eef95b91 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -214,8 +214,8 @@ unsigned long mmu_cr4_features; | |||
214 | unsigned long mmu_cr4_features = X86_CR4_PAE; | 214 | unsigned long mmu_cr4_features = X86_CR4_PAE; |
215 | #endif | 215 | #endif |
216 | 216 | ||
217 | /* Boot loader ID as an integer, for the benefit of proc_dointvec */ | 217 | /* Boot loader ID and version as integers, for the benefit of proc_dointvec */ |
218 | int bootloader_type; | 218 | int bootloader_type, bootloader_version; |
219 | 219 | ||
220 | /* | 220 | /* |
221 | * Setup options | 221 | * Setup options |
@@ -706,6 +706,12 @@ void __init setup_arch(char **cmdline_p) | |||
706 | #endif | 706 | #endif |
707 | saved_video_mode = boot_params.hdr.vid_mode; | 707 | saved_video_mode = boot_params.hdr.vid_mode; |
708 | bootloader_type = boot_params.hdr.type_of_loader; | 708 | bootloader_type = boot_params.hdr.type_of_loader; |
709 | if ((bootloader_type >> 4) == 0xe) { | ||
710 | bootloader_type &= 0xf; | ||
711 | bootloader_type |= (boot_params.hdr.ext_loader_type+0x10) << 4; | ||
712 | } | ||
713 | bootloader_version = bootloader_type & 0xf; | ||
714 | bootloader_version |= boot_params.hdr.ext_loader_ver << 4; | ||
709 | 715 | ||
710 | #ifdef CONFIG_BLK_DEV_RAM | 716 | #ifdef CONFIG_BLK_DEV_RAM |
711 | rd_image_start = boot_params.hdr.ram_size & RAMDISK_IMAGE_START_MASK; | 717 | rd_image_start = boot_params.hdr.ram_size & RAMDISK_IMAGE_START_MASK; |
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S index 849ee611f013..4c85b2e2bb65 100644 --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S | |||
@@ -1,5 +1,431 @@ | |||
1 | /* | ||
2 | * ld script for the x86 kernel | ||
3 | * | ||
4 | * Historic 32-bit version written by Martin Mares <mj@atrey.karlin.mff.cuni.cz> | ||
5 | * | ||
6 | * Modernisation, unification and other changes and fixes: | ||
7 | * Copyright (C) 2007-2009 Sam Ravnborg <sam@ravnborg.org> | ||
8 | * | ||
9 | * | ||
10 | * Don't define absolute symbols until and unless you know that symbol | ||
11 | * value is should remain constant even if kernel image is relocated | ||
12 | * at run time. Absolute symbols are not relocated. If symbol value should | ||
13 | * change if kernel is relocated, make the symbol section relative and | ||
14 | * put it inside the section definition. | ||
15 | */ | ||
16 | |||
1 | #ifdef CONFIG_X86_32 | 17 | #ifdef CONFIG_X86_32 |
2 | # include "vmlinux_32.lds.S" | 18 | #define LOAD_OFFSET __PAGE_OFFSET |
3 | #else | 19 | #else |
4 | # include "vmlinux_64.lds.S" | 20 | #define LOAD_OFFSET __START_KERNEL_map |
5 | #endif | 21 | #endif |
22 | |||
23 | #include <asm-generic/vmlinux.lds.h> | ||
24 | #include <asm/asm-offsets.h> | ||
25 | #include <asm/thread_info.h> | ||
26 | #include <asm/page_types.h> | ||
27 | #include <asm/cache.h> | ||
28 | #include <asm/boot.h> | ||
29 | |||
30 | #undef i386 /* in case the preprocessor is a 32bit one */ | ||
31 | |||
32 | OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT) | ||
33 | |||
34 | #ifdef CONFIG_X86_32 | ||
35 | OUTPUT_ARCH(i386) | ||
36 | ENTRY(phys_startup_32) | ||
37 | jiffies = jiffies_64; | ||
38 | #else | ||
39 | OUTPUT_ARCH(i386:x86-64) | ||
40 | ENTRY(phys_startup_64) | ||
41 | jiffies_64 = jiffies; | ||
42 | #endif | ||
43 | |||
44 | PHDRS { | ||
45 | text PT_LOAD FLAGS(5); /* R_E */ | ||
46 | data PT_LOAD FLAGS(7); /* RWE */ | ||
47 | #ifdef CONFIG_X86_64 | ||
48 | user PT_LOAD FLAGS(7); /* RWE */ | ||
49 | data.init PT_LOAD FLAGS(7); /* RWE */ | ||
50 | #ifdef CONFIG_SMP | ||
51 | percpu PT_LOAD FLAGS(7); /* RWE */ | ||
52 | #endif | ||
53 | data.init2 PT_LOAD FLAGS(7); /* RWE */ | ||
54 | #endif | ||
55 | note PT_NOTE FLAGS(0); /* ___ */ | ||
56 | } | ||
57 | |||
58 | SECTIONS | ||
59 | { | ||
60 | #ifdef CONFIG_X86_32 | ||
61 | . = LOAD_OFFSET + LOAD_PHYSICAL_ADDR; | ||
62 | phys_startup_32 = startup_32 - LOAD_OFFSET; | ||
63 | #else | ||
64 | . = __START_KERNEL; | ||
65 | phys_startup_64 = startup_64 - LOAD_OFFSET; | ||
66 | #endif | ||
67 | |||
68 | /* Text and read-only data */ | ||
69 | |||
70 | /* bootstrapping code */ | ||
71 | .text.head : AT(ADDR(.text.head) - LOAD_OFFSET) { | ||
72 | _text = .; | ||
73 | *(.text.head) | ||
74 | } :text = 0x9090 | ||
75 | |||
76 | /* The rest of the text */ | ||
77 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | ||
78 | #ifdef CONFIG_X86_32 | ||
79 | /* not really needed, already page aligned */ | ||
80 | . = ALIGN(PAGE_SIZE); | ||
81 | *(.text.page_aligned) | ||
82 | #endif | ||
83 | . = ALIGN(8); | ||
84 | _stext = .; | ||
85 | TEXT_TEXT | ||
86 | SCHED_TEXT | ||
87 | LOCK_TEXT | ||
88 | KPROBES_TEXT | ||
89 | IRQENTRY_TEXT | ||
90 | *(.fixup) | ||
91 | *(.gnu.warning) | ||
92 | /* End of text section */ | ||
93 | _etext = .; | ||
94 | } :text = 0x9090 | ||
95 | |||
96 | NOTES :text :note | ||
97 | |||
98 | /* Exception table */ | ||
99 | . = ALIGN(16); | ||
100 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { | ||
101 | __start___ex_table = .; | ||
102 | *(__ex_table) | ||
103 | __stop___ex_table = .; | ||
104 | } :text = 0x9090 | ||
105 | |||
106 | RODATA | ||
107 | |||
108 | /* Data */ | ||
109 | . = ALIGN(PAGE_SIZE); | ||
110 | .data : AT(ADDR(.data) - LOAD_OFFSET) { | ||
111 | DATA_DATA | ||
112 | CONSTRUCTORS | ||
113 | |||
114 | #ifdef CONFIG_X86_64 | ||
115 | /* End of data section */ | ||
116 | _edata = .; | ||
117 | #endif | ||
118 | } :data | ||
119 | |||
120 | #ifdef CONFIG_X86_32 | ||
121 | /* 32 bit has nosave before _edata */ | ||
122 | . = ALIGN(PAGE_SIZE); | ||
123 | .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) { | ||
124 | __nosave_begin = .; | ||
125 | *(.data.nosave) | ||
126 | . = ALIGN(PAGE_SIZE); | ||
127 | __nosave_end = .; | ||
128 | } | ||
129 | #endif | ||
130 | |||
131 | . = ALIGN(PAGE_SIZE); | ||
132 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) { | ||
133 | *(.data.page_aligned) | ||
134 | *(.data.idt) | ||
135 | } | ||
136 | |||
137 | #ifdef CONFIG_X86_32 | ||
138 | . = ALIGN(32); | ||
139 | #else | ||
140 | . = ALIGN(PAGE_SIZE); | ||
141 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
142 | #endif | ||
143 | .data.cacheline_aligned : | ||
144 | AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { | ||
145 | *(.data.cacheline_aligned) | ||
146 | } | ||
147 | |||
148 | /* rarely changed data like cpu maps */ | ||
149 | #ifdef CONFIG_X86_32 | ||
150 | . = ALIGN(32); | ||
151 | #else | ||
152 | . = ALIGN(CONFIG_X86_INTERNODE_CACHE_BYTES); | ||
153 | #endif | ||
154 | .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) { | ||
155 | *(.data.read_mostly) | ||
156 | |||
157 | #ifdef CONFIG_X86_32 | ||
158 | /* End of data section */ | ||
159 | _edata = .; | ||
160 | #endif | ||
161 | } | ||
162 | |||
163 | #ifdef CONFIG_X86_64 | ||
164 | |||
165 | #define VSYSCALL_ADDR (-10*1024*1024) | ||
166 | #define VSYSCALL_PHYS_ADDR ((LOADADDR(.data.read_mostly) + \ | ||
167 | SIZEOF(.data.read_mostly) + 4095) & ~(4095)) | ||
168 | #define VSYSCALL_VIRT_ADDR ((ADDR(.data.read_mostly) + \ | ||
169 | SIZEOF(.data.read_mostly) + 4095) & ~(4095)) | ||
170 | |||
171 | #define VLOAD_OFFSET (VSYSCALL_ADDR - VSYSCALL_PHYS_ADDR) | ||
172 | #define VLOAD(x) (ADDR(x) - VLOAD_OFFSET) | ||
173 | |||
174 | #define VVIRT_OFFSET (VSYSCALL_ADDR - VSYSCALL_VIRT_ADDR) | ||
175 | #define VVIRT(x) (ADDR(x) - VVIRT_OFFSET) | ||
176 | |||
177 | . = VSYSCALL_ADDR; | ||
178 | .vsyscall_0 : AT(VSYSCALL_PHYS_ADDR) { | ||
179 | *(.vsyscall_0) | ||
180 | } :user | ||
181 | |||
182 | __vsyscall_0 = VSYSCALL_VIRT_ADDR; | ||
183 | |||
184 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
185 | .vsyscall_fn : AT(VLOAD(.vsyscall_fn)) { | ||
186 | *(.vsyscall_fn) | ||
187 | } | ||
188 | |||
189 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
190 | .vsyscall_gtod_data : AT(VLOAD(.vsyscall_gtod_data)) { | ||
191 | *(.vsyscall_gtod_data) | ||
192 | } | ||
193 | |||
194 | vsyscall_gtod_data = VVIRT(.vsyscall_gtod_data); | ||
195 | .vsyscall_clock : AT(VLOAD(.vsyscall_clock)) { | ||
196 | *(.vsyscall_clock) | ||
197 | } | ||
198 | vsyscall_clock = VVIRT(.vsyscall_clock); | ||
199 | |||
200 | |||
201 | .vsyscall_1 ADDR(.vsyscall_0) + 1024: AT(VLOAD(.vsyscall_1)) { | ||
202 | *(.vsyscall_1) | ||
203 | } | ||
204 | .vsyscall_2 ADDR(.vsyscall_0) + 2048: AT(VLOAD(.vsyscall_2)) { | ||
205 | *(.vsyscall_2) | ||
206 | } | ||
207 | |||
208 | .vgetcpu_mode : AT(VLOAD(.vgetcpu_mode)) { | ||
209 | *(.vgetcpu_mode) | ||
210 | } | ||
211 | vgetcpu_mode = VVIRT(.vgetcpu_mode); | ||
212 | |||
213 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
214 | .jiffies : AT(VLOAD(.jiffies)) { | ||
215 | *(.jiffies) | ||
216 | } | ||
217 | jiffies = VVIRT(.jiffies); | ||
218 | |||
219 | .vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) { | ||
220 | *(.vsyscall_3) | ||
221 | } | ||
222 | |||
223 | . = VSYSCALL_VIRT_ADDR + PAGE_SIZE; | ||
224 | |||
225 | #undef VSYSCALL_ADDR | ||
226 | #undef VSYSCALL_PHYS_ADDR | ||
227 | #undef VSYSCALL_VIRT_ADDR | ||
228 | #undef VLOAD_OFFSET | ||
229 | #undef VLOAD | ||
230 | #undef VVIRT_OFFSET | ||
231 | #undef VVIRT | ||
232 | |||
233 | #endif /* CONFIG_X86_64 */ | ||
234 | |||
235 | /* init_task */ | ||
236 | . = ALIGN(THREAD_SIZE); | ||
237 | .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) { | ||
238 | *(.data.init_task) | ||
239 | } | ||
240 | #ifdef CONFIG_X86_64 | ||
241 | :data.init | ||
242 | #endif | ||
243 | |||
244 | /* | ||
245 | * smp_locks might be freed after init | ||
246 | * start/end must be page aligned | ||
247 | */ | ||
248 | . = ALIGN(PAGE_SIZE); | ||
249 | .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) { | ||
250 | __smp_locks = .; | ||
251 | *(.smp_locks) | ||
252 | __smp_locks_end = .; | ||
253 | . = ALIGN(PAGE_SIZE); | ||
254 | } | ||
255 | |||
256 | /* Init code and data - will be freed after init */ | ||
257 | . = ALIGN(PAGE_SIZE); | ||
258 | .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { | ||
259 | __init_begin = .; /* paired with __init_end */ | ||
260 | _sinittext = .; | ||
261 | INIT_TEXT | ||
262 | _einittext = .; | ||
263 | } | ||
264 | |||
265 | .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) { | ||
266 | INIT_DATA | ||
267 | } | ||
268 | |||
269 | . = ALIGN(16); | ||
270 | .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) { | ||
271 | __setup_start = .; | ||
272 | *(.init.setup) | ||
273 | __setup_end = .; | ||
274 | } | ||
275 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { | ||
276 | __initcall_start = .; | ||
277 | INITCALLS | ||
278 | __initcall_end = .; | ||
279 | } | ||
280 | |||
281 | .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) { | ||
282 | __con_initcall_start = .; | ||
283 | *(.con_initcall.init) | ||
284 | __con_initcall_end = .; | ||
285 | } | ||
286 | |||
287 | .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) { | ||
288 | __x86_cpu_dev_start = .; | ||
289 | *(.x86_cpu_dev.init) | ||
290 | __x86_cpu_dev_end = .; | ||
291 | } | ||
292 | |||
293 | SECURITY_INIT | ||
294 | |||
295 | . = ALIGN(8); | ||
296 | .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) { | ||
297 | __parainstructions = .; | ||
298 | *(.parainstructions) | ||
299 | __parainstructions_end = .; | ||
300 | } | ||
301 | |||
302 | . = ALIGN(8); | ||
303 | .altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) { | ||
304 | __alt_instructions = .; | ||
305 | *(.altinstructions) | ||
306 | __alt_instructions_end = .; | ||
307 | } | ||
308 | |||
309 | .altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) { | ||
310 | *(.altinstr_replacement) | ||
311 | } | ||
312 | |||
313 | /* | ||
314 | * .exit.text is discard at runtime, not link time, to deal with | ||
315 | * references from .altinstructions and .eh_frame | ||
316 | */ | ||
317 | .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { | ||
318 | EXIT_TEXT | ||
319 | } | ||
320 | |||
321 | .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { | ||
322 | EXIT_DATA | ||
323 | } | ||
324 | |||
325 | #ifdef CONFIG_BLK_DEV_INITRD | ||
326 | . = ALIGN(PAGE_SIZE); | ||
327 | .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { | ||
328 | __initramfs_start = .; | ||
329 | *(.init.ramfs) | ||
330 | __initramfs_end = .; | ||
331 | } | ||
332 | #endif | ||
333 | |||
334 | #if defined(CONFIG_X86_64) && defined(CONFIG_SMP) | ||
335 | /* | ||
336 | * percpu offsets are zero-based on SMP. PERCPU_VADDR() changes the | ||
337 | * output PHDR, so the next output section - __data_nosave - should | ||
338 | * start another section data.init2. Also, pda should be at the head of | ||
339 | * percpu area. Preallocate it and define the percpu offset symbol | ||
340 | * so that it can be accessed as a percpu variable. | ||
341 | */ | ||
342 | . = ALIGN(PAGE_SIZE); | ||
343 | PERCPU_VADDR(0, :percpu) | ||
344 | #else | ||
345 | PERCPU(PAGE_SIZE) | ||
346 | #endif | ||
347 | |||
348 | . = ALIGN(PAGE_SIZE); | ||
349 | |||
350 | /* freed after init ends here */ | ||
351 | .init.end : AT(ADDR(.init.end) - LOAD_OFFSET) { | ||
352 | __init_end = .; | ||
353 | } | ||
354 | |||
355 | #ifdef CONFIG_X86_64 | ||
356 | .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) { | ||
357 | . = ALIGN(PAGE_SIZE); | ||
358 | __nosave_begin = .; | ||
359 | *(.data.nosave) | ||
360 | . = ALIGN(PAGE_SIZE); | ||
361 | __nosave_end = .; | ||
362 | } :data.init2 | ||
363 | /* use another section data.init2, see PERCPU_VADDR() above */ | ||
364 | #endif | ||
365 | |||
366 | /* BSS */ | ||
367 | . = ALIGN(PAGE_SIZE); | ||
368 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) { | ||
369 | __bss_start = .; | ||
370 | *(.bss.page_aligned) | ||
371 | *(.bss) | ||
372 | . = ALIGN(4); | ||
373 | __bss_stop = .; | ||
374 | } | ||
375 | |||
376 | . = ALIGN(PAGE_SIZE); | ||
377 | .brk : AT(ADDR(.brk) - LOAD_OFFSET) { | ||
378 | __brk_base = .; | ||
379 | . += 64 * 1024; /* 64k alignment slop space */ | ||
380 | *(.brk_reservation) /* areas brk users have reserved */ | ||
381 | __brk_limit = .; | ||
382 | } | ||
383 | |||
384 | .end : AT(ADDR(.end) - LOAD_OFFSET) { | ||
385 | _end = .; | ||
386 | } | ||
387 | |||
388 | /* Sections to be discarded */ | ||
389 | /DISCARD/ : { | ||
390 | *(.exitcall.exit) | ||
391 | *(.eh_frame) | ||
392 | *(.discard) | ||
393 | } | ||
394 | |||
395 | STABS_DEBUG | ||
396 | DWARF_DEBUG | ||
397 | } | ||
398 | |||
399 | |||
400 | #ifdef CONFIG_X86_32 | ||
401 | ASSERT((_end - LOAD_OFFSET <= KERNEL_IMAGE_SIZE), | ||
402 | "kernel image bigger than KERNEL_IMAGE_SIZE") | ||
403 | #else | ||
404 | /* | ||
405 | * Per-cpu symbols which need to be offset from __per_cpu_load | ||
406 | * for the boot processor. | ||
407 | */ | ||
408 | #define INIT_PER_CPU(x) init_per_cpu__##x = per_cpu__##x + __per_cpu_load | ||
409 | INIT_PER_CPU(gdt_page); | ||
410 | INIT_PER_CPU(irq_stack_union); | ||
411 | |||
412 | /* | ||
413 | * Build-time check on the image size: | ||
414 | */ | ||
415 | ASSERT((_end - _text <= KERNEL_IMAGE_SIZE), | ||
416 | "kernel image bigger than KERNEL_IMAGE_SIZE") | ||
417 | |||
418 | #ifdef CONFIG_SMP | ||
419 | ASSERT((per_cpu__irq_stack_union == 0), | ||
420 | "irq_stack_union is not at start of per-cpu area"); | ||
421 | #endif | ||
422 | |||
423 | #endif /* CONFIG_X86_32 */ | ||
424 | |||
425 | #ifdef CONFIG_KEXEC | ||
426 | #include <asm/kexec.h> | ||
427 | |||
428 | ASSERT(kexec_control_code_size <= KEXEC_CONTROL_CODE_MAX_SIZE, | ||
429 | "kexec control code size is too big") | ||
430 | #endif | ||
431 | |||
diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S deleted file mode 100644 index 62ad500d55f3..000000000000 --- a/arch/x86/kernel/vmlinux_32.lds.S +++ /dev/null | |||
@@ -1,229 +0,0 @@ | |||
1 | /* ld script to make i386 Linux kernel | ||
2 | * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>; | ||
3 | * | ||
4 | * Don't define absolute symbols until and unless you know that symbol | ||
5 | * value is should remain constant even if kernel image is relocated | ||
6 | * at run time. Absolute symbols are not relocated. If symbol value should | ||
7 | * change if kernel is relocated, make the symbol section relative and | ||
8 | * put it inside the section definition. | ||
9 | */ | ||
10 | |||
11 | #define LOAD_OFFSET __PAGE_OFFSET | ||
12 | |||
13 | #include <asm-generic/vmlinux.lds.h> | ||
14 | #include <asm/thread_info.h> | ||
15 | #include <asm/page_types.h> | ||
16 | #include <asm/cache.h> | ||
17 | #include <asm/boot.h> | ||
18 | |||
19 | OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") | ||
20 | OUTPUT_ARCH(i386) | ||
21 | ENTRY(phys_startup_32) | ||
22 | jiffies = jiffies_64; | ||
23 | |||
24 | PHDRS { | ||
25 | text PT_LOAD FLAGS(5); /* R_E */ | ||
26 | data PT_LOAD FLAGS(7); /* RWE */ | ||
27 | note PT_NOTE FLAGS(0); /* ___ */ | ||
28 | } | ||
29 | SECTIONS | ||
30 | { | ||
31 | . = LOAD_OFFSET + LOAD_PHYSICAL_ADDR; | ||
32 | phys_startup_32 = startup_32 - LOAD_OFFSET; | ||
33 | |||
34 | .text.head : AT(ADDR(.text.head) - LOAD_OFFSET) { | ||
35 | _text = .; /* Text and read-only data */ | ||
36 | *(.text.head) | ||
37 | } :text = 0x9090 | ||
38 | |||
39 | /* read-only */ | ||
40 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | ||
41 | . = ALIGN(PAGE_SIZE); /* not really needed, already page aligned */ | ||
42 | *(.text.page_aligned) | ||
43 | TEXT_TEXT | ||
44 | SCHED_TEXT | ||
45 | LOCK_TEXT | ||
46 | KPROBES_TEXT | ||
47 | IRQENTRY_TEXT | ||
48 | *(.fixup) | ||
49 | *(.gnu.warning) | ||
50 | _etext = .; /* End of text section */ | ||
51 | } :text = 0x9090 | ||
52 | |||
53 | NOTES :text :note | ||
54 | |||
55 | . = ALIGN(16); /* Exception table */ | ||
56 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { | ||
57 | __start___ex_table = .; | ||
58 | *(__ex_table) | ||
59 | __stop___ex_table = .; | ||
60 | } :text = 0x9090 | ||
61 | |||
62 | RODATA | ||
63 | |||
64 | /* writeable */ | ||
65 | . = ALIGN(PAGE_SIZE); | ||
66 | .data : AT(ADDR(.data) - LOAD_OFFSET) { /* Data */ | ||
67 | DATA_DATA | ||
68 | CONSTRUCTORS | ||
69 | } :data | ||
70 | |||
71 | . = ALIGN(PAGE_SIZE); | ||
72 | .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) { | ||
73 | __nosave_begin = .; | ||
74 | *(.data.nosave) | ||
75 | . = ALIGN(PAGE_SIZE); | ||
76 | __nosave_end = .; | ||
77 | } | ||
78 | |||
79 | . = ALIGN(PAGE_SIZE); | ||
80 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) { | ||
81 | *(.data.page_aligned) | ||
82 | *(.data.idt) | ||
83 | } | ||
84 | |||
85 | . = ALIGN(32); | ||
86 | .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { | ||
87 | *(.data.cacheline_aligned) | ||
88 | } | ||
89 | |||
90 | /* rarely changed data like cpu maps */ | ||
91 | . = ALIGN(32); | ||
92 | .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) { | ||
93 | *(.data.read_mostly) | ||
94 | _edata = .; /* End of data section */ | ||
95 | } | ||
96 | |||
97 | . = ALIGN(THREAD_SIZE); /* init_task */ | ||
98 | .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) { | ||
99 | *(.data.init_task) | ||
100 | } | ||
101 | |||
102 | /* might get freed after init */ | ||
103 | . = ALIGN(PAGE_SIZE); | ||
104 | .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) { | ||
105 | __smp_locks = .; | ||
106 | *(.smp_locks) | ||
107 | __smp_locks_end = .; | ||
108 | } | ||
109 | /* will be freed after init | ||
110 | * Following ALIGN() is required to make sure no other data falls on the | ||
111 | * same page where __smp_alt_end is pointing as that page might be freed | ||
112 | * after boot. Always make sure that ALIGN() directive is present after | ||
113 | * the section which contains __smp_alt_end. | ||
114 | */ | ||
115 | . = ALIGN(PAGE_SIZE); | ||
116 | |||
117 | /* will be freed after init */ | ||
118 | . = ALIGN(PAGE_SIZE); /* Init code and data */ | ||
119 | .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { | ||
120 | __init_begin = .; | ||
121 | _sinittext = .; | ||
122 | INIT_TEXT | ||
123 | _einittext = .; | ||
124 | } | ||
125 | .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) { | ||
126 | INIT_DATA | ||
127 | } | ||
128 | . = ALIGN(16); | ||
129 | .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) { | ||
130 | __setup_start = .; | ||
131 | *(.init.setup) | ||
132 | __setup_end = .; | ||
133 | } | ||
134 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { | ||
135 | __initcall_start = .; | ||
136 | INITCALLS | ||
137 | __initcall_end = .; | ||
138 | } | ||
139 | .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) { | ||
140 | __con_initcall_start = .; | ||
141 | *(.con_initcall.init) | ||
142 | __con_initcall_end = .; | ||
143 | } | ||
144 | .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) { | ||
145 | __x86_cpu_dev_start = .; | ||
146 | *(.x86_cpu_dev.init) | ||
147 | __x86_cpu_dev_end = .; | ||
148 | } | ||
149 | SECURITY_INIT | ||
150 | . = ALIGN(4); | ||
151 | .altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) { | ||
152 | __alt_instructions = .; | ||
153 | *(.altinstructions) | ||
154 | __alt_instructions_end = .; | ||
155 | } | ||
156 | .altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) { | ||
157 | *(.altinstr_replacement) | ||
158 | } | ||
159 | . = ALIGN(4); | ||
160 | .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) { | ||
161 | __parainstructions = .; | ||
162 | *(.parainstructions) | ||
163 | __parainstructions_end = .; | ||
164 | } | ||
165 | /* .exit.text is discard at runtime, not link time, to deal with references | ||
166 | from .altinstructions and .eh_frame */ | ||
167 | .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { | ||
168 | EXIT_TEXT | ||
169 | } | ||
170 | .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { | ||
171 | EXIT_DATA | ||
172 | } | ||
173 | #if defined(CONFIG_BLK_DEV_INITRD) | ||
174 | . = ALIGN(PAGE_SIZE); | ||
175 | .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { | ||
176 | __initramfs_start = .; | ||
177 | *(.init.ramfs) | ||
178 | __initramfs_end = .; | ||
179 | } | ||
180 | #endif | ||
181 | PERCPU(PAGE_SIZE) | ||
182 | . = ALIGN(PAGE_SIZE); | ||
183 | /* freed after init ends here */ | ||
184 | |||
185 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) { | ||
186 | __init_end = .; | ||
187 | __bss_start = .; /* BSS */ | ||
188 | *(.bss.page_aligned) | ||
189 | *(.bss) | ||
190 | . = ALIGN(4); | ||
191 | __bss_stop = .; | ||
192 | } | ||
193 | |||
194 | .brk : AT(ADDR(.brk) - LOAD_OFFSET) { | ||
195 | . = ALIGN(PAGE_SIZE); | ||
196 | __brk_base = . ; | ||
197 | . += 64 * 1024 ; /* 64k alignment slop space */ | ||
198 | *(.brk_reservation) /* areas brk users have reserved */ | ||
199 | __brk_limit = . ; | ||
200 | } | ||
201 | |||
202 | .end : AT(ADDR(.end) - LOAD_OFFSET) { | ||
203 | _end = . ; | ||
204 | } | ||
205 | |||
206 | /* Sections to be discarded */ | ||
207 | /DISCARD/ : { | ||
208 | *(.exitcall.exit) | ||
209 | *(.discard) | ||
210 | } | ||
211 | |||
212 | STABS_DEBUG | ||
213 | |||
214 | DWARF_DEBUG | ||
215 | } | ||
216 | |||
217 | /* | ||
218 | * Build-time check on the image size: | ||
219 | */ | ||
220 | ASSERT((_end - LOAD_OFFSET <= KERNEL_IMAGE_SIZE), | ||
221 | "kernel image bigger than KERNEL_IMAGE_SIZE") | ||
222 | |||
223 | #ifdef CONFIG_KEXEC | ||
224 | /* Link time checks */ | ||
225 | #include <asm/kexec.h> | ||
226 | |||
227 | ASSERT(kexec_control_code_size <= KEXEC_CONTROL_CODE_MAX_SIZE, | ||
228 | "kexec control code size is too big") | ||
229 | #endif | ||
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S deleted file mode 100644 index c8742507b030..000000000000 --- a/arch/x86/kernel/vmlinux_64.lds.S +++ /dev/null | |||
@@ -1,298 +0,0 @@ | |||
1 | /* ld script to make x86-64 Linux kernel | ||
2 | * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>; | ||
3 | */ | ||
4 | |||
5 | #define LOAD_OFFSET __START_KERNEL_map | ||
6 | |||
7 | #include <asm-generic/vmlinux.lds.h> | ||
8 | #include <asm/asm-offsets.h> | ||
9 | #include <asm/page_types.h> | ||
10 | |||
11 | #undef i386 /* in case the preprocessor is a 32bit one */ | ||
12 | |||
13 | OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") | ||
14 | OUTPUT_ARCH(i386:x86-64) | ||
15 | ENTRY(phys_startup_64) | ||
16 | jiffies_64 = jiffies; | ||
17 | PHDRS { | ||
18 | text PT_LOAD FLAGS(5); /* R_E */ | ||
19 | data PT_LOAD FLAGS(7); /* RWE */ | ||
20 | user PT_LOAD FLAGS(7); /* RWE */ | ||
21 | data.init PT_LOAD FLAGS(7); /* RWE */ | ||
22 | #ifdef CONFIG_SMP | ||
23 | percpu PT_LOAD FLAGS(7); /* RWE */ | ||
24 | #endif | ||
25 | data.init2 PT_LOAD FLAGS(7); /* RWE */ | ||
26 | note PT_NOTE FLAGS(0); /* ___ */ | ||
27 | } | ||
28 | SECTIONS | ||
29 | { | ||
30 | . = __START_KERNEL; | ||
31 | phys_startup_64 = startup_64 - LOAD_OFFSET; | ||
32 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | ||
33 | _text = .; /* Text and read-only data */ | ||
34 | /* First the code that has to be first for bootstrapping */ | ||
35 | *(.text.head) | ||
36 | _stext = .; | ||
37 | /* Then the rest */ | ||
38 | TEXT_TEXT | ||
39 | SCHED_TEXT | ||
40 | LOCK_TEXT | ||
41 | KPROBES_TEXT | ||
42 | IRQENTRY_TEXT | ||
43 | *(.fixup) | ||
44 | *(.gnu.warning) | ||
45 | _etext = .; /* End of text section */ | ||
46 | } :text = 0x9090 | ||
47 | |||
48 | NOTES :text :note | ||
49 | |||
50 | . = ALIGN(16); /* Exception table */ | ||
51 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { | ||
52 | __start___ex_table = .; | ||
53 | *(__ex_table) | ||
54 | __stop___ex_table = .; | ||
55 | } :text = 0x9090 | ||
56 | |||
57 | RODATA | ||
58 | |||
59 | . = ALIGN(PAGE_SIZE); /* Align data segment to page size boundary */ | ||
60 | /* Data */ | ||
61 | .data : AT(ADDR(.data) - LOAD_OFFSET) { | ||
62 | DATA_DATA | ||
63 | CONSTRUCTORS | ||
64 | _edata = .; /* End of data section */ | ||
65 | } :data | ||
66 | |||
67 | |||
68 | .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { | ||
69 | . = ALIGN(PAGE_SIZE); | ||
70 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
71 | *(.data.cacheline_aligned) | ||
72 | } | ||
73 | . = ALIGN(CONFIG_X86_INTERNODE_CACHE_BYTES); | ||
74 | .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) { | ||
75 | *(.data.read_mostly) | ||
76 | } | ||
77 | |||
78 | #define VSYSCALL_ADDR (-10*1024*1024) | ||
79 | #define VSYSCALL_PHYS_ADDR ((LOADADDR(.data.read_mostly) + SIZEOF(.data.read_mostly) + 4095) & ~(4095)) | ||
80 | #define VSYSCALL_VIRT_ADDR ((ADDR(.data.read_mostly) + SIZEOF(.data.read_mostly) + 4095) & ~(4095)) | ||
81 | |||
82 | #define VLOAD_OFFSET (VSYSCALL_ADDR - VSYSCALL_PHYS_ADDR) | ||
83 | #define VLOAD(x) (ADDR(x) - VLOAD_OFFSET) | ||
84 | |||
85 | #define VVIRT_OFFSET (VSYSCALL_ADDR - VSYSCALL_VIRT_ADDR) | ||
86 | #define VVIRT(x) (ADDR(x) - VVIRT_OFFSET) | ||
87 | |||
88 | . = VSYSCALL_ADDR; | ||
89 | .vsyscall_0 : AT(VSYSCALL_PHYS_ADDR) { *(.vsyscall_0) } :user | ||
90 | __vsyscall_0 = VSYSCALL_VIRT_ADDR; | ||
91 | |||
92 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
93 | .vsyscall_fn : AT(VLOAD(.vsyscall_fn)) { *(.vsyscall_fn) } | ||
94 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
95 | .vsyscall_gtod_data : AT(VLOAD(.vsyscall_gtod_data)) | ||
96 | { *(.vsyscall_gtod_data) } | ||
97 | vsyscall_gtod_data = VVIRT(.vsyscall_gtod_data); | ||
98 | .vsyscall_clock : AT(VLOAD(.vsyscall_clock)) | ||
99 | { *(.vsyscall_clock) } | ||
100 | vsyscall_clock = VVIRT(.vsyscall_clock); | ||
101 | |||
102 | |||
103 | .vsyscall_1 ADDR(.vsyscall_0) + 1024: AT(VLOAD(.vsyscall_1)) | ||
104 | { *(.vsyscall_1) } | ||
105 | .vsyscall_2 ADDR(.vsyscall_0) + 2048: AT(VLOAD(.vsyscall_2)) | ||
106 | { *(.vsyscall_2) } | ||
107 | |||
108 | .vgetcpu_mode : AT(VLOAD(.vgetcpu_mode)) { *(.vgetcpu_mode) } | ||
109 | vgetcpu_mode = VVIRT(.vgetcpu_mode); | ||
110 | |||
111 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | ||
112 | .jiffies : AT(VLOAD(.jiffies)) { *(.jiffies) } | ||
113 | jiffies = VVIRT(.jiffies); | ||
114 | |||
115 | .vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) | ||
116 | { *(.vsyscall_3) } | ||
117 | |||
118 | . = VSYSCALL_VIRT_ADDR + PAGE_SIZE; | ||
119 | |||
120 | #undef VSYSCALL_ADDR | ||
121 | #undef VSYSCALL_PHYS_ADDR | ||
122 | #undef VSYSCALL_VIRT_ADDR | ||
123 | #undef VLOAD_OFFSET | ||
124 | #undef VLOAD | ||
125 | #undef VVIRT_OFFSET | ||
126 | #undef VVIRT | ||
127 | |||
128 | .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) { | ||
129 | . = ALIGN(THREAD_SIZE); /* init_task */ | ||
130 | *(.data.init_task) | ||
131 | }:data.init | ||
132 | |||
133 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) { | ||
134 | . = ALIGN(PAGE_SIZE); | ||
135 | *(.data.page_aligned) | ||
136 | } | ||
137 | |||
138 | .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) { | ||
139 | /* might get freed after init */ | ||
140 | . = ALIGN(PAGE_SIZE); | ||
141 | __smp_alt_begin = .; | ||
142 | __smp_locks = .; | ||
143 | *(.smp_locks) | ||
144 | __smp_locks_end = .; | ||
145 | . = ALIGN(PAGE_SIZE); | ||
146 | __smp_alt_end = .; | ||
147 | } | ||
148 | |||
149 | . = ALIGN(PAGE_SIZE); /* Init code and data */ | ||
150 | __init_begin = .; /* paired with __init_end */ | ||
151 | .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { | ||
152 | _sinittext = .; | ||
153 | INIT_TEXT | ||
154 | _einittext = .; | ||
155 | } | ||
156 | .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) { | ||
157 | __initdata_begin = .; | ||
158 | INIT_DATA | ||
159 | __initdata_end = .; | ||
160 | } | ||
161 | |||
162 | .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) { | ||
163 | . = ALIGN(16); | ||
164 | __setup_start = .; | ||
165 | *(.init.setup) | ||
166 | __setup_end = .; | ||
167 | } | ||
168 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { | ||
169 | __initcall_start = .; | ||
170 | INITCALLS | ||
171 | __initcall_end = .; | ||
172 | } | ||
173 | .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) { | ||
174 | __con_initcall_start = .; | ||
175 | *(.con_initcall.init) | ||
176 | __con_initcall_end = .; | ||
177 | } | ||
178 | .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) { | ||
179 | __x86_cpu_dev_start = .; | ||
180 | *(.x86_cpu_dev.init) | ||
181 | __x86_cpu_dev_end = .; | ||
182 | } | ||
183 | SECURITY_INIT | ||
184 | |||
185 | . = ALIGN(8); | ||
186 | .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) { | ||
187 | __parainstructions = .; | ||
188 | *(.parainstructions) | ||
189 | __parainstructions_end = .; | ||
190 | } | ||
191 | |||
192 | .altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) { | ||
193 | . = ALIGN(8); | ||
194 | __alt_instructions = .; | ||
195 | *(.altinstructions) | ||
196 | __alt_instructions_end = .; | ||
197 | } | ||
198 | .altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) { | ||
199 | *(.altinstr_replacement) | ||
200 | } | ||
201 | /* .exit.text is discard at runtime, not link time, to deal with references | ||
202 | from .altinstructions and .eh_frame */ | ||
203 | .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { | ||
204 | EXIT_TEXT | ||
205 | } | ||
206 | .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { | ||
207 | EXIT_DATA | ||
208 | } | ||
209 | |||
210 | #ifdef CONFIG_BLK_DEV_INITRD | ||
211 | . = ALIGN(PAGE_SIZE); | ||
212 | .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { | ||
213 | __initramfs_start = .; | ||
214 | *(.init.ramfs) | ||
215 | __initramfs_end = .; | ||
216 | } | ||
217 | #endif | ||
218 | |||
219 | #ifdef CONFIG_SMP | ||
220 | /* | ||
221 | * percpu offsets are zero-based on SMP. PERCPU_VADDR() changes the | ||
222 | * output PHDR, so the next output section - __data_nosave - should | ||
223 | * start another section data.init2. Also, pda should be at the head of | ||
224 | * percpu area. Preallocate it and define the percpu offset symbol | ||
225 | * so that it can be accessed as a percpu variable. | ||
226 | */ | ||
227 | . = ALIGN(PAGE_SIZE); | ||
228 | PERCPU_VADDR(0, :percpu) | ||
229 | #else | ||
230 | PERCPU(PAGE_SIZE) | ||
231 | #endif | ||
232 | |||
233 | . = ALIGN(PAGE_SIZE); | ||
234 | __init_end = .; | ||
235 | |||
236 | .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) { | ||
237 | . = ALIGN(PAGE_SIZE); | ||
238 | __nosave_begin = .; | ||
239 | *(.data.nosave) | ||
240 | . = ALIGN(PAGE_SIZE); | ||
241 | __nosave_end = .; | ||
242 | } :data.init2 /* use another section data.init2, see PERCPU_VADDR() above */ | ||
243 | |||
244 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) { | ||
245 | . = ALIGN(PAGE_SIZE); | ||
246 | __bss_start = .; /* BSS */ | ||
247 | *(.bss.page_aligned) | ||
248 | *(.bss) | ||
249 | __bss_stop = .; | ||
250 | } | ||
251 | |||
252 | .brk : AT(ADDR(.brk) - LOAD_OFFSET) { | ||
253 | . = ALIGN(PAGE_SIZE); | ||
254 | __brk_base = . ; | ||
255 | . += 64 * 1024 ; /* 64k alignment slop space */ | ||
256 | *(.brk_reservation) /* areas brk users have reserved */ | ||
257 | __brk_limit = . ; | ||
258 | } | ||
259 | |||
260 | _end = . ; | ||
261 | |||
262 | /* Sections to be discarded */ | ||
263 | /DISCARD/ : { | ||
264 | *(.exitcall.exit) | ||
265 | *(.eh_frame) | ||
266 | *(.discard) | ||
267 | } | ||
268 | |||
269 | STABS_DEBUG | ||
270 | |||
271 | DWARF_DEBUG | ||
272 | } | ||
273 | |||
274 | /* | ||
275 | * Per-cpu symbols which need to be offset from __per_cpu_load | ||
276 | * for the boot processor. | ||
277 | */ | ||
278 | #define INIT_PER_CPU(x) init_per_cpu__##x = per_cpu__##x + __per_cpu_load | ||
279 | INIT_PER_CPU(gdt_page); | ||
280 | INIT_PER_CPU(irq_stack_union); | ||
281 | |||
282 | /* | ||
283 | * Build-time check on the image size: | ||
284 | */ | ||
285 | ASSERT((_end - _text <= KERNEL_IMAGE_SIZE), | ||
286 | "kernel image bigger than KERNEL_IMAGE_SIZE") | ||
287 | |||
288 | #ifdef CONFIG_SMP | ||
289 | ASSERT((per_cpu__irq_stack_union == 0), | ||
290 | "irq_stack_union is not at start of per-cpu area"); | ||
291 | #endif | ||
292 | |||
293 | #ifdef CONFIG_KEXEC | ||
294 | #include <asm/kexec.h> | ||
295 | |||
296 | ASSERT(kexec_control_code_size <= KEXEC_CONTROL_CODE_MAX_SIZE, | ||
297 | "kexec control code size is too big") | ||
298 | #endif | ||