diff options
Diffstat (limited to 'arch/powerpc')
419 files changed, 15366 insertions, 4068 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 8a54eb8e3768..2031a2846865 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -132,7 +132,7 @@ config PPC | |||
132 | select HAVE_ARCH_KGDB | 132 | select HAVE_ARCH_KGDB |
133 | select HAVE_KRETPROBES | 133 | select HAVE_KRETPROBES |
134 | select HAVE_ARCH_TRACEHOOK | 134 | select HAVE_ARCH_TRACEHOOK |
135 | select HAVE_LMB | 135 | select HAVE_MEMBLOCK |
136 | select HAVE_DMA_ATTRS | 136 | select HAVE_DMA_ATTRS |
137 | select HAVE_DMA_API_DEBUG | 137 | select HAVE_DMA_API_DEBUG |
138 | select USE_GENERIC_SMP_HELPERS if SMP | 138 | select USE_GENERIC_SMP_HELPERS if SMP |
@@ -140,6 +140,7 @@ config PPC | |||
140 | select HAVE_SYSCALL_WRAPPERS if PPC64 | 140 | select HAVE_SYSCALL_WRAPPERS if PPC64 |
141 | select GENERIC_ATOMIC64 if PPC32 | 141 | select GENERIC_ATOMIC64 if PPC32 |
142 | select HAVE_PERF_EVENTS | 142 | select HAVE_PERF_EVENTS |
143 | select HAVE_REGS_AND_STACK_ACCESS_API | ||
143 | 144 | ||
144 | config EARLY_PRINTK | 145 | config EARLY_PRINTK |
145 | bool | 146 | bool |
@@ -313,19 +314,6 @@ config 8XX_MINIMAL_FPEMU | |||
313 | 314 | ||
314 | It is recommended that you build a soft-float userspace instead. | 315 | It is recommended that you build a soft-float userspace instead. |
315 | 316 | ||
316 | config IOMMU_VMERGE | ||
317 | bool "Enable IOMMU virtual merging" | ||
318 | depends on PPC64 | ||
319 | default y | ||
320 | help | ||
321 | Cause IO segments sent to a device for DMA to be merged virtually | ||
322 | by the IOMMU when they happen to have been allocated contiguously. | ||
323 | This doesn't add pressure to the IOMMU allocator. However, some | ||
324 | drivers don't support getting large merged segments coming back | ||
325 | from *_map_sg(). | ||
326 | |||
327 | Most drivers don't have this problem; it is safe to say Y here. | ||
328 | |||
329 | config IOMMU_HELPER | 317 | config IOMMU_HELPER |
330 | def_bool PPC64 | 318 | def_bool PPC64 |
331 | 319 | ||
@@ -363,7 +351,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE | |||
363 | 351 | ||
364 | config KEXEC | 352 | config KEXEC |
365 | bool "kexec system call (EXPERIMENTAL)" | 353 | bool "kexec system call (EXPERIMENTAL)" |
366 | depends on PPC_BOOK3S && EXPERIMENTAL | 354 | depends on (PPC_BOOK3S || (FSL_BOOKE && !SMP)) && EXPERIMENTAL |
367 | help | 355 | help |
368 | kexec is a system call that implements the ability to shutdown your | 356 | kexec is a system call that implements the ability to shutdown your |
369 | current kernel, and to start another kernel. It is like a reboot | 357 | current kernel, and to start another kernel. It is like a reboot |
@@ -412,7 +400,7 @@ config IRQ_ALL_CPUS | |||
412 | 400 | ||
413 | config SPARSE_IRQ | 401 | config SPARSE_IRQ |
414 | bool "Support sparse irq numbering" | 402 | bool "Support sparse irq numbering" |
415 | default y | 403 | default n |
416 | help | 404 | help |
417 | This enables support for sparse irqs. This is useful for distro | 405 | This enables support for sparse irqs. This is useful for distro |
418 | kernels that want to define a high CONFIG_NR_CPUS value but still | 406 | kernels that want to define a high CONFIG_NR_CPUS value but still |
@@ -421,7 +409,7 @@ config SPARSE_IRQ | |||
421 | ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread | 409 | ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread |
422 | out the irq_desc[] array in a more NUMA-friendly way. ) | 410 | out the irq_desc[] array in a more NUMA-friendly way. ) |
423 | 411 | ||
424 | If you don't know what to do here, say Y. | 412 | If you don't know what to do here, say N. |
425 | 413 | ||
426 | config NUMA | 414 | config NUMA |
427 | bool "NUMA support" | 415 | bool "NUMA support" |
@@ -675,6 +663,9 @@ config ZONE_DMA | |||
675 | config NEED_DMA_MAP_STATE | 663 | config NEED_DMA_MAP_STATE |
676 | def_bool (PPC64 || NOT_COHERENT_CACHE) | 664 | def_bool (PPC64 || NOT_COHERENT_CACHE) |
677 | 665 | ||
666 | config NEED_SG_DMA_LENGTH | ||
667 | def_bool y | ||
668 | |||
678 | config GENERIC_ISA_DMA | 669 | config GENERIC_ISA_DMA |
679 | bool | 670 | bool |
680 | depends on PPC64 || POWER4 || 6xx && !CPM2 | 671 | depends on PPC64 || POWER4 || 6xx && !CPM2 |
diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug index 5cdd7ed9a12e..2d38a50e66ba 100644 --- a/arch/powerpc/Kconfig.debug +++ b/arch/powerpc/Kconfig.debug | |||
@@ -44,6 +44,18 @@ config DEBUG_STACK_USAGE | |||
44 | 44 | ||
45 | This option will slow down process creation somewhat. | 45 | This option will slow down process creation somewhat. |
46 | 46 | ||
47 | config DEBUG_PER_CPU_MAPS | ||
48 | bool "Debug access to per_cpu maps" | ||
49 | depends on DEBUG_KERNEL | ||
50 | depends on SMP | ||
51 | default n | ||
52 | ---help--- | ||
53 | Say Y to verify that the per_cpu map being accessed has | ||
54 | been setup. Adds a fair amount of code to kernel memory | ||
55 | and decreases performance. | ||
56 | |||
57 | Say N if unsure. | ||
58 | |||
47 | config HCALL_STATS | 59 | config HCALL_STATS |
48 | bool "Hypervisor call instrumentation" | 60 | bool "Hypervisor call instrumentation" |
49 | depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS | 61 | depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS |
@@ -123,13 +135,6 @@ config DEBUGGER | |||
123 | depends on KGDB || XMON | 135 | depends on KGDB || XMON |
124 | default y | 136 | default y |
125 | 137 | ||
126 | config IRQSTACKS | ||
127 | bool "Use separate kernel stacks when processing interrupts" | ||
128 | help | ||
129 | If you say Y here the kernel will use separate kernel stacks | ||
130 | for handling hard and soft interrupts. This can help avoid | ||
131 | overflowing the process kernel stacks. | ||
132 | |||
133 | config VIRQ_DEBUG | 138 | config VIRQ_DEBUG |
134 | bool "Expose hardware/virtual IRQ mapping via debugfs" | 139 | bool "Expose hardware/virtual IRQ mapping via debugfs" |
135 | depends on DEBUG_FS | 140 | depends on DEBUG_FS |
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 1a54a3b3a3fa..77cfe7a29e25 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile | |||
@@ -92,10 +92,10 @@ endif | |||
92 | else | 92 | else |
93 | KBUILD_CFLAGS += $(call cc-option,-mtune=power4) | 93 | KBUILD_CFLAGS += $(call cc-option,-mtune=power4) |
94 | endif | 94 | endif |
95 | else | ||
96 | LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o | ||
97 | endif | 95 | endif |
98 | 96 | ||
97 | LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o | ||
98 | |||
99 | ifeq ($(CONFIG_TUNE_CELL),y) | 99 | ifeq ($(CONFIG_TUNE_CELL),y) |
100 | KBUILD_CFLAGS += $(call cc-option,-mtune=cell) | 100 | KBUILD_CFLAGS += $(call cc-option,-mtune=cell) |
101 | endif | 101 | endif |
@@ -112,6 +112,11 @@ KBUILD_CFLAGS += $(call cc-option,-mspe=no) | |||
112 | # kernel considerably. | 112 | # kernel considerably. |
113 | KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time) | 113 | KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time) |
114 | 114 | ||
115 | # FIXME: the module load should be taught about the additional relocs | ||
116 | # generated by this. | ||
117 | # revert to pre-gcc-4.4 behaviour of .eh_frame | ||
118 | KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm) | ||
119 | |||
115 | # Never use string load/store instructions as they are | 120 | # Never use string load/store instructions as they are |
116 | # often slow when they are implemented at all | 121 | # often slow when they are implemented at all |
117 | KBUILD_CFLAGS += -mno-string | 122 | KBUILD_CFLAGS += -mno-string |
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c index 27db8938827a..9d3bd4c45a24 100644 --- a/arch/powerpc/boot/4xx.c +++ b/arch/powerpc/boot/4xx.c | |||
@@ -519,7 +519,7 @@ void ibm440ep_fixup_clocks(unsigned int sys_clk, | |||
519 | { | 519 | { |
520 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 0); | 520 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 0); |
521 | 521 | ||
522 | /* serial clocks beed fixup based on int/ext */ | 522 | /* serial clocks need fixup based on int/ext */ |
523 | eplike_fixup_uart_clk(0, "/plb/opb/serial@ef600300", ser_clk, plb_clk); | 523 | eplike_fixup_uart_clk(0, "/plb/opb/serial@ef600300", ser_clk, plb_clk); |
524 | eplike_fixup_uart_clk(1, "/plb/opb/serial@ef600400", ser_clk, plb_clk); | 524 | eplike_fixup_uart_clk(1, "/plb/opb/serial@ef600400", ser_clk, plb_clk); |
525 | eplike_fixup_uart_clk(2, "/plb/opb/serial@ef600500", ser_clk, plb_clk); | 525 | eplike_fixup_uart_clk(2, "/plb/opb/serial@ef600500", ser_clk, plb_clk); |
@@ -532,7 +532,7 @@ void ibm440gx_fixup_clocks(unsigned int sys_clk, | |||
532 | { | 532 | { |
533 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); | 533 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); |
534 | 534 | ||
535 | /* serial clocks beed fixup based on int/ext */ | 535 | /* serial clocks need fixup based on int/ext */ |
536 | eplike_fixup_uart_clk(0, "/plb/opb/serial@40000200", ser_clk, plb_clk); | 536 | eplike_fixup_uart_clk(0, "/plb/opb/serial@40000200", ser_clk, plb_clk); |
537 | eplike_fixup_uart_clk(1, "/plb/opb/serial@40000300", ser_clk, plb_clk); | 537 | eplike_fixup_uart_clk(1, "/plb/opb/serial@40000300", ser_clk, plb_clk); |
538 | } | 538 | } |
@@ -543,10 +543,10 @@ void ibm440spe_fixup_clocks(unsigned int sys_clk, | |||
543 | { | 543 | { |
544 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); | 544 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); |
545 | 545 | ||
546 | /* serial clocks beed fixup based on int/ext */ | 546 | /* serial clocks need fixup based on int/ext */ |
547 | eplike_fixup_uart_clk(0, "/plb/opb/serial@10000200", ser_clk, plb_clk); | 547 | eplike_fixup_uart_clk(0, "/plb/opb/serial@f0000200", ser_clk, plb_clk); |
548 | eplike_fixup_uart_clk(1, "/plb/opb/serial@10000300", ser_clk, plb_clk); | 548 | eplike_fixup_uart_clk(1, "/plb/opb/serial@f0000300", ser_clk, plb_clk); |
549 | eplike_fixup_uart_clk(2, "/plb/opb/serial@10000600", ser_clk, plb_clk); | 549 | eplike_fixup_uart_clk(2, "/plb/opb/serial@f0000600", ser_clk, plb_clk); |
550 | } | 550 | } |
551 | 551 | ||
552 | void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk) | 552 | void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk) |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index bb2465bcb327..fae8192c8fcc 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -44,6 +44,7 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405 | |||
44 | $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405 | 44 | $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405 |
45 | $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405 | 45 | $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405 |
46 | $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405 | 46 | $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405 |
47 | $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405 | ||
47 | $(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405 | 48 | $(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405 |
48 | 49 | ||
49 | 50 | ||
@@ -77,7 +78,7 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c | |||
77 | cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ | 78 | cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ |
78 | virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \ | 79 | virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \ |
79 | cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \ | 80 | cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \ |
80 | gamecube-head.S gamecube.c wii-head.S wii.c | 81 | gamecube-head.S gamecube.c wii-head.S wii.c treeboot-iss4xx.c |
81 | src-boot := $(src-wlib) $(src-plat) empty.c | 82 | src-boot := $(src-wlib) $(src-plat) empty.c |
82 | 83 | ||
83 | src-boot := $(addprefix $(obj)/, $(src-boot)) | 84 | src-boot := $(addprefix $(obj)/, $(src-boot)) |
@@ -140,7 +141,7 @@ $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S FORCE | |||
140 | $(obj)/wrapper.a: $(obj-wlib) FORCE | 141 | $(obj)/wrapper.a: $(obj-wlib) FORCE |
141 | $(call if_changed,bootar) | 142 | $(call if_changed,bootar) |
142 | 143 | ||
143 | hostprogs-y := addnote addRamDisk hack-coff mktree | 144 | hostprogs-y := addnote hack-coff mktree |
144 | 145 | ||
145 | targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) | 146 | targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) |
146 | extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ | 147 | extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ |
@@ -169,7 +170,7 @@ quiet_cmd_wrap = WRAP $@ | |||
169 | $(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux | 170 | $(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux |
170 | 171 | ||
171 | image-$(CONFIG_PPC_PSERIES) += zImage.pseries | 172 | image-$(CONFIG_PPC_PSERIES) += zImage.pseries |
172 | image-$(CONFIG_PPC_MAPLE) += zImage.pseries | 173 | image-$(CONFIG_PPC_MAPLE) += zImage.maple |
173 | image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries | 174 | image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries |
174 | image-$(CONFIG_PPC_PS3) += dtbImage.ps3 | 175 | image-$(CONFIG_PPC_PS3) += dtbImage.ps3 |
175 | image-$(CONFIG_PPC_CELLEB) += zImage.pseries | 176 | image-$(CONFIG_PPC_CELLEB) += zImage.pseries |
@@ -206,6 +207,8 @@ image-$(CONFIG_TAISHAN) += cuImage.taishan | |||
206 | image-$(CONFIG_KATMAI) += cuImage.katmai | 207 | image-$(CONFIG_KATMAI) += cuImage.katmai |
207 | image-$(CONFIG_WARP) += cuImage.warp | 208 | image-$(CONFIG_WARP) += cuImage.warp |
208 | image-$(CONFIG_YOSEMITE) += cuImage.yosemite | 209 | image-$(CONFIG_YOSEMITE) += cuImage.yosemite |
210 | image-$(CONFIG_ISS4xx) += treeImage.iss4xx \ | ||
211 | treeImage.iss4xx-mpic | ||
209 | 212 | ||
210 | # Board ports in arch/powerpc/platform/8xx/Kconfig | 213 | # Board ports in arch/powerpc/platform/8xx/Kconfig |
211 | image-$(CONFIG_MPC86XADS) += cuImage.mpc866ads | 214 | image-$(CONFIG_MPC86XADS) += cuImage.mpc866ads |
@@ -351,7 +354,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) | |||
351 | clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ | 354 | clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ |
352 | zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ | 355 | zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ |
353 | zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ | 356 | zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ |
354 | simpleImage.* otheros.bld *.dtb | 357 | zImage.maple simpleImage.* otheros.bld *.dtb |
355 | 358 | ||
356 | # clean up files cached by wrapper | 359 | # clean up files cached by wrapper |
357 | clean-kernel := vmlinux.strip vmlinux.bin | 360 | clean-kernel := vmlinux.strip vmlinux.bin |
diff --git a/arch/powerpc/boot/addRamDisk.c b/arch/powerpc/boot/addRamDisk.c deleted file mode 100644 index 893f446cbd22..000000000000 --- a/arch/powerpc/boot/addRamDisk.c +++ /dev/null | |||
@@ -1,311 +0,0 @@ | |||
1 | #include <stdio.h> | ||
2 | #include <stdlib.h> | ||
3 | #include <netinet/in.h> | ||
4 | #include <unistd.h> | ||
5 | #include <sys/types.h> | ||
6 | #include <sys/stat.h> | ||
7 | #include <string.h> | ||
8 | #include <elf.h> | ||
9 | |||
10 | #define ElfHeaderSize (64 * 1024) | ||
11 | #define ElfPages (ElfHeaderSize / 4096) | ||
12 | #define KERNELBASE (0xc000000000000000) | ||
13 | #define _ALIGN_UP(addr,size) (((addr)+((size)-1))&(~((size)-1))) | ||
14 | |||
15 | struct addr_range { | ||
16 | unsigned long long addr; | ||
17 | unsigned long memsize; | ||
18 | unsigned long offset; | ||
19 | }; | ||
20 | |||
21 | static int check_elf64(void *p, int size, struct addr_range *r) | ||
22 | { | ||
23 | Elf64_Ehdr *elf64 = p; | ||
24 | Elf64_Phdr *elf64ph; | ||
25 | |||
26 | if (elf64->e_ident[EI_MAG0] != ELFMAG0 || | ||
27 | elf64->e_ident[EI_MAG1] != ELFMAG1 || | ||
28 | elf64->e_ident[EI_MAG2] != ELFMAG2 || | ||
29 | elf64->e_ident[EI_MAG3] != ELFMAG3 || | ||
30 | elf64->e_ident[EI_CLASS] != ELFCLASS64 || | ||
31 | elf64->e_ident[EI_DATA] != ELFDATA2MSB || | ||
32 | elf64->e_type != ET_EXEC || elf64->e_machine != EM_PPC64) | ||
33 | return 0; | ||
34 | |||
35 | if ((elf64->e_phoff + sizeof(Elf64_Phdr)) > size) | ||
36 | return 0; | ||
37 | |||
38 | elf64ph = (Elf64_Phdr *) ((unsigned long)elf64 + | ||
39 | (unsigned long)elf64->e_phoff); | ||
40 | |||
41 | r->memsize = (unsigned long)elf64ph->p_memsz; | ||
42 | r->offset = (unsigned long)elf64ph->p_offset; | ||
43 | r->addr = (unsigned long long)elf64ph->p_vaddr; | ||
44 | |||
45 | #ifdef DEBUG | ||
46 | printf("PPC64 ELF file, ph:\n"); | ||
47 | printf("p_type 0x%08x\n", elf64ph->p_type); | ||
48 | printf("p_flags 0x%08x\n", elf64ph->p_flags); | ||
49 | printf("p_offset 0x%016llx\n", elf64ph->p_offset); | ||
50 | printf("p_vaddr 0x%016llx\n", elf64ph->p_vaddr); | ||
51 | printf("p_paddr 0x%016llx\n", elf64ph->p_paddr); | ||
52 | printf("p_filesz 0x%016llx\n", elf64ph->p_filesz); | ||
53 | printf("p_memsz 0x%016llx\n", elf64ph->p_memsz); | ||
54 | printf("p_align 0x%016llx\n", elf64ph->p_align); | ||
55 | printf("... skipping 0x%08lx bytes of ELF header\n", | ||
56 | (unsigned long)elf64ph->p_offset); | ||
57 | #endif | ||
58 | |||
59 | return 64; | ||
60 | } | ||
61 | static void get4k(FILE *file, char *buf ) | ||
62 | { | ||
63 | unsigned j; | ||
64 | unsigned num = fread(buf, 1, 4096, file); | ||
65 | for ( j=num; j<4096; ++j ) | ||
66 | buf[j] = 0; | ||
67 | } | ||
68 | |||
69 | static void put4k(FILE *file, char *buf ) | ||
70 | { | ||
71 | fwrite(buf, 1, 4096, file); | ||
72 | } | ||
73 | |||
74 | static void death(const char *msg, FILE *fdesc, const char *fname) | ||
75 | { | ||
76 | fprintf(stderr, msg); | ||
77 | fclose(fdesc); | ||
78 | unlink(fname); | ||
79 | exit(1); | ||
80 | } | ||
81 | |||
82 | int main(int argc, char **argv) | ||
83 | { | ||
84 | char inbuf[4096]; | ||
85 | struct addr_range vmlinux; | ||
86 | FILE *ramDisk; | ||
87 | FILE *inputVmlinux; | ||
88 | FILE *outputVmlinux; | ||
89 | |||
90 | char *rd_name, *lx_name, *out_name; | ||
91 | |||
92 | size_t i; | ||
93 | unsigned long ramFileLen; | ||
94 | unsigned long ramLen; | ||
95 | unsigned long roundR; | ||
96 | unsigned long offset_end; | ||
97 | |||
98 | unsigned long kernelLen; | ||
99 | unsigned long actualKernelLen; | ||
100 | unsigned long round; | ||
101 | unsigned long roundedKernelLen; | ||
102 | unsigned long ramStartOffs; | ||
103 | unsigned long ramPages; | ||
104 | unsigned long roundedKernelPages; | ||
105 | unsigned long hvReleaseData; | ||
106 | u_int32_t eyeCatcher = 0xc8a5d9c4; | ||
107 | unsigned long naca; | ||
108 | unsigned long xRamDisk; | ||
109 | unsigned long xRamDiskSize; | ||
110 | long padPages; | ||
111 | |||
112 | |||
113 | if (argc < 2) { | ||
114 | fprintf(stderr, "Name of RAM disk file missing.\n"); | ||
115 | exit(1); | ||
116 | } | ||
117 | rd_name = argv[1]; | ||
118 | |||
119 | if (argc < 3) { | ||
120 | fprintf(stderr, "Name of vmlinux file missing.\n"); | ||
121 | exit(1); | ||
122 | } | ||
123 | lx_name = argv[2]; | ||
124 | |||
125 | if (argc < 4) { | ||
126 | fprintf(stderr, "Name of vmlinux output file missing.\n"); | ||
127 | exit(1); | ||
128 | } | ||
129 | out_name = argv[3]; | ||
130 | |||
131 | |||
132 | ramDisk = fopen(rd_name, "r"); | ||
133 | if ( ! ramDisk ) { | ||
134 | fprintf(stderr, "RAM disk file \"%s\" failed to open.\n", rd_name); | ||
135 | exit(1); | ||
136 | } | ||
137 | |||
138 | inputVmlinux = fopen(lx_name, "r"); | ||
139 | if ( ! inputVmlinux ) { | ||
140 | fprintf(stderr, "vmlinux file \"%s\" failed to open.\n", lx_name); | ||
141 | exit(1); | ||
142 | } | ||
143 | |||
144 | outputVmlinux = fopen(out_name, "w+"); | ||
145 | if ( ! outputVmlinux ) { | ||
146 | fprintf(stderr, "output vmlinux file \"%s\" failed to open.\n", out_name); | ||
147 | exit(1); | ||
148 | } | ||
149 | |||
150 | i = fread(inbuf, 1, sizeof(inbuf), inputVmlinux); | ||
151 | if (i != sizeof(inbuf)) { | ||
152 | fprintf(stderr, "can not read vmlinux file %s: %u\n", lx_name, i); | ||
153 | exit(1); | ||
154 | } | ||
155 | |||
156 | i = check_elf64(inbuf, sizeof(inbuf), &vmlinux); | ||
157 | if (i == 0) { | ||
158 | fprintf(stderr, "You must have a linux kernel specified as argv[2]\n"); | ||
159 | exit(1); | ||
160 | } | ||
161 | |||
162 | /* Input Vmlinux file */ | ||
163 | fseek(inputVmlinux, 0, SEEK_END); | ||
164 | kernelLen = ftell(inputVmlinux); | ||
165 | fseek(inputVmlinux, 0, SEEK_SET); | ||
166 | printf("kernel file size = %lu\n", kernelLen); | ||
167 | |||
168 | actualKernelLen = kernelLen - ElfHeaderSize; | ||
169 | |||
170 | printf("actual kernel length (minus ELF header) = %lu\n", actualKernelLen); | ||
171 | |||
172 | round = actualKernelLen % 4096; | ||
173 | roundedKernelLen = actualKernelLen; | ||
174 | if ( round ) | ||
175 | roundedKernelLen += (4096 - round); | ||
176 | printf("Vmlinux length rounded up to a 4k multiple = %ld/0x%lx \n", roundedKernelLen, roundedKernelLen); | ||
177 | roundedKernelPages = roundedKernelLen / 4096; | ||
178 | printf("Vmlinux pages to copy = %ld/0x%lx \n", roundedKernelPages, roundedKernelPages); | ||
179 | |||
180 | offset_end = _ALIGN_UP(vmlinux.memsize, 4096); | ||
181 | /* calc how many pages we need to insert between the vmlinux and the start of the ram disk */ | ||
182 | padPages = offset_end/4096 - roundedKernelPages; | ||
183 | |||
184 | /* Check and see if the vmlinux is already larger than _end in System.map */ | ||
185 | if (padPages < 0) { | ||
186 | /* vmlinux is larger than _end - adjust the offset to the start of the embedded ram disk */ | ||
187 | offset_end = roundedKernelLen; | ||
188 | printf("vmlinux is larger than _end indicates it needs to be - offset_end = %lx \n", offset_end); | ||
189 | padPages = 0; | ||
190 | printf("will insert %lx pages between the vmlinux and the start of the ram disk \n", padPages); | ||
191 | } | ||
192 | else { | ||
193 | /* _end is larger than vmlinux - use the offset to _end that we calculated from the system map */ | ||
194 | printf("vmlinux is smaller than _end indicates is needed - offset_end = %lx \n", offset_end); | ||
195 | printf("will insert %lx pages between the vmlinux and the start of the ram disk \n", padPages); | ||
196 | } | ||
197 | |||
198 | |||
199 | |||
200 | /* Input Ram Disk file */ | ||
201 | // Set the offset that the ram disk will be started at. | ||
202 | ramStartOffs = offset_end; /* determined from the input vmlinux file and the system map */ | ||
203 | printf("Ram Disk will start at offset = 0x%lx \n", ramStartOffs); | ||
204 | |||
205 | fseek(ramDisk, 0, SEEK_END); | ||
206 | ramFileLen = ftell(ramDisk); | ||
207 | fseek(ramDisk, 0, SEEK_SET); | ||
208 | printf("%s file size = %ld/0x%lx \n", rd_name, ramFileLen, ramFileLen); | ||
209 | |||
210 | ramLen = ramFileLen; | ||
211 | |||
212 | roundR = 4096 - (ramLen % 4096); | ||
213 | if ( roundR ) { | ||
214 | printf("Rounding RAM disk file up to a multiple of 4096, adding %ld/0x%lx \n", roundR, roundR); | ||
215 | ramLen += roundR; | ||
216 | } | ||
217 | |||
218 | printf("Rounded RAM disk size is %ld/0x%lx \n", ramLen, ramLen); | ||
219 | ramPages = ramLen / 4096; | ||
220 | printf("RAM disk pages to copy = %ld/0x%lx\n", ramPages, ramPages); | ||
221 | |||
222 | |||
223 | |||
224 | // Copy 64K ELF header | ||
225 | for (i=0; i<(ElfPages); ++i) { | ||
226 | get4k( inputVmlinux, inbuf ); | ||
227 | put4k( outputVmlinux, inbuf ); | ||
228 | } | ||
229 | |||
230 | /* Copy the vmlinux (as full pages). */ | ||
231 | fseek(inputVmlinux, ElfHeaderSize, SEEK_SET); | ||
232 | for ( i=0; i<roundedKernelPages; ++i ) { | ||
233 | get4k( inputVmlinux, inbuf ); | ||
234 | put4k( outputVmlinux, inbuf ); | ||
235 | } | ||
236 | |||
237 | /* Insert pad pages (if appropriate) that are needed between */ | ||
238 | /* | the end of the vmlinux and the ram disk. */ | ||
239 | for (i=0; i<padPages; ++i) { | ||
240 | memset(inbuf, 0, 4096); | ||
241 | put4k(outputVmlinux, inbuf); | ||
242 | } | ||
243 | |||
244 | /* Copy the ram disk (as full pages). */ | ||
245 | for ( i=0; i<ramPages; ++i ) { | ||
246 | get4k( ramDisk, inbuf ); | ||
247 | put4k( outputVmlinux, inbuf ); | ||
248 | } | ||
249 | |||
250 | /* Close the input files */ | ||
251 | fclose(ramDisk); | ||
252 | fclose(inputVmlinux); | ||
253 | /* And flush the written output file */ | ||
254 | fflush(outputVmlinux); | ||
255 | |||
256 | |||
257 | |||
258 | /* Fixup the new vmlinux to contain the ram disk starting offset (xRamDisk) and the ram disk size (xRamDiskSize) */ | ||
259 | /* fseek to the hvReleaseData pointer */ | ||
260 | fseek(outputVmlinux, ElfHeaderSize + 0x24, SEEK_SET); | ||
261 | if (fread(&hvReleaseData, 4, 1, outputVmlinux) != 1) { | ||
262 | death("Could not read hvReleaseData pointer\n", outputVmlinux, out_name); | ||
263 | } | ||
264 | hvReleaseData = ntohl(hvReleaseData); /* Convert to native int */ | ||
265 | printf("hvReleaseData is at %08lx\n", hvReleaseData); | ||
266 | |||
267 | /* fseek to the hvReleaseData */ | ||
268 | fseek(outputVmlinux, ElfHeaderSize + hvReleaseData, SEEK_SET); | ||
269 | if (fread(inbuf, 0x40, 1, outputVmlinux) != 1) { | ||
270 | death("Could not read hvReleaseData\n", outputVmlinux, out_name); | ||
271 | } | ||
272 | /* Check hvReleaseData sanity */ | ||
273 | if (memcmp(inbuf, &eyeCatcher, 4) != 0) { | ||
274 | death("hvReleaseData is invalid\n", outputVmlinux, out_name); | ||
275 | } | ||
276 | /* Get the naca pointer */ | ||
277 | naca = ntohl(*((u_int32_t*) &inbuf[0x0C])) - KERNELBASE; | ||
278 | printf("Naca is at offset 0x%lx \n", naca); | ||
279 | |||
280 | /* fseek to the naca */ | ||
281 | fseek(outputVmlinux, ElfHeaderSize + naca, SEEK_SET); | ||
282 | if (fread(inbuf, 0x18, 1, outputVmlinux) != 1) { | ||
283 | death("Could not read naca\n", outputVmlinux, out_name); | ||
284 | } | ||
285 | xRamDisk = ntohl(*((u_int32_t *) &inbuf[0x0c])); | ||
286 | xRamDiskSize = ntohl(*((u_int32_t *) &inbuf[0x14])); | ||
287 | /* Make sure a RAM disk isn't already present */ | ||
288 | if ((xRamDisk != 0) || (xRamDiskSize != 0)) { | ||
289 | death("RAM disk is already attached to this kernel\n", outputVmlinux, out_name); | ||
290 | } | ||
291 | /* Fill in the values */ | ||
292 | *((u_int32_t *) &inbuf[0x0c]) = htonl(ramStartOffs); | ||
293 | *((u_int32_t *) &inbuf[0x14]) = htonl(ramPages); | ||
294 | |||
295 | /* Write out the new naca */ | ||
296 | fflush(outputVmlinux); | ||
297 | fseek(outputVmlinux, ElfHeaderSize + naca, SEEK_SET); | ||
298 | if (fwrite(inbuf, 0x18, 1, outputVmlinux) != 1) { | ||
299 | death("Could not write naca\n", outputVmlinux, out_name); | ||
300 | } | ||
301 | printf("Ram Disk of 0x%lx pages is attached to the kernel at offset 0x%08lx\n", | ||
302 | ramPages, ramStartOffs); | ||
303 | |||
304 | /* Done */ | ||
305 | fclose(outputVmlinux); | ||
306 | /* Set permission to executable */ | ||
307 | chmod(out_name, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); | ||
308 | |||
309 | return 0; | ||
310 | } | ||
311 | |||
diff --git a/arch/powerpc/boot/dts/icon.dts b/arch/powerpc/boot/dts/icon.dts new file mode 100644 index 000000000000..abcd0caeccae --- /dev/null +++ b/arch/powerpc/boot/dts/icon.dts | |||
@@ -0,0 +1,447 @@ | |||
1 | /* | ||
2 | * Device Tree Source for Mosaix Technologies, Inc. ICON board | ||
3 | * | ||
4 | * Copyright 2010 DENX Software Engineering, Stefan Roese <sr@denx.de> | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without | ||
8 | * any warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | /dts-v1/; | ||
12 | |||
13 | / { | ||
14 | #address-cells = <2>; | ||
15 | #size-cells = <2>; | ||
16 | model = "mosaixtech,icon"; | ||
17 | compatible = "mosaixtech,icon"; | ||
18 | dcr-parent = <&{/cpus/cpu@0}>; | ||
19 | |||
20 | aliases { | ||
21 | ethernet0 = &EMAC0; | ||
22 | serial0 = &UART0; | ||
23 | serial1 = &UART1; | ||
24 | serial2 = &UART2; | ||
25 | }; | ||
26 | |||
27 | cpus { | ||
28 | #address-cells = <1>; | ||
29 | #size-cells = <0>; | ||
30 | |||
31 | cpu@0 { | ||
32 | device_type = "cpu"; | ||
33 | model = "PowerPC,440SPe"; | ||
34 | reg = <0x00000000>; | ||
35 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
36 | timebase-frequency = <0>; /* Filled in by U-Boot */ | ||
37 | i-cache-line-size = <32>; | ||
38 | d-cache-line-size = <32>; | ||
39 | i-cache-size = <32768>; | ||
40 | d-cache-size = <32768>; | ||
41 | dcr-controller; | ||
42 | dcr-access-method = "native"; | ||
43 | reset-type = <2>; /* Use chip-reset */ | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | memory { | ||
48 | device_type = "memory"; | ||
49 | reg = <0x0 0x00000000 0x0 0x00000000>; /* Filled in by U-Boot */ | ||
50 | }; | ||
51 | |||
52 | UIC0: interrupt-controller0 { | ||
53 | compatible = "ibm,uic-440spe","ibm,uic"; | ||
54 | interrupt-controller; | ||
55 | cell-index = <0>; | ||
56 | dcr-reg = <0x0c0 0x009>; | ||
57 | #address-cells = <0>; | ||
58 | #size-cells = <0>; | ||
59 | #interrupt-cells = <2>; | ||
60 | }; | ||
61 | |||
62 | UIC1: interrupt-controller1 { | ||
63 | compatible = "ibm,uic-440spe","ibm,uic"; | ||
64 | interrupt-controller; | ||
65 | cell-index = <1>; | ||
66 | dcr-reg = <0x0d0 0x009>; | ||
67 | #address-cells = <0>; | ||
68 | #size-cells = <0>; | ||
69 | #interrupt-cells = <2>; | ||
70 | interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ | ||
71 | interrupt-parent = <&UIC0>; | ||
72 | }; | ||
73 | |||
74 | UIC2: interrupt-controller2 { | ||
75 | compatible = "ibm,uic-440spe","ibm,uic"; | ||
76 | interrupt-controller; | ||
77 | cell-index = <2>; | ||
78 | dcr-reg = <0x0e0 0x009>; | ||
79 | #address-cells = <0>; | ||
80 | #size-cells = <0>; | ||
81 | #interrupt-cells = <2>; | ||
82 | interrupts = <0xa 0x4 0xb 0x4>; /* cascade */ | ||
83 | interrupt-parent = <&UIC0>; | ||
84 | }; | ||
85 | |||
86 | UIC3: interrupt-controller3 { | ||
87 | compatible = "ibm,uic-440spe","ibm,uic"; | ||
88 | interrupt-controller; | ||
89 | cell-index = <3>; | ||
90 | dcr-reg = <0x0f0 0x009>; | ||
91 | #address-cells = <0>; | ||
92 | #size-cells = <0>; | ||
93 | #interrupt-cells = <2>; | ||
94 | interrupts = <0x10 0x4 0x11 0x4>; /* cascade */ | ||
95 | interrupt-parent = <&UIC0>; | ||
96 | }; | ||
97 | |||
98 | SDR0: sdr { | ||
99 | compatible = "ibm,sdr-440spe"; | ||
100 | dcr-reg = <0x00e 0x002>; | ||
101 | }; | ||
102 | |||
103 | CPR0: cpr { | ||
104 | compatible = "ibm,cpr-440spe"; | ||
105 | dcr-reg = <0x00c 0x002>; | ||
106 | }; | ||
107 | |||
108 | MQ0: mq { | ||
109 | compatible = "ibm,mq-440spe"; | ||
110 | dcr-reg = <0x040 0x020>; | ||
111 | }; | ||
112 | |||
113 | plb { | ||
114 | compatible = "ibm,plb-440spe", "ibm,plb-440gp", "ibm,plb4"; | ||
115 | #address-cells = <2>; | ||
116 | #size-cells = <1>; | ||
117 | /* addr-child addr-parent size */ | ||
118 | ranges = <0x4 0x00100000 0x4 0x00100000 0x00001000 | ||
119 | 0x4 0x00200000 0x4 0x00200000 0x00000400 | ||
120 | 0x4 0xe0000000 0x4 0xe0000000 0x20000000 | ||
121 | 0xc 0x00000000 0xc 0x00000000 0x20000000 | ||
122 | 0xd 0x00000000 0xd 0x00000000 0x80000000 | ||
123 | 0xd 0x80000000 0xd 0x80000000 0x80000000 | ||
124 | 0xe 0x00000000 0xe 0x00000000 0x80000000 | ||
125 | 0xe 0x80000000 0xe 0x80000000 0x80000000 | ||
126 | 0xf 0x00000000 0xf 0x00000000 0x80000000 | ||
127 | 0xf 0x80000000 0xf 0x80000000 0x80000000>; | ||
128 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
129 | |||
130 | SDRAM0: sdram { | ||
131 | compatible = "ibm,sdram-440spe", "ibm,sdram-405gp"; | ||
132 | dcr-reg = <0x010 0x002>; | ||
133 | }; | ||
134 | |||
135 | MAL0: mcmal { | ||
136 | compatible = "ibm,mcmal-440spe", "ibm,mcmal2"; | ||
137 | dcr-reg = <0x180 0x062>; | ||
138 | num-tx-chans = <2>; | ||
139 | num-rx-chans = <1>; | ||
140 | interrupt-parent = <&MAL0>; | ||
141 | interrupts = <0x0 0x1 0x2 0x3 0x4>; | ||
142 | #interrupt-cells = <1>; | ||
143 | #address-cells = <0>; | ||
144 | #size-cells = <0>; | ||
145 | interrupt-map = </*TXEOB*/ 0x0 &UIC1 0x6 0x4 | ||
146 | /*RXEOB*/ 0x1 &UIC1 0x7 0x4 | ||
147 | /*SERR*/ 0x2 &UIC1 0x1 0x4 | ||
148 | /*TXDE*/ 0x3 &UIC1 0x2 0x4 | ||
149 | /*RXDE*/ 0x4 &UIC1 0x3 0x4>; | ||
150 | }; | ||
151 | |||
152 | POB0: opb { | ||
153 | compatible = "ibm,opb-440spe", "ibm,opb-440gp", "ibm,opb"; | ||
154 | #address-cells = <1>; | ||
155 | #size-cells = <1>; | ||
156 | ranges = <0xe0000000 0x00000004 0xe0000000 0x20000000>; | ||
157 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
158 | |||
159 | EBC0: ebc { | ||
160 | compatible = "ibm,ebc-440spe", "ibm,ebc-440gp", "ibm,ebc"; | ||
161 | dcr-reg = <0x012 0x002>; | ||
162 | #address-cells = <2>; | ||
163 | #size-cells = <1>; | ||
164 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
165 | /* ranges property is supplied by U-Boot */ | ||
166 | interrupts = <0x5 0x1>; | ||
167 | interrupt-parent = <&UIC1>; | ||
168 | |||
169 | nor_flash@0,0 { | ||
170 | compatible = "cfi-flash"; | ||
171 | bank-width = <2>; | ||
172 | reg = <0x00000000 0x00000000 0x01000000>; | ||
173 | #address-cells = <1>; | ||
174 | #size-cells = <1>; | ||
175 | partition@0 { | ||
176 | label = "kernel"; | ||
177 | reg = <0x00000000 0x001e0000>; | ||
178 | }; | ||
179 | partition@1e0000 { | ||
180 | label = "dtb"; | ||
181 | reg = <0x001e0000 0x00020000>; | ||
182 | }; | ||
183 | partition@200000 { | ||
184 | label = "root"; | ||
185 | reg = <0x00200000 0x00200000>; | ||
186 | }; | ||
187 | partition@400000 { | ||
188 | label = "user"; | ||
189 | reg = <0x00400000 0x00b60000>; | ||
190 | }; | ||
191 | partition@f60000 { | ||
192 | label = "env"; | ||
193 | reg = <0x00f60000 0x00040000>; | ||
194 | }; | ||
195 | partition@fa0000 { | ||
196 | label = "u-boot"; | ||
197 | reg = <0x00fa0000 0x00060000>; | ||
198 | }; | ||
199 | }; | ||
200 | |||
201 | SysACE_CompactFlash: sysace@1,0 { | ||
202 | compatible = "xlnx,sysace"; | ||
203 | interrupt-parent = <&UIC2>; | ||
204 | interrupts = <24 0x4>; | ||
205 | reg = <0x00000001 0x00000000 0x10000>; | ||
206 | }; | ||
207 | }; | ||
208 | |||
209 | UART0: serial@f0000200 { | ||
210 | device_type = "serial"; | ||
211 | compatible = "ns16550"; | ||
212 | reg = <0xf0000200 0x00000008>; | ||
213 | virtual-reg = <0xa0000200>; | ||
214 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
215 | current-speed = <115200>; | ||
216 | interrupt-parent = <&UIC0>; | ||
217 | interrupts = <0x0 0x4>; | ||
218 | }; | ||
219 | |||
220 | UART1: serial@f0000300 { | ||
221 | device_type = "serial"; | ||
222 | compatible = "ns16550"; | ||
223 | reg = <0xf0000300 0x00000008>; | ||
224 | virtual-reg = <0xa0000300>; | ||
225 | clock-frequency = <0>; | ||
226 | current-speed = <0>; | ||
227 | interrupt-parent = <&UIC0>; | ||
228 | interrupts = <0x1 0x4>; | ||
229 | }; | ||
230 | |||
231 | |||
232 | UART2: serial@f0000600 { | ||
233 | device_type = "serial"; | ||
234 | compatible = "ns16550"; | ||
235 | reg = <0xf0000600 0x00000008>; | ||
236 | virtual-reg = <0xa0000600>; | ||
237 | clock-frequency = <0>; | ||
238 | current-speed = <0>; | ||
239 | interrupt-parent = <&UIC1>; | ||
240 | interrupts = <0x5 0x4>; | ||
241 | }; | ||
242 | |||
243 | IIC0: i2c@f0000400 { | ||
244 | compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic"; | ||
245 | reg = <0xf0000400 0x00000014>; | ||
246 | interrupt-parent = <&UIC0>; | ||
247 | interrupts = <0x2 0x4>; | ||
248 | }; | ||
249 | |||
250 | IIC1: i2c@f0000500 { | ||
251 | compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic"; | ||
252 | reg = <0xf0000500 0x00000014>; | ||
253 | interrupt-parent = <&UIC0>; | ||
254 | interrupts = <0x3 0x4>; | ||
255 | #address-cells = <1>; | ||
256 | #size-cells = <0>; | ||
257 | |||
258 | rtc@68 { | ||
259 | compatible = "stm,m41t00"; | ||
260 | reg = <0x68>; | ||
261 | }; | ||
262 | }; | ||
263 | |||
264 | EMAC0: ethernet@f0000800 { | ||
265 | linux,network-index = <0x0>; | ||
266 | device_type = "network"; | ||
267 | compatible = "ibm,emac-440spe", "ibm,emac4"; | ||
268 | interrupt-parent = <&UIC1>; | ||
269 | interrupts = <0x1c 0x4 0x1d 0x4>; | ||
270 | reg = <0xf0000800 0x00000074>; | ||
271 | local-mac-address = [000000000000]; | ||
272 | mal-device = <&MAL0>; | ||
273 | mal-tx-channel = <0>; | ||
274 | mal-rx-channel = <0>; | ||
275 | cell-index = <0>; | ||
276 | max-frame-size = <9000>; | ||
277 | rx-fifo-size = <4096>; | ||
278 | tx-fifo-size = <2048>; | ||
279 | phy-mode = "gmii"; | ||
280 | phy-map = <0x00000000>; | ||
281 | has-inverted-stacr-oc; | ||
282 | has-new-stacr-staopc; | ||
283 | }; | ||
284 | }; | ||
285 | |||
286 | PCIX0: pci@c0ec00000 { | ||
287 | device_type = "pci"; | ||
288 | #interrupt-cells = <1>; | ||
289 | #size-cells = <2>; | ||
290 | #address-cells = <3>; | ||
291 | compatible = "ibm,plb-pcix-440spe", "ibm,plb-pcix"; | ||
292 | primary; | ||
293 | large-inbound-windows; | ||
294 | enable-msi-hole; | ||
295 | reg = <0x0000000c 0x0ec00000 0x00000008 /* Config space access */ | ||
296 | 0x00000000 0x00000000 0x00000000 /* no IACK cycles */ | ||
297 | 0x0000000c 0x0ed00000 0x00000004 /* Special cycles */ | ||
298 | 0x0000000c 0x0ec80000 0x00000100 /* Internal registers */ | ||
299 | 0x0000000c 0x0ec80100 0x000000fc>; /* Internal messaging registers */ | ||
300 | |||
301 | /* Outbound ranges, one memory and one IO, | ||
302 | * later cannot be changed | ||
303 | */ | ||
304 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000d 0x80000000 0x00000000 0x80000000 | ||
305 | 0x01000000 0x00000000 0x00000000 0x0000000c 0x08000000 0x00000000 0x00010000>; | ||
306 | |||
307 | /* Inbound 4GB range starting at 0 */ | ||
308 | dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x1 0x00000000>; | ||
309 | |||
310 | /* This drives busses 0 to 0xf */ | ||
311 | bus-range = <0x0 0xf>; | ||
312 | |||
313 | /* PCI-X interrupt (SM502) is routed to extIRQ10 (UIC1, 19) */ | ||
314 | interrupt-map-mask = <0x0 0x0 0x0 0x0>; | ||
315 | interrupt-map = <0x0 0x0 0x0 0x0 &UIC1 19 0x8>; | ||
316 | }; | ||
317 | |||
318 | PCIE0: pciex@d00000000 { | ||
319 | device_type = "pci"; | ||
320 | #interrupt-cells = <1>; | ||
321 | #size-cells = <2>; | ||
322 | #address-cells = <3>; | ||
323 | compatible = "ibm,plb-pciex-440spe", "ibm,plb-pciex"; | ||
324 | primary; | ||
325 | port = <0x0>; /* port number */ | ||
326 | reg = <0x0000000d 0x00000000 0x20000000 /* Config space access */ | ||
327 | 0x0000000c 0x10000000 0x00001000>; /* Registers */ | ||
328 | dcr-reg = <0x100 0x020>; | ||
329 | sdr-base = <0x300>; | ||
330 | |||
331 | /* Outbound ranges, one memory and one IO, | ||
332 | * later cannot be changed | ||
333 | */ | ||
334 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000 | ||
335 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>; | ||
336 | |||
337 | /* Inbound 4GB range starting at 0 */ | ||
338 | dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x1 0x00000000>; | ||
339 | |||
340 | /* This drives busses 0x10 to 0x1f */ | ||
341 | bus-range = <0x10 0x1f>; | ||
342 | |||
343 | /* Legacy interrupts (note the weird polarity, the bridge seems | ||
344 | * to invert PCIe legacy interrupts). | ||
345 | * We are de-swizzling here because the numbers are actually for | ||
346 | * port of the root complex virtual P2P bridge. But I want | ||
347 | * to avoid putting a node for it in the tree, so the numbers | ||
348 | * below are basically de-swizzled numbers. | ||
349 | * The real slot is on idsel 0, so the swizzling is 1:1 | ||
350 | */ | ||
351 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
352 | interrupt-map = < | ||
353 | 0x0 0x0 0x0 0x1 &UIC3 0x0 0x4 /* swizzled int A */ | ||
354 | 0x0 0x0 0x0 0x2 &UIC3 0x1 0x4 /* swizzled int B */ | ||
355 | 0x0 0x0 0x0 0x3 &UIC3 0x2 0x4 /* swizzled int C */ | ||
356 | 0x0 0x0 0x0 0x4 &UIC3 0x3 0x4 /* swizzled int D */>; | ||
357 | }; | ||
358 | |||
359 | PCIE1: pciex@d20000000 { | ||
360 | device_type = "pci"; | ||
361 | #interrupt-cells = <1>; | ||
362 | #size-cells = <2>; | ||
363 | #address-cells = <3>; | ||
364 | compatible = "ibm,plb-pciex-440spe", "ibm,plb-pciex"; | ||
365 | primary; | ||
366 | port = <0x1>; /* port number */ | ||
367 | reg = <0x0000000d 0x20000000 0x20000000 /* Config space access */ | ||
368 | 0x0000000c 0x10001000 0x00001000>; /* Registers */ | ||
369 | dcr-reg = <0x120 0x020>; | ||
370 | sdr-base = <0x340>; | ||
371 | |||
372 | /* Outbound ranges, one memory and one IO, | ||
373 | * later cannot be changed | ||
374 | */ | ||
375 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000 | ||
376 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>; | ||
377 | |||
378 | /* Inbound 4GB range starting at 0 */ | ||
379 | dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x1 0x00000000>; | ||
380 | |||
381 | /* This drives busses 0x20 to 0x2f */ | ||
382 | bus-range = <0x20 0x2f>; | ||
383 | |||
384 | /* Legacy interrupts (note the weird polarity, the bridge seems | ||
385 | * to invert PCIe legacy interrupts). | ||
386 | * We are de-swizzling here because the numbers are actually for | ||
387 | * port of the root complex virtual P2P bridge. But I want | ||
388 | * to avoid putting a node for it in the tree, so the numbers | ||
389 | * below are basically de-swizzled numbers. | ||
390 | * The real slot is on idsel 0, so the swizzling is 1:1 | ||
391 | */ | ||
392 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
393 | interrupt-map = < | ||
394 | 0x0 0x0 0x0 0x1 &UIC3 0x4 0x4 /* swizzled int A */ | ||
395 | 0x0 0x0 0x0 0x2 &UIC3 0x5 0x4 /* swizzled int B */ | ||
396 | 0x0 0x0 0x0 0x3 &UIC3 0x6 0x4 /* swizzled int C */ | ||
397 | 0x0 0x0 0x0 0x4 &UIC3 0x7 0x4 /* swizzled int D */>; | ||
398 | }; | ||
399 | |||
400 | I2O: i2o@400100000 { | ||
401 | compatible = "ibm,i2o-440spe"; | ||
402 | reg = <0x00000004 0x00100000 0x100>; | ||
403 | dcr-reg = <0x060 0x020>; | ||
404 | }; | ||
405 | |||
406 | DMA0: dma0@400100100 { | ||
407 | compatible = "ibm,dma-440spe"; | ||
408 | cell-index = <0>; | ||
409 | reg = <0x00000004 0x00100100 0x100>; | ||
410 | dcr-reg = <0x060 0x020>; | ||
411 | interrupt-parent = <&DMA0>; | ||
412 | interrupts = <0 1>; | ||
413 | #interrupt-cells = <1>; | ||
414 | #address-cells = <0>; | ||
415 | #size-cells = <0>; | ||
416 | interrupt-map = < | ||
417 | 0 &UIC0 0x14 4 | ||
418 | 1 &UIC1 0x16 4>; | ||
419 | }; | ||
420 | |||
421 | DMA1: dma1@400100200 { | ||
422 | compatible = "ibm,dma-440spe"; | ||
423 | cell-index = <1>; | ||
424 | reg = <0x00000004 0x00100200 0x100>; | ||
425 | dcr-reg = <0x060 0x020>; | ||
426 | interrupt-parent = <&DMA1>; | ||
427 | interrupts = <0 1>; | ||
428 | #interrupt-cells = <1>; | ||
429 | #address-cells = <0>; | ||
430 | #size-cells = <0>; | ||
431 | interrupt-map = < | ||
432 | 0 &UIC0 0x16 4 | ||
433 | 1 &UIC1 0x16 4>; | ||
434 | }; | ||
435 | |||
436 | xor-accel@400200000 { | ||
437 | compatible = "amcc,xor-accelerator"; | ||
438 | reg = <0x00000004 0x00200000 0x400>; | ||
439 | interrupt-parent = <&UIC1>; | ||
440 | interrupts = <0x1f 4>; | ||
441 | }; | ||
442 | }; | ||
443 | |||
444 | chosen { | ||
445 | linux,stdout-path = "/plb/opb/serial@f0000200"; | ||
446 | }; | ||
447 | }; | ||
diff --git a/arch/powerpc/boot/dts/iss4xx-mpic.dts b/arch/powerpc/boot/dts/iss4xx-mpic.dts new file mode 100644 index 000000000000..23e9d9b7e400 --- /dev/null +++ b/arch/powerpc/boot/dts/iss4xx-mpic.dts | |||
@@ -0,0 +1,155 @@ | |||
1 | /* | ||
2 | * Device Tree Source for IBM Embedded PPC 476 Platform | ||
3 | * | ||
4 | * Copyright 2010 Torez Smith, IBM Corporation. | ||
5 | * | ||
6 | * Based on earlier code: | ||
7 | * Copyright (c) 2006, 2007 IBM Corp. | ||
8 | * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com> | ||
9 | * | ||
10 | * This file is licensed under the terms of the GNU General Public | ||
11 | * License version 2. This program is licensed "as is" without | ||
12 | * any warranty of any kind, whether express or implied. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | |||
17 | /memreserve/ 0x01f00000 0x00100000; | ||
18 | |||
19 | / { | ||
20 | #address-cells = <2>; | ||
21 | #size-cells = <1>; | ||
22 | model = "ibm,iss-4xx"; | ||
23 | compatible = "ibm,iss-4xx"; | ||
24 | dcr-parent = <&{/cpus/cpu@0}>; | ||
25 | |||
26 | aliases { | ||
27 | serial0 = &UART0; | ||
28 | }; | ||
29 | |||
30 | cpus { | ||
31 | #address-cells = <1>; | ||
32 | #size-cells = <0>; | ||
33 | |||
34 | cpu@0 { | ||
35 | device_type = "cpu"; | ||
36 | model = "PowerPC,4xx"; // real CPU changed in sim | ||
37 | reg = <0>; | ||
38 | clock-frequency = <100000000>; // 100Mhz :-) | ||
39 | timebase-frequency = <100000000>; | ||
40 | i-cache-line-size = <32>; | ||
41 | d-cache-line-size = <32>; | ||
42 | i-cache-size = <32768>; | ||
43 | d-cache-size = <32768>; | ||
44 | dcr-controller; | ||
45 | dcr-access-method = "native"; | ||
46 | status = "ok"; | ||
47 | }; | ||
48 | cpu@1 { | ||
49 | device_type = "cpu"; | ||
50 | model = "PowerPC,4xx"; // real CPU changed in sim | ||
51 | reg = <1>; | ||
52 | clock-frequency = <100000000>; // 100Mhz :-) | ||
53 | timebase-frequency = <100000000>; | ||
54 | i-cache-line-size = <32>; | ||
55 | d-cache-line-size = <32>; | ||
56 | i-cache-size = <32768>; | ||
57 | d-cache-size = <32768>; | ||
58 | dcr-controller; | ||
59 | dcr-access-method = "native"; | ||
60 | status = "disabled"; | ||
61 | enable-method = "spin-table"; | ||
62 | cpu-release-addr = <0 0x01f00100>; | ||
63 | }; | ||
64 | cpu@2 { | ||
65 | device_type = "cpu"; | ||
66 | model = "PowerPC,4xx"; // real CPU changed in sim | ||
67 | reg = <2>; | ||
68 | clock-frequency = <100000000>; // 100Mhz :-) | ||
69 | timebase-frequency = <100000000>; | ||
70 | i-cache-line-size = <32>; | ||
71 | d-cache-line-size = <32>; | ||
72 | i-cache-size = <32768>; | ||
73 | d-cache-size = <32768>; | ||
74 | dcr-controller; | ||
75 | dcr-access-method = "native"; | ||
76 | status = "disabled"; | ||
77 | enable-method = "spin-table"; | ||
78 | cpu-release-addr = <0 0x01f00200>; | ||
79 | }; | ||
80 | cpu@3 { | ||
81 | device_type = "cpu"; | ||
82 | model = "PowerPC,4xx"; // real CPU changed in sim | ||
83 | reg = <3>; | ||
84 | clock-frequency = <100000000>; // 100Mhz :-) | ||
85 | timebase-frequency = <100000000>; | ||
86 | i-cache-line-size = <32>; | ||
87 | d-cache-line-size = <32>; | ||
88 | i-cache-size = <32768>; | ||
89 | d-cache-size = <32768>; | ||
90 | dcr-controller; | ||
91 | dcr-access-method = "native"; | ||
92 | status = "disabled"; | ||
93 | enable-method = "spin-table"; | ||
94 | cpu-release-addr = <0 0x01f00300>; | ||
95 | }; | ||
96 | }; | ||
97 | |||
98 | memory { | ||
99 | device_type = "memory"; | ||
100 | reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage | ||
101 | |||
102 | }; | ||
103 | |||
104 | MPIC: interrupt-controller { | ||
105 | compatible = "chrp,open-pic"; | ||
106 | interrupt-controller; | ||
107 | dcr-reg = <0xffc00000 0x00030000>; | ||
108 | #address-cells = <0>; | ||
109 | #size-cells = <0>; | ||
110 | #interrupt-cells = <2>; | ||
111 | |||
112 | }; | ||
113 | |||
114 | plb { | ||
115 | compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */ | ||
116 | #address-cells = <2>; | ||
117 | #size-cells = <1>; | ||
118 | ranges; | ||
119 | clock-frequency = <0>; // Filled in by zImage | ||
120 | |||
121 | POB0: opb { | ||
122 | compatible = "ibm,opb-4xx", "ibm,opb"; | ||
123 | #address-cells = <1>; | ||
124 | #size-cells = <1>; | ||
125 | /* Wish there was a nicer way of specifying a full 32-bit | ||
126 | range */ | ||
127 | ranges = <0x00000000 0x00000001 0x00000000 0x80000000 | ||
128 | 0x80000000 0x00000001 0x80000000 0x80000000>; | ||
129 | clock-frequency = <0>; // Filled in by zImage | ||
130 | UART0: serial@40000200 { | ||
131 | device_type = "serial"; | ||
132 | compatible = "ns16550a"; | ||
133 | reg = <0x40000200 0x00000008>; | ||
134 | virtual-reg = <0xe0000200>; | ||
135 | clock-frequency = <11059200>; | ||
136 | current-speed = <115200>; | ||
137 | interrupt-parent = <&MPIC>; | ||
138 | interrupts = <0x0 0x2>; | ||
139 | }; | ||
140 | }; | ||
141 | }; | ||
142 | |||
143 | nvrtc { | ||
144 | compatible = "ds1743-nvram", "ds1743", "rtc-ds1743"; | ||
145 | reg = <0 0xEF703000 0x2000>; | ||
146 | }; | ||
147 | iss-block { | ||
148 | compatible = "ibm,iss-sim-block-device"; | ||
149 | reg = <0 0xEF701000 0x1000>; | ||
150 | }; | ||
151 | |||
152 | chosen { | ||
153 | linux,stdout-path = "/plb/opb/serial@40000200"; | ||
154 | }; | ||
155 | }; | ||
diff --git a/arch/powerpc/boot/dts/iss4xx.dts b/arch/powerpc/boot/dts/iss4xx.dts new file mode 100644 index 000000000000..4ff6555c866d --- /dev/null +++ b/arch/powerpc/boot/dts/iss4xx.dts | |||
@@ -0,0 +1,116 @@ | |||
1 | /* | ||
2 | * Device Tree Source for IBM Embedded PPC 476 Platform | ||
3 | * | ||
4 | * Copyright 2010 Torez Smith, IBM Corporation. | ||
5 | * | ||
6 | * Based on earlier code: | ||
7 | * Copyright (c) 2006, 2007 IBM Corp. | ||
8 | * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com> | ||
9 | * | ||
10 | * This file is licensed under the terms of the GNU General Public | ||
11 | * License version 2. This program is licensed "as is" without | ||
12 | * any warranty of any kind, whether express or implied. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | |||
17 | / { | ||
18 | #address-cells = <2>; | ||
19 | #size-cells = <1>; | ||
20 | model = "ibm,iss-4xx"; | ||
21 | compatible = "ibm,iss-4xx"; | ||
22 | dcr-parent = <&{/cpus/cpu@0}>; | ||
23 | |||
24 | aliases { | ||
25 | serial0 = &UART0; | ||
26 | }; | ||
27 | |||
28 | cpus { | ||
29 | #address-cells = <1>; | ||
30 | #size-cells = <0>; | ||
31 | |||
32 | cpu@0 { | ||
33 | device_type = "cpu"; | ||
34 | model = "PowerPC,4xx"; // real CPU changed in sim | ||
35 | reg = <0x00000000>; | ||
36 | clock-frequency = <100000000>; // 100Mhz :-) | ||
37 | timebase-frequency = <100000000>; | ||
38 | i-cache-line-size = <32>; // may need fixup in sim | ||
39 | d-cache-line-size = <32>; // may need fixup in sim | ||
40 | i-cache-size = <32768>; /* may need fixup in sim */ | ||
41 | d-cache-size = <32768>; /* may need fixup in sim */ | ||
42 | dcr-controller; | ||
43 | dcr-access-method = "native"; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | memory { | ||
48 | device_type = "memory"; | ||
49 | reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage | ||
50 | }; | ||
51 | |||
52 | UIC0: interrupt-controller0 { | ||
53 | compatible = "ibm,uic-4xx", "ibm,uic"; | ||
54 | interrupt-controller; | ||
55 | cell-index = <0>; | ||
56 | dcr-reg = <0x0c0 0x009>; | ||
57 | #address-cells = <0>; | ||
58 | #size-cells = <0>; | ||
59 | #interrupt-cells = <2>; | ||
60 | |||
61 | }; | ||
62 | |||
63 | UIC1: interrupt-controller1 { | ||
64 | compatible = "ibm,uic-4xx", "ibm,uic"; | ||
65 | interrupt-controller; | ||
66 | cell-index = <1>; | ||
67 | dcr-reg = <0x0d0 0x009>; | ||
68 | #address-cells = <0>; | ||
69 | #size-cells = <0>; | ||
70 | #interrupt-cells = <2>; | ||
71 | interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ | ||
72 | interrupt-parent = <&UIC0>; | ||
73 | }; | ||
74 | |||
75 | plb { | ||
76 | compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */ | ||
77 | #address-cells = <2>; | ||
78 | #size-cells = <1>; | ||
79 | ranges; | ||
80 | clock-frequency = <0>; // Filled in by zImage | ||
81 | |||
82 | POB0: opb { | ||
83 | compatible = "ibm,opb-4xx", "ibm,opb"; | ||
84 | #address-cells = <1>; | ||
85 | #size-cells = <1>; | ||
86 | /* Wish there was a nicer way of specifying a full 32-bit | ||
87 | range */ | ||
88 | ranges = <0x00000000 0x00000001 0x00000000 0x80000000 | ||
89 | 0x80000000 0x00000001 0x80000000 0x80000000>; | ||
90 | clock-frequency = <0>; // Filled in by zImage | ||
91 | UART0: serial@40000200 { | ||
92 | device_type = "serial"; | ||
93 | compatible = "ns16550a"; | ||
94 | reg = <0x40000200 0x00000008>; | ||
95 | virtual-reg = <0xe0000200>; | ||
96 | clock-frequency = <11059200>; | ||
97 | current-speed = <115200>; | ||
98 | interrupt-parent = <&UIC0>; | ||
99 | interrupts = <0x0 0x4>; | ||
100 | }; | ||
101 | }; | ||
102 | }; | ||
103 | |||
104 | nvrtc { | ||
105 | compatible = "ds1743-nvram", "ds1743", "rtc-ds1743"; | ||
106 | reg = <0 0xEF703000 0x2000>; | ||
107 | }; | ||
108 | iss-block { | ||
109 | compatible = "ibm,iss-sim-block-device"; | ||
110 | reg = <0 0xEF701000 0x1000>; | ||
111 | }; | ||
112 | |||
113 | chosen { | ||
114 | linux,stdout-path = "/plb/opb/serial@40000200"; | ||
115 | }; | ||
116 | }; | ||
diff --git a/arch/powerpc/boot/dts/katmai.dts b/arch/powerpc/boot/dts/katmai.dts index 8cf2c0c88c05..7c3be5e45748 100644 --- a/arch/powerpc/boot/dts/katmai.dts +++ b/arch/powerpc/boot/dts/katmai.dts | |||
@@ -44,6 +44,7 @@ | |||
44 | d-cache-size = <32768>; | 44 | d-cache-size = <32768>; |
45 | dcr-controller; | 45 | dcr-controller; |
46 | dcr-access-method = "native"; | 46 | dcr-access-method = "native"; |
47 | reset-type = <2>; /* Use chip-reset */ | ||
47 | }; | 48 | }; |
48 | }; | 49 | }; |
49 | 50 | ||
diff --git a/arch/powerpc/boot/dts/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts index 82ff2b13bc37..179a1785d645 100644 --- a/arch/powerpc/boot/dts/lite5200.dts +++ b/arch/powerpc/boot/dts/lite5200.dts | |||
@@ -134,12 +134,16 @@ | |||
134 | compatible = "fsl,mpc5200-gpio"; | 134 | compatible = "fsl,mpc5200-gpio"; |
135 | reg = <0xb00 0x40>; | 135 | reg = <0xb00 0x40>; |
136 | interrupts = <1 7 0>; | 136 | interrupts = <1 7 0>; |
137 | gpio-controller; | ||
138 | #gpio-cells = <2>; | ||
137 | }; | 139 | }; |
138 | 140 | ||
139 | gpio@c00 { | 141 | gpio@c00 { |
140 | compatible = "fsl,mpc5200-gpio-wkup"; | 142 | compatible = "fsl,mpc5200-gpio-wkup"; |
141 | reg = <0xc00 0x40>; | 143 | reg = <0xc00 0x40>; |
142 | interrupts = <1 8 0 0 3 0>; | 144 | interrupts = <1 8 0 0 3 0>; |
145 | gpio-controller; | ||
146 | #gpio-cells = <2>; | ||
143 | }; | 147 | }; |
144 | 148 | ||
145 | spi@f00 { | 149 | spi@f00 { |
@@ -230,8 +234,8 @@ | |||
230 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | 234 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts |
231 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | 235 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. |
232 | 236 | ||
233 | phy0: ethernet-phy@1 { | 237 | phy0: ethernet-phy@0 { |
234 | reg = <1>; | 238 | reg = <0>; |
235 | }; | 239 | }; |
236 | }; | 240 | }; |
237 | 241 | ||
@@ -255,7 +259,13 @@ | |||
255 | compatible = "fsl,mpc5200-i2c","fsl-i2c"; | 259 | compatible = "fsl,mpc5200-i2c","fsl-i2c"; |
256 | reg = <0x3d40 0x40>; | 260 | reg = <0x3d40 0x40>; |
257 | interrupts = <2 16 0>; | 261 | interrupts = <2 16 0>; |
262 | |||
263 | eeprom@50 { | ||
264 | compatible = "atmel,24c02"; | ||
265 | reg = <0x50>; | ||
266 | }; | ||
258 | }; | 267 | }; |
268 | |||
259 | sram@8000 { | 269 | sram@8000 { |
260 | compatible = "fsl,mpc5200-sram"; | 270 | compatible = "fsl,mpc5200-sram"; |
261 | reg = <0x8000 0x4000>; | 271 | reg = <0x8000 0x4000>; |
@@ -281,4 +291,18 @@ | |||
281 | 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 | 291 | 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 |
282 | 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; | 292 | 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; |
283 | }; | 293 | }; |
294 | |||
295 | localbus { | ||
296 | compatible = "fsl,mpc5200-lpb","simple-bus"; | ||
297 | #address-cells = <2>; | ||
298 | #size-cells = <1>; | ||
299 | |||
300 | ranges = <0 0 0xff000000 0x01000000>; | ||
301 | |||
302 | flash@0,0 { | ||
303 | compatible = "amd,am29lv652d", "cfi-flash"; | ||
304 | reg = <0 0 0x01000000>; | ||
305 | bank-width = <1>; | ||
306 | }; | ||
307 | }; | ||
284 | }; | 308 | }; |
diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts index e45a63be3a86..59702ace900f 100644 --- a/arch/powerpc/boot/dts/lite5200b.dts +++ b/arch/powerpc/boot/dts/lite5200b.dts | |||
@@ -259,6 +259,11 @@ | |||
259 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | 259 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; |
260 | reg = <0x3d40 0x40>; | 260 | reg = <0x3d40 0x40>; |
261 | interrupts = <2 16 0>; | 261 | interrupts = <2 16 0>; |
262 | |||
263 | eeprom@50 { | ||
264 | compatible = "atmel,24c02"; | ||
265 | reg = <0x50>; | ||
266 | }; | ||
262 | }; | 267 | }; |
263 | 268 | ||
264 | sram@8000 { | 269 | sram@8000 { |
diff --git a/arch/powerpc/boot/dts/mpc8315erdb.dts b/arch/powerpc/boot/dts/mpc8315erdb.dts index 8a3a4f3ef831..4dd08c322979 100644 --- a/arch/powerpc/boot/dts/mpc8315erdb.dts +++ b/arch/powerpc/boot/dts/mpc8315erdb.dts | |||
@@ -292,7 +292,7 @@ | |||
292 | fsl,num-channels = <4>; | 292 | fsl,num-channels = <4>; |
293 | fsl,channel-fifo-len = <24>; | 293 | fsl,channel-fifo-len = <24>; |
294 | fsl,exec-units-mask = <0x97c>; | 294 | fsl,exec-units-mask = <0x97c>; |
295 | fsl,descriptor-types-mask = <0x3ab0abf>; | 295 | fsl,descriptor-types-mask = <0x3a30abf>; |
296 | }; | 296 | }; |
297 | 297 | ||
298 | sata@18000 { | 298 | sata@18000 { |
@@ -463,4 +463,18 @@ | |||
463 | 0 0x00800000>; | 463 | 0 0x00800000>; |
464 | }; | 464 | }; |
465 | }; | 465 | }; |
466 | |||
467 | leds { | ||
468 | compatible = "gpio-leds"; | ||
469 | |||
470 | pwr { | ||
471 | gpios = <&mcu_pio 0 0>; | ||
472 | default-state = "on"; | ||
473 | }; | ||
474 | |||
475 | hdd { | ||
476 | gpios = <&mcu_pio 1 0>; | ||
477 | linux,default-trigger = "ide-disk"; | ||
478 | }; | ||
479 | }; | ||
466 | }; | 480 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts index 9e2264b10008..dbc1b988b29d 100644 --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts | |||
@@ -486,4 +486,18 @@ | |||
486 | 0 0x00800000>; | 486 | 0 0x00800000>; |
487 | }; | 487 | }; |
488 | }; | 488 | }; |
489 | |||
490 | leds { | ||
491 | compatible = "gpio-leds"; | ||
492 | |||
493 | pwr { | ||
494 | gpios = <&mcu_pio 0 0>; | ||
495 | default-state = "on"; | ||
496 | }; | ||
497 | |||
498 | hdd { | ||
499 | gpios = <&mcu_pio 1 0>; | ||
500 | linux,default-trigger = "ide-disk"; | ||
501 | }; | ||
502 | }; | ||
489 | }; | 503 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts index 4e6a1a407bbd..3447eb9f6e88 100644 --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts | |||
@@ -470,4 +470,18 @@ | |||
470 | 0 0x00800000>; | 470 | 0 0x00800000>; |
471 | }; | 471 | }; |
472 | }; | 472 | }; |
473 | |||
474 | leds { | ||
475 | compatible = "gpio-leds"; | ||
476 | |||
477 | pwr { | ||
478 | gpios = <&mcu_pio 0 0>; | ||
479 | default-state = "on"; | ||
480 | }; | ||
481 | |||
482 | hdd { | ||
483 | gpios = <&mcu_pio 1 0>; | ||
484 | linux,default-trigger = "ide-disk"; | ||
485 | }; | ||
486 | }; | ||
473 | }; | 487 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts index 72336d504528..15560c619b04 100644 --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts | |||
@@ -436,4 +436,18 @@ | |||
436 | compatible = "fsl,mpc8349-pci"; | 436 | compatible = "fsl,mpc8349-pci"; |
437 | device_type = "pci"; | 437 | device_type = "pci"; |
438 | }; | 438 | }; |
439 | |||
440 | leds { | ||
441 | compatible = "gpio-leds"; | ||
442 | |||
443 | pwr { | ||
444 | gpios = <&mcu_pio 0 0>; | ||
445 | default-state = "on"; | ||
446 | }; | ||
447 | |||
448 | hdd { | ||
449 | gpios = <&mcu_pio 1 0>; | ||
450 | linux,default-trigger = "ide-disk"; | ||
451 | }; | ||
452 | }; | ||
439 | }; | 453 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8548cds.dts b/arch/powerpc/boot/dts/mpc8548cds.dts index 4173af387c63..0f5262452682 100644 --- a/arch/powerpc/boot/dts/mpc8548cds.dts +++ b/arch/powerpc/boot/dts/mpc8548cds.dts | |||
@@ -20,10 +20,8 @@ | |||
20 | aliases { | 20 | aliases { |
21 | ethernet0 = &enet0; | 21 | ethernet0 = &enet0; |
22 | ethernet1 = &enet1; | 22 | ethernet1 = &enet1; |
23 | /* | ||
24 | ethernet2 = &enet2; | 23 | ethernet2 = &enet2; |
25 | ethernet3 = &enet3; | 24 | ethernet3 = &enet3; |
26 | */ | ||
27 | serial0 = &serial0; | 25 | serial0 = &serial0; |
28 | serial1 = &serial1; | 26 | serial1 = &serial1; |
29 | pci0 = &pci0; | 27 | pci0 = &pci0; |
@@ -254,7 +252,6 @@ | |||
254 | }; | 252 | }; |
255 | }; | 253 | }; |
256 | 254 | ||
257 | /* eTSEC 3/4 are currently broken | ||
258 | enet2: ethernet@26000 { | 255 | enet2: ethernet@26000 { |
259 | #address-cells = <1>; | 256 | #address-cells = <1>; |
260 | #size-cells = <1>; | 257 | #size-cells = <1>; |
@@ -310,7 +307,6 @@ | |||
310 | }; | 307 | }; |
311 | }; | 308 | }; |
312 | }; | 309 | }; |
313 | */ | ||
314 | 310 | ||
315 | serial0: serial@4500 { | 311 | serial0: serial@4500 { |
316 | cell-index = <0>; | 312 | cell-index = <0>; |
diff --git a/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts b/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts index 5bd1011fde96..3375c2ab0c32 100644 --- a/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts +++ b/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts | |||
@@ -215,6 +215,18 @@ | |||
215 | clock-frequency = <0>; | 215 | clock-frequency = <0>; |
216 | }; | 216 | }; |
217 | 217 | ||
218 | msi@41600 { | ||
219 | compatible = "fsl,mpc8572-msi", "fsl,mpic-msi"; | ||
220 | reg = <0x41600 0x80>; | ||
221 | msi-available-ranges = <0 0x80>; | ||
222 | interrupts = < | ||
223 | 0xe0 0 | ||
224 | 0xe1 0 | ||
225 | 0xe2 0 | ||
226 | 0xe3 0>; | ||
227 | interrupt-parent = <&mpic>; | ||
228 | }; | ||
229 | |||
218 | global-utilities@e0000 { //global utilities block | 230 | global-utilities@e0000 { //global utilities block |
219 | compatible = "fsl,mpc8572-guts"; | 231 | compatible = "fsl,mpc8572-guts"; |
220 | reg = <0xe0000 0x1000>; | 232 | reg = <0xe0000 0x1000>; |
@@ -243,8 +255,7 @@ | |||
243 | protected-sources = < | 255 | protected-sources = < |
244 | 31 32 33 37 38 39 /* enet2 enet3 */ | 256 | 31 32 33 37 38 39 /* enet2 enet3 */ |
245 | 76 77 78 79 26 42 /* dma2 pci2 serial*/ | 257 | 76 77 78 79 26 42 /* dma2 pci2 serial*/ |
246 | 0xe0 0xe1 0xe2 0xe3 /* msi */ | 258 | 0xe4 0xe5 0xe6 0xe7 /* msi */ |
247 | 0xe4 0xe5 0xe6 0xe7 | ||
248 | >; | 259 | >; |
249 | }; | 260 | }; |
250 | }; | 261 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts b/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts index 0efc3456e297..e7b477f6a3fe 100644 --- a/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts +++ b/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts | |||
@@ -154,12 +154,8 @@ | |||
154 | msi@41600 { | 154 | msi@41600 { |
155 | compatible = "fsl,mpc8572-msi", "fsl,mpic-msi"; | 155 | compatible = "fsl,mpc8572-msi", "fsl,mpic-msi"; |
156 | reg = <0x41600 0x80>; | 156 | reg = <0x41600 0x80>; |
157 | msi-available-ranges = <0 0x100>; | 157 | msi-available-ranges = <0x80 0x80>; |
158 | interrupts = < | 158 | interrupts = < |
159 | 0xe0 0 | ||
160 | 0xe1 0 | ||
161 | 0xe2 0 | ||
162 | 0xe3 0 | ||
163 | 0xe4 0 | 159 | 0xe4 0 |
164 | 0xe5 0 | 160 | 0xe5 0 |
165 | 0xe6 0 | 161 | 0xe6 0 |
@@ -190,6 +186,7 @@ | |||
190 | 0x1 0x2 0x3 0x4 /* pci slot */ | 186 | 0x1 0x2 0x3 0x4 /* pci slot */ |
191 | 0x9 0xa 0xb 0xc /* usb */ | 187 | 0x9 0xa 0xb 0xc /* usb */ |
192 | 0x6 0x7 0xe 0x5 /* Audio elgacy SATA */ | 188 | 0x6 0x7 0xe 0x5 /* Audio elgacy SATA */ |
189 | 0xe0 0xe1 0xe2 0xe3 /* msi */ | ||
193 | >; | 190 | >; |
194 | }; | 191 | }; |
195 | }; | 192 | }; |
diff --git a/arch/powerpc/boot/dts/p1020rdb.dts b/arch/powerpc/boot/dts/p1020rdb.dts index df5269093af8..22f64b62d7f6 100644 --- a/arch/powerpc/boot/dts/p1020rdb.dts +++ b/arch/powerpc/boot/dts/p1020rdb.dts | |||
@@ -19,6 +19,9 @@ | |||
19 | aliases { | 19 | aliases { |
20 | serial0 = &serial0; | 20 | serial0 = &serial0; |
21 | serial1 = &serial1; | 21 | serial1 = &serial1; |
22 | ethernet0 = &enet0; | ||
23 | ethernet1 = &enet1; | ||
24 | ethernet2 = &enet2; | ||
22 | pci0 = &pci0; | 25 | pci0 = &pci0; |
23 | pci1 = &pci1; | 26 | pci1 = &pci1; |
24 | }; | 27 | }; |
@@ -346,6 +349,122 @@ | |||
346 | }; | 349 | }; |
347 | }; | 350 | }; |
348 | 351 | ||
352 | mdio@24000 { | ||
353 | #address-cells = <1>; | ||
354 | #size-cells = <0>; | ||
355 | compatible = "fsl,etsec2-mdio"; | ||
356 | reg = <0x24000 0x1000 0xb0030 0x4>; | ||
357 | |||
358 | phy0: ethernet-phy@0 { | ||
359 | interrupt-parent = <&mpic>; | ||
360 | interrupts = <3 1>; | ||
361 | reg = <0x0>; | ||
362 | }; | ||
363 | |||
364 | phy1: ethernet-phy@1 { | ||
365 | interrupt-parent = <&mpic>; | ||
366 | interrupts = <2 1>; | ||
367 | reg = <0x1>; | ||
368 | }; | ||
369 | }; | ||
370 | |||
371 | mdio@25000 { | ||
372 | #address-cells = <1>; | ||
373 | #size-cells = <0>; | ||
374 | compatible = "fsl,etsec2-tbi"; | ||
375 | reg = <0x25000 0x1000 0xb1030 0x4>; | ||
376 | |||
377 | tbi0: tbi-phy@11 { | ||
378 | reg = <0x11>; | ||
379 | device_type = "tbi-phy"; | ||
380 | }; | ||
381 | }; | ||
382 | |||
383 | enet0: ethernet@b0000 { | ||
384 | #address-cells = <1>; | ||
385 | #size-cells = <1>; | ||
386 | device_type = "network"; | ||
387 | model = "eTSEC"; | ||
388 | compatible = "fsl,etsec2"; | ||
389 | fsl,num_rx_queues = <0x8>; | ||
390 | fsl,num_tx_queues = <0x8>; | ||
391 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
392 | interrupt-parent = <&mpic>; | ||
393 | fixed-link = <1 1 1000 0 0>; | ||
394 | phy-connection-type = "rgmii-id"; | ||
395 | |||
396 | queue-group@0 { | ||
397 | #address-cells = <1>; | ||
398 | #size-cells = <1>; | ||
399 | reg = <0xb0000 0x1000>; | ||
400 | interrupts = <29 2 30 2 34 2>; | ||
401 | }; | ||
402 | |||
403 | queue-group@1 { | ||
404 | #address-cells = <1>; | ||
405 | #size-cells = <1>; | ||
406 | reg = <0xb4000 0x1000>; | ||
407 | interrupts = <17 2 18 2 24 2>; | ||
408 | }; | ||
409 | }; | ||
410 | |||
411 | enet1: ethernet@b1000 { | ||
412 | #address-cells = <1>; | ||
413 | #size-cells = <1>; | ||
414 | device_type = "network"; | ||
415 | model = "eTSEC"; | ||
416 | compatible = "fsl,etsec2"; | ||
417 | fsl,num_rx_queues = <0x8>; | ||
418 | fsl,num_tx_queues = <0x8>; | ||
419 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
420 | interrupt-parent = <&mpic>; | ||
421 | phy-handle = <&phy0>; | ||
422 | tbi-handle = <&tbi0>; | ||
423 | phy-connection-type = "sgmii"; | ||
424 | |||
425 | queue-group@0 { | ||
426 | #address-cells = <1>; | ||
427 | #size-cells = <1>; | ||
428 | reg = <0xb1000 0x1000>; | ||
429 | interrupts = <35 2 36 2 40 2>; | ||
430 | }; | ||
431 | |||
432 | queue-group@1 { | ||
433 | #address-cells = <1>; | ||
434 | #size-cells = <1>; | ||
435 | reg = <0xb5000 0x1000>; | ||
436 | interrupts = <51 2 52 2 67 2>; | ||
437 | }; | ||
438 | }; | ||
439 | |||
440 | enet2: ethernet@b2000 { | ||
441 | #address-cells = <1>; | ||
442 | #size-cells = <1>; | ||
443 | device_type = "network"; | ||
444 | model = "eTSEC"; | ||
445 | compatible = "fsl,etsec2"; | ||
446 | fsl,num_rx_queues = <0x8>; | ||
447 | fsl,num_tx_queues = <0x8>; | ||
448 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
449 | interrupt-parent = <&mpic>; | ||
450 | phy-handle = <&phy1>; | ||
451 | phy-connection-type = "rgmii-id"; | ||
452 | |||
453 | queue-group@0 { | ||
454 | #address-cells = <1>; | ||
455 | #size-cells = <1>; | ||
456 | reg = <0xb2000 0x1000>; | ||
457 | interrupts = <31 2 32 2 33 2>; | ||
458 | }; | ||
459 | |||
460 | queue-group@1 { | ||
461 | #address-cells = <1>; | ||
462 | #size-cells = <1>; | ||
463 | reg = <0xb6000 0x1000>; | ||
464 | interrupts = <25 2 26 2 27 2>; | ||
465 | }; | ||
466 | }; | ||
467 | |||
349 | usb@22000 { | 468 | usb@22000 { |
350 | #address-cells = <1>; | 469 | #address-cells = <1>; |
351 | #size-cells = <0>; | 470 | #size-cells = <0>; |
@@ -356,6 +475,11 @@ | |||
356 | phy_type = "ulpi"; | 475 | phy_type = "ulpi"; |
357 | }; | 476 | }; |
358 | 477 | ||
478 | /* USB2 is shared with localbus, so it must be disabled | ||
479 | by default. We can't put 'status = "disabled";' here | ||
480 | since U-Boot doesn't clear the status property when | ||
481 | it enables USB2. OTOH, U-Boot does create a new node | ||
482 | when there isn't any. So, just comment it out. | ||
359 | usb@23000 { | 483 | usb@23000 { |
360 | #address-cells = <1>; | 484 | #address-cells = <1>; |
361 | #size-cells = <0>; | 485 | #size-cells = <0>; |
@@ -365,6 +489,7 @@ | |||
365 | interrupts = <46 0x2>; | 489 | interrupts = <46 0x2>; |
366 | phy_type = "ulpi"; | 490 | phy_type = "ulpi"; |
367 | }; | 491 | }; |
492 | */ | ||
368 | 493 | ||
369 | sdhci@2e000 { | 494 | sdhci@2e000 { |
370 | compatible = "fsl,p1020-esdhc", "fsl,esdhc"; | 495 | compatible = "fsl,p1020-esdhc", "fsl,esdhc"; |
diff --git a/arch/powerpc/boot/dts/p1021mds.dts b/arch/powerpc/boot/dts/p1021mds.dts new file mode 100644 index 000000000000..7fad2df25981 --- /dev/null +++ b/arch/powerpc/boot/dts/p1021mds.dts | |||
@@ -0,0 +1,698 @@ | |||
1 | /* | ||
2 | * P1021 MDS Device Tree Source | ||
3 | * | ||
4 | * Copyright 2010 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License as published by the | ||
8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
9 | * option) any later version. | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | / { | ||
14 | model = "fsl,P1021"; | ||
15 | compatible = "fsl,P1021MDS"; | ||
16 | #address-cells = <2>; | ||
17 | #size-cells = <2>; | ||
18 | |||
19 | aliases { | ||
20 | serial0 = &serial0; | ||
21 | serial1 = &serial1; | ||
22 | ethernet0 = &enet0; | ||
23 | ethernet1 = &enet1; | ||
24 | ethernet2 = &enet2; | ||
25 | ethernet3 = &enet3; | ||
26 | ethernet4 = &enet4; | ||
27 | pci0 = &pci0; | ||
28 | pci1 = &pci1; | ||
29 | }; | ||
30 | |||
31 | cpus { | ||
32 | #address-cells = <1>; | ||
33 | #size-cells = <0>; | ||
34 | |||
35 | PowerPC,P1021@0 { | ||
36 | device_type = "cpu"; | ||
37 | reg = <0x0>; | ||
38 | next-level-cache = <&L2>; | ||
39 | }; | ||
40 | |||
41 | PowerPC,P1021@1 { | ||
42 | device_type = "cpu"; | ||
43 | reg = <0x1>; | ||
44 | next-level-cache = <&L2>; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | memory { | ||
49 | device_type = "memory"; | ||
50 | }; | ||
51 | |||
52 | localbus@ffe05000 { | ||
53 | #address-cells = <2>; | ||
54 | #size-cells = <1>; | ||
55 | compatible = "fsl,p1021-elbc", "fsl,elbc", "simple-bus"; | ||
56 | reg = <0 0xffe05000 0 0x1000>; | ||
57 | interrupts = <19 2>; | ||
58 | interrupt-parent = <&mpic>; | ||
59 | |||
60 | /* NAND Flash, BCSR, PMC0/1*/ | ||
61 | ranges = <0x0 0x0 0x0 0xfc000000 0x02000000 | ||
62 | 0x1 0x0 0x0 0xf8000000 0x00008000 | ||
63 | 0x2 0x0 0x0 0xf8010000 0x00020000 | ||
64 | 0x3 0x0 0x0 0xf8020000 0x00020000>; | ||
65 | |||
66 | nand@0,0 { | ||
67 | #address-cells = <1>; | ||
68 | #size-cells = <1>; | ||
69 | compatible = "fsl,p1021-fcm-nand", | ||
70 | "fsl,elbc-fcm-nand"; | ||
71 | reg = <0x0 0x0 0x40000>; | ||
72 | |||
73 | partition@0 { | ||
74 | /* This location must not be altered */ | ||
75 | /* 1MB for u-boot Bootloader Image */ | ||
76 | reg = <0x0 0x00100000>; | ||
77 | label = "NAND (RO) U-Boot Image"; | ||
78 | read-only; | ||
79 | }; | ||
80 | |||
81 | partition@100000 { | ||
82 | /* 1MB for DTB Image */ | ||
83 | reg = <0x00100000 0x00100000>; | ||
84 | label = "NAND (RO) DTB Image"; | ||
85 | read-only; | ||
86 | }; | ||
87 | |||
88 | partition@200000 { | ||
89 | /* 4MB for Linux Kernel Image */ | ||
90 | reg = <0x00200000 0x00400000>; | ||
91 | label = "NAND (RO) Linux Kernel Image"; | ||
92 | read-only; | ||
93 | }; | ||
94 | |||
95 | partition@600000 { | ||
96 | /* 5MB for Compressed Root file System Image */ | ||
97 | reg = <0x00600000 0x00500000>; | ||
98 | label = "NAND (RO) Compressed RFS Image"; | ||
99 | read-only; | ||
100 | }; | ||
101 | |||
102 | partition@b00000 { | ||
103 | /* 6MB for JFFS2 based Root file System */ | ||
104 | reg = <0x00a00000 0x00600000>; | ||
105 | label = "NAND (RW) JFFS2 Root File System"; | ||
106 | }; | ||
107 | |||
108 | partition@1100000 { | ||
109 | /* 14MB for JFFS2 based Root file System */ | ||
110 | reg = <0x01100000 0x00e00000>; | ||
111 | label = "NAND (RW) Writable User area"; | ||
112 | }; | ||
113 | |||
114 | partition@1f00000 { | ||
115 | /* 1MB for microcode */ | ||
116 | reg = <0x01f00000 0x00100000>; | ||
117 | label = "NAND (RO) QE Ucode"; | ||
118 | read-only; | ||
119 | }; | ||
120 | }; | ||
121 | |||
122 | bcsr@1,0 { | ||
123 | #address-cells = <1>; | ||
124 | #size-cells = <1>; | ||
125 | compatible = "fsl,p1021mds-bcsr"; | ||
126 | reg = <1 0 0x8000>; | ||
127 | ranges = <0 1 0 0x8000>; | ||
128 | }; | ||
129 | |||
130 | pib@2,0 { | ||
131 | compatible = "fsl,p1021mds-pib"; | ||
132 | reg = <2 0 0x10000>; | ||
133 | }; | ||
134 | |||
135 | pib@3,0 { | ||
136 | compatible = "fsl,p1021mds-pib"; | ||
137 | reg = <3 0 0x10000>; | ||
138 | }; | ||
139 | }; | ||
140 | |||
141 | soc@ffe00000 { | ||
142 | |||
143 | #address-cells = <1>; | ||
144 | #size-cells = <1>; | ||
145 | device_type = "soc"; | ||
146 | compatible = "fsl,p1021-immr", "simple-bus"; | ||
147 | ranges = <0x0 0x0 0xffe00000 0x100000>; | ||
148 | bus-frequency = <0>; // Filled out by uboot. | ||
149 | |||
150 | ecm-law@0 { | ||
151 | compatible = "fsl,ecm-law"; | ||
152 | reg = <0x0 0x1000>; | ||
153 | fsl,num-laws = <12>; | ||
154 | }; | ||
155 | |||
156 | ecm@1000 { | ||
157 | compatible = "fsl,p1021-ecm", "fsl,ecm"; | ||
158 | reg = <0x1000 0x1000>; | ||
159 | interrupts = <16 2>; | ||
160 | interrupt-parent = <&mpic>; | ||
161 | }; | ||
162 | |||
163 | memory-controller@2000 { | ||
164 | compatible = "fsl,p1021-memory-controller"; | ||
165 | reg = <0x2000 0x1000>; | ||
166 | interrupt-parent = <&mpic>; | ||
167 | interrupts = <16 2>; | ||
168 | }; | ||
169 | |||
170 | i2c@3000 { | ||
171 | #address-cells = <1>; | ||
172 | #size-cells = <0>; | ||
173 | cell-index = <0>; | ||
174 | compatible = "fsl-i2c"; | ||
175 | reg = <0x3000 0x100>; | ||
176 | interrupts = <43 2>; | ||
177 | interrupt-parent = <&mpic>; | ||
178 | dfsrr; | ||
179 | rtc@68 { | ||
180 | compatible = "dallas,ds1374"; | ||
181 | reg = <0x68>; | ||
182 | }; | ||
183 | }; | ||
184 | |||
185 | i2c@3100 { | ||
186 | #address-cells = <1>; | ||
187 | #size-cells = <0>; | ||
188 | cell-index = <1>; | ||
189 | compatible = "fsl-i2c"; | ||
190 | reg = <0x3100 0x100>; | ||
191 | interrupts = <43 2>; | ||
192 | interrupt-parent = <&mpic>; | ||
193 | dfsrr; | ||
194 | }; | ||
195 | |||
196 | serial0: serial@4500 { | ||
197 | cell-index = <0>; | ||
198 | device_type = "serial"; | ||
199 | compatible = "ns16550"; | ||
200 | reg = <0x4500 0x100>; | ||
201 | clock-frequency = <0>; | ||
202 | interrupts = <42 2>; | ||
203 | interrupt-parent = <&mpic>; | ||
204 | }; | ||
205 | |||
206 | serial1: serial@4600 { | ||
207 | cell-index = <1>; | ||
208 | device_type = "serial"; | ||
209 | compatible = "ns16550"; | ||
210 | reg = <0x4600 0x100>; | ||
211 | clock-frequency = <0>; | ||
212 | interrupts = <42 2>; | ||
213 | interrupt-parent = <&mpic>; | ||
214 | }; | ||
215 | |||
216 | spi@7000 { | ||
217 | cell-index = <0>; | ||
218 | #address-cells = <1>; | ||
219 | #size-cells = <0>; | ||
220 | compatible = "fsl,espi"; | ||
221 | reg = <0x7000 0x1000>; | ||
222 | interrupts = <59 0x2>; | ||
223 | interrupt-parent = <&mpic>; | ||
224 | espi,num-ss-bits = <4>; | ||
225 | mode = "cpu"; | ||
226 | |||
227 | fsl_m25p80@0 { | ||
228 | #address-cells = <1>; | ||
229 | #size-cells = <1>; | ||
230 | compatible = "fsl,espi-flash"; | ||
231 | reg = <0>; | ||
232 | linux,modalias = "fsl_m25p80"; | ||
233 | spi-max-frequency = <40000000>; /* input clock */ | ||
234 | partition@u-boot { | ||
235 | label = "u-boot-spi"; | ||
236 | reg = <0x00000000 0x00100000>; | ||
237 | read-only; | ||
238 | }; | ||
239 | partition@kernel { | ||
240 | label = "kernel-spi"; | ||
241 | reg = <0x00100000 0x00500000>; | ||
242 | read-only; | ||
243 | }; | ||
244 | partition@dtb { | ||
245 | label = "dtb-spi"; | ||
246 | reg = <0x00600000 0x00100000>; | ||
247 | read-only; | ||
248 | }; | ||
249 | partition@fs { | ||
250 | label = "file system-spi"; | ||
251 | reg = <0x00700000 0x00900000>; | ||
252 | }; | ||
253 | }; | ||
254 | }; | ||
255 | |||
256 | gpio: gpio-controller@f000 { | ||
257 | #gpio-cells = <2>; | ||
258 | compatible = "fsl,mpc8572-gpio"; | ||
259 | reg = <0xf000 0x100>; | ||
260 | interrupts = <47 0x2>; | ||
261 | interrupt-parent = <&mpic>; | ||
262 | gpio-controller; | ||
263 | }; | ||
264 | |||
265 | L2: l2-cache-controller@20000 { | ||
266 | compatible = "fsl,p1021-l2-cache-controller"; | ||
267 | reg = <0x20000 0x1000>; | ||
268 | cache-line-size = <32>; // 32 bytes | ||
269 | cache-size = <0x40000>; // L2,256K | ||
270 | interrupt-parent = <&mpic>; | ||
271 | interrupts = <16 2>; | ||
272 | }; | ||
273 | |||
274 | dma@21300 { | ||
275 | #address-cells = <1>; | ||
276 | #size-cells = <1>; | ||
277 | compatible = "fsl,eloplus-dma"; | ||
278 | reg = <0x21300 0x4>; | ||
279 | ranges = <0x0 0x21100 0x200>; | ||
280 | cell-index = <0>; | ||
281 | dma-channel@0 { | ||
282 | compatible = "fsl,eloplus-dma-channel"; | ||
283 | reg = <0x0 0x80>; | ||
284 | cell-index = <0>; | ||
285 | interrupt-parent = <&mpic>; | ||
286 | interrupts = <20 2>; | ||
287 | }; | ||
288 | dma-channel@80 { | ||
289 | compatible = "fsl,eloplus-dma-channel"; | ||
290 | reg = <0x80 0x80>; | ||
291 | cell-index = <1>; | ||
292 | interrupt-parent = <&mpic>; | ||
293 | interrupts = <21 2>; | ||
294 | }; | ||
295 | dma-channel@100 { | ||
296 | compatible = "fsl,eloplus-dma-channel"; | ||
297 | reg = <0x100 0x80>; | ||
298 | cell-index = <2>; | ||
299 | interrupt-parent = <&mpic>; | ||
300 | interrupts = <22 2>; | ||
301 | }; | ||
302 | dma-channel@180 { | ||
303 | compatible = "fsl,eloplus-dma-channel"; | ||
304 | reg = <0x180 0x80>; | ||
305 | cell-index = <3>; | ||
306 | interrupt-parent = <&mpic>; | ||
307 | interrupts = <23 2>; | ||
308 | }; | ||
309 | }; | ||
310 | |||
311 | usb@22000 { | ||
312 | #address-cells = <1>; | ||
313 | #size-cells = <0>; | ||
314 | compatible = "fsl-usb2-dr"; | ||
315 | reg = <0x22000 0x1000>; | ||
316 | interrupt-parent = <&mpic>; | ||
317 | interrupts = <28 0x2>; | ||
318 | phy_type = "ulpi"; | ||
319 | }; | ||
320 | |||
321 | mdio@24000 { | ||
322 | #address-cells = <1>; | ||
323 | #size-cells = <0>; | ||
324 | compatible = "fsl,etsec2-mdio"; | ||
325 | reg = <0x24000 0x1000 0xb0030 0x4>; | ||
326 | |||
327 | phy0: ethernet-phy@0 { | ||
328 | interrupt-parent = <&mpic>; | ||
329 | interrupts = <1 1>; | ||
330 | reg = <0x0>; | ||
331 | }; | ||
332 | phy1: ethernet-phy@1 { | ||
333 | interrupt-parent = <&mpic>; | ||
334 | interrupts = <2 1>; | ||
335 | reg = <0x1>; | ||
336 | }; | ||
337 | phy4: ethernet-phy@4 { | ||
338 | interrupt-parent = <&mpic>; | ||
339 | reg = <0x4>; | ||
340 | }; | ||
341 | }; | ||
342 | |||
343 | mdio@25000 { | ||
344 | #address-cells = <1>; | ||
345 | #size-cells = <0>; | ||
346 | compatible = "fsl,etsec2-tbi"; | ||
347 | reg = <0x25000 0x1000 0xb1030 0x4>; | ||
348 | tbi0: tbi-phy@11 { | ||
349 | reg = <0x11>; | ||
350 | device_type = "tbi-phy"; | ||
351 | }; | ||
352 | }; | ||
353 | |||
354 | enet0: ethernet@B0000 { | ||
355 | #address-cells = <1>; | ||
356 | #size-cells = <1>; | ||
357 | cell-index = <0>; | ||
358 | device_type = "network"; | ||
359 | model = "eTSEC"; | ||
360 | compatible = "fsl,etsec2"; | ||
361 | fsl,num_rx_queues = <0x8>; | ||
362 | fsl,num_tx_queues = <0x8>; | ||
363 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
364 | interrupt-parent = <&mpic>; | ||
365 | phy-handle = <&phy0>; | ||
366 | phy-connection-type = "rgmii-id"; | ||
367 | queue-group@0{ | ||
368 | #address-cells = <1>; | ||
369 | #size-cells = <1>; | ||
370 | reg = <0xB0000 0x1000>; | ||
371 | interrupts = <29 2 30 2 34 2>; | ||
372 | }; | ||
373 | queue-group@1{ | ||
374 | #address-cells = <1>; | ||
375 | #size-cells = <1>; | ||
376 | reg = <0xB4000 0x1000>; | ||
377 | interrupts = <17 2 18 2 24 2>; | ||
378 | }; | ||
379 | }; | ||
380 | |||
381 | enet1: ethernet@B1000 { | ||
382 | #address-cells = <1>; | ||
383 | #size-cells = <1>; | ||
384 | cell-index = <0>; | ||
385 | device_type = "network"; | ||
386 | model = "eTSEC"; | ||
387 | compatible = "fsl,etsec2"; | ||
388 | fsl,num_rx_queues = <0x8>; | ||
389 | fsl,num_tx_queues = <0x8>; | ||
390 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
391 | interrupt-parent = <&mpic>; | ||
392 | phy-handle = <&phy4>; | ||
393 | tbi-handle = <&tbi0>; | ||
394 | phy-connection-type = "sgmii"; | ||
395 | queue-group@0{ | ||
396 | #address-cells = <1>; | ||
397 | #size-cells = <1>; | ||
398 | reg = <0xB1000 0x1000>; | ||
399 | interrupts = <35 2 36 2 40 2>; | ||
400 | }; | ||
401 | queue-group@1{ | ||
402 | #address-cells = <1>; | ||
403 | #size-cells = <1>; | ||
404 | reg = <0xB5000 0x1000>; | ||
405 | interrupts = <51 2 52 2 67 2>; | ||
406 | }; | ||
407 | }; | ||
408 | |||
409 | enet2: ethernet@B2000 { | ||
410 | #address-cells = <1>; | ||
411 | #size-cells = <1>; | ||
412 | cell-index = <0>; | ||
413 | device_type = "network"; | ||
414 | model = "eTSEC"; | ||
415 | compatible = "fsl,etsec2"; | ||
416 | fsl,num_rx_queues = <0x8>; | ||
417 | fsl,num_tx_queues = <0x8>; | ||
418 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
419 | interrupt-parent = <&mpic>; | ||
420 | phy-handle = <&phy1>; | ||
421 | phy-connection-type = "rgmii-id"; | ||
422 | queue-group@0{ | ||
423 | #address-cells = <1>; | ||
424 | #size-cells = <1>; | ||
425 | reg = <0xB2000 0x1000>; | ||
426 | interrupts = <31 2 32 2 33 2>; | ||
427 | }; | ||
428 | queue-group@1{ | ||
429 | #address-cells = <1>; | ||
430 | #size-cells = <1>; | ||
431 | reg = <0xB6000 0x1000>; | ||
432 | interrupts = <25 2 26 2 27 2>; | ||
433 | }; | ||
434 | }; | ||
435 | |||
436 | sdhci@2e000 { | ||
437 | compatible = "fsl,p1021-esdhc", "fsl,esdhc"; | ||
438 | reg = <0x2e000 0x1000>; | ||
439 | interrupts = <72 0x2>; | ||
440 | interrupt-parent = <&mpic>; | ||
441 | /* Filled in by U-Boot */ | ||
442 | clock-frequency = <0>; | ||
443 | }; | ||
444 | |||
445 | crypto@30000 { | ||
446 | compatible = "fsl,sec3.3", "fsl,sec3.1", | ||
447 | "fsl,sec3.0", "fsl,sec2.4", | ||
448 | "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0"; | ||
449 | reg = <0x30000 0x10000>; | ||
450 | interrupts = <45 2 58 2>; | ||
451 | interrupt-parent = <&mpic>; | ||
452 | fsl,num-channels = <4>; | ||
453 | fsl,channel-fifo-len = <24>; | ||
454 | fsl,exec-units-mask = <0x97c>; | ||
455 | fsl,descriptor-types-mask = <0x3a30abf>; | ||
456 | }; | ||
457 | |||
458 | mpic: pic@40000 { | ||
459 | interrupt-controller; | ||
460 | #address-cells = <0>; | ||
461 | #interrupt-cells = <2>; | ||
462 | reg = <0x40000 0x40000>; | ||
463 | compatible = "chrp,open-pic"; | ||
464 | device_type = "open-pic"; | ||
465 | }; | ||
466 | |||
467 | msi@41600 { | ||
468 | compatible = "fsl,p1021-msi", "fsl,mpic-msi"; | ||
469 | reg = <0x41600 0x80>; | ||
470 | msi-available-ranges = <0 0x100>; | ||
471 | interrupts = < | ||
472 | 0xe0 0 | ||
473 | 0xe1 0 | ||
474 | 0xe2 0 | ||
475 | 0xe3 0 | ||
476 | 0xe4 0 | ||
477 | 0xe5 0 | ||
478 | 0xe6 0 | ||
479 | 0xe7 0>; | ||
480 | interrupt-parent = <&mpic>; | ||
481 | }; | ||
482 | |||
483 | global-utilities@e0000 { //global utilities block | ||
484 | compatible = "fsl,p1021-guts"; | ||
485 | reg = <0xe0000 0x1000>; | ||
486 | fsl,has-rstcr; | ||
487 | }; | ||
488 | |||
489 | par_io@e0100 { | ||
490 | #address-cells = <1>; | ||
491 | #size-cells = <1>; | ||
492 | reg = <0xe0100 0x60>; | ||
493 | ranges = <0x0 0xe0100 0x60>; | ||
494 | device_type = "par_io"; | ||
495 | num-ports = <3>; | ||
496 | pio1: ucc_pin@01 { | ||
497 | pio-map = < | ||
498 | /* port pin dir open_drain assignment has_irq */ | ||
499 | 0x1 0x13 0x1 0x0 0x1 0x0 /* QE_MUX_MDC */ | ||
500 | 0x1 0x14 0x3 0x0 0x1 0x0 /* QE_MUX_MDIO */ | ||
501 | 0x0 0x17 0x2 0x0 0x2 0x0 /* CLK12 */ | ||
502 | 0x0 0x18 0x2 0x0 0x1 0x0 /* CLK9 | ||
503 | */ | ||
504 | 0x0 0x7 0x1 0x0 0x2 0x0 /* ENET1_TXD0_SER1_TXD0 */ | ||
505 | 0x0 0x9 0x1 0x0 0x2 0x0 /* ENET1_TXD1_SER1_TXD1 */ | ||
506 | 0x0 0xb 0x1 0x0 0x2 0x0 /* ENET1_TXD2_SER1_TXD2 */ | ||
507 | 0x0 0xc 0x1 0x0 0x2 0x0 /* ENET1_TXD3_SER1_TXD3 */ | ||
508 | 0x0 0x6 0x2 0x0 0x2 0x0 /* ENET1_RXD0_SER1_RXD0 */ | ||
509 | 0x0 0xa 0x2 0x0 0x2 0x0 /* ENET1_RXD1_SER1_RXD1 */ | ||
510 | 0x0 0xe 0x2 0x0 0x2 0x0 /* ENET1_RXD2_SER1_RXD2 */ | ||
511 | 0x0 0xf 0x2 0x0 0x2 0x0 /* ENET1_RXD3_SER1_RXD3 */ | ||
512 | 0x0 0x5 0x1 0x0 0x2 0x0 /* ENET1_TX_EN_SER1_RTS_B */ | ||
513 | 0x0 0xd 0x1 0x0 0x2 0x0 /* ENET1_TX_ER */ | ||
514 | 0x0 0x4 0x2 0x0 0x2 0x0 /* ENET1_RX_DV_SER1_CTS_B */ | ||
515 | 0x0 0x8 0x2 0x0 0x2 0x0 /* ENET1_RX_ER_SER1_CD_B */ | ||
516 | 0x0 0x11 0x2 0x0 0x2 0x0 /* ENET1_CRS */ | ||
517 | 0x0 0x10 0x2 0x0 0x2 0x0>; /* ENET1_COL */ | ||
518 | }; | ||
519 | |||
520 | pio2: ucc_pin@02 { | ||
521 | pio-map = < | ||
522 | /* port pin dir open_drain assignment has_irq */ | ||
523 | 0x1 0x13 0x1 0x0 0x1 0x0 /* QE_MUX_MDC */ | ||
524 | 0x1 0x14 0x3 0x0 0x1 0x0 /* QE_MUX_MDIO */ | ||
525 | 0x1 0xb 0x2 0x0 0x1 0x0 /* CLK13 */ | ||
526 | 0x1 0x7 0x1 0x0 0x2 0x0 /* ENET5_TXD0_SER5_TXD0 */ | ||
527 | 0x1 0xa 0x1 0x0 0x2 0x0 /* ENET5_TXD1_SER5_TXD1 */ | ||
528 | 0x1 0x6 0x2 0x0 0x2 0x0 /* ENET5_RXD0_SER5_RXD0 */ | ||
529 | 0x1 0x9 0x2 0x0 0x2 0x0 /* ENET5_RXD1_SER5_RXD1 */ | ||
530 | 0x1 0x5 0x1 0x0 0x2 0x0 /* ENET5_TX_EN_SER5_RTS_B */ | ||
531 | 0x1 0x4 0x2 0x0 0x2 0x0 /* ENET5_RX_DV_SER5_CTS_B */ | ||
532 | 0x1 0x8 0x2 0x0 0x2 0x0>; /* ENET5_RX_ER_SER5_CD_B */ | ||
533 | }; | ||
534 | }; | ||
535 | }; | ||
536 | |||
537 | pci0: pcie@ffe09000 { | ||
538 | compatible = "fsl,mpc8548-pcie"; | ||
539 | device_type = "pci"; | ||
540 | #interrupt-cells = <1>; | ||
541 | #size-cells = <2>; | ||
542 | #address-cells = <3>; | ||
543 | reg = <0 0xffe09000 0 0x1000>; | ||
544 | bus-range = <0 255>; | ||
545 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 | ||
546 | 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; | ||
547 | clock-frequency = <33333333>; | ||
548 | interrupt-parent = <&mpic>; | ||
549 | interrupts = <16 2>; | ||
550 | interrupt-map-mask = <0xf800 0 0 7>; | ||
551 | interrupt-map = < | ||
552 | /* IDSEL 0x0 */ | ||
553 | 0000 0 0 1 &mpic 4 1 | ||
554 | 0000 0 0 2 &mpic 5 1 | ||
555 | 0000 0 0 3 &mpic 6 1 | ||
556 | 0000 0 0 4 &mpic 7 1 | ||
557 | >; | ||
558 | pcie@0 { | ||
559 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
560 | #size-cells = <2>; | ||
561 | #address-cells = <3>; | ||
562 | device_type = "pci"; | ||
563 | ranges = <0x2000000 0x0 0xa0000000 | ||
564 | 0x2000000 0x0 0xa0000000 | ||
565 | 0x0 0x20000000 | ||
566 | |||
567 | 0x1000000 0x0 0x0 | ||
568 | 0x1000000 0x0 0x0 | ||
569 | 0x0 0x100000>; | ||
570 | }; | ||
571 | }; | ||
572 | |||
573 | pci1: pcie@ffe0a000 { | ||
574 | compatible = "fsl,mpc8548-pcie"; | ||
575 | device_type = "pci"; | ||
576 | #interrupt-cells = <1>; | ||
577 | #size-cells = <2>; | ||
578 | #address-cells = <3>; | ||
579 | reg = <0 0xffe0a000 0 0x1000>; | ||
580 | bus-range = <0 255>; | ||
581 | ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 | ||
582 | 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>; | ||
583 | clock-frequency = <33333333>; | ||
584 | interrupt-parent = <&mpic>; | ||
585 | interrupts = <16 2>; | ||
586 | interrupt-map-mask = <0xf800 0 0 7>; | ||
587 | interrupt-map = < | ||
588 | /* IDSEL 0x0 */ | ||
589 | 0000 0 0 1 &mpic 0 1 | ||
590 | 0000 0 0 2 &mpic 1 1 | ||
591 | 0000 0 0 3 &mpic 2 1 | ||
592 | 0000 0 0 4 &mpic 3 1 | ||
593 | >; | ||
594 | pcie@0 { | ||
595 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
596 | #size-cells = <2>; | ||
597 | #address-cells = <3>; | ||
598 | device_type = "pci"; | ||
599 | ranges = <0x2000000 0x0 0xc0000000 | ||
600 | 0x2000000 0x0 0xc0000000 | ||
601 | 0x0 0x20000000 | ||
602 | |||
603 | 0x1000000 0x0 0x0 | ||
604 | 0x1000000 0x0 0x0 | ||
605 | 0x0 0x100000>; | ||
606 | }; | ||
607 | }; | ||
608 | |||
609 | qe@ffe80000 { | ||
610 | #address-cells = <1>; | ||
611 | #size-cells = <1>; | ||
612 | device_type = "qe"; | ||
613 | compatible = "fsl,qe"; | ||
614 | ranges = <0x0 0x0 0xffe80000 0x40000>; | ||
615 | reg = <0 0xffe80000 0 0x480>; | ||
616 | brg-frequency = <0>; | ||
617 | bus-frequency = <0>; | ||
618 | fsl,qe-num-riscs = <1>; | ||
619 | fsl,qe-num-snums = <28>; | ||
620 | |||
621 | qeic: interrupt-controller@80 { | ||
622 | interrupt-controller; | ||
623 | compatible = "fsl,qe-ic"; | ||
624 | #address-cells = <0>; | ||
625 | #interrupt-cells = <1>; | ||
626 | reg = <0x80 0x80>; | ||
627 | interrupts = <63 2 60 2>; //high:47 low:44 | ||
628 | interrupt-parent = <&mpic>; | ||
629 | }; | ||
630 | |||
631 | enet3: ucc@2000 { | ||
632 | device_type = "network"; | ||
633 | compatible = "ucc_geth"; | ||
634 | cell-index = <1>; | ||
635 | reg = <0x2000 0x200>; | ||
636 | interrupts = <32>; | ||
637 | interrupt-parent = <&qeic>; | ||
638 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
639 | rx-clock-name = "clk12"; | ||
640 | tx-clock-name = "clk9"; | ||
641 | pio-handle = <&pio1>; | ||
642 | phy-handle = <&qe_phy0>; | ||
643 | phy-connection-type = "mii"; | ||
644 | }; | ||
645 | |||
646 | mdio@2120 { | ||
647 | #address-cells = <1>; | ||
648 | #size-cells = <0>; | ||
649 | reg = <0x2120 0x18>; | ||
650 | compatible = "fsl,ucc-mdio"; | ||
651 | |||
652 | qe_phy0: ethernet-phy@0 { | ||
653 | interrupt-parent = <&mpic>; | ||
654 | interrupts = <4 1>; | ||
655 | reg = <0x0>; | ||
656 | device_type = "ethernet-phy"; | ||
657 | }; | ||
658 | qe_phy1: ethernet-phy@03 { | ||
659 | interrupt-parent = <&mpic>; | ||
660 | interrupts = <5 1>; | ||
661 | reg = <0x3>; | ||
662 | device_type = "ethernet-phy"; | ||
663 | }; | ||
664 | tbi-phy@11 { | ||
665 | reg = <0x11>; | ||
666 | device_type = "tbi-phy"; | ||
667 | }; | ||
668 | }; | ||
669 | |||
670 | enet4: ucc@2400 { | ||
671 | device_type = "network"; | ||
672 | compatible = "ucc_geth"; | ||
673 | cell-index = <5>; | ||
674 | reg = <0x2400 0x200>; | ||
675 | interrupts = <40>; | ||
676 | interrupt-parent = <&qeic>; | ||
677 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
678 | rx-clock-name = "none"; | ||
679 | tx-clock-name = "clk13"; | ||
680 | pio-handle = <&pio2>; | ||
681 | phy-handle = <&qe_phy1>; | ||
682 | phy-connection-type = "rmii"; | ||
683 | }; | ||
684 | |||
685 | muram@10000 { | ||
686 | #address-cells = <1>; | ||
687 | #size-cells = <1>; | ||
688 | compatible = "fsl,qe-muram", "fsl,cpm-muram"; | ||
689 | ranges = <0x0 0x10000 0x6000>; | ||
690 | |||
691 | data-only@0 { | ||
692 | compatible = "fsl,qe-muram-data", | ||
693 | "fsl,cpm-muram-data"; | ||
694 | reg = <0x0 0x6000>; | ||
695 | }; | ||
696 | }; | ||
697 | }; | ||
698 | }; | ||
diff --git a/arch/powerpc/boot/dts/redwood.dts b/arch/powerpc/boot/dts/redwood.dts index d2af32e2bf7a..81636c01d906 100644 --- a/arch/powerpc/boot/dts/redwood.dts +++ b/arch/powerpc/boot/dts/redwood.dts | |||
@@ -234,10 +234,132 @@ | |||
234 | has-inverted-stacr-oc; | 234 | has-inverted-stacr-oc; |
235 | has-new-stacr-staopc; | 235 | has-new-stacr-staopc; |
236 | }; | 236 | }; |
237 | }; | ||
238 | PCIE0: pciex@d00000000 { | ||
239 | device_type = "pci"; | ||
240 | #interrupt-cells = <1>; | ||
241 | #size-cells = <2>; | ||
242 | #address-cells = <3>; | ||
243 | compatible = "ibm,plb-pciex-460sx", "ibm,plb-pciex"; | ||
244 | primary; | ||
245 | port = <0x0>; /* port number */ | ||
246 | reg = <0x0000000d 0x00000000 0x20000000 /* Config space access */ | ||
247 | 0x0000000c 0x10000000 0x00001000>; /* Registers */ | ||
248 | dcr-reg = <0x100 0x020>; | ||
249 | sdr-base = <0x300>; | ||
250 | |||
251 | /* Outbound ranges, one memory and one IO, | ||
252 | * later cannot be changed | ||
253 | */ | ||
254 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000 | ||
255 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>; | ||
256 | |||
257 | /* Inbound 2GB range starting at 0 */ | ||
258 | dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>; | ||
237 | 259 | ||
260 | /* This drives busses 10 to 0x1f */ | ||
261 | bus-range = <0x10 0x1f>; | ||
262 | |||
263 | /* Legacy interrupts (note the weird polarity, the bridge seems | ||
264 | * to invert PCIe legacy interrupts). | ||
265 | * We are de-swizzling here because the numbers are actually for | ||
266 | * port of the root complex virtual P2P bridge. But I want | ||
267 | * to avoid putting a node for it in the tree, so the numbers | ||
268 | * below are basically de-swizzled numbers. | ||
269 | * The real slot is on idsel 0, so the swizzling is 1:1 | ||
270 | */ | ||
271 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
272 | interrupt-map = < | ||
273 | 0x0 0x0 0x0 0x1 &UIC3 0x0 0x4 /* swizzled int A */ | ||
274 | 0x0 0x0 0x0 0x2 &UIC3 0x1 0x4 /* swizzled int B */ | ||
275 | 0x0 0x0 0x0 0x3 &UIC3 0x2 0x4 /* swizzled int C */ | ||
276 | 0x0 0x0 0x0 0x4 &UIC3 0x3 0x4 /* swizzled int D */>; | ||
277 | }; | ||
278 | |||
279 | PCIE1: pciex@d20000000 { | ||
280 | device_type = "pci"; | ||
281 | #interrupt-cells = <1>; | ||
282 | #size-cells = <2>; | ||
283 | #address-cells = <3>; | ||
284 | compatible = "ibm,plb-pciex-460sx", "ibm,plb-pciex"; | ||
285 | primary; | ||
286 | port = <0x1>; /* port number */ | ||
287 | reg = <0x0000000d 0x20000000 0x20000000 /* Config space access */ | ||
288 | 0x0000000c 0x10001000 0x00001000>; /* Registers */ | ||
289 | dcr-reg = <0x120 0x020>; | ||
290 | sdr-base = <0x340>; | ||
291 | |||
292 | /* Outbound ranges, one memory and one IO, | ||
293 | * later cannot be changed | ||
294 | */ | ||
295 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000 | ||
296 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>; | ||
297 | |||
298 | /* Inbound 2GB range starting at 0 */ | ||
299 | dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>; | ||
300 | |||
301 | /* This drives busses 10 to 0x1f */ | ||
302 | bus-range = <0x20 0x2f>; | ||
303 | |||
304 | /* Legacy interrupts (note the weird polarity, the bridge seems | ||
305 | * to invert PCIe legacy interrupts). | ||
306 | * We are de-swizzling here because the numbers are actually for | ||
307 | * port of the root complex virtual P2P bridge. But I want | ||
308 | * to avoid putting a node for it in the tree, so the numbers | ||
309 | * below are basically de-swizzled numbers. | ||
310 | * The real slot is on idsel 0, so the swizzling is 1:1 | ||
311 | */ | ||
312 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
313 | interrupt-map = < | ||
314 | 0x0 0x0 0x0 0x1 &UIC3 0x4 0x4 /* swizzled int A */ | ||
315 | 0x0 0x0 0x0 0x2 &UIC3 0x5 0x4 /* swizzled int B */ | ||
316 | 0x0 0x0 0x0 0x3 &UIC3 0x6 0x4 /* swizzled int C */ | ||
317 | 0x0 0x0 0x0 0x4 &UIC3 0x7 0x4 /* swizzled int D */>; | ||
318 | }; | ||
319 | |||
320 | PCIE2: pciex@d40000000 { | ||
321 | device_type = "pci"; | ||
322 | #interrupt-cells = <1>; | ||
323 | #size-cells = <2>; | ||
324 | #address-cells = <3>; | ||
325 | compatible = "ibm,plb-pciex-460sx", "ibm,plb-pciex"; | ||
326 | primary; | ||
327 | port = <0x2>; /* port number */ | ||
328 | reg = <0x0000000d 0x40000000 0x20000000 /* Config space access */ | ||
329 | 0x0000000c 0x10002000 0x00001000>; /* Registers */ | ||
330 | dcr-reg = <0x140 0x020>; | ||
331 | sdr-base = <0x370>; | ||
332 | |||
333 | /* Outbound ranges, one memory and one IO, | ||
334 | * later cannot be changed | ||
335 | */ | ||
336 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000f 0x00000000 0x00000000 0x80000000 | ||
337 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80020000 0x00000000 0x00010000>; | ||
338 | |||
339 | /* Inbound 2GB range starting at 0 */ | ||
340 | dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>; | ||
341 | |||
342 | /* This drives busses 10 to 0x1f */ | ||
343 | bus-range = <0x30 0x3f>; | ||
344 | |||
345 | /* Legacy interrupts (note the weird polarity, the bridge seems | ||
346 | * to invert PCIe legacy interrupts). | ||
347 | * We are de-swizzling here because the numbers are actually for | ||
348 | * port of the root complex virtual P2P bridge. But I want | ||
349 | * to avoid putting a node for it in the tree, so the numbers | ||
350 | * below are basically de-swizzled numbers. | ||
351 | * The real slot is on idsel 0, so the swizzling is 1:1 | ||
352 | */ | ||
353 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
354 | interrupt-map = < | ||
355 | 0x0 0x0 0x0 0x1 &UIC3 0x8 0x4 /* swizzled int A */ | ||
356 | 0x0 0x0 0x0 0x2 &UIC3 0x9 0x4 /* swizzled int B */ | ||
357 | 0x0 0x0 0x0 0x3 &UIC3 0xa 0x4 /* swizzled int C */ | ||
358 | 0x0 0x0 0x0 0x4 &UIC3 0xb 0x4 /* swizzled int D */>; | ||
238 | }; | 359 | }; |
239 | 360 | ||
240 | }; | 361 | }; |
362 | |||
241 | chosen { | 363 | chosen { |
242 | linux,stdout-path = "/plb/opb/serial@ef600200"; | 364 | linux,stdout-path = "/plb/opb/serial@ef600200"; |
243 | }; | 365 | }; |
diff --git a/arch/powerpc/boot/treeboot-iss4xx.c b/arch/powerpc/boot/treeboot-iss4xx.c new file mode 100644 index 000000000000..fcc44952874e --- /dev/null +++ b/arch/powerpc/boot/treeboot-iss4xx.c | |||
@@ -0,0 +1,56 @@ | |||
1 | /* | ||
2 | * Copyright 2010 Ben. Herrenschmidt, IBM Corporation. | ||
3 | * | ||
4 | * Based on earlier code: | ||
5 | * Copyright (C) Paul Mackerras 1997. | ||
6 | * | ||
7 | * Matt Porter <mporter@kernel.crashing.org> | ||
8 | * Copyright 2002-2005 MontaVista Software Inc. | ||
9 | * | ||
10 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> | ||
11 | * Copyright (c) 2003, 2004 Zultys Technologies | ||
12 | * | ||
13 | * Copyright 2007 David Gibson, IBM Corporation. | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or | ||
16 | * modify it under the terms of the GNU General Public License | ||
17 | * as published by the Free Software Foundation; either version | ||
18 | * 2 of the License, or (at your option) any later version. | ||
19 | */ | ||
20 | #include <stdarg.h> | ||
21 | #include <stddef.h> | ||
22 | #include "types.h" | ||
23 | #include "elf.h" | ||
24 | #include "string.h" | ||
25 | #include "stdio.h" | ||
26 | #include "page.h" | ||
27 | #include "ops.h" | ||
28 | #include "reg.h" | ||
29 | #include "io.h" | ||
30 | #include "dcr.h" | ||
31 | #include "4xx.h" | ||
32 | #include "44x.h" | ||
33 | #include "libfdt.h" | ||
34 | |||
35 | BSS_STACK(4096); | ||
36 | |||
37 | static void iss_4xx_fixups(void) | ||
38 | { | ||
39 | ibm4xx_sdram_fixup_memsize(); | ||
40 | } | ||
41 | |||
42 | #define SPRN_PIR 0x11E /* Processor Indentification Register */ | ||
43 | void platform_init(void) | ||
44 | { | ||
45 | unsigned long end_of_ram = 0x08000000; | ||
46 | unsigned long avail_ram = end_of_ram - (unsigned long)_end; | ||
47 | u32 pir_reg; | ||
48 | |||
49 | simple_alloc_init(_end, avail_ram, 128, 64); | ||
50 | platform_ops.fixups = iss_4xx_fixups; | ||
51 | platform_ops.exit = ibm44x_dbcr_reset; | ||
52 | pir_reg = mfspr(SPRN_PIR); | ||
53 | fdt_set_boot_cpuid_phys(_dtb_start, pir_reg); | ||
54 | fdt_init(_dtb_start); | ||
55 | serial_console_init(); | ||
56 | } | ||
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index f4594ed09a20..cb97e7511d7e 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
@@ -149,6 +149,10 @@ pseries) | |||
149 | platformo=$object/of.o | 149 | platformo=$object/of.o |
150 | link_address='0x4000000' | 150 | link_address='0x4000000' |
151 | ;; | 151 | ;; |
152 | maple) | ||
153 | platformo=$object/of.o | ||
154 | link_address='0x400000' | ||
155 | ;; | ||
152 | pmac|chrp) | 156 | pmac|chrp) |
153 | platformo=$object/of.o | 157 | platformo=$object/of.o |
154 | ;; | 158 | ;; |
@@ -237,6 +241,9 @@ gamecube|wii) | |||
237 | link_address='0x600000' | 241 | link_address='0x600000' |
238 | platformo="$object/$platform-head.o $object/$platform.o" | 242 | platformo="$object/$platform-head.o $object/$platform.o" |
239 | ;; | 243 | ;; |
244 | treeboot-iss4xx-mpic) | ||
245 | platformo="$object/treeboot-iss4xx.o" | ||
246 | ;; | ||
240 | esac | 247 | esac |
241 | 248 | ||
242 | vmz="$tmpdir/`basename \"$kernel\"`.$ext" | 249 | vmz="$tmpdir/`basename \"$kernel\"`.$ext" |
@@ -321,7 +328,7 @@ fi | |||
321 | 328 | ||
322 | # post-processing needed for some platforms | 329 | # post-processing needed for some platforms |
323 | case "$platform" in | 330 | case "$platform" in |
324 | pseries|chrp) | 331 | pseries|chrp|maple) |
325 | $objbin/addnote "$ofile" | 332 | $objbin/addnote "$ofile" |
326 | ;; | 333 | ;; |
327 | coff) | 334 | coff) |
diff --git a/arch/powerpc/configs/40x/acadia_defconfig b/arch/powerpc/configs/40x/acadia_defconfig index 8e95f8d227b9..4aa17b676a3f 100644 --- a/arch/powerpc/configs/40x/acadia_defconfig +++ b/arch/powerpc/configs/40x/acadia_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_GROUP_SCHED=y | |||
98 | CONFIG_USER_SCHED=y | 98 | CONFIG_USER_SCHED=y |
99 | # CONFIG_CGROUP_SCHED is not set | 99 | # CONFIG_CGROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/40x/ep405_defconfig b/arch/powerpc/configs/40x/ep405_defconfig index 918f23fd2b18..9a5f1ab777ed 100644 --- a/arch/powerpc/configs/40x/ep405_defconfig +++ b/arch/powerpc/configs/40x/ep405_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
98 | CONFIG_USER_SCHED=y | 98 | CONFIG_USER_SCHED=y |
99 | # CONFIG_CGROUP_SCHED is not set | 99 | # CONFIG_CGROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/40x/hcu4_defconfig b/arch/powerpc/configs/40x/hcu4_defconfig index f87ef0382280..0b452135d1d4 100644 --- a/arch/powerpc/configs/40x/hcu4_defconfig +++ b/arch/powerpc/configs/40x/hcu4_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
98 | CONFIG_USER_SCHED=y | 98 | CONFIG_USER_SCHED=y |
99 | # CONFIG_CGROUP_SCHED is not set | 99 | # CONFIG_CGROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/40x/kilauea_defconfig b/arch/powerpc/configs/40x/kilauea_defconfig index 19fbcb075376..4d2de0bed60e 100644 --- a/arch/powerpc/configs/40x/kilauea_defconfig +++ b/arch/powerpc/configs/40x/kilauea_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_GROUP_SCHED=y | |||
98 | CONFIG_USER_SCHED=y | 98 | CONFIG_USER_SCHED=y |
99 | # CONFIG_CGROUP_SCHED is not set | 99 | # CONFIG_CGROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/40x/makalu_defconfig b/arch/powerpc/configs/40x/makalu_defconfig index eb41cd695979..a1f3f505e4a7 100644 --- a/arch/powerpc/configs/40x/makalu_defconfig +++ b/arch/powerpc/configs/40x/makalu_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_GROUP_SCHED=y | |||
98 | CONFIG_USER_SCHED=y | 98 | CONFIG_USER_SCHED=y |
99 | # CONFIG_CGROUP_SCHED is not set | 99 | # CONFIG_CGROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/40x/virtex_defconfig b/arch/powerpc/configs/40x/virtex_defconfig index 416e79ac0711..c76313577140 100644 --- a/arch/powerpc/configs/40x/virtex_defconfig +++ b/arch/powerpc/configs/40x/virtex_defconfig | |||
@@ -77,8 +77,7 @@ CONFIG_IKCONFIG_PROC=y | |||
77 | CONFIG_LOG_BUF_SHIFT=14 | 77 | CONFIG_LOG_BUF_SHIFT=14 |
78 | # CONFIG_GROUP_SCHED is not set | 78 | # CONFIG_GROUP_SCHED is not set |
79 | # CONFIG_CGROUPS is not set | 79 | # CONFIG_CGROUPS is not set |
80 | CONFIG_SYSFS_DEPRECATED=y | 80 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
81 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
82 | # CONFIG_RELAY is not set | 81 | # CONFIG_RELAY is not set |
83 | CONFIG_NAMESPACES=y | 82 | CONFIG_NAMESPACES=y |
84 | # CONFIG_UTS_NS is not set | 83 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/40x/walnut_defconfig b/arch/powerpc/configs/40x/walnut_defconfig index bfff0eae39d2..6597b2f1d1a8 100644 --- a/arch/powerpc/configs/40x/walnut_defconfig +++ b/arch/powerpc/configs/40x/walnut_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
98 | CONFIG_USER_SCHED=y | 98 | CONFIG_USER_SCHED=y |
99 | # CONFIG_CGROUP_SCHED is not set | 99 | # CONFIG_CGROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/arches_defconfig b/arch/powerpc/configs/44x/arches_defconfig index 1f6d0490e28d..2d3dfb55fbed 100644 --- a/arch/powerpc/configs/44x/arches_defconfig +++ b/arch/powerpc/configs/44x/arches_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_RCU_FANOUT=32 | |||
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | # CONFIG_GROUP_SCHED is not set | 99 | # CONFIG_GROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/bamboo_defconfig b/arch/powerpc/configs/44x/bamboo_defconfig index 788faac6c27a..51a00c46df19 100644 --- a/arch/powerpc/configs/44x/bamboo_defconfig +++ b/arch/powerpc/configs/44x/bamboo_defconfig | |||
@@ -102,8 +102,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
102 | CONFIG_USER_SCHED=y | 102 | CONFIG_USER_SCHED=y |
103 | # CONFIG_CGROUP_SCHED is not set | 103 | # CONFIG_CGROUP_SCHED is not set |
104 | # CONFIG_CGROUPS is not set | 104 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 105 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 106 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 107 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 108 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/canyonlands_defconfig b/arch/powerpc/configs/44x/canyonlands_defconfig index 4ef8bcab61f8..1028b1bfb602 100644 --- a/arch/powerpc/configs/44x/canyonlands_defconfig +++ b/arch/powerpc/configs/44x/canyonlands_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_RCU_FANOUT=32 | |||
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | # CONFIG_GROUP_SCHED is not set | 99 | # CONFIG_GROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/ebony_defconfig b/arch/powerpc/configs/44x/ebony_defconfig index ca17b1496e32..69f5633cbd4f 100644 --- a/arch/powerpc/configs/44x/ebony_defconfig +++ b/arch/powerpc/configs/44x/ebony_defconfig | |||
@@ -101,8 +101,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
101 | CONFIG_USER_SCHED=y | 101 | CONFIG_USER_SCHED=y |
102 | # CONFIG_CGROUP_SCHED is not set | 102 | # CONFIG_CGROUP_SCHED is not set |
103 | # CONFIG_CGROUPS is not set | 103 | # CONFIG_CGROUPS is not set |
104 | CONFIG_SYSFS_DEPRECATED=y | 104 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
105 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
106 | # CONFIG_RELAY is not set | 105 | # CONFIG_RELAY is not set |
107 | # CONFIG_NAMESPACES is not set | 106 | # CONFIG_NAMESPACES is not set |
108 | CONFIG_BLK_DEV_INITRD=y | 107 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/eiger_defconfig b/arch/powerpc/configs/44x/eiger_defconfig index e3149bade0b2..dcd859c8b4a6 100644 --- a/arch/powerpc/configs/44x/eiger_defconfig +++ b/arch/powerpc/configs/44x/eiger_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_RCU_FANOUT=32 | |||
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | # CONFIG_GROUP_SCHED is not set | 99 | # CONFIG_GROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/icon_defconfig b/arch/powerpc/configs/44x/icon_defconfig new file mode 100644 index 000000000000..277f88c2750f --- /dev/null +++ b/arch/powerpc/configs/44x/icon_defconfig | |||
@@ -0,0 +1,1451 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.34-rc7 | ||
4 | # Fri May 21 17:40:22 2010 | ||
5 | # | ||
6 | # CONFIG_PPC64 is not set | ||
7 | |||
8 | # | ||
9 | # Processor support | ||
10 | # | ||
11 | # CONFIG_PPC_BOOK3S_32 is not set | ||
12 | # CONFIG_PPC_85xx is not set | ||
13 | # CONFIG_PPC_8xx is not set | ||
14 | # CONFIG_40x is not set | ||
15 | CONFIG_44x=y | ||
16 | # CONFIG_E200 is not set | ||
17 | CONFIG_4xx=y | ||
18 | CONFIG_BOOKE=y | ||
19 | CONFIG_PTE_64BIT=y | ||
20 | CONFIG_PHYS_64BIT=y | ||
21 | CONFIG_PPC_MMU_NOHASH=y | ||
22 | CONFIG_PPC_MMU_NOHASH_32=y | ||
23 | # CONFIG_PPC_MM_SLICES is not set | ||
24 | CONFIG_NOT_COHERENT_CACHE=y | ||
25 | CONFIG_PPC32=y | ||
26 | CONFIG_WORD_SIZE=32 | ||
27 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y | ||
28 | CONFIG_MMU=y | ||
29 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
30 | CONFIG_GENERIC_TIME=y | ||
31 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
32 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
33 | CONFIG_GENERIC_HARDIRQS=y | ||
34 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
35 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | ||
36 | # CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set | ||
37 | CONFIG_IRQ_PER_CPU=y | ||
38 | CONFIG_NR_IRQS=512 | ||
39 | CONFIG_STACKTRACE_SUPPORT=y | ||
40 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
41 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
42 | CONFIG_LOCKDEP_SUPPORT=y | ||
43 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
44 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
45 | CONFIG_GENERIC_HWEIGHT=y | ||
46 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
47 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | ||
48 | CONFIG_PPC=y | ||
49 | CONFIG_EARLY_PRINTK=y | ||
50 | CONFIG_GENERIC_NVRAM=y | ||
51 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | ||
52 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
53 | CONFIG_PPC_OF=y | ||
54 | CONFIG_OF=y | ||
55 | CONFIG_PPC_UDBG_16550=y | ||
56 | # CONFIG_GENERIC_TBSYNC is not set | ||
57 | CONFIG_AUDIT_ARCH=y | ||
58 | CONFIG_GENERIC_BUG=y | ||
59 | CONFIG_DTC=y | ||
60 | # CONFIG_DEFAULT_UIMAGE is not set | ||
61 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | ||
62 | CONFIG_PPC_DCR_NATIVE=y | ||
63 | # CONFIG_PPC_DCR_MMIO is not set | ||
64 | CONFIG_PPC_DCR=y | ||
65 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
66 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
67 | CONFIG_PPC_ADV_DEBUG_IACS=4 | ||
68 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
69 | CONFIG_PPC_ADV_DEBUG_DVCS=2 | ||
70 | CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y | ||
71 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
72 | CONFIG_CONSTRUCTORS=y | ||
73 | |||
74 | # | ||
75 | # General setup | ||
76 | # | ||
77 | CONFIG_EXPERIMENTAL=y | ||
78 | CONFIG_BROKEN_ON_SMP=y | ||
79 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
80 | CONFIG_LOCALVERSION="" | ||
81 | CONFIG_LOCALVERSION_AUTO=y | ||
82 | CONFIG_SWAP=y | ||
83 | CONFIG_SYSVIPC=y | ||
84 | CONFIG_SYSVIPC_SYSCTL=y | ||
85 | CONFIG_POSIX_MQUEUE=y | ||
86 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
87 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
88 | # CONFIG_TASKSTATS is not set | ||
89 | # CONFIG_AUDIT is not set | ||
90 | |||
91 | # | ||
92 | # RCU Subsystem | ||
93 | # | ||
94 | CONFIG_TREE_RCU=y | ||
95 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
96 | # CONFIG_TINY_RCU is not set | ||
97 | # CONFIG_RCU_TRACE is not set | ||
98 | CONFIG_RCU_FANOUT=32 | ||
99 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
100 | # CONFIG_TREE_RCU_TRACE is not set | ||
101 | # CONFIG_IKCONFIG is not set | ||
102 | CONFIG_LOG_BUF_SHIFT=14 | ||
103 | # CONFIG_CGROUPS is not set | ||
104 | CONFIG_SYSFS_DEPRECATED=y | ||
105 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
106 | # CONFIG_RELAY is not set | ||
107 | # CONFIG_NAMESPACES is not set | ||
108 | CONFIG_BLK_DEV_INITRD=y | ||
109 | CONFIG_INITRAMFS_SOURCE="" | ||
110 | CONFIG_RD_GZIP=y | ||
111 | # CONFIG_RD_BZIP2 is not set | ||
112 | # CONFIG_RD_LZMA is not set | ||
113 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
115 | CONFIG_SYSCTL=y | ||
116 | CONFIG_ANON_INODES=y | ||
117 | CONFIG_EMBEDDED=y | ||
118 | CONFIG_SYSCTL_SYSCALL=y | ||
119 | CONFIG_KALLSYMS=y | ||
120 | # CONFIG_KALLSYMS_ALL is not set | ||
121 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
122 | CONFIG_HOTPLUG=y | ||
123 | CONFIG_PRINTK=y | ||
124 | # CONFIG_LOGBUFFER is not set | ||
125 | CONFIG_BUG=y | ||
126 | CONFIG_ELF_CORE=y | ||
127 | CONFIG_BASE_FULL=y | ||
128 | CONFIG_FUTEX=y | ||
129 | CONFIG_EPOLL=y | ||
130 | CONFIG_SIGNALFD=y | ||
131 | CONFIG_TIMERFD=y | ||
132 | CONFIG_EVENTFD=y | ||
133 | CONFIG_SHMEM=y | ||
134 | CONFIG_AIO=y | ||
135 | CONFIG_HAVE_PERF_EVENTS=y | ||
136 | |||
137 | # | ||
138 | # Kernel Performance Events And Counters | ||
139 | # | ||
140 | # CONFIG_PERF_EVENTS is not set | ||
141 | # CONFIG_PERF_COUNTERS is not set | ||
142 | CONFIG_VM_EVENT_COUNTERS=y | ||
143 | CONFIG_PCI_QUIRKS=y | ||
144 | CONFIG_SLUB_DEBUG=y | ||
145 | CONFIG_COMPAT_BRK=y | ||
146 | # CONFIG_SLAB is not set | ||
147 | CONFIG_SLUB=y | ||
148 | # CONFIG_SLOB is not set | ||
149 | # CONFIG_PROFILING is not set | ||
150 | CONFIG_HAVE_OPROFILE=y | ||
151 | # CONFIG_KPROBES is not set | ||
152 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | ||
153 | CONFIG_HAVE_IOREMAP_PROT=y | ||
154 | CONFIG_HAVE_KPROBES=y | ||
155 | CONFIG_HAVE_KRETPROBES=y | ||
156 | CONFIG_HAVE_ARCH_TRACEHOOK=y | ||
157 | CONFIG_HAVE_DMA_ATTRS=y | ||
158 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
159 | |||
160 | # | ||
161 | # GCOV-based kernel profiling | ||
162 | # | ||
163 | # CONFIG_SLOW_WORK is not set | ||
164 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
165 | CONFIG_SLABINFO=y | ||
166 | CONFIG_RT_MUTEXES=y | ||
167 | CONFIG_BASE_SMALL=0 | ||
168 | CONFIG_MODULES=y | ||
169 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
170 | CONFIG_MODULE_UNLOAD=y | ||
171 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
172 | # CONFIG_MODVERSIONS is not set | ||
173 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
174 | CONFIG_BLOCK=y | ||
175 | CONFIG_LBDAF=y | ||
176 | # CONFIG_BLK_DEV_BSG is not set | ||
177 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
178 | |||
179 | # | ||
180 | # IO Schedulers | ||
181 | # | ||
182 | CONFIG_IOSCHED_NOOP=y | ||
183 | CONFIG_IOSCHED_DEADLINE=y | ||
184 | CONFIG_IOSCHED_CFQ=y | ||
185 | # CONFIG_DEFAULT_DEADLINE is not set | ||
186 | CONFIG_DEFAULT_CFQ=y | ||
187 | # CONFIG_DEFAULT_NOOP is not set | ||
188 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
189 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
190 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
191 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
192 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
193 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
194 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
195 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
196 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
197 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
198 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
199 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
200 | # CONFIG_INLINE_READ_LOCK is not set | ||
201 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
202 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
203 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
204 | CONFIG_INLINE_READ_UNLOCK=y | ||
205 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
206 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
207 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
208 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
209 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
210 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
211 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
212 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
213 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
214 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
215 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
216 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
217 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
218 | # CONFIG_FREEZER is not set | ||
219 | CONFIG_PPC4xx_PCI_EXPRESS=y | ||
220 | |||
221 | # | ||
222 | # Platform support | ||
223 | # | ||
224 | # CONFIG_PPC_CELL is not set | ||
225 | # CONFIG_PPC_CELL_NATIVE is not set | ||
226 | # CONFIG_PQ2ADS is not set | ||
227 | # CONFIG_BAMBOO is not set | ||
228 | # CONFIG_EBONY is not set | ||
229 | # CONFIG_SAM440EP is not set | ||
230 | # CONFIG_SEQUOIA is not set | ||
231 | # CONFIG_TAISHAN is not set | ||
232 | # CONFIG_KATMAI is not set | ||
233 | # CONFIG_RAINIER is not set | ||
234 | # CONFIG_WARP is not set | ||
235 | # CONFIG_ARCHES is not set | ||
236 | # CONFIG_CANYONLANDS is not set | ||
237 | # CONFIG_GLACIER is not set | ||
238 | # CONFIG_REDWOOD is not set | ||
239 | # CONFIG_EIGER is not set | ||
240 | # CONFIG_YOSEMITE is not set | ||
241 | CONFIG_ICON=y | ||
242 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | ||
243 | CONFIG_PPC44x_SIMPLE=y | ||
244 | # CONFIG_PPC4xx_GPIO is not set | ||
245 | CONFIG_440SPe=y | ||
246 | CONFIG_STDBINUTILS=y | ||
247 | # CONFIG_IPIC is not set | ||
248 | # CONFIG_MPIC is not set | ||
249 | # CONFIG_MPIC_WEIRD is not set | ||
250 | # CONFIG_PPC_I8259 is not set | ||
251 | # CONFIG_PPC_RTAS is not set | ||
252 | # CONFIG_MMIO_NVRAM is not set | ||
253 | # CONFIG_PPC_MPC106 is not set | ||
254 | # CONFIG_PPC_970_NAP is not set | ||
255 | # CONFIG_PPC_INDIRECT_IO is not set | ||
256 | # CONFIG_GENERIC_IOMAP is not set | ||
257 | # CONFIG_CPU_FREQ is not set | ||
258 | # CONFIG_FSL_ULI1575 is not set | ||
259 | # CONFIG_SIMPLE_GPIO is not set | ||
260 | |||
261 | # | ||
262 | # Kernel options | ||
263 | # | ||
264 | CONFIG_HIGHMEM=y | ||
265 | # CONFIG_NO_HZ is not set | ||
266 | # CONFIG_HIGH_RES_TIMERS is not set | ||
267 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
268 | # CONFIG_HZ_100 is not set | ||
269 | CONFIG_HZ_250=y | ||
270 | # CONFIG_HZ_300 is not set | ||
271 | # CONFIG_HZ_1000 is not set | ||
272 | CONFIG_HZ=250 | ||
273 | # CONFIG_SCHED_HRTICK is not set | ||
274 | CONFIG_PREEMPT_NONE=y | ||
275 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
276 | # CONFIG_PREEMPT is not set | ||
277 | CONFIG_BINFMT_ELF=y | ||
278 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
279 | # CONFIG_HAVE_AOUT is not set | ||
280 | # CONFIG_BINFMT_MISC is not set | ||
281 | # CONFIG_MATH_EMULATION is not set | ||
282 | # CONFIG_IOMMU_HELPER is not set | ||
283 | # CONFIG_SWIOTLB is not set | ||
284 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
285 | CONFIG_ARCH_HAS_WALK_MEMORY=y | ||
286 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
287 | CONFIG_SPARSE_IRQ=y | ||
288 | CONFIG_MAX_ACTIVE_REGIONS=32 | ||
289 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
290 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
291 | CONFIG_SELECT_MEMORY_MODEL=y | ||
292 | CONFIG_FLATMEM_MANUAL=y | ||
293 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
294 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
295 | CONFIG_FLATMEM=y | ||
296 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
297 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
298 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
299 | CONFIG_MIGRATION=y | ||
300 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
301 | CONFIG_ZONE_DMA_FLAG=1 | ||
302 | CONFIG_BOUNCE=y | ||
303 | CONFIG_VIRT_TO_BUS=y | ||
304 | # CONFIG_KSM is not set | ||
305 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
306 | CONFIG_PPC_4K_PAGES=y | ||
307 | # CONFIG_PPC_16K_PAGES is not set | ||
308 | # CONFIG_PPC_64K_PAGES is not set | ||
309 | # CONFIG_PPC_256K_PAGES is not set | ||
310 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
311 | CONFIG_PROC_DEVICETREE=y | ||
312 | CONFIG_CMDLINE_BOOL=y | ||
313 | CONFIG_CMDLINE="" | ||
314 | CONFIG_EXTRA_TARGETS="" | ||
315 | # CONFIG_ARCH_HAS_NMI_WATCHDOG is not set | ||
316 | CONFIG_SECCOMP=y | ||
317 | CONFIG_ISA_DMA_API=y | ||
318 | |||
319 | # | ||
320 | # Bus options | ||
321 | # | ||
322 | CONFIG_ZONE_DMA=y | ||
323 | CONFIG_NEED_DMA_MAP_STATE=y | ||
324 | CONFIG_PPC_INDIRECT_PCI=y | ||
325 | CONFIG_4xx_SOC=y | ||
326 | CONFIG_PPC_PCI_CHOICE=y | ||
327 | CONFIG_PCI=y | ||
328 | CONFIG_PCI_DOMAINS=y | ||
329 | CONFIG_PCI_SYSCALL=y | ||
330 | CONFIG_PCIEPORTBUS=y | ||
331 | CONFIG_PCIEAER=y | ||
332 | # CONFIG_PCIE_ECRC is not set | ||
333 | # CONFIG_PCIEAER_INJECT is not set | ||
334 | # CONFIG_PCIEASPM is not set | ||
335 | CONFIG_ARCH_SUPPORTS_MSI=y | ||
336 | # CONFIG_PCI_MSI is not set | ||
337 | # CONFIG_PCI_DEBUG is not set | ||
338 | # CONFIG_PCI_STUB is not set | ||
339 | # CONFIG_PCI_IOV is not set | ||
340 | # CONFIG_PCCARD is not set | ||
341 | # CONFIG_HOTPLUG_PCI is not set | ||
342 | # CONFIG_HAS_RAPIDIO is not set | ||
343 | |||
344 | # | ||
345 | # Advanced setup | ||
346 | # | ||
347 | # CONFIG_ADVANCED_OPTIONS is not set | ||
348 | |||
349 | # | ||
350 | # Default settings for advanced configuration options are used | ||
351 | # | ||
352 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
353 | CONFIG_PAGE_OFFSET=0xc0000000 | ||
354 | CONFIG_KERNEL_START=0xc0000000 | ||
355 | CONFIG_PHYSICAL_START=0x00000000 | ||
356 | CONFIG_TASK_SIZE=0xc0000000 | ||
357 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
358 | CONFIG_NET=y | ||
359 | |||
360 | # | ||
361 | # Networking options | ||
362 | # | ||
363 | CONFIG_PACKET=y | ||
364 | CONFIG_UNIX=y | ||
365 | # CONFIG_NET_KEY is not set | ||
366 | CONFIG_INET=y | ||
367 | # CONFIG_IP_MULTICAST is not set | ||
368 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
369 | CONFIG_IP_FIB_HASH=y | ||
370 | CONFIG_IP_PNP=y | ||
371 | CONFIG_IP_PNP_DHCP=y | ||
372 | CONFIG_IP_PNP_BOOTP=y | ||
373 | # CONFIG_IP_PNP_RARP is not set | ||
374 | # CONFIG_NET_IPIP is not set | ||
375 | # CONFIG_NET_IPGRE is not set | ||
376 | # CONFIG_ARPD is not set | ||
377 | # CONFIG_SYN_COOKIES is not set | ||
378 | # CONFIG_INET_AH is not set | ||
379 | # CONFIG_INET_ESP is not set | ||
380 | # CONFIG_INET_IPCOMP is not set | ||
381 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
382 | # CONFIG_INET_TUNNEL is not set | ||
383 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
384 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
385 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
386 | # CONFIG_INET_LRO is not set | ||
387 | CONFIG_INET_DIAG=y | ||
388 | CONFIG_INET_TCP_DIAG=y | ||
389 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
390 | CONFIG_TCP_CONG_CUBIC=y | ||
391 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
392 | # CONFIG_TCP_MD5SIG is not set | ||
393 | # CONFIG_IPV6 is not set | ||
394 | # CONFIG_NETWORK_SECMARK is not set | ||
395 | # CONFIG_NETFILTER is not set | ||
396 | # CONFIG_IP_DCCP is not set | ||
397 | # CONFIG_IP_SCTP is not set | ||
398 | # CONFIG_RDS is not set | ||
399 | # CONFIG_TIPC is not set | ||
400 | # CONFIG_ATM is not set | ||
401 | # CONFIG_BRIDGE is not set | ||
402 | # CONFIG_NET_DSA is not set | ||
403 | # CONFIG_VLAN_8021Q is not set | ||
404 | # CONFIG_DECNET is not set | ||
405 | # CONFIG_LLC2 is not set | ||
406 | # CONFIG_IPX is not set | ||
407 | # CONFIG_ATALK is not set | ||
408 | # CONFIG_X25 is not set | ||
409 | # CONFIG_LAPB is not set | ||
410 | # CONFIG_ECONET is not set | ||
411 | # CONFIG_WAN_ROUTER is not set | ||
412 | # CONFIG_PHONET is not set | ||
413 | # CONFIG_IEEE802154 is not set | ||
414 | # CONFIG_NET_SCHED is not set | ||
415 | # CONFIG_DCB is not set | ||
416 | |||
417 | # | ||
418 | # Network testing | ||
419 | # | ||
420 | # CONFIG_NET_PKTGEN is not set | ||
421 | # CONFIG_HAMRADIO is not set | ||
422 | # CONFIG_CAN is not set | ||
423 | # CONFIG_IRDA is not set | ||
424 | # CONFIG_BT is not set | ||
425 | # CONFIG_AF_RXRPC is not set | ||
426 | CONFIG_WIRELESS=y | ||
427 | # CONFIG_CFG80211 is not set | ||
428 | # CONFIG_LIB80211 is not set | ||
429 | |||
430 | # | ||
431 | # CFG80211 needs to be enabled for MAC80211 | ||
432 | # | ||
433 | # CONFIG_WIMAX is not set | ||
434 | # CONFIG_RFKILL is not set | ||
435 | # CONFIG_NET_9P is not set | ||
436 | |||
437 | # | ||
438 | # Device Drivers | ||
439 | # | ||
440 | |||
441 | # | ||
442 | # Generic Driver Options | ||
443 | # | ||
444 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
445 | # CONFIG_DEVTMPFS is not set | ||
446 | CONFIG_STANDALONE=y | ||
447 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
448 | CONFIG_FW_LOADER=y | ||
449 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
450 | CONFIG_EXTRA_FIRMWARE="" | ||
451 | # CONFIG_DEBUG_DRIVER is not set | ||
452 | # CONFIG_DEBUG_DEVRES is not set | ||
453 | # CONFIG_SYS_HYPERVISOR is not set | ||
454 | CONFIG_CONNECTOR=y | ||
455 | CONFIG_PROC_EVENTS=y | ||
456 | CONFIG_MTD=y | ||
457 | # CONFIG_MTD_DEBUG is not set | ||
458 | # CONFIG_MTD_TESTS is not set | ||
459 | # CONFIG_MTD_CONCAT is not set | ||
460 | CONFIG_MTD_PARTITIONS=y | ||
461 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
462 | CONFIG_MTD_CMDLINE_PARTS=y | ||
463 | CONFIG_MTD_OF_PARTS=y | ||
464 | # CONFIG_MTD_AR7_PARTS is not set | ||
465 | |||
466 | # | ||
467 | # User Modules And Translation Layers | ||
468 | # | ||
469 | CONFIG_MTD_CHAR=y | ||
470 | CONFIG_MTD_BLKDEVS=y | ||
471 | CONFIG_MTD_BLOCK=y | ||
472 | # CONFIG_FTL is not set | ||
473 | # CONFIG_NFTL is not set | ||
474 | # CONFIG_INFTL is not set | ||
475 | # CONFIG_RFD_FTL is not set | ||
476 | # CONFIG_SSFDC is not set | ||
477 | # CONFIG_MTD_OOPS is not set | ||
478 | |||
479 | # | ||
480 | # RAM/ROM/Flash chip drivers | ||
481 | # | ||
482 | CONFIG_MTD_CFI=y | ||
483 | # CONFIG_MTD_JEDECPROBE is not set | ||
484 | CONFIG_MTD_GEN_PROBE=y | ||
485 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
486 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
487 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
488 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
489 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
490 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
491 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
492 | CONFIG_MTD_CFI_I1=y | ||
493 | CONFIG_MTD_CFI_I2=y | ||
494 | # CONFIG_MTD_CFI_I4 is not set | ||
495 | # CONFIG_MTD_CFI_I8 is not set | ||
496 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
497 | CONFIG_MTD_CFI_AMDSTD=y | ||
498 | # CONFIG_MTD_CFI_STAA is not set | ||
499 | CONFIG_MTD_CFI_UTIL=y | ||
500 | # CONFIG_MTD_RAM is not set | ||
501 | # CONFIG_MTD_ROM is not set | ||
502 | # CONFIG_MTD_ABSENT is not set | ||
503 | |||
504 | # | ||
505 | # Mapping drivers for chip access | ||
506 | # | ||
507 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
508 | # CONFIG_MTD_PHYSMAP is not set | ||
509 | CONFIG_MTD_PHYSMAP_OF=y | ||
510 | # CONFIG_MTD_INTEL_VR_NOR is not set | ||
511 | # CONFIG_MTD_PLATRAM is not set | ||
512 | |||
513 | # | ||
514 | # Self-contained MTD device drivers | ||
515 | # | ||
516 | # CONFIG_MTD_PMC551 is not set | ||
517 | # CONFIG_MTD_SLRAM is not set | ||
518 | # CONFIG_MTD_PHRAM is not set | ||
519 | # CONFIG_MTD_MTDRAM is not set | ||
520 | # CONFIG_MTD_BLOCK2MTD is not set | ||
521 | |||
522 | # | ||
523 | # Disk-On-Chip Device Drivers | ||
524 | # | ||
525 | # CONFIG_MTD_DOC2000 is not set | ||
526 | # CONFIG_MTD_DOC2001 is not set | ||
527 | # CONFIG_MTD_DOC2001PLUS is not set | ||
528 | # CONFIG_MTD_NAND is not set | ||
529 | # CONFIG_MTD_ONENAND is not set | ||
530 | |||
531 | # | ||
532 | # LPDDR flash memory drivers | ||
533 | # | ||
534 | # CONFIG_MTD_LPDDR is not set | ||
535 | |||
536 | # | ||
537 | # UBI - Unsorted block images | ||
538 | # | ||
539 | # CONFIG_MTD_UBI is not set | ||
540 | CONFIG_OF_FLATTREE=y | ||
541 | CONFIG_OF_DYNAMIC=y | ||
542 | CONFIG_OF_DEVICE=y | ||
543 | CONFIG_OF_I2C=y | ||
544 | # CONFIG_PARPORT is not set | ||
545 | CONFIG_BLK_DEV=y | ||
546 | # CONFIG_BLK_DEV_FD is not set | ||
547 | # CONFIG_BLK_CPQ_DA is not set | ||
548 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
549 | # CONFIG_BLK_DEV_DAC960 is not set | ||
550 | # CONFIG_BLK_DEV_UMEM is not set | ||
551 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
552 | # CONFIG_BLK_DEV_LOOP is not set | ||
553 | # CONFIG_BLK_DEV_DRBD is not set | ||
554 | # CONFIG_BLK_DEV_NBD is not set | ||
555 | # CONFIG_BLK_DEV_SX8 is not set | ||
556 | CONFIG_BLK_DEV_RAM=y | ||
557 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
558 | CONFIG_BLK_DEV_RAM_SIZE=35000 | ||
559 | # CONFIG_BLK_DEV_XIP is not set | ||
560 | # CONFIG_CDROM_PKTCDVD is not set | ||
561 | # CONFIG_ATA_OVER_ETH is not set | ||
562 | CONFIG_XILINX_SYSACE=y | ||
563 | # CONFIG_BLK_DEV_HD is not set | ||
564 | # CONFIG_MISC_DEVICES is not set | ||
565 | CONFIG_HAVE_IDE=y | ||
566 | # CONFIG_IDE is not set | ||
567 | |||
568 | # | ||
569 | # SCSI device support | ||
570 | # | ||
571 | CONFIG_SCSI_MOD=y | ||
572 | # CONFIG_RAID_ATTRS is not set | ||
573 | CONFIG_SCSI=y | ||
574 | CONFIG_SCSI_DMA=y | ||
575 | # CONFIG_SCSI_TGT is not set | ||
576 | # CONFIG_SCSI_NETLINK is not set | ||
577 | CONFIG_SCSI_PROC_FS=y | ||
578 | |||
579 | # | ||
580 | # SCSI support type (disk, tape, CD-ROM) | ||
581 | # | ||
582 | CONFIG_BLK_DEV_SD=y | ||
583 | # CONFIG_CHR_DEV_ST is not set | ||
584 | # CONFIG_CHR_DEV_OSST is not set | ||
585 | # CONFIG_BLK_DEV_SR is not set | ||
586 | # CONFIG_CHR_DEV_SG is not set | ||
587 | # CONFIG_CHR_DEV_SCH is not set | ||
588 | # CONFIG_SCSI_MULTI_LUN is not set | ||
589 | CONFIG_SCSI_CONSTANTS=y | ||
590 | CONFIG_SCSI_LOGGING=y | ||
591 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
592 | CONFIG_SCSI_WAIT_SCAN=m | ||
593 | |||
594 | # | ||
595 | # SCSI Transports | ||
596 | # | ||
597 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
598 | # CONFIG_SCSI_FC_ATTRS is not set | ||
599 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
600 | CONFIG_SCSI_SAS_ATTRS=y | ||
601 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
602 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
603 | # CONFIG_SCSI_LOWLEVEL is not set | ||
604 | # CONFIG_SCSI_DH is not set | ||
605 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
606 | # CONFIG_ATA is not set | ||
607 | # CONFIG_MD is not set | ||
608 | CONFIG_FUSION=y | ||
609 | # CONFIG_FUSION_SPI is not set | ||
610 | # CONFIG_FUSION_FC is not set | ||
611 | CONFIG_FUSION_SAS=y | ||
612 | CONFIG_FUSION_MAX_SGE=128 | ||
613 | CONFIG_FUSION_CTL=y | ||
614 | CONFIG_FUSION_LOGGING=y | ||
615 | |||
616 | # | ||
617 | # IEEE 1394 (FireWire) support | ||
618 | # | ||
619 | |||
620 | # | ||
621 | # You can enable one or both FireWire driver stacks. | ||
622 | # | ||
623 | |||
624 | # | ||
625 | # The newer stack is recommended. | ||
626 | # | ||
627 | # CONFIG_FIREWIRE is not set | ||
628 | # CONFIG_IEEE1394 is not set | ||
629 | # CONFIG_I2O is not set | ||
630 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
631 | CONFIG_NETDEVICES=y | ||
632 | # CONFIG_DUMMY is not set | ||
633 | # CONFIG_BONDING is not set | ||
634 | # CONFIG_MACVLAN is not set | ||
635 | # CONFIG_EQUALIZER is not set | ||
636 | # CONFIG_TUN is not set | ||
637 | # CONFIG_VETH is not set | ||
638 | # CONFIG_ARCNET is not set | ||
639 | # CONFIG_PHYLIB is not set | ||
640 | CONFIG_NET_ETHERNET=y | ||
641 | # CONFIG_MII is not set | ||
642 | # CONFIG_HAPPYMEAL is not set | ||
643 | # CONFIG_SUNGEM is not set | ||
644 | # CONFIG_CASSINI is not set | ||
645 | # CONFIG_NET_VENDOR_3COM is not set | ||
646 | # CONFIG_ETHOC is not set | ||
647 | # CONFIG_DNET is not set | ||
648 | # CONFIG_NET_TULIP is not set | ||
649 | # CONFIG_HP100 is not set | ||
650 | CONFIG_IBM_NEW_EMAC=y | ||
651 | CONFIG_IBM_NEW_EMAC_RXB=128 | ||
652 | CONFIG_IBM_NEW_EMAC_TXB=64 | ||
653 | CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32 | ||
654 | CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256 | ||
655 | CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 | ||
656 | # CONFIG_IBM_NEW_EMAC_DEBUG is not set | ||
657 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
658 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
659 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
660 | CONFIG_IBM_NEW_EMAC_EMAC4=y | ||
661 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
662 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
663 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
664 | # CONFIG_NET_PCI is not set | ||
665 | # CONFIG_B44 is not set | ||
666 | # CONFIG_KS8842 is not set | ||
667 | # CONFIG_KS8851_MLL is not set | ||
668 | # CONFIG_ATL2 is not set | ||
669 | # CONFIG_XILINX_EMACLITE is not set | ||
670 | # CONFIG_NETDEV_1000 is not set | ||
671 | # CONFIG_NETDEV_10000 is not set | ||
672 | # CONFIG_TR is not set | ||
673 | # CONFIG_WLAN is not set | ||
674 | |||
675 | # | ||
676 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
677 | # | ||
678 | # CONFIG_WAN is not set | ||
679 | # CONFIG_FDDI is not set | ||
680 | # CONFIG_HIPPI is not set | ||
681 | # CONFIG_PPP is not set | ||
682 | # CONFIG_SLIP is not set | ||
683 | # CONFIG_NET_FC is not set | ||
684 | # CONFIG_NETCONSOLE is not set | ||
685 | # CONFIG_NETPOLL is not set | ||
686 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
687 | # CONFIG_VMXNET3 is not set | ||
688 | # CONFIG_ISDN is not set | ||
689 | # CONFIG_PHONE is not set | ||
690 | |||
691 | # | ||
692 | # Input device support | ||
693 | # | ||
694 | CONFIG_INPUT=y | ||
695 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
696 | # CONFIG_INPUT_POLLDEV is not set | ||
697 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
698 | |||
699 | # | ||
700 | # Userland interfaces | ||
701 | # | ||
702 | CONFIG_INPUT_MOUSEDEV=y | ||
703 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
704 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=640 | ||
705 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480 | ||
706 | # CONFIG_INPUT_JOYDEV is not set | ||
707 | # CONFIG_INPUT_EVDEV is not set | ||
708 | # CONFIG_INPUT_EVBUG is not set | ||
709 | |||
710 | # | ||
711 | # Input Device Drivers | ||
712 | # | ||
713 | CONFIG_INPUT_KEYBOARD=y | ||
714 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
715 | CONFIG_KEYBOARD_ATKBD=y | ||
716 | # CONFIG_QT2160 is not set | ||
717 | # CONFIG_KEYBOARD_LKKBD is not set | ||
718 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
719 | # CONFIG_KEYBOARD_NEWTON is not set | ||
720 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
721 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
722 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
723 | # CONFIG_KEYBOARD_XTKBD is not set | ||
724 | CONFIG_INPUT_MOUSE=y | ||
725 | CONFIG_MOUSE_PS2=y | ||
726 | # CONFIG_MOUSE_PS2_ALPS is not set | ||
727 | # CONFIG_MOUSE_PS2_LOGIPS2PP is not set | ||
728 | # CONFIG_MOUSE_PS2_SYNAPTICS is not set | ||
729 | # CONFIG_MOUSE_PS2_TRACKPOINT is not set | ||
730 | # CONFIG_MOUSE_PS2_ELANTECH is not set | ||
731 | # CONFIG_MOUSE_PS2_SENTELIC is not set | ||
732 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | ||
733 | # CONFIG_MOUSE_SERIAL is not set | ||
734 | # CONFIG_MOUSE_VSXXXAA is not set | ||
735 | # CONFIG_MOUSE_SYNAPTICS_I2C is not set | ||
736 | # CONFIG_INPUT_JOYSTICK is not set | ||
737 | # CONFIG_INPUT_TABLET is not set | ||
738 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
739 | # CONFIG_INPUT_MISC is not set | ||
740 | |||
741 | # | ||
742 | # Hardware I/O ports | ||
743 | # | ||
744 | CONFIG_SERIO=y | ||
745 | CONFIG_SERIO_I8042=y | ||
746 | CONFIG_SERIO_SERPORT=y | ||
747 | # CONFIG_SERIO_PCIPS2 is not set | ||
748 | CONFIG_SERIO_LIBPS2=y | ||
749 | # CONFIG_SERIO_RAW is not set | ||
750 | # CONFIG_SERIO_XILINX_XPS_PS2 is not set | ||
751 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
752 | # CONFIG_GAMEPORT is not set | ||
753 | |||
754 | # | ||
755 | # Character devices | ||
756 | # | ||
757 | CONFIG_VT=y | ||
758 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
759 | CONFIG_VT_CONSOLE=y | ||
760 | CONFIG_HW_CONSOLE=y | ||
761 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
762 | CONFIG_DEVKMEM=y | ||
763 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
764 | # CONFIG_NOZOMI is not set | ||
765 | |||
766 | # | ||
767 | # Serial drivers | ||
768 | # | ||
769 | CONFIG_SERIAL_8250=y | ||
770 | CONFIG_SERIAL_8250_CONSOLE=y | ||
771 | # CONFIG_SERIAL_8250_PCI is not set | ||
772 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
773 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
774 | CONFIG_SERIAL_8250_EXTENDED=y | ||
775 | # CONFIG_SERIAL_8250_MANY_PORTS is not set | ||
776 | CONFIG_SERIAL_8250_SHARE_IRQ=y | ||
777 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set | ||
778 | # CONFIG_SERIAL_8250_RSA is not set | ||
779 | |||
780 | # | ||
781 | # Non-8250 serial port support | ||
782 | # | ||
783 | # CONFIG_SERIAL_UARTLITE is not set | ||
784 | CONFIG_SERIAL_CORE=y | ||
785 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
786 | # CONFIG_SERIAL_JSM is not set | ||
787 | CONFIG_SERIAL_OF_PLATFORM=y | ||
788 | # CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set | ||
789 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
790 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | ||
791 | CONFIG_UNIX98_PTYS=y | ||
792 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
793 | CONFIG_LEGACY_PTYS=y | ||
794 | CONFIG_LEGACY_PTY_COUNT=256 | ||
795 | # CONFIG_HVC_UDBG is not set | ||
796 | # CONFIG_IPMI_HANDLER is not set | ||
797 | # CONFIG_HW_RANDOM is not set | ||
798 | # CONFIG_NVRAM is not set | ||
799 | # CONFIG_R3964 is not set | ||
800 | # CONFIG_APPLICOM is not set | ||
801 | # CONFIG_RAW_DRIVER is not set | ||
802 | # CONFIG_BOOTCOUNT is not set | ||
803 | # CONFIG_DISPLAY_PDSP1880 is not set | ||
804 | # CONFIG_MUCMC52_IO is not set | ||
805 | # CONFIG_UC101_IO is not set | ||
806 | # CONFIG_SRAM is not set | ||
807 | # CONFIG_TCG_TPM is not set | ||
808 | CONFIG_DEVPORT=y | ||
809 | CONFIG_I2C=y | ||
810 | CONFIG_I2C_BOARDINFO=y | ||
811 | CONFIG_I2C_COMPAT=y | ||
812 | CONFIG_I2C_CHARDEV=y | ||
813 | CONFIG_I2C_HELPER_AUTO=y | ||
814 | |||
815 | # | ||
816 | # I2C Hardware Bus support | ||
817 | # | ||
818 | |||
819 | # | ||
820 | # PC SMBus host controller drivers | ||
821 | # | ||
822 | # CONFIG_I2C_ALI1535 is not set | ||
823 | # CONFIG_I2C_ALI1563 is not set | ||
824 | # CONFIG_I2C_ALI15X3 is not set | ||
825 | # CONFIG_I2C_AMD756 is not set | ||
826 | # CONFIG_I2C_AMD8111 is not set | ||
827 | # CONFIG_I2C_I801 is not set | ||
828 | # CONFIG_I2C_ISCH is not set | ||
829 | # CONFIG_I2C_PIIX4 is not set | ||
830 | # CONFIG_I2C_NFORCE2 is not set | ||
831 | # CONFIG_I2C_SIS5595 is not set | ||
832 | # CONFIG_I2C_SIS630 is not set | ||
833 | # CONFIG_I2C_SIS96X is not set | ||
834 | # CONFIG_I2C_VIA is not set | ||
835 | # CONFIG_I2C_VIAPRO is not set | ||
836 | |||
837 | # | ||
838 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
839 | # | ||
840 | CONFIG_I2C_IBM_IIC=y | ||
841 | # CONFIG_I2C_MPC is not set | ||
842 | # CONFIG_I2C_OCORES is not set | ||
843 | # CONFIG_I2C_SIMTEC is not set | ||
844 | # CONFIG_I2C_XILINX is not set | ||
845 | |||
846 | # | ||
847 | # External I2C/SMBus adapter drivers | ||
848 | # | ||
849 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
850 | # CONFIG_I2C_TAOS_EVM is not set | ||
851 | |||
852 | # | ||
853 | # Other I2C/SMBus bus drivers | ||
854 | # | ||
855 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
856 | # CONFIG_I2C_STUB is not set | ||
857 | # CONFIG_I2C_DEBUG_CORE is not set | ||
858 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
859 | # CONFIG_I2C_DEBUG_BUS is not set | ||
860 | # CONFIG_SPI is not set | ||
861 | |||
862 | # | ||
863 | # PPS support | ||
864 | # | ||
865 | # CONFIG_PPS is not set | ||
866 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
867 | # CONFIG_GPIOLIB is not set | ||
868 | # CONFIG_W1 is not set | ||
869 | # CONFIG_POWER_SUPPLY is not set | ||
870 | # CONFIG_HWMON is not set | ||
871 | # CONFIG_THERMAL is not set | ||
872 | # CONFIG_WATCHDOG is not set | ||
873 | CONFIG_SSB_POSSIBLE=y | ||
874 | |||
875 | # | ||
876 | # Sonics Silicon Backplane | ||
877 | # | ||
878 | # CONFIG_SSB is not set | ||
879 | |||
880 | # | ||
881 | # Multifunction device drivers | ||
882 | # | ||
883 | # CONFIG_MFD_CORE is not set | ||
884 | # CONFIG_MFD_88PM860X is not set | ||
885 | CONFIG_MFD_SM501=y | ||
886 | # CONFIG_HTC_PASIC3 is not set | ||
887 | # CONFIG_TWL4030_CORE is not set | ||
888 | # CONFIG_MFD_TMIO is not set | ||
889 | # CONFIG_PMIC_DA903X is not set | ||
890 | # CONFIG_PMIC_ADP5520 is not set | ||
891 | # CONFIG_MFD_MAX8925 is not set | ||
892 | # CONFIG_MFD_WM8400 is not set | ||
893 | # CONFIG_MFD_WM831X is not set | ||
894 | # CONFIG_MFD_WM8350_I2C is not set | ||
895 | # CONFIG_MFD_WM8994 is not set | ||
896 | # CONFIG_MFD_PCF50633 is not set | ||
897 | # CONFIG_AB3100_CORE is not set | ||
898 | # CONFIG_LPC_SCH is not set | ||
899 | # CONFIG_REGULATOR is not set | ||
900 | # CONFIG_MEDIA_SUPPORT is not set | ||
901 | |||
902 | # | ||
903 | # Graphics support | ||
904 | # | ||
905 | # CONFIG_AGP is not set | ||
906 | CONFIG_VGA_ARB=y | ||
907 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
908 | # CONFIG_DRM is not set | ||
909 | # CONFIG_VGASTATE is not set | ||
910 | CONFIG_VIDEO_OUTPUT_CONTROL=m | ||
911 | CONFIG_FB=y | ||
912 | # CONFIG_FIRMWARE_EDID is not set | ||
913 | # CONFIG_FB_DDC is not set | ||
914 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
915 | CONFIG_FB_CFB_FILLRECT=y | ||
916 | CONFIG_FB_CFB_COPYAREA=y | ||
917 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
918 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
919 | # CONFIG_FB_SYS_FILLRECT is not set | ||
920 | # CONFIG_FB_SYS_COPYAREA is not set | ||
921 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
922 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
923 | # CONFIG_FB_SYS_FOPS is not set | ||
924 | # CONFIG_FB_SVGALIB is not set | ||
925 | # CONFIG_FB_MACMODES is not set | ||
926 | # CONFIG_FB_BACKLIGHT is not set | ||
927 | # CONFIG_FB_MODE_HELPERS is not set | ||
928 | # CONFIG_FB_TILEBLITTING is not set | ||
929 | |||
930 | # | ||
931 | # Frame buffer hardware drivers | ||
932 | # | ||
933 | # CONFIG_FB_CIRRUS is not set | ||
934 | # CONFIG_FB_PM2 is not set | ||
935 | # CONFIG_FB_CYBER2000 is not set | ||
936 | # CONFIG_FB_OF is not set | ||
937 | # CONFIG_FB_CT65550 is not set | ||
938 | # CONFIG_FB_ASILIANT is not set | ||
939 | # CONFIG_FB_IMSTT is not set | ||
940 | # CONFIG_FB_VGA16 is not set | ||
941 | # CONFIG_FB_UVESA is not set | ||
942 | # CONFIG_FB_S1D13XXX is not set | ||
943 | # CONFIG_FB_NVIDIA is not set | ||
944 | # CONFIG_FB_RIVA is not set | ||
945 | # CONFIG_FB_MATROX is not set | ||
946 | # CONFIG_FB_RADEON is not set | ||
947 | # CONFIG_FB_ATY128 is not set | ||
948 | # CONFIG_FB_ATY is not set | ||
949 | # CONFIG_FB_S3 is not set | ||
950 | # CONFIG_FB_SAVAGE is not set | ||
951 | # CONFIG_FB_SIS is not set | ||
952 | # CONFIG_FB_VIA is not set | ||
953 | # CONFIG_FB_NEOMAGIC is not set | ||
954 | # CONFIG_FB_KYRO is not set | ||
955 | # CONFIG_FB_3DFX is not set | ||
956 | # CONFIG_FB_VOODOO1 is not set | ||
957 | # CONFIG_FB_VT8623 is not set | ||
958 | # CONFIG_FB_TRIDENT is not set | ||
959 | # CONFIG_FB_ARK is not set | ||
960 | # CONFIG_FB_PM3 is not set | ||
961 | # CONFIG_FB_CARMINE is not set | ||
962 | CONFIG_FB_SM501=y | ||
963 | # CONFIG_FB_IBM_GXT4500 is not set | ||
964 | # CONFIG_FB_VIRTUAL is not set | ||
965 | # CONFIG_FB_METRONOME is not set | ||
966 | # CONFIG_FB_MB862XX is not set | ||
967 | # CONFIG_FB_BROADSHEET is not set | ||
968 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
969 | |||
970 | # | ||
971 | # Display device support | ||
972 | # | ||
973 | # CONFIG_DISPLAY_SUPPORT is not set | ||
974 | |||
975 | # | ||
976 | # Console display driver support | ||
977 | # | ||
978 | CONFIG_DUMMY_CONSOLE=y | ||
979 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
980 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
981 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
982 | # CONFIG_FONTS is not set | ||
983 | CONFIG_FONT_8x8=y | ||
984 | CONFIG_FONT_8x16=y | ||
985 | CONFIG_LOGO=y | ||
986 | # CONFIG_LOGO_LINUX_MONO is not set | ||
987 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
988 | CONFIG_LOGO_LINUX_CLUT224=y | ||
989 | # CONFIG_SOUND is not set | ||
990 | CONFIG_HID_SUPPORT=y | ||
991 | CONFIG_HID=y | ||
992 | # CONFIG_HIDRAW is not set | ||
993 | # CONFIG_HID_PID is not set | ||
994 | |||
995 | # | ||
996 | # Special HID drivers | ||
997 | # | ||
998 | # CONFIG_USB_SUPPORT is not set | ||
999 | # CONFIG_UWB is not set | ||
1000 | # CONFIG_MMC is not set | ||
1001 | # CONFIG_MEMSTICK is not set | ||
1002 | # CONFIG_NEW_LEDS is not set | ||
1003 | # CONFIG_ACCESSIBILITY is not set | ||
1004 | # CONFIG_INFINIBAND is not set | ||
1005 | # CONFIG_EDAC is not set | ||
1006 | CONFIG_RTC_LIB=y | ||
1007 | CONFIG_RTC_CLASS=y | ||
1008 | CONFIG_RTC_HCTOSYS=y | ||
1009 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1010 | # CONFIG_RTC_DEBUG is not set | ||
1011 | |||
1012 | # | ||
1013 | # RTC interfaces | ||
1014 | # | ||
1015 | CONFIG_RTC_INTF_SYSFS=y | ||
1016 | CONFIG_RTC_INTF_PROC=y | ||
1017 | CONFIG_RTC_INTF_DEV=y | ||
1018 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1019 | # CONFIG_RTC_DRV_TEST is not set | ||
1020 | |||
1021 | # | ||
1022 | # I2C RTC drivers | ||
1023 | # | ||
1024 | CONFIG_RTC_DRV_DS1307=y | ||
1025 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1026 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1027 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1028 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1029 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1030 | # CONFIG_RTC_DRV_X1205 is not set | ||
1031 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1032 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1033 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1034 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1035 | # CONFIG_RTC_DRV_S35390A is not set | ||
1036 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1037 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1038 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1039 | |||
1040 | # | ||
1041 | # SPI RTC drivers | ||
1042 | # | ||
1043 | |||
1044 | # | ||
1045 | # Platform RTC drivers | ||
1046 | # | ||
1047 | # CONFIG_RTC_DRV_CMOS is not set | ||
1048 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1049 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1050 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1051 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1052 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1053 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1054 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1055 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1056 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1057 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1058 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1059 | # CONFIG_RTC_DRV_V3020 is not set | ||
1060 | |||
1061 | # | ||
1062 | # on-CPU RTC drivers | ||
1063 | # | ||
1064 | # CONFIG_RTC_DRV_GENERIC is not set | ||
1065 | # CONFIG_DMADEVICES is not set | ||
1066 | # CONFIG_AUXDISPLAY is not set | ||
1067 | # CONFIG_UIO is not set | ||
1068 | |||
1069 | # | ||
1070 | # TI VLYNQ | ||
1071 | # | ||
1072 | # CONFIG_STAGING is not set | ||
1073 | |||
1074 | # | ||
1075 | # File systems | ||
1076 | # | ||
1077 | CONFIG_EXT2_FS=y | ||
1078 | # CONFIG_EXT2_FS_XATTR is not set | ||
1079 | # CONFIG_EXT2_FS_XIP is not set | ||
1080 | CONFIG_EXT3_FS=y | ||
1081 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1082 | CONFIG_EXT3_FS_XATTR=y | ||
1083 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
1084 | # CONFIG_EXT3_FS_SECURITY is not set | ||
1085 | # CONFIG_EXT4_FS is not set | ||
1086 | CONFIG_JBD=y | ||
1087 | CONFIG_FS_MBCACHE=y | ||
1088 | # CONFIG_REISERFS_FS is not set | ||
1089 | # CONFIG_JFS_FS is not set | ||
1090 | # CONFIG_FS_POSIX_ACL is not set | ||
1091 | # CONFIG_XFS_FS is not set | ||
1092 | # CONFIG_GFS2_FS is not set | ||
1093 | # CONFIG_OCFS2_FS is not set | ||
1094 | # CONFIG_BTRFS_FS is not set | ||
1095 | # CONFIG_NILFS2_FS is not set | ||
1096 | CONFIG_FILE_LOCKING=y | ||
1097 | CONFIG_FSNOTIFY=y | ||
1098 | CONFIG_DNOTIFY=y | ||
1099 | CONFIG_INOTIFY=y | ||
1100 | CONFIG_INOTIFY_USER=y | ||
1101 | # CONFIG_QUOTA is not set | ||
1102 | # CONFIG_AUTOFS_FS is not set | ||
1103 | # CONFIG_AUTOFS4_FS is not set | ||
1104 | # CONFIG_FUSE_FS is not set | ||
1105 | |||
1106 | # | ||
1107 | # Caches | ||
1108 | # | ||
1109 | # CONFIG_FSCACHE is not set | ||
1110 | |||
1111 | # | ||
1112 | # CD-ROM/DVD Filesystems | ||
1113 | # | ||
1114 | # CONFIG_ISO9660_FS is not set | ||
1115 | # CONFIG_UDF_FS is not set | ||
1116 | |||
1117 | # | ||
1118 | # DOS/FAT/NT Filesystems | ||
1119 | # | ||
1120 | CONFIG_FAT_FS=y | ||
1121 | # CONFIG_MSDOS_FS is not set | ||
1122 | CONFIG_VFAT_FS=y | ||
1123 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1124 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1125 | # CONFIG_NTFS_FS is not set | ||
1126 | |||
1127 | # | ||
1128 | # Pseudo filesystems | ||
1129 | # | ||
1130 | CONFIG_PROC_FS=y | ||
1131 | CONFIG_PROC_KCORE=y | ||
1132 | CONFIG_PROC_SYSCTL=y | ||
1133 | CONFIG_PROC_PAGE_MONITOR=y | ||
1134 | CONFIG_SYSFS=y | ||
1135 | CONFIG_TMPFS=y | ||
1136 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1137 | # CONFIG_HUGETLB_PAGE is not set | ||
1138 | # CONFIG_CONFIGFS_FS is not set | ||
1139 | CONFIG_MISC_FILESYSTEMS=y | ||
1140 | # CONFIG_ADFS_FS is not set | ||
1141 | # CONFIG_AFFS_FS is not set | ||
1142 | # CONFIG_HFS_FS is not set | ||
1143 | # CONFIG_HFSPLUS_FS is not set | ||
1144 | # CONFIG_BEFS_FS is not set | ||
1145 | # CONFIG_BFS_FS is not set | ||
1146 | # CONFIG_EFS_FS is not set | ||
1147 | # CONFIG_JFFS2_FS is not set | ||
1148 | # CONFIG_YAFFS_FS is not set | ||
1149 | # CONFIG_LOGFS is not set | ||
1150 | CONFIG_CRAMFS=y | ||
1151 | # CONFIG_SQUASHFS is not set | ||
1152 | # CONFIG_VXFS_FS is not set | ||
1153 | # CONFIG_MINIX_FS is not set | ||
1154 | # CONFIG_OMFS_FS is not set | ||
1155 | # CONFIG_HPFS_FS is not set | ||
1156 | # CONFIG_QNX4FS_FS is not set | ||
1157 | # CONFIG_ROMFS_FS is not set | ||
1158 | # CONFIG_SYSV_FS is not set | ||
1159 | # CONFIG_UFS_FS is not set | ||
1160 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1161 | CONFIG_NFS_FS=y | ||
1162 | CONFIG_NFS_V3=y | ||
1163 | # CONFIG_NFS_V3_ACL is not set | ||
1164 | # CONFIG_NFS_V4 is not set | ||
1165 | CONFIG_ROOT_NFS=y | ||
1166 | # CONFIG_NFSD is not set | ||
1167 | CONFIG_LOCKD=y | ||
1168 | CONFIG_LOCKD_V4=y | ||
1169 | CONFIG_NFS_COMMON=y | ||
1170 | CONFIG_SUNRPC=y | ||
1171 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1172 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1173 | # CONFIG_SMB_FS is not set | ||
1174 | # CONFIG_CEPH_FS is not set | ||
1175 | # CONFIG_CIFS is not set | ||
1176 | # CONFIG_NCP_FS is not set | ||
1177 | # CONFIG_CODA_FS is not set | ||
1178 | # CONFIG_AFS_FS is not set | ||
1179 | |||
1180 | # | ||
1181 | # Partition Types | ||
1182 | # | ||
1183 | # CONFIG_PARTITION_ADVANCED is not set | ||
1184 | CONFIG_MSDOS_PARTITION=y | ||
1185 | CONFIG_NLS=y | ||
1186 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1187 | CONFIG_NLS_CODEPAGE_437=y | ||
1188 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1189 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1190 | CONFIG_NLS_CODEPAGE_850=y | ||
1191 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1192 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1193 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1194 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1195 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1196 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1197 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1198 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1199 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1200 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1201 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1202 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1203 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1204 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1205 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1206 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1207 | # CONFIG_NLS_ISO8859_8 is not set | ||
1208 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1209 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1210 | # CONFIG_NLS_ASCII is not set | ||
1211 | CONFIG_NLS_ISO8859_1=y | ||
1212 | # CONFIG_NLS_ISO8859_2 is not set | ||
1213 | # CONFIG_NLS_ISO8859_3 is not set | ||
1214 | # CONFIG_NLS_ISO8859_4 is not set | ||
1215 | # CONFIG_NLS_ISO8859_5 is not set | ||
1216 | # CONFIG_NLS_ISO8859_6 is not set | ||
1217 | # CONFIG_NLS_ISO8859_7 is not set | ||
1218 | # CONFIG_NLS_ISO8859_9 is not set | ||
1219 | # CONFIG_NLS_ISO8859_13 is not set | ||
1220 | # CONFIG_NLS_ISO8859_14 is not set | ||
1221 | CONFIG_NLS_ISO8859_15=y | ||
1222 | # CONFIG_NLS_KOI8_R is not set | ||
1223 | # CONFIG_NLS_KOI8_U is not set | ||
1224 | # CONFIG_NLS_UTF8 is not set | ||
1225 | # CONFIG_DLM is not set | ||
1226 | # CONFIG_BINARY_PRINTF is not set | ||
1227 | |||
1228 | # | ||
1229 | # Library routines | ||
1230 | # | ||
1231 | CONFIG_BITREVERSE=y | ||
1232 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1233 | # CONFIG_CRC_CCITT is not set | ||
1234 | # CONFIG_CRC16 is not set | ||
1235 | # CONFIG_CRC_T10DIF is not set | ||
1236 | # CONFIG_CRC_ITU_T is not set | ||
1237 | CONFIG_CRC32=y | ||
1238 | # CONFIG_CRC7 is not set | ||
1239 | # CONFIG_LIBCRC32C is not set | ||
1240 | CONFIG_ZLIB_INFLATE=y | ||
1241 | CONFIG_DECOMPRESS_GZIP=y | ||
1242 | CONFIG_HAS_IOMEM=y | ||
1243 | CONFIG_HAS_IOPORT=y | ||
1244 | CONFIG_HAS_DMA=y | ||
1245 | CONFIG_HAVE_LMB=y | ||
1246 | CONFIG_NLATTR=y | ||
1247 | CONFIG_GENERIC_ATOMIC64=y | ||
1248 | |||
1249 | # | ||
1250 | # Kernel hacking | ||
1251 | # | ||
1252 | # CONFIG_PRINTK_TIME is not set | ||
1253 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1254 | CONFIG_ENABLE_MUST_CHECK=y | ||
1255 | CONFIG_FRAME_WARN=1024 | ||
1256 | CONFIG_MAGIC_SYSRQ=y | ||
1257 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1258 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1259 | # CONFIG_DEBUG_FS is not set | ||
1260 | # CONFIG_HEADERS_CHECK is not set | ||
1261 | CONFIG_DEBUG_KERNEL=y | ||
1262 | # CONFIG_DEBUG_SHIRQ is not set | ||
1263 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1264 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1265 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1266 | CONFIG_DETECT_HUNG_TASK=y | ||
1267 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1268 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1269 | CONFIG_SCHED_DEBUG=y | ||
1270 | # CONFIG_SCHEDSTATS is not set | ||
1271 | # CONFIG_TIMER_STATS is not set | ||
1272 | # CONFIG_DEBUG_OBJECTS is not set | ||
1273 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1274 | # CONFIG_SLUB_STATS is not set | ||
1275 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
1276 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1277 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1278 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1279 | # CONFIG_DEBUG_MUTEXES is not set | ||
1280 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1281 | # CONFIG_PROVE_LOCKING is not set | ||
1282 | # CONFIG_LOCK_STAT is not set | ||
1283 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1284 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1285 | # CONFIG_DEBUG_KOBJECT is not set | ||
1286 | # CONFIG_DEBUG_HIGHMEM is not set | ||
1287 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
1288 | # CONFIG_DEBUG_INFO is not set | ||
1289 | # CONFIG_DEBUG_VM is not set | ||
1290 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1291 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1292 | # CONFIG_DEBUG_LIST is not set | ||
1293 | # CONFIG_DEBUG_SG is not set | ||
1294 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1295 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1296 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1297 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1298 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1299 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1300 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1301 | # CONFIG_FAULT_INJECTION is not set | ||
1302 | # CONFIG_LATENCYTOP is not set | ||
1303 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1304 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1305 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1306 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1307 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
1308 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
1309 | CONFIG_TRACING_SUPPORT=y | ||
1310 | CONFIG_FTRACE=y | ||
1311 | # CONFIG_FUNCTION_TRACER is not set | ||
1312 | # CONFIG_IRQSOFF_TRACER is not set | ||
1313 | # CONFIG_SCHED_TRACER is not set | ||
1314 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1315 | # CONFIG_BOOT_TRACER is not set | ||
1316 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1317 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1318 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1319 | # CONFIG_STACK_TRACER is not set | ||
1320 | # CONFIG_KMEMTRACE is not set | ||
1321 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1322 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1323 | # CONFIG_DMA_API_DEBUG is not set | ||
1324 | # CONFIG_SAMPLES is not set | ||
1325 | CONFIG_HAVE_ARCH_KGDB=y | ||
1326 | # CONFIG_KGDB is not set | ||
1327 | # CONFIG_PPC_DISABLE_WERROR is not set | ||
1328 | CONFIG_PPC_WERROR=y | ||
1329 | CONFIG_PRINT_STACK_DEPTH=64 | ||
1330 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
1331 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1332 | # CONFIG_CODE_PATCHING_SELFTEST is not set | ||
1333 | # CONFIG_FTR_FIXUP_SELFTEST is not set | ||
1334 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
1335 | # CONFIG_XMON is not set | ||
1336 | # CONFIG_IRQSTACKS is not set | ||
1337 | # CONFIG_BDI_SWITCH is not set | ||
1338 | # CONFIG_PPC_EARLY_DEBUG is not set | ||
1339 | |||
1340 | # | ||
1341 | # Security options | ||
1342 | # | ||
1343 | # CONFIG_KEYS is not set | ||
1344 | # CONFIG_SECURITY is not set | ||
1345 | # CONFIG_SECURITYFS is not set | ||
1346 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
1347 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1348 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1349 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1350 | CONFIG_DEFAULT_SECURITY="" | ||
1351 | CONFIG_CRYPTO=y | ||
1352 | |||
1353 | # | ||
1354 | # Crypto core or helper | ||
1355 | # | ||
1356 | CONFIG_CRYPTO_ALGAPI=y | ||
1357 | CONFIG_CRYPTO_ALGAPI2=y | ||
1358 | CONFIG_CRYPTO_AEAD2=y | ||
1359 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1360 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1361 | CONFIG_CRYPTO_HASH=y | ||
1362 | CONFIG_CRYPTO_HASH2=y | ||
1363 | CONFIG_CRYPTO_RNG2=y | ||
1364 | CONFIG_CRYPTO_PCOMP=y | ||
1365 | CONFIG_CRYPTO_MANAGER=y | ||
1366 | CONFIG_CRYPTO_MANAGER2=y | ||
1367 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1368 | # CONFIG_CRYPTO_NULL is not set | ||
1369 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1370 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1371 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1372 | # CONFIG_CRYPTO_TEST is not set | ||
1373 | |||
1374 | # | ||
1375 | # Authenticated Encryption with Associated Data | ||
1376 | # | ||
1377 | # CONFIG_CRYPTO_CCM is not set | ||
1378 | # CONFIG_CRYPTO_GCM is not set | ||
1379 | # CONFIG_CRYPTO_SEQIV is not set | ||
1380 | |||
1381 | # | ||
1382 | # Block modes | ||
1383 | # | ||
1384 | CONFIG_CRYPTO_CBC=y | ||
1385 | # CONFIG_CRYPTO_CTR is not set | ||
1386 | # CONFIG_CRYPTO_CTS is not set | ||
1387 | CONFIG_CRYPTO_ECB=y | ||
1388 | # CONFIG_CRYPTO_LRW is not set | ||
1389 | CONFIG_CRYPTO_PCBC=y | ||
1390 | # CONFIG_CRYPTO_XTS is not set | ||
1391 | |||
1392 | # | ||
1393 | # Hash modes | ||
1394 | # | ||
1395 | # CONFIG_CRYPTO_HMAC is not set | ||
1396 | # CONFIG_CRYPTO_XCBC is not set | ||
1397 | # CONFIG_CRYPTO_VMAC is not set | ||
1398 | |||
1399 | # | ||
1400 | # Digest | ||
1401 | # | ||
1402 | # CONFIG_CRYPTO_CRC32C is not set | ||
1403 | # CONFIG_CRYPTO_GHASH is not set | ||
1404 | # CONFIG_CRYPTO_MD4 is not set | ||
1405 | CONFIG_CRYPTO_MD5=y | ||
1406 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1407 | # CONFIG_CRYPTO_RMD128 is not set | ||
1408 | # CONFIG_CRYPTO_RMD160 is not set | ||
1409 | # CONFIG_CRYPTO_RMD256 is not set | ||
1410 | # CONFIG_CRYPTO_RMD320 is not set | ||
1411 | # CONFIG_CRYPTO_SHA1 is not set | ||
1412 | # CONFIG_CRYPTO_SHA256 is not set | ||
1413 | # CONFIG_CRYPTO_SHA512 is not set | ||
1414 | # CONFIG_CRYPTO_TGR192 is not set | ||
1415 | # CONFIG_CRYPTO_WP512 is not set | ||
1416 | |||
1417 | # | ||
1418 | # Ciphers | ||
1419 | # | ||
1420 | # CONFIG_CRYPTO_AES is not set | ||
1421 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1422 | # CONFIG_CRYPTO_ARC4 is not set | ||
1423 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1424 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1425 | # CONFIG_CRYPTO_CAST5 is not set | ||
1426 | # CONFIG_CRYPTO_CAST6 is not set | ||
1427 | CONFIG_CRYPTO_DES=y | ||
1428 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1429 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1430 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1431 | # CONFIG_CRYPTO_SEED is not set | ||
1432 | # CONFIG_CRYPTO_SERPENT is not set | ||
1433 | # CONFIG_CRYPTO_TEA is not set | ||
1434 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1435 | |||
1436 | # | ||
1437 | # Compression | ||
1438 | # | ||
1439 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1440 | # CONFIG_CRYPTO_ZLIB is not set | ||
1441 | # CONFIG_CRYPTO_LZO is not set | ||
1442 | |||
1443 | # | ||
1444 | # Random Number Generation | ||
1445 | # | ||
1446 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1447 | CONFIG_CRYPTO_HW=y | ||
1448 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | ||
1449 | # CONFIG_CRYPTO_DEV_PPC4XX is not set | ||
1450 | # CONFIG_PPC_CLOCK is not set | ||
1451 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/powerpc/configs/44x/iss476-smp_defconfig b/arch/powerpc/configs/44x/iss476-smp_defconfig new file mode 100644 index 000000000000..8683cbc6c3e1 --- /dev/null +++ b/arch/powerpc/configs/44x/iss476-smp_defconfig | |||
@@ -0,0 +1,1026 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.33 | ||
4 | # Thu Mar 4 11:50:12 2010 | ||
5 | # | ||
6 | # CONFIG_PPC64 is not set | ||
7 | |||
8 | # | ||
9 | # Processor support | ||
10 | # | ||
11 | # CONFIG_PPC_BOOK3S_32 is not set | ||
12 | # CONFIG_PPC_85xx is not set | ||
13 | # CONFIG_PPC_8xx is not set | ||
14 | # CONFIG_40x is not set | ||
15 | CONFIG_44x=y | ||
16 | # CONFIG_E200 is not set | ||
17 | CONFIG_PPC_FPU=y | ||
18 | CONFIG_4xx=y | ||
19 | CONFIG_BOOKE=y | ||
20 | CONFIG_PTE_64BIT=y | ||
21 | CONFIG_PHYS_64BIT=y | ||
22 | CONFIG_PPC_MMU_NOHASH=y | ||
23 | CONFIG_PPC_MMU_NOHASH_32=y | ||
24 | # CONFIG_PPC_MM_SLICES is not set | ||
25 | CONFIG_SMP=y | ||
26 | CONFIG_NR_CPUS=4 | ||
27 | # CONFIG_NOT_COHERENT_CACHE is not set | ||
28 | CONFIG_PPC32=y | ||
29 | CONFIG_WORD_SIZE=32 | ||
30 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y | ||
31 | CONFIG_MMU=y | ||
32 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
33 | CONFIG_GENERIC_TIME=y | ||
34 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
35 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
36 | CONFIG_GENERIC_HARDIRQS=y | ||
37 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
38 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | ||
39 | # CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set | ||
40 | CONFIG_IRQ_PER_CPU=y | ||
41 | CONFIG_NR_IRQS=512 | ||
42 | CONFIG_STACKTRACE_SUPPORT=y | ||
43 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
44 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
45 | CONFIG_LOCKDEP_SUPPORT=y | ||
46 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
47 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
48 | CONFIG_GENERIC_HWEIGHT=y | ||
49 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
50 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | ||
51 | CONFIG_PPC=y | ||
52 | CONFIG_EARLY_PRINTK=y | ||
53 | CONFIG_GENERIC_NVRAM=y | ||
54 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | ||
55 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
56 | CONFIG_PPC_OF=y | ||
57 | CONFIG_OF=y | ||
58 | CONFIG_PPC_UDBG_16550=y | ||
59 | CONFIG_GENERIC_TBSYNC=y | ||
60 | CONFIG_AUDIT_ARCH=y | ||
61 | CONFIG_GENERIC_BUG=y | ||
62 | CONFIG_DTC=y | ||
63 | # CONFIG_DEFAULT_UIMAGE is not set | ||
64 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | ||
65 | CONFIG_PPC_DCR_NATIVE=y | ||
66 | # CONFIG_PPC_DCR_MMIO is not set | ||
67 | CONFIG_PPC_DCR=y | ||
68 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
69 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
70 | CONFIG_CONSTRUCTORS=y | ||
71 | |||
72 | # | ||
73 | # General setup | ||
74 | # | ||
75 | CONFIG_EXPERIMENTAL=y | ||
76 | CONFIG_LOCK_KERNEL=y | ||
77 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
78 | CONFIG_LOCALVERSION="" | ||
79 | CONFIG_LOCALVERSION_AUTO=y | ||
80 | CONFIG_SWAP=y | ||
81 | CONFIG_SYSVIPC=y | ||
82 | CONFIG_SYSVIPC_SYSCTL=y | ||
83 | CONFIG_POSIX_MQUEUE=y | ||
84 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
85 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
86 | # CONFIG_TASKSTATS is not set | ||
87 | # CONFIG_AUDIT is not set | ||
88 | |||
89 | # | ||
90 | # RCU Subsystem | ||
91 | # | ||
92 | CONFIG_TREE_RCU=y | ||
93 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
94 | # CONFIG_TINY_RCU is not set | ||
95 | # CONFIG_RCU_TRACE is not set | ||
96 | CONFIG_RCU_FANOUT=32 | ||
97 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
98 | # CONFIG_TREE_RCU_TRACE is not set | ||
99 | # CONFIG_IKCONFIG is not set | ||
100 | CONFIG_LOG_BUF_SHIFT=14 | ||
101 | CONFIG_GROUP_SCHED=y | ||
102 | CONFIG_FAIR_GROUP_SCHED=y | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | ||
107 | CONFIG_SYSFS_DEPRECATED=y | ||
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | ||
110 | # CONFIG_NAMESPACES is not set | ||
111 | CONFIG_BLK_DEV_INITRD=y | ||
112 | CONFIG_INITRAMFS_SOURCE="" | ||
113 | CONFIG_RD_GZIP=y | ||
114 | # CONFIG_RD_BZIP2 is not set | ||
115 | # CONFIG_RD_LZMA is not set | ||
116 | # CONFIG_RD_LZO is not set | ||
117 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
118 | CONFIG_SYSCTL=y | ||
119 | CONFIG_ANON_INODES=y | ||
120 | CONFIG_EMBEDDED=y | ||
121 | CONFIG_SYSCTL_SYSCALL=y | ||
122 | CONFIG_KALLSYMS=y | ||
123 | CONFIG_KALLSYMS_ALL=y | ||
124 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
125 | CONFIG_HOTPLUG=y | ||
126 | CONFIG_PRINTK=y | ||
127 | CONFIG_BUG=y | ||
128 | CONFIG_ELF_CORE=y | ||
129 | CONFIG_BASE_FULL=y | ||
130 | CONFIG_FUTEX=y | ||
131 | CONFIG_EPOLL=y | ||
132 | CONFIG_SIGNALFD=y | ||
133 | CONFIG_TIMERFD=y | ||
134 | CONFIG_EVENTFD=y | ||
135 | CONFIG_SHMEM=y | ||
136 | CONFIG_AIO=y | ||
137 | CONFIG_HAVE_PERF_EVENTS=y | ||
138 | |||
139 | # | ||
140 | # Kernel Performance Events And Counters | ||
141 | # | ||
142 | CONFIG_PERF_EVENTS=y | ||
143 | CONFIG_EVENT_PROFILE=y | ||
144 | # CONFIG_PERF_COUNTERS is not set | ||
145 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
146 | CONFIG_VM_EVENT_COUNTERS=y | ||
147 | CONFIG_SLUB_DEBUG=y | ||
148 | CONFIG_COMPAT_BRK=y | ||
149 | # CONFIG_SLAB is not set | ||
150 | CONFIG_SLUB=y | ||
151 | # CONFIG_SLOB is not set | ||
152 | CONFIG_PROFILING=y | ||
153 | CONFIG_TRACEPOINTS=y | ||
154 | CONFIG_OPROFILE=y | ||
155 | CONFIG_HAVE_OPROFILE=y | ||
156 | # CONFIG_KPROBES is not set | ||
157 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | ||
158 | CONFIG_HAVE_IOREMAP_PROT=y | ||
159 | CONFIG_HAVE_KPROBES=y | ||
160 | CONFIG_HAVE_KRETPROBES=y | ||
161 | CONFIG_HAVE_ARCH_TRACEHOOK=y | ||
162 | CONFIG_HAVE_DMA_ATTRS=y | ||
163 | CONFIG_USE_GENERIC_SMP_HELPERS=y | ||
164 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
165 | |||
166 | # | ||
167 | # GCOV-based kernel profiling | ||
168 | # | ||
169 | # CONFIG_GCOV_KERNEL is not set | ||
170 | # CONFIG_SLOW_WORK is not set | ||
171 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
172 | CONFIG_SLABINFO=y | ||
173 | CONFIG_RT_MUTEXES=y | ||
174 | CONFIG_BASE_SMALL=0 | ||
175 | CONFIG_MODULES=y | ||
176 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
177 | CONFIG_MODULE_UNLOAD=y | ||
178 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
179 | # CONFIG_MODVERSIONS is not set | ||
180 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
181 | CONFIG_STOP_MACHINE=y | ||
182 | CONFIG_BLOCK=y | ||
183 | CONFIG_LBDAF=y | ||
184 | # CONFIG_BLK_DEV_BSG is not set | ||
185 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
186 | |||
187 | # | ||
188 | # IO Schedulers | ||
189 | # | ||
190 | CONFIG_IOSCHED_NOOP=y | ||
191 | CONFIG_IOSCHED_DEADLINE=y | ||
192 | CONFIG_IOSCHED_CFQ=y | ||
193 | # CONFIG_DEFAULT_DEADLINE is not set | ||
194 | CONFIG_DEFAULT_CFQ=y | ||
195 | # CONFIG_DEFAULT_NOOP is not set | ||
196 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
197 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
198 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
199 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
200 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
201 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
202 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
203 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
204 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
205 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
206 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
207 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
208 | # CONFIG_INLINE_READ_LOCK is not set | ||
209 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
210 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
211 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
212 | CONFIG_INLINE_READ_UNLOCK=y | ||
213 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
214 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
215 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
216 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
217 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
218 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
219 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
220 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
221 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
222 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
223 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
224 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
225 | CONFIG_MUTEX_SPIN_ON_OWNER=y | ||
226 | # CONFIG_FREEZER is not set | ||
227 | |||
228 | # | ||
229 | # Platform support | ||
230 | # | ||
231 | # CONFIG_PPC_CELL is not set | ||
232 | # CONFIG_PPC_CELL_NATIVE is not set | ||
233 | # CONFIG_PQ2ADS is not set | ||
234 | CONFIG_PPC_47x=y | ||
235 | # CONFIG_BAMBOO is not set | ||
236 | # CONFIG_EBONY is not set | ||
237 | # CONFIG_SAM440EP is not set | ||
238 | # CONFIG_SEQUOIA is not set | ||
239 | # CONFIG_TAISHAN is not set | ||
240 | # CONFIG_KATMAI is not set | ||
241 | # CONFIG_RAINIER is not set | ||
242 | # CONFIG_WARP is not set | ||
243 | # CONFIG_ARCHES is not set | ||
244 | # CONFIG_CANYONLANDS is not set | ||
245 | # CONFIG_GLACIER is not set | ||
246 | # CONFIG_REDWOOD is not set | ||
247 | # CONFIG_EIGER is not set | ||
248 | # CONFIG_YOSEMITE is not set | ||
249 | CONFIG_ISS4xx=y | ||
250 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | ||
251 | # CONFIG_PPC44x_SIMPLE is not set | ||
252 | # CONFIG_PPC4xx_GPIO is not set | ||
253 | # CONFIG_IPIC is not set | ||
254 | CONFIG_MPIC=y | ||
255 | # CONFIG_MPIC_WEIRD is not set | ||
256 | # CONFIG_PPC_I8259 is not set | ||
257 | # CONFIG_PPC_RTAS is not set | ||
258 | # CONFIG_MMIO_NVRAM is not set | ||
259 | # CONFIG_PPC_MPC106 is not set | ||
260 | # CONFIG_PPC_970_NAP is not set | ||
261 | # CONFIG_PPC_INDIRECT_IO is not set | ||
262 | # CONFIG_GENERIC_IOMAP is not set | ||
263 | # CONFIG_CPU_FREQ is not set | ||
264 | # CONFIG_FSL_ULI1575 is not set | ||
265 | CONFIG_OF_RTC=y | ||
266 | # CONFIG_SIMPLE_GPIO is not set | ||
267 | |||
268 | # | ||
269 | # Kernel options | ||
270 | # | ||
271 | # CONFIG_HIGHMEM is not set | ||
272 | # CONFIG_NO_HZ is not set | ||
273 | # CONFIG_HIGH_RES_TIMERS is not set | ||
274 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
275 | CONFIG_HZ_100=y | ||
276 | # CONFIG_HZ_250 is not set | ||
277 | # CONFIG_HZ_300 is not set | ||
278 | # CONFIG_HZ_1000 is not set | ||
279 | CONFIG_HZ=100 | ||
280 | # CONFIG_SCHED_HRTICK is not set | ||
281 | CONFIG_PREEMPT_NONE=y | ||
282 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
283 | # CONFIG_PREEMPT is not set | ||
284 | CONFIG_BINFMT_ELF=y | ||
285 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
286 | # CONFIG_HAVE_AOUT is not set | ||
287 | # CONFIG_BINFMT_MISC is not set | ||
288 | CONFIG_MATH_EMULATION=y | ||
289 | # CONFIG_IOMMU_HELPER is not set | ||
290 | # CONFIG_SWIOTLB is not set | ||
291 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
292 | CONFIG_ARCH_HAS_WALK_MEMORY=y | ||
293 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
294 | CONFIG_IRQ_ALL_CPUS=y | ||
295 | CONFIG_SPARSE_IRQ=y | ||
296 | CONFIG_MAX_ACTIVE_REGIONS=32 | ||
297 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
298 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
299 | CONFIG_SELECT_MEMORY_MODEL=y | ||
300 | CONFIG_FLATMEM_MANUAL=y | ||
301 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
302 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
303 | CONFIG_FLATMEM=y | ||
304 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
305 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
306 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
307 | CONFIG_MIGRATION=y | ||
308 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
309 | CONFIG_ZONE_DMA_FLAG=1 | ||
310 | CONFIG_BOUNCE=y | ||
311 | CONFIG_VIRT_TO_BUS=y | ||
312 | # CONFIG_KSM is not set | ||
313 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
314 | CONFIG_STDBINUTILS=y | ||
315 | CONFIG_PPC_4K_PAGES=y | ||
316 | # CONFIG_PPC_16K_PAGES is not set | ||
317 | # CONFIG_PPC_64K_PAGES is not set | ||
318 | # CONFIG_PPC_256K_PAGES is not set | ||
319 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
320 | CONFIG_PROC_DEVICETREE=y | ||
321 | CONFIG_CMDLINE_BOOL=y | ||
322 | CONFIG_CMDLINE="root=/dev/issblk0" | ||
323 | CONFIG_EXTRA_TARGETS="" | ||
324 | CONFIG_SECCOMP=y | ||
325 | CONFIG_ISA_DMA_API=y | ||
326 | |||
327 | # | ||
328 | # Bus options | ||
329 | # | ||
330 | CONFIG_ZONE_DMA=y | ||
331 | CONFIG_4xx_SOC=y | ||
332 | CONFIG_PPC_PCI_CHOICE=y | ||
333 | # CONFIG_PCI is not set | ||
334 | # CONFIG_PCI_DOMAINS is not set | ||
335 | # CONFIG_PCI_SYSCALL is not set | ||
336 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
337 | # CONFIG_PCCARD is not set | ||
338 | # CONFIG_HAS_RAPIDIO is not set | ||
339 | |||
340 | # | ||
341 | # Advanced setup | ||
342 | # | ||
343 | # CONFIG_ADVANCED_OPTIONS is not set | ||
344 | |||
345 | # | ||
346 | # Default settings for advanced configuration options are used | ||
347 | # | ||
348 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
349 | CONFIG_PAGE_OFFSET=0xc0000000 | ||
350 | CONFIG_KERNEL_START=0xc0000000 | ||
351 | CONFIG_PHYSICAL_START=0x00000000 | ||
352 | CONFIG_TASK_SIZE=0xc0000000 | ||
353 | CONFIG_NET=y | ||
354 | |||
355 | # | ||
356 | # Networking options | ||
357 | # | ||
358 | CONFIG_PACKET=y | ||
359 | # CONFIG_PACKET_MMAP is not set | ||
360 | CONFIG_UNIX=y | ||
361 | # CONFIG_NET_KEY is not set | ||
362 | CONFIG_INET=y | ||
363 | # CONFIG_IP_MULTICAST is not set | ||
364 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
365 | CONFIG_IP_FIB_HASH=y | ||
366 | CONFIG_IP_PNP=y | ||
367 | CONFIG_IP_PNP_DHCP=y | ||
368 | CONFIG_IP_PNP_BOOTP=y | ||
369 | # CONFIG_IP_PNP_RARP is not set | ||
370 | # CONFIG_NET_IPIP is not set | ||
371 | # CONFIG_NET_IPGRE is not set | ||
372 | # CONFIG_ARPD is not set | ||
373 | # CONFIG_SYN_COOKIES is not set | ||
374 | # CONFIG_INET_AH is not set | ||
375 | # CONFIG_INET_ESP is not set | ||
376 | # CONFIG_INET_IPCOMP is not set | ||
377 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
378 | # CONFIG_INET_TUNNEL is not set | ||
379 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
380 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
381 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
382 | # CONFIG_INET_LRO is not set | ||
383 | CONFIG_INET_DIAG=y | ||
384 | CONFIG_INET_TCP_DIAG=y | ||
385 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
386 | CONFIG_TCP_CONG_CUBIC=y | ||
387 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
388 | # CONFIG_TCP_MD5SIG is not set | ||
389 | # CONFIG_IPV6 is not set | ||
390 | # CONFIG_NETWORK_SECMARK is not set | ||
391 | # CONFIG_NETFILTER is not set | ||
392 | # CONFIG_IP_DCCP is not set | ||
393 | # CONFIG_IP_SCTP is not set | ||
394 | # CONFIG_RDS is not set | ||
395 | # CONFIG_TIPC is not set | ||
396 | # CONFIG_ATM is not set | ||
397 | # CONFIG_BRIDGE is not set | ||
398 | # CONFIG_NET_DSA is not set | ||
399 | # CONFIG_VLAN_8021Q is not set | ||
400 | # CONFIG_DECNET is not set | ||
401 | # CONFIG_LLC2 is not set | ||
402 | # CONFIG_IPX is not set | ||
403 | # CONFIG_ATALK is not set | ||
404 | # CONFIG_X25 is not set | ||
405 | # CONFIG_LAPB is not set | ||
406 | # CONFIG_ECONET is not set | ||
407 | # CONFIG_WAN_ROUTER is not set | ||
408 | # CONFIG_PHONET is not set | ||
409 | # CONFIG_IEEE802154 is not set | ||
410 | # CONFIG_NET_SCHED is not set | ||
411 | # CONFIG_DCB is not set | ||
412 | |||
413 | # | ||
414 | # Network testing | ||
415 | # | ||
416 | # CONFIG_NET_PKTGEN is not set | ||
417 | # CONFIG_NET_DROP_MONITOR is not set | ||
418 | # CONFIG_HAMRADIO is not set | ||
419 | # CONFIG_CAN is not set | ||
420 | # CONFIG_IRDA is not set | ||
421 | # CONFIG_BT is not set | ||
422 | # CONFIG_AF_RXRPC is not set | ||
423 | CONFIG_WIRELESS=y | ||
424 | # CONFIG_CFG80211 is not set | ||
425 | # CONFIG_LIB80211 is not set | ||
426 | |||
427 | # | ||
428 | # CFG80211 needs to be enabled for MAC80211 | ||
429 | # | ||
430 | # CONFIG_WIMAX is not set | ||
431 | # CONFIG_RFKILL is not set | ||
432 | # CONFIG_NET_9P is not set | ||
433 | |||
434 | # | ||
435 | # Device Drivers | ||
436 | # | ||
437 | |||
438 | # | ||
439 | # Generic Driver Options | ||
440 | # | ||
441 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
442 | # CONFIG_DEVTMPFS is not set | ||
443 | CONFIG_STANDALONE=y | ||
444 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
445 | CONFIG_FW_LOADER=y | ||
446 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
447 | CONFIG_EXTRA_FIRMWARE="" | ||
448 | # CONFIG_DEBUG_DRIVER is not set | ||
449 | # CONFIG_DEBUG_DEVRES is not set | ||
450 | # CONFIG_SYS_HYPERVISOR is not set | ||
451 | CONFIG_CONNECTOR=y | ||
452 | CONFIG_PROC_EVENTS=y | ||
453 | CONFIG_MTD=y | ||
454 | # CONFIG_MTD_DEBUG is not set | ||
455 | # CONFIG_MTD_TESTS is not set | ||
456 | # CONFIG_MTD_CONCAT is not set | ||
457 | CONFIG_MTD_PARTITIONS=y | ||
458 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
459 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
460 | CONFIG_MTD_OF_PARTS=y | ||
461 | # CONFIG_MTD_AR7_PARTS is not set | ||
462 | |||
463 | # | ||
464 | # User Modules And Translation Layers | ||
465 | # | ||
466 | CONFIG_MTD_CHAR=y | ||
467 | CONFIG_MTD_BLKDEVS=y | ||
468 | CONFIG_MTD_BLOCK=y | ||
469 | # CONFIG_FTL is not set | ||
470 | # CONFIG_NFTL is not set | ||
471 | # CONFIG_INFTL is not set | ||
472 | # CONFIG_RFD_FTL is not set | ||
473 | # CONFIG_SSFDC is not set | ||
474 | # CONFIG_MTD_OOPS is not set | ||
475 | |||
476 | # | ||
477 | # RAM/ROM/Flash chip drivers | ||
478 | # | ||
479 | # CONFIG_MTD_CFI is not set | ||
480 | CONFIG_MTD_JEDECPROBE=y | ||
481 | CONFIG_MTD_GEN_PROBE=y | ||
482 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
483 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
484 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
485 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
486 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
487 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
488 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
489 | CONFIG_MTD_CFI_I1=y | ||
490 | CONFIG_MTD_CFI_I2=y | ||
491 | # CONFIG_MTD_CFI_I4 is not set | ||
492 | # CONFIG_MTD_CFI_I8 is not set | ||
493 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
494 | CONFIG_MTD_CFI_AMDSTD=y | ||
495 | # CONFIG_MTD_CFI_STAA is not set | ||
496 | CONFIG_MTD_CFI_UTIL=y | ||
497 | # CONFIG_MTD_RAM is not set | ||
498 | # CONFIG_MTD_ROM is not set | ||
499 | # CONFIG_MTD_ABSENT is not set | ||
500 | |||
501 | # | ||
502 | # Mapping drivers for chip access | ||
503 | # | ||
504 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
505 | # CONFIG_MTD_PHYSMAP is not set | ||
506 | CONFIG_MTD_PHYSMAP_OF=y | ||
507 | # CONFIG_MTD_PLATRAM is not set | ||
508 | |||
509 | # | ||
510 | # Self-contained MTD device drivers | ||
511 | # | ||
512 | # CONFIG_MTD_SLRAM is not set | ||
513 | # CONFIG_MTD_PHRAM is not set | ||
514 | # CONFIG_MTD_MTDRAM is not set | ||
515 | # CONFIG_MTD_BLOCK2MTD is not set | ||
516 | |||
517 | # | ||
518 | # Disk-On-Chip Device Drivers | ||
519 | # | ||
520 | # CONFIG_MTD_DOC2000 is not set | ||
521 | # CONFIG_MTD_DOC2001 is not set | ||
522 | # CONFIG_MTD_DOC2001PLUS is not set | ||
523 | # CONFIG_MTD_NAND is not set | ||
524 | # CONFIG_MTD_ONENAND is not set | ||
525 | |||
526 | # | ||
527 | # LPDDR flash memory drivers | ||
528 | # | ||
529 | # CONFIG_MTD_LPDDR is not set | ||
530 | |||
531 | # | ||
532 | # UBI - Unsorted block images | ||
533 | # | ||
534 | # CONFIG_MTD_UBI is not set | ||
535 | CONFIG_OF_DEVICE=y | ||
536 | # CONFIG_PARPORT is not set | ||
537 | CONFIG_BLK_DEV=y | ||
538 | # CONFIG_BLK_DEV_FD is not set | ||
539 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
540 | # CONFIG_BLK_DEV_LOOP is not set | ||
541 | # CONFIG_BLK_DEV_DRBD is not set | ||
542 | # CONFIG_BLK_DEV_NBD is not set | ||
543 | CONFIG_BLK_DEV_RAM=y | ||
544 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
545 | CONFIG_BLK_DEV_RAM_SIZE=35000 | ||
546 | # CONFIG_BLK_DEV_XIP is not set | ||
547 | # CONFIG_CDROM_PKTCDVD is not set | ||
548 | # CONFIG_ATA_OVER_ETH is not set | ||
549 | # CONFIG_XILINX_SYSACE is not set | ||
550 | # CONFIG_BLK_DEV_HD is not set | ||
551 | CONFIG_MISC_DEVICES=y | ||
552 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
553 | # CONFIG_C2PORT is not set | ||
554 | |||
555 | # | ||
556 | # EEPROM support | ||
557 | # | ||
558 | # CONFIG_EEPROM_93CX6 is not set | ||
559 | CONFIG_HAVE_IDE=y | ||
560 | # CONFIG_IDE is not set | ||
561 | |||
562 | # | ||
563 | # SCSI device support | ||
564 | # | ||
565 | # CONFIG_RAID_ATTRS is not set | ||
566 | # CONFIG_SCSI is not set | ||
567 | # CONFIG_SCSI_DMA is not set | ||
568 | # CONFIG_SCSI_NETLINK is not set | ||
569 | # CONFIG_ATA is not set | ||
570 | # CONFIG_MD is not set | ||
571 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
572 | # CONFIG_NETDEVICES is not set | ||
573 | # CONFIG_ISDN is not set | ||
574 | # CONFIG_PHONE is not set | ||
575 | |||
576 | # | ||
577 | # Input device support | ||
578 | # | ||
579 | # CONFIG_INPUT is not set | ||
580 | |||
581 | # | ||
582 | # Hardware I/O ports | ||
583 | # | ||
584 | # CONFIG_SERIO is not set | ||
585 | # CONFIG_GAMEPORT is not set | ||
586 | |||
587 | # | ||
588 | # Character devices | ||
589 | # | ||
590 | # CONFIG_VT is not set | ||
591 | CONFIG_DEVKMEM=y | ||
592 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
593 | |||
594 | # | ||
595 | # Serial drivers | ||
596 | # | ||
597 | CONFIG_SERIAL_8250=y | ||
598 | CONFIG_SERIAL_8250_CONSOLE=y | ||
599 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
600 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
601 | CONFIG_SERIAL_8250_EXTENDED=y | ||
602 | # CONFIG_SERIAL_8250_MANY_PORTS is not set | ||
603 | CONFIG_SERIAL_8250_SHARE_IRQ=y | ||
604 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set | ||
605 | # CONFIG_SERIAL_8250_RSA is not set | ||
606 | |||
607 | # | ||
608 | # Non-8250 serial port support | ||
609 | # | ||
610 | # CONFIG_SERIAL_UARTLITE is not set | ||
611 | CONFIG_SERIAL_CORE=y | ||
612 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
613 | CONFIG_SERIAL_OF_PLATFORM=y | ||
614 | # CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set | ||
615 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | ||
616 | CONFIG_UNIX98_PTYS=y | ||
617 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
618 | CONFIG_LEGACY_PTYS=y | ||
619 | CONFIG_LEGACY_PTY_COUNT=256 | ||
620 | # CONFIG_HVC_UDBG is not set | ||
621 | # CONFIG_IPMI_HANDLER is not set | ||
622 | # CONFIG_HW_RANDOM is not set | ||
623 | # CONFIG_NVRAM is not set | ||
624 | # CONFIG_GEN_RTC is not set | ||
625 | # CONFIG_R3964 is not set | ||
626 | # CONFIG_RAW_DRIVER is not set | ||
627 | # CONFIG_TCG_TPM is not set | ||
628 | # CONFIG_I2C is not set | ||
629 | # CONFIG_SPI is not set | ||
630 | |||
631 | # | ||
632 | # PPS support | ||
633 | # | ||
634 | # CONFIG_PPS is not set | ||
635 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
636 | # CONFIG_GPIOLIB is not set | ||
637 | # CONFIG_W1 is not set | ||
638 | # CONFIG_POWER_SUPPLY is not set | ||
639 | # CONFIG_HWMON is not set | ||
640 | CONFIG_THERMAL=y | ||
641 | # CONFIG_WATCHDOG is not set | ||
642 | CONFIG_SSB_POSSIBLE=y | ||
643 | |||
644 | # | ||
645 | # Sonics Silicon Backplane | ||
646 | # | ||
647 | # CONFIG_SSB is not set | ||
648 | |||
649 | # | ||
650 | # Multifunction device drivers | ||
651 | # | ||
652 | # CONFIG_MFD_CORE is not set | ||
653 | # CONFIG_MFD_SM501 is not set | ||
654 | # CONFIG_HTC_PASIC3 is not set | ||
655 | # CONFIG_MFD_TMIO is not set | ||
656 | # CONFIG_REGULATOR is not set | ||
657 | # CONFIG_MEDIA_SUPPORT is not set | ||
658 | |||
659 | # | ||
660 | # Graphics support | ||
661 | # | ||
662 | # CONFIG_VGASTATE is not set | ||
663 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
664 | # CONFIG_FB is not set | ||
665 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
666 | |||
667 | # | ||
668 | # Display device support | ||
669 | # | ||
670 | # CONFIG_DISPLAY_SUPPORT is not set | ||
671 | # CONFIG_SOUND is not set | ||
672 | # CONFIG_USB_SUPPORT is not set | ||
673 | # CONFIG_MMC is not set | ||
674 | # CONFIG_MEMSTICK is not set | ||
675 | # CONFIG_NEW_LEDS is not set | ||
676 | # CONFIG_ACCESSIBILITY is not set | ||
677 | # CONFIG_EDAC is not set | ||
678 | # CONFIG_RTC_CLASS is not set | ||
679 | # CONFIG_DMADEVICES is not set | ||
680 | # CONFIG_AUXDISPLAY is not set | ||
681 | # CONFIG_UIO is not set | ||
682 | |||
683 | # | ||
684 | # TI VLYNQ | ||
685 | # | ||
686 | # CONFIG_STAGING is not set | ||
687 | |||
688 | # | ||
689 | # File systems | ||
690 | # | ||
691 | CONFIG_EXT2_FS=y | ||
692 | # CONFIG_EXT2_FS_XATTR is not set | ||
693 | # CONFIG_EXT2_FS_XIP is not set | ||
694 | CONFIG_EXT3_FS=y | ||
695 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
696 | CONFIG_EXT3_FS_XATTR=y | ||
697 | CONFIG_EXT3_FS_POSIX_ACL=y | ||
698 | CONFIG_EXT3_FS_SECURITY=y | ||
699 | # CONFIG_EXT4_FS is not set | ||
700 | CONFIG_JBD=y | ||
701 | # CONFIG_JBD_DEBUG is not set | ||
702 | CONFIG_FS_MBCACHE=y | ||
703 | # CONFIG_REISERFS_FS is not set | ||
704 | # CONFIG_JFS_FS is not set | ||
705 | CONFIG_FS_POSIX_ACL=y | ||
706 | # CONFIG_XFS_FS is not set | ||
707 | # CONFIG_GFS2_FS is not set | ||
708 | # CONFIG_OCFS2_FS is not set | ||
709 | # CONFIG_BTRFS_FS is not set | ||
710 | # CONFIG_NILFS2_FS is not set | ||
711 | CONFIG_FILE_LOCKING=y | ||
712 | CONFIG_FSNOTIFY=y | ||
713 | CONFIG_DNOTIFY=y | ||
714 | CONFIG_INOTIFY=y | ||
715 | CONFIG_INOTIFY_USER=y | ||
716 | # CONFIG_QUOTA is not set | ||
717 | # CONFIG_AUTOFS_FS is not set | ||
718 | # CONFIG_AUTOFS4_FS is not set | ||
719 | # CONFIG_FUSE_FS is not set | ||
720 | |||
721 | # | ||
722 | # Caches | ||
723 | # | ||
724 | # CONFIG_FSCACHE is not set | ||
725 | |||
726 | # | ||
727 | # CD-ROM/DVD Filesystems | ||
728 | # | ||
729 | # CONFIG_ISO9660_FS is not set | ||
730 | # CONFIG_UDF_FS is not set | ||
731 | |||
732 | # | ||
733 | # DOS/FAT/NT Filesystems | ||
734 | # | ||
735 | # CONFIG_MSDOS_FS is not set | ||
736 | # CONFIG_VFAT_FS is not set | ||
737 | # CONFIG_NTFS_FS is not set | ||
738 | |||
739 | # | ||
740 | # Pseudo filesystems | ||
741 | # | ||
742 | CONFIG_PROC_FS=y | ||
743 | CONFIG_PROC_KCORE=y | ||
744 | CONFIG_PROC_SYSCTL=y | ||
745 | CONFIG_PROC_PAGE_MONITOR=y | ||
746 | CONFIG_SYSFS=y | ||
747 | CONFIG_TMPFS=y | ||
748 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
749 | # CONFIG_HUGETLB_PAGE is not set | ||
750 | # CONFIG_CONFIGFS_FS is not set | ||
751 | CONFIG_MISC_FILESYSTEMS=y | ||
752 | # CONFIG_ADFS_FS is not set | ||
753 | # CONFIG_AFFS_FS is not set | ||
754 | # CONFIG_HFS_FS is not set | ||
755 | # CONFIG_HFSPLUS_FS is not set | ||
756 | # CONFIG_BEFS_FS is not set | ||
757 | # CONFIG_BFS_FS is not set | ||
758 | # CONFIG_EFS_FS is not set | ||
759 | # CONFIG_JFFS2_FS is not set | ||
760 | CONFIG_CRAMFS=y | ||
761 | # CONFIG_SQUASHFS is not set | ||
762 | # CONFIG_VXFS_FS is not set | ||
763 | # CONFIG_MINIX_FS is not set | ||
764 | # CONFIG_OMFS_FS is not set | ||
765 | # CONFIG_HPFS_FS is not set | ||
766 | # CONFIG_QNX4FS_FS is not set | ||
767 | # CONFIG_ROMFS_FS is not set | ||
768 | # CONFIG_SYSV_FS is not set | ||
769 | # CONFIG_UFS_FS is not set | ||
770 | # CONFIG_NETWORK_FILESYSTEMS is not set | ||
771 | |||
772 | # | ||
773 | # Partition Types | ||
774 | # | ||
775 | # CONFIG_PARTITION_ADVANCED is not set | ||
776 | CONFIG_MSDOS_PARTITION=y | ||
777 | # CONFIG_NLS is not set | ||
778 | # CONFIG_DLM is not set | ||
779 | CONFIG_BINARY_PRINTF=y | ||
780 | |||
781 | # | ||
782 | # Library routines | ||
783 | # | ||
784 | CONFIG_BITREVERSE=y | ||
785 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
786 | # CONFIG_CRC_CCITT is not set | ||
787 | # CONFIG_CRC16 is not set | ||
788 | # CONFIG_CRC_T10DIF is not set | ||
789 | # CONFIG_CRC_ITU_T is not set | ||
790 | CONFIG_CRC32=y | ||
791 | # CONFIG_CRC7 is not set | ||
792 | # CONFIG_LIBCRC32C is not set | ||
793 | CONFIG_ZLIB_INFLATE=y | ||
794 | CONFIG_DECOMPRESS_GZIP=y | ||
795 | CONFIG_HAS_IOMEM=y | ||
796 | CONFIG_HAS_IOPORT=y | ||
797 | CONFIG_HAS_DMA=y | ||
798 | CONFIG_HAVE_LMB=y | ||
799 | CONFIG_NLATTR=y | ||
800 | CONFIG_GENERIC_ATOMIC64=y | ||
801 | |||
802 | # | ||
803 | # Kernel hacking | ||
804 | # | ||
805 | # CONFIG_PRINTK_TIME is not set | ||
806 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
807 | CONFIG_ENABLE_MUST_CHECK=y | ||
808 | CONFIG_FRAME_WARN=1024 | ||
809 | CONFIG_MAGIC_SYSRQ=y | ||
810 | # CONFIG_STRIP_ASM_SYMS is not set | ||
811 | # CONFIG_UNUSED_SYMBOLS is not set | ||
812 | CONFIG_DEBUG_FS=y | ||
813 | # CONFIG_HEADERS_CHECK is not set | ||
814 | CONFIG_DEBUG_KERNEL=y | ||
815 | # CONFIG_DEBUG_SHIRQ is not set | ||
816 | CONFIG_DETECT_SOFTLOCKUP=y | ||
817 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
818 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
819 | CONFIG_DETECT_HUNG_TASK=y | ||
820 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
821 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
822 | CONFIG_SCHED_DEBUG=y | ||
823 | # CONFIG_SCHEDSTATS is not set | ||
824 | # CONFIG_TIMER_STATS is not set | ||
825 | # CONFIG_DEBUG_OBJECTS is not set | ||
826 | # CONFIG_SLUB_DEBUG_ON is not set | ||
827 | # CONFIG_SLUB_STATS is not set | ||
828 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
829 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
830 | # CONFIG_RT_MUTEX_TESTER is not set | ||
831 | # CONFIG_DEBUG_SPINLOCK is not set | ||
832 | # CONFIG_DEBUG_MUTEXES is not set | ||
833 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
834 | # CONFIG_PROVE_LOCKING is not set | ||
835 | # CONFIG_LOCK_STAT is not set | ||
836 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
837 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
838 | CONFIG_STACKTRACE=y | ||
839 | # CONFIG_DEBUG_KOBJECT is not set | ||
840 | CONFIG_DEBUG_BUGVERBOSE=y | ||
841 | CONFIG_DEBUG_INFO=y | ||
842 | # CONFIG_DEBUG_VM is not set | ||
843 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
844 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
845 | # CONFIG_DEBUG_LIST is not set | ||
846 | # CONFIG_DEBUG_SG is not set | ||
847 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
848 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
849 | # CONFIG_RCU_TORTURE_TEST is not set | ||
850 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
851 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
852 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
853 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
854 | # CONFIG_FAULT_INJECTION is not set | ||
855 | # CONFIG_LATENCYTOP is not set | ||
856 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
857 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
858 | CONFIG_NOP_TRACER=y | ||
859 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
860 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
861 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
862 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
863 | CONFIG_RING_BUFFER=y | ||
864 | CONFIG_EVENT_TRACING=y | ||
865 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
866 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
867 | CONFIG_TRACING=y | ||
868 | CONFIG_TRACING_SUPPORT=y | ||
869 | CONFIG_FTRACE=y | ||
870 | # CONFIG_FUNCTION_TRACER is not set | ||
871 | # CONFIG_IRQSOFF_TRACER is not set | ||
872 | # CONFIG_SCHED_TRACER is not set | ||
873 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
874 | # CONFIG_BOOT_TRACER is not set | ||
875 | CONFIG_BRANCH_PROFILE_NONE=y | ||
876 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
877 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
878 | # CONFIG_STACK_TRACER is not set | ||
879 | # CONFIG_KMEMTRACE is not set | ||
880 | # CONFIG_WORKQUEUE_TRACER is not set | ||
881 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
882 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
883 | # CONFIG_DYNAMIC_DEBUG is not set | ||
884 | # CONFIG_DMA_API_DEBUG is not set | ||
885 | # CONFIG_SAMPLES is not set | ||
886 | CONFIG_HAVE_ARCH_KGDB=y | ||
887 | # CONFIG_KGDB is not set | ||
888 | # CONFIG_PPC_DISABLE_WERROR is not set | ||
889 | CONFIG_PPC_WERROR=y | ||
890 | CONFIG_PRINT_STACK_DEPTH=64 | ||
891 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
892 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
893 | # CONFIG_PPC_EMULATED_STATS is not set | ||
894 | # CONFIG_CODE_PATCHING_SELFTEST is not set | ||
895 | # CONFIG_FTR_FIXUP_SELFTEST is not set | ||
896 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
897 | # CONFIG_XMON is not set | ||
898 | # CONFIG_IRQSTACKS is not set | ||
899 | # CONFIG_VIRQ_DEBUG is not set | ||
900 | # CONFIG_BDI_SWITCH is not set | ||
901 | CONFIG_PPC_EARLY_DEBUG=y | ||
902 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | ||
903 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
904 | # CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL is not set | ||
905 | # CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set | ||
906 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
907 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
908 | # CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set | ||
909 | # CONFIG_PPC_EARLY_DEBUG_BEAT is not set | ||
910 | CONFIG_PPC_EARLY_DEBUG_44x=y | ||
911 | # CONFIG_PPC_EARLY_DEBUG_40x is not set | ||
912 | # CONFIG_PPC_EARLY_DEBUG_CPM is not set | ||
913 | # CONFIG_PPC_EARLY_DEBUG_USBGECKO is not set | ||
914 | CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0x40000200 | ||
915 | CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1 | ||
916 | |||
917 | # | ||
918 | # Security options | ||
919 | # | ||
920 | # CONFIG_KEYS is not set | ||
921 | # CONFIG_SECURITY is not set | ||
922 | # CONFIG_SECURITYFS is not set | ||
923 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
924 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
925 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
926 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
927 | CONFIG_DEFAULT_SECURITY="" | ||
928 | CONFIG_CRYPTO=y | ||
929 | |||
930 | # | ||
931 | # Crypto core or helper | ||
932 | # | ||
933 | CONFIG_CRYPTO_ALGAPI=y | ||
934 | CONFIG_CRYPTO_ALGAPI2=y | ||
935 | CONFIG_CRYPTO_AEAD2=y | ||
936 | CONFIG_CRYPTO_BLKCIPHER=y | ||
937 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
938 | CONFIG_CRYPTO_HASH=y | ||
939 | CONFIG_CRYPTO_HASH2=y | ||
940 | CONFIG_CRYPTO_RNG2=y | ||
941 | CONFIG_CRYPTO_PCOMP=y | ||
942 | CONFIG_CRYPTO_MANAGER=y | ||
943 | CONFIG_CRYPTO_MANAGER2=y | ||
944 | # CONFIG_CRYPTO_GF128MUL is not set | ||
945 | # CONFIG_CRYPTO_NULL is not set | ||
946 | CONFIG_CRYPTO_WORKQUEUE=y | ||
947 | # CONFIG_CRYPTO_CRYPTD is not set | ||
948 | # CONFIG_CRYPTO_AUTHENC is not set | ||
949 | # CONFIG_CRYPTO_TEST is not set | ||
950 | |||
951 | # | ||
952 | # Authenticated Encryption with Associated Data | ||
953 | # | ||
954 | # CONFIG_CRYPTO_CCM is not set | ||
955 | # CONFIG_CRYPTO_GCM is not set | ||
956 | # CONFIG_CRYPTO_SEQIV is not set | ||
957 | |||
958 | # | ||
959 | # Block modes | ||
960 | # | ||
961 | CONFIG_CRYPTO_CBC=y | ||
962 | # CONFIG_CRYPTO_CTR is not set | ||
963 | # CONFIG_CRYPTO_CTS is not set | ||
964 | CONFIG_CRYPTO_ECB=y | ||
965 | # CONFIG_CRYPTO_LRW is not set | ||
966 | CONFIG_CRYPTO_PCBC=y | ||
967 | # CONFIG_CRYPTO_XTS is not set | ||
968 | |||
969 | # | ||
970 | # Hash modes | ||
971 | # | ||
972 | # CONFIG_CRYPTO_HMAC is not set | ||
973 | # CONFIG_CRYPTO_XCBC is not set | ||
974 | # CONFIG_CRYPTO_VMAC is not set | ||
975 | |||
976 | # | ||
977 | # Digest | ||
978 | # | ||
979 | # CONFIG_CRYPTO_CRC32C is not set | ||
980 | # CONFIG_CRYPTO_GHASH is not set | ||
981 | # CONFIG_CRYPTO_MD4 is not set | ||
982 | CONFIG_CRYPTO_MD5=y | ||
983 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
984 | # CONFIG_CRYPTO_RMD128 is not set | ||
985 | # CONFIG_CRYPTO_RMD160 is not set | ||
986 | # CONFIG_CRYPTO_RMD256 is not set | ||
987 | # CONFIG_CRYPTO_RMD320 is not set | ||
988 | # CONFIG_CRYPTO_SHA1 is not set | ||
989 | # CONFIG_CRYPTO_SHA256 is not set | ||
990 | # CONFIG_CRYPTO_SHA512 is not set | ||
991 | # CONFIG_CRYPTO_TGR192 is not set | ||
992 | # CONFIG_CRYPTO_WP512 is not set | ||
993 | |||
994 | # | ||
995 | # Ciphers | ||
996 | # | ||
997 | # CONFIG_CRYPTO_AES is not set | ||
998 | # CONFIG_CRYPTO_ANUBIS is not set | ||
999 | # CONFIG_CRYPTO_ARC4 is not set | ||
1000 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1001 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1002 | # CONFIG_CRYPTO_CAST5 is not set | ||
1003 | # CONFIG_CRYPTO_CAST6 is not set | ||
1004 | CONFIG_CRYPTO_DES=y | ||
1005 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1006 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1007 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1008 | # CONFIG_CRYPTO_SEED is not set | ||
1009 | # CONFIG_CRYPTO_SERPENT is not set | ||
1010 | # CONFIG_CRYPTO_TEA is not set | ||
1011 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1012 | |||
1013 | # | ||
1014 | # Compression | ||
1015 | # | ||
1016 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1017 | # CONFIG_CRYPTO_ZLIB is not set | ||
1018 | # CONFIG_CRYPTO_LZO is not set | ||
1019 | |||
1020 | # | ||
1021 | # Random Number Generation | ||
1022 | # | ||
1023 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1024 | # CONFIG_CRYPTO_HW is not set | ||
1025 | # CONFIG_PPC_CLOCK is not set | ||
1026 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/powerpc/configs/44x/katmai_defconfig b/arch/powerpc/configs/44x/katmai_defconfig index af244e1d255e..a2c24d1e051e 100644 --- a/arch/powerpc/configs/44x/katmai_defconfig +++ b/arch/powerpc/configs/44x/katmai_defconfig | |||
@@ -97,8 +97,7 @@ CONFIG_RCU_FANOUT=32 | |||
97 | CONFIG_LOG_BUF_SHIFT=14 | 97 | CONFIG_LOG_BUF_SHIFT=14 |
98 | # CONFIG_GROUP_SCHED is not set | 98 | # CONFIG_GROUP_SCHED is not set |
99 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
100 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
101 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
102 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
103 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
104 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/rainier_defconfig b/arch/powerpc/configs/44x/rainier_defconfig index 8fed3b26af2e..3bb55b57077e 100644 --- a/arch/powerpc/configs/44x/rainier_defconfig +++ b/arch/powerpc/configs/44x/rainier_defconfig | |||
@@ -101,8 +101,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
101 | CONFIG_USER_SCHED=y | 101 | CONFIG_USER_SCHED=y |
102 | # CONFIG_CGROUP_SCHED is not set | 102 | # CONFIG_CGROUP_SCHED is not set |
103 | # CONFIG_CGROUPS is not set | 103 | # CONFIG_CGROUPS is not set |
104 | CONFIG_SYSFS_DEPRECATED=y | 104 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
105 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
106 | # CONFIG_RELAY is not set | 105 | # CONFIG_RELAY is not set |
107 | # CONFIG_NAMESPACES is not set | 106 | # CONFIG_NAMESPACES is not set |
108 | CONFIG_BLK_DEV_INITRD=y | 107 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/redwood_defconfig b/arch/powerpc/configs/44x/redwood_defconfig index a67ec91a28c3..684f40dc8a41 100644 --- a/arch/powerpc/configs/44x/redwood_defconfig +++ b/arch/powerpc/configs/44x/redwood_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_RCU_FANOUT=32 | |||
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | # CONFIG_GROUP_SCHED is not set | 99 | # CONFIG_GROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/sam440ep_defconfig b/arch/powerpc/configs/44x/sam440ep_defconfig index 886cb6aa6432..e202924e6173 100644 --- a/arch/powerpc/configs/44x/sam440ep_defconfig +++ b/arch/powerpc/configs/44x/sam440ep_defconfig | |||
@@ -103,8 +103,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
103 | CONFIG_USER_SCHED=y | 103 | CONFIG_USER_SCHED=y |
104 | # CONFIG_CGROUP_SCHED is not set | 104 | # CONFIG_CGROUP_SCHED is not set |
105 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
106 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
107 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
108 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
109 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
110 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/sequoia_defconfig b/arch/powerpc/configs/44x/sequoia_defconfig index 1b2f41dbcafb..c348a4662a9e 100644 --- a/arch/powerpc/configs/44x/sequoia_defconfig +++ b/arch/powerpc/configs/44x/sequoia_defconfig | |||
@@ -102,8 +102,7 @@ CONFIG_GROUP_SCHED=y | |||
102 | CONFIG_USER_SCHED=y | 102 | CONFIG_USER_SCHED=y |
103 | # CONFIG_CGROUP_SCHED is not set | 103 | # CONFIG_CGROUP_SCHED is not set |
104 | # CONFIG_CGROUPS is not set | 104 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 105 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 106 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 107 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 108 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/taishan_defconfig b/arch/powerpc/configs/44x/taishan_defconfig index 12041d355b8c..f4cb7e84cb83 100644 --- a/arch/powerpc/configs/44x/taishan_defconfig +++ b/arch/powerpc/configs/44x/taishan_defconfig | |||
@@ -101,8 +101,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
101 | CONFIG_USER_SCHED=y | 101 | CONFIG_USER_SCHED=y |
102 | # CONFIG_CGROUP_SCHED is not set | 102 | # CONFIG_CGROUP_SCHED is not set |
103 | # CONFIG_CGROUPS is not set | 103 | # CONFIG_CGROUPS is not set |
104 | CONFIG_SYSFS_DEPRECATED=y | 104 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
105 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
106 | # CONFIG_RELAY is not set | 105 | # CONFIG_RELAY is not set |
107 | # CONFIG_NAMESPACES is not set | 106 | # CONFIG_NAMESPACES is not set |
108 | CONFIG_BLK_DEV_INITRD=y | 107 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/44x/virtex5_defconfig b/arch/powerpc/configs/44x/virtex5_defconfig index 2518b8568c70..c7ead0ec00bc 100644 --- a/arch/powerpc/configs/44x/virtex5_defconfig +++ b/arch/powerpc/configs/44x/virtex5_defconfig | |||
@@ -80,8 +80,7 @@ CONFIG_IKCONFIG_PROC=y | |||
80 | CONFIG_LOG_BUF_SHIFT=14 | 80 | CONFIG_LOG_BUF_SHIFT=14 |
81 | # CONFIG_GROUP_SCHED is not set | 81 | # CONFIG_GROUP_SCHED is not set |
82 | # CONFIG_CGROUPS is not set | 82 | # CONFIG_CGROUPS is not set |
83 | CONFIG_SYSFS_DEPRECATED=y | 83 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
84 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
85 | # CONFIG_RELAY is not set | 84 | # CONFIG_RELAY is not set |
86 | CONFIG_NAMESPACES=y | 85 | CONFIG_NAMESPACES=y |
87 | # CONFIG_UTS_NS is not set | 86 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/52xx/cm5200_defconfig b/arch/powerpc/configs/52xx/cm5200_defconfig index 218d49b36a0c..7664c83c17c2 100644 --- a/arch/powerpc/configs/52xx/cm5200_defconfig +++ b/arch/powerpc/configs/52xx/cm5200_defconfig | |||
@@ -95,8 +95,7 @@ CONFIG_RCU_FANOUT=32 | |||
95 | # CONFIG_IKCONFIG is not set | 95 | # CONFIG_IKCONFIG is not set |
96 | CONFIG_LOG_BUF_SHIFT=14 | 96 | CONFIG_LOG_BUF_SHIFT=14 |
97 | # CONFIG_CGROUPS is not set | 97 | # CONFIG_CGROUPS is not set |
98 | CONFIG_SYSFS_DEPRECATED=y | 98 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
99 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
100 | # CONFIG_RELAY is not set | 99 | # CONFIG_RELAY is not set |
101 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
102 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/52xx/lite5200b_defconfig b/arch/powerpc/configs/52xx/lite5200b_defconfig index 90492ff25232..eac7c17eef34 100644 --- a/arch/powerpc/configs/52xx/lite5200b_defconfig +++ b/arch/powerpc/configs/52xx/lite5200b_defconfig | |||
@@ -96,8 +96,7 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_IKCONFIG is not set | 96 | # CONFIG_IKCONFIG is not set |
97 | CONFIG_LOG_BUF_SHIFT=14 | 97 | CONFIG_LOG_BUF_SHIFT=14 |
98 | # CONFIG_CGROUPS is not set | 98 | # CONFIG_CGROUPS is not set |
99 | CONFIG_SYSFS_DEPRECATED=y | 99 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
100 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
101 | # CONFIG_RELAY is not set | 100 | # CONFIG_RELAY is not set |
102 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
103 | CONFIG_BLK_DEV_INITRD=y | 102 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/52xx/motionpro_defconfig b/arch/powerpc/configs/52xx/motionpro_defconfig index dffc8cac825f..27afb6ecdf61 100644 --- a/arch/powerpc/configs/52xx/motionpro_defconfig +++ b/arch/powerpc/configs/52xx/motionpro_defconfig | |||
@@ -95,8 +95,7 @@ CONFIG_RCU_FANOUT=32 | |||
95 | # CONFIG_IKCONFIG is not set | 95 | # CONFIG_IKCONFIG is not set |
96 | CONFIG_LOG_BUF_SHIFT=14 | 96 | CONFIG_LOG_BUF_SHIFT=14 |
97 | # CONFIG_CGROUPS is not set | 97 | # CONFIG_CGROUPS is not set |
98 | CONFIG_SYSFS_DEPRECATED=y | 98 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
99 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
100 | # CONFIG_RELAY is not set | 99 | # CONFIG_RELAY is not set |
101 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
102 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/52xx/pcm030_defconfig b/arch/powerpc/configs/52xx/pcm030_defconfig index 3cb2a522046a..5fe39ddb4e14 100644 --- a/arch/powerpc/configs/52xx/pcm030_defconfig +++ b/arch/powerpc/configs/52xx/pcm030_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_IKCONFIG=y | |||
98 | CONFIG_IKCONFIG_PROC=y | 98 | CONFIG_IKCONFIG_PROC=y |
99 | CONFIG_LOG_BUF_SHIFT=14 | 99 | CONFIG_LOG_BUF_SHIFT=14 |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
105 | # CONFIG_BLK_DEV_INITRD is not set | 104 | # CONFIG_BLK_DEV_INITRD is not set |
diff --git a/arch/powerpc/configs/52xx/tqm5200_defconfig b/arch/powerpc/configs/52xx/tqm5200_defconfig index 96181c62abfa..a108b84c0074 100644 --- a/arch/powerpc/configs/52xx/tqm5200_defconfig +++ b/arch/powerpc/configs/52xx/tqm5200_defconfig | |||
@@ -95,8 +95,7 @@ CONFIG_RCU_FANOUT=32 | |||
95 | # CONFIG_IKCONFIG is not set | 95 | # CONFIG_IKCONFIG is not set |
96 | CONFIG_LOG_BUF_SHIFT=14 | 96 | CONFIG_LOG_BUF_SHIFT=14 |
97 | # CONFIG_CGROUPS is not set | 97 | # CONFIG_CGROUPS is not set |
98 | CONFIG_SYSFS_DEPRECATED=y | 98 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
99 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
100 | # CONFIG_RELAY is not set | 99 | # CONFIG_RELAY is not set |
101 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
102 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig index baa2bbb6c096..04f16268e1c3 100644 --- a/arch/powerpc/configs/83xx/asp8347_defconfig +++ b/arch/powerpc/configs/83xx/asp8347_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:14 2010 | 4 | # Mon Apr 19 23:16:38 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -97,14 +97,8 @@ CONFIG_RCU_FANOUT=32 | |||
97 | # CONFIG_TREE_RCU_TRACE is not set | 97 | # CONFIG_TREE_RCU_TRACE is not set |
98 | # CONFIG_IKCONFIG is not set | 98 | # CONFIG_IKCONFIG is not set |
99 | CONFIG_LOG_BUF_SHIFT=14 | 99 | CONFIG_LOG_BUF_SHIFT=14 |
100 | CONFIG_GROUP_SCHED=y | ||
101 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
102 | # CONFIG_RT_GROUP_SCHED is not set | ||
103 | CONFIG_USER_SCHED=y | ||
104 | # CONFIG_CGROUP_SCHED is not set | ||
105 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
106 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
107 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
108 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
109 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
110 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
@@ -112,6 +106,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
112 | CONFIG_RD_GZIP=y | 106 | CONFIG_RD_GZIP=y |
113 | # CONFIG_RD_BZIP2 is not set | 107 | # CONFIG_RD_BZIP2 is not set |
114 | # CONFIG_RD_LZMA is not set | 108 | # CONFIG_RD_LZMA is not set |
109 | # CONFIG_RD_LZO is not set | ||
115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 110 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
116 | CONFIG_SYSCTL=y | 111 | CONFIG_SYSCTL=y |
117 | CONFIG_ANON_INODES=y | 112 | CONFIG_ANON_INODES=y |
@@ -124,7 +119,7 @@ CONFIG_BUG=y | |||
124 | CONFIG_ELF_CORE=y | 119 | CONFIG_ELF_CORE=y |
125 | CONFIG_BASE_FULL=y | 120 | CONFIG_BASE_FULL=y |
126 | CONFIG_FUTEX=y | 121 | CONFIG_FUTEX=y |
127 | # CONFIG_EPOLL is not set | 122 | CONFIG_EPOLL=y |
128 | CONFIG_SIGNALFD=y | 123 | CONFIG_SIGNALFD=y |
129 | CONFIG_TIMERFD=y | 124 | CONFIG_TIMERFD=y |
130 | CONFIG_EVENTFD=y | 125 | CONFIG_EVENTFD=y |
@@ -325,6 +320,7 @@ CONFIG_ISA_DMA_API=y | |||
325 | # Bus options | 320 | # Bus options |
326 | # | 321 | # |
327 | CONFIG_ZONE_DMA=y | 322 | CONFIG_ZONE_DMA=y |
323 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
328 | CONFIG_GENERIC_ISA_DMA=y | 324 | CONFIG_GENERIC_ISA_DMA=y |
329 | CONFIG_PPC_INDIRECT_PCI=y | 325 | CONFIG_PPC_INDIRECT_PCI=y |
330 | CONFIG_FSL_SOC=y | 326 | CONFIG_FSL_SOC=y |
@@ -336,7 +332,6 @@ CONFIG_PCI_SYSCALL=y | |||
336 | # CONFIG_PCIEPORTBUS is not set | 332 | # CONFIG_PCIEPORTBUS is not set |
337 | CONFIG_ARCH_SUPPORTS_MSI=y | 333 | CONFIG_ARCH_SUPPORTS_MSI=y |
338 | # CONFIG_PCI_MSI is not set | 334 | # CONFIG_PCI_MSI is not set |
339 | # CONFIG_PCI_LEGACY is not set | ||
340 | # CONFIG_PCI_STUB is not set | 335 | # CONFIG_PCI_STUB is not set |
341 | # CONFIG_PCI_IOV is not set | 336 | # CONFIG_PCI_IOV is not set |
342 | # CONFIG_PCCARD is not set | 337 | # CONFIG_PCCARD is not set |
@@ -362,7 +357,6 @@ CONFIG_NET=y | |||
362 | # Networking options | 357 | # Networking options |
363 | # | 358 | # |
364 | CONFIG_PACKET=y | 359 | CONFIG_PACKET=y |
365 | # CONFIG_PACKET_MMAP is not set | ||
366 | CONFIG_UNIX=y | 360 | CONFIG_UNIX=y |
367 | CONFIG_XFRM=y | 361 | CONFIG_XFRM=y |
368 | CONFIG_XFRM_USER=m | 362 | CONFIG_XFRM_USER=m |
@@ -543,6 +537,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
543 | # UBI - Unsorted block images | 537 | # UBI - Unsorted block images |
544 | # | 538 | # |
545 | # CONFIG_MTD_UBI is not set | 539 | # CONFIG_MTD_UBI is not set |
540 | CONFIG_OF_FLATTREE=y | ||
541 | CONFIG_OF_DYNAMIC=y | ||
546 | CONFIG_OF_DEVICE=y | 542 | CONFIG_OF_DEVICE=y |
547 | CONFIG_OF_I2C=y | 543 | CONFIG_OF_I2C=y |
548 | CONFIG_OF_MDIO=y | 544 | CONFIG_OF_MDIO=y |
@@ -579,6 +575,7 @@ CONFIG_MISC_DEVICES=y | |||
579 | # CONFIG_ENCLOSURE_SERVICES is not set | 575 | # CONFIG_ENCLOSURE_SERVICES is not set |
580 | # CONFIG_HP_ILO is not set | 576 | # CONFIG_HP_ILO is not set |
581 | # CONFIG_ISL29003 is not set | 577 | # CONFIG_ISL29003 is not set |
578 | # CONFIG_SENSORS_TSL2550 is not set | ||
582 | # CONFIG_DS1682 is not set | 579 | # CONFIG_DS1682 is not set |
583 | # CONFIG_C2PORT is not set | 580 | # CONFIG_C2PORT is not set |
584 | 581 | ||
@@ -596,6 +593,7 @@ CONFIG_HAVE_IDE=y | |||
596 | # | 593 | # |
597 | # SCSI device support | 594 | # SCSI device support |
598 | # | 595 | # |
596 | CONFIG_SCSI_MOD=y | ||
599 | # CONFIG_RAID_ATTRS is not set | 597 | # CONFIG_RAID_ATTRS is not set |
600 | # CONFIG_SCSI is not set | 598 | # CONFIG_SCSI is not set |
601 | # CONFIG_SCSI_DMA is not set | 599 | # CONFIG_SCSI_DMA is not set |
@@ -788,6 +786,7 @@ CONFIG_SERIAL_CORE=y | |||
788 | CONFIG_SERIAL_CORE_CONSOLE=y | 786 | CONFIG_SERIAL_CORE_CONSOLE=y |
789 | # CONFIG_SERIAL_JSM is not set | 787 | # CONFIG_SERIAL_JSM is not set |
790 | # CONFIG_SERIAL_OF_PLATFORM is not set | 788 | # CONFIG_SERIAL_OF_PLATFORM is not set |
789 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
791 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 790 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
792 | CONFIG_UNIX98_PTYS=y | 791 | CONFIG_UNIX98_PTYS=y |
793 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 792 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -836,6 +835,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
836 | CONFIG_I2C_MPC=y | 835 | CONFIG_I2C_MPC=y |
837 | # CONFIG_I2C_OCORES is not set | 836 | # CONFIG_I2C_OCORES is not set |
838 | # CONFIG_I2C_SIMTEC is not set | 837 | # CONFIG_I2C_SIMTEC is not set |
838 | # CONFIG_I2C_XILINX is not set | ||
839 | 839 | ||
840 | # | 840 | # |
841 | # External I2C/SMBus adapter drivers | 841 | # External I2C/SMBus adapter drivers |
@@ -849,15 +849,9 @@ CONFIG_I2C_MPC=y | |||
849 | # | 849 | # |
850 | # CONFIG_I2C_PCA_PLATFORM is not set | 850 | # CONFIG_I2C_PCA_PLATFORM is not set |
851 | # CONFIG_I2C_STUB is not set | 851 | # CONFIG_I2C_STUB is not set |
852 | |||
853 | # | ||
854 | # Miscellaneous I2C Chip support | ||
855 | # | ||
856 | # CONFIG_SENSORS_TSL2550 is not set | ||
857 | # CONFIG_I2C_DEBUG_CORE is not set | 852 | # CONFIG_I2C_DEBUG_CORE is not set |
858 | # CONFIG_I2C_DEBUG_ALGO is not set | 853 | # CONFIG_I2C_DEBUG_ALGO is not set |
859 | # CONFIG_I2C_DEBUG_BUS is not set | 854 | # CONFIG_I2C_DEBUG_BUS is not set |
860 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
861 | # CONFIG_SPI is not set | 855 | # CONFIG_SPI is not set |
862 | 856 | ||
863 | # | 857 | # |
@@ -883,10 +877,11 @@ CONFIG_HWMON=y | |||
883 | # CONFIG_SENSORS_ADM1029 is not set | 877 | # CONFIG_SENSORS_ADM1029 is not set |
884 | # CONFIG_SENSORS_ADM1031 is not set | 878 | # CONFIG_SENSORS_ADM1031 is not set |
885 | # CONFIG_SENSORS_ADM9240 is not set | 879 | # CONFIG_SENSORS_ADM9240 is not set |
880 | # CONFIG_SENSORS_ADT7411 is not set | ||
886 | # CONFIG_SENSORS_ADT7462 is not set | 881 | # CONFIG_SENSORS_ADT7462 is not set |
887 | # CONFIG_SENSORS_ADT7470 is not set | 882 | # CONFIG_SENSORS_ADT7470 is not set |
888 | # CONFIG_SENSORS_ADT7473 is not set | ||
889 | # CONFIG_SENSORS_ADT7475 is not set | 883 | # CONFIG_SENSORS_ADT7475 is not set |
884 | # CONFIG_SENSORS_ASC7621 is not set | ||
890 | # CONFIG_SENSORS_ATXP1 is not set | 885 | # CONFIG_SENSORS_ATXP1 is not set |
891 | # CONFIG_SENSORS_DS1621 is not set | 886 | # CONFIG_SENSORS_DS1621 is not set |
892 | # CONFIG_SENSORS_I5K_AMB is not set | 887 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -923,6 +918,7 @@ CONFIG_HWMON=y | |||
923 | # CONFIG_SENSORS_SMSC47M192 is not set | 918 | # CONFIG_SENSORS_SMSC47M192 is not set |
924 | # CONFIG_SENSORS_SMSC47B397 is not set | 919 | # CONFIG_SENSORS_SMSC47B397 is not set |
925 | # CONFIG_SENSORS_ADS7828 is not set | 920 | # CONFIG_SENSORS_ADS7828 is not set |
921 | # CONFIG_SENSORS_AMC6821 is not set | ||
926 | # CONFIG_SENSORS_THMC50 is not set | 922 | # CONFIG_SENSORS_THMC50 is not set |
927 | # CONFIG_SENSORS_TMP401 is not set | 923 | # CONFIG_SENSORS_TMP401 is not set |
928 | # CONFIG_SENSORS_TMP421 is not set | 924 | # CONFIG_SENSORS_TMP421 is not set |
@@ -971,18 +967,21 @@ CONFIG_SSB_POSSIBLE=y | |||
971 | # Multifunction device drivers | 967 | # Multifunction device drivers |
972 | # | 968 | # |
973 | # CONFIG_MFD_CORE is not set | 969 | # CONFIG_MFD_CORE is not set |
970 | # CONFIG_MFD_88PM860X is not set | ||
974 | # CONFIG_MFD_SM501 is not set | 971 | # CONFIG_MFD_SM501 is not set |
975 | # CONFIG_HTC_PASIC3 is not set | 972 | # CONFIG_HTC_PASIC3 is not set |
976 | # CONFIG_TWL4030_CORE is not set | 973 | # CONFIG_TWL4030_CORE is not set |
977 | # CONFIG_MFD_TMIO is not set | 974 | # CONFIG_MFD_TMIO is not set |
978 | # CONFIG_PMIC_DA903X is not set | 975 | # CONFIG_PMIC_DA903X is not set |
979 | # CONFIG_PMIC_ADP5520 is not set | 976 | # CONFIG_PMIC_ADP5520 is not set |
977 | # CONFIG_MFD_MAX8925 is not set | ||
980 | # CONFIG_MFD_WM8400 is not set | 978 | # CONFIG_MFD_WM8400 is not set |
981 | # CONFIG_MFD_WM831X is not set | 979 | # CONFIG_MFD_WM831X is not set |
982 | # CONFIG_MFD_WM8350_I2C is not set | 980 | # CONFIG_MFD_WM8350_I2C is not set |
981 | # CONFIG_MFD_WM8994 is not set | ||
983 | # CONFIG_MFD_PCF50633 is not set | 982 | # CONFIG_MFD_PCF50633 is not set |
984 | # CONFIG_AB3100_CORE is not set | 983 | # CONFIG_AB3100_CORE is not set |
985 | # CONFIG_MFD_88PM8607 is not set | 984 | # CONFIG_LPC_SCH is not set |
986 | # CONFIG_REGULATOR is not set | 985 | # CONFIG_REGULATOR is not set |
987 | # CONFIG_MEDIA_SUPPORT is not set | 986 | # CONFIG_MEDIA_SUPPORT is not set |
988 | 987 | ||
@@ -991,6 +990,7 @@ CONFIG_SSB_POSSIBLE=y | |||
991 | # | 990 | # |
992 | # CONFIG_AGP is not set | 991 | # CONFIG_AGP is not set |
993 | CONFIG_VGA_ARB=y | 992 | CONFIG_VGA_ARB=y |
993 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
994 | # CONFIG_DRM is not set | 994 | # CONFIG_DRM is not set |
995 | # CONFIG_VGASTATE is not set | 995 | # CONFIG_VGASTATE is not set |
996 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 996 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1083,7 +1083,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1083 | # CONFIG_USB_RIO500 is not set | 1083 | # CONFIG_USB_RIO500 is not set |
1084 | # CONFIG_USB_LEGOTOWER is not set | 1084 | # CONFIG_USB_LEGOTOWER is not set |
1085 | # CONFIG_USB_LCD is not set | 1085 | # CONFIG_USB_LCD is not set |
1086 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1087 | # CONFIG_USB_LED is not set | 1086 | # CONFIG_USB_LED is not set |
1088 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1087 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1089 | # CONFIG_USB_CYTHERM is not set | 1088 | # CONFIG_USB_CYTHERM is not set |
@@ -1096,7 +1095,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1096 | # CONFIG_USB_IOWARRIOR is not set | 1095 | # CONFIG_USB_IOWARRIOR is not set |
1097 | # CONFIG_USB_TEST is not set | 1096 | # CONFIG_USB_TEST is not set |
1098 | # CONFIG_USB_ISIGHTFW is not set | 1097 | # CONFIG_USB_ISIGHTFW is not set |
1099 | # CONFIG_USB_VST is not set | ||
1100 | # CONFIG_USB_GADGET is not set | 1098 | # CONFIG_USB_GADGET is not set |
1101 | 1099 | ||
1102 | # | 1100 | # |
@@ -1259,6 +1257,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1259 | # CONFIG_JFFS2_LZO is not set | 1257 | # CONFIG_JFFS2_LZO is not set |
1260 | CONFIG_JFFS2_RTIME=y | 1258 | CONFIG_JFFS2_RTIME=y |
1261 | # CONFIG_JFFS2_RUBIN is not set | 1259 | # CONFIG_JFFS2_RUBIN is not set |
1260 | # CONFIG_LOGFS is not set | ||
1262 | # CONFIG_CRAMFS is not set | 1261 | # CONFIG_CRAMFS is not set |
1263 | # CONFIG_SQUASHFS is not set | 1262 | # CONFIG_SQUASHFS is not set |
1264 | # CONFIG_VXFS_FS is not set | 1263 | # CONFIG_VXFS_FS is not set |
@@ -1285,6 +1284,7 @@ CONFIG_SUNRPC_GSS=y | |||
1285 | CONFIG_RPCSEC_GSS_KRB5=y | 1284 | CONFIG_RPCSEC_GSS_KRB5=y |
1286 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1285 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1287 | # CONFIG_SMB_FS is not set | 1286 | # CONFIG_SMB_FS is not set |
1287 | # CONFIG_CEPH_FS is not set | ||
1288 | # CONFIG_CIFS is not set | 1288 | # CONFIG_CIFS is not set |
1289 | # CONFIG_NCP_FS is not set | 1289 | # CONFIG_NCP_FS is not set |
1290 | # CONFIG_CODA_FS is not set | 1290 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/kmeter1_defconfig b/arch/powerpc/configs/83xx/kmeter1_defconfig index 8b1aa806e548..1843ee11823b 100644 --- a/arch/powerpc/configs/83xx/kmeter1_defconfig +++ b/arch/powerpc/configs/83xx/kmeter1_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:14 2010 | 4 | # Mon Apr 19 23:16:39 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -98,7 +98,6 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 98 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 99 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=14 | 100 | CONFIG_LOG_BUF_SHIFT=14 |
101 | # CONFIG_GROUP_SCHED is not set | ||
102 | # CONFIG_CGROUPS is not set | 101 | # CONFIG_CGROUPS is not set |
103 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 102 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
104 | # CONFIG_RELAY is not set | 103 | # CONFIG_RELAY is not set |
@@ -318,6 +317,7 @@ CONFIG_ISA_DMA_API=y | |||
318 | # Bus options | 317 | # Bus options |
319 | # | 318 | # |
320 | CONFIG_ZONE_DMA=y | 319 | CONFIG_ZONE_DMA=y |
320 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
321 | CONFIG_GENERIC_ISA_DMA=y | 321 | CONFIG_GENERIC_ISA_DMA=y |
322 | CONFIG_FSL_SOC=y | 322 | CONFIG_FSL_SOC=y |
323 | CONFIG_PPC_PCI_CHOICE=y | 323 | CONFIG_PPC_PCI_CHOICE=y |
@@ -346,7 +346,6 @@ CONFIG_NET=y | |||
346 | # Networking options | 346 | # Networking options |
347 | # | 347 | # |
348 | CONFIG_PACKET=y | 348 | CONFIG_PACKET=y |
349 | # CONFIG_PACKET_MMAP is not set | ||
350 | CONFIG_UNIX=y | 349 | CONFIG_UNIX=y |
351 | # CONFIG_NET_KEY is not set | 350 | # CONFIG_NET_KEY is not set |
352 | CONFIG_INET=y | 351 | CONFIG_INET=y |
@@ -387,6 +386,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
387 | # CONFIG_ATM is not set | 386 | # CONFIG_ATM is not set |
388 | CONFIG_STP=m | 387 | CONFIG_STP=m |
389 | CONFIG_BRIDGE=m | 388 | CONFIG_BRIDGE=m |
389 | CONFIG_BRIDGE_IGMP_SNOOPING=y | ||
390 | # CONFIG_NET_DSA is not set | 390 | # CONFIG_NET_DSA is not set |
391 | CONFIG_VLAN_8021Q=y | 391 | CONFIG_VLAN_8021Q=y |
392 | # CONFIG_VLAN_8021Q_GVRP is not set | 392 | # CONFIG_VLAN_8021Q_GVRP is not set |
@@ -539,6 +539,8 @@ CONFIG_MTD_UBI_DEBUG=y | |||
539 | # CONFIG_MTD_UBI_DEBUG_MSG_EBA is not set | 539 | # CONFIG_MTD_UBI_DEBUG_MSG_EBA is not set |
540 | # CONFIG_MTD_UBI_DEBUG_MSG_WL is not set | 540 | # CONFIG_MTD_UBI_DEBUG_MSG_WL is not set |
541 | # CONFIG_MTD_UBI_DEBUG_MSG_IO is not set | 541 | # CONFIG_MTD_UBI_DEBUG_MSG_IO is not set |
542 | CONFIG_OF_FLATTREE=y | ||
543 | CONFIG_OF_DYNAMIC=y | ||
542 | CONFIG_OF_DEVICE=y | 544 | CONFIG_OF_DEVICE=y |
543 | CONFIG_OF_I2C=y | 545 | CONFIG_OF_I2C=y |
544 | CONFIG_OF_MDIO=y | 546 | CONFIG_OF_MDIO=y |
@@ -563,6 +565,7 @@ CONFIG_HAVE_IDE=y | |||
563 | # | 565 | # |
564 | # SCSI device support | 566 | # SCSI device support |
565 | # | 567 | # |
568 | CONFIG_SCSI_MOD=y | ||
566 | # CONFIG_RAID_ATTRS is not set | 569 | # CONFIG_RAID_ATTRS is not set |
567 | # CONFIG_SCSI is not set | 570 | # CONFIG_SCSI is not set |
568 | # CONFIG_SCSI_DMA is not set | 571 | # CONFIG_SCSI_DMA is not set |
@@ -690,6 +693,7 @@ CONFIG_SERIAL_CORE=y | |||
690 | CONFIG_SERIAL_CORE_CONSOLE=y | 693 | CONFIG_SERIAL_CORE_CONSOLE=y |
691 | # CONFIG_SERIAL_OF_PLATFORM is not set | 694 | # CONFIG_SERIAL_OF_PLATFORM is not set |
692 | # CONFIG_SERIAL_QE is not set | 695 | # CONFIG_SERIAL_QE is not set |
696 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
693 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 697 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
694 | CONFIG_UNIX98_PTYS=y | 698 | CONFIG_UNIX98_PTYS=y |
695 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 699 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -720,6 +724,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
720 | CONFIG_I2C_MPC=y | 724 | CONFIG_I2C_MPC=y |
721 | # CONFIG_I2C_OCORES is not set | 725 | # CONFIG_I2C_OCORES is not set |
722 | # CONFIG_I2C_SIMTEC is not set | 726 | # CONFIG_I2C_SIMTEC is not set |
727 | # CONFIG_I2C_XILINX is not set | ||
723 | 728 | ||
724 | # | 729 | # |
725 | # External I2C/SMBus adapter drivers | 730 | # External I2C/SMBus adapter drivers |
@@ -732,15 +737,9 @@ CONFIG_I2C_MPC=y | |||
732 | # | 737 | # |
733 | # CONFIG_I2C_PCA_PLATFORM is not set | 738 | # CONFIG_I2C_PCA_PLATFORM is not set |
734 | # CONFIG_I2C_STUB is not set | 739 | # CONFIG_I2C_STUB is not set |
735 | |||
736 | # | ||
737 | # Miscellaneous I2C Chip support | ||
738 | # | ||
739 | # CONFIG_SENSORS_TSL2550 is not set | ||
740 | # CONFIG_I2C_DEBUG_CORE is not set | 740 | # CONFIG_I2C_DEBUG_CORE is not set |
741 | # CONFIG_I2C_DEBUG_ALGO is not set | 741 | # CONFIG_I2C_DEBUG_ALGO is not set |
742 | # CONFIG_I2C_DEBUG_BUS is not set | 742 | # CONFIG_I2C_DEBUG_BUS is not set |
743 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
744 | # CONFIG_SPI is not set | 743 | # CONFIG_SPI is not set |
745 | 744 | ||
746 | # | 745 | # |
@@ -765,18 +764,20 @@ CONFIG_SSB_POSSIBLE=y | |||
765 | # Multifunction device drivers | 764 | # Multifunction device drivers |
766 | # | 765 | # |
767 | # CONFIG_MFD_CORE is not set | 766 | # CONFIG_MFD_CORE is not set |
767 | # CONFIG_MFD_88PM860X is not set | ||
768 | # CONFIG_MFD_SM501 is not set | 768 | # CONFIG_MFD_SM501 is not set |
769 | # CONFIG_HTC_PASIC3 is not set | 769 | # CONFIG_HTC_PASIC3 is not set |
770 | # CONFIG_TWL4030_CORE is not set | 770 | # CONFIG_TWL4030_CORE is not set |
771 | # CONFIG_MFD_TMIO is not set | 771 | # CONFIG_MFD_TMIO is not set |
772 | # CONFIG_PMIC_DA903X is not set | 772 | # CONFIG_PMIC_DA903X is not set |
773 | # CONFIG_PMIC_ADP5520 is not set | 773 | # CONFIG_PMIC_ADP5520 is not set |
774 | # CONFIG_MFD_MAX8925 is not set | ||
774 | # CONFIG_MFD_WM8400 is not set | 775 | # CONFIG_MFD_WM8400 is not set |
775 | # CONFIG_MFD_WM831X is not set | 776 | # CONFIG_MFD_WM831X is not set |
776 | # CONFIG_MFD_WM8350_I2C is not set | 777 | # CONFIG_MFD_WM8350_I2C is not set |
778 | # CONFIG_MFD_WM8994 is not set | ||
777 | # CONFIG_MFD_PCF50633 is not set | 779 | # CONFIG_MFD_PCF50633 is not set |
778 | # CONFIG_AB3100_CORE is not set | 780 | # CONFIG_AB3100_CORE is not set |
779 | # CONFIG_MFD_88PM8607 is not set | ||
780 | # CONFIG_REGULATOR is not set | 781 | # CONFIG_REGULATOR is not set |
781 | # CONFIG_MEDIA_SUPPORT is not set | 782 | # CONFIG_MEDIA_SUPPORT is not set |
782 | 783 | ||
@@ -805,8 +806,6 @@ CONFIG_SSB_POSSIBLE=y | |||
805 | CONFIG_UIO=y | 806 | CONFIG_UIO=y |
806 | # CONFIG_UIO_PDRV is not set | 807 | # CONFIG_UIO_PDRV is not set |
807 | # CONFIG_UIO_PDRV_GENIRQ is not set | 808 | # CONFIG_UIO_PDRV_GENIRQ is not set |
808 | # CONFIG_UIO_SMX is not set | ||
809 | # CONFIG_UIO_SERCOS3 is not set | ||
810 | 809 | ||
811 | # | 810 | # |
812 | # TI VLYNQ | 811 | # TI VLYNQ |
@@ -887,6 +886,7 @@ CONFIG_JFFS2_ZLIB=y | |||
887 | CONFIG_JFFS2_RTIME=y | 886 | CONFIG_JFFS2_RTIME=y |
888 | # CONFIG_JFFS2_RUBIN is not set | 887 | # CONFIG_JFFS2_RUBIN is not set |
889 | # CONFIG_UBIFS_FS is not set | 888 | # CONFIG_UBIFS_FS is not set |
889 | # CONFIG_LOGFS is not set | ||
890 | # CONFIG_CRAMFS is not set | 890 | # CONFIG_CRAMFS is not set |
891 | # CONFIG_SQUASHFS is not set | 891 | # CONFIG_SQUASHFS is not set |
892 | # CONFIG_VXFS_FS is not set | 892 | # CONFIG_VXFS_FS is not set |
@@ -911,6 +911,7 @@ CONFIG_SUNRPC=y | |||
911 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 911 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
912 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 912 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
913 | # CONFIG_SMB_FS is not set | 913 | # CONFIG_SMB_FS is not set |
914 | # CONFIG_CEPH_FS is not set | ||
914 | # CONFIG_CIFS is not set | 915 | # CONFIG_CIFS is not set |
915 | # CONFIG_NCP_FS is not set | 916 | # CONFIG_NCP_FS is not set |
916 | # CONFIG_CODA_FS is not set | 917 | # CONFIG_CODA_FS is not set |
@@ -976,6 +977,7 @@ CONFIG_DEBUG_FS=y | |||
976 | CONFIG_DEBUG_BUGVERBOSE=y | 977 | CONFIG_DEBUG_BUGVERBOSE=y |
977 | # CONFIG_DEBUG_MEMORY_INIT is not set | 978 | # CONFIG_DEBUG_MEMORY_INIT is not set |
978 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 979 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
980 | # CONFIG_LKDTM is not set | ||
979 | # CONFIG_LATENCYTOP is not set | 981 | # CONFIG_LATENCYTOP is not set |
980 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 982 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
981 | CONFIG_HAVE_FUNCTION_TRACER=y | 983 | CONFIG_HAVE_FUNCTION_TRACER=y |
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig index 2f2d98558e44..78ae3bf1e9c5 100644 --- a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:15 2010 | 4 | # Mon Apr 19 23:16:40 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 319 | # Bus options |
325 | # | 320 | # |
326 | CONFIG_ZONE_DMA=y | 321 | CONFIG_ZONE_DMA=y |
322 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_GENERIC_ISA_DMA=y | 323 | CONFIG_GENERIC_ISA_DMA=y |
328 | CONFIG_PPC_INDIRECT_PCI=y | 324 | CONFIG_PPC_INDIRECT_PCI=y |
329 | CONFIG_FSL_SOC=y | 325 | CONFIG_FSL_SOC=y |
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y | |||
335 | # CONFIG_PCIEPORTBUS is not set | 331 | # CONFIG_PCIEPORTBUS is not set |
336 | CONFIG_ARCH_SUPPORTS_MSI=y | 332 | CONFIG_ARCH_SUPPORTS_MSI=y |
337 | # CONFIG_PCI_MSI is not set | 333 | # CONFIG_PCI_MSI is not set |
338 | # CONFIG_PCI_LEGACY is not set | ||
339 | # CONFIG_PCI_DEBUG is not set | 334 | # CONFIG_PCI_DEBUG is not set |
340 | # CONFIG_PCI_STUB is not set | 335 | # CONFIG_PCI_STUB is not set |
341 | # CONFIG_PCI_IOV is not set | 336 | # CONFIG_PCI_IOV is not set |
@@ -362,7 +357,6 @@ CONFIG_NET=y | |||
362 | # Networking options | 357 | # Networking options |
363 | # | 358 | # |
364 | CONFIG_PACKET=y | 359 | CONFIG_PACKET=y |
365 | # CONFIG_PACKET_MMAP is not set | ||
366 | CONFIG_UNIX=y | 360 | CONFIG_UNIX=y |
367 | CONFIG_XFRM=y | 361 | CONFIG_XFRM=y |
368 | # CONFIG_XFRM_USER is not set | 362 | # CONFIG_XFRM_USER is not set |
@@ -556,6 +550,8 @@ CONFIG_MTD_NAND_FSL_ELBC=y | |||
556 | # UBI - Unsorted block images | 550 | # UBI - Unsorted block images |
557 | # | 551 | # |
558 | # CONFIG_MTD_UBI is not set | 552 | # CONFIG_MTD_UBI is not set |
553 | CONFIG_OF_FLATTREE=y | ||
554 | CONFIG_OF_DYNAMIC=y | ||
559 | CONFIG_OF_DEVICE=y | 555 | CONFIG_OF_DEVICE=y |
560 | CONFIG_OF_I2C=y | 556 | CONFIG_OF_I2C=y |
561 | CONFIG_OF_SPI=y | 557 | CONFIG_OF_SPI=y |
@@ -593,6 +589,7 @@ CONFIG_MISC_DEVICES=y | |||
593 | # CONFIG_ENCLOSURE_SERVICES is not set | 589 | # CONFIG_ENCLOSURE_SERVICES is not set |
594 | # CONFIG_HP_ILO is not set | 590 | # CONFIG_HP_ILO is not set |
595 | # CONFIG_ISL29003 is not set | 591 | # CONFIG_ISL29003 is not set |
592 | # CONFIG_SENSORS_TSL2550 is not set | ||
596 | # CONFIG_DS1682 is not set | 593 | # CONFIG_DS1682 is not set |
597 | # CONFIG_TI_DAC7512 is not set | 594 | # CONFIG_TI_DAC7512 is not set |
598 | # CONFIG_C2PORT is not set | 595 | # CONFIG_C2PORT is not set |
@@ -612,6 +609,7 @@ CONFIG_HAVE_IDE=y | |||
612 | # | 609 | # |
613 | # SCSI device support | 610 | # SCSI device support |
614 | # | 611 | # |
612 | CONFIG_SCSI_MOD=y | ||
615 | # CONFIG_RAID_ATTRS is not set | 613 | # CONFIG_RAID_ATTRS is not set |
616 | CONFIG_SCSI=y | 614 | CONFIG_SCSI=y |
617 | CONFIG_SCSI_DMA=y | 615 | CONFIG_SCSI_DMA=y |
@@ -772,6 +770,7 @@ CONFIG_NET_PCI=y | |||
772 | # CONFIG_PCNET32 is not set | 770 | # CONFIG_PCNET32 is not set |
773 | # CONFIG_AMD8111_ETH is not set | 771 | # CONFIG_AMD8111_ETH is not set |
774 | # CONFIG_ADAPTEC_STARFIRE is not set | 772 | # CONFIG_ADAPTEC_STARFIRE is not set |
773 | # CONFIG_KSZ884X_PCI is not set | ||
775 | # CONFIG_B44 is not set | 774 | # CONFIG_B44 is not set |
776 | # CONFIG_FORCEDETH is not set | 775 | # CONFIG_FORCEDETH is not set |
777 | CONFIG_E100=y | 776 | CONFIG_E100=y |
@@ -824,6 +823,8 @@ CONFIG_NETDEV_10000=y | |||
824 | # CONFIG_CHELSIO_T1 is not set | 823 | # CONFIG_CHELSIO_T1 is not set |
825 | CONFIG_CHELSIO_T3_DEPENDS=y | 824 | CONFIG_CHELSIO_T3_DEPENDS=y |
826 | # CONFIG_CHELSIO_T3 is not set | 825 | # CONFIG_CHELSIO_T3 is not set |
826 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
827 | # CONFIG_CHELSIO_T4 is not set | ||
827 | # CONFIG_ENIC is not set | 828 | # CONFIG_ENIC is not set |
828 | # CONFIG_IXGBE is not set | 829 | # CONFIG_IXGBE is not set |
829 | # CONFIG_IXGB is not set | 830 | # CONFIG_IXGB is not set |
@@ -836,6 +837,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
836 | # CONFIG_MLX4_CORE is not set | 837 | # CONFIG_MLX4_CORE is not set |
837 | # CONFIG_TEHUTI is not set | 838 | # CONFIG_TEHUTI is not set |
838 | # CONFIG_BNX2X is not set | 839 | # CONFIG_BNX2X is not set |
840 | # CONFIG_QLCNIC is not set | ||
839 | # CONFIG_QLGE is not set | 841 | # CONFIG_QLGE is not set |
840 | # CONFIG_SFC is not set | 842 | # CONFIG_SFC is not set |
841 | # CONFIG_BE2NET is not set | 843 | # CONFIG_BE2NET is not set |
@@ -931,6 +933,7 @@ CONFIG_SERIAL_CORE=y | |||
931 | CONFIG_SERIAL_CORE_CONSOLE=y | 933 | CONFIG_SERIAL_CORE_CONSOLE=y |
932 | # CONFIG_SERIAL_JSM is not set | 934 | # CONFIG_SERIAL_JSM is not set |
933 | # CONFIG_SERIAL_OF_PLATFORM is not set | 935 | # CONFIG_SERIAL_OF_PLATFORM is not set |
936 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
934 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 937 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
935 | CONFIG_UNIX98_PTYS=y | 938 | CONFIG_UNIX98_PTYS=y |
936 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 939 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -980,6 +983,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
980 | CONFIG_I2C_MPC=y | 983 | CONFIG_I2C_MPC=y |
981 | # CONFIG_I2C_OCORES is not set | 984 | # CONFIG_I2C_OCORES is not set |
982 | # CONFIG_I2C_SIMTEC is not set | 985 | # CONFIG_I2C_SIMTEC is not set |
986 | # CONFIG_I2C_XILINX is not set | ||
983 | 987 | ||
984 | # | 988 | # |
985 | # External I2C/SMBus adapter drivers | 989 | # External I2C/SMBus adapter drivers |
@@ -993,15 +997,9 @@ CONFIG_I2C_MPC=y | |||
993 | # | 997 | # |
994 | # CONFIG_I2C_PCA_PLATFORM is not set | 998 | # CONFIG_I2C_PCA_PLATFORM is not set |
995 | # CONFIG_I2C_STUB is not set | 999 | # CONFIG_I2C_STUB is not set |
996 | |||
997 | # | ||
998 | # Miscellaneous I2C Chip support | ||
999 | # | ||
1000 | # CONFIG_SENSORS_TSL2550 is not set | ||
1001 | # CONFIG_I2C_DEBUG_CORE is not set | 1000 | # CONFIG_I2C_DEBUG_CORE is not set |
1002 | # CONFIG_I2C_DEBUG_ALGO is not set | 1001 | # CONFIG_I2C_DEBUG_ALGO is not set |
1003 | # CONFIG_I2C_DEBUG_BUS is not set | 1002 | # CONFIG_I2C_DEBUG_BUS is not set |
1004 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1005 | CONFIG_SPI=y | 1003 | CONFIG_SPI=y |
1006 | # CONFIG_SPI_DEBUG is not set | 1004 | # CONFIG_SPI_DEBUG is not set |
1007 | CONFIG_SPI_MASTER=y | 1005 | CONFIG_SPI_MASTER=y |
@@ -1044,10 +1042,11 @@ CONFIG_HWMON=y | |||
1044 | # CONFIG_SENSORS_ADM1029 is not set | 1042 | # CONFIG_SENSORS_ADM1029 is not set |
1045 | # CONFIG_SENSORS_ADM1031 is not set | 1043 | # CONFIG_SENSORS_ADM1031 is not set |
1046 | # CONFIG_SENSORS_ADM9240 is not set | 1044 | # CONFIG_SENSORS_ADM9240 is not set |
1045 | # CONFIG_SENSORS_ADT7411 is not set | ||
1047 | # CONFIG_SENSORS_ADT7462 is not set | 1046 | # CONFIG_SENSORS_ADT7462 is not set |
1048 | # CONFIG_SENSORS_ADT7470 is not set | 1047 | # CONFIG_SENSORS_ADT7470 is not set |
1049 | # CONFIG_SENSORS_ADT7473 is not set | ||
1050 | # CONFIG_SENSORS_ADT7475 is not set | 1048 | # CONFIG_SENSORS_ADT7475 is not set |
1049 | # CONFIG_SENSORS_ASC7621 is not set | ||
1051 | # CONFIG_SENSORS_ATXP1 is not set | 1050 | # CONFIG_SENSORS_ATXP1 is not set |
1052 | # CONFIG_SENSORS_DS1621 is not set | 1051 | # CONFIG_SENSORS_DS1621 is not set |
1053 | # CONFIG_SENSORS_I5K_AMB is not set | 1052 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1086,6 +1085,7 @@ CONFIG_HWMON=y | |||
1086 | # CONFIG_SENSORS_SMSC47M192 is not set | 1085 | # CONFIG_SENSORS_SMSC47M192 is not set |
1087 | # CONFIG_SENSORS_SMSC47B397 is not set | 1086 | # CONFIG_SENSORS_SMSC47B397 is not set |
1088 | # CONFIG_SENSORS_ADS7828 is not set | 1087 | # CONFIG_SENSORS_ADS7828 is not set |
1088 | # CONFIG_SENSORS_AMC6821 is not set | ||
1089 | # CONFIG_SENSORS_THMC50 is not set | 1089 | # CONFIG_SENSORS_THMC50 is not set |
1090 | # CONFIG_SENSORS_TMP401 is not set | 1090 | # CONFIG_SENSORS_TMP401 is not set |
1091 | # CONFIG_SENSORS_TMP421 is not set | 1091 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1134,21 +1134,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1134 | # Multifunction device drivers | 1134 | # Multifunction device drivers |
1135 | # | 1135 | # |
1136 | # CONFIG_MFD_CORE is not set | 1136 | # CONFIG_MFD_CORE is not set |
1137 | # CONFIG_MFD_88PM860X is not set | ||
1137 | # CONFIG_MFD_SM501 is not set | 1138 | # CONFIG_MFD_SM501 is not set |
1138 | # CONFIG_HTC_PASIC3 is not set | 1139 | # CONFIG_HTC_PASIC3 is not set |
1139 | # CONFIG_TWL4030_CORE is not set | 1140 | # CONFIG_TWL4030_CORE is not set |
1140 | # CONFIG_MFD_TMIO is not set | 1141 | # CONFIG_MFD_TMIO is not set |
1141 | # CONFIG_PMIC_DA903X is not set | 1142 | # CONFIG_PMIC_DA903X is not set |
1142 | # CONFIG_PMIC_ADP5520 is not set | 1143 | # CONFIG_PMIC_ADP5520 is not set |
1144 | # CONFIG_MFD_MAX8925 is not set | ||
1143 | # CONFIG_MFD_WM8400 is not set | 1145 | # CONFIG_MFD_WM8400 is not set |
1144 | # CONFIG_MFD_WM831X is not set | 1146 | # CONFIG_MFD_WM831X is not set |
1145 | # CONFIG_MFD_WM8350_I2C is not set | 1147 | # CONFIG_MFD_WM8350_I2C is not set |
1148 | # CONFIG_MFD_WM8994 is not set | ||
1146 | # CONFIG_MFD_PCF50633 is not set | 1149 | # CONFIG_MFD_PCF50633 is not set |
1147 | # CONFIG_MFD_MC13783 is not set | 1150 | # CONFIG_MFD_MC13783 is not set |
1148 | # CONFIG_AB3100_CORE is not set | 1151 | # CONFIG_AB3100_CORE is not set |
1149 | # CONFIG_EZX_PCAP is not set | 1152 | # CONFIG_EZX_PCAP is not set |
1150 | # CONFIG_MFD_88PM8607 is not set | ||
1151 | # CONFIG_AB4500_CORE is not set | 1153 | # CONFIG_AB4500_CORE is not set |
1154 | # CONFIG_LPC_SCH is not set | ||
1152 | # CONFIG_REGULATOR is not set | 1155 | # CONFIG_REGULATOR is not set |
1153 | # CONFIG_MEDIA_SUPPORT is not set | 1156 | # CONFIG_MEDIA_SUPPORT is not set |
1154 | 1157 | ||
@@ -1157,6 +1160,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1157 | # | 1160 | # |
1158 | # CONFIG_AGP is not set | 1161 | # CONFIG_AGP is not set |
1159 | CONFIG_VGA_ARB=y | 1162 | CONFIG_VGA_ARB=y |
1163 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1160 | # CONFIG_DRM is not set | 1164 | # CONFIG_DRM is not set |
1161 | # CONFIG_VGASTATE is not set | 1165 | # CONFIG_VGASTATE is not set |
1162 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1166 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1289,7 +1293,6 @@ CONFIG_USB_STORAGE=y | |||
1289 | # CONFIG_USB_RIO500 is not set | 1293 | # CONFIG_USB_RIO500 is not set |
1290 | # CONFIG_USB_LEGOTOWER is not set | 1294 | # CONFIG_USB_LEGOTOWER is not set |
1291 | # CONFIG_USB_LCD is not set | 1295 | # CONFIG_USB_LCD is not set |
1292 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1293 | # CONFIG_USB_LED is not set | 1296 | # CONFIG_USB_LED is not set |
1294 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1297 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1295 | # CONFIG_USB_CYTHERM is not set | 1298 | # CONFIG_USB_CYTHERM is not set |
@@ -1302,7 +1305,6 @@ CONFIG_USB_STORAGE=y | |||
1302 | # CONFIG_USB_IOWARRIOR is not set | 1305 | # CONFIG_USB_IOWARRIOR is not set |
1303 | # CONFIG_USB_TEST is not set | 1306 | # CONFIG_USB_TEST is not set |
1304 | # CONFIG_USB_ISIGHTFW is not set | 1307 | # CONFIG_USB_ISIGHTFW is not set |
1305 | # CONFIG_USB_VST is not set | ||
1306 | CONFIG_USB_GADGET=y | 1308 | CONFIG_USB_GADGET=y |
1307 | # CONFIG_USB_GADGET_DEBUG is not set | 1309 | # CONFIG_USB_GADGET_DEBUG is not set |
1308 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 1310 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
@@ -1341,6 +1343,7 @@ CONFIG_USB_ETH_RNDIS=y | |||
1341 | # CONFIG_USB_MIDI_GADGET is not set | 1343 | # CONFIG_USB_MIDI_GADGET is not set |
1342 | # CONFIG_USB_G_PRINTER is not set | 1344 | # CONFIG_USB_G_PRINTER is not set |
1343 | # CONFIG_USB_CDC_COMPOSITE is not set | 1345 | # CONFIG_USB_CDC_COMPOSITE is not set |
1346 | # CONFIG_USB_G_NOKIA is not set | ||
1344 | # CONFIG_USB_G_MULTI is not set | 1347 | # CONFIG_USB_G_MULTI is not set |
1345 | 1348 | ||
1346 | # | 1349 | # |
@@ -1511,6 +1514,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1511 | # CONFIG_JFFS2_LZO is not set | 1514 | # CONFIG_JFFS2_LZO is not set |
1512 | CONFIG_JFFS2_RTIME=y | 1515 | CONFIG_JFFS2_RTIME=y |
1513 | # CONFIG_JFFS2_RUBIN is not set | 1516 | # CONFIG_JFFS2_RUBIN is not set |
1517 | # CONFIG_LOGFS is not set | ||
1514 | # CONFIG_CRAMFS is not set | 1518 | # CONFIG_CRAMFS is not set |
1515 | # CONFIG_SQUASHFS is not set | 1519 | # CONFIG_SQUASHFS is not set |
1516 | # CONFIG_VXFS_FS is not set | 1520 | # CONFIG_VXFS_FS is not set |
@@ -1537,6 +1541,7 @@ CONFIG_SUNRPC_GSS=y | |||
1537 | CONFIG_RPCSEC_GSS_KRB5=y | 1541 | CONFIG_RPCSEC_GSS_KRB5=y |
1538 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1542 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1539 | # CONFIG_SMB_FS is not set | 1543 | # CONFIG_SMB_FS is not set |
1544 | # CONFIG_CEPH_FS is not set | ||
1540 | # CONFIG_CIFS is not set | 1545 | # CONFIG_CIFS is not set |
1541 | # CONFIG_NCP_FS is not set | 1546 | # CONFIG_NCP_FS is not set |
1542 | # CONFIG_CODA_FS is not set | 1547 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig index 633e61194603..cccb71393aca 100644 --- a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:16 2010 | 4 | # Mon Apr 19 23:16:40 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 319 | # Bus options |
325 | # | 320 | # |
326 | CONFIG_ZONE_DMA=y | 321 | CONFIG_ZONE_DMA=y |
322 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_GENERIC_ISA_DMA=y | 323 | CONFIG_GENERIC_ISA_DMA=y |
328 | CONFIG_PPC_INDIRECT_PCI=y | 324 | CONFIG_PPC_INDIRECT_PCI=y |
329 | CONFIG_FSL_SOC=y | 325 | CONFIG_FSL_SOC=y |
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y | |||
335 | # CONFIG_PCIEPORTBUS is not set | 331 | # CONFIG_PCIEPORTBUS is not set |
336 | CONFIG_ARCH_SUPPORTS_MSI=y | 332 | CONFIG_ARCH_SUPPORTS_MSI=y |
337 | # CONFIG_PCI_MSI is not set | 333 | # CONFIG_PCI_MSI is not set |
338 | # CONFIG_PCI_LEGACY is not set | ||
339 | # CONFIG_PCI_DEBUG is not set | 334 | # CONFIG_PCI_DEBUG is not set |
340 | # CONFIG_PCI_STUB is not set | 335 | # CONFIG_PCI_STUB is not set |
341 | # CONFIG_PCI_IOV is not set | 336 | # CONFIG_PCI_IOV is not set |
@@ -362,7 +357,6 @@ CONFIG_NET=y | |||
362 | # Networking options | 357 | # Networking options |
363 | # | 358 | # |
364 | CONFIG_PACKET=y | 359 | CONFIG_PACKET=y |
365 | # CONFIG_PACKET_MMAP is not set | ||
366 | CONFIG_UNIX=y | 360 | CONFIG_UNIX=y |
367 | CONFIG_XFRM=y | 361 | CONFIG_XFRM=y |
368 | # CONFIG_XFRM_USER is not set | 362 | # CONFIG_XFRM_USER is not set |
@@ -556,6 +550,8 @@ CONFIG_MTD_NAND_IDS=y | |||
556 | # UBI - Unsorted block images | 550 | # UBI - Unsorted block images |
557 | # | 551 | # |
558 | # CONFIG_MTD_UBI is not set | 552 | # CONFIG_MTD_UBI is not set |
553 | CONFIG_OF_FLATTREE=y | ||
554 | CONFIG_OF_DYNAMIC=y | ||
559 | CONFIG_OF_DEVICE=y | 555 | CONFIG_OF_DEVICE=y |
560 | CONFIG_OF_I2C=y | 556 | CONFIG_OF_I2C=y |
561 | CONFIG_OF_SPI=y | 557 | CONFIG_OF_SPI=y |
@@ -593,6 +589,7 @@ CONFIG_MISC_DEVICES=y | |||
593 | # CONFIG_ENCLOSURE_SERVICES is not set | 589 | # CONFIG_ENCLOSURE_SERVICES is not set |
594 | # CONFIG_HP_ILO is not set | 590 | # CONFIG_HP_ILO is not set |
595 | # CONFIG_ISL29003 is not set | 591 | # CONFIG_ISL29003 is not set |
592 | # CONFIG_SENSORS_TSL2550 is not set | ||
596 | # CONFIG_DS1682 is not set | 593 | # CONFIG_DS1682 is not set |
597 | # CONFIG_TI_DAC7512 is not set | 594 | # CONFIG_TI_DAC7512 is not set |
598 | # CONFIG_C2PORT is not set | 595 | # CONFIG_C2PORT is not set |
@@ -612,6 +609,7 @@ CONFIG_HAVE_IDE=y | |||
612 | # | 609 | # |
613 | # SCSI device support | 610 | # SCSI device support |
614 | # | 611 | # |
612 | CONFIG_SCSI_MOD=y | ||
615 | # CONFIG_RAID_ATTRS is not set | 613 | # CONFIG_RAID_ATTRS is not set |
616 | CONFIG_SCSI=y | 614 | CONFIG_SCSI=y |
617 | CONFIG_SCSI_DMA=y | 615 | CONFIG_SCSI_DMA=y |
@@ -735,6 +733,7 @@ CONFIG_ATA_SFF=y | |||
735 | # CONFIG_PATA_IT821X is not set | 733 | # CONFIG_PATA_IT821X is not set |
736 | # CONFIG_PATA_IT8213 is not set | 734 | # CONFIG_PATA_IT8213 is not set |
737 | # CONFIG_PATA_JMICRON is not set | 735 | # CONFIG_PATA_JMICRON is not set |
736 | # CONFIG_PATA_LEGACY is not set | ||
738 | # CONFIG_PATA_TRIFLEX is not set | 737 | # CONFIG_PATA_TRIFLEX is not set |
739 | # CONFIG_PATA_MARVELL is not set | 738 | # CONFIG_PATA_MARVELL is not set |
740 | # CONFIG_PATA_MPIIX is not set | 739 | # CONFIG_PATA_MPIIX is not set |
@@ -837,6 +836,7 @@ CONFIG_NET_PCI=y | |||
837 | # CONFIG_PCNET32 is not set | 836 | # CONFIG_PCNET32 is not set |
838 | # CONFIG_AMD8111_ETH is not set | 837 | # CONFIG_AMD8111_ETH is not set |
839 | # CONFIG_ADAPTEC_STARFIRE is not set | 838 | # CONFIG_ADAPTEC_STARFIRE is not set |
839 | # CONFIG_KSZ884X_PCI is not set | ||
840 | # CONFIG_B44 is not set | 840 | # CONFIG_B44 is not set |
841 | # CONFIG_FORCEDETH is not set | 841 | # CONFIG_FORCEDETH is not set |
842 | CONFIG_E100=y | 842 | CONFIG_E100=y |
@@ -889,6 +889,8 @@ CONFIG_NETDEV_10000=y | |||
889 | # CONFIG_CHELSIO_T1 is not set | 889 | # CONFIG_CHELSIO_T1 is not set |
890 | CONFIG_CHELSIO_T3_DEPENDS=y | 890 | CONFIG_CHELSIO_T3_DEPENDS=y |
891 | # CONFIG_CHELSIO_T3 is not set | 891 | # CONFIG_CHELSIO_T3 is not set |
892 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
893 | # CONFIG_CHELSIO_T4 is not set | ||
892 | # CONFIG_ENIC is not set | 894 | # CONFIG_ENIC is not set |
893 | # CONFIG_IXGBE is not set | 895 | # CONFIG_IXGBE is not set |
894 | # CONFIG_IXGB is not set | 896 | # CONFIG_IXGB is not set |
@@ -901,6 +903,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
901 | # CONFIG_MLX4_CORE is not set | 903 | # CONFIG_MLX4_CORE is not set |
902 | # CONFIG_TEHUTI is not set | 904 | # CONFIG_TEHUTI is not set |
903 | # CONFIG_BNX2X is not set | 905 | # CONFIG_BNX2X is not set |
906 | # CONFIG_QLCNIC is not set | ||
904 | # CONFIG_QLGE is not set | 907 | # CONFIG_QLGE is not set |
905 | # CONFIG_SFC is not set | 908 | # CONFIG_SFC is not set |
906 | # CONFIG_BE2NET is not set | 909 | # CONFIG_BE2NET is not set |
@@ -996,6 +999,7 @@ CONFIG_SERIAL_CORE=y | |||
996 | CONFIG_SERIAL_CORE_CONSOLE=y | 999 | CONFIG_SERIAL_CORE_CONSOLE=y |
997 | # CONFIG_SERIAL_JSM is not set | 1000 | # CONFIG_SERIAL_JSM is not set |
998 | # CONFIG_SERIAL_OF_PLATFORM is not set | 1001 | # CONFIG_SERIAL_OF_PLATFORM is not set |
1002 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
999 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1003 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1000 | CONFIG_UNIX98_PTYS=y | 1004 | CONFIG_UNIX98_PTYS=y |
1001 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1005 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1045,6 +1049,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1045 | CONFIG_I2C_MPC=y | 1049 | CONFIG_I2C_MPC=y |
1046 | # CONFIG_I2C_OCORES is not set | 1050 | # CONFIG_I2C_OCORES is not set |
1047 | # CONFIG_I2C_SIMTEC is not set | 1051 | # CONFIG_I2C_SIMTEC is not set |
1052 | # CONFIG_I2C_XILINX is not set | ||
1048 | 1053 | ||
1049 | # | 1054 | # |
1050 | # External I2C/SMBus adapter drivers | 1055 | # External I2C/SMBus adapter drivers |
@@ -1058,15 +1063,9 @@ CONFIG_I2C_MPC=y | |||
1058 | # | 1063 | # |
1059 | # CONFIG_I2C_PCA_PLATFORM is not set | 1064 | # CONFIG_I2C_PCA_PLATFORM is not set |
1060 | # CONFIG_I2C_STUB is not set | 1065 | # CONFIG_I2C_STUB is not set |
1061 | |||
1062 | # | ||
1063 | # Miscellaneous I2C Chip support | ||
1064 | # | ||
1065 | # CONFIG_SENSORS_TSL2550 is not set | ||
1066 | # CONFIG_I2C_DEBUG_CORE is not set | 1066 | # CONFIG_I2C_DEBUG_CORE is not set |
1067 | # CONFIG_I2C_DEBUG_ALGO is not set | 1067 | # CONFIG_I2C_DEBUG_ALGO is not set |
1068 | # CONFIG_I2C_DEBUG_BUS is not set | 1068 | # CONFIG_I2C_DEBUG_BUS is not set |
1069 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1070 | CONFIG_SPI=y | 1069 | CONFIG_SPI=y |
1071 | # CONFIG_SPI_DEBUG is not set | 1070 | # CONFIG_SPI_DEBUG is not set |
1072 | CONFIG_SPI_MASTER=y | 1071 | CONFIG_SPI_MASTER=y |
@@ -1109,10 +1108,11 @@ CONFIG_HWMON=y | |||
1109 | # CONFIG_SENSORS_ADM1029 is not set | 1108 | # CONFIG_SENSORS_ADM1029 is not set |
1110 | # CONFIG_SENSORS_ADM1031 is not set | 1109 | # CONFIG_SENSORS_ADM1031 is not set |
1111 | # CONFIG_SENSORS_ADM9240 is not set | 1110 | # CONFIG_SENSORS_ADM9240 is not set |
1111 | # CONFIG_SENSORS_ADT7411 is not set | ||
1112 | # CONFIG_SENSORS_ADT7462 is not set | 1112 | # CONFIG_SENSORS_ADT7462 is not set |
1113 | # CONFIG_SENSORS_ADT7470 is not set | 1113 | # CONFIG_SENSORS_ADT7470 is not set |
1114 | # CONFIG_SENSORS_ADT7473 is not set | ||
1115 | # CONFIG_SENSORS_ADT7475 is not set | 1114 | # CONFIG_SENSORS_ADT7475 is not set |
1115 | # CONFIG_SENSORS_ASC7621 is not set | ||
1116 | # CONFIG_SENSORS_ATXP1 is not set | 1116 | # CONFIG_SENSORS_ATXP1 is not set |
1117 | # CONFIG_SENSORS_DS1621 is not set | 1117 | # CONFIG_SENSORS_DS1621 is not set |
1118 | # CONFIG_SENSORS_I5K_AMB is not set | 1118 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1151,6 +1151,7 @@ CONFIG_HWMON=y | |||
1151 | # CONFIG_SENSORS_SMSC47M192 is not set | 1151 | # CONFIG_SENSORS_SMSC47M192 is not set |
1152 | # CONFIG_SENSORS_SMSC47B397 is not set | 1152 | # CONFIG_SENSORS_SMSC47B397 is not set |
1153 | # CONFIG_SENSORS_ADS7828 is not set | 1153 | # CONFIG_SENSORS_ADS7828 is not set |
1154 | # CONFIG_SENSORS_AMC6821 is not set | ||
1154 | # CONFIG_SENSORS_THMC50 is not set | 1155 | # CONFIG_SENSORS_THMC50 is not set |
1155 | # CONFIG_SENSORS_TMP401 is not set | 1156 | # CONFIG_SENSORS_TMP401 is not set |
1156 | # CONFIG_SENSORS_TMP421 is not set | 1157 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1199,21 +1200,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1199 | # Multifunction device drivers | 1200 | # Multifunction device drivers |
1200 | # | 1201 | # |
1201 | # CONFIG_MFD_CORE is not set | 1202 | # CONFIG_MFD_CORE is not set |
1203 | # CONFIG_MFD_88PM860X is not set | ||
1202 | # CONFIG_MFD_SM501 is not set | 1204 | # CONFIG_MFD_SM501 is not set |
1203 | # CONFIG_HTC_PASIC3 is not set | 1205 | # CONFIG_HTC_PASIC3 is not set |
1204 | # CONFIG_TWL4030_CORE is not set | 1206 | # CONFIG_TWL4030_CORE is not set |
1205 | # CONFIG_MFD_TMIO is not set | 1207 | # CONFIG_MFD_TMIO is not set |
1206 | # CONFIG_PMIC_DA903X is not set | 1208 | # CONFIG_PMIC_DA903X is not set |
1207 | # CONFIG_PMIC_ADP5520 is not set | 1209 | # CONFIG_PMIC_ADP5520 is not set |
1210 | # CONFIG_MFD_MAX8925 is not set | ||
1208 | # CONFIG_MFD_WM8400 is not set | 1211 | # CONFIG_MFD_WM8400 is not set |
1209 | # CONFIG_MFD_WM831X is not set | 1212 | # CONFIG_MFD_WM831X is not set |
1210 | # CONFIG_MFD_WM8350_I2C is not set | 1213 | # CONFIG_MFD_WM8350_I2C is not set |
1214 | # CONFIG_MFD_WM8994 is not set | ||
1211 | # CONFIG_MFD_PCF50633 is not set | 1215 | # CONFIG_MFD_PCF50633 is not set |
1212 | # CONFIG_MFD_MC13783 is not set | 1216 | # CONFIG_MFD_MC13783 is not set |
1213 | # CONFIG_AB3100_CORE is not set | 1217 | # CONFIG_AB3100_CORE is not set |
1214 | # CONFIG_EZX_PCAP is not set | 1218 | # CONFIG_EZX_PCAP is not set |
1215 | # CONFIG_MFD_88PM8607 is not set | ||
1216 | # CONFIG_AB4500_CORE is not set | 1219 | # CONFIG_AB4500_CORE is not set |
1220 | # CONFIG_LPC_SCH is not set | ||
1217 | # CONFIG_REGULATOR is not set | 1221 | # CONFIG_REGULATOR is not set |
1218 | # CONFIG_MEDIA_SUPPORT is not set | 1222 | # CONFIG_MEDIA_SUPPORT is not set |
1219 | 1223 | ||
@@ -1222,6 +1226,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1222 | # | 1226 | # |
1223 | # CONFIG_AGP is not set | 1227 | # CONFIG_AGP is not set |
1224 | CONFIG_VGA_ARB=y | 1228 | CONFIG_VGA_ARB=y |
1229 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1225 | # CONFIG_DRM is not set | 1230 | # CONFIG_DRM is not set |
1226 | # CONFIG_VGASTATE is not set | 1231 | # CONFIG_VGASTATE is not set |
1227 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1232 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1354,7 +1359,6 @@ CONFIG_USB_STORAGE=y | |||
1354 | # CONFIG_USB_RIO500 is not set | 1359 | # CONFIG_USB_RIO500 is not set |
1355 | # CONFIG_USB_LEGOTOWER is not set | 1360 | # CONFIG_USB_LEGOTOWER is not set |
1356 | # CONFIG_USB_LCD is not set | 1361 | # CONFIG_USB_LCD is not set |
1357 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1358 | # CONFIG_USB_LED is not set | 1362 | # CONFIG_USB_LED is not set |
1359 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1363 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1360 | # CONFIG_USB_CYTHERM is not set | 1364 | # CONFIG_USB_CYTHERM is not set |
@@ -1367,7 +1371,6 @@ CONFIG_USB_STORAGE=y | |||
1367 | # CONFIG_USB_IOWARRIOR is not set | 1371 | # CONFIG_USB_IOWARRIOR is not set |
1368 | # CONFIG_USB_TEST is not set | 1372 | # CONFIG_USB_TEST is not set |
1369 | # CONFIG_USB_ISIGHTFW is not set | 1373 | # CONFIG_USB_ISIGHTFW is not set |
1370 | # CONFIG_USB_VST is not set | ||
1371 | CONFIG_USB_GADGET=y | 1374 | CONFIG_USB_GADGET=y |
1372 | # CONFIG_USB_GADGET_DEBUG is not set | 1375 | # CONFIG_USB_GADGET_DEBUG is not set |
1373 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 1376 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
@@ -1406,6 +1409,7 @@ CONFIG_USB_ETH_RNDIS=y | |||
1406 | # CONFIG_USB_MIDI_GADGET is not set | 1409 | # CONFIG_USB_MIDI_GADGET is not set |
1407 | # CONFIG_USB_G_PRINTER is not set | 1410 | # CONFIG_USB_G_PRINTER is not set |
1408 | # CONFIG_USB_CDC_COMPOSITE is not set | 1411 | # CONFIG_USB_CDC_COMPOSITE is not set |
1412 | # CONFIG_USB_G_NOKIA is not set | ||
1409 | # CONFIG_USB_G_MULTI is not set | 1413 | # CONFIG_USB_G_MULTI is not set |
1410 | 1414 | ||
1411 | # | 1415 | # |
@@ -1576,6 +1580,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1576 | # CONFIG_JFFS2_LZO is not set | 1580 | # CONFIG_JFFS2_LZO is not set |
1577 | CONFIG_JFFS2_RTIME=y | 1581 | CONFIG_JFFS2_RTIME=y |
1578 | # CONFIG_JFFS2_RUBIN is not set | 1582 | # CONFIG_JFFS2_RUBIN is not set |
1583 | # CONFIG_LOGFS is not set | ||
1579 | # CONFIG_CRAMFS is not set | 1584 | # CONFIG_CRAMFS is not set |
1580 | # CONFIG_SQUASHFS is not set | 1585 | # CONFIG_SQUASHFS is not set |
1581 | # CONFIG_VXFS_FS is not set | 1586 | # CONFIG_VXFS_FS is not set |
@@ -1602,6 +1607,7 @@ CONFIG_SUNRPC_GSS=y | |||
1602 | CONFIG_RPCSEC_GSS_KRB5=y | 1607 | CONFIG_RPCSEC_GSS_KRB5=y |
1603 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1608 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1604 | # CONFIG_SMB_FS is not set | 1609 | # CONFIG_SMB_FS is not set |
1610 | # CONFIG_CEPH_FS is not set | ||
1605 | # CONFIG_CIFS is not set | 1611 | # CONFIG_CIFS is not set |
1606 | # CONFIG_NCP_FS is not set | 1612 | # CONFIG_NCP_FS is not set |
1607 | # CONFIG_CODA_FS is not set | 1613 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig index 0b4262bd4917..74cb27aa9d17 100644 --- a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:17 2010 | 4 | # Mon Apr 19 23:16:41 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -325,6 +320,7 @@ CONFIG_ISA_DMA_API=y | |||
325 | # Bus options | 320 | # Bus options |
326 | # | 321 | # |
327 | CONFIG_ZONE_DMA=y | 322 | CONFIG_ZONE_DMA=y |
323 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
328 | CONFIG_GENERIC_ISA_DMA=y | 324 | CONFIG_GENERIC_ISA_DMA=y |
329 | CONFIG_PPC_INDIRECT_PCI=y | 325 | CONFIG_PPC_INDIRECT_PCI=y |
330 | CONFIG_FSL_SOC=y | 326 | CONFIG_FSL_SOC=y |
@@ -336,7 +332,6 @@ CONFIG_PCI_SYSCALL=y | |||
336 | # CONFIG_PCIEPORTBUS is not set | 332 | # CONFIG_PCIEPORTBUS is not set |
337 | CONFIG_ARCH_SUPPORTS_MSI=y | 333 | CONFIG_ARCH_SUPPORTS_MSI=y |
338 | # CONFIG_PCI_MSI is not set | 334 | # CONFIG_PCI_MSI is not set |
339 | # CONFIG_PCI_LEGACY is not set | ||
340 | # CONFIG_PCI_STUB is not set | 335 | # CONFIG_PCI_STUB is not set |
341 | # CONFIG_PCI_IOV is not set | 336 | # CONFIG_PCI_IOV is not set |
342 | # CONFIG_PCCARD is not set | 337 | # CONFIG_PCCARD is not set |
@@ -362,7 +357,6 @@ CONFIG_NET=y | |||
362 | # Networking options | 357 | # Networking options |
363 | # | 358 | # |
364 | CONFIG_PACKET=y | 359 | CONFIG_PACKET=y |
365 | # CONFIG_PACKET_MMAP is not set | ||
366 | CONFIG_UNIX=y | 360 | CONFIG_UNIX=y |
367 | CONFIG_XFRM=y | 361 | CONFIG_XFRM=y |
368 | # CONFIG_XFRM_USER is not set | 362 | # CONFIG_XFRM_USER is not set |
@@ -457,6 +451,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
457 | # CONFIG_SYS_HYPERVISOR is not set | 451 | # CONFIG_SYS_HYPERVISOR is not set |
458 | # CONFIG_CONNECTOR is not set | 452 | # CONFIG_CONNECTOR is not set |
459 | # CONFIG_MTD is not set | 453 | # CONFIG_MTD is not set |
454 | CONFIG_OF_FLATTREE=y | ||
455 | CONFIG_OF_DYNAMIC=y | ||
460 | CONFIG_OF_DEVICE=y | 456 | CONFIG_OF_DEVICE=y |
461 | CONFIG_OF_I2C=y | 457 | CONFIG_OF_I2C=y |
462 | CONFIG_OF_MDIO=y | 458 | CONFIG_OF_MDIO=y |
@@ -492,6 +488,7 @@ CONFIG_MISC_DEVICES=y | |||
492 | # CONFIG_ENCLOSURE_SERVICES is not set | 488 | # CONFIG_ENCLOSURE_SERVICES is not set |
493 | # CONFIG_HP_ILO is not set | 489 | # CONFIG_HP_ILO is not set |
494 | # CONFIG_ISL29003 is not set | 490 | # CONFIG_ISL29003 is not set |
491 | # CONFIG_SENSORS_TSL2550 is not set | ||
495 | # CONFIG_DS1682 is not set | 492 | # CONFIG_DS1682 is not set |
496 | # CONFIG_C2PORT is not set | 493 | # CONFIG_C2PORT is not set |
497 | 494 | ||
@@ -509,6 +506,7 @@ CONFIG_HAVE_IDE=y | |||
509 | # | 506 | # |
510 | # SCSI device support | 507 | # SCSI device support |
511 | # | 508 | # |
509 | CONFIG_SCSI_MOD=y | ||
512 | # CONFIG_RAID_ATTRS is not set | 510 | # CONFIG_RAID_ATTRS is not set |
513 | CONFIG_SCSI=y | 511 | CONFIG_SCSI=y |
514 | CONFIG_SCSI_DMA=y | 512 | CONFIG_SCSI_DMA=y |
@@ -693,6 +691,8 @@ CONFIG_NETDEV_10000=y | |||
693 | # CONFIG_CHELSIO_T1 is not set | 691 | # CONFIG_CHELSIO_T1 is not set |
694 | CONFIG_CHELSIO_T3_DEPENDS=y | 692 | CONFIG_CHELSIO_T3_DEPENDS=y |
695 | # CONFIG_CHELSIO_T3 is not set | 693 | # CONFIG_CHELSIO_T3 is not set |
694 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
695 | # CONFIG_CHELSIO_T4 is not set | ||
696 | # CONFIG_ENIC is not set | 696 | # CONFIG_ENIC is not set |
697 | # CONFIG_IXGBE is not set | 697 | # CONFIG_IXGBE is not set |
698 | # CONFIG_IXGB is not set | 698 | # CONFIG_IXGB is not set |
@@ -705,6 +705,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
705 | # CONFIG_MLX4_CORE is not set | 705 | # CONFIG_MLX4_CORE is not set |
706 | # CONFIG_TEHUTI is not set | 706 | # CONFIG_TEHUTI is not set |
707 | # CONFIG_BNX2X is not set | 707 | # CONFIG_BNX2X is not set |
708 | # CONFIG_QLCNIC is not set | ||
708 | # CONFIG_QLGE is not set | 709 | # CONFIG_QLGE is not set |
709 | # CONFIG_SFC is not set | 710 | # CONFIG_SFC is not set |
710 | # CONFIG_BE2NET is not set | 711 | # CONFIG_BE2NET is not set |
@@ -790,6 +791,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
790 | # CONFIG_SERIAL_JSM is not set | 791 | # CONFIG_SERIAL_JSM is not set |
791 | # CONFIG_SERIAL_OF_PLATFORM is not set | 792 | # CONFIG_SERIAL_OF_PLATFORM is not set |
792 | # CONFIG_SERIAL_QE is not set | 793 | # CONFIG_SERIAL_QE is not set |
794 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
793 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 795 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
794 | CONFIG_UNIX98_PTYS=y | 796 | CONFIG_UNIX98_PTYS=y |
795 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 797 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -839,6 +841,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
839 | CONFIG_I2C_MPC=y | 841 | CONFIG_I2C_MPC=y |
840 | # CONFIG_I2C_OCORES is not set | 842 | # CONFIG_I2C_OCORES is not set |
841 | # CONFIG_I2C_SIMTEC is not set | 843 | # CONFIG_I2C_SIMTEC is not set |
844 | # CONFIG_I2C_XILINX is not set | ||
842 | 845 | ||
843 | # | 846 | # |
844 | # External I2C/SMBus adapter drivers | 847 | # External I2C/SMBus adapter drivers |
@@ -851,15 +854,9 @@ CONFIG_I2C_MPC=y | |||
851 | # | 854 | # |
852 | # CONFIG_I2C_PCA_PLATFORM is not set | 855 | # CONFIG_I2C_PCA_PLATFORM is not set |
853 | # CONFIG_I2C_STUB is not set | 856 | # CONFIG_I2C_STUB is not set |
854 | |||
855 | # | ||
856 | # Miscellaneous I2C Chip support | ||
857 | # | ||
858 | # CONFIG_SENSORS_TSL2550 is not set | ||
859 | # CONFIG_I2C_DEBUG_CORE is not set | 857 | # CONFIG_I2C_DEBUG_CORE is not set |
860 | # CONFIG_I2C_DEBUG_ALGO is not set | 858 | # CONFIG_I2C_DEBUG_ALGO is not set |
861 | # CONFIG_I2C_DEBUG_BUS is not set | 859 | # CONFIG_I2C_DEBUG_BUS is not set |
862 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
863 | # CONFIG_SPI is not set | 860 | # CONFIG_SPI is not set |
864 | 861 | ||
865 | # | 862 | # |
@@ -885,10 +882,11 @@ CONFIG_HWMON=y | |||
885 | # CONFIG_SENSORS_ADM1029 is not set | 882 | # CONFIG_SENSORS_ADM1029 is not set |
886 | # CONFIG_SENSORS_ADM1031 is not set | 883 | # CONFIG_SENSORS_ADM1031 is not set |
887 | # CONFIG_SENSORS_ADM9240 is not set | 884 | # CONFIG_SENSORS_ADM9240 is not set |
885 | # CONFIG_SENSORS_ADT7411 is not set | ||
888 | # CONFIG_SENSORS_ADT7462 is not set | 886 | # CONFIG_SENSORS_ADT7462 is not set |
889 | # CONFIG_SENSORS_ADT7470 is not set | 887 | # CONFIG_SENSORS_ADT7470 is not set |
890 | # CONFIG_SENSORS_ADT7473 is not set | ||
891 | # CONFIG_SENSORS_ADT7475 is not set | 888 | # CONFIG_SENSORS_ADT7475 is not set |
889 | # CONFIG_SENSORS_ASC7621 is not set | ||
892 | # CONFIG_SENSORS_ATXP1 is not set | 890 | # CONFIG_SENSORS_ATXP1 is not set |
893 | # CONFIG_SENSORS_DS1621 is not set | 891 | # CONFIG_SENSORS_DS1621 is not set |
894 | # CONFIG_SENSORS_I5K_AMB is not set | 892 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -925,6 +923,7 @@ CONFIG_HWMON=y | |||
925 | # CONFIG_SENSORS_SMSC47M192 is not set | 923 | # CONFIG_SENSORS_SMSC47M192 is not set |
926 | # CONFIG_SENSORS_SMSC47B397 is not set | 924 | # CONFIG_SENSORS_SMSC47B397 is not set |
927 | # CONFIG_SENSORS_ADS7828 is not set | 925 | # CONFIG_SENSORS_ADS7828 is not set |
926 | # CONFIG_SENSORS_AMC6821 is not set | ||
928 | # CONFIG_SENSORS_THMC50 is not set | 927 | # CONFIG_SENSORS_THMC50 is not set |
929 | # CONFIG_SENSORS_TMP401 is not set | 928 | # CONFIG_SENSORS_TMP401 is not set |
930 | # CONFIG_SENSORS_TMP421 is not set | 929 | # CONFIG_SENSORS_TMP421 is not set |
@@ -967,18 +966,21 @@ CONFIG_SSB_POSSIBLE=y | |||
967 | # Multifunction device drivers | 966 | # Multifunction device drivers |
968 | # | 967 | # |
969 | # CONFIG_MFD_CORE is not set | 968 | # CONFIG_MFD_CORE is not set |
969 | # CONFIG_MFD_88PM860X is not set | ||
970 | # CONFIG_MFD_SM501 is not set | 970 | # CONFIG_MFD_SM501 is not set |
971 | # CONFIG_HTC_PASIC3 is not set | 971 | # CONFIG_HTC_PASIC3 is not set |
972 | # CONFIG_TWL4030_CORE is not set | 972 | # CONFIG_TWL4030_CORE is not set |
973 | # CONFIG_MFD_TMIO is not set | 973 | # CONFIG_MFD_TMIO is not set |
974 | # CONFIG_PMIC_DA903X is not set | 974 | # CONFIG_PMIC_DA903X is not set |
975 | # CONFIG_PMIC_ADP5520 is not set | 975 | # CONFIG_PMIC_ADP5520 is not set |
976 | # CONFIG_MFD_MAX8925 is not set | ||
976 | # CONFIG_MFD_WM8400 is not set | 977 | # CONFIG_MFD_WM8400 is not set |
977 | # CONFIG_MFD_WM831X is not set | 978 | # CONFIG_MFD_WM831X is not set |
978 | # CONFIG_MFD_WM8350_I2C is not set | 979 | # CONFIG_MFD_WM8350_I2C is not set |
980 | # CONFIG_MFD_WM8994 is not set | ||
979 | # CONFIG_MFD_PCF50633 is not set | 981 | # CONFIG_MFD_PCF50633 is not set |
980 | # CONFIG_AB3100_CORE is not set | 982 | # CONFIG_AB3100_CORE is not set |
981 | # CONFIG_MFD_88PM8607 is not set | 983 | # CONFIG_LPC_SCH is not set |
982 | # CONFIG_REGULATOR is not set | 984 | # CONFIG_REGULATOR is not set |
983 | # CONFIG_MEDIA_SUPPORT is not set | 985 | # CONFIG_MEDIA_SUPPORT is not set |
984 | 986 | ||
@@ -987,6 +989,7 @@ CONFIG_SSB_POSSIBLE=y | |||
987 | # | 989 | # |
988 | # CONFIG_AGP is not set | 990 | # CONFIG_AGP is not set |
989 | CONFIG_VGA_ARB=y | 991 | CONFIG_VGA_ARB=y |
992 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
990 | # CONFIG_DRM is not set | 993 | # CONFIG_DRM is not set |
991 | # CONFIG_VGASTATE is not set | 994 | # CONFIG_VGASTATE is not set |
992 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 995 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1171,6 +1174,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1171 | # CONFIG_BEFS_FS is not set | 1174 | # CONFIG_BEFS_FS is not set |
1172 | # CONFIG_BFS_FS is not set | 1175 | # CONFIG_BFS_FS is not set |
1173 | # CONFIG_EFS_FS is not set | 1176 | # CONFIG_EFS_FS is not set |
1177 | # CONFIG_LOGFS is not set | ||
1174 | # CONFIG_CRAMFS is not set | 1178 | # CONFIG_CRAMFS is not set |
1175 | # CONFIG_SQUASHFS is not set | 1179 | # CONFIG_SQUASHFS is not set |
1176 | # CONFIG_VXFS_FS is not set | 1180 | # CONFIG_VXFS_FS is not set |
@@ -1197,6 +1201,7 @@ CONFIG_SUNRPC_GSS=y | |||
1197 | CONFIG_RPCSEC_GSS_KRB5=y | 1201 | CONFIG_RPCSEC_GSS_KRB5=y |
1198 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1202 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1199 | # CONFIG_SMB_FS is not set | 1203 | # CONFIG_SMB_FS is not set |
1204 | # CONFIG_CEPH_FS is not set | ||
1200 | # CONFIG_CIFS is not set | 1205 | # CONFIG_CIFS is not set |
1201 | # CONFIG_NCP_FS is not set | 1206 | # CONFIG_NCP_FS is not set |
1202 | # CONFIG_CODA_FS is not set | 1207 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig index 155af009f7b5..10412a9c7f90 100644 --- a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:18 2010 | 4 | # Mon Apr 19 23:16:42 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -325,6 +320,7 @@ CONFIG_ISA_DMA_API=y | |||
325 | # Bus options | 320 | # Bus options |
326 | # | 321 | # |
327 | CONFIG_ZONE_DMA=y | 322 | CONFIG_ZONE_DMA=y |
323 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
328 | CONFIG_GENERIC_ISA_DMA=y | 324 | CONFIG_GENERIC_ISA_DMA=y |
329 | CONFIG_PPC_INDIRECT_PCI=y | 325 | CONFIG_PPC_INDIRECT_PCI=y |
330 | CONFIG_FSL_SOC=y | 326 | CONFIG_FSL_SOC=y |
@@ -336,7 +332,6 @@ CONFIG_PCI_SYSCALL=y | |||
336 | # CONFIG_PCIEPORTBUS is not set | 332 | # CONFIG_PCIEPORTBUS is not set |
337 | CONFIG_ARCH_SUPPORTS_MSI=y | 333 | CONFIG_ARCH_SUPPORTS_MSI=y |
338 | # CONFIG_PCI_MSI is not set | 334 | # CONFIG_PCI_MSI is not set |
339 | # CONFIG_PCI_LEGACY is not set | ||
340 | # CONFIG_PCI_STUB is not set | 335 | # CONFIG_PCI_STUB is not set |
341 | # CONFIG_PCI_IOV is not set | 336 | # CONFIG_PCI_IOV is not set |
342 | # CONFIG_PCCARD is not set | 337 | # CONFIG_PCCARD is not set |
@@ -362,7 +357,6 @@ CONFIG_NET=y | |||
362 | # Networking options | 357 | # Networking options |
363 | # | 358 | # |
364 | CONFIG_PACKET=y | 359 | CONFIG_PACKET=y |
365 | # CONFIG_PACKET_MMAP is not set | ||
366 | CONFIG_UNIX=y | 360 | CONFIG_UNIX=y |
367 | CONFIG_XFRM=y | 361 | CONFIG_XFRM=y |
368 | # CONFIG_XFRM_USER is not set | 362 | # CONFIG_XFRM_USER is not set |
@@ -457,6 +451,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
457 | # CONFIG_SYS_HYPERVISOR is not set | 451 | # CONFIG_SYS_HYPERVISOR is not set |
458 | # CONFIG_CONNECTOR is not set | 452 | # CONFIG_CONNECTOR is not set |
459 | # CONFIG_MTD is not set | 453 | # CONFIG_MTD is not set |
454 | CONFIG_OF_FLATTREE=y | ||
455 | CONFIG_OF_DYNAMIC=y | ||
460 | CONFIG_OF_DEVICE=y | 456 | CONFIG_OF_DEVICE=y |
461 | CONFIG_OF_I2C=y | 457 | CONFIG_OF_I2C=y |
462 | CONFIG_OF_SPI=y | 458 | CONFIG_OF_SPI=y |
@@ -494,6 +490,7 @@ CONFIG_MISC_DEVICES=y | |||
494 | # CONFIG_ENCLOSURE_SERVICES is not set | 490 | # CONFIG_ENCLOSURE_SERVICES is not set |
495 | # CONFIG_HP_ILO is not set | 491 | # CONFIG_HP_ILO is not set |
496 | # CONFIG_ISL29003 is not set | 492 | # CONFIG_ISL29003 is not set |
493 | # CONFIG_SENSORS_TSL2550 is not set | ||
497 | # CONFIG_DS1682 is not set | 494 | # CONFIG_DS1682 is not set |
498 | # CONFIG_TI_DAC7512 is not set | 495 | # CONFIG_TI_DAC7512 is not set |
499 | # CONFIG_C2PORT is not set | 496 | # CONFIG_C2PORT is not set |
@@ -514,6 +511,7 @@ CONFIG_HAVE_IDE=y | |||
514 | # | 511 | # |
515 | # SCSI device support | 512 | # SCSI device support |
516 | # | 513 | # |
514 | CONFIG_SCSI_MOD=y | ||
517 | # CONFIG_RAID_ATTRS is not set | 515 | # CONFIG_RAID_ATTRS is not set |
518 | CONFIG_SCSI=y | 516 | CONFIG_SCSI=y |
519 | CONFIG_SCSI_DMA=y | 517 | CONFIG_SCSI_DMA=y |
@@ -700,6 +698,8 @@ CONFIG_NETDEV_10000=y | |||
700 | # CONFIG_CHELSIO_T1 is not set | 698 | # CONFIG_CHELSIO_T1 is not set |
701 | CONFIG_CHELSIO_T3_DEPENDS=y | 699 | CONFIG_CHELSIO_T3_DEPENDS=y |
702 | # CONFIG_CHELSIO_T3 is not set | 700 | # CONFIG_CHELSIO_T3 is not set |
701 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
702 | # CONFIG_CHELSIO_T4 is not set | ||
703 | # CONFIG_ENIC is not set | 703 | # CONFIG_ENIC is not set |
704 | # CONFIG_IXGBE is not set | 704 | # CONFIG_IXGBE is not set |
705 | # CONFIG_IXGB is not set | 705 | # CONFIG_IXGB is not set |
@@ -712,6 +712,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
712 | # CONFIG_MLX4_CORE is not set | 712 | # CONFIG_MLX4_CORE is not set |
713 | # CONFIG_TEHUTI is not set | 713 | # CONFIG_TEHUTI is not set |
714 | # CONFIG_BNX2X is not set | 714 | # CONFIG_BNX2X is not set |
715 | # CONFIG_QLCNIC is not set | ||
715 | # CONFIG_QLGE is not set | 716 | # CONFIG_QLGE is not set |
716 | # CONFIG_SFC is not set | 717 | # CONFIG_SFC is not set |
717 | # CONFIG_BE2NET is not set | 718 | # CONFIG_BE2NET is not set |
@@ -808,6 +809,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
808 | # CONFIG_SERIAL_JSM is not set | 809 | # CONFIG_SERIAL_JSM is not set |
809 | # CONFIG_SERIAL_OF_PLATFORM is not set | 810 | # CONFIG_SERIAL_OF_PLATFORM is not set |
810 | # CONFIG_SERIAL_QE is not set | 811 | # CONFIG_SERIAL_QE is not set |
812 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
811 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 813 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
812 | CONFIG_UNIX98_PTYS=y | 814 | CONFIG_UNIX98_PTYS=y |
813 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 815 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -859,6 +861,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
859 | CONFIG_I2C_MPC=y | 861 | CONFIG_I2C_MPC=y |
860 | # CONFIG_I2C_OCORES is not set | 862 | # CONFIG_I2C_OCORES is not set |
861 | # CONFIG_I2C_SIMTEC is not set | 863 | # CONFIG_I2C_SIMTEC is not set |
864 | # CONFIG_I2C_XILINX is not set | ||
862 | 865 | ||
863 | # | 866 | # |
864 | # External I2C/SMBus adapter drivers | 867 | # External I2C/SMBus adapter drivers |
@@ -872,15 +875,9 @@ CONFIG_I2C_MPC=y | |||
872 | # | 875 | # |
873 | # CONFIG_I2C_PCA_PLATFORM is not set | 876 | # CONFIG_I2C_PCA_PLATFORM is not set |
874 | # CONFIG_I2C_STUB is not set | 877 | # CONFIG_I2C_STUB is not set |
875 | |||
876 | # | ||
877 | # Miscellaneous I2C Chip support | ||
878 | # | ||
879 | # CONFIG_SENSORS_TSL2550 is not set | ||
880 | # CONFIG_I2C_DEBUG_CORE is not set | 878 | # CONFIG_I2C_DEBUG_CORE is not set |
881 | # CONFIG_I2C_DEBUG_ALGO is not set | 879 | # CONFIG_I2C_DEBUG_ALGO is not set |
882 | # CONFIG_I2C_DEBUG_BUS is not set | 880 | # CONFIG_I2C_DEBUG_BUS is not set |
883 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
884 | CONFIG_SPI=y | 881 | CONFIG_SPI=y |
885 | CONFIG_SPI_MASTER=y | 882 | CONFIG_SPI_MASTER=y |
886 | 883 | ||
@@ -922,10 +919,11 @@ CONFIG_HWMON=y | |||
922 | # CONFIG_SENSORS_ADM1029 is not set | 919 | # CONFIG_SENSORS_ADM1029 is not set |
923 | # CONFIG_SENSORS_ADM1031 is not set | 920 | # CONFIG_SENSORS_ADM1031 is not set |
924 | # CONFIG_SENSORS_ADM9240 is not set | 921 | # CONFIG_SENSORS_ADM9240 is not set |
922 | # CONFIG_SENSORS_ADT7411 is not set | ||
925 | # CONFIG_SENSORS_ADT7462 is not set | 923 | # CONFIG_SENSORS_ADT7462 is not set |
926 | # CONFIG_SENSORS_ADT7470 is not set | 924 | # CONFIG_SENSORS_ADT7470 is not set |
927 | # CONFIG_SENSORS_ADT7473 is not set | ||
928 | # CONFIG_SENSORS_ADT7475 is not set | 925 | # CONFIG_SENSORS_ADT7475 is not set |
926 | # CONFIG_SENSORS_ASC7621 is not set | ||
929 | # CONFIG_SENSORS_ATXP1 is not set | 927 | # CONFIG_SENSORS_ATXP1 is not set |
930 | # CONFIG_SENSORS_DS1621 is not set | 928 | # CONFIG_SENSORS_DS1621 is not set |
931 | # CONFIG_SENSORS_I5K_AMB is not set | 929 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -964,6 +962,7 @@ CONFIG_HWMON=y | |||
964 | # CONFIG_SENSORS_SMSC47M192 is not set | 962 | # CONFIG_SENSORS_SMSC47M192 is not set |
965 | # CONFIG_SENSORS_SMSC47B397 is not set | 963 | # CONFIG_SENSORS_SMSC47B397 is not set |
966 | # CONFIG_SENSORS_ADS7828 is not set | 964 | # CONFIG_SENSORS_ADS7828 is not set |
965 | # CONFIG_SENSORS_AMC6821 is not set | ||
967 | # CONFIG_SENSORS_THMC50 is not set | 966 | # CONFIG_SENSORS_THMC50 is not set |
968 | # CONFIG_SENSORS_TMP401 is not set | 967 | # CONFIG_SENSORS_TMP401 is not set |
969 | # CONFIG_SENSORS_TMP421 is not set | 968 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1012,21 +1011,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1012 | # Multifunction device drivers | 1011 | # Multifunction device drivers |
1013 | # | 1012 | # |
1014 | # CONFIG_MFD_CORE is not set | 1013 | # CONFIG_MFD_CORE is not set |
1014 | # CONFIG_MFD_88PM860X is not set | ||
1015 | # CONFIG_MFD_SM501 is not set | 1015 | # CONFIG_MFD_SM501 is not set |
1016 | # CONFIG_HTC_PASIC3 is not set | 1016 | # CONFIG_HTC_PASIC3 is not set |
1017 | # CONFIG_TWL4030_CORE is not set | 1017 | # CONFIG_TWL4030_CORE is not set |
1018 | # CONFIG_MFD_TMIO is not set | 1018 | # CONFIG_MFD_TMIO is not set |
1019 | # CONFIG_PMIC_DA903X is not set | 1019 | # CONFIG_PMIC_DA903X is not set |
1020 | # CONFIG_PMIC_ADP5520 is not set | 1020 | # CONFIG_PMIC_ADP5520 is not set |
1021 | # CONFIG_MFD_MAX8925 is not set | ||
1021 | # CONFIG_MFD_WM8400 is not set | 1022 | # CONFIG_MFD_WM8400 is not set |
1022 | # CONFIG_MFD_WM831X is not set | 1023 | # CONFIG_MFD_WM831X is not set |
1023 | # CONFIG_MFD_WM8350_I2C is not set | 1024 | # CONFIG_MFD_WM8350_I2C is not set |
1025 | # CONFIG_MFD_WM8994 is not set | ||
1024 | # CONFIG_MFD_PCF50633 is not set | 1026 | # CONFIG_MFD_PCF50633 is not set |
1025 | # CONFIG_MFD_MC13783 is not set | 1027 | # CONFIG_MFD_MC13783 is not set |
1026 | # CONFIG_AB3100_CORE is not set | 1028 | # CONFIG_AB3100_CORE is not set |
1027 | # CONFIG_EZX_PCAP is not set | 1029 | # CONFIG_EZX_PCAP is not set |
1028 | # CONFIG_MFD_88PM8607 is not set | ||
1029 | # CONFIG_AB4500_CORE is not set | 1030 | # CONFIG_AB4500_CORE is not set |
1031 | # CONFIG_LPC_SCH is not set | ||
1030 | # CONFIG_REGULATOR is not set | 1032 | # CONFIG_REGULATOR is not set |
1031 | # CONFIG_MEDIA_SUPPORT is not set | 1033 | # CONFIG_MEDIA_SUPPORT is not set |
1032 | 1034 | ||
@@ -1035,6 +1037,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1035 | # | 1037 | # |
1036 | # CONFIG_AGP is not set | 1038 | # CONFIG_AGP is not set |
1037 | CONFIG_VGA_ARB=y | 1039 | CONFIG_VGA_ARB=y |
1040 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1038 | # CONFIG_DRM is not set | 1041 | # CONFIG_DRM is not set |
1039 | # CONFIG_VGASTATE is not set | 1042 | # CONFIG_VGASTATE is not set |
1040 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1043 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1166,7 +1169,6 @@ CONFIG_USB_STORAGE=y | |||
1166 | # CONFIG_USB_RIO500 is not set | 1169 | # CONFIG_USB_RIO500 is not set |
1167 | # CONFIG_USB_LEGOTOWER is not set | 1170 | # CONFIG_USB_LEGOTOWER is not set |
1168 | # CONFIG_USB_LCD is not set | 1171 | # CONFIG_USB_LCD is not set |
1169 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1170 | # CONFIG_USB_LED is not set | 1172 | # CONFIG_USB_LED is not set |
1171 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1173 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1172 | # CONFIG_USB_CYTHERM is not set | 1174 | # CONFIG_USB_CYTHERM is not set |
@@ -1179,7 +1181,6 @@ CONFIG_USB_STORAGE=y | |||
1179 | # CONFIG_USB_IOWARRIOR is not set | 1181 | # CONFIG_USB_IOWARRIOR is not set |
1180 | # CONFIG_USB_TEST is not set | 1182 | # CONFIG_USB_TEST is not set |
1181 | # CONFIG_USB_ISIGHTFW is not set | 1183 | # CONFIG_USB_ISIGHTFW is not set |
1182 | # CONFIG_USB_VST is not set | ||
1183 | # CONFIG_USB_GADGET is not set | 1184 | # CONFIG_USB_GADGET is not set |
1184 | 1185 | ||
1185 | # | 1186 | # |
@@ -1204,8 +1205,6 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
1204 | # | 1205 | # |
1205 | # CONFIG_MMC_SDHCI is not set | 1206 | # CONFIG_MMC_SDHCI is not set |
1206 | # CONFIG_MMC_WBSD is not set | 1207 | # CONFIG_MMC_WBSD is not set |
1207 | # CONFIG_MMC_AT91 is not set | ||
1208 | # CONFIG_MMC_ATMELMCI is not set | ||
1209 | # CONFIG_MMC_TIFM_SD is not set | 1208 | # CONFIG_MMC_TIFM_SD is not set |
1210 | CONFIG_MMC_SPI=y | 1209 | CONFIG_MMC_SPI=y |
1211 | # CONFIG_MMC_CB710 is not set | 1210 | # CONFIG_MMC_CB710 is not set |
@@ -1298,6 +1297,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1298 | # CONFIG_BEFS_FS is not set | 1297 | # CONFIG_BEFS_FS is not set |
1299 | # CONFIG_BFS_FS is not set | 1298 | # CONFIG_BFS_FS is not set |
1300 | # CONFIG_EFS_FS is not set | 1299 | # CONFIG_EFS_FS is not set |
1300 | # CONFIG_LOGFS is not set | ||
1301 | # CONFIG_CRAMFS is not set | 1301 | # CONFIG_CRAMFS is not set |
1302 | # CONFIG_SQUASHFS is not set | 1302 | # CONFIG_SQUASHFS is not set |
1303 | # CONFIG_VXFS_FS is not set | 1303 | # CONFIG_VXFS_FS is not set |
@@ -1324,6 +1324,7 @@ CONFIG_SUNRPC_GSS=y | |||
1324 | CONFIG_RPCSEC_GSS_KRB5=y | 1324 | CONFIG_RPCSEC_GSS_KRB5=y |
1325 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1325 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1326 | # CONFIG_SMB_FS is not set | 1326 | # CONFIG_SMB_FS is not set |
1327 | # CONFIG_CEPH_FS is not set | ||
1327 | # CONFIG_CIFS is not set | 1328 | # CONFIG_CIFS is not set |
1328 | # CONFIG_NCP_FS is not set | 1329 | # CONFIG_NCP_FS is not set |
1329 | # CONFIG_CODA_FS is not set | 1330 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig index ff45f4904488..7b31fc3f3545 100644 --- a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:19 2010 | 4 | # Mon Apr 19 23:16:43 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 319 | # Bus options |
325 | # | 320 | # |
326 | CONFIG_ZONE_DMA=y | 321 | CONFIG_ZONE_DMA=y |
322 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_GENERIC_ISA_DMA=y | 323 | CONFIG_GENERIC_ISA_DMA=y |
328 | CONFIG_PPC_INDIRECT_PCI=y | 324 | CONFIG_PPC_INDIRECT_PCI=y |
329 | CONFIG_FSL_SOC=y | 325 | CONFIG_FSL_SOC=y |
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y | |||
335 | # CONFIG_PCIEPORTBUS is not set | 331 | # CONFIG_PCIEPORTBUS is not set |
336 | CONFIG_ARCH_SUPPORTS_MSI=y | 332 | CONFIG_ARCH_SUPPORTS_MSI=y |
337 | # CONFIG_PCI_MSI is not set | 333 | # CONFIG_PCI_MSI is not set |
338 | # CONFIG_PCI_LEGACY is not set | ||
339 | # CONFIG_PCI_STUB is not set | 334 | # CONFIG_PCI_STUB is not set |
340 | # CONFIG_PCI_IOV is not set | 335 | # CONFIG_PCI_IOV is not set |
341 | # CONFIG_PCCARD is not set | 336 | # CONFIG_PCCARD is not set |
@@ -361,7 +356,6 @@ CONFIG_NET=y | |||
361 | # Networking options | 356 | # Networking options |
362 | # | 357 | # |
363 | CONFIG_PACKET=y | 358 | CONFIG_PACKET=y |
364 | # CONFIG_PACKET_MMAP is not set | ||
365 | CONFIG_UNIX=y | 359 | CONFIG_UNIX=y |
366 | CONFIG_XFRM=y | 360 | CONFIG_XFRM=y |
367 | # CONFIG_XFRM_USER is not set | 361 | # CONFIG_XFRM_USER is not set |
@@ -540,6 +534,8 @@ CONFIG_MTD_PHYSMAP=y | |||
540 | # UBI - Unsorted block images | 534 | # UBI - Unsorted block images |
541 | # | 535 | # |
542 | # CONFIG_MTD_UBI is not set | 536 | # CONFIG_MTD_UBI is not set |
537 | CONFIG_OF_FLATTREE=y | ||
538 | CONFIG_OF_DYNAMIC=y | ||
543 | CONFIG_OF_DEVICE=y | 539 | CONFIG_OF_DEVICE=y |
544 | CONFIG_OF_I2C=y | 540 | CONFIG_OF_I2C=y |
545 | CONFIG_OF_SPI=y | 541 | CONFIG_OF_SPI=y |
@@ -577,6 +573,7 @@ CONFIG_MISC_DEVICES=y | |||
577 | # CONFIG_ENCLOSURE_SERVICES is not set | 573 | # CONFIG_ENCLOSURE_SERVICES is not set |
578 | # CONFIG_HP_ILO is not set | 574 | # CONFIG_HP_ILO is not set |
579 | # CONFIG_ISL29003 is not set | 575 | # CONFIG_ISL29003 is not set |
576 | # CONFIG_SENSORS_TSL2550 is not set | ||
580 | # CONFIG_DS1682 is not set | 577 | # CONFIG_DS1682 is not set |
581 | # CONFIG_TI_DAC7512 is not set | 578 | # CONFIG_TI_DAC7512 is not set |
582 | # CONFIG_C2PORT is not set | 579 | # CONFIG_C2PORT is not set |
@@ -644,6 +641,7 @@ CONFIG_IDE_PROC_FS=y | |||
644 | # | 641 | # |
645 | # SCSI device support | 642 | # SCSI device support |
646 | # | 643 | # |
644 | CONFIG_SCSI_MOD=y | ||
647 | # CONFIG_RAID_ATTRS is not set | 645 | # CONFIG_RAID_ATTRS is not set |
648 | CONFIG_SCSI=y | 646 | CONFIG_SCSI=y |
649 | CONFIG_SCSI_DMA=y | 647 | CONFIG_SCSI_DMA=y |
@@ -767,6 +765,7 @@ CONFIG_SATA_SIL=y | |||
767 | # CONFIG_PATA_IT821X is not set | 765 | # CONFIG_PATA_IT821X is not set |
768 | # CONFIG_PATA_IT8213 is not set | 766 | # CONFIG_PATA_IT8213 is not set |
769 | # CONFIG_PATA_JMICRON is not set | 767 | # CONFIG_PATA_JMICRON is not set |
768 | # CONFIG_PATA_LEGACY is not set | ||
770 | # CONFIG_PATA_TRIFLEX is not set | 769 | # CONFIG_PATA_TRIFLEX is not set |
771 | # CONFIG_PATA_MARVELL is not set | 770 | # CONFIG_PATA_MARVELL is not set |
772 | # CONFIG_PATA_MPIIX is not set | 771 | # CONFIG_PATA_MPIIX is not set |
@@ -880,6 +879,8 @@ CONFIG_NETDEV_10000=y | |||
880 | # CONFIG_CHELSIO_T1 is not set | 879 | # CONFIG_CHELSIO_T1 is not set |
881 | CONFIG_CHELSIO_T3_DEPENDS=y | 880 | CONFIG_CHELSIO_T3_DEPENDS=y |
882 | # CONFIG_CHELSIO_T3 is not set | 881 | # CONFIG_CHELSIO_T3 is not set |
882 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
883 | # CONFIG_CHELSIO_T4 is not set | ||
883 | # CONFIG_ENIC is not set | 884 | # CONFIG_ENIC is not set |
884 | # CONFIG_IXGBE is not set | 885 | # CONFIG_IXGBE is not set |
885 | # CONFIG_IXGB is not set | 886 | # CONFIG_IXGB is not set |
@@ -892,6 +893,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
892 | # CONFIG_MLX4_CORE is not set | 893 | # CONFIG_MLX4_CORE is not set |
893 | # CONFIG_TEHUTI is not set | 894 | # CONFIG_TEHUTI is not set |
894 | # CONFIG_BNX2X is not set | 895 | # CONFIG_BNX2X is not set |
896 | # CONFIG_QLCNIC is not set | ||
895 | # CONFIG_QLGE is not set | 897 | # CONFIG_QLGE is not set |
896 | # CONFIG_SFC is not set | 898 | # CONFIG_SFC is not set |
897 | # CONFIG_BE2NET is not set | 899 | # CONFIG_BE2NET is not set |
@@ -966,6 +968,7 @@ CONFIG_SERIAL_CORE=y | |||
966 | CONFIG_SERIAL_CORE_CONSOLE=y | 968 | CONFIG_SERIAL_CORE_CONSOLE=y |
967 | # CONFIG_SERIAL_JSM is not set | 969 | # CONFIG_SERIAL_JSM is not set |
968 | # CONFIG_SERIAL_OF_PLATFORM is not set | 970 | # CONFIG_SERIAL_OF_PLATFORM is not set |
971 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
969 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 972 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
970 | CONFIG_UNIX98_PTYS=y | 973 | CONFIG_UNIX98_PTYS=y |
971 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 974 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1015,6 +1018,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1015 | CONFIG_I2C_MPC=y | 1018 | CONFIG_I2C_MPC=y |
1016 | # CONFIG_I2C_OCORES is not set | 1019 | # CONFIG_I2C_OCORES is not set |
1017 | # CONFIG_I2C_SIMTEC is not set | 1020 | # CONFIG_I2C_SIMTEC is not set |
1021 | # CONFIG_I2C_XILINX is not set | ||
1018 | 1022 | ||
1019 | # | 1023 | # |
1020 | # External I2C/SMBus adapter drivers | 1024 | # External I2C/SMBus adapter drivers |
@@ -1028,15 +1032,9 @@ CONFIG_I2C_MPC=y | |||
1028 | # | 1032 | # |
1029 | # CONFIG_I2C_PCA_PLATFORM is not set | 1033 | # CONFIG_I2C_PCA_PLATFORM is not set |
1030 | # CONFIG_I2C_STUB is not set | 1034 | # CONFIG_I2C_STUB is not set |
1031 | |||
1032 | # | ||
1033 | # Miscellaneous I2C Chip support | ||
1034 | # | ||
1035 | # CONFIG_SENSORS_TSL2550 is not set | ||
1036 | # CONFIG_I2C_DEBUG_CORE is not set | 1035 | # CONFIG_I2C_DEBUG_CORE is not set |
1037 | # CONFIG_I2C_DEBUG_ALGO is not set | 1036 | # CONFIG_I2C_DEBUG_ALGO is not set |
1038 | # CONFIG_I2C_DEBUG_BUS is not set | 1037 | # CONFIG_I2C_DEBUG_BUS is not set |
1039 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1040 | CONFIG_SPI=y | 1038 | CONFIG_SPI=y |
1041 | CONFIG_SPI_MASTER=y | 1039 | CONFIG_SPI_MASTER=y |
1042 | 1040 | ||
@@ -1095,21 +1093,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1095 | # Multifunction device drivers | 1093 | # Multifunction device drivers |
1096 | # | 1094 | # |
1097 | # CONFIG_MFD_CORE is not set | 1095 | # CONFIG_MFD_CORE is not set |
1096 | # CONFIG_MFD_88PM860X is not set | ||
1098 | # CONFIG_MFD_SM501 is not set | 1097 | # CONFIG_MFD_SM501 is not set |
1099 | # CONFIG_HTC_PASIC3 is not set | 1098 | # CONFIG_HTC_PASIC3 is not set |
1100 | # CONFIG_TWL4030_CORE is not set | 1099 | # CONFIG_TWL4030_CORE is not set |
1101 | # CONFIG_MFD_TMIO is not set | 1100 | # CONFIG_MFD_TMIO is not set |
1102 | # CONFIG_PMIC_DA903X is not set | 1101 | # CONFIG_PMIC_DA903X is not set |
1103 | # CONFIG_PMIC_ADP5520 is not set | 1102 | # CONFIG_PMIC_ADP5520 is not set |
1103 | # CONFIG_MFD_MAX8925 is not set | ||
1104 | # CONFIG_MFD_WM8400 is not set | 1104 | # CONFIG_MFD_WM8400 is not set |
1105 | # CONFIG_MFD_WM831X is not set | 1105 | # CONFIG_MFD_WM831X is not set |
1106 | # CONFIG_MFD_WM8350_I2C is not set | 1106 | # CONFIG_MFD_WM8350_I2C is not set |
1107 | # CONFIG_MFD_WM8994 is not set | ||
1107 | # CONFIG_MFD_PCF50633 is not set | 1108 | # CONFIG_MFD_PCF50633 is not set |
1108 | # CONFIG_MFD_MC13783 is not set | 1109 | # CONFIG_MFD_MC13783 is not set |
1109 | # CONFIG_AB3100_CORE is not set | 1110 | # CONFIG_AB3100_CORE is not set |
1110 | # CONFIG_EZX_PCAP is not set | 1111 | # CONFIG_EZX_PCAP is not set |
1111 | # CONFIG_MFD_88PM8607 is not set | ||
1112 | # CONFIG_AB4500_CORE is not set | 1112 | # CONFIG_AB4500_CORE is not set |
1113 | # CONFIG_LPC_SCH is not set | ||
1113 | # CONFIG_REGULATOR is not set | 1114 | # CONFIG_REGULATOR is not set |
1114 | # CONFIG_MEDIA_SUPPORT is not set | 1115 | # CONFIG_MEDIA_SUPPORT is not set |
1115 | 1116 | ||
@@ -1118,6 +1119,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1118 | # | 1119 | # |
1119 | # CONFIG_AGP is not set | 1120 | # CONFIG_AGP is not set |
1120 | CONFIG_VGA_ARB=y | 1121 | CONFIG_VGA_ARB=y |
1122 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1121 | # CONFIG_DRM is not set | 1123 | # CONFIG_DRM is not set |
1122 | # CONFIG_VGASTATE is not set | 1124 | # CONFIG_VGASTATE is not set |
1123 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1125 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1222,7 +1224,6 @@ CONFIG_USB_STORAGE=y | |||
1222 | # CONFIG_USB_RIO500 is not set | 1224 | # CONFIG_USB_RIO500 is not set |
1223 | # CONFIG_USB_LEGOTOWER is not set | 1225 | # CONFIG_USB_LEGOTOWER is not set |
1224 | # CONFIG_USB_LCD is not set | 1226 | # CONFIG_USB_LCD is not set |
1225 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1226 | # CONFIG_USB_LED is not set | 1227 | # CONFIG_USB_LED is not set |
1227 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1228 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1228 | # CONFIG_USB_CYTHERM is not set | 1229 | # CONFIG_USB_CYTHERM is not set |
@@ -1235,7 +1236,6 @@ CONFIG_USB_STORAGE=y | |||
1235 | # CONFIG_USB_IOWARRIOR is not set | 1236 | # CONFIG_USB_IOWARRIOR is not set |
1236 | # CONFIG_USB_TEST is not set | 1237 | # CONFIG_USB_TEST is not set |
1237 | # CONFIG_USB_ISIGHTFW is not set | 1238 | # CONFIG_USB_ISIGHTFW is not set |
1238 | # CONFIG_USB_VST is not set | ||
1239 | # CONFIG_USB_GADGET is not set | 1239 | # CONFIG_USB_GADGET is not set |
1240 | 1240 | ||
1241 | # | 1241 | # |
@@ -1399,6 +1399,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1399 | # CONFIG_BFS_FS is not set | 1399 | # CONFIG_BFS_FS is not set |
1400 | # CONFIG_EFS_FS is not set | 1400 | # CONFIG_EFS_FS is not set |
1401 | # CONFIG_JFFS2_FS is not set | 1401 | # CONFIG_JFFS2_FS is not set |
1402 | # CONFIG_LOGFS is not set | ||
1402 | # CONFIG_CRAMFS is not set | 1403 | # CONFIG_CRAMFS is not set |
1403 | # CONFIG_SQUASHFS is not set | 1404 | # CONFIG_SQUASHFS is not set |
1404 | # CONFIG_VXFS_FS is not set | 1405 | # CONFIG_VXFS_FS is not set |
@@ -1425,6 +1426,7 @@ CONFIG_SUNRPC_GSS=y | |||
1425 | CONFIG_RPCSEC_GSS_KRB5=y | 1426 | CONFIG_RPCSEC_GSS_KRB5=y |
1426 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1427 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1427 | # CONFIG_SMB_FS is not set | 1428 | # CONFIG_SMB_FS is not set |
1429 | # CONFIG_CEPH_FS is not set | ||
1428 | # CONFIG_CIFS is not set | 1430 | # CONFIG_CIFS is not set |
1429 | # CONFIG_NCP_FS is not set | 1431 | # CONFIG_NCP_FS is not set |
1430 | # CONFIG_CODA_FS is not set | 1432 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig index 28d8ff3e8fca..41401a9b355e 100644 --- a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:20 2010 | 4 | # Mon Apr 19 23:16:44 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 319 | # Bus options |
325 | # | 320 | # |
326 | CONFIG_ZONE_DMA=y | 321 | CONFIG_ZONE_DMA=y |
322 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_GENERIC_ISA_DMA=y | 323 | CONFIG_GENERIC_ISA_DMA=y |
328 | CONFIG_PPC_INDIRECT_PCI=y | 324 | CONFIG_PPC_INDIRECT_PCI=y |
329 | CONFIG_FSL_SOC=y | 325 | CONFIG_FSL_SOC=y |
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y | |||
335 | # CONFIG_PCIEPORTBUS is not set | 331 | # CONFIG_PCIEPORTBUS is not set |
336 | CONFIG_ARCH_SUPPORTS_MSI=y | 332 | CONFIG_ARCH_SUPPORTS_MSI=y |
337 | # CONFIG_PCI_MSI is not set | 333 | # CONFIG_PCI_MSI is not set |
338 | # CONFIG_PCI_LEGACY is not set | ||
339 | # CONFIG_PCI_STUB is not set | 334 | # CONFIG_PCI_STUB is not set |
340 | # CONFIG_PCI_IOV is not set | 335 | # CONFIG_PCI_IOV is not set |
341 | # CONFIG_PCCARD is not set | 336 | # CONFIG_PCCARD is not set |
@@ -361,7 +356,6 @@ CONFIG_NET=y | |||
361 | # Networking options | 356 | # Networking options |
362 | # | 357 | # |
363 | CONFIG_PACKET=y | 358 | CONFIG_PACKET=y |
364 | # CONFIG_PACKET_MMAP is not set | ||
365 | CONFIG_UNIX=y | 359 | CONFIG_UNIX=y |
366 | CONFIG_XFRM=y | 360 | CONFIG_XFRM=y |
367 | # CONFIG_XFRM_USER is not set | 361 | # CONFIG_XFRM_USER is not set |
@@ -540,6 +534,8 @@ CONFIG_MTD_PHYSMAP=y | |||
540 | # UBI - Unsorted block images | 534 | # UBI - Unsorted block images |
541 | # | 535 | # |
542 | # CONFIG_MTD_UBI is not set | 536 | # CONFIG_MTD_UBI is not set |
537 | CONFIG_OF_FLATTREE=y | ||
538 | CONFIG_OF_DYNAMIC=y | ||
543 | CONFIG_OF_DEVICE=y | 539 | CONFIG_OF_DEVICE=y |
544 | CONFIG_OF_I2C=y | 540 | CONFIG_OF_I2C=y |
545 | CONFIG_OF_SPI=y | 541 | CONFIG_OF_SPI=y |
@@ -577,6 +573,7 @@ CONFIG_MISC_DEVICES=y | |||
577 | # CONFIG_ENCLOSURE_SERVICES is not set | 573 | # CONFIG_ENCLOSURE_SERVICES is not set |
578 | # CONFIG_HP_ILO is not set | 574 | # CONFIG_HP_ILO is not set |
579 | # CONFIG_ISL29003 is not set | 575 | # CONFIG_ISL29003 is not set |
576 | # CONFIG_SENSORS_TSL2550 is not set | ||
580 | # CONFIG_DS1682 is not set | 577 | # CONFIG_DS1682 is not set |
581 | # CONFIG_TI_DAC7512 is not set | 578 | # CONFIG_TI_DAC7512 is not set |
582 | # CONFIG_C2PORT is not set | 579 | # CONFIG_C2PORT is not set |
@@ -596,6 +593,7 @@ CONFIG_HAVE_IDE=y | |||
596 | # | 593 | # |
597 | # SCSI device support | 594 | # SCSI device support |
598 | # | 595 | # |
596 | CONFIG_SCSI_MOD=y | ||
599 | # CONFIG_RAID_ATTRS is not set | 597 | # CONFIG_RAID_ATTRS is not set |
600 | CONFIG_SCSI=y | 598 | CONFIG_SCSI=y |
601 | CONFIG_SCSI_DMA=y | 599 | CONFIG_SCSI_DMA=y |
@@ -756,6 +754,8 @@ CONFIG_NETDEV_10000=y | |||
756 | # CONFIG_CHELSIO_T1 is not set | 754 | # CONFIG_CHELSIO_T1 is not set |
757 | CONFIG_CHELSIO_T3_DEPENDS=y | 755 | CONFIG_CHELSIO_T3_DEPENDS=y |
758 | # CONFIG_CHELSIO_T3 is not set | 756 | # CONFIG_CHELSIO_T3 is not set |
757 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
758 | # CONFIG_CHELSIO_T4 is not set | ||
759 | # CONFIG_ENIC is not set | 759 | # CONFIG_ENIC is not set |
760 | # CONFIG_IXGBE is not set | 760 | # CONFIG_IXGBE is not set |
761 | # CONFIG_IXGB is not set | 761 | # CONFIG_IXGB is not set |
@@ -768,6 +768,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
768 | # CONFIG_MLX4_CORE is not set | 768 | # CONFIG_MLX4_CORE is not set |
769 | # CONFIG_TEHUTI is not set | 769 | # CONFIG_TEHUTI is not set |
770 | # CONFIG_BNX2X is not set | 770 | # CONFIG_BNX2X is not set |
771 | # CONFIG_QLCNIC is not set | ||
771 | # CONFIG_QLGE is not set | 772 | # CONFIG_QLGE is not set |
772 | # CONFIG_SFC is not set | 773 | # CONFIG_SFC is not set |
773 | # CONFIG_BE2NET is not set | 774 | # CONFIG_BE2NET is not set |
@@ -842,6 +843,7 @@ CONFIG_SERIAL_CORE=y | |||
842 | CONFIG_SERIAL_CORE_CONSOLE=y | 843 | CONFIG_SERIAL_CORE_CONSOLE=y |
843 | # CONFIG_SERIAL_JSM is not set | 844 | # CONFIG_SERIAL_JSM is not set |
844 | # CONFIG_SERIAL_OF_PLATFORM is not set | 845 | # CONFIG_SERIAL_OF_PLATFORM is not set |
846 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
845 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 847 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
846 | CONFIG_UNIX98_PTYS=y | 848 | CONFIG_UNIX98_PTYS=y |
847 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 849 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -891,6 +893,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
891 | CONFIG_I2C_MPC=y | 893 | CONFIG_I2C_MPC=y |
892 | # CONFIG_I2C_OCORES is not set | 894 | # CONFIG_I2C_OCORES is not set |
893 | # CONFIG_I2C_SIMTEC is not set | 895 | # CONFIG_I2C_SIMTEC is not set |
896 | # CONFIG_I2C_XILINX is not set | ||
894 | 897 | ||
895 | # | 898 | # |
896 | # External I2C/SMBus adapter drivers | 899 | # External I2C/SMBus adapter drivers |
@@ -904,15 +907,9 @@ CONFIG_I2C_MPC=y | |||
904 | # | 907 | # |
905 | # CONFIG_I2C_PCA_PLATFORM is not set | 908 | # CONFIG_I2C_PCA_PLATFORM is not set |
906 | # CONFIG_I2C_STUB is not set | 909 | # CONFIG_I2C_STUB is not set |
907 | |||
908 | # | ||
909 | # Miscellaneous I2C Chip support | ||
910 | # | ||
911 | # CONFIG_SENSORS_TSL2550 is not set | ||
912 | # CONFIG_I2C_DEBUG_CORE is not set | 910 | # CONFIG_I2C_DEBUG_CORE is not set |
913 | # CONFIG_I2C_DEBUG_ALGO is not set | 911 | # CONFIG_I2C_DEBUG_ALGO is not set |
914 | # CONFIG_I2C_DEBUG_BUS is not set | 912 | # CONFIG_I2C_DEBUG_BUS is not set |
915 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
916 | CONFIG_SPI=y | 913 | CONFIG_SPI=y |
917 | CONFIG_SPI_MASTER=y | 914 | CONFIG_SPI_MASTER=y |
918 | 915 | ||
@@ -971,21 +968,24 @@ CONFIG_SSB_POSSIBLE=y | |||
971 | # Multifunction device drivers | 968 | # Multifunction device drivers |
972 | # | 969 | # |
973 | # CONFIG_MFD_CORE is not set | 970 | # CONFIG_MFD_CORE is not set |
971 | # CONFIG_MFD_88PM860X is not set | ||
974 | # CONFIG_MFD_SM501 is not set | 972 | # CONFIG_MFD_SM501 is not set |
975 | # CONFIG_HTC_PASIC3 is not set | 973 | # CONFIG_HTC_PASIC3 is not set |
976 | # CONFIG_TWL4030_CORE is not set | 974 | # CONFIG_TWL4030_CORE is not set |
977 | # CONFIG_MFD_TMIO is not set | 975 | # CONFIG_MFD_TMIO is not set |
978 | # CONFIG_PMIC_DA903X is not set | 976 | # CONFIG_PMIC_DA903X is not set |
979 | # CONFIG_PMIC_ADP5520 is not set | 977 | # CONFIG_PMIC_ADP5520 is not set |
978 | # CONFIG_MFD_MAX8925 is not set | ||
980 | # CONFIG_MFD_WM8400 is not set | 979 | # CONFIG_MFD_WM8400 is not set |
981 | # CONFIG_MFD_WM831X is not set | 980 | # CONFIG_MFD_WM831X is not set |
982 | # CONFIG_MFD_WM8350_I2C is not set | 981 | # CONFIG_MFD_WM8350_I2C is not set |
982 | # CONFIG_MFD_WM8994 is not set | ||
983 | # CONFIG_MFD_PCF50633 is not set | 983 | # CONFIG_MFD_PCF50633 is not set |
984 | # CONFIG_MFD_MC13783 is not set | 984 | # CONFIG_MFD_MC13783 is not set |
985 | # CONFIG_AB3100_CORE is not set | 985 | # CONFIG_AB3100_CORE is not set |
986 | # CONFIG_EZX_PCAP is not set | 986 | # CONFIG_EZX_PCAP is not set |
987 | # CONFIG_MFD_88PM8607 is not set | ||
988 | # CONFIG_AB4500_CORE is not set | 987 | # CONFIG_AB4500_CORE is not set |
988 | # CONFIG_LPC_SCH is not set | ||
989 | # CONFIG_REGULATOR is not set | 989 | # CONFIG_REGULATOR is not set |
990 | # CONFIG_MEDIA_SUPPORT is not set | 990 | # CONFIG_MEDIA_SUPPORT is not set |
991 | 991 | ||
@@ -994,6 +994,7 @@ CONFIG_SSB_POSSIBLE=y | |||
994 | # | 994 | # |
995 | # CONFIG_AGP is not set | 995 | # CONFIG_AGP is not set |
996 | CONFIG_VGA_ARB=y | 996 | CONFIG_VGA_ARB=y |
997 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
997 | # CONFIG_DRM is not set | 998 | # CONFIG_DRM is not set |
998 | # CONFIG_VGASTATE is not set | 999 | # CONFIG_VGASTATE is not set |
999 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1000 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1098,7 +1099,6 @@ CONFIG_USB_STORAGE=y | |||
1098 | # CONFIG_USB_RIO500 is not set | 1099 | # CONFIG_USB_RIO500 is not set |
1099 | # CONFIG_USB_LEGOTOWER is not set | 1100 | # CONFIG_USB_LEGOTOWER is not set |
1100 | # CONFIG_USB_LCD is not set | 1101 | # CONFIG_USB_LCD is not set |
1101 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1102 | # CONFIG_USB_LED is not set | 1102 | # CONFIG_USB_LED is not set |
1103 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1103 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1104 | # CONFIG_USB_CYTHERM is not set | 1104 | # CONFIG_USB_CYTHERM is not set |
@@ -1111,7 +1111,6 @@ CONFIG_USB_STORAGE=y | |||
1111 | # CONFIG_USB_IOWARRIOR is not set | 1111 | # CONFIG_USB_IOWARRIOR is not set |
1112 | # CONFIG_USB_TEST is not set | 1112 | # CONFIG_USB_TEST is not set |
1113 | # CONFIG_USB_ISIGHTFW is not set | 1113 | # CONFIG_USB_ISIGHTFW is not set |
1114 | # CONFIG_USB_VST is not set | ||
1115 | # CONFIG_USB_GADGET is not set | 1114 | # CONFIG_USB_GADGET is not set |
1116 | 1115 | ||
1117 | # | 1116 | # |
@@ -1275,6 +1274,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1275 | # CONFIG_BFS_FS is not set | 1274 | # CONFIG_BFS_FS is not set |
1276 | # CONFIG_EFS_FS is not set | 1275 | # CONFIG_EFS_FS is not set |
1277 | # CONFIG_JFFS2_FS is not set | 1276 | # CONFIG_JFFS2_FS is not set |
1277 | # CONFIG_LOGFS is not set | ||
1278 | # CONFIG_CRAMFS is not set | 1278 | # CONFIG_CRAMFS is not set |
1279 | # CONFIG_SQUASHFS is not set | 1279 | # CONFIG_SQUASHFS is not set |
1280 | # CONFIG_VXFS_FS is not set | 1280 | # CONFIG_VXFS_FS is not set |
@@ -1301,6 +1301,7 @@ CONFIG_SUNRPC_GSS=y | |||
1301 | CONFIG_RPCSEC_GSS_KRB5=y | 1301 | CONFIG_RPCSEC_GSS_KRB5=y |
1302 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1302 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1303 | # CONFIG_SMB_FS is not set | 1303 | # CONFIG_SMB_FS is not set |
1304 | # CONFIG_CEPH_FS is not set | ||
1304 | # CONFIG_CIFS is not set | 1305 | # CONFIG_CIFS is not set |
1305 | # CONFIG_NCP_FS is not set | 1306 | # CONFIG_NCP_FS is not set |
1306 | # CONFIG_CODA_FS is not set | 1307 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig index 6252ab5bf181..dc176b676dce 100644 --- a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:21 2010 | 4 | # Mon Apr 19 23:16:45 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 319 | # Bus options |
325 | # | 320 | # |
326 | CONFIG_ZONE_DMA=y | 321 | CONFIG_ZONE_DMA=y |
322 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_GENERIC_ISA_DMA=y | 323 | CONFIG_GENERIC_ISA_DMA=y |
328 | CONFIG_PPC_INDIRECT_PCI=y | 324 | CONFIG_PPC_INDIRECT_PCI=y |
329 | CONFIG_FSL_SOC=y | 325 | CONFIG_FSL_SOC=y |
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y | |||
335 | # CONFIG_PCIEPORTBUS is not set | 331 | # CONFIG_PCIEPORTBUS is not set |
336 | CONFIG_ARCH_SUPPORTS_MSI=y | 332 | CONFIG_ARCH_SUPPORTS_MSI=y |
337 | # CONFIG_PCI_MSI is not set | 333 | # CONFIG_PCI_MSI is not set |
338 | # CONFIG_PCI_LEGACY is not set | ||
339 | # CONFIG_PCI_STUB is not set | 334 | # CONFIG_PCI_STUB is not set |
340 | # CONFIG_PCI_IOV is not set | 335 | # CONFIG_PCI_IOV is not set |
341 | # CONFIG_PCCARD is not set | 336 | # CONFIG_PCCARD is not set |
@@ -361,7 +356,6 @@ CONFIG_NET=y | |||
361 | # Networking options | 356 | # Networking options |
362 | # | 357 | # |
363 | CONFIG_PACKET=y | 358 | CONFIG_PACKET=y |
364 | # CONFIG_PACKET_MMAP is not set | ||
365 | CONFIG_UNIX=y | 359 | CONFIG_UNIX=y |
366 | CONFIG_XFRM=y | 360 | CONFIG_XFRM=y |
367 | CONFIG_XFRM_USER=m | 361 | CONFIG_XFRM_USER=m |
@@ -456,6 +450,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
456 | # CONFIG_SYS_HYPERVISOR is not set | 450 | # CONFIG_SYS_HYPERVISOR is not set |
457 | # CONFIG_CONNECTOR is not set | 451 | # CONFIG_CONNECTOR is not set |
458 | # CONFIG_MTD is not set | 452 | # CONFIG_MTD is not set |
453 | CONFIG_OF_FLATTREE=y | ||
454 | CONFIG_OF_DYNAMIC=y | ||
459 | CONFIG_OF_DEVICE=y | 455 | CONFIG_OF_DEVICE=y |
460 | CONFIG_OF_I2C=y | 456 | CONFIG_OF_I2C=y |
461 | CONFIG_OF_MDIO=y | 457 | CONFIG_OF_MDIO=y |
@@ -491,6 +487,7 @@ CONFIG_MISC_DEVICES=y | |||
491 | # CONFIG_ENCLOSURE_SERVICES is not set | 487 | # CONFIG_ENCLOSURE_SERVICES is not set |
492 | # CONFIG_HP_ILO is not set | 488 | # CONFIG_HP_ILO is not set |
493 | # CONFIG_ISL29003 is not set | 489 | # CONFIG_ISL29003 is not set |
490 | # CONFIG_SENSORS_TSL2550 is not set | ||
494 | # CONFIG_DS1682 is not set | 491 | # CONFIG_DS1682 is not set |
495 | # CONFIG_C2PORT is not set | 492 | # CONFIG_C2PORT is not set |
496 | 493 | ||
@@ -508,6 +505,7 @@ CONFIG_HAVE_IDE=y | |||
508 | # | 505 | # |
509 | # SCSI device support | 506 | # SCSI device support |
510 | # | 507 | # |
508 | CONFIG_SCSI_MOD=y | ||
511 | # CONFIG_RAID_ATTRS is not set | 509 | # CONFIG_RAID_ATTRS is not set |
512 | # CONFIG_SCSI is not set | 510 | # CONFIG_SCSI is not set |
513 | # CONFIG_SCSI_DMA is not set | 511 | # CONFIG_SCSI_DMA is not set |
@@ -580,6 +578,7 @@ CONFIG_NET_PCI=y | |||
580 | # CONFIG_PCNET32 is not set | 578 | # CONFIG_PCNET32 is not set |
581 | # CONFIG_AMD8111_ETH is not set | 579 | # CONFIG_AMD8111_ETH is not set |
582 | # CONFIG_ADAPTEC_STARFIRE is not set | 580 | # CONFIG_ADAPTEC_STARFIRE is not set |
581 | # CONFIG_KSZ884X_PCI is not set | ||
583 | # CONFIG_B44 is not set | 582 | # CONFIG_B44 is not set |
584 | # CONFIG_FORCEDETH is not set | 583 | # CONFIG_FORCEDETH is not set |
585 | CONFIG_E100=y | 584 | CONFIG_E100=y |
@@ -631,6 +630,8 @@ CONFIG_NETDEV_10000=y | |||
631 | # CONFIG_CHELSIO_T1 is not set | 630 | # CONFIG_CHELSIO_T1 is not set |
632 | CONFIG_CHELSIO_T3_DEPENDS=y | 631 | CONFIG_CHELSIO_T3_DEPENDS=y |
633 | # CONFIG_CHELSIO_T3 is not set | 632 | # CONFIG_CHELSIO_T3 is not set |
633 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
634 | # CONFIG_CHELSIO_T4 is not set | ||
634 | # CONFIG_ENIC is not set | 635 | # CONFIG_ENIC is not set |
635 | # CONFIG_IXGBE is not set | 636 | # CONFIG_IXGBE is not set |
636 | # CONFIG_IXGB is not set | 637 | # CONFIG_IXGB is not set |
@@ -643,6 +644,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
643 | # CONFIG_MLX4_CORE is not set | 644 | # CONFIG_MLX4_CORE is not set |
644 | # CONFIG_TEHUTI is not set | 645 | # CONFIG_TEHUTI is not set |
645 | # CONFIG_BNX2X is not set | 646 | # CONFIG_BNX2X is not set |
647 | # CONFIG_QLCNIC is not set | ||
646 | # CONFIG_QLGE is not set | 648 | # CONFIG_QLGE is not set |
647 | # CONFIG_SFC is not set | 649 | # CONFIG_SFC is not set |
648 | # CONFIG_BE2NET is not set | 650 | # CONFIG_BE2NET is not set |
@@ -726,6 +728,7 @@ CONFIG_SERIAL_CORE=y | |||
726 | CONFIG_SERIAL_CORE_CONSOLE=y | 728 | CONFIG_SERIAL_CORE_CONSOLE=y |
727 | # CONFIG_SERIAL_JSM is not set | 729 | # CONFIG_SERIAL_JSM is not set |
728 | # CONFIG_SERIAL_OF_PLATFORM is not set | 730 | # CONFIG_SERIAL_OF_PLATFORM is not set |
731 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
729 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 732 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
730 | CONFIG_UNIX98_PTYS=y | 733 | CONFIG_UNIX98_PTYS=y |
731 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 734 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -774,6 +777,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
774 | CONFIG_I2C_MPC=y | 777 | CONFIG_I2C_MPC=y |
775 | # CONFIG_I2C_OCORES is not set | 778 | # CONFIG_I2C_OCORES is not set |
776 | # CONFIG_I2C_SIMTEC is not set | 779 | # CONFIG_I2C_SIMTEC is not set |
780 | # CONFIG_I2C_XILINX is not set | ||
777 | 781 | ||
778 | # | 782 | # |
779 | # External I2C/SMBus adapter drivers | 783 | # External I2C/SMBus adapter drivers |
@@ -786,15 +790,9 @@ CONFIG_I2C_MPC=y | |||
786 | # | 790 | # |
787 | # CONFIG_I2C_PCA_PLATFORM is not set | 791 | # CONFIG_I2C_PCA_PLATFORM is not set |
788 | # CONFIG_I2C_STUB is not set | 792 | # CONFIG_I2C_STUB is not set |
789 | |||
790 | # | ||
791 | # Miscellaneous I2C Chip support | ||
792 | # | ||
793 | # CONFIG_SENSORS_TSL2550 is not set | ||
794 | # CONFIG_I2C_DEBUG_CORE is not set | 793 | # CONFIG_I2C_DEBUG_CORE is not set |
795 | # CONFIG_I2C_DEBUG_ALGO is not set | 794 | # CONFIG_I2C_DEBUG_ALGO is not set |
796 | # CONFIG_I2C_DEBUG_BUS is not set | 795 | # CONFIG_I2C_DEBUG_BUS is not set |
797 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
798 | # CONFIG_SPI is not set | 796 | # CONFIG_SPI is not set |
799 | 797 | ||
800 | # | 798 | # |
@@ -820,10 +818,11 @@ CONFIG_HWMON=y | |||
820 | # CONFIG_SENSORS_ADM1029 is not set | 818 | # CONFIG_SENSORS_ADM1029 is not set |
821 | # CONFIG_SENSORS_ADM1031 is not set | 819 | # CONFIG_SENSORS_ADM1031 is not set |
822 | # CONFIG_SENSORS_ADM9240 is not set | 820 | # CONFIG_SENSORS_ADM9240 is not set |
821 | # CONFIG_SENSORS_ADT7411 is not set | ||
823 | # CONFIG_SENSORS_ADT7462 is not set | 822 | # CONFIG_SENSORS_ADT7462 is not set |
824 | # CONFIG_SENSORS_ADT7470 is not set | 823 | # CONFIG_SENSORS_ADT7470 is not set |
825 | # CONFIG_SENSORS_ADT7473 is not set | ||
826 | # CONFIG_SENSORS_ADT7475 is not set | 824 | # CONFIG_SENSORS_ADT7475 is not set |
825 | # CONFIG_SENSORS_ASC7621 is not set | ||
827 | # CONFIG_SENSORS_ATXP1 is not set | 826 | # CONFIG_SENSORS_ATXP1 is not set |
828 | # CONFIG_SENSORS_DS1621 is not set | 827 | # CONFIG_SENSORS_DS1621 is not set |
829 | # CONFIG_SENSORS_I5K_AMB is not set | 828 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -860,6 +859,7 @@ CONFIG_HWMON=y | |||
860 | # CONFIG_SENSORS_SMSC47M192 is not set | 859 | # CONFIG_SENSORS_SMSC47M192 is not set |
861 | # CONFIG_SENSORS_SMSC47B397 is not set | 860 | # CONFIG_SENSORS_SMSC47B397 is not set |
862 | # CONFIG_SENSORS_ADS7828 is not set | 861 | # CONFIG_SENSORS_ADS7828 is not set |
862 | # CONFIG_SENSORS_AMC6821 is not set | ||
863 | # CONFIG_SENSORS_THMC50 is not set | 863 | # CONFIG_SENSORS_THMC50 is not set |
864 | # CONFIG_SENSORS_TMP401 is not set | 864 | # CONFIG_SENSORS_TMP401 is not set |
865 | # CONFIG_SENSORS_TMP421 is not set | 865 | # CONFIG_SENSORS_TMP421 is not set |
@@ -902,18 +902,21 @@ CONFIG_SSB_POSSIBLE=y | |||
902 | # Multifunction device drivers | 902 | # Multifunction device drivers |
903 | # | 903 | # |
904 | # CONFIG_MFD_CORE is not set | 904 | # CONFIG_MFD_CORE is not set |
905 | # CONFIG_MFD_88PM860X is not set | ||
905 | # CONFIG_MFD_SM501 is not set | 906 | # CONFIG_MFD_SM501 is not set |
906 | # CONFIG_HTC_PASIC3 is not set | 907 | # CONFIG_HTC_PASIC3 is not set |
907 | # CONFIG_TWL4030_CORE is not set | 908 | # CONFIG_TWL4030_CORE is not set |
908 | # CONFIG_MFD_TMIO is not set | 909 | # CONFIG_MFD_TMIO is not set |
909 | # CONFIG_PMIC_DA903X is not set | 910 | # CONFIG_PMIC_DA903X is not set |
910 | # CONFIG_PMIC_ADP5520 is not set | 911 | # CONFIG_PMIC_ADP5520 is not set |
912 | # CONFIG_MFD_MAX8925 is not set | ||
911 | # CONFIG_MFD_WM8400 is not set | 913 | # CONFIG_MFD_WM8400 is not set |
912 | # CONFIG_MFD_WM831X is not set | 914 | # CONFIG_MFD_WM831X is not set |
913 | # CONFIG_MFD_WM8350_I2C is not set | 915 | # CONFIG_MFD_WM8350_I2C is not set |
916 | # CONFIG_MFD_WM8994 is not set | ||
914 | # CONFIG_MFD_PCF50633 is not set | 917 | # CONFIG_MFD_PCF50633 is not set |
915 | # CONFIG_AB3100_CORE is not set | 918 | # CONFIG_AB3100_CORE is not set |
916 | # CONFIG_MFD_88PM8607 is not set | 919 | # CONFIG_LPC_SCH is not set |
917 | # CONFIG_REGULATOR is not set | 920 | # CONFIG_REGULATOR is not set |
918 | # CONFIG_MEDIA_SUPPORT is not set | 921 | # CONFIG_MEDIA_SUPPORT is not set |
919 | 922 | ||
@@ -922,6 +925,7 @@ CONFIG_SSB_POSSIBLE=y | |||
922 | # | 925 | # |
923 | # CONFIG_AGP is not set | 926 | # CONFIG_AGP is not set |
924 | CONFIG_VGA_ARB=y | 927 | CONFIG_VGA_ARB=y |
928 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
925 | # CONFIG_DRM is not set | 929 | # CONFIG_DRM is not set |
926 | # CONFIG_VGASTATE is not set | 930 | # CONFIG_VGASTATE is not set |
927 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 931 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1106,6 +1110,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1106 | # CONFIG_BEFS_FS is not set | 1110 | # CONFIG_BEFS_FS is not set |
1107 | # CONFIG_BFS_FS is not set | 1111 | # CONFIG_BFS_FS is not set |
1108 | # CONFIG_EFS_FS is not set | 1112 | # CONFIG_EFS_FS is not set |
1113 | # CONFIG_LOGFS is not set | ||
1109 | # CONFIG_CRAMFS is not set | 1114 | # CONFIG_CRAMFS is not set |
1110 | # CONFIG_SQUASHFS is not set | 1115 | # CONFIG_SQUASHFS is not set |
1111 | # CONFIG_VXFS_FS is not set | 1116 | # CONFIG_VXFS_FS is not set |
@@ -1132,6 +1137,7 @@ CONFIG_SUNRPC_GSS=y | |||
1132 | CONFIG_RPCSEC_GSS_KRB5=y | 1137 | CONFIG_RPCSEC_GSS_KRB5=y |
1133 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1138 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1134 | # CONFIG_SMB_FS is not set | 1139 | # CONFIG_SMB_FS is not set |
1140 | # CONFIG_CEPH_FS is not set | ||
1135 | # CONFIG_CIFS is not set | 1141 | # CONFIG_CIFS is not set |
1136 | # CONFIG_NCP_FS is not set | 1142 | # CONFIG_NCP_FS is not set |
1137 | # CONFIG_CODA_FS is not set | 1143 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig index 78227378e678..f512972c7176 100644 --- a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:21 2010 | 4 | # Mon Apr 19 23:16:46 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -323,6 +318,7 @@ CONFIG_ISA_DMA_API=y | |||
323 | # Bus options | 318 | # Bus options |
324 | # | 319 | # |
325 | CONFIG_ZONE_DMA=y | 320 | CONFIG_ZONE_DMA=y |
321 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
326 | CONFIG_GENERIC_ISA_DMA=y | 322 | CONFIG_GENERIC_ISA_DMA=y |
327 | CONFIG_PPC_INDIRECT_PCI=y | 323 | CONFIG_PPC_INDIRECT_PCI=y |
328 | CONFIG_FSL_SOC=y | 324 | CONFIG_FSL_SOC=y |
@@ -334,7 +330,6 @@ CONFIG_PCI_SYSCALL=y | |||
334 | # CONFIG_PCIEPORTBUS is not set | 330 | # CONFIG_PCIEPORTBUS is not set |
335 | CONFIG_ARCH_SUPPORTS_MSI=y | 331 | CONFIG_ARCH_SUPPORTS_MSI=y |
336 | # CONFIG_PCI_MSI is not set | 332 | # CONFIG_PCI_MSI is not set |
337 | # CONFIG_PCI_LEGACY is not set | ||
338 | # CONFIG_PCI_STUB is not set | 333 | # CONFIG_PCI_STUB is not set |
339 | # CONFIG_PCI_IOV is not set | 334 | # CONFIG_PCI_IOV is not set |
340 | # CONFIG_PCCARD is not set | 335 | # CONFIG_PCCARD is not set |
@@ -360,7 +355,6 @@ CONFIG_NET=y | |||
360 | # Networking options | 355 | # Networking options |
361 | # | 356 | # |
362 | CONFIG_PACKET=y | 357 | CONFIG_PACKET=y |
363 | # CONFIG_PACKET_MMAP is not set | ||
364 | CONFIG_UNIX=y | 358 | CONFIG_UNIX=y |
365 | CONFIG_XFRM=y | 359 | CONFIG_XFRM=y |
366 | # CONFIG_XFRM_USER is not set | 360 | # CONFIG_XFRM_USER is not set |
@@ -538,6 +532,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
538 | # UBI - Unsorted block images | 532 | # UBI - Unsorted block images |
539 | # | 533 | # |
540 | # CONFIG_MTD_UBI is not set | 534 | # CONFIG_MTD_UBI is not set |
535 | CONFIG_OF_FLATTREE=y | ||
536 | CONFIG_OF_DYNAMIC=y | ||
541 | CONFIG_OF_DEVICE=y | 537 | CONFIG_OF_DEVICE=y |
542 | CONFIG_OF_I2C=y | 538 | CONFIG_OF_I2C=y |
543 | CONFIG_OF_MDIO=y | 539 | CONFIG_OF_MDIO=y |
@@ -573,6 +569,7 @@ CONFIG_MISC_DEVICES=y | |||
573 | # CONFIG_ENCLOSURE_SERVICES is not set | 569 | # CONFIG_ENCLOSURE_SERVICES is not set |
574 | # CONFIG_HP_ILO is not set | 570 | # CONFIG_HP_ILO is not set |
575 | # CONFIG_ISL29003 is not set | 571 | # CONFIG_ISL29003 is not set |
572 | # CONFIG_SENSORS_TSL2550 is not set | ||
576 | # CONFIG_DS1682 is not set | 573 | # CONFIG_DS1682 is not set |
577 | # CONFIG_C2PORT is not set | 574 | # CONFIG_C2PORT is not set |
578 | 575 | ||
@@ -590,6 +587,7 @@ CONFIG_HAVE_IDE=y | |||
590 | # | 587 | # |
591 | # SCSI device support | 588 | # SCSI device support |
592 | # | 589 | # |
590 | CONFIG_SCSI_MOD=y | ||
593 | # CONFIG_RAID_ATTRS is not set | 591 | # CONFIG_RAID_ATTRS is not set |
594 | CONFIG_SCSI=y | 592 | CONFIG_SCSI=y |
595 | CONFIG_SCSI_DMA=y | 593 | CONFIG_SCSI_DMA=y |
@@ -774,6 +772,8 @@ CONFIG_NETDEV_10000=y | |||
774 | # CONFIG_CHELSIO_T1 is not set | 772 | # CONFIG_CHELSIO_T1 is not set |
775 | CONFIG_CHELSIO_T3_DEPENDS=y | 773 | CONFIG_CHELSIO_T3_DEPENDS=y |
776 | # CONFIG_CHELSIO_T3 is not set | 774 | # CONFIG_CHELSIO_T3 is not set |
775 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
776 | # CONFIG_CHELSIO_T4 is not set | ||
777 | # CONFIG_ENIC is not set | 777 | # CONFIG_ENIC is not set |
778 | # CONFIG_IXGBE is not set | 778 | # CONFIG_IXGBE is not set |
779 | # CONFIG_IXGB is not set | 779 | # CONFIG_IXGB is not set |
@@ -786,6 +786,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
786 | # CONFIG_MLX4_CORE is not set | 786 | # CONFIG_MLX4_CORE is not set |
787 | # CONFIG_TEHUTI is not set | 787 | # CONFIG_TEHUTI is not set |
788 | # CONFIG_BNX2X is not set | 788 | # CONFIG_BNX2X is not set |
789 | # CONFIG_QLCNIC is not set | ||
789 | # CONFIG_QLGE is not set | 790 | # CONFIG_QLGE is not set |
790 | # CONFIG_SFC is not set | 791 | # CONFIG_SFC is not set |
791 | # CONFIG_BE2NET is not set | 792 | # CONFIG_BE2NET is not set |
@@ -871,6 +872,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
871 | # CONFIG_SERIAL_JSM is not set | 872 | # CONFIG_SERIAL_JSM is not set |
872 | # CONFIG_SERIAL_OF_PLATFORM is not set | 873 | # CONFIG_SERIAL_OF_PLATFORM is not set |
873 | # CONFIG_SERIAL_QE is not set | 874 | # CONFIG_SERIAL_QE is not set |
875 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
874 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 876 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
875 | CONFIG_UNIX98_PTYS=y | 877 | CONFIG_UNIX98_PTYS=y |
876 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 878 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -920,6 +922,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
920 | CONFIG_I2C_MPC=y | 922 | CONFIG_I2C_MPC=y |
921 | # CONFIG_I2C_OCORES is not set | 923 | # CONFIG_I2C_OCORES is not set |
922 | # CONFIG_I2C_SIMTEC is not set | 924 | # CONFIG_I2C_SIMTEC is not set |
925 | # CONFIG_I2C_XILINX is not set | ||
923 | 926 | ||
924 | # | 927 | # |
925 | # External I2C/SMBus adapter drivers | 928 | # External I2C/SMBus adapter drivers |
@@ -932,15 +935,9 @@ CONFIG_I2C_MPC=y | |||
932 | # | 935 | # |
933 | # CONFIG_I2C_PCA_PLATFORM is not set | 936 | # CONFIG_I2C_PCA_PLATFORM is not set |
934 | # CONFIG_I2C_STUB is not set | 937 | # CONFIG_I2C_STUB is not set |
935 | |||
936 | # | ||
937 | # Miscellaneous I2C Chip support | ||
938 | # | ||
939 | # CONFIG_SENSORS_TSL2550 is not set | ||
940 | # CONFIG_I2C_DEBUG_CORE is not set | 938 | # CONFIG_I2C_DEBUG_CORE is not set |
941 | # CONFIG_I2C_DEBUG_ALGO is not set | 939 | # CONFIG_I2C_DEBUG_ALGO is not set |
942 | # CONFIG_I2C_DEBUG_BUS is not set | 940 | # CONFIG_I2C_DEBUG_BUS is not set |
943 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
944 | # CONFIG_SPI is not set | 941 | # CONFIG_SPI is not set |
945 | 942 | ||
946 | # | 943 | # |
@@ -966,10 +963,11 @@ CONFIG_HWMON=y | |||
966 | # CONFIG_SENSORS_ADM1029 is not set | 963 | # CONFIG_SENSORS_ADM1029 is not set |
967 | # CONFIG_SENSORS_ADM1031 is not set | 964 | # CONFIG_SENSORS_ADM1031 is not set |
968 | # CONFIG_SENSORS_ADM9240 is not set | 965 | # CONFIG_SENSORS_ADM9240 is not set |
966 | # CONFIG_SENSORS_ADT7411 is not set | ||
969 | # CONFIG_SENSORS_ADT7462 is not set | 967 | # CONFIG_SENSORS_ADT7462 is not set |
970 | # CONFIG_SENSORS_ADT7470 is not set | 968 | # CONFIG_SENSORS_ADT7470 is not set |
971 | # CONFIG_SENSORS_ADT7473 is not set | ||
972 | # CONFIG_SENSORS_ADT7475 is not set | 969 | # CONFIG_SENSORS_ADT7475 is not set |
970 | # CONFIG_SENSORS_ASC7621 is not set | ||
973 | # CONFIG_SENSORS_ATXP1 is not set | 971 | # CONFIG_SENSORS_ATXP1 is not set |
974 | # CONFIG_SENSORS_DS1621 is not set | 972 | # CONFIG_SENSORS_DS1621 is not set |
975 | # CONFIG_SENSORS_I5K_AMB is not set | 973 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1006,6 +1004,7 @@ CONFIG_HWMON=y | |||
1006 | # CONFIG_SENSORS_SMSC47M192 is not set | 1004 | # CONFIG_SENSORS_SMSC47M192 is not set |
1007 | # CONFIG_SENSORS_SMSC47B397 is not set | 1005 | # CONFIG_SENSORS_SMSC47B397 is not set |
1008 | # CONFIG_SENSORS_ADS7828 is not set | 1006 | # CONFIG_SENSORS_ADS7828 is not set |
1007 | # CONFIG_SENSORS_AMC6821 is not set | ||
1009 | # CONFIG_SENSORS_THMC50 is not set | 1008 | # CONFIG_SENSORS_THMC50 is not set |
1010 | # CONFIG_SENSORS_TMP401 is not set | 1009 | # CONFIG_SENSORS_TMP401 is not set |
1011 | # CONFIG_SENSORS_TMP421 is not set | 1010 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1048,18 +1047,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1048 | # Multifunction device drivers | 1047 | # Multifunction device drivers |
1049 | # | 1048 | # |
1050 | # CONFIG_MFD_CORE is not set | 1049 | # CONFIG_MFD_CORE is not set |
1050 | # CONFIG_MFD_88PM860X is not set | ||
1051 | # CONFIG_MFD_SM501 is not set | 1051 | # CONFIG_MFD_SM501 is not set |
1052 | # CONFIG_HTC_PASIC3 is not set | 1052 | # CONFIG_HTC_PASIC3 is not set |
1053 | # CONFIG_TWL4030_CORE is not set | 1053 | # CONFIG_TWL4030_CORE is not set |
1054 | # CONFIG_MFD_TMIO is not set | 1054 | # CONFIG_MFD_TMIO is not set |
1055 | # CONFIG_PMIC_DA903X is not set | 1055 | # CONFIG_PMIC_DA903X is not set |
1056 | # CONFIG_PMIC_ADP5520 is not set | 1056 | # CONFIG_PMIC_ADP5520 is not set |
1057 | # CONFIG_MFD_MAX8925 is not set | ||
1057 | # CONFIG_MFD_WM8400 is not set | 1058 | # CONFIG_MFD_WM8400 is not set |
1058 | # CONFIG_MFD_WM831X is not set | 1059 | # CONFIG_MFD_WM831X is not set |
1059 | # CONFIG_MFD_WM8350_I2C is not set | 1060 | # CONFIG_MFD_WM8350_I2C is not set |
1061 | # CONFIG_MFD_WM8994 is not set | ||
1060 | # CONFIG_MFD_PCF50633 is not set | 1062 | # CONFIG_MFD_PCF50633 is not set |
1061 | # CONFIG_AB3100_CORE is not set | 1063 | # CONFIG_AB3100_CORE is not set |
1062 | # CONFIG_MFD_88PM8607 is not set | 1064 | # CONFIG_LPC_SCH is not set |
1063 | # CONFIG_REGULATOR is not set | 1065 | # CONFIG_REGULATOR is not set |
1064 | # CONFIG_MEDIA_SUPPORT is not set | 1066 | # CONFIG_MEDIA_SUPPORT is not set |
1065 | 1067 | ||
@@ -1068,6 +1070,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1068 | # | 1070 | # |
1069 | # CONFIG_AGP is not set | 1071 | # CONFIG_AGP is not set |
1070 | CONFIG_VGA_ARB=y | 1072 | CONFIG_VGA_ARB=y |
1073 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1071 | # CONFIG_DRM is not set | 1074 | # CONFIG_DRM is not set |
1072 | # CONFIG_VGASTATE is not set | 1075 | # CONFIG_VGASTATE is not set |
1073 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1076 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1253,6 +1256,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1253 | # CONFIG_BFS_FS is not set | 1256 | # CONFIG_BFS_FS is not set |
1254 | # CONFIG_EFS_FS is not set | 1257 | # CONFIG_EFS_FS is not set |
1255 | # CONFIG_JFFS2_FS is not set | 1258 | # CONFIG_JFFS2_FS is not set |
1259 | # CONFIG_LOGFS is not set | ||
1256 | # CONFIG_CRAMFS is not set | 1260 | # CONFIG_CRAMFS is not set |
1257 | # CONFIG_SQUASHFS is not set | 1261 | # CONFIG_SQUASHFS is not set |
1258 | # CONFIG_VXFS_FS is not set | 1262 | # CONFIG_VXFS_FS is not set |
@@ -1279,6 +1283,7 @@ CONFIG_SUNRPC_GSS=y | |||
1279 | CONFIG_RPCSEC_GSS_KRB5=y | 1283 | CONFIG_RPCSEC_GSS_KRB5=y |
1280 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1284 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1281 | # CONFIG_SMB_FS is not set | 1285 | # CONFIG_SMB_FS is not set |
1286 | # CONFIG_CEPH_FS is not set | ||
1282 | # CONFIG_CIFS is not set | 1287 | # CONFIG_CIFS is not set |
1283 | # CONFIG_NCP_FS is not set | 1288 | # CONFIG_NCP_FS is not set |
1284 | # CONFIG_CODA_FS is not set | 1289 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig index 9451d6e5c802..77abfe8ff198 100644 --- a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig +++ b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:23 2010 | 4 | # Mon Apr 19 23:16:47 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -97,14 +97,8 @@ CONFIG_RCU_FANOUT=32 | |||
97 | # CONFIG_TREE_RCU_TRACE is not set | 97 | # CONFIG_TREE_RCU_TRACE is not set |
98 | # CONFIG_IKCONFIG is not set | 98 | # CONFIG_IKCONFIG is not set |
99 | CONFIG_LOG_BUF_SHIFT=14 | 99 | CONFIG_LOG_BUF_SHIFT=14 |
100 | CONFIG_GROUP_SCHED=y | ||
101 | CONFIG_FAIR_GROUP_SCHED=y | ||
102 | # CONFIG_RT_GROUP_SCHED is not set | ||
103 | CONFIG_USER_SCHED=y | ||
104 | # CONFIG_CGROUP_SCHED is not set | ||
105 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
106 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
107 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
108 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
109 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
110 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
@@ -112,6 +106,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
112 | CONFIG_RD_GZIP=y | 106 | CONFIG_RD_GZIP=y |
113 | # CONFIG_RD_BZIP2 is not set | 107 | # CONFIG_RD_BZIP2 is not set |
114 | # CONFIG_RD_LZMA is not set | 108 | # CONFIG_RD_LZMA is not set |
109 | # CONFIG_RD_LZO is not set | ||
115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 110 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
116 | CONFIG_SYSCTL=y | 111 | CONFIG_SYSCTL=y |
117 | CONFIG_ANON_INODES=y | 112 | CONFIG_ANON_INODES=y |
@@ -124,7 +119,7 @@ CONFIG_BUG=y | |||
124 | CONFIG_ELF_CORE=y | 119 | CONFIG_ELF_CORE=y |
125 | CONFIG_BASE_FULL=y | 120 | CONFIG_BASE_FULL=y |
126 | CONFIG_FUTEX=y | 121 | CONFIG_FUTEX=y |
127 | # CONFIG_EPOLL is not set | 122 | CONFIG_EPOLL=y |
128 | CONFIG_SIGNALFD=y | 123 | CONFIG_SIGNALFD=y |
129 | CONFIG_TIMERFD=y | 124 | CONFIG_TIMERFD=y |
130 | CONFIG_EVENTFD=y | 125 | CONFIG_EVENTFD=y |
@@ -323,6 +318,7 @@ CONFIG_ISA_DMA_API=y | |||
323 | # Bus options | 318 | # Bus options |
324 | # | 319 | # |
325 | CONFIG_ZONE_DMA=y | 320 | CONFIG_ZONE_DMA=y |
321 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
326 | CONFIG_GENERIC_ISA_DMA=y | 322 | CONFIG_GENERIC_ISA_DMA=y |
327 | CONFIG_PPC_INDIRECT_PCI=y | 323 | CONFIG_PPC_INDIRECT_PCI=y |
328 | CONFIG_FSL_SOC=y | 324 | CONFIG_FSL_SOC=y |
@@ -336,7 +332,6 @@ CONFIG_PCI_SYSCALL=y | |||
336 | # CONFIG_PCIEPORTBUS is not set | 332 | # CONFIG_PCIEPORTBUS is not set |
337 | CONFIG_ARCH_SUPPORTS_MSI=y | 333 | CONFIG_ARCH_SUPPORTS_MSI=y |
338 | # CONFIG_PCI_MSI is not set | 334 | # CONFIG_PCI_MSI is not set |
339 | # CONFIG_PCI_LEGACY is not set | ||
340 | # CONFIG_PCI_STUB is not set | 335 | # CONFIG_PCI_STUB is not set |
341 | # CONFIG_PCI_IOV is not set | 336 | # CONFIG_PCI_IOV is not set |
342 | # CONFIG_PCCARD is not set | 337 | # CONFIG_PCCARD is not set |
@@ -362,7 +357,6 @@ CONFIG_NET=y | |||
362 | # Networking options | 357 | # Networking options |
363 | # | 358 | # |
364 | CONFIG_PACKET=y | 359 | CONFIG_PACKET=y |
365 | # CONFIG_PACKET_MMAP is not set | ||
366 | CONFIG_UNIX=y | 360 | CONFIG_UNIX=y |
367 | CONFIG_XFRM=y | 361 | CONFIG_XFRM=y |
368 | # CONFIG_XFRM_USER is not set | 362 | # CONFIG_XFRM_USER is not set |
@@ -550,6 +544,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
550 | # UBI - Unsorted block images | 544 | # UBI - Unsorted block images |
551 | # | 545 | # |
552 | # CONFIG_MTD_UBI is not set | 546 | # CONFIG_MTD_UBI is not set |
547 | CONFIG_OF_FLATTREE=y | ||
548 | CONFIG_OF_DYNAMIC=y | ||
553 | CONFIG_OF_DEVICE=y | 549 | CONFIG_OF_DEVICE=y |
554 | CONFIG_OF_GPIO=y | 550 | CONFIG_OF_GPIO=y |
555 | CONFIG_OF_I2C=y | 551 | CONFIG_OF_I2C=y |
@@ -587,6 +583,7 @@ CONFIG_MISC_DEVICES=y | |||
587 | # CONFIG_ENCLOSURE_SERVICES is not set | 583 | # CONFIG_ENCLOSURE_SERVICES is not set |
588 | # CONFIG_HP_ILO is not set | 584 | # CONFIG_HP_ILO is not set |
589 | # CONFIG_ISL29003 is not set | 585 | # CONFIG_ISL29003 is not set |
586 | # CONFIG_SENSORS_TSL2550 is not set | ||
590 | # CONFIG_DS1682 is not set | 587 | # CONFIG_DS1682 is not set |
591 | # CONFIG_TI_DAC7512 is not set | 588 | # CONFIG_TI_DAC7512 is not set |
592 | # CONFIG_C2PORT is not set | 589 | # CONFIG_C2PORT is not set |
@@ -606,6 +603,7 @@ CONFIG_HAVE_IDE=y | |||
606 | # | 603 | # |
607 | # SCSI device support | 604 | # SCSI device support |
608 | # | 605 | # |
606 | CONFIG_SCSI_MOD=y | ||
609 | # CONFIG_RAID_ATTRS is not set | 607 | # CONFIG_RAID_ATTRS is not set |
610 | # CONFIG_SCSI is not set | 608 | # CONFIG_SCSI is not set |
611 | # CONFIG_SCSI_DMA is not set | 609 | # CONFIG_SCSI_DMA is not set |
@@ -774,6 +772,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
774 | # CONFIG_SERIAL_JSM is not set | 772 | # CONFIG_SERIAL_JSM is not set |
775 | # CONFIG_SERIAL_OF_PLATFORM is not set | 773 | # CONFIG_SERIAL_OF_PLATFORM is not set |
776 | CONFIG_SERIAL_QE=y | 774 | CONFIG_SERIAL_QE=y |
775 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
777 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 776 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
778 | CONFIG_UNIX98_PTYS=y | 777 | CONFIG_UNIX98_PTYS=y |
779 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 778 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -825,6 +824,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
825 | CONFIG_I2C_MPC=y | 824 | CONFIG_I2C_MPC=y |
826 | # CONFIG_I2C_OCORES is not set | 825 | # CONFIG_I2C_OCORES is not set |
827 | # CONFIG_I2C_SIMTEC is not set | 826 | # CONFIG_I2C_SIMTEC is not set |
827 | # CONFIG_I2C_XILINX is not set | ||
828 | 828 | ||
829 | # | 829 | # |
830 | # External I2C/SMBus adapter drivers | 830 | # External I2C/SMBus adapter drivers |
@@ -837,15 +837,9 @@ CONFIG_I2C_MPC=y | |||
837 | # | 837 | # |
838 | # CONFIG_I2C_PCA_PLATFORM is not set | 838 | # CONFIG_I2C_PCA_PLATFORM is not set |
839 | # CONFIG_I2C_STUB is not set | 839 | # CONFIG_I2C_STUB is not set |
840 | |||
841 | # | ||
842 | # Miscellaneous I2C Chip support | ||
843 | # | ||
844 | # CONFIG_SENSORS_TSL2550 is not set | ||
845 | # CONFIG_I2C_DEBUG_CORE is not set | 840 | # CONFIG_I2C_DEBUG_CORE is not set |
846 | # CONFIG_I2C_DEBUG_ALGO is not set | 841 | # CONFIG_I2C_DEBUG_ALGO is not set |
847 | # CONFIG_I2C_DEBUG_BUS is not set | 842 | # CONFIG_I2C_DEBUG_BUS is not set |
848 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
849 | CONFIG_SPI=y | 843 | CONFIG_SPI=y |
850 | CONFIG_SPI_MASTER=y | 844 | CONFIG_SPI_MASTER=y |
851 | 845 | ||
@@ -876,14 +870,18 @@ CONFIG_GPIOLIB=y | |||
876 | # | 870 | # |
877 | # Memory mapped GPIO expanders: | 871 | # Memory mapped GPIO expanders: |
878 | # | 872 | # |
873 | # CONFIG_GPIO_IT8761E is not set | ||
879 | # CONFIG_GPIO_XILINX is not set | 874 | # CONFIG_GPIO_XILINX is not set |
875 | # CONFIG_GPIO_SCH is not set | ||
880 | 876 | ||
881 | # | 877 | # |
882 | # I2C GPIO expanders: | 878 | # I2C GPIO expanders: |
883 | # | 879 | # |
880 | # CONFIG_GPIO_MAX7300 is not set | ||
884 | # CONFIG_GPIO_MAX732X is not set | 881 | # CONFIG_GPIO_MAX732X is not set |
885 | # CONFIG_GPIO_PCA953X is not set | 882 | # CONFIG_GPIO_PCA953X is not set |
886 | # CONFIG_GPIO_PCF857X is not set | 883 | # CONFIG_GPIO_PCF857X is not set |
884 | # CONFIG_GPIO_ADP5588 is not set | ||
887 | 885 | ||
888 | # | 886 | # |
889 | # PCI GPIO expanders: | 887 | # PCI GPIO expanders: |
@@ -932,22 +930,27 @@ CONFIG_SSB_POSSIBLE=y | |||
932 | # Multifunction device drivers | 930 | # Multifunction device drivers |
933 | # | 931 | # |
934 | # CONFIG_MFD_CORE is not set | 932 | # CONFIG_MFD_CORE is not set |
933 | # CONFIG_MFD_88PM860X is not set | ||
935 | # CONFIG_MFD_SM501 is not set | 934 | # CONFIG_MFD_SM501 is not set |
936 | # CONFIG_HTC_PASIC3 is not set | 935 | # CONFIG_HTC_PASIC3 is not set |
936 | # CONFIG_HTC_I2CPLD is not set | ||
937 | # CONFIG_TPS65010 is not set | 937 | # CONFIG_TPS65010 is not set |
938 | # CONFIG_TWL4030_CORE is not set | 938 | # CONFIG_TWL4030_CORE is not set |
939 | # CONFIG_MFD_TMIO is not set | 939 | # CONFIG_MFD_TMIO is not set |
940 | # CONFIG_PMIC_DA903X is not set | 940 | # CONFIG_PMIC_DA903X is not set |
941 | # CONFIG_PMIC_ADP5520 is not set | 941 | # CONFIG_PMIC_ADP5520 is not set |
942 | # CONFIG_MFD_MAX8925 is not set | ||
942 | # CONFIG_MFD_WM8400 is not set | 943 | # CONFIG_MFD_WM8400 is not set |
943 | # CONFIG_MFD_WM831X is not set | 944 | # CONFIG_MFD_WM831X is not set |
944 | # CONFIG_MFD_WM8350_I2C is not set | 945 | # CONFIG_MFD_WM8350_I2C is not set |
946 | # CONFIG_MFD_WM8994 is not set | ||
945 | # CONFIG_MFD_PCF50633 is not set | 947 | # CONFIG_MFD_PCF50633 is not set |
946 | # CONFIG_MFD_MC13783 is not set | 948 | # CONFIG_MFD_MC13783 is not set |
947 | # CONFIG_AB3100_CORE is not set | 949 | # CONFIG_AB3100_CORE is not set |
948 | # CONFIG_EZX_PCAP is not set | 950 | # CONFIG_EZX_PCAP is not set |
949 | # CONFIG_MFD_88PM8607 is not set | ||
950 | # CONFIG_AB4500_CORE is not set | 951 | # CONFIG_AB4500_CORE is not set |
952 | # CONFIG_MFD_TIMBERDALE is not set | ||
953 | # CONFIG_LPC_SCH is not set | ||
951 | # CONFIG_REGULATOR is not set | 954 | # CONFIG_REGULATOR is not set |
952 | # CONFIG_MEDIA_SUPPORT is not set | 955 | # CONFIG_MEDIA_SUPPORT is not set |
953 | 956 | ||
@@ -956,6 +959,7 @@ CONFIG_SSB_POSSIBLE=y | |||
956 | # | 959 | # |
957 | # CONFIG_AGP is not set | 960 | # CONFIG_AGP is not set |
958 | CONFIG_VGA_ARB=y | 961 | CONFIG_VGA_ARB=y |
962 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
959 | # CONFIG_DRM is not set | 963 | # CONFIG_DRM is not set |
960 | # CONFIG_VGASTATE is not set | 964 | # CONFIG_VGASTATE is not set |
961 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 965 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1145,6 +1149,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1145 | # CONFIG_JFFS2_LZO is not set | 1149 | # CONFIG_JFFS2_LZO is not set |
1146 | CONFIG_JFFS2_RTIME=y | 1150 | CONFIG_JFFS2_RTIME=y |
1147 | # CONFIG_JFFS2_RUBIN is not set | 1151 | # CONFIG_JFFS2_RUBIN is not set |
1152 | # CONFIG_LOGFS is not set | ||
1148 | # CONFIG_CRAMFS is not set | 1153 | # CONFIG_CRAMFS is not set |
1149 | # CONFIG_SQUASHFS is not set | 1154 | # CONFIG_SQUASHFS is not set |
1150 | # CONFIG_VXFS_FS is not set | 1155 | # CONFIG_VXFS_FS is not set |
@@ -1171,6 +1176,7 @@ CONFIG_SUNRPC_GSS=y | |||
1171 | CONFIG_RPCSEC_GSS_KRB5=y | 1176 | CONFIG_RPCSEC_GSS_KRB5=y |
1172 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1177 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1173 | # CONFIG_SMB_FS is not set | 1178 | # CONFIG_SMB_FS is not set |
1179 | # CONFIG_CEPH_FS is not set | ||
1174 | # CONFIG_CIFS is not set | 1180 | # CONFIG_CIFS is not set |
1175 | # CONFIG_NCP_FS is not set | 1181 | # CONFIG_NCP_FS is not set |
1176 | # CONFIG_CODA_FS is not set | 1182 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig index f67b70d0b292..0cdb41418d58 100644 --- a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:22 2010 | 4 | # Mon Apr 19 23:16:47 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | CONFIG_FAIR_GROUP_SCHED=y | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -124,7 +119,7 @@ CONFIG_BUG=y | |||
124 | CONFIG_ELF_CORE=y | 119 | CONFIG_ELF_CORE=y |
125 | CONFIG_BASE_FULL=y | 120 | CONFIG_BASE_FULL=y |
126 | CONFIG_FUTEX=y | 121 | CONFIG_FUTEX=y |
127 | # CONFIG_EPOLL is not set | 122 | CONFIG_EPOLL=y |
128 | CONFIG_SIGNALFD=y | 123 | CONFIG_SIGNALFD=y |
129 | CONFIG_TIMERFD=y | 124 | CONFIG_TIMERFD=y |
130 | CONFIG_EVENTFD=y | 125 | CONFIG_EVENTFD=y |
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 319 | # Bus options |
325 | # | 320 | # |
326 | CONFIG_ZONE_DMA=y | 321 | CONFIG_ZONE_DMA=y |
322 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_GENERIC_ISA_DMA=y | 323 | CONFIG_GENERIC_ISA_DMA=y |
328 | CONFIG_PPC_INDIRECT_PCI=y | 324 | CONFIG_PPC_INDIRECT_PCI=y |
329 | CONFIG_FSL_SOC=y | 325 | CONFIG_FSL_SOC=y |
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y | |||
335 | # CONFIG_PCIEPORTBUS is not set | 331 | # CONFIG_PCIEPORTBUS is not set |
336 | CONFIG_ARCH_SUPPORTS_MSI=y | 332 | CONFIG_ARCH_SUPPORTS_MSI=y |
337 | # CONFIG_PCI_MSI is not set | 333 | # CONFIG_PCI_MSI is not set |
338 | # CONFIG_PCI_LEGACY is not set | ||
339 | # CONFIG_PCI_STUB is not set | 334 | # CONFIG_PCI_STUB is not set |
340 | # CONFIG_PCI_IOV is not set | 335 | # CONFIG_PCI_IOV is not set |
341 | # CONFIG_PCCARD is not set | 336 | # CONFIG_PCCARD is not set |
@@ -361,7 +356,6 @@ CONFIG_NET=y | |||
361 | # Networking options | 356 | # Networking options |
362 | # | 357 | # |
363 | CONFIG_PACKET=y | 358 | CONFIG_PACKET=y |
364 | # CONFIG_PACKET_MMAP is not set | ||
365 | CONFIG_UNIX=y | 359 | CONFIG_UNIX=y |
366 | CONFIG_XFRM=y | 360 | CONFIG_XFRM=y |
367 | CONFIG_XFRM_USER=m | 361 | CONFIG_XFRM_USER=m |
@@ -456,6 +450,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
456 | # CONFIG_SYS_HYPERVISOR is not set | 450 | # CONFIG_SYS_HYPERVISOR is not set |
457 | # CONFIG_CONNECTOR is not set | 451 | # CONFIG_CONNECTOR is not set |
458 | # CONFIG_MTD is not set | 452 | # CONFIG_MTD is not set |
453 | CONFIG_OF_FLATTREE=y | ||
454 | CONFIG_OF_DYNAMIC=y | ||
459 | CONFIG_OF_DEVICE=y | 455 | CONFIG_OF_DEVICE=y |
460 | CONFIG_OF_I2C=y | 456 | CONFIG_OF_I2C=y |
461 | CONFIG_OF_MDIO=y | 457 | CONFIG_OF_MDIO=y |
@@ -491,6 +487,7 @@ CONFIG_MISC_DEVICES=y | |||
491 | # CONFIG_ENCLOSURE_SERVICES is not set | 487 | # CONFIG_ENCLOSURE_SERVICES is not set |
492 | # CONFIG_HP_ILO is not set | 488 | # CONFIG_HP_ILO is not set |
493 | # CONFIG_ISL29003 is not set | 489 | # CONFIG_ISL29003 is not set |
490 | # CONFIG_SENSORS_TSL2550 is not set | ||
494 | # CONFIG_DS1682 is not set | 491 | # CONFIG_DS1682 is not set |
495 | # CONFIG_C2PORT is not set | 492 | # CONFIG_C2PORT is not set |
496 | 493 | ||
@@ -508,6 +505,7 @@ CONFIG_HAVE_IDE=y | |||
508 | # | 505 | # |
509 | # SCSI device support | 506 | # SCSI device support |
510 | # | 507 | # |
508 | CONFIG_SCSI_MOD=y | ||
511 | # CONFIG_RAID_ATTRS is not set | 509 | # CONFIG_RAID_ATTRS is not set |
512 | CONFIG_SCSI=y | 510 | CONFIG_SCSI=y |
513 | CONFIG_SCSI_DMA=y | 511 | CONFIG_SCSI_DMA=y |
@@ -631,6 +629,7 @@ CONFIG_ATA_SFF=y | |||
631 | # CONFIG_PATA_IT821X is not set | 629 | # CONFIG_PATA_IT821X is not set |
632 | # CONFIG_PATA_IT8213 is not set | 630 | # CONFIG_PATA_IT8213 is not set |
633 | # CONFIG_PATA_JMICRON is not set | 631 | # CONFIG_PATA_JMICRON is not set |
632 | # CONFIG_PATA_LEGACY is not set | ||
634 | # CONFIG_PATA_TRIFLEX is not set | 633 | # CONFIG_PATA_TRIFLEX is not set |
635 | # CONFIG_PATA_MARVELL is not set | 634 | # CONFIG_PATA_MARVELL is not set |
636 | # CONFIG_PATA_MPIIX is not set | 635 | # CONFIG_PATA_MPIIX is not set |
@@ -755,6 +754,8 @@ CONFIG_NETDEV_10000=y | |||
755 | # CONFIG_CHELSIO_T1 is not set | 754 | # CONFIG_CHELSIO_T1 is not set |
756 | CONFIG_CHELSIO_T3_DEPENDS=y | 755 | CONFIG_CHELSIO_T3_DEPENDS=y |
757 | # CONFIG_CHELSIO_T3 is not set | 756 | # CONFIG_CHELSIO_T3 is not set |
757 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
758 | # CONFIG_CHELSIO_T4 is not set | ||
758 | # CONFIG_ENIC is not set | 759 | # CONFIG_ENIC is not set |
759 | # CONFIG_IXGBE is not set | 760 | # CONFIG_IXGBE is not set |
760 | # CONFIG_IXGB is not set | 761 | # CONFIG_IXGB is not set |
@@ -767,6 +768,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
767 | # CONFIG_MLX4_CORE is not set | 768 | # CONFIG_MLX4_CORE is not set |
768 | # CONFIG_TEHUTI is not set | 769 | # CONFIG_TEHUTI is not set |
769 | # CONFIG_BNX2X is not set | 770 | # CONFIG_BNX2X is not set |
771 | # CONFIG_QLCNIC is not set | ||
770 | # CONFIG_QLGE is not set | 772 | # CONFIG_QLGE is not set |
771 | # CONFIG_SFC is not set | 773 | # CONFIG_SFC is not set |
772 | # CONFIG_BE2NET is not set | 774 | # CONFIG_BE2NET is not set |
@@ -851,6 +853,7 @@ CONFIG_SERIAL_CORE=y | |||
851 | CONFIG_SERIAL_CORE_CONSOLE=y | 853 | CONFIG_SERIAL_CORE_CONSOLE=y |
852 | # CONFIG_SERIAL_JSM is not set | 854 | # CONFIG_SERIAL_JSM is not set |
853 | # CONFIG_SERIAL_OF_PLATFORM is not set | 855 | # CONFIG_SERIAL_OF_PLATFORM is not set |
856 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
854 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 857 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
855 | CONFIG_UNIX98_PTYS=y | 858 | CONFIG_UNIX98_PTYS=y |
856 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 859 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -901,6 +904,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
901 | CONFIG_I2C_MPC=y | 904 | CONFIG_I2C_MPC=y |
902 | # CONFIG_I2C_OCORES is not set | 905 | # CONFIG_I2C_OCORES is not set |
903 | # CONFIG_I2C_SIMTEC is not set | 906 | # CONFIG_I2C_SIMTEC is not set |
907 | # CONFIG_I2C_XILINX is not set | ||
904 | 908 | ||
905 | # | 909 | # |
906 | # External I2C/SMBus adapter drivers | 910 | # External I2C/SMBus adapter drivers |
@@ -913,15 +917,9 @@ CONFIG_I2C_MPC=y | |||
913 | # | 917 | # |
914 | # CONFIG_I2C_PCA_PLATFORM is not set | 918 | # CONFIG_I2C_PCA_PLATFORM is not set |
915 | # CONFIG_I2C_STUB is not set | 919 | # CONFIG_I2C_STUB is not set |
916 | |||
917 | # | ||
918 | # Miscellaneous I2C Chip support | ||
919 | # | ||
920 | # CONFIG_SENSORS_TSL2550 is not set | ||
921 | # CONFIG_I2C_DEBUG_CORE is not set | 920 | # CONFIG_I2C_DEBUG_CORE is not set |
922 | # CONFIG_I2C_DEBUG_ALGO is not set | 921 | # CONFIG_I2C_DEBUG_ALGO is not set |
923 | # CONFIG_I2C_DEBUG_BUS is not set | 922 | # CONFIG_I2C_DEBUG_BUS is not set |
924 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
925 | # CONFIG_SPI is not set | 923 | # CONFIG_SPI is not set |
926 | 924 | ||
927 | # | 925 | # |
@@ -947,10 +945,11 @@ CONFIG_HWMON=y | |||
947 | # CONFIG_SENSORS_ADM1029 is not set | 945 | # CONFIG_SENSORS_ADM1029 is not set |
948 | # CONFIG_SENSORS_ADM1031 is not set | 946 | # CONFIG_SENSORS_ADM1031 is not set |
949 | # CONFIG_SENSORS_ADM9240 is not set | 947 | # CONFIG_SENSORS_ADM9240 is not set |
948 | # CONFIG_SENSORS_ADT7411 is not set | ||
950 | # CONFIG_SENSORS_ADT7462 is not set | 949 | # CONFIG_SENSORS_ADT7462 is not set |
951 | # CONFIG_SENSORS_ADT7470 is not set | 950 | # CONFIG_SENSORS_ADT7470 is not set |
952 | # CONFIG_SENSORS_ADT7473 is not set | ||
953 | # CONFIG_SENSORS_ADT7475 is not set | 951 | # CONFIG_SENSORS_ADT7475 is not set |
952 | # CONFIG_SENSORS_ASC7621 is not set | ||
954 | # CONFIG_SENSORS_ATXP1 is not set | 953 | # CONFIG_SENSORS_ATXP1 is not set |
955 | # CONFIG_SENSORS_DS1621 is not set | 954 | # CONFIG_SENSORS_DS1621 is not set |
956 | # CONFIG_SENSORS_I5K_AMB is not set | 955 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -987,6 +986,7 @@ CONFIG_HWMON=y | |||
987 | # CONFIG_SENSORS_SMSC47M192 is not set | 986 | # CONFIG_SENSORS_SMSC47M192 is not set |
988 | # CONFIG_SENSORS_SMSC47B397 is not set | 987 | # CONFIG_SENSORS_SMSC47B397 is not set |
989 | # CONFIG_SENSORS_ADS7828 is not set | 988 | # CONFIG_SENSORS_ADS7828 is not set |
989 | # CONFIG_SENSORS_AMC6821 is not set | ||
990 | # CONFIG_SENSORS_THMC50 is not set | 990 | # CONFIG_SENSORS_THMC50 is not set |
991 | # CONFIG_SENSORS_TMP401 is not set | 991 | # CONFIG_SENSORS_TMP401 is not set |
992 | # CONFIG_SENSORS_TMP421 is not set | 992 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1029,18 +1029,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1029 | # Multifunction device drivers | 1029 | # Multifunction device drivers |
1030 | # | 1030 | # |
1031 | # CONFIG_MFD_CORE is not set | 1031 | # CONFIG_MFD_CORE is not set |
1032 | # CONFIG_MFD_88PM860X is not set | ||
1032 | # CONFIG_MFD_SM501 is not set | 1033 | # CONFIG_MFD_SM501 is not set |
1033 | # CONFIG_HTC_PASIC3 is not set | 1034 | # CONFIG_HTC_PASIC3 is not set |
1034 | # CONFIG_TWL4030_CORE is not set | 1035 | # CONFIG_TWL4030_CORE is not set |
1035 | # CONFIG_MFD_TMIO is not set | 1036 | # CONFIG_MFD_TMIO is not set |
1036 | # CONFIG_PMIC_DA903X is not set | 1037 | # CONFIG_PMIC_DA903X is not set |
1037 | # CONFIG_PMIC_ADP5520 is not set | 1038 | # CONFIG_PMIC_ADP5520 is not set |
1039 | # CONFIG_MFD_MAX8925 is not set | ||
1038 | # CONFIG_MFD_WM8400 is not set | 1040 | # CONFIG_MFD_WM8400 is not set |
1039 | # CONFIG_MFD_WM831X is not set | 1041 | # CONFIG_MFD_WM831X is not set |
1040 | # CONFIG_MFD_WM8350_I2C is not set | 1042 | # CONFIG_MFD_WM8350_I2C is not set |
1043 | # CONFIG_MFD_WM8994 is not set | ||
1041 | # CONFIG_MFD_PCF50633 is not set | 1044 | # CONFIG_MFD_PCF50633 is not set |
1042 | # CONFIG_AB3100_CORE is not set | 1045 | # CONFIG_AB3100_CORE is not set |
1043 | # CONFIG_MFD_88PM8607 is not set | 1046 | # CONFIG_LPC_SCH is not set |
1044 | # CONFIG_REGULATOR is not set | 1047 | # CONFIG_REGULATOR is not set |
1045 | # CONFIG_MEDIA_SUPPORT is not set | 1048 | # CONFIG_MEDIA_SUPPORT is not set |
1046 | 1049 | ||
@@ -1049,6 +1052,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1049 | # | 1052 | # |
1050 | # CONFIG_AGP is not set | 1053 | # CONFIG_AGP is not set |
1051 | CONFIG_VGA_ARB=y | 1054 | CONFIG_VGA_ARB=y |
1055 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1052 | # CONFIG_DRM is not set | 1056 | # CONFIG_DRM is not set |
1053 | # CONFIG_VGASTATE is not set | 1057 | # CONFIG_VGASTATE is not set |
1054 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1058 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1175,6 +1179,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1175 | # CONFIG_BEFS_FS is not set | 1179 | # CONFIG_BEFS_FS is not set |
1176 | # CONFIG_BFS_FS is not set | 1180 | # CONFIG_BFS_FS is not set |
1177 | # CONFIG_EFS_FS is not set | 1181 | # CONFIG_EFS_FS is not set |
1182 | # CONFIG_LOGFS is not set | ||
1178 | # CONFIG_CRAMFS is not set | 1183 | # CONFIG_CRAMFS is not set |
1179 | # CONFIG_SQUASHFS is not set | 1184 | # CONFIG_SQUASHFS is not set |
1180 | # CONFIG_VXFS_FS is not set | 1185 | # CONFIG_VXFS_FS is not set |
@@ -1201,6 +1206,7 @@ CONFIG_SUNRPC_GSS=y | |||
1201 | CONFIG_RPCSEC_GSS_KRB5=y | 1206 | CONFIG_RPCSEC_GSS_KRB5=y |
1202 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1207 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1203 | # CONFIG_SMB_FS is not set | 1208 | # CONFIG_SMB_FS is not set |
1209 | # CONFIG_CEPH_FS is not set | ||
1204 | # CONFIG_CIFS is not set | 1210 | # CONFIG_CIFS is not set |
1205 | # CONFIG_NCP_FS is not set | 1211 | # CONFIG_NCP_FS is not set |
1206 | # CONFIG_CODA_FS is not set | 1212 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig index a84fd1194e2b..e69ed1b61425 100644 --- a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:24 2010 | 4 | # Mon Apr 19 23:16:48 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | CONFIG_FAIR_GROUP_SCHED=y | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -124,7 +119,7 @@ CONFIG_BUG=y | |||
124 | CONFIG_ELF_CORE=y | 119 | CONFIG_ELF_CORE=y |
125 | CONFIG_BASE_FULL=y | 120 | CONFIG_BASE_FULL=y |
126 | CONFIG_FUTEX=y | 121 | CONFIG_FUTEX=y |
127 | # CONFIG_EPOLL is not set | 122 | CONFIG_EPOLL=y |
128 | CONFIG_SIGNALFD=y | 123 | CONFIG_SIGNALFD=y |
129 | CONFIG_TIMERFD=y | 124 | CONFIG_TIMERFD=y |
130 | CONFIG_EVENTFD=y | 125 | CONFIG_EVENTFD=y |
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 319 | # Bus options |
325 | # | 320 | # |
326 | CONFIG_ZONE_DMA=y | 321 | CONFIG_ZONE_DMA=y |
322 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_GENERIC_ISA_DMA=y | 323 | CONFIG_GENERIC_ISA_DMA=y |
328 | CONFIG_PPC_INDIRECT_PCI=y | 324 | CONFIG_PPC_INDIRECT_PCI=y |
329 | CONFIG_FSL_SOC=y | 325 | CONFIG_FSL_SOC=y |
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y | |||
335 | # CONFIG_PCIEPORTBUS is not set | 331 | # CONFIG_PCIEPORTBUS is not set |
336 | CONFIG_ARCH_SUPPORTS_MSI=y | 332 | CONFIG_ARCH_SUPPORTS_MSI=y |
337 | # CONFIG_PCI_MSI is not set | 333 | # CONFIG_PCI_MSI is not set |
338 | # CONFIG_PCI_LEGACY is not set | ||
339 | # CONFIG_PCI_STUB is not set | 334 | # CONFIG_PCI_STUB is not set |
340 | # CONFIG_PCI_IOV is not set | 335 | # CONFIG_PCI_IOV is not set |
341 | # CONFIG_PCCARD is not set | 336 | # CONFIG_PCCARD is not set |
@@ -361,7 +356,6 @@ CONFIG_NET=y | |||
361 | # Networking options | 356 | # Networking options |
362 | # | 357 | # |
363 | CONFIG_PACKET=y | 358 | CONFIG_PACKET=y |
364 | # CONFIG_PACKET_MMAP is not set | ||
365 | CONFIG_UNIX=y | 359 | CONFIG_UNIX=y |
366 | # CONFIG_NET_KEY is not set | 360 | # CONFIG_NET_KEY is not set |
367 | CONFIG_INET=y | 361 | CONFIG_INET=y |
@@ -451,6 +445,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
451 | # CONFIG_SYS_HYPERVISOR is not set | 445 | # CONFIG_SYS_HYPERVISOR is not set |
452 | # CONFIG_CONNECTOR is not set | 446 | # CONFIG_CONNECTOR is not set |
453 | # CONFIG_MTD is not set | 447 | # CONFIG_MTD is not set |
448 | CONFIG_OF_FLATTREE=y | ||
449 | CONFIG_OF_DYNAMIC=y | ||
454 | CONFIG_OF_DEVICE=y | 450 | CONFIG_OF_DEVICE=y |
455 | CONFIG_OF_I2C=y | 451 | CONFIG_OF_I2C=y |
456 | CONFIG_OF_MDIO=y | 452 | CONFIG_OF_MDIO=y |
@@ -487,6 +483,7 @@ CONFIG_MISC_DEVICES=y | |||
487 | # CONFIG_ENCLOSURE_SERVICES is not set | 483 | # CONFIG_ENCLOSURE_SERVICES is not set |
488 | # CONFIG_HP_ILO is not set | 484 | # CONFIG_HP_ILO is not set |
489 | # CONFIG_ISL29003 is not set | 485 | # CONFIG_ISL29003 is not set |
486 | # CONFIG_SENSORS_TSL2550 is not set | ||
490 | # CONFIG_DS1682 is not set | 487 | # CONFIG_DS1682 is not set |
491 | # CONFIG_C2PORT is not set | 488 | # CONFIG_C2PORT is not set |
492 | 489 | ||
@@ -504,6 +501,7 @@ CONFIG_HAVE_IDE=y | |||
504 | # | 501 | # |
505 | # SCSI device support | 502 | # SCSI device support |
506 | # | 503 | # |
504 | CONFIG_SCSI_MOD=y | ||
507 | # CONFIG_RAID_ATTRS is not set | 505 | # CONFIG_RAID_ATTRS is not set |
508 | CONFIG_SCSI=y | 506 | CONFIG_SCSI=y |
509 | CONFIG_SCSI_DMA=y | 507 | CONFIG_SCSI_DMA=y |
@@ -626,6 +624,7 @@ CONFIG_ATA_SFF=y | |||
626 | # CONFIG_PATA_IT821X is not set | 624 | # CONFIG_PATA_IT821X is not set |
627 | # CONFIG_PATA_IT8213 is not set | 625 | # CONFIG_PATA_IT8213 is not set |
628 | # CONFIG_PATA_JMICRON is not set | 626 | # CONFIG_PATA_JMICRON is not set |
627 | # CONFIG_PATA_LEGACY is not set | ||
629 | # CONFIG_PATA_TRIFLEX is not set | 628 | # CONFIG_PATA_TRIFLEX is not set |
630 | # CONFIG_PATA_MARVELL is not set | 629 | # CONFIG_PATA_MARVELL is not set |
631 | # CONFIG_PATA_MPIIX is not set | 630 | # CONFIG_PATA_MPIIX is not set |
@@ -850,6 +849,7 @@ CONFIG_SERIAL_CORE=y | |||
850 | CONFIG_SERIAL_CORE_CONSOLE=y | 849 | CONFIG_SERIAL_CORE_CONSOLE=y |
851 | # CONFIG_SERIAL_JSM is not set | 850 | # CONFIG_SERIAL_JSM is not set |
852 | # CONFIG_SERIAL_OF_PLATFORM is not set | 851 | # CONFIG_SERIAL_OF_PLATFORM is not set |
852 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
853 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 853 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
854 | CONFIG_UNIX98_PTYS=y | 854 | CONFIG_UNIX98_PTYS=y |
855 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 855 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -900,6 +900,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
900 | CONFIG_I2C_MPC=y | 900 | CONFIG_I2C_MPC=y |
901 | # CONFIG_I2C_OCORES is not set | 901 | # CONFIG_I2C_OCORES is not set |
902 | # CONFIG_I2C_SIMTEC is not set | 902 | # CONFIG_I2C_SIMTEC is not set |
903 | # CONFIG_I2C_XILINX is not set | ||
903 | 904 | ||
904 | # | 905 | # |
905 | # External I2C/SMBus adapter drivers | 906 | # External I2C/SMBus adapter drivers |
@@ -913,15 +914,9 @@ CONFIG_I2C_MPC=y | |||
913 | # | 914 | # |
914 | # CONFIG_I2C_PCA_PLATFORM is not set | 915 | # CONFIG_I2C_PCA_PLATFORM is not set |
915 | # CONFIG_I2C_STUB is not set | 916 | # CONFIG_I2C_STUB is not set |
916 | |||
917 | # | ||
918 | # Miscellaneous I2C Chip support | ||
919 | # | ||
920 | # CONFIG_SENSORS_TSL2550 is not set | ||
921 | # CONFIG_I2C_DEBUG_CORE is not set | 917 | # CONFIG_I2C_DEBUG_CORE is not set |
922 | # CONFIG_I2C_DEBUG_ALGO is not set | 918 | # CONFIG_I2C_DEBUG_ALGO is not set |
923 | # CONFIG_I2C_DEBUG_BUS is not set | 919 | # CONFIG_I2C_DEBUG_BUS is not set |
924 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
925 | # CONFIG_SPI is not set | 920 | # CONFIG_SPI is not set |
926 | 921 | ||
927 | # | 922 | # |
@@ -947,10 +942,11 @@ CONFIG_HWMON=y | |||
947 | # CONFIG_SENSORS_ADM1029 is not set | 942 | # CONFIG_SENSORS_ADM1029 is not set |
948 | # CONFIG_SENSORS_ADM1031 is not set | 943 | # CONFIG_SENSORS_ADM1031 is not set |
949 | # CONFIG_SENSORS_ADM9240 is not set | 944 | # CONFIG_SENSORS_ADM9240 is not set |
945 | # CONFIG_SENSORS_ADT7411 is not set | ||
950 | # CONFIG_SENSORS_ADT7462 is not set | 946 | # CONFIG_SENSORS_ADT7462 is not set |
951 | # CONFIG_SENSORS_ADT7470 is not set | 947 | # CONFIG_SENSORS_ADT7470 is not set |
952 | # CONFIG_SENSORS_ADT7473 is not set | ||
953 | # CONFIG_SENSORS_ADT7475 is not set | 948 | # CONFIG_SENSORS_ADT7475 is not set |
949 | # CONFIG_SENSORS_ASC7621 is not set | ||
954 | # CONFIG_SENSORS_ATXP1 is not set | 950 | # CONFIG_SENSORS_ATXP1 is not set |
955 | # CONFIG_SENSORS_DS1621 is not set | 951 | # CONFIG_SENSORS_DS1621 is not set |
956 | # CONFIG_SENSORS_I5K_AMB is not set | 952 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -987,6 +983,7 @@ CONFIG_HWMON=y | |||
987 | # CONFIG_SENSORS_SMSC47M192 is not set | 983 | # CONFIG_SENSORS_SMSC47M192 is not set |
988 | # CONFIG_SENSORS_SMSC47B397 is not set | 984 | # CONFIG_SENSORS_SMSC47B397 is not set |
989 | # CONFIG_SENSORS_ADS7828 is not set | 985 | # CONFIG_SENSORS_ADS7828 is not set |
986 | # CONFIG_SENSORS_AMC6821 is not set | ||
990 | # CONFIG_SENSORS_THMC50 is not set | 987 | # CONFIG_SENSORS_THMC50 is not set |
991 | # CONFIG_SENSORS_TMP401 is not set | 988 | # CONFIG_SENSORS_TMP401 is not set |
992 | # CONFIG_SENSORS_TMP421 is not set | 989 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1034,18 +1031,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1034 | # Multifunction device drivers | 1031 | # Multifunction device drivers |
1035 | # | 1032 | # |
1036 | # CONFIG_MFD_CORE is not set | 1033 | # CONFIG_MFD_CORE is not set |
1034 | # CONFIG_MFD_88PM860X is not set | ||
1037 | # CONFIG_MFD_SM501 is not set | 1035 | # CONFIG_MFD_SM501 is not set |
1038 | # CONFIG_HTC_PASIC3 is not set | 1036 | # CONFIG_HTC_PASIC3 is not set |
1039 | # CONFIG_TWL4030_CORE is not set | 1037 | # CONFIG_TWL4030_CORE is not set |
1040 | # CONFIG_MFD_TMIO is not set | 1038 | # CONFIG_MFD_TMIO is not set |
1041 | # CONFIG_PMIC_DA903X is not set | 1039 | # CONFIG_PMIC_DA903X is not set |
1042 | # CONFIG_PMIC_ADP5520 is not set | 1040 | # CONFIG_PMIC_ADP5520 is not set |
1041 | # CONFIG_MFD_MAX8925 is not set | ||
1043 | # CONFIG_MFD_WM8400 is not set | 1042 | # CONFIG_MFD_WM8400 is not set |
1044 | # CONFIG_MFD_WM831X is not set | 1043 | # CONFIG_MFD_WM831X is not set |
1045 | # CONFIG_MFD_WM8350_I2C is not set | 1044 | # CONFIG_MFD_WM8350_I2C is not set |
1045 | # CONFIG_MFD_WM8994 is not set | ||
1046 | # CONFIG_MFD_PCF50633 is not set | 1046 | # CONFIG_MFD_PCF50633 is not set |
1047 | # CONFIG_AB3100_CORE is not set | 1047 | # CONFIG_AB3100_CORE is not set |
1048 | # CONFIG_MFD_88PM8607 is not set | 1048 | # CONFIG_LPC_SCH is not set |
1049 | # CONFIG_REGULATOR is not set | 1049 | # CONFIG_REGULATOR is not set |
1050 | # CONFIG_MEDIA_SUPPORT is not set | 1050 | # CONFIG_MEDIA_SUPPORT is not set |
1051 | 1051 | ||
@@ -1054,6 +1054,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1054 | # | 1054 | # |
1055 | # CONFIG_AGP is not set | 1055 | # CONFIG_AGP is not set |
1056 | CONFIG_VGA_ARB=y | 1056 | CONFIG_VGA_ARB=y |
1057 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1057 | # CONFIG_DRM is not set | 1058 | # CONFIG_DRM is not set |
1058 | # CONFIG_VGASTATE is not set | 1059 | # CONFIG_VGASTATE is not set |
1059 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1060 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1079,6 +1080,7 @@ CONFIG_USB_HID=y | |||
1079 | # | 1080 | # |
1080 | # Special HID drivers | 1081 | # Special HID drivers |
1081 | # | 1082 | # |
1083 | # CONFIG_HID_3M_PCT is not set | ||
1082 | CONFIG_HID_A4TECH=y | 1084 | CONFIG_HID_A4TECH=y |
1083 | CONFIG_HID_APPLE=y | 1085 | CONFIG_HID_APPLE=y |
1084 | CONFIG_HID_BELKIN=y | 1086 | CONFIG_HID_BELKIN=y |
@@ -1094,14 +1096,19 @@ CONFIG_HID_GYRATION=y | |||
1094 | CONFIG_HID_LOGITECH=y | 1096 | CONFIG_HID_LOGITECH=y |
1095 | # CONFIG_LOGITECH_FF is not set | 1097 | # CONFIG_LOGITECH_FF is not set |
1096 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1098 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1099 | # CONFIG_LOGIG940_FF is not set | ||
1097 | CONFIG_HID_MICROSOFT=y | 1100 | CONFIG_HID_MICROSOFT=y |
1101 | # CONFIG_HID_MOSART is not set | ||
1098 | CONFIG_HID_MONTEREY=y | 1102 | CONFIG_HID_MONTEREY=y |
1099 | # CONFIG_HID_NTRIG is not set | 1103 | # CONFIG_HID_NTRIG is not set |
1104 | # CONFIG_HID_ORTEK is not set | ||
1100 | CONFIG_HID_PANTHERLORD=y | 1105 | CONFIG_HID_PANTHERLORD=y |
1101 | # CONFIG_PANTHERLORD_FF is not set | 1106 | # CONFIG_PANTHERLORD_FF is not set |
1102 | CONFIG_HID_PETALYNX=y | 1107 | CONFIG_HID_PETALYNX=y |
1108 | # CONFIG_HID_QUANTA is not set | ||
1103 | CONFIG_HID_SAMSUNG=y | 1109 | CONFIG_HID_SAMSUNG=y |
1104 | CONFIG_HID_SONY=y | 1110 | CONFIG_HID_SONY=y |
1111 | # CONFIG_HID_STANTUM is not set | ||
1105 | CONFIG_HID_SUNPLUS=y | 1112 | CONFIG_HID_SUNPLUS=y |
1106 | # CONFIG_HID_GREENASIA is not set | 1113 | # CONFIG_HID_GREENASIA is not set |
1107 | # CONFIG_HID_SMARTJOYPLUS is not set | 1114 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1190,7 +1197,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1190 | # CONFIG_USB_RIO500 is not set | 1197 | # CONFIG_USB_RIO500 is not set |
1191 | # CONFIG_USB_LEGOTOWER is not set | 1198 | # CONFIG_USB_LEGOTOWER is not set |
1192 | # CONFIG_USB_LCD is not set | 1199 | # CONFIG_USB_LCD is not set |
1193 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1194 | # CONFIG_USB_LED is not set | 1200 | # CONFIG_USB_LED is not set |
1195 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1201 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1196 | # CONFIG_USB_CYTHERM is not set | 1202 | # CONFIG_USB_CYTHERM is not set |
@@ -1203,7 +1209,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1203 | # CONFIG_USB_IOWARRIOR is not set | 1209 | # CONFIG_USB_IOWARRIOR is not set |
1204 | # CONFIG_USB_TEST is not set | 1210 | # CONFIG_USB_TEST is not set |
1205 | # CONFIG_USB_ISIGHTFW is not set | 1211 | # CONFIG_USB_ISIGHTFW is not set |
1206 | # CONFIG_USB_VST is not set | ||
1207 | # CONFIG_USB_GADGET is not set | 1212 | # CONFIG_USB_GADGET is not set |
1208 | 1213 | ||
1209 | # | 1214 | # |
@@ -1297,6 +1302,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1297 | # CONFIG_BEFS_FS is not set | 1302 | # CONFIG_BEFS_FS is not set |
1298 | # CONFIG_BFS_FS is not set | 1303 | # CONFIG_BFS_FS is not set |
1299 | # CONFIG_EFS_FS is not set | 1304 | # CONFIG_EFS_FS is not set |
1305 | # CONFIG_LOGFS is not set | ||
1300 | # CONFIG_CRAMFS is not set | 1306 | # CONFIG_CRAMFS is not set |
1301 | # CONFIG_SQUASHFS is not set | 1307 | # CONFIG_SQUASHFS is not set |
1302 | # CONFIG_VXFS_FS is not set | 1308 | # CONFIG_VXFS_FS is not set |
@@ -1323,6 +1329,7 @@ CONFIG_SUNRPC_GSS=y | |||
1323 | CONFIG_RPCSEC_GSS_KRB5=y | 1329 | CONFIG_RPCSEC_GSS_KRB5=y |
1324 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1330 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1325 | # CONFIG_SMB_FS is not set | 1331 | # CONFIG_SMB_FS is not set |
1332 | # CONFIG_CEPH_FS is not set | ||
1326 | # CONFIG_CIFS is not set | 1333 | # CONFIG_CIFS is not set |
1327 | # CONFIG_NCP_FS is not set | 1334 | # CONFIG_NCP_FS is not set |
1328 | # CONFIG_CODA_FS is not set | 1335 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig index 72c2067137b9..56e3995d898f 100644 --- a/arch/powerpc/configs/83xx/sbc834x_defconfig +++ b/arch/powerpc/configs/83xx/sbc834x_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:25 2010 | 4 | # Mon Apr 19 23:16:49 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | # CONFIG_TREE_RCU_TRACE is not set | 96 | # CONFIG_TREE_RCU_TRACE is not set |
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | CONFIG_FAIR_GROUP_SCHED=y | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | # CONFIG_NAMESPACES is not set | 102 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
111 | CONFIG_RD_GZIP=y | 105 | CONFIG_RD_GZIP=y |
112 | # CONFIG_RD_BZIP2 is not set | 106 | # CONFIG_RD_BZIP2 is not set |
113 | # CONFIG_RD_LZMA is not set | 107 | # CONFIG_RD_LZMA is not set |
108 | # CONFIG_RD_LZO is not set | ||
114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 109 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
115 | CONFIG_SYSCTL=y | 110 | CONFIG_SYSCTL=y |
116 | CONFIG_ANON_INODES=y | 111 | CONFIG_ANON_INODES=y |
@@ -123,7 +118,7 @@ CONFIG_BUG=y | |||
123 | CONFIG_ELF_CORE=y | 118 | CONFIG_ELF_CORE=y |
124 | CONFIG_BASE_FULL=y | 119 | CONFIG_BASE_FULL=y |
125 | CONFIG_FUTEX=y | 120 | CONFIG_FUTEX=y |
126 | # CONFIG_EPOLL is not set | 121 | CONFIG_EPOLL=y |
127 | CONFIG_SIGNALFD=y | 122 | CONFIG_SIGNALFD=y |
128 | CONFIG_TIMERFD=y | 123 | CONFIG_TIMERFD=y |
129 | CONFIG_EVENTFD=y | 124 | CONFIG_EVENTFD=y |
@@ -322,6 +317,7 @@ CONFIG_ISA_DMA_API=y | |||
322 | # Bus options | 317 | # Bus options |
323 | # | 318 | # |
324 | CONFIG_ZONE_DMA=y | 319 | CONFIG_ZONE_DMA=y |
320 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
325 | CONFIG_GENERIC_ISA_DMA=y | 321 | CONFIG_GENERIC_ISA_DMA=y |
326 | CONFIG_PPC_INDIRECT_PCI=y | 322 | CONFIG_PPC_INDIRECT_PCI=y |
327 | CONFIG_FSL_SOC=y | 323 | CONFIG_FSL_SOC=y |
@@ -333,7 +329,6 @@ CONFIG_PCI_SYSCALL=y | |||
333 | # CONFIG_PCIEPORTBUS is not set | 329 | # CONFIG_PCIEPORTBUS is not set |
334 | CONFIG_ARCH_SUPPORTS_MSI=y | 330 | CONFIG_ARCH_SUPPORTS_MSI=y |
335 | # CONFIG_PCI_MSI is not set | 331 | # CONFIG_PCI_MSI is not set |
336 | # CONFIG_PCI_LEGACY is not set | ||
337 | # CONFIG_PCI_STUB is not set | 332 | # CONFIG_PCI_STUB is not set |
338 | # CONFIG_PCI_IOV is not set | 333 | # CONFIG_PCI_IOV is not set |
339 | # CONFIG_PCCARD is not set | 334 | # CONFIG_PCCARD is not set |
@@ -359,7 +354,6 @@ CONFIG_NET=y | |||
359 | # Networking options | 354 | # Networking options |
360 | # | 355 | # |
361 | CONFIG_PACKET=y | 356 | CONFIG_PACKET=y |
362 | # CONFIG_PACKET_MMAP is not set | ||
363 | CONFIG_UNIX=y | 357 | CONFIG_UNIX=y |
364 | CONFIG_XFRM=y | 358 | CONFIG_XFRM=y |
365 | CONFIG_XFRM_USER=m | 359 | CONFIG_XFRM_USER=m |
@@ -537,6 +531,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
537 | # UBI - Unsorted block images | 531 | # UBI - Unsorted block images |
538 | # | 532 | # |
539 | # CONFIG_MTD_UBI is not set | 533 | # CONFIG_MTD_UBI is not set |
534 | CONFIG_OF_FLATTREE=y | ||
535 | CONFIG_OF_DYNAMIC=y | ||
540 | CONFIG_OF_DEVICE=y | 536 | CONFIG_OF_DEVICE=y |
541 | CONFIG_OF_I2C=y | 537 | CONFIG_OF_I2C=y |
542 | CONFIG_OF_MDIO=y | 538 | CONFIG_OF_MDIO=y |
@@ -573,6 +569,7 @@ CONFIG_MISC_DEVICES=y | |||
573 | # CONFIG_ENCLOSURE_SERVICES is not set | 569 | # CONFIG_ENCLOSURE_SERVICES is not set |
574 | # CONFIG_HP_ILO is not set | 570 | # CONFIG_HP_ILO is not set |
575 | # CONFIG_ISL29003 is not set | 571 | # CONFIG_ISL29003 is not set |
572 | # CONFIG_SENSORS_TSL2550 is not set | ||
576 | # CONFIG_DS1682 is not set | 573 | # CONFIG_DS1682 is not set |
577 | # CONFIG_C2PORT is not set | 574 | # CONFIG_C2PORT is not set |
578 | 575 | ||
@@ -590,6 +587,7 @@ CONFIG_HAVE_IDE=y | |||
590 | # | 587 | # |
591 | # SCSI device support | 588 | # SCSI device support |
592 | # | 589 | # |
590 | CONFIG_SCSI_MOD=y | ||
593 | # CONFIG_RAID_ATTRS is not set | 591 | # CONFIG_RAID_ATTRS is not set |
594 | CONFIG_SCSI=y | 592 | CONFIG_SCSI=y |
595 | CONFIG_SCSI_DMA=y | 593 | CONFIG_SCSI_DMA=y |
@@ -812,6 +810,7 @@ CONFIG_SERIAL_CORE=y | |||
812 | CONFIG_SERIAL_CORE_CONSOLE=y | 810 | CONFIG_SERIAL_CORE_CONSOLE=y |
813 | # CONFIG_SERIAL_JSM is not set | 811 | # CONFIG_SERIAL_JSM is not set |
814 | # CONFIG_SERIAL_OF_PLATFORM is not set | 812 | # CONFIG_SERIAL_OF_PLATFORM is not set |
813 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
815 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 814 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
816 | CONFIG_UNIX98_PTYS=y | 815 | CONFIG_UNIX98_PTYS=y |
817 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 816 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -862,6 +861,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
862 | CONFIG_I2C_MPC=y | 861 | CONFIG_I2C_MPC=y |
863 | # CONFIG_I2C_OCORES is not set | 862 | # CONFIG_I2C_OCORES is not set |
864 | # CONFIG_I2C_SIMTEC is not set | 863 | # CONFIG_I2C_SIMTEC is not set |
864 | # CONFIG_I2C_XILINX is not set | ||
865 | 865 | ||
866 | # | 866 | # |
867 | # External I2C/SMBus adapter drivers | 867 | # External I2C/SMBus adapter drivers |
@@ -875,15 +875,9 @@ CONFIG_I2C_MPC=y | |||
875 | # | 875 | # |
876 | # CONFIG_I2C_PCA_PLATFORM is not set | 876 | # CONFIG_I2C_PCA_PLATFORM is not set |
877 | # CONFIG_I2C_STUB is not set | 877 | # CONFIG_I2C_STUB is not set |
878 | |||
879 | # | ||
880 | # Miscellaneous I2C Chip support | ||
881 | # | ||
882 | # CONFIG_SENSORS_TSL2550 is not set | ||
883 | # CONFIG_I2C_DEBUG_CORE is not set | 878 | # CONFIG_I2C_DEBUG_CORE is not set |
884 | # CONFIG_I2C_DEBUG_ALGO is not set | 879 | # CONFIG_I2C_DEBUG_ALGO is not set |
885 | # CONFIG_I2C_DEBUG_BUS is not set | 880 | # CONFIG_I2C_DEBUG_BUS is not set |
886 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
887 | # CONFIG_SPI is not set | 881 | # CONFIG_SPI is not set |
888 | 882 | ||
889 | # | 883 | # |
@@ -909,10 +903,11 @@ CONFIG_HWMON=y | |||
909 | # CONFIG_SENSORS_ADM1029 is not set | 903 | # CONFIG_SENSORS_ADM1029 is not set |
910 | # CONFIG_SENSORS_ADM1031 is not set | 904 | # CONFIG_SENSORS_ADM1031 is not set |
911 | # CONFIG_SENSORS_ADM9240 is not set | 905 | # CONFIG_SENSORS_ADM9240 is not set |
906 | # CONFIG_SENSORS_ADT7411 is not set | ||
912 | # CONFIG_SENSORS_ADT7462 is not set | 907 | # CONFIG_SENSORS_ADT7462 is not set |
913 | # CONFIG_SENSORS_ADT7470 is not set | 908 | # CONFIG_SENSORS_ADT7470 is not set |
914 | # CONFIG_SENSORS_ADT7473 is not set | ||
915 | # CONFIG_SENSORS_ADT7475 is not set | 909 | # CONFIG_SENSORS_ADT7475 is not set |
910 | # CONFIG_SENSORS_ASC7621 is not set | ||
916 | # CONFIG_SENSORS_ATXP1 is not set | 911 | # CONFIG_SENSORS_ATXP1 is not set |
917 | # CONFIG_SENSORS_DS1621 is not set | 912 | # CONFIG_SENSORS_DS1621 is not set |
918 | # CONFIG_SENSORS_I5K_AMB is not set | 913 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -949,6 +944,7 @@ CONFIG_HWMON=y | |||
949 | # CONFIG_SENSORS_SMSC47M192 is not set | 944 | # CONFIG_SENSORS_SMSC47M192 is not set |
950 | # CONFIG_SENSORS_SMSC47B397 is not set | 945 | # CONFIG_SENSORS_SMSC47B397 is not set |
951 | # CONFIG_SENSORS_ADS7828 is not set | 946 | # CONFIG_SENSORS_ADS7828 is not set |
947 | # CONFIG_SENSORS_AMC6821 is not set | ||
952 | # CONFIG_SENSORS_THMC50 is not set | 948 | # CONFIG_SENSORS_THMC50 is not set |
953 | # CONFIG_SENSORS_TMP401 is not set | 949 | # CONFIG_SENSORS_TMP401 is not set |
954 | # CONFIG_SENSORS_TMP421 is not set | 950 | # CONFIG_SENSORS_TMP421 is not set |
@@ -996,18 +992,21 @@ CONFIG_SSB_POSSIBLE=y | |||
996 | # Multifunction device drivers | 992 | # Multifunction device drivers |
997 | # | 993 | # |
998 | # CONFIG_MFD_CORE is not set | 994 | # CONFIG_MFD_CORE is not set |
995 | # CONFIG_MFD_88PM860X is not set | ||
999 | # CONFIG_MFD_SM501 is not set | 996 | # CONFIG_MFD_SM501 is not set |
1000 | # CONFIG_HTC_PASIC3 is not set | 997 | # CONFIG_HTC_PASIC3 is not set |
1001 | # CONFIG_TWL4030_CORE is not set | 998 | # CONFIG_TWL4030_CORE is not set |
1002 | # CONFIG_MFD_TMIO is not set | 999 | # CONFIG_MFD_TMIO is not set |
1003 | # CONFIG_PMIC_DA903X is not set | 1000 | # CONFIG_PMIC_DA903X is not set |
1004 | # CONFIG_PMIC_ADP5520 is not set | 1001 | # CONFIG_PMIC_ADP5520 is not set |
1002 | # CONFIG_MFD_MAX8925 is not set | ||
1005 | # CONFIG_MFD_WM8400 is not set | 1003 | # CONFIG_MFD_WM8400 is not set |
1006 | # CONFIG_MFD_WM831X is not set | 1004 | # CONFIG_MFD_WM831X is not set |
1007 | # CONFIG_MFD_WM8350_I2C is not set | 1005 | # CONFIG_MFD_WM8350_I2C is not set |
1006 | # CONFIG_MFD_WM8994 is not set | ||
1008 | # CONFIG_MFD_PCF50633 is not set | 1007 | # CONFIG_MFD_PCF50633 is not set |
1009 | # CONFIG_AB3100_CORE is not set | 1008 | # CONFIG_AB3100_CORE is not set |
1010 | # CONFIG_MFD_88PM8607 is not set | 1009 | # CONFIG_LPC_SCH is not set |
1011 | # CONFIG_REGULATOR is not set | 1010 | # CONFIG_REGULATOR is not set |
1012 | # CONFIG_MEDIA_SUPPORT is not set | 1011 | # CONFIG_MEDIA_SUPPORT is not set |
1013 | 1012 | ||
@@ -1016,6 +1015,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1016 | # | 1015 | # |
1017 | # CONFIG_AGP is not set | 1016 | # CONFIG_AGP is not set |
1018 | CONFIG_VGA_ARB=y | 1017 | CONFIG_VGA_ARB=y |
1018 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1019 | # CONFIG_DRM is not set | 1019 | # CONFIG_DRM is not set |
1020 | # CONFIG_VGASTATE is not set | 1020 | # CONFIG_VGASTATE is not set |
1021 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1021 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1140,7 +1140,6 @@ CONFIG_USB_STORAGE=y | |||
1140 | # CONFIG_USB_RIO500 is not set | 1140 | # CONFIG_USB_RIO500 is not set |
1141 | # CONFIG_USB_LEGOTOWER is not set | 1141 | # CONFIG_USB_LEGOTOWER is not set |
1142 | # CONFIG_USB_LCD is not set | 1142 | # CONFIG_USB_LCD is not set |
1143 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1144 | # CONFIG_USB_LED is not set | 1143 | # CONFIG_USB_LED is not set |
1145 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1144 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1146 | # CONFIG_USB_CYTHERM is not set | 1145 | # CONFIG_USB_CYTHERM is not set |
@@ -1153,7 +1152,6 @@ CONFIG_USB_STORAGE=y | |||
1153 | # CONFIG_USB_IOWARRIOR is not set | 1152 | # CONFIG_USB_IOWARRIOR is not set |
1154 | # CONFIG_USB_TEST is not set | 1153 | # CONFIG_USB_TEST is not set |
1155 | # CONFIG_USB_ISIGHTFW is not set | 1154 | # CONFIG_USB_ISIGHTFW is not set |
1156 | # CONFIG_USB_VST is not set | ||
1157 | # CONFIG_USB_GADGET is not set | 1155 | # CONFIG_USB_GADGET is not set |
1158 | 1156 | ||
1159 | # | 1157 | # |
@@ -1245,6 +1243,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1245 | # CONFIG_BFS_FS is not set | 1243 | # CONFIG_BFS_FS is not set |
1246 | # CONFIG_EFS_FS is not set | 1244 | # CONFIG_EFS_FS is not set |
1247 | # CONFIG_JFFS2_FS is not set | 1245 | # CONFIG_JFFS2_FS is not set |
1246 | # CONFIG_LOGFS is not set | ||
1248 | # CONFIG_CRAMFS is not set | 1247 | # CONFIG_CRAMFS is not set |
1249 | # CONFIG_SQUASHFS is not set | 1248 | # CONFIG_SQUASHFS is not set |
1250 | # CONFIG_VXFS_FS is not set | 1249 | # CONFIG_VXFS_FS is not set |
@@ -1271,6 +1270,7 @@ CONFIG_SUNRPC_GSS=y | |||
1271 | CONFIG_RPCSEC_GSS_KRB5=y | 1270 | CONFIG_RPCSEC_GSS_KRB5=y |
1272 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1271 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1273 | # CONFIG_SMB_FS is not set | 1272 | # CONFIG_SMB_FS is not set |
1273 | # CONFIG_CEPH_FS is not set | ||
1274 | # CONFIG_CIFS is not set | 1274 | # CONFIG_CIFS is not set |
1275 | # CONFIG_NCP_FS is not set | 1275 | # CONFIG_NCP_FS is not set |
1276 | # CONFIG_CODA_FS is not set | 1276 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig index 21dad38b156f..f67a8d1cd0b0 100644 --- a/arch/powerpc/configs/85xx/ksi8560_defconfig +++ b/arch/powerpc/configs/85xx/ksi8560_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:26 2010 | 4 | # Mon Apr 19 23:16:50 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
68 | # CONFIG_PPC_DCR_NATIVE is not set | 68 | # CONFIG_PPC_DCR_NATIVE is not set |
69 | # CONFIG_PPC_DCR_MMIO is not set | 69 | # CONFIG_PPC_DCR_MMIO is not set |
70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
71 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
72 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
71 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 75 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
72 | CONFIG_CONSTRUCTORS=y | 76 | CONFIG_CONSTRUCTORS=y |
73 | 77 | ||
@@ -99,10 +103,8 @@ CONFIG_RCU_FANOUT=32 | |||
99 | # CONFIG_TREE_RCU_TRACE is not set | 103 | # CONFIG_TREE_RCU_TRACE is not set |
100 | # CONFIG_IKCONFIG is not set | 104 | # CONFIG_IKCONFIG is not set |
101 | CONFIG_LOG_BUF_SHIFT=14 | 105 | CONFIG_LOG_BUF_SHIFT=14 |
102 | # CONFIG_GROUP_SCHED is not set | ||
103 | # CONFIG_CGROUPS is not set | 106 | # CONFIG_CGROUPS is not set |
104 | CONFIG_SYSFS_DEPRECATED=y | 107 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
105 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
106 | # CONFIG_RELAY is not set | 108 | # CONFIG_RELAY is not set |
107 | # CONFIG_NAMESPACES is not set | 109 | # CONFIG_NAMESPACES is not set |
108 | CONFIG_BLK_DEV_INITRD=y | 110 | CONFIG_BLK_DEV_INITRD=y |
@@ -110,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
110 | CONFIG_RD_GZIP=y | 112 | CONFIG_RD_GZIP=y |
111 | # CONFIG_RD_BZIP2 is not set | 113 | # CONFIG_RD_BZIP2 is not set |
112 | # CONFIG_RD_LZMA is not set | 114 | # CONFIG_RD_LZMA is not set |
115 | # CONFIG_RD_LZO is not set | ||
113 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
114 | CONFIG_SYSCTL=y | 117 | CONFIG_SYSCTL=y |
115 | CONFIG_ANON_INODES=y | 118 | CONFIG_ANON_INODES=y |
@@ -315,6 +318,7 @@ CONFIG_ISA_DMA_API=y | |||
315 | # Bus options | 318 | # Bus options |
316 | # | 319 | # |
317 | CONFIG_ZONE_DMA=y | 320 | CONFIG_ZONE_DMA=y |
321 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
318 | CONFIG_FSL_SOC=y | 322 | CONFIG_FSL_SOC=y |
319 | CONFIG_PPC_PCI_CHOICE=y | 323 | CONFIG_PPC_PCI_CHOICE=y |
320 | # CONFIG_PCI is not set | 324 | # CONFIG_PCI is not set |
@@ -345,7 +349,6 @@ CONFIG_NET=y | |||
345 | # Networking options | 349 | # Networking options |
346 | # | 350 | # |
347 | CONFIG_PACKET=y | 351 | CONFIG_PACKET=y |
348 | # CONFIG_PACKET_MMAP is not set | ||
349 | CONFIG_UNIX=y | 352 | CONFIG_UNIX=y |
350 | CONFIG_XFRM=y | 353 | CONFIG_XFRM=y |
351 | # CONFIG_XFRM_USER is not set | 354 | # CONFIG_XFRM_USER is not set |
@@ -522,6 +525,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
522 | # UBI - Unsorted block images | 525 | # UBI - Unsorted block images |
523 | # | 526 | # |
524 | # CONFIG_MTD_UBI is not set | 527 | # CONFIG_MTD_UBI is not set |
528 | CONFIG_OF_FLATTREE=y | ||
529 | CONFIG_OF_DYNAMIC=y | ||
525 | CONFIG_OF_DEVICE=y | 530 | CONFIG_OF_DEVICE=y |
526 | CONFIG_OF_GPIO=y | 531 | CONFIG_OF_GPIO=y |
527 | CONFIG_OF_MDIO=y | 532 | CONFIG_OF_MDIO=y |
@@ -575,6 +580,7 @@ CONFIG_IDE_PROC_FS=y | |||
575 | # | 580 | # |
576 | # SCSI device support | 581 | # SCSI device support |
577 | # | 582 | # |
583 | CONFIG_SCSI_MOD=y | ||
578 | # CONFIG_RAID_ATTRS is not set | 584 | # CONFIG_RAID_ATTRS is not set |
579 | # CONFIG_SCSI is not set | 585 | # CONFIG_SCSI is not set |
580 | # CONFIG_SCSI_DMA is not set | 586 | # CONFIG_SCSI_DMA is not set |
@@ -701,6 +707,7 @@ CONFIG_SERIAL_CORE=y | |||
701 | CONFIG_SERIAL_CORE_CONSOLE=y | 707 | CONFIG_SERIAL_CORE_CONSOLE=y |
702 | CONFIG_SERIAL_CPM=y | 708 | CONFIG_SERIAL_CPM=y |
703 | CONFIG_SERIAL_CPM_CONSOLE=y | 709 | CONFIG_SERIAL_CPM_CONSOLE=y |
710 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
704 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 711 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
705 | CONFIG_UNIX98_PTYS=y | 712 | CONFIG_UNIX98_PTYS=y |
706 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 713 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -732,6 +739,7 @@ CONFIG_GPIOLIB=y | |||
732 | # | 739 | # |
733 | # Memory mapped GPIO expanders: | 740 | # Memory mapped GPIO expanders: |
734 | # | 741 | # |
742 | # CONFIG_GPIO_IT8761E is not set | ||
735 | # CONFIG_GPIO_XILINX is not set | 743 | # CONFIG_GPIO_XILINX is not set |
736 | 744 | ||
737 | # | 745 | # |
@@ -915,6 +923,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
915 | # CONFIG_BFS_FS is not set | 923 | # CONFIG_BFS_FS is not set |
916 | # CONFIG_EFS_FS is not set | 924 | # CONFIG_EFS_FS is not set |
917 | # CONFIG_JFFS2_FS is not set | 925 | # CONFIG_JFFS2_FS is not set |
926 | # CONFIG_LOGFS is not set | ||
918 | # CONFIG_CRAMFS is not set | 927 | # CONFIG_CRAMFS is not set |
919 | # CONFIG_SQUASHFS is not set | 928 | # CONFIG_SQUASHFS is not set |
920 | # CONFIG_VXFS_FS is not set | 929 | # CONFIG_VXFS_FS is not set |
@@ -937,6 +946,7 @@ CONFIG_SUNRPC=y | |||
937 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 946 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
938 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 947 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
939 | # CONFIG_SMB_FS is not set | 948 | # CONFIG_SMB_FS is not set |
949 | # CONFIG_CEPH_FS is not set | ||
940 | # CONFIG_CIFS is not set | 950 | # CONFIG_CIFS is not set |
941 | # CONFIG_NCP_FS is not set | 951 | # CONFIG_NCP_FS is not set |
942 | # CONFIG_CODA_FS is not set | 952 | # CONFIG_CODA_FS is not set |
@@ -1036,6 +1046,7 @@ CONFIG_DEBUG_MUTEXES=y | |||
1036 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1046 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1037 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1047 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1038 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 1048 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
1049 | # CONFIG_LKDTM is not set | ||
1039 | # CONFIG_FAULT_INJECTION is not set | 1050 | # CONFIG_FAULT_INJECTION is not set |
1040 | # CONFIG_LATENCYTOP is not set | 1051 | # CONFIG_LATENCYTOP is not set |
1041 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1052 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig index 5db54cd274c6..61b122a25cdb 100644 --- a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig +++ b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:27 2010 | 4 | # Mon Apr 19 23:16:51 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
67 | # CONFIG_PPC_DCR_NATIVE is not set | 67 | # CONFIG_PPC_DCR_NATIVE is not set |
68 | # CONFIG_PPC_DCR_MMIO is not set | 68 | # CONFIG_PPC_DCR_MMIO is not set |
69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
70 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
71 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
72 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
70 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 74 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
71 | CONFIG_CONSTRUCTORS=y | 75 | CONFIG_CONSTRUCTORS=y |
72 | 76 | ||
@@ -98,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 102 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 103 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
101 | CONFIG_GROUP_SCHED=y | ||
102 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
107 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
110 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
111 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
113 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
114 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
115 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
117 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
118 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -316,6 +315,7 @@ CONFIG_ISA_DMA_API=y | |||
316 | # Bus options | 315 | # Bus options |
317 | # | 316 | # |
318 | CONFIG_ZONE_DMA=y | 317 | CONFIG_ZONE_DMA=y |
318 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
319 | CONFIG_FSL_SOC=y | 319 | CONFIG_FSL_SOC=y |
320 | CONFIG_PPC_PCI_CHOICE=y | 320 | CONFIG_PPC_PCI_CHOICE=y |
321 | # CONFIG_PCI is not set | 321 | # CONFIG_PCI is not set |
@@ -346,7 +346,6 @@ CONFIG_NET=y | |||
346 | # Networking options | 346 | # Networking options |
347 | # | 347 | # |
348 | CONFIG_PACKET=y | 348 | CONFIG_PACKET=y |
349 | # CONFIG_PACKET_MMAP is not set | ||
350 | CONFIG_UNIX=y | 349 | CONFIG_UNIX=y |
351 | CONFIG_XFRM=y | 350 | CONFIG_XFRM=y |
352 | CONFIG_XFRM_USER=y | 351 | CONFIG_XFRM_USER=y |
@@ -443,6 +442,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
443 | # CONFIG_SYS_HYPERVISOR is not set | 442 | # CONFIG_SYS_HYPERVISOR is not set |
444 | # CONFIG_CONNECTOR is not set | 443 | # CONFIG_CONNECTOR is not set |
445 | # CONFIG_MTD is not set | 444 | # CONFIG_MTD is not set |
445 | CONFIG_OF_FLATTREE=y | ||
446 | CONFIG_OF_DYNAMIC=y | ||
446 | CONFIG_OF_DEVICE=y | 447 | CONFIG_OF_DEVICE=y |
447 | CONFIG_OF_MDIO=y | 448 | CONFIG_OF_MDIO=y |
448 | # CONFIG_PARPORT is not set | 449 | # CONFIG_PARPORT is not set |
@@ -477,6 +478,7 @@ CONFIG_HAVE_IDE=y | |||
477 | # | 478 | # |
478 | # SCSI device support | 479 | # SCSI device support |
479 | # | 480 | # |
481 | CONFIG_SCSI_MOD=y | ||
480 | # CONFIG_RAID_ATTRS is not set | 482 | # CONFIG_RAID_ATTRS is not set |
481 | # CONFIG_SCSI is not set | 483 | # CONFIG_SCSI is not set |
482 | # CONFIG_SCSI_DMA is not set | 484 | # CONFIG_SCSI_DMA is not set |
@@ -602,6 +604,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y | |||
602 | CONFIG_SERIAL_CORE=y | 604 | CONFIG_SERIAL_CORE=y |
603 | CONFIG_SERIAL_CORE_CONSOLE=y | 605 | CONFIG_SERIAL_CORE_CONSOLE=y |
604 | # CONFIG_SERIAL_OF_PLATFORM is not set | 606 | # CONFIG_SERIAL_OF_PLATFORM is not set |
607 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
605 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 608 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
606 | CONFIG_UNIX98_PTYS=y | 609 | CONFIG_UNIX98_PTYS=y |
607 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 610 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -788,6 +791,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
788 | # CONFIG_BEFS_FS is not set | 791 | # CONFIG_BEFS_FS is not set |
789 | # CONFIG_BFS_FS is not set | 792 | # CONFIG_BFS_FS is not set |
790 | # CONFIG_EFS_FS is not set | 793 | # CONFIG_EFS_FS is not set |
794 | # CONFIG_LOGFS is not set | ||
791 | # CONFIG_CRAMFS is not set | 795 | # CONFIG_CRAMFS is not set |
792 | # CONFIG_SQUASHFS is not set | 796 | # CONFIG_SQUASHFS is not set |
793 | # CONFIG_VXFS_FS is not set | 797 | # CONFIG_VXFS_FS is not set |
@@ -810,6 +814,7 @@ CONFIG_SUNRPC=y | |||
810 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 814 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
811 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 815 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
812 | # CONFIG_SMB_FS is not set | 816 | # CONFIG_SMB_FS is not set |
817 | # CONFIG_CEPH_FS is not set | ||
813 | # CONFIG_CIFS is not set | 818 | # CONFIG_CIFS is not set |
814 | # CONFIG_NCP_FS is not set | 819 | # CONFIG_NCP_FS is not set |
815 | # CONFIG_CODA_FS is not set | 820 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig index 76c7018c5cd2..a5ceaa4b5e42 100644 --- a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig +++ b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:28 2010 | 4 | # Mon Apr 19 23:16:52 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
68 | # CONFIG_PPC_DCR_NATIVE is not set | 68 | # CONFIG_PPC_DCR_NATIVE is not set |
69 | # CONFIG_PPC_DCR_MMIO is not set | 69 | # CONFIG_PPC_DCR_MMIO is not set |
70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
71 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
72 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
71 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 75 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
72 | CONFIG_CONSTRUCTORS=y | 76 | CONFIG_CONSTRUCTORS=y |
73 | 77 | ||
@@ -99,14 +103,8 @@ CONFIG_RCU_FANOUT=32 | |||
99 | # CONFIG_TREE_RCU_TRACE is not set | 103 | # CONFIG_TREE_RCU_TRACE is not set |
100 | # CONFIG_IKCONFIG is not set | 104 | # CONFIG_IKCONFIG is not set |
101 | CONFIG_LOG_BUF_SHIFT=14 | 105 | CONFIG_LOG_BUF_SHIFT=14 |
102 | CONFIG_GROUP_SCHED=y | ||
103 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
104 | # CONFIG_RT_GROUP_SCHED is not set | ||
105 | CONFIG_USER_SCHED=y | ||
106 | # CONFIG_CGROUP_SCHED is not set | ||
107 | # CONFIG_CGROUPS is not set | 106 | # CONFIG_CGROUPS is not set |
108 | CONFIG_SYSFS_DEPRECATED=y | 107 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
109 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
110 | # CONFIG_RELAY is not set | 108 | # CONFIG_RELAY is not set |
111 | # CONFIG_NAMESPACES is not set | 109 | # CONFIG_NAMESPACES is not set |
112 | CONFIG_BLK_DEV_INITRD=y | 110 | CONFIG_BLK_DEV_INITRD=y |
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
114 | CONFIG_RD_GZIP=y | 112 | CONFIG_RD_GZIP=y |
115 | # CONFIG_RD_BZIP2 is not set | 113 | # CONFIG_RD_BZIP2 is not set |
116 | # CONFIG_RD_LZMA is not set | 114 | # CONFIG_RD_LZMA is not set |
115 | # CONFIG_RD_LZO is not set | ||
117 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
118 | CONFIG_SYSCTL=y | 117 | CONFIG_SYSCTL=y |
119 | CONFIG_ANON_INODES=y | 118 | CONFIG_ANON_INODES=y |
@@ -319,6 +318,7 @@ CONFIG_ISA_DMA_API=y | |||
319 | # Bus options | 318 | # Bus options |
320 | # | 319 | # |
321 | CONFIG_ZONE_DMA=y | 320 | CONFIG_ZONE_DMA=y |
321 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
322 | CONFIG_PPC_INDIRECT_PCI=y | 322 | CONFIG_PPC_INDIRECT_PCI=y |
323 | CONFIG_FSL_SOC=y | 323 | CONFIG_FSL_SOC=y |
324 | CONFIG_FSL_PCI=y | 324 | CONFIG_FSL_PCI=y |
@@ -329,7 +329,6 @@ CONFIG_PCI_SYSCALL=y | |||
329 | # CONFIG_PCIEPORTBUS is not set | 329 | # CONFIG_PCIEPORTBUS is not set |
330 | CONFIG_ARCH_SUPPORTS_MSI=y | 330 | CONFIG_ARCH_SUPPORTS_MSI=y |
331 | # CONFIG_PCI_MSI is not set | 331 | # CONFIG_PCI_MSI is not set |
332 | # CONFIG_PCI_LEGACY is not set | ||
333 | CONFIG_PCI_DEBUG=y | 332 | CONFIG_PCI_DEBUG=y |
334 | # CONFIG_PCI_STUB is not set | 333 | # CONFIG_PCI_STUB is not set |
335 | # CONFIG_PCI_IOV is not set | 334 | # CONFIG_PCI_IOV is not set |
@@ -358,7 +357,6 @@ CONFIG_NET=y | |||
358 | # Networking options | 357 | # Networking options |
359 | # | 358 | # |
360 | CONFIG_PACKET=y | 359 | CONFIG_PACKET=y |
361 | # CONFIG_PACKET_MMAP is not set | ||
362 | CONFIG_UNIX=y | 360 | CONFIG_UNIX=y |
363 | CONFIG_XFRM=y | 361 | CONFIG_XFRM=y |
364 | # CONFIG_XFRM_USER is not set | 362 | # CONFIG_XFRM_USER is not set |
@@ -455,6 +453,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
455 | # CONFIG_SYS_HYPERVISOR is not set | 453 | # CONFIG_SYS_HYPERVISOR is not set |
456 | # CONFIG_CONNECTOR is not set | 454 | # CONFIG_CONNECTOR is not set |
457 | # CONFIG_MTD is not set | 455 | # CONFIG_MTD is not set |
456 | CONFIG_OF_FLATTREE=y | ||
457 | CONFIG_OF_DYNAMIC=y | ||
458 | CONFIG_OF_DEVICE=y | 458 | CONFIG_OF_DEVICE=y |
459 | CONFIG_OF_GPIO=y | 459 | CONFIG_OF_GPIO=y |
460 | CONFIG_OF_MDIO=y | 460 | CONFIG_OF_MDIO=y |
@@ -500,6 +500,7 @@ CONFIG_HAVE_IDE=y | |||
500 | # | 500 | # |
501 | # SCSI device support | 501 | # SCSI device support |
502 | # | 502 | # |
503 | CONFIG_SCSI_MOD=y | ||
503 | # CONFIG_RAID_ATTRS is not set | 504 | # CONFIG_RAID_ATTRS is not set |
504 | # CONFIG_SCSI is not set | 505 | # CONFIG_SCSI is not set |
505 | # CONFIG_SCSI_DMA is not set | 506 | # CONFIG_SCSI_DMA is not set |
@@ -609,6 +610,8 @@ CONFIG_NETDEV_10000=y | |||
609 | # CONFIG_CHELSIO_T1 is not set | 610 | # CONFIG_CHELSIO_T1 is not set |
610 | CONFIG_CHELSIO_T3_DEPENDS=y | 611 | CONFIG_CHELSIO_T3_DEPENDS=y |
611 | # CONFIG_CHELSIO_T3 is not set | 612 | # CONFIG_CHELSIO_T3 is not set |
613 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
614 | # CONFIG_CHELSIO_T4 is not set | ||
612 | # CONFIG_ENIC is not set | 615 | # CONFIG_ENIC is not set |
613 | # CONFIG_IXGBE is not set | 616 | # CONFIG_IXGBE is not set |
614 | # CONFIG_IXGB is not set | 617 | # CONFIG_IXGB is not set |
@@ -621,6 +624,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
621 | # CONFIG_MLX4_CORE is not set | 624 | # CONFIG_MLX4_CORE is not set |
622 | # CONFIG_TEHUTI is not set | 625 | # CONFIG_TEHUTI is not set |
623 | # CONFIG_BNX2X is not set | 626 | # CONFIG_BNX2X is not set |
627 | # CONFIG_QLCNIC is not set | ||
624 | # CONFIG_QLGE is not set | 628 | # CONFIG_QLGE is not set |
625 | # CONFIG_SFC is not set | 629 | # CONFIG_SFC is not set |
626 | # CONFIG_BE2NET is not set | 630 | # CONFIG_BE2NET is not set |
@@ -700,6 +704,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
700 | CONFIG_SERIAL_CPM=y | 704 | CONFIG_SERIAL_CPM=y |
701 | CONFIG_SERIAL_CPM_CONSOLE=y | 705 | CONFIG_SERIAL_CPM_CONSOLE=y |
702 | # CONFIG_SERIAL_JSM is not set | 706 | # CONFIG_SERIAL_JSM is not set |
707 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
703 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 708 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
704 | CONFIG_UNIX98_PTYS=y | 709 | CONFIG_UNIX98_PTYS=y |
705 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 710 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -733,7 +738,9 @@ CONFIG_GPIOLIB=y | |||
733 | # | 738 | # |
734 | # Memory mapped GPIO expanders: | 739 | # Memory mapped GPIO expanders: |
735 | # | 740 | # |
741 | # CONFIG_GPIO_IT8761E is not set | ||
736 | # CONFIG_GPIO_XILINX is not set | 742 | # CONFIG_GPIO_XILINX is not set |
743 | # CONFIG_GPIO_SCH is not set | ||
737 | 744 | ||
738 | # | 745 | # |
739 | # I2C GPIO expanders: | 746 | # I2C GPIO expanders: |
@@ -793,6 +800,8 @@ CONFIG_SSB_POSSIBLE=y | |||
793 | # CONFIG_MFD_SM501 is not set | 800 | # CONFIG_MFD_SM501 is not set |
794 | # CONFIG_HTC_PASIC3 is not set | 801 | # CONFIG_HTC_PASIC3 is not set |
795 | # CONFIG_MFD_TMIO is not set | 802 | # CONFIG_MFD_TMIO is not set |
803 | # CONFIG_MFD_TIMBERDALE is not set | ||
804 | # CONFIG_LPC_SCH is not set | ||
796 | # CONFIG_REGULATOR is not set | 805 | # CONFIG_REGULATOR is not set |
797 | # CONFIG_MEDIA_SUPPORT is not set | 806 | # CONFIG_MEDIA_SUPPORT is not set |
798 | 807 | ||
@@ -801,6 +810,7 @@ CONFIG_SSB_POSSIBLE=y | |||
801 | # | 810 | # |
802 | # CONFIG_AGP is not set | 811 | # CONFIG_AGP is not set |
803 | CONFIG_VGA_ARB=y | 812 | CONFIG_VGA_ARB=y |
813 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
804 | # CONFIG_DRM is not set | 814 | # CONFIG_DRM is not set |
805 | # CONFIG_VGASTATE is not set | 815 | # CONFIG_VGASTATE is not set |
806 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 816 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -927,6 +937,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
927 | # CONFIG_BEFS_FS is not set | 937 | # CONFIG_BEFS_FS is not set |
928 | # CONFIG_BFS_FS is not set | 938 | # CONFIG_BFS_FS is not set |
929 | # CONFIG_EFS_FS is not set | 939 | # CONFIG_EFS_FS is not set |
940 | # CONFIG_LOGFS is not set | ||
930 | # CONFIG_CRAMFS is not set | 941 | # CONFIG_CRAMFS is not set |
931 | # CONFIG_SQUASHFS is not set | 942 | # CONFIG_SQUASHFS is not set |
932 | # CONFIG_VXFS_FS is not set | 943 | # CONFIG_VXFS_FS is not set |
@@ -949,6 +960,7 @@ CONFIG_SUNRPC=y | |||
949 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 960 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
950 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 961 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
951 | # CONFIG_SMB_FS is not set | 962 | # CONFIG_SMB_FS is not set |
963 | # CONFIG_CEPH_FS is not set | ||
952 | # CONFIG_CIFS is not set | 964 | # CONFIG_CIFS is not set |
953 | # CONFIG_NCP_FS is not set | 965 | # CONFIG_NCP_FS is not set |
954 | # CONFIG_CODA_FS is not set | 966 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig index fab8adacbf79..4adb4eba2d4f 100644 --- a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig +++ b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:29 2010 | 4 | # Mon Apr 19 23:16:53 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
67 | # CONFIG_PPC_DCR_NATIVE is not set | 67 | # CONFIG_PPC_DCR_NATIVE is not set |
68 | # CONFIG_PPC_DCR_MMIO is not set | 68 | # CONFIG_PPC_DCR_MMIO is not set |
69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
70 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
71 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
72 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
70 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 74 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
71 | CONFIG_CONSTRUCTORS=y | 75 | CONFIG_CONSTRUCTORS=y |
72 | 76 | ||
@@ -98,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 102 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 103 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
101 | CONFIG_GROUP_SCHED=y | ||
102 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
107 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
110 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
111 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
113 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
114 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
115 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
117 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
118 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -317,6 +316,7 @@ CONFIG_ISA_DMA_API=y | |||
317 | # Bus options | 316 | # Bus options |
318 | # | 317 | # |
319 | CONFIG_ZONE_DMA=y | 318 | CONFIG_ZONE_DMA=y |
319 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
320 | CONFIG_PPC_INDIRECT_PCI=y | 320 | CONFIG_PPC_INDIRECT_PCI=y |
321 | CONFIG_FSL_SOC=y | 321 | CONFIG_FSL_SOC=y |
322 | CONFIG_FSL_PCI=y | 322 | CONFIG_FSL_PCI=y |
@@ -327,7 +327,6 @@ CONFIG_PCI_SYSCALL=y | |||
327 | # CONFIG_PCIEPORTBUS is not set | 327 | # CONFIG_PCIEPORTBUS is not set |
328 | CONFIG_ARCH_SUPPORTS_MSI=y | 328 | CONFIG_ARCH_SUPPORTS_MSI=y |
329 | # CONFIG_PCI_MSI is not set | 329 | # CONFIG_PCI_MSI is not set |
330 | # CONFIG_PCI_LEGACY is not set | ||
331 | # CONFIG_PCI_DEBUG is not set | 330 | # CONFIG_PCI_DEBUG is not set |
332 | # CONFIG_PCI_STUB is not set | 331 | # CONFIG_PCI_STUB is not set |
333 | # CONFIG_PCI_IOV is not set | 332 | # CONFIG_PCI_IOV is not set |
@@ -356,7 +355,6 @@ CONFIG_NET=y | |||
356 | # Networking options | 355 | # Networking options |
357 | # | 356 | # |
358 | CONFIG_PACKET=y | 357 | CONFIG_PACKET=y |
359 | # CONFIG_PACKET_MMAP is not set | ||
360 | CONFIG_UNIX=y | 358 | CONFIG_UNIX=y |
361 | CONFIG_XFRM=y | 359 | CONFIG_XFRM=y |
362 | CONFIG_XFRM_USER=y | 360 | CONFIG_XFRM_USER=y |
@@ -453,6 +451,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
453 | # CONFIG_SYS_HYPERVISOR is not set | 451 | # CONFIG_SYS_HYPERVISOR is not set |
454 | # CONFIG_CONNECTOR is not set | 452 | # CONFIG_CONNECTOR is not set |
455 | # CONFIG_MTD is not set | 453 | # CONFIG_MTD is not set |
454 | CONFIG_OF_FLATTREE=y | ||
455 | CONFIG_OF_DYNAMIC=y | ||
456 | CONFIG_OF_DEVICE=y | 456 | CONFIG_OF_DEVICE=y |
457 | CONFIG_OF_MDIO=y | 457 | CONFIG_OF_MDIO=y |
458 | # CONFIG_PARPORT is not set | 458 | # CONFIG_PARPORT is not set |
@@ -552,6 +552,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
552 | # | 552 | # |
553 | # SCSI device support | 553 | # SCSI device support |
554 | # | 554 | # |
555 | CONFIG_SCSI_MOD=y | ||
555 | # CONFIG_RAID_ATTRS is not set | 556 | # CONFIG_RAID_ATTRS is not set |
556 | # CONFIG_SCSI is not set | 557 | # CONFIG_SCSI is not set |
557 | # CONFIG_SCSI_DMA is not set | 558 | # CONFIG_SCSI_DMA is not set |
@@ -657,6 +658,8 @@ CONFIG_NETDEV_10000=y | |||
657 | # CONFIG_CHELSIO_T1 is not set | 658 | # CONFIG_CHELSIO_T1 is not set |
658 | CONFIG_CHELSIO_T3_DEPENDS=y | 659 | CONFIG_CHELSIO_T3_DEPENDS=y |
659 | # CONFIG_CHELSIO_T3 is not set | 660 | # CONFIG_CHELSIO_T3 is not set |
661 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
662 | # CONFIG_CHELSIO_T4 is not set | ||
660 | # CONFIG_ENIC is not set | 663 | # CONFIG_ENIC is not set |
661 | # CONFIG_IXGBE is not set | 664 | # CONFIG_IXGBE is not set |
662 | # CONFIG_IXGB is not set | 665 | # CONFIG_IXGB is not set |
@@ -669,6 +672,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
669 | # CONFIG_MLX4_CORE is not set | 672 | # CONFIG_MLX4_CORE is not set |
670 | # CONFIG_TEHUTI is not set | 673 | # CONFIG_TEHUTI is not set |
671 | # CONFIG_BNX2X is not set | 674 | # CONFIG_BNX2X is not set |
675 | # CONFIG_QLCNIC is not set | ||
672 | # CONFIG_QLGE is not set | 676 | # CONFIG_QLGE is not set |
673 | # CONFIG_SFC is not set | 677 | # CONFIG_SFC is not set |
674 | # CONFIG_BE2NET is not set | 678 | # CONFIG_BE2NET is not set |
@@ -753,6 +757,7 @@ CONFIG_SERIAL_CORE=y | |||
753 | CONFIG_SERIAL_CORE_CONSOLE=y | 757 | CONFIG_SERIAL_CORE_CONSOLE=y |
754 | # CONFIG_SERIAL_JSM is not set | 758 | # CONFIG_SERIAL_JSM is not set |
755 | # CONFIG_SERIAL_OF_PLATFORM is not set | 759 | # CONFIG_SERIAL_OF_PLATFORM is not set |
760 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
756 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 761 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
757 | CONFIG_UNIX98_PTYS=y | 762 | CONFIG_UNIX98_PTYS=y |
758 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 763 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -817,6 +822,7 @@ CONFIG_SSB_POSSIBLE=y | |||
817 | # CONFIG_MFD_SM501 is not set | 822 | # CONFIG_MFD_SM501 is not set |
818 | # CONFIG_HTC_PASIC3 is not set | 823 | # CONFIG_HTC_PASIC3 is not set |
819 | # CONFIG_MFD_TMIO is not set | 824 | # CONFIG_MFD_TMIO is not set |
825 | # CONFIG_LPC_SCH is not set | ||
820 | # CONFIG_REGULATOR is not set | 826 | # CONFIG_REGULATOR is not set |
821 | # CONFIG_MEDIA_SUPPORT is not set | 827 | # CONFIG_MEDIA_SUPPORT is not set |
822 | 828 | ||
@@ -825,6 +831,7 @@ CONFIG_SSB_POSSIBLE=y | |||
825 | # | 831 | # |
826 | # CONFIG_AGP is not set | 832 | # CONFIG_AGP is not set |
827 | CONFIG_VGA_ARB=y | 833 | CONFIG_VGA_ARB=y |
834 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
828 | # CONFIG_DRM is not set | 835 | # CONFIG_DRM is not set |
829 | # CONFIG_VGASTATE is not set | 836 | # CONFIG_VGASTATE is not set |
830 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 837 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -951,6 +958,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
951 | # CONFIG_BEFS_FS is not set | 958 | # CONFIG_BEFS_FS is not set |
952 | # CONFIG_BFS_FS is not set | 959 | # CONFIG_BFS_FS is not set |
953 | # CONFIG_EFS_FS is not set | 960 | # CONFIG_EFS_FS is not set |
961 | # CONFIG_LOGFS is not set | ||
954 | # CONFIG_CRAMFS is not set | 962 | # CONFIG_CRAMFS is not set |
955 | # CONFIG_SQUASHFS is not set | 963 | # CONFIG_SQUASHFS is not set |
956 | # CONFIG_VXFS_FS is not set | 964 | # CONFIG_VXFS_FS is not set |
@@ -973,6 +981,7 @@ CONFIG_SUNRPC=y | |||
973 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 981 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
974 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 982 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
975 | # CONFIG_SMB_FS is not set | 983 | # CONFIG_SMB_FS is not set |
984 | # CONFIG_CEPH_FS is not set | ||
976 | # CONFIG_CIFS is not set | 985 | # CONFIG_CIFS is not set |
977 | # CONFIG_NCP_FS is not set | 986 | # CONFIG_NCP_FS is not set |
978 | # CONFIG_CODA_FS is not set | 987 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig index 8290385e9b94..3de8450cd551 100644 --- a/arch/powerpc/configs/85xx/sbc8548_defconfig +++ b/arch/powerpc/configs/85xx/sbc8548_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:29 2010 | 4 | # Mon Apr 19 23:16:54 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
67 | # CONFIG_PPC_DCR_NATIVE is not set | 67 | # CONFIG_PPC_DCR_NATIVE is not set |
68 | # CONFIG_PPC_DCR_MMIO is not set | 68 | # CONFIG_PPC_DCR_MMIO is not set |
69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
70 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
71 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
72 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
70 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 74 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
71 | CONFIG_CONSTRUCTORS=y | 75 | CONFIG_CONSTRUCTORS=y |
72 | 76 | ||
@@ -98,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 102 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 103 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
101 | CONFIG_GROUP_SCHED=y | ||
102 | CONFIG_FAIR_GROUP_SCHED=y | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
107 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
110 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
111 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
113 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
114 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
115 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
117 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
118 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -314,6 +313,7 @@ CONFIG_ISA_DMA_API=y | |||
314 | # Bus options | 313 | # Bus options |
315 | # | 314 | # |
316 | CONFIG_ZONE_DMA=y | 315 | CONFIG_ZONE_DMA=y |
316 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
317 | CONFIG_PPC_INDIRECT_PCI=y | 317 | CONFIG_PPC_INDIRECT_PCI=y |
318 | CONFIG_FSL_SOC=y | 318 | CONFIG_FSL_SOC=y |
319 | CONFIG_FSL_PCI=y | 319 | CONFIG_FSL_PCI=y |
@@ -324,7 +324,6 @@ CONFIG_PCI_SYSCALL=y | |||
324 | # CONFIG_PCIEPORTBUS is not set | 324 | # CONFIG_PCIEPORTBUS is not set |
325 | CONFIG_ARCH_SUPPORTS_MSI=y | 325 | CONFIG_ARCH_SUPPORTS_MSI=y |
326 | # CONFIG_PCI_MSI is not set | 326 | # CONFIG_PCI_MSI is not set |
327 | # CONFIG_PCI_LEGACY is not set | ||
328 | # CONFIG_PCI_STUB is not set | 327 | # CONFIG_PCI_STUB is not set |
329 | # CONFIG_PCI_IOV is not set | 328 | # CONFIG_PCI_IOV is not set |
330 | # CONFIG_PCCARD is not set | 329 | # CONFIG_PCCARD is not set |
@@ -352,7 +351,6 @@ CONFIG_NET=y | |||
352 | # Networking options | 351 | # Networking options |
353 | # | 352 | # |
354 | CONFIG_PACKET=y | 353 | CONFIG_PACKET=y |
355 | # CONFIG_PACKET_MMAP is not set | ||
356 | CONFIG_UNIX=y | 354 | CONFIG_UNIX=y |
357 | CONFIG_XFRM=y | 355 | CONFIG_XFRM=y |
358 | CONFIG_XFRM_USER=y | 356 | CONFIG_XFRM_USER=y |
@@ -447,6 +445,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
447 | # CONFIG_SYS_HYPERVISOR is not set | 445 | # CONFIG_SYS_HYPERVISOR is not set |
448 | # CONFIG_CONNECTOR is not set | 446 | # CONFIG_CONNECTOR is not set |
449 | # CONFIG_MTD is not set | 447 | # CONFIG_MTD is not set |
448 | CONFIG_OF_FLATTREE=y | ||
449 | CONFIG_OF_DYNAMIC=y | ||
450 | CONFIG_OF_DEVICE=y | 450 | CONFIG_OF_DEVICE=y |
451 | CONFIG_OF_MDIO=y | 451 | CONFIG_OF_MDIO=y |
452 | # CONFIG_PARPORT is not set | 452 | # CONFIG_PARPORT is not set |
@@ -491,6 +491,7 @@ CONFIG_HAVE_IDE=y | |||
491 | # | 491 | # |
492 | # SCSI device support | 492 | # SCSI device support |
493 | # | 493 | # |
494 | CONFIG_SCSI_MOD=y | ||
494 | # CONFIG_RAID_ATTRS is not set | 495 | # CONFIG_RAID_ATTRS is not set |
495 | # CONFIG_SCSI is not set | 496 | # CONFIG_SCSI is not set |
496 | # CONFIG_SCSI_DMA is not set | 497 | # CONFIG_SCSI_DMA is not set |
@@ -596,6 +597,8 @@ CONFIG_NETDEV_10000=y | |||
596 | # CONFIG_CHELSIO_T1 is not set | 597 | # CONFIG_CHELSIO_T1 is not set |
597 | CONFIG_CHELSIO_T3_DEPENDS=y | 598 | CONFIG_CHELSIO_T3_DEPENDS=y |
598 | # CONFIG_CHELSIO_T3 is not set | 599 | # CONFIG_CHELSIO_T3 is not set |
600 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
601 | # CONFIG_CHELSIO_T4 is not set | ||
599 | # CONFIG_ENIC is not set | 602 | # CONFIG_ENIC is not set |
600 | # CONFIG_IXGBE is not set | 603 | # CONFIG_IXGBE is not set |
601 | # CONFIG_IXGB is not set | 604 | # CONFIG_IXGB is not set |
@@ -608,6 +611,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
608 | # CONFIG_MLX4_CORE is not set | 611 | # CONFIG_MLX4_CORE is not set |
609 | # CONFIG_TEHUTI is not set | 612 | # CONFIG_TEHUTI is not set |
610 | # CONFIG_BNX2X is not set | 613 | # CONFIG_BNX2X is not set |
614 | # CONFIG_QLCNIC is not set | ||
611 | # CONFIG_QLGE is not set | 615 | # CONFIG_QLGE is not set |
612 | # CONFIG_SFC is not set | 616 | # CONFIG_SFC is not set |
613 | # CONFIG_BE2NET is not set | 617 | # CONFIG_BE2NET is not set |
@@ -692,6 +696,7 @@ CONFIG_SERIAL_CORE=y | |||
692 | CONFIG_SERIAL_CORE_CONSOLE=y | 696 | CONFIG_SERIAL_CORE_CONSOLE=y |
693 | # CONFIG_SERIAL_JSM is not set | 697 | # CONFIG_SERIAL_JSM is not set |
694 | # CONFIG_SERIAL_OF_PLATFORM is not set | 698 | # CONFIG_SERIAL_OF_PLATFORM is not set |
699 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
695 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 700 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
696 | CONFIG_UNIX98_PTYS=y | 701 | CONFIG_UNIX98_PTYS=y |
697 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 702 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -756,6 +761,7 @@ CONFIG_SSB_POSSIBLE=y | |||
756 | # CONFIG_MFD_SM501 is not set | 761 | # CONFIG_MFD_SM501 is not set |
757 | # CONFIG_HTC_PASIC3 is not set | 762 | # CONFIG_HTC_PASIC3 is not set |
758 | # CONFIG_MFD_TMIO is not set | 763 | # CONFIG_MFD_TMIO is not set |
764 | # CONFIG_LPC_SCH is not set | ||
759 | # CONFIG_REGULATOR is not set | 765 | # CONFIG_REGULATOR is not set |
760 | # CONFIG_MEDIA_SUPPORT is not set | 766 | # CONFIG_MEDIA_SUPPORT is not set |
761 | 767 | ||
@@ -764,6 +770,7 @@ CONFIG_SSB_POSSIBLE=y | |||
764 | # | 770 | # |
765 | # CONFIG_AGP is not set | 771 | # CONFIG_AGP is not set |
766 | CONFIG_VGA_ARB=y | 772 | CONFIG_VGA_ARB=y |
773 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
767 | # CONFIG_DRM is not set | 774 | # CONFIG_DRM is not set |
768 | # CONFIG_VGASTATE is not set | 775 | # CONFIG_VGASTATE is not set |
769 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 776 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -856,6 +863,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
856 | # CONFIG_BEFS_FS is not set | 863 | # CONFIG_BEFS_FS is not set |
857 | # CONFIG_BFS_FS is not set | 864 | # CONFIG_BFS_FS is not set |
858 | # CONFIG_EFS_FS is not set | 865 | # CONFIG_EFS_FS is not set |
866 | # CONFIG_LOGFS is not set | ||
859 | # CONFIG_CRAMFS is not set | 867 | # CONFIG_CRAMFS is not set |
860 | # CONFIG_SQUASHFS is not set | 868 | # CONFIG_SQUASHFS is not set |
861 | # CONFIG_VXFS_FS is not set | 869 | # CONFIG_VXFS_FS is not set |
@@ -878,6 +886,7 @@ CONFIG_SUNRPC=y | |||
878 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 886 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
879 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 887 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
880 | # CONFIG_SMB_FS is not set | 888 | # CONFIG_SMB_FS is not set |
889 | # CONFIG_CEPH_FS is not set | ||
881 | # CONFIG_CIFS is not set | 890 | # CONFIG_CIFS is not set |
882 | # CONFIG_NCP_FS is not set | 891 | # CONFIG_NCP_FS is not set |
883 | # CONFIG_CODA_FS is not set | 892 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/sbc8560_defconfig b/arch/powerpc/configs/85xx/sbc8560_defconfig index 2499b5ba7141..bd467fe13932 100644 --- a/arch/powerpc/configs/85xx/sbc8560_defconfig +++ b/arch/powerpc/configs/85xx/sbc8560_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:30 2010 | 4 | # Mon Apr 19 23:16:54 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
67 | # CONFIG_PPC_DCR_NATIVE is not set | 67 | # CONFIG_PPC_DCR_NATIVE is not set |
68 | # CONFIG_PPC_DCR_MMIO is not set | 68 | # CONFIG_PPC_DCR_MMIO is not set |
69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
70 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
71 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
72 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
70 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 74 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
71 | CONFIG_CONSTRUCTORS=y | 75 | CONFIG_CONSTRUCTORS=y |
72 | 76 | ||
@@ -98,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 102 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 103 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
101 | CONFIG_GROUP_SCHED=y | ||
102 | CONFIG_FAIR_GROUP_SCHED=y | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
107 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
110 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
111 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
113 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
114 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
115 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
117 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
118 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -314,6 +313,7 @@ CONFIG_ISA_DMA_API=y | |||
314 | # Bus options | 313 | # Bus options |
315 | # | 314 | # |
316 | CONFIG_ZONE_DMA=y | 315 | CONFIG_ZONE_DMA=y |
316 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
317 | CONFIG_FSL_SOC=y | 317 | CONFIG_FSL_SOC=y |
318 | CONFIG_PPC_PCI_CHOICE=y | 318 | CONFIG_PPC_PCI_CHOICE=y |
319 | # CONFIG_PCI is not set | 319 | # CONFIG_PCI is not set |
@@ -344,7 +344,6 @@ CONFIG_NET=y | |||
344 | # Networking options | 344 | # Networking options |
345 | # | 345 | # |
346 | CONFIG_PACKET=y | 346 | CONFIG_PACKET=y |
347 | # CONFIG_PACKET_MMAP is not set | ||
348 | CONFIG_UNIX=y | 347 | CONFIG_UNIX=y |
349 | CONFIG_XFRM=y | 348 | CONFIG_XFRM=y |
350 | CONFIG_XFRM_USER=y | 349 | CONFIG_XFRM_USER=y |
@@ -441,6 +440,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
441 | # CONFIG_SYS_HYPERVISOR is not set | 440 | # CONFIG_SYS_HYPERVISOR is not set |
442 | # CONFIG_CONNECTOR is not set | 441 | # CONFIG_CONNECTOR is not set |
443 | # CONFIG_MTD is not set | 442 | # CONFIG_MTD is not set |
443 | CONFIG_OF_FLATTREE=y | ||
444 | CONFIG_OF_DYNAMIC=y | ||
444 | CONFIG_OF_DEVICE=y | 445 | CONFIG_OF_DEVICE=y |
445 | CONFIG_OF_MDIO=y | 446 | CONFIG_OF_MDIO=y |
446 | # CONFIG_PARPORT is not set | 447 | # CONFIG_PARPORT is not set |
@@ -475,6 +476,7 @@ CONFIG_HAVE_IDE=y | |||
475 | # | 476 | # |
476 | # SCSI device support | 477 | # SCSI device support |
477 | # | 478 | # |
479 | CONFIG_SCSI_MOD=y | ||
478 | # CONFIG_RAID_ATTRS is not set | 480 | # CONFIG_RAID_ATTRS is not set |
479 | # CONFIG_SCSI is not set | 481 | # CONFIG_SCSI is not set |
480 | # CONFIG_SCSI_DMA is not set | 482 | # CONFIG_SCSI_DMA is not set |
@@ -600,6 +602,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y | |||
600 | CONFIG_SERIAL_CORE=y | 602 | CONFIG_SERIAL_CORE=y |
601 | CONFIG_SERIAL_CORE_CONSOLE=y | 603 | CONFIG_SERIAL_CORE_CONSOLE=y |
602 | # CONFIG_SERIAL_OF_PLATFORM is not set | 604 | # CONFIG_SERIAL_OF_PLATFORM is not set |
605 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
603 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 606 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
604 | CONFIG_UNIX98_PTYS=y | 607 | CONFIG_UNIX98_PTYS=y |
605 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 608 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -815,6 +818,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
815 | # CONFIG_BEFS_FS is not set | 818 | # CONFIG_BEFS_FS is not set |
816 | # CONFIG_BFS_FS is not set | 819 | # CONFIG_BFS_FS is not set |
817 | # CONFIG_EFS_FS is not set | 820 | # CONFIG_EFS_FS is not set |
821 | # CONFIG_LOGFS is not set | ||
818 | # CONFIG_CRAMFS is not set | 822 | # CONFIG_CRAMFS is not set |
819 | # CONFIG_SQUASHFS is not set | 823 | # CONFIG_SQUASHFS is not set |
820 | # CONFIG_VXFS_FS is not set | 824 | # CONFIG_VXFS_FS is not set |
@@ -837,6 +841,7 @@ CONFIG_SUNRPC=y | |||
837 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 841 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
838 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 842 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
839 | # CONFIG_SMB_FS is not set | 843 | # CONFIG_SMB_FS is not set |
844 | # CONFIG_CEPH_FS is not set | ||
840 | # CONFIG_CIFS is not set | 845 | # CONFIG_CIFS is not set |
841 | # CONFIG_NCP_FS is not set | 846 | # CONFIG_NCP_FS is not set |
842 | # CONFIG_CODA_FS is not set | 847 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/socrates_defconfig b/arch/powerpc/configs/85xx/socrates_defconfig index e2edb79cfd1a..9803e031165c 100644 --- a/arch/powerpc/configs/85xx/socrates_defconfig +++ b/arch/powerpc/configs/85xx/socrates_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:31 2010 | 4 | # Mon Apr 19 23:16:55 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
67 | # CONFIG_PPC_DCR_NATIVE is not set | 67 | # CONFIG_PPC_DCR_NATIVE is not set |
68 | # CONFIG_PPC_DCR_MMIO is not set | 68 | # CONFIG_PPC_DCR_MMIO is not set |
69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
70 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
71 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
72 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
70 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 74 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
71 | CONFIG_CONSTRUCTORS=y | 75 | CONFIG_CONSTRUCTORS=y |
72 | 76 | ||
@@ -98,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 102 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 103 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=16 | 104 | CONFIG_LOG_BUF_SHIFT=16 |
101 | CONFIG_GROUP_SCHED=y | ||
102 | CONFIG_FAIR_GROUP_SCHED=y | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
107 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
110 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
111 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
113 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
114 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
115 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
117 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
118 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -319,6 +318,7 @@ CONFIG_ISA_DMA_API=y | |||
319 | # Bus options | 318 | # Bus options |
320 | # | 319 | # |
321 | CONFIG_ZONE_DMA=y | 320 | CONFIG_ZONE_DMA=y |
321 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
322 | CONFIG_PPC_INDIRECT_PCI=y | 322 | CONFIG_PPC_INDIRECT_PCI=y |
323 | CONFIG_FSL_SOC=y | 323 | CONFIG_FSL_SOC=y |
324 | CONFIG_FSL_PCI=y | 324 | CONFIG_FSL_PCI=y |
@@ -329,7 +329,6 @@ CONFIG_PCI_SYSCALL=y | |||
329 | # CONFIG_PCIEPORTBUS is not set | 329 | # CONFIG_PCIEPORTBUS is not set |
330 | CONFIG_ARCH_SUPPORTS_MSI=y | 330 | CONFIG_ARCH_SUPPORTS_MSI=y |
331 | # CONFIG_PCI_MSI is not set | 331 | # CONFIG_PCI_MSI is not set |
332 | CONFIG_PCI_LEGACY=y | ||
333 | # CONFIG_PCI_STUB is not set | 332 | # CONFIG_PCI_STUB is not set |
334 | # CONFIG_PCI_IOV is not set | 333 | # CONFIG_PCI_IOV is not set |
335 | # CONFIG_HAS_RAPIDIO is not set | 334 | # CONFIG_HAS_RAPIDIO is not set |
@@ -355,7 +354,6 @@ CONFIG_NET=y | |||
355 | # Networking options | 354 | # Networking options |
356 | # | 355 | # |
357 | CONFIG_PACKET=y | 356 | CONFIG_PACKET=y |
358 | # CONFIG_PACKET_MMAP is not set | ||
359 | CONFIG_UNIX=y | 357 | CONFIG_UNIX=y |
360 | CONFIG_XFRM=y | 358 | CONFIG_XFRM=y |
361 | # CONFIG_XFRM_USER is not set | 359 | # CONFIG_XFRM_USER is not set |
@@ -554,6 +552,8 @@ CONFIG_MTD_NAND_SOCRATES=y | |||
554 | # UBI - Unsorted block images | 552 | # UBI - Unsorted block images |
555 | # | 553 | # |
556 | # CONFIG_MTD_UBI is not set | 554 | # CONFIG_MTD_UBI is not set |
555 | CONFIG_OF_FLATTREE=y | ||
556 | CONFIG_OF_DYNAMIC=y | ||
557 | CONFIG_OF_DEVICE=y | 557 | CONFIG_OF_DEVICE=y |
558 | CONFIG_OF_I2C=y | 558 | CONFIG_OF_I2C=y |
559 | CONFIG_OF_SPI=y | 559 | CONFIG_OF_SPI=y |
@@ -591,6 +591,7 @@ CONFIG_MISC_DEVICES=y | |||
591 | # CONFIG_ENCLOSURE_SERVICES is not set | 591 | # CONFIG_ENCLOSURE_SERVICES is not set |
592 | # CONFIG_HP_ILO is not set | 592 | # CONFIG_HP_ILO is not set |
593 | # CONFIG_ISL29003 is not set | 593 | # CONFIG_ISL29003 is not set |
594 | # CONFIG_SENSORS_TSL2550 is not set | ||
594 | # CONFIG_DS1682 is not set | 595 | # CONFIG_DS1682 is not set |
595 | # CONFIG_TI_DAC7512 is not set | 596 | # CONFIG_TI_DAC7512 is not set |
596 | # CONFIG_C2PORT is not set | 597 | # CONFIG_C2PORT is not set |
@@ -610,6 +611,7 @@ CONFIG_HAVE_IDE=y | |||
610 | # | 611 | # |
611 | # SCSI device support | 612 | # SCSI device support |
612 | # | 613 | # |
614 | CONFIG_SCSI_MOD=y | ||
613 | # CONFIG_RAID_ATTRS is not set | 615 | # CONFIG_RAID_ATTRS is not set |
614 | CONFIG_SCSI=y | 616 | CONFIG_SCSI=y |
615 | CONFIG_SCSI_DMA=y | 617 | CONFIG_SCSI_DMA=y |
@@ -867,6 +869,7 @@ CONFIG_SERIAL_CORE=y | |||
867 | CONFIG_SERIAL_CORE_CONSOLE=y | 869 | CONFIG_SERIAL_CORE_CONSOLE=y |
868 | # CONFIG_SERIAL_JSM is not set | 870 | # CONFIG_SERIAL_JSM is not set |
869 | # CONFIG_SERIAL_OF_PLATFORM is not set | 871 | # CONFIG_SERIAL_OF_PLATFORM is not set |
872 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
870 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 873 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
871 | CONFIG_UNIX98_PTYS=y | 874 | CONFIG_UNIX98_PTYS=y |
872 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 875 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -916,6 +919,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
916 | CONFIG_I2C_MPC=y | 919 | CONFIG_I2C_MPC=y |
917 | # CONFIG_I2C_OCORES is not set | 920 | # CONFIG_I2C_OCORES is not set |
918 | # CONFIG_I2C_SIMTEC is not set | 921 | # CONFIG_I2C_SIMTEC is not set |
922 | # CONFIG_I2C_XILINX is not set | ||
919 | 923 | ||
920 | # | 924 | # |
921 | # External I2C/SMBus adapter drivers | 925 | # External I2C/SMBus adapter drivers |
@@ -929,15 +933,9 @@ CONFIG_I2C_MPC=y | |||
929 | # | 933 | # |
930 | # CONFIG_I2C_PCA_PLATFORM is not set | 934 | # CONFIG_I2C_PCA_PLATFORM is not set |
931 | # CONFIG_I2C_STUB is not set | 935 | # CONFIG_I2C_STUB is not set |
932 | |||
933 | # | ||
934 | # Miscellaneous I2C Chip support | ||
935 | # | ||
936 | # CONFIG_SENSORS_TSL2550 is not set | ||
937 | # CONFIG_I2C_DEBUG_CORE is not set | 936 | # CONFIG_I2C_DEBUG_CORE is not set |
938 | # CONFIG_I2C_DEBUG_ALGO is not set | 937 | # CONFIG_I2C_DEBUG_ALGO is not set |
939 | # CONFIG_I2C_DEBUG_BUS is not set | 938 | # CONFIG_I2C_DEBUG_BUS is not set |
940 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
941 | CONFIG_SPI=y | 939 | CONFIG_SPI=y |
942 | CONFIG_SPI_MASTER=y | 940 | CONFIG_SPI_MASTER=y |
943 | 941 | ||
@@ -979,10 +977,11 @@ CONFIG_HWMON_DEBUG_CHIP=y | |||
979 | # CONFIG_SENSORS_ADM1029 is not set | 977 | # CONFIG_SENSORS_ADM1029 is not set |
980 | # CONFIG_SENSORS_ADM1031 is not set | 978 | # CONFIG_SENSORS_ADM1031 is not set |
981 | # CONFIG_SENSORS_ADM9240 is not set | 979 | # CONFIG_SENSORS_ADM9240 is not set |
980 | # CONFIG_SENSORS_ADT7411 is not set | ||
982 | # CONFIG_SENSORS_ADT7462 is not set | 981 | # CONFIG_SENSORS_ADT7462 is not set |
983 | # CONFIG_SENSORS_ADT7470 is not set | 982 | # CONFIG_SENSORS_ADT7470 is not set |
984 | # CONFIG_SENSORS_ADT7473 is not set | ||
985 | # CONFIG_SENSORS_ADT7475 is not set | 983 | # CONFIG_SENSORS_ADT7475 is not set |
984 | # CONFIG_SENSORS_ASC7621 is not set | ||
986 | # CONFIG_SENSORS_ATXP1 is not set | 985 | # CONFIG_SENSORS_ATXP1 is not set |
987 | # CONFIG_SENSORS_DS1621 is not set | 986 | # CONFIG_SENSORS_DS1621 is not set |
988 | # CONFIG_SENSORS_I5K_AMB is not set | 987 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1021,6 +1020,7 @@ CONFIG_SENSORS_LM75=y | |||
1021 | # CONFIG_SENSORS_SMSC47M192 is not set | 1020 | # CONFIG_SENSORS_SMSC47M192 is not set |
1022 | # CONFIG_SENSORS_SMSC47B397 is not set | 1021 | # CONFIG_SENSORS_SMSC47B397 is not set |
1023 | # CONFIG_SENSORS_ADS7828 is not set | 1022 | # CONFIG_SENSORS_ADS7828 is not set |
1023 | # CONFIG_SENSORS_AMC6821 is not set | ||
1024 | # CONFIG_SENSORS_THMC50 is not set | 1024 | # CONFIG_SENSORS_THMC50 is not set |
1025 | # CONFIG_SENSORS_TMP401 is not set | 1025 | # CONFIG_SENSORS_TMP401 is not set |
1026 | # CONFIG_SENSORS_TMP421 is not set | 1026 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1050,21 +1050,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1050 | # Multifunction device drivers | 1050 | # Multifunction device drivers |
1051 | # | 1051 | # |
1052 | # CONFIG_MFD_CORE is not set | 1052 | # CONFIG_MFD_CORE is not set |
1053 | # CONFIG_MFD_88PM860X is not set | ||
1053 | # CONFIG_MFD_SM501 is not set | 1054 | # CONFIG_MFD_SM501 is not set |
1054 | # CONFIG_HTC_PASIC3 is not set | 1055 | # CONFIG_HTC_PASIC3 is not set |
1055 | # CONFIG_TWL4030_CORE is not set | 1056 | # CONFIG_TWL4030_CORE is not set |
1056 | # CONFIG_MFD_TMIO is not set | 1057 | # CONFIG_MFD_TMIO is not set |
1057 | # CONFIG_PMIC_DA903X is not set | 1058 | # CONFIG_PMIC_DA903X is not set |
1058 | # CONFIG_PMIC_ADP5520 is not set | 1059 | # CONFIG_PMIC_ADP5520 is not set |
1060 | # CONFIG_MFD_MAX8925 is not set | ||
1059 | # CONFIG_MFD_WM8400 is not set | 1061 | # CONFIG_MFD_WM8400 is not set |
1060 | # CONFIG_MFD_WM831X is not set | 1062 | # CONFIG_MFD_WM831X is not set |
1061 | # CONFIG_MFD_WM8350_I2C is not set | 1063 | # CONFIG_MFD_WM8350_I2C is not set |
1064 | # CONFIG_MFD_WM8994 is not set | ||
1062 | # CONFIG_MFD_PCF50633 is not set | 1065 | # CONFIG_MFD_PCF50633 is not set |
1063 | # CONFIG_MFD_MC13783 is not set | 1066 | # CONFIG_MFD_MC13783 is not set |
1064 | # CONFIG_AB3100_CORE is not set | 1067 | # CONFIG_AB3100_CORE is not set |
1065 | # CONFIG_EZX_PCAP is not set | 1068 | # CONFIG_EZX_PCAP is not set |
1066 | # CONFIG_MFD_88PM8607 is not set | ||
1067 | # CONFIG_AB4500_CORE is not set | 1069 | # CONFIG_AB4500_CORE is not set |
1070 | # CONFIG_LPC_SCH is not set | ||
1068 | # CONFIG_REGULATOR is not set | 1071 | # CONFIG_REGULATOR is not set |
1069 | # CONFIG_MEDIA_SUPPORT is not set | 1072 | # CONFIG_MEDIA_SUPPORT is not set |
1070 | 1073 | ||
@@ -1073,6 +1076,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1073 | # | 1076 | # |
1074 | # CONFIG_AGP is not set | 1077 | # CONFIG_AGP is not set |
1075 | CONFIG_VGA_ARB=y | 1078 | CONFIG_VGA_ARB=y |
1079 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1076 | # CONFIG_DRM is not set | 1080 | # CONFIG_DRM is not set |
1077 | # CONFIG_VGASTATE is not set | 1081 | # CONFIG_VGASTATE is not set |
1078 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1082 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1180,6 +1184,7 @@ CONFIG_USB_HID=y | |||
1180 | # | 1184 | # |
1181 | # Special HID drivers | 1185 | # Special HID drivers |
1182 | # | 1186 | # |
1187 | # CONFIG_HID_3M_PCT is not set | ||
1183 | # CONFIG_HID_A4TECH is not set | 1188 | # CONFIG_HID_A4TECH is not set |
1184 | # CONFIG_HID_APPLE is not set | 1189 | # CONFIG_HID_APPLE is not set |
1185 | # CONFIG_HID_BELKIN is not set | 1190 | # CONFIG_HID_BELKIN is not set |
@@ -1194,12 +1199,16 @@ CONFIG_USB_HID=y | |||
1194 | # CONFIG_HID_KENSINGTON is not set | 1199 | # CONFIG_HID_KENSINGTON is not set |
1195 | # CONFIG_HID_LOGITECH is not set | 1200 | # CONFIG_HID_LOGITECH is not set |
1196 | # CONFIG_HID_MICROSOFT is not set | 1201 | # CONFIG_HID_MICROSOFT is not set |
1202 | # CONFIG_HID_MOSART is not set | ||
1197 | # CONFIG_HID_MONTEREY is not set | 1203 | # CONFIG_HID_MONTEREY is not set |
1198 | # CONFIG_HID_NTRIG is not set | 1204 | # CONFIG_HID_NTRIG is not set |
1205 | # CONFIG_HID_ORTEK is not set | ||
1199 | # CONFIG_HID_PANTHERLORD is not set | 1206 | # CONFIG_HID_PANTHERLORD is not set |
1200 | # CONFIG_HID_PETALYNX is not set | 1207 | # CONFIG_HID_PETALYNX is not set |
1208 | # CONFIG_HID_QUANTA is not set | ||
1201 | # CONFIG_HID_SAMSUNG is not set | 1209 | # CONFIG_HID_SAMSUNG is not set |
1202 | # CONFIG_HID_SONY is not set | 1210 | # CONFIG_HID_SONY is not set |
1211 | # CONFIG_HID_STANTUM is not set | ||
1203 | # CONFIG_HID_SUNPLUS is not set | 1212 | # CONFIG_HID_SUNPLUS is not set |
1204 | # CONFIG_HID_GREENASIA is not set | 1213 | # CONFIG_HID_GREENASIA is not set |
1205 | # CONFIG_HID_SMARTJOYPLUS is not set | 1214 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1307,7 +1316,6 @@ CONFIG_USB_STORAGE=y | |||
1307 | # CONFIG_USB_RIO500 is not set | 1316 | # CONFIG_USB_RIO500 is not set |
1308 | # CONFIG_USB_LEGOTOWER is not set | 1317 | # CONFIG_USB_LEGOTOWER is not set |
1309 | # CONFIG_USB_LCD is not set | 1318 | # CONFIG_USB_LCD is not set |
1310 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1311 | # CONFIG_USB_LED is not set | 1319 | # CONFIG_USB_LED is not set |
1312 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1320 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1313 | # CONFIG_USB_CYTHERM is not set | 1321 | # CONFIG_USB_CYTHERM is not set |
@@ -1320,7 +1328,6 @@ CONFIG_USB_STORAGE=y | |||
1320 | # CONFIG_USB_IOWARRIOR is not set | 1328 | # CONFIG_USB_IOWARRIOR is not set |
1321 | # CONFIG_USB_TEST is not set | 1329 | # CONFIG_USB_TEST is not set |
1322 | # CONFIG_USB_ISIGHTFW is not set | 1330 | # CONFIG_USB_ISIGHTFW is not set |
1323 | # CONFIG_USB_VST is not set | ||
1324 | # CONFIG_USB_GADGET is not set | 1331 | # CONFIG_USB_GADGET is not set |
1325 | 1332 | ||
1326 | # | 1333 | # |
@@ -1491,6 +1498,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1491 | # CONFIG_JFFS2_LZO is not set | 1498 | # CONFIG_JFFS2_LZO is not set |
1492 | CONFIG_JFFS2_RTIME=y | 1499 | CONFIG_JFFS2_RTIME=y |
1493 | # CONFIG_JFFS2_RUBIN is not set | 1500 | # CONFIG_JFFS2_RUBIN is not set |
1501 | # CONFIG_LOGFS is not set | ||
1494 | CONFIG_CRAMFS=y | 1502 | CONFIG_CRAMFS=y |
1495 | # CONFIG_SQUASHFS is not set | 1503 | # CONFIG_SQUASHFS is not set |
1496 | # CONFIG_VXFS_FS is not set | 1504 | # CONFIG_VXFS_FS is not set |
@@ -1515,6 +1523,7 @@ CONFIG_SUNRPC=y | |||
1515 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1523 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1516 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1524 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1517 | # CONFIG_SMB_FS is not set | 1525 | # CONFIG_SMB_FS is not set |
1526 | # CONFIG_CEPH_FS is not set | ||
1518 | # CONFIG_CIFS is not set | 1527 | # CONFIG_CIFS is not set |
1519 | # CONFIG_NCP_FS is not set | 1528 | # CONFIG_NCP_FS is not set |
1520 | # CONFIG_CODA_FS is not set | 1529 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig index ce313259df14..880ab7aaf202 100644 --- a/arch/powerpc/configs/85xx/stx_gp3_defconfig +++ b/arch/powerpc/configs/85xx/stx_gp3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:32 2010 | 4 | # Mon Apr 19 23:16:56 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
68 | # CONFIG_PPC_DCR_NATIVE is not set | 68 | # CONFIG_PPC_DCR_NATIVE is not set |
69 | # CONFIG_PPC_DCR_MMIO is not set | 69 | # CONFIG_PPC_DCR_MMIO is not set |
70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
71 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
72 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
71 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 75 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
72 | CONFIG_CONSTRUCTORS=y | 76 | CONFIG_CONSTRUCTORS=y |
73 | 77 | ||
@@ -99,14 +103,8 @@ CONFIG_RCU_FANOUT=32 | |||
99 | # CONFIG_TREE_RCU_TRACE is not set | 103 | # CONFIG_TREE_RCU_TRACE is not set |
100 | # CONFIG_IKCONFIG is not set | 104 | # CONFIG_IKCONFIG is not set |
101 | CONFIG_LOG_BUF_SHIFT=14 | 105 | CONFIG_LOG_BUF_SHIFT=14 |
102 | CONFIG_GROUP_SCHED=y | ||
103 | CONFIG_FAIR_GROUP_SCHED=y | ||
104 | # CONFIG_RT_GROUP_SCHED is not set | ||
105 | CONFIG_USER_SCHED=y | ||
106 | # CONFIG_CGROUP_SCHED is not set | ||
107 | # CONFIG_CGROUPS is not set | 106 | # CONFIG_CGROUPS is not set |
108 | CONFIG_SYSFS_DEPRECATED=y | 107 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
109 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
110 | # CONFIG_RELAY is not set | 108 | # CONFIG_RELAY is not set |
111 | # CONFIG_NAMESPACES is not set | 109 | # CONFIG_NAMESPACES is not set |
112 | CONFIG_BLK_DEV_INITRD=y | 110 | CONFIG_BLK_DEV_INITRD=y |
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
114 | CONFIG_RD_GZIP=y | 112 | CONFIG_RD_GZIP=y |
115 | # CONFIG_RD_BZIP2 is not set | 113 | # CONFIG_RD_BZIP2 is not set |
116 | # CONFIG_RD_LZMA is not set | 114 | # CONFIG_RD_LZMA is not set |
115 | # CONFIG_RD_LZO is not set | ||
117 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
118 | CONFIG_SYSCTL=y | 117 | CONFIG_SYSCTL=y |
119 | CONFIG_ANON_INODES=y | 118 | CONFIG_ANON_INODES=y |
@@ -324,6 +323,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 323 | # Bus options |
325 | # | 324 | # |
326 | CONFIG_ZONE_DMA=y | 325 | CONFIG_ZONE_DMA=y |
326 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_PPC_INDIRECT_PCI=y | 327 | CONFIG_PPC_INDIRECT_PCI=y |
328 | CONFIG_FSL_SOC=y | 328 | CONFIG_FSL_SOC=y |
329 | CONFIG_FSL_PCI=y | 329 | CONFIG_FSL_PCI=y |
@@ -334,7 +334,6 @@ CONFIG_PCI_SYSCALL=y | |||
334 | # CONFIG_PCIEPORTBUS is not set | 334 | # CONFIG_PCIEPORTBUS is not set |
335 | CONFIG_ARCH_SUPPORTS_MSI=y | 335 | CONFIG_ARCH_SUPPORTS_MSI=y |
336 | # CONFIG_PCI_MSI is not set | 336 | # CONFIG_PCI_MSI is not set |
337 | # CONFIG_PCI_LEGACY is not set | ||
338 | # CONFIG_PCI_DEBUG is not set | 337 | # CONFIG_PCI_DEBUG is not set |
339 | # CONFIG_PCI_STUB is not set | 338 | # CONFIG_PCI_STUB is not set |
340 | # CONFIG_PCI_IOV is not set | 339 | # CONFIG_PCI_IOV is not set |
@@ -363,7 +362,6 @@ CONFIG_NET=y | |||
363 | # Networking options | 362 | # Networking options |
364 | # | 363 | # |
365 | CONFIG_PACKET=y | 364 | CONFIG_PACKET=y |
366 | # CONFIG_PACKET_MMAP is not set | ||
367 | CONFIG_UNIX=y | 365 | CONFIG_UNIX=y |
368 | CONFIG_XFRM=y | 366 | CONFIG_XFRM=y |
369 | # CONFIG_XFRM_USER is not set | 367 | # CONFIG_XFRM_USER is not set |
@@ -520,6 +518,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
520 | # CONFIG_SYS_HYPERVISOR is not set | 518 | # CONFIG_SYS_HYPERVISOR is not set |
521 | # CONFIG_CONNECTOR is not set | 519 | # CONFIG_CONNECTOR is not set |
522 | # CONFIG_MTD is not set | 520 | # CONFIG_MTD is not set |
521 | CONFIG_OF_FLATTREE=y | ||
522 | CONFIG_OF_DYNAMIC=y | ||
523 | CONFIG_OF_DEVICE=y | 523 | CONFIG_OF_DEVICE=y |
524 | CONFIG_OF_GPIO=y | 524 | CONFIG_OF_GPIO=y |
525 | CONFIG_OF_I2C=m | 525 | CONFIG_OF_I2C=m |
@@ -563,6 +563,7 @@ CONFIG_MISC_DEVICES=y | |||
563 | # CONFIG_ENCLOSURE_SERVICES is not set | 563 | # CONFIG_ENCLOSURE_SERVICES is not set |
564 | # CONFIG_HP_ILO is not set | 564 | # CONFIG_HP_ILO is not set |
565 | # CONFIG_ISL29003 is not set | 565 | # CONFIG_ISL29003 is not set |
566 | # CONFIG_SENSORS_TSL2550 is not set | ||
566 | # CONFIG_DS1682 is not set | 567 | # CONFIG_DS1682 is not set |
567 | # CONFIG_C2PORT is not set | 568 | # CONFIG_C2PORT is not set |
568 | 569 | ||
@@ -630,6 +631,7 @@ CONFIG_IDE_PROC_FS=y | |||
630 | # | 631 | # |
631 | # SCSI device support | 632 | # SCSI device support |
632 | # | 633 | # |
634 | CONFIG_SCSI_MOD=m | ||
633 | # CONFIG_RAID_ATTRS is not set | 635 | # CONFIG_RAID_ATTRS is not set |
634 | CONFIG_SCSI=m | 636 | CONFIG_SCSI=m |
635 | CONFIG_SCSI_DMA=y | 637 | CONFIG_SCSI_DMA=y |
@@ -817,6 +819,8 @@ CONFIG_NETDEV_10000=y | |||
817 | # CONFIG_CHELSIO_T1 is not set | 819 | # CONFIG_CHELSIO_T1 is not set |
818 | CONFIG_CHELSIO_T3_DEPENDS=y | 820 | CONFIG_CHELSIO_T3_DEPENDS=y |
819 | # CONFIG_CHELSIO_T3 is not set | 821 | # CONFIG_CHELSIO_T3 is not set |
822 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
823 | # CONFIG_CHELSIO_T4 is not set | ||
820 | # CONFIG_ENIC is not set | 824 | # CONFIG_ENIC is not set |
821 | # CONFIG_IXGBE is not set | 825 | # CONFIG_IXGBE is not set |
822 | # CONFIG_IXGB is not set | 826 | # CONFIG_IXGB is not set |
@@ -829,6 +833,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
829 | # CONFIG_MLX4_CORE is not set | 833 | # CONFIG_MLX4_CORE is not set |
830 | # CONFIG_TEHUTI is not set | 834 | # CONFIG_TEHUTI is not set |
831 | # CONFIG_BNX2X is not set | 835 | # CONFIG_BNX2X is not set |
836 | # CONFIG_QLCNIC is not set | ||
832 | # CONFIG_QLGE is not set | 837 | # CONFIG_QLGE is not set |
833 | # CONFIG_SFC is not set | 838 | # CONFIG_SFC is not set |
834 | # CONFIG_BE2NET is not set | 839 | # CONFIG_BE2NET is not set |
@@ -947,6 +952,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
947 | CONFIG_SERIAL_CPM=y | 952 | CONFIG_SERIAL_CPM=y |
948 | CONFIG_SERIAL_CPM_CONSOLE=y | 953 | CONFIG_SERIAL_CPM_CONSOLE=y |
949 | # CONFIG_SERIAL_JSM is not set | 954 | # CONFIG_SERIAL_JSM is not set |
955 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
950 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 956 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
951 | CONFIG_UNIX98_PTYS=y | 957 | CONFIG_UNIX98_PTYS=y |
952 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 958 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1004,6 +1010,7 @@ CONFIG_I2C_ALGOBIT=m | |||
1004 | # CONFIG_I2C_MPC is not set | 1010 | # CONFIG_I2C_MPC is not set |
1005 | # CONFIG_I2C_OCORES is not set | 1011 | # CONFIG_I2C_OCORES is not set |
1006 | # CONFIG_I2C_SIMTEC is not set | 1012 | # CONFIG_I2C_SIMTEC is not set |
1013 | # CONFIG_I2C_XILINX is not set | ||
1007 | 1014 | ||
1008 | # | 1015 | # |
1009 | # External I2C/SMBus adapter drivers | 1016 | # External I2C/SMBus adapter drivers |
@@ -1017,15 +1024,9 @@ CONFIG_I2C_ALGOBIT=m | |||
1017 | # | 1024 | # |
1018 | # CONFIG_I2C_PCA_PLATFORM is not set | 1025 | # CONFIG_I2C_PCA_PLATFORM is not set |
1019 | # CONFIG_I2C_STUB is not set | 1026 | # CONFIG_I2C_STUB is not set |
1020 | |||
1021 | # | ||
1022 | # Miscellaneous I2C Chip support | ||
1023 | # | ||
1024 | # CONFIG_SENSORS_TSL2550 is not set | ||
1025 | # CONFIG_I2C_DEBUG_CORE is not set | 1027 | # CONFIG_I2C_DEBUG_CORE is not set |
1026 | # CONFIG_I2C_DEBUG_ALGO is not set | 1028 | # CONFIG_I2C_DEBUG_ALGO is not set |
1027 | # CONFIG_I2C_DEBUG_BUS is not set | 1029 | # CONFIG_I2C_DEBUG_BUS is not set |
1028 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1029 | # CONFIG_SPI is not set | 1030 | # CONFIG_SPI is not set |
1030 | 1031 | ||
1031 | # | 1032 | # |
@@ -1041,14 +1042,18 @@ CONFIG_GPIOLIB=y | |||
1041 | # | 1042 | # |
1042 | # Memory mapped GPIO expanders: | 1043 | # Memory mapped GPIO expanders: |
1043 | # | 1044 | # |
1045 | # CONFIG_GPIO_IT8761E is not set | ||
1044 | # CONFIG_GPIO_XILINX is not set | 1046 | # CONFIG_GPIO_XILINX is not set |
1047 | # CONFIG_GPIO_SCH is not set | ||
1045 | 1048 | ||
1046 | # | 1049 | # |
1047 | # I2C GPIO expanders: | 1050 | # I2C GPIO expanders: |
1048 | # | 1051 | # |
1052 | # CONFIG_GPIO_MAX7300 is not set | ||
1049 | # CONFIG_GPIO_MAX732X is not set | 1053 | # CONFIG_GPIO_MAX732X is not set |
1050 | # CONFIG_GPIO_PCA953X is not set | 1054 | # CONFIG_GPIO_PCA953X is not set |
1051 | # CONFIG_GPIO_PCF857X is not set | 1055 | # CONFIG_GPIO_PCF857X is not set |
1056 | # CONFIG_GPIO_ADP5588 is not set | ||
1052 | 1057 | ||
1053 | # | 1058 | # |
1054 | # PCI GPIO expanders: | 1059 | # PCI GPIO expanders: |
@@ -1081,10 +1086,11 @@ CONFIG_HWMON=y | |||
1081 | # CONFIG_SENSORS_ADM1029 is not set | 1086 | # CONFIG_SENSORS_ADM1029 is not set |
1082 | # CONFIG_SENSORS_ADM1031 is not set | 1087 | # CONFIG_SENSORS_ADM1031 is not set |
1083 | # CONFIG_SENSORS_ADM9240 is not set | 1088 | # CONFIG_SENSORS_ADM9240 is not set |
1089 | # CONFIG_SENSORS_ADT7411 is not set | ||
1084 | # CONFIG_SENSORS_ADT7462 is not set | 1090 | # CONFIG_SENSORS_ADT7462 is not set |
1085 | # CONFIG_SENSORS_ADT7470 is not set | 1091 | # CONFIG_SENSORS_ADT7470 is not set |
1086 | # CONFIG_SENSORS_ADT7473 is not set | ||
1087 | # CONFIG_SENSORS_ADT7475 is not set | 1092 | # CONFIG_SENSORS_ADT7475 is not set |
1093 | # CONFIG_SENSORS_ASC7621 is not set | ||
1088 | # CONFIG_SENSORS_ATXP1 is not set | 1094 | # CONFIG_SENSORS_ATXP1 is not set |
1089 | # CONFIG_SENSORS_DS1621 is not set | 1095 | # CONFIG_SENSORS_DS1621 is not set |
1090 | # CONFIG_SENSORS_I5K_AMB is not set | 1096 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1122,6 +1128,7 @@ CONFIG_HWMON=y | |||
1122 | # CONFIG_SENSORS_SMSC47M192 is not set | 1128 | # CONFIG_SENSORS_SMSC47M192 is not set |
1123 | # CONFIG_SENSORS_SMSC47B397 is not set | 1129 | # CONFIG_SENSORS_SMSC47B397 is not set |
1124 | # CONFIG_SENSORS_ADS7828 is not set | 1130 | # CONFIG_SENSORS_ADS7828 is not set |
1131 | # CONFIG_SENSORS_AMC6821 is not set | ||
1125 | # CONFIG_SENSORS_THMC50 is not set | 1132 | # CONFIG_SENSORS_THMC50 is not set |
1126 | # CONFIG_SENSORS_TMP401 is not set | 1133 | # CONFIG_SENSORS_TMP401 is not set |
1127 | # CONFIG_SENSORS_TMP421 is not set | 1134 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1155,9 +1162,10 @@ CONFIG_SSB_POSSIBLE=y | |||
1155 | # CONFIG_TPS65010 is not set | 1162 | # CONFIG_TPS65010 is not set |
1156 | # CONFIG_MFD_TMIO is not set | 1163 | # CONFIG_MFD_TMIO is not set |
1157 | # CONFIG_MFD_WM8400 is not set | 1164 | # CONFIG_MFD_WM8400 is not set |
1158 | # CONFIG_MFD_WM8350_I2C is not set | 1165 | # CONFIG_MFD_WM8994 is not set |
1159 | # CONFIG_MFD_PCF50633 is not set | 1166 | # CONFIG_MFD_PCF50633 is not set |
1160 | # CONFIG_AB3100_CORE is not set | 1167 | # CONFIG_MFD_TIMBERDALE is not set |
1168 | # CONFIG_LPC_SCH is not set | ||
1161 | # CONFIG_REGULATOR is not set | 1169 | # CONFIG_REGULATOR is not set |
1162 | # CONFIG_MEDIA_SUPPORT is not set | 1170 | # CONFIG_MEDIA_SUPPORT is not set |
1163 | 1171 | ||
@@ -1166,6 +1174,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1166 | # | 1174 | # |
1167 | CONFIG_AGP=m | 1175 | CONFIG_AGP=m |
1168 | CONFIG_VGA_ARB=y | 1176 | CONFIG_VGA_ARB=y |
1177 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1169 | CONFIG_DRM=m | 1178 | CONFIG_DRM=m |
1170 | # CONFIG_DRM_TDFX is not set | 1179 | # CONFIG_DRM_TDFX is not set |
1171 | # CONFIG_DRM_R128 is not set | 1180 | # CONFIG_DRM_R128 is not set |
@@ -1308,6 +1317,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1308 | # CONFIG_BEFS_FS is not set | 1317 | # CONFIG_BEFS_FS is not set |
1309 | # CONFIG_BFS_FS is not set | 1318 | # CONFIG_BFS_FS is not set |
1310 | # CONFIG_EFS_FS is not set | 1319 | # CONFIG_EFS_FS is not set |
1320 | # CONFIG_LOGFS is not set | ||
1311 | CONFIG_CRAMFS=m | 1321 | CONFIG_CRAMFS=m |
1312 | # CONFIG_SQUASHFS is not set | 1322 | # CONFIG_SQUASHFS is not set |
1313 | # CONFIG_VXFS_FS is not set | 1323 | # CONFIG_VXFS_FS is not set |
@@ -1333,6 +1343,7 @@ CONFIG_SUNRPC=y | |||
1333 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1343 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1334 | CONFIG_SMB_FS=m | 1344 | CONFIG_SMB_FS=m |
1335 | # CONFIG_SMB_NLS_DEFAULT is not set | 1345 | # CONFIG_SMB_NLS_DEFAULT is not set |
1346 | # CONFIG_CEPH_FS is not set | ||
1336 | # CONFIG_CIFS is not set | 1347 | # CONFIG_CIFS is not set |
1337 | # CONFIG_NCP_FS is not set | 1348 | # CONFIG_NCP_FS is not set |
1338 | # CONFIG_CODA_FS is not set | 1349 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8540_defconfig b/arch/powerpc/configs/85xx/tqm8540_defconfig index 0824b4667229..230aa2fc0629 100644 --- a/arch/powerpc/configs/85xx/tqm8540_defconfig +++ b/arch/powerpc/configs/85xx/tqm8540_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:33 2010 | 4 | # Mon Apr 19 23:16:57 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
67 | # CONFIG_PPC_DCR_NATIVE is not set | 67 | # CONFIG_PPC_DCR_NATIVE is not set |
68 | # CONFIG_PPC_DCR_MMIO is not set | 68 | # CONFIG_PPC_DCR_MMIO is not set |
69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
70 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
71 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
72 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
70 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 74 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
71 | CONFIG_CONSTRUCTORS=y | 75 | CONFIG_CONSTRUCTORS=y |
72 | 76 | ||
@@ -98,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 102 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 103 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
101 | CONFIG_GROUP_SCHED=y | ||
102 | CONFIG_FAIR_GROUP_SCHED=y | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
107 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
110 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
111 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
113 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
114 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
115 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
117 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
118 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -315,6 +314,7 @@ CONFIG_ISA_DMA_API=y | |||
315 | # Bus options | 314 | # Bus options |
316 | # | 315 | # |
317 | CONFIG_ZONE_DMA=y | 316 | CONFIG_ZONE_DMA=y |
317 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
318 | CONFIG_PPC_INDIRECT_PCI=y | 318 | CONFIG_PPC_INDIRECT_PCI=y |
319 | CONFIG_FSL_SOC=y | 319 | CONFIG_FSL_SOC=y |
320 | CONFIG_FSL_PCI=y | 320 | CONFIG_FSL_PCI=y |
@@ -325,7 +325,6 @@ CONFIG_PCI_SYSCALL=y | |||
325 | # CONFIG_PCIEPORTBUS is not set | 325 | # CONFIG_PCIEPORTBUS is not set |
326 | CONFIG_ARCH_SUPPORTS_MSI=y | 326 | CONFIG_ARCH_SUPPORTS_MSI=y |
327 | # CONFIG_PCI_MSI is not set | 327 | # CONFIG_PCI_MSI is not set |
328 | # CONFIG_PCI_LEGACY is not set | ||
329 | # CONFIG_PCI_STUB is not set | 328 | # CONFIG_PCI_STUB is not set |
330 | # CONFIG_PCI_IOV is not set | 329 | # CONFIG_PCI_IOV is not set |
331 | # CONFIG_HAS_RAPIDIO is not set | 330 | # CONFIG_HAS_RAPIDIO is not set |
@@ -351,7 +350,6 @@ CONFIG_NET=y | |||
351 | # Networking options | 350 | # Networking options |
352 | # | 351 | # |
353 | CONFIG_PACKET=y | 352 | CONFIG_PACKET=y |
354 | # CONFIG_PACKET_MMAP is not set | ||
355 | CONFIG_UNIX=y | 353 | CONFIG_UNIX=y |
356 | CONFIG_XFRM=y | 354 | CONFIG_XFRM=y |
357 | # CONFIG_XFRM_USER is not set | 355 | # CONFIG_XFRM_USER is not set |
@@ -525,6 +523,8 @@ CONFIG_MTD_CFI_UTIL=y | |||
525 | # UBI - Unsorted block images | 523 | # UBI - Unsorted block images |
526 | # | 524 | # |
527 | # CONFIG_MTD_UBI is not set | 525 | # CONFIG_MTD_UBI is not set |
526 | CONFIG_OF_FLATTREE=y | ||
527 | CONFIG_OF_DYNAMIC=y | ||
528 | CONFIG_OF_DEVICE=y | 528 | CONFIG_OF_DEVICE=y |
529 | CONFIG_OF_I2C=y | 529 | CONFIG_OF_I2C=y |
530 | CONFIG_OF_MDIO=y | 530 | CONFIG_OF_MDIO=y |
@@ -560,6 +560,7 @@ CONFIG_MISC_DEVICES=y | |||
560 | # CONFIG_ENCLOSURE_SERVICES is not set | 560 | # CONFIG_ENCLOSURE_SERVICES is not set |
561 | # CONFIG_HP_ILO is not set | 561 | # CONFIG_HP_ILO is not set |
562 | # CONFIG_ISL29003 is not set | 562 | # CONFIG_ISL29003 is not set |
563 | # CONFIG_SENSORS_TSL2550 is not set | ||
563 | # CONFIG_DS1682 is not set | 564 | # CONFIG_DS1682 is not set |
564 | # CONFIG_C2PORT is not set | 565 | # CONFIG_C2PORT is not set |
565 | 566 | ||
@@ -632,6 +633,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
632 | # | 633 | # |
633 | # SCSI device support | 634 | # SCSI device support |
634 | # | 635 | # |
636 | CONFIG_SCSI_MOD=y | ||
635 | # CONFIG_RAID_ATTRS is not set | 637 | # CONFIG_RAID_ATTRS is not set |
636 | # CONFIG_SCSI is not set | 638 | # CONFIG_SCSI is not set |
637 | # CONFIG_SCSI_DMA is not set | 639 | # CONFIG_SCSI_DMA is not set |
@@ -704,6 +706,7 @@ CONFIG_NET_PCI=y | |||
704 | # CONFIG_PCNET32 is not set | 706 | # CONFIG_PCNET32 is not set |
705 | # CONFIG_AMD8111_ETH is not set | 707 | # CONFIG_AMD8111_ETH is not set |
706 | # CONFIG_ADAPTEC_STARFIRE is not set | 708 | # CONFIG_ADAPTEC_STARFIRE is not set |
709 | # CONFIG_KSZ884X_PCI is not set | ||
707 | # CONFIG_B44 is not set | 710 | # CONFIG_B44 is not set |
708 | # CONFIG_FORCEDETH is not set | 711 | # CONFIG_FORCEDETH is not set |
709 | CONFIG_E100=y | 712 | CONFIG_E100=y |
@@ -755,6 +758,8 @@ CONFIG_NETDEV_10000=y | |||
755 | # CONFIG_CHELSIO_T1 is not set | 758 | # CONFIG_CHELSIO_T1 is not set |
756 | CONFIG_CHELSIO_T3_DEPENDS=y | 759 | CONFIG_CHELSIO_T3_DEPENDS=y |
757 | # CONFIG_CHELSIO_T3 is not set | 760 | # CONFIG_CHELSIO_T3 is not set |
761 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
762 | # CONFIG_CHELSIO_T4 is not set | ||
758 | # CONFIG_ENIC is not set | 763 | # CONFIG_ENIC is not set |
759 | # CONFIG_IXGBE is not set | 764 | # CONFIG_IXGBE is not set |
760 | # CONFIG_IXGB is not set | 765 | # CONFIG_IXGB is not set |
@@ -767,6 +772,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
767 | # CONFIG_MLX4_CORE is not set | 772 | # CONFIG_MLX4_CORE is not set |
768 | # CONFIG_TEHUTI is not set | 773 | # CONFIG_TEHUTI is not set |
769 | # CONFIG_BNX2X is not set | 774 | # CONFIG_BNX2X is not set |
775 | # CONFIG_QLCNIC is not set | ||
770 | # CONFIG_QLGE is not set | 776 | # CONFIG_QLGE is not set |
771 | # CONFIG_SFC is not set | 777 | # CONFIG_SFC is not set |
772 | # CONFIG_BE2NET is not set | 778 | # CONFIG_BE2NET is not set |
@@ -851,6 +857,7 @@ CONFIG_SERIAL_CORE=y | |||
851 | CONFIG_SERIAL_CORE_CONSOLE=y | 857 | CONFIG_SERIAL_CORE_CONSOLE=y |
852 | # CONFIG_SERIAL_JSM is not set | 858 | # CONFIG_SERIAL_JSM is not set |
853 | # CONFIG_SERIAL_OF_PLATFORM is not set | 859 | # CONFIG_SERIAL_OF_PLATFORM is not set |
860 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
854 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 861 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
855 | CONFIG_UNIX98_PTYS=y | 862 | CONFIG_UNIX98_PTYS=y |
856 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 863 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -902,6 +909,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
902 | CONFIG_I2C_MPC=y | 909 | CONFIG_I2C_MPC=y |
903 | # CONFIG_I2C_OCORES is not set | 910 | # CONFIG_I2C_OCORES is not set |
904 | # CONFIG_I2C_SIMTEC is not set | 911 | # CONFIG_I2C_SIMTEC is not set |
912 | # CONFIG_I2C_XILINX is not set | ||
905 | 913 | ||
906 | # | 914 | # |
907 | # External I2C/SMBus adapter drivers | 915 | # External I2C/SMBus adapter drivers |
@@ -913,15 +921,9 @@ CONFIG_I2C_MPC=y | |||
913 | # Other I2C/SMBus bus drivers | 921 | # Other I2C/SMBus bus drivers |
914 | # | 922 | # |
915 | # CONFIG_I2C_PCA_PLATFORM is not set | 923 | # CONFIG_I2C_PCA_PLATFORM is not set |
916 | |||
917 | # | ||
918 | # Miscellaneous I2C Chip support | ||
919 | # | ||
920 | # CONFIG_SENSORS_TSL2550 is not set | ||
921 | # CONFIG_I2C_DEBUG_CORE is not set | 924 | # CONFIG_I2C_DEBUG_CORE is not set |
922 | # CONFIG_I2C_DEBUG_ALGO is not set | 925 | # CONFIG_I2C_DEBUG_ALGO is not set |
923 | # CONFIG_I2C_DEBUG_BUS is not set | 926 | # CONFIG_I2C_DEBUG_BUS is not set |
924 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
925 | # CONFIG_SPI is not set | 927 | # CONFIG_SPI is not set |
926 | 928 | ||
927 | # | 929 | # |
@@ -947,10 +949,11 @@ CONFIG_HWMON_DEBUG_CHIP=y | |||
947 | # CONFIG_SENSORS_ADM1029 is not set | 949 | # CONFIG_SENSORS_ADM1029 is not set |
948 | # CONFIG_SENSORS_ADM1031 is not set | 950 | # CONFIG_SENSORS_ADM1031 is not set |
949 | # CONFIG_SENSORS_ADM9240 is not set | 951 | # CONFIG_SENSORS_ADM9240 is not set |
952 | # CONFIG_SENSORS_ADT7411 is not set | ||
950 | # CONFIG_SENSORS_ADT7462 is not set | 953 | # CONFIG_SENSORS_ADT7462 is not set |
951 | # CONFIG_SENSORS_ADT7470 is not set | 954 | # CONFIG_SENSORS_ADT7470 is not set |
952 | # CONFIG_SENSORS_ADT7473 is not set | ||
953 | # CONFIG_SENSORS_ADT7475 is not set | 955 | # CONFIG_SENSORS_ADT7475 is not set |
956 | # CONFIG_SENSORS_ASC7621 is not set | ||
954 | # CONFIG_SENSORS_ATXP1 is not set | 957 | # CONFIG_SENSORS_ATXP1 is not set |
955 | # CONFIG_SENSORS_DS1621 is not set | 958 | # CONFIG_SENSORS_DS1621 is not set |
956 | # CONFIG_SENSORS_I5K_AMB is not set | 959 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -987,6 +990,7 @@ CONFIG_SENSORS_LM75=y | |||
987 | # CONFIG_SENSORS_SMSC47M192 is not set | 990 | # CONFIG_SENSORS_SMSC47M192 is not set |
988 | # CONFIG_SENSORS_SMSC47B397 is not set | 991 | # CONFIG_SENSORS_SMSC47B397 is not set |
989 | # CONFIG_SENSORS_ADS7828 is not set | 992 | # CONFIG_SENSORS_ADS7828 is not set |
993 | # CONFIG_SENSORS_AMC6821 is not set | ||
990 | # CONFIG_SENSORS_THMC50 is not set | 994 | # CONFIG_SENSORS_THMC50 is not set |
991 | # CONFIG_SENSORS_TMP401 is not set | 995 | # CONFIG_SENSORS_TMP401 is not set |
992 | # CONFIG_SENSORS_TMP421 is not set | 996 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1015,18 +1019,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1015 | # Multifunction device drivers | 1019 | # Multifunction device drivers |
1016 | # | 1020 | # |
1017 | # CONFIG_MFD_CORE is not set | 1021 | # CONFIG_MFD_CORE is not set |
1022 | # CONFIG_MFD_88PM860X is not set | ||
1018 | # CONFIG_MFD_SM501 is not set | 1023 | # CONFIG_MFD_SM501 is not set |
1019 | # CONFIG_HTC_PASIC3 is not set | 1024 | # CONFIG_HTC_PASIC3 is not set |
1020 | # CONFIG_TWL4030_CORE is not set | 1025 | # CONFIG_TWL4030_CORE is not set |
1021 | # CONFIG_MFD_TMIO is not set | 1026 | # CONFIG_MFD_TMIO is not set |
1022 | # CONFIG_PMIC_DA903X is not set | 1027 | # CONFIG_PMIC_DA903X is not set |
1023 | # CONFIG_PMIC_ADP5520 is not set | 1028 | # CONFIG_PMIC_ADP5520 is not set |
1029 | # CONFIG_MFD_MAX8925 is not set | ||
1024 | # CONFIG_MFD_WM8400 is not set | 1030 | # CONFIG_MFD_WM8400 is not set |
1025 | # CONFIG_MFD_WM831X is not set | 1031 | # CONFIG_MFD_WM831X is not set |
1026 | # CONFIG_MFD_WM8350_I2C is not set | 1032 | # CONFIG_MFD_WM8350_I2C is not set |
1033 | # CONFIG_MFD_WM8994 is not set | ||
1027 | # CONFIG_MFD_PCF50633 is not set | 1034 | # CONFIG_MFD_PCF50633 is not set |
1028 | # CONFIG_AB3100_CORE is not set | 1035 | # CONFIG_AB3100_CORE is not set |
1029 | # CONFIG_MFD_88PM8607 is not set | 1036 | # CONFIG_LPC_SCH is not set |
1030 | # CONFIG_REGULATOR is not set | 1037 | # CONFIG_REGULATOR is not set |
1031 | # CONFIG_MEDIA_SUPPORT is not set | 1038 | # CONFIG_MEDIA_SUPPORT is not set |
1032 | 1039 | ||
@@ -1035,6 +1042,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1035 | # | 1042 | # |
1036 | # CONFIG_AGP is not set | 1043 | # CONFIG_AGP is not set |
1037 | CONFIG_VGA_ARB=y | 1044 | CONFIG_VGA_ARB=y |
1045 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1038 | # CONFIG_DRM is not set | 1046 | # CONFIG_DRM is not set |
1039 | # CONFIG_VGASTATE is not set | 1047 | # CONFIG_VGASTATE is not set |
1040 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1048 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1172,6 +1180,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1172 | # CONFIG_JFFS2_LZO is not set | 1180 | # CONFIG_JFFS2_LZO is not set |
1173 | CONFIG_JFFS2_RTIME=y | 1181 | CONFIG_JFFS2_RTIME=y |
1174 | # CONFIG_JFFS2_RUBIN is not set | 1182 | # CONFIG_JFFS2_RUBIN is not set |
1183 | # CONFIG_LOGFS is not set | ||
1175 | CONFIG_CRAMFS=y | 1184 | CONFIG_CRAMFS=y |
1176 | # CONFIG_SQUASHFS is not set | 1185 | # CONFIG_SQUASHFS is not set |
1177 | # CONFIG_VXFS_FS is not set | 1186 | # CONFIG_VXFS_FS is not set |
@@ -1194,6 +1203,7 @@ CONFIG_SUNRPC=y | |||
1194 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1203 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1195 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1204 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1196 | # CONFIG_SMB_FS is not set | 1205 | # CONFIG_SMB_FS is not set |
1206 | # CONFIG_CEPH_FS is not set | ||
1197 | # CONFIG_CIFS is not set | 1207 | # CONFIG_CIFS is not set |
1198 | # CONFIG_NCP_FS is not set | 1208 | # CONFIG_NCP_FS is not set |
1199 | # CONFIG_CODA_FS is not set | 1209 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8541_defconfig b/arch/powerpc/configs/85xx/tqm8541_defconfig index 2137be4100ed..dbe04b981b87 100644 --- a/arch/powerpc/configs/85xx/tqm8541_defconfig +++ b/arch/powerpc/configs/85xx/tqm8541_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:34 2010 | 4 | # Mon Apr 19 23:16:58 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
68 | # CONFIG_PPC_DCR_NATIVE is not set | 68 | # CONFIG_PPC_DCR_NATIVE is not set |
69 | # CONFIG_PPC_DCR_MMIO is not set | 69 | # CONFIG_PPC_DCR_MMIO is not set |
70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
71 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
72 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
71 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 75 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
72 | CONFIG_CONSTRUCTORS=y | 76 | CONFIG_CONSTRUCTORS=y |
73 | 77 | ||
@@ -99,14 +103,8 @@ CONFIG_RCU_FANOUT=32 | |||
99 | # CONFIG_TREE_RCU_TRACE is not set | 103 | # CONFIG_TREE_RCU_TRACE is not set |
100 | # CONFIG_IKCONFIG is not set | 104 | # CONFIG_IKCONFIG is not set |
101 | CONFIG_LOG_BUF_SHIFT=14 | 105 | CONFIG_LOG_BUF_SHIFT=14 |
102 | CONFIG_GROUP_SCHED=y | ||
103 | CONFIG_FAIR_GROUP_SCHED=y | ||
104 | # CONFIG_RT_GROUP_SCHED is not set | ||
105 | CONFIG_USER_SCHED=y | ||
106 | # CONFIG_CGROUP_SCHED is not set | ||
107 | # CONFIG_CGROUPS is not set | 106 | # CONFIG_CGROUPS is not set |
108 | CONFIG_SYSFS_DEPRECATED=y | 107 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
109 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
110 | # CONFIG_RELAY is not set | 108 | # CONFIG_RELAY is not set |
111 | # CONFIG_NAMESPACES is not set | 109 | # CONFIG_NAMESPACES is not set |
112 | CONFIG_BLK_DEV_INITRD=y | 110 | CONFIG_BLK_DEV_INITRD=y |
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
114 | CONFIG_RD_GZIP=y | 112 | CONFIG_RD_GZIP=y |
115 | # CONFIG_RD_BZIP2 is not set | 113 | # CONFIG_RD_BZIP2 is not set |
116 | # CONFIG_RD_LZMA is not set | 114 | # CONFIG_RD_LZMA is not set |
115 | # CONFIG_RD_LZO is not set | ||
117 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
118 | CONFIG_SYSCTL=y | 117 | CONFIG_SYSCTL=y |
119 | CONFIG_ANON_INODES=y | 118 | CONFIG_ANON_INODES=y |
@@ -318,6 +317,7 @@ CONFIG_ISA_DMA_API=y | |||
318 | # Bus options | 317 | # Bus options |
319 | # | 318 | # |
320 | CONFIG_ZONE_DMA=y | 319 | CONFIG_ZONE_DMA=y |
320 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
321 | CONFIG_PPC_INDIRECT_PCI=y | 321 | CONFIG_PPC_INDIRECT_PCI=y |
322 | CONFIG_FSL_SOC=y | 322 | CONFIG_FSL_SOC=y |
323 | CONFIG_FSL_PCI=y | 323 | CONFIG_FSL_PCI=y |
@@ -328,7 +328,6 @@ CONFIG_PCI_SYSCALL=y | |||
328 | # CONFIG_PCIEPORTBUS is not set | 328 | # CONFIG_PCIEPORTBUS is not set |
329 | CONFIG_ARCH_SUPPORTS_MSI=y | 329 | CONFIG_ARCH_SUPPORTS_MSI=y |
330 | # CONFIG_PCI_MSI is not set | 330 | # CONFIG_PCI_MSI is not set |
331 | # CONFIG_PCI_LEGACY is not set | ||
332 | # CONFIG_PCI_STUB is not set | 331 | # CONFIG_PCI_STUB is not set |
333 | # CONFIG_PCI_IOV is not set | 332 | # CONFIG_PCI_IOV is not set |
334 | # CONFIG_HAS_RAPIDIO is not set | 333 | # CONFIG_HAS_RAPIDIO is not set |
@@ -354,7 +353,6 @@ CONFIG_NET=y | |||
354 | # Networking options | 353 | # Networking options |
355 | # | 354 | # |
356 | CONFIG_PACKET=y | 355 | CONFIG_PACKET=y |
357 | # CONFIG_PACKET_MMAP is not set | ||
358 | CONFIG_UNIX=y | 356 | CONFIG_UNIX=y |
359 | CONFIG_XFRM=y | 357 | CONFIG_XFRM=y |
360 | # CONFIG_XFRM_USER is not set | 358 | # CONFIG_XFRM_USER is not set |
@@ -528,6 +526,8 @@ CONFIG_MTD_CFI_UTIL=y | |||
528 | # UBI - Unsorted block images | 526 | # UBI - Unsorted block images |
529 | # | 527 | # |
530 | # CONFIG_MTD_UBI is not set | 528 | # CONFIG_MTD_UBI is not set |
529 | CONFIG_OF_FLATTREE=y | ||
530 | CONFIG_OF_DYNAMIC=y | ||
531 | CONFIG_OF_DEVICE=y | 531 | CONFIG_OF_DEVICE=y |
532 | CONFIG_OF_GPIO=y | 532 | CONFIG_OF_GPIO=y |
533 | CONFIG_OF_I2C=y | 533 | CONFIG_OF_I2C=y |
@@ -564,6 +564,7 @@ CONFIG_MISC_DEVICES=y | |||
564 | # CONFIG_ENCLOSURE_SERVICES is not set | 564 | # CONFIG_ENCLOSURE_SERVICES is not set |
565 | # CONFIG_HP_ILO is not set | 565 | # CONFIG_HP_ILO is not set |
566 | # CONFIG_ISL29003 is not set | 566 | # CONFIG_ISL29003 is not set |
567 | # CONFIG_SENSORS_TSL2550 is not set | ||
567 | # CONFIG_DS1682 is not set | 568 | # CONFIG_DS1682 is not set |
568 | # CONFIG_C2PORT is not set | 569 | # CONFIG_C2PORT is not set |
569 | 570 | ||
@@ -636,6 +637,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
636 | # | 637 | # |
637 | # SCSI device support | 638 | # SCSI device support |
638 | # | 639 | # |
640 | CONFIG_SCSI_MOD=y | ||
639 | # CONFIG_RAID_ATTRS is not set | 641 | # CONFIG_RAID_ATTRS is not set |
640 | # CONFIG_SCSI is not set | 642 | # CONFIG_SCSI is not set |
641 | # CONFIG_SCSI_DMA is not set | 643 | # CONFIG_SCSI_DMA is not set |
@@ -708,6 +710,7 @@ CONFIG_NET_PCI=y | |||
708 | # CONFIG_PCNET32 is not set | 710 | # CONFIG_PCNET32 is not set |
709 | # CONFIG_AMD8111_ETH is not set | 711 | # CONFIG_AMD8111_ETH is not set |
710 | # CONFIG_ADAPTEC_STARFIRE is not set | 712 | # CONFIG_ADAPTEC_STARFIRE is not set |
713 | # CONFIG_KSZ884X_PCI is not set | ||
711 | # CONFIG_B44 is not set | 714 | # CONFIG_B44 is not set |
712 | # CONFIG_FORCEDETH is not set | 715 | # CONFIG_FORCEDETH is not set |
713 | CONFIG_E100=y | 716 | CONFIG_E100=y |
@@ -760,6 +763,8 @@ CONFIG_NETDEV_10000=y | |||
760 | # CONFIG_CHELSIO_T1 is not set | 763 | # CONFIG_CHELSIO_T1 is not set |
761 | CONFIG_CHELSIO_T3_DEPENDS=y | 764 | CONFIG_CHELSIO_T3_DEPENDS=y |
762 | # CONFIG_CHELSIO_T3 is not set | 765 | # CONFIG_CHELSIO_T3 is not set |
766 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
767 | # CONFIG_CHELSIO_T4 is not set | ||
763 | # CONFIG_ENIC is not set | 768 | # CONFIG_ENIC is not set |
764 | # CONFIG_IXGBE is not set | 769 | # CONFIG_IXGBE is not set |
765 | # CONFIG_IXGB is not set | 770 | # CONFIG_IXGB is not set |
@@ -772,6 +777,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
772 | # CONFIG_MLX4_CORE is not set | 777 | # CONFIG_MLX4_CORE is not set |
773 | # CONFIG_TEHUTI is not set | 778 | # CONFIG_TEHUTI is not set |
774 | # CONFIG_BNX2X is not set | 779 | # CONFIG_BNX2X is not set |
780 | # CONFIG_QLCNIC is not set | ||
775 | # CONFIG_QLGE is not set | 781 | # CONFIG_QLGE is not set |
776 | # CONFIG_SFC is not set | 782 | # CONFIG_SFC is not set |
777 | # CONFIG_BE2NET is not set | 783 | # CONFIG_BE2NET is not set |
@@ -858,6 +864,7 @@ CONFIG_SERIAL_CPM=y | |||
858 | CONFIG_SERIAL_CPM_CONSOLE=y | 864 | CONFIG_SERIAL_CPM_CONSOLE=y |
859 | # CONFIG_SERIAL_JSM is not set | 865 | # CONFIG_SERIAL_JSM is not set |
860 | # CONFIG_SERIAL_OF_PLATFORM is not set | 866 | # CONFIG_SERIAL_OF_PLATFORM is not set |
867 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
861 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 868 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
862 | CONFIG_UNIX98_PTYS=y | 869 | CONFIG_UNIX98_PTYS=y |
863 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 870 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -912,6 +919,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
912 | CONFIG_I2C_MPC=y | 919 | CONFIG_I2C_MPC=y |
913 | # CONFIG_I2C_OCORES is not set | 920 | # CONFIG_I2C_OCORES is not set |
914 | # CONFIG_I2C_SIMTEC is not set | 921 | # CONFIG_I2C_SIMTEC is not set |
922 | # CONFIG_I2C_XILINX is not set | ||
915 | 923 | ||
916 | # | 924 | # |
917 | # External I2C/SMBus adapter drivers | 925 | # External I2C/SMBus adapter drivers |
@@ -923,15 +931,9 @@ CONFIG_I2C_MPC=y | |||
923 | # Other I2C/SMBus bus drivers | 931 | # Other I2C/SMBus bus drivers |
924 | # | 932 | # |
925 | # CONFIG_I2C_PCA_PLATFORM is not set | 933 | # CONFIG_I2C_PCA_PLATFORM is not set |
926 | |||
927 | # | ||
928 | # Miscellaneous I2C Chip support | ||
929 | # | ||
930 | # CONFIG_SENSORS_TSL2550 is not set | ||
931 | # CONFIG_I2C_DEBUG_CORE is not set | 934 | # CONFIG_I2C_DEBUG_CORE is not set |
932 | # CONFIG_I2C_DEBUG_ALGO is not set | 935 | # CONFIG_I2C_DEBUG_ALGO is not set |
933 | # CONFIG_I2C_DEBUG_BUS is not set | 936 | # CONFIG_I2C_DEBUG_BUS is not set |
934 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
935 | # CONFIG_SPI is not set | 937 | # CONFIG_SPI is not set |
936 | 938 | ||
937 | # | 939 | # |
@@ -946,14 +948,18 @@ CONFIG_GPIOLIB=y | |||
946 | # | 948 | # |
947 | # Memory mapped GPIO expanders: | 949 | # Memory mapped GPIO expanders: |
948 | # | 950 | # |
951 | # CONFIG_GPIO_IT8761E is not set | ||
949 | # CONFIG_GPIO_XILINX is not set | 952 | # CONFIG_GPIO_XILINX is not set |
953 | # CONFIG_GPIO_SCH is not set | ||
950 | 954 | ||
951 | # | 955 | # |
952 | # I2C GPIO expanders: | 956 | # I2C GPIO expanders: |
953 | # | 957 | # |
958 | # CONFIG_GPIO_MAX7300 is not set | ||
954 | # CONFIG_GPIO_MAX732X is not set | 959 | # CONFIG_GPIO_MAX732X is not set |
955 | # CONFIG_GPIO_PCA953X is not set | 960 | # CONFIG_GPIO_PCA953X is not set |
956 | # CONFIG_GPIO_PCF857X is not set | 961 | # CONFIG_GPIO_PCF857X is not set |
962 | # CONFIG_GPIO_ADP5588 is not set | ||
957 | 963 | ||
958 | # | 964 | # |
959 | # PCI GPIO expanders: | 965 | # PCI GPIO expanders: |
@@ -986,10 +992,11 @@ CONFIG_HWMON_DEBUG_CHIP=y | |||
986 | # CONFIG_SENSORS_ADM1029 is not set | 992 | # CONFIG_SENSORS_ADM1029 is not set |
987 | # CONFIG_SENSORS_ADM1031 is not set | 993 | # CONFIG_SENSORS_ADM1031 is not set |
988 | # CONFIG_SENSORS_ADM9240 is not set | 994 | # CONFIG_SENSORS_ADM9240 is not set |
995 | # CONFIG_SENSORS_ADT7411 is not set | ||
989 | # CONFIG_SENSORS_ADT7462 is not set | 996 | # CONFIG_SENSORS_ADT7462 is not set |
990 | # CONFIG_SENSORS_ADT7470 is not set | 997 | # CONFIG_SENSORS_ADT7470 is not set |
991 | # CONFIG_SENSORS_ADT7473 is not set | ||
992 | # CONFIG_SENSORS_ADT7475 is not set | 998 | # CONFIG_SENSORS_ADT7475 is not set |
999 | # CONFIG_SENSORS_ASC7621 is not set | ||
993 | # CONFIG_SENSORS_ATXP1 is not set | 1000 | # CONFIG_SENSORS_ATXP1 is not set |
994 | # CONFIG_SENSORS_DS1621 is not set | 1001 | # CONFIG_SENSORS_DS1621 is not set |
995 | # CONFIG_SENSORS_I5K_AMB is not set | 1002 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1027,6 +1034,7 @@ CONFIG_SENSORS_LM75=y | |||
1027 | # CONFIG_SENSORS_SMSC47M192 is not set | 1034 | # CONFIG_SENSORS_SMSC47M192 is not set |
1028 | # CONFIG_SENSORS_SMSC47B397 is not set | 1035 | # CONFIG_SENSORS_SMSC47B397 is not set |
1029 | # CONFIG_SENSORS_ADS7828 is not set | 1036 | # CONFIG_SENSORS_ADS7828 is not set |
1037 | # CONFIG_SENSORS_AMC6821 is not set | ||
1030 | # CONFIG_SENSORS_THMC50 is not set | 1038 | # CONFIG_SENSORS_THMC50 is not set |
1031 | # CONFIG_SENSORS_TMP401 is not set | 1039 | # CONFIG_SENSORS_TMP401 is not set |
1032 | # CONFIG_SENSORS_TMP421 is not set | 1040 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1055,19 +1063,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1055 | # Multifunction device drivers | 1063 | # Multifunction device drivers |
1056 | # | 1064 | # |
1057 | # CONFIG_MFD_CORE is not set | 1065 | # CONFIG_MFD_CORE is not set |
1066 | # CONFIG_MFD_88PM860X is not set | ||
1058 | # CONFIG_MFD_SM501 is not set | 1067 | # CONFIG_MFD_SM501 is not set |
1059 | # CONFIG_HTC_PASIC3 is not set | 1068 | # CONFIG_HTC_PASIC3 is not set |
1069 | # CONFIG_HTC_I2CPLD is not set | ||
1060 | # CONFIG_TPS65010 is not set | 1070 | # CONFIG_TPS65010 is not set |
1061 | # CONFIG_TWL4030_CORE is not set | 1071 | # CONFIG_TWL4030_CORE is not set |
1062 | # CONFIG_MFD_TMIO is not set | 1072 | # CONFIG_MFD_TMIO is not set |
1063 | # CONFIG_PMIC_DA903X is not set | 1073 | # CONFIG_PMIC_DA903X is not set |
1064 | # CONFIG_PMIC_ADP5520 is not set | 1074 | # CONFIG_PMIC_ADP5520 is not set |
1075 | # CONFIG_MFD_MAX8925 is not set | ||
1065 | # CONFIG_MFD_WM8400 is not set | 1076 | # CONFIG_MFD_WM8400 is not set |
1066 | # CONFIG_MFD_WM831X is not set | 1077 | # CONFIG_MFD_WM831X is not set |
1067 | # CONFIG_MFD_WM8350_I2C is not set | 1078 | # CONFIG_MFD_WM8350_I2C is not set |
1079 | # CONFIG_MFD_WM8994 is not set | ||
1068 | # CONFIG_MFD_PCF50633 is not set | 1080 | # CONFIG_MFD_PCF50633 is not set |
1069 | # CONFIG_AB3100_CORE is not set | 1081 | # CONFIG_AB3100_CORE is not set |
1070 | # CONFIG_MFD_88PM8607 is not set | 1082 | # CONFIG_MFD_TIMBERDALE is not set |
1083 | # CONFIG_LPC_SCH is not set | ||
1071 | # CONFIG_REGULATOR is not set | 1084 | # CONFIG_REGULATOR is not set |
1072 | # CONFIG_MEDIA_SUPPORT is not set | 1085 | # CONFIG_MEDIA_SUPPORT is not set |
1073 | 1086 | ||
@@ -1076,6 +1089,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1076 | # | 1089 | # |
1077 | # CONFIG_AGP is not set | 1090 | # CONFIG_AGP is not set |
1078 | CONFIG_VGA_ARB=y | 1091 | CONFIG_VGA_ARB=y |
1092 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1079 | # CONFIG_DRM is not set | 1093 | # CONFIG_DRM is not set |
1080 | # CONFIG_VGASTATE is not set | 1094 | # CONFIG_VGASTATE is not set |
1081 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1095 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1213,6 +1227,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1213 | # CONFIG_JFFS2_LZO is not set | 1227 | # CONFIG_JFFS2_LZO is not set |
1214 | CONFIG_JFFS2_RTIME=y | 1228 | CONFIG_JFFS2_RTIME=y |
1215 | # CONFIG_JFFS2_RUBIN is not set | 1229 | # CONFIG_JFFS2_RUBIN is not set |
1230 | # CONFIG_LOGFS is not set | ||
1216 | CONFIG_CRAMFS=y | 1231 | CONFIG_CRAMFS=y |
1217 | # CONFIG_SQUASHFS is not set | 1232 | # CONFIG_SQUASHFS is not set |
1218 | # CONFIG_VXFS_FS is not set | 1233 | # CONFIG_VXFS_FS is not set |
@@ -1235,6 +1250,7 @@ CONFIG_SUNRPC=y | |||
1235 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1250 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1236 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1251 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1237 | # CONFIG_SMB_FS is not set | 1252 | # CONFIG_SMB_FS is not set |
1253 | # CONFIG_CEPH_FS is not set | ||
1238 | # CONFIG_CIFS is not set | 1254 | # CONFIG_CIFS is not set |
1239 | # CONFIG_NCP_FS is not set | 1255 | # CONFIG_NCP_FS is not set |
1240 | # CONFIG_CODA_FS is not set | 1256 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig index 5cc89aac3fec..845efa79dd20 100644 --- a/arch/powerpc/configs/85xx/tqm8548_defconfig +++ b/arch/powerpc/configs/85xx/tqm8548_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:35 2010 | 4 | # Mon Apr 19 23:16:59 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
67 | # CONFIG_PPC_DCR_NATIVE is not set | 67 | # CONFIG_PPC_DCR_NATIVE is not set |
68 | # CONFIG_PPC_DCR_MMIO is not set | 68 | # CONFIG_PPC_DCR_MMIO is not set |
69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
70 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
71 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
72 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
70 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 74 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
71 | CONFIG_CONSTRUCTORS=y | 75 | CONFIG_CONSTRUCTORS=y |
72 | 76 | ||
@@ -98,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 102 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 103 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
101 | CONFIG_GROUP_SCHED=y | ||
102 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
107 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
110 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
111 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
113 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
114 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
115 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
117 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
118 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -324,6 +323,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 323 | # Bus options |
325 | # | 324 | # |
326 | CONFIG_ZONE_DMA=y | 325 | CONFIG_ZONE_DMA=y |
326 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
327 | CONFIG_PPC_INDIRECT_PCI=y | 327 | CONFIG_PPC_INDIRECT_PCI=y |
328 | CONFIG_FSL_SOC=y | 328 | CONFIG_FSL_SOC=y |
329 | CONFIG_FSL_PCI=y | 329 | CONFIG_FSL_PCI=y |
@@ -339,7 +339,6 @@ CONFIG_PCIEAER=y | |||
339 | # CONFIG_PCIEASPM is not set | 339 | # CONFIG_PCIEASPM is not set |
340 | CONFIG_ARCH_SUPPORTS_MSI=y | 340 | CONFIG_ARCH_SUPPORTS_MSI=y |
341 | # CONFIG_PCI_MSI is not set | 341 | # CONFIG_PCI_MSI is not set |
342 | # CONFIG_PCI_LEGACY is not set | ||
343 | # CONFIG_PCI_DEBUG is not set | 342 | # CONFIG_PCI_DEBUG is not set |
344 | # CONFIG_PCI_STUB is not set | 343 | # CONFIG_PCI_STUB is not set |
345 | # CONFIG_PCI_IOV is not set | 344 | # CONFIG_PCI_IOV is not set |
@@ -368,7 +367,6 @@ CONFIG_NET=y | |||
368 | # Networking options | 367 | # Networking options |
369 | # | 368 | # |
370 | CONFIG_PACKET=y | 369 | CONFIG_PACKET=y |
371 | # CONFIG_PACKET_MMAP is not set | ||
372 | CONFIG_UNIX=y | 370 | CONFIG_UNIX=y |
373 | CONFIG_XFRM=y | 371 | CONFIG_XFRM=y |
374 | CONFIG_XFRM_USER=y | 372 | CONFIG_XFRM_USER=y |
@@ -559,6 +557,8 @@ CONFIG_MTD_NAND_FSL_UPM=y | |||
559 | # UBI - Unsorted block images | 557 | # UBI - Unsorted block images |
560 | # | 558 | # |
561 | # CONFIG_MTD_UBI is not set | 559 | # CONFIG_MTD_UBI is not set |
560 | CONFIG_OF_FLATTREE=y | ||
561 | CONFIG_OF_DYNAMIC=y | ||
562 | CONFIG_OF_DEVICE=y | 562 | CONFIG_OF_DEVICE=y |
563 | CONFIG_OF_I2C=y | 563 | CONFIG_OF_I2C=y |
564 | CONFIG_OF_MDIO=y | 564 | CONFIG_OF_MDIO=y |
@@ -594,6 +594,7 @@ CONFIG_MISC_DEVICES=y | |||
594 | # CONFIG_ENCLOSURE_SERVICES is not set | 594 | # CONFIG_ENCLOSURE_SERVICES is not set |
595 | # CONFIG_HP_ILO is not set | 595 | # CONFIG_HP_ILO is not set |
596 | # CONFIG_ISL29003 is not set | 596 | # CONFIG_ISL29003 is not set |
597 | # CONFIG_SENSORS_TSL2550 is not set | ||
597 | # CONFIG_DS1682 is not set | 598 | # CONFIG_DS1682 is not set |
598 | # CONFIG_C2PORT is not set | 599 | # CONFIG_C2PORT is not set |
599 | 600 | ||
@@ -611,6 +612,7 @@ CONFIG_HAVE_IDE=y | |||
611 | # | 612 | # |
612 | # SCSI device support | 613 | # SCSI device support |
613 | # | 614 | # |
615 | CONFIG_SCSI_MOD=y | ||
614 | # CONFIG_RAID_ATTRS is not set | 616 | # CONFIG_RAID_ATTRS is not set |
615 | # CONFIG_SCSI is not set | 617 | # CONFIG_SCSI is not set |
616 | # CONFIG_SCSI_DMA is not set | 618 | # CONFIG_SCSI_DMA is not set |
@@ -716,6 +718,8 @@ CONFIG_NETDEV_10000=y | |||
716 | # CONFIG_CHELSIO_T1 is not set | 718 | # CONFIG_CHELSIO_T1 is not set |
717 | CONFIG_CHELSIO_T3_DEPENDS=y | 719 | CONFIG_CHELSIO_T3_DEPENDS=y |
718 | # CONFIG_CHELSIO_T3 is not set | 720 | # CONFIG_CHELSIO_T3 is not set |
721 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
722 | # CONFIG_CHELSIO_T4 is not set | ||
719 | # CONFIG_ENIC is not set | 723 | # CONFIG_ENIC is not set |
720 | # CONFIG_IXGBE is not set | 724 | # CONFIG_IXGBE is not set |
721 | # CONFIG_IXGB is not set | 725 | # CONFIG_IXGB is not set |
@@ -728,6 +732,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
728 | # CONFIG_MLX4_CORE is not set | 732 | # CONFIG_MLX4_CORE is not set |
729 | # CONFIG_TEHUTI is not set | 733 | # CONFIG_TEHUTI is not set |
730 | # CONFIG_BNX2X is not set | 734 | # CONFIG_BNX2X is not set |
735 | # CONFIG_QLCNIC is not set | ||
731 | # CONFIG_QLGE is not set | 736 | # CONFIG_QLGE is not set |
732 | # CONFIG_SFC is not set | 737 | # CONFIG_SFC is not set |
733 | # CONFIG_BE2NET is not set | 738 | # CONFIG_BE2NET is not set |
@@ -812,6 +817,7 @@ CONFIG_SERIAL_CORE=y | |||
812 | CONFIG_SERIAL_CORE_CONSOLE=y | 817 | CONFIG_SERIAL_CORE_CONSOLE=y |
813 | # CONFIG_SERIAL_JSM is not set | 818 | # CONFIG_SERIAL_JSM is not set |
814 | # CONFIG_SERIAL_OF_PLATFORM is not set | 819 | # CONFIG_SERIAL_OF_PLATFORM is not set |
820 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
815 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 821 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
816 | CONFIG_UNIX98_PTYS=y | 822 | CONFIG_UNIX98_PTYS=y |
817 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 823 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -860,6 +866,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
860 | CONFIG_I2C_MPC=y | 866 | CONFIG_I2C_MPC=y |
861 | # CONFIG_I2C_OCORES is not set | 867 | # CONFIG_I2C_OCORES is not set |
862 | # CONFIG_I2C_SIMTEC is not set | 868 | # CONFIG_I2C_SIMTEC is not set |
869 | # CONFIG_I2C_XILINX is not set | ||
863 | 870 | ||
864 | # | 871 | # |
865 | # External I2C/SMBus adapter drivers | 872 | # External I2C/SMBus adapter drivers |
@@ -872,15 +879,9 @@ CONFIG_I2C_MPC=y | |||
872 | # | 879 | # |
873 | # CONFIG_I2C_PCA_PLATFORM is not set | 880 | # CONFIG_I2C_PCA_PLATFORM is not set |
874 | # CONFIG_I2C_STUB is not set | 881 | # CONFIG_I2C_STUB is not set |
875 | |||
876 | # | ||
877 | # Miscellaneous I2C Chip support | ||
878 | # | ||
879 | # CONFIG_SENSORS_TSL2550 is not set | ||
880 | # CONFIG_I2C_DEBUG_CORE is not set | 882 | # CONFIG_I2C_DEBUG_CORE is not set |
881 | # CONFIG_I2C_DEBUG_ALGO is not set | 883 | # CONFIG_I2C_DEBUG_ALGO is not set |
882 | # CONFIG_I2C_DEBUG_BUS is not set | 884 | # CONFIG_I2C_DEBUG_BUS is not set |
883 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
884 | # CONFIG_SPI is not set | 885 | # CONFIG_SPI is not set |
885 | 886 | ||
886 | # | 887 | # |
@@ -906,10 +907,11 @@ CONFIG_HWMON=y | |||
906 | # CONFIG_SENSORS_ADM1029 is not set | 907 | # CONFIG_SENSORS_ADM1029 is not set |
907 | # CONFIG_SENSORS_ADM1031 is not set | 908 | # CONFIG_SENSORS_ADM1031 is not set |
908 | # CONFIG_SENSORS_ADM9240 is not set | 909 | # CONFIG_SENSORS_ADM9240 is not set |
910 | # CONFIG_SENSORS_ADT7411 is not set | ||
909 | # CONFIG_SENSORS_ADT7462 is not set | 911 | # CONFIG_SENSORS_ADT7462 is not set |
910 | # CONFIG_SENSORS_ADT7470 is not set | 912 | # CONFIG_SENSORS_ADT7470 is not set |
911 | # CONFIG_SENSORS_ADT7473 is not set | ||
912 | # CONFIG_SENSORS_ADT7475 is not set | 913 | # CONFIG_SENSORS_ADT7475 is not set |
914 | # CONFIG_SENSORS_ASC7621 is not set | ||
913 | # CONFIG_SENSORS_ATXP1 is not set | 915 | # CONFIG_SENSORS_ATXP1 is not set |
914 | # CONFIG_SENSORS_DS1621 is not set | 916 | # CONFIG_SENSORS_DS1621 is not set |
915 | # CONFIG_SENSORS_I5K_AMB is not set | 917 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -946,6 +948,7 @@ CONFIG_SENSORS_LM75=y | |||
946 | # CONFIG_SENSORS_SMSC47M192 is not set | 948 | # CONFIG_SENSORS_SMSC47M192 is not set |
947 | # CONFIG_SENSORS_SMSC47B397 is not set | 949 | # CONFIG_SENSORS_SMSC47B397 is not set |
948 | # CONFIG_SENSORS_ADS7828 is not set | 950 | # CONFIG_SENSORS_ADS7828 is not set |
951 | # CONFIG_SENSORS_AMC6821 is not set | ||
949 | # CONFIG_SENSORS_THMC50 is not set | 952 | # CONFIG_SENSORS_THMC50 is not set |
950 | # CONFIG_SENSORS_TMP401 is not set | 953 | # CONFIG_SENSORS_TMP401 is not set |
951 | # CONFIG_SENSORS_TMP421 is not set | 954 | # CONFIG_SENSORS_TMP421 is not set |
@@ -974,18 +977,21 @@ CONFIG_SSB_POSSIBLE=y | |||
974 | # Multifunction device drivers | 977 | # Multifunction device drivers |
975 | # | 978 | # |
976 | # CONFIG_MFD_CORE is not set | 979 | # CONFIG_MFD_CORE is not set |
980 | # CONFIG_MFD_88PM860X is not set | ||
977 | # CONFIG_MFD_SM501 is not set | 981 | # CONFIG_MFD_SM501 is not set |
978 | # CONFIG_HTC_PASIC3 is not set | 982 | # CONFIG_HTC_PASIC3 is not set |
979 | # CONFIG_TWL4030_CORE is not set | 983 | # CONFIG_TWL4030_CORE is not set |
980 | # CONFIG_MFD_TMIO is not set | 984 | # CONFIG_MFD_TMIO is not set |
981 | # CONFIG_PMIC_DA903X is not set | 985 | # CONFIG_PMIC_DA903X is not set |
982 | # CONFIG_PMIC_ADP5520 is not set | 986 | # CONFIG_PMIC_ADP5520 is not set |
987 | # CONFIG_MFD_MAX8925 is not set | ||
983 | # CONFIG_MFD_WM8400 is not set | 988 | # CONFIG_MFD_WM8400 is not set |
984 | # CONFIG_MFD_WM831X is not set | 989 | # CONFIG_MFD_WM831X is not set |
985 | # CONFIG_MFD_WM8350_I2C is not set | 990 | # CONFIG_MFD_WM8350_I2C is not set |
991 | # CONFIG_MFD_WM8994 is not set | ||
986 | # CONFIG_MFD_PCF50633 is not set | 992 | # CONFIG_MFD_PCF50633 is not set |
987 | # CONFIG_AB3100_CORE is not set | 993 | # CONFIG_AB3100_CORE is not set |
988 | # CONFIG_MFD_88PM8607 is not set | 994 | # CONFIG_LPC_SCH is not set |
989 | # CONFIG_REGULATOR is not set | 995 | # CONFIG_REGULATOR is not set |
990 | # CONFIG_MEDIA_SUPPORT is not set | 996 | # CONFIG_MEDIA_SUPPORT is not set |
991 | 997 | ||
@@ -994,6 +1000,7 @@ CONFIG_SSB_POSSIBLE=y | |||
994 | # | 1000 | # |
995 | # CONFIG_AGP is not set | 1001 | # CONFIG_AGP is not set |
996 | CONFIG_VGA_ARB=y | 1002 | CONFIG_VGA_ARB=y |
1003 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
997 | # CONFIG_DRM is not set | 1004 | # CONFIG_DRM is not set |
998 | # CONFIG_VGASTATE is not set | 1005 | # CONFIG_VGASTATE is not set |
999 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 1006 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1162,6 +1169,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1162 | # CONFIG_JFFS2_LZO is not set | 1169 | # CONFIG_JFFS2_LZO is not set |
1163 | CONFIG_JFFS2_RTIME=y | 1170 | CONFIG_JFFS2_RTIME=y |
1164 | # CONFIG_JFFS2_RUBIN is not set | 1171 | # CONFIG_JFFS2_RUBIN is not set |
1172 | # CONFIG_LOGFS is not set | ||
1165 | # CONFIG_CRAMFS is not set | 1173 | # CONFIG_CRAMFS is not set |
1166 | # CONFIG_SQUASHFS is not set | 1174 | # CONFIG_SQUASHFS is not set |
1167 | # CONFIG_VXFS_FS is not set | 1175 | # CONFIG_VXFS_FS is not set |
@@ -1184,6 +1192,7 @@ CONFIG_SUNRPC=y | |||
1184 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1192 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1185 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1193 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1186 | # CONFIG_SMB_FS is not set | 1194 | # CONFIG_SMB_FS is not set |
1195 | # CONFIG_CEPH_FS is not set | ||
1187 | # CONFIG_CIFS is not set | 1196 | # CONFIG_CIFS is not set |
1188 | # CONFIG_NCP_FS is not set | 1197 | # CONFIG_NCP_FS is not set |
1189 | # CONFIG_CODA_FS is not set | 1198 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8555_defconfig b/arch/powerpc/configs/85xx/tqm8555_defconfig index e7b9148e58cf..b958136a12f0 100644 --- a/arch/powerpc/configs/85xx/tqm8555_defconfig +++ b/arch/powerpc/configs/85xx/tqm8555_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:36 2010 | 4 | # Mon Apr 19 23:17:00 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
68 | # CONFIG_PPC_DCR_NATIVE is not set | 68 | # CONFIG_PPC_DCR_NATIVE is not set |
69 | # CONFIG_PPC_DCR_MMIO is not set | 69 | # CONFIG_PPC_DCR_MMIO is not set |
70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
71 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
72 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
71 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 75 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
72 | CONFIG_CONSTRUCTORS=y | 76 | CONFIG_CONSTRUCTORS=y |
73 | 77 | ||
@@ -99,14 +103,8 @@ CONFIG_RCU_FANOUT=32 | |||
99 | # CONFIG_TREE_RCU_TRACE is not set | 103 | # CONFIG_TREE_RCU_TRACE is not set |
100 | # CONFIG_IKCONFIG is not set | 104 | # CONFIG_IKCONFIG is not set |
101 | CONFIG_LOG_BUF_SHIFT=14 | 105 | CONFIG_LOG_BUF_SHIFT=14 |
102 | CONFIG_GROUP_SCHED=y | ||
103 | CONFIG_FAIR_GROUP_SCHED=y | ||
104 | # CONFIG_RT_GROUP_SCHED is not set | ||
105 | CONFIG_USER_SCHED=y | ||
106 | # CONFIG_CGROUP_SCHED is not set | ||
107 | # CONFIG_CGROUPS is not set | 106 | # CONFIG_CGROUPS is not set |
108 | CONFIG_SYSFS_DEPRECATED=y | 107 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
109 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
110 | # CONFIG_RELAY is not set | 108 | # CONFIG_RELAY is not set |
111 | # CONFIG_NAMESPACES is not set | 109 | # CONFIG_NAMESPACES is not set |
112 | CONFIG_BLK_DEV_INITRD=y | 110 | CONFIG_BLK_DEV_INITRD=y |
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
114 | CONFIG_RD_GZIP=y | 112 | CONFIG_RD_GZIP=y |
115 | # CONFIG_RD_BZIP2 is not set | 113 | # CONFIG_RD_BZIP2 is not set |
116 | # CONFIG_RD_LZMA is not set | 114 | # CONFIG_RD_LZMA is not set |
115 | # CONFIG_RD_LZO is not set | ||
117 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
118 | CONFIG_SYSCTL=y | 117 | CONFIG_SYSCTL=y |
119 | CONFIG_ANON_INODES=y | 118 | CONFIG_ANON_INODES=y |
@@ -318,6 +317,7 @@ CONFIG_ISA_DMA_API=y | |||
318 | # Bus options | 317 | # Bus options |
319 | # | 318 | # |
320 | CONFIG_ZONE_DMA=y | 319 | CONFIG_ZONE_DMA=y |
320 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
321 | CONFIG_PPC_INDIRECT_PCI=y | 321 | CONFIG_PPC_INDIRECT_PCI=y |
322 | CONFIG_FSL_SOC=y | 322 | CONFIG_FSL_SOC=y |
323 | CONFIG_FSL_PCI=y | 323 | CONFIG_FSL_PCI=y |
@@ -328,7 +328,6 @@ CONFIG_PCI_SYSCALL=y | |||
328 | # CONFIG_PCIEPORTBUS is not set | 328 | # CONFIG_PCIEPORTBUS is not set |
329 | CONFIG_ARCH_SUPPORTS_MSI=y | 329 | CONFIG_ARCH_SUPPORTS_MSI=y |
330 | # CONFIG_PCI_MSI is not set | 330 | # CONFIG_PCI_MSI is not set |
331 | # CONFIG_PCI_LEGACY is not set | ||
332 | # CONFIG_PCI_STUB is not set | 331 | # CONFIG_PCI_STUB is not set |
333 | # CONFIG_PCI_IOV is not set | 332 | # CONFIG_PCI_IOV is not set |
334 | # CONFIG_HAS_RAPIDIO is not set | 333 | # CONFIG_HAS_RAPIDIO is not set |
@@ -354,7 +353,6 @@ CONFIG_NET=y | |||
354 | # Networking options | 353 | # Networking options |
355 | # | 354 | # |
356 | CONFIG_PACKET=y | 355 | CONFIG_PACKET=y |
357 | # CONFIG_PACKET_MMAP is not set | ||
358 | CONFIG_UNIX=y | 356 | CONFIG_UNIX=y |
359 | CONFIG_XFRM=y | 357 | CONFIG_XFRM=y |
360 | # CONFIG_XFRM_USER is not set | 358 | # CONFIG_XFRM_USER is not set |
@@ -528,6 +526,8 @@ CONFIG_MTD_CFI_UTIL=y | |||
528 | # UBI - Unsorted block images | 526 | # UBI - Unsorted block images |
529 | # | 527 | # |
530 | # CONFIG_MTD_UBI is not set | 528 | # CONFIG_MTD_UBI is not set |
529 | CONFIG_OF_FLATTREE=y | ||
530 | CONFIG_OF_DYNAMIC=y | ||
531 | CONFIG_OF_DEVICE=y | 531 | CONFIG_OF_DEVICE=y |
532 | CONFIG_OF_GPIO=y | 532 | CONFIG_OF_GPIO=y |
533 | CONFIG_OF_I2C=y | 533 | CONFIG_OF_I2C=y |
@@ -564,6 +564,7 @@ CONFIG_MISC_DEVICES=y | |||
564 | # CONFIG_ENCLOSURE_SERVICES is not set | 564 | # CONFIG_ENCLOSURE_SERVICES is not set |
565 | # CONFIG_HP_ILO is not set | 565 | # CONFIG_HP_ILO is not set |
566 | # CONFIG_ISL29003 is not set | 566 | # CONFIG_ISL29003 is not set |
567 | # CONFIG_SENSORS_TSL2550 is not set | ||
567 | # CONFIG_DS1682 is not set | 568 | # CONFIG_DS1682 is not set |
568 | # CONFIG_C2PORT is not set | 569 | # CONFIG_C2PORT is not set |
569 | 570 | ||
@@ -636,6 +637,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
636 | # | 637 | # |
637 | # SCSI device support | 638 | # SCSI device support |
638 | # | 639 | # |
640 | CONFIG_SCSI_MOD=y | ||
639 | # CONFIG_RAID_ATTRS is not set | 641 | # CONFIG_RAID_ATTRS is not set |
640 | # CONFIG_SCSI is not set | 642 | # CONFIG_SCSI is not set |
641 | # CONFIG_SCSI_DMA is not set | 643 | # CONFIG_SCSI_DMA is not set |
@@ -708,6 +710,7 @@ CONFIG_NET_PCI=y | |||
708 | # CONFIG_PCNET32 is not set | 710 | # CONFIG_PCNET32 is not set |
709 | # CONFIG_AMD8111_ETH is not set | 711 | # CONFIG_AMD8111_ETH is not set |
710 | # CONFIG_ADAPTEC_STARFIRE is not set | 712 | # CONFIG_ADAPTEC_STARFIRE is not set |
713 | # CONFIG_KSZ884X_PCI is not set | ||
711 | # CONFIG_B44 is not set | 714 | # CONFIG_B44 is not set |
712 | # CONFIG_FORCEDETH is not set | 715 | # CONFIG_FORCEDETH is not set |
713 | CONFIG_E100=y | 716 | CONFIG_E100=y |
@@ -760,6 +763,8 @@ CONFIG_NETDEV_10000=y | |||
760 | # CONFIG_CHELSIO_T1 is not set | 763 | # CONFIG_CHELSIO_T1 is not set |
761 | CONFIG_CHELSIO_T3_DEPENDS=y | 764 | CONFIG_CHELSIO_T3_DEPENDS=y |
762 | # CONFIG_CHELSIO_T3 is not set | 765 | # CONFIG_CHELSIO_T3 is not set |
766 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
767 | # CONFIG_CHELSIO_T4 is not set | ||
763 | # CONFIG_ENIC is not set | 768 | # CONFIG_ENIC is not set |
764 | # CONFIG_IXGBE is not set | 769 | # CONFIG_IXGBE is not set |
765 | # CONFIG_IXGB is not set | 770 | # CONFIG_IXGB is not set |
@@ -772,6 +777,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
772 | # CONFIG_MLX4_CORE is not set | 777 | # CONFIG_MLX4_CORE is not set |
773 | # CONFIG_TEHUTI is not set | 778 | # CONFIG_TEHUTI is not set |
774 | # CONFIG_BNX2X is not set | 779 | # CONFIG_BNX2X is not set |
780 | # CONFIG_QLCNIC is not set | ||
775 | # CONFIG_QLGE is not set | 781 | # CONFIG_QLGE is not set |
776 | # CONFIG_SFC is not set | 782 | # CONFIG_SFC is not set |
777 | # CONFIG_BE2NET is not set | 783 | # CONFIG_BE2NET is not set |
@@ -858,6 +864,7 @@ CONFIG_SERIAL_CPM=y | |||
858 | CONFIG_SERIAL_CPM_CONSOLE=y | 864 | CONFIG_SERIAL_CPM_CONSOLE=y |
859 | # CONFIG_SERIAL_JSM is not set | 865 | # CONFIG_SERIAL_JSM is not set |
860 | # CONFIG_SERIAL_OF_PLATFORM is not set | 866 | # CONFIG_SERIAL_OF_PLATFORM is not set |
867 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
861 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 868 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
862 | CONFIG_UNIX98_PTYS=y | 869 | CONFIG_UNIX98_PTYS=y |
863 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 870 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -912,6 +919,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
912 | CONFIG_I2C_MPC=y | 919 | CONFIG_I2C_MPC=y |
913 | # CONFIG_I2C_OCORES is not set | 920 | # CONFIG_I2C_OCORES is not set |
914 | # CONFIG_I2C_SIMTEC is not set | 921 | # CONFIG_I2C_SIMTEC is not set |
922 | # CONFIG_I2C_XILINX is not set | ||
915 | 923 | ||
916 | # | 924 | # |
917 | # External I2C/SMBus adapter drivers | 925 | # External I2C/SMBus adapter drivers |
@@ -923,15 +931,9 @@ CONFIG_I2C_MPC=y | |||
923 | # Other I2C/SMBus bus drivers | 931 | # Other I2C/SMBus bus drivers |
924 | # | 932 | # |
925 | # CONFIG_I2C_PCA_PLATFORM is not set | 933 | # CONFIG_I2C_PCA_PLATFORM is not set |
926 | |||
927 | # | ||
928 | # Miscellaneous I2C Chip support | ||
929 | # | ||
930 | # CONFIG_SENSORS_TSL2550 is not set | ||
931 | # CONFIG_I2C_DEBUG_CORE is not set | 934 | # CONFIG_I2C_DEBUG_CORE is not set |
932 | # CONFIG_I2C_DEBUG_ALGO is not set | 935 | # CONFIG_I2C_DEBUG_ALGO is not set |
933 | # CONFIG_I2C_DEBUG_BUS is not set | 936 | # CONFIG_I2C_DEBUG_BUS is not set |
934 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
935 | # CONFIG_SPI is not set | 937 | # CONFIG_SPI is not set |
936 | 938 | ||
937 | # | 939 | # |
@@ -946,14 +948,18 @@ CONFIG_GPIOLIB=y | |||
946 | # | 948 | # |
947 | # Memory mapped GPIO expanders: | 949 | # Memory mapped GPIO expanders: |
948 | # | 950 | # |
951 | # CONFIG_GPIO_IT8761E is not set | ||
949 | # CONFIG_GPIO_XILINX is not set | 952 | # CONFIG_GPIO_XILINX is not set |
953 | # CONFIG_GPIO_SCH is not set | ||
950 | 954 | ||
951 | # | 955 | # |
952 | # I2C GPIO expanders: | 956 | # I2C GPIO expanders: |
953 | # | 957 | # |
958 | # CONFIG_GPIO_MAX7300 is not set | ||
954 | # CONFIG_GPIO_MAX732X is not set | 959 | # CONFIG_GPIO_MAX732X is not set |
955 | # CONFIG_GPIO_PCA953X is not set | 960 | # CONFIG_GPIO_PCA953X is not set |
956 | # CONFIG_GPIO_PCF857X is not set | 961 | # CONFIG_GPIO_PCF857X is not set |
962 | # CONFIG_GPIO_ADP5588 is not set | ||
957 | 963 | ||
958 | # | 964 | # |
959 | # PCI GPIO expanders: | 965 | # PCI GPIO expanders: |
@@ -986,10 +992,11 @@ CONFIG_HWMON_DEBUG_CHIP=y | |||
986 | # CONFIG_SENSORS_ADM1029 is not set | 992 | # CONFIG_SENSORS_ADM1029 is not set |
987 | # CONFIG_SENSORS_ADM1031 is not set | 993 | # CONFIG_SENSORS_ADM1031 is not set |
988 | # CONFIG_SENSORS_ADM9240 is not set | 994 | # CONFIG_SENSORS_ADM9240 is not set |
995 | # CONFIG_SENSORS_ADT7411 is not set | ||
989 | # CONFIG_SENSORS_ADT7462 is not set | 996 | # CONFIG_SENSORS_ADT7462 is not set |
990 | # CONFIG_SENSORS_ADT7470 is not set | 997 | # CONFIG_SENSORS_ADT7470 is not set |
991 | # CONFIG_SENSORS_ADT7473 is not set | ||
992 | # CONFIG_SENSORS_ADT7475 is not set | 998 | # CONFIG_SENSORS_ADT7475 is not set |
999 | # CONFIG_SENSORS_ASC7621 is not set | ||
993 | # CONFIG_SENSORS_ATXP1 is not set | 1000 | # CONFIG_SENSORS_ATXP1 is not set |
994 | # CONFIG_SENSORS_DS1621 is not set | 1001 | # CONFIG_SENSORS_DS1621 is not set |
995 | # CONFIG_SENSORS_I5K_AMB is not set | 1002 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1027,6 +1034,7 @@ CONFIG_SENSORS_LM75=y | |||
1027 | # CONFIG_SENSORS_SMSC47M192 is not set | 1034 | # CONFIG_SENSORS_SMSC47M192 is not set |
1028 | # CONFIG_SENSORS_SMSC47B397 is not set | 1035 | # CONFIG_SENSORS_SMSC47B397 is not set |
1029 | # CONFIG_SENSORS_ADS7828 is not set | 1036 | # CONFIG_SENSORS_ADS7828 is not set |
1037 | # CONFIG_SENSORS_AMC6821 is not set | ||
1030 | # CONFIG_SENSORS_THMC50 is not set | 1038 | # CONFIG_SENSORS_THMC50 is not set |
1031 | # CONFIG_SENSORS_TMP401 is not set | 1039 | # CONFIG_SENSORS_TMP401 is not set |
1032 | # CONFIG_SENSORS_TMP421 is not set | 1040 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1055,19 +1063,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1055 | # Multifunction device drivers | 1063 | # Multifunction device drivers |
1056 | # | 1064 | # |
1057 | # CONFIG_MFD_CORE is not set | 1065 | # CONFIG_MFD_CORE is not set |
1066 | # CONFIG_MFD_88PM860X is not set | ||
1058 | # CONFIG_MFD_SM501 is not set | 1067 | # CONFIG_MFD_SM501 is not set |
1059 | # CONFIG_HTC_PASIC3 is not set | 1068 | # CONFIG_HTC_PASIC3 is not set |
1069 | # CONFIG_HTC_I2CPLD is not set | ||
1060 | # CONFIG_TPS65010 is not set | 1070 | # CONFIG_TPS65010 is not set |
1061 | # CONFIG_TWL4030_CORE is not set | 1071 | # CONFIG_TWL4030_CORE is not set |
1062 | # CONFIG_MFD_TMIO is not set | 1072 | # CONFIG_MFD_TMIO is not set |
1063 | # CONFIG_PMIC_DA903X is not set | 1073 | # CONFIG_PMIC_DA903X is not set |
1064 | # CONFIG_PMIC_ADP5520 is not set | 1074 | # CONFIG_PMIC_ADP5520 is not set |
1075 | # CONFIG_MFD_MAX8925 is not set | ||
1065 | # CONFIG_MFD_WM8400 is not set | 1076 | # CONFIG_MFD_WM8400 is not set |
1066 | # CONFIG_MFD_WM831X is not set | 1077 | # CONFIG_MFD_WM831X is not set |
1067 | # CONFIG_MFD_WM8350_I2C is not set | 1078 | # CONFIG_MFD_WM8350_I2C is not set |
1079 | # CONFIG_MFD_WM8994 is not set | ||
1068 | # CONFIG_MFD_PCF50633 is not set | 1080 | # CONFIG_MFD_PCF50633 is not set |
1069 | # CONFIG_AB3100_CORE is not set | 1081 | # CONFIG_AB3100_CORE is not set |
1070 | # CONFIG_MFD_88PM8607 is not set | 1082 | # CONFIG_MFD_TIMBERDALE is not set |
1083 | # CONFIG_LPC_SCH is not set | ||
1071 | # CONFIG_REGULATOR is not set | 1084 | # CONFIG_REGULATOR is not set |
1072 | # CONFIG_MEDIA_SUPPORT is not set | 1085 | # CONFIG_MEDIA_SUPPORT is not set |
1073 | 1086 | ||
@@ -1076,6 +1089,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1076 | # | 1089 | # |
1077 | # CONFIG_AGP is not set | 1090 | # CONFIG_AGP is not set |
1078 | CONFIG_VGA_ARB=y | 1091 | CONFIG_VGA_ARB=y |
1092 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1079 | # CONFIG_DRM is not set | 1093 | # CONFIG_DRM is not set |
1080 | # CONFIG_VGASTATE is not set | 1094 | # CONFIG_VGASTATE is not set |
1081 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1095 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1213,6 +1227,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1213 | # CONFIG_JFFS2_LZO is not set | 1227 | # CONFIG_JFFS2_LZO is not set |
1214 | CONFIG_JFFS2_RTIME=y | 1228 | CONFIG_JFFS2_RTIME=y |
1215 | # CONFIG_JFFS2_RUBIN is not set | 1229 | # CONFIG_JFFS2_RUBIN is not set |
1230 | # CONFIG_LOGFS is not set | ||
1216 | CONFIG_CRAMFS=y | 1231 | CONFIG_CRAMFS=y |
1217 | # CONFIG_SQUASHFS is not set | 1232 | # CONFIG_SQUASHFS is not set |
1218 | # CONFIG_VXFS_FS is not set | 1233 | # CONFIG_VXFS_FS is not set |
@@ -1235,6 +1250,7 @@ CONFIG_SUNRPC=y | |||
1235 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1250 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1236 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1251 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1237 | # CONFIG_SMB_FS is not set | 1252 | # CONFIG_SMB_FS is not set |
1253 | # CONFIG_CEPH_FS is not set | ||
1238 | # CONFIG_CIFS is not set | 1254 | # CONFIG_CIFS is not set |
1239 | # CONFIG_NCP_FS is not set | 1255 | # CONFIG_NCP_FS is not set |
1240 | # CONFIG_CODA_FS is not set | 1256 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8560_defconfig b/arch/powerpc/configs/85xx/tqm8560_defconfig index a998e401bbfc..008bc9754927 100644 --- a/arch/powerpc/configs/85xx/tqm8560_defconfig +++ b/arch/powerpc/configs/85xx/tqm8560_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:36 2010 | 4 | # Mon Apr 19 23:17:01 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
68 | # CONFIG_PPC_DCR_NATIVE is not set | 68 | # CONFIG_PPC_DCR_NATIVE is not set |
69 | # CONFIG_PPC_DCR_MMIO is not set | 69 | # CONFIG_PPC_DCR_MMIO is not set |
70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
71 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
72 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
71 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 75 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
72 | CONFIG_CONSTRUCTORS=y | 76 | CONFIG_CONSTRUCTORS=y |
73 | 77 | ||
@@ -99,14 +103,8 @@ CONFIG_RCU_FANOUT=32 | |||
99 | # CONFIG_TREE_RCU_TRACE is not set | 103 | # CONFIG_TREE_RCU_TRACE is not set |
100 | # CONFIG_IKCONFIG is not set | 104 | # CONFIG_IKCONFIG is not set |
101 | CONFIG_LOG_BUF_SHIFT=14 | 105 | CONFIG_LOG_BUF_SHIFT=14 |
102 | CONFIG_GROUP_SCHED=y | ||
103 | CONFIG_FAIR_GROUP_SCHED=y | ||
104 | # CONFIG_RT_GROUP_SCHED is not set | ||
105 | CONFIG_USER_SCHED=y | ||
106 | # CONFIG_CGROUP_SCHED is not set | ||
107 | # CONFIG_CGROUPS is not set | 106 | # CONFIG_CGROUPS is not set |
108 | CONFIG_SYSFS_DEPRECATED=y | 107 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
109 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
110 | # CONFIG_RELAY is not set | 108 | # CONFIG_RELAY is not set |
111 | # CONFIG_NAMESPACES is not set | 109 | # CONFIG_NAMESPACES is not set |
112 | CONFIG_BLK_DEV_INITRD=y | 110 | CONFIG_BLK_DEV_INITRD=y |
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
114 | CONFIG_RD_GZIP=y | 112 | CONFIG_RD_GZIP=y |
115 | # CONFIG_RD_BZIP2 is not set | 113 | # CONFIG_RD_BZIP2 is not set |
116 | # CONFIG_RD_LZMA is not set | 114 | # CONFIG_RD_LZMA is not set |
115 | # CONFIG_RD_LZO is not set | ||
117 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
118 | CONFIG_SYSCTL=y | 117 | CONFIG_SYSCTL=y |
119 | CONFIG_ANON_INODES=y | 118 | CONFIG_ANON_INODES=y |
@@ -318,6 +317,7 @@ CONFIG_ISA_DMA_API=y | |||
318 | # Bus options | 317 | # Bus options |
319 | # | 318 | # |
320 | CONFIG_ZONE_DMA=y | 319 | CONFIG_ZONE_DMA=y |
320 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
321 | CONFIG_PPC_INDIRECT_PCI=y | 321 | CONFIG_PPC_INDIRECT_PCI=y |
322 | CONFIG_FSL_SOC=y | 322 | CONFIG_FSL_SOC=y |
323 | CONFIG_FSL_PCI=y | 323 | CONFIG_FSL_PCI=y |
@@ -328,7 +328,6 @@ CONFIG_PCI_SYSCALL=y | |||
328 | # CONFIG_PCIEPORTBUS is not set | 328 | # CONFIG_PCIEPORTBUS is not set |
329 | CONFIG_ARCH_SUPPORTS_MSI=y | 329 | CONFIG_ARCH_SUPPORTS_MSI=y |
330 | # CONFIG_PCI_MSI is not set | 330 | # CONFIG_PCI_MSI is not set |
331 | # CONFIG_PCI_LEGACY is not set | ||
332 | # CONFIG_PCI_STUB is not set | 331 | # CONFIG_PCI_STUB is not set |
333 | # CONFIG_PCI_IOV is not set | 332 | # CONFIG_PCI_IOV is not set |
334 | # CONFIG_HAS_RAPIDIO is not set | 333 | # CONFIG_HAS_RAPIDIO is not set |
@@ -354,7 +353,6 @@ CONFIG_NET=y | |||
354 | # Networking options | 353 | # Networking options |
355 | # | 354 | # |
356 | CONFIG_PACKET=y | 355 | CONFIG_PACKET=y |
357 | # CONFIG_PACKET_MMAP is not set | ||
358 | CONFIG_UNIX=y | 356 | CONFIG_UNIX=y |
359 | CONFIG_XFRM=y | 357 | CONFIG_XFRM=y |
360 | # CONFIG_XFRM_USER is not set | 358 | # CONFIG_XFRM_USER is not set |
@@ -528,6 +526,8 @@ CONFIG_MTD_CFI_UTIL=y | |||
528 | # UBI - Unsorted block images | 526 | # UBI - Unsorted block images |
529 | # | 527 | # |
530 | # CONFIG_MTD_UBI is not set | 528 | # CONFIG_MTD_UBI is not set |
529 | CONFIG_OF_FLATTREE=y | ||
530 | CONFIG_OF_DYNAMIC=y | ||
531 | CONFIG_OF_DEVICE=y | 531 | CONFIG_OF_DEVICE=y |
532 | CONFIG_OF_GPIO=y | 532 | CONFIG_OF_GPIO=y |
533 | CONFIG_OF_I2C=y | 533 | CONFIG_OF_I2C=y |
@@ -564,6 +564,7 @@ CONFIG_MISC_DEVICES=y | |||
564 | # CONFIG_ENCLOSURE_SERVICES is not set | 564 | # CONFIG_ENCLOSURE_SERVICES is not set |
565 | # CONFIG_HP_ILO is not set | 565 | # CONFIG_HP_ILO is not set |
566 | # CONFIG_ISL29003 is not set | 566 | # CONFIG_ISL29003 is not set |
567 | # CONFIG_SENSORS_TSL2550 is not set | ||
567 | # CONFIG_DS1682 is not set | 568 | # CONFIG_DS1682 is not set |
568 | # CONFIG_C2PORT is not set | 569 | # CONFIG_C2PORT is not set |
569 | 570 | ||
@@ -636,6 +637,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
636 | # | 637 | # |
637 | # SCSI device support | 638 | # SCSI device support |
638 | # | 639 | # |
640 | CONFIG_SCSI_MOD=y | ||
639 | # CONFIG_RAID_ATTRS is not set | 641 | # CONFIG_RAID_ATTRS is not set |
640 | # CONFIG_SCSI is not set | 642 | # CONFIG_SCSI is not set |
641 | # CONFIG_SCSI_DMA is not set | 643 | # CONFIG_SCSI_DMA is not set |
@@ -708,6 +710,7 @@ CONFIG_NET_PCI=y | |||
708 | # CONFIG_PCNET32 is not set | 710 | # CONFIG_PCNET32 is not set |
709 | # CONFIG_AMD8111_ETH is not set | 711 | # CONFIG_AMD8111_ETH is not set |
710 | # CONFIG_ADAPTEC_STARFIRE is not set | 712 | # CONFIG_ADAPTEC_STARFIRE is not set |
713 | # CONFIG_KSZ884X_PCI is not set | ||
711 | # CONFIG_B44 is not set | 714 | # CONFIG_B44 is not set |
712 | # CONFIG_FORCEDETH is not set | 715 | # CONFIG_FORCEDETH is not set |
713 | CONFIG_E100=y | 716 | CONFIG_E100=y |
@@ -760,6 +763,8 @@ CONFIG_NETDEV_10000=y | |||
760 | # CONFIG_CHELSIO_T1 is not set | 763 | # CONFIG_CHELSIO_T1 is not set |
761 | CONFIG_CHELSIO_T3_DEPENDS=y | 764 | CONFIG_CHELSIO_T3_DEPENDS=y |
762 | # CONFIG_CHELSIO_T3 is not set | 765 | # CONFIG_CHELSIO_T3 is not set |
766 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
767 | # CONFIG_CHELSIO_T4 is not set | ||
763 | # CONFIG_ENIC is not set | 768 | # CONFIG_ENIC is not set |
764 | # CONFIG_IXGBE is not set | 769 | # CONFIG_IXGBE is not set |
765 | # CONFIG_IXGB is not set | 770 | # CONFIG_IXGB is not set |
@@ -772,6 +777,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
772 | # CONFIG_MLX4_CORE is not set | 777 | # CONFIG_MLX4_CORE is not set |
773 | # CONFIG_TEHUTI is not set | 778 | # CONFIG_TEHUTI is not set |
774 | # CONFIG_BNX2X is not set | 779 | # CONFIG_BNX2X is not set |
780 | # CONFIG_QLCNIC is not set | ||
775 | # CONFIG_QLGE is not set | 781 | # CONFIG_QLGE is not set |
776 | # CONFIG_SFC is not set | 782 | # CONFIG_SFC is not set |
777 | # CONFIG_BE2NET is not set | 783 | # CONFIG_BE2NET is not set |
@@ -858,6 +864,7 @@ CONFIG_SERIAL_CPM=y | |||
858 | CONFIG_SERIAL_CPM_CONSOLE=y | 864 | CONFIG_SERIAL_CPM_CONSOLE=y |
859 | # CONFIG_SERIAL_JSM is not set | 865 | # CONFIG_SERIAL_JSM is not set |
860 | # CONFIG_SERIAL_OF_PLATFORM is not set | 866 | # CONFIG_SERIAL_OF_PLATFORM is not set |
867 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
861 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 868 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
862 | CONFIG_UNIX98_PTYS=y | 869 | CONFIG_UNIX98_PTYS=y |
863 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 870 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -912,6 +919,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
912 | CONFIG_I2C_MPC=y | 919 | CONFIG_I2C_MPC=y |
913 | # CONFIG_I2C_OCORES is not set | 920 | # CONFIG_I2C_OCORES is not set |
914 | # CONFIG_I2C_SIMTEC is not set | 921 | # CONFIG_I2C_SIMTEC is not set |
922 | # CONFIG_I2C_XILINX is not set | ||
915 | 923 | ||
916 | # | 924 | # |
917 | # External I2C/SMBus adapter drivers | 925 | # External I2C/SMBus adapter drivers |
@@ -923,15 +931,9 @@ CONFIG_I2C_MPC=y | |||
923 | # Other I2C/SMBus bus drivers | 931 | # Other I2C/SMBus bus drivers |
924 | # | 932 | # |
925 | # CONFIG_I2C_PCA_PLATFORM is not set | 933 | # CONFIG_I2C_PCA_PLATFORM is not set |
926 | |||
927 | # | ||
928 | # Miscellaneous I2C Chip support | ||
929 | # | ||
930 | # CONFIG_SENSORS_TSL2550 is not set | ||
931 | # CONFIG_I2C_DEBUG_CORE is not set | 934 | # CONFIG_I2C_DEBUG_CORE is not set |
932 | # CONFIG_I2C_DEBUG_ALGO is not set | 935 | # CONFIG_I2C_DEBUG_ALGO is not set |
933 | # CONFIG_I2C_DEBUG_BUS is not set | 936 | # CONFIG_I2C_DEBUG_BUS is not set |
934 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
935 | # CONFIG_SPI is not set | 937 | # CONFIG_SPI is not set |
936 | 938 | ||
937 | # | 939 | # |
@@ -946,14 +948,18 @@ CONFIG_GPIOLIB=y | |||
946 | # | 948 | # |
947 | # Memory mapped GPIO expanders: | 949 | # Memory mapped GPIO expanders: |
948 | # | 950 | # |
951 | # CONFIG_GPIO_IT8761E is not set | ||
949 | # CONFIG_GPIO_XILINX is not set | 952 | # CONFIG_GPIO_XILINX is not set |
953 | # CONFIG_GPIO_SCH is not set | ||
950 | 954 | ||
951 | # | 955 | # |
952 | # I2C GPIO expanders: | 956 | # I2C GPIO expanders: |
953 | # | 957 | # |
958 | # CONFIG_GPIO_MAX7300 is not set | ||
954 | # CONFIG_GPIO_MAX732X is not set | 959 | # CONFIG_GPIO_MAX732X is not set |
955 | # CONFIG_GPIO_PCA953X is not set | 960 | # CONFIG_GPIO_PCA953X is not set |
956 | # CONFIG_GPIO_PCF857X is not set | 961 | # CONFIG_GPIO_PCF857X is not set |
962 | # CONFIG_GPIO_ADP5588 is not set | ||
957 | 963 | ||
958 | # | 964 | # |
959 | # PCI GPIO expanders: | 965 | # PCI GPIO expanders: |
@@ -986,10 +992,11 @@ CONFIG_HWMON_DEBUG_CHIP=y | |||
986 | # CONFIG_SENSORS_ADM1029 is not set | 992 | # CONFIG_SENSORS_ADM1029 is not set |
987 | # CONFIG_SENSORS_ADM1031 is not set | 993 | # CONFIG_SENSORS_ADM1031 is not set |
988 | # CONFIG_SENSORS_ADM9240 is not set | 994 | # CONFIG_SENSORS_ADM9240 is not set |
995 | # CONFIG_SENSORS_ADT7411 is not set | ||
989 | # CONFIG_SENSORS_ADT7462 is not set | 996 | # CONFIG_SENSORS_ADT7462 is not set |
990 | # CONFIG_SENSORS_ADT7470 is not set | 997 | # CONFIG_SENSORS_ADT7470 is not set |
991 | # CONFIG_SENSORS_ADT7473 is not set | ||
992 | # CONFIG_SENSORS_ADT7475 is not set | 998 | # CONFIG_SENSORS_ADT7475 is not set |
999 | # CONFIG_SENSORS_ASC7621 is not set | ||
993 | # CONFIG_SENSORS_ATXP1 is not set | 1000 | # CONFIG_SENSORS_ATXP1 is not set |
994 | # CONFIG_SENSORS_DS1621 is not set | 1001 | # CONFIG_SENSORS_DS1621 is not set |
995 | # CONFIG_SENSORS_I5K_AMB is not set | 1002 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1027,6 +1034,7 @@ CONFIG_SENSORS_LM75=y | |||
1027 | # CONFIG_SENSORS_SMSC47M192 is not set | 1034 | # CONFIG_SENSORS_SMSC47M192 is not set |
1028 | # CONFIG_SENSORS_SMSC47B397 is not set | 1035 | # CONFIG_SENSORS_SMSC47B397 is not set |
1029 | # CONFIG_SENSORS_ADS7828 is not set | 1036 | # CONFIG_SENSORS_ADS7828 is not set |
1037 | # CONFIG_SENSORS_AMC6821 is not set | ||
1030 | # CONFIG_SENSORS_THMC50 is not set | 1038 | # CONFIG_SENSORS_THMC50 is not set |
1031 | # CONFIG_SENSORS_TMP401 is not set | 1039 | # CONFIG_SENSORS_TMP401 is not set |
1032 | # CONFIG_SENSORS_TMP421 is not set | 1040 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1055,19 +1063,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1055 | # Multifunction device drivers | 1063 | # Multifunction device drivers |
1056 | # | 1064 | # |
1057 | # CONFIG_MFD_CORE is not set | 1065 | # CONFIG_MFD_CORE is not set |
1066 | # CONFIG_MFD_88PM860X is not set | ||
1058 | # CONFIG_MFD_SM501 is not set | 1067 | # CONFIG_MFD_SM501 is not set |
1059 | # CONFIG_HTC_PASIC3 is not set | 1068 | # CONFIG_HTC_PASIC3 is not set |
1069 | # CONFIG_HTC_I2CPLD is not set | ||
1060 | # CONFIG_TPS65010 is not set | 1070 | # CONFIG_TPS65010 is not set |
1061 | # CONFIG_TWL4030_CORE is not set | 1071 | # CONFIG_TWL4030_CORE is not set |
1062 | # CONFIG_MFD_TMIO is not set | 1072 | # CONFIG_MFD_TMIO is not set |
1063 | # CONFIG_PMIC_DA903X is not set | 1073 | # CONFIG_PMIC_DA903X is not set |
1064 | # CONFIG_PMIC_ADP5520 is not set | 1074 | # CONFIG_PMIC_ADP5520 is not set |
1075 | # CONFIG_MFD_MAX8925 is not set | ||
1065 | # CONFIG_MFD_WM8400 is not set | 1076 | # CONFIG_MFD_WM8400 is not set |
1066 | # CONFIG_MFD_WM831X is not set | 1077 | # CONFIG_MFD_WM831X is not set |
1067 | # CONFIG_MFD_WM8350_I2C is not set | 1078 | # CONFIG_MFD_WM8350_I2C is not set |
1079 | # CONFIG_MFD_WM8994 is not set | ||
1068 | # CONFIG_MFD_PCF50633 is not set | 1080 | # CONFIG_MFD_PCF50633 is not set |
1069 | # CONFIG_AB3100_CORE is not set | 1081 | # CONFIG_AB3100_CORE is not set |
1070 | # CONFIG_MFD_88PM8607 is not set | 1082 | # CONFIG_MFD_TIMBERDALE is not set |
1083 | # CONFIG_LPC_SCH is not set | ||
1071 | # CONFIG_REGULATOR is not set | 1084 | # CONFIG_REGULATOR is not set |
1072 | # CONFIG_MEDIA_SUPPORT is not set | 1085 | # CONFIG_MEDIA_SUPPORT is not set |
1073 | 1086 | ||
@@ -1076,6 +1089,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1076 | # | 1089 | # |
1077 | # CONFIG_AGP is not set | 1090 | # CONFIG_AGP is not set |
1078 | CONFIG_VGA_ARB=y | 1091 | CONFIG_VGA_ARB=y |
1092 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1079 | # CONFIG_DRM is not set | 1093 | # CONFIG_DRM is not set |
1080 | # CONFIG_VGASTATE is not set | 1094 | # CONFIG_VGASTATE is not set |
1081 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1095 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1213,6 +1227,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1213 | # CONFIG_JFFS2_LZO is not set | 1227 | # CONFIG_JFFS2_LZO is not set |
1214 | CONFIG_JFFS2_RTIME=y | 1228 | CONFIG_JFFS2_RTIME=y |
1215 | # CONFIG_JFFS2_RUBIN is not set | 1229 | # CONFIG_JFFS2_RUBIN is not set |
1230 | # CONFIG_LOGFS is not set | ||
1216 | CONFIG_CRAMFS=y | 1231 | CONFIG_CRAMFS=y |
1217 | # CONFIG_SQUASHFS is not set | 1232 | # CONFIG_SQUASHFS is not set |
1218 | # CONFIG_VXFS_FS is not set | 1233 | # CONFIG_VXFS_FS is not set |
@@ -1235,6 +1250,7 @@ CONFIG_SUNRPC=y | |||
1235 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1250 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1236 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1251 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1237 | # CONFIG_SMB_FS is not set | 1252 | # CONFIG_SMB_FS is not set |
1253 | # CONFIG_CEPH_FS is not set | ||
1238 | # CONFIG_CIFS is not set | 1254 | # CONFIG_CIFS is not set |
1239 | # CONFIG_NCP_FS is not set | 1255 | # CONFIG_NCP_FS is not set |
1240 | # CONFIG_CODA_FS is not set | 1256 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig index fc656af04ea1..2cf80dba0286 100644 --- a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig +++ b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:37 2010 | 4 | # Mon Apr 19 23:17:01 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -69,6 +69,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
69 | # CONFIG_PPC_DCR_NATIVE is not set | 69 | # CONFIG_PPC_DCR_NATIVE is not set |
70 | # CONFIG_PPC_DCR_MMIO is not set | 70 | # CONFIG_PPC_DCR_MMIO is not set |
71 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 71 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
72 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
73 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
75 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
72 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 76 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
73 | CONFIG_CONSTRUCTORS=y | 77 | CONFIG_CONSTRUCTORS=y |
74 | 78 | ||
@@ -104,10 +108,8 @@ CONFIG_RCU_FANOUT=32 | |||
104 | CONFIG_IKCONFIG=y | 108 | CONFIG_IKCONFIG=y |
105 | CONFIG_IKCONFIG_PROC=y | 109 | CONFIG_IKCONFIG_PROC=y |
106 | CONFIG_LOG_BUF_SHIFT=14 | 110 | CONFIG_LOG_BUF_SHIFT=14 |
107 | # CONFIG_GROUP_SCHED is not set | ||
108 | # CONFIG_CGROUPS is not set | 111 | # CONFIG_CGROUPS is not set |
109 | CONFIG_SYSFS_DEPRECATED=y | 112 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
110 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
111 | # CONFIG_RELAY is not set | 113 | # CONFIG_RELAY is not set |
112 | # CONFIG_NAMESPACES is not set | 114 | # CONFIG_NAMESPACES is not set |
113 | CONFIG_BLK_DEV_INITRD=y | 115 | CONFIG_BLK_DEV_INITRD=y |
@@ -115,6 +117,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
115 | CONFIG_RD_GZIP=y | 117 | CONFIG_RD_GZIP=y |
116 | # CONFIG_RD_BZIP2 is not set | 118 | # CONFIG_RD_BZIP2 is not set |
117 | # CONFIG_RD_LZMA is not set | 119 | # CONFIG_RD_LZMA is not set |
120 | # CONFIG_RD_LZO is not set | ||
118 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 121 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
119 | CONFIG_SYSCTL=y | 122 | CONFIG_SYSCTL=y |
120 | CONFIG_ANON_INODES=y | 123 | CONFIG_ANON_INODES=y |
@@ -328,6 +331,7 @@ CONFIG_ISA_DMA_API=y | |||
328 | # Bus options | 331 | # Bus options |
329 | # | 332 | # |
330 | CONFIG_ZONE_DMA=y | 333 | CONFIG_ZONE_DMA=y |
334 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
331 | CONFIG_PPC_INDIRECT_PCI=y | 335 | CONFIG_PPC_INDIRECT_PCI=y |
332 | CONFIG_FSL_SOC=y | 336 | CONFIG_FSL_SOC=y |
333 | CONFIG_FSL_PCI=y | 337 | CONFIG_FSL_PCI=y |
@@ -343,7 +347,6 @@ CONFIG_PCIEAER=y | |||
343 | # CONFIG_PCIEASPM is not set | 347 | # CONFIG_PCIEASPM is not set |
344 | CONFIG_ARCH_SUPPORTS_MSI=y | 348 | CONFIG_ARCH_SUPPORTS_MSI=y |
345 | CONFIG_PCI_MSI=y | 349 | CONFIG_PCI_MSI=y |
346 | CONFIG_PCI_LEGACY=y | ||
347 | # CONFIG_PCI_DEBUG is not set | 350 | # CONFIG_PCI_DEBUG is not set |
348 | # CONFIG_PCI_STUB is not set | 351 | # CONFIG_PCI_STUB is not set |
349 | # CONFIG_PCI_IOV is not set | 352 | # CONFIG_PCI_IOV is not set |
@@ -375,7 +378,6 @@ CONFIG_NET=y | |||
375 | # Networking options | 378 | # Networking options |
376 | # | 379 | # |
377 | CONFIG_PACKET=y | 380 | CONFIG_PACKET=y |
378 | # CONFIG_PACKET_MMAP is not set | ||
379 | CONFIG_UNIX=y | 381 | CONFIG_UNIX=y |
380 | CONFIG_XFRM=y | 382 | CONFIG_XFRM=y |
381 | CONFIG_XFRM_USER=y | 383 | CONFIG_XFRM_USER=y |
@@ -600,6 +602,8 @@ CONFIG_MTD_NAND_FSL_UPM=y | |||
600 | # UBI - Unsorted block images | 602 | # UBI - Unsorted block images |
601 | # | 603 | # |
602 | # CONFIG_MTD_UBI is not set | 604 | # CONFIG_MTD_UBI is not set |
605 | CONFIG_OF_FLATTREE=y | ||
606 | CONFIG_OF_DYNAMIC=y | ||
603 | CONFIG_OF_DEVICE=y | 607 | CONFIG_OF_DEVICE=y |
604 | CONFIG_OF_GPIO=y | 608 | CONFIG_OF_GPIO=y |
605 | CONFIG_OF_I2C=y | 609 | CONFIG_OF_I2C=y |
@@ -637,6 +641,7 @@ CONFIG_MISC_DEVICES=y | |||
637 | # CONFIG_ENCLOSURE_SERVICES is not set | 641 | # CONFIG_ENCLOSURE_SERVICES is not set |
638 | # CONFIG_HP_ILO is not set | 642 | # CONFIG_HP_ILO is not set |
639 | # CONFIG_ISL29003 is not set | 643 | # CONFIG_ISL29003 is not set |
644 | # CONFIG_SENSORS_TSL2550 is not set | ||
640 | # CONFIG_DS1682 is not set | 645 | # CONFIG_DS1682 is not set |
641 | # CONFIG_C2PORT is not set | 646 | # CONFIG_C2PORT is not set |
642 | 647 | ||
@@ -654,6 +659,7 @@ CONFIG_HAVE_IDE=y | |||
654 | # | 659 | # |
655 | # SCSI device support | 660 | # SCSI device support |
656 | # | 661 | # |
662 | CONFIG_SCSI_MOD=y | ||
657 | # CONFIG_RAID_ATTRS is not set | 663 | # CONFIG_RAID_ATTRS is not set |
658 | CONFIG_SCSI=y | 664 | CONFIG_SCSI=y |
659 | CONFIG_SCSI_DMA=y | 665 | CONFIG_SCSI_DMA=y |
@@ -777,6 +783,7 @@ CONFIG_PATA_ALI=y | |||
777 | # CONFIG_PATA_IT821X is not set | 783 | # CONFIG_PATA_IT821X is not set |
778 | # CONFIG_PATA_IT8213 is not set | 784 | # CONFIG_PATA_IT8213 is not set |
779 | # CONFIG_PATA_JMICRON is not set | 785 | # CONFIG_PATA_JMICRON is not set |
786 | # CONFIG_PATA_LEGACY is not set | ||
780 | # CONFIG_PATA_TRIFLEX is not set | 787 | # CONFIG_PATA_TRIFLEX is not set |
781 | # CONFIG_PATA_MARVELL is not set | 788 | # CONFIG_PATA_MARVELL is not set |
782 | # CONFIG_PATA_MPIIX is not set | 789 | # CONFIG_PATA_MPIIX is not set |
@@ -1004,6 +1011,7 @@ CONFIG_SERIAL_CORE=y | |||
1004 | CONFIG_SERIAL_CORE_CONSOLE=y | 1011 | CONFIG_SERIAL_CORE_CONSOLE=y |
1005 | # CONFIG_SERIAL_JSM is not set | 1012 | # CONFIG_SERIAL_JSM is not set |
1006 | # CONFIG_SERIAL_OF_PLATFORM is not set | 1013 | # CONFIG_SERIAL_OF_PLATFORM is not set |
1014 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1007 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1015 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1008 | CONFIG_UNIX98_PTYS=y | 1016 | CONFIG_UNIX98_PTYS=y |
1009 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1017 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1053,6 +1061,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1053 | CONFIG_I2C_MPC=y | 1061 | CONFIG_I2C_MPC=y |
1054 | # CONFIG_I2C_OCORES is not set | 1062 | # CONFIG_I2C_OCORES is not set |
1055 | # CONFIG_I2C_SIMTEC is not set | 1063 | # CONFIG_I2C_SIMTEC is not set |
1064 | # CONFIG_I2C_XILINX is not set | ||
1056 | 1065 | ||
1057 | # | 1066 | # |
1058 | # External I2C/SMBus adapter drivers | 1067 | # External I2C/SMBus adapter drivers |
@@ -1066,15 +1075,9 @@ CONFIG_I2C_MPC=y | |||
1066 | # | 1075 | # |
1067 | # CONFIG_I2C_PCA_PLATFORM is not set | 1076 | # CONFIG_I2C_PCA_PLATFORM is not set |
1068 | # CONFIG_I2C_STUB is not set | 1077 | # CONFIG_I2C_STUB is not set |
1069 | |||
1070 | # | ||
1071 | # Miscellaneous I2C Chip support | ||
1072 | # | ||
1073 | # CONFIG_SENSORS_TSL2550 is not set | ||
1074 | # CONFIG_I2C_DEBUG_CORE is not set | 1078 | # CONFIG_I2C_DEBUG_CORE is not set |
1075 | # CONFIG_I2C_DEBUG_ALGO is not set | 1079 | # CONFIG_I2C_DEBUG_ALGO is not set |
1076 | # CONFIG_I2C_DEBUG_BUS is not set | 1080 | # CONFIG_I2C_DEBUG_BUS is not set |
1077 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1078 | # CONFIG_SPI is not set | 1081 | # CONFIG_SPI is not set |
1079 | 1082 | ||
1080 | # | 1083 | # |
@@ -1090,14 +1093,19 @@ CONFIG_GPIO_SYSFS=y | |||
1090 | # | 1093 | # |
1091 | # Memory mapped GPIO expanders: | 1094 | # Memory mapped GPIO expanders: |
1092 | # | 1095 | # |
1096 | # CONFIG_GPIO_IT8761E is not set | ||
1093 | # CONFIG_GPIO_XILINX is not set | 1097 | # CONFIG_GPIO_XILINX is not set |
1098 | # CONFIG_GPIO_SCH is not set | ||
1094 | 1099 | ||
1095 | # | 1100 | # |
1096 | # I2C GPIO expanders: | 1101 | # I2C GPIO expanders: |
1097 | # | 1102 | # |
1103 | # CONFIG_GPIO_MAX7300 is not set | ||
1098 | # CONFIG_GPIO_MAX732X is not set | 1104 | # CONFIG_GPIO_MAX732X is not set |
1099 | CONFIG_GPIO_PCA953X=y | 1105 | CONFIG_GPIO_PCA953X=y |
1106 | # CONFIG_GPIO_PCA953X_IRQ is not set | ||
1100 | # CONFIG_GPIO_PCF857X is not set | 1107 | # CONFIG_GPIO_PCF857X is not set |
1108 | # CONFIG_GPIO_ADP5588 is not set | ||
1101 | 1109 | ||
1102 | # | 1110 | # |
1103 | # PCI GPIO expanders: | 1111 | # PCI GPIO expanders: |
@@ -1130,10 +1138,11 @@ CONFIG_HWMON=y | |||
1130 | # CONFIG_SENSORS_ADM1029 is not set | 1138 | # CONFIG_SENSORS_ADM1029 is not set |
1131 | # CONFIG_SENSORS_ADM1031 is not set | 1139 | # CONFIG_SENSORS_ADM1031 is not set |
1132 | # CONFIG_SENSORS_ADM9240 is not set | 1140 | # CONFIG_SENSORS_ADM9240 is not set |
1141 | # CONFIG_SENSORS_ADT7411 is not set | ||
1133 | # CONFIG_SENSORS_ADT7462 is not set | 1142 | # CONFIG_SENSORS_ADT7462 is not set |
1134 | # CONFIG_SENSORS_ADT7470 is not set | 1143 | # CONFIG_SENSORS_ADT7470 is not set |
1135 | # CONFIG_SENSORS_ADT7473 is not set | ||
1136 | # CONFIG_SENSORS_ADT7475 is not set | 1144 | # CONFIG_SENSORS_ADT7475 is not set |
1145 | # CONFIG_SENSORS_ASC7621 is not set | ||
1137 | # CONFIG_SENSORS_ATXP1 is not set | 1146 | # CONFIG_SENSORS_ATXP1 is not set |
1138 | CONFIG_SENSORS_DS1621=y | 1147 | CONFIG_SENSORS_DS1621=y |
1139 | # CONFIG_SENSORS_I5K_AMB is not set | 1148 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1171,6 +1180,7 @@ CONFIG_SENSORS_LM90=y | |||
1171 | # CONFIG_SENSORS_SMSC47M192 is not set | 1180 | # CONFIG_SENSORS_SMSC47M192 is not set |
1172 | # CONFIG_SENSORS_SMSC47B397 is not set | 1181 | # CONFIG_SENSORS_SMSC47B397 is not set |
1173 | # CONFIG_SENSORS_ADS7828 is not set | 1182 | # CONFIG_SENSORS_ADS7828 is not set |
1183 | # CONFIG_SENSORS_AMC6821 is not set | ||
1174 | # CONFIG_SENSORS_THMC50 is not set | 1184 | # CONFIG_SENSORS_THMC50 is not set |
1175 | # CONFIG_SENSORS_TMP401 is not set | 1185 | # CONFIG_SENSORS_TMP401 is not set |
1176 | # CONFIG_SENSORS_TMP421 is not set | 1186 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1218,19 +1228,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1218 | # Multifunction device drivers | 1228 | # Multifunction device drivers |
1219 | # | 1229 | # |
1220 | # CONFIG_MFD_CORE is not set | 1230 | # CONFIG_MFD_CORE is not set |
1231 | # CONFIG_MFD_88PM860X is not set | ||
1221 | # CONFIG_MFD_SM501 is not set | 1232 | # CONFIG_MFD_SM501 is not set |
1222 | # CONFIG_HTC_PASIC3 is not set | 1233 | # CONFIG_HTC_PASIC3 is not set |
1234 | # CONFIG_HTC_I2CPLD is not set | ||
1223 | # CONFIG_TPS65010 is not set | 1235 | # CONFIG_TPS65010 is not set |
1224 | # CONFIG_TWL4030_CORE is not set | 1236 | # CONFIG_TWL4030_CORE is not set |
1225 | # CONFIG_MFD_TMIO is not set | 1237 | # CONFIG_MFD_TMIO is not set |
1226 | # CONFIG_PMIC_DA903X is not set | 1238 | # CONFIG_PMIC_DA903X is not set |
1227 | # CONFIG_PMIC_ADP5520 is not set | 1239 | # CONFIG_PMIC_ADP5520 is not set |
1240 | # CONFIG_MFD_MAX8925 is not set | ||
1228 | # CONFIG_MFD_WM8400 is not set | 1241 | # CONFIG_MFD_WM8400 is not set |
1229 | # CONFIG_MFD_WM831X is not set | 1242 | # CONFIG_MFD_WM831X is not set |
1230 | # CONFIG_MFD_WM8350_I2C is not set | 1243 | # CONFIG_MFD_WM8350_I2C is not set |
1244 | # CONFIG_MFD_WM8994 is not set | ||
1231 | # CONFIG_MFD_PCF50633 is not set | 1245 | # CONFIG_MFD_PCF50633 is not set |
1232 | # CONFIG_AB3100_CORE is not set | 1246 | # CONFIG_AB3100_CORE is not set |
1233 | # CONFIG_MFD_88PM8607 is not set | 1247 | # CONFIG_MFD_TIMBERDALE is not set |
1248 | # CONFIG_LPC_SCH is not set | ||
1234 | # CONFIG_REGULATOR is not set | 1249 | # CONFIG_REGULATOR is not set |
1235 | # CONFIG_MEDIA_SUPPORT is not set | 1250 | # CONFIG_MEDIA_SUPPORT is not set |
1236 | 1251 | ||
@@ -1239,6 +1254,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1239 | # | 1254 | # |
1240 | # CONFIG_AGP is not set | 1255 | # CONFIG_AGP is not set |
1241 | CONFIG_VGA_ARB=y | 1256 | CONFIG_VGA_ARB=y |
1257 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1242 | # CONFIG_DRM is not set | 1258 | # CONFIG_DRM is not set |
1243 | # CONFIG_VGASTATE is not set | 1259 | # CONFIG_VGASTATE is not set |
1244 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 1260 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1271,6 +1287,7 @@ CONFIG_USB_HID=y | |||
1271 | # | 1287 | # |
1272 | # Special HID drivers | 1288 | # Special HID drivers |
1273 | # | 1289 | # |
1290 | # CONFIG_HID_3M_PCT is not set | ||
1274 | # CONFIG_HID_A4TECH is not set | 1291 | # CONFIG_HID_A4TECH is not set |
1275 | # CONFIG_HID_APPLE is not set | 1292 | # CONFIG_HID_APPLE is not set |
1276 | # CONFIG_HID_BELKIN is not set | 1293 | # CONFIG_HID_BELKIN is not set |
@@ -1285,12 +1302,16 @@ CONFIG_USB_HID=y | |||
1285 | # CONFIG_HID_KENSINGTON is not set | 1302 | # CONFIG_HID_KENSINGTON is not set |
1286 | # CONFIG_HID_LOGITECH is not set | 1303 | # CONFIG_HID_LOGITECH is not set |
1287 | # CONFIG_HID_MICROSOFT is not set | 1304 | # CONFIG_HID_MICROSOFT is not set |
1305 | # CONFIG_HID_MOSART is not set | ||
1288 | # CONFIG_HID_MONTEREY is not set | 1306 | # CONFIG_HID_MONTEREY is not set |
1289 | # CONFIG_HID_NTRIG is not set | 1307 | # CONFIG_HID_NTRIG is not set |
1308 | # CONFIG_HID_ORTEK is not set | ||
1290 | # CONFIG_HID_PANTHERLORD is not set | 1309 | # CONFIG_HID_PANTHERLORD is not set |
1291 | # CONFIG_HID_PETALYNX is not set | 1310 | # CONFIG_HID_PETALYNX is not set |
1311 | # CONFIG_HID_QUANTA is not set | ||
1292 | # CONFIG_HID_SAMSUNG is not set | 1312 | # CONFIG_HID_SAMSUNG is not set |
1293 | # CONFIG_HID_SONY is not set | 1313 | # CONFIG_HID_SONY is not set |
1314 | # CONFIG_HID_STANTUM is not set | ||
1294 | # CONFIG_HID_SUNPLUS is not set | 1315 | # CONFIG_HID_SUNPLUS is not set |
1295 | # CONFIG_HID_GREENASIA is not set | 1316 | # CONFIG_HID_GREENASIA is not set |
1296 | # CONFIG_HID_SMARTJOYPLUS is not set | 1317 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1386,7 +1407,6 @@ CONFIG_USB_STORAGE=y | |||
1386 | # CONFIG_USB_RIO500 is not set | 1407 | # CONFIG_USB_RIO500 is not set |
1387 | # CONFIG_USB_LEGOTOWER is not set | 1408 | # CONFIG_USB_LEGOTOWER is not set |
1388 | # CONFIG_USB_LCD is not set | 1409 | # CONFIG_USB_LCD is not set |
1389 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1390 | # CONFIG_USB_LED is not set | 1410 | # CONFIG_USB_LED is not set |
1391 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1411 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1392 | # CONFIG_USB_CYTHERM is not set | 1412 | # CONFIG_USB_CYTHERM is not set |
@@ -1398,7 +1418,6 @@ CONFIG_USB_STORAGE=y | |||
1398 | # CONFIG_USB_IOWARRIOR is not set | 1418 | # CONFIG_USB_IOWARRIOR is not set |
1399 | # CONFIG_USB_TEST is not set | 1419 | # CONFIG_USB_TEST is not set |
1400 | # CONFIG_USB_ISIGHTFW is not set | 1420 | # CONFIG_USB_ISIGHTFW is not set |
1401 | # CONFIG_USB_VST is not set | ||
1402 | # CONFIG_USB_GADGET is not set | 1421 | # CONFIG_USB_GADGET is not set |
1403 | 1422 | ||
1404 | # | 1423 | # |
@@ -1423,11 +1442,11 @@ CONFIG_LEDS_GPIO_OF=y | |||
1423 | CONFIG_LEDS_PCA955X=y | 1442 | CONFIG_LEDS_PCA955X=y |
1424 | # CONFIG_LEDS_BD2802 is not set | 1443 | # CONFIG_LEDS_BD2802 is not set |
1425 | # CONFIG_LEDS_LT3593 is not set | 1444 | # CONFIG_LEDS_LT3593 is not set |
1445 | CONFIG_LEDS_TRIGGERS=y | ||
1426 | 1446 | ||
1427 | # | 1447 | # |
1428 | # LED Triggers | 1448 | # LED Triggers |
1429 | # | 1449 | # |
1430 | CONFIG_LEDS_TRIGGERS=y | ||
1431 | CONFIG_LEDS_TRIGGER_TIMER=y | 1450 | CONFIG_LEDS_TRIGGER_TIMER=y |
1432 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 1451 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
1433 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | 1452 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set |
@@ -1506,6 +1525,7 @@ CONFIG_RTC_DRV_CMOS=y | |||
1506 | # | 1525 | # |
1507 | # CONFIG_RTC_DRV_GENERIC is not set | 1526 | # CONFIG_RTC_DRV_GENERIC is not set |
1508 | CONFIG_DMADEVICES=y | 1527 | CONFIG_DMADEVICES=y |
1528 | # CONFIG_DMADEVICES_DEBUG is not set | ||
1509 | 1529 | ||
1510 | # | 1530 | # |
1511 | # DMA Devices | 1531 | # DMA Devices |
@@ -1614,6 +1634,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1614 | # CONFIG_JFFS2_LZO is not set | 1634 | # CONFIG_JFFS2_LZO is not set |
1615 | CONFIG_JFFS2_RTIME=y | 1635 | CONFIG_JFFS2_RTIME=y |
1616 | # CONFIG_JFFS2_RUBIN is not set | 1636 | # CONFIG_JFFS2_RUBIN is not set |
1637 | # CONFIG_LOGFS is not set | ||
1617 | # CONFIG_CRAMFS is not set | 1638 | # CONFIG_CRAMFS is not set |
1618 | # CONFIG_SQUASHFS is not set | 1639 | # CONFIG_SQUASHFS is not set |
1619 | # CONFIG_VXFS_FS is not set | 1640 | # CONFIG_VXFS_FS is not set |
@@ -1641,6 +1662,7 @@ CONFIG_SUNRPC=y | |||
1641 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1662 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1642 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1663 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1643 | # CONFIG_SMB_FS is not set | 1664 | # CONFIG_SMB_FS is not set |
1665 | # CONFIG_CEPH_FS is not set | ||
1644 | # CONFIG_CIFS is not set | 1666 | # CONFIG_CIFS is not set |
1645 | # CONFIG_NCP_FS is not set | 1667 | # CONFIG_NCP_FS is not set |
1646 | # CONFIG_CODA_FS is not set | 1668 | # CONFIG_CODA_FS is not set |
@@ -1851,6 +1873,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1851 | CONFIG_CRYPTO_MANAGER2=y | 1873 | CONFIG_CRYPTO_MANAGER2=y |
1852 | # CONFIG_CRYPTO_GF128MUL is not set | 1874 | # CONFIG_CRYPTO_GF128MUL is not set |
1853 | # CONFIG_CRYPTO_NULL is not set | 1875 | # CONFIG_CRYPTO_NULL is not set |
1876 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1854 | CONFIG_CRYPTO_WORKQUEUE=y | 1877 | CONFIG_CRYPTO_WORKQUEUE=y |
1855 | # CONFIG_CRYPTO_CRYPTD is not set | 1878 | # CONFIG_CRYPTO_CRYPTD is not set |
1856 | # CONFIG_CRYPTO_AUTHENC is not set | 1879 | # CONFIG_CRYPTO_AUTHENC is not set |
diff --git a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig index 622d84f48aba..b728a7d64250 100644 --- a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig +++ b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:43 2010 | 4 | # Mon Apr 19 23:17:07 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -102,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
102 | CONFIG_IKCONFIG=y | 102 | CONFIG_IKCONFIG=y |
103 | CONFIG_IKCONFIG_PROC=y | 103 | CONFIG_IKCONFIG_PROC=y |
104 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
105 | CONFIG_GROUP_SCHED=y | ||
106 | CONFIG_FAIR_GROUP_SCHED=y | ||
107 | # CONFIG_RT_GROUP_SCHED is not set | ||
108 | CONFIG_USER_SCHED=y | ||
109 | # CONFIG_CGROUP_SCHED is not set | ||
110 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
111 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
112 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
113 | CONFIG_RELAY=y | 107 | CONFIG_RELAY=y |
114 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
115 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -117,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
117 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
118 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
119 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
120 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
121 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
122 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -325,6 +320,7 @@ CONFIG_ISA_DMA_API=y | |||
325 | # Bus options | 320 | # Bus options |
326 | # | 321 | # |
327 | CONFIG_ZONE_DMA=y | 322 | CONFIG_ZONE_DMA=y |
323 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
328 | CONFIG_GENERIC_ISA_DMA=y | 324 | CONFIG_GENERIC_ISA_DMA=y |
329 | CONFIG_PPC_INDIRECT_PCI=y | 325 | CONFIG_PPC_INDIRECT_PCI=y |
330 | CONFIG_FSL_SOC=y | 326 | CONFIG_FSL_SOC=y |
@@ -340,13 +336,11 @@ CONFIG_PCIEAER=y | |||
340 | # CONFIG_PCIEASPM is not set | 336 | # CONFIG_PCIEASPM is not set |
341 | CONFIG_ARCH_SUPPORTS_MSI=y | 337 | CONFIG_ARCH_SUPPORTS_MSI=y |
342 | # CONFIG_PCI_MSI is not set | 338 | # CONFIG_PCI_MSI is not set |
343 | # CONFIG_PCI_LEGACY is not set | ||
344 | # CONFIG_PCI_STUB is not set | 339 | # CONFIG_PCI_STUB is not set |
345 | # CONFIG_PCI_IOV is not set | 340 | # CONFIG_PCI_IOV is not set |
346 | CONFIG_PCCARD=y | 341 | CONFIG_PCCARD=y |
347 | CONFIG_PCMCIA=y | 342 | CONFIG_PCMCIA=y |
348 | # CONFIG_PCMCIA_LOAD_CIS is not set | 343 | # CONFIG_PCMCIA_LOAD_CIS is not set |
349 | # CONFIG_PCMCIA_IOCTL is not set | ||
350 | # CONFIG_CARDBUS is not set | 344 | # CONFIG_CARDBUS is not set |
351 | 345 | ||
352 | # | 346 | # |
@@ -382,7 +376,6 @@ CONFIG_NET=y | |||
382 | # Networking options | 376 | # Networking options |
383 | # | 377 | # |
384 | CONFIG_PACKET=y | 378 | CONFIG_PACKET=y |
385 | CONFIG_PACKET_MMAP=y | ||
386 | CONFIG_UNIX=y | 379 | CONFIG_UNIX=y |
387 | CONFIG_XFRM=y | 380 | CONFIG_XFRM=y |
388 | CONFIG_XFRM_USER=m | 381 | CONFIG_XFRM_USER=m |
@@ -592,6 +585,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
592 | # UBI - Unsorted block images | 585 | # UBI - Unsorted block images |
593 | # | 586 | # |
594 | # CONFIG_MTD_UBI is not set | 587 | # CONFIG_MTD_UBI is not set |
588 | CONFIG_OF_FLATTREE=y | ||
589 | CONFIG_OF_DYNAMIC=y | ||
595 | CONFIG_OF_DEVICE=y | 590 | CONFIG_OF_DEVICE=y |
596 | CONFIG_OF_GPIO=y | 591 | CONFIG_OF_GPIO=y |
597 | CONFIG_OF_I2C=y | 592 | CONFIG_OF_I2C=y |
@@ -629,6 +624,7 @@ CONFIG_MISC_DEVICES=y | |||
629 | # CONFIG_ENCLOSURE_SERVICES is not set | 624 | # CONFIG_ENCLOSURE_SERVICES is not set |
630 | # CONFIG_HP_ILO is not set | 625 | # CONFIG_HP_ILO is not set |
631 | # CONFIG_ISL29003 is not set | 626 | # CONFIG_ISL29003 is not set |
627 | # CONFIG_SENSORS_TSL2550 is not set | ||
632 | CONFIG_DS1682=y | 628 | CONFIG_DS1682=y |
633 | # CONFIG_C2PORT is not set | 629 | # CONFIG_C2PORT is not set |
634 | 630 | ||
@@ -695,6 +691,7 @@ CONFIG_IDE_PROC_FS=y | |||
695 | # | 691 | # |
696 | # SCSI device support | 692 | # SCSI device support |
697 | # | 693 | # |
694 | CONFIG_SCSI_MOD=y | ||
698 | # CONFIG_RAID_ATTRS is not set | 695 | # CONFIG_RAID_ATTRS is not set |
699 | CONFIG_SCSI=y | 696 | CONFIG_SCSI=y |
700 | CONFIG_SCSI_DMA=y | 697 | CONFIG_SCSI_DMA=y |
@@ -819,6 +816,7 @@ CONFIG_SATA_SIL=y | |||
819 | # CONFIG_PATA_IT821X is not set | 816 | # CONFIG_PATA_IT821X is not set |
820 | # CONFIG_PATA_IT8213 is not set | 817 | # CONFIG_PATA_IT8213 is not set |
821 | # CONFIG_PATA_JMICRON is not set | 818 | # CONFIG_PATA_JMICRON is not set |
819 | # CONFIG_PATA_LEGACY is not set | ||
822 | # CONFIG_PATA_TRIFLEX is not set | 820 | # CONFIG_PATA_TRIFLEX is not set |
823 | # CONFIG_PATA_MARVELL is not set | 821 | # CONFIG_PATA_MARVELL is not set |
824 | # CONFIG_PATA_MPIIX is not set | 822 | # CONFIG_PATA_MPIIX is not set |
@@ -1059,6 +1057,7 @@ CONFIG_SERIAL_CORE=y | |||
1059 | CONFIG_SERIAL_CORE_CONSOLE=y | 1057 | CONFIG_SERIAL_CORE_CONSOLE=y |
1060 | # CONFIG_SERIAL_JSM is not set | 1058 | # CONFIG_SERIAL_JSM is not set |
1061 | # CONFIG_SERIAL_OF_PLATFORM is not set | 1059 | # CONFIG_SERIAL_OF_PLATFORM is not set |
1060 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1062 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1061 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1063 | CONFIG_UNIX98_PTYS=y | 1062 | CONFIG_UNIX98_PTYS=y |
1064 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1063 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1116,6 +1115,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1116 | CONFIG_I2C_MPC=y | 1115 | CONFIG_I2C_MPC=y |
1117 | # CONFIG_I2C_OCORES is not set | 1116 | # CONFIG_I2C_OCORES is not set |
1118 | # CONFIG_I2C_SIMTEC is not set | 1117 | # CONFIG_I2C_SIMTEC is not set |
1118 | # CONFIG_I2C_XILINX is not set | ||
1119 | 1119 | ||
1120 | # | 1120 | # |
1121 | # External I2C/SMBus adapter drivers | 1121 | # External I2C/SMBus adapter drivers |
@@ -1129,15 +1129,9 @@ CONFIG_I2C_MPC=y | |||
1129 | # | 1129 | # |
1130 | # CONFIG_I2C_PCA_PLATFORM is not set | 1130 | # CONFIG_I2C_PCA_PLATFORM is not set |
1131 | # CONFIG_I2C_STUB is not set | 1131 | # CONFIG_I2C_STUB is not set |
1132 | |||
1133 | # | ||
1134 | # Miscellaneous I2C Chip support | ||
1135 | # | ||
1136 | # CONFIG_SENSORS_TSL2550 is not set | ||
1137 | # CONFIG_I2C_DEBUG_CORE is not set | 1132 | # CONFIG_I2C_DEBUG_CORE is not set |
1138 | # CONFIG_I2C_DEBUG_ALGO is not set | 1133 | # CONFIG_I2C_DEBUG_ALGO is not set |
1139 | # CONFIG_I2C_DEBUG_BUS is not set | 1134 | # CONFIG_I2C_DEBUG_BUS is not set |
1140 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1141 | # CONFIG_SPI is not set | 1135 | # CONFIG_SPI is not set |
1142 | 1136 | ||
1143 | # | 1137 | # |
@@ -1152,14 +1146,18 @@ CONFIG_GPIO_SYSFS=y | |||
1152 | # | 1146 | # |
1153 | # Memory mapped GPIO expanders: | 1147 | # Memory mapped GPIO expanders: |
1154 | # | 1148 | # |
1149 | # CONFIG_GPIO_IT8761E is not set | ||
1155 | # CONFIG_GPIO_XILINX is not set | 1150 | # CONFIG_GPIO_XILINX is not set |
1151 | # CONFIG_GPIO_SCH is not set | ||
1156 | 1152 | ||
1157 | # | 1153 | # |
1158 | # I2C GPIO expanders: | 1154 | # I2C GPIO expanders: |
1159 | # | 1155 | # |
1156 | # CONFIG_GPIO_MAX7300 is not set | ||
1160 | # CONFIG_GPIO_MAX732X is not set | 1157 | # CONFIG_GPIO_MAX732X is not set |
1161 | # CONFIG_GPIO_PCA953X is not set | 1158 | # CONFIG_GPIO_PCA953X is not set |
1162 | # CONFIG_GPIO_PCF857X is not set | 1159 | # CONFIG_GPIO_PCF857X is not set |
1160 | # CONFIG_GPIO_ADP5588 is not set | ||
1163 | 1161 | ||
1164 | # | 1162 | # |
1165 | # PCI GPIO expanders: | 1163 | # PCI GPIO expanders: |
@@ -1192,10 +1190,11 @@ CONFIG_HWMON=y | |||
1192 | # CONFIG_SENSORS_ADM1029 is not set | 1190 | # CONFIG_SENSORS_ADM1029 is not set |
1193 | # CONFIG_SENSORS_ADM1031 is not set | 1191 | # CONFIG_SENSORS_ADM1031 is not set |
1194 | # CONFIG_SENSORS_ADM9240 is not set | 1192 | # CONFIG_SENSORS_ADM9240 is not set |
1193 | # CONFIG_SENSORS_ADT7411 is not set | ||
1195 | # CONFIG_SENSORS_ADT7462 is not set | 1194 | # CONFIG_SENSORS_ADT7462 is not set |
1196 | # CONFIG_SENSORS_ADT7470 is not set | 1195 | # CONFIG_SENSORS_ADT7470 is not set |
1197 | # CONFIG_SENSORS_ADT7473 is not set | ||
1198 | # CONFIG_SENSORS_ADT7475 is not set | 1196 | # CONFIG_SENSORS_ADT7475 is not set |
1197 | # CONFIG_SENSORS_ASC7621 is not set | ||
1199 | # CONFIG_SENSORS_ATXP1 is not set | 1198 | # CONFIG_SENSORS_ATXP1 is not set |
1200 | # CONFIG_SENSORS_DS1621 is not set | 1199 | # CONFIG_SENSORS_DS1621 is not set |
1201 | # CONFIG_SENSORS_I5K_AMB is not set | 1200 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1233,6 +1232,7 @@ CONFIG_SENSORS_LM92=y | |||
1233 | # CONFIG_SENSORS_SMSC47M192 is not set | 1232 | # CONFIG_SENSORS_SMSC47M192 is not set |
1234 | # CONFIG_SENSORS_SMSC47B397 is not set | 1233 | # CONFIG_SENSORS_SMSC47B397 is not set |
1235 | # CONFIG_SENSORS_ADS7828 is not set | 1234 | # CONFIG_SENSORS_ADS7828 is not set |
1235 | # CONFIG_SENSORS_AMC6821 is not set | ||
1236 | # CONFIG_SENSORS_THMC50 is not set | 1236 | # CONFIG_SENSORS_THMC50 is not set |
1237 | # CONFIG_SENSORS_TMP401 is not set | 1237 | # CONFIG_SENSORS_TMP401 is not set |
1238 | # CONFIG_SENSORS_TMP421 is not set | 1238 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1281,19 +1281,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1281 | # Multifunction device drivers | 1281 | # Multifunction device drivers |
1282 | # | 1282 | # |
1283 | # CONFIG_MFD_CORE is not set | 1283 | # CONFIG_MFD_CORE is not set |
1284 | # CONFIG_MFD_88PM860X is not set | ||
1284 | # CONFIG_MFD_SM501 is not set | 1285 | # CONFIG_MFD_SM501 is not set |
1285 | # CONFIG_HTC_PASIC3 is not set | 1286 | # CONFIG_HTC_PASIC3 is not set |
1287 | # CONFIG_HTC_I2CPLD is not set | ||
1286 | # CONFIG_TPS65010 is not set | 1288 | # CONFIG_TPS65010 is not set |
1287 | # CONFIG_TWL4030_CORE is not set | 1289 | # CONFIG_TWL4030_CORE is not set |
1288 | # CONFIG_MFD_TMIO is not set | 1290 | # CONFIG_MFD_TMIO is not set |
1289 | # CONFIG_PMIC_DA903X is not set | 1291 | # CONFIG_PMIC_DA903X is not set |
1290 | # CONFIG_PMIC_ADP5520 is not set | 1292 | # CONFIG_PMIC_ADP5520 is not set |
1293 | # CONFIG_MFD_MAX8925 is not set | ||
1291 | # CONFIG_MFD_WM8400 is not set | 1294 | # CONFIG_MFD_WM8400 is not set |
1292 | # CONFIG_MFD_WM831X is not set | 1295 | # CONFIG_MFD_WM831X is not set |
1293 | # CONFIG_MFD_WM8350_I2C is not set | 1296 | # CONFIG_MFD_WM8350_I2C is not set |
1297 | # CONFIG_MFD_WM8994 is not set | ||
1294 | # CONFIG_MFD_PCF50633 is not set | 1298 | # CONFIG_MFD_PCF50633 is not set |
1295 | # CONFIG_AB3100_CORE is not set | 1299 | # CONFIG_AB3100_CORE is not set |
1296 | # CONFIG_MFD_88PM8607 is not set | 1300 | # CONFIG_MFD_TIMBERDALE is not set |
1301 | # CONFIG_LPC_SCH is not set | ||
1297 | # CONFIG_REGULATOR is not set | 1302 | # CONFIG_REGULATOR is not set |
1298 | # CONFIG_MEDIA_SUPPORT is not set | 1303 | # CONFIG_MEDIA_SUPPORT is not set |
1299 | 1304 | ||
@@ -1302,6 +1307,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1302 | # | 1307 | # |
1303 | # CONFIG_AGP is not set | 1308 | # CONFIG_AGP is not set |
1304 | CONFIG_VGA_ARB=y | 1309 | CONFIG_VGA_ARB=y |
1310 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1305 | # CONFIG_DRM is not set | 1311 | # CONFIG_DRM is not set |
1306 | # CONFIG_VGASTATE is not set | 1312 | # CONFIG_VGASTATE is not set |
1307 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1313 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1334,6 +1340,7 @@ CONFIG_USB_HID=y | |||
1334 | # | 1340 | # |
1335 | # Special HID drivers | 1341 | # Special HID drivers |
1336 | # | 1342 | # |
1343 | # CONFIG_HID_3M_PCT is not set | ||
1337 | CONFIG_HID_A4TECH=y | 1344 | CONFIG_HID_A4TECH=y |
1338 | CONFIG_HID_APPLE=y | 1345 | CONFIG_HID_APPLE=y |
1339 | CONFIG_HID_BELKIN=y | 1346 | CONFIG_HID_BELKIN=y |
@@ -1349,14 +1356,19 @@ CONFIG_HID_GYRATION=y | |||
1349 | CONFIG_HID_LOGITECH=y | 1356 | CONFIG_HID_LOGITECH=y |
1350 | # CONFIG_LOGITECH_FF is not set | 1357 | # CONFIG_LOGITECH_FF is not set |
1351 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1358 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1359 | # CONFIG_LOGIG940_FF is not set | ||
1352 | CONFIG_HID_MICROSOFT=y | 1360 | CONFIG_HID_MICROSOFT=y |
1361 | # CONFIG_HID_MOSART is not set | ||
1353 | CONFIG_HID_MONTEREY=y | 1362 | CONFIG_HID_MONTEREY=y |
1354 | # CONFIG_HID_NTRIG is not set | 1363 | # CONFIG_HID_NTRIG is not set |
1364 | # CONFIG_HID_ORTEK is not set | ||
1355 | CONFIG_HID_PANTHERLORD=y | 1365 | CONFIG_HID_PANTHERLORD=y |
1356 | # CONFIG_PANTHERLORD_FF is not set | 1366 | # CONFIG_PANTHERLORD_FF is not set |
1357 | CONFIG_HID_PETALYNX=y | 1367 | CONFIG_HID_PETALYNX=y |
1368 | # CONFIG_HID_QUANTA is not set | ||
1358 | CONFIG_HID_SAMSUNG=y | 1369 | CONFIG_HID_SAMSUNG=y |
1359 | CONFIG_HID_SONY=y | 1370 | CONFIG_HID_SONY=y |
1371 | # CONFIG_HID_STANTUM is not set | ||
1360 | CONFIG_HID_SUNPLUS=y | 1372 | CONFIG_HID_SUNPLUS=y |
1361 | # CONFIG_HID_GREENASIA is not set | 1373 | # CONFIG_HID_GREENASIA is not set |
1362 | # CONFIG_HID_SMARTJOYPLUS is not set | 1374 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1463,7 +1475,6 @@ CONFIG_USB_STORAGE=y | |||
1463 | # CONFIG_USB_RIO500 is not set | 1475 | # CONFIG_USB_RIO500 is not set |
1464 | # CONFIG_USB_LEGOTOWER is not set | 1476 | # CONFIG_USB_LEGOTOWER is not set |
1465 | # CONFIG_USB_LCD is not set | 1477 | # CONFIG_USB_LCD is not set |
1466 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1467 | # CONFIG_USB_LED is not set | 1478 | # CONFIG_USB_LED is not set |
1468 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1479 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1469 | # CONFIG_USB_CYTHERM is not set | 1480 | # CONFIG_USB_CYTHERM is not set |
@@ -1476,7 +1487,6 @@ CONFIG_USB_STORAGE=y | |||
1476 | # CONFIG_USB_IOWARRIOR is not set | 1487 | # CONFIG_USB_IOWARRIOR is not set |
1477 | # CONFIG_USB_TEST is not set | 1488 | # CONFIG_USB_TEST is not set |
1478 | # CONFIG_USB_ISIGHTFW is not set | 1489 | # CONFIG_USB_ISIGHTFW is not set |
1479 | # CONFIG_USB_VST is not set | ||
1480 | # CONFIG_USB_GADGET is not set | 1490 | # CONFIG_USB_GADGET is not set |
1481 | 1491 | ||
1482 | # | 1492 | # |
@@ -1560,43 +1570,35 @@ CONFIG_RTC_DRV_RX8581=y | |||
1560 | CONFIG_STAGING=y | 1570 | CONFIG_STAGING=y |
1561 | # CONFIG_STAGING_EXCLUDE_BUILD is not set | 1571 | # CONFIG_STAGING_EXCLUDE_BUILD is not set |
1562 | # CONFIG_ET131X is not set | 1572 | # CONFIG_ET131X is not set |
1563 | # CONFIG_ME4000 is not set | ||
1564 | # CONFIG_MEILHAUS is not set | ||
1565 | # CONFIG_USB_IP_COMMON is not set | 1573 | # CONFIG_USB_IP_COMMON is not set |
1574 | # CONFIG_PRISM2_USB is not set | ||
1566 | # CONFIG_ECHO is not set | 1575 | # CONFIG_ECHO is not set |
1567 | # CONFIG_COMEDI is not set | 1576 | # CONFIG_COMEDI is not set |
1568 | # CONFIG_ASUS_OLED is not set | 1577 | # CONFIG_ASUS_OLED is not set |
1569 | # CONFIG_ALTERA_PCIE_CHDMA is not set | 1578 | # CONFIG_R8187SE is not set |
1570 | # CONFIG_INPUT_MIMIO is not set | 1579 | # CONFIG_RTL8192SU is not set |
1580 | # CONFIG_RTL8192U is not set | ||
1581 | # CONFIG_RTL8192E is not set | ||
1571 | # CONFIG_TRANZPORT is not set | 1582 | # CONFIG_TRANZPORT is not set |
1572 | 1583 | ||
1573 | # | 1584 | # |
1574 | # Android | ||
1575 | # | ||
1576 | # CONFIG_ANDROID is not set | ||
1577 | # CONFIG_DST is not set | ||
1578 | # CONFIG_POHMELFS is not set | ||
1579 | # CONFIG_B3DFG is not set | ||
1580 | # CONFIG_IDE_PHISON is not set | ||
1581 | # CONFIG_PLAN9AUTH is not set | ||
1582 | # CONFIG_HECI is not set | ||
1583 | # CONFIG_USB_CPC is not set | ||
1584 | |||
1585 | # | ||
1586 | # Qualcomm MSM Camera And Video | 1585 | # Qualcomm MSM Camera And Video |
1587 | # | 1586 | # |
1588 | 1587 | ||
1589 | # | 1588 | # |
1590 | # Camera Sensor Selection | 1589 | # Camera Sensor Selection |
1591 | # | 1590 | # |
1592 | # CONFIG_HYPERV_STORAGE is not set | 1591 | # CONFIG_INPUT_GPIO is not set |
1593 | # CONFIG_HYPERV_BLOCK is not set | 1592 | # CONFIG_POHMELFS is not set |
1594 | # CONFIG_HYPERV_NET is not set | 1593 | # CONFIG_IDE_PHISON is not set |
1594 | # CONFIG_VT6655 is not set | ||
1595 | # CONFIG_VT6656 is not set | ||
1595 | CONFIG_VME_BUS=y | 1596 | CONFIG_VME_BUS=y |
1596 | 1597 | ||
1597 | # | 1598 | # |
1598 | # VME Bridge Drivers | 1599 | # VME Bridge Drivers |
1599 | # | 1600 | # |
1601 | # CONFIG_VME_CA91CX42 is not set | ||
1600 | CONFIG_VME_TSI148=y | 1602 | CONFIG_VME_TSI148=y |
1601 | 1603 | ||
1602 | # | 1604 | # |
@@ -1605,6 +1607,24 @@ CONFIG_VME_TSI148=y | |||
1605 | # CONFIG_VME_USER is not set | 1607 | # CONFIG_VME_USER is not set |
1606 | 1608 | ||
1607 | # | 1609 | # |
1610 | # VME Board Drivers | ||
1611 | # | ||
1612 | # CONFIG_VMIVME_7805 is not set | ||
1613 | |||
1614 | # | ||
1615 | # RAR Register Driver | ||
1616 | # | ||
1617 | # CONFIG_RAR_REGISTER is not set | ||
1618 | # CONFIG_IIO is not set | ||
1619 | # CONFIG_RAMZSWAP is not set | ||
1620 | # CONFIG_BATMAN_ADV is not set | ||
1621 | # CONFIG_STRIP is not set | ||
1622 | # CONFIG_PCMCIA_WAVELAN is not set | ||
1623 | # CONFIG_PCMCIA_NETWAVE is not set | ||
1624 | # CONFIG_DT3155 is not set | ||
1625 | # CONFIG_CRYSTALHD is not set | ||
1626 | |||
1627 | # | ||
1608 | # File systems | 1628 | # File systems |
1609 | # | 1629 | # |
1610 | CONFIG_EXT2_FS=y | 1630 | CONFIG_EXT2_FS=y |
@@ -1693,6 +1713,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1693 | # CONFIG_JFFS2_LZO is not set | 1713 | # CONFIG_JFFS2_LZO is not set |
1694 | CONFIG_JFFS2_RTIME=y | 1714 | CONFIG_JFFS2_RTIME=y |
1695 | # CONFIG_JFFS2_RUBIN is not set | 1715 | # CONFIG_JFFS2_RUBIN is not set |
1716 | # CONFIG_LOGFS is not set | ||
1696 | # CONFIG_CRAMFS is not set | 1717 | # CONFIG_CRAMFS is not set |
1697 | # CONFIG_SQUASHFS is not set | 1718 | # CONFIG_SQUASHFS is not set |
1698 | # CONFIG_VXFS_FS is not set | 1719 | # CONFIG_VXFS_FS is not set |
@@ -1719,6 +1740,7 @@ CONFIG_SUNRPC_GSS=y | |||
1719 | CONFIG_RPCSEC_GSS_KRB5=y | 1740 | CONFIG_RPCSEC_GSS_KRB5=y |
1720 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1741 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1721 | # CONFIG_SMB_FS is not set | 1742 | # CONFIG_SMB_FS is not set |
1743 | # CONFIG_CEPH_FS is not set | ||
1722 | CONFIG_CIFS=m | 1744 | CONFIG_CIFS=m |
1723 | # CONFIG_CIFS_STATS is not set | 1745 | # CONFIG_CIFS_STATS is not set |
1724 | # CONFIG_CIFS_WEAK_PW_HASH is not set | 1746 | # CONFIG_CIFS_WEAK_PW_HASH is not set |
@@ -1864,6 +1886,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1864 | CONFIG_CRYPTO_MANAGER2=y | 1886 | CONFIG_CRYPTO_MANAGER2=y |
1865 | # CONFIG_CRYPTO_GF128MUL is not set | 1887 | # CONFIG_CRYPTO_GF128MUL is not set |
1866 | # CONFIG_CRYPTO_NULL is not set | 1888 | # CONFIG_CRYPTO_NULL is not set |
1889 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1867 | CONFIG_CRYPTO_WORKQUEUE=y | 1890 | CONFIG_CRYPTO_WORKQUEUE=y |
1868 | # CONFIG_CRYPTO_CRYPTD is not set | 1891 | # CONFIG_CRYPTO_CRYPTD is not set |
1869 | CONFIG_CRYPTO_AUTHENC=m | 1892 | CONFIG_CRYPTO_AUTHENC=m |
diff --git a/arch/powerpc/configs/86xx/gef_sbc310_defconfig b/arch/powerpc/configs/86xx/gef_sbc310_defconfig index eb58dec11a61..8e738de5f6a5 100644 --- a/arch/powerpc/configs/86xx/gef_sbc310_defconfig +++ b/arch/powerpc/configs/86xx/gef_sbc310_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:41 2010 | 4 | # Mon Apr 19 23:17:05 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -102,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
102 | CONFIG_IKCONFIG=y | 102 | CONFIG_IKCONFIG=y |
103 | CONFIG_IKCONFIG_PROC=y | 103 | CONFIG_IKCONFIG_PROC=y |
104 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
105 | CONFIG_GROUP_SCHED=y | ||
106 | CONFIG_FAIR_GROUP_SCHED=y | ||
107 | # CONFIG_RT_GROUP_SCHED is not set | ||
108 | CONFIG_USER_SCHED=y | ||
109 | # CONFIG_CGROUP_SCHED is not set | ||
110 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
111 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
112 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
113 | CONFIG_RELAY=y | 107 | CONFIG_RELAY=y |
114 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
115 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -117,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
117 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
118 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
119 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
120 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
121 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
122 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -325,6 +320,7 @@ CONFIG_ISA_DMA_API=y | |||
325 | # Bus options | 320 | # Bus options |
326 | # | 321 | # |
327 | CONFIG_ZONE_DMA=y | 322 | CONFIG_ZONE_DMA=y |
323 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
328 | CONFIG_GENERIC_ISA_DMA=y | 324 | CONFIG_GENERIC_ISA_DMA=y |
329 | CONFIG_PPC_INDIRECT_PCI=y | 325 | CONFIG_PPC_INDIRECT_PCI=y |
330 | CONFIG_FSL_SOC=y | 326 | CONFIG_FSL_SOC=y |
@@ -340,13 +336,11 @@ CONFIG_PCIEAER=y | |||
340 | # CONFIG_PCIEASPM is not set | 336 | # CONFIG_PCIEASPM is not set |
341 | CONFIG_ARCH_SUPPORTS_MSI=y | 337 | CONFIG_ARCH_SUPPORTS_MSI=y |
342 | # CONFIG_PCI_MSI is not set | 338 | # CONFIG_PCI_MSI is not set |
343 | # CONFIG_PCI_LEGACY is not set | ||
344 | # CONFIG_PCI_STUB is not set | 339 | # CONFIG_PCI_STUB is not set |
345 | # CONFIG_PCI_IOV is not set | 340 | # CONFIG_PCI_IOV is not set |
346 | CONFIG_PCCARD=y | 341 | CONFIG_PCCARD=y |
347 | CONFIG_PCMCIA=y | 342 | CONFIG_PCMCIA=y |
348 | # CONFIG_PCMCIA_LOAD_CIS is not set | 343 | # CONFIG_PCMCIA_LOAD_CIS is not set |
349 | # CONFIG_PCMCIA_IOCTL is not set | ||
350 | # CONFIG_CARDBUS is not set | 344 | # CONFIG_CARDBUS is not set |
351 | 345 | ||
352 | # | 346 | # |
@@ -382,7 +376,6 @@ CONFIG_NET=y | |||
382 | # Networking options | 376 | # Networking options |
383 | # | 377 | # |
384 | CONFIG_PACKET=y | 378 | CONFIG_PACKET=y |
385 | CONFIG_PACKET_MMAP=y | ||
386 | CONFIG_UNIX=y | 379 | CONFIG_UNIX=y |
387 | CONFIG_XFRM=y | 380 | CONFIG_XFRM=y |
388 | CONFIG_XFRM_USER=m | 381 | CONFIG_XFRM_USER=m |
@@ -592,6 +585,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
592 | # UBI - Unsorted block images | 585 | # UBI - Unsorted block images |
593 | # | 586 | # |
594 | # CONFIG_MTD_UBI is not set | 587 | # CONFIG_MTD_UBI is not set |
588 | CONFIG_OF_FLATTREE=y | ||
589 | CONFIG_OF_DYNAMIC=y | ||
595 | CONFIG_OF_DEVICE=y | 590 | CONFIG_OF_DEVICE=y |
596 | CONFIG_OF_GPIO=y | 591 | CONFIG_OF_GPIO=y |
597 | CONFIG_OF_I2C=y | 592 | CONFIG_OF_I2C=y |
@@ -629,6 +624,7 @@ CONFIG_MISC_DEVICES=y | |||
629 | # CONFIG_ENCLOSURE_SERVICES is not set | 624 | # CONFIG_ENCLOSURE_SERVICES is not set |
630 | # CONFIG_HP_ILO is not set | 625 | # CONFIG_HP_ILO is not set |
631 | # CONFIG_ISL29003 is not set | 626 | # CONFIG_ISL29003 is not set |
627 | # CONFIG_SENSORS_TSL2550 is not set | ||
632 | CONFIG_DS1682=y | 628 | CONFIG_DS1682=y |
633 | # CONFIG_C2PORT is not set | 629 | # CONFIG_C2PORT is not set |
634 | 630 | ||
@@ -695,6 +691,7 @@ CONFIG_IDE_PROC_FS=y | |||
695 | # | 691 | # |
696 | # SCSI device support | 692 | # SCSI device support |
697 | # | 693 | # |
694 | CONFIG_SCSI_MOD=y | ||
698 | # CONFIG_RAID_ATTRS is not set | 695 | # CONFIG_RAID_ATTRS is not set |
699 | CONFIG_SCSI=y | 696 | CONFIG_SCSI=y |
700 | CONFIG_SCSI_DMA=y | 697 | CONFIG_SCSI_DMA=y |
@@ -1001,6 +998,7 @@ CONFIG_SERIAL_CORE=y | |||
1001 | CONFIG_SERIAL_CORE_CONSOLE=y | 998 | CONFIG_SERIAL_CORE_CONSOLE=y |
1002 | # CONFIG_SERIAL_JSM is not set | 999 | # CONFIG_SERIAL_JSM is not set |
1003 | # CONFIG_SERIAL_OF_PLATFORM is not set | 1000 | # CONFIG_SERIAL_OF_PLATFORM is not set |
1001 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1004 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1002 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1005 | CONFIG_UNIX98_PTYS=y | 1003 | CONFIG_UNIX98_PTYS=y |
1006 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1004 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1058,6 +1056,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1058 | CONFIG_I2C_MPC=y | 1056 | CONFIG_I2C_MPC=y |
1059 | # CONFIG_I2C_OCORES is not set | 1057 | # CONFIG_I2C_OCORES is not set |
1060 | # CONFIG_I2C_SIMTEC is not set | 1058 | # CONFIG_I2C_SIMTEC is not set |
1059 | # CONFIG_I2C_XILINX is not set | ||
1061 | 1060 | ||
1062 | # | 1061 | # |
1063 | # External I2C/SMBus adapter drivers | 1062 | # External I2C/SMBus adapter drivers |
@@ -1071,15 +1070,9 @@ CONFIG_I2C_MPC=y | |||
1071 | # | 1070 | # |
1072 | # CONFIG_I2C_PCA_PLATFORM is not set | 1071 | # CONFIG_I2C_PCA_PLATFORM is not set |
1073 | # CONFIG_I2C_STUB is not set | 1072 | # CONFIG_I2C_STUB is not set |
1074 | |||
1075 | # | ||
1076 | # Miscellaneous I2C Chip support | ||
1077 | # | ||
1078 | # CONFIG_SENSORS_TSL2550 is not set | ||
1079 | # CONFIG_I2C_DEBUG_CORE is not set | 1073 | # CONFIG_I2C_DEBUG_CORE is not set |
1080 | # CONFIG_I2C_DEBUG_ALGO is not set | 1074 | # CONFIG_I2C_DEBUG_ALGO is not set |
1081 | # CONFIG_I2C_DEBUG_BUS is not set | 1075 | # CONFIG_I2C_DEBUG_BUS is not set |
1082 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1083 | # CONFIG_SPI is not set | 1076 | # CONFIG_SPI is not set |
1084 | 1077 | ||
1085 | # | 1078 | # |
@@ -1094,14 +1087,18 @@ CONFIG_GPIO_SYSFS=y | |||
1094 | # | 1087 | # |
1095 | # Memory mapped GPIO expanders: | 1088 | # Memory mapped GPIO expanders: |
1096 | # | 1089 | # |
1090 | # CONFIG_GPIO_IT8761E is not set | ||
1097 | # CONFIG_GPIO_XILINX is not set | 1091 | # CONFIG_GPIO_XILINX is not set |
1092 | # CONFIG_GPIO_SCH is not set | ||
1098 | 1093 | ||
1099 | # | 1094 | # |
1100 | # I2C GPIO expanders: | 1095 | # I2C GPIO expanders: |
1101 | # | 1096 | # |
1097 | # CONFIG_GPIO_MAX7300 is not set | ||
1102 | # CONFIG_GPIO_MAX732X is not set | 1098 | # CONFIG_GPIO_MAX732X is not set |
1103 | # CONFIG_GPIO_PCA953X is not set | 1099 | # CONFIG_GPIO_PCA953X is not set |
1104 | # CONFIG_GPIO_PCF857X is not set | 1100 | # CONFIG_GPIO_PCF857X is not set |
1101 | # CONFIG_GPIO_ADP5588 is not set | ||
1105 | 1102 | ||
1106 | # | 1103 | # |
1107 | # PCI GPIO expanders: | 1104 | # PCI GPIO expanders: |
@@ -1134,10 +1131,11 @@ CONFIG_HWMON=y | |||
1134 | # CONFIG_SENSORS_ADM1029 is not set | 1131 | # CONFIG_SENSORS_ADM1029 is not set |
1135 | # CONFIG_SENSORS_ADM1031 is not set | 1132 | # CONFIG_SENSORS_ADM1031 is not set |
1136 | # CONFIG_SENSORS_ADM9240 is not set | 1133 | # CONFIG_SENSORS_ADM9240 is not set |
1134 | # CONFIG_SENSORS_ADT7411 is not set | ||
1137 | # CONFIG_SENSORS_ADT7462 is not set | 1135 | # CONFIG_SENSORS_ADT7462 is not set |
1138 | # CONFIG_SENSORS_ADT7470 is not set | 1136 | # CONFIG_SENSORS_ADT7470 is not set |
1139 | # CONFIG_SENSORS_ADT7473 is not set | ||
1140 | # CONFIG_SENSORS_ADT7475 is not set | 1137 | # CONFIG_SENSORS_ADT7475 is not set |
1138 | # CONFIG_SENSORS_ASC7621 is not set | ||
1141 | # CONFIG_SENSORS_ATXP1 is not set | 1139 | # CONFIG_SENSORS_ATXP1 is not set |
1142 | # CONFIG_SENSORS_DS1621 is not set | 1140 | # CONFIG_SENSORS_DS1621 is not set |
1143 | # CONFIG_SENSORS_I5K_AMB is not set | 1141 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1175,6 +1173,7 @@ CONFIG_SENSORS_LM92=y | |||
1175 | # CONFIG_SENSORS_SMSC47M192 is not set | 1173 | # CONFIG_SENSORS_SMSC47M192 is not set |
1176 | # CONFIG_SENSORS_SMSC47B397 is not set | 1174 | # CONFIG_SENSORS_SMSC47B397 is not set |
1177 | # CONFIG_SENSORS_ADS7828 is not set | 1175 | # CONFIG_SENSORS_ADS7828 is not set |
1176 | # CONFIG_SENSORS_AMC6821 is not set | ||
1178 | # CONFIG_SENSORS_THMC50 is not set | 1177 | # CONFIG_SENSORS_THMC50 is not set |
1179 | # CONFIG_SENSORS_TMP401 is not set | 1178 | # CONFIG_SENSORS_TMP401 is not set |
1180 | # CONFIG_SENSORS_TMP421 is not set | 1179 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1223,19 +1222,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1223 | # Multifunction device drivers | 1222 | # Multifunction device drivers |
1224 | # | 1223 | # |
1225 | # CONFIG_MFD_CORE is not set | 1224 | # CONFIG_MFD_CORE is not set |
1225 | # CONFIG_MFD_88PM860X is not set | ||
1226 | # CONFIG_MFD_SM501 is not set | 1226 | # CONFIG_MFD_SM501 is not set |
1227 | # CONFIG_HTC_PASIC3 is not set | 1227 | # CONFIG_HTC_PASIC3 is not set |
1228 | # CONFIG_HTC_I2CPLD is not set | ||
1228 | # CONFIG_TPS65010 is not set | 1229 | # CONFIG_TPS65010 is not set |
1229 | # CONFIG_TWL4030_CORE is not set | 1230 | # CONFIG_TWL4030_CORE is not set |
1230 | # CONFIG_MFD_TMIO is not set | 1231 | # CONFIG_MFD_TMIO is not set |
1231 | # CONFIG_PMIC_DA903X is not set | 1232 | # CONFIG_PMIC_DA903X is not set |
1232 | # CONFIG_PMIC_ADP5520 is not set | 1233 | # CONFIG_PMIC_ADP5520 is not set |
1234 | # CONFIG_MFD_MAX8925 is not set | ||
1233 | # CONFIG_MFD_WM8400 is not set | 1235 | # CONFIG_MFD_WM8400 is not set |
1234 | # CONFIG_MFD_WM831X is not set | 1236 | # CONFIG_MFD_WM831X is not set |
1235 | # CONFIG_MFD_WM8350_I2C is not set | 1237 | # CONFIG_MFD_WM8350_I2C is not set |
1238 | # CONFIG_MFD_WM8994 is not set | ||
1236 | # CONFIG_MFD_PCF50633 is not set | 1239 | # CONFIG_MFD_PCF50633 is not set |
1237 | # CONFIG_AB3100_CORE is not set | 1240 | # CONFIG_AB3100_CORE is not set |
1238 | # CONFIG_MFD_88PM8607 is not set | 1241 | # CONFIG_MFD_TIMBERDALE is not set |
1242 | # CONFIG_LPC_SCH is not set | ||
1239 | # CONFIG_REGULATOR is not set | 1243 | # CONFIG_REGULATOR is not set |
1240 | # CONFIG_MEDIA_SUPPORT is not set | 1244 | # CONFIG_MEDIA_SUPPORT is not set |
1241 | 1245 | ||
@@ -1244,6 +1248,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1244 | # | 1248 | # |
1245 | # CONFIG_AGP is not set | 1249 | # CONFIG_AGP is not set |
1246 | CONFIG_VGA_ARB=y | 1250 | CONFIG_VGA_ARB=y |
1251 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1247 | # CONFIG_DRM is not set | 1252 | # CONFIG_DRM is not set |
1248 | # CONFIG_VGASTATE is not set | 1253 | # CONFIG_VGASTATE is not set |
1249 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1254 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1276,6 +1281,7 @@ CONFIG_USB_HID=y | |||
1276 | # | 1281 | # |
1277 | # Special HID drivers | 1282 | # Special HID drivers |
1278 | # | 1283 | # |
1284 | # CONFIG_HID_3M_PCT is not set | ||
1279 | CONFIG_HID_A4TECH=y | 1285 | CONFIG_HID_A4TECH=y |
1280 | CONFIG_HID_APPLE=y | 1286 | CONFIG_HID_APPLE=y |
1281 | CONFIG_HID_BELKIN=y | 1287 | CONFIG_HID_BELKIN=y |
@@ -1291,14 +1297,19 @@ CONFIG_HID_GYRATION=y | |||
1291 | CONFIG_HID_LOGITECH=y | 1297 | CONFIG_HID_LOGITECH=y |
1292 | # CONFIG_LOGITECH_FF is not set | 1298 | # CONFIG_LOGITECH_FF is not set |
1293 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1299 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1300 | # CONFIG_LOGIG940_FF is not set | ||
1294 | CONFIG_HID_MICROSOFT=y | 1301 | CONFIG_HID_MICROSOFT=y |
1302 | # CONFIG_HID_MOSART is not set | ||
1295 | CONFIG_HID_MONTEREY=y | 1303 | CONFIG_HID_MONTEREY=y |
1296 | # CONFIG_HID_NTRIG is not set | 1304 | # CONFIG_HID_NTRIG is not set |
1305 | # CONFIG_HID_ORTEK is not set | ||
1297 | CONFIG_HID_PANTHERLORD=y | 1306 | CONFIG_HID_PANTHERLORD=y |
1298 | # CONFIG_PANTHERLORD_FF is not set | 1307 | # CONFIG_PANTHERLORD_FF is not set |
1299 | CONFIG_HID_PETALYNX=y | 1308 | CONFIG_HID_PETALYNX=y |
1309 | # CONFIG_HID_QUANTA is not set | ||
1300 | CONFIG_HID_SAMSUNG=y | 1310 | CONFIG_HID_SAMSUNG=y |
1301 | CONFIG_HID_SONY=y | 1311 | CONFIG_HID_SONY=y |
1312 | # CONFIG_HID_STANTUM is not set | ||
1302 | CONFIG_HID_SUNPLUS=y | 1313 | CONFIG_HID_SUNPLUS=y |
1303 | # CONFIG_HID_GREENASIA is not set | 1314 | # CONFIG_HID_GREENASIA is not set |
1304 | # CONFIG_HID_SMARTJOYPLUS is not set | 1315 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1405,7 +1416,6 @@ CONFIG_USB_STORAGE=y | |||
1405 | # CONFIG_USB_RIO500 is not set | 1416 | # CONFIG_USB_RIO500 is not set |
1406 | # CONFIG_USB_LEGOTOWER is not set | 1417 | # CONFIG_USB_LEGOTOWER is not set |
1407 | # CONFIG_USB_LCD is not set | 1418 | # CONFIG_USB_LCD is not set |
1408 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1409 | # CONFIG_USB_LED is not set | 1419 | # CONFIG_USB_LED is not set |
1410 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1420 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1411 | # CONFIG_USB_CYTHERM is not set | 1421 | # CONFIG_USB_CYTHERM is not set |
@@ -1418,7 +1428,6 @@ CONFIG_USB_STORAGE=y | |||
1418 | # CONFIG_USB_IOWARRIOR is not set | 1428 | # CONFIG_USB_IOWARRIOR is not set |
1419 | # CONFIG_USB_TEST is not set | 1429 | # CONFIG_USB_TEST is not set |
1420 | # CONFIG_USB_ISIGHTFW is not set | 1430 | # CONFIG_USB_ISIGHTFW is not set |
1421 | # CONFIG_USB_VST is not set | ||
1422 | # CONFIG_USB_GADGET is not set | 1431 | # CONFIG_USB_GADGET is not set |
1423 | 1432 | ||
1424 | # | 1433 | # |
@@ -1590,6 +1599,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1590 | # CONFIG_JFFS2_LZO is not set | 1599 | # CONFIG_JFFS2_LZO is not set |
1591 | CONFIG_JFFS2_RTIME=y | 1600 | CONFIG_JFFS2_RTIME=y |
1592 | # CONFIG_JFFS2_RUBIN is not set | 1601 | # CONFIG_JFFS2_RUBIN is not set |
1602 | # CONFIG_LOGFS is not set | ||
1593 | # CONFIG_CRAMFS is not set | 1603 | # CONFIG_CRAMFS is not set |
1594 | # CONFIG_SQUASHFS is not set | 1604 | # CONFIG_SQUASHFS is not set |
1595 | # CONFIG_VXFS_FS is not set | 1605 | # CONFIG_VXFS_FS is not set |
@@ -1616,6 +1626,7 @@ CONFIG_SUNRPC_GSS=y | |||
1616 | CONFIG_RPCSEC_GSS_KRB5=y | 1626 | CONFIG_RPCSEC_GSS_KRB5=y |
1617 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1627 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1618 | # CONFIG_SMB_FS is not set | 1628 | # CONFIG_SMB_FS is not set |
1629 | # CONFIG_CEPH_FS is not set | ||
1619 | CONFIG_CIFS=m | 1630 | CONFIG_CIFS=m |
1620 | # CONFIG_CIFS_STATS is not set | 1631 | # CONFIG_CIFS_STATS is not set |
1621 | # CONFIG_CIFS_WEAK_PW_HASH is not set | 1632 | # CONFIG_CIFS_WEAK_PW_HASH is not set |
@@ -1761,6 +1772,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1761 | CONFIG_CRYPTO_MANAGER2=y | 1772 | CONFIG_CRYPTO_MANAGER2=y |
1762 | # CONFIG_CRYPTO_GF128MUL is not set | 1773 | # CONFIG_CRYPTO_GF128MUL is not set |
1763 | # CONFIG_CRYPTO_NULL is not set | 1774 | # CONFIG_CRYPTO_NULL is not set |
1775 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1764 | CONFIG_CRYPTO_WORKQUEUE=y | 1776 | CONFIG_CRYPTO_WORKQUEUE=y |
1765 | # CONFIG_CRYPTO_CRYPTD is not set | 1777 | # CONFIG_CRYPTO_CRYPTD is not set |
1766 | CONFIG_CRYPTO_AUTHENC=m | 1778 | CONFIG_CRYPTO_AUTHENC=m |
diff --git a/arch/powerpc/configs/86xx/gef_sbc610_defconfig b/arch/powerpc/configs/86xx/gef_sbc610_defconfig index 62c2b81a4a8f..59bf9e27d7f2 100644 --- a/arch/powerpc/configs/86xx/gef_sbc610_defconfig +++ b/arch/powerpc/configs/86xx/gef_sbc610_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:42 2010 | 4 | # Mon Apr 19 23:17:06 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -102,14 +102,8 @@ CONFIG_RCU_FANOUT=32 | |||
102 | CONFIG_IKCONFIG=y | 102 | CONFIG_IKCONFIG=y |
103 | CONFIG_IKCONFIG_PROC=y | 103 | CONFIG_IKCONFIG_PROC=y |
104 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
105 | CONFIG_GROUP_SCHED=y | ||
106 | CONFIG_FAIR_GROUP_SCHED=y | ||
107 | # CONFIG_RT_GROUP_SCHED is not set | ||
108 | CONFIG_USER_SCHED=y | ||
109 | # CONFIG_CGROUP_SCHED is not set | ||
110 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
111 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
112 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
113 | CONFIG_RELAY=y | 107 | CONFIG_RELAY=y |
114 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
115 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -117,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
117 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
118 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
119 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
120 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
121 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
122 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -326,6 +321,7 @@ CONFIG_ISA_DMA_API=y | |||
326 | # Bus options | 321 | # Bus options |
327 | # | 322 | # |
328 | CONFIG_ZONE_DMA=y | 323 | CONFIG_ZONE_DMA=y |
324 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
329 | CONFIG_GENERIC_ISA_DMA=y | 325 | CONFIG_GENERIC_ISA_DMA=y |
330 | CONFIG_PPC_INDIRECT_PCI=y | 326 | CONFIG_PPC_INDIRECT_PCI=y |
331 | CONFIG_FSL_SOC=y | 327 | CONFIG_FSL_SOC=y |
@@ -341,7 +337,6 @@ CONFIG_PCIEAER=y | |||
341 | # CONFIG_PCIEASPM is not set | 337 | # CONFIG_PCIEASPM is not set |
342 | CONFIG_ARCH_SUPPORTS_MSI=y | 338 | CONFIG_ARCH_SUPPORTS_MSI=y |
343 | # CONFIG_PCI_MSI is not set | 339 | # CONFIG_PCI_MSI is not set |
344 | # CONFIG_PCI_LEGACY is not set | ||
345 | CONFIG_PCI_DEBUG=y | 340 | CONFIG_PCI_DEBUG=y |
346 | # CONFIG_PCI_STUB is not set | 341 | # CONFIG_PCI_STUB is not set |
347 | # CONFIG_PCI_IOV is not set | 342 | # CONFIG_PCI_IOV is not set |
@@ -369,7 +364,6 @@ CONFIG_NET=y | |||
369 | # Networking options | 364 | # Networking options |
370 | # | 365 | # |
371 | CONFIG_PACKET=y | 366 | CONFIG_PACKET=y |
372 | CONFIG_PACKET_MMAP=y | ||
373 | CONFIG_UNIX=y | 367 | CONFIG_UNIX=y |
374 | CONFIG_XFRM=y | 368 | CONFIG_XFRM=y |
375 | CONFIG_XFRM_USER=m | 369 | CONFIG_XFRM_USER=m |
@@ -552,6 +546,7 @@ CONFIG_ATM_BR2684=m | |||
552 | # CONFIG_ATM_BR2684_IPFILTER is not set | 546 | # CONFIG_ATM_BR2684_IPFILTER is not set |
553 | CONFIG_STP=m | 547 | CONFIG_STP=m |
554 | CONFIG_BRIDGE=m | 548 | CONFIG_BRIDGE=m |
549 | CONFIG_BRIDGE_IGMP_SNOOPING=y | ||
555 | # CONFIG_NET_DSA is not set | 550 | # CONFIG_NET_DSA is not set |
556 | CONFIG_VLAN_8021Q=m | 551 | CONFIG_VLAN_8021Q=m |
557 | # CONFIG_VLAN_8021Q_GVRP is not set | 552 | # CONFIG_VLAN_8021Q_GVRP is not set |
@@ -728,6 +723,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
728 | # UBI - Unsorted block images | 723 | # UBI - Unsorted block images |
729 | # | 724 | # |
730 | # CONFIG_MTD_UBI is not set | 725 | # CONFIG_MTD_UBI is not set |
726 | CONFIG_OF_FLATTREE=y | ||
727 | CONFIG_OF_DYNAMIC=y | ||
731 | CONFIG_OF_DEVICE=y | 728 | CONFIG_OF_DEVICE=y |
732 | CONFIG_OF_GPIO=y | 729 | CONFIG_OF_GPIO=y |
733 | CONFIG_OF_I2C=y | 730 | CONFIG_OF_I2C=y |
@@ -765,6 +762,7 @@ CONFIG_MISC_DEVICES=y | |||
765 | # CONFIG_ENCLOSURE_SERVICES is not set | 762 | # CONFIG_ENCLOSURE_SERVICES is not set |
766 | # CONFIG_HP_ILO is not set | 763 | # CONFIG_HP_ILO is not set |
767 | # CONFIG_ISL29003 is not set | 764 | # CONFIG_ISL29003 is not set |
765 | # CONFIG_SENSORS_TSL2550 is not set | ||
768 | CONFIG_DS1682=y | 766 | CONFIG_DS1682=y |
769 | # CONFIG_C2PORT is not set | 767 | # CONFIG_C2PORT is not set |
770 | 768 | ||
@@ -782,6 +780,7 @@ CONFIG_HAVE_IDE=y | |||
782 | # | 780 | # |
783 | # SCSI device support | 781 | # SCSI device support |
784 | # | 782 | # |
783 | CONFIG_SCSI_MOD=y | ||
785 | # CONFIG_RAID_ATTRS is not set | 784 | # CONFIG_RAID_ATTRS is not set |
786 | CONFIG_SCSI=y | 785 | CONFIG_SCSI=y |
787 | CONFIG_SCSI_DMA=y | 786 | CONFIG_SCSI_DMA=y |
@@ -905,6 +904,7 @@ CONFIG_SATA_SIL=y | |||
905 | # CONFIG_PATA_IT821X is not set | 904 | # CONFIG_PATA_IT821X is not set |
906 | # CONFIG_PATA_IT8213 is not set | 905 | # CONFIG_PATA_IT8213 is not set |
907 | # CONFIG_PATA_JMICRON is not set | 906 | # CONFIG_PATA_JMICRON is not set |
907 | # CONFIG_PATA_LEGACY is not set | ||
908 | # CONFIG_PATA_TRIFLEX is not set | 908 | # CONFIG_PATA_TRIFLEX is not set |
909 | # CONFIG_PATA_MARVELL is not set | 909 | # CONFIG_PATA_MARVELL is not set |
910 | # CONFIG_PATA_MPIIX is not set | 910 | # CONFIG_PATA_MPIIX is not set |
@@ -1155,6 +1155,7 @@ CONFIG_SERIAL_CORE=y | |||
1155 | CONFIG_SERIAL_CORE_CONSOLE=y | 1155 | CONFIG_SERIAL_CORE_CONSOLE=y |
1156 | # CONFIG_SERIAL_JSM is not set | 1156 | # CONFIG_SERIAL_JSM is not set |
1157 | # CONFIG_SERIAL_OF_PLATFORM is not set | 1157 | # CONFIG_SERIAL_OF_PLATFORM is not set |
1158 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1158 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1159 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1159 | CONFIG_UNIX98_PTYS=y | 1160 | CONFIG_UNIX98_PTYS=y |
1160 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1161 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1204,6 +1205,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1204 | CONFIG_I2C_MPC=y | 1205 | CONFIG_I2C_MPC=y |
1205 | # CONFIG_I2C_OCORES is not set | 1206 | # CONFIG_I2C_OCORES is not set |
1206 | # CONFIG_I2C_SIMTEC is not set | 1207 | # CONFIG_I2C_SIMTEC is not set |
1208 | # CONFIG_I2C_XILINX is not set | ||
1207 | 1209 | ||
1208 | # | 1210 | # |
1209 | # External I2C/SMBus adapter drivers | 1211 | # External I2C/SMBus adapter drivers |
@@ -1217,15 +1219,9 @@ CONFIG_I2C_MPC=y | |||
1217 | # | 1219 | # |
1218 | # CONFIG_I2C_PCA_PLATFORM is not set | 1220 | # CONFIG_I2C_PCA_PLATFORM is not set |
1219 | # CONFIG_I2C_STUB is not set | 1221 | # CONFIG_I2C_STUB is not set |
1220 | |||
1221 | # | ||
1222 | # Miscellaneous I2C Chip support | ||
1223 | # | ||
1224 | # CONFIG_SENSORS_TSL2550 is not set | ||
1225 | # CONFIG_I2C_DEBUG_CORE is not set | 1222 | # CONFIG_I2C_DEBUG_CORE is not set |
1226 | # CONFIG_I2C_DEBUG_ALGO is not set | 1223 | # CONFIG_I2C_DEBUG_ALGO is not set |
1227 | # CONFIG_I2C_DEBUG_BUS is not set | 1224 | # CONFIG_I2C_DEBUG_BUS is not set |
1228 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1229 | # CONFIG_SPI is not set | 1225 | # CONFIG_SPI is not set |
1230 | 1226 | ||
1231 | # | 1227 | # |
@@ -1241,14 +1237,18 @@ CONFIG_GPIOLIB=y | |||
1241 | # | 1237 | # |
1242 | # Memory mapped GPIO expanders: | 1238 | # Memory mapped GPIO expanders: |
1243 | # | 1239 | # |
1240 | # CONFIG_GPIO_IT8761E is not set | ||
1244 | # CONFIG_GPIO_XILINX is not set | 1241 | # CONFIG_GPIO_XILINX is not set |
1242 | # CONFIG_GPIO_SCH is not set | ||
1245 | 1243 | ||
1246 | # | 1244 | # |
1247 | # I2C GPIO expanders: | 1245 | # I2C GPIO expanders: |
1248 | # | 1246 | # |
1247 | # CONFIG_GPIO_MAX7300 is not set | ||
1249 | # CONFIG_GPIO_MAX732X is not set | 1248 | # CONFIG_GPIO_MAX732X is not set |
1250 | # CONFIG_GPIO_PCA953X is not set | 1249 | # CONFIG_GPIO_PCA953X is not set |
1251 | # CONFIG_GPIO_PCF857X is not set | 1250 | # CONFIG_GPIO_PCF857X is not set |
1251 | # CONFIG_GPIO_ADP5588 is not set | ||
1252 | 1252 | ||
1253 | # | 1253 | # |
1254 | # PCI GPIO expanders: | 1254 | # PCI GPIO expanders: |
@@ -1281,10 +1281,11 @@ CONFIG_HWMON=y | |||
1281 | # CONFIG_SENSORS_ADM1029 is not set | 1281 | # CONFIG_SENSORS_ADM1029 is not set |
1282 | # CONFIG_SENSORS_ADM1031 is not set | 1282 | # CONFIG_SENSORS_ADM1031 is not set |
1283 | # CONFIG_SENSORS_ADM9240 is not set | 1283 | # CONFIG_SENSORS_ADM9240 is not set |
1284 | # CONFIG_SENSORS_ADT7411 is not set | ||
1284 | # CONFIG_SENSORS_ADT7462 is not set | 1285 | # CONFIG_SENSORS_ADT7462 is not set |
1285 | # CONFIG_SENSORS_ADT7470 is not set | 1286 | # CONFIG_SENSORS_ADT7470 is not set |
1286 | # CONFIG_SENSORS_ADT7473 is not set | ||
1287 | # CONFIG_SENSORS_ADT7475 is not set | 1287 | # CONFIG_SENSORS_ADT7475 is not set |
1288 | # CONFIG_SENSORS_ASC7621 is not set | ||
1288 | # CONFIG_SENSORS_ATXP1 is not set | 1289 | # CONFIG_SENSORS_ATXP1 is not set |
1289 | # CONFIG_SENSORS_DS1621 is not set | 1290 | # CONFIG_SENSORS_DS1621 is not set |
1290 | # CONFIG_SENSORS_I5K_AMB is not set | 1291 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1322,6 +1323,7 @@ CONFIG_SENSORS_LM92=y | |||
1322 | # CONFIG_SENSORS_SMSC47M192 is not set | 1323 | # CONFIG_SENSORS_SMSC47M192 is not set |
1323 | # CONFIG_SENSORS_SMSC47B397 is not set | 1324 | # CONFIG_SENSORS_SMSC47B397 is not set |
1324 | # CONFIG_SENSORS_ADS7828 is not set | 1325 | # CONFIG_SENSORS_ADS7828 is not set |
1326 | # CONFIG_SENSORS_AMC6821 is not set | ||
1325 | # CONFIG_SENSORS_THMC50 is not set | 1327 | # CONFIG_SENSORS_THMC50 is not set |
1326 | # CONFIG_SENSORS_TMP401 is not set | 1328 | # CONFIG_SENSORS_TMP401 is not set |
1327 | # CONFIG_SENSORS_TMP421 is not set | 1329 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1370,19 +1372,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1370 | # Multifunction device drivers | 1372 | # Multifunction device drivers |
1371 | # | 1373 | # |
1372 | # CONFIG_MFD_CORE is not set | 1374 | # CONFIG_MFD_CORE is not set |
1375 | # CONFIG_MFD_88PM860X is not set | ||
1373 | # CONFIG_MFD_SM501 is not set | 1376 | # CONFIG_MFD_SM501 is not set |
1374 | # CONFIG_HTC_PASIC3 is not set | 1377 | # CONFIG_HTC_PASIC3 is not set |
1378 | # CONFIG_HTC_I2CPLD is not set | ||
1375 | # CONFIG_TPS65010 is not set | 1379 | # CONFIG_TPS65010 is not set |
1376 | # CONFIG_TWL4030_CORE is not set | 1380 | # CONFIG_TWL4030_CORE is not set |
1377 | # CONFIG_MFD_TMIO is not set | 1381 | # CONFIG_MFD_TMIO is not set |
1378 | # CONFIG_PMIC_DA903X is not set | 1382 | # CONFIG_PMIC_DA903X is not set |
1379 | # CONFIG_PMIC_ADP5520 is not set | 1383 | # CONFIG_PMIC_ADP5520 is not set |
1384 | # CONFIG_MFD_MAX8925 is not set | ||
1380 | # CONFIG_MFD_WM8400 is not set | 1385 | # CONFIG_MFD_WM8400 is not set |
1381 | # CONFIG_MFD_WM831X is not set | 1386 | # CONFIG_MFD_WM831X is not set |
1382 | # CONFIG_MFD_WM8350_I2C is not set | 1387 | # CONFIG_MFD_WM8350_I2C is not set |
1388 | # CONFIG_MFD_WM8994 is not set | ||
1383 | # CONFIG_MFD_PCF50633 is not set | 1389 | # CONFIG_MFD_PCF50633 is not set |
1384 | # CONFIG_AB3100_CORE is not set | 1390 | # CONFIG_AB3100_CORE is not set |
1385 | # CONFIG_MFD_88PM8607 is not set | 1391 | # CONFIG_MFD_TIMBERDALE is not set |
1392 | # CONFIG_LPC_SCH is not set | ||
1386 | # CONFIG_REGULATOR is not set | 1393 | # CONFIG_REGULATOR is not set |
1387 | # CONFIG_MEDIA_SUPPORT is not set | 1394 | # CONFIG_MEDIA_SUPPORT is not set |
1388 | 1395 | ||
@@ -1391,6 +1398,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1391 | # | 1398 | # |
1392 | # CONFIG_AGP is not set | 1399 | # CONFIG_AGP is not set |
1393 | CONFIG_VGA_ARB=y | 1400 | CONFIG_VGA_ARB=y |
1401 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1394 | # CONFIG_DRM is not set | 1402 | # CONFIG_DRM is not set |
1395 | # CONFIG_VGASTATE is not set | 1403 | # CONFIG_VGASTATE is not set |
1396 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1404 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1423,6 +1431,7 @@ CONFIG_USB_HID=y | |||
1423 | # | 1431 | # |
1424 | # Special HID drivers | 1432 | # Special HID drivers |
1425 | # | 1433 | # |
1434 | # CONFIG_HID_3M_PCT is not set | ||
1426 | CONFIG_HID_A4TECH=y | 1435 | CONFIG_HID_A4TECH=y |
1427 | CONFIG_HID_APPLE=y | 1436 | CONFIG_HID_APPLE=y |
1428 | CONFIG_HID_BELKIN=y | 1437 | CONFIG_HID_BELKIN=y |
@@ -1438,14 +1447,19 @@ CONFIG_HID_GYRATION=y | |||
1438 | CONFIG_HID_LOGITECH=y | 1447 | CONFIG_HID_LOGITECH=y |
1439 | # CONFIG_LOGITECH_FF is not set | 1448 | # CONFIG_LOGITECH_FF is not set |
1440 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1449 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1450 | # CONFIG_LOGIG940_FF is not set | ||
1441 | CONFIG_HID_MICROSOFT=y | 1451 | CONFIG_HID_MICROSOFT=y |
1452 | # CONFIG_HID_MOSART is not set | ||
1442 | CONFIG_HID_MONTEREY=y | 1453 | CONFIG_HID_MONTEREY=y |
1443 | # CONFIG_HID_NTRIG is not set | 1454 | # CONFIG_HID_NTRIG is not set |
1455 | # CONFIG_HID_ORTEK is not set | ||
1444 | CONFIG_HID_PANTHERLORD=y | 1456 | CONFIG_HID_PANTHERLORD=y |
1445 | # CONFIG_PANTHERLORD_FF is not set | 1457 | # CONFIG_PANTHERLORD_FF is not set |
1446 | CONFIG_HID_PETALYNX=y | 1458 | CONFIG_HID_PETALYNX=y |
1459 | # CONFIG_HID_QUANTA is not set | ||
1447 | CONFIG_HID_SAMSUNG=y | 1460 | CONFIG_HID_SAMSUNG=y |
1448 | CONFIG_HID_SONY=y | 1461 | CONFIG_HID_SONY=y |
1462 | # CONFIG_HID_STANTUM is not set | ||
1449 | CONFIG_HID_SUNPLUS=y | 1463 | CONFIG_HID_SUNPLUS=y |
1450 | # CONFIG_HID_GREENASIA is not set | 1464 | # CONFIG_HID_GREENASIA is not set |
1451 | # CONFIG_HID_SMARTJOYPLUS is not set | 1465 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1552,7 +1566,6 @@ CONFIG_USB_STORAGE=y | |||
1552 | # CONFIG_USB_RIO500 is not set | 1566 | # CONFIG_USB_RIO500 is not set |
1553 | # CONFIG_USB_LEGOTOWER is not set | 1567 | # CONFIG_USB_LEGOTOWER is not set |
1554 | # CONFIG_USB_LCD is not set | 1568 | # CONFIG_USB_LCD is not set |
1555 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1556 | # CONFIG_USB_LED is not set | 1569 | # CONFIG_USB_LED is not set |
1557 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1570 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1558 | # CONFIG_USB_CYTHERM is not set | 1571 | # CONFIG_USB_CYTHERM is not set |
@@ -1565,7 +1578,6 @@ CONFIG_USB_STORAGE=y | |||
1565 | # CONFIG_USB_IOWARRIOR is not set | 1578 | # CONFIG_USB_IOWARRIOR is not set |
1566 | # CONFIG_USB_TEST is not set | 1579 | # CONFIG_USB_TEST is not set |
1567 | # CONFIG_USB_ISIGHTFW is not set | 1580 | # CONFIG_USB_ISIGHTFW is not set |
1568 | # CONFIG_USB_VST is not set | ||
1569 | # CONFIG_USB_ATM is not set | 1581 | # CONFIG_USB_ATM is not set |
1570 | # CONFIG_USB_GADGET is not set | 1582 | # CONFIG_USB_GADGET is not set |
1571 | 1583 | ||
@@ -1650,29 +1662,29 @@ CONFIG_RTC_DRV_RX8581=y | |||
1650 | CONFIG_STAGING=y | 1662 | CONFIG_STAGING=y |
1651 | # CONFIG_STAGING_EXCLUDE_BUILD is not set | 1663 | # CONFIG_STAGING_EXCLUDE_BUILD is not set |
1652 | # CONFIG_ET131X is not set | 1664 | # CONFIG_ET131X is not set |
1653 | # CONFIG_ME4000 is not set | ||
1654 | # CONFIG_MEILHAUS is not set | ||
1655 | # CONFIG_USB_IP_COMMON is not set | 1665 | # CONFIG_USB_IP_COMMON is not set |
1666 | # CONFIG_PRISM2_USB is not set | ||
1656 | # CONFIG_ECHO is not set | 1667 | # CONFIG_ECHO is not set |
1657 | # CONFIG_COMEDI is not set | 1668 | # CONFIG_COMEDI is not set |
1658 | # CONFIG_ASUS_OLED is not set | 1669 | # CONFIG_ASUS_OLED is not set |
1659 | # CONFIG_ALTERA_PCIE_CHDMA is not set | 1670 | # CONFIG_R8187SE is not set |
1660 | # CONFIG_INPUT_MIMIO is not set | 1671 | # CONFIG_RTL8192SU is not set |
1672 | # CONFIG_RTL8192U is not set | ||
1673 | # CONFIG_RTL8192E is not set | ||
1661 | # CONFIG_TRANZPORT is not set | 1674 | # CONFIG_TRANZPORT is not set |
1662 | 1675 | ||
1663 | # | 1676 | # |
1664 | # Android | 1677 | # Qualcomm MSM Camera And Video |
1678 | # | ||
1679 | |||
1680 | # | ||
1681 | # Camera Sensor Selection | ||
1665 | # | 1682 | # |
1666 | # CONFIG_ANDROID is not set | 1683 | # CONFIG_INPUT_GPIO is not set |
1667 | # CONFIG_DST is not set | ||
1668 | # CONFIG_POHMELFS is not set | 1684 | # CONFIG_POHMELFS is not set |
1669 | # CONFIG_B3DFG is not set | ||
1670 | # CONFIG_IDE_PHISON is not set | 1685 | # CONFIG_IDE_PHISON is not set |
1671 | # CONFIG_PLAN9AUTH is not set | ||
1672 | # CONFIG_HECI is not set | ||
1673 | # CONFIG_VT6655 is not set | 1686 | # CONFIG_VT6655 is not set |
1674 | # CONFIG_USB_CPC is not set | 1687 | # CONFIG_VT6656 is not set |
1675 | # CONFIG_RDC_17F3101X is not set | ||
1676 | CONFIG_VME_BUS=y | 1688 | CONFIG_VME_BUS=y |
1677 | 1689 | ||
1678 | # | 1690 | # |
@@ -1687,6 +1699,22 @@ CONFIG_VME_TSI148=y | |||
1687 | # CONFIG_VME_USER is not set | 1699 | # CONFIG_VME_USER is not set |
1688 | 1700 | ||
1689 | # | 1701 | # |
1702 | # VME Board Drivers | ||
1703 | # | ||
1704 | # CONFIG_VMIVME_7805 is not set | ||
1705 | |||
1706 | # | ||
1707 | # RAR Register Driver | ||
1708 | # | ||
1709 | # CONFIG_RAR_REGISTER is not set | ||
1710 | # CONFIG_IIO is not set | ||
1711 | # CONFIG_RAMZSWAP is not set | ||
1712 | # CONFIG_BATMAN_ADV is not set | ||
1713 | # CONFIG_STRIP is not set | ||
1714 | # CONFIG_DT3155 is not set | ||
1715 | # CONFIG_CRYSTALHD is not set | ||
1716 | |||
1717 | # | ||
1690 | # File systems | 1718 | # File systems |
1691 | # | 1719 | # |
1692 | CONFIG_EXT2_FS=y | 1720 | CONFIG_EXT2_FS=y |
@@ -1772,6 +1800,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1772 | # CONFIG_JFFS2_LZO is not set | 1800 | # CONFIG_JFFS2_LZO is not set |
1773 | CONFIG_JFFS2_RTIME=y | 1801 | CONFIG_JFFS2_RTIME=y |
1774 | # CONFIG_JFFS2_RUBIN is not set | 1802 | # CONFIG_JFFS2_RUBIN is not set |
1803 | # CONFIG_LOGFS is not set | ||
1775 | # CONFIG_CRAMFS is not set | 1804 | # CONFIG_CRAMFS is not set |
1776 | # CONFIG_SQUASHFS is not set | 1805 | # CONFIG_SQUASHFS is not set |
1777 | # CONFIG_VXFS_FS is not set | 1806 | # CONFIG_VXFS_FS is not set |
@@ -1798,6 +1827,7 @@ CONFIG_SUNRPC_GSS=y | |||
1798 | CONFIG_RPCSEC_GSS_KRB5=y | 1827 | CONFIG_RPCSEC_GSS_KRB5=y |
1799 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1828 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1800 | # CONFIG_SMB_FS is not set | 1829 | # CONFIG_SMB_FS is not set |
1830 | # CONFIG_CEPH_FS is not set | ||
1801 | CONFIG_CIFS=m | 1831 | CONFIG_CIFS=m |
1802 | # CONFIG_CIFS_STATS is not set | 1832 | # CONFIG_CIFS_STATS is not set |
1803 | # CONFIG_CIFS_WEAK_PW_HASH is not set | 1833 | # CONFIG_CIFS_WEAK_PW_HASH is not set |
@@ -1870,7 +1900,7 @@ CONFIG_CRC32=y | |||
1870 | # CONFIG_CRC7 is not set | 1900 | # CONFIG_CRC7 is not set |
1871 | CONFIG_LIBCRC32C=m | 1901 | CONFIG_LIBCRC32C=m |
1872 | CONFIG_ZLIB_INFLATE=y | 1902 | CONFIG_ZLIB_INFLATE=y |
1873 | CONFIG_ZLIB_DEFLATE=m | 1903 | CONFIG_ZLIB_DEFLATE=y |
1874 | CONFIG_DECOMPRESS_GZIP=y | 1904 | CONFIG_DECOMPRESS_GZIP=y |
1875 | CONFIG_HAS_IOMEM=y | 1905 | CONFIG_HAS_IOMEM=y |
1876 | CONFIG_HAS_IOPORT=y | 1906 | CONFIG_HAS_IOPORT=y |
@@ -2006,6 +2036,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
2006 | CONFIG_CRYPTO_MANAGER2=y | 2036 | CONFIG_CRYPTO_MANAGER2=y |
2007 | # CONFIG_CRYPTO_GF128MUL is not set | 2037 | # CONFIG_CRYPTO_GF128MUL is not set |
2008 | CONFIG_CRYPTO_NULL=m | 2038 | CONFIG_CRYPTO_NULL=m |
2039 | # CONFIG_CRYPTO_PCRYPT is not set | ||
2009 | CONFIG_CRYPTO_WORKQUEUE=y | 2040 | CONFIG_CRYPTO_WORKQUEUE=y |
2010 | # CONFIG_CRYPTO_CRYPTD is not set | 2041 | # CONFIG_CRYPTO_CRYPTD is not set |
2011 | CONFIG_CRYPTO_AUTHENC=m | 2042 | CONFIG_CRYPTO_AUTHENC=m |
diff --git a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig index aab3baebab8c..4e8b01e73245 100644 --- a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig +++ b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:39 2010 | 4 | # Mon Apr 19 23:17:03 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -97,14 +97,8 @@ CONFIG_RCU_FANOUT=32 | |||
97 | CONFIG_IKCONFIG=y | 97 | CONFIG_IKCONFIG=y |
98 | CONFIG_IKCONFIG_PROC=y | 98 | CONFIG_IKCONFIG_PROC=y |
99 | CONFIG_LOG_BUF_SHIFT=14 | 99 | CONFIG_LOG_BUF_SHIFT=14 |
100 | CONFIG_GROUP_SCHED=y | ||
101 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
102 | # CONFIG_RT_GROUP_SCHED is not set | ||
103 | CONFIG_USER_SCHED=y | ||
104 | # CONFIG_CGROUP_SCHED is not set | ||
105 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
106 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
107 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
108 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
109 | # CONFIG_NAMESPACES is not set | 103 | # CONFIG_NAMESPACES is not set |
110 | CONFIG_BLK_DEV_INITRD=y | 104 | CONFIG_BLK_DEV_INITRD=y |
@@ -112,6 +106,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
112 | CONFIG_RD_GZIP=y | 106 | CONFIG_RD_GZIP=y |
113 | # CONFIG_RD_BZIP2 is not set | 107 | # CONFIG_RD_BZIP2 is not set |
114 | # CONFIG_RD_LZMA is not set | 108 | # CONFIG_RD_LZMA is not set |
109 | # CONFIG_RD_LZO is not set | ||
115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 110 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
116 | CONFIG_SYSCTL=y | 111 | CONFIG_SYSCTL=y |
117 | CONFIG_ANON_INODES=y | 112 | CONFIG_ANON_INODES=y |
@@ -320,6 +315,7 @@ CONFIG_ISA_DMA_API=y | |||
320 | # Bus options | 315 | # Bus options |
321 | # | 316 | # |
322 | CONFIG_ZONE_DMA=y | 317 | CONFIG_ZONE_DMA=y |
318 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
323 | CONFIG_GENERIC_ISA_DMA=y | 319 | CONFIG_GENERIC_ISA_DMA=y |
324 | CONFIG_PPC_INDIRECT_PCI=y | 320 | CONFIG_PPC_INDIRECT_PCI=y |
325 | CONFIG_FSL_SOC=y | 321 | CONFIG_FSL_SOC=y |
@@ -335,7 +331,6 @@ CONFIG_PCIEAER=y | |||
335 | # CONFIG_PCIEASPM is not set | 331 | # CONFIG_PCIEASPM is not set |
336 | CONFIG_ARCH_SUPPORTS_MSI=y | 332 | CONFIG_ARCH_SUPPORTS_MSI=y |
337 | # CONFIG_PCI_MSI is not set | 333 | # CONFIG_PCI_MSI is not set |
338 | # CONFIG_PCI_LEGACY is not set | ||
339 | CONFIG_PCI_DEBUG=y | 334 | CONFIG_PCI_DEBUG=y |
340 | # CONFIG_PCI_STUB is not set | 335 | # CONFIG_PCI_STUB is not set |
341 | # CONFIG_PCI_IOV is not set | 336 | # CONFIG_PCI_IOV is not set |
@@ -362,7 +357,6 @@ CONFIG_NET=y | |||
362 | # Networking options | 357 | # Networking options |
363 | # | 358 | # |
364 | CONFIG_PACKET=y | 359 | CONFIG_PACKET=y |
365 | # CONFIG_PACKET_MMAP is not set | ||
366 | CONFIG_UNIX=y | 360 | CONFIG_UNIX=y |
367 | CONFIG_XFRM=y | 361 | CONFIG_XFRM=y |
368 | CONFIG_XFRM_USER=y | 362 | CONFIG_XFRM_USER=y |
@@ -571,6 +565,8 @@ CONFIG_MTD_NAND_FSL_ELBC=y | |||
571 | # UBI - Unsorted block images | 565 | # UBI - Unsorted block images |
572 | # | 566 | # |
573 | # CONFIG_MTD_UBI is not set | 567 | # CONFIG_MTD_UBI is not set |
568 | CONFIG_OF_FLATTREE=y | ||
569 | CONFIG_OF_DYNAMIC=y | ||
574 | CONFIG_OF_DEVICE=y | 570 | CONFIG_OF_DEVICE=y |
575 | CONFIG_OF_I2C=y | 571 | CONFIG_OF_I2C=y |
576 | # CONFIG_PARPORT is not set | 572 | # CONFIG_PARPORT is not set |
@@ -605,6 +601,7 @@ CONFIG_MISC_DEVICES=y | |||
605 | # CONFIG_ENCLOSURE_SERVICES is not set | 601 | # CONFIG_ENCLOSURE_SERVICES is not set |
606 | # CONFIG_HP_ILO is not set | 602 | # CONFIG_HP_ILO is not set |
607 | # CONFIG_ISL29003 is not set | 603 | # CONFIG_ISL29003 is not set |
604 | # CONFIG_SENSORS_TSL2550 is not set | ||
608 | # CONFIG_DS1682 is not set | 605 | # CONFIG_DS1682 is not set |
609 | # CONFIG_C2PORT is not set | 606 | # CONFIG_C2PORT is not set |
610 | 607 | ||
@@ -670,6 +667,7 @@ CONFIG_IDE_PROC_FS=y | |||
670 | # | 667 | # |
671 | # SCSI device support | 668 | # SCSI device support |
672 | # | 669 | # |
670 | CONFIG_SCSI_MOD=y | ||
673 | # CONFIG_RAID_ATTRS is not set | 671 | # CONFIG_RAID_ATTRS is not set |
674 | CONFIG_SCSI=y | 672 | CONFIG_SCSI=y |
675 | CONFIG_SCSI_DMA=y | 673 | CONFIG_SCSI_DMA=y |
@@ -792,6 +790,7 @@ CONFIG_PATA_ALI=y | |||
792 | # CONFIG_PATA_IT821X is not set | 790 | # CONFIG_PATA_IT821X is not set |
793 | # CONFIG_PATA_IT8213 is not set | 791 | # CONFIG_PATA_IT8213 is not set |
794 | # CONFIG_PATA_JMICRON is not set | 792 | # CONFIG_PATA_JMICRON is not set |
793 | # CONFIG_PATA_LEGACY is not set | ||
795 | # CONFIG_PATA_TRIFLEX is not set | 794 | # CONFIG_PATA_TRIFLEX is not set |
796 | # CONFIG_PATA_MARVELL is not set | 795 | # CONFIG_PATA_MARVELL is not set |
797 | # CONFIG_PATA_MPIIX is not set | 796 | # CONFIG_PATA_MPIIX is not set |
@@ -970,6 +969,7 @@ CONFIG_SERIAL_CORE=y | |||
970 | CONFIG_SERIAL_CORE_CONSOLE=y | 969 | CONFIG_SERIAL_CORE_CONSOLE=y |
971 | # CONFIG_SERIAL_JSM is not set | 970 | # CONFIG_SERIAL_JSM is not set |
972 | # CONFIG_SERIAL_OF_PLATFORM is not set | 971 | # CONFIG_SERIAL_OF_PLATFORM is not set |
972 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
973 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 973 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
974 | CONFIG_UNIX98_PTYS=y | 974 | CONFIG_UNIX98_PTYS=y |
975 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 975 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1017,6 +1017,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1017 | CONFIG_I2C_MPC=y | 1017 | CONFIG_I2C_MPC=y |
1018 | # CONFIG_I2C_OCORES is not set | 1018 | # CONFIG_I2C_OCORES is not set |
1019 | # CONFIG_I2C_SIMTEC is not set | 1019 | # CONFIG_I2C_SIMTEC is not set |
1020 | # CONFIG_I2C_XILINX is not set | ||
1020 | 1021 | ||
1021 | # | 1022 | # |
1022 | # External I2C/SMBus adapter drivers | 1023 | # External I2C/SMBus adapter drivers |
@@ -1029,15 +1030,9 @@ CONFIG_I2C_MPC=y | |||
1029 | # | 1030 | # |
1030 | # CONFIG_I2C_PCA_PLATFORM is not set | 1031 | # CONFIG_I2C_PCA_PLATFORM is not set |
1031 | # CONFIG_I2C_STUB is not set | 1032 | # CONFIG_I2C_STUB is not set |
1032 | |||
1033 | # | ||
1034 | # Miscellaneous I2C Chip support | ||
1035 | # | ||
1036 | # CONFIG_SENSORS_TSL2550 is not set | ||
1037 | # CONFIG_I2C_DEBUG_CORE is not set | 1033 | # CONFIG_I2C_DEBUG_CORE is not set |
1038 | # CONFIG_I2C_DEBUG_ALGO is not set | 1034 | # CONFIG_I2C_DEBUG_ALGO is not set |
1039 | # CONFIG_I2C_DEBUG_BUS is not set | 1035 | # CONFIG_I2C_DEBUG_BUS is not set |
1040 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1041 | # CONFIG_SPI is not set | 1036 | # CONFIG_SPI is not set |
1042 | 1037 | ||
1043 | # | 1038 | # |
@@ -1062,18 +1057,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1062 | # Multifunction device drivers | 1057 | # Multifunction device drivers |
1063 | # | 1058 | # |
1064 | # CONFIG_MFD_CORE is not set | 1059 | # CONFIG_MFD_CORE is not set |
1060 | # CONFIG_MFD_88PM860X is not set | ||
1065 | # CONFIG_MFD_SM501 is not set | 1061 | # CONFIG_MFD_SM501 is not set |
1066 | # CONFIG_HTC_PASIC3 is not set | 1062 | # CONFIG_HTC_PASIC3 is not set |
1067 | # CONFIG_TWL4030_CORE is not set | 1063 | # CONFIG_TWL4030_CORE is not set |
1068 | # CONFIG_MFD_TMIO is not set | 1064 | # CONFIG_MFD_TMIO is not set |
1069 | # CONFIG_PMIC_DA903X is not set | 1065 | # CONFIG_PMIC_DA903X is not set |
1070 | # CONFIG_PMIC_ADP5520 is not set | 1066 | # CONFIG_PMIC_ADP5520 is not set |
1067 | # CONFIG_MFD_MAX8925 is not set | ||
1071 | # CONFIG_MFD_WM8400 is not set | 1068 | # CONFIG_MFD_WM8400 is not set |
1072 | # CONFIG_MFD_WM831X is not set | 1069 | # CONFIG_MFD_WM831X is not set |
1073 | # CONFIG_MFD_WM8350_I2C is not set | 1070 | # CONFIG_MFD_WM8350_I2C is not set |
1071 | # CONFIG_MFD_WM8994 is not set | ||
1074 | # CONFIG_MFD_PCF50633 is not set | 1072 | # CONFIG_MFD_PCF50633 is not set |
1075 | # CONFIG_AB3100_CORE is not set | 1073 | # CONFIG_AB3100_CORE is not set |
1076 | # CONFIG_MFD_88PM8607 is not set | 1074 | # CONFIG_LPC_SCH is not set |
1077 | # CONFIG_REGULATOR is not set | 1075 | # CONFIG_REGULATOR is not set |
1078 | # CONFIG_MEDIA_SUPPORT is not set | 1076 | # CONFIG_MEDIA_SUPPORT is not set |
1079 | 1077 | ||
@@ -1082,6 +1080,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1082 | # | 1080 | # |
1083 | # CONFIG_AGP is not set | 1081 | # CONFIG_AGP is not set |
1084 | CONFIG_VGA_ARB=y | 1082 | CONFIG_VGA_ARB=y |
1083 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1085 | # CONFIG_DRM is not set | 1084 | # CONFIG_DRM is not set |
1086 | # CONFIG_VGASTATE is not set | 1085 | # CONFIG_VGASTATE is not set |
1087 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 1086 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1434,6 +1433,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1434 | # CONFIG_BFS_FS is not set | 1433 | # CONFIG_BFS_FS is not set |
1435 | # CONFIG_EFS_FS is not set | 1434 | # CONFIG_EFS_FS is not set |
1436 | # CONFIG_JFFS2_FS is not set | 1435 | # CONFIG_JFFS2_FS is not set |
1436 | # CONFIG_LOGFS is not set | ||
1437 | # CONFIG_CRAMFS is not set | 1437 | # CONFIG_CRAMFS is not set |
1438 | # CONFIG_SQUASHFS is not set | 1438 | # CONFIG_SQUASHFS is not set |
1439 | # CONFIG_VXFS_FS is not set | 1439 | # CONFIG_VXFS_FS is not set |
@@ -1461,6 +1461,7 @@ CONFIG_SUNRPC=y | |||
1461 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1461 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1462 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1462 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1463 | # CONFIG_SMB_FS is not set | 1463 | # CONFIG_SMB_FS is not set |
1464 | # CONFIG_CEPH_FS is not set | ||
1464 | # CONFIG_CIFS is not set | 1465 | # CONFIG_CIFS is not set |
1465 | # CONFIG_NCP_FS is not set | 1466 | # CONFIG_NCP_FS is not set |
1466 | # CONFIG_CODA_FS is not set | 1467 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig index 727a8c8d15b5..20fde6374aad 100644 --- a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig +++ b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:40 2010 | 4 | # Mon Apr 19 23:17:04 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -97,18 +97,13 @@ CONFIG_TREE_RCU=y | |||
97 | # CONFIG_RCU_TRACE is not set | 97 | # CONFIG_RCU_TRACE is not set |
98 | CONFIG_RCU_FANOUT=32 | 98 | CONFIG_RCU_FANOUT=32 |
99 | # CONFIG_RCU_FANOUT_EXACT is not set | 99 | # CONFIG_RCU_FANOUT_EXACT is not set |
100 | # CONFIG_RCU_FAST_NO_HZ is not set | ||
100 | # CONFIG_TREE_RCU_TRACE is not set | 101 | # CONFIG_TREE_RCU_TRACE is not set |
101 | CONFIG_IKCONFIG=y | 102 | CONFIG_IKCONFIG=y |
102 | CONFIG_IKCONFIG_PROC=y | 103 | CONFIG_IKCONFIG_PROC=y |
103 | CONFIG_LOG_BUF_SHIFT=14 | 104 | CONFIG_LOG_BUF_SHIFT=14 |
104 | CONFIG_GROUP_SCHED=y | ||
105 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
106 | # CONFIG_RT_GROUP_SCHED is not set | ||
107 | CONFIG_USER_SCHED=y | ||
108 | # CONFIG_CGROUP_SCHED is not set | ||
109 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
110 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
111 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
112 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
113 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
114 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
@@ -116,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
116 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
117 | # CONFIG_RD_BZIP2 is not set | 112 | # CONFIG_RD_BZIP2 is not set |
118 | # CONFIG_RD_LZMA is not set | 113 | # CONFIG_RD_LZMA is not set |
114 | # CONFIG_RD_LZO is not set | ||
119 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
120 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
121 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -326,6 +322,7 @@ CONFIG_ISA_DMA_API=y | |||
326 | # Bus options | 322 | # Bus options |
327 | # | 323 | # |
328 | CONFIG_ZONE_DMA=y | 324 | CONFIG_ZONE_DMA=y |
325 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
329 | CONFIG_GENERIC_ISA_DMA=y | 326 | CONFIG_GENERIC_ISA_DMA=y |
330 | CONFIG_PPC_INDIRECT_PCI=y | 327 | CONFIG_PPC_INDIRECT_PCI=y |
331 | CONFIG_FSL_SOC=y | 328 | CONFIG_FSL_SOC=y |
@@ -337,7 +334,6 @@ CONFIG_PCI_SYSCALL=y | |||
337 | # CONFIG_PCIEPORTBUS is not set | 334 | # CONFIG_PCIEPORTBUS is not set |
338 | CONFIG_ARCH_SUPPORTS_MSI=y | 335 | CONFIG_ARCH_SUPPORTS_MSI=y |
339 | # CONFIG_PCI_MSI is not set | 336 | # CONFIG_PCI_MSI is not set |
340 | # CONFIG_PCI_LEGACY is not set | ||
341 | # CONFIG_PCI_DEBUG is not set | 337 | # CONFIG_PCI_DEBUG is not set |
342 | # CONFIG_PCI_STUB is not set | 338 | # CONFIG_PCI_STUB is not set |
343 | # CONFIG_PCI_IOV is not set | 339 | # CONFIG_PCI_IOV is not set |
@@ -365,7 +361,6 @@ CONFIG_NET=y | |||
365 | # Networking options | 361 | # Networking options |
366 | # | 362 | # |
367 | CONFIG_PACKET=y | 363 | CONFIG_PACKET=y |
368 | # CONFIG_PACKET_MMAP is not set | ||
369 | CONFIG_UNIX=y | 364 | CONFIG_UNIX=y |
370 | CONFIG_XFRM=y | 365 | CONFIG_XFRM=y |
371 | CONFIG_XFRM_USER=y | 366 | CONFIG_XFRM_USER=y |
@@ -498,6 +493,8 @@ CONFIG_EXTRA_FIRMWARE="" | |||
498 | # CONFIG_SYS_HYPERVISOR is not set | 493 | # CONFIG_SYS_HYPERVISOR is not set |
499 | # CONFIG_CONNECTOR is not set | 494 | # CONFIG_CONNECTOR is not set |
500 | # CONFIG_MTD is not set | 495 | # CONFIG_MTD is not set |
496 | CONFIG_OF_FLATTREE=y | ||
497 | CONFIG_OF_DYNAMIC=y | ||
501 | CONFIG_OF_DEVICE=y | 498 | CONFIG_OF_DEVICE=y |
502 | CONFIG_OF_I2C=y | 499 | CONFIG_OF_I2C=y |
503 | CONFIG_OF_MDIO=y | 500 | CONFIG_OF_MDIO=y |
@@ -534,6 +531,7 @@ CONFIG_MISC_DEVICES=y | |||
534 | # CONFIG_ENCLOSURE_SERVICES is not set | 531 | # CONFIG_ENCLOSURE_SERVICES is not set |
535 | # CONFIG_HP_ILO is not set | 532 | # CONFIG_HP_ILO is not set |
536 | # CONFIG_ISL29003 is not set | 533 | # CONFIG_ISL29003 is not set |
534 | # CONFIG_SENSORS_TSL2550 is not set | ||
537 | # CONFIG_DS1682 is not set | 535 | # CONFIG_DS1682 is not set |
538 | # CONFIG_C2PORT is not set | 536 | # CONFIG_C2PORT is not set |
539 | 537 | ||
@@ -551,6 +549,7 @@ CONFIG_HAVE_IDE=y | |||
551 | # | 549 | # |
552 | # SCSI device support | 550 | # SCSI device support |
553 | # | 551 | # |
552 | CONFIG_SCSI_MOD=y | ||
554 | # CONFIG_RAID_ATTRS is not set | 553 | # CONFIG_RAID_ATTRS is not set |
555 | CONFIG_SCSI=y | 554 | CONFIG_SCSI=y |
556 | CONFIG_SCSI_DMA=y | 555 | CONFIG_SCSI_DMA=y |
@@ -675,6 +674,7 @@ CONFIG_PATA_ALI=y | |||
675 | # CONFIG_PATA_IT821X is not set | 674 | # CONFIG_PATA_IT821X is not set |
676 | # CONFIG_PATA_IT8213 is not set | 675 | # CONFIG_PATA_IT8213 is not set |
677 | # CONFIG_PATA_JMICRON is not set | 676 | # CONFIG_PATA_JMICRON is not set |
677 | # CONFIG_PATA_LEGACY is not set | ||
678 | # CONFIG_PATA_TRIFLEX is not set | 678 | # CONFIG_PATA_TRIFLEX is not set |
679 | # CONFIG_PATA_MARVELL is not set | 679 | # CONFIG_PATA_MARVELL is not set |
680 | # CONFIG_PATA_MPIIX is not set | 680 | # CONFIG_PATA_MPIIX is not set |
@@ -799,6 +799,8 @@ CONFIG_NETDEV_10000=y | |||
799 | # CONFIG_CHELSIO_T1 is not set | 799 | # CONFIG_CHELSIO_T1 is not set |
800 | CONFIG_CHELSIO_T3_DEPENDS=y | 800 | CONFIG_CHELSIO_T3_DEPENDS=y |
801 | # CONFIG_CHELSIO_T3 is not set | 801 | # CONFIG_CHELSIO_T3 is not set |
802 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
803 | # CONFIG_CHELSIO_T4 is not set | ||
802 | # CONFIG_ENIC is not set | 804 | # CONFIG_ENIC is not set |
803 | # CONFIG_IXGBE is not set | 805 | # CONFIG_IXGBE is not set |
804 | # CONFIG_IXGB is not set | 806 | # CONFIG_IXGB is not set |
@@ -811,6 +813,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
811 | # CONFIG_MLX4_CORE is not set | 813 | # CONFIG_MLX4_CORE is not set |
812 | # CONFIG_TEHUTI is not set | 814 | # CONFIG_TEHUTI is not set |
813 | # CONFIG_BNX2X is not set | 815 | # CONFIG_BNX2X is not set |
816 | # CONFIG_QLCNIC is not set | ||
814 | # CONFIG_QLGE is not set | 817 | # CONFIG_QLGE is not set |
815 | # CONFIG_SFC is not set | 818 | # CONFIG_SFC is not set |
816 | # CONFIG_BE2NET is not set | 819 | # CONFIG_BE2NET is not set |
@@ -920,6 +923,7 @@ CONFIG_SERIAL_CORE=y | |||
920 | CONFIG_SERIAL_CORE_CONSOLE=y | 923 | CONFIG_SERIAL_CORE_CONSOLE=y |
921 | # CONFIG_SERIAL_JSM is not set | 924 | # CONFIG_SERIAL_JSM is not set |
922 | # CONFIG_SERIAL_OF_PLATFORM is not set | 925 | # CONFIG_SERIAL_OF_PLATFORM is not set |
926 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
923 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 927 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
924 | CONFIG_UNIX98_PTYS=y | 928 | CONFIG_UNIX98_PTYS=y |
925 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 929 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -968,6 +972,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
968 | CONFIG_I2C_MPC=y | 972 | CONFIG_I2C_MPC=y |
969 | # CONFIG_I2C_OCORES is not set | 973 | # CONFIG_I2C_OCORES is not set |
970 | # CONFIG_I2C_SIMTEC is not set | 974 | # CONFIG_I2C_SIMTEC is not set |
975 | # CONFIG_I2C_XILINX is not set | ||
971 | 976 | ||
972 | # | 977 | # |
973 | # External I2C/SMBus adapter drivers | 978 | # External I2C/SMBus adapter drivers |
@@ -981,15 +986,9 @@ CONFIG_I2C_MPC=y | |||
981 | # | 986 | # |
982 | # CONFIG_I2C_PCA_PLATFORM is not set | 987 | # CONFIG_I2C_PCA_PLATFORM is not set |
983 | # CONFIG_I2C_STUB is not set | 988 | # CONFIG_I2C_STUB is not set |
984 | |||
985 | # | ||
986 | # Miscellaneous I2C Chip support | ||
987 | # | ||
988 | # CONFIG_SENSORS_TSL2550 is not set | ||
989 | # CONFIG_I2C_DEBUG_CORE is not set | 989 | # CONFIG_I2C_DEBUG_CORE is not set |
990 | # CONFIG_I2C_DEBUG_ALGO is not set | 990 | # CONFIG_I2C_DEBUG_ALGO is not set |
991 | # CONFIG_I2C_DEBUG_BUS is not set | 991 | # CONFIG_I2C_DEBUG_BUS is not set |
992 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
993 | # CONFIG_SPI is not set | 992 | # CONFIG_SPI is not set |
994 | 993 | ||
995 | # | 994 | # |
@@ -1014,18 +1013,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1014 | # Multifunction device drivers | 1013 | # Multifunction device drivers |
1015 | # | 1014 | # |
1016 | # CONFIG_MFD_CORE is not set | 1015 | # CONFIG_MFD_CORE is not set |
1016 | # CONFIG_MFD_88PM860X is not set | ||
1017 | # CONFIG_MFD_SM501 is not set | 1017 | # CONFIG_MFD_SM501 is not set |
1018 | # CONFIG_HTC_PASIC3 is not set | 1018 | # CONFIG_HTC_PASIC3 is not set |
1019 | # CONFIG_TWL4030_CORE is not set | 1019 | # CONFIG_TWL4030_CORE is not set |
1020 | # CONFIG_MFD_TMIO is not set | 1020 | # CONFIG_MFD_TMIO is not set |
1021 | # CONFIG_PMIC_DA903X is not set | 1021 | # CONFIG_PMIC_DA903X is not set |
1022 | # CONFIG_PMIC_ADP5520 is not set | 1022 | # CONFIG_PMIC_ADP5520 is not set |
1023 | # CONFIG_MFD_MAX8925 is not set | ||
1023 | # CONFIG_MFD_WM8400 is not set | 1024 | # CONFIG_MFD_WM8400 is not set |
1024 | # CONFIG_MFD_WM831X is not set | 1025 | # CONFIG_MFD_WM831X is not set |
1025 | # CONFIG_MFD_WM8350_I2C is not set | 1026 | # CONFIG_MFD_WM8350_I2C is not set |
1027 | # CONFIG_MFD_WM8994 is not set | ||
1026 | # CONFIG_MFD_PCF50633 is not set | 1028 | # CONFIG_MFD_PCF50633 is not set |
1027 | # CONFIG_AB3100_CORE is not set | 1029 | # CONFIG_AB3100_CORE is not set |
1028 | # CONFIG_MFD_88PM8607 is not set | 1030 | # CONFIG_LPC_SCH is not set |
1029 | # CONFIG_REGULATOR is not set | 1031 | # CONFIG_REGULATOR is not set |
1030 | # CONFIG_MEDIA_SUPPORT is not set | 1032 | # CONFIG_MEDIA_SUPPORT is not set |
1031 | 1033 | ||
@@ -1034,6 +1036,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1034 | # | 1036 | # |
1035 | # CONFIG_AGP is not set | 1037 | # CONFIG_AGP is not set |
1036 | CONFIG_VGA_ARB=y | 1038 | CONFIG_VGA_ARB=y |
1039 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1037 | # CONFIG_DRM is not set | 1040 | # CONFIG_DRM is not set |
1038 | # CONFIG_VGASTATE is not set | 1041 | # CONFIG_VGASTATE is not set |
1039 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 1042 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1151,6 +1154,7 @@ CONFIG_SND_INTEL8X0=y | |||
1151 | CONFIG_SND_PPC=y | 1154 | CONFIG_SND_PPC=y |
1152 | CONFIG_SND_USB=y | 1155 | CONFIG_SND_USB=y |
1153 | # CONFIG_SND_USB_AUDIO is not set | 1156 | # CONFIG_SND_USB_AUDIO is not set |
1157 | # CONFIG_SND_USB_UA101 is not set | ||
1154 | # CONFIG_SND_USB_USX2Y is not set | 1158 | # CONFIG_SND_USB_USX2Y is not set |
1155 | # CONFIG_SND_USB_CAIAQ is not set | 1159 | # CONFIG_SND_USB_CAIAQ is not set |
1156 | # CONFIG_SND_SOC is not set | 1160 | # CONFIG_SND_SOC is not set |
@@ -1170,6 +1174,7 @@ CONFIG_USB_HID=y | |||
1170 | # | 1174 | # |
1171 | # Special HID drivers | 1175 | # Special HID drivers |
1172 | # | 1176 | # |
1177 | # CONFIG_HID_3M_PCT is not set | ||
1173 | CONFIG_HID_A4TECH=y | 1178 | CONFIG_HID_A4TECH=y |
1174 | CONFIG_HID_APPLE=y | 1179 | CONFIG_HID_APPLE=y |
1175 | CONFIG_HID_BELKIN=y | 1180 | CONFIG_HID_BELKIN=y |
@@ -1185,14 +1190,19 @@ CONFIG_HID_GYRATION=y | |||
1185 | CONFIG_HID_LOGITECH=y | 1190 | CONFIG_HID_LOGITECH=y |
1186 | # CONFIG_LOGITECH_FF is not set | 1191 | # CONFIG_LOGITECH_FF is not set |
1187 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1192 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1193 | # CONFIG_LOGIG940_FF is not set | ||
1188 | CONFIG_HID_MICROSOFT=y | 1194 | CONFIG_HID_MICROSOFT=y |
1195 | # CONFIG_HID_MOSART is not set | ||
1189 | CONFIG_HID_MONTEREY=y | 1196 | CONFIG_HID_MONTEREY=y |
1190 | # CONFIG_HID_NTRIG is not set | 1197 | # CONFIG_HID_NTRIG is not set |
1198 | # CONFIG_HID_ORTEK is not set | ||
1191 | CONFIG_HID_PANTHERLORD=y | 1199 | CONFIG_HID_PANTHERLORD=y |
1192 | # CONFIG_PANTHERLORD_FF is not set | 1200 | # CONFIG_PANTHERLORD_FF is not set |
1193 | CONFIG_HID_PETALYNX=y | 1201 | CONFIG_HID_PETALYNX=y |
1202 | # CONFIG_HID_QUANTA is not set | ||
1194 | CONFIG_HID_SAMSUNG=y | 1203 | CONFIG_HID_SAMSUNG=y |
1195 | CONFIG_HID_SONY=y | 1204 | CONFIG_HID_SONY=y |
1205 | # CONFIG_HID_STANTUM is not set | ||
1196 | CONFIG_HID_SUNPLUS=y | 1206 | CONFIG_HID_SUNPLUS=y |
1197 | # CONFIG_HID_GREENASIA is not set | 1207 | # CONFIG_HID_GREENASIA is not set |
1198 | # CONFIG_HID_SMARTJOYPLUS is not set | 1208 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1300,7 +1310,6 @@ CONFIG_USB_STORAGE=y | |||
1300 | # CONFIG_USB_RIO500 is not set | 1310 | # CONFIG_USB_RIO500 is not set |
1301 | # CONFIG_USB_LEGOTOWER is not set | 1311 | # CONFIG_USB_LEGOTOWER is not set |
1302 | # CONFIG_USB_LCD is not set | 1312 | # CONFIG_USB_LCD is not set |
1303 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1304 | # CONFIG_USB_LED is not set | 1313 | # CONFIG_USB_LED is not set |
1305 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1314 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1306 | # CONFIG_USB_CYTHERM is not set | 1315 | # CONFIG_USB_CYTHERM is not set |
@@ -1313,7 +1322,6 @@ CONFIG_USB_STORAGE=y | |||
1313 | # CONFIG_USB_IOWARRIOR is not set | 1322 | # CONFIG_USB_IOWARRIOR is not set |
1314 | # CONFIG_USB_TEST is not set | 1323 | # CONFIG_USB_TEST is not set |
1315 | # CONFIG_USB_ISIGHTFW is not set | 1324 | # CONFIG_USB_ISIGHTFW is not set |
1316 | # CONFIG_USB_VST is not set | ||
1317 | # CONFIG_USB_GADGET is not set | 1325 | # CONFIG_USB_GADGET is not set |
1318 | 1326 | ||
1319 | # | 1327 | # |
@@ -1475,6 +1483,7 @@ CONFIG_BEFS_FS=m | |||
1475 | # CONFIG_BEFS_DEBUG is not set | 1483 | # CONFIG_BEFS_DEBUG is not set |
1476 | CONFIG_BFS_FS=m | 1484 | CONFIG_BFS_FS=m |
1477 | CONFIG_EFS_FS=m | 1485 | CONFIG_EFS_FS=m |
1486 | # CONFIG_LOGFS is not set | ||
1478 | CONFIG_CRAMFS=y | 1487 | CONFIG_CRAMFS=y |
1479 | # CONFIG_SQUASHFS is not set | 1488 | # CONFIG_SQUASHFS is not set |
1480 | CONFIG_VXFS_FS=m | 1489 | CONFIG_VXFS_FS=m |
@@ -1506,6 +1515,7 @@ CONFIG_SUNRPC_GSS=y | |||
1506 | CONFIG_RPCSEC_GSS_KRB5=y | 1515 | CONFIG_RPCSEC_GSS_KRB5=y |
1507 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1516 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1508 | # CONFIG_SMB_FS is not set | 1517 | # CONFIG_SMB_FS is not set |
1518 | # CONFIG_CEPH_FS is not set | ||
1509 | # CONFIG_CIFS is not set | 1519 | # CONFIG_CIFS is not set |
1510 | # CONFIG_NCP_FS is not set | 1520 | # CONFIG_NCP_FS is not set |
1511 | # CONFIG_CODA_FS is not set | 1521 | # CONFIG_CODA_FS is not set |
@@ -1717,6 +1727,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1717 | CONFIG_CRYPTO_MANAGER2=y | 1727 | CONFIG_CRYPTO_MANAGER2=y |
1718 | # CONFIG_CRYPTO_GF128MUL is not set | 1728 | # CONFIG_CRYPTO_GF128MUL is not set |
1719 | # CONFIG_CRYPTO_NULL is not set | 1729 | # CONFIG_CRYPTO_NULL is not set |
1730 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1720 | CONFIG_CRYPTO_WORKQUEUE=y | 1731 | CONFIG_CRYPTO_WORKQUEUE=y |
1721 | # CONFIG_CRYPTO_CRYPTD is not set | 1732 | # CONFIG_CRYPTO_CRYPTD is not set |
1722 | # CONFIG_CRYPTO_AUTHENC is not set | 1733 | # CONFIG_CRYPTO_AUTHENC is not set |
diff --git a/arch/powerpc/configs/86xx/sbc8641d_defconfig b/arch/powerpc/configs/86xx/sbc8641d_defconfig index 4fb04dd2cde3..74f714d85936 100644 --- a/arch/powerpc/configs/86xx/sbc8641d_defconfig +++ b/arch/powerpc/configs/86xx/sbc8641d_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:38 2010 | 4 | # Mon Apr 19 23:17:02 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -101,14 +101,8 @@ CONFIG_RCU_FANOUT=32 | |||
101 | CONFIG_IKCONFIG=y | 101 | CONFIG_IKCONFIG=y |
102 | CONFIG_IKCONFIG_PROC=y | 102 | CONFIG_IKCONFIG_PROC=y |
103 | CONFIG_LOG_BUF_SHIFT=14 | 103 | CONFIG_LOG_BUF_SHIFT=14 |
104 | CONFIG_GROUP_SCHED=y | ||
105 | CONFIG_FAIR_GROUP_SCHED=y | ||
106 | # CONFIG_RT_GROUP_SCHED is not set | ||
107 | CONFIG_USER_SCHED=y | ||
108 | # CONFIG_CGROUP_SCHED is not set | ||
109 | # CONFIG_CGROUPS is not set | 104 | # CONFIG_CGROUPS is not set |
110 | CONFIG_SYSFS_DEPRECATED=y | 105 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
111 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
112 | CONFIG_RELAY=y | 106 | CONFIG_RELAY=y |
113 | # CONFIG_NAMESPACES is not set | 107 | # CONFIG_NAMESPACES is not set |
114 | CONFIG_BLK_DEV_INITRD=y | 108 | CONFIG_BLK_DEV_INITRD=y |
@@ -116,6 +110,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
116 | CONFIG_RD_GZIP=y | 110 | CONFIG_RD_GZIP=y |
117 | # CONFIG_RD_BZIP2 is not set | 111 | # CONFIG_RD_BZIP2 is not set |
118 | # CONFIG_RD_LZMA is not set | 112 | # CONFIG_RD_LZMA is not set |
113 | # CONFIG_RD_LZO is not set | ||
119 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
120 | CONFIG_SYSCTL=y | 115 | CONFIG_SYSCTL=y |
121 | CONFIG_ANON_INODES=y | 116 | CONFIG_ANON_INODES=y |
@@ -327,6 +322,7 @@ CONFIG_ISA_DMA_API=y | |||
327 | # Bus options | 322 | # Bus options |
328 | # | 323 | # |
329 | CONFIG_ZONE_DMA=y | 324 | CONFIG_ZONE_DMA=y |
325 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
330 | CONFIG_GENERIC_ISA_DMA=y | 326 | CONFIG_GENERIC_ISA_DMA=y |
331 | CONFIG_PPC_INDIRECT_PCI=y | 327 | CONFIG_PPC_INDIRECT_PCI=y |
332 | CONFIG_FSL_SOC=y | 328 | CONFIG_FSL_SOC=y |
@@ -342,7 +338,6 @@ CONFIG_PCIEAER=y | |||
342 | # CONFIG_PCIEASPM is not set | 338 | # CONFIG_PCIEASPM is not set |
343 | CONFIG_ARCH_SUPPORTS_MSI=y | 339 | CONFIG_ARCH_SUPPORTS_MSI=y |
344 | # CONFIG_PCI_MSI is not set | 340 | # CONFIG_PCI_MSI is not set |
345 | # CONFIG_PCI_LEGACY is not set | ||
346 | # CONFIG_PCI_DEBUG is not set | 341 | # CONFIG_PCI_DEBUG is not set |
347 | # CONFIG_PCI_STUB is not set | 342 | # CONFIG_PCI_STUB is not set |
348 | # CONFIG_PCI_IOV is not set | 343 | # CONFIG_PCI_IOV is not set |
@@ -369,7 +364,6 @@ CONFIG_NET=y | |||
369 | # Networking options | 364 | # Networking options |
370 | # | 365 | # |
371 | CONFIG_PACKET=y | 366 | CONFIG_PACKET=y |
372 | CONFIG_PACKET_MMAP=y | ||
373 | CONFIG_UNIX=y | 367 | CONFIG_UNIX=y |
374 | CONFIG_XFRM=y | 368 | CONFIG_XFRM=y |
375 | CONFIG_XFRM_USER=m | 369 | CONFIG_XFRM_USER=m |
@@ -552,6 +546,7 @@ CONFIG_ATM_BR2684=m | |||
552 | # CONFIG_ATM_BR2684_IPFILTER is not set | 546 | # CONFIG_ATM_BR2684_IPFILTER is not set |
553 | CONFIG_STP=m | 547 | CONFIG_STP=m |
554 | CONFIG_BRIDGE=m | 548 | CONFIG_BRIDGE=m |
549 | CONFIG_BRIDGE_IGMP_SNOOPING=y | ||
555 | # CONFIG_NET_DSA is not set | 550 | # CONFIG_NET_DSA is not set |
556 | CONFIG_VLAN_8021Q=m | 551 | CONFIG_VLAN_8021Q=m |
557 | # CONFIG_VLAN_8021Q_GVRP is not set | 552 | # CONFIG_VLAN_8021Q_GVRP is not set |
@@ -733,6 +728,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
733 | # UBI - Unsorted block images | 728 | # UBI - Unsorted block images |
734 | # | 729 | # |
735 | # CONFIG_MTD_UBI is not set | 730 | # CONFIG_MTD_UBI is not set |
731 | CONFIG_OF_FLATTREE=y | ||
732 | CONFIG_OF_DYNAMIC=y | ||
736 | CONFIG_OF_DEVICE=y | 733 | CONFIG_OF_DEVICE=y |
737 | CONFIG_OF_I2C=y | 734 | CONFIG_OF_I2C=y |
738 | CONFIG_OF_MDIO=y | 735 | CONFIG_OF_MDIO=y |
@@ -768,6 +765,7 @@ CONFIG_MISC_DEVICES=y | |||
768 | # CONFIG_ENCLOSURE_SERVICES is not set | 765 | # CONFIG_ENCLOSURE_SERVICES is not set |
769 | # CONFIG_HP_ILO is not set | 766 | # CONFIG_HP_ILO is not set |
770 | # CONFIG_ISL29003 is not set | 767 | # CONFIG_ISL29003 is not set |
768 | # CONFIG_SENSORS_TSL2550 is not set | ||
771 | # CONFIG_DS1682 is not set | 769 | # CONFIG_DS1682 is not set |
772 | # CONFIG_C2PORT is not set | 770 | # CONFIG_C2PORT is not set |
773 | 771 | ||
@@ -785,6 +783,7 @@ CONFIG_HAVE_IDE=y | |||
785 | # | 783 | # |
786 | # SCSI device support | 784 | # SCSI device support |
787 | # | 785 | # |
786 | CONFIG_SCSI_MOD=y | ||
788 | # CONFIG_RAID_ATTRS is not set | 787 | # CONFIG_RAID_ATTRS is not set |
789 | # CONFIG_SCSI is not set | 788 | # CONFIG_SCSI is not set |
790 | # CONFIG_SCSI_DMA is not set | 789 | # CONFIG_SCSI_DMA is not set |
@@ -1024,6 +1023,7 @@ CONFIG_SERIAL_CORE=y | |||
1024 | CONFIG_SERIAL_CORE_CONSOLE=y | 1023 | CONFIG_SERIAL_CORE_CONSOLE=y |
1025 | # CONFIG_SERIAL_JSM is not set | 1024 | # CONFIG_SERIAL_JSM is not set |
1026 | # CONFIG_SERIAL_OF_PLATFORM is not set | 1025 | # CONFIG_SERIAL_OF_PLATFORM is not set |
1026 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1027 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1027 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1028 | CONFIG_UNIX98_PTYS=y | 1028 | CONFIG_UNIX98_PTYS=y |
1029 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1029 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1074,6 +1074,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1074 | CONFIG_I2C_MPC=y | 1074 | CONFIG_I2C_MPC=y |
1075 | # CONFIG_I2C_OCORES is not set | 1075 | # CONFIG_I2C_OCORES is not set |
1076 | # CONFIG_I2C_SIMTEC is not set | 1076 | # CONFIG_I2C_SIMTEC is not set |
1077 | # CONFIG_I2C_XILINX is not set | ||
1077 | 1078 | ||
1078 | # | 1079 | # |
1079 | # External I2C/SMBus adapter drivers | 1080 | # External I2C/SMBus adapter drivers |
@@ -1086,15 +1087,9 @@ CONFIG_I2C_MPC=y | |||
1086 | # | 1087 | # |
1087 | # CONFIG_I2C_PCA_PLATFORM is not set | 1088 | # CONFIG_I2C_PCA_PLATFORM is not set |
1088 | # CONFIG_I2C_STUB is not set | 1089 | # CONFIG_I2C_STUB is not set |
1089 | |||
1090 | # | ||
1091 | # Miscellaneous I2C Chip support | ||
1092 | # | ||
1093 | # CONFIG_SENSORS_TSL2550 is not set | ||
1094 | # CONFIG_I2C_DEBUG_CORE is not set | 1090 | # CONFIG_I2C_DEBUG_CORE is not set |
1095 | # CONFIG_I2C_DEBUG_ALGO is not set | 1091 | # CONFIG_I2C_DEBUG_ALGO is not set |
1096 | # CONFIG_I2C_DEBUG_BUS is not set | 1092 | # CONFIG_I2C_DEBUG_BUS is not set |
1097 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1098 | # CONFIG_SPI is not set | 1093 | # CONFIG_SPI is not set |
1099 | 1094 | ||
1100 | # | 1095 | # |
@@ -1120,10 +1115,11 @@ CONFIG_HWMON=y | |||
1120 | # CONFIG_SENSORS_ADM1029 is not set | 1115 | # CONFIG_SENSORS_ADM1029 is not set |
1121 | # CONFIG_SENSORS_ADM1031 is not set | 1116 | # CONFIG_SENSORS_ADM1031 is not set |
1122 | # CONFIG_SENSORS_ADM9240 is not set | 1117 | # CONFIG_SENSORS_ADM9240 is not set |
1118 | # CONFIG_SENSORS_ADT7411 is not set | ||
1123 | # CONFIG_SENSORS_ADT7462 is not set | 1119 | # CONFIG_SENSORS_ADT7462 is not set |
1124 | # CONFIG_SENSORS_ADT7470 is not set | 1120 | # CONFIG_SENSORS_ADT7470 is not set |
1125 | # CONFIG_SENSORS_ADT7473 is not set | ||
1126 | # CONFIG_SENSORS_ADT7475 is not set | 1121 | # CONFIG_SENSORS_ADT7475 is not set |
1122 | # CONFIG_SENSORS_ASC7621 is not set | ||
1127 | # CONFIG_SENSORS_ATXP1 is not set | 1123 | # CONFIG_SENSORS_ATXP1 is not set |
1128 | # CONFIG_SENSORS_DS1621 is not set | 1124 | # CONFIG_SENSORS_DS1621 is not set |
1129 | # CONFIG_SENSORS_I5K_AMB is not set | 1125 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1160,6 +1156,7 @@ CONFIG_HWMON=y | |||
1160 | # CONFIG_SENSORS_SMSC47M192 is not set | 1156 | # CONFIG_SENSORS_SMSC47M192 is not set |
1161 | # CONFIG_SENSORS_SMSC47B397 is not set | 1157 | # CONFIG_SENSORS_SMSC47B397 is not set |
1162 | # CONFIG_SENSORS_ADS7828 is not set | 1158 | # CONFIG_SENSORS_ADS7828 is not set |
1159 | # CONFIG_SENSORS_AMC6821 is not set | ||
1163 | # CONFIG_SENSORS_THMC50 is not set | 1160 | # CONFIG_SENSORS_THMC50 is not set |
1164 | # CONFIG_SENSORS_TMP401 is not set | 1161 | # CONFIG_SENSORS_TMP401 is not set |
1165 | # CONFIG_SENSORS_TMP421 is not set | 1162 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1202,18 +1199,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1202 | # Multifunction device drivers | 1199 | # Multifunction device drivers |
1203 | # | 1200 | # |
1204 | # CONFIG_MFD_CORE is not set | 1201 | # CONFIG_MFD_CORE is not set |
1202 | # CONFIG_MFD_88PM860X is not set | ||
1205 | # CONFIG_MFD_SM501 is not set | 1203 | # CONFIG_MFD_SM501 is not set |
1206 | # CONFIG_HTC_PASIC3 is not set | 1204 | # CONFIG_HTC_PASIC3 is not set |
1207 | # CONFIG_TWL4030_CORE is not set | 1205 | # CONFIG_TWL4030_CORE is not set |
1208 | # CONFIG_MFD_TMIO is not set | 1206 | # CONFIG_MFD_TMIO is not set |
1209 | # CONFIG_PMIC_DA903X is not set | 1207 | # CONFIG_PMIC_DA903X is not set |
1210 | # CONFIG_PMIC_ADP5520 is not set | 1208 | # CONFIG_PMIC_ADP5520 is not set |
1209 | # CONFIG_MFD_MAX8925 is not set | ||
1211 | # CONFIG_MFD_WM8400 is not set | 1210 | # CONFIG_MFD_WM8400 is not set |
1212 | # CONFIG_MFD_WM831X is not set | 1211 | # CONFIG_MFD_WM831X is not set |
1213 | # CONFIG_MFD_WM8350_I2C is not set | 1212 | # CONFIG_MFD_WM8350_I2C is not set |
1213 | # CONFIG_MFD_WM8994 is not set | ||
1214 | # CONFIG_MFD_PCF50633 is not set | 1214 | # CONFIG_MFD_PCF50633 is not set |
1215 | # CONFIG_AB3100_CORE is not set | 1215 | # CONFIG_AB3100_CORE is not set |
1216 | # CONFIG_MFD_88PM8607 is not set | 1216 | # CONFIG_LPC_SCH is not set |
1217 | # CONFIG_REGULATOR is not set | 1217 | # CONFIG_REGULATOR is not set |
1218 | # CONFIG_MEDIA_SUPPORT is not set | 1218 | # CONFIG_MEDIA_SUPPORT is not set |
1219 | 1219 | ||
@@ -1222,6 +1222,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1222 | # | 1222 | # |
1223 | # CONFIG_AGP is not set | 1223 | # CONFIG_AGP is not set |
1224 | CONFIG_VGA_ARB=y | 1224 | CONFIG_VGA_ARB=y |
1225 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1225 | # CONFIG_DRM is not set | 1226 | # CONFIG_DRM is not set |
1226 | # CONFIG_VGASTATE is not set | 1227 | # CONFIG_VGASTATE is not set |
1227 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1228 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1376,6 +1377,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1376 | # CONFIG_BFS_FS is not set | 1377 | # CONFIG_BFS_FS is not set |
1377 | # CONFIG_EFS_FS is not set | 1378 | # CONFIG_EFS_FS is not set |
1378 | # CONFIG_JFFS2_FS is not set | 1379 | # CONFIG_JFFS2_FS is not set |
1380 | # CONFIG_LOGFS is not set | ||
1379 | # CONFIG_CRAMFS is not set | 1381 | # CONFIG_CRAMFS is not set |
1380 | # CONFIG_SQUASHFS is not set | 1382 | # CONFIG_SQUASHFS is not set |
1381 | # CONFIG_VXFS_FS is not set | 1383 | # CONFIG_VXFS_FS is not set |
@@ -1408,6 +1410,7 @@ CONFIG_RPCSEC_GSS_KRB5=y | |||
1408 | CONFIG_SMB_FS=m | 1410 | CONFIG_SMB_FS=m |
1409 | CONFIG_SMB_NLS_DEFAULT=y | 1411 | CONFIG_SMB_NLS_DEFAULT=y |
1410 | CONFIG_SMB_NLS_REMOTE="cp437" | 1412 | CONFIG_SMB_NLS_REMOTE="cp437" |
1413 | # CONFIG_CEPH_FS is not set | ||
1411 | CONFIG_CIFS=m | 1414 | CONFIG_CIFS=m |
1412 | # CONFIG_CIFS_STATS is not set | 1415 | # CONFIG_CIFS_STATS is not set |
1413 | # CONFIG_CIFS_WEAK_PW_HASH is not set | 1416 | # CONFIG_CIFS_WEAK_PW_HASH is not set |
@@ -1540,6 +1543,7 @@ CONFIG_DEBUG_INFO=y | |||
1540 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1543 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1541 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1544 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1542 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 1545 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
1546 | # CONFIG_LKDTM is not set | ||
1543 | # CONFIG_FAULT_INJECTION is not set | 1547 | # CONFIG_FAULT_INJECTION is not set |
1544 | # CONFIG_LATENCYTOP is not set | 1548 | # CONFIG_LATENCYTOP is not set |
1545 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1549 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
@@ -1618,6 +1622,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1618 | CONFIG_CRYPTO_MANAGER2=y | 1622 | CONFIG_CRYPTO_MANAGER2=y |
1619 | # CONFIG_CRYPTO_GF128MUL is not set | 1623 | # CONFIG_CRYPTO_GF128MUL is not set |
1620 | CONFIG_CRYPTO_NULL=m | 1624 | CONFIG_CRYPTO_NULL=m |
1625 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1621 | CONFIG_CRYPTO_WORKQUEUE=y | 1626 | CONFIG_CRYPTO_WORKQUEUE=y |
1622 | # CONFIG_CRYPTO_CRYPTD is not set | 1627 | # CONFIG_CRYPTO_CRYPTD is not set |
1623 | CONFIG_CRYPTO_AUTHENC=m | 1628 | CONFIG_CRYPTO_AUTHENC=m |
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig index 5c1dc768bbd8..a670cee255b9 100644 --- a/arch/powerpc/configs/adder875_defconfig +++ b/arch/powerpc/configs/adder875_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:23:58 2010 | 4 | # Mon Apr 19 23:16:22 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -91,14 +91,8 @@ CONFIG_RCU_FANOUT=32 | |||
91 | # CONFIG_TREE_RCU_TRACE is not set | 91 | # CONFIG_TREE_RCU_TRACE is not set |
92 | # CONFIG_IKCONFIG is not set | 92 | # CONFIG_IKCONFIG is not set |
93 | CONFIG_LOG_BUF_SHIFT=14 | 93 | CONFIG_LOG_BUF_SHIFT=14 |
94 | CONFIG_GROUP_SCHED=y | ||
95 | CONFIG_FAIR_GROUP_SCHED=y | ||
96 | # CONFIG_RT_GROUP_SCHED is not set | ||
97 | CONFIG_USER_SCHED=y | ||
98 | # CONFIG_CGROUP_SCHED is not set | ||
99 | # CONFIG_CGROUPS is not set | 94 | # CONFIG_CGROUPS is not set |
100 | CONFIG_SYSFS_DEPRECATED=y | 95 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
101 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
102 | # CONFIG_RELAY is not set | 96 | # CONFIG_RELAY is not set |
103 | # CONFIG_NAMESPACES is not set | 97 | # CONFIG_NAMESPACES is not set |
104 | # CONFIG_BLK_DEV_INITRD is not set | 98 | # CONFIG_BLK_DEV_INITRD is not set |
@@ -307,6 +301,7 @@ CONFIG_ISA_DMA_API=y | |||
307 | # Bus options | 301 | # Bus options |
308 | # | 302 | # |
309 | CONFIG_ZONE_DMA=y | 303 | CONFIG_ZONE_DMA=y |
304 | CONFIG_NEED_DMA_MAP_STATE=y | ||
310 | CONFIG_FSL_SOC=y | 305 | CONFIG_FSL_SOC=y |
311 | # CONFIG_PCI is not set | 306 | # CONFIG_PCI is not set |
312 | # CONFIG_PCI_DOMAINS is not set | 307 | # CONFIG_PCI_DOMAINS is not set |
@@ -336,7 +331,6 @@ CONFIG_NET=y | |||
336 | # Networking options | 331 | # Networking options |
337 | # | 332 | # |
338 | CONFIG_PACKET=y | 333 | CONFIG_PACKET=y |
339 | # CONFIG_PACKET_MMAP is not set | ||
340 | CONFIG_UNIX=y | 334 | CONFIG_UNIX=y |
341 | # CONFIG_NET_KEY is not set | 335 | # CONFIG_NET_KEY is not set |
342 | CONFIG_INET=y | 336 | CONFIG_INET=y |
@@ -505,6 +499,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
505 | # UBI - Unsorted block images | 499 | # UBI - Unsorted block images |
506 | # | 500 | # |
507 | # CONFIG_MTD_UBI is not set | 501 | # CONFIG_MTD_UBI is not set |
502 | CONFIG_OF_FLATTREE=y | ||
503 | CONFIG_OF_DYNAMIC=y | ||
508 | CONFIG_OF_DEVICE=y | 504 | CONFIG_OF_DEVICE=y |
509 | CONFIG_OF_MDIO=y | 505 | CONFIG_OF_MDIO=y |
510 | # CONFIG_PARPORT is not set | 506 | # CONFIG_PARPORT is not set |
@@ -516,6 +512,7 @@ CONFIG_HAVE_IDE=y | |||
516 | # | 512 | # |
517 | # SCSI device support | 513 | # SCSI device support |
518 | # | 514 | # |
515 | CONFIG_SCSI_MOD=y | ||
519 | # CONFIG_RAID_ATTRS is not set | 516 | # CONFIG_RAID_ATTRS is not set |
520 | # CONFIG_SCSI is not set | 517 | # CONFIG_SCSI is not set |
521 | # CONFIG_SCSI_DMA is not set | 518 | # CONFIG_SCSI_DMA is not set |
@@ -664,6 +661,7 @@ CONFIG_SERIAL_CORE=y | |||
664 | CONFIG_SERIAL_CORE_CONSOLE=y | 661 | CONFIG_SERIAL_CORE_CONSOLE=y |
665 | CONFIG_SERIAL_CPM=y | 662 | CONFIG_SERIAL_CPM=y |
666 | CONFIG_SERIAL_CPM_CONSOLE=y | 663 | CONFIG_SERIAL_CPM_CONSOLE=y |
664 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
667 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 665 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
668 | CONFIG_UNIX98_PTYS=y | 666 | CONFIG_UNIX98_PTYS=y |
669 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 667 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -802,6 +800,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
802 | # CONFIG_BFS_FS is not set | 800 | # CONFIG_BFS_FS is not set |
803 | # CONFIG_EFS_FS is not set | 801 | # CONFIG_EFS_FS is not set |
804 | # CONFIG_JFFS2_FS is not set | 802 | # CONFIG_JFFS2_FS is not set |
803 | # CONFIG_LOGFS is not set | ||
805 | CONFIG_CRAMFS=y | 804 | CONFIG_CRAMFS=y |
806 | # CONFIG_SQUASHFS is not set | 805 | # CONFIG_SQUASHFS is not set |
807 | # CONFIG_VXFS_FS is not set | 806 | # CONFIG_VXFS_FS is not set |
@@ -826,6 +825,7 @@ CONFIG_SUNRPC=y | |||
826 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 825 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
827 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 826 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
828 | # CONFIG_SMB_FS is not set | 827 | # CONFIG_SMB_FS is not set |
828 | # CONFIG_CEPH_FS is not set | ||
829 | # CONFIG_CIFS is not set | 829 | # CONFIG_CIFS is not set |
830 | # CONFIG_NCP_FS is not set | 830 | # CONFIG_NCP_FS is not set |
831 | # CONFIG_CODA_FS is not set | 831 | # CONFIG_CODA_FS is not set |
@@ -924,6 +924,7 @@ CONFIG_DEBUG_INFO=y | |||
924 | # CONFIG_BACKTRACE_SELF_TEST is not set | 924 | # CONFIG_BACKTRACE_SELF_TEST is not set |
925 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 925 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
926 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 926 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
927 | # CONFIG_LKDTM is not set | ||
927 | # CONFIG_FAULT_INJECTION is not set | 928 | # CONFIG_FAULT_INJECTION is not set |
928 | # CONFIG_LATENCYTOP is not set | 929 | # CONFIG_LATENCYTOP is not set |
929 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 930 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
diff --git a/arch/powerpc/configs/amigaone_defconfig b/arch/powerpc/configs/amigaone_defconfig index b63cc38df6b1..851287e78fc3 100644 --- a/arch/powerpc/configs/amigaone_defconfig +++ b/arch/powerpc/configs/amigaone_defconfig | |||
@@ -87,8 +87,7 @@ CONFIG_IKCONFIG_PROC=y | |||
87 | CONFIG_LOG_BUF_SHIFT=15 | 87 | CONFIG_LOG_BUF_SHIFT=15 |
88 | # CONFIG_GROUP_SCHED is not set | 88 | # CONFIG_GROUP_SCHED is not set |
89 | # CONFIG_CGROUPS is not set | 89 | # CONFIG_CGROUPS is not set |
90 | CONFIG_SYSFS_DEPRECATED=y | 90 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
91 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
92 | # CONFIG_RELAY is not set | 91 | # CONFIG_RELAY is not set |
93 | CONFIG_NAMESPACES=y | 92 | CONFIG_NAMESPACES=y |
94 | # CONFIG_UTS_NS is not set | 93 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig index 72137cd881da..b429a655b541 100644 --- a/arch/powerpc/configs/c2k_defconfig +++ b/arch/powerpc/configs/c2k_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:23:59 2010 | 4 | # Mon Apr 19 23:16:23 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -101,14 +101,8 @@ CONFIG_RCU_FANOUT=32 | |||
101 | # CONFIG_TREE_RCU_TRACE is not set | 101 | # CONFIG_TREE_RCU_TRACE is not set |
102 | # CONFIG_IKCONFIG is not set | 102 | # CONFIG_IKCONFIG is not set |
103 | CONFIG_LOG_BUF_SHIFT=17 | 103 | CONFIG_LOG_BUF_SHIFT=17 |
104 | CONFIG_GROUP_SCHED=y | ||
105 | CONFIG_FAIR_GROUP_SCHED=y | ||
106 | # CONFIG_RT_GROUP_SCHED is not set | ||
107 | CONFIG_USER_SCHED=y | ||
108 | # CONFIG_CGROUP_SCHED is not set | ||
109 | # CONFIG_CGROUPS is not set | 104 | # CONFIG_CGROUPS is not set |
110 | CONFIG_SYSFS_DEPRECATED=y | 105 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
111 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
112 | # CONFIG_RELAY is not set | 106 | # CONFIG_RELAY is not set |
113 | CONFIG_NAMESPACES=y | 107 | CONFIG_NAMESPACES=y |
114 | # CONFIG_UTS_NS is not set | 108 | # CONFIG_UTS_NS is not set |
@@ -121,6 +115,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
121 | CONFIG_RD_GZIP=y | 115 | CONFIG_RD_GZIP=y |
122 | CONFIG_RD_BZIP2=y | 116 | CONFIG_RD_BZIP2=y |
123 | CONFIG_RD_LZMA=y | 117 | CONFIG_RD_LZMA=y |
118 | CONFIG_RD_LZO=y | ||
124 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 119 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
125 | CONFIG_SYSCTL=y | 120 | CONFIG_SYSCTL=y |
126 | CONFIG_ANON_INODES=y | 121 | CONFIG_ANON_INODES=y |
@@ -147,7 +142,6 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
147 | # Kernel Performance Events And Counters | 142 | # Kernel Performance Events And Counters |
148 | # | 143 | # |
149 | CONFIG_PERF_EVENTS=y | 144 | CONFIG_PERF_EVENTS=y |
150 | CONFIG_EVENT_PROFILE=y | ||
151 | # CONFIG_PERF_COUNTERS is not set | 145 | # CONFIG_PERF_COUNTERS is not set |
152 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | 146 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set |
153 | CONFIG_VM_EVENT_COUNTERS=y | 147 | CONFIG_VM_EVENT_COUNTERS=y |
@@ -158,7 +152,6 @@ CONFIG_COMPAT_BRK=y | |||
158 | CONFIG_SLUB=y | 152 | CONFIG_SLUB=y |
159 | # CONFIG_SLOB is not set | 153 | # CONFIG_SLOB is not set |
160 | CONFIG_PROFILING=y | 154 | CONFIG_PROFILING=y |
161 | CONFIG_TRACEPOINTS=y | ||
162 | CONFIG_OPROFILE=m | 155 | CONFIG_OPROFILE=m |
163 | CONFIG_HAVE_OPROFILE=y | 156 | CONFIG_HAVE_OPROFILE=y |
164 | CONFIG_KPROBES=y | 157 | CONFIG_KPROBES=y |
@@ -357,6 +350,7 @@ CONFIG_ISA_DMA_API=y | |||
357 | # Bus options | 350 | # Bus options |
358 | # | 351 | # |
359 | CONFIG_ZONE_DMA=y | 352 | CONFIG_ZONE_DMA=y |
353 | CONFIG_NEED_DMA_MAP_STATE=y | ||
360 | CONFIG_GENERIC_ISA_DMA=y | 354 | CONFIG_GENERIC_ISA_DMA=y |
361 | CONFIG_PPC_INDIRECT_PCI=y | 355 | CONFIG_PPC_INDIRECT_PCI=y |
362 | CONFIG_PCI=y | 356 | CONFIG_PCI=y |
@@ -365,7 +359,6 @@ CONFIG_PCI_SYSCALL=y | |||
365 | # CONFIG_PCIEPORTBUS is not set | 359 | # CONFIG_PCIEPORTBUS is not set |
366 | CONFIG_ARCH_SUPPORTS_MSI=y | 360 | CONFIG_ARCH_SUPPORTS_MSI=y |
367 | CONFIG_PCI_MSI=y | 361 | CONFIG_PCI_MSI=y |
368 | # CONFIG_PCI_LEGACY is not set | ||
369 | # CONFIG_PCI_DEBUG is not set | 362 | # CONFIG_PCI_DEBUG is not set |
370 | # CONFIG_PCI_STUB is not set | 363 | # CONFIG_PCI_STUB is not set |
371 | # CONFIG_PCI_IOV is not set | 364 | # CONFIG_PCI_IOV is not set |
@@ -396,7 +389,6 @@ CONFIG_NET=y | |||
396 | # Networking options | 389 | # Networking options |
397 | # | 390 | # |
398 | CONFIG_PACKET=y | 391 | CONFIG_PACKET=y |
399 | CONFIG_PACKET_MMAP=y | ||
400 | CONFIG_UNIX=y | 392 | CONFIG_UNIX=y |
401 | CONFIG_XFRM=y | 393 | CONFIG_XFRM=y |
402 | CONFIG_XFRM_USER=y | 394 | CONFIG_XFRM_USER=y |
@@ -527,6 +519,7 @@ CONFIG_IP_VS_PROTO_UDP=y | |||
527 | CONFIG_IP_VS_PROTO_AH_ESP=y | 519 | CONFIG_IP_VS_PROTO_AH_ESP=y |
528 | CONFIG_IP_VS_PROTO_ESP=y | 520 | CONFIG_IP_VS_PROTO_ESP=y |
529 | CONFIG_IP_VS_PROTO_AH=y | 521 | CONFIG_IP_VS_PROTO_AH=y |
522 | # CONFIG_IP_VS_PROTO_SCTP is not set | ||
530 | 523 | ||
531 | # | 524 | # |
532 | # IPVS scheduler | 525 | # IPVS scheduler |
@@ -630,6 +623,7 @@ CONFIG_ATM_BR2684=m | |||
630 | # CONFIG_ATM_BR2684_IPFILTER is not set | 623 | # CONFIG_ATM_BR2684_IPFILTER is not set |
631 | CONFIG_STP=m | 624 | CONFIG_STP=m |
632 | CONFIG_BRIDGE=m | 625 | CONFIG_BRIDGE=m |
626 | CONFIG_BRIDGE_IGMP_SNOOPING=y | ||
633 | # CONFIG_NET_DSA is not set | 627 | # CONFIG_NET_DSA is not set |
634 | CONFIG_VLAN_8021Q=m | 628 | CONFIG_VLAN_8021Q=m |
635 | # CONFIG_VLAN_8021Q_GVRP is not set | 629 | # CONFIG_VLAN_8021Q_GVRP is not set |
@@ -690,7 +684,6 @@ CONFIG_NET_SCH_FIFO=y | |||
690 | # | 684 | # |
691 | # CONFIG_NET_PKTGEN is not set | 685 | # CONFIG_NET_PKTGEN is not set |
692 | # CONFIG_NET_TCPPROBE is not set | 686 | # CONFIG_NET_TCPPROBE is not set |
693 | # CONFIG_NET_DROP_MONITOR is not set | ||
694 | # CONFIG_HAMRADIO is not set | 687 | # CONFIG_HAMRADIO is not set |
695 | # CONFIG_CAN is not set | 688 | # CONFIG_CAN is not set |
696 | # CONFIG_IRDA is not set | 689 | # CONFIG_IRDA is not set |
@@ -833,6 +826,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
833 | # UBI - Unsorted block images | 826 | # UBI - Unsorted block images |
834 | # | 827 | # |
835 | # CONFIG_MTD_UBI is not set | 828 | # CONFIG_MTD_UBI is not set |
829 | CONFIG_OF_FLATTREE=y | ||
830 | CONFIG_OF_DYNAMIC=y | ||
836 | CONFIG_OF_DEVICE=y | 831 | CONFIG_OF_DEVICE=y |
837 | CONFIG_OF_I2C=m | 832 | CONFIG_OF_I2C=m |
838 | CONFIG_OF_MDIO=y | 833 | CONFIG_OF_MDIO=y |
@@ -867,6 +862,7 @@ CONFIG_HAVE_IDE=y | |||
867 | # | 862 | # |
868 | # SCSI device support | 863 | # SCSI device support |
869 | # | 864 | # |
865 | CONFIG_SCSI_MOD=m | ||
870 | # CONFIG_RAID_ATTRS is not set | 866 | # CONFIG_RAID_ATTRS is not set |
871 | CONFIG_SCSI=m | 867 | CONFIG_SCSI=m |
872 | CONFIG_SCSI_DMA=y | 868 | CONFIG_SCSI_DMA=y |
@@ -1179,6 +1175,7 @@ CONFIG_SERIAL_MPSC_CONSOLE=y | |||
1179 | CONFIG_SERIAL_CORE=y | 1175 | CONFIG_SERIAL_CORE=y |
1180 | CONFIG_SERIAL_CORE_CONSOLE=y | 1176 | CONFIG_SERIAL_CORE_CONSOLE=y |
1181 | # CONFIG_SERIAL_JSM is not set | 1177 | # CONFIG_SERIAL_JSM is not set |
1178 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1182 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1179 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1183 | CONFIG_UNIX98_PTYS=y | 1180 | CONFIG_UNIX98_PTYS=y |
1184 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1181 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1231,6 +1228,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1231 | CONFIG_I2C_MV64XXX=m | 1228 | CONFIG_I2C_MV64XXX=m |
1232 | # CONFIG_I2C_OCORES is not set | 1229 | # CONFIG_I2C_OCORES is not set |
1233 | # CONFIG_I2C_SIMTEC is not set | 1230 | # CONFIG_I2C_SIMTEC is not set |
1231 | # CONFIG_I2C_XILINX is not set | ||
1234 | 1232 | ||
1235 | # | 1233 | # |
1236 | # External I2C/SMBus adapter drivers | 1234 | # External I2C/SMBus adapter drivers |
@@ -1244,15 +1242,9 @@ CONFIG_I2C_MV64XXX=m | |||
1244 | # | 1242 | # |
1245 | # CONFIG_I2C_PCA_PLATFORM is not set | 1243 | # CONFIG_I2C_PCA_PLATFORM is not set |
1246 | # CONFIG_I2C_STUB is not set | 1244 | # CONFIG_I2C_STUB is not set |
1247 | |||
1248 | # | ||
1249 | # Miscellaneous I2C Chip support | ||
1250 | # | ||
1251 | # CONFIG_SENSORS_TSL2550 is not set | ||
1252 | # CONFIG_I2C_DEBUG_CORE is not set | 1245 | # CONFIG_I2C_DEBUG_CORE is not set |
1253 | # CONFIG_I2C_DEBUG_ALGO is not set | 1246 | # CONFIG_I2C_DEBUG_ALGO is not set |
1254 | # CONFIG_I2C_DEBUG_BUS is not set | 1247 | # CONFIG_I2C_DEBUG_BUS is not set |
1255 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1256 | # CONFIG_SPI is not set | 1248 | # CONFIG_SPI is not set |
1257 | 1249 | ||
1258 | # | 1250 | # |
@@ -1278,10 +1270,11 @@ CONFIG_SENSORS_ADM1026=m | |||
1278 | # CONFIG_SENSORS_ADM1029 is not set | 1270 | # CONFIG_SENSORS_ADM1029 is not set |
1279 | CONFIG_SENSORS_ADM1031=m | 1271 | CONFIG_SENSORS_ADM1031=m |
1280 | # CONFIG_SENSORS_ADM9240 is not set | 1272 | # CONFIG_SENSORS_ADM9240 is not set |
1273 | # CONFIG_SENSORS_ADT7411 is not set | ||
1281 | # CONFIG_SENSORS_ADT7462 is not set | 1274 | # CONFIG_SENSORS_ADT7462 is not set |
1282 | # CONFIG_SENSORS_ADT7470 is not set | 1275 | # CONFIG_SENSORS_ADT7470 is not set |
1283 | # CONFIG_SENSORS_ADT7473 is not set | ||
1284 | # CONFIG_SENSORS_ADT7475 is not set | 1276 | # CONFIG_SENSORS_ADT7475 is not set |
1277 | # CONFIG_SENSORS_ASC7621 is not set | ||
1285 | # CONFIG_SENSORS_ATXP1 is not set | 1278 | # CONFIG_SENSORS_ATXP1 is not set |
1286 | CONFIG_SENSORS_DS1621=m | 1279 | CONFIG_SENSORS_DS1621=m |
1287 | # CONFIG_SENSORS_I5K_AMB is not set | 1280 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1318,6 +1311,7 @@ CONFIG_SENSORS_SMSC47M1=m | |||
1318 | # CONFIG_SENSORS_SMSC47M192 is not set | 1311 | # CONFIG_SENSORS_SMSC47M192 is not set |
1319 | CONFIG_SENSORS_SMSC47B397=m | 1312 | CONFIG_SENSORS_SMSC47B397=m |
1320 | # CONFIG_SENSORS_ADS7828 is not set | 1313 | # CONFIG_SENSORS_ADS7828 is not set |
1314 | # CONFIG_SENSORS_AMC6821 is not set | ||
1321 | # CONFIG_SENSORS_THMC50 is not set | 1315 | # CONFIG_SENSORS_THMC50 is not set |
1322 | # CONFIG_SENSORS_TMP401 is not set | 1316 | # CONFIG_SENSORS_TMP401 is not set |
1323 | # CONFIG_SENSORS_TMP421 is not set | 1317 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1369,9 +1363,9 @@ CONFIG_SSB_POSSIBLE=y | |||
1369 | # CONFIG_HTC_PASIC3 is not set | 1363 | # CONFIG_HTC_PASIC3 is not set |
1370 | # CONFIG_MFD_TMIO is not set | 1364 | # CONFIG_MFD_TMIO is not set |
1371 | # CONFIG_MFD_WM8400 is not set | 1365 | # CONFIG_MFD_WM8400 is not set |
1372 | # CONFIG_MFD_WM8350_I2C is not set | 1366 | # CONFIG_MFD_WM8994 is not set |
1373 | # CONFIG_MFD_PCF50633 is not set | 1367 | # CONFIG_MFD_PCF50633 is not set |
1374 | # CONFIG_AB3100_CORE is not set | 1368 | # CONFIG_LPC_SCH is not set |
1375 | # CONFIG_REGULATOR is not set | 1369 | # CONFIG_REGULATOR is not set |
1376 | # CONFIG_MEDIA_SUPPORT is not set | 1370 | # CONFIG_MEDIA_SUPPORT is not set |
1377 | 1371 | ||
@@ -1380,6 +1374,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1380 | # | 1374 | # |
1381 | # CONFIG_AGP is not set | 1375 | # CONFIG_AGP is not set |
1382 | CONFIG_VGA_ARB=y | 1376 | CONFIG_VGA_ARB=y |
1377 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1383 | # CONFIG_DRM is not set | 1378 | # CONFIG_DRM is not set |
1384 | # CONFIG_VGASTATE is not set | 1379 | # CONFIG_VGASTATE is not set |
1385 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 1380 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1413,7 +1408,6 @@ CONFIG_USB=m | |||
1413 | CONFIG_USB_DEVICEFS=y | 1408 | CONFIG_USB_DEVICEFS=y |
1414 | # CONFIG_USB_DEVICE_CLASS is not set | 1409 | # CONFIG_USB_DEVICE_CLASS is not set |
1415 | # CONFIG_USB_DYNAMIC_MINORS is not set | 1410 | # CONFIG_USB_DYNAMIC_MINORS is not set |
1416 | CONFIG_USB_SUSPEND=y | ||
1417 | # CONFIG_USB_OTG is not set | 1411 | # CONFIG_USB_OTG is not set |
1418 | CONFIG_USB_MON=m | 1412 | CONFIG_USB_MON=m |
1419 | # CONFIG_USB_WUSB is not set | 1413 | # CONFIG_USB_WUSB is not set |
@@ -1535,6 +1529,7 @@ CONFIG_USB_SERIAL_MCT_U232=m | |||
1535 | # CONFIG_USB_SERIAL_NAVMAN is not set | 1529 | # CONFIG_USB_SERIAL_NAVMAN is not set |
1536 | CONFIG_USB_SERIAL_PL2303=m | 1530 | CONFIG_USB_SERIAL_PL2303=m |
1537 | # CONFIG_USB_SERIAL_OTI6858 is not set | 1531 | # CONFIG_USB_SERIAL_OTI6858 is not set |
1532 | # CONFIG_USB_SERIAL_QCAUX is not set | ||
1538 | # CONFIG_USB_SERIAL_QUALCOMM is not set | 1533 | # CONFIG_USB_SERIAL_QUALCOMM is not set |
1539 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | 1534 | # CONFIG_USB_SERIAL_SPCP8X5 is not set |
1540 | # CONFIG_USB_SERIAL_HP4X is not set | 1535 | # CONFIG_USB_SERIAL_HP4X is not set |
@@ -1549,6 +1544,7 @@ CONFIG_USB_SERIAL_XIRCOM=m | |||
1549 | # CONFIG_USB_SERIAL_OPTION is not set | 1544 | # CONFIG_USB_SERIAL_OPTION is not set |
1550 | CONFIG_USB_SERIAL_OMNINET=m | 1545 | CONFIG_USB_SERIAL_OMNINET=m |
1551 | # CONFIG_USB_SERIAL_OPTICON is not set | 1546 | # CONFIG_USB_SERIAL_OPTICON is not set |
1547 | # CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set | ||
1552 | # CONFIG_USB_SERIAL_DEBUG is not set | 1548 | # CONFIG_USB_SERIAL_DEBUG is not set |
1553 | 1549 | ||
1554 | # | 1550 | # |
@@ -1561,7 +1557,6 @@ CONFIG_USB_EMI62=m | |||
1561 | CONFIG_USB_RIO500=m | 1557 | CONFIG_USB_RIO500=m |
1562 | CONFIG_USB_LEGOTOWER=m | 1558 | CONFIG_USB_LEGOTOWER=m |
1563 | CONFIG_USB_LCD=m | 1559 | CONFIG_USB_LCD=m |
1564 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1565 | CONFIG_USB_LED=m | 1560 | CONFIG_USB_LED=m |
1566 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1561 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1567 | # CONFIG_USB_CYTHERM is not set | 1562 | # CONFIG_USB_CYTHERM is not set |
@@ -1574,7 +1569,6 @@ CONFIG_USB_LED=m | |||
1574 | # CONFIG_USB_IOWARRIOR is not set | 1569 | # CONFIG_USB_IOWARRIOR is not set |
1575 | CONFIG_USB_TEST=m | 1570 | CONFIG_USB_TEST=m |
1576 | # CONFIG_USB_ISIGHTFW is not set | 1571 | # CONFIG_USB_ISIGHTFW is not set |
1577 | # CONFIG_USB_VST is not set | ||
1578 | CONFIG_USB_ATM=m | 1572 | CONFIG_USB_ATM=m |
1579 | CONFIG_USB_SPEEDTOUCH=m | 1573 | CONFIG_USB_SPEEDTOUCH=m |
1580 | # CONFIG_USB_CXACRU is not set | 1574 | # CONFIG_USB_CXACRU is not set |
@@ -1611,6 +1605,7 @@ CONFIG_INFINIBAND_SRP=m | |||
1611 | # CONFIG_EDAC is not set | 1605 | # CONFIG_EDAC is not set |
1612 | # CONFIG_RTC_CLASS is not set | 1606 | # CONFIG_RTC_CLASS is not set |
1613 | CONFIG_DMADEVICES=y | 1607 | CONFIG_DMADEVICES=y |
1608 | # CONFIG_DMADEVICES_DEBUG is not set | ||
1614 | 1609 | ||
1615 | # | 1610 | # |
1616 | # DMA Devices | 1611 | # DMA Devices |
@@ -1714,6 +1709,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1714 | # CONFIG_JFFS2_LZO is not set | 1709 | # CONFIG_JFFS2_LZO is not set |
1715 | CONFIG_JFFS2_RTIME=y | 1710 | CONFIG_JFFS2_RTIME=y |
1716 | # CONFIG_JFFS2_RUBIN is not set | 1711 | # CONFIG_JFFS2_RUBIN is not set |
1712 | # CONFIG_LOGFS is not set | ||
1717 | CONFIG_CRAMFS=m | 1713 | CONFIG_CRAMFS=m |
1718 | # CONFIG_SQUASHFS is not set | 1714 | # CONFIG_SQUASHFS is not set |
1719 | CONFIG_VXFS_FS=m | 1715 | CONFIG_VXFS_FS=m |
@@ -1742,6 +1738,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m | |||
1742 | CONFIG_RPCSEC_GSS_KRB5=y | 1738 | CONFIG_RPCSEC_GSS_KRB5=y |
1743 | CONFIG_RPCSEC_GSS_SPKM3=m | 1739 | CONFIG_RPCSEC_GSS_SPKM3=m |
1744 | # CONFIG_SMB_FS is not set | 1740 | # CONFIG_SMB_FS is not set |
1741 | # CONFIG_CEPH_FS is not set | ||
1745 | CONFIG_CIFS=m | 1742 | CONFIG_CIFS=m |
1746 | # CONFIG_CIFS_STATS is not set | 1743 | # CONFIG_CIFS_STATS is not set |
1747 | # CONFIG_CIFS_WEAK_PW_HASH is not set | 1744 | # CONFIG_CIFS_WEAK_PW_HASH is not set |
@@ -1817,7 +1814,7 @@ CONFIG_NLS_KOI8_R=m | |||
1817 | CONFIG_NLS_KOI8_U=m | 1814 | CONFIG_NLS_KOI8_U=m |
1818 | CONFIG_NLS_UTF8=m | 1815 | CONFIG_NLS_UTF8=m |
1819 | # CONFIG_DLM is not set | 1816 | # CONFIG_DLM is not set |
1820 | CONFIG_BINARY_PRINTF=y | 1817 | # CONFIG_BINARY_PRINTF is not set |
1821 | 1818 | ||
1822 | # | 1819 | # |
1823 | # Library routines | 1820 | # Library routines |
@@ -1833,9 +1830,11 @@ CONFIG_CRC32=y | |||
1833 | CONFIG_LIBCRC32C=m | 1830 | CONFIG_LIBCRC32C=m |
1834 | CONFIG_ZLIB_INFLATE=y | 1831 | CONFIG_ZLIB_INFLATE=y |
1835 | CONFIG_ZLIB_DEFLATE=y | 1832 | CONFIG_ZLIB_DEFLATE=y |
1833 | CONFIG_LZO_DECOMPRESS=y | ||
1836 | CONFIG_DECOMPRESS_GZIP=y | 1834 | CONFIG_DECOMPRESS_GZIP=y |
1837 | CONFIG_DECOMPRESS_BZIP2=y | 1835 | CONFIG_DECOMPRESS_BZIP2=y |
1838 | CONFIG_DECOMPRESS_LZMA=y | 1836 | CONFIG_DECOMPRESS_LZMA=y |
1837 | CONFIG_DECOMPRESS_LZO=y | ||
1839 | CONFIG_HAS_IOMEM=y | 1838 | CONFIG_HAS_IOMEM=y |
1840 | CONFIG_HAS_IOPORT=y | 1839 | CONFIG_HAS_IOPORT=y |
1841 | CONFIG_HAS_DMA=y | 1840 | CONFIG_HAS_DMA=y |
@@ -1880,7 +1879,6 @@ CONFIG_DEBUG_SPINLOCK=y | |||
1880 | # CONFIG_LOCK_STAT is not set | 1879 | # CONFIG_LOCK_STAT is not set |
1881 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | 1880 | CONFIG_DEBUG_SPINLOCK_SLEEP=y |
1882 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1881 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1883 | CONFIG_STACKTRACE=y | ||
1884 | # CONFIG_DEBUG_KOBJECT is not set | 1882 | # CONFIG_DEBUG_KOBJECT is not set |
1885 | CONFIG_DEBUG_HIGHMEM=y | 1883 | CONFIG_DEBUG_HIGHMEM=y |
1886 | CONFIG_DEBUG_BUGVERBOSE=y | 1884 | CONFIG_DEBUG_BUGVERBOSE=y |
@@ -1903,16 +1901,12 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
1903 | # CONFIG_LATENCYTOP is not set | 1901 | # CONFIG_LATENCYTOP is not set |
1904 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1902 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1905 | # CONFIG_DEBUG_PAGEALLOC is not set | 1903 | # CONFIG_DEBUG_PAGEALLOC is not set |
1906 | CONFIG_NOP_TRACER=y | ||
1907 | CONFIG_HAVE_FUNCTION_TRACER=y | 1904 | CONFIG_HAVE_FUNCTION_TRACER=y |
1908 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1905 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1909 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1906 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1910 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1907 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1911 | CONFIG_RING_BUFFER=y | 1908 | CONFIG_RING_BUFFER=y |
1912 | CONFIG_EVENT_TRACING=y | ||
1913 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1914 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | 1909 | CONFIG_RING_BUFFER_ALLOW_SWAP=y |
1915 | CONFIG_TRACING=y | ||
1916 | CONFIG_TRACING_SUPPORT=y | 1910 | CONFIG_TRACING_SUPPORT=y |
1917 | CONFIG_FTRACE=y | 1911 | CONFIG_FTRACE=y |
1918 | # CONFIG_FUNCTION_TRACER is not set | 1912 | # CONFIG_FUNCTION_TRACER is not set |
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig index c6d2baa7aaeb..943371954317 100644 --- a/arch/powerpc/configs/cell_defconfig +++ b/arch/powerpc/configs/cell_defconfig | |||
@@ -83,8 +83,7 @@ CONFIG_CPUSETS=y | |||
83 | # CONFIG_CGROUP_SCHED is not set | 83 | # CONFIG_CGROUP_SCHED is not set |
84 | # CONFIG_CGROUP_CPUACCT is not set | 84 | # CONFIG_CGROUP_CPUACCT is not set |
85 | # CONFIG_RESOURCE_COUNTERS is not set | 85 | # CONFIG_RESOURCE_COUNTERS is not set |
86 | CONFIG_SYSFS_DEPRECATED=y | 86 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
87 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
88 | CONFIG_PROC_PID_CPUSET=y | 87 | CONFIG_PROC_PID_CPUSET=y |
89 | # CONFIG_RELAY is not set | 88 | # CONFIG_RELAY is not set |
90 | CONFIG_NAMESPACES=y | 89 | CONFIG_NAMESPACES=y |
diff --git a/arch/powerpc/configs/celleb_defconfig b/arch/powerpc/configs/celleb_defconfig index d2123779512a..6be6c09eba6d 100644 --- a/arch/powerpc/configs/celleb_defconfig +++ b/arch/powerpc/configs/celleb_defconfig | |||
@@ -78,8 +78,7 @@ CONFIG_LOG_BUF_SHIFT=15 | |||
78 | # CONFIG_GROUP_SCHED is not set | 78 | # CONFIG_GROUP_SCHED is not set |
79 | # CONFIG_USER_SCHED is not set | 79 | # CONFIG_USER_SCHED is not set |
80 | # CONFIG_CGROUP_SCHED is not set | 80 | # CONFIG_CGROUP_SCHED is not set |
81 | CONFIG_SYSFS_DEPRECATED=y | 81 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
82 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
83 | # CONFIG_RELAY is not set | 82 | # CONFIG_RELAY is not set |
84 | CONFIG_NAMESPACES=y | 83 | CONFIG_NAMESPACES=y |
85 | # CONFIG_UTS_NS is not set | 84 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig index 5094a65a4493..2fdab660fce3 100644 --- a/arch/powerpc/configs/chrp32_defconfig +++ b/arch/powerpc/configs/chrp32_defconfig | |||
@@ -77,8 +77,7 @@ CONFIG_IKCONFIG_PROC=y | |||
77 | CONFIG_LOG_BUF_SHIFT=15 | 77 | CONFIG_LOG_BUF_SHIFT=15 |
78 | # CONFIG_CGROUPS is not set | 78 | # CONFIG_CGROUPS is not set |
79 | # CONFIG_GROUP_SCHED is not set | 79 | # CONFIG_GROUP_SCHED is not set |
80 | CONFIG_SYSFS_DEPRECATED=y | 80 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
81 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
82 | # CONFIG_RELAY is not set | 81 | # CONFIG_RELAY is not set |
83 | CONFIG_NAMESPACES=y | 82 | CONFIG_NAMESPACES=y |
84 | # CONFIG_UTS_NS is not set | 83 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig index 79105413884e..6b708395a7c6 100644 --- a/arch/powerpc/configs/ep8248e_defconfig +++ b/arch/powerpc/configs/ep8248e_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:23:59 2010 | 4 | # Mon Apr 19 23:16:24 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,8 +96,7 @@ CONFIG_IKCONFIG=y | |||
96 | CONFIG_IKCONFIG_PROC=y | 96 | CONFIG_IKCONFIG_PROC=y |
97 | CONFIG_LOG_BUF_SHIFT=14 | 97 | CONFIG_LOG_BUF_SHIFT=14 |
98 | # CONFIG_CGROUPS is not set | 98 | # CONFIG_CGROUPS is not set |
99 | CONFIG_SYSFS_DEPRECATED=y | 99 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
100 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
101 | # CONFIG_RELAY is not set | 100 | # CONFIG_RELAY is not set |
102 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
103 | # CONFIG_BLK_DEV_INITRD is not set | 102 | # CONFIG_BLK_DEV_INITRD is not set |
@@ -298,6 +297,7 @@ CONFIG_ISA_DMA_API=y | |||
298 | # Bus options | 297 | # Bus options |
299 | # | 298 | # |
300 | CONFIG_ZONE_DMA=y | 299 | CONFIG_ZONE_DMA=y |
300 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
301 | CONFIG_PPC_INDIRECT_PCI=y | 301 | CONFIG_PPC_INDIRECT_PCI=y |
302 | CONFIG_FSL_SOC=y | 302 | CONFIG_FSL_SOC=y |
303 | CONFIG_PPC_PCI_CHOICE=y | 303 | CONFIG_PPC_PCI_CHOICE=y |
@@ -308,7 +308,6 @@ CONFIG_PCI_8260=y | |||
308 | # CONFIG_PCIEPORTBUS is not set | 308 | # CONFIG_PCIEPORTBUS is not set |
309 | CONFIG_ARCH_SUPPORTS_MSI=y | 309 | CONFIG_ARCH_SUPPORTS_MSI=y |
310 | # CONFIG_PCI_MSI is not set | 310 | # CONFIG_PCI_MSI is not set |
311 | # CONFIG_PCI_LEGACY is not set | ||
312 | # CONFIG_PCI_DEBUG is not set | 311 | # CONFIG_PCI_DEBUG is not set |
313 | # CONFIG_PCI_STUB is not set | 312 | # CONFIG_PCI_STUB is not set |
314 | # CONFIG_PCI_IOV is not set | 313 | # CONFIG_PCI_IOV is not set |
@@ -335,7 +334,6 @@ CONFIG_NET=y | |||
335 | # Networking options | 334 | # Networking options |
336 | # | 335 | # |
337 | CONFIG_PACKET=y | 336 | CONFIG_PACKET=y |
338 | # CONFIG_PACKET_MMAP is not set | ||
339 | CONFIG_UNIX=y | 337 | CONFIG_UNIX=y |
340 | CONFIG_XFRM=y | 338 | CONFIG_XFRM=y |
341 | # CONFIG_XFRM_USER is not set | 339 | # CONFIG_XFRM_USER is not set |
@@ -537,6 +535,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
537 | # UBI - Unsorted block images | 535 | # UBI - Unsorted block images |
538 | # | 536 | # |
539 | # CONFIG_MTD_UBI is not set | 537 | # CONFIG_MTD_UBI is not set |
538 | CONFIG_OF_FLATTREE=y | ||
539 | CONFIG_OF_DYNAMIC=y | ||
540 | CONFIG_OF_DEVICE=y | 540 | CONFIG_OF_DEVICE=y |
541 | CONFIG_OF_GPIO=y | 541 | CONFIG_OF_GPIO=y |
542 | CONFIG_OF_MDIO=y | 542 | CONFIG_OF_MDIO=y |
@@ -566,6 +566,7 @@ CONFIG_HAVE_IDE=y | |||
566 | # | 566 | # |
567 | # SCSI device support | 567 | # SCSI device support |
568 | # | 568 | # |
569 | CONFIG_SCSI_MOD=y | ||
569 | # CONFIG_RAID_ATTRS is not set | 570 | # CONFIG_RAID_ATTRS is not set |
570 | # CONFIG_SCSI is not set | 571 | # CONFIG_SCSI is not set |
571 | # CONFIG_SCSI_DMA is not set | 572 | # CONFIG_SCSI_DMA is not set |
@@ -671,6 +672,8 @@ CONFIG_NETDEV_10000=y | |||
671 | # CONFIG_CHELSIO_T1 is not set | 672 | # CONFIG_CHELSIO_T1 is not set |
672 | CONFIG_CHELSIO_T3_DEPENDS=y | 673 | CONFIG_CHELSIO_T3_DEPENDS=y |
673 | # CONFIG_CHELSIO_T3 is not set | 674 | # CONFIG_CHELSIO_T3 is not set |
675 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
676 | # CONFIG_CHELSIO_T4 is not set | ||
674 | # CONFIG_ENIC is not set | 677 | # CONFIG_ENIC is not set |
675 | # CONFIG_IXGBE is not set | 678 | # CONFIG_IXGBE is not set |
676 | # CONFIG_IXGB is not set | 679 | # CONFIG_IXGB is not set |
@@ -683,6 +686,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
683 | # CONFIG_MLX4_CORE is not set | 686 | # CONFIG_MLX4_CORE is not set |
684 | # CONFIG_TEHUTI is not set | 687 | # CONFIG_TEHUTI is not set |
685 | # CONFIG_BNX2X is not set | 688 | # CONFIG_BNX2X is not set |
689 | # CONFIG_QLCNIC is not set | ||
686 | # CONFIG_QLGE is not set | 690 | # CONFIG_QLGE is not set |
687 | # CONFIG_SFC is not set | 691 | # CONFIG_SFC is not set |
688 | # CONFIG_BE2NET is not set | 692 | # CONFIG_BE2NET is not set |
@@ -737,6 +741,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
737 | CONFIG_SERIAL_CPM=y | 741 | CONFIG_SERIAL_CPM=y |
738 | CONFIG_SERIAL_CPM_CONSOLE=y | 742 | CONFIG_SERIAL_CPM_CONSOLE=y |
739 | # CONFIG_SERIAL_JSM is not set | 743 | # CONFIG_SERIAL_JSM is not set |
744 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
740 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 745 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
741 | CONFIG_UNIX98_PTYS=y | 746 | CONFIG_UNIX98_PTYS=y |
742 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 747 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -765,7 +770,9 @@ CONFIG_GPIOLIB=y | |||
765 | # | 770 | # |
766 | # Memory mapped GPIO expanders: | 771 | # Memory mapped GPIO expanders: |
767 | # | 772 | # |
773 | # CONFIG_GPIO_IT8761E is not set | ||
768 | # CONFIG_GPIO_XILINX is not set | 774 | # CONFIG_GPIO_XILINX is not set |
775 | # CONFIG_GPIO_SCH is not set | ||
769 | 776 | ||
770 | # | 777 | # |
771 | # I2C GPIO expanders: | 778 | # I2C GPIO expanders: |
@@ -804,6 +811,8 @@ CONFIG_SSB_POSSIBLE=y | |||
804 | # CONFIG_MFD_SM501 is not set | 811 | # CONFIG_MFD_SM501 is not set |
805 | # CONFIG_HTC_PASIC3 is not set | 812 | # CONFIG_HTC_PASIC3 is not set |
806 | # CONFIG_MFD_TMIO is not set | 813 | # CONFIG_MFD_TMIO is not set |
814 | # CONFIG_MFD_TIMBERDALE is not set | ||
815 | # CONFIG_LPC_SCH is not set | ||
807 | # CONFIG_REGULATOR is not set | 816 | # CONFIG_REGULATOR is not set |
808 | # CONFIG_MEDIA_SUPPORT is not set | 817 | # CONFIG_MEDIA_SUPPORT is not set |
809 | 818 | ||
@@ -812,6 +821,7 @@ CONFIG_SSB_POSSIBLE=y | |||
812 | # | 821 | # |
813 | # CONFIG_AGP is not set | 822 | # CONFIG_AGP is not set |
814 | CONFIG_VGA_ARB=y | 823 | CONFIG_VGA_ARB=y |
824 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
815 | # CONFIG_DRM is not set | 825 | # CONFIG_DRM is not set |
816 | # CONFIG_VGASTATE is not set | 826 | # CONFIG_VGASTATE is not set |
817 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 827 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -869,6 +879,7 @@ CONFIG_AUTOFS4_FS=y | |||
869 | # | 879 | # |
870 | # Caches | 880 | # Caches |
871 | # | 881 | # |
882 | # CONFIG_FSCACHE is not set | ||
872 | 883 | ||
873 | # | 884 | # |
874 | # CD-ROM/DVD Filesystems | 885 | # CD-ROM/DVD Filesystems |
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig index 58f7ca71a59d..1cee889dd9ec 100644 --- a/arch/powerpc/configs/ep88xc_defconfig +++ b/arch/powerpc/configs/ep88xc_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:00 2010 | 4 | # Mon Apr 19 23:16:24 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -90,14 +90,8 @@ CONFIG_RCU_FANOUT=32 | |||
90 | # CONFIG_TREE_RCU_TRACE is not set | 90 | # CONFIG_TREE_RCU_TRACE is not set |
91 | # CONFIG_IKCONFIG is not set | 91 | # CONFIG_IKCONFIG is not set |
92 | CONFIG_LOG_BUF_SHIFT=14 | 92 | CONFIG_LOG_BUF_SHIFT=14 |
93 | CONFIG_GROUP_SCHED=y | ||
94 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
95 | # CONFIG_RT_GROUP_SCHED is not set | ||
96 | CONFIG_USER_SCHED=y | ||
97 | # CONFIG_CGROUP_SCHED is not set | ||
98 | # CONFIG_CGROUPS is not set | 93 | # CONFIG_CGROUPS is not set |
99 | CONFIG_SYSFS_DEPRECATED=y | 94 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
100 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
101 | # CONFIG_RELAY is not set | 95 | # CONFIG_RELAY is not set |
102 | # CONFIG_NAMESPACES is not set | 96 | # CONFIG_NAMESPACES is not set |
103 | # CONFIG_BLK_DEV_INITRD is not set | 97 | # CONFIG_BLK_DEV_INITRD is not set |
@@ -306,6 +300,7 @@ CONFIG_ISA_DMA_API=y | |||
306 | # Bus options | 300 | # Bus options |
307 | # | 301 | # |
308 | CONFIG_ZONE_DMA=y | 302 | CONFIG_ZONE_DMA=y |
303 | CONFIG_NEED_DMA_MAP_STATE=y | ||
309 | CONFIG_FSL_SOC=y | 304 | CONFIG_FSL_SOC=y |
310 | # CONFIG_PCI is not set | 305 | # CONFIG_PCI is not set |
311 | # CONFIG_PCI_DOMAINS is not set | 306 | # CONFIG_PCI_DOMAINS is not set |
@@ -335,7 +330,6 @@ CONFIG_NET=y | |||
335 | # Networking options | 330 | # Networking options |
336 | # | 331 | # |
337 | CONFIG_PACKET=y | 332 | CONFIG_PACKET=y |
338 | # CONFIG_PACKET_MMAP is not set | ||
339 | CONFIG_UNIX=y | 333 | CONFIG_UNIX=y |
340 | # CONFIG_NET_KEY is not set | 334 | # CONFIG_NET_KEY is not set |
341 | CONFIG_INET=y | 335 | CONFIG_INET=y |
@@ -504,6 +498,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
504 | # UBI - Unsorted block images | 498 | # UBI - Unsorted block images |
505 | # | 499 | # |
506 | # CONFIG_MTD_UBI is not set | 500 | # CONFIG_MTD_UBI is not set |
501 | CONFIG_OF_FLATTREE=y | ||
502 | CONFIG_OF_DYNAMIC=y | ||
507 | CONFIG_OF_DEVICE=y | 503 | CONFIG_OF_DEVICE=y |
508 | CONFIG_OF_MDIO=y | 504 | CONFIG_OF_MDIO=y |
509 | # CONFIG_PARPORT is not set | 505 | # CONFIG_PARPORT is not set |
@@ -515,6 +511,7 @@ CONFIG_HAVE_IDE=y | |||
515 | # | 511 | # |
516 | # SCSI device support | 512 | # SCSI device support |
517 | # | 513 | # |
514 | CONFIG_SCSI_MOD=y | ||
518 | # CONFIG_RAID_ATTRS is not set | 515 | # CONFIG_RAID_ATTRS is not set |
519 | # CONFIG_SCSI is not set | 516 | # CONFIG_SCSI is not set |
520 | # CONFIG_SCSI_DMA is not set | 517 | # CONFIG_SCSI_DMA is not set |
@@ -616,6 +613,7 @@ CONFIG_SERIAL_CORE=y | |||
616 | CONFIG_SERIAL_CORE_CONSOLE=y | 613 | CONFIG_SERIAL_CORE_CONSOLE=y |
617 | CONFIG_SERIAL_CPM=y | 614 | CONFIG_SERIAL_CPM=y |
618 | CONFIG_SERIAL_CPM_CONSOLE=y | 615 | CONFIG_SERIAL_CPM_CONSOLE=y |
616 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
619 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 617 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
620 | CONFIG_UNIX98_PTYS=y | 618 | CONFIG_UNIX98_PTYS=y |
621 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 619 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -753,6 +751,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
753 | # CONFIG_BFS_FS is not set | 751 | # CONFIG_BFS_FS is not set |
754 | # CONFIG_EFS_FS is not set | 752 | # CONFIG_EFS_FS is not set |
755 | # CONFIG_JFFS2_FS is not set | 753 | # CONFIG_JFFS2_FS is not set |
754 | # CONFIG_LOGFS is not set | ||
756 | CONFIG_CRAMFS=y | 755 | CONFIG_CRAMFS=y |
757 | # CONFIG_SQUASHFS is not set | 756 | # CONFIG_SQUASHFS is not set |
758 | # CONFIG_VXFS_FS is not set | 757 | # CONFIG_VXFS_FS is not set |
@@ -777,6 +776,7 @@ CONFIG_SUNRPC=y | |||
777 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 776 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
778 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 777 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
779 | # CONFIG_SMB_FS is not set | 778 | # CONFIG_SMB_FS is not set |
779 | # CONFIG_CEPH_FS is not set | ||
780 | # CONFIG_CIFS is not set | 780 | # CONFIG_CIFS is not set |
781 | # CONFIG_NCP_FS is not set | 781 | # CONFIG_NCP_FS is not set |
782 | # CONFIG_CODA_FS is not set | 782 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig index 826a65d3f002..57d3ffa3026a 100644 --- a/arch/powerpc/configs/g5_defconfig +++ b/arch/powerpc/configs/g5_defconfig | |||
@@ -82,8 +82,7 @@ CONFIG_IKCONFIG_PROC=y | |||
82 | CONFIG_LOG_BUF_SHIFT=17 | 82 | CONFIG_LOG_BUF_SHIFT=17 |
83 | # CONFIG_CGROUPS is not set | 83 | # CONFIG_CGROUPS is not set |
84 | # CONFIG_GROUP_SCHED is not set | 84 | # CONFIG_GROUP_SCHED is not set |
85 | CONFIG_SYSFS_DEPRECATED=y | 85 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
86 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
87 | # CONFIG_RELAY is not set | 86 | # CONFIG_RELAY is not set |
88 | CONFIG_NAMESPACES=y | 87 | CONFIG_NAMESPACES=y |
89 | # CONFIG_UTS_NS is not set | 88 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/gamecube_defconfig b/arch/powerpc/configs/gamecube_defconfig index 942e1193e9e4..1c2dbf07ac35 100644 --- a/arch/powerpc/configs/gamecube_defconfig +++ b/arch/powerpc/configs/gamecube_defconfig | |||
@@ -101,8 +101,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
101 | CONFIG_USER_SCHED=y | 101 | CONFIG_USER_SCHED=y |
102 | # CONFIG_CGROUP_SCHED is not set | 102 | # CONFIG_CGROUP_SCHED is not set |
103 | # CONFIG_CGROUPS is not set | 103 | # CONFIG_CGROUPS is not set |
104 | CONFIG_SYSFS_DEPRECATED=y | 104 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
105 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
106 | # CONFIG_RELAY is not set | 105 | # CONFIG_RELAY is not set |
107 | # CONFIG_NAMESPACES is not set | 106 | # CONFIG_NAMESPACES is not set |
108 | CONFIG_BLK_DEV_INITRD=y | 107 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/holly_defconfig b/arch/powerpc/configs/holly_defconfig index a211a79959ca..a60d61bee48d 100644 --- a/arch/powerpc/configs/holly_defconfig +++ b/arch/powerpc/configs/holly_defconfig | |||
@@ -73,7 +73,6 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
73 | CONFIG_LOG_BUF_SHIFT=14 | 73 | CONFIG_LOG_BUF_SHIFT=14 |
74 | # CONFIG_CGROUPS is not set | 74 | # CONFIG_CGROUPS is not set |
75 | # CONFIG_FAIR_GROUP_SCHED is not set | 75 | # CONFIG_FAIR_GROUP_SCHED is not set |
76 | CONFIG_SYSFS_DEPRECATED=y | ||
77 | # CONFIG_RELAY is not set | 76 | # CONFIG_RELAY is not set |
78 | CONFIG_BLK_DEV_INITRD=y | 77 | CONFIG_BLK_DEV_INITRD=y |
79 | CONFIG_INITRAMFS_SOURCE="" | 78 | CONFIG_INITRAMFS_SOURCE="" |
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig index 76982c51a4c7..151c8e14f3ab 100644 --- a/arch/powerpc/configs/iseries_defconfig +++ b/arch/powerpc/configs/iseries_defconfig | |||
@@ -81,8 +81,7 @@ CONFIG_IKCONFIG_PROC=y | |||
81 | CONFIG_LOG_BUF_SHIFT=17 | 81 | CONFIG_LOG_BUF_SHIFT=17 |
82 | # CONFIG_CGROUPS is not set | 82 | # CONFIG_CGROUPS is not set |
83 | # CONFIG_GROUP_SCHED is not set | 83 | # CONFIG_GROUP_SCHED is not set |
84 | CONFIG_SYSFS_DEPRECATED=y | 84 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
85 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
86 | # CONFIG_RELAY is not set | 85 | # CONFIG_RELAY is not set |
87 | CONFIG_NAMESPACES=y | 86 | CONFIG_NAMESPACES=y |
88 | # CONFIG_UTS_NS is not set | 87 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig index 9a0c981277eb..8ecacf74d3e5 100644 --- a/arch/powerpc/configs/linkstation_defconfig +++ b/arch/powerpc/configs/linkstation_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:01 2010 | 4 | # Mon Apr 19 23:16:25 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32 | |||
96 | CONFIG_IKCONFIG=y | 96 | CONFIG_IKCONFIG=y |
97 | CONFIG_IKCONFIG_PROC=y | 97 | CONFIG_IKCONFIG_PROC=y |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | CONFIG_GROUP_SCHED=y | ||
100 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
101 | # CONFIG_RT_GROUP_SCHED is not set | ||
102 | CONFIG_USER_SCHED=y | ||
103 | # CONFIG_CGROUP_SCHED is not set | ||
104 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
108 | CONFIG_NAMESPACES=y | 102 | CONFIG_NAMESPACES=y |
109 | # CONFIG_UTS_NS is not set | 103 | # CONFIG_UTS_NS is not set |
@@ -116,6 +110,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
116 | CONFIG_RD_GZIP=y | 110 | CONFIG_RD_GZIP=y |
117 | CONFIG_RD_BZIP2=y | 111 | CONFIG_RD_BZIP2=y |
118 | CONFIG_RD_LZMA=y | 112 | CONFIG_RD_LZMA=y |
113 | CONFIG_RD_LZO=y | ||
119 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 114 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
120 | CONFIG_SYSCTL=y | 115 | CONFIG_SYSCTL=y |
121 | CONFIG_ANON_INODES=y | 116 | CONFIG_ANON_INODES=y |
@@ -328,6 +323,7 @@ CONFIG_ISA_DMA_API=y | |||
328 | # Bus options | 323 | # Bus options |
329 | # | 324 | # |
330 | CONFIG_ZONE_DMA=y | 325 | CONFIG_ZONE_DMA=y |
326 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
331 | CONFIG_GENERIC_ISA_DMA=y | 327 | CONFIG_GENERIC_ISA_DMA=y |
332 | CONFIG_PPC_INDIRECT_PCI=y | 328 | CONFIG_PPC_INDIRECT_PCI=y |
333 | CONFIG_FSL_SOC=y | 329 | CONFIG_FSL_SOC=y |
@@ -337,7 +333,6 @@ CONFIG_PCI_SYSCALL=y | |||
337 | # CONFIG_PCIEPORTBUS is not set | 333 | # CONFIG_PCIEPORTBUS is not set |
338 | CONFIG_ARCH_SUPPORTS_MSI=y | 334 | CONFIG_ARCH_SUPPORTS_MSI=y |
339 | # CONFIG_PCI_MSI is not set | 335 | # CONFIG_PCI_MSI is not set |
340 | # CONFIG_PCI_LEGACY is not set | ||
341 | # CONFIG_PCI_DEBUG is not set | 336 | # CONFIG_PCI_DEBUG is not set |
342 | # CONFIG_PCI_STUB is not set | 337 | # CONFIG_PCI_STUB is not set |
343 | # CONFIG_PCI_IOV is not set | 338 | # CONFIG_PCI_IOV is not set |
@@ -364,7 +359,6 @@ CONFIG_NET=y | |||
364 | # Networking options | 359 | # Networking options |
365 | # | 360 | # |
366 | CONFIG_PACKET=y | 361 | CONFIG_PACKET=y |
367 | CONFIG_PACKET_MMAP=y | ||
368 | CONFIG_UNIX=y | 362 | CONFIG_UNIX=y |
369 | CONFIG_XFRM=y | 363 | CONFIG_XFRM=y |
370 | # CONFIG_XFRM_USER is not set | 364 | # CONFIG_XFRM_USER is not set |
@@ -433,6 +427,7 @@ CONFIG_NF_CONNTRACK_TFTP=m | |||
433 | CONFIG_NETFILTER_XTABLES=m | 427 | CONFIG_NETFILTER_XTABLES=m |
434 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | 428 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set |
435 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set | 429 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set |
430 | # CONFIG_NETFILTER_XT_TARGET_CT is not set | ||
436 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | 431 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set |
437 | CONFIG_NETFILTER_XT_TARGET_HL=m | 432 | CONFIG_NETFILTER_XT_TARGET_HL=m |
438 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | 433 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set |
@@ -665,6 +660,8 @@ CONFIG_MTD_PHYSMAP=y | |||
665 | # UBI - Unsorted block images | 660 | # UBI - Unsorted block images |
666 | # | 661 | # |
667 | # CONFIG_MTD_UBI is not set | 662 | # CONFIG_MTD_UBI is not set |
663 | CONFIG_OF_FLATTREE=y | ||
664 | CONFIG_OF_DYNAMIC=y | ||
668 | CONFIG_OF_DEVICE=y | 665 | CONFIG_OF_DEVICE=y |
669 | CONFIG_OF_I2C=y | 666 | CONFIG_OF_I2C=y |
670 | # CONFIG_PARPORT is not set | 667 | # CONFIG_PARPORT is not set |
@@ -700,6 +697,7 @@ CONFIG_MISC_DEVICES=y | |||
700 | # CONFIG_ENCLOSURE_SERVICES is not set | 697 | # CONFIG_ENCLOSURE_SERVICES is not set |
701 | # CONFIG_HP_ILO is not set | 698 | # CONFIG_HP_ILO is not set |
702 | # CONFIG_ISL29003 is not set | 699 | # CONFIG_ISL29003 is not set |
700 | # CONFIG_SENSORS_TSL2550 is not set | ||
703 | # CONFIG_DS1682 is not set | 701 | # CONFIG_DS1682 is not set |
704 | # CONFIG_C2PORT is not set | 702 | # CONFIG_C2PORT is not set |
705 | 703 | ||
@@ -717,6 +715,7 @@ CONFIG_HAVE_IDE=y | |||
717 | # | 715 | # |
718 | # SCSI device support | 716 | # SCSI device support |
719 | # | 717 | # |
718 | CONFIG_SCSI_MOD=y | ||
720 | # CONFIG_RAID_ATTRS is not set | 719 | # CONFIG_RAID_ATTRS is not set |
721 | CONFIG_SCSI=y | 720 | CONFIG_SCSI=y |
722 | CONFIG_SCSI_DMA=y | 721 | CONFIG_SCSI_DMA=y |
@@ -840,6 +839,7 @@ CONFIG_ATA_SFF=y | |||
840 | CONFIG_PATA_IT821X=y | 839 | CONFIG_PATA_IT821X=y |
841 | # CONFIG_PATA_IT8213 is not set | 840 | # CONFIG_PATA_IT8213 is not set |
842 | # CONFIG_PATA_JMICRON is not set | 841 | # CONFIG_PATA_JMICRON is not set |
842 | # CONFIG_PATA_LEGACY is not set | ||
843 | # CONFIG_PATA_TRIFLEX is not set | 843 | # CONFIG_PATA_TRIFLEX is not set |
844 | # CONFIG_PATA_MARVELL is not set | 844 | # CONFIG_PATA_MARVELL is not set |
845 | # CONFIG_PATA_MPIIX is not set | 845 | # CONFIG_PATA_MPIIX is not set |
@@ -954,6 +954,8 @@ CONFIG_NETDEV_10000=y | |||
954 | # CONFIG_CHELSIO_T1 is not set | 954 | # CONFIG_CHELSIO_T1 is not set |
955 | CONFIG_CHELSIO_T3_DEPENDS=y | 955 | CONFIG_CHELSIO_T3_DEPENDS=y |
956 | # CONFIG_CHELSIO_T3 is not set | 956 | # CONFIG_CHELSIO_T3 is not set |
957 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
958 | # CONFIG_CHELSIO_T4 is not set | ||
957 | # CONFIG_ENIC is not set | 959 | # CONFIG_ENIC is not set |
958 | # CONFIG_IXGBE is not set | 960 | # CONFIG_IXGBE is not set |
959 | # CONFIG_IXGB is not set | 961 | # CONFIG_IXGB is not set |
@@ -966,6 +968,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
966 | # CONFIG_MLX4_CORE is not set | 968 | # CONFIG_MLX4_CORE is not set |
967 | # CONFIG_TEHUTI is not set | 969 | # CONFIG_TEHUTI is not set |
968 | # CONFIG_BNX2X is not set | 970 | # CONFIG_BNX2X is not set |
971 | # CONFIG_QLCNIC is not set | ||
969 | # CONFIG_QLGE is not set | 972 | # CONFIG_QLGE is not set |
970 | # CONFIG_SFC is not set | 973 | # CONFIG_SFC is not set |
971 | # CONFIG_BE2NET is not set | 974 | # CONFIG_BE2NET is not set |
@@ -1082,6 +1085,7 @@ CONFIG_SERIAL_CORE=y | |||
1082 | CONFIG_SERIAL_CORE_CONSOLE=y | 1085 | CONFIG_SERIAL_CORE_CONSOLE=y |
1083 | # CONFIG_SERIAL_JSM is not set | 1086 | # CONFIG_SERIAL_JSM is not set |
1084 | # CONFIG_SERIAL_OF_PLATFORM is not set | 1087 | # CONFIG_SERIAL_OF_PLATFORM is not set |
1088 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1085 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1089 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1086 | CONFIG_UNIX98_PTYS=y | 1090 | CONFIG_UNIX98_PTYS=y |
1087 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1091 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1131,6 +1135,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1131 | CONFIG_I2C_MPC=y | 1135 | CONFIG_I2C_MPC=y |
1132 | # CONFIG_I2C_OCORES is not set | 1136 | # CONFIG_I2C_OCORES is not set |
1133 | # CONFIG_I2C_SIMTEC is not set | 1137 | # CONFIG_I2C_SIMTEC is not set |
1138 | # CONFIG_I2C_XILINX is not set | ||
1134 | 1139 | ||
1135 | # | 1140 | # |
1136 | # External I2C/SMBus adapter drivers | 1141 | # External I2C/SMBus adapter drivers |
@@ -1144,15 +1149,9 @@ CONFIG_I2C_MPC=y | |||
1144 | # | 1149 | # |
1145 | # CONFIG_I2C_PCA_PLATFORM is not set | 1150 | # CONFIG_I2C_PCA_PLATFORM is not set |
1146 | # CONFIG_I2C_STUB is not set | 1151 | # CONFIG_I2C_STUB is not set |
1147 | |||
1148 | # | ||
1149 | # Miscellaneous I2C Chip support | ||
1150 | # | ||
1151 | # CONFIG_SENSORS_TSL2550 is not set | ||
1152 | # CONFIG_I2C_DEBUG_CORE is not set | 1152 | # CONFIG_I2C_DEBUG_CORE is not set |
1153 | # CONFIG_I2C_DEBUG_ALGO is not set | 1153 | # CONFIG_I2C_DEBUG_ALGO is not set |
1154 | # CONFIG_I2C_DEBUG_BUS is not set | 1154 | # CONFIG_I2C_DEBUG_BUS is not set |
1155 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1156 | # CONFIG_SPI is not set | 1155 | # CONFIG_SPI is not set |
1157 | 1156 | ||
1158 | # | 1157 | # |
@@ -1178,10 +1177,11 @@ CONFIG_HWMON=y | |||
1178 | # CONFIG_SENSORS_ADM1029 is not set | 1177 | # CONFIG_SENSORS_ADM1029 is not set |
1179 | # CONFIG_SENSORS_ADM1031 is not set | 1178 | # CONFIG_SENSORS_ADM1031 is not set |
1180 | # CONFIG_SENSORS_ADM9240 is not set | 1179 | # CONFIG_SENSORS_ADM9240 is not set |
1180 | # CONFIG_SENSORS_ADT7411 is not set | ||
1181 | # CONFIG_SENSORS_ADT7462 is not set | 1181 | # CONFIG_SENSORS_ADT7462 is not set |
1182 | # CONFIG_SENSORS_ADT7470 is not set | 1182 | # CONFIG_SENSORS_ADT7470 is not set |
1183 | # CONFIG_SENSORS_ADT7473 is not set | ||
1184 | # CONFIG_SENSORS_ADT7475 is not set | 1183 | # CONFIG_SENSORS_ADT7475 is not set |
1184 | # CONFIG_SENSORS_ASC7621 is not set | ||
1185 | # CONFIG_SENSORS_ATXP1 is not set | 1185 | # CONFIG_SENSORS_ATXP1 is not set |
1186 | # CONFIG_SENSORS_DS1621 is not set | 1186 | # CONFIG_SENSORS_DS1621 is not set |
1187 | # CONFIG_SENSORS_I5K_AMB is not set | 1187 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1218,6 +1218,7 @@ CONFIG_HWMON=y | |||
1218 | # CONFIG_SENSORS_SMSC47M192 is not set | 1218 | # CONFIG_SENSORS_SMSC47M192 is not set |
1219 | # CONFIG_SENSORS_SMSC47B397 is not set | 1219 | # CONFIG_SENSORS_SMSC47B397 is not set |
1220 | # CONFIG_SENSORS_ADS7828 is not set | 1220 | # CONFIG_SENSORS_ADS7828 is not set |
1221 | # CONFIG_SENSORS_AMC6821 is not set | ||
1221 | # CONFIG_SENSORS_THMC50 is not set | 1222 | # CONFIG_SENSORS_THMC50 is not set |
1222 | # CONFIG_SENSORS_TMP401 is not set | 1223 | # CONFIG_SENSORS_TMP401 is not set |
1223 | # CONFIG_SENSORS_TMP421 is not set | 1224 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1246,18 +1247,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1246 | # Multifunction device drivers | 1247 | # Multifunction device drivers |
1247 | # | 1248 | # |
1248 | # CONFIG_MFD_CORE is not set | 1249 | # CONFIG_MFD_CORE is not set |
1250 | # CONFIG_MFD_88PM860X is not set | ||
1249 | # CONFIG_MFD_SM501 is not set | 1251 | # CONFIG_MFD_SM501 is not set |
1250 | # CONFIG_HTC_PASIC3 is not set | 1252 | # CONFIG_HTC_PASIC3 is not set |
1251 | # CONFIG_TWL4030_CORE is not set | 1253 | # CONFIG_TWL4030_CORE is not set |
1252 | # CONFIG_MFD_TMIO is not set | 1254 | # CONFIG_MFD_TMIO is not set |
1253 | # CONFIG_PMIC_DA903X is not set | 1255 | # CONFIG_PMIC_DA903X is not set |
1254 | # CONFIG_PMIC_ADP5520 is not set | 1256 | # CONFIG_PMIC_ADP5520 is not set |
1257 | # CONFIG_MFD_MAX8925 is not set | ||
1255 | # CONFIG_MFD_WM8400 is not set | 1258 | # CONFIG_MFD_WM8400 is not set |
1256 | # CONFIG_MFD_WM831X is not set | 1259 | # CONFIG_MFD_WM831X is not set |
1257 | # CONFIG_MFD_WM8350_I2C is not set | 1260 | # CONFIG_MFD_WM8350_I2C is not set |
1261 | # CONFIG_MFD_WM8994 is not set | ||
1258 | # CONFIG_MFD_PCF50633 is not set | 1262 | # CONFIG_MFD_PCF50633 is not set |
1259 | # CONFIG_AB3100_CORE is not set | 1263 | # CONFIG_AB3100_CORE is not set |
1260 | # CONFIG_MFD_88PM8607 is not set | 1264 | # CONFIG_LPC_SCH is not set |
1261 | # CONFIG_REGULATOR is not set | 1265 | # CONFIG_REGULATOR is not set |
1262 | # CONFIG_MEDIA_SUPPORT is not set | 1266 | # CONFIG_MEDIA_SUPPORT is not set |
1263 | 1267 | ||
@@ -1266,6 +1270,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1266 | # | 1270 | # |
1267 | # CONFIG_AGP is not set | 1271 | # CONFIG_AGP is not set |
1268 | CONFIG_VGA_ARB=y | 1272 | CONFIG_VGA_ARB=y |
1273 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1269 | # CONFIG_DRM is not set | 1274 | # CONFIG_DRM is not set |
1270 | # CONFIG_VGASTATE is not set | 1275 | # CONFIG_VGASTATE is not set |
1271 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1276 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1417,6 +1422,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y | |||
1417 | # CONFIG_USB_SERIAL_NAVMAN is not set | 1422 | # CONFIG_USB_SERIAL_NAVMAN is not set |
1418 | # CONFIG_USB_SERIAL_PL2303 is not set | 1423 | # CONFIG_USB_SERIAL_PL2303 is not set |
1419 | # CONFIG_USB_SERIAL_OTI6858 is not set | 1424 | # CONFIG_USB_SERIAL_OTI6858 is not set |
1425 | # CONFIG_USB_SERIAL_QCAUX is not set | ||
1420 | # CONFIG_USB_SERIAL_QUALCOMM is not set | 1426 | # CONFIG_USB_SERIAL_QUALCOMM is not set |
1421 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | 1427 | # CONFIG_USB_SERIAL_SPCP8X5 is not set |
1422 | # CONFIG_USB_SERIAL_HP4X is not set | 1428 | # CONFIG_USB_SERIAL_HP4X is not set |
@@ -1430,6 +1436,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y | |||
1430 | # CONFIG_USB_SERIAL_OPTION is not set | 1436 | # CONFIG_USB_SERIAL_OPTION is not set |
1431 | # CONFIG_USB_SERIAL_OMNINET is not set | 1437 | # CONFIG_USB_SERIAL_OMNINET is not set |
1432 | # CONFIG_USB_SERIAL_OPTICON is not set | 1438 | # CONFIG_USB_SERIAL_OPTICON is not set |
1439 | # CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set | ||
1433 | # CONFIG_USB_SERIAL_DEBUG is not set | 1440 | # CONFIG_USB_SERIAL_DEBUG is not set |
1434 | 1441 | ||
1435 | # | 1442 | # |
@@ -1442,7 +1449,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y | |||
1442 | # CONFIG_USB_RIO500 is not set | 1449 | # CONFIG_USB_RIO500 is not set |
1443 | # CONFIG_USB_LEGOTOWER is not set | 1450 | # CONFIG_USB_LEGOTOWER is not set |
1444 | # CONFIG_USB_LCD is not set | 1451 | # CONFIG_USB_LCD is not set |
1445 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1446 | # CONFIG_USB_LED is not set | 1452 | # CONFIG_USB_LED is not set |
1447 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1453 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1448 | # CONFIG_USB_CYTHERM is not set | 1454 | # CONFIG_USB_CYTHERM is not set |
@@ -1455,7 +1461,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y | |||
1455 | # CONFIG_USB_IOWARRIOR is not set | 1461 | # CONFIG_USB_IOWARRIOR is not set |
1456 | # CONFIG_USB_TEST is not set | 1462 | # CONFIG_USB_TEST is not set |
1457 | # CONFIG_USB_ISIGHTFW is not set | 1463 | # CONFIG_USB_ISIGHTFW is not set |
1458 | # CONFIG_USB_VST is not set | ||
1459 | # CONFIG_USB_GADGET is not set | 1464 | # CONFIG_USB_GADGET is not set |
1460 | 1465 | ||
1461 | # | 1466 | # |
@@ -1620,6 +1625,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1620 | # CONFIG_BFS_FS is not set | 1625 | # CONFIG_BFS_FS is not set |
1621 | # CONFIG_EFS_FS is not set | 1626 | # CONFIG_EFS_FS is not set |
1622 | # CONFIG_JFFS2_FS is not set | 1627 | # CONFIG_JFFS2_FS is not set |
1628 | # CONFIG_LOGFS is not set | ||
1623 | # CONFIG_CRAMFS is not set | 1629 | # CONFIG_CRAMFS is not set |
1624 | # CONFIG_SQUASHFS is not set | 1630 | # CONFIG_SQUASHFS is not set |
1625 | # CONFIG_VXFS_FS is not set | 1631 | # CONFIG_VXFS_FS is not set |
@@ -1651,6 +1657,7 @@ CONFIG_SUNRPC_GSS=y | |||
1651 | CONFIG_RPCSEC_GSS_KRB5=y | 1657 | CONFIG_RPCSEC_GSS_KRB5=y |
1652 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1658 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1653 | # CONFIG_SMB_FS is not set | 1659 | # CONFIG_SMB_FS is not set |
1660 | # CONFIG_CEPH_FS is not set | ||
1654 | CONFIG_CIFS=m | 1661 | CONFIG_CIFS=m |
1655 | # CONFIG_CIFS_STATS is not set | 1662 | # CONFIG_CIFS_STATS is not set |
1656 | # CONFIG_CIFS_WEAK_PW_HASH is not set | 1663 | # CONFIG_CIFS_WEAK_PW_HASH is not set |
@@ -1723,9 +1730,11 @@ CONFIG_CRC32=y | |||
1723 | CONFIG_LIBCRC32C=m | 1730 | CONFIG_LIBCRC32C=m |
1724 | CONFIG_ZLIB_INFLATE=y | 1731 | CONFIG_ZLIB_INFLATE=y |
1725 | CONFIG_ZLIB_DEFLATE=m | 1732 | CONFIG_ZLIB_DEFLATE=m |
1733 | CONFIG_LZO_DECOMPRESS=y | ||
1726 | CONFIG_DECOMPRESS_GZIP=y | 1734 | CONFIG_DECOMPRESS_GZIP=y |
1727 | CONFIG_DECOMPRESS_BZIP2=y | 1735 | CONFIG_DECOMPRESS_BZIP2=y |
1728 | CONFIG_DECOMPRESS_LZMA=y | 1736 | CONFIG_DECOMPRESS_LZMA=y |
1737 | CONFIG_DECOMPRESS_LZO=y | ||
1729 | CONFIG_TEXTSEARCH=y | 1738 | CONFIG_TEXTSEARCH=y |
1730 | CONFIG_TEXTSEARCH_KMP=m | 1739 | CONFIG_TEXTSEARCH_KMP=m |
1731 | CONFIG_HAS_IOMEM=y | 1740 | CONFIG_HAS_IOMEM=y |
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig index 8b244003b9e1..dc50eec58e78 100644 --- a/arch/powerpc/configs/maple_defconfig +++ b/arch/powerpc/configs/maple_defconfig | |||
@@ -78,8 +78,7 @@ CONFIG_IKCONFIG_PROC=y | |||
78 | CONFIG_LOG_BUF_SHIFT=17 | 78 | CONFIG_LOG_BUF_SHIFT=17 |
79 | # CONFIG_CGROUPS is not set | 79 | # CONFIG_CGROUPS is not set |
80 | # CONFIG_GROUP_SCHED is not set | 80 | # CONFIG_GROUP_SCHED is not set |
81 | CONFIG_SYSFS_DEPRECATED=y | 81 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
82 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
83 | # CONFIG_RELAY is not set | 82 | # CONFIG_RELAY is not set |
84 | CONFIG_NAMESPACES=y | 83 | CONFIG_NAMESPACES=y |
85 | # CONFIG_UTS_NS is not set | 84 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig index 4c2c877f9363..b36ebb7e843e 100644 --- a/arch/powerpc/configs/mgcoge_defconfig +++ b/arch/powerpc/configs/mgcoge_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:02 2010 | 4 | # Mon Apr 19 23:16:26 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,8 +96,7 @@ CONFIG_IKCONFIG=y | |||
96 | CONFIG_IKCONFIG_PROC=y | 96 | CONFIG_IKCONFIG_PROC=y |
97 | CONFIG_LOG_BUF_SHIFT=14 | 97 | CONFIG_LOG_BUF_SHIFT=14 |
98 | # CONFIG_CGROUPS is not set | 98 | # CONFIG_CGROUPS is not set |
99 | CONFIG_SYSFS_DEPRECATED=y | 99 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
100 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
101 | # CONFIG_RELAY is not set | 100 | # CONFIG_RELAY is not set |
102 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
103 | CONFIG_BLK_DEV_INITRD=y | 102 | CONFIG_BLK_DEV_INITRD=y |
@@ -105,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
105 | CONFIG_RD_GZIP=y | 104 | CONFIG_RD_GZIP=y |
106 | # CONFIG_RD_BZIP2 is not set | 105 | # CONFIG_RD_BZIP2 is not set |
107 | # CONFIG_RD_LZMA is not set | 106 | # CONFIG_RD_LZMA is not set |
107 | # CONFIG_RD_LZO is not set | ||
108 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 108 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
109 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
110 | CONFIG_ANON_INODES=y | 110 | CONFIG_ANON_INODES=y |
@@ -311,6 +311,7 @@ CONFIG_ISA_DMA_API=y | |||
311 | # | 311 | # |
312 | # CONFIG_ISA is not set | 312 | # CONFIG_ISA is not set |
313 | CONFIG_ZONE_DMA=y | 313 | CONFIG_ZONE_DMA=y |
314 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
314 | CONFIG_PPC_INDIRECT_PCI=y | 315 | CONFIG_PPC_INDIRECT_PCI=y |
315 | CONFIG_FSL_SOC=y | 316 | CONFIG_FSL_SOC=y |
316 | CONFIG_PPC_PCI_CHOICE=y | 317 | CONFIG_PPC_PCI_CHOICE=y |
@@ -321,7 +322,6 @@ CONFIG_PCI_8260=y | |||
321 | # CONFIG_PCIEPORTBUS is not set | 322 | # CONFIG_PCIEPORTBUS is not set |
322 | CONFIG_ARCH_SUPPORTS_MSI=y | 323 | CONFIG_ARCH_SUPPORTS_MSI=y |
323 | # CONFIG_PCI_MSI is not set | 324 | # CONFIG_PCI_MSI is not set |
324 | # CONFIG_PCI_LEGACY is not set | ||
325 | # CONFIG_PCI_DEBUG is not set | 325 | # CONFIG_PCI_DEBUG is not set |
326 | # CONFIG_PCI_STUB is not set | 326 | # CONFIG_PCI_STUB is not set |
327 | # CONFIG_PCI_IOV is not set | 327 | # CONFIG_PCI_IOV is not set |
@@ -348,7 +348,6 @@ CONFIG_NET=y | |||
348 | # Networking options | 348 | # Networking options |
349 | # | 349 | # |
350 | CONFIG_PACKET=y | 350 | CONFIG_PACKET=y |
351 | # CONFIG_PACKET_MMAP is not set | ||
352 | CONFIG_UNIX=y | 351 | CONFIG_UNIX=y |
353 | CONFIG_XFRM=y | 352 | CONFIG_XFRM=y |
354 | # CONFIG_XFRM_USER is not set | 353 | # CONFIG_XFRM_USER is not set |
@@ -536,6 +535,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
536 | # UBI - Unsorted block images | 535 | # UBI - Unsorted block images |
537 | # | 536 | # |
538 | # CONFIG_MTD_UBI is not set | 537 | # CONFIG_MTD_UBI is not set |
538 | CONFIG_OF_FLATTREE=y | ||
539 | CONFIG_OF_DYNAMIC=y | ||
539 | CONFIG_OF_DEVICE=y | 540 | CONFIG_OF_DEVICE=y |
540 | CONFIG_OF_GPIO=y | 541 | CONFIG_OF_GPIO=y |
541 | CONFIG_OF_I2C=y | 542 | CONFIG_OF_I2C=y |
@@ -570,6 +571,7 @@ CONFIG_HAVE_IDE=y | |||
570 | # | 571 | # |
571 | # SCSI device support | 572 | # SCSI device support |
572 | # | 573 | # |
574 | CONFIG_SCSI_MOD=y | ||
573 | # CONFIG_RAID_ATTRS is not set | 575 | # CONFIG_RAID_ATTRS is not set |
574 | # CONFIG_SCSI is not set | 576 | # CONFIG_SCSI is not set |
575 | # CONFIG_SCSI_DMA is not set | 577 | # CONFIG_SCSI_DMA is not set |
@@ -704,6 +706,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
704 | CONFIG_SERIAL_CPM=y | 706 | CONFIG_SERIAL_CPM=y |
705 | CONFIG_SERIAL_CPM_CONSOLE=y | 707 | CONFIG_SERIAL_CPM_CONSOLE=y |
706 | # CONFIG_SERIAL_JSM is not set | 708 | # CONFIG_SERIAL_JSM is not set |
709 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
707 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 710 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
708 | CONFIG_UNIX98_PTYS=y | 711 | CONFIG_UNIX98_PTYS=y |
709 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 712 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -769,14 +772,9 @@ CONFIG_I2C_CPM=y | |||
769 | # Other I2C/SMBus bus drivers | 772 | # Other I2C/SMBus bus drivers |
770 | # | 773 | # |
771 | # CONFIG_I2C_PCA_PLATFORM is not set | 774 | # CONFIG_I2C_PCA_PLATFORM is not set |
772 | |||
773 | # | ||
774 | # Miscellaneous I2C Chip support | ||
775 | # | ||
776 | # CONFIG_I2C_DEBUG_CORE is not set | 775 | # CONFIG_I2C_DEBUG_CORE is not set |
777 | # CONFIG_I2C_DEBUG_ALGO is not set | 776 | # CONFIG_I2C_DEBUG_ALGO is not set |
778 | # CONFIG_I2C_DEBUG_BUS is not set | 777 | # CONFIG_I2C_DEBUG_BUS is not set |
779 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
780 | # CONFIG_SPI is not set | 778 | # CONFIG_SPI is not set |
781 | 779 | ||
782 | # | 780 | # |
@@ -790,14 +788,18 @@ CONFIG_GPIOLIB=y | |||
790 | # | 788 | # |
791 | # Memory mapped GPIO expanders: | 789 | # Memory mapped GPIO expanders: |
792 | # | 790 | # |
791 | # CONFIG_GPIO_IT8761E is not set | ||
793 | # CONFIG_GPIO_XILINX is not set | 792 | # CONFIG_GPIO_XILINX is not set |
793 | # CONFIG_GPIO_SCH is not set | ||
794 | 794 | ||
795 | # | 795 | # |
796 | # I2C GPIO expanders: | 796 | # I2C GPIO expanders: |
797 | # | 797 | # |
798 | # CONFIG_GPIO_MAX7300 is not set | ||
798 | # CONFIG_GPIO_MAX732X is not set | 799 | # CONFIG_GPIO_MAX732X is not set |
799 | # CONFIG_GPIO_PCA953X is not set | 800 | # CONFIG_GPIO_PCA953X is not set |
800 | # CONFIG_GPIO_PCF857X is not set | 801 | # CONFIG_GPIO_PCF857X is not set |
802 | # CONFIG_GPIO_ADP5588 is not set | ||
801 | 803 | ||
802 | # | 804 | # |
803 | # PCI GPIO expanders: | 805 | # PCI GPIO expanders: |
@@ -829,19 +831,24 @@ CONFIG_SSB_POSSIBLE=y | |||
829 | # Multifunction device drivers | 831 | # Multifunction device drivers |
830 | # | 832 | # |
831 | # CONFIG_MFD_CORE is not set | 833 | # CONFIG_MFD_CORE is not set |
834 | # CONFIG_MFD_88PM860X is not set | ||
832 | # CONFIG_MFD_SM501 is not set | 835 | # CONFIG_MFD_SM501 is not set |
833 | # CONFIG_HTC_PASIC3 is not set | 836 | # CONFIG_HTC_PASIC3 is not set |
837 | # CONFIG_HTC_I2CPLD is not set | ||
834 | # CONFIG_TPS65010 is not set | 838 | # CONFIG_TPS65010 is not set |
835 | # CONFIG_TWL4030_CORE is not set | 839 | # CONFIG_TWL4030_CORE is not set |
836 | # CONFIG_MFD_TMIO is not set | 840 | # CONFIG_MFD_TMIO is not set |
837 | # CONFIG_PMIC_DA903X is not set | 841 | # CONFIG_PMIC_DA903X is not set |
838 | # CONFIG_PMIC_ADP5520 is not set | 842 | # CONFIG_PMIC_ADP5520 is not set |
843 | # CONFIG_MFD_MAX8925 is not set | ||
839 | # CONFIG_MFD_WM8400 is not set | 844 | # CONFIG_MFD_WM8400 is not set |
840 | # CONFIG_MFD_WM831X is not set | 845 | # CONFIG_MFD_WM831X is not set |
841 | # CONFIG_MFD_WM8350_I2C is not set | 846 | # CONFIG_MFD_WM8350_I2C is not set |
847 | # CONFIG_MFD_WM8994 is not set | ||
842 | # CONFIG_MFD_PCF50633 is not set | 848 | # CONFIG_MFD_PCF50633 is not set |
843 | # CONFIG_AB3100_CORE is not set | 849 | # CONFIG_AB3100_CORE is not set |
844 | # CONFIG_MFD_88PM8607 is not set | 850 | # CONFIG_MFD_TIMBERDALE is not set |
851 | # CONFIG_LPC_SCH is not set | ||
845 | # CONFIG_REGULATOR is not set | 852 | # CONFIG_REGULATOR is not set |
846 | # CONFIG_MEDIA_SUPPORT is not set | 853 | # CONFIG_MEDIA_SUPPORT is not set |
847 | 854 | ||
@@ -850,6 +857,7 @@ CONFIG_SSB_POSSIBLE=y | |||
850 | # | 857 | # |
851 | # CONFIG_AGP is not set | 858 | # CONFIG_AGP is not set |
852 | CONFIG_VGA_ARB=y | 859 | CONFIG_VGA_ARB=y |
860 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
853 | # CONFIG_DRM is not set | 861 | # CONFIG_DRM is not set |
854 | # CONFIG_VGASTATE is not set | 862 | # CONFIG_VGASTATE is not set |
855 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 863 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -908,6 +916,7 @@ CONFIG_AUTOFS4_FS=y | |||
908 | # | 916 | # |
909 | # Caches | 917 | # Caches |
910 | # | 918 | # |
919 | # CONFIG_FSCACHE is not set | ||
911 | 920 | ||
912 | # | 921 | # |
913 | # CD-ROM/DVD Filesystems | 922 | # CD-ROM/DVD Filesystems |
@@ -1100,6 +1109,7 @@ CONFIG_DEBUG_INFO=y | |||
1100 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1109 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1101 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1110 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1102 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 1111 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
1112 | # CONFIG_LKDTM is not set | ||
1103 | # CONFIG_FAULT_INJECTION is not set | 1113 | # CONFIG_FAULT_INJECTION is not set |
1104 | # CONFIG_LATENCYTOP is not set | 1114 | # CONFIG_LATENCYTOP is not set |
1105 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1115 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig index 9e090f2c7e36..0dd5015ea81d 100644 --- a/arch/powerpc/configs/mgsuvd_defconfig +++ b/arch/powerpc/configs/mgsuvd_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:03 2010 | 4 | # Mon Apr 19 23:16:27 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -89,14 +89,8 @@ CONFIG_RCU_FANOUT=32 | |||
89 | # CONFIG_TREE_RCU_TRACE is not set | 89 | # CONFIG_TREE_RCU_TRACE is not set |
90 | # CONFIG_IKCONFIG is not set | 90 | # CONFIG_IKCONFIG is not set |
91 | CONFIG_LOG_BUF_SHIFT=17 | 91 | CONFIG_LOG_BUF_SHIFT=17 |
92 | CONFIG_GROUP_SCHED=y | ||
93 | CONFIG_FAIR_GROUP_SCHED=y | ||
94 | # CONFIG_RT_GROUP_SCHED is not set | ||
95 | CONFIG_USER_SCHED=y | ||
96 | # CONFIG_CGROUP_SCHED is not set | ||
97 | # CONFIG_CGROUPS is not set | 92 | # CONFIG_CGROUPS is not set |
98 | CONFIG_SYSFS_DEPRECATED=y | 93 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
99 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
100 | # CONFIG_RELAY is not set | 94 | # CONFIG_RELAY is not set |
101 | # CONFIG_NAMESPACES is not set | 95 | # CONFIG_NAMESPACES is not set |
102 | CONFIG_BLK_DEV_INITRD=y | 96 | CONFIG_BLK_DEV_INITRD=y |
@@ -104,6 +98,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
104 | CONFIG_RD_GZIP=y | 98 | CONFIG_RD_GZIP=y |
105 | # CONFIG_RD_BZIP2 is not set | 99 | # CONFIG_RD_BZIP2 is not set |
106 | # CONFIG_RD_LZMA is not set | 100 | # CONFIG_RD_LZMA is not set |
101 | # CONFIG_RD_LZO is not set | ||
107 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 102 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
108 | CONFIG_SYSCTL=y | 103 | CONFIG_SYSCTL=y |
109 | CONFIG_ANON_INODES=y | 104 | CONFIG_ANON_INODES=y |
@@ -309,6 +304,7 @@ CONFIG_ISA_DMA_API=y | |||
309 | # Bus options | 304 | # Bus options |
310 | # | 305 | # |
311 | CONFIG_ZONE_DMA=y | 306 | CONFIG_ZONE_DMA=y |
307 | CONFIG_NEED_DMA_MAP_STATE=y | ||
312 | CONFIG_FSL_SOC=y | 308 | CONFIG_FSL_SOC=y |
313 | # CONFIG_PCI is not set | 309 | # CONFIG_PCI is not set |
314 | # CONFIG_PCI_DOMAINS is not set | 310 | # CONFIG_PCI_DOMAINS is not set |
@@ -337,7 +333,6 @@ CONFIG_NET=y | |||
337 | # Networking options | 333 | # Networking options |
338 | # | 334 | # |
339 | CONFIG_PACKET=y | 335 | CONFIG_PACKET=y |
340 | # CONFIG_PACKET_MMAP is not set | ||
341 | CONFIG_UNIX=y | 336 | CONFIG_UNIX=y |
342 | CONFIG_XFRM=y | 337 | CONFIG_XFRM=y |
343 | # CONFIG_XFRM_USER is not set | 338 | # CONFIG_XFRM_USER is not set |
@@ -515,6 +510,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
515 | # UBI - Unsorted block images | 510 | # UBI - Unsorted block images |
516 | # | 511 | # |
517 | # CONFIG_MTD_UBI is not set | 512 | # CONFIG_MTD_UBI is not set |
513 | CONFIG_OF_FLATTREE=y | ||
514 | CONFIG_OF_DYNAMIC=y | ||
518 | CONFIG_OF_DEVICE=y | 515 | CONFIG_OF_DEVICE=y |
519 | CONFIG_OF_MDIO=y | 516 | CONFIG_OF_MDIO=y |
520 | # CONFIG_PARPORT is not set | 517 | # CONFIG_PARPORT is not set |
@@ -542,6 +539,7 @@ CONFIG_HAVE_IDE=y | |||
542 | # | 539 | # |
543 | # SCSI device support | 540 | # SCSI device support |
544 | # | 541 | # |
542 | CONFIG_SCSI_MOD=y | ||
545 | # CONFIG_RAID_ATTRS is not set | 543 | # CONFIG_RAID_ATTRS is not set |
546 | # CONFIG_SCSI is not set | 544 | # CONFIG_SCSI is not set |
547 | # CONFIG_SCSI_DMA is not set | 545 | # CONFIG_SCSI_DMA is not set |
@@ -643,6 +641,7 @@ CONFIG_SERIAL_CORE=y | |||
643 | CONFIG_SERIAL_CORE_CONSOLE=y | 641 | CONFIG_SERIAL_CORE_CONSOLE=y |
644 | CONFIG_SERIAL_CPM=y | 642 | CONFIG_SERIAL_CPM=y |
645 | CONFIG_SERIAL_CPM_CONSOLE=y | 643 | CONFIG_SERIAL_CPM_CONSOLE=y |
644 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
646 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 645 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
647 | CONFIG_UNIX98_PTYS=y | 646 | CONFIG_UNIX98_PTYS=y |
648 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 647 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -801,6 +800,7 @@ CONFIG_JFFS2_ZLIB=y | |||
801 | # CONFIG_JFFS2_LZO is not set | 800 | # CONFIG_JFFS2_LZO is not set |
802 | CONFIG_JFFS2_RTIME=y | 801 | CONFIG_JFFS2_RTIME=y |
803 | # CONFIG_JFFS2_RUBIN is not set | 802 | # CONFIG_JFFS2_RUBIN is not set |
803 | # CONFIG_LOGFS is not set | ||
804 | CONFIG_CRAMFS=y | 804 | CONFIG_CRAMFS=y |
805 | # CONFIG_SQUASHFS is not set | 805 | # CONFIG_SQUASHFS is not set |
806 | # CONFIG_VXFS_FS is not set | 806 | # CONFIG_VXFS_FS is not set |
@@ -825,6 +825,7 @@ CONFIG_SUNRPC=y | |||
825 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 825 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
826 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 826 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
827 | # CONFIG_SMB_FS is not set | 827 | # CONFIG_SMB_FS is not set |
828 | # CONFIG_CEPH_FS is not set | ||
828 | # CONFIG_CIFS is not set | 829 | # CONFIG_CIFS is not set |
829 | # CONFIG_NCP_FS is not set | 830 | # CONFIG_NCP_FS is not set |
830 | # CONFIG_CODA_FS is not set | 831 | # CONFIG_CODA_FS is not set |
@@ -892,6 +893,7 @@ CONFIG_DEBUG_FS=y | |||
892 | # CONFIG_DEBUG_KERNEL is not set | 893 | # CONFIG_DEBUG_KERNEL is not set |
893 | # CONFIG_DEBUG_MEMORY_INIT is not set | 894 | # CONFIG_DEBUG_MEMORY_INIT is not set |
894 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 895 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
896 | # CONFIG_LKDTM is not set | ||
895 | # CONFIG_LATENCYTOP is not set | 897 | # CONFIG_LATENCYTOP is not set |
896 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 898 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
897 | CONFIG_HAVE_FUNCTION_TRACER=y | 899 | CONFIG_HAVE_FUNCTION_TRACER=y |
diff --git a/arch/powerpc/configs/mpc512x_defconfig b/arch/powerpc/configs/mpc512x_defconfig index a04727295d46..aa2654e6edeb 100644 --- a/arch/powerpc/configs/mpc512x_defconfig +++ b/arch/powerpc/configs/mpc512x_defconfig | |||
@@ -97,8 +97,7 @@ CONFIG_RCU_FANOUT=32 | |||
97 | CONFIG_LOG_BUF_SHIFT=16 | 97 | CONFIG_LOG_BUF_SHIFT=16 |
98 | # CONFIG_GROUP_SCHED is not set | 98 | # CONFIG_GROUP_SCHED is not set |
99 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
100 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
101 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
102 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
103 | CONFIG_NAMESPACES=y | 102 | CONFIG_NAMESPACES=y |
104 | # CONFIG_UTS_NS is not set | 103 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/mpc5200_defconfig b/arch/powerpc/configs/mpc5200_defconfig index 7012ac0134f0..f875ec21c91c 100644 --- a/arch/powerpc/configs/mpc5200_defconfig +++ b/arch/powerpc/configs/mpc5200_defconfig | |||
@@ -97,8 +97,7 @@ CONFIG_RCU_FANOUT=32 | |||
97 | # CONFIG_IKCONFIG is not set | 97 | # CONFIG_IKCONFIG is not set |
98 | CONFIG_LOG_BUF_SHIFT=14 | 98 | CONFIG_LOG_BUF_SHIFT=14 |
99 | # CONFIG_CGROUPS is not set | 99 | # CONFIG_CGROUPS is not set |
100 | CONFIG_SYSFS_DEPRECATED=y | 100 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
101 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
102 | # CONFIG_RELAY is not set | 101 | # CONFIG_RELAY is not set |
103 | CONFIG_NAMESPACES=y | 102 | CONFIG_NAMESPACES=y |
104 | # CONFIG_UTS_NS is not set | 103 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig index 1315b775a6d2..b1e88fe1d9fb 100644 --- a/arch/powerpc/configs/mpc7448_hpc2_defconfig +++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:04 2010 | 4 | # Mon Apr 19 23:16:28 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -94,14 +94,8 @@ CONFIG_RCU_FANOUT=32 | |||
94 | # CONFIG_TREE_RCU_TRACE is not set | 94 | # CONFIG_TREE_RCU_TRACE is not set |
95 | # CONFIG_IKCONFIG is not set | 95 | # CONFIG_IKCONFIG is not set |
96 | CONFIG_LOG_BUF_SHIFT=14 | 96 | CONFIG_LOG_BUF_SHIFT=14 |
97 | CONFIG_GROUP_SCHED=y | ||
98 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
99 | # CONFIG_RT_GROUP_SCHED is not set | ||
100 | CONFIG_USER_SCHED=y | ||
101 | # CONFIG_CGROUP_SCHED is not set | ||
102 | # CONFIG_CGROUPS is not set | 97 | # CONFIG_CGROUPS is not set |
103 | CONFIG_SYSFS_DEPRECATED=y | 98 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
104 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
105 | # CONFIG_RELAY is not set | 99 | # CONFIG_RELAY is not set |
106 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
107 | CONFIG_BLK_DEV_INITRD=y | 101 | CONFIG_BLK_DEV_INITRD=y |
@@ -109,6 +103,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
109 | CONFIG_RD_GZIP=y | 103 | CONFIG_RD_GZIP=y |
110 | # CONFIG_RD_BZIP2 is not set | 104 | # CONFIG_RD_BZIP2 is not set |
111 | # CONFIG_RD_LZMA is not set | 105 | # CONFIG_RD_LZMA is not set |
106 | # CONFIG_RD_LZO is not set | ||
112 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 107 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
113 | CONFIG_SYSCTL=y | 108 | CONFIG_SYSCTL=y |
114 | CONFIG_ANON_INODES=y | 109 | CONFIG_ANON_INODES=y |
@@ -311,6 +306,7 @@ CONFIG_ISA_DMA_API=y | |||
311 | # Bus options | 306 | # Bus options |
312 | # | 307 | # |
313 | CONFIG_ZONE_DMA=y | 308 | CONFIG_ZONE_DMA=y |
309 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
314 | CONFIG_GENERIC_ISA_DMA=y | 310 | CONFIG_GENERIC_ISA_DMA=y |
315 | # CONFIG_PPC_INDIRECT_PCI is not set | 311 | # CONFIG_PPC_INDIRECT_PCI is not set |
316 | CONFIG_PCI=y | 312 | CONFIG_PCI=y |
@@ -319,7 +315,6 @@ CONFIG_PCI_SYSCALL=y | |||
319 | # CONFIG_PCIEPORTBUS is not set | 315 | # CONFIG_PCIEPORTBUS is not set |
320 | CONFIG_ARCH_SUPPORTS_MSI=y | 316 | CONFIG_ARCH_SUPPORTS_MSI=y |
321 | # CONFIG_PCI_MSI is not set | 317 | # CONFIG_PCI_MSI is not set |
322 | # CONFIG_PCI_LEGACY is not set | ||
323 | # CONFIG_PCI_STUB is not set | 318 | # CONFIG_PCI_STUB is not set |
324 | # CONFIG_PCI_IOV is not set | 319 | # CONFIG_PCI_IOV is not set |
325 | # CONFIG_PCCARD is not set | 320 | # CONFIG_PCCARD is not set |
@@ -345,7 +340,6 @@ CONFIG_NET=y | |||
345 | # Networking options | 340 | # Networking options |
346 | # | 341 | # |
347 | CONFIG_PACKET=y | 342 | CONFIG_PACKET=y |
348 | # CONFIG_PACKET_MMAP is not set | ||
349 | CONFIG_UNIX=y | 343 | CONFIG_UNIX=y |
350 | CONFIG_XFRM=y | 344 | CONFIG_XFRM=y |
351 | CONFIG_XFRM_USER=y | 345 | CONFIG_XFRM_USER=y |
@@ -440,6 +434,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
440 | # CONFIG_SYS_HYPERVISOR is not set | 434 | # CONFIG_SYS_HYPERVISOR is not set |
441 | # CONFIG_CONNECTOR is not set | 435 | # CONFIG_CONNECTOR is not set |
442 | # CONFIG_MTD is not set | 436 | # CONFIG_MTD is not set |
437 | CONFIG_OF_FLATTREE=y | ||
438 | CONFIG_OF_DYNAMIC=y | ||
443 | CONFIG_OF_DEVICE=y | 439 | CONFIG_OF_DEVICE=y |
444 | CONFIG_OF_MDIO=y | 440 | CONFIG_OF_MDIO=y |
445 | # CONFIG_PARPORT is not set | 441 | # CONFIG_PARPORT is not set |
@@ -484,6 +480,7 @@ CONFIG_HAVE_IDE=y | |||
484 | # | 480 | # |
485 | # SCSI device support | 481 | # SCSI device support |
486 | # | 482 | # |
483 | CONFIG_SCSI_MOD=y | ||
487 | # CONFIG_RAID_ATTRS is not set | 484 | # CONFIG_RAID_ATTRS is not set |
488 | CONFIG_SCSI=y | 485 | CONFIG_SCSI=y |
489 | CONFIG_SCSI_DMA=y | 486 | CONFIG_SCSI_DMA=y |
@@ -605,6 +602,7 @@ CONFIG_SATA_MV=y | |||
605 | # CONFIG_PATA_IT821X is not set | 602 | # CONFIG_PATA_IT821X is not set |
606 | # CONFIG_PATA_IT8213 is not set | 603 | # CONFIG_PATA_IT8213 is not set |
607 | # CONFIG_PATA_JMICRON is not set | 604 | # CONFIG_PATA_JMICRON is not set |
605 | # CONFIG_PATA_LEGACY is not set | ||
608 | # CONFIG_PATA_TRIFLEX is not set | 606 | # CONFIG_PATA_TRIFLEX is not set |
609 | # CONFIG_PATA_MARVELL is not set | 607 | # CONFIG_PATA_MARVELL is not set |
610 | # CONFIG_PATA_MPIIX is not set | 608 | # CONFIG_PATA_MPIIX is not set |
@@ -696,6 +694,7 @@ CONFIG_NET_PCI=y | |||
696 | # CONFIG_PCNET32 is not set | 694 | # CONFIG_PCNET32 is not set |
697 | # CONFIG_AMD8111_ETH is not set | 695 | # CONFIG_AMD8111_ETH is not set |
698 | # CONFIG_ADAPTEC_STARFIRE is not set | 696 | # CONFIG_ADAPTEC_STARFIRE is not set |
697 | # CONFIG_KSZ884X_PCI is not set | ||
699 | # CONFIG_B44 is not set | 698 | # CONFIG_B44 is not set |
700 | # CONFIG_FORCEDETH is not set | 699 | # CONFIG_FORCEDETH is not set |
701 | CONFIG_E100=y | 700 | CONFIG_E100=y |
@@ -750,6 +749,8 @@ CONFIG_NETDEV_10000=y | |||
750 | # CONFIG_CHELSIO_T1 is not set | 749 | # CONFIG_CHELSIO_T1 is not set |
751 | CONFIG_CHELSIO_T3_DEPENDS=y | 750 | CONFIG_CHELSIO_T3_DEPENDS=y |
752 | # CONFIG_CHELSIO_T3 is not set | 751 | # CONFIG_CHELSIO_T3 is not set |
752 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
753 | # CONFIG_CHELSIO_T4 is not set | ||
753 | # CONFIG_ENIC is not set | 754 | # CONFIG_ENIC is not set |
754 | # CONFIG_IXGBE is not set | 755 | # CONFIG_IXGBE is not set |
755 | # CONFIG_IXGB is not set | 756 | # CONFIG_IXGB is not set |
@@ -762,6 +763,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
762 | # CONFIG_MLX4_CORE is not set | 763 | # CONFIG_MLX4_CORE is not set |
763 | # CONFIG_TEHUTI is not set | 764 | # CONFIG_TEHUTI is not set |
764 | # CONFIG_BNX2X is not set | 765 | # CONFIG_BNX2X is not set |
766 | # CONFIG_QLCNIC is not set | ||
765 | # CONFIG_QLGE is not set | 767 | # CONFIG_QLGE is not set |
766 | # CONFIG_SFC is not set | 768 | # CONFIG_SFC is not set |
767 | # CONFIG_BE2NET is not set | 769 | # CONFIG_BE2NET is not set |
@@ -846,6 +848,7 @@ CONFIG_SERIAL_CORE=y | |||
846 | CONFIG_SERIAL_CORE_CONSOLE=y | 848 | CONFIG_SERIAL_CORE_CONSOLE=y |
847 | # CONFIG_SERIAL_JSM is not set | 849 | # CONFIG_SERIAL_JSM is not set |
848 | # CONFIG_SERIAL_OF_PLATFORM is not set | 850 | # CONFIG_SERIAL_OF_PLATFORM is not set |
851 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
849 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 852 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
850 | CONFIG_UNIX98_PTYS=y | 853 | CONFIG_UNIX98_PTYS=y |
851 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 854 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -910,6 +913,7 @@ CONFIG_SSB_POSSIBLE=y | |||
910 | # CONFIG_MFD_SM501 is not set | 913 | # CONFIG_MFD_SM501 is not set |
911 | # CONFIG_HTC_PASIC3 is not set | 914 | # CONFIG_HTC_PASIC3 is not set |
912 | # CONFIG_MFD_TMIO is not set | 915 | # CONFIG_MFD_TMIO is not set |
916 | # CONFIG_LPC_SCH is not set | ||
913 | # CONFIG_REGULATOR is not set | 917 | # CONFIG_REGULATOR is not set |
914 | # CONFIG_MEDIA_SUPPORT is not set | 918 | # CONFIG_MEDIA_SUPPORT is not set |
915 | 919 | ||
@@ -918,6 +922,7 @@ CONFIG_SSB_POSSIBLE=y | |||
918 | # | 922 | # |
919 | # CONFIG_AGP is not set | 923 | # CONFIG_AGP is not set |
920 | CONFIG_VGA_ARB=y | 924 | CONFIG_VGA_ARB=y |
925 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
921 | # CONFIG_DRM is not set | 926 | # CONFIG_DRM is not set |
922 | # CONFIG_VGASTATE is not set | 927 | # CONFIG_VGASTATE is not set |
923 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 928 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1044,6 +1049,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1044 | # CONFIG_BEFS_FS is not set | 1049 | # CONFIG_BEFS_FS is not set |
1045 | # CONFIG_BFS_FS is not set | 1050 | # CONFIG_BFS_FS is not set |
1046 | # CONFIG_EFS_FS is not set | 1051 | # CONFIG_EFS_FS is not set |
1052 | # CONFIG_LOGFS is not set | ||
1047 | # CONFIG_CRAMFS is not set | 1053 | # CONFIG_CRAMFS is not set |
1048 | # CONFIG_SQUASHFS is not set | 1054 | # CONFIG_SQUASHFS is not set |
1049 | # CONFIG_VXFS_FS is not set | 1055 | # CONFIG_VXFS_FS is not set |
@@ -1066,6 +1072,7 @@ CONFIG_SUNRPC=y | |||
1066 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1072 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1067 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1073 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1068 | # CONFIG_SMB_FS is not set | 1074 | # CONFIG_SMB_FS is not set |
1075 | # CONFIG_CEPH_FS is not set | ||
1069 | # CONFIG_CIFS is not set | 1076 | # CONFIG_CIFS is not set |
1070 | # CONFIG_NCP_FS is not set | 1077 | # CONFIG_NCP_FS is not set |
1071 | # CONFIG_CODA_FS is not set | 1078 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig index 9073778d3575..6875fb89377e 100644 --- a/arch/powerpc/configs/mpc8272_ads_defconfig +++ b/arch/powerpc/configs/mpc8272_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:05 2010 | 4 | # Mon Apr 19 23:16:29 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,8 +96,7 @@ CONFIG_IKCONFIG=y | |||
96 | CONFIG_IKCONFIG_PROC=y | 96 | CONFIG_IKCONFIG_PROC=y |
97 | CONFIG_LOG_BUF_SHIFT=14 | 97 | CONFIG_LOG_BUF_SHIFT=14 |
98 | # CONFIG_CGROUPS is not set | 98 | # CONFIG_CGROUPS is not set |
99 | CONFIG_SYSFS_DEPRECATED=y | 99 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
100 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
101 | # CONFIG_RELAY is not set | 100 | # CONFIG_RELAY is not set |
102 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
103 | # CONFIG_BLK_DEV_INITRD is not set | 102 | # CONFIG_BLK_DEV_INITRD is not set |
@@ -301,6 +300,7 @@ CONFIG_ISA_DMA_API=y | |||
301 | # Bus options | 300 | # Bus options |
302 | # | 301 | # |
303 | CONFIG_ZONE_DMA=y | 302 | CONFIG_ZONE_DMA=y |
303 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
304 | CONFIG_PPC_INDIRECT_PCI=y | 304 | CONFIG_PPC_INDIRECT_PCI=y |
305 | CONFIG_FSL_SOC=y | 305 | CONFIG_FSL_SOC=y |
306 | CONFIG_PPC_PCI_CHOICE=y | 306 | CONFIG_PPC_PCI_CHOICE=y |
@@ -311,7 +311,6 @@ CONFIG_PCI_8260=y | |||
311 | # CONFIG_PCIEPORTBUS is not set | 311 | # CONFIG_PCIEPORTBUS is not set |
312 | CONFIG_ARCH_SUPPORTS_MSI=y | 312 | CONFIG_ARCH_SUPPORTS_MSI=y |
313 | # CONFIG_PCI_MSI is not set | 313 | # CONFIG_PCI_MSI is not set |
314 | # CONFIG_PCI_LEGACY is not set | ||
315 | # CONFIG_PCI_DEBUG is not set | 314 | # CONFIG_PCI_DEBUG is not set |
316 | # CONFIG_PCI_STUB is not set | 315 | # CONFIG_PCI_STUB is not set |
317 | # CONFIG_PCI_IOV is not set | 316 | # CONFIG_PCI_IOV is not set |
@@ -338,7 +337,6 @@ CONFIG_NET=y | |||
338 | # Networking options | 337 | # Networking options |
339 | # | 338 | # |
340 | CONFIG_PACKET=y | 339 | CONFIG_PACKET=y |
341 | # CONFIG_PACKET_MMAP is not set | ||
342 | CONFIG_UNIX=y | 340 | CONFIG_UNIX=y |
343 | CONFIG_XFRM=y | 341 | CONFIG_XFRM=y |
344 | # CONFIG_XFRM_USER is not set | 342 | # CONFIG_XFRM_USER is not set |
@@ -540,6 +538,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
540 | # UBI - Unsorted block images | 538 | # UBI - Unsorted block images |
541 | # | 539 | # |
542 | # CONFIG_MTD_UBI is not set | 540 | # CONFIG_MTD_UBI is not set |
541 | CONFIG_OF_FLATTREE=y | ||
542 | CONFIG_OF_DYNAMIC=y | ||
543 | CONFIG_OF_DEVICE=y | 543 | CONFIG_OF_DEVICE=y |
544 | CONFIG_OF_GPIO=y | 544 | CONFIG_OF_GPIO=y |
545 | CONFIG_OF_MDIO=y | 545 | CONFIG_OF_MDIO=y |
@@ -569,6 +569,7 @@ CONFIG_HAVE_IDE=y | |||
569 | # | 569 | # |
570 | # SCSI device support | 570 | # SCSI device support |
571 | # | 571 | # |
572 | CONFIG_SCSI_MOD=y | ||
572 | # CONFIG_RAID_ATTRS is not set | 573 | # CONFIG_RAID_ATTRS is not set |
573 | # CONFIG_SCSI is not set | 574 | # CONFIG_SCSI is not set |
574 | # CONFIG_SCSI_DMA is not set | 575 | # CONFIG_SCSI_DMA is not set |
@@ -674,6 +675,8 @@ CONFIG_NETDEV_10000=y | |||
674 | # CONFIG_CHELSIO_T1 is not set | 675 | # CONFIG_CHELSIO_T1 is not set |
675 | CONFIG_CHELSIO_T3_DEPENDS=y | 676 | CONFIG_CHELSIO_T3_DEPENDS=y |
676 | # CONFIG_CHELSIO_T3 is not set | 677 | # CONFIG_CHELSIO_T3 is not set |
678 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
679 | # CONFIG_CHELSIO_T4 is not set | ||
677 | # CONFIG_ENIC is not set | 680 | # CONFIG_ENIC is not set |
678 | # CONFIG_IXGBE is not set | 681 | # CONFIG_IXGBE is not set |
679 | # CONFIG_IXGB is not set | 682 | # CONFIG_IXGB is not set |
@@ -686,6 +689,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
686 | # CONFIG_MLX4_CORE is not set | 689 | # CONFIG_MLX4_CORE is not set |
687 | # CONFIG_TEHUTI is not set | 690 | # CONFIG_TEHUTI is not set |
688 | # CONFIG_BNX2X is not set | 691 | # CONFIG_BNX2X is not set |
692 | # CONFIG_QLCNIC is not set | ||
689 | # CONFIG_QLGE is not set | 693 | # CONFIG_QLGE is not set |
690 | # CONFIG_SFC is not set | 694 | # CONFIG_SFC is not set |
691 | # CONFIG_BE2NET is not set | 695 | # CONFIG_BE2NET is not set |
@@ -797,6 +801,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
797 | CONFIG_SERIAL_CPM=y | 801 | CONFIG_SERIAL_CPM=y |
798 | CONFIG_SERIAL_CPM_CONSOLE=y | 802 | CONFIG_SERIAL_CPM_CONSOLE=y |
799 | # CONFIG_SERIAL_JSM is not set | 803 | # CONFIG_SERIAL_JSM is not set |
804 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
800 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 805 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
801 | CONFIG_UNIX98_PTYS=y | 806 | CONFIG_UNIX98_PTYS=y |
802 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 807 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -825,7 +830,9 @@ CONFIG_GPIOLIB=y | |||
825 | # | 830 | # |
826 | # Memory mapped GPIO expanders: | 831 | # Memory mapped GPIO expanders: |
827 | # | 832 | # |
833 | # CONFIG_GPIO_IT8761E is not set | ||
828 | # CONFIG_GPIO_XILINX is not set | 834 | # CONFIG_GPIO_XILINX is not set |
835 | # CONFIG_GPIO_SCH is not set | ||
829 | 836 | ||
830 | # | 837 | # |
831 | # I2C GPIO expanders: | 838 | # I2C GPIO expanders: |
@@ -864,6 +871,8 @@ CONFIG_SSB_POSSIBLE=y | |||
864 | # CONFIG_MFD_SM501 is not set | 871 | # CONFIG_MFD_SM501 is not set |
865 | # CONFIG_HTC_PASIC3 is not set | 872 | # CONFIG_HTC_PASIC3 is not set |
866 | # CONFIG_MFD_TMIO is not set | 873 | # CONFIG_MFD_TMIO is not set |
874 | # CONFIG_MFD_TIMBERDALE is not set | ||
875 | # CONFIG_LPC_SCH is not set | ||
867 | # CONFIG_REGULATOR is not set | 876 | # CONFIG_REGULATOR is not set |
868 | # CONFIG_MEDIA_SUPPORT is not set | 877 | # CONFIG_MEDIA_SUPPORT is not set |
869 | 878 | ||
@@ -872,6 +881,7 @@ CONFIG_SSB_POSSIBLE=y | |||
872 | # | 881 | # |
873 | # CONFIG_AGP is not set | 882 | # CONFIG_AGP is not set |
874 | CONFIG_VGA_ARB=y | 883 | CONFIG_VGA_ARB=y |
884 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
875 | # CONFIG_DRM is not set | 885 | # CONFIG_DRM is not set |
876 | # CONFIG_VGASTATE is not set | 886 | # CONFIG_VGASTATE is not set |
877 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 887 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -933,6 +943,7 @@ CONFIG_AUTOFS4_FS=y | |||
933 | # | 943 | # |
934 | # Caches | 944 | # Caches |
935 | # | 945 | # |
946 | # CONFIG_FSCACHE is not set | ||
936 | 947 | ||
937 | # | 948 | # |
938 | # CD-ROM/DVD Filesystems | 949 | # CD-ROM/DVD Filesystems |
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig index 05bec4835687..bbe5ae61d979 100644 --- a/arch/powerpc/configs/mpc83xx_defconfig +++ b/arch/powerpc/configs/mpc83xx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:06 2010 | 4 | # Mon Apr 19 23:16:30 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -98,14 +98,8 @@ CONFIG_RCU_FANOUT=32 | |||
98 | # CONFIG_TREE_RCU_TRACE is not set | 98 | # CONFIG_TREE_RCU_TRACE is not set |
99 | # CONFIG_IKCONFIG is not set | 99 | # CONFIG_IKCONFIG is not set |
100 | CONFIG_LOG_BUF_SHIFT=14 | 100 | CONFIG_LOG_BUF_SHIFT=14 |
101 | CONFIG_GROUP_SCHED=y | ||
102 | CONFIG_FAIR_GROUP_SCHED=y | ||
103 | # CONFIG_RT_GROUP_SCHED is not set | ||
104 | CONFIG_USER_SCHED=y | ||
105 | # CONFIG_CGROUP_SCHED is not set | ||
106 | # CONFIG_CGROUPS is not set | 101 | # CONFIG_CGROUPS is not set |
107 | CONFIG_SYSFS_DEPRECATED=y | 102 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
108 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
109 | # CONFIG_RELAY is not set | 103 | # CONFIG_RELAY is not set |
110 | # CONFIG_NAMESPACES is not set | 104 | # CONFIG_NAMESPACES is not set |
111 | CONFIG_BLK_DEV_INITRD=y | 105 | CONFIG_BLK_DEV_INITRD=y |
@@ -113,6 +107,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
113 | CONFIG_RD_GZIP=y | 107 | CONFIG_RD_GZIP=y |
114 | # CONFIG_RD_BZIP2 is not set | 108 | # CONFIG_RD_BZIP2 is not set |
115 | # CONFIG_RD_LZMA is not set | 109 | # CONFIG_RD_LZMA is not set |
110 | # CONFIG_RD_LZO is not set | ||
116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 111 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
117 | CONFIG_SYSCTL=y | 112 | CONFIG_SYSCTL=y |
118 | CONFIG_ANON_INODES=y | 113 | CONFIG_ANON_INODES=y |
@@ -126,7 +121,7 @@ CONFIG_BUG=y | |||
126 | CONFIG_ELF_CORE=y | 121 | CONFIG_ELF_CORE=y |
127 | CONFIG_BASE_FULL=y | 122 | CONFIG_BASE_FULL=y |
128 | CONFIG_FUTEX=y | 123 | CONFIG_FUTEX=y |
129 | # CONFIG_EPOLL is not set | 124 | CONFIG_EPOLL=y |
130 | CONFIG_SIGNALFD=y | 125 | CONFIG_SIGNALFD=y |
131 | CONFIG_TIMERFD=y | 126 | CONFIG_TIMERFD=y |
132 | CONFIG_EVENTFD=y | 127 | CONFIG_EVENTFD=y |
@@ -331,6 +326,7 @@ CONFIG_ISA_DMA_API=y | |||
331 | # Bus options | 326 | # Bus options |
332 | # | 327 | # |
333 | CONFIG_ZONE_DMA=y | 328 | CONFIG_ZONE_DMA=y |
329 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
334 | CONFIG_GENERIC_ISA_DMA=y | 330 | CONFIG_GENERIC_ISA_DMA=y |
335 | CONFIG_PPC_INDIRECT_PCI=y | 331 | CONFIG_PPC_INDIRECT_PCI=y |
336 | CONFIG_FSL_SOC=y | 332 | CONFIG_FSL_SOC=y |
@@ -344,7 +340,6 @@ CONFIG_PCI_SYSCALL=y | |||
344 | # CONFIG_PCIEPORTBUS is not set | 340 | # CONFIG_PCIEPORTBUS is not set |
345 | CONFIG_ARCH_SUPPORTS_MSI=y | 341 | CONFIG_ARCH_SUPPORTS_MSI=y |
346 | # CONFIG_PCI_MSI is not set | 342 | # CONFIG_PCI_MSI is not set |
347 | # CONFIG_PCI_LEGACY is not set | ||
348 | # CONFIG_PCI_STUB is not set | 343 | # CONFIG_PCI_STUB is not set |
349 | # CONFIG_PCI_IOV is not set | 344 | # CONFIG_PCI_IOV is not set |
350 | # CONFIG_PCCARD is not set | 345 | # CONFIG_PCCARD is not set |
@@ -370,7 +365,6 @@ CONFIG_NET=y | |||
370 | # Networking options | 365 | # Networking options |
371 | # | 366 | # |
372 | CONFIG_PACKET=y | 367 | CONFIG_PACKET=y |
373 | # CONFIG_PACKET_MMAP is not set | ||
374 | CONFIG_UNIX=y | 368 | CONFIG_UNIX=y |
375 | CONFIG_XFRM=y | 369 | CONFIG_XFRM=y |
376 | CONFIG_XFRM_USER=m | 370 | CONFIG_XFRM_USER=m |
@@ -560,6 +554,8 @@ CONFIG_MTD_NAND_FSL_ELBC=y | |||
560 | # UBI - Unsorted block images | 554 | # UBI - Unsorted block images |
561 | # | 555 | # |
562 | # CONFIG_MTD_UBI is not set | 556 | # CONFIG_MTD_UBI is not set |
557 | CONFIG_OF_FLATTREE=y | ||
558 | CONFIG_OF_DYNAMIC=y | ||
563 | CONFIG_OF_DEVICE=y | 559 | CONFIG_OF_DEVICE=y |
564 | CONFIG_OF_GPIO=y | 560 | CONFIG_OF_GPIO=y |
565 | CONFIG_OF_I2C=y | 561 | CONFIG_OF_I2C=y |
@@ -597,6 +593,7 @@ CONFIG_MISC_DEVICES=y | |||
597 | # CONFIG_ENCLOSURE_SERVICES is not set | 593 | # CONFIG_ENCLOSURE_SERVICES is not set |
598 | # CONFIG_HP_ILO is not set | 594 | # CONFIG_HP_ILO is not set |
599 | # CONFIG_ISL29003 is not set | 595 | # CONFIG_ISL29003 is not set |
596 | # CONFIG_SENSORS_TSL2550 is not set | ||
600 | # CONFIG_DS1682 is not set | 597 | # CONFIG_DS1682 is not set |
601 | # CONFIG_C2PORT is not set | 598 | # CONFIG_C2PORT is not set |
602 | 599 | ||
@@ -614,6 +611,7 @@ CONFIG_HAVE_IDE=y | |||
614 | # | 611 | # |
615 | # SCSI device support | 612 | # SCSI device support |
616 | # | 613 | # |
614 | CONFIG_SCSI_MOD=y | ||
617 | # CONFIG_RAID_ATTRS is not set | 615 | # CONFIG_RAID_ATTRS is not set |
618 | CONFIG_SCSI=y | 616 | CONFIG_SCSI=y |
619 | CONFIG_SCSI_DMA=y | 617 | CONFIG_SCSI_DMA=y |
@@ -712,7 +710,7 @@ CONFIG_ATA_SFF=y | |||
712 | # CONFIG_SATA_QSTOR is not set | 710 | # CONFIG_SATA_QSTOR is not set |
713 | # CONFIG_SATA_PROMISE is not set | 711 | # CONFIG_SATA_PROMISE is not set |
714 | # CONFIG_SATA_SX4 is not set | 712 | # CONFIG_SATA_SX4 is not set |
715 | # CONFIG_SATA_SIL is not set | 713 | CONFIG_SATA_SIL=y |
716 | # CONFIG_SATA_SIS is not set | 714 | # CONFIG_SATA_SIS is not set |
717 | # CONFIG_SATA_ULI is not set | 715 | # CONFIG_SATA_ULI is not set |
718 | # CONFIG_SATA_VIA is not set | 716 | # CONFIG_SATA_VIA is not set |
@@ -737,6 +735,7 @@ CONFIG_ATA_SFF=y | |||
737 | # CONFIG_PATA_IT821X is not set | 735 | # CONFIG_PATA_IT821X is not set |
738 | # CONFIG_PATA_IT8213 is not set | 736 | # CONFIG_PATA_IT8213 is not set |
739 | # CONFIG_PATA_JMICRON is not set | 737 | # CONFIG_PATA_JMICRON is not set |
738 | # CONFIG_PATA_LEGACY is not set | ||
740 | # CONFIG_PATA_TRIFLEX is not set | 739 | # CONFIG_PATA_TRIFLEX is not set |
741 | # CONFIG_PATA_MARVELL is not set | 740 | # CONFIG_PATA_MARVELL is not set |
742 | # CONFIG_PATA_MPIIX is not set | 741 | # CONFIG_PATA_MPIIX is not set |
@@ -863,6 +862,8 @@ CONFIG_NETDEV_10000=y | |||
863 | # CONFIG_CHELSIO_T1 is not set | 862 | # CONFIG_CHELSIO_T1 is not set |
864 | CONFIG_CHELSIO_T3_DEPENDS=y | 863 | CONFIG_CHELSIO_T3_DEPENDS=y |
865 | # CONFIG_CHELSIO_T3 is not set | 864 | # CONFIG_CHELSIO_T3 is not set |
865 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
866 | # CONFIG_CHELSIO_T4 is not set | ||
866 | # CONFIG_ENIC is not set | 867 | # CONFIG_ENIC is not set |
867 | # CONFIG_IXGBE is not set | 868 | # CONFIG_IXGBE is not set |
868 | # CONFIG_IXGB is not set | 869 | # CONFIG_IXGB is not set |
@@ -875,6 +876,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
875 | # CONFIG_MLX4_CORE is not set | 876 | # CONFIG_MLX4_CORE is not set |
876 | # CONFIG_TEHUTI is not set | 877 | # CONFIG_TEHUTI is not set |
877 | # CONFIG_BNX2X is not set | 878 | # CONFIG_BNX2X is not set |
879 | # CONFIG_QLCNIC is not set | ||
878 | # CONFIG_QLGE is not set | 880 | # CONFIG_QLGE is not set |
879 | # CONFIG_SFC is not set | 881 | # CONFIG_SFC is not set |
880 | # CONFIG_BE2NET is not set | 882 | # CONFIG_BE2NET is not set |
@@ -970,6 +972,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
970 | # CONFIG_SERIAL_JSM is not set | 972 | # CONFIG_SERIAL_JSM is not set |
971 | # CONFIG_SERIAL_OF_PLATFORM is not set | 973 | # CONFIG_SERIAL_OF_PLATFORM is not set |
972 | # CONFIG_SERIAL_QE is not set | 974 | # CONFIG_SERIAL_QE is not set |
975 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
973 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 976 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
974 | CONFIG_UNIX98_PTYS=y | 977 | CONFIG_UNIX98_PTYS=y |
975 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 978 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -980,8 +983,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
980 | CONFIG_HW_RANDOM=y | 983 | CONFIG_HW_RANDOM=y |
981 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | 984 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set |
982 | # CONFIG_NVRAM is not set | 985 | # CONFIG_NVRAM is not set |
983 | CONFIG_GEN_RTC=y | ||
984 | # CONFIG_GEN_RTC_X is not set | ||
985 | # CONFIG_R3964 is not set | 986 | # CONFIG_R3964 is not set |
986 | # CONFIG_APPLICOM is not set | 987 | # CONFIG_APPLICOM is not set |
987 | # CONFIG_RAW_DRIVER is not set | 988 | # CONFIG_RAW_DRIVER is not set |
@@ -1022,6 +1023,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1022 | CONFIG_I2C_MPC=y | 1023 | CONFIG_I2C_MPC=y |
1023 | # CONFIG_I2C_OCORES is not set | 1024 | # CONFIG_I2C_OCORES is not set |
1024 | # CONFIG_I2C_SIMTEC is not set | 1025 | # CONFIG_I2C_SIMTEC is not set |
1026 | # CONFIG_I2C_XILINX is not set | ||
1025 | 1027 | ||
1026 | # | 1028 | # |
1027 | # External I2C/SMBus adapter drivers | 1029 | # External I2C/SMBus adapter drivers |
@@ -1035,15 +1037,9 @@ CONFIG_I2C_MPC=y | |||
1035 | # | 1037 | # |
1036 | # CONFIG_I2C_PCA_PLATFORM is not set | 1038 | # CONFIG_I2C_PCA_PLATFORM is not set |
1037 | # CONFIG_I2C_STUB is not set | 1039 | # CONFIG_I2C_STUB is not set |
1038 | |||
1039 | # | ||
1040 | # Miscellaneous I2C Chip support | ||
1041 | # | ||
1042 | # CONFIG_SENSORS_TSL2550 is not set | ||
1043 | # CONFIG_I2C_DEBUG_CORE is not set | 1040 | # CONFIG_I2C_DEBUG_CORE is not set |
1044 | # CONFIG_I2C_DEBUG_ALGO is not set | 1041 | # CONFIG_I2C_DEBUG_ALGO is not set |
1045 | # CONFIG_I2C_DEBUG_BUS is not set | 1042 | # CONFIG_I2C_DEBUG_BUS is not set |
1046 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1047 | # CONFIG_SPI is not set | 1043 | # CONFIG_SPI is not set |
1048 | 1044 | ||
1049 | # | 1045 | # |
@@ -1058,14 +1054,18 @@ CONFIG_GPIOLIB=y | |||
1058 | # | 1054 | # |
1059 | # Memory mapped GPIO expanders: | 1055 | # Memory mapped GPIO expanders: |
1060 | # | 1056 | # |
1057 | # CONFIG_GPIO_IT8761E is not set | ||
1061 | # CONFIG_GPIO_XILINX is not set | 1058 | # CONFIG_GPIO_XILINX is not set |
1059 | # CONFIG_GPIO_SCH is not set | ||
1062 | 1060 | ||
1063 | # | 1061 | # |
1064 | # I2C GPIO expanders: | 1062 | # I2C GPIO expanders: |
1065 | # | 1063 | # |
1064 | # CONFIG_GPIO_MAX7300 is not set | ||
1066 | # CONFIG_GPIO_MAX732X is not set | 1065 | # CONFIG_GPIO_MAX732X is not set |
1067 | # CONFIG_GPIO_PCA953X is not set | 1066 | # CONFIG_GPIO_PCA953X is not set |
1068 | # CONFIG_GPIO_PCF857X is not set | 1067 | # CONFIG_GPIO_PCF857X is not set |
1068 | # CONFIG_GPIO_ADP5588 is not set | ||
1069 | 1069 | ||
1070 | # | 1070 | # |
1071 | # PCI GPIO expanders: | 1071 | # PCI GPIO expanders: |
@@ -1098,10 +1098,11 @@ CONFIG_HWMON=y | |||
1098 | # CONFIG_SENSORS_ADM1029 is not set | 1098 | # CONFIG_SENSORS_ADM1029 is not set |
1099 | # CONFIG_SENSORS_ADM1031 is not set | 1099 | # CONFIG_SENSORS_ADM1031 is not set |
1100 | # CONFIG_SENSORS_ADM9240 is not set | 1100 | # CONFIG_SENSORS_ADM9240 is not set |
1101 | # CONFIG_SENSORS_ADT7411 is not set | ||
1101 | # CONFIG_SENSORS_ADT7462 is not set | 1102 | # CONFIG_SENSORS_ADT7462 is not set |
1102 | # CONFIG_SENSORS_ADT7470 is not set | 1103 | # CONFIG_SENSORS_ADT7470 is not set |
1103 | # CONFIG_SENSORS_ADT7473 is not set | ||
1104 | # CONFIG_SENSORS_ADT7475 is not set | 1104 | # CONFIG_SENSORS_ADT7475 is not set |
1105 | # CONFIG_SENSORS_ASC7621 is not set | ||
1105 | # CONFIG_SENSORS_ATXP1 is not set | 1106 | # CONFIG_SENSORS_ATXP1 is not set |
1106 | # CONFIG_SENSORS_DS1621 is not set | 1107 | # CONFIG_SENSORS_DS1621 is not set |
1107 | # CONFIG_SENSORS_I5K_AMB is not set | 1108 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1139,6 +1140,7 @@ CONFIG_HWMON=y | |||
1139 | # CONFIG_SENSORS_SMSC47M192 is not set | 1140 | # CONFIG_SENSORS_SMSC47M192 is not set |
1140 | # CONFIG_SENSORS_SMSC47B397 is not set | 1141 | # CONFIG_SENSORS_SMSC47B397 is not set |
1141 | # CONFIG_SENSORS_ADS7828 is not set | 1142 | # CONFIG_SENSORS_ADS7828 is not set |
1143 | # CONFIG_SENSORS_AMC6821 is not set | ||
1142 | # CONFIG_SENSORS_THMC50 is not set | 1144 | # CONFIG_SENSORS_THMC50 is not set |
1143 | # CONFIG_SENSORS_TMP401 is not set | 1145 | # CONFIG_SENSORS_TMP401 is not set |
1144 | # CONFIG_SENSORS_TMP421 is not set | 1146 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1186,19 +1188,24 @@ CONFIG_SSB_POSSIBLE=y | |||
1186 | # Multifunction device drivers | 1188 | # Multifunction device drivers |
1187 | # | 1189 | # |
1188 | # CONFIG_MFD_CORE is not set | 1190 | # CONFIG_MFD_CORE is not set |
1191 | # CONFIG_MFD_88PM860X is not set | ||
1189 | # CONFIG_MFD_SM501 is not set | 1192 | # CONFIG_MFD_SM501 is not set |
1190 | # CONFIG_HTC_PASIC3 is not set | 1193 | # CONFIG_HTC_PASIC3 is not set |
1194 | # CONFIG_HTC_I2CPLD is not set | ||
1191 | # CONFIG_TPS65010 is not set | 1195 | # CONFIG_TPS65010 is not set |
1192 | # CONFIG_TWL4030_CORE is not set | 1196 | # CONFIG_TWL4030_CORE is not set |
1193 | # CONFIG_MFD_TMIO is not set | 1197 | # CONFIG_MFD_TMIO is not set |
1194 | # CONFIG_PMIC_DA903X is not set | 1198 | # CONFIG_PMIC_DA903X is not set |
1195 | # CONFIG_PMIC_ADP5520 is not set | 1199 | # CONFIG_PMIC_ADP5520 is not set |
1200 | # CONFIG_MFD_MAX8925 is not set | ||
1196 | # CONFIG_MFD_WM8400 is not set | 1201 | # CONFIG_MFD_WM8400 is not set |
1197 | # CONFIG_MFD_WM831X is not set | 1202 | # CONFIG_MFD_WM831X is not set |
1198 | # CONFIG_MFD_WM8350_I2C is not set | 1203 | # CONFIG_MFD_WM8350_I2C is not set |
1204 | # CONFIG_MFD_WM8994 is not set | ||
1199 | # CONFIG_MFD_PCF50633 is not set | 1205 | # CONFIG_MFD_PCF50633 is not set |
1200 | # CONFIG_AB3100_CORE is not set | 1206 | # CONFIG_AB3100_CORE is not set |
1201 | # CONFIG_MFD_88PM8607 is not set | 1207 | # CONFIG_MFD_TIMBERDALE is not set |
1208 | # CONFIG_LPC_SCH is not set | ||
1202 | # CONFIG_REGULATOR is not set | 1209 | # CONFIG_REGULATOR is not set |
1203 | # CONFIG_MEDIA_SUPPORT is not set | 1210 | # CONFIG_MEDIA_SUPPORT is not set |
1204 | 1211 | ||
@@ -1207,6 +1214,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1207 | # | 1214 | # |
1208 | # CONFIG_AGP is not set | 1215 | # CONFIG_AGP is not set |
1209 | CONFIG_VGA_ARB=y | 1216 | CONFIG_VGA_ARB=y |
1217 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1210 | # CONFIG_DRM is not set | 1218 | # CONFIG_DRM is not set |
1211 | # CONFIG_VGASTATE is not set | 1219 | # CONFIG_VGASTATE is not set |
1212 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 1220 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
@@ -1232,6 +1240,7 @@ CONFIG_USB_HID=y | |||
1232 | # | 1240 | # |
1233 | # Special HID drivers | 1241 | # Special HID drivers |
1234 | # | 1242 | # |
1243 | # CONFIG_HID_3M_PCT is not set | ||
1235 | CONFIG_HID_A4TECH=y | 1244 | CONFIG_HID_A4TECH=y |
1236 | CONFIG_HID_APPLE=y | 1245 | CONFIG_HID_APPLE=y |
1237 | CONFIG_HID_BELKIN=y | 1246 | CONFIG_HID_BELKIN=y |
@@ -1247,14 +1256,19 @@ CONFIG_HID_GYRATION=y | |||
1247 | CONFIG_HID_LOGITECH=y | 1256 | CONFIG_HID_LOGITECH=y |
1248 | # CONFIG_LOGITECH_FF is not set | 1257 | # CONFIG_LOGITECH_FF is not set |
1249 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1258 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1259 | # CONFIG_LOGIG940_FF is not set | ||
1250 | CONFIG_HID_MICROSOFT=y | 1260 | CONFIG_HID_MICROSOFT=y |
1261 | # CONFIG_HID_MOSART is not set | ||
1251 | CONFIG_HID_MONTEREY=y | 1262 | CONFIG_HID_MONTEREY=y |
1252 | # CONFIG_HID_NTRIG is not set | 1263 | # CONFIG_HID_NTRIG is not set |
1264 | # CONFIG_HID_ORTEK is not set | ||
1253 | CONFIG_HID_PANTHERLORD=y | 1265 | CONFIG_HID_PANTHERLORD=y |
1254 | # CONFIG_PANTHERLORD_FF is not set | 1266 | # CONFIG_PANTHERLORD_FF is not set |
1255 | CONFIG_HID_PETALYNX=y | 1267 | CONFIG_HID_PETALYNX=y |
1268 | # CONFIG_HID_QUANTA is not set | ||
1256 | CONFIG_HID_SAMSUNG=y | 1269 | CONFIG_HID_SAMSUNG=y |
1257 | CONFIG_HID_SONY=y | 1270 | CONFIG_HID_SONY=y |
1271 | # CONFIG_HID_STANTUM is not set | ||
1258 | CONFIG_HID_SUNPLUS=y | 1272 | CONFIG_HID_SUNPLUS=y |
1259 | # CONFIG_HID_GREENASIA is not set | 1273 | # CONFIG_HID_GREENASIA is not set |
1260 | # CONFIG_HID_SMARTJOYPLUS is not set | 1274 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1344,7 +1358,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1344 | # CONFIG_USB_RIO500 is not set | 1358 | # CONFIG_USB_RIO500 is not set |
1345 | # CONFIG_USB_LEGOTOWER is not set | 1359 | # CONFIG_USB_LEGOTOWER is not set |
1346 | # CONFIG_USB_LCD is not set | 1360 | # CONFIG_USB_LCD is not set |
1347 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1348 | # CONFIG_USB_LED is not set | 1361 | # CONFIG_USB_LED is not set |
1349 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1362 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1350 | # CONFIG_USB_CYTHERM is not set | 1363 | # CONFIG_USB_CYTHERM is not set |
@@ -1357,7 +1370,6 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1357 | # CONFIG_USB_IOWARRIOR is not set | 1370 | # CONFIG_USB_IOWARRIOR is not set |
1358 | # CONFIG_USB_TEST is not set | 1371 | # CONFIG_USB_TEST is not set |
1359 | # CONFIG_USB_ISIGHTFW is not set | 1372 | # CONFIG_USB_ISIGHTFW is not set |
1360 | # CONFIG_USB_VST is not set | ||
1361 | # CONFIG_USB_GADGET is not set | 1373 | # CONFIG_USB_GADGET is not set |
1362 | 1374 | ||
1363 | # | 1375 | # |
@@ -1372,7 +1384,65 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y | |||
1372 | # CONFIG_ACCESSIBILITY is not set | 1384 | # CONFIG_ACCESSIBILITY is not set |
1373 | # CONFIG_INFINIBAND is not set | 1385 | # CONFIG_INFINIBAND is not set |
1374 | # CONFIG_EDAC is not set | 1386 | # CONFIG_EDAC is not set |
1375 | # CONFIG_RTC_CLASS is not set | 1387 | CONFIG_RTC_LIB=y |
1388 | CONFIG_RTC_CLASS=y | ||
1389 | CONFIG_RTC_HCTOSYS=y | ||
1390 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1391 | # CONFIG_RTC_DEBUG is not set | ||
1392 | |||
1393 | # | ||
1394 | # RTC interfaces | ||
1395 | # | ||
1396 | CONFIG_RTC_INTF_SYSFS=y | ||
1397 | CONFIG_RTC_INTF_PROC=y | ||
1398 | CONFIG_RTC_INTF_DEV=y | ||
1399 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1400 | # CONFIG_RTC_DRV_TEST is not set | ||
1401 | |||
1402 | # | ||
1403 | # I2C RTC drivers | ||
1404 | # | ||
1405 | CONFIG_RTC_DRV_DS1307=y | ||
1406 | CONFIG_RTC_DRV_DS1374=y | ||
1407 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1408 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1409 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1410 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1411 | # CONFIG_RTC_DRV_X1205 is not set | ||
1412 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1413 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1414 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1415 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1416 | # CONFIG_RTC_DRV_S35390A is not set | ||
1417 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1418 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1419 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1420 | |||
1421 | # | ||
1422 | # SPI RTC drivers | ||
1423 | # | ||
1424 | |||
1425 | # | ||
1426 | # Platform RTC drivers | ||
1427 | # | ||
1428 | # CONFIG_RTC_DRV_CMOS is not set | ||
1429 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1430 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1431 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1432 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1433 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1434 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1435 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1436 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1437 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1438 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1439 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1440 | # CONFIG_RTC_DRV_V3020 is not set | ||
1441 | |||
1442 | # | ||
1443 | # on-CPU RTC drivers | ||
1444 | # | ||
1445 | # CONFIG_RTC_DRV_GENERIC is not set | ||
1376 | # CONFIG_DMADEVICES is not set | 1446 | # CONFIG_DMADEVICES is not set |
1377 | # CONFIG_AUXDISPLAY is not set | 1447 | # CONFIG_AUXDISPLAY is not set |
1378 | # CONFIG_UIO is not set | 1448 | # CONFIG_UIO is not set |
@@ -1453,6 +1523,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1453 | # CONFIG_BFS_FS is not set | 1523 | # CONFIG_BFS_FS is not set |
1454 | # CONFIG_EFS_FS is not set | 1524 | # CONFIG_EFS_FS is not set |
1455 | # CONFIG_JFFS2_FS is not set | 1525 | # CONFIG_JFFS2_FS is not set |
1526 | # CONFIG_LOGFS is not set | ||
1456 | # CONFIG_CRAMFS is not set | 1527 | # CONFIG_CRAMFS is not set |
1457 | # CONFIG_SQUASHFS is not set | 1528 | # CONFIG_SQUASHFS is not set |
1458 | # CONFIG_VXFS_FS is not set | 1529 | # CONFIG_VXFS_FS is not set |
@@ -1479,6 +1550,7 @@ CONFIG_SUNRPC_GSS=y | |||
1479 | CONFIG_RPCSEC_GSS_KRB5=y | 1550 | CONFIG_RPCSEC_GSS_KRB5=y |
1480 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1551 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1481 | # CONFIG_SMB_FS is not set | 1552 | # CONFIG_SMB_FS is not set |
1553 | # CONFIG_CEPH_FS is not set | ||
1482 | # CONFIG_CIFS is not set | 1554 | # CONFIG_CIFS is not set |
1483 | # CONFIG_NCP_FS is not set | 1555 | # CONFIG_NCP_FS is not set |
1484 | # CONFIG_CODA_FS is not set | 1556 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig index 8f35f8049c92..cfebef9f9123 100644 --- a/arch/powerpc/configs/mpc85xx_defconfig +++ b/arch/powerpc/configs/mpc85xx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:06 2010 | 4 | # Mon Apr 19 23:16:31 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
68 | # CONFIG_PPC_DCR_NATIVE is not set | 68 | # CONFIG_PPC_DCR_NATIVE is not set |
69 | # CONFIG_PPC_DCR_MMIO is not set | 69 | # CONFIG_PPC_DCR_MMIO is not set |
70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 70 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
71 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
72 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
73 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
71 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 75 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
72 | CONFIG_CONSTRUCTORS=y | 76 | CONFIG_CONSTRUCTORS=y |
73 | 77 | ||
@@ -103,14 +107,8 @@ CONFIG_RCU_FANOUT=32 | |||
103 | CONFIG_IKCONFIG=y | 107 | CONFIG_IKCONFIG=y |
104 | CONFIG_IKCONFIG_PROC=y | 108 | CONFIG_IKCONFIG_PROC=y |
105 | CONFIG_LOG_BUF_SHIFT=14 | 109 | CONFIG_LOG_BUF_SHIFT=14 |
106 | CONFIG_GROUP_SCHED=y | ||
107 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
108 | # CONFIG_RT_GROUP_SCHED is not set | ||
109 | CONFIG_USER_SCHED=y | ||
110 | # CONFIG_CGROUP_SCHED is not set | ||
111 | # CONFIG_CGROUPS is not set | 110 | # CONFIG_CGROUPS is not set |
112 | CONFIG_SYSFS_DEPRECATED=y | 111 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
113 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
114 | # CONFIG_RELAY is not set | 112 | # CONFIG_RELAY is not set |
115 | # CONFIG_NAMESPACES is not set | 113 | # CONFIG_NAMESPACES is not set |
116 | CONFIG_BLK_DEV_INITRD=y | 114 | CONFIG_BLK_DEV_INITRD=y |
@@ -118,6 +116,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
118 | CONFIG_RD_GZIP=y | 116 | CONFIG_RD_GZIP=y |
119 | # CONFIG_RD_BZIP2 is not set | 117 | # CONFIG_RD_BZIP2 is not set |
120 | # CONFIG_RD_LZMA is not set | 118 | # CONFIG_RD_LZMA is not set |
119 | # CONFIG_RD_LZO is not set | ||
121 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 120 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
122 | CONFIG_SYSCTL=y | 121 | CONFIG_SYSCTL=y |
123 | CONFIG_ANON_INODES=y | 122 | CONFIG_ANON_INODES=y |
@@ -334,6 +333,7 @@ CONFIG_ISA_DMA_API=y | |||
334 | # Bus options | 333 | # Bus options |
335 | # | 334 | # |
336 | CONFIG_ZONE_DMA=y | 335 | CONFIG_ZONE_DMA=y |
336 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
337 | CONFIG_GENERIC_ISA_DMA=y | 337 | CONFIG_GENERIC_ISA_DMA=y |
338 | CONFIG_PPC_INDIRECT_PCI=y | 338 | CONFIG_PPC_INDIRECT_PCI=y |
339 | CONFIG_FSL_SOC=y | 339 | CONFIG_FSL_SOC=y |
@@ -345,7 +345,6 @@ CONFIG_PCI_SYSCALL=y | |||
345 | # CONFIG_PCIEPORTBUS is not set | 345 | # CONFIG_PCIEPORTBUS is not set |
346 | CONFIG_ARCH_SUPPORTS_MSI=y | 346 | CONFIG_ARCH_SUPPORTS_MSI=y |
347 | CONFIG_PCI_MSI=y | 347 | CONFIG_PCI_MSI=y |
348 | # CONFIG_PCI_LEGACY is not set | ||
349 | # CONFIG_PCI_DEBUG is not set | 348 | # CONFIG_PCI_DEBUG is not set |
350 | # CONFIG_PCI_STUB is not set | 349 | # CONFIG_PCI_STUB is not set |
351 | # CONFIG_PCI_IOV is not set | 350 | # CONFIG_PCI_IOV is not set |
@@ -376,7 +375,6 @@ CONFIG_NET=y | |||
376 | # Networking options | 375 | # Networking options |
377 | # | 376 | # |
378 | CONFIG_PACKET=y | 377 | CONFIG_PACKET=y |
379 | # CONFIG_PACKET_MMAP is not set | ||
380 | CONFIG_UNIX=y | 378 | CONFIG_UNIX=y |
381 | CONFIG_XFRM=y | 379 | CONFIG_XFRM=y |
382 | CONFIG_XFRM_USER=y | 380 | CONFIG_XFRM_USER=y |
@@ -509,6 +507,8 @@ CONFIG_EXTRA_FIRMWARE="" | |||
509 | # CONFIG_SYS_HYPERVISOR is not set | 507 | # CONFIG_SYS_HYPERVISOR is not set |
510 | # CONFIG_CONNECTOR is not set | 508 | # CONFIG_CONNECTOR is not set |
511 | # CONFIG_MTD is not set | 509 | # CONFIG_MTD is not set |
510 | CONFIG_OF_FLATTREE=y | ||
511 | CONFIG_OF_DYNAMIC=y | ||
512 | CONFIG_OF_DEVICE=y | 512 | CONFIG_OF_DEVICE=y |
513 | CONFIG_OF_GPIO=y | 513 | CONFIG_OF_GPIO=y |
514 | CONFIG_OF_I2C=y | 514 | CONFIG_OF_I2C=y |
@@ -546,6 +546,7 @@ CONFIG_MISC_DEVICES=y | |||
546 | # CONFIG_ENCLOSURE_SERVICES is not set | 546 | # CONFIG_ENCLOSURE_SERVICES is not set |
547 | # CONFIG_HP_ILO is not set | 547 | # CONFIG_HP_ILO is not set |
548 | # CONFIG_ISL29003 is not set | 548 | # CONFIG_ISL29003 is not set |
549 | # CONFIG_SENSORS_TSL2550 is not set | ||
549 | # CONFIG_DS1682 is not set | 550 | # CONFIG_DS1682 is not set |
550 | # CONFIG_C2PORT is not set | 551 | # CONFIG_C2PORT is not set |
551 | 552 | ||
@@ -563,6 +564,7 @@ CONFIG_HAVE_IDE=y | |||
563 | # | 564 | # |
564 | # SCSI device support | 565 | # SCSI device support |
565 | # | 566 | # |
567 | CONFIG_SCSI_MOD=y | ||
566 | # CONFIG_RAID_ATTRS is not set | 568 | # CONFIG_RAID_ATTRS is not set |
567 | CONFIG_SCSI=y | 569 | CONFIG_SCSI=y |
568 | CONFIG_SCSI_DMA=y | 570 | CONFIG_SCSI_DMA=y |
@@ -687,6 +689,7 @@ CONFIG_PATA_ALI=y | |||
687 | # CONFIG_PATA_IT821X is not set | 689 | # CONFIG_PATA_IT821X is not set |
688 | # CONFIG_PATA_IT8213 is not set | 690 | # CONFIG_PATA_IT8213 is not set |
689 | # CONFIG_PATA_JMICRON is not set | 691 | # CONFIG_PATA_JMICRON is not set |
692 | # CONFIG_PATA_LEGACY is not set | ||
690 | # CONFIG_PATA_TRIFLEX is not set | 693 | # CONFIG_PATA_TRIFLEX is not set |
691 | # CONFIG_PATA_MARVELL is not set | 694 | # CONFIG_PATA_MARVELL is not set |
692 | # CONFIG_PATA_MPIIX is not set | 695 | # CONFIG_PATA_MPIIX is not set |
@@ -817,8 +820,11 @@ CONFIG_NETDEV_10000=y | |||
817 | # CONFIG_CHELSIO_T1 is not set | 820 | # CONFIG_CHELSIO_T1 is not set |
818 | CONFIG_CHELSIO_T3_DEPENDS=y | 821 | CONFIG_CHELSIO_T3_DEPENDS=y |
819 | # CONFIG_CHELSIO_T3 is not set | 822 | # CONFIG_CHELSIO_T3 is not set |
823 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
824 | # CONFIG_CHELSIO_T4 is not set | ||
820 | # CONFIG_ENIC is not set | 825 | # CONFIG_ENIC is not set |
821 | # CONFIG_IXGBE is not set | 826 | # CONFIG_IXGBE is not set |
827 | # CONFIG_IXGBEVF is not set | ||
822 | # CONFIG_IXGB is not set | 828 | # CONFIG_IXGB is not set |
823 | # CONFIG_S2IO is not set | 829 | # CONFIG_S2IO is not set |
824 | # CONFIG_VXGE is not set | 830 | # CONFIG_VXGE is not set |
@@ -829,6 +835,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
829 | # CONFIG_MLX4_CORE is not set | 835 | # CONFIG_MLX4_CORE is not set |
830 | # CONFIG_TEHUTI is not set | 836 | # CONFIG_TEHUTI is not set |
831 | # CONFIG_BNX2X is not set | 837 | # CONFIG_BNX2X is not set |
838 | # CONFIG_QLCNIC is not set | ||
832 | # CONFIG_QLGE is not set | 839 | # CONFIG_QLGE is not set |
833 | # CONFIG_SFC is not set | 840 | # CONFIG_SFC is not set |
834 | # CONFIG_BE2NET is not set | 841 | # CONFIG_BE2NET is not set |
@@ -941,6 +948,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
941 | # CONFIG_SERIAL_JSM is not set | 948 | # CONFIG_SERIAL_JSM is not set |
942 | # CONFIG_SERIAL_OF_PLATFORM is not set | 949 | # CONFIG_SERIAL_OF_PLATFORM is not set |
943 | CONFIG_SERIAL_QE=m | 950 | CONFIG_SERIAL_QE=m |
951 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
944 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 952 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
945 | CONFIG_UNIX98_PTYS=y | 953 | CONFIG_UNIX98_PTYS=y |
946 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 954 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -993,6 +1001,7 @@ CONFIG_I2C_CPM=m | |||
993 | CONFIG_I2C_MPC=y | 1001 | CONFIG_I2C_MPC=y |
994 | # CONFIG_I2C_OCORES is not set | 1002 | # CONFIG_I2C_OCORES is not set |
995 | # CONFIG_I2C_SIMTEC is not set | 1003 | # CONFIG_I2C_SIMTEC is not set |
1004 | # CONFIG_I2C_XILINX is not set | ||
996 | 1005 | ||
997 | # | 1006 | # |
998 | # External I2C/SMBus adapter drivers | 1007 | # External I2C/SMBus adapter drivers |
@@ -1006,15 +1015,9 @@ CONFIG_I2C_MPC=y | |||
1006 | # | 1015 | # |
1007 | # CONFIG_I2C_PCA_PLATFORM is not set | 1016 | # CONFIG_I2C_PCA_PLATFORM is not set |
1008 | # CONFIG_I2C_STUB is not set | 1017 | # CONFIG_I2C_STUB is not set |
1009 | |||
1010 | # | ||
1011 | # Miscellaneous I2C Chip support | ||
1012 | # | ||
1013 | # CONFIG_SENSORS_TSL2550 is not set | ||
1014 | # CONFIG_I2C_DEBUG_CORE is not set | 1018 | # CONFIG_I2C_DEBUG_CORE is not set |
1015 | # CONFIG_I2C_DEBUG_ALGO is not set | 1019 | # CONFIG_I2C_DEBUG_ALGO is not set |
1016 | # CONFIG_I2C_DEBUG_BUS is not set | 1020 | # CONFIG_I2C_DEBUG_BUS is not set |
1017 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1018 | # CONFIG_SPI is not set | 1021 | # CONFIG_SPI is not set |
1019 | 1022 | ||
1020 | # | 1023 | # |
@@ -1030,14 +1033,18 @@ CONFIG_GPIOLIB=y | |||
1030 | # | 1033 | # |
1031 | # Memory mapped GPIO expanders: | 1034 | # Memory mapped GPIO expanders: |
1032 | # | 1035 | # |
1036 | # CONFIG_GPIO_IT8761E is not set | ||
1033 | # CONFIG_GPIO_XILINX is not set | 1037 | # CONFIG_GPIO_XILINX is not set |
1038 | # CONFIG_GPIO_SCH is not set | ||
1034 | 1039 | ||
1035 | # | 1040 | # |
1036 | # I2C GPIO expanders: | 1041 | # I2C GPIO expanders: |
1037 | # | 1042 | # |
1043 | # CONFIG_GPIO_MAX7300 is not set | ||
1038 | # CONFIG_GPIO_MAX732X is not set | 1044 | # CONFIG_GPIO_MAX732X is not set |
1039 | # CONFIG_GPIO_PCA953X is not set | 1045 | # CONFIG_GPIO_PCA953X is not set |
1040 | # CONFIG_GPIO_PCF857X is not set | 1046 | # CONFIG_GPIO_PCF857X is not set |
1047 | # CONFIG_GPIO_ADP5588 is not set | ||
1041 | 1048 | ||
1042 | # | 1049 | # |
1043 | # PCI GPIO expanders: | 1050 | # PCI GPIO expanders: |
@@ -1069,20 +1076,25 @@ CONFIG_SSB_POSSIBLE=y | |||
1069 | # Multifunction device drivers | 1076 | # Multifunction device drivers |
1070 | # | 1077 | # |
1071 | # CONFIG_MFD_CORE is not set | 1078 | # CONFIG_MFD_CORE is not set |
1079 | # CONFIG_MFD_88PM860X is not set | ||
1072 | # CONFIG_MFD_SM501 is not set | 1080 | # CONFIG_MFD_SM501 is not set |
1073 | # CONFIG_HTC_PASIC3 is not set | 1081 | # CONFIG_HTC_PASIC3 is not set |
1082 | # CONFIG_HTC_I2CPLD is not set | ||
1074 | # CONFIG_UCB1400_CORE is not set | 1083 | # CONFIG_UCB1400_CORE is not set |
1075 | # CONFIG_TPS65010 is not set | 1084 | # CONFIG_TPS65010 is not set |
1076 | # CONFIG_TWL4030_CORE is not set | 1085 | # CONFIG_TWL4030_CORE is not set |
1077 | # CONFIG_MFD_TMIO is not set | 1086 | # CONFIG_MFD_TMIO is not set |
1078 | # CONFIG_PMIC_DA903X is not set | 1087 | # CONFIG_PMIC_DA903X is not set |
1079 | # CONFIG_PMIC_ADP5520 is not set | 1088 | # CONFIG_PMIC_ADP5520 is not set |
1089 | # CONFIG_MFD_MAX8925 is not set | ||
1080 | # CONFIG_MFD_WM8400 is not set | 1090 | # CONFIG_MFD_WM8400 is not set |
1081 | # CONFIG_MFD_WM831X is not set | 1091 | # CONFIG_MFD_WM831X is not set |
1082 | # CONFIG_MFD_WM8350_I2C is not set | 1092 | # CONFIG_MFD_WM8350_I2C is not set |
1093 | # CONFIG_MFD_WM8994 is not set | ||
1083 | # CONFIG_MFD_PCF50633 is not set | 1094 | # CONFIG_MFD_PCF50633 is not set |
1084 | # CONFIG_AB3100_CORE is not set | 1095 | # CONFIG_AB3100_CORE is not set |
1085 | # CONFIG_MFD_88PM8607 is not set | 1096 | # CONFIG_MFD_TIMBERDALE is not set |
1097 | # CONFIG_LPC_SCH is not set | ||
1086 | # CONFIG_REGULATOR is not set | 1098 | # CONFIG_REGULATOR is not set |
1087 | # CONFIG_MEDIA_SUPPORT is not set | 1099 | # CONFIG_MEDIA_SUPPORT is not set |
1088 | 1100 | ||
@@ -1091,6 +1103,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1091 | # | 1103 | # |
1092 | # CONFIG_AGP is not set | 1104 | # CONFIG_AGP is not set |
1093 | CONFIG_VGA_ARB=y | 1105 | CONFIG_VGA_ARB=y |
1106 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1094 | # CONFIG_DRM is not set | 1107 | # CONFIG_DRM is not set |
1095 | # CONFIG_VGASTATE is not set | 1108 | # CONFIG_VGASTATE is not set |
1096 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 1109 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1208,6 +1221,7 @@ CONFIG_SND_INTEL8X0=y | |||
1208 | CONFIG_SND_PPC=y | 1221 | CONFIG_SND_PPC=y |
1209 | CONFIG_SND_USB=y | 1222 | CONFIG_SND_USB=y |
1210 | # CONFIG_SND_USB_AUDIO is not set | 1223 | # CONFIG_SND_USB_AUDIO is not set |
1224 | # CONFIG_SND_USB_UA101 is not set | ||
1211 | # CONFIG_SND_USB_USX2Y is not set | 1225 | # CONFIG_SND_USB_USX2Y is not set |
1212 | # CONFIG_SND_USB_CAIAQ is not set | 1226 | # CONFIG_SND_USB_CAIAQ is not set |
1213 | # CONFIG_SND_SOC is not set | 1227 | # CONFIG_SND_SOC is not set |
@@ -1227,6 +1241,7 @@ CONFIG_USB_HID=y | |||
1227 | # | 1241 | # |
1228 | # Special HID drivers | 1242 | # Special HID drivers |
1229 | # | 1243 | # |
1244 | # CONFIG_HID_3M_PCT is not set | ||
1230 | CONFIG_HID_A4TECH=y | 1245 | CONFIG_HID_A4TECH=y |
1231 | CONFIG_HID_APPLE=y | 1246 | CONFIG_HID_APPLE=y |
1232 | CONFIG_HID_BELKIN=y | 1247 | CONFIG_HID_BELKIN=y |
@@ -1242,14 +1257,19 @@ CONFIG_HID_GYRATION=y | |||
1242 | CONFIG_HID_LOGITECH=y | 1257 | CONFIG_HID_LOGITECH=y |
1243 | # CONFIG_LOGITECH_FF is not set | 1258 | # CONFIG_LOGITECH_FF is not set |
1244 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1259 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1260 | # CONFIG_LOGIG940_FF is not set | ||
1245 | CONFIG_HID_MICROSOFT=y | 1261 | CONFIG_HID_MICROSOFT=y |
1262 | # CONFIG_HID_MOSART is not set | ||
1246 | CONFIG_HID_MONTEREY=y | 1263 | CONFIG_HID_MONTEREY=y |
1247 | # CONFIG_HID_NTRIG is not set | 1264 | # CONFIG_HID_NTRIG is not set |
1265 | # CONFIG_HID_ORTEK is not set | ||
1248 | CONFIG_HID_PANTHERLORD=y | 1266 | CONFIG_HID_PANTHERLORD=y |
1249 | # CONFIG_PANTHERLORD_FF is not set | 1267 | # CONFIG_PANTHERLORD_FF is not set |
1250 | CONFIG_HID_PETALYNX=y | 1268 | CONFIG_HID_PETALYNX=y |
1269 | # CONFIG_HID_QUANTA is not set | ||
1251 | CONFIG_HID_SAMSUNG=y | 1270 | CONFIG_HID_SAMSUNG=y |
1252 | CONFIG_HID_SONY=y | 1271 | CONFIG_HID_SONY=y |
1272 | # CONFIG_HID_STANTUM is not set | ||
1253 | CONFIG_HID_SUNPLUS=y | 1273 | CONFIG_HID_SUNPLUS=y |
1254 | # CONFIG_HID_GREENASIA is not set | 1274 | # CONFIG_HID_GREENASIA is not set |
1255 | # CONFIG_HID_SMARTJOYPLUS is not set | 1275 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1358,7 +1378,6 @@ CONFIG_USB_STORAGE=y | |||
1358 | # CONFIG_USB_RIO500 is not set | 1378 | # CONFIG_USB_RIO500 is not set |
1359 | # CONFIG_USB_LEGOTOWER is not set | 1379 | # CONFIG_USB_LEGOTOWER is not set |
1360 | # CONFIG_USB_LCD is not set | 1380 | # CONFIG_USB_LCD is not set |
1361 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1362 | # CONFIG_USB_LED is not set | 1381 | # CONFIG_USB_LED is not set |
1363 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1382 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1364 | # CONFIG_USB_CYTHERM is not set | 1383 | # CONFIG_USB_CYTHERM is not set |
@@ -1371,7 +1390,6 @@ CONFIG_USB_STORAGE=y | |||
1371 | # CONFIG_USB_IOWARRIOR is not set | 1390 | # CONFIG_USB_IOWARRIOR is not set |
1372 | # CONFIG_USB_TEST is not set | 1391 | # CONFIG_USB_TEST is not set |
1373 | # CONFIG_USB_ISIGHTFW is not set | 1392 | # CONFIG_USB_ISIGHTFW is not set |
1374 | # CONFIG_USB_VST is not set | ||
1375 | # CONFIG_USB_GADGET is not set | 1393 | # CONFIG_USB_GADGET is not set |
1376 | 1394 | ||
1377 | # | 1395 | # |
@@ -1452,6 +1470,7 @@ CONFIG_RTC_DRV_CMOS=y | |||
1452 | # | 1470 | # |
1453 | # CONFIG_RTC_DRV_GENERIC is not set | 1471 | # CONFIG_RTC_DRV_GENERIC is not set |
1454 | CONFIG_DMADEVICES=y | 1472 | CONFIG_DMADEVICES=y |
1473 | # CONFIG_DMADEVICES_DEBUG is not set | ||
1455 | 1474 | ||
1456 | # | 1475 | # |
1457 | # DMA Devices | 1476 | # DMA Devices |
@@ -1554,6 +1573,7 @@ CONFIG_BEFS_FS=m | |||
1554 | # CONFIG_BEFS_DEBUG is not set | 1573 | # CONFIG_BEFS_DEBUG is not set |
1555 | CONFIG_BFS_FS=m | 1574 | CONFIG_BFS_FS=m |
1556 | CONFIG_EFS_FS=m | 1575 | CONFIG_EFS_FS=m |
1576 | # CONFIG_LOGFS is not set | ||
1557 | CONFIG_CRAMFS=y | 1577 | CONFIG_CRAMFS=y |
1558 | # CONFIG_SQUASHFS is not set | 1578 | # CONFIG_SQUASHFS is not set |
1559 | CONFIG_VXFS_FS=m | 1579 | CONFIG_VXFS_FS=m |
@@ -1585,6 +1605,7 @@ CONFIG_SUNRPC_GSS=y | |||
1585 | CONFIG_RPCSEC_GSS_KRB5=y | 1605 | CONFIG_RPCSEC_GSS_KRB5=y |
1586 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1606 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1587 | # CONFIG_SMB_FS is not set | 1607 | # CONFIG_SMB_FS is not set |
1608 | # CONFIG_CEPH_FS is not set | ||
1588 | # CONFIG_CIFS is not set | 1609 | # CONFIG_CIFS is not set |
1589 | # CONFIG_NCP_FS is not set | 1610 | # CONFIG_NCP_FS is not set |
1590 | # CONFIG_CODA_FS is not set | 1611 | # CONFIG_CODA_FS is not set |
@@ -1730,6 +1751,7 @@ CONFIG_DEBUG_INFO=y | |||
1730 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1751 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1731 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1752 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1732 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 1753 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
1754 | # CONFIG_LKDTM is not set | ||
1733 | # CONFIG_FAULT_INJECTION is not set | 1755 | # CONFIG_FAULT_INJECTION is not set |
1734 | # CONFIG_LATENCYTOP is not set | 1756 | # CONFIG_LATENCYTOP is not set |
1735 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1757 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
diff --git a/arch/powerpc/configs/mpc85xx_smp_defconfig b/arch/powerpc/configs/mpc85xx_smp_defconfig index 8755ea3c7f5f..f5451d80f19b 100644 --- a/arch/powerpc/configs/mpc85xx_smp_defconfig +++ b/arch/powerpc/configs/mpc85xx_smp_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:07 2010 | 4 | # Mon Apr 19 23:16:31 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -69,6 +69,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y | |||
69 | # CONFIG_PPC_DCR_NATIVE is not set | 69 | # CONFIG_PPC_DCR_NATIVE is not set |
70 | # CONFIG_PPC_DCR_MMIO is not set | 70 | # CONFIG_PPC_DCR_MMIO is not set |
71 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 71 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
72 | CONFIG_PPC_ADV_DEBUG_REGS=y | ||
73 | CONFIG_PPC_ADV_DEBUG_IACS=2 | ||
74 | CONFIG_PPC_ADV_DEBUG_DACS=2 | ||
75 | CONFIG_PPC_ADV_DEBUG_DVCS=0 | ||
72 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 76 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
73 | CONFIG_CONSTRUCTORS=y | 77 | CONFIG_CONSTRUCTORS=y |
74 | 78 | ||
@@ -100,18 +104,13 @@ CONFIG_TREE_RCU=y | |||
100 | # CONFIG_RCU_TRACE is not set | 104 | # CONFIG_RCU_TRACE is not set |
101 | CONFIG_RCU_FANOUT=32 | 105 | CONFIG_RCU_FANOUT=32 |
102 | # CONFIG_RCU_FANOUT_EXACT is not set | 106 | # CONFIG_RCU_FANOUT_EXACT is not set |
107 | # CONFIG_RCU_FAST_NO_HZ is not set | ||
103 | # CONFIG_TREE_RCU_TRACE is not set | 108 | # CONFIG_TREE_RCU_TRACE is not set |
104 | CONFIG_IKCONFIG=y | 109 | CONFIG_IKCONFIG=y |
105 | CONFIG_IKCONFIG_PROC=y | 110 | CONFIG_IKCONFIG_PROC=y |
106 | CONFIG_LOG_BUF_SHIFT=14 | 111 | CONFIG_LOG_BUF_SHIFT=14 |
107 | CONFIG_GROUP_SCHED=y | ||
108 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
109 | # CONFIG_RT_GROUP_SCHED is not set | ||
110 | CONFIG_USER_SCHED=y | ||
111 | # CONFIG_CGROUP_SCHED is not set | ||
112 | # CONFIG_CGROUPS is not set | 112 | # CONFIG_CGROUPS is not set |
113 | CONFIG_SYSFS_DEPRECATED=y | 113 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
114 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
115 | # CONFIG_RELAY is not set | 114 | # CONFIG_RELAY is not set |
116 | # CONFIG_NAMESPACES is not set | 115 | # CONFIG_NAMESPACES is not set |
117 | CONFIG_BLK_DEV_INITRD=y | 116 | CONFIG_BLK_DEV_INITRD=y |
@@ -119,6 +118,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
119 | CONFIG_RD_GZIP=y | 118 | CONFIG_RD_GZIP=y |
120 | # CONFIG_RD_BZIP2 is not set | 119 | # CONFIG_RD_BZIP2 is not set |
121 | # CONFIG_RD_LZMA is not set | 120 | # CONFIG_RD_LZMA is not set |
121 | # CONFIG_RD_LZO is not set | ||
122 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 122 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
123 | CONFIG_SYSCTL=y | 123 | CONFIG_SYSCTL=y |
124 | CONFIG_ANON_INODES=y | 124 | CONFIG_ANON_INODES=y |
@@ -338,6 +338,7 @@ CONFIG_ISA_DMA_API=y | |||
338 | # Bus options | 338 | # Bus options |
339 | # | 339 | # |
340 | CONFIG_ZONE_DMA=y | 340 | CONFIG_ZONE_DMA=y |
341 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
341 | CONFIG_GENERIC_ISA_DMA=y | 342 | CONFIG_GENERIC_ISA_DMA=y |
342 | CONFIG_PPC_INDIRECT_PCI=y | 343 | CONFIG_PPC_INDIRECT_PCI=y |
343 | CONFIG_FSL_SOC=y | 344 | CONFIG_FSL_SOC=y |
@@ -349,7 +350,6 @@ CONFIG_PCI_SYSCALL=y | |||
349 | # CONFIG_PCIEPORTBUS is not set | 350 | # CONFIG_PCIEPORTBUS is not set |
350 | CONFIG_ARCH_SUPPORTS_MSI=y | 351 | CONFIG_ARCH_SUPPORTS_MSI=y |
351 | CONFIG_PCI_MSI=y | 352 | CONFIG_PCI_MSI=y |
352 | # CONFIG_PCI_LEGACY is not set | ||
353 | # CONFIG_PCI_DEBUG is not set | 353 | # CONFIG_PCI_DEBUG is not set |
354 | # CONFIG_PCI_STUB is not set | 354 | # CONFIG_PCI_STUB is not set |
355 | # CONFIG_PCI_IOV is not set | 355 | # CONFIG_PCI_IOV is not set |
@@ -380,7 +380,6 @@ CONFIG_NET=y | |||
380 | # Networking options | 380 | # Networking options |
381 | # | 381 | # |
382 | CONFIG_PACKET=y | 382 | CONFIG_PACKET=y |
383 | # CONFIG_PACKET_MMAP is not set | ||
384 | CONFIG_UNIX=y | 383 | CONFIG_UNIX=y |
385 | CONFIG_XFRM=y | 384 | CONFIG_XFRM=y |
386 | CONFIG_XFRM_USER=y | 385 | CONFIG_XFRM_USER=y |
@@ -513,6 +512,8 @@ CONFIG_EXTRA_FIRMWARE="" | |||
513 | # CONFIG_SYS_HYPERVISOR is not set | 512 | # CONFIG_SYS_HYPERVISOR is not set |
514 | # CONFIG_CONNECTOR is not set | 513 | # CONFIG_CONNECTOR is not set |
515 | # CONFIG_MTD is not set | 514 | # CONFIG_MTD is not set |
515 | CONFIG_OF_FLATTREE=y | ||
516 | CONFIG_OF_DYNAMIC=y | ||
516 | CONFIG_OF_DEVICE=y | 517 | CONFIG_OF_DEVICE=y |
517 | CONFIG_OF_GPIO=y | 518 | CONFIG_OF_GPIO=y |
518 | CONFIG_OF_I2C=y | 519 | CONFIG_OF_I2C=y |
@@ -550,6 +551,7 @@ CONFIG_MISC_DEVICES=y | |||
550 | # CONFIG_ENCLOSURE_SERVICES is not set | 551 | # CONFIG_ENCLOSURE_SERVICES is not set |
551 | # CONFIG_HP_ILO is not set | 552 | # CONFIG_HP_ILO is not set |
552 | # CONFIG_ISL29003 is not set | 553 | # CONFIG_ISL29003 is not set |
554 | # CONFIG_SENSORS_TSL2550 is not set | ||
553 | # CONFIG_DS1682 is not set | 555 | # CONFIG_DS1682 is not set |
554 | # CONFIG_C2PORT is not set | 556 | # CONFIG_C2PORT is not set |
555 | 557 | ||
@@ -567,6 +569,7 @@ CONFIG_HAVE_IDE=y | |||
567 | # | 569 | # |
568 | # SCSI device support | 570 | # SCSI device support |
569 | # | 571 | # |
572 | CONFIG_SCSI_MOD=y | ||
570 | # CONFIG_RAID_ATTRS is not set | 573 | # CONFIG_RAID_ATTRS is not set |
571 | CONFIG_SCSI=y | 574 | CONFIG_SCSI=y |
572 | CONFIG_SCSI_DMA=y | 575 | CONFIG_SCSI_DMA=y |
@@ -691,6 +694,7 @@ CONFIG_PATA_ALI=y | |||
691 | # CONFIG_PATA_IT821X is not set | 694 | # CONFIG_PATA_IT821X is not set |
692 | # CONFIG_PATA_IT8213 is not set | 695 | # CONFIG_PATA_IT8213 is not set |
693 | # CONFIG_PATA_JMICRON is not set | 696 | # CONFIG_PATA_JMICRON is not set |
697 | # CONFIG_PATA_LEGACY is not set | ||
694 | # CONFIG_PATA_TRIFLEX is not set | 698 | # CONFIG_PATA_TRIFLEX is not set |
695 | # CONFIG_PATA_MARVELL is not set | 699 | # CONFIG_PATA_MARVELL is not set |
696 | # CONFIG_PATA_MPIIX is not set | 700 | # CONFIG_PATA_MPIIX is not set |
@@ -821,8 +825,11 @@ CONFIG_NETDEV_10000=y | |||
821 | # CONFIG_CHELSIO_T1 is not set | 825 | # CONFIG_CHELSIO_T1 is not set |
822 | CONFIG_CHELSIO_T3_DEPENDS=y | 826 | CONFIG_CHELSIO_T3_DEPENDS=y |
823 | # CONFIG_CHELSIO_T3 is not set | 827 | # CONFIG_CHELSIO_T3 is not set |
828 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
829 | # CONFIG_CHELSIO_T4 is not set | ||
824 | # CONFIG_ENIC is not set | 830 | # CONFIG_ENIC is not set |
825 | # CONFIG_IXGBE is not set | 831 | # CONFIG_IXGBE is not set |
832 | # CONFIG_IXGBEVF is not set | ||
826 | # CONFIG_IXGB is not set | 833 | # CONFIG_IXGB is not set |
827 | # CONFIG_S2IO is not set | 834 | # CONFIG_S2IO is not set |
828 | # CONFIG_VXGE is not set | 835 | # CONFIG_VXGE is not set |
@@ -833,6 +840,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
833 | # CONFIG_MLX4_CORE is not set | 840 | # CONFIG_MLX4_CORE is not set |
834 | # CONFIG_TEHUTI is not set | 841 | # CONFIG_TEHUTI is not set |
835 | # CONFIG_BNX2X is not set | 842 | # CONFIG_BNX2X is not set |
843 | # CONFIG_QLCNIC is not set | ||
836 | # CONFIG_QLGE is not set | 844 | # CONFIG_QLGE is not set |
837 | # CONFIG_SFC is not set | 845 | # CONFIG_SFC is not set |
838 | # CONFIG_BE2NET is not set | 846 | # CONFIG_BE2NET is not set |
@@ -945,6 +953,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
945 | # CONFIG_SERIAL_JSM is not set | 953 | # CONFIG_SERIAL_JSM is not set |
946 | # CONFIG_SERIAL_OF_PLATFORM is not set | 954 | # CONFIG_SERIAL_OF_PLATFORM is not set |
947 | CONFIG_SERIAL_QE=m | 955 | CONFIG_SERIAL_QE=m |
956 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
948 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 957 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
949 | CONFIG_UNIX98_PTYS=y | 958 | CONFIG_UNIX98_PTYS=y |
950 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 959 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -997,6 +1006,7 @@ CONFIG_I2C_CPM=m | |||
997 | CONFIG_I2C_MPC=y | 1006 | CONFIG_I2C_MPC=y |
998 | # CONFIG_I2C_OCORES is not set | 1007 | # CONFIG_I2C_OCORES is not set |
999 | # CONFIG_I2C_SIMTEC is not set | 1008 | # CONFIG_I2C_SIMTEC is not set |
1009 | # CONFIG_I2C_XILINX is not set | ||
1000 | 1010 | ||
1001 | # | 1011 | # |
1002 | # External I2C/SMBus adapter drivers | 1012 | # External I2C/SMBus adapter drivers |
@@ -1010,15 +1020,9 @@ CONFIG_I2C_MPC=y | |||
1010 | # | 1020 | # |
1011 | # CONFIG_I2C_PCA_PLATFORM is not set | 1021 | # CONFIG_I2C_PCA_PLATFORM is not set |
1012 | # CONFIG_I2C_STUB is not set | 1022 | # CONFIG_I2C_STUB is not set |
1013 | |||
1014 | # | ||
1015 | # Miscellaneous I2C Chip support | ||
1016 | # | ||
1017 | # CONFIG_SENSORS_TSL2550 is not set | ||
1018 | # CONFIG_I2C_DEBUG_CORE is not set | 1023 | # CONFIG_I2C_DEBUG_CORE is not set |
1019 | # CONFIG_I2C_DEBUG_ALGO is not set | 1024 | # CONFIG_I2C_DEBUG_ALGO is not set |
1020 | # CONFIG_I2C_DEBUG_BUS is not set | 1025 | # CONFIG_I2C_DEBUG_BUS is not set |
1021 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1022 | # CONFIG_SPI is not set | 1026 | # CONFIG_SPI is not set |
1023 | 1027 | ||
1024 | # | 1028 | # |
@@ -1034,14 +1038,18 @@ CONFIG_GPIOLIB=y | |||
1034 | # | 1038 | # |
1035 | # Memory mapped GPIO expanders: | 1039 | # Memory mapped GPIO expanders: |
1036 | # | 1040 | # |
1041 | # CONFIG_GPIO_IT8761E is not set | ||
1037 | # CONFIG_GPIO_XILINX is not set | 1042 | # CONFIG_GPIO_XILINX is not set |
1043 | # CONFIG_GPIO_SCH is not set | ||
1038 | 1044 | ||
1039 | # | 1045 | # |
1040 | # I2C GPIO expanders: | 1046 | # I2C GPIO expanders: |
1041 | # | 1047 | # |
1048 | # CONFIG_GPIO_MAX7300 is not set | ||
1042 | # CONFIG_GPIO_MAX732X is not set | 1049 | # CONFIG_GPIO_MAX732X is not set |
1043 | # CONFIG_GPIO_PCA953X is not set | 1050 | # CONFIG_GPIO_PCA953X is not set |
1044 | # CONFIG_GPIO_PCF857X is not set | 1051 | # CONFIG_GPIO_PCF857X is not set |
1052 | # CONFIG_GPIO_ADP5588 is not set | ||
1045 | 1053 | ||
1046 | # | 1054 | # |
1047 | # PCI GPIO expanders: | 1055 | # PCI GPIO expanders: |
@@ -1073,20 +1081,25 @@ CONFIG_SSB_POSSIBLE=y | |||
1073 | # Multifunction device drivers | 1081 | # Multifunction device drivers |
1074 | # | 1082 | # |
1075 | # CONFIG_MFD_CORE is not set | 1083 | # CONFIG_MFD_CORE is not set |
1084 | # CONFIG_MFD_88PM860X is not set | ||
1076 | # CONFIG_MFD_SM501 is not set | 1085 | # CONFIG_MFD_SM501 is not set |
1077 | # CONFIG_HTC_PASIC3 is not set | 1086 | # CONFIG_HTC_PASIC3 is not set |
1087 | # CONFIG_HTC_I2CPLD is not set | ||
1078 | # CONFIG_UCB1400_CORE is not set | 1088 | # CONFIG_UCB1400_CORE is not set |
1079 | # CONFIG_TPS65010 is not set | 1089 | # CONFIG_TPS65010 is not set |
1080 | # CONFIG_TWL4030_CORE is not set | 1090 | # CONFIG_TWL4030_CORE is not set |
1081 | # CONFIG_MFD_TMIO is not set | 1091 | # CONFIG_MFD_TMIO is not set |
1082 | # CONFIG_PMIC_DA903X is not set | 1092 | # CONFIG_PMIC_DA903X is not set |
1083 | # CONFIG_PMIC_ADP5520 is not set | 1093 | # CONFIG_PMIC_ADP5520 is not set |
1094 | # CONFIG_MFD_MAX8925 is not set | ||
1084 | # CONFIG_MFD_WM8400 is not set | 1095 | # CONFIG_MFD_WM8400 is not set |
1085 | # CONFIG_MFD_WM831X is not set | 1096 | # CONFIG_MFD_WM831X is not set |
1086 | # CONFIG_MFD_WM8350_I2C is not set | 1097 | # CONFIG_MFD_WM8350_I2C is not set |
1098 | # CONFIG_MFD_WM8994 is not set | ||
1087 | # CONFIG_MFD_PCF50633 is not set | 1099 | # CONFIG_MFD_PCF50633 is not set |
1088 | # CONFIG_AB3100_CORE is not set | 1100 | # CONFIG_AB3100_CORE is not set |
1089 | # CONFIG_MFD_88PM8607 is not set | 1101 | # CONFIG_MFD_TIMBERDALE is not set |
1102 | # CONFIG_LPC_SCH is not set | ||
1090 | # CONFIG_REGULATOR is not set | 1103 | # CONFIG_REGULATOR is not set |
1091 | # CONFIG_MEDIA_SUPPORT is not set | 1104 | # CONFIG_MEDIA_SUPPORT is not set |
1092 | 1105 | ||
@@ -1095,6 +1108,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1095 | # | 1108 | # |
1096 | # CONFIG_AGP is not set | 1109 | # CONFIG_AGP is not set |
1097 | CONFIG_VGA_ARB=y | 1110 | CONFIG_VGA_ARB=y |
1111 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1098 | # CONFIG_DRM is not set | 1112 | # CONFIG_DRM is not set |
1099 | # CONFIG_VGASTATE is not set | 1113 | # CONFIG_VGASTATE is not set |
1100 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 1114 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1212,6 +1226,7 @@ CONFIG_SND_INTEL8X0=y | |||
1212 | CONFIG_SND_PPC=y | 1226 | CONFIG_SND_PPC=y |
1213 | CONFIG_SND_USB=y | 1227 | CONFIG_SND_USB=y |
1214 | # CONFIG_SND_USB_AUDIO is not set | 1228 | # CONFIG_SND_USB_AUDIO is not set |
1229 | # CONFIG_SND_USB_UA101 is not set | ||
1215 | # CONFIG_SND_USB_USX2Y is not set | 1230 | # CONFIG_SND_USB_USX2Y is not set |
1216 | # CONFIG_SND_USB_CAIAQ is not set | 1231 | # CONFIG_SND_USB_CAIAQ is not set |
1217 | # CONFIG_SND_SOC is not set | 1232 | # CONFIG_SND_SOC is not set |
@@ -1231,6 +1246,7 @@ CONFIG_USB_HID=y | |||
1231 | # | 1246 | # |
1232 | # Special HID drivers | 1247 | # Special HID drivers |
1233 | # | 1248 | # |
1249 | # CONFIG_HID_3M_PCT is not set | ||
1234 | CONFIG_HID_A4TECH=y | 1250 | CONFIG_HID_A4TECH=y |
1235 | CONFIG_HID_APPLE=y | 1251 | CONFIG_HID_APPLE=y |
1236 | CONFIG_HID_BELKIN=y | 1252 | CONFIG_HID_BELKIN=y |
@@ -1246,14 +1262,19 @@ CONFIG_HID_GYRATION=y | |||
1246 | CONFIG_HID_LOGITECH=y | 1262 | CONFIG_HID_LOGITECH=y |
1247 | # CONFIG_LOGITECH_FF is not set | 1263 | # CONFIG_LOGITECH_FF is not set |
1248 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1264 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1265 | # CONFIG_LOGIG940_FF is not set | ||
1249 | CONFIG_HID_MICROSOFT=y | 1266 | CONFIG_HID_MICROSOFT=y |
1267 | # CONFIG_HID_MOSART is not set | ||
1250 | CONFIG_HID_MONTEREY=y | 1268 | CONFIG_HID_MONTEREY=y |
1251 | # CONFIG_HID_NTRIG is not set | 1269 | # CONFIG_HID_NTRIG is not set |
1270 | # CONFIG_HID_ORTEK is not set | ||
1252 | CONFIG_HID_PANTHERLORD=y | 1271 | CONFIG_HID_PANTHERLORD=y |
1253 | # CONFIG_PANTHERLORD_FF is not set | 1272 | # CONFIG_PANTHERLORD_FF is not set |
1254 | CONFIG_HID_PETALYNX=y | 1273 | CONFIG_HID_PETALYNX=y |
1274 | # CONFIG_HID_QUANTA is not set | ||
1255 | CONFIG_HID_SAMSUNG=y | 1275 | CONFIG_HID_SAMSUNG=y |
1256 | CONFIG_HID_SONY=y | 1276 | CONFIG_HID_SONY=y |
1277 | # CONFIG_HID_STANTUM is not set | ||
1257 | CONFIG_HID_SUNPLUS=y | 1278 | CONFIG_HID_SUNPLUS=y |
1258 | # CONFIG_HID_GREENASIA is not set | 1279 | # CONFIG_HID_GREENASIA is not set |
1259 | # CONFIG_HID_SMARTJOYPLUS is not set | 1280 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1362,7 +1383,6 @@ CONFIG_USB_STORAGE=y | |||
1362 | # CONFIG_USB_RIO500 is not set | 1383 | # CONFIG_USB_RIO500 is not set |
1363 | # CONFIG_USB_LEGOTOWER is not set | 1384 | # CONFIG_USB_LEGOTOWER is not set |
1364 | # CONFIG_USB_LCD is not set | 1385 | # CONFIG_USB_LCD is not set |
1365 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1366 | # CONFIG_USB_LED is not set | 1386 | # CONFIG_USB_LED is not set |
1367 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1387 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1368 | # CONFIG_USB_CYTHERM is not set | 1388 | # CONFIG_USB_CYTHERM is not set |
@@ -1375,7 +1395,6 @@ CONFIG_USB_STORAGE=y | |||
1375 | # CONFIG_USB_IOWARRIOR is not set | 1395 | # CONFIG_USB_IOWARRIOR is not set |
1376 | # CONFIG_USB_TEST is not set | 1396 | # CONFIG_USB_TEST is not set |
1377 | # CONFIG_USB_ISIGHTFW is not set | 1397 | # CONFIG_USB_ISIGHTFW is not set |
1378 | # CONFIG_USB_VST is not set | ||
1379 | # CONFIG_USB_GADGET is not set | 1398 | # CONFIG_USB_GADGET is not set |
1380 | 1399 | ||
1381 | # | 1400 | # |
@@ -1456,6 +1475,7 @@ CONFIG_RTC_DRV_CMOS=y | |||
1456 | # | 1475 | # |
1457 | # CONFIG_RTC_DRV_GENERIC is not set | 1476 | # CONFIG_RTC_DRV_GENERIC is not set |
1458 | CONFIG_DMADEVICES=y | 1477 | CONFIG_DMADEVICES=y |
1478 | # CONFIG_DMADEVICES_DEBUG is not set | ||
1459 | 1479 | ||
1460 | # | 1480 | # |
1461 | # DMA Devices | 1481 | # DMA Devices |
@@ -1558,6 +1578,7 @@ CONFIG_BEFS_FS=m | |||
1558 | # CONFIG_BEFS_DEBUG is not set | 1578 | # CONFIG_BEFS_DEBUG is not set |
1559 | CONFIG_BFS_FS=m | 1579 | CONFIG_BFS_FS=m |
1560 | CONFIG_EFS_FS=m | 1580 | CONFIG_EFS_FS=m |
1581 | # CONFIG_LOGFS is not set | ||
1561 | CONFIG_CRAMFS=y | 1582 | CONFIG_CRAMFS=y |
1562 | # CONFIG_SQUASHFS is not set | 1583 | # CONFIG_SQUASHFS is not set |
1563 | CONFIG_VXFS_FS=m | 1584 | CONFIG_VXFS_FS=m |
@@ -1589,6 +1610,7 @@ CONFIG_SUNRPC_GSS=y | |||
1589 | CONFIG_RPCSEC_GSS_KRB5=y | 1610 | CONFIG_RPCSEC_GSS_KRB5=y |
1590 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1611 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1591 | # CONFIG_SMB_FS is not set | 1612 | # CONFIG_SMB_FS is not set |
1613 | # CONFIG_CEPH_FS is not set | ||
1592 | # CONFIG_CIFS is not set | 1614 | # CONFIG_CIFS is not set |
1593 | # CONFIG_NCP_FS is not set | 1615 | # CONFIG_NCP_FS is not set |
1594 | # CONFIG_CODA_FS is not set | 1616 | # CONFIG_CODA_FS is not set |
@@ -1734,6 +1756,7 @@ CONFIG_DEBUG_INFO=y | |||
1734 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1756 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1735 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1757 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1736 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 1758 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
1759 | # CONFIG_LKDTM is not set | ||
1737 | # CONFIG_FAULT_INJECTION is not set | 1760 | # CONFIG_FAULT_INJECTION is not set |
1738 | # CONFIG_LATENCYTOP is not set | 1761 | # CONFIG_LATENCYTOP is not set |
1739 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1762 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
@@ -1806,6 +1829,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1806 | CONFIG_CRYPTO_MANAGER2=y | 1829 | CONFIG_CRYPTO_MANAGER2=y |
1807 | # CONFIG_CRYPTO_GF128MUL is not set | 1830 | # CONFIG_CRYPTO_GF128MUL is not set |
1808 | # CONFIG_CRYPTO_NULL is not set | 1831 | # CONFIG_CRYPTO_NULL is not set |
1832 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1809 | CONFIG_CRYPTO_WORKQUEUE=y | 1833 | CONFIG_CRYPTO_WORKQUEUE=y |
1810 | # CONFIG_CRYPTO_CRYPTD is not set | 1834 | # CONFIG_CRYPTO_CRYPTD is not set |
1811 | CONFIG_CRYPTO_AUTHENC=y | 1835 | CONFIG_CRYPTO_AUTHENC=y |
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig index 3f6b11b6f4f3..d8d3d1d60c84 100644 --- a/arch/powerpc/configs/mpc866_ads_defconfig +++ b/arch/powerpc/configs/mpc866_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:08 2010 | 4 | # Mon Apr 19 23:16:32 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -89,14 +89,8 @@ CONFIG_RCU_FANOUT=32 | |||
89 | # CONFIG_TREE_RCU_TRACE is not set | 89 | # CONFIG_TREE_RCU_TRACE is not set |
90 | # CONFIG_IKCONFIG is not set | 90 | # CONFIG_IKCONFIG is not set |
91 | CONFIG_LOG_BUF_SHIFT=14 | 91 | CONFIG_LOG_BUF_SHIFT=14 |
92 | CONFIG_GROUP_SCHED=y | ||
93 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
94 | # CONFIG_RT_GROUP_SCHED is not set | ||
95 | CONFIG_USER_SCHED=y | ||
96 | # CONFIG_CGROUP_SCHED is not set | ||
97 | # CONFIG_CGROUPS is not set | 92 | # CONFIG_CGROUPS is not set |
98 | CONFIG_SYSFS_DEPRECATED=y | 93 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
99 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
100 | # CONFIG_RELAY is not set | 94 | # CONFIG_RELAY is not set |
101 | # CONFIG_NAMESPACES is not set | 95 | # CONFIG_NAMESPACES is not set |
102 | # CONFIG_BLK_DEV_INITRD is not set | 96 | # CONFIG_BLK_DEV_INITRD is not set |
@@ -305,6 +299,7 @@ CONFIG_ISA_DMA_API=y | |||
305 | # Bus options | 299 | # Bus options |
306 | # | 300 | # |
307 | CONFIG_ZONE_DMA=y | 301 | CONFIG_ZONE_DMA=y |
302 | CONFIG_NEED_DMA_MAP_STATE=y | ||
308 | CONFIG_FSL_SOC=y | 303 | CONFIG_FSL_SOC=y |
309 | # CONFIG_PCI is not set | 304 | # CONFIG_PCI is not set |
310 | # CONFIG_PCI_DOMAINS is not set | 305 | # CONFIG_PCI_DOMAINS is not set |
@@ -333,7 +328,6 @@ CONFIG_NET=y | |||
333 | # Networking options | 328 | # Networking options |
334 | # | 329 | # |
335 | CONFIG_PACKET=y | 330 | CONFIG_PACKET=y |
336 | # CONFIG_PACKET_MMAP is not set | ||
337 | CONFIG_UNIX=y | 331 | CONFIG_UNIX=y |
338 | CONFIG_XFRM=y | 332 | CONFIG_XFRM=y |
339 | # CONFIG_XFRM_USER is not set | 333 | # CONFIG_XFRM_USER is not set |
@@ -425,6 +419,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
425 | # CONFIG_SYS_HYPERVISOR is not set | 419 | # CONFIG_SYS_HYPERVISOR is not set |
426 | # CONFIG_CONNECTOR is not set | 420 | # CONFIG_CONNECTOR is not set |
427 | # CONFIG_MTD is not set | 421 | # CONFIG_MTD is not set |
422 | CONFIG_OF_FLATTREE=y | ||
423 | CONFIG_OF_DYNAMIC=y | ||
428 | CONFIG_OF_DEVICE=y | 424 | CONFIG_OF_DEVICE=y |
429 | CONFIG_OF_MDIO=y | 425 | CONFIG_OF_MDIO=y |
430 | # CONFIG_PARPORT is not set | 426 | # CONFIG_PARPORT is not set |
@@ -456,6 +452,7 @@ CONFIG_HAVE_IDE=y | |||
456 | # | 452 | # |
457 | # SCSI device support | 453 | # SCSI device support |
458 | # | 454 | # |
455 | CONFIG_SCSI_MOD=y | ||
459 | # CONFIG_RAID_ATTRS is not set | 456 | # CONFIG_RAID_ATTRS is not set |
460 | # CONFIG_SCSI is not set | 457 | # CONFIG_SCSI is not set |
461 | # CONFIG_SCSI_DMA is not set | 458 | # CONFIG_SCSI_DMA is not set |
@@ -607,6 +604,7 @@ CONFIG_SERIAL_CORE=y | |||
607 | CONFIG_SERIAL_CORE_CONSOLE=y | 604 | CONFIG_SERIAL_CORE_CONSOLE=y |
608 | CONFIG_SERIAL_CPM=y | 605 | CONFIG_SERIAL_CPM=y |
609 | CONFIG_SERIAL_CPM_CONSOLE=y | 606 | CONFIG_SERIAL_CPM_CONSOLE=y |
607 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
610 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 608 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
611 | CONFIG_UNIX98_PTYS=y | 609 | CONFIG_UNIX98_PTYS=y |
612 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 610 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -795,6 +793,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
795 | # CONFIG_BEFS_FS is not set | 793 | # CONFIG_BEFS_FS is not set |
796 | # CONFIG_BFS_FS is not set | 794 | # CONFIG_BFS_FS is not set |
797 | # CONFIG_EFS_FS is not set | 795 | # CONFIG_EFS_FS is not set |
796 | # CONFIG_LOGFS is not set | ||
798 | CONFIG_CRAMFS=y | 797 | CONFIG_CRAMFS=y |
799 | # CONFIG_SQUASHFS is not set | 798 | # CONFIG_SQUASHFS is not set |
800 | # CONFIG_VXFS_FS is not set | 799 | # CONFIG_VXFS_FS is not set |
@@ -819,6 +818,7 @@ CONFIG_SUNRPC=y | |||
819 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 818 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
820 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 819 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
821 | # CONFIG_SMB_FS is not set | 820 | # CONFIG_SMB_FS is not set |
821 | # CONFIG_CEPH_FS is not set | ||
822 | # CONFIG_CIFS is not set | 822 | # CONFIG_CIFS is not set |
823 | # CONFIG_NCP_FS is not set | 823 | # CONFIG_NCP_FS is not set |
824 | # CONFIG_CODA_FS is not set | 824 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/mpc86xx_defconfig b/arch/powerpc/configs/mpc86xx_defconfig index 41884c97a4f3..624eae9a7e20 100644 --- a/arch/powerpc/configs/mpc86xx_defconfig +++ b/arch/powerpc/configs/mpc86xx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:09 2010 | 4 | # Mon Apr 19 23:16:33 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -98,18 +98,13 @@ CONFIG_TREE_RCU=y | |||
98 | # CONFIG_RCU_TRACE is not set | 98 | # CONFIG_RCU_TRACE is not set |
99 | CONFIG_RCU_FANOUT=32 | 99 | CONFIG_RCU_FANOUT=32 |
100 | # CONFIG_RCU_FANOUT_EXACT is not set | 100 | # CONFIG_RCU_FANOUT_EXACT is not set |
101 | # CONFIG_RCU_FAST_NO_HZ is not set | ||
101 | # CONFIG_TREE_RCU_TRACE is not set | 102 | # CONFIG_TREE_RCU_TRACE is not set |
102 | CONFIG_IKCONFIG=y | 103 | CONFIG_IKCONFIG=y |
103 | CONFIG_IKCONFIG_PROC=y | 104 | CONFIG_IKCONFIG_PROC=y |
104 | CONFIG_LOG_BUF_SHIFT=14 | 105 | CONFIG_LOG_BUF_SHIFT=14 |
105 | CONFIG_GROUP_SCHED=y | ||
106 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
107 | # CONFIG_RT_GROUP_SCHED is not set | ||
108 | CONFIG_USER_SCHED=y | ||
109 | # CONFIG_CGROUP_SCHED is not set | ||
110 | # CONFIG_CGROUPS is not set | 106 | # CONFIG_CGROUPS is not set |
111 | CONFIG_SYSFS_DEPRECATED=y | 107 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
112 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
113 | # CONFIG_RELAY is not set | 108 | # CONFIG_RELAY is not set |
114 | # CONFIG_NAMESPACES is not set | 109 | # CONFIG_NAMESPACES is not set |
115 | CONFIG_BLK_DEV_INITRD=y | 110 | CONFIG_BLK_DEV_INITRD=y |
@@ -117,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
117 | CONFIG_RD_GZIP=y | 112 | CONFIG_RD_GZIP=y |
118 | # CONFIG_RD_BZIP2 is not set | 113 | # CONFIG_RD_BZIP2 is not set |
119 | # CONFIG_RD_LZMA is not set | 114 | # CONFIG_RD_LZMA is not set |
115 | # CONFIG_RD_LZO is not set | ||
120 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 116 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
121 | CONFIG_SYSCTL=y | 117 | CONFIG_SYSCTL=y |
122 | CONFIG_ANON_INODES=y | 118 | CONFIG_ANON_INODES=y |
@@ -328,6 +324,7 @@ CONFIG_ISA_DMA_API=y | |||
328 | # Bus options | 324 | # Bus options |
329 | # | 325 | # |
330 | CONFIG_ZONE_DMA=y | 326 | CONFIG_ZONE_DMA=y |
327 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
331 | CONFIG_GENERIC_ISA_DMA=y | 328 | CONFIG_GENERIC_ISA_DMA=y |
332 | CONFIG_PPC_INDIRECT_PCI=y | 329 | CONFIG_PPC_INDIRECT_PCI=y |
333 | CONFIG_FSL_SOC=y | 330 | CONFIG_FSL_SOC=y |
@@ -339,7 +336,6 @@ CONFIG_PCI_SYSCALL=y | |||
339 | # CONFIG_PCIEPORTBUS is not set | 336 | # CONFIG_PCIEPORTBUS is not set |
340 | CONFIG_ARCH_SUPPORTS_MSI=y | 337 | CONFIG_ARCH_SUPPORTS_MSI=y |
341 | # CONFIG_PCI_MSI is not set | 338 | # CONFIG_PCI_MSI is not set |
342 | # CONFIG_PCI_LEGACY is not set | ||
343 | # CONFIG_PCI_DEBUG is not set | 339 | # CONFIG_PCI_DEBUG is not set |
344 | # CONFIG_PCI_STUB is not set | 340 | # CONFIG_PCI_STUB is not set |
345 | # CONFIG_PCI_IOV is not set | 341 | # CONFIG_PCI_IOV is not set |
@@ -367,7 +363,6 @@ CONFIG_NET=y | |||
367 | # Networking options | 363 | # Networking options |
368 | # | 364 | # |
369 | CONFIG_PACKET=y | 365 | CONFIG_PACKET=y |
370 | # CONFIG_PACKET_MMAP is not set | ||
371 | CONFIG_UNIX=y | 366 | CONFIG_UNIX=y |
372 | CONFIG_XFRM=y | 367 | CONFIG_XFRM=y |
373 | CONFIG_XFRM_USER=y | 368 | CONFIG_XFRM_USER=y |
@@ -500,6 +495,8 @@ CONFIG_EXTRA_FIRMWARE="" | |||
500 | # CONFIG_SYS_HYPERVISOR is not set | 495 | # CONFIG_SYS_HYPERVISOR is not set |
501 | # CONFIG_CONNECTOR is not set | 496 | # CONFIG_CONNECTOR is not set |
502 | # CONFIG_MTD is not set | 497 | # CONFIG_MTD is not set |
498 | CONFIG_OF_FLATTREE=y | ||
499 | CONFIG_OF_DYNAMIC=y | ||
503 | CONFIG_OF_DEVICE=y | 500 | CONFIG_OF_DEVICE=y |
504 | CONFIG_OF_GPIO=y | 501 | CONFIG_OF_GPIO=y |
505 | CONFIG_OF_I2C=y | 502 | CONFIG_OF_I2C=y |
@@ -537,6 +534,7 @@ CONFIG_MISC_DEVICES=y | |||
537 | # CONFIG_ENCLOSURE_SERVICES is not set | 534 | # CONFIG_ENCLOSURE_SERVICES is not set |
538 | # CONFIG_HP_ILO is not set | 535 | # CONFIG_HP_ILO is not set |
539 | # CONFIG_ISL29003 is not set | 536 | # CONFIG_ISL29003 is not set |
537 | # CONFIG_SENSORS_TSL2550 is not set | ||
540 | # CONFIG_DS1682 is not set | 538 | # CONFIG_DS1682 is not set |
541 | # CONFIG_C2PORT is not set | 539 | # CONFIG_C2PORT is not set |
542 | 540 | ||
@@ -554,6 +552,7 @@ CONFIG_HAVE_IDE=y | |||
554 | # | 552 | # |
555 | # SCSI device support | 553 | # SCSI device support |
556 | # | 554 | # |
555 | CONFIG_SCSI_MOD=y | ||
557 | # CONFIG_RAID_ATTRS is not set | 556 | # CONFIG_RAID_ATTRS is not set |
558 | CONFIG_SCSI=y | 557 | CONFIG_SCSI=y |
559 | CONFIG_SCSI_DMA=y | 558 | CONFIG_SCSI_DMA=y |
@@ -678,6 +677,7 @@ CONFIG_PATA_ALI=y | |||
678 | # CONFIG_PATA_IT821X is not set | 677 | # CONFIG_PATA_IT821X is not set |
679 | # CONFIG_PATA_IT8213 is not set | 678 | # CONFIG_PATA_IT8213 is not set |
680 | # CONFIG_PATA_JMICRON is not set | 679 | # CONFIG_PATA_JMICRON is not set |
680 | # CONFIG_PATA_LEGACY is not set | ||
681 | # CONFIG_PATA_TRIFLEX is not set | 681 | # CONFIG_PATA_TRIFLEX is not set |
682 | # CONFIG_PATA_MARVELL is not set | 682 | # CONFIG_PATA_MARVELL is not set |
683 | # CONFIG_PATA_MPIIX is not set | 683 | # CONFIG_PATA_MPIIX is not set |
@@ -802,6 +802,8 @@ CONFIG_NETDEV_10000=y | |||
802 | # CONFIG_CHELSIO_T1 is not set | 802 | # CONFIG_CHELSIO_T1 is not set |
803 | CONFIG_CHELSIO_T3_DEPENDS=y | 803 | CONFIG_CHELSIO_T3_DEPENDS=y |
804 | # CONFIG_CHELSIO_T3 is not set | 804 | # CONFIG_CHELSIO_T3 is not set |
805 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
806 | # CONFIG_CHELSIO_T4 is not set | ||
805 | # CONFIG_ENIC is not set | 807 | # CONFIG_ENIC is not set |
806 | # CONFIG_IXGBE is not set | 808 | # CONFIG_IXGBE is not set |
807 | # CONFIG_IXGB is not set | 809 | # CONFIG_IXGB is not set |
@@ -814,6 +816,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
814 | # CONFIG_MLX4_CORE is not set | 816 | # CONFIG_MLX4_CORE is not set |
815 | # CONFIG_TEHUTI is not set | 817 | # CONFIG_TEHUTI is not set |
816 | # CONFIG_BNX2X is not set | 818 | # CONFIG_BNX2X is not set |
819 | # CONFIG_QLCNIC is not set | ||
817 | # CONFIG_QLGE is not set | 820 | # CONFIG_QLGE is not set |
818 | # CONFIG_SFC is not set | 821 | # CONFIG_SFC is not set |
819 | # CONFIG_BE2NET is not set | 822 | # CONFIG_BE2NET is not set |
@@ -923,6 +926,7 @@ CONFIG_SERIAL_CORE=y | |||
923 | CONFIG_SERIAL_CORE_CONSOLE=y | 926 | CONFIG_SERIAL_CORE_CONSOLE=y |
924 | # CONFIG_SERIAL_JSM is not set | 927 | # CONFIG_SERIAL_JSM is not set |
925 | # CONFIG_SERIAL_OF_PLATFORM is not set | 928 | # CONFIG_SERIAL_OF_PLATFORM is not set |
929 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
926 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 930 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
927 | CONFIG_UNIX98_PTYS=y | 931 | CONFIG_UNIX98_PTYS=y |
928 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 932 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -972,6 +976,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
972 | CONFIG_I2C_MPC=y | 976 | CONFIG_I2C_MPC=y |
973 | # CONFIG_I2C_OCORES is not set | 977 | # CONFIG_I2C_OCORES is not set |
974 | # CONFIG_I2C_SIMTEC is not set | 978 | # CONFIG_I2C_SIMTEC is not set |
979 | # CONFIG_I2C_XILINX is not set | ||
975 | 980 | ||
976 | # | 981 | # |
977 | # External I2C/SMBus adapter drivers | 982 | # External I2C/SMBus adapter drivers |
@@ -985,15 +990,9 @@ CONFIG_I2C_MPC=y | |||
985 | # | 990 | # |
986 | # CONFIG_I2C_PCA_PLATFORM is not set | 991 | # CONFIG_I2C_PCA_PLATFORM is not set |
987 | # CONFIG_I2C_STUB is not set | 992 | # CONFIG_I2C_STUB is not set |
988 | |||
989 | # | ||
990 | # Miscellaneous I2C Chip support | ||
991 | # | ||
992 | # CONFIG_SENSORS_TSL2550 is not set | ||
993 | # CONFIG_I2C_DEBUG_CORE is not set | 993 | # CONFIG_I2C_DEBUG_CORE is not set |
994 | # CONFIG_I2C_DEBUG_ALGO is not set | 994 | # CONFIG_I2C_DEBUG_ALGO is not set |
995 | # CONFIG_I2C_DEBUG_BUS is not set | 995 | # CONFIG_I2C_DEBUG_BUS is not set |
996 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
997 | # CONFIG_SPI is not set | 996 | # CONFIG_SPI is not set |
998 | 997 | ||
999 | # | 998 | # |
@@ -1009,14 +1008,18 @@ CONFIG_GPIOLIB=y | |||
1009 | # | 1008 | # |
1010 | # Memory mapped GPIO expanders: | 1009 | # Memory mapped GPIO expanders: |
1011 | # | 1010 | # |
1011 | # CONFIG_GPIO_IT8761E is not set | ||
1012 | # CONFIG_GPIO_XILINX is not set | 1012 | # CONFIG_GPIO_XILINX is not set |
1013 | # CONFIG_GPIO_SCH is not set | ||
1013 | 1014 | ||
1014 | # | 1015 | # |
1015 | # I2C GPIO expanders: | 1016 | # I2C GPIO expanders: |
1016 | # | 1017 | # |
1018 | # CONFIG_GPIO_MAX7300 is not set | ||
1017 | # CONFIG_GPIO_MAX732X is not set | 1019 | # CONFIG_GPIO_MAX732X is not set |
1018 | # CONFIG_GPIO_PCA953X is not set | 1020 | # CONFIG_GPIO_PCA953X is not set |
1019 | # CONFIG_GPIO_PCF857X is not set | 1021 | # CONFIG_GPIO_PCF857X is not set |
1022 | # CONFIG_GPIO_ADP5588 is not set | ||
1020 | 1023 | ||
1021 | # | 1024 | # |
1022 | # PCI GPIO expanders: | 1025 | # PCI GPIO expanders: |
@@ -1048,20 +1051,25 @@ CONFIG_SSB_POSSIBLE=y | |||
1048 | # Multifunction device drivers | 1051 | # Multifunction device drivers |
1049 | # | 1052 | # |
1050 | # CONFIG_MFD_CORE is not set | 1053 | # CONFIG_MFD_CORE is not set |
1054 | # CONFIG_MFD_88PM860X is not set | ||
1051 | # CONFIG_MFD_SM501 is not set | 1055 | # CONFIG_MFD_SM501 is not set |
1052 | # CONFIG_HTC_PASIC3 is not set | 1056 | # CONFIG_HTC_PASIC3 is not set |
1057 | # CONFIG_HTC_I2CPLD is not set | ||
1053 | # CONFIG_UCB1400_CORE is not set | 1058 | # CONFIG_UCB1400_CORE is not set |
1054 | # CONFIG_TPS65010 is not set | 1059 | # CONFIG_TPS65010 is not set |
1055 | # CONFIG_TWL4030_CORE is not set | 1060 | # CONFIG_TWL4030_CORE is not set |
1056 | # CONFIG_MFD_TMIO is not set | 1061 | # CONFIG_MFD_TMIO is not set |
1057 | # CONFIG_PMIC_DA903X is not set | 1062 | # CONFIG_PMIC_DA903X is not set |
1058 | # CONFIG_PMIC_ADP5520 is not set | 1063 | # CONFIG_PMIC_ADP5520 is not set |
1064 | # CONFIG_MFD_MAX8925 is not set | ||
1059 | # CONFIG_MFD_WM8400 is not set | 1065 | # CONFIG_MFD_WM8400 is not set |
1060 | # CONFIG_MFD_WM831X is not set | 1066 | # CONFIG_MFD_WM831X is not set |
1061 | # CONFIG_MFD_WM8350_I2C is not set | 1067 | # CONFIG_MFD_WM8350_I2C is not set |
1068 | # CONFIG_MFD_WM8994 is not set | ||
1062 | # CONFIG_MFD_PCF50633 is not set | 1069 | # CONFIG_MFD_PCF50633 is not set |
1063 | # CONFIG_AB3100_CORE is not set | 1070 | # CONFIG_AB3100_CORE is not set |
1064 | # CONFIG_MFD_88PM8607 is not set | 1071 | # CONFIG_MFD_TIMBERDALE is not set |
1072 | # CONFIG_LPC_SCH is not set | ||
1065 | # CONFIG_REGULATOR is not set | 1073 | # CONFIG_REGULATOR is not set |
1066 | # CONFIG_MEDIA_SUPPORT is not set | 1074 | # CONFIG_MEDIA_SUPPORT is not set |
1067 | 1075 | ||
@@ -1070,6 +1078,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1070 | # | 1078 | # |
1071 | # CONFIG_AGP is not set | 1079 | # CONFIG_AGP is not set |
1072 | CONFIG_VGA_ARB=y | 1080 | CONFIG_VGA_ARB=y |
1081 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1073 | # CONFIG_DRM is not set | 1082 | # CONFIG_DRM is not set |
1074 | # CONFIG_VGASTATE is not set | 1083 | # CONFIG_VGASTATE is not set |
1075 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 1084 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1187,6 +1196,7 @@ CONFIG_SND_INTEL8X0=y | |||
1187 | CONFIG_SND_PPC=y | 1196 | CONFIG_SND_PPC=y |
1188 | CONFIG_SND_USB=y | 1197 | CONFIG_SND_USB=y |
1189 | # CONFIG_SND_USB_AUDIO is not set | 1198 | # CONFIG_SND_USB_AUDIO is not set |
1199 | # CONFIG_SND_USB_UA101 is not set | ||
1190 | # CONFIG_SND_USB_USX2Y is not set | 1200 | # CONFIG_SND_USB_USX2Y is not set |
1191 | # CONFIG_SND_USB_CAIAQ is not set | 1201 | # CONFIG_SND_USB_CAIAQ is not set |
1192 | # CONFIG_SND_SOC is not set | 1202 | # CONFIG_SND_SOC is not set |
@@ -1206,6 +1216,7 @@ CONFIG_USB_HID=y | |||
1206 | # | 1216 | # |
1207 | # Special HID drivers | 1217 | # Special HID drivers |
1208 | # | 1218 | # |
1219 | # CONFIG_HID_3M_PCT is not set | ||
1209 | CONFIG_HID_A4TECH=y | 1220 | CONFIG_HID_A4TECH=y |
1210 | CONFIG_HID_APPLE=y | 1221 | CONFIG_HID_APPLE=y |
1211 | CONFIG_HID_BELKIN=y | 1222 | CONFIG_HID_BELKIN=y |
@@ -1221,14 +1232,19 @@ CONFIG_HID_GYRATION=y | |||
1221 | CONFIG_HID_LOGITECH=y | 1232 | CONFIG_HID_LOGITECH=y |
1222 | # CONFIG_LOGITECH_FF is not set | 1233 | # CONFIG_LOGITECH_FF is not set |
1223 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1234 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1235 | # CONFIG_LOGIG940_FF is not set | ||
1224 | CONFIG_HID_MICROSOFT=y | 1236 | CONFIG_HID_MICROSOFT=y |
1237 | # CONFIG_HID_MOSART is not set | ||
1225 | CONFIG_HID_MONTEREY=y | 1238 | CONFIG_HID_MONTEREY=y |
1226 | # CONFIG_HID_NTRIG is not set | 1239 | # CONFIG_HID_NTRIG is not set |
1240 | # CONFIG_HID_ORTEK is not set | ||
1227 | CONFIG_HID_PANTHERLORD=y | 1241 | CONFIG_HID_PANTHERLORD=y |
1228 | # CONFIG_PANTHERLORD_FF is not set | 1242 | # CONFIG_PANTHERLORD_FF is not set |
1229 | CONFIG_HID_PETALYNX=y | 1243 | CONFIG_HID_PETALYNX=y |
1244 | # CONFIG_HID_QUANTA is not set | ||
1230 | CONFIG_HID_SAMSUNG=y | 1245 | CONFIG_HID_SAMSUNG=y |
1231 | CONFIG_HID_SONY=y | 1246 | CONFIG_HID_SONY=y |
1247 | # CONFIG_HID_STANTUM is not set | ||
1232 | CONFIG_HID_SUNPLUS=y | 1248 | CONFIG_HID_SUNPLUS=y |
1233 | # CONFIG_HID_GREENASIA is not set | 1249 | # CONFIG_HID_GREENASIA is not set |
1234 | # CONFIG_HID_SMARTJOYPLUS is not set | 1250 | # CONFIG_HID_SMARTJOYPLUS is not set |
@@ -1336,7 +1352,6 @@ CONFIG_USB_STORAGE=y | |||
1336 | # CONFIG_USB_RIO500 is not set | 1352 | # CONFIG_USB_RIO500 is not set |
1337 | # CONFIG_USB_LEGOTOWER is not set | 1353 | # CONFIG_USB_LEGOTOWER is not set |
1338 | # CONFIG_USB_LCD is not set | 1354 | # CONFIG_USB_LCD is not set |
1339 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1340 | # CONFIG_USB_LED is not set | 1355 | # CONFIG_USB_LED is not set |
1341 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1356 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1342 | # CONFIG_USB_CYTHERM is not set | 1357 | # CONFIG_USB_CYTHERM is not set |
@@ -1349,7 +1364,6 @@ CONFIG_USB_STORAGE=y | |||
1349 | # CONFIG_USB_IOWARRIOR is not set | 1364 | # CONFIG_USB_IOWARRIOR is not set |
1350 | # CONFIG_USB_TEST is not set | 1365 | # CONFIG_USB_TEST is not set |
1351 | # CONFIG_USB_ISIGHTFW is not set | 1366 | # CONFIG_USB_ISIGHTFW is not set |
1352 | # CONFIG_USB_VST is not set | ||
1353 | # CONFIG_USB_GADGET is not set | 1367 | # CONFIG_USB_GADGET is not set |
1354 | 1368 | ||
1355 | # | 1369 | # |
@@ -1512,6 +1526,7 @@ CONFIG_BEFS_FS=m | |||
1512 | # CONFIG_BEFS_DEBUG is not set | 1526 | # CONFIG_BEFS_DEBUG is not set |
1513 | CONFIG_BFS_FS=m | 1527 | CONFIG_BFS_FS=m |
1514 | CONFIG_EFS_FS=m | 1528 | CONFIG_EFS_FS=m |
1529 | # CONFIG_LOGFS is not set | ||
1515 | CONFIG_CRAMFS=y | 1530 | CONFIG_CRAMFS=y |
1516 | # CONFIG_SQUASHFS is not set | 1531 | # CONFIG_SQUASHFS is not set |
1517 | CONFIG_VXFS_FS=m | 1532 | CONFIG_VXFS_FS=m |
@@ -1543,6 +1558,7 @@ CONFIG_SUNRPC_GSS=y | |||
1543 | CONFIG_RPCSEC_GSS_KRB5=y | 1558 | CONFIG_RPCSEC_GSS_KRB5=y |
1544 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1559 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1545 | # CONFIG_SMB_FS is not set | 1560 | # CONFIG_SMB_FS is not set |
1561 | # CONFIG_CEPH_FS is not set | ||
1546 | # CONFIG_CIFS is not set | 1562 | # CONFIG_CIFS is not set |
1547 | # CONFIG_NCP_FS is not set | 1563 | # CONFIG_NCP_FS is not set |
1548 | # CONFIG_CODA_FS is not set | 1564 | # CONFIG_CODA_FS is not set |
@@ -1754,6 +1770,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1754 | CONFIG_CRYPTO_MANAGER2=y | 1770 | CONFIG_CRYPTO_MANAGER2=y |
1755 | # CONFIG_CRYPTO_GF128MUL is not set | 1771 | # CONFIG_CRYPTO_GF128MUL is not set |
1756 | # CONFIG_CRYPTO_NULL is not set | 1772 | # CONFIG_CRYPTO_NULL is not set |
1773 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1757 | CONFIG_CRYPTO_WORKQUEUE=y | 1774 | CONFIG_CRYPTO_WORKQUEUE=y |
1758 | # CONFIG_CRYPTO_CRYPTD is not set | 1775 | # CONFIG_CRYPTO_CRYPTD is not set |
1759 | # CONFIG_CRYPTO_AUTHENC is not set | 1776 | # CONFIG_CRYPTO_AUTHENC is not set |
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig index 6b9e6bd2c98d..45bd499630d0 100644 --- a/arch/powerpc/configs/mpc885_ads_defconfig +++ b/arch/powerpc/configs/mpc885_ads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:10 2010 | 4 | # Mon Apr 19 23:16:34 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -90,14 +90,8 @@ CONFIG_RCU_FANOUT=32 | |||
90 | # CONFIG_TREE_RCU_TRACE is not set | 90 | # CONFIG_TREE_RCU_TRACE is not set |
91 | # CONFIG_IKCONFIG is not set | 91 | # CONFIG_IKCONFIG is not set |
92 | CONFIG_LOG_BUF_SHIFT=14 | 92 | CONFIG_LOG_BUF_SHIFT=14 |
93 | CONFIG_GROUP_SCHED=y | ||
94 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
95 | # CONFIG_RT_GROUP_SCHED is not set | ||
96 | CONFIG_USER_SCHED=y | ||
97 | # CONFIG_CGROUP_SCHED is not set | ||
98 | # CONFIG_CGROUPS is not set | 93 | # CONFIG_CGROUPS is not set |
99 | CONFIG_SYSFS_DEPRECATED=y | 94 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
100 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
101 | # CONFIG_RELAY is not set | 95 | # CONFIG_RELAY is not set |
102 | # CONFIG_NAMESPACES is not set | 96 | # CONFIG_NAMESPACES is not set |
103 | # CONFIG_BLK_DEV_INITRD is not set | 97 | # CONFIG_BLK_DEV_INITRD is not set |
@@ -313,6 +307,7 @@ CONFIG_ISA_DMA_API=y | |||
313 | # Bus options | 307 | # Bus options |
314 | # | 308 | # |
315 | CONFIG_ZONE_DMA=y | 309 | CONFIG_ZONE_DMA=y |
310 | CONFIG_NEED_DMA_MAP_STATE=y | ||
316 | CONFIG_FSL_SOC=y | 311 | CONFIG_FSL_SOC=y |
317 | # CONFIG_PCI is not set | 312 | # CONFIG_PCI is not set |
318 | # CONFIG_PCI_DOMAINS is not set | 313 | # CONFIG_PCI_DOMAINS is not set |
@@ -342,7 +337,6 @@ CONFIG_NET=y | |||
342 | # Networking options | 337 | # Networking options |
343 | # | 338 | # |
344 | CONFIG_PACKET=y | 339 | CONFIG_PACKET=y |
345 | # CONFIG_PACKET_MMAP is not set | ||
346 | CONFIG_UNIX=y | 340 | CONFIG_UNIX=y |
347 | # CONFIG_NET_KEY is not set | 341 | # CONFIG_NET_KEY is not set |
348 | CONFIG_INET=y | 342 | CONFIG_INET=y |
@@ -515,6 +509,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
515 | # UBI - Unsorted block images | 509 | # UBI - Unsorted block images |
516 | # | 510 | # |
517 | # CONFIG_MTD_UBI is not set | 511 | # CONFIG_MTD_UBI is not set |
512 | CONFIG_OF_FLATTREE=y | ||
513 | CONFIG_OF_DYNAMIC=y | ||
518 | CONFIG_OF_DEVICE=y | 514 | CONFIG_OF_DEVICE=y |
519 | CONFIG_OF_MDIO=y | 515 | CONFIG_OF_MDIO=y |
520 | # CONFIG_PARPORT is not set | 516 | # CONFIG_PARPORT is not set |
@@ -526,6 +522,7 @@ CONFIG_HAVE_IDE=y | |||
526 | # | 522 | # |
527 | # SCSI device support | 523 | # SCSI device support |
528 | # | 524 | # |
525 | CONFIG_SCSI_MOD=y | ||
529 | # CONFIG_RAID_ATTRS is not set | 526 | # CONFIG_RAID_ATTRS is not set |
530 | # CONFIG_SCSI is not set | 527 | # CONFIG_SCSI is not set |
531 | # CONFIG_SCSI_DMA is not set | 528 | # CONFIG_SCSI_DMA is not set |
@@ -627,6 +624,7 @@ CONFIG_SERIAL_CORE=y | |||
627 | CONFIG_SERIAL_CORE_CONSOLE=y | 624 | CONFIG_SERIAL_CORE_CONSOLE=y |
628 | CONFIG_SERIAL_CPM=y | 625 | CONFIG_SERIAL_CPM=y |
629 | CONFIG_SERIAL_CPM_CONSOLE=y | 626 | CONFIG_SERIAL_CPM_CONSOLE=y |
627 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
630 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 628 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
631 | CONFIG_UNIX98_PTYS=y | 629 | CONFIG_UNIX98_PTYS=y |
632 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 630 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -764,6 +762,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
764 | # CONFIG_BFS_FS is not set | 762 | # CONFIG_BFS_FS is not set |
765 | # CONFIG_EFS_FS is not set | 763 | # CONFIG_EFS_FS is not set |
766 | # CONFIG_JFFS2_FS is not set | 764 | # CONFIG_JFFS2_FS is not set |
765 | # CONFIG_LOGFS is not set | ||
767 | CONFIG_CRAMFS=y | 766 | CONFIG_CRAMFS=y |
768 | # CONFIG_SQUASHFS is not set | 767 | # CONFIG_SQUASHFS is not set |
769 | # CONFIG_VXFS_FS is not set | 768 | # CONFIG_VXFS_FS is not set |
@@ -788,6 +787,7 @@ CONFIG_SUNRPC=y | |||
788 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 787 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
789 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 788 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
790 | # CONFIG_SMB_FS is not set | 789 | # CONFIG_SMB_FS is not set |
790 | # CONFIG_CEPH_FS is not set | ||
791 | # CONFIG_CIFS is not set | 791 | # CONFIG_CIFS is not set |
792 | # CONFIG_NCP_FS is not set | 792 | # CONFIG_NCP_FS is not set |
793 | # CONFIG_CODA_FS is not set | 793 | # CONFIG_CODA_FS is not set |
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig index 20ba0cfff8ba..74a7216183e8 100644 --- a/arch/powerpc/configs/pasemi_defconfig +++ b/arch/powerpc/configs/pasemi_defconfig | |||
@@ -98,8 +98,7 @@ CONFIG_RCU_FANOUT=64 | |||
98 | CONFIG_LOG_BUF_SHIFT=17 | 98 | CONFIG_LOG_BUF_SHIFT=17 |
99 | # CONFIG_GROUP_SCHED is not set | 99 | # CONFIG_GROUP_SCHED is not set |
100 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
101 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
102 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
103 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
104 | CONFIG_NAMESPACES=y | 103 | CONFIG_NAMESPACES=y |
105 | # CONFIG_UTS_NS is not set | 104 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig index ea8870a34482..753bb7912e28 100644 --- a/arch/powerpc/configs/pmac32_defconfig +++ b/arch/powerpc/configs/pmac32_defconfig | |||
@@ -93,8 +93,7 @@ CONFIG_IKCONFIG_PROC=y | |||
93 | CONFIG_LOG_BUF_SHIFT=14 | 93 | CONFIG_LOG_BUF_SHIFT=14 |
94 | # CONFIG_GROUP_SCHED is not set | 94 | # CONFIG_GROUP_SCHED is not set |
95 | # CONFIG_CGROUPS is not set | 95 | # CONFIG_CGROUPS is not set |
96 | CONFIG_SYSFS_DEPRECATED=y | 96 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
97 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
98 | # CONFIG_RELAY is not set | 97 | # CONFIG_RELAY is not set |
99 | CONFIG_NAMESPACES=y | 98 | CONFIG_NAMESPACES=y |
100 | # CONFIG_UTS_NS is not set | 99 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/ppc40x_defconfig b/arch/powerpc/configs/ppc40x_defconfig index 35b60683cde5..afb4d1bb2ba9 100644 --- a/arch/powerpc/configs/ppc40x_defconfig +++ b/arch/powerpc/configs/ppc40x_defconfig | |||
@@ -99,8 +99,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
99 | CONFIG_USER_SCHED=y | 99 | CONFIG_USER_SCHED=y |
100 | # CONFIG_CGROUP_SCHED is not set | 100 | # CONFIG_CGROUP_SCHED is not set |
101 | # CONFIG_CGROUPS is not set | 101 | # CONFIG_CGROUPS is not set |
102 | CONFIG_SYSFS_DEPRECATED=y | 102 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
103 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
104 | # CONFIG_RELAY is not set | 103 | # CONFIG_RELAY is not set |
105 | # CONFIG_NAMESPACES is not set | 104 | # CONFIG_NAMESPACES is not set |
106 | CONFIG_BLK_DEV_INITRD=y | 105 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig index 46f5c47e9f85..bd3d23fb4dd3 100644 --- a/arch/powerpc/configs/ppc44x_defconfig +++ b/arch/powerpc/configs/ppc44x_defconfig | |||
@@ -103,8 +103,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
103 | CONFIG_USER_SCHED=y | 103 | CONFIG_USER_SCHED=y |
104 | # CONFIG_CGROUP_SCHED is not set | 104 | # CONFIG_CGROUP_SCHED is not set |
105 | # CONFIG_CGROUPS is not set | 105 | # CONFIG_CGROUPS is not set |
106 | CONFIG_SYSFS_DEPRECATED=y | 106 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
107 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
108 | # CONFIG_RELAY is not set | 107 | # CONFIG_RELAY is not set |
109 | # CONFIG_NAMESPACES is not set | 108 | # CONFIG_NAMESPACES is not set |
110 | CONFIG_BLK_DEV_INITRD=y | 109 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig index 12980d544654..369f4e02c5dd 100644 --- a/arch/powerpc/configs/ppc64_defconfig +++ b/arch/powerpc/configs/ppc64_defconfig | |||
@@ -93,8 +93,7 @@ CONFIG_CPUSETS=y | |||
93 | # CONFIG_GROUP_SCHED is not set | 93 | # CONFIG_GROUP_SCHED is not set |
94 | # CONFIG_CGROUP_CPUACCT is not set | 94 | # CONFIG_CGROUP_CPUACCT is not set |
95 | # CONFIG_RESOURCE_COUNTERS is not set | 95 | # CONFIG_RESOURCE_COUNTERS is not set |
96 | CONFIG_SYSFS_DEPRECATED=y | 96 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
97 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
98 | CONFIG_PROC_PID_CPUSET=y | 97 | CONFIG_PROC_PID_CPUSET=y |
99 | CONFIG_RELAY=y | 98 | CONFIG_RELAY=y |
100 | CONFIG_NAMESPACES=y | 99 | CONFIG_NAMESPACES=y |
@@ -988,7 +987,7 @@ CONFIG_ACENIC=m | |||
988 | CONFIG_ACENIC_OMIT_TIGON_I=y | 987 | CONFIG_ACENIC_OMIT_TIGON_I=y |
989 | # CONFIG_DL2K is not set | 988 | # CONFIG_DL2K is not set |
990 | CONFIG_E1000=y | 989 | CONFIG_E1000=y |
991 | CONFIG_E1000E=m | 990 | CONFIG_E1000E=y |
992 | # CONFIG_IP1000 is not set | 991 | # CONFIG_IP1000 is not set |
993 | # CONFIG_IGB is not set | 992 | # CONFIG_IGB is not set |
994 | # CONFIG_NS83820 is not set | 993 | # CONFIG_NS83820 is not set |
diff --git a/arch/powerpc/configs/ppc64e_defconfig b/arch/powerpc/configs/ppc64e_defconfig index 8195f1650cbf..403e82e2e83c 100644 --- a/arch/powerpc/configs/ppc64e_defconfig +++ b/arch/powerpc/configs/ppc64e_defconfig | |||
@@ -107,8 +107,7 @@ CONFIG_CPUSETS=y | |||
107 | CONFIG_PROC_PID_CPUSET=y | 107 | CONFIG_PROC_PID_CPUSET=y |
108 | # CONFIG_CGROUP_CPUACCT is not set | 108 | # CONFIG_CGROUP_CPUACCT is not set |
109 | # CONFIG_RESOURCE_COUNTERS is not set | 109 | # CONFIG_RESOURCE_COUNTERS is not set |
110 | CONFIG_SYSFS_DEPRECATED=y | 110 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
111 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
112 | CONFIG_RELAY=y | 111 | CONFIG_RELAY=y |
113 | CONFIG_NAMESPACES=y | 112 | CONFIG_NAMESPACES=y |
114 | # CONFIG_UTS_NS is not set | 113 | # CONFIG_UTS_NS is not set |
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig index 5d06f2cb8e5e..12c8ee8dd12b 100644 --- a/arch/powerpc/configs/pq2fads_defconfig +++ b/arch/powerpc/configs/pq2fads_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:11 2010 | 4 | # Mon Apr 19 23:16:35 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -96,8 +96,7 @@ CONFIG_IKCONFIG=y | |||
96 | CONFIG_IKCONFIG_PROC=y | 96 | CONFIG_IKCONFIG_PROC=y |
97 | CONFIG_LOG_BUF_SHIFT=14 | 97 | CONFIG_LOG_BUF_SHIFT=14 |
98 | # CONFIG_CGROUPS is not set | 98 | # CONFIG_CGROUPS is not set |
99 | CONFIG_SYSFS_DEPRECATED=y | 99 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
100 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
101 | # CONFIG_RELAY is not set | 100 | # CONFIG_RELAY is not set |
102 | # CONFIG_NAMESPACES is not set | 101 | # CONFIG_NAMESPACES is not set |
103 | CONFIG_BLK_DEV_INITRD=y | 102 | CONFIG_BLK_DEV_INITRD=y |
@@ -105,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
105 | CONFIG_RD_GZIP=y | 104 | CONFIG_RD_GZIP=y |
106 | # CONFIG_RD_BZIP2 is not set | 105 | # CONFIG_RD_BZIP2 is not set |
107 | # CONFIG_RD_LZMA is not set | 106 | # CONFIG_RD_LZMA is not set |
107 | # CONFIG_RD_LZO is not set | ||
108 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 108 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
109 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
110 | CONFIG_ANON_INODES=y | 110 | CONFIG_ANON_INODES=y |
@@ -304,6 +304,7 @@ CONFIG_ISA_DMA_API=y | |||
304 | # Bus options | 304 | # Bus options |
305 | # | 305 | # |
306 | CONFIG_ZONE_DMA=y | 306 | CONFIG_ZONE_DMA=y |
307 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
307 | CONFIG_PPC_INDIRECT_PCI=y | 308 | CONFIG_PPC_INDIRECT_PCI=y |
308 | CONFIG_FSL_SOC=y | 309 | CONFIG_FSL_SOC=y |
309 | CONFIG_PPC_PCI_CHOICE=y | 310 | CONFIG_PPC_PCI_CHOICE=y |
@@ -315,7 +316,6 @@ CONFIG_PCI_8260=y | |||
315 | # CONFIG_PCIEPORTBUS is not set | 316 | # CONFIG_PCIEPORTBUS is not set |
316 | CONFIG_ARCH_SUPPORTS_MSI=y | 317 | CONFIG_ARCH_SUPPORTS_MSI=y |
317 | # CONFIG_PCI_MSI is not set | 318 | # CONFIG_PCI_MSI is not set |
318 | # CONFIG_PCI_LEGACY is not set | ||
319 | # CONFIG_PCI_DEBUG is not set | 319 | # CONFIG_PCI_DEBUG is not set |
320 | # CONFIG_PCI_STUB is not set | 320 | # CONFIG_PCI_STUB is not set |
321 | # CONFIG_PCI_IOV is not set | 321 | # CONFIG_PCI_IOV is not set |
@@ -342,7 +342,6 @@ CONFIG_NET=y | |||
342 | # Networking options | 342 | # Networking options |
343 | # | 343 | # |
344 | CONFIG_PACKET=y | 344 | CONFIG_PACKET=y |
345 | # CONFIG_PACKET_MMAP is not set | ||
346 | CONFIG_UNIX=y | 345 | CONFIG_UNIX=y |
347 | CONFIG_XFRM=y | 346 | CONFIG_XFRM=y |
348 | # CONFIG_XFRM_USER is not set | 347 | # CONFIG_XFRM_USER is not set |
@@ -544,6 +543,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
544 | # UBI - Unsorted block images | 543 | # UBI - Unsorted block images |
545 | # | 544 | # |
546 | # CONFIG_MTD_UBI is not set | 545 | # CONFIG_MTD_UBI is not set |
546 | CONFIG_OF_FLATTREE=y | ||
547 | CONFIG_OF_DYNAMIC=y | ||
547 | CONFIG_OF_DEVICE=y | 548 | CONFIG_OF_DEVICE=y |
548 | CONFIG_OF_GPIO=y | 549 | CONFIG_OF_GPIO=y |
549 | CONFIG_OF_MDIO=y | 550 | CONFIG_OF_MDIO=y |
@@ -629,6 +630,7 @@ CONFIG_IDE_PROC_FS=y | |||
629 | # | 630 | # |
630 | # SCSI device support | 631 | # SCSI device support |
631 | # | 632 | # |
633 | CONFIG_SCSI_MOD=y | ||
632 | # CONFIG_RAID_ATTRS is not set | 634 | # CONFIG_RAID_ATTRS is not set |
633 | # CONFIG_SCSI is not set | 635 | # CONFIG_SCSI is not set |
634 | # CONFIG_SCSI_DMA is not set | 636 | # CONFIG_SCSI_DMA is not set |
@@ -734,6 +736,8 @@ CONFIG_NETDEV_10000=y | |||
734 | # CONFIG_CHELSIO_T1 is not set | 736 | # CONFIG_CHELSIO_T1 is not set |
735 | CONFIG_CHELSIO_T3_DEPENDS=y | 737 | CONFIG_CHELSIO_T3_DEPENDS=y |
736 | # CONFIG_CHELSIO_T3 is not set | 738 | # CONFIG_CHELSIO_T3 is not set |
739 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
740 | # CONFIG_CHELSIO_T4 is not set | ||
737 | # CONFIG_ENIC is not set | 741 | # CONFIG_ENIC is not set |
738 | # CONFIG_IXGBE is not set | 742 | # CONFIG_IXGBE is not set |
739 | # CONFIG_IXGB is not set | 743 | # CONFIG_IXGB is not set |
@@ -746,6 +750,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
746 | # CONFIG_MLX4_CORE is not set | 750 | # CONFIG_MLX4_CORE is not set |
747 | # CONFIG_TEHUTI is not set | 751 | # CONFIG_TEHUTI is not set |
748 | # CONFIG_BNX2X is not set | 752 | # CONFIG_BNX2X is not set |
753 | # CONFIG_QLCNIC is not set | ||
749 | # CONFIG_QLGE is not set | 754 | # CONFIG_QLGE is not set |
750 | # CONFIG_SFC is not set | 755 | # CONFIG_SFC is not set |
751 | # CONFIG_BE2NET is not set | 756 | # CONFIG_BE2NET is not set |
@@ -859,6 +864,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
859 | CONFIG_SERIAL_CPM=y | 864 | CONFIG_SERIAL_CPM=y |
860 | CONFIG_SERIAL_CPM_CONSOLE=y | 865 | CONFIG_SERIAL_CPM_CONSOLE=y |
861 | # CONFIG_SERIAL_JSM is not set | 866 | # CONFIG_SERIAL_JSM is not set |
867 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
862 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 868 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
863 | CONFIG_UNIX98_PTYS=y | 869 | CONFIG_UNIX98_PTYS=y |
864 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 870 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -887,7 +893,9 @@ CONFIG_GPIOLIB=y | |||
887 | # | 893 | # |
888 | # Memory mapped GPIO expanders: | 894 | # Memory mapped GPIO expanders: |
889 | # | 895 | # |
896 | # CONFIG_GPIO_IT8761E is not set | ||
890 | # CONFIG_GPIO_XILINX is not set | 897 | # CONFIG_GPIO_XILINX is not set |
898 | # CONFIG_GPIO_SCH is not set | ||
891 | 899 | ||
892 | # | 900 | # |
893 | # I2C GPIO expanders: | 901 | # I2C GPIO expanders: |
@@ -926,6 +934,8 @@ CONFIG_SSB_POSSIBLE=y | |||
926 | # CONFIG_MFD_SM501 is not set | 934 | # CONFIG_MFD_SM501 is not set |
927 | # CONFIG_HTC_PASIC3 is not set | 935 | # CONFIG_HTC_PASIC3 is not set |
928 | # CONFIG_MFD_TMIO is not set | 936 | # CONFIG_MFD_TMIO is not set |
937 | # CONFIG_MFD_TIMBERDALE is not set | ||
938 | # CONFIG_LPC_SCH is not set | ||
929 | # CONFIG_REGULATOR is not set | 939 | # CONFIG_REGULATOR is not set |
930 | # CONFIG_MEDIA_SUPPORT is not set | 940 | # CONFIG_MEDIA_SUPPORT is not set |
931 | 941 | ||
@@ -934,6 +944,7 @@ CONFIG_SSB_POSSIBLE=y | |||
934 | # | 944 | # |
935 | # CONFIG_AGP is not set | 945 | # CONFIG_AGP is not set |
936 | CONFIG_VGA_ARB=y | 946 | CONFIG_VGA_ARB=y |
947 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
937 | # CONFIG_DRM is not set | 948 | # CONFIG_DRM is not set |
938 | # CONFIG_VGASTATE is not set | 949 | # CONFIG_VGASTATE is not set |
939 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 950 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -996,6 +1007,7 @@ CONFIG_USB_ETH_RNDIS=y | |||
996 | # CONFIG_USB_MIDI_GADGET is not set | 1007 | # CONFIG_USB_MIDI_GADGET is not set |
997 | # CONFIG_USB_G_PRINTER is not set | 1008 | # CONFIG_USB_G_PRINTER is not set |
998 | # CONFIG_USB_CDC_COMPOSITE is not set | 1009 | # CONFIG_USB_CDC_COMPOSITE is not set |
1010 | # CONFIG_USB_G_NOKIA is not set | ||
999 | # CONFIG_USB_G_MULTI is not set | 1011 | # CONFIG_USB_G_MULTI is not set |
1000 | 1012 | ||
1001 | # | 1013 | # |
@@ -1051,6 +1063,7 @@ CONFIG_AUTOFS4_FS=y | |||
1051 | # | 1063 | # |
1052 | # Caches | 1064 | # Caches |
1053 | # | 1065 | # |
1066 | # CONFIG_FSCACHE is not set | ||
1054 | 1067 | ||
1055 | # | 1068 | # |
1056 | # CD-ROM/DVD Filesystems | 1069 | # CD-ROM/DVD Filesystems |
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig index 57ab5748a34d..a18f597c6e5f 100644 --- a/arch/powerpc/configs/prpmc2800_defconfig +++ b/arch/powerpc/configs/prpmc2800_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:12 2010 | 4 | # Mon Apr 19 23:16:36 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -97,14 +97,8 @@ CONFIG_RCU_FANOUT=32 | |||
97 | # CONFIG_TREE_RCU_TRACE is not set | 97 | # CONFIG_TREE_RCU_TRACE is not set |
98 | # CONFIG_IKCONFIG is not set | 98 | # CONFIG_IKCONFIG is not set |
99 | CONFIG_LOG_BUF_SHIFT=14 | 99 | CONFIG_LOG_BUF_SHIFT=14 |
100 | CONFIG_GROUP_SCHED=y | ||
101 | # CONFIG_FAIR_GROUP_SCHED is not set | ||
102 | # CONFIG_RT_GROUP_SCHED is not set | ||
103 | CONFIG_USER_SCHED=y | ||
104 | # CONFIG_CGROUP_SCHED is not set | ||
105 | # CONFIG_CGROUPS is not set | 100 | # CONFIG_CGROUPS is not set |
106 | CONFIG_SYSFS_DEPRECATED=y | 101 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
107 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
108 | # CONFIG_RELAY is not set | 102 | # CONFIG_RELAY is not set |
109 | CONFIG_NAMESPACES=y | 103 | CONFIG_NAMESPACES=y |
110 | # CONFIG_UTS_NS is not set | 104 | # CONFIG_UTS_NS is not set |
@@ -117,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
117 | CONFIG_RD_GZIP=y | 111 | CONFIG_RD_GZIP=y |
118 | CONFIG_RD_BZIP2=y | 112 | CONFIG_RD_BZIP2=y |
119 | CONFIG_RD_LZMA=y | 113 | CONFIG_RD_LZMA=y |
114 | CONFIG_RD_LZO=y | ||
120 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
121 | CONFIG_SYSCTL=y | 116 | CONFIG_SYSCTL=y |
122 | CONFIG_ANON_INODES=y | 117 | CONFIG_ANON_INODES=y |
@@ -319,6 +314,7 @@ CONFIG_ISA_DMA_API=y | |||
319 | # Bus options | 314 | # Bus options |
320 | # | 315 | # |
321 | CONFIG_ZONE_DMA=y | 316 | CONFIG_ZONE_DMA=y |
317 | CONFIG_NEED_DMA_MAP_STATE=y | ||
322 | CONFIG_GENERIC_ISA_DMA=y | 318 | CONFIG_GENERIC_ISA_DMA=y |
323 | CONFIG_PPC_INDIRECT_PCI=y | 319 | CONFIG_PPC_INDIRECT_PCI=y |
324 | CONFIG_PCI=y | 320 | CONFIG_PCI=y |
@@ -327,7 +323,6 @@ CONFIG_PCI_SYSCALL=y | |||
327 | # CONFIG_PCIEPORTBUS is not set | 323 | # CONFIG_PCIEPORTBUS is not set |
328 | CONFIG_ARCH_SUPPORTS_MSI=y | 324 | CONFIG_ARCH_SUPPORTS_MSI=y |
329 | # CONFIG_PCI_MSI is not set | 325 | # CONFIG_PCI_MSI is not set |
330 | # CONFIG_PCI_LEGACY is not set | ||
331 | # CONFIG_PCI_STUB is not set | 326 | # CONFIG_PCI_STUB is not set |
332 | # CONFIG_PCI_IOV is not set | 327 | # CONFIG_PCI_IOV is not set |
333 | # CONFIG_PCCARD is not set | 328 | # CONFIG_PCCARD is not set |
@@ -354,7 +349,6 @@ CONFIG_NET=y | |||
354 | # Networking options | 349 | # Networking options |
355 | # | 350 | # |
356 | CONFIG_PACKET=y | 351 | CONFIG_PACKET=y |
357 | # CONFIG_PACKET_MMAP is not set | ||
358 | CONFIG_UNIX=y | 352 | CONFIG_UNIX=y |
359 | CONFIG_XFRM=y | 353 | CONFIG_XFRM=y |
360 | CONFIG_XFRM_USER=y | 354 | CONFIG_XFRM_USER=y |
@@ -533,6 +527,8 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
533 | # UBI - Unsorted block images | 527 | # UBI - Unsorted block images |
534 | # | 528 | # |
535 | # CONFIG_MTD_UBI is not set | 529 | # CONFIG_MTD_UBI is not set |
530 | CONFIG_OF_FLATTREE=y | ||
531 | CONFIG_OF_DYNAMIC=y | ||
536 | CONFIG_OF_DEVICE=y | 532 | CONFIG_OF_DEVICE=y |
537 | CONFIG_OF_I2C=y | 533 | CONFIG_OF_I2C=y |
538 | CONFIG_OF_MDIO=y | 534 | CONFIG_OF_MDIO=y |
@@ -569,6 +565,7 @@ CONFIG_MISC_DEVICES=y | |||
569 | # CONFIG_ENCLOSURE_SERVICES is not set | 565 | # CONFIG_ENCLOSURE_SERVICES is not set |
570 | # CONFIG_HP_ILO is not set | 566 | # CONFIG_HP_ILO is not set |
571 | # CONFIG_ISL29003 is not set | 567 | # CONFIG_ISL29003 is not set |
568 | # CONFIG_SENSORS_TSL2550 is not set | ||
572 | # CONFIG_DS1682 is not set | 569 | # CONFIG_DS1682 is not set |
573 | # CONFIG_C2PORT is not set | 570 | # CONFIG_C2PORT is not set |
574 | 571 | ||
@@ -640,6 +637,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
640 | # | 637 | # |
641 | # SCSI device support | 638 | # SCSI device support |
642 | # | 639 | # |
640 | CONFIG_SCSI_MOD=y | ||
643 | # CONFIG_RAID_ATTRS is not set | 641 | # CONFIG_RAID_ATTRS is not set |
644 | CONFIG_SCSI=y | 642 | CONFIG_SCSI=y |
645 | CONFIG_SCSI_DMA=y | 643 | CONFIG_SCSI_DMA=y |
@@ -761,6 +759,7 @@ CONFIG_SATA_MV=y | |||
761 | # CONFIG_PATA_IT821X is not set | 759 | # CONFIG_PATA_IT821X is not set |
762 | # CONFIG_PATA_IT8213 is not set | 760 | # CONFIG_PATA_IT8213 is not set |
763 | # CONFIG_PATA_JMICRON is not set | 761 | # CONFIG_PATA_JMICRON is not set |
762 | # CONFIG_PATA_LEGACY is not set | ||
764 | # CONFIG_PATA_TRIFLEX is not set | 763 | # CONFIG_PATA_TRIFLEX is not set |
765 | # CONFIG_PATA_MARVELL is not set | 764 | # CONFIG_PATA_MARVELL is not set |
766 | # CONFIG_PATA_MPIIX is not set | 765 | # CONFIG_PATA_MPIIX is not set |
@@ -854,6 +853,7 @@ CONFIG_NET_PCI=y | |||
854 | # CONFIG_PCNET32 is not set | 853 | # CONFIG_PCNET32 is not set |
855 | # CONFIG_AMD8111_ETH is not set | 854 | # CONFIG_AMD8111_ETH is not set |
856 | # CONFIG_ADAPTEC_STARFIRE is not set | 855 | # CONFIG_ADAPTEC_STARFIRE is not set |
856 | # CONFIG_KSZ884X_PCI is not set | ||
857 | # CONFIG_B44 is not set | 857 | # CONFIG_B44 is not set |
858 | # CONFIG_FORCEDETH is not set | 858 | # CONFIG_FORCEDETH is not set |
859 | CONFIG_E100=y | 859 | CONFIG_E100=y |
@@ -907,6 +907,8 @@ CONFIG_NETDEV_10000=y | |||
907 | # CONFIG_CHELSIO_T1 is not set | 907 | # CONFIG_CHELSIO_T1 is not set |
908 | CONFIG_CHELSIO_T3_DEPENDS=y | 908 | CONFIG_CHELSIO_T3_DEPENDS=y |
909 | # CONFIG_CHELSIO_T3 is not set | 909 | # CONFIG_CHELSIO_T3 is not set |
910 | CONFIG_CHELSIO_T4_DEPENDS=y | ||
911 | # CONFIG_CHELSIO_T4 is not set | ||
910 | # CONFIG_ENIC is not set | 912 | # CONFIG_ENIC is not set |
911 | # CONFIG_IXGBE is not set | 913 | # CONFIG_IXGBE is not set |
912 | # CONFIG_IXGB is not set | 914 | # CONFIG_IXGB is not set |
@@ -919,6 +921,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
919 | # CONFIG_MLX4_CORE is not set | 921 | # CONFIG_MLX4_CORE is not set |
920 | # CONFIG_TEHUTI is not set | 922 | # CONFIG_TEHUTI is not set |
921 | # CONFIG_BNX2X is not set | 923 | # CONFIG_BNX2X is not set |
924 | # CONFIG_QLCNIC is not set | ||
922 | # CONFIG_QLGE is not set | 925 | # CONFIG_QLGE is not set |
923 | # CONFIG_SFC is not set | 926 | # CONFIG_SFC is not set |
924 | # CONFIG_BE2NET is not set | 927 | # CONFIG_BE2NET is not set |
@@ -1016,6 +1019,7 @@ CONFIG_SERIAL_MPSC_CONSOLE=y | |||
1016 | CONFIG_SERIAL_CORE=y | 1019 | CONFIG_SERIAL_CORE=y |
1017 | CONFIG_SERIAL_CORE_CONSOLE=y | 1020 | CONFIG_SERIAL_CORE_CONSOLE=y |
1018 | # CONFIG_SERIAL_JSM is not set | 1021 | # CONFIG_SERIAL_JSM is not set |
1022 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
1019 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 1023 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
1020 | CONFIG_UNIX98_PTYS=y | 1024 | CONFIG_UNIX98_PTYS=y |
1021 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 1025 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -1065,6 +1069,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
1065 | CONFIG_I2C_MV64XXX=y | 1069 | CONFIG_I2C_MV64XXX=y |
1066 | # CONFIG_I2C_OCORES is not set | 1070 | # CONFIG_I2C_OCORES is not set |
1067 | # CONFIG_I2C_SIMTEC is not set | 1071 | # CONFIG_I2C_SIMTEC is not set |
1072 | # CONFIG_I2C_XILINX is not set | ||
1068 | 1073 | ||
1069 | # | 1074 | # |
1070 | # External I2C/SMBus adapter drivers | 1075 | # External I2C/SMBus adapter drivers |
@@ -1077,15 +1082,9 @@ CONFIG_I2C_MV64XXX=y | |||
1077 | # Other I2C/SMBus bus drivers | 1082 | # Other I2C/SMBus bus drivers |
1078 | # | 1083 | # |
1079 | # CONFIG_I2C_PCA_PLATFORM is not set | 1084 | # CONFIG_I2C_PCA_PLATFORM is not set |
1080 | |||
1081 | # | ||
1082 | # Miscellaneous I2C Chip support | ||
1083 | # | ||
1084 | # CONFIG_SENSORS_TSL2550 is not set | ||
1085 | # CONFIG_I2C_DEBUG_CORE is not set | 1085 | # CONFIG_I2C_DEBUG_CORE is not set |
1086 | # CONFIG_I2C_DEBUG_ALGO is not set | 1086 | # CONFIG_I2C_DEBUG_ALGO is not set |
1087 | # CONFIG_I2C_DEBUG_BUS is not set | 1087 | # CONFIG_I2C_DEBUG_BUS is not set |
1088 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1089 | # CONFIG_SPI is not set | 1088 | # CONFIG_SPI is not set |
1090 | 1089 | ||
1091 | # | 1090 | # |
@@ -1111,10 +1110,11 @@ CONFIG_HWMON=y | |||
1111 | # CONFIG_SENSORS_ADM1029 is not set | 1110 | # CONFIG_SENSORS_ADM1029 is not set |
1112 | # CONFIG_SENSORS_ADM1031 is not set | 1111 | # CONFIG_SENSORS_ADM1031 is not set |
1113 | # CONFIG_SENSORS_ADM9240 is not set | 1112 | # CONFIG_SENSORS_ADM9240 is not set |
1113 | # CONFIG_SENSORS_ADT7411 is not set | ||
1114 | # CONFIG_SENSORS_ADT7462 is not set | 1114 | # CONFIG_SENSORS_ADT7462 is not set |
1115 | # CONFIG_SENSORS_ADT7470 is not set | 1115 | # CONFIG_SENSORS_ADT7470 is not set |
1116 | # CONFIG_SENSORS_ADT7473 is not set | ||
1117 | # CONFIG_SENSORS_ADT7475 is not set | 1116 | # CONFIG_SENSORS_ADT7475 is not set |
1117 | # CONFIG_SENSORS_ASC7621 is not set | ||
1118 | # CONFIG_SENSORS_ATXP1 is not set | 1118 | # CONFIG_SENSORS_ATXP1 is not set |
1119 | # CONFIG_SENSORS_DS1621 is not set | 1119 | # CONFIG_SENSORS_DS1621 is not set |
1120 | # CONFIG_SENSORS_I5K_AMB is not set | 1120 | # CONFIG_SENSORS_I5K_AMB is not set |
@@ -1151,6 +1151,7 @@ CONFIG_HWMON=y | |||
1151 | # CONFIG_SENSORS_SMSC47M192 is not set | 1151 | # CONFIG_SENSORS_SMSC47M192 is not set |
1152 | # CONFIG_SENSORS_SMSC47B397 is not set | 1152 | # CONFIG_SENSORS_SMSC47B397 is not set |
1153 | # CONFIG_SENSORS_ADS7828 is not set | 1153 | # CONFIG_SENSORS_ADS7828 is not set |
1154 | # CONFIG_SENSORS_AMC6821 is not set | ||
1154 | # CONFIG_SENSORS_THMC50 is not set | 1155 | # CONFIG_SENSORS_THMC50 is not set |
1155 | # CONFIG_SENSORS_TMP401 is not set | 1156 | # CONFIG_SENSORS_TMP401 is not set |
1156 | # CONFIG_SENSORS_TMP421 is not set | 1157 | # CONFIG_SENSORS_TMP421 is not set |
@@ -1179,18 +1180,21 @@ CONFIG_SSB_POSSIBLE=y | |||
1179 | # Multifunction device drivers | 1180 | # Multifunction device drivers |
1180 | # | 1181 | # |
1181 | # CONFIG_MFD_CORE is not set | 1182 | # CONFIG_MFD_CORE is not set |
1183 | # CONFIG_MFD_88PM860X is not set | ||
1182 | # CONFIG_MFD_SM501 is not set | 1184 | # CONFIG_MFD_SM501 is not set |
1183 | # CONFIG_HTC_PASIC3 is not set | 1185 | # CONFIG_HTC_PASIC3 is not set |
1184 | # CONFIG_TWL4030_CORE is not set | 1186 | # CONFIG_TWL4030_CORE is not set |
1185 | # CONFIG_MFD_TMIO is not set | 1187 | # CONFIG_MFD_TMIO is not set |
1186 | # CONFIG_PMIC_DA903X is not set | 1188 | # CONFIG_PMIC_DA903X is not set |
1187 | # CONFIG_PMIC_ADP5520 is not set | 1189 | # CONFIG_PMIC_ADP5520 is not set |
1190 | # CONFIG_MFD_MAX8925 is not set | ||
1188 | # CONFIG_MFD_WM8400 is not set | 1191 | # CONFIG_MFD_WM8400 is not set |
1189 | # CONFIG_MFD_WM831X is not set | 1192 | # CONFIG_MFD_WM831X is not set |
1190 | # CONFIG_MFD_WM8350_I2C is not set | 1193 | # CONFIG_MFD_WM8350_I2C is not set |
1194 | # CONFIG_MFD_WM8994 is not set | ||
1191 | # CONFIG_MFD_PCF50633 is not set | 1195 | # CONFIG_MFD_PCF50633 is not set |
1192 | # CONFIG_AB3100_CORE is not set | 1196 | # CONFIG_AB3100_CORE is not set |
1193 | # CONFIG_MFD_88PM8607 is not set | 1197 | # CONFIG_LPC_SCH is not set |
1194 | # CONFIG_REGULATOR is not set | 1198 | # CONFIG_REGULATOR is not set |
1195 | # CONFIG_MEDIA_SUPPORT is not set | 1199 | # CONFIG_MEDIA_SUPPORT is not set |
1196 | 1200 | ||
@@ -1199,6 +1203,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1199 | # | 1203 | # |
1200 | # CONFIG_AGP is not set | 1204 | # CONFIG_AGP is not set |
1201 | CONFIG_VGA_ARB=y | 1205 | CONFIG_VGA_ARB=y |
1206 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
1202 | # CONFIG_DRM is not set | 1207 | # CONFIG_DRM is not set |
1203 | # CONFIG_VGASTATE is not set | 1208 | # CONFIG_VGASTATE is not set |
1204 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 1209 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -1231,6 +1236,7 @@ CONFIG_USB_HID=y | |||
1231 | # | 1236 | # |
1232 | # Special HID drivers | 1237 | # Special HID drivers |
1233 | # | 1238 | # |
1239 | # CONFIG_HID_3M_PCT is not set | ||
1234 | CONFIG_HID_A4TECH=y | 1240 | CONFIG_HID_A4TECH=y |
1235 | CONFIG_HID_APPLE=y | 1241 | CONFIG_HID_APPLE=y |
1236 | CONFIG_HID_BELKIN=y | 1242 | CONFIG_HID_BELKIN=y |
@@ -1247,14 +1253,19 @@ CONFIG_HID_KENSINGTON=y | |||
1247 | CONFIG_HID_LOGITECH=y | 1253 | CONFIG_HID_LOGITECH=y |
1248 | # CONFIG_LOGITECH_FF is not set | 1254 | # CONFIG_LOGITECH_FF is not set |
1249 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1255 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
1256 | # CONFIG_LOGIG940_FF is not set | ||
1250 | CONFIG_HID_MICROSOFT=y | 1257 | CONFIG_HID_MICROSOFT=y |
1258 | # CONFIG_HID_MOSART is not set | ||
1251 | CONFIG_HID_MONTEREY=y | 1259 | CONFIG_HID_MONTEREY=y |
1252 | CONFIG_HID_NTRIG=y | 1260 | CONFIG_HID_NTRIG=y |
1261 | CONFIG_HID_ORTEK=y | ||
1253 | CONFIG_HID_PANTHERLORD=y | 1262 | CONFIG_HID_PANTHERLORD=y |
1254 | # CONFIG_PANTHERLORD_FF is not set | 1263 | # CONFIG_PANTHERLORD_FF is not set |
1255 | CONFIG_HID_PETALYNX=y | 1264 | CONFIG_HID_PETALYNX=y |
1265 | # CONFIG_HID_QUANTA is not set | ||
1256 | CONFIG_HID_SAMSUNG=y | 1266 | CONFIG_HID_SAMSUNG=y |
1257 | CONFIG_HID_SONY=y | 1267 | CONFIG_HID_SONY=y |
1268 | # CONFIG_HID_STANTUM is not set | ||
1258 | CONFIG_HID_SUNPLUS=y | 1269 | CONFIG_HID_SUNPLUS=y |
1259 | CONFIG_HID_GREENASIA=y | 1270 | CONFIG_HID_GREENASIA=y |
1260 | # CONFIG_GREENASIA_FF is not set | 1271 | # CONFIG_GREENASIA_FF is not set |
@@ -1350,7 +1361,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1350 | # CONFIG_USB_RIO500 is not set | 1361 | # CONFIG_USB_RIO500 is not set |
1351 | # CONFIG_USB_LEGOTOWER is not set | 1362 | # CONFIG_USB_LEGOTOWER is not set |
1352 | # CONFIG_USB_LCD is not set | 1363 | # CONFIG_USB_LCD is not set |
1353 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1354 | # CONFIG_USB_LED is not set | 1364 | # CONFIG_USB_LED is not set |
1355 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1365 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1356 | # CONFIG_USB_CYTHERM is not set | 1366 | # CONFIG_USB_CYTHERM is not set |
@@ -1363,7 +1373,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1363 | # CONFIG_USB_IOWARRIOR is not set | 1373 | # CONFIG_USB_IOWARRIOR is not set |
1364 | # CONFIG_USB_TEST is not set | 1374 | # CONFIG_USB_TEST is not set |
1365 | # CONFIG_USB_ISIGHTFW is not set | 1375 | # CONFIG_USB_ISIGHTFW is not set |
1366 | # CONFIG_USB_VST is not set | ||
1367 | # CONFIG_USB_GADGET is not set | 1376 | # CONFIG_USB_GADGET is not set |
1368 | 1377 | ||
1369 | # | 1378 | # |
@@ -1516,6 +1525,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1516 | # CONFIG_BFS_FS is not set | 1525 | # CONFIG_BFS_FS is not set |
1517 | # CONFIG_EFS_FS is not set | 1526 | # CONFIG_EFS_FS is not set |
1518 | # CONFIG_JFFS2_FS is not set | 1527 | # CONFIG_JFFS2_FS is not set |
1528 | # CONFIG_LOGFS is not set | ||
1519 | # CONFIG_CRAMFS is not set | 1529 | # CONFIG_CRAMFS is not set |
1520 | # CONFIG_SQUASHFS is not set | 1530 | # CONFIG_SQUASHFS is not set |
1521 | # CONFIG_VXFS_FS is not set | 1531 | # CONFIG_VXFS_FS is not set |
@@ -1538,6 +1548,7 @@ CONFIG_SUNRPC=y | |||
1538 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1548 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1539 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1549 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1540 | # CONFIG_SMB_FS is not set | 1550 | # CONFIG_SMB_FS is not set |
1551 | # CONFIG_CEPH_FS is not set | ||
1541 | # CONFIG_CIFS is not set | 1552 | # CONFIG_CIFS is not set |
1542 | # CONFIG_NCP_FS is not set | 1553 | # CONFIG_NCP_FS is not set |
1543 | # CONFIG_CODA_FS is not set | 1554 | # CONFIG_CODA_FS is not set |
@@ -1620,9 +1631,11 @@ CONFIG_CRC32=y | |||
1620 | # CONFIG_CRC7 is not set | 1631 | # CONFIG_CRC7 is not set |
1621 | # CONFIG_LIBCRC32C is not set | 1632 | # CONFIG_LIBCRC32C is not set |
1622 | CONFIG_ZLIB_INFLATE=y | 1633 | CONFIG_ZLIB_INFLATE=y |
1634 | CONFIG_LZO_DECOMPRESS=y | ||
1623 | CONFIG_DECOMPRESS_GZIP=y | 1635 | CONFIG_DECOMPRESS_GZIP=y |
1624 | CONFIG_DECOMPRESS_BZIP2=y | 1636 | CONFIG_DECOMPRESS_BZIP2=y |
1625 | CONFIG_DECOMPRESS_LZMA=y | 1637 | CONFIG_DECOMPRESS_LZMA=y |
1638 | CONFIG_DECOMPRESS_LZO=y | ||
1626 | CONFIG_HAS_IOMEM=y | 1639 | CONFIG_HAS_IOMEM=y |
1627 | CONFIG_HAS_IOPORT=y | 1640 | CONFIG_HAS_IOPORT=y |
1628 | CONFIG_HAS_DMA=y | 1641 | CONFIG_HAS_DMA=y |
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig index 32f7058bb173..3808bc2be86f 100644 --- a/arch/powerpc/configs/ps3_defconfig +++ b/arch/powerpc/configs/ps3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.31-rc7 | 3 | # Linux kernel version: 2.6.34-rc4 |
4 | # Mon Aug 24 17:38:50 2009 | 4 | # Thu Apr 15 11:32:15 2010 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | 7 | ||
@@ -9,6 +9,7 @@ CONFIG_PPC64=y | |||
9 | # Processor support | 9 | # Processor support |
10 | # | 10 | # |
11 | CONFIG_PPC_BOOK3S_64=y | 11 | CONFIG_PPC_BOOK3S_64=y |
12 | # CONFIG_PPC_BOOK3E_64 is not set | ||
12 | CONFIG_PPC_BOOK3S=y | 13 | CONFIG_PPC_BOOK3S=y |
13 | # CONFIG_POWER4_ONLY is not set | 14 | # CONFIG_POWER4_ONLY is not set |
14 | CONFIG_POWER3=y | 15 | CONFIG_POWER3=y |
@@ -35,7 +36,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
35 | CONFIG_GENERIC_HARDIRQS=y | 36 | CONFIG_GENERIC_HARDIRQS=y |
36 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 37 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
37 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 38 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
39 | CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y | ||
38 | CONFIG_IRQ_PER_CPU=y | 40 | CONFIG_IRQ_PER_CPU=y |
41 | CONFIG_NR_IRQS=512 | ||
39 | CONFIG_STACKTRACE_SUPPORT=y | 42 | CONFIG_STACKTRACE_SUPPORT=y |
40 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 43 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
41 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 44 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
@@ -60,6 +63,7 @@ CONFIG_AUDIT_ARCH=y | |||
60 | CONFIG_GENERIC_BUG=y | 63 | CONFIG_GENERIC_BUG=y |
61 | CONFIG_DTC=y | 64 | CONFIG_DTC=y |
62 | # CONFIG_DEFAULT_UIMAGE is not set | 65 | # CONFIG_DEFAULT_UIMAGE is not set |
66 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | ||
63 | # CONFIG_PPC_DCR_NATIVE is not set | 67 | # CONFIG_PPC_DCR_NATIVE is not set |
64 | # CONFIG_PPC_DCR_MMIO is not set | 68 | # CONFIG_PPC_DCR_MMIO is not set |
65 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 69 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y |
@@ -86,14 +90,15 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y | |||
86 | # | 90 | # |
87 | # RCU Subsystem | 91 | # RCU Subsystem |
88 | # | 92 | # |
89 | CONFIG_CLASSIC_RCU=y | 93 | CONFIG_TREE_RCU=y |
90 | # CONFIG_TREE_RCU is not set | 94 | # CONFIG_TREE_PREEMPT_RCU is not set |
91 | # CONFIG_PREEMPT_RCU is not set | 95 | # CONFIG_TINY_RCU is not set |
96 | # CONFIG_RCU_TRACE is not set | ||
97 | CONFIG_RCU_FANOUT=64 | ||
98 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
92 | # CONFIG_TREE_RCU_TRACE is not set | 99 | # CONFIG_TREE_RCU_TRACE is not set |
93 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
94 | # CONFIG_IKCONFIG is not set | 100 | # CONFIG_IKCONFIG is not set |
95 | CONFIG_LOG_BUF_SHIFT=17 | 101 | CONFIG_LOG_BUF_SHIFT=17 |
96 | # CONFIG_GROUP_SCHED is not set | ||
97 | # CONFIG_CGROUPS is not set | 102 | # CONFIG_CGROUPS is not set |
98 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 103 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
99 | # CONFIG_RELAY is not set | 104 | # CONFIG_RELAY is not set |
@@ -108,6 +113,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
108 | CONFIG_RD_GZIP=y | 113 | CONFIG_RD_GZIP=y |
109 | # CONFIG_RD_BZIP2 is not set | 114 | # CONFIG_RD_BZIP2 is not set |
110 | # CONFIG_RD_LZMA is not set | 115 | # CONFIG_RD_LZMA is not set |
116 | # CONFIG_RD_LZO is not set | ||
111 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 117 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
112 | CONFIG_SYSCTL=y | 118 | CONFIG_SYSCTL=y |
113 | CONFIG_ANON_INODES=y | 119 | CONFIG_ANON_INODES=y |
@@ -128,21 +134,19 @@ CONFIG_TIMERFD=y | |||
128 | CONFIG_EVENTFD=y | 134 | CONFIG_EVENTFD=y |
129 | CONFIG_SHMEM=y | 135 | CONFIG_SHMEM=y |
130 | CONFIG_AIO=y | 136 | CONFIG_AIO=y |
131 | CONFIG_HAVE_PERF_COUNTERS=y | 137 | CONFIG_HAVE_PERF_EVENTS=y |
132 | 138 | ||
133 | # | 139 | # |
134 | # Performance Counters | 140 | # Kernel Performance Events And Counters |
135 | # | 141 | # |
142 | # CONFIG_PERF_EVENTS is not set | ||
136 | # CONFIG_PERF_COUNTERS is not set | 143 | # CONFIG_PERF_COUNTERS is not set |
137 | CONFIG_VM_EVENT_COUNTERS=y | 144 | CONFIG_VM_EVENT_COUNTERS=y |
138 | # CONFIG_STRIP_ASM_SYMS is not set | ||
139 | # CONFIG_COMPAT_BRK is not set | 145 | # CONFIG_COMPAT_BRK is not set |
140 | CONFIG_SLAB=y | 146 | CONFIG_SLAB=y |
141 | # CONFIG_SLUB is not set | 147 | # CONFIG_SLUB is not set |
142 | # CONFIG_SLOB is not set | 148 | # CONFIG_SLOB is not set |
143 | CONFIG_PROFILING=y | 149 | CONFIG_PROFILING=y |
144 | CONFIG_TRACEPOINTS=y | ||
145 | CONFIG_MARKERS=y | ||
146 | CONFIG_OPROFILE=m | 150 | CONFIG_OPROFILE=m |
147 | CONFIG_HAVE_OPROFILE=y | 151 | CONFIG_HAVE_OPROFILE=y |
148 | # CONFIG_KPROBES is not set | 152 | # CONFIG_KPROBES is not set |
@@ -154,12 +158,14 @@ CONFIG_HAVE_KRETPROBES=y | |||
154 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 158 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
155 | CONFIG_HAVE_DMA_ATTRS=y | 159 | CONFIG_HAVE_DMA_ATTRS=y |
156 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 160 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
161 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
157 | 162 | ||
158 | # | 163 | # |
159 | # GCOV-based kernel profiling | 164 | # GCOV-based kernel profiling |
160 | # | 165 | # |
161 | # CONFIG_GCOV_KERNEL is not set | 166 | # CONFIG_GCOV_KERNEL is not set |
162 | # CONFIG_SLOW_WORK is not set | 167 | CONFIG_SLOW_WORK=y |
168 | # CONFIG_SLOW_WORK_DEBUG is not set | ||
163 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 169 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
164 | CONFIG_SLABINFO=y | 170 | CONFIG_SLABINFO=y |
165 | CONFIG_RT_MUTEXES=y | 171 | CONFIG_RT_MUTEXES=y |
@@ -180,14 +186,41 @@ CONFIG_BLOCK_COMPAT=y | |||
180 | # IO Schedulers | 186 | # IO Schedulers |
181 | # | 187 | # |
182 | CONFIG_IOSCHED_NOOP=y | 188 | CONFIG_IOSCHED_NOOP=y |
183 | CONFIG_IOSCHED_AS=y | ||
184 | CONFIG_IOSCHED_DEADLINE=y | 189 | CONFIG_IOSCHED_DEADLINE=y |
185 | CONFIG_IOSCHED_CFQ=y | 190 | CONFIG_IOSCHED_CFQ=y |
186 | CONFIG_DEFAULT_AS=y | ||
187 | # CONFIG_DEFAULT_DEADLINE is not set | 191 | # CONFIG_DEFAULT_DEADLINE is not set |
188 | # CONFIG_DEFAULT_CFQ is not set | 192 | CONFIG_DEFAULT_CFQ=y |
189 | # CONFIG_DEFAULT_NOOP is not set | 193 | # CONFIG_DEFAULT_NOOP is not set |
190 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 194 | CONFIG_DEFAULT_IOSCHED="cfq" |
195 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
196 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
197 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
198 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
199 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
200 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
201 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
202 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
203 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
204 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
205 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
206 | # CONFIG_INLINE_READ_LOCK is not set | ||
207 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
208 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
209 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
210 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
211 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
212 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
213 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
214 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
215 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
216 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
217 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
218 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
219 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
220 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
221 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
222 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
223 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
191 | # CONFIG_FREEZER is not set | 224 | # CONFIG_FREEZER is not set |
192 | 225 | ||
193 | # | 226 | # |
@@ -226,7 +259,6 @@ CONFIG_PPC_CELL=y | |||
226 | # | 259 | # |
227 | CONFIG_SPU_FS=m | 260 | CONFIG_SPU_FS=m |
228 | CONFIG_SPU_FS_64K_LS=y | 261 | CONFIG_SPU_FS_64K_LS=y |
229 | # CONFIG_SPU_TRACE is not set | ||
230 | CONFIG_SPU_BASE=y | 262 | CONFIG_SPU_BASE=y |
231 | # CONFIG_PQ2ADS is not set | 263 | # CONFIG_PQ2ADS is not set |
232 | # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set | 264 | # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set |
@@ -267,7 +299,6 @@ CONFIG_COMPAT_BINFMT_ELF=y | |||
267 | # CONFIG_HAVE_AOUT is not set | 299 | # CONFIG_HAVE_AOUT is not set |
268 | CONFIG_BINFMT_MISC=y | 300 | CONFIG_BINFMT_MISC=y |
269 | CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y | 301 | CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y |
270 | # CONFIG_IOMMU_VMERGE is not set | ||
271 | CONFIG_IOMMU_HELPER=y | 302 | CONFIG_IOMMU_HELPER=y |
272 | # CONFIG_SWIOTLB is not set | 303 | # CONFIG_SWIOTLB is not set |
273 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | 304 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y |
@@ -276,12 +307,15 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | |||
276 | CONFIG_KEXEC=y | 307 | CONFIG_KEXEC=y |
277 | # CONFIG_CRASH_DUMP is not set | 308 | # CONFIG_CRASH_DUMP is not set |
278 | # CONFIG_IRQ_ALL_CPUS is not set | 309 | # CONFIG_IRQ_ALL_CPUS is not set |
310 | CONFIG_SPARSE_IRQ=y | ||
279 | # CONFIG_NUMA is not set | 311 | # CONFIG_NUMA is not set |
312 | CONFIG_MAX_ACTIVE_REGIONS=256 | ||
280 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | 313 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y |
281 | CONFIG_ARCH_FLATMEM_ENABLE=y | 314 | CONFIG_ARCH_FLATMEM_ENABLE=y |
282 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 315 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
283 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | 316 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y |
284 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 317 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
318 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
285 | CONFIG_SELECT_MEMORY_MODEL=y | 319 | CONFIG_SELECT_MEMORY_MODEL=y |
286 | # CONFIG_FLATMEM_MANUAL is not set | 320 | # CONFIG_FLATMEM_MANUAL is not set |
287 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 321 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
@@ -295,13 +329,12 @@ CONFIG_MEMORY_HOTPLUG=y | |||
295 | CONFIG_MEMORY_HOTPLUG_SPARSE=y | 329 | CONFIG_MEMORY_HOTPLUG_SPARSE=y |
296 | # CONFIG_MEMORY_HOTREMOVE is not set | 330 | # CONFIG_MEMORY_HOTREMOVE is not set |
297 | CONFIG_PAGEFLAGS_EXTENDED=y | 331 | CONFIG_PAGEFLAGS_EXTENDED=y |
298 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 332 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
299 | CONFIG_MIGRATION=y | 333 | CONFIG_MIGRATION=y |
300 | CONFIG_PHYS_ADDR_T_64BIT=y | 334 | CONFIG_PHYS_ADDR_T_64BIT=y |
301 | CONFIG_ZONE_DMA_FLAG=1 | 335 | CONFIG_ZONE_DMA_FLAG=1 |
302 | CONFIG_BOUNCE=y | 336 | CONFIG_BOUNCE=y |
303 | CONFIG_HAVE_MLOCK=y | 337 | # CONFIG_KSM is not set |
304 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
305 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 338 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
306 | CONFIG_ARCH_MEMORY_PROBE=y | 339 | CONFIG_ARCH_MEMORY_PROBE=y |
307 | CONFIG_PPC_HAS_HASH_64K=y | 340 | CONFIG_PPC_HAS_HASH_64K=y |
@@ -312,11 +345,15 @@ CONFIG_PPC_4K_PAGES=y | |||
312 | CONFIG_FORCE_MAX_ZONEORDER=13 | 345 | CONFIG_FORCE_MAX_ZONEORDER=13 |
313 | CONFIG_SCHED_SMT=y | 346 | CONFIG_SCHED_SMT=y |
314 | CONFIG_PROC_DEVICETREE=y | 347 | CONFIG_PROC_DEVICETREE=y |
315 | # CONFIG_CMDLINE_BOOL is not set | 348 | CONFIG_CMDLINE_BOOL=y |
349 | CONFIG_CMDLINE="" | ||
316 | CONFIG_EXTRA_TARGETS="" | 350 | CONFIG_EXTRA_TARGETS="" |
317 | CONFIG_PM=y | 351 | CONFIG_PM=y |
318 | CONFIG_PM_DEBUG=y | 352 | CONFIG_PM_DEBUG=y |
353 | # CONFIG_PM_ADVANCED_DEBUG is not set | ||
319 | # CONFIG_PM_VERBOSE is not set | 354 | # CONFIG_PM_VERBOSE is not set |
355 | # CONFIG_HIBERNATION is not set | ||
356 | # CONFIG_PM_RUNTIME is not set | ||
320 | # CONFIG_SECCOMP is not set | 357 | # CONFIG_SECCOMP is not set |
321 | CONFIG_ISA_DMA_API=y | 358 | CONFIG_ISA_DMA_API=y |
322 | 359 | ||
@@ -324,6 +361,7 @@ CONFIG_ISA_DMA_API=y | |||
324 | # Bus options | 361 | # Bus options |
325 | # | 362 | # |
326 | CONFIG_ZONE_DMA=y | 363 | CONFIG_ZONE_DMA=y |
364 | CONFIG_NEED_DMA_MAP_STATE=y | ||
327 | CONFIG_GENERIC_ISA_DMA=y | 365 | CONFIG_GENERIC_ISA_DMA=y |
328 | CONFIG_PPC_PCI_CHOICE=y | 366 | CONFIG_PPC_PCI_CHOICE=y |
329 | # CONFIG_PCI is not set | 367 | # CONFIG_PCI is not set |
@@ -337,12 +375,12 @@ CONFIG_PAGE_OFFSET=0xc000000000000000 | |||
337 | CONFIG_KERNEL_START=0xc000000000000000 | 375 | CONFIG_KERNEL_START=0xc000000000000000 |
338 | CONFIG_PHYSICAL_START=0x00000000 | 376 | CONFIG_PHYSICAL_START=0x00000000 |
339 | CONFIG_NET=y | 377 | CONFIG_NET=y |
378 | CONFIG_COMPAT_NETLINK_MESSAGES=y | ||
340 | 379 | ||
341 | # | 380 | # |
342 | # Networking options | 381 | # Networking options |
343 | # | 382 | # |
344 | CONFIG_PACKET=y | 383 | CONFIG_PACKET=y |
345 | CONFIG_PACKET_MMAP=y | ||
346 | CONFIG_UNIX=y | 384 | CONFIG_UNIX=y |
347 | CONFIG_XFRM=y | 385 | CONFIG_XFRM=y |
348 | # CONFIG_XFRM_USER is not set | 386 | # CONFIG_XFRM_USER is not set |
@@ -392,6 +430,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y | |||
392 | CONFIG_INET6_XFRM_MODE_BEET=y | 430 | CONFIG_INET6_XFRM_MODE_BEET=y |
393 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 431 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set |
394 | CONFIG_IPV6_SIT=y | 432 | CONFIG_IPV6_SIT=y |
433 | # CONFIG_IPV6_SIT_6RD is not set | ||
395 | CONFIG_IPV6_NDISC_NODETYPE=y | 434 | CONFIG_IPV6_NDISC_NODETYPE=y |
396 | # CONFIG_IPV6_TUNNEL is not set | 435 | # CONFIG_IPV6_TUNNEL is not set |
397 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 436 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
@@ -400,6 +439,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
400 | # CONFIG_NETFILTER is not set | 439 | # CONFIG_NETFILTER is not set |
401 | # CONFIG_IP_DCCP is not set | 440 | # CONFIG_IP_DCCP is not set |
402 | # CONFIG_IP_SCTP is not set | 441 | # CONFIG_IP_SCTP is not set |
442 | # CONFIG_RDS is not set | ||
403 | # CONFIG_TIPC is not set | 443 | # CONFIG_TIPC is not set |
404 | # CONFIG_ATM is not set | 444 | # CONFIG_ATM is not set |
405 | # CONFIG_BRIDGE is not set | 445 | # CONFIG_BRIDGE is not set |
@@ -422,7 +462,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
422 | # Network testing | 462 | # Network testing |
423 | # | 463 | # |
424 | # CONFIG_NET_PKTGEN is not set | 464 | # CONFIG_NET_PKTGEN is not set |
425 | # CONFIG_NET_DROP_MONITOR is not set | ||
426 | # CONFIG_HAMRADIO is not set | 465 | # CONFIG_HAMRADIO is not set |
427 | # CONFIG_CAN is not set | 466 | # CONFIG_CAN is not set |
428 | # CONFIG_IRDA is not set | 467 | # CONFIG_IRDA is not set |
@@ -445,27 +484,30 @@ CONFIG_BT_HCIBTUSB=m | |||
445 | # CONFIG_BT_HCIBPA10X is not set | 484 | # CONFIG_BT_HCIBPA10X is not set |
446 | # CONFIG_BT_HCIBFUSB is not set | 485 | # CONFIG_BT_HCIBFUSB is not set |
447 | # CONFIG_BT_HCIVHCI is not set | 486 | # CONFIG_BT_HCIVHCI is not set |
487 | # CONFIG_BT_MRVL is not set | ||
488 | # CONFIG_BT_ATH3K is not set | ||
448 | # CONFIG_AF_RXRPC is not set | 489 | # CONFIG_AF_RXRPC is not set |
449 | CONFIG_WIRELESS=y | 490 | CONFIG_WIRELESS=y |
491 | CONFIG_WIRELESS_EXT=y | ||
492 | CONFIG_WEXT_CORE=y | ||
493 | CONFIG_WEXT_PROC=y | ||
450 | CONFIG_CFG80211=m | 494 | CONFIG_CFG80211=m |
495 | # CONFIG_NL80211_TESTMODE is not set | ||
496 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | ||
451 | # CONFIG_CFG80211_REG_DEBUG is not set | 497 | # CONFIG_CFG80211_REG_DEBUG is not set |
498 | CONFIG_CFG80211_DEFAULT_PS=y | ||
452 | # CONFIG_CFG80211_DEBUGFS is not set | 499 | # CONFIG_CFG80211_DEBUGFS is not set |
453 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | 500 | # CONFIG_CFG80211_INTERNAL_REGDB is not set |
454 | CONFIG_WIRELESS_EXT=y | 501 | CONFIG_CFG80211_WEXT=y |
455 | # CONFIG_WIRELESS_EXT_SYSFS is not set | 502 | # CONFIG_WIRELESS_EXT_SYSFS is not set |
456 | # CONFIG_LIB80211 is not set | 503 | # CONFIG_LIB80211 is not set |
457 | CONFIG_MAC80211=m | 504 | CONFIG_MAC80211=m |
458 | CONFIG_MAC80211_DEFAULT_PS=y | ||
459 | CONFIG_MAC80211_DEFAULT_PS_VALUE=1 | ||
460 | |||
461 | # | ||
462 | # Rate control algorithm selection | ||
463 | # | ||
464 | CONFIG_MAC80211_RC_PID=y | 505 | CONFIG_MAC80211_RC_PID=y |
465 | # CONFIG_MAC80211_RC_MINSTREL is not set | 506 | # CONFIG_MAC80211_RC_MINSTREL is not set |
466 | CONFIG_MAC80211_RC_DEFAULT_PID=y | 507 | CONFIG_MAC80211_RC_DEFAULT_PID=y |
467 | # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set | 508 | # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set |
468 | CONFIG_MAC80211_RC_DEFAULT="pid" | 509 | CONFIG_MAC80211_RC_DEFAULT="pid" |
510 | # CONFIG_MAC80211_MESH is not set | ||
469 | # CONFIG_MAC80211_LEDS is not set | 511 | # CONFIG_MAC80211_LEDS is not set |
470 | # CONFIG_MAC80211_DEBUGFS is not set | 512 | # CONFIG_MAC80211_DEBUGFS is not set |
471 | # CONFIG_MAC80211_DEBUG_MENU is not set | 513 | # CONFIG_MAC80211_DEBUG_MENU is not set |
@@ -481,6 +523,7 @@ CONFIG_MAC80211_RC_DEFAULT="pid" | |||
481 | # Generic Driver Options | 523 | # Generic Driver Options |
482 | # | 524 | # |
483 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 525 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
526 | # CONFIG_DEVTMPFS is not set | ||
484 | CONFIG_STANDALONE=y | 527 | CONFIG_STANDALONE=y |
485 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 528 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
486 | CONFIG_FW_LOADER=y | 529 | CONFIG_FW_LOADER=y |
@@ -491,6 +534,8 @@ CONFIG_EXTRA_FIRMWARE="" | |||
491 | # CONFIG_SYS_HYPERVISOR is not set | 534 | # CONFIG_SYS_HYPERVISOR is not set |
492 | # CONFIG_CONNECTOR is not set | 535 | # CONFIG_CONNECTOR is not set |
493 | # CONFIG_MTD is not set | 536 | # CONFIG_MTD is not set |
537 | CONFIG_OF_FLATTREE=y | ||
538 | CONFIG_OF_DYNAMIC=y | ||
494 | CONFIG_OF_DEVICE=y | 539 | CONFIG_OF_DEVICE=y |
495 | # CONFIG_PARPORT is not set | 540 | # CONFIG_PARPORT is not set |
496 | CONFIG_BLK_DEV=y | 541 | CONFIG_BLK_DEV=y |
@@ -498,6 +543,10 @@ CONFIG_BLK_DEV=y | |||
498 | # CONFIG_BLK_DEV_COW_COMMON is not set | 543 | # CONFIG_BLK_DEV_COW_COMMON is not set |
499 | CONFIG_BLK_DEV_LOOP=y | 544 | CONFIG_BLK_DEV_LOOP=y |
500 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 545 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
546 | |||
547 | # | ||
548 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
549 | # | ||
501 | # CONFIG_BLK_DEV_NBD is not set | 550 | # CONFIG_BLK_DEV_NBD is not set |
502 | # CONFIG_BLK_DEV_UB is not set | 551 | # CONFIG_BLK_DEV_UB is not set |
503 | CONFIG_BLK_DEV_RAM=y | 552 | CONFIG_BLK_DEV_RAM=y |
@@ -521,6 +570,7 @@ CONFIG_HAVE_IDE=y | |||
521 | # | 570 | # |
522 | # SCSI device support | 571 | # SCSI device support |
523 | # | 572 | # |
573 | CONFIG_SCSI_MOD=y | ||
524 | # CONFIG_RAID_ATTRS is not set | 574 | # CONFIG_RAID_ATTRS is not set |
525 | CONFIG_SCSI=y | 575 | CONFIG_SCSI=y |
526 | CONFIG_SCSI_DMA=y | 576 | CONFIG_SCSI_DMA=y |
@@ -590,30 +640,27 @@ CONFIG_MII=m | |||
590 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 640 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
591 | # CONFIG_B44 is not set | 641 | # CONFIG_B44 is not set |
592 | # CONFIG_KS8842 is not set | 642 | # CONFIG_KS8842 is not set |
643 | # CONFIG_KS8851_MLL is not set | ||
593 | CONFIG_NETDEV_1000=y | 644 | CONFIG_NETDEV_1000=y |
594 | CONFIG_GELIC_NET=y | 645 | CONFIG_GELIC_NET=y |
595 | CONFIG_GELIC_WIRELESS=y | 646 | CONFIG_GELIC_WIRELESS=y |
596 | # CONFIG_NETDEV_10000 is not set | 647 | # CONFIG_NETDEV_10000 is not set |
597 | 648 | CONFIG_WLAN=y | |
598 | # | ||
599 | # Wireless LAN | ||
600 | # | ||
601 | # CONFIG_WLAN_PRE80211 is not set | ||
602 | CONFIG_WLAN_80211=y | ||
603 | # CONFIG_LIBERTAS is not set | ||
604 | # CONFIG_LIBERTAS_THINFIRM is not set | 649 | # CONFIG_LIBERTAS_THINFIRM is not set |
605 | # CONFIG_AT76C50X_USB is not set | 650 | # CONFIG_AT76C50X_USB is not set |
606 | # CONFIG_USB_ZD1201 is not set | 651 | # CONFIG_USB_ZD1201 is not set |
607 | # CONFIG_USB_NET_RNDIS_WLAN is not set | 652 | # CONFIG_USB_NET_RNDIS_WLAN is not set |
608 | # CONFIG_RTL8187 is not set | 653 | # CONFIG_RTL8187 is not set |
609 | # CONFIG_MAC80211_HWSIM is not set | 654 | # CONFIG_MAC80211_HWSIM is not set |
610 | # CONFIG_P54_COMMON is not set | 655 | # CONFIG_ATH_COMMON is not set |
611 | # CONFIG_AR9170_USB is not set | ||
612 | # CONFIG_HOSTAP is not set | ||
613 | # CONFIG_B43 is not set | 656 | # CONFIG_B43 is not set |
614 | # CONFIG_B43LEGACY is not set | 657 | # CONFIG_B43LEGACY is not set |
615 | # CONFIG_ZD1211RW is not set | 658 | # CONFIG_HOSTAP is not set |
659 | # CONFIG_LIBERTAS is not set | ||
660 | # CONFIG_P54_COMMON is not set | ||
616 | # CONFIG_RT2X00 is not set | 661 | # CONFIG_RT2X00 is not set |
662 | # CONFIG_WL12XX is not set | ||
663 | # CONFIG_ZD1211RW is not set | ||
617 | 664 | ||
618 | # | 665 | # |
619 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 666 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -631,6 +678,7 @@ CONFIG_USB_NET_AX8817X=m | |||
631 | # CONFIG_USB_NET_CDCETHER is not set | 678 | # CONFIG_USB_NET_CDCETHER is not set |
632 | # CONFIG_USB_NET_CDC_EEM is not set | 679 | # CONFIG_USB_NET_CDC_EEM is not set |
633 | # CONFIG_USB_NET_DM9601 is not set | 680 | # CONFIG_USB_NET_DM9601 is not set |
681 | # CONFIG_USB_NET_SMSC75XX is not set | ||
634 | # CONFIG_USB_NET_SMSC95XX is not set | 682 | # CONFIG_USB_NET_SMSC95XX is not set |
635 | # CONFIG_USB_NET_GL620A is not set | 683 | # CONFIG_USB_NET_GL620A is not set |
636 | # CONFIG_USB_NET_NET1080 is not set | 684 | # CONFIG_USB_NET_NET1080 is not set |
@@ -665,6 +713,7 @@ CONFIG_SLHC=m | |||
665 | CONFIG_INPUT=y | 713 | CONFIG_INPUT=y |
666 | CONFIG_INPUT_FF_MEMLESS=m | 714 | CONFIG_INPUT_FF_MEMLESS=m |
667 | # CONFIG_INPUT_POLLDEV is not set | 715 | # CONFIG_INPUT_POLLDEV is not set |
716 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
668 | 717 | ||
669 | # | 718 | # |
670 | # Userland interfaces | 719 | # Userland interfaces |
@@ -712,6 +761,8 @@ CONFIG_DEVKMEM=y | |||
712 | # | 761 | # |
713 | # Non-8250 serial port support | 762 | # Non-8250 serial port support |
714 | # | 763 | # |
764 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
765 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | ||
715 | CONFIG_UNIX98_PTYS=y | 766 | CONFIG_UNIX98_PTYS=y |
716 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 767 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
717 | # CONFIG_LEGACY_PTYS is not set | 768 | # CONFIG_LEGACY_PTYS is not set |
@@ -735,7 +786,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
735 | # CONFIG_POWER_SUPPLY is not set | 786 | # CONFIG_POWER_SUPPLY is not set |
736 | # CONFIG_HWMON is not set | 787 | # CONFIG_HWMON is not set |
737 | # CONFIG_THERMAL is not set | 788 | # CONFIG_THERMAL is not set |
738 | # CONFIG_THERMAL_HWMON is not set | ||
739 | # CONFIG_WATCHDOG is not set | 789 | # CONFIG_WATCHDOG is not set |
740 | CONFIG_SSB_POSSIBLE=y | 790 | CONFIG_SSB_POSSIBLE=y |
741 | 791 | ||
@@ -841,13 +891,13 @@ CONFIG_SND_PS3=m | |||
841 | CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 | 891 | CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 |
842 | CONFIG_SND_USB=y | 892 | CONFIG_SND_USB=y |
843 | CONFIG_SND_USB_AUDIO=m | 893 | CONFIG_SND_USB_AUDIO=m |
894 | # CONFIG_SND_USB_UA101 is not set | ||
844 | # CONFIG_SND_USB_USX2Y is not set | 895 | # CONFIG_SND_USB_USX2Y is not set |
845 | # CONFIG_SND_USB_CAIAQ is not set | 896 | # CONFIG_SND_USB_CAIAQ is not set |
846 | # CONFIG_SND_SOC is not set | 897 | # CONFIG_SND_SOC is not set |
847 | # CONFIG_SOUND_PRIME is not set | 898 | # CONFIG_SOUND_PRIME is not set |
848 | CONFIG_HID_SUPPORT=y | 899 | CONFIG_HID_SUPPORT=y |
849 | CONFIG_HID=y | 900 | CONFIG_HID=y |
850 | # CONFIG_HID_DEBUG is not set | ||
851 | CONFIG_HIDRAW=y | 901 | CONFIG_HIDRAW=y |
852 | 902 | ||
853 | # | 903 | # |
@@ -866,6 +916,7 @@ CONFIG_USB_HIDDEV=y | |||
866 | # | 916 | # |
867 | # Special HID drivers | 917 | # Special HID drivers |
868 | # | 918 | # |
919 | # CONFIG_HID_3M_PCT is not set | ||
869 | # CONFIG_HID_A4TECH is not set | 920 | # CONFIG_HID_A4TECH is not set |
870 | CONFIG_HID_APPLE=m | 921 | CONFIG_HID_APPLE=m |
871 | CONFIG_HID_BELKIN=m | 922 | CONFIG_HID_BELKIN=m |
@@ -876,17 +927,24 @@ CONFIG_HID_CHERRY=m | |||
876 | CONFIG_HID_EZKEY=m | 927 | CONFIG_HID_EZKEY=m |
877 | # CONFIG_HID_KYE is not set | 928 | # CONFIG_HID_KYE is not set |
878 | # CONFIG_HID_GYRATION is not set | 929 | # CONFIG_HID_GYRATION is not set |
930 | CONFIG_HID_TWINHAN=m | ||
879 | # CONFIG_HID_KENSINGTON is not set | 931 | # CONFIG_HID_KENSINGTON is not set |
880 | CONFIG_HID_LOGITECH=m | 932 | CONFIG_HID_LOGITECH=m |
881 | # CONFIG_LOGITECH_FF is not set | 933 | # CONFIG_LOGITECH_FF is not set |
882 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 934 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
935 | # CONFIG_LOGIG940_FF is not set | ||
936 | # CONFIG_HID_MAGICMOUSE is not set | ||
883 | CONFIG_HID_MICROSOFT=m | 937 | CONFIG_HID_MICROSOFT=m |
938 | # CONFIG_HID_MOSART is not set | ||
884 | # CONFIG_HID_MONTEREY is not set | 939 | # CONFIG_HID_MONTEREY is not set |
885 | # CONFIG_HID_NTRIG is not set | 940 | # CONFIG_HID_NTRIG is not set |
941 | # CONFIG_HID_ORTEK is not set | ||
886 | # CONFIG_HID_PANTHERLORD is not set | 942 | # CONFIG_HID_PANTHERLORD is not set |
887 | # CONFIG_HID_PETALYNX is not set | 943 | # CONFIG_HID_PETALYNX is not set |
944 | # CONFIG_HID_QUANTA is not set | ||
888 | # CONFIG_HID_SAMSUNG is not set | 945 | # CONFIG_HID_SAMSUNG is not set |
889 | CONFIG_HID_SONY=m | 946 | CONFIG_HID_SONY=m |
947 | # CONFIG_HID_STANTUM is not set | ||
890 | CONFIG_HID_SUNPLUS=m | 948 | CONFIG_HID_SUNPLUS=m |
891 | # CONFIG_HID_GREENASIA is not set | 949 | # CONFIG_HID_GREENASIA is not set |
892 | CONFIG_HID_SMARTJOYPLUS=m | 950 | CONFIG_HID_SMARTJOYPLUS=m |
@@ -901,7 +959,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
901 | CONFIG_USB_ARCH_HAS_EHCI=y | 959 | CONFIG_USB_ARCH_HAS_EHCI=y |
902 | CONFIG_USB=m | 960 | CONFIG_USB=m |
903 | # CONFIG_USB_DEBUG is not set | 961 | # CONFIG_USB_DEBUG is not set |
904 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | 962 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y |
905 | 963 | ||
906 | # | 964 | # |
907 | # Miscellaneous USB options | 965 | # Miscellaneous USB options |
@@ -909,7 +967,6 @@ CONFIG_USB=m | |||
909 | CONFIG_USB_DEVICEFS=y | 967 | CONFIG_USB_DEVICEFS=y |
910 | # CONFIG_USB_DEVICE_CLASS is not set | 968 | # CONFIG_USB_DEVICE_CLASS is not set |
911 | # CONFIG_USB_DYNAMIC_MINORS is not set | 969 | # CONFIG_USB_DYNAMIC_MINORS is not set |
912 | CONFIG_USB_SUSPEND=y | ||
913 | # CONFIG_USB_OTG is not set | 970 | # CONFIG_USB_OTG is not set |
914 | # CONFIG_USB_OTG_WHITELIST is not set | 971 | # CONFIG_USB_OTG_WHITELIST is not set |
915 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 972 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
@@ -923,12 +980,13 @@ CONFIG_USB_MON=m | |||
923 | # CONFIG_USB_C67X00_HCD is not set | 980 | # CONFIG_USB_C67X00_HCD is not set |
924 | CONFIG_USB_EHCI_HCD=m | 981 | CONFIG_USB_EHCI_HCD=m |
925 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 982 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
926 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 983 | CONFIG_USB_EHCI_TT_NEWSCHED=y |
927 | CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y | 984 | CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y |
928 | # CONFIG_USB_EHCI_HCD_PPC_OF is not set | 985 | # CONFIG_USB_EHCI_HCD_PPC_OF is not set |
929 | # CONFIG_USB_OXU210HP_HCD is not set | 986 | # CONFIG_USB_OXU210HP_HCD is not set |
930 | # CONFIG_USB_ISP116X_HCD is not set | 987 | # CONFIG_USB_ISP116X_HCD is not set |
931 | # CONFIG_USB_ISP1760_HCD is not set | 988 | # CONFIG_USB_ISP1760_HCD is not set |
989 | # CONFIG_USB_ISP1362_HCD is not set | ||
932 | CONFIG_USB_OHCI_HCD=m | 990 | CONFIG_USB_OHCI_HCD=m |
933 | # CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set | 991 | # CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set |
934 | # CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set | 992 | # CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set |
@@ -995,7 +1053,6 @@ CONFIG_USB_STORAGE=m | |||
995 | # CONFIG_USB_RIO500 is not set | 1053 | # CONFIG_USB_RIO500 is not set |
996 | # CONFIG_USB_LEGOTOWER is not set | 1054 | # CONFIG_USB_LEGOTOWER is not set |
997 | # CONFIG_USB_LCD is not set | 1055 | # CONFIG_USB_LCD is not set |
998 | # CONFIG_USB_BERRY_CHARGE is not set | ||
999 | # CONFIG_USB_LED is not set | 1056 | # CONFIG_USB_LED is not set |
1000 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1057 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1001 | # CONFIG_USB_CYTHERM is not set | 1058 | # CONFIG_USB_CYTHERM is not set |
@@ -1008,7 +1065,6 @@ CONFIG_USB_STORAGE=m | |||
1008 | # CONFIG_USB_IOWARRIOR is not set | 1065 | # CONFIG_USB_IOWARRIOR is not set |
1009 | # CONFIG_USB_TEST is not set | 1066 | # CONFIG_USB_TEST is not set |
1010 | # CONFIG_USB_ISIGHTFW is not set | 1067 | # CONFIG_USB_ISIGHTFW is not set |
1011 | # CONFIG_USB_VST is not set | ||
1012 | # CONFIG_USB_GADGET is not set | 1068 | # CONFIG_USB_GADGET is not set |
1013 | 1069 | ||
1014 | # | 1070 | # |
@@ -1048,7 +1104,9 @@ CONFIG_RTC_INTF_DEV=y | |||
1048 | # CONFIG_RTC_DRV_M48T86 is not set | 1104 | # CONFIG_RTC_DRV_M48T86 is not set |
1049 | # CONFIG_RTC_DRV_M48T35 is not set | 1105 | # CONFIG_RTC_DRV_M48T35 is not set |
1050 | # CONFIG_RTC_DRV_M48T59 is not set | 1106 | # CONFIG_RTC_DRV_M48T59 is not set |
1107 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1051 | # CONFIG_RTC_DRV_BQ4802 is not set | 1108 | # CONFIG_RTC_DRV_BQ4802 is not set |
1109 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1052 | # CONFIG_RTC_DRV_V3020 is not set | 1110 | # CONFIG_RTC_DRV_V3020 is not set |
1053 | 1111 | ||
1054 | # | 1112 | # |
@@ -1077,10 +1135,10 @@ CONFIG_EXT3_FS_XATTR=y | |||
1077 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1135 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1078 | # CONFIG_EXT3_FS_SECURITY is not set | 1136 | # CONFIG_EXT3_FS_SECURITY is not set |
1079 | CONFIG_EXT4_FS=y | 1137 | CONFIG_EXT4_FS=y |
1080 | # CONFIG_EXT4DEV_COMPAT is not set | ||
1081 | CONFIG_EXT4_FS_XATTR=y | 1138 | CONFIG_EXT4_FS_XATTR=y |
1082 | # CONFIG_EXT4_FS_POSIX_ACL is not set | 1139 | # CONFIG_EXT4_FS_POSIX_ACL is not set |
1083 | # CONFIG_EXT4_FS_SECURITY is not set | 1140 | # CONFIG_EXT4_FS_SECURITY is not set |
1141 | # CONFIG_EXT4_DEBUG is not set | ||
1084 | CONFIG_JBD=m | 1142 | CONFIG_JBD=m |
1085 | # CONFIG_JBD_DEBUG is not set | 1143 | # CONFIG_JBD_DEBUG is not set |
1086 | CONFIG_JBD2=y | 1144 | CONFIG_JBD2=y |
@@ -1093,6 +1151,7 @@ CONFIG_FS_MBCACHE=y | |||
1093 | # CONFIG_GFS2_FS is not set | 1151 | # CONFIG_GFS2_FS is not set |
1094 | # CONFIG_OCFS2_FS is not set | 1152 | # CONFIG_OCFS2_FS is not set |
1095 | # CONFIG_BTRFS_FS is not set | 1153 | # CONFIG_BTRFS_FS is not set |
1154 | # CONFIG_NILFS2_FS is not set | ||
1096 | CONFIG_FILE_LOCKING=y | 1155 | CONFIG_FILE_LOCKING=y |
1097 | CONFIG_FSNOTIFY=y | 1156 | CONFIG_FSNOTIFY=y |
1098 | CONFIG_DNOTIFY=y | 1157 | CONFIG_DNOTIFY=y |
@@ -1154,6 +1213,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1154 | # CONFIG_BEFS_FS is not set | 1213 | # CONFIG_BEFS_FS is not set |
1155 | # CONFIG_BFS_FS is not set | 1214 | # CONFIG_BFS_FS is not set |
1156 | # CONFIG_EFS_FS is not set | 1215 | # CONFIG_EFS_FS is not set |
1216 | # CONFIG_LOGFS is not set | ||
1157 | # CONFIG_CRAMFS is not set | 1217 | # CONFIG_CRAMFS is not set |
1158 | # CONFIG_SQUASHFS is not set | 1218 | # CONFIG_SQUASHFS is not set |
1159 | # CONFIG_VXFS_FS is not set | 1219 | # CONFIG_VXFS_FS is not set |
@@ -1164,7 +1224,6 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1164 | # CONFIG_ROMFS_FS is not set | 1224 | # CONFIG_ROMFS_FS is not set |
1165 | # CONFIG_SYSV_FS is not set | 1225 | # CONFIG_SYSV_FS is not set |
1166 | # CONFIG_UFS_FS is not set | 1226 | # CONFIG_UFS_FS is not set |
1167 | # CONFIG_NILFS2_FS is not set | ||
1168 | CONFIG_NETWORK_FILESYSTEMS=y | 1227 | CONFIG_NETWORK_FILESYSTEMS=y |
1169 | CONFIG_NFS_FS=y | 1228 | CONFIG_NFS_FS=y |
1170 | CONFIG_NFS_V3=y | 1229 | CONFIG_NFS_V3=y |
@@ -1181,6 +1240,7 @@ CONFIG_SUNRPC_GSS=y | |||
1181 | CONFIG_RPCSEC_GSS_KRB5=y | 1240 | CONFIG_RPCSEC_GSS_KRB5=y |
1182 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1241 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1183 | # CONFIG_SMB_FS is not set | 1242 | # CONFIG_SMB_FS is not set |
1243 | # CONFIG_CEPH_FS is not set | ||
1184 | CONFIG_CIFS=m | 1244 | CONFIG_CIFS=m |
1185 | # CONFIG_CIFS_STATS is not set | 1245 | # CONFIG_CIFS_STATS is not set |
1186 | # CONFIG_CIFS_WEAK_PW_HASH is not set | 1246 | # CONFIG_CIFS_WEAK_PW_HASH is not set |
@@ -1237,7 +1297,7 @@ CONFIG_NLS_ISO8859_1=y | |||
1237 | # CONFIG_NLS_KOI8_U is not set | 1297 | # CONFIG_NLS_KOI8_U is not set |
1238 | # CONFIG_NLS_UTF8 is not set | 1298 | # CONFIG_NLS_UTF8 is not set |
1239 | # CONFIG_DLM is not set | 1299 | # CONFIG_DLM is not set |
1240 | CONFIG_BINARY_PRINTF=y | 1300 | # CONFIG_BINARY_PRINTF is not set |
1241 | 1301 | ||
1242 | # | 1302 | # |
1243 | # Library routines | 1303 | # Library routines |
@@ -1270,6 +1330,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1270 | CONFIG_ENABLE_MUST_CHECK=y | 1330 | CONFIG_ENABLE_MUST_CHECK=y |
1271 | CONFIG_FRAME_WARN=2048 | 1331 | CONFIG_FRAME_WARN=2048 |
1272 | CONFIG_MAGIC_SYSRQ=y | 1332 | CONFIG_MAGIC_SYSRQ=y |
1333 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1273 | # CONFIG_UNUSED_SYMBOLS is not set | 1334 | # CONFIG_UNUSED_SYMBOLS is not set |
1274 | CONFIG_DEBUG_FS=y | 1335 | CONFIG_DEBUG_FS=y |
1275 | # CONFIG_HEADERS_CHECK is not set | 1336 | # CONFIG_HEADERS_CHECK is not set |
@@ -1292,6 +1353,7 @@ CONFIG_DEBUG_SPINLOCK=y | |||
1292 | CONFIG_DEBUG_MUTEXES=y | 1353 | CONFIG_DEBUG_MUTEXES=y |
1293 | CONFIG_DEBUG_LOCK_ALLOC=y | 1354 | CONFIG_DEBUG_LOCK_ALLOC=y |
1294 | CONFIG_PROVE_LOCKING=y | 1355 | CONFIG_PROVE_LOCKING=y |
1356 | # CONFIG_PROVE_RCU is not set | ||
1295 | CONFIG_LOCKDEP=y | 1357 | CONFIG_LOCKDEP=y |
1296 | # CONFIG_LOCK_STAT is not set | 1358 | # CONFIG_LOCK_STAT is not set |
1297 | CONFIG_DEBUG_LOCKDEP=y | 1359 | CONFIG_DEBUG_LOCKDEP=y |
@@ -1308,26 +1370,27 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
1308 | CONFIG_DEBUG_LIST=y | 1370 | CONFIG_DEBUG_LIST=y |
1309 | # CONFIG_DEBUG_SG is not set | 1371 | # CONFIG_DEBUG_SG is not set |
1310 | # CONFIG_DEBUG_NOTIFIERS is not set | 1372 | # CONFIG_DEBUG_NOTIFIERS is not set |
1373 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1311 | # CONFIG_RCU_TORTURE_TEST is not set | 1374 | # CONFIG_RCU_TORTURE_TEST is not set |
1312 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1375 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1313 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1376 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1314 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1377 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1378 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1379 | # CONFIG_LKDTM is not set | ||
1315 | # CONFIG_FAULT_INJECTION is not set | 1380 | # CONFIG_FAULT_INJECTION is not set |
1316 | # CONFIG_LATENCYTOP is not set | 1381 | # CONFIG_LATENCYTOP is not set |
1317 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1382 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1318 | # CONFIG_DEBUG_PAGEALLOC is not set | 1383 | # CONFIG_DEBUG_PAGEALLOC is not set |
1319 | CONFIG_NOP_TRACER=y | ||
1320 | CONFIG_HAVE_FUNCTION_TRACER=y | 1384 | CONFIG_HAVE_FUNCTION_TRACER=y |
1321 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1385 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1322 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1386 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1323 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1387 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1324 | CONFIG_RING_BUFFER=y | 1388 | CONFIG_RING_BUFFER=y |
1325 | CONFIG_EVENT_TRACING=y | 1389 | CONFIG_RING_BUFFER_ALLOW_SWAP=y |
1326 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1327 | CONFIG_TRACING=y | ||
1328 | CONFIG_TRACING_SUPPORT=y | 1390 | CONFIG_TRACING_SUPPORT=y |
1329 | # CONFIG_FTRACE is not set | 1391 | # CONFIG_FTRACE is not set |
1330 | # CONFIG_DYNAMIC_DEBUG is not set | 1392 | # CONFIG_DYNAMIC_DEBUG is not set |
1393 | # CONFIG_DMA_API_DEBUG is not set | ||
1331 | # CONFIG_SAMPLES is not set | 1394 | # CONFIG_SAMPLES is not set |
1332 | CONFIG_HAVE_ARCH_KGDB=y | 1395 | CONFIG_HAVE_ARCH_KGDB=y |
1333 | # CONFIG_KGDB is not set | 1396 | # CONFIG_KGDB is not set |
@@ -1352,13 +1415,16 @@ CONFIG_IRQSTACKS=y | |||
1352 | # CONFIG_KEYS is not set | 1415 | # CONFIG_KEYS is not set |
1353 | # CONFIG_SECURITY is not set | 1416 | # CONFIG_SECURITY is not set |
1354 | # CONFIG_SECURITYFS is not set | 1417 | # CONFIG_SECURITYFS is not set |
1355 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1418 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1419 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1420 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1421 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1422 | CONFIG_DEFAULT_SECURITY="" | ||
1356 | CONFIG_CRYPTO=y | 1423 | CONFIG_CRYPTO=y |
1357 | 1424 | ||
1358 | # | 1425 | # |
1359 | # Crypto core or helper | 1426 | # Crypto core or helper |
1360 | # | 1427 | # |
1361 | # CONFIG_CRYPTO_FIPS is not set | ||
1362 | CONFIG_CRYPTO_ALGAPI=y | 1428 | CONFIG_CRYPTO_ALGAPI=y |
1363 | CONFIG_CRYPTO_ALGAPI2=y | 1429 | CONFIG_CRYPTO_ALGAPI2=y |
1364 | CONFIG_CRYPTO_AEAD=m | 1430 | CONFIG_CRYPTO_AEAD=m |
@@ -1374,6 +1440,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1374 | CONFIG_CRYPTO_MANAGER2=y | 1440 | CONFIG_CRYPTO_MANAGER2=y |
1375 | CONFIG_CRYPTO_GF128MUL=m | 1441 | CONFIG_CRYPTO_GF128MUL=m |
1376 | # CONFIG_CRYPTO_NULL is not set | 1442 | # CONFIG_CRYPTO_NULL is not set |
1443 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1377 | CONFIG_CRYPTO_WORKQUEUE=y | 1444 | CONFIG_CRYPTO_WORKQUEUE=y |
1378 | # CONFIG_CRYPTO_CRYPTD is not set | 1445 | # CONFIG_CRYPTO_CRYPTD is not set |
1379 | # CONFIG_CRYPTO_AUTHENC is not set | 1446 | # CONFIG_CRYPTO_AUTHENC is not set |
@@ -1402,11 +1469,13 @@ CONFIG_CRYPTO_PCBC=m | |||
1402 | # | 1469 | # |
1403 | # CONFIG_CRYPTO_HMAC is not set | 1470 | # CONFIG_CRYPTO_HMAC is not set |
1404 | # CONFIG_CRYPTO_XCBC is not set | 1471 | # CONFIG_CRYPTO_XCBC is not set |
1472 | # CONFIG_CRYPTO_VMAC is not set | ||
1405 | 1473 | ||
1406 | # | 1474 | # |
1407 | # Digest | 1475 | # Digest |
1408 | # | 1476 | # |
1409 | # CONFIG_CRYPTO_CRC32C is not set | 1477 | # CONFIG_CRYPTO_CRC32C is not set |
1478 | CONFIG_CRYPTO_GHASH=m | ||
1410 | # CONFIG_CRYPTO_MD4 is not set | 1479 | # CONFIG_CRYPTO_MD4 is not set |
1411 | CONFIG_CRYPTO_MD5=y | 1480 | CONFIG_CRYPTO_MD5=y |
1412 | CONFIG_CRYPTO_MICHAEL_MIC=m | 1481 | CONFIG_CRYPTO_MICHAEL_MIC=m |
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index 41de3ddc9f24..16ae717d1958 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig | |||
@@ -92,8 +92,7 @@ CONFIG_CPUSETS=y | |||
92 | # CONFIG_GROUP_SCHED is not set | 92 | # CONFIG_GROUP_SCHED is not set |
93 | CONFIG_CGROUP_CPUACCT=y | 93 | CONFIG_CGROUP_CPUACCT=y |
94 | # CONFIG_RESOURCE_COUNTERS is not set | 94 | # CONFIG_RESOURCE_COUNTERS is not set |
95 | CONFIG_SYSFS_DEPRECATED=y | 95 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
96 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
97 | CONFIG_PROC_PID_CPUSET=y | 96 | CONFIG_PROC_PID_CPUSET=y |
98 | CONFIG_RELAY=y | 97 | CONFIG_RELAY=y |
99 | CONFIG_NAMESPACES=y | 98 | CONFIG_NAMESPACES=y |
@@ -804,7 +803,7 @@ CONFIG_ACENIC=m | |||
804 | CONFIG_ACENIC_OMIT_TIGON_I=y | 803 | CONFIG_ACENIC_OMIT_TIGON_I=y |
805 | # CONFIG_DL2K is not set | 804 | # CONFIG_DL2K is not set |
806 | CONFIG_E1000=y | 805 | CONFIG_E1000=y |
807 | CONFIG_E1000E=m | 806 | CONFIG_E1000E=y |
808 | # CONFIG_IP1000 is not set | 807 | # CONFIG_IP1000 is not set |
809 | # CONFIG_IGB is not set | 808 | # CONFIG_IGB is not set |
810 | # CONFIG_NS83820 is not set | 809 | # CONFIG_NS83820 is not set |
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig index f2f832161463..01be0e207f40 100644 --- a/arch/powerpc/configs/storcenter_defconfig +++ b/arch/powerpc/configs/storcenter_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc3 | 3 | # Linux kernel version: 2.6.34-rc5 |
4 | # Wed Jan 6 09:24:13 2010 | 4 | # Mon Apr 19 23:16:37 2010 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -94,14 +94,8 @@ CONFIG_RCU_FANOUT=32 | |||
94 | # CONFIG_TREE_RCU_TRACE is not set | 94 | # CONFIG_TREE_RCU_TRACE is not set |
95 | # CONFIG_IKCONFIG is not set | 95 | # CONFIG_IKCONFIG is not set |
96 | CONFIG_LOG_BUF_SHIFT=14 | 96 | CONFIG_LOG_BUF_SHIFT=14 |
97 | CONFIG_GROUP_SCHED=y | ||
98 | CONFIG_FAIR_GROUP_SCHED=y | ||
99 | # CONFIG_RT_GROUP_SCHED is not set | ||
100 | CONFIG_USER_SCHED=y | ||
101 | # CONFIG_CGROUP_SCHED is not set | ||
102 | # CONFIG_CGROUPS is not set | 97 | # CONFIG_CGROUPS is not set |
103 | CONFIG_SYSFS_DEPRECATED=y | 98 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
104 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
105 | # CONFIG_RELAY is not set | 99 | # CONFIG_RELAY is not set |
106 | # CONFIG_NAMESPACES is not set | 100 | # CONFIG_NAMESPACES is not set |
107 | # CONFIG_BLK_DEV_INITRD is not set | 101 | # CONFIG_BLK_DEV_INITRD is not set |
@@ -314,6 +308,7 @@ CONFIG_ISA_DMA_API=y | |||
314 | # Bus options | 308 | # Bus options |
315 | # | 309 | # |
316 | CONFIG_ZONE_DMA=y | 310 | CONFIG_ZONE_DMA=y |
311 | # CONFIG_NEED_DMA_MAP_STATE is not set | ||
317 | CONFIG_GENERIC_ISA_DMA=y | 312 | CONFIG_GENERIC_ISA_DMA=y |
318 | CONFIG_PPC_INDIRECT_PCI=y | 313 | CONFIG_PPC_INDIRECT_PCI=y |
319 | CONFIG_FSL_SOC=y | 314 | CONFIG_FSL_SOC=y |
@@ -323,7 +318,6 @@ CONFIG_PCI_SYSCALL=y | |||
323 | # CONFIG_PCIEPORTBUS is not set | 318 | # CONFIG_PCIEPORTBUS is not set |
324 | CONFIG_ARCH_SUPPORTS_MSI=y | 319 | CONFIG_ARCH_SUPPORTS_MSI=y |
325 | # CONFIG_PCI_MSI is not set | 320 | # CONFIG_PCI_MSI is not set |
326 | # CONFIG_PCI_LEGACY is not set | ||
327 | # CONFIG_PCI_STUB is not set | 321 | # CONFIG_PCI_STUB is not set |
328 | # CONFIG_PCI_IOV is not set | 322 | # CONFIG_PCI_IOV is not set |
329 | # CONFIG_PCCARD is not set | 323 | # CONFIG_PCCARD is not set |
@@ -349,7 +343,6 @@ CONFIG_NET=y | |||
349 | # Networking options | 343 | # Networking options |
350 | # | 344 | # |
351 | CONFIG_PACKET=m | 345 | CONFIG_PACKET=m |
352 | # CONFIG_PACKET_MMAP is not set | ||
353 | CONFIG_UNIX=y | 346 | CONFIG_UNIX=y |
354 | # CONFIG_NET_KEY is not set | 347 | # CONFIG_NET_KEY is not set |
355 | CONFIG_INET=y | 348 | CONFIG_INET=y |
@@ -524,6 +517,8 @@ CONFIG_MTD_PHYSMAP=y | |||
524 | # UBI - Unsorted block images | 517 | # UBI - Unsorted block images |
525 | # | 518 | # |
526 | # CONFIG_MTD_UBI is not set | 519 | # CONFIG_MTD_UBI is not set |
520 | CONFIG_OF_FLATTREE=y | ||
521 | CONFIG_OF_DYNAMIC=y | ||
527 | CONFIG_OF_DEVICE=y | 522 | CONFIG_OF_DEVICE=y |
528 | CONFIG_OF_I2C=y | 523 | CONFIG_OF_I2C=y |
529 | # CONFIG_PARPORT is not set | 524 | # CONFIG_PARPORT is not set |
@@ -555,6 +550,7 @@ CONFIG_MISC_DEVICES=y | |||
555 | # CONFIG_ENCLOSURE_SERVICES is not set | 550 | # CONFIG_ENCLOSURE_SERVICES is not set |
556 | # CONFIG_HP_ILO is not set | 551 | # CONFIG_HP_ILO is not set |
557 | # CONFIG_ISL29003 is not set | 552 | # CONFIG_ISL29003 is not set |
553 | # CONFIG_SENSORS_TSL2550 is not set | ||
558 | # CONFIG_DS1682 is not set | 554 | # CONFIG_DS1682 is not set |
559 | # CONFIG_C2PORT is not set | 555 | # CONFIG_C2PORT is not set |
560 | 556 | ||
@@ -626,6 +622,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
626 | # | 622 | # |
627 | # SCSI device support | 623 | # SCSI device support |
628 | # | 624 | # |
625 | CONFIG_SCSI_MOD=y | ||
629 | # CONFIG_RAID_ATTRS is not set | 626 | # CONFIG_RAID_ATTRS is not set |
630 | CONFIG_SCSI=y | 627 | CONFIG_SCSI=y |
631 | CONFIG_SCSI_DMA=y | 628 | CONFIG_SCSI_DMA=y |
@@ -846,6 +843,7 @@ CONFIG_SERIAL_CORE=y | |||
846 | CONFIG_SERIAL_CORE_CONSOLE=y | 843 | CONFIG_SERIAL_CORE_CONSOLE=y |
847 | # CONFIG_SERIAL_JSM is not set | 844 | # CONFIG_SERIAL_JSM is not set |
848 | # CONFIG_SERIAL_OF_PLATFORM is not set | 845 | # CONFIG_SERIAL_OF_PLATFORM is not set |
846 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
849 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 847 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set |
850 | CONFIG_UNIX98_PTYS=y | 848 | CONFIG_UNIX98_PTYS=y |
851 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 849 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
@@ -895,6 +893,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
895 | CONFIG_I2C_MPC=y | 893 | CONFIG_I2C_MPC=y |
896 | # CONFIG_I2C_OCORES is not set | 894 | # CONFIG_I2C_OCORES is not set |
897 | # CONFIG_I2C_SIMTEC is not set | 895 | # CONFIG_I2C_SIMTEC is not set |
896 | # CONFIG_I2C_XILINX is not set | ||
898 | 897 | ||
899 | # | 898 | # |
900 | # External I2C/SMBus adapter drivers | 899 | # External I2C/SMBus adapter drivers |
@@ -908,15 +907,9 @@ CONFIG_I2C_MPC=y | |||
908 | # | 907 | # |
909 | # CONFIG_I2C_PCA_PLATFORM is not set | 908 | # CONFIG_I2C_PCA_PLATFORM is not set |
910 | # CONFIG_I2C_STUB is not set | 909 | # CONFIG_I2C_STUB is not set |
911 | |||
912 | # | ||
913 | # Miscellaneous I2C Chip support | ||
914 | # | ||
915 | # CONFIG_SENSORS_TSL2550 is not set | ||
916 | # CONFIG_I2C_DEBUG_CORE is not set | 910 | # CONFIG_I2C_DEBUG_CORE is not set |
917 | # CONFIG_I2C_DEBUG_ALGO is not set | 911 | # CONFIG_I2C_DEBUG_ALGO is not set |
918 | # CONFIG_I2C_DEBUG_BUS is not set | 912 | # CONFIG_I2C_DEBUG_BUS is not set |
919 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
920 | # CONFIG_SPI is not set | 913 | # CONFIG_SPI is not set |
921 | 914 | ||
922 | # | 915 | # |
@@ -941,18 +934,21 @@ CONFIG_SSB_POSSIBLE=y | |||
941 | # Multifunction device drivers | 934 | # Multifunction device drivers |
942 | # | 935 | # |
943 | # CONFIG_MFD_CORE is not set | 936 | # CONFIG_MFD_CORE is not set |
937 | # CONFIG_MFD_88PM860X is not set | ||
944 | # CONFIG_MFD_SM501 is not set | 938 | # CONFIG_MFD_SM501 is not set |
945 | # CONFIG_HTC_PASIC3 is not set | 939 | # CONFIG_HTC_PASIC3 is not set |
946 | # CONFIG_TWL4030_CORE is not set | 940 | # CONFIG_TWL4030_CORE is not set |
947 | # CONFIG_MFD_TMIO is not set | 941 | # CONFIG_MFD_TMIO is not set |
948 | # CONFIG_PMIC_DA903X is not set | 942 | # CONFIG_PMIC_DA903X is not set |
949 | # CONFIG_PMIC_ADP5520 is not set | 943 | # CONFIG_PMIC_ADP5520 is not set |
944 | # CONFIG_MFD_MAX8925 is not set | ||
950 | # CONFIG_MFD_WM8400 is not set | 945 | # CONFIG_MFD_WM8400 is not set |
951 | # CONFIG_MFD_WM831X is not set | 946 | # CONFIG_MFD_WM831X is not set |
952 | # CONFIG_MFD_WM8350_I2C is not set | 947 | # CONFIG_MFD_WM8350_I2C is not set |
948 | # CONFIG_MFD_WM8994 is not set | ||
953 | # CONFIG_MFD_PCF50633 is not set | 949 | # CONFIG_MFD_PCF50633 is not set |
954 | # CONFIG_AB3100_CORE is not set | 950 | # CONFIG_AB3100_CORE is not set |
955 | # CONFIG_MFD_88PM8607 is not set | 951 | # CONFIG_LPC_SCH is not set |
956 | # CONFIG_REGULATOR is not set | 952 | # CONFIG_REGULATOR is not set |
957 | # CONFIG_MEDIA_SUPPORT is not set | 953 | # CONFIG_MEDIA_SUPPORT is not set |
958 | 954 | ||
@@ -961,6 +957,7 @@ CONFIG_SSB_POSSIBLE=y | |||
961 | # | 957 | # |
962 | # CONFIG_AGP is not set | 958 | # CONFIG_AGP is not set |
963 | CONFIG_VGA_ARB=y | 959 | CONFIG_VGA_ARB=y |
960 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
964 | # CONFIG_DRM is not set | 961 | # CONFIG_DRM is not set |
965 | # CONFIG_VGASTATE is not set | 962 | # CONFIG_VGASTATE is not set |
966 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 963 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
@@ -1071,7 +1068,6 @@ CONFIG_USB_STORAGE=y | |||
1071 | # CONFIG_USB_RIO500 is not set | 1068 | # CONFIG_USB_RIO500 is not set |
1072 | # CONFIG_USB_LEGOTOWER is not set | 1069 | # CONFIG_USB_LEGOTOWER is not set |
1073 | # CONFIG_USB_LCD is not set | 1070 | # CONFIG_USB_LCD is not set |
1074 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1075 | # CONFIG_USB_LED is not set | 1071 | # CONFIG_USB_LED is not set |
1076 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1072 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1077 | # CONFIG_USB_CYTHERM is not set | 1073 | # CONFIG_USB_CYTHERM is not set |
@@ -1084,7 +1080,6 @@ CONFIG_USB_STORAGE=y | |||
1084 | # CONFIG_USB_IOWARRIOR is not set | 1080 | # CONFIG_USB_IOWARRIOR is not set |
1085 | # CONFIG_USB_TEST is not set | 1081 | # CONFIG_USB_TEST is not set |
1086 | # CONFIG_USB_ISIGHTFW is not set | 1082 | # CONFIG_USB_ISIGHTFW is not set |
1087 | # CONFIG_USB_VST is not set | ||
1088 | # CONFIG_USB_GADGET is not set | 1083 | # CONFIG_USB_GADGET is not set |
1089 | 1084 | ||
1090 | # | 1085 | # |
@@ -1251,6 +1246,7 @@ CONFIG_JFFS2_ZLIB=y | |||
1251 | # CONFIG_JFFS2_LZO is not set | 1246 | # CONFIG_JFFS2_LZO is not set |
1252 | CONFIG_JFFS2_RTIME=y | 1247 | CONFIG_JFFS2_RTIME=y |
1253 | # CONFIG_JFFS2_RUBIN is not set | 1248 | # CONFIG_JFFS2_RUBIN is not set |
1249 | # CONFIG_LOGFS is not set | ||
1254 | # CONFIG_CRAMFS is not set | 1250 | # CONFIG_CRAMFS is not set |
1255 | # CONFIG_SQUASHFS is not set | 1251 | # CONFIG_SQUASHFS is not set |
1256 | # CONFIG_VXFS_FS is not set | 1252 | # CONFIG_VXFS_FS is not set |
diff --git a/arch/powerpc/configs/wii_defconfig b/arch/powerpc/configs/wii_defconfig index c386828c639a..ee054f8118be 100644 --- a/arch/powerpc/configs/wii_defconfig +++ b/arch/powerpc/configs/wii_defconfig | |||
@@ -102,8 +102,7 @@ CONFIG_FAIR_GROUP_SCHED=y | |||
102 | CONFIG_USER_SCHED=y | 102 | CONFIG_USER_SCHED=y |
103 | # CONFIG_CGROUP_SCHED is not set | 103 | # CONFIG_CGROUP_SCHED is not set |
104 | # CONFIG_CGROUPS is not set | 104 | # CONFIG_CGROUPS is not set |
105 | CONFIG_SYSFS_DEPRECATED=y | 105 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
107 | CONFIG_RELAY=y | 106 | CONFIG_RELAY=y |
108 | # CONFIG_NAMESPACES is not set | 107 | # CONFIG_NAMESPACES is not set |
109 | CONFIG_BLK_DEV_INITRD=y | 108 | CONFIG_BLK_DEV_INITRD=y |
diff --git a/arch/powerpc/include/asm/abs_addr.h b/arch/powerpc/include/asm/abs_addr.h index 98324c5a8286..9a846efe6382 100644 --- a/arch/powerpc/include/asm/abs_addr.h +++ b/arch/powerpc/include/asm/abs_addr.h | |||
@@ -12,7 +12,7 @@ | |||
12 | * 2 of the License, or (at your option) any later version. | 12 | * 2 of the License, or (at your option) any later version. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <linux/lmb.h> | 15 | #include <linux/memblock.h> |
16 | 16 | ||
17 | #include <asm/types.h> | 17 | #include <asm/types.h> |
18 | #include <asm/page.h> | 18 | #include <asm/page.h> |
diff --git a/arch/powerpc/include/asm/asm-compat.h b/arch/powerpc/include/asm/asm-compat.h index c1b475a941eb..2048a6aeea91 100644 --- a/arch/powerpc/include/asm/asm-compat.h +++ b/arch/powerpc/include/asm/asm-compat.h | |||
@@ -21,6 +21,7 @@ | |||
21 | /* operations for longs and pointers */ | 21 | /* operations for longs and pointers */ |
22 | #define PPC_LL stringify_in_c(ld) | 22 | #define PPC_LL stringify_in_c(ld) |
23 | #define PPC_STL stringify_in_c(std) | 23 | #define PPC_STL stringify_in_c(std) |
24 | #define PPC_STLU stringify_in_c(stdu) | ||
24 | #define PPC_LCMPI stringify_in_c(cmpdi) | 25 | #define PPC_LCMPI stringify_in_c(cmpdi) |
25 | #define PPC_LONG stringify_in_c(.llong) | 26 | #define PPC_LONG stringify_in_c(.llong) |
26 | #define PPC_LONG_ALIGN stringify_in_c(.balign 8) | 27 | #define PPC_LONG_ALIGN stringify_in_c(.balign 8) |
@@ -28,6 +29,7 @@ | |||
28 | #define PPC_LLARX(t, a, b, eh) PPC_LDARX(t, a, b, eh) | 29 | #define PPC_LLARX(t, a, b, eh) PPC_LDARX(t, a, b, eh) |
29 | #define PPC_STLCX stringify_in_c(stdcx.) | 30 | #define PPC_STLCX stringify_in_c(stdcx.) |
30 | #define PPC_CNTLZL stringify_in_c(cntlzd) | 31 | #define PPC_CNTLZL stringify_in_c(cntlzd) |
32 | #define PPC_LR_STKOFF 16 | ||
31 | 33 | ||
32 | /* Move to CR, single-entry optimized version. Only available | 34 | /* Move to CR, single-entry optimized version. Only available |
33 | * on POWER4 and later. | 35 | * on POWER4 and later. |
@@ -43,6 +45,7 @@ | |||
43 | /* operations for longs and pointers */ | 45 | /* operations for longs and pointers */ |
44 | #define PPC_LL stringify_in_c(lwz) | 46 | #define PPC_LL stringify_in_c(lwz) |
45 | #define PPC_STL stringify_in_c(stw) | 47 | #define PPC_STL stringify_in_c(stw) |
48 | #define PPC_STLU stringify_in_c(stwu) | ||
46 | #define PPC_LCMPI stringify_in_c(cmpwi) | 49 | #define PPC_LCMPI stringify_in_c(cmpwi) |
47 | #define PPC_LONG stringify_in_c(.long) | 50 | #define PPC_LONG stringify_in_c(.long) |
48 | #define PPC_LONG_ALIGN stringify_in_c(.balign 4) | 51 | #define PPC_LONG_ALIGN stringify_in_c(.balign 4) |
@@ -51,6 +54,7 @@ | |||
51 | #define PPC_STLCX stringify_in_c(stwcx.) | 54 | #define PPC_STLCX stringify_in_c(stwcx.) |
52 | #define PPC_CNTLZL stringify_in_c(cntlzw) | 55 | #define PPC_CNTLZL stringify_in_c(cntlzw) |
53 | #define PPC_MTOCRF stringify_in_c(mtcrf) | 56 | #define PPC_MTOCRF stringify_in_c(mtcrf) |
57 | #define PPC_LR_STKOFF 4 | ||
54 | 58 | ||
55 | #endif | 59 | #endif |
56 | 60 | ||
diff --git a/arch/powerpc/include/asm/bug.h b/arch/powerpc/include/asm/bug.h index 2c15212e1700..065c590c991d 100644 --- a/arch/powerpc/include/asm/bug.h +++ b/arch/powerpc/include/asm/bug.h | |||
@@ -85,12 +85,12 @@ | |||
85 | } \ | 85 | } \ |
86 | } while (0) | 86 | } while (0) |
87 | 87 | ||
88 | #define __WARN() do { \ | 88 | #define __WARN_TAINT(taint) do { \ |
89 | __asm__ __volatile__( \ | 89 | __asm__ __volatile__( \ |
90 | "1: twi 31,0,0\n" \ | 90 | "1: twi 31,0,0\n" \ |
91 | _EMIT_BUG_ENTRY \ | 91 | _EMIT_BUG_ENTRY \ |
92 | : : "i" (__FILE__), "i" (__LINE__), \ | 92 | : : "i" (__FILE__), "i" (__LINE__), \ |
93 | "i" (BUGFLAG_WARNING), \ | 93 | "i" (BUGFLAG_TAINT(taint)), \ |
94 | "i" (sizeof(struct bug_entry))); \ | 94 | "i" (sizeof(struct bug_entry))); \ |
95 | } while (0) | 95 | } while (0) |
96 | 96 | ||
@@ -104,7 +104,7 @@ | |||
104 | "1: "PPC_TLNEI" %4,0\n" \ | 104 | "1: "PPC_TLNEI" %4,0\n" \ |
105 | _EMIT_BUG_ENTRY \ | 105 | _EMIT_BUG_ENTRY \ |
106 | : : "i" (__FILE__), "i" (__LINE__), \ | 106 | : : "i" (__FILE__), "i" (__LINE__), \ |
107 | "i" (BUGFLAG_WARNING), \ | 107 | "i" (BUGFLAG_TAINT(TAINT_WARN)), \ |
108 | "i" (sizeof(struct bug_entry)), \ | 108 | "i" (sizeof(struct bug_entry)), \ |
109 | "r" (__ret_warn_on)); \ | 109 | "r" (__ret_warn_on)); \ |
110 | } \ | 110 | } \ |
diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h index 81de6eb3455d..4b509411ad8a 100644 --- a/arch/powerpc/include/asm/cache.h +++ b/arch/powerpc/include/asm/cache.h | |||
@@ -12,8 +12,12 @@ | |||
12 | #define L1_CACHE_SHIFT 6 | 12 | #define L1_CACHE_SHIFT 6 |
13 | #define MAX_COPY_PREFETCH 4 | 13 | #define MAX_COPY_PREFETCH 4 |
14 | #elif defined(CONFIG_PPC32) | 14 | #elif defined(CONFIG_PPC32) |
15 | #define L1_CACHE_SHIFT 5 | ||
16 | #define MAX_COPY_PREFETCH 4 | 15 | #define MAX_COPY_PREFETCH 4 |
16 | #if defined(CONFIG_PPC_47x) | ||
17 | #define L1_CACHE_SHIFT 7 | ||
18 | #else | ||
19 | #define L1_CACHE_SHIFT 5 | ||
20 | #endif | ||
17 | #else /* CONFIG_PPC64 */ | 21 | #else /* CONFIG_PPC64 */ |
18 | #define L1_CACHE_SHIFT 7 | 22 | #define L1_CACHE_SHIFT 7 |
19 | #endif | 23 | #endif |
@@ -38,7 +42,7 @@ extern struct ppc64_caches ppc64_caches; | |||
38 | #endif /* __powerpc64__ && ! __ASSEMBLY__ */ | 42 | #endif /* __powerpc64__ && ! __ASSEMBLY__ */ |
39 | 43 | ||
40 | #if !defined(__ASSEMBLY__) | 44 | #if !defined(__ASSEMBLY__) |
41 | #define __read_mostly __attribute__((__section__(".data.read_mostly"))) | 45 | #define __read_mostly __attribute__((__section__(".data..read_mostly"))) |
42 | #endif | 46 | #endif |
43 | 47 | ||
44 | #endif /* __KERNEL__ */ | 48 | #endif /* __KERNEL__ */ |
diff --git a/arch/powerpc/include/asm/cpm.h b/arch/powerpc/include/asm/cpm.h index 0835eb977ba9..e50323fe941f 100644 --- a/arch/powerpc/include/asm/cpm.h +++ b/arch/powerpc/include/asm/cpm.h | |||
@@ -7,6 +7,30 @@ | |||
7 | #include <linux/of.h> | 7 | #include <linux/of.h> |
8 | 8 | ||
9 | /* | 9 | /* |
10 | * SPI Parameter RAM common to QE and CPM. | ||
11 | */ | ||
12 | struct spi_pram { | ||
13 | __be16 rbase; /* Rx Buffer descriptor base address */ | ||
14 | __be16 tbase; /* Tx Buffer descriptor base address */ | ||
15 | u8 rfcr; /* Rx function code */ | ||
16 | u8 tfcr; /* Tx function code */ | ||
17 | __be16 mrblr; /* Max receive buffer length */ | ||
18 | __be32 rstate; /* Internal */ | ||
19 | __be32 rdp; /* Internal */ | ||
20 | __be16 rbptr; /* Internal */ | ||
21 | __be16 rbc; /* Internal */ | ||
22 | __be32 rxtmp; /* Internal */ | ||
23 | __be32 tstate; /* Internal */ | ||
24 | __be32 tdp; /* Internal */ | ||
25 | __be16 tbptr; /* Internal */ | ||
26 | __be16 tbc; /* Internal */ | ||
27 | __be32 txtmp; /* Internal */ | ||
28 | __be32 res; /* Tx temp. */ | ||
29 | __be16 rpbase; /* Relocation pointer (CPM1 only) */ | ||
30 | __be16 res1; /* Reserved */ | ||
31 | }; | ||
32 | |||
33 | /* | ||
10 | * USB Controller pram common to QE and CPM. | 34 | * USB Controller pram common to QE and CPM. |
11 | */ | 35 | */ |
12 | struct usb_ctlr { | 36 | struct usb_ctlr { |
diff --git a/arch/powerpc/include/asm/cpm1.h b/arch/powerpc/include/asm/cpm1.h index 81b01192f440..bd07650dca56 100644 --- a/arch/powerpc/include/asm/cpm1.h +++ b/arch/powerpc/include/asm/cpm1.h | |||
@@ -17,6 +17,7 @@ | |||
17 | #ifndef __CPM1__ | 17 | #ifndef __CPM1__ |
18 | #define __CPM1__ | 18 | #define __CPM1__ |
19 | 19 | ||
20 | #include <linux/init.h> | ||
20 | #include <asm/8xx_immap.h> | 21 | #include <asm/8xx_immap.h> |
21 | #include <asm/ptrace.h> | 22 | #include <asm/ptrace.h> |
22 | #include <asm/cpm.h> | 23 | #include <asm/cpm.h> |
@@ -54,7 +55,7 @@ extern cpm8xx_t __iomem *cpmp; /* Pointer to comm processor */ | |||
54 | 55 | ||
55 | extern void cpm_setbrg(uint brg, uint rate); | 56 | extern void cpm_setbrg(uint brg, uint rate); |
56 | 57 | ||
57 | extern void cpm_load_patch(cpm8xx_t *cp); | 58 | extern void __init cpm_load_patch(cpm8xx_t *cp); |
58 | 59 | ||
59 | extern void cpm_reset(void); | 60 | extern void cpm_reset(void); |
60 | 61 | ||
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h index abb833b0e58f..b0b21134f61a 100644 --- a/arch/powerpc/include/asm/cputable.h +++ b/arch/powerpc/include/asm/cputable.h | |||
@@ -70,8 +70,10 @@ struct pt_regs; | |||
70 | extern int machine_check_generic(struct pt_regs *regs); | 70 | extern int machine_check_generic(struct pt_regs *regs); |
71 | extern int machine_check_4xx(struct pt_regs *regs); | 71 | extern int machine_check_4xx(struct pt_regs *regs); |
72 | extern int machine_check_440A(struct pt_regs *regs); | 72 | extern int machine_check_440A(struct pt_regs *regs); |
73 | extern int machine_check_e500mc(struct pt_regs *regs); | ||
73 | extern int machine_check_e500(struct pt_regs *regs); | 74 | extern int machine_check_e500(struct pt_regs *regs); |
74 | extern int machine_check_e200(struct pt_regs *regs); | 75 | extern int machine_check_e200(struct pt_regs *regs); |
76 | extern int machine_check_47x(struct pt_regs *regs); | ||
75 | 77 | ||
76 | /* NOTE WELL: Update identify_cpu() if fields are added or removed! */ | 78 | /* NOTE WELL: Update identify_cpu() if fields are added or removed! */ |
77 | struct cpu_spec { | 79 | struct cpu_spec { |
@@ -365,6 +367,7 @@ extern const char *powerpc_base_platform; | |||
365 | #define CPU_FTRS_44X (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE) | 367 | #define CPU_FTRS_44X (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE) |
366 | #define CPU_FTRS_440x6 (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE | \ | 368 | #define CPU_FTRS_440x6 (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE | \ |
367 | CPU_FTR_INDEXED_DCR) | 369 | CPU_FTR_INDEXED_DCR) |
370 | #define CPU_FTRS_47X (CPU_FTRS_440x6) | ||
368 | #define CPU_FTRS_E200 (CPU_FTR_USE_TB | CPU_FTR_SPE_COMP | \ | 371 | #define CPU_FTRS_E200 (CPU_FTR_USE_TB | CPU_FTR_SPE_COMP | \ |
369 | CPU_FTR_NODSISRALIGN | CPU_FTR_COHERENT_ICACHE | \ | 372 | CPU_FTR_NODSISRALIGN | CPU_FTR_COHERENT_ICACHE | \ |
370 | CPU_FTR_UNIFIED_ID_CACHE | CPU_FTR_NOEXECUTE) | 373 | CPU_FTR_UNIFIED_ID_CACHE | CPU_FTR_NOEXECUTE) |
@@ -453,6 +456,9 @@ enum { | |||
453 | #ifdef CONFIG_44x | 456 | #ifdef CONFIG_44x |
454 | CPU_FTRS_44X | CPU_FTRS_440x6 | | 457 | CPU_FTRS_44X | CPU_FTRS_440x6 | |
455 | #endif | 458 | #endif |
459 | #ifdef CONFIG_PPC_47x | ||
460 | CPU_FTRS_47X | | ||
461 | #endif | ||
456 | #ifdef CONFIG_E200 | 462 | #ifdef CONFIG_E200 |
457 | CPU_FTRS_E200 | | 463 | CPU_FTRS_E200 | |
458 | #endif | 464 | #endif |
diff --git a/arch/powerpc/include/asm/device.h b/arch/powerpc/include/asm/device.h index 6d94d27ed850..a3954e4fcbe2 100644 --- a/arch/powerpc/include/asm/device.h +++ b/arch/powerpc/include/asm/device.h | |||
@@ -10,9 +10,6 @@ struct dma_map_ops; | |||
10 | struct device_node; | 10 | struct device_node; |
11 | 11 | ||
12 | struct dev_archdata { | 12 | struct dev_archdata { |
13 | /* Optional pointer to an OF device node */ | ||
14 | struct device_node *of_node; | ||
15 | |||
16 | /* DMA operations on that device */ | 13 | /* DMA operations on that device */ |
17 | struct dma_map_ops *dma_ops; | 14 | struct dma_map_ops *dma_ops; |
18 | 15 | ||
@@ -30,19 +27,8 @@ struct dev_archdata { | |||
30 | #endif | 27 | #endif |
31 | }; | 28 | }; |
32 | 29 | ||
33 | static inline void dev_archdata_set_node(struct dev_archdata *ad, | ||
34 | struct device_node *np) | ||
35 | { | ||
36 | ad->of_node = np; | ||
37 | } | ||
38 | |||
39 | static inline struct device_node * | ||
40 | dev_archdata_get_node(const struct dev_archdata *ad) | ||
41 | { | ||
42 | return ad->of_node; | ||
43 | } | ||
44 | |||
45 | struct pdev_archdata { | 30 | struct pdev_archdata { |
31 | u64 dma_mask; | ||
46 | }; | 32 | }; |
47 | 33 | ||
48 | #endif /* _ASM_POWERPC_DEVICE_H */ | 34 | #endif /* _ASM_POWERPC_DEVICE_H */ |
diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h index f0275818b95c..5119b7db3142 100644 --- a/arch/powerpc/include/asm/hvcall.h +++ b/arch/powerpc/include/asm/hvcall.h | |||
@@ -228,6 +228,7 @@ | |||
228 | #define H_JOIN 0x298 | 228 | #define H_JOIN 0x298 |
229 | #define H_VASI_STATE 0x2A4 | 229 | #define H_VASI_STATE 0x2A4 |
230 | #define H_ENABLE_CRQ 0x2B0 | 230 | #define H_ENABLE_CRQ 0x2B0 |
231 | #define H_GET_EM_PARMS 0x2B8 | ||
231 | #define H_SET_MPP 0x2D0 | 232 | #define H_SET_MPP 0x2D0 |
232 | #define H_GET_MPP 0x2D4 | 233 | #define H_GET_MPP 0x2D4 |
233 | #define MAX_HCALL_OPCODE H_GET_MPP | 234 | #define MAX_HCALL_OPCODE H_GET_MPP |
@@ -281,6 +282,7 @@ long plpar_hcall_raw(unsigned long opcode, unsigned long *retbuf, ...); | |||
281 | */ | 282 | */ |
282 | #define PLPAR_HCALL9_BUFSIZE 9 | 283 | #define PLPAR_HCALL9_BUFSIZE 9 |
283 | long plpar_hcall9(unsigned long opcode, unsigned long *retbuf, ...); | 284 | long plpar_hcall9(unsigned long opcode, unsigned long *retbuf, ...); |
285 | long plpar_hcall9_raw(unsigned long opcode, unsigned long *retbuf, ...); | ||
284 | 286 | ||
285 | /* For hcall instrumentation. One structure per-hcall, per-CPU */ | 287 | /* For hcall instrumentation. One structure per-hcall, per-CPU */ |
286 | struct hcall_stats { | 288 | struct hcall_stats { |
diff --git a/arch/powerpc/include/asm/hw_irq.h b/arch/powerpc/include/asm/hw_irq.h index 9f4c9d4f5803..bd100fcf40d0 100644 --- a/arch/powerpc/include/asm/hw_irq.h +++ b/arch/powerpc/include/asm/hw_irq.h | |||
@@ -130,43 +130,5 @@ static inline int irqs_disabled_flags(unsigned long flags) | |||
130 | */ | 130 | */ |
131 | struct irq_chip; | 131 | struct irq_chip; |
132 | 132 | ||
133 | #ifdef CONFIG_PERF_EVENTS | ||
134 | |||
135 | #ifdef CONFIG_PPC64 | ||
136 | static inline unsigned long test_perf_event_pending(void) | ||
137 | { | ||
138 | unsigned long x; | ||
139 | |||
140 | asm volatile("lbz %0,%1(13)" | ||
141 | : "=r" (x) | ||
142 | : "i" (offsetof(struct paca_struct, perf_event_pending))); | ||
143 | return x; | ||
144 | } | ||
145 | |||
146 | static inline void set_perf_event_pending(void) | ||
147 | { | ||
148 | asm volatile("stb %0,%1(13)" : : | ||
149 | "r" (1), | ||
150 | "i" (offsetof(struct paca_struct, perf_event_pending))); | ||
151 | } | ||
152 | |||
153 | static inline void clear_perf_event_pending(void) | ||
154 | { | ||
155 | asm volatile("stb %0,%1(13)" : : | ||
156 | "r" (0), | ||
157 | "i" (offsetof(struct paca_struct, perf_event_pending))); | ||
158 | } | ||
159 | #endif /* CONFIG_PPC64 */ | ||
160 | |||
161 | #else /* CONFIG_PERF_EVENTS */ | ||
162 | |||
163 | static inline unsigned long test_perf_event_pending(void) | ||
164 | { | ||
165 | return 0; | ||
166 | } | ||
167 | |||
168 | static inline void clear_perf_event_pending(void) {} | ||
169 | #endif /* CONFIG_PERF_EVENTS */ | ||
170 | |||
171 | #endif /* __KERNEL__ */ | 133 | #endif /* __KERNEL__ */ |
172 | #endif /* _ASM_POWERPC_HW_IRQ_H */ | 134 | #endif /* _ASM_POWERPC_HW_IRQ_H */ |
diff --git a/arch/powerpc/include/asm/irq.h b/arch/powerpc/include/asm/irq.h index e054baef1845..ecba37a91749 100644 --- a/arch/powerpc/include/asm/irq.h +++ b/arch/powerpc/include/asm/irq.h | |||
@@ -358,7 +358,6 @@ extern void exc_lvl_ctx_init(void); | |||
358 | #define exc_lvl_ctx_init() | 358 | #define exc_lvl_ctx_init() |
359 | #endif | 359 | #endif |
360 | 360 | ||
361 | #ifdef CONFIG_IRQSTACKS | ||
362 | /* | 361 | /* |
363 | * Per-cpu stacks for handling hard and soft interrupts. | 362 | * Per-cpu stacks for handling hard and soft interrupts. |
364 | */ | 363 | */ |
@@ -369,11 +368,6 @@ extern void irq_ctx_init(void); | |||
369 | extern void call_do_softirq(struct thread_info *tp); | 368 | extern void call_do_softirq(struct thread_info *tp); |
370 | extern int call_handle_irq(int irq, void *p1, | 369 | extern int call_handle_irq(int irq, void *p1, |
371 | struct thread_info *tp, void *func); | 370 | struct thread_info *tp, void *func); |
372 | #else | ||
373 | #define irq_ctx_init() | ||
374 | |||
375 | #endif /* CONFIG_IRQSTACKS */ | ||
376 | |||
377 | extern void do_IRQ(struct pt_regs *regs); | 371 | extern void do_IRQ(struct pt_regs *regs); |
378 | 372 | ||
379 | #endif /* _ASM_IRQ_H */ | 373 | #endif /* _ASM_IRQ_H */ |
diff --git a/arch/powerpc/include/asm/kdump.h b/arch/powerpc/include/asm/kdump.h index 5ebfe5d3c61f..6857af58b02e 100644 --- a/arch/powerpc/include/asm/kdump.h +++ b/arch/powerpc/include/asm/kdump.h | |||
@@ -3,8 +3,17 @@ | |||
3 | 3 | ||
4 | #include <asm/page.h> | 4 | #include <asm/page.h> |
5 | 5 | ||
6 | /* Kdump kernel runs at 32 MB, change at your peril. */ | 6 | /* |
7 | * If CONFIG_RELOCATABLE is enabled we can place the kdump kernel anywhere. | ||
8 | * To keep enough space in the RMO for the first stage kernel on 64bit, we | ||
9 | * place it at 64MB. If CONFIG_RELOCATABLE is not enabled we must place | ||
10 | * the second stage at 32MB. | ||
11 | */ | ||
12 | #if defined(CONFIG_RELOCATABLE) && defined(CONFIG_PPC64) | ||
13 | #define KDUMP_KERNELBASE 0x4000000 | ||
14 | #else | ||
7 | #define KDUMP_KERNELBASE 0x2000000 | 15 | #define KDUMP_KERNELBASE 0x2000000 |
16 | #endif | ||
8 | 17 | ||
9 | /* How many bytes to reserve at zero for kdump. The reserve limit should | 18 | /* How many bytes to reserve at zero for kdump. The reserve limit should |
10 | * be greater or equal to the trampoline's end address. | 19 | * be greater or equal to the trampoline's end address. |
diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h index 7e06b43720d3..076327f2eff7 100644 --- a/arch/powerpc/include/asm/kexec.h +++ b/arch/powerpc/include/asm/kexec.h | |||
@@ -2,6 +2,18 @@ | |||
2 | #define _ASM_POWERPC_KEXEC_H | 2 | #define _ASM_POWERPC_KEXEC_H |
3 | #ifdef __KERNEL__ | 3 | #ifdef __KERNEL__ |
4 | 4 | ||
5 | #ifdef CONFIG_FSL_BOOKE | ||
6 | |||
7 | /* | ||
8 | * On FSL-BookE we setup a 1:1 mapping which covers the first 2GiB of memory | ||
9 | * and therefore we can only deal with memory within this range | ||
10 | */ | ||
11 | #define KEXEC_SOURCE_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1) | ||
12 | #define KEXEC_DESTINATION_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1) | ||
13 | #define KEXEC_CONTROL_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1) | ||
14 | |||
15 | #else | ||
16 | |||
5 | /* | 17 | /* |
6 | * Maximum page that is mapped directly into kernel memory. | 18 | * Maximum page that is mapped directly into kernel memory. |
7 | * XXX: Since we copy virt we can use any page we allocate | 19 | * XXX: Since we copy virt we can use any page we allocate |
@@ -21,6 +33,7 @@ | |||
21 | /* TASK_SIZE, probably left over from use_mm ?? */ | 33 | /* TASK_SIZE, probably left over from use_mm ?? */ |
22 | #define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE | 34 | #define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE |
23 | #endif | 35 | #endif |
36 | #endif | ||
24 | 37 | ||
25 | #define KEXEC_CONTROL_PAGE_SIZE 4096 | 38 | #define KEXEC_CONTROL_PAGE_SIZE 4096 |
26 | 39 | ||
@@ -31,6 +44,10 @@ | |||
31 | #define KEXEC_ARCH KEXEC_ARCH_PPC | 44 | #define KEXEC_ARCH KEXEC_ARCH_PPC |
32 | #endif | 45 | #endif |
33 | 46 | ||
47 | #define KEXEC_STATE_NONE 0 | ||
48 | #define KEXEC_STATE_IRQS_OFF 1 | ||
49 | #define KEXEC_STATE_REAL_MODE 2 | ||
50 | |||
34 | #ifndef __ASSEMBLY__ | 51 | #ifndef __ASSEMBLY__ |
35 | #include <linux/cpumask.h> | 52 | #include <linux/cpumask.h> |
36 | #include <asm/reg.h> | 53 | #include <asm/reg.h> |
diff --git a/arch/powerpc/include/asm/kmap_types.h b/arch/powerpc/include/asm/kmap_types.h index 916369575c97..bca8fdcd2542 100644 --- a/arch/powerpc/include/asm/kmap_types.h +++ b/arch/powerpc/include/asm/kmap_types.h | |||
@@ -26,6 +26,7 @@ enum km_type { | |||
26 | KM_SOFTIRQ1, | 26 | KM_SOFTIRQ1, |
27 | KM_PPC_SYNC_PAGE, | 27 | KM_PPC_SYNC_PAGE, |
28 | KM_PPC_SYNC_ICACHE, | 28 | KM_PPC_SYNC_ICACHE, |
29 | KM_KDB, | ||
29 | KM_TYPE_NR | 30 | KM_TYPE_NR |
30 | }; | 31 | }; |
31 | 32 | ||
diff --git a/arch/powerpc/include/asm/kvm.h b/arch/powerpc/include/asm/kvm.h index 81f3b0b5601e..6c5547d82bbe 100644 --- a/arch/powerpc/include/asm/kvm.h +++ b/arch/powerpc/include/asm/kvm.h | |||
@@ -77,4 +77,14 @@ struct kvm_debug_exit_arch { | |||
77 | struct kvm_guest_debug_arch { | 77 | struct kvm_guest_debug_arch { |
78 | }; | 78 | }; |
79 | 79 | ||
80 | #define KVM_REG_MASK 0x001f | ||
81 | #define KVM_REG_EXT_MASK 0xffe0 | ||
82 | #define KVM_REG_GPR 0x0000 | ||
83 | #define KVM_REG_FPR 0x0020 | ||
84 | #define KVM_REG_QPR 0x0040 | ||
85 | #define KVM_REG_FQPR 0x0060 | ||
86 | |||
87 | #define KVM_INTERRUPT_SET -1U | ||
88 | #define KVM_INTERRUPT_UNSET -2U | ||
89 | |||
80 | #endif /* __LINUX_KVM_POWERPC_H */ | 90 | #endif /* __LINUX_KVM_POWERPC_H */ |
diff --git a/arch/powerpc/include/asm/kvm_asm.h b/arch/powerpc/include/asm/kvm_asm.h index aadf2dd6f84e..c5ea4cda34b3 100644 --- a/arch/powerpc/include/asm/kvm_asm.h +++ b/arch/powerpc/include/asm/kvm_asm.h | |||
@@ -88,6 +88,8 @@ | |||
88 | 88 | ||
89 | #define BOOK3S_HFLAG_DCBZ32 0x1 | 89 | #define BOOK3S_HFLAG_DCBZ32 0x1 |
90 | #define BOOK3S_HFLAG_SLB 0x2 | 90 | #define BOOK3S_HFLAG_SLB 0x2 |
91 | #define BOOK3S_HFLAG_PAIRED_SINGLE 0x4 | ||
92 | #define BOOK3S_HFLAG_NATIVE_PS 0x8 | ||
91 | 93 | ||
92 | #define RESUME_FLAG_NV (1<<0) /* Reload guest nonvolatile state? */ | 94 | #define RESUME_FLAG_NV (1<<0) /* Reload guest nonvolatile state? */ |
93 | #define RESUME_FLAG_HOST (1<<1) /* Resume host? */ | 95 | #define RESUME_FLAG_HOST (1<<1) /* Resume host? */ |
diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h index db7db0a96967..8274a2d43925 100644 --- a/arch/powerpc/include/asm/kvm_book3s.h +++ b/arch/powerpc/include/asm/kvm_book3s.h | |||
@@ -22,46 +22,47 @@ | |||
22 | 22 | ||
23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
24 | #include <linux/kvm_host.h> | 24 | #include <linux/kvm_host.h> |
25 | #include <asm/kvm_book3s_64_asm.h> | 25 | #include <asm/kvm_book3s_asm.h> |
26 | 26 | ||
27 | struct kvmppc_slb { | 27 | struct kvmppc_slb { |
28 | u64 esid; | 28 | u64 esid; |
29 | u64 vsid; | 29 | u64 vsid; |
30 | u64 orige; | 30 | u64 orige; |
31 | u64 origv; | 31 | u64 origv; |
32 | bool valid; | 32 | bool valid : 1; |
33 | bool Ks; | 33 | bool Ks : 1; |
34 | bool Kp; | 34 | bool Kp : 1; |
35 | bool nx; | 35 | bool nx : 1; |
36 | bool large; /* PTEs are 16MB */ | 36 | bool large : 1; /* PTEs are 16MB */ |
37 | bool tb; /* 1TB segment */ | 37 | bool tb : 1; /* 1TB segment */ |
38 | bool class; | 38 | bool class : 1; |
39 | }; | 39 | }; |
40 | 40 | ||
41 | struct kvmppc_sr { | 41 | struct kvmppc_sr { |
42 | u32 raw; | 42 | u32 raw; |
43 | u32 vsid; | 43 | u32 vsid; |
44 | bool Ks; | 44 | bool Ks : 1; |
45 | bool Kp; | 45 | bool Kp : 1; |
46 | bool nx; | 46 | bool nx : 1; |
47 | bool valid : 1; | ||
47 | }; | 48 | }; |
48 | 49 | ||
49 | struct kvmppc_bat { | 50 | struct kvmppc_bat { |
50 | u64 raw; | 51 | u64 raw; |
51 | u32 bepi; | 52 | u32 bepi; |
52 | u32 bepi_mask; | 53 | u32 bepi_mask; |
53 | bool vs; | ||
54 | bool vp; | ||
55 | u32 brpn; | 54 | u32 brpn; |
56 | u8 wimg; | 55 | u8 wimg; |
57 | u8 pp; | 56 | u8 pp; |
57 | bool vs : 1; | ||
58 | bool vp : 1; | ||
58 | }; | 59 | }; |
59 | 60 | ||
60 | struct kvmppc_sid_map { | 61 | struct kvmppc_sid_map { |
61 | u64 guest_vsid; | 62 | u64 guest_vsid; |
62 | u64 guest_esid; | 63 | u64 guest_esid; |
63 | u64 host_vsid; | 64 | u64 host_vsid; |
64 | bool valid; | 65 | bool valid : 1; |
65 | }; | 66 | }; |
66 | 67 | ||
67 | #define SID_MAP_BITS 9 | 68 | #define SID_MAP_BITS 9 |
@@ -70,7 +71,7 @@ struct kvmppc_sid_map { | |||
70 | 71 | ||
71 | struct kvmppc_vcpu_book3s { | 72 | struct kvmppc_vcpu_book3s { |
72 | struct kvm_vcpu vcpu; | 73 | struct kvm_vcpu vcpu; |
73 | struct kvmppc_book3s_shadow_vcpu shadow_vcpu; | 74 | struct kvmppc_book3s_shadow_vcpu *shadow_vcpu; |
74 | struct kvmppc_sid_map sid_map[SID_MAP_NUM]; | 75 | struct kvmppc_sid_map sid_map[SID_MAP_NUM]; |
75 | struct kvmppc_slb slb[64]; | 76 | struct kvmppc_slb slb[64]; |
76 | struct { | 77 | struct { |
@@ -82,9 +83,10 @@ struct kvmppc_vcpu_book3s { | |||
82 | struct kvmppc_bat ibat[8]; | 83 | struct kvmppc_bat ibat[8]; |
83 | struct kvmppc_bat dbat[8]; | 84 | struct kvmppc_bat dbat[8]; |
84 | u64 hid[6]; | 85 | u64 hid[6]; |
86 | u64 gqr[8]; | ||
85 | int slb_nr; | 87 | int slb_nr; |
88 | u32 dsisr; | ||
86 | u64 sdr1; | 89 | u64 sdr1; |
87 | u64 dsisr; | ||
88 | u64 hior; | 90 | u64 hior; |
89 | u64 msr_mask; | 91 | u64 msr_mask; |
90 | u64 vsid_first; | 92 | u64 vsid_first; |
@@ -98,27 +100,37 @@ struct kvmppc_vcpu_book3s { | |||
98 | #define CONTEXT_GUEST 1 | 100 | #define CONTEXT_GUEST 1 |
99 | #define CONTEXT_GUEST_END 2 | 101 | #define CONTEXT_GUEST_END 2 |
100 | 102 | ||
101 | #define VSID_REAL 0xfffffffffff00000 | 103 | #define VSID_REAL 0x1fffffffffc00000ULL |
102 | #define VSID_REAL_DR 0xffffffffffe00000 | 104 | #define VSID_BAT 0x1fffffffffb00000ULL |
103 | #define VSID_REAL_IR 0xffffffffffd00000 | 105 | #define VSID_REAL_DR 0x2000000000000000ULL |
104 | #define VSID_BAT 0xffffffffffc00000 | 106 | #define VSID_REAL_IR 0x4000000000000000ULL |
105 | #define VSID_PR 0x8000000000000000 | 107 | #define VSID_PR 0x8000000000000000ULL |
106 | 108 | ||
107 | extern void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, u64 ea, u64 ea_mask); | 109 | extern void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, ulong ea, ulong ea_mask); |
108 | extern void kvmppc_mmu_pte_vflush(struct kvm_vcpu *vcpu, u64 vp, u64 vp_mask); | 110 | extern void kvmppc_mmu_pte_vflush(struct kvm_vcpu *vcpu, u64 vp, u64 vp_mask); |
109 | extern void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, u64 pa_start, u64 pa_end); | 111 | extern void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, ulong pa_start, ulong pa_end); |
110 | extern void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 new_msr); | 112 | extern void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 new_msr); |
111 | extern void kvmppc_mmu_book3s_64_init(struct kvm_vcpu *vcpu); | 113 | extern void kvmppc_mmu_book3s_64_init(struct kvm_vcpu *vcpu); |
112 | extern void kvmppc_mmu_book3s_32_init(struct kvm_vcpu *vcpu); | 114 | extern void kvmppc_mmu_book3s_32_init(struct kvm_vcpu *vcpu); |
113 | extern int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *pte); | 115 | extern int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *pte); |
114 | extern int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr); | 116 | extern int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr); |
115 | extern void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu); | 117 | extern void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu); |
116 | extern struct kvmppc_pte *kvmppc_mmu_find_pte(struct kvm_vcpu *vcpu, u64 ea, bool data); | 118 | |
117 | extern int kvmppc_ld(struct kvm_vcpu *vcpu, ulong eaddr, int size, void *ptr, bool data); | 119 | extern void kvmppc_mmu_hpte_cache_map(struct kvm_vcpu *vcpu, struct hpte_cache *pte); |
118 | extern int kvmppc_st(struct kvm_vcpu *vcpu, ulong eaddr, int size, void *ptr); | 120 | extern struct hpte_cache *kvmppc_mmu_hpte_cache_next(struct kvm_vcpu *vcpu); |
121 | extern void kvmppc_mmu_hpte_destroy(struct kvm_vcpu *vcpu); | ||
122 | extern int kvmppc_mmu_hpte_init(struct kvm_vcpu *vcpu); | ||
123 | extern void kvmppc_mmu_invalidate_pte(struct kvm_vcpu *vcpu, struct hpte_cache *pte); | ||
124 | extern int kvmppc_mmu_hpte_sysinit(void); | ||
125 | extern void kvmppc_mmu_hpte_sysexit(void); | ||
126 | |||
127 | extern int kvmppc_ld(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, bool data); | ||
128 | extern int kvmppc_st(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, bool data); | ||
119 | extern void kvmppc_book3s_queue_irqprio(struct kvm_vcpu *vcpu, unsigned int vec); | 129 | extern void kvmppc_book3s_queue_irqprio(struct kvm_vcpu *vcpu, unsigned int vec); |
120 | extern void kvmppc_set_bat(struct kvm_vcpu *vcpu, struct kvmppc_bat *bat, | 130 | extern void kvmppc_set_bat(struct kvm_vcpu *vcpu, struct kvmppc_bat *bat, |
121 | bool upper, u32 val); | 131 | bool upper, u32 val); |
132 | extern void kvmppc_giveup_ext(struct kvm_vcpu *vcpu, ulong msr); | ||
133 | extern int kvmppc_emulate_paired_single(struct kvm_run *run, struct kvm_vcpu *vcpu); | ||
122 | 134 | ||
123 | extern u32 kvmppc_trampoline_lowmem; | 135 | extern u32 kvmppc_trampoline_lowmem; |
124 | extern u32 kvmppc_trampoline_enter; | 136 | extern u32 kvmppc_trampoline_enter; |
@@ -126,6 +138,8 @@ extern void kvmppc_rmcall(ulong srr0, ulong srr1); | |||
126 | extern void kvmppc_load_up_fpu(void); | 138 | extern void kvmppc_load_up_fpu(void); |
127 | extern void kvmppc_load_up_altivec(void); | 139 | extern void kvmppc_load_up_altivec(void); |
128 | extern void kvmppc_load_up_vsx(void); | 140 | extern void kvmppc_load_up_vsx(void); |
141 | extern u32 kvmppc_alignment_dsisr(struct kvm_vcpu *vcpu, unsigned int inst); | ||
142 | extern ulong kvmppc_alignment_dar(struct kvm_vcpu *vcpu, unsigned int inst); | ||
129 | 143 | ||
130 | static inline struct kvmppc_vcpu_book3s *to_book3s(struct kvm_vcpu *vcpu) | 144 | static inline struct kvmppc_vcpu_book3s *to_book3s(struct kvm_vcpu *vcpu) |
131 | { | 145 | { |
@@ -140,7 +154,108 @@ static inline ulong dsisr(void) | |||
140 | } | 154 | } |
141 | 155 | ||
142 | extern void kvm_return_point(void); | 156 | extern void kvm_return_point(void); |
157 | static inline struct kvmppc_book3s_shadow_vcpu *to_svcpu(struct kvm_vcpu *vcpu); | ||
158 | |||
159 | static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val) | ||
160 | { | ||
161 | if ( num < 14 ) { | ||
162 | to_svcpu(vcpu)->gpr[num] = val; | ||
163 | to_book3s(vcpu)->shadow_vcpu->gpr[num] = val; | ||
164 | } else | ||
165 | vcpu->arch.gpr[num] = val; | ||
166 | } | ||
167 | |||
168 | static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num) | ||
169 | { | ||
170 | if ( num < 14 ) | ||
171 | return to_svcpu(vcpu)->gpr[num]; | ||
172 | else | ||
173 | return vcpu->arch.gpr[num]; | ||
174 | } | ||
175 | |||
176 | static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val) | ||
177 | { | ||
178 | to_svcpu(vcpu)->cr = val; | ||
179 | to_book3s(vcpu)->shadow_vcpu->cr = val; | ||
180 | } | ||
181 | |||
182 | static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu) | ||
183 | { | ||
184 | return to_svcpu(vcpu)->cr; | ||
185 | } | ||
186 | |||
187 | static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val) | ||
188 | { | ||
189 | to_svcpu(vcpu)->xer = val; | ||
190 | to_book3s(vcpu)->shadow_vcpu->xer = val; | ||
191 | } | ||
192 | |||
193 | static inline u32 kvmppc_get_xer(struct kvm_vcpu *vcpu) | ||
194 | { | ||
195 | return to_svcpu(vcpu)->xer; | ||
196 | } | ||
197 | |||
198 | static inline void kvmppc_set_ctr(struct kvm_vcpu *vcpu, ulong val) | ||
199 | { | ||
200 | to_svcpu(vcpu)->ctr = val; | ||
201 | } | ||
202 | |||
203 | static inline ulong kvmppc_get_ctr(struct kvm_vcpu *vcpu) | ||
204 | { | ||
205 | return to_svcpu(vcpu)->ctr; | ||
206 | } | ||
207 | |||
208 | static inline void kvmppc_set_lr(struct kvm_vcpu *vcpu, ulong val) | ||
209 | { | ||
210 | to_svcpu(vcpu)->lr = val; | ||
211 | } | ||
212 | |||
213 | static inline ulong kvmppc_get_lr(struct kvm_vcpu *vcpu) | ||
214 | { | ||
215 | return to_svcpu(vcpu)->lr; | ||
216 | } | ||
217 | |||
218 | static inline void kvmppc_set_pc(struct kvm_vcpu *vcpu, ulong val) | ||
219 | { | ||
220 | to_svcpu(vcpu)->pc = val; | ||
221 | } | ||
222 | |||
223 | static inline ulong kvmppc_get_pc(struct kvm_vcpu *vcpu) | ||
224 | { | ||
225 | return to_svcpu(vcpu)->pc; | ||
226 | } | ||
227 | |||
228 | static inline u32 kvmppc_get_last_inst(struct kvm_vcpu *vcpu) | ||
229 | { | ||
230 | ulong pc = kvmppc_get_pc(vcpu); | ||
231 | struct kvmppc_book3s_shadow_vcpu *svcpu = to_svcpu(vcpu); | ||
232 | |||
233 | /* Load the instruction manually if it failed to do so in the | ||
234 | * exit path */ | ||
235 | if (svcpu->last_inst == KVM_INST_FETCH_FAILED) | ||
236 | kvmppc_ld(vcpu, &pc, sizeof(u32), &svcpu->last_inst, false); | ||
237 | |||
238 | return svcpu->last_inst; | ||
239 | } | ||
240 | |||
241 | static inline ulong kvmppc_get_fault_dar(struct kvm_vcpu *vcpu) | ||
242 | { | ||
243 | return to_svcpu(vcpu)->fault_dar; | ||
244 | } | ||
245 | |||
246 | /* Magic register values loaded into r3 and r4 before the 'sc' assembly | ||
247 | * instruction for the OSI hypercalls */ | ||
248 | #define OSI_SC_MAGIC_R3 0x113724FA | ||
249 | #define OSI_SC_MAGIC_R4 0x77810F9B | ||
143 | 250 | ||
144 | #define INS_DCBZ 0x7c0007ec | 251 | #define INS_DCBZ 0x7c0007ec |
145 | 252 | ||
253 | /* Also add subarch specific defines */ | ||
254 | |||
255 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
256 | #include <asm/kvm_book3s_32.h> | ||
257 | #else | ||
258 | #include <asm/kvm_book3s_64.h> | ||
259 | #endif | ||
260 | |||
146 | #endif /* __ASM_KVM_BOOK3S_H__ */ | 261 | #endif /* __ASM_KVM_BOOK3S_H__ */ |
diff --git a/arch/powerpc/include/asm/kvm_book3s_32.h b/arch/powerpc/include/asm/kvm_book3s_32.h new file mode 100644 index 000000000000..de604db135f5 --- /dev/null +++ b/arch/powerpc/include/asm/kvm_book3s_32.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License, version 2, as | ||
4 | * published by the Free Software Foundation. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program; if not, write to the Free Software | ||
13 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
14 | * | ||
15 | * Copyright SUSE Linux Products GmbH 2010 | ||
16 | * | ||
17 | * Authors: Alexander Graf <agraf@suse.de> | ||
18 | */ | ||
19 | |||
20 | #ifndef __ASM_KVM_BOOK3S_32_H__ | ||
21 | #define __ASM_KVM_BOOK3S_32_H__ | ||
22 | |||
23 | static inline struct kvmppc_book3s_shadow_vcpu *to_svcpu(struct kvm_vcpu *vcpu) | ||
24 | { | ||
25 | return to_book3s(vcpu)->shadow_vcpu; | ||
26 | } | ||
27 | |||
28 | #define PTE_SIZE 12 | ||
29 | #define VSID_ALL 0 | ||
30 | #define SR_INVALID 0x00000001 /* VSID 1 should always be unused */ | ||
31 | #define SR_KP 0x20000000 | ||
32 | #define PTE_V 0x80000000 | ||
33 | #define PTE_SEC 0x00000040 | ||
34 | #define PTE_M 0x00000010 | ||
35 | #define PTE_R 0x00000100 | ||
36 | #define PTE_C 0x00000080 | ||
37 | |||
38 | #define SID_SHIFT 28 | ||
39 | #define ESID_MASK 0xf0000000 | ||
40 | #define VSID_MASK 0x00fffffff0000000ULL | ||
41 | |||
42 | #endif /* __ASM_KVM_BOOK3S_32_H__ */ | ||
diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/include/asm/kvm_book3s_64.h new file mode 100644 index 000000000000..4cadd612d575 --- /dev/null +++ b/arch/powerpc/include/asm/kvm_book3s_64.h | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License, version 2, as | ||
4 | * published by the Free Software Foundation. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program; if not, write to the Free Software | ||
13 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
14 | * | ||
15 | * Copyright SUSE Linux Products GmbH 2010 | ||
16 | * | ||
17 | * Authors: Alexander Graf <agraf@suse.de> | ||
18 | */ | ||
19 | |||
20 | #ifndef __ASM_KVM_BOOK3S_64_H__ | ||
21 | #define __ASM_KVM_BOOK3S_64_H__ | ||
22 | |||
23 | static inline struct kvmppc_book3s_shadow_vcpu *to_svcpu(struct kvm_vcpu *vcpu) | ||
24 | { | ||
25 | return &get_paca()->shadow_vcpu; | ||
26 | } | ||
27 | |||
28 | #endif /* __ASM_KVM_BOOK3S_64_H__ */ | ||
diff --git a/arch/powerpc/include/asm/kvm_book3s_64_asm.h b/arch/powerpc/include/asm/kvm_book3s_asm.h index 183461b48407..36fdb3aff30b 100644 --- a/arch/powerpc/include/asm/kvm_book3s_64_asm.h +++ b/arch/powerpc/include/asm/kvm_book3s_asm.h | |||
@@ -22,7 +22,7 @@ | |||
22 | 22 | ||
23 | #ifdef __ASSEMBLY__ | 23 | #ifdef __ASSEMBLY__ |
24 | 24 | ||
25 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER | 25 | #ifdef CONFIG_KVM_BOOK3S_HANDLER |
26 | 26 | ||
27 | #include <asm/kvm_asm.h> | 27 | #include <asm/kvm_asm.h> |
28 | 28 | ||
@@ -55,7 +55,7 @@ kvmppc_resume_\intno: | |||
55 | .macro DO_KVM intno | 55 | .macro DO_KVM intno |
56 | .endm | 56 | .endm |
57 | 57 | ||
58 | #endif /* CONFIG_KVM_BOOK3S_64_HANDLER */ | 58 | #endif /* CONFIG_KVM_BOOK3S_HANDLER */ |
59 | 59 | ||
60 | #else /*__ASSEMBLY__ */ | 60 | #else /*__ASSEMBLY__ */ |
61 | 61 | ||
@@ -63,12 +63,33 @@ struct kvmppc_book3s_shadow_vcpu { | |||
63 | ulong gpr[14]; | 63 | ulong gpr[14]; |
64 | u32 cr; | 64 | u32 cr; |
65 | u32 xer; | 65 | u32 xer; |
66 | |||
67 | u32 fault_dsisr; | ||
68 | u32 last_inst; | ||
69 | ulong ctr; | ||
70 | ulong lr; | ||
71 | ulong pc; | ||
72 | ulong shadow_srr1; | ||
73 | ulong fault_dar; | ||
74 | |||
66 | ulong host_r1; | 75 | ulong host_r1; |
67 | ulong host_r2; | 76 | ulong host_r2; |
68 | ulong handler; | 77 | ulong handler; |
69 | ulong scratch0; | 78 | ulong scratch0; |
70 | ulong scratch1; | 79 | ulong scratch1; |
71 | ulong vmhandler; | 80 | ulong vmhandler; |
81 | u8 in_guest; | ||
82 | |||
83 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
84 | u32 sr[16]; /* Guest SRs */ | ||
85 | #endif | ||
86 | #ifdef CONFIG_PPC_BOOK3S_64 | ||
87 | u8 slb_max; /* highest used guest slb entry */ | ||
88 | struct { | ||
89 | u64 esid; | ||
90 | u64 vsid; | ||
91 | } slb[64]; /* guest SLB */ | ||
92 | #endif | ||
72 | }; | 93 | }; |
73 | 94 | ||
74 | #endif /*__ASSEMBLY__ */ | 95 | #endif /*__ASSEMBLY__ */ |
diff --git a/arch/powerpc/include/asm/kvm_booke.h b/arch/powerpc/include/asm/kvm_booke.h new file mode 100644 index 000000000000..9c9ba3d59b1b --- /dev/null +++ b/arch/powerpc/include/asm/kvm_booke.h | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License, version 2, as | ||
4 | * published by the Free Software Foundation. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program; if not, write to the Free Software | ||
13 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
14 | * | ||
15 | * Copyright SUSE Linux Products GmbH 2010 | ||
16 | * | ||
17 | * Authors: Alexander Graf <agraf@suse.de> | ||
18 | */ | ||
19 | |||
20 | #ifndef __ASM_KVM_BOOKE_H__ | ||
21 | #define __ASM_KVM_BOOKE_H__ | ||
22 | |||
23 | #include <linux/types.h> | ||
24 | #include <linux/kvm_host.h> | ||
25 | |||
26 | static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val) | ||
27 | { | ||
28 | vcpu->arch.gpr[num] = val; | ||
29 | } | ||
30 | |||
31 | static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num) | ||
32 | { | ||
33 | return vcpu->arch.gpr[num]; | ||
34 | } | ||
35 | |||
36 | static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val) | ||
37 | { | ||
38 | vcpu->arch.cr = val; | ||
39 | } | ||
40 | |||
41 | static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu) | ||
42 | { | ||
43 | return vcpu->arch.cr; | ||
44 | } | ||
45 | |||
46 | static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val) | ||
47 | { | ||
48 | vcpu->arch.xer = val; | ||
49 | } | ||
50 | |||
51 | static inline u32 kvmppc_get_xer(struct kvm_vcpu *vcpu) | ||
52 | { | ||
53 | return vcpu->arch.xer; | ||
54 | } | ||
55 | |||
56 | static inline u32 kvmppc_get_last_inst(struct kvm_vcpu *vcpu) | ||
57 | { | ||
58 | return vcpu->arch.last_inst; | ||
59 | } | ||
60 | |||
61 | static inline void kvmppc_set_ctr(struct kvm_vcpu *vcpu, ulong val) | ||
62 | { | ||
63 | vcpu->arch.ctr = val; | ||
64 | } | ||
65 | |||
66 | static inline ulong kvmppc_get_ctr(struct kvm_vcpu *vcpu) | ||
67 | { | ||
68 | return vcpu->arch.ctr; | ||
69 | } | ||
70 | |||
71 | static inline void kvmppc_set_lr(struct kvm_vcpu *vcpu, ulong val) | ||
72 | { | ||
73 | vcpu->arch.lr = val; | ||
74 | } | ||
75 | |||
76 | static inline ulong kvmppc_get_lr(struct kvm_vcpu *vcpu) | ||
77 | { | ||
78 | return vcpu->arch.lr; | ||
79 | } | ||
80 | |||
81 | static inline void kvmppc_set_pc(struct kvm_vcpu *vcpu, ulong val) | ||
82 | { | ||
83 | vcpu->arch.pc = val; | ||
84 | } | ||
85 | |||
86 | static inline ulong kvmppc_get_pc(struct kvm_vcpu *vcpu) | ||
87 | { | ||
88 | return vcpu->arch.pc; | ||
89 | } | ||
90 | |||
91 | static inline ulong kvmppc_get_fault_dar(struct kvm_vcpu *vcpu) | ||
92 | { | ||
93 | return vcpu->arch.fault_dear; | ||
94 | } | ||
95 | |||
96 | #endif /* __ASM_KVM_BOOKE_H__ */ | ||
diff --git a/arch/powerpc/include/asm/kvm_fpu.h b/arch/powerpc/include/asm/kvm_fpu.h new file mode 100644 index 000000000000..c3d4f0518a67 --- /dev/null +++ b/arch/powerpc/include/asm/kvm_fpu.h | |||
@@ -0,0 +1,88 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License, version 2, as | ||
4 | * published by the Free Software Foundation. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program; if not, write to the Free Software | ||
13 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
14 | * | ||
15 | * Copyright Novell Inc. 2010 | ||
16 | * | ||
17 | * Authors: Alexander Graf <agraf@suse.de> | ||
18 | */ | ||
19 | |||
20 | #ifndef __ASM_KVM_FPU_H__ | ||
21 | #define __ASM_KVM_FPU_H__ | ||
22 | |||
23 | #include <linux/types.h> | ||
24 | |||
25 | extern void fps_fres(u64 *fpscr, u32 *dst, u32 *src1); | ||
26 | extern void fps_frsqrte(u64 *fpscr, u32 *dst, u32 *src1); | ||
27 | extern void fps_fsqrts(u64 *fpscr, u32 *dst, u32 *src1); | ||
28 | |||
29 | extern void fps_fadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2); | ||
30 | extern void fps_fdivs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2); | ||
31 | extern void fps_fmuls(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2); | ||
32 | extern void fps_fsubs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2); | ||
33 | |||
34 | extern void fps_fmadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2, | ||
35 | u32 *src3); | ||
36 | extern void fps_fmsubs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2, | ||
37 | u32 *src3); | ||
38 | extern void fps_fnmadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2, | ||
39 | u32 *src3); | ||
40 | extern void fps_fnmsubs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2, | ||
41 | u32 *src3); | ||
42 | extern void fps_fsel(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2, | ||
43 | u32 *src3); | ||
44 | |||
45 | #define FPD_ONE_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \ | ||
46 | u64 *dst, u64 *src1); | ||
47 | #define FPD_TWO_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \ | ||
48 | u64 *dst, u64 *src1, u64 *src2); | ||
49 | #define FPD_THREE_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \ | ||
50 | u64 *dst, u64 *src1, u64 *src2, u64 *src3); | ||
51 | |||
52 | extern void fpd_fcmpu(u64 *fpscr, u32 *cr, u64 *src1, u64 *src2); | ||
53 | extern void fpd_fcmpo(u64 *fpscr, u32 *cr, u64 *src1, u64 *src2); | ||
54 | |||
55 | FPD_ONE_IN(fsqrts) | ||
56 | FPD_ONE_IN(frsqrtes) | ||
57 | FPD_ONE_IN(fres) | ||
58 | FPD_ONE_IN(frsp) | ||
59 | FPD_ONE_IN(fctiw) | ||
60 | FPD_ONE_IN(fctiwz) | ||
61 | FPD_ONE_IN(fsqrt) | ||
62 | FPD_ONE_IN(fre) | ||
63 | FPD_ONE_IN(frsqrte) | ||
64 | FPD_ONE_IN(fneg) | ||
65 | FPD_ONE_IN(fabs) | ||
66 | FPD_TWO_IN(fadds) | ||
67 | FPD_TWO_IN(fsubs) | ||
68 | FPD_TWO_IN(fdivs) | ||
69 | FPD_TWO_IN(fmuls) | ||
70 | FPD_TWO_IN(fcpsgn) | ||
71 | FPD_TWO_IN(fdiv) | ||
72 | FPD_TWO_IN(fadd) | ||
73 | FPD_TWO_IN(fmul) | ||
74 | FPD_TWO_IN(fsub) | ||
75 | FPD_THREE_IN(fmsubs) | ||
76 | FPD_THREE_IN(fmadds) | ||
77 | FPD_THREE_IN(fnmsubs) | ||
78 | FPD_THREE_IN(fnmadds) | ||
79 | FPD_THREE_IN(fsel) | ||
80 | FPD_THREE_IN(fmsub) | ||
81 | FPD_THREE_IN(fmadd) | ||
82 | FPD_THREE_IN(fnmsub) | ||
83 | FPD_THREE_IN(fnmadd) | ||
84 | |||
85 | extern void kvm_cvt_fd(u32 *from, u64 *to, u64 *fpscr); | ||
86 | extern void kvm_cvt_df(u64 *from, u32 *to, u64 *fpscr); | ||
87 | |||
88 | #endif | ||
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h index 5e5bae7e152f..b0b23c007d6e 100644 --- a/arch/powerpc/include/asm/kvm_host.h +++ b/arch/powerpc/include/asm/kvm_host.h | |||
@@ -35,10 +35,17 @@ | |||
35 | #define KVM_COALESCED_MMIO_PAGE_OFFSET 1 | 35 | #define KVM_COALESCED_MMIO_PAGE_OFFSET 1 |
36 | 36 | ||
37 | /* We don't currently support large pages. */ | 37 | /* We don't currently support large pages. */ |
38 | #define KVM_HPAGE_GFN_SHIFT(x) 0 | ||
38 | #define KVM_NR_PAGE_SIZES 1 | 39 | #define KVM_NR_PAGE_SIZES 1 |
39 | #define KVM_PAGES_PER_HPAGE(x) (1UL<<31) | 40 | #define KVM_PAGES_PER_HPAGE(x) (1UL<<31) |
40 | 41 | ||
41 | #define HPTEG_CACHE_NUM 1024 | 42 | #define HPTEG_CACHE_NUM (1 << 15) |
43 | #define HPTEG_HASH_BITS_PTE 13 | ||
44 | #define HPTEG_HASH_BITS_VPTE 13 | ||
45 | #define HPTEG_HASH_BITS_VPTE_LONG 5 | ||
46 | #define HPTEG_HASH_NUM_PTE (1 << HPTEG_HASH_BITS_PTE) | ||
47 | #define HPTEG_HASH_NUM_VPTE (1 << HPTEG_HASH_BITS_VPTE) | ||
48 | #define HPTEG_HASH_NUM_VPTE_LONG (1 << HPTEG_HASH_BITS_VPTE_LONG) | ||
42 | 49 | ||
43 | struct kvm; | 50 | struct kvm; |
44 | struct kvm_run; | 51 | struct kvm_run; |
@@ -66,7 +73,7 @@ struct kvm_vcpu_stat { | |||
66 | u32 dec_exits; | 73 | u32 dec_exits; |
67 | u32 ext_intr_exits; | 74 | u32 ext_intr_exits; |
68 | u32 halt_wakeup; | 75 | u32 halt_wakeup; |
69 | #ifdef CONFIG_PPC64 | 76 | #ifdef CONFIG_PPC_BOOK3S |
70 | u32 pf_storage; | 77 | u32 pf_storage; |
71 | u32 pf_instruc; | 78 | u32 pf_instruc; |
72 | u32 sp_storage; | 79 | u32 sp_storage; |
@@ -124,12 +131,12 @@ struct kvm_arch { | |||
124 | }; | 131 | }; |
125 | 132 | ||
126 | struct kvmppc_pte { | 133 | struct kvmppc_pte { |
127 | u64 eaddr; | 134 | ulong eaddr; |
128 | u64 vpage; | 135 | u64 vpage; |
129 | u64 raddr; | 136 | ulong raddr; |
130 | bool may_read; | 137 | bool may_read : 1; |
131 | bool may_write; | 138 | bool may_write : 1; |
132 | bool may_execute; | 139 | bool may_execute : 1; |
133 | }; | 140 | }; |
134 | 141 | ||
135 | struct kvmppc_mmu { | 142 | struct kvmppc_mmu { |
@@ -145,12 +152,15 @@ struct kvmppc_mmu { | |||
145 | int (*xlate)(struct kvm_vcpu *vcpu, gva_t eaddr, struct kvmppc_pte *pte, bool data); | 152 | int (*xlate)(struct kvm_vcpu *vcpu, gva_t eaddr, struct kvmppc_pte *pte, bool data); |
146 | void (*reset_msr)(struct kvm_vcpu *vcpu); | 153 | void (*reset_msr)(struct kvm_vcpu *vcpu); |
147 | void (*tlbie)(struct kvm_vcpu *vcpu, ulong addr, bool large); | 154 | void (*tlbie)(struct kvm_vcpu *vcpu, ulong addr, bool large); |
148 | int (*esid_to_vsid)(struct kvm_vcpu *vcpu, u64 esid, u64 *vsid); | 155 | int (*esid_to_vsid)(struct kvm_vcpu *vcpu, ulong esid, u64 *vsid); |
149 | u64 (*ea_to_vp)(struct kvm_vcpu *vcpu, gva_t eaddr, bool data); | 156 | u64 (*ea_to_vp)(struct kvm_vcpu *vcpu, gva_t eaddr, bool data); |
150 | bool (*is_dcbz32)(struct kvm_vcpu *vcpu); | 157 | bool (*is_dcbz32)(struct kvm_vcpu *vcpu); |
151 | }; | 158 | }; |
152 | 159 | ||
153 | struct hpte_cache { | 160 | struct hpte_cache { |
161 | struct hlist_node list_pte; | ||
162 | struct hlist_node list_vpte; | ||
163 | struct hlist_node list_vpte_long; | ||
154 | u64 host_va; | 164 | u64 host_va; |
155 | u64 pfn; | 165 | u64 pfn; |
156 | ulong slot; | 166 | ulong slot; |
@@ -160,7 +170,7 @@ struct hpte_cache { | |||
160 | struct kvm_vcpu_arch { | 170 | struct kvm_vcpu_arch { |
161 | ulong host_stack; | 171 | ulong host_stack; |
162 | u32 host_pid; | 172 | u32 host_pid; |
163 | #ifdef CONFIG_PPC64 | 173 | #ifdef CONFIG_PPC_BOOK3S |
164 | ulong host_msr; | 174 | ulong host_msr; |
165 | ulong host_r2; | 175 | ulong host_r2; |
166 | void *host_retip; | 176 | void *host_retip; |
@@ -175,7 +185,7 @@ struct kvm_vcpu_arch { | |||
175 | ulong gpr[32]; | 185 | ulong gpr[32]; |
176 | 186 | ||
177 | u64 fpr[32]; | 187 | u64 fpr[32]; |
178 | u32 fpscr; | 188 | u64 fpscr; |
179 | 189 | ||
180 | #ifdef CONFIG_ALTIVEC | 190 | #ifdef CONFIG_ALTIVEC |
181 | vector128 vr[32]; | 191 | vector128 vr[32]; |
@@ -186,19 +196,23 @@ struct kvm_vcpu_arch { | |||
186 | u64 vsr[32]; | 196 | u64 vsr[32]; |
187 | #endif | 197 | #endif |
188 | 198 | ||
199 | #ifdef CONFIG_PPC_BOOK3S | ||
200 | /* For Gekko paired singles */ | ||
201 | u32 qpr[32]; | ||
202 | #endif | ||
203 | |||
204 | #ifdef CONFIG_BOOKE | ||
189 | ulong pc; | 205 | ulong pc; |
190 | ulong ctr; | 206 | ulong ctr; |
191 | ulong lr; | 207 | ulong lr; |
192 | 208 | ||
193 | #ifdef CONFIG_BOOKE | ||
194 | ulong xer; | 209 | ulong xer; |
195 | u32 cr; | 210 | u32 cr; |
196 | #endif | 211 | #endif |
197 | 212 | ||
198 | ulong msr; | 213 | ulong msr; |
199 | #ifdef CONFIG_PPC64 | 214 | #ifdef CONFIG_PPC_BOOK3S |
200 | ulong shadow_msr; | 215 | ulong shadow_msr; |
201 | ulong shadow_srr1; | ||
202 | ulong hflags; | 216 | ulong hflags; |
203 | ulong guest_owned_ext; | 217 | ulong guest_owned_ext; |
204 | #endif | 218 | #endif |
@@ -253,20 +267,22 @@ struct kvm_vcpu_arch { | |||
253 | struct dentry *debugfs_exit_timing; | 267 | struct dentry *debugfs_exit_timing; |
254 | #endif | 268 | #endif |
255 | 269 | ||
270 | #ifdef CONFIG_BOOKE | ||
256 | u32 last_inst; | 271 | u32 last_inst; |
257 | #ifdef CONFIG_PPC64 | ||
258 | ulong fault_dsisr; | ||
259 | #endif | ||
260 | ulong fault_dear; | 272 | ulong fault_dear; |
261 | ulong fault_esr; | 273 | ulong fault_esr; |
262 | ulong queued_dear; | 274 | ulong queued_dear; |
263 | ulong queued_esr; | 275 | ulong queued_esr; |
276 | #endif | ||
264 | gpa_t paddr_accessed; | 277 | gpa_t paddr_accessed; |
265 | 278 | ||
266 | u8 io_gpr; /* GPR used as IO source/target */ | 279 | u8 io_gpr; /* GPR used as IO source/target */ |
267 | u8 mmio_is_bigendian; | 280 | u8 mmio_is_bigendian; |
281 | u8 mmio_sign_extend; | ||
268 | u8 dcr_needed; | 282 | u8 dcr_needed; |
269 | u8 dcr_is_write; | 283 | u8 dcr_is_write; |
284 | u8 osi_needed; | ||
285 | u8 osi_enabled; | ||
270 | 286 | ||
271 | u32 cpr0_cfgaddr; /* holds the last set cpr0_cfgaddr */ | 287 | u32 cpr0_cfgaddr; /* holds the last set cpr0_cfgaddr */ |
272 | 288 | ||
@@ -275,9 +291,11 @@ struct kvm_vcpu_arch { | |||
275 | u64 dec_jiffies; | 291 | u64 dec_jiffies; |
276 | unsigned long pending_exceptions; | 292 | unsigned long pending_exceptions; |
277 | 293 | ||
278 | #ifdef CONFIG_PPC64 | 294 | #ifdef CONFIG_PPC_BOOK3S |
279 | struct hpte_cache hpte_cache[HPTEG_CACHE_NUM]; | 295 | struct hlist_head hpte_hash_pte[HPTEG_HASH_NUM_PTE]; |
280 | int hpte_cache_offset; | 296 | struct hlist_head hpte_hash_vpte[HPTEG_HASH_NUM_VPTE]; |
297 | struct hlist_head hpte_hash_vpte_long[HPTEG_HASH_NUM_VPTE_LONG]; | ||
298 | int hpte_cache_count; | ||
281 | #endif | 299 | #endif |
282 | }; | 300 | }; |
283 | 301 | ||
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h index e2642829e435..18d139ec2d22 100644 --- a/arch/powerpc/include/asm/kvm_ppc.h +++ b/arch/powerpc/include/asm/kvm_ppc.h | |||
@@ -30,6 +30,8 @@ | |||
30 | #include <linux/kvm_host.h> | 30 | #include <linux/kvm_host.h> |
31 | #ifdef CONFIG_PPC_BOOK3S | 31 | #ifdef CONFIG_PPC_BOOK3S |
32 | #include <asm/kvm_book3s.h> | 32 | #include <asm/kvm_book3s.h> |
33 | #else | ||
34 | #include <asm/kvm_booke.h> | ||
33 | #endif | 35 | #endif |
34 | 36 | ||
35 | enum emulation_result { | 37 | enum emulation_result { |
@@ -37,6 +39,7 @@ enum emulation_result { | |||
37 | EMULATE_DO_MMIO, /* kvm_run filled with MMIO request */ | 39 | EMULATE_DO_MMIO, /* kvm_run filled with MMIO request */ |
38 | EMULATE_DO_DCR, /* kvm_run filled with DCR request */ | 40 | EMULATE_DO_DCR, /* kvm_run filled with DCR request */ |
39 | EMULATE_FAIL, /* can't emulate this instruction */ | 41 | EMULATE_FAIL, /* can't emulate this instruction */ |
42 | EMULATE_AGAIN, /* something went wrong. go again */ | ||
40 | }; | 43 | }; |
41 | 44 | ||
42 | extern int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); | 45 | extern int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); |
@@ -48,8 +51,11 @@ extern void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu); | |||
48 | extern int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu, | 51 | extern int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu, |
49 | unsigned int rt, unsigned int bytes, | 52 | unsigned int rt, unsigned int bytes, |
50 | int is_bigendian); | 53 | int is_bigendian); |
54 | extern int kvmppc_handle_loads(struct kvm_run *run, struct kvm_vcpu *vcpu, | ||
55 | unsigned int rt, unsigned int bytes, | ||
56 | int is_bigendian); | ||
51 | extern int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu, | 57 | extern int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu, |
52 | u32 val, unsigned int bytes, int is_bigendian); | 58 | u64 val, unsigned int bytes, int is_bigendian); |
53 | 59 | ||
54 | extern int kvmppc_emulate_instruction(struct kvm_run *run, | 60 | extern int kvmppc_emulate_instruction(struct kvm_run *run, |
55 | struct kvm_vcpu *vcpu); | 61 | struct kvm_vcpu *vcpu); |
@@ -63,6 +69,7 @@ extern void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 gvaddr, gpa_t gpaddr, | |||
63 | extern void kvmppc_mmu_priv_switch(struct kvm_vcpu *vcpu, int usermode); | 69 | extern void kvmppc_mmu_priv_switch(struct kvm_vcpu *vcpu, int usermode); |
64 | extern void kvmppc_mmu_switch_pid(struct kvm_vcpu *vcpu, u32 pid); | 70 | extern void kvmppc_mmu_switch_pid(struct kvm_vcpu *vcpu, u32 pid); |
65 | extern void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu); | 71 | extern void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu); |
72 | extern int kvmppc_mmu_init(struct kvm_vcpu *vcpu); | ||
66 | extern int kvmppc_mmu_dtlb_index(struct kvm_vcpu *vcpu, gva_t eaddr); | 73 | extern int kvmppc_mmu_dtlb_index(struct kvm_vcpu *vcpu, gva_t eaddr); |
67 | extern int kvmppc_mmu_itlb_index(struct kvm_vcpu *vcpu, gva_t eaddr); | 74 | extern int kvmppc_mmu_itlb_index(struct kvm_vcpu *vcpu, gva_t eaddr); |
68 | extern gpa_t kvmppc_mmu_xlate(struct kvm_vcpu *vcpu, unsigned int gtlb_index, | 75 | extern gpa_t kvmppc_mmu_xlate(struct kvm_vcpu *vcpu, unsigned int gtlb_index, |
@@ -88,6 +95,8 @@ extern void kvmppc_core_queue_dec(struct kvm_vcpu *vcpu); | |||
88 | extern void kvmppc_core_dequeue_dec(struct kvm_vcpu *vcpu); | 95 | extern void kvmppc_core_dequeue_dec(struct kvm_vcpu *vcpu); |
89 | extern void kvmppc_core_queue_external(struct kvm_vcpu *vcpu, | 96 | extern void kvmppc_core_queue_external(struct kvm_vcpu *vcpu, |
90 | struct kvm_interrupt *irq); | 97 | struct kvm_interrupt *irq); |
98 | extern void kvmppc_core_dequeue_external(struct kvm_vcpu *vcpu, | ||
99 | struct kvm_interrupt *irq); | ||
91 | 100 | ||
92 | extern int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | 101 | extern int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, |
93 | unsigned int op, int *advance); | 102 | unsigned int op, int *advance); |
@@ -99,81 +108,37 @@ extern void kvmppc_booke_exit(void); | |||
99 | 108 | ||
100 | extern void kvmppc_core_destroy_mmu(struct kvm_vcpu *vcpu); | 109 | extern void kvmppc_core_destroy_mmu(struct kvm_vcpu *vcpu); |
101 | 110 | ||
102 | #ifdef CONFIG_PPC_BOOK3S | 111 | /* |
103 | 112 | * Cuts out inst bits with ordering according to spec. | |
104 | /* We assume we're always acting on the current vcpu */ | 113 | * That means the leftmost bit is zero. All given bits are included. |
105 | 114 | */ | |
106 | static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val) | 115 | static inline u32 kvmppc_get_field(u64 inst, int msb, int lsb) |
107 | { | ||
108 | if ( num < 14 ) { | ||
109 | get_paca()->shadow_vcpu.gpr[num] = val; | ||
110 | to_book3s(vcpu)->shadow_vcpu.gpr[num] = val; | ||
111 | } else | ||
112 | vcpu->arch.gpr[num] = val; | ||
113 | } | ||
114 | |||
115 | static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num) | ||
116 | { | ||
117 | if ( num < 14 ) | ||
118 | return get_paca()->shadow_vcpu.gpr[num]; | ||
119 | else | ||
120 | return vcpu->arch.gpr[num]; | ||
121 | } | ||
122 | |||
123 | static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val) | ||
124 | { | ||
125 | get_paca()->shadow_vcpu.cr = val; | ||
126 | to_book3s(vcpu)->shadow_vcpu.cr = val; | ||
127 | } | ||
128 | |||
129 | static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu) | ||
130 | { | ||
131 | return get_paca()->shadow_vcpu.cr; | ||
132 | } | ||
133 | |||
134 | static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val) | ||
135 | { | ||
136 | get_paca()->shadow_vcpu.xer = val; | ||
137 | to_book3s(vcpu)->shadow_vcpu.xer = val; | ||
138 | } | ||
139 | |||
140 | static inline u32 kvmppc_get_xer(struct kvm_vcpu *vcpu) | ||
141 | { | 116 | { |
142 | return get_paca()->shadow_vcpu.xer; | 117 | u32 r; |
143 | } | 118 | u32 mask; |
144 | 119 | ||
145 | #else | 120 | BUG_ON(msb > lsb); |
146 | 121 | ||
147 | static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val) | 122 | mask = (1 << (lsb - msb + 1)) - 1; |
148 | { | 123 | r = (inst >> (63 - lsb)) & mask; |
149 | vcpu->arch.gpr[num] = val; | ||
150 | } | ||
151 | 124 | ||
152 | static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num) | 125 | return r; |
153 | { | ||
154 | return vcpu->arch.gpr[num]; | ||
155 | } | 126 | } |
156 | 127 | ||
157 | static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val) | 128 | /* |
129 | * Replaces inst bits with ordering according to spec. | ||
130 | */ | ||
131 | static inline u32 kvmppc_set_field(u64 inst, int msb, int lsb, int value) | ||
158 | { | 132 | { |
159 | vcpu->arch.cr = val; | 133 | u32 r; |
160 | } | 134 | u32 mask; |
161 | 135 | ||
162 | static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu) | 136 | BUG_ON(msb > lsb); |
163 | { | ||
164 | return vcpu->arch.cr; | ||
165 | } | ||
166 | 137 | ||
167 | static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val) | 138 | mask = ((1 << (lsb - msb + 1)) - 1) << (63 - lsb); |
168 | { | 139 | r = (inst & ~mask) | ((value << (63 - lsb)) & mask); |
169 | vcpu->arch.xer = val; | ||
170 | } | ||
171 | 140 | ||
172 | static inline u32 kvmppc_get_xer(struct kvm_vcpu *vcpu) | 141 | return r; |
173 | { | ||
174 | return vcpu->arch.xer; | ||
175 | } | 142 | } |
176 | 143 | ||
177 | #endif | ||
178 | |||
179 | #endif /* __POWERPC_KVM_PPC_H__ */ | 144 | #endif /* __POWERPC_KVM_PPC_H__ */ |
diff --git a/arch/powerpc/include/asm/lmb.h b/arch/powerpc/include/asm/lmb.h deleted file mode 100644 index 6f5fdf0a19ae..000000000000 --- a/arch/powerpc/include/asm/lmb.h +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | #ifndef _ASM_POWERPC_LMB_H | ||
2 | #define _ASM_POWERPC_LMB_H | ||
3 | |||
4 | #include <asm/udbg.h> | ||
5 | |||
6 | #define LMB_DBG(fmt...) udbg_printf(fmt) | ||
7 | |||
8 | #ifdef CONFIG_PPC32 | ||
9 | extern phys_addr_t lowmem_end_addr; | ||
10 | #define LMB_REAL_LIMIT lowmem_end_addr | ||
11 | #else | ||
12 | #define LMB_REAL_LIMIT 0 | ||
13 | #endif | ||
14 | |||
15 | #endif /* _ASM_POWERPC_LMB_H */ | ||
diff --git a/arch/powerpc/include/asm/macio.h b/arch/powerpc/include/asm/macio.h index a062c57696d0..675e159b5ef4 100644 --- a/arch/powerpc/include/asm/macio.h +++ b/arch/powerpc/include/asm/macio.h | |||
@@ -108,7 +108,7 @@ static inline void* macio_get_drvdata(struct macio_dev *dev) | |||
108 | 108 | ||
109 | static inline struct device_node *macio_get_of_node(struct macio_dev *mdev) | 109 | static inline struct device_node *macio_get_of_node(struct macio_dev *mdev) |
110 | { | 110 | { |
111 | return mdev->ofdev.node; | 111 | return mdev->ofdev.dev.of_node; |
112 | } | 112 | } |
113 | 113 | ||
114 | #ifdef CONFIG_PCI | 114 | #ifdef CONFIG_PCI |
@@ -123,10 +123,6 @@ static inline struct pci_dev *macio_get_pci_dev(struct macio_dev *mdev) | |||
123 | */ | 123 | */ |
124 | struct macio_driver | 124 | struct macio_driver |
125 | { | 125 | { |
126 | char *name; | ||
127 | struct of_device_id *match_table; | ||
128 | struct module *owner; | ||
129 | |||
130 | int (*probe)(struct macio_dev* dev, const struct of_device_id *match); | 126 | int (*probe)(struct macio_dev* dev, const struct of_device_id *match); |
131 | int (*remove)(struct macio_dev* dev); | 127 | int (*remove)(struct macio_dev* dev); |
132 | 128 | ||
diff --git a/arch/powerpc/include/asm/memblock.h b/arch/powerpc/include/asm/memblock.h new file mode 100644 index 000000000000..3c29728b56b1 --- /dev/null +++ b/arch/powerpc/include/asm/memblock.h | |||
@@ -0,0 +1,15 @@ | |||
1 | #ifndef _ASM_POWERPC_MEMBLOCK_H | ||
2 | #define _ASM_POWERPC_MEMBLOCK_H | ||
3 | |||
4 | #include <asm/udbg.h> | ||
5 | |||
6 | #define MEMBLOCK_DBG(fmt...) udbg_printf(fmt) | ||
7 | |||
8 | #ifdef CONFIG_PPC32 | ||
9 | extern phys_addr_t lowmem_end_addr; | ||
10 | #define MEMBLOCK_REAL_LIMIT lowmem_end_addr | ||
11 | #else | ||
12 | #define MEMBLOCK_REAL_LIMIT 0 | ||
13 | #endif | ||
14 | |||
15 | #endif /* _ASM_POWERPC_MEMBLOCK_H */ | ||
diff --git a/arch/powerpc/include/asm/mmu-44x.h b/arch/powerpc/include/asm/mmu-44x.h index 0372669383a8..bf52d704fc47 100644 --- a/arch/powerpc/include/asm/mmu-44x.h +++ b/arch/powerpc/include/asm/mmu-44x.h | |||
@@ -40,7 +40,7 @@ | |||
40 | #define PPC44x_TLB_I 0x00000400 /* Caching is inhibited */ | 40 | #define PPC44x_TLB_I 0x00000400 /* Caching is inhibited */ |
41 | #define PPC44x_TLB_M 0x00000200 /* Memory is coherent */ | 41 | #define PPC44x_TLB_M 0x00000200 /* Memory is coherent */ |
42 | #define PPC44x_TLB_G 0x00000100 /* Memory is guarded */ | 42 | #define PPC44x_TLB_G 0x00000100 /* Memory is guarded */ |
43 | #define PPC44x_TLB_E 0x00000080 /* Memory is guarded */ | 43 | #define PPC44x_TLB_E 0x00000080 /* Memory is little endian */ |
44 | 44 | ||
45 | #define PPC44x_TLB_PERM_MASK 0x0000003f | 45 | #define PPC44x_TLB_PERM_MASK 0x0000003f |
46 | #define PPC44x_TLB_UX 0x00000020 /* User execution */ | 46 | #define PPC44x_TLB_UX 0x00000020 /* User execution */ |
@@ -53,6 +53,52 @@ | |||
53 | /* Number of TLB entries */ | 53 | /* Number of TLB entries */ |
54 | #define PPC44x_TLB_SIZE 64 | 54 | #define PPC44x_TLB_SIZE 64 |
55 | 55 | ||
56 | /* 47x bits */ | ||
57 | #define PPC47x_MMUCR_TID 0x0000ffff | ||
58 | #define PPC47x_MMUCR_STS 0x00010000 | ||
59 | |||
60 | /* Page identification fields */ | ||
61 | #define PPC47x_TLB0_EPN_MASK 0xfffff000 /* Effective Page Number */ | ||
62 | #define PPC47x_TLB0_VALID 0x00000800 /* Valid flag */ | ||
63 | #define PPC47x_TLB0_TS 0x00000400 /* Translation address space */ | ||
64 | #define PPC47x_TLB0_4K 0x00000000 | ||
65 | #define PPC47x_TLB0_16K 0x00000010 | ||
66 | #define PPC47x_TLB0_64K 0x00000030 | ||
67 | #define PPC47x_TLB0_1M 0x00000070 | ||
68 | #define PPC47x_TLB0_16M 0x000000f0 | ||
69 | #define PPC47x_TLB0_256M 0x000001f0 | ||
70 | #define PPC47x_TLB0_1G 0x000003f0 | ||
71 | #define PPC47x_TLB0_BOLTED_R 0x00000008 /* tlbre only */ | ||
72 | |||
73 | /* Translation fields */ | ||
74 | #define PPC47x_TLB1_RPN_MASK 0xfffff000 /* Real Page Number */ | ||
75 | #define PPC47x_TLB1_ERPN_MASK 0x000003ff | ||
76 | |||
77 | /* Storage attribute and access control fields */ | ||
78 | #define PPC47x_TLB2_ATTR_MASK 0x0003ff80 | ||
79 | #define PPC47x_TLB2_IL1I 0x00020000 /* Memory is guarded */ | ||
80 | #define PPC47x_TLB2_IL1D 0x00010000 /* Memory is guarded */ | ||
81 | #define PPC47x_TLB2_U0 0x00008000 /* User 0 */ | ||
82 | #define PPC47x_TLB2_U1 0x00004000 /* User 1 */ | ||
83 | #define PPC47x_TLB2_U2 0x00002000 /* User 2 */ | ||
84 | #define PPC47x_TLB2_U3 0x00001000 /* User 3 */ | ||
85 | #define PPC47x_TLB2_W 0x00000800 /* Caching is write-through */ | ||
86 | #define PPC47x_TLB2_I 0x00000400 /* Caching is inhibited */ | ||
87 | #define PPC47x_TLB2_M 0x00000200 /* Memory is coherent */ | ||
88 | #define PPC47x_TLB2_G 0x00000100 /* Memory is guarded */ | ||
89 | #define PPC47x_TLB2_E 0x00000080 /* Memory is little endian */ | ||
90 | #define PPC47x_TLB2_PERM_MASK 0x0000003f | ||
91 | #define PPC47x_TLB2_UX 0x00000020 /* User execution */ | ||
92 | #define PPC47x_TLB2_UW 0x00000010 /* User write */ | ||
93 | #define PPC47x_TLB2_UR 0x00000008 /* User read */ | ||
94 | #define PPC47x_TLB2_SX 0x00000004 /* Super execution */ | ||
95 | #define PPC47x_TLB2_SW 0x00000002 /* Super write */ | ||
96 | #define PPC47x_TLB2_SR 0x00000001 /* Super read */ | ||
97 | #define PPC47x_TLB2_U_RWX (PPC47x_TLB2_UX|PPC47x_TLB2_UW|PPC47x_TLB2_UR) | ||
98 | #define PPC47x_TLB2_S_RWX (PPC47x_TLB2_SX|PPC47x_TLB2_SW|PPC47x_TLB2_SR) | ||
99 | #define PPC47x_TLB2_S_RW (PPC47x_TLB2_SW | PPC47x_TLB2_SR) | ||
100 | #define PPC47x_TLB2_IMG (PPC47x_TLB2_I | PPC47x_TLB2_M | PPC47x_TLB2_G) | ||
101 | |||
56 | #ifndef __ASSEMBLY__ | 102 | #ifndef __ASSEMBLY__ |
57 | 103 | ||
58 | extern unsigned int tlb_44x_hwater; | 104 | extern unsigned int tlb_44x_hwater; |
@@ -79,12 +125,15 @@ typedef struct { | |||
79 | 125 | ||
80 | #if (PAGE_SHIFT == 12) | 126 | #if (PAGE_SHIFT == 12) |
81 | #define PPC44x_TLBE_SIZE PPC44x_TLB_4K | 127 | #define PPC44x_TLBE_SIZE PPC44x_TLB_4K |
128 | #define PPC47x_TLBE_SIZE PPC47x_TLB0_4K | ||
82 | #define mmu_virtual_psize MMU_PAGE_4K | 129 | #define mmu_virtual_psize MMU_PAGE_4K |
83 | #elif (PAGE_SHIFT == 14) | 130 | #elif (PAGE_SHIFT == 14) |
84 | #define PPC44x_TLBE_SIZE PPC44x_TLB_16K | 131 | #define PPC44x_TLBE_SIZE PPC44x_TLB_16K |
132 | #define PPC47x_TLBE_SIZE PPC47x_TLB0_16K | ||
85 | #define mmu_virtual_psize MMU_PAGE_16K | 133 | #define mmu_virtual_psize MMU_PAGE_16K |
86 | #elif (PAGE_SHIFT == 16) | 134 | #elif (PAGE_SHIFT == 16) |
87 | #define PPC44x_TLBE_SIZE PPC44x_TLB_64K | 135 | #define PPC44x_TLBE_SIZE PPC44x_TLB_64K |
136 | #define PPC47x_TLBE_SIZE PPC47x_TLB0_64K | ||
88 | #define mmu_virtual_psize MMU_PAGE_64K | 137 | #define mmu_virtual_psize MMU_PAGE_64K |
89 | #elif (PAGE_SHIFT == 18) | 138 | #elif (PAGE_SHIFT == 18) |
90 | #define PPC44x_TLBE_SIZE PPC44x_TLB_256K | 139 | #define PPC44x_TLBE_SIZE PPC44x_TLB_256K |
diff --git a/arch/powerpc/include/asm/mmu-hash64.h b/arch/powerpc/include/asm/mmu-hash64.h index 2102b214a87c..0e398cfee2c8 100644 --- a/arch/powerpc/include/asm/mmu-hash64.h +++ b/arch/powerpc/include/asm/mmu-hash64.h | |||
@@ -250,7 +250,9 @@ extern int hash_page(unsigned long ea, unsigned long access, unsigned long trap) | |||
250 | int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, | 250 | int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, |
251 | pte_t *ptep, unsigned long trap, int local, int ssize, | 251 | pte_t *ptep, unsigned long trap, int local, int ssize, |
252 | unsigned int shift, unsigned int mmu_psize); | 252 | unsigned int shift, unsigned int mmu_psize); |
253 | 253 | extern void hash_failure_debug(unsigned long ea, unsigned long access, | |
254 | unsigned long vsid, unsigned long trap, | ||
255 | int ssize, int psize, unsigned long pte); | ||
254 | extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, | 256 | extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, |
255 | unsigned long pstart, unsigned long prot, | 257 | unsigned long pstart, unsigned long prot, |
256 | int psize, int ssize); | 258 | int psize, int ssize); |
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h index 7ffbb65ff7a9..7ebf42ed84a2 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h | |||
@@ -18,6 +18,7 @@ | |||
18 | #define MMU_FTR_TYPE_44x ASM_CONST(0x00000008) | 18 | #define MMU_FTR_TYPE_44x ASM_CONST(0x00000008) |
19 | #define MMU_FTR_TYPE_FSL_E ASM_CONST(0x00000010) | 19 | #define MMU_FTR_TYPE_FSL_E ASM_CONST(0x00000010) |
20 | #define MMU_FTR_TYPE_3E ASM_CONST(0x00000020) | 20 | #define MMU_FTR_TYPE_3E ASM_CONST(0x00000020) |
21 | #define MMU_FTR_TYPE_47x ASM_CONST(0x00000040) | ||
21 | 22 | ||
22 | /* | 23 | /* |
23 | * This is individual features | 24 | * This is individual features |
diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h index 26383e0778aa..81fb41289d6c 100644 --- a/arch/powerpc/include/asm/mmu_context.h +++ b/arch/powerpc/include/asm/mmu_context.h | |||
@@ -27,6 +27,8 @@ extern int __init_new_context(void); | |||
27 | extern void __destroy_context(int context_id); | 27 | extern void __destroy_context(int context_id); |
28 | static inline void mmu_context_init(void) { } | 28 | static inline void mmu_context_init(void) { } |
29 | #else | 29 | #else |
30 | extern unsigned long __init_new_context(void); | ||
31 | extern void __destroy_context(unsigned long context_id); | ||
30 | extern void mmu_context_init(void); | 32 | extern void mmu_context_init(void); |
31 | #endif | 33 | #endif |
32 | 34 | ||
diff --git a/arch/powerpc/include/asm/mmzone.h b/arch/powerpc/include/asm/mmzone.h index 35acac90c8ca..aac87cbceb57 100644 --- a/arch/powerpc/include/asm/mmzone.h +++ b/arch/powerpc/include/asm/mmzone.h | |||
@@ -30,7 +30,7 @@ extern struct pglist_data *node_data[]; | |||
30 | */ | 30 | */ |
31 | 31 | ||
32 | extern int numa_cpu_lookup_table[]; | 32 | extern int numa_cpu_lookup_table[]; |
33 | extern cpumask_t numa_cpumask_lookup_table[]; | 33 | extern cpumask_var_t node_to_cpumask_map[]; |
34 | #ifdef CONFIG_MEMORY_HOTPLUG | 34 | #ifdef CONFIG_MEMORY_HOTPLUG |
35 | extern unsigned long max_pfn; | 35 | extern unsigned long max_pfn; |
36 | #endif | 36 | #endif |
diff --git a/arch/powerpc/include/asm/mpc52xx_psc.h b/arch/powerpc/include/asm/mpc52xx_psc.h index 42561f4f032d..ecc4fc69ac13 100644 --- a/arch/powerpc/include/asm/mpc52xx_psc.h +++ b/arch/powerpc/include/asm/mpc52xx_psc.h | |||
@@ -248,6 +248,7 @@ struct mpc52xx_psc_fifo { | |||
248 | u16 tflwfptr; /* PSC + 0x9e */ | 248 | u16 tflwfptr; /* PSC + 0x9e */ |
249 | }; | 249 | }; |
250 | 250 | ||
251 | #define MPC512x_PSC_FIFO_EOF 0x100 | ||
251 | #define MPC512x_PSC_FIFO_RESET_SLICE 0x80 | 252 | #define MPC512x_PSC_FIFO_RESET_SLICE 0x80 |
252 | #define MPC512x_PSC_FIFO_ENABLE_SLICE 0x01 | 253 | #define MPC512x_PSC_FIFO_ENABLE_SLICE 0x01 |
253 | #define MPC512x_PSC_FIFO_ENABLE_DMA 0x04 | 254 | #define MPC512x_PSC_FIFO_ENABLE_DMA 0x04 |
diff --git a/arch/powerpc/include/asm/mpic.h b/arch/powerpc/include/asm/mpic.h index 61913d9a21a0..e000cce8f6dd 100644 --- a/arch/powerpc/include/asm/mpic.h +++ b/arch/powerpc/include/asm/mpic.h | |||
@@ -463,9 +463,6 @@ extern void mpic_cpu_set_priority(int prio); | |||
463 | /* Request IPIs on primary mpic */ | 463 | /* Request IPIs on primary mpic */ |
464 | extern void mpic_request_ipis(void); | 464 | extern void mpic_request_ipis(void); |
465 | 465 | ||
466 | /* Send an IPI (non offseted number 0..3) */ | ||
467 | extern void mpic_send_ipi(unsigned int ipi_no, unsigned int cpu_mask); | ||
468 | |||
469 | /* Send a message (IPI) to a given target (cpu number or MSG_*) */ | 466 | /* Send a message (IPI) to a given target (cpu number or MSG_*) */ |
470 | void smp_mpic_message_pass(int target, int msg); | 467 | void smp_mpic_message_pass(int target, int msg); |
471 | 468 | ||
diff --git a/arch/powerpc/include/asm/of_device.h b/arch/powerpc/include/asm/of_device.h index a64debf177dc..444e97e2982e 100644 --- a/arch/powerpc/include/asm/of_device.h +++ b/arch/powerpc/include/asm/of_device.h | |||
@@ -12,9 +12,8 @@ | |||
12 | */ | 12 | */ |
13 | struct of_device | 13 | struct of_device |
14 | { | 14 | { |
15 | struct device_node *node; /* to be obsoleted */ | ||
16 | u64 dma_mask; /* DMA mask */ | ||
17 | struct device dev; /* Generic device interface */ | 15 | struct device dev; /* Generic device interface */ |
16 | struct pdev_archdata archdata; | ||
18 | }; | 17 | }; |
19 | 18 | ||
20 | extern struct of_device *of_device_alloc(struct device_node *np, | 19 | extern struct of_device *of_device_alloc(struct device_node *np, |
diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h index a011603d4079..8ce7963ad41d 100644 --- a/arch/powerpc/include/asm/paca.h +++ b/arch/powerpc/include/asm/paca.h | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <asm/page.h> | 23 | #include <asm/page.h> |
24 | #include <asm/exception-64e.h> | 24 | #include <asm/exception-64e.h> |
25 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER | 25 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER |
26 | #include <asm/kvm_book3s_64_asm.h> | 26 | #include <asm/kvm_book3s_asm.h> |
27 | #endif | 27 | #endif |
28 | 28 | ||
29 | register struct paca_struct *local_paca asm("r13"); | 29 | register struct paca_struct *local_paca asm("r13"); |
@@ -82,6 +82,7 @@ struct paca_struct { | |||
82 | s16 hw_cpu_id; /* Physical processor number */ | 82 | s16 hw_cpu_id; /* Physical processor number */ |
83 | u8 cpu_start; /* At startup, processor spins until */ | 83 | u8 cpu_start; /* At startup, processor spins until */ |
84 | /* this becomes non-zero. */ | 84 | /* this becomes non-zero. */ |
85 | u8 kexec_state; /* set when kexec down has irqs off */ | ||
85 | #ifdef CONFIG_PPC_STD_MMU_64 | 86 | #ifdef CONFIG_PPC_STD_MMU_64 |
86 | struct slb_shadow *slb_shadow_ptr; | 87 | struct slb_shadow *slb_shadow_ptr; |
87 | 88 | ||
@@ -136,15 +137,9 @@ struct paca_struct { | |||
136 | u64 startpurr; /* PURR/TB value snapshot */ | 137 | u64 startpurr; /* PURR/TB value snapshot */ |
137 | u64 startspurr; /* SPURR value snapshot */ | 138 | u64 startspurr; /* SPURR value snapshot */ |
138 | 139 | ||
139 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER | 140 | #ifdef CONFIG_KVM_BOOK3S_HANDLER |
140 | struct { | ||
141 | u64 esid; | ||
142 | u64 vsid; | ||
143 | } kvm_slb[64]; /* guest SLB */ | ||
144 | /* We use this to store guest state in */ | 141 | /* We use this to store guest state in */ |
145 | struct kvmppc_book3s_shadow_vcpu shadow_vcpu; | 142 | struct kvmppc_book3s_shadow_vcpu shadow_vcpu; |
146 | u8 kvm_slb_max; /* highest used guest slb entry */ | ||
147 | u8 kvm_in_guest; /* are we inside the guest? */ | ||
148 | #endif | 143 | #endif |
149 | }; | 144 | }; |
150 | 145 | ||
diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h index e96d52a516ba..53b64be40eb2 100644 --- a/arch/powerpc/include/asm/page.h +++ b/arch/powerpc/include/asm/page.h | |||
@@ -108,8 +108,21 @@ extern phys_addr_t kernstart_addr; | |||
108 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) | 108 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) |
109 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | 109 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) |
110 | 110 | ||
111 | #define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET - MEMORY_START)) | 111 | /* |
112 | * On Book-E parts we need __va to parse the device tree and we can't | ||
113 | * determine MEMORY_START until then. However we can determine PHYSICAL_START | ||
114 | * from information at hand (program counter, TLB lookup). | ||
115 | * | ||
116 | * On non-Book-E PPC64 PAGE_OFFSET and MEMORY_START are constants so use | ||
117 | * the other definitions for __va & __pa. | ||
118 | */ | ||
119 | #ifdef CONFIG_BOOKE | ||
120 | #define __va(x) ((void *)(unsigned long)((phys_addr_t)(x) - PHYSICAL_START + KERNELBASE)) | ||
121 | #define __pa(x) ((unsigned long)(x) + PHYSICAL_START - KERNELBASE) | ||
122 | #else | ||
123 | #define __va(x) ((void *)(unsigned long)((phys_addr_t)(x) + PAGE_OFFSET - MEMORY_START)) | ||
112 | #define __pa(x) ((unsigned long)(x) - PAGE_OFFSET + MEMORY_START) | 124 | #define __pa(x) ((unsigned long)(x) - PAGE_OFFSET + MEMORY_START) |
125 | #endif | ||
113 | 126 | ||
114 | /* | 127 | /* |
115 | * Unfortunately the PLT is in the BSS in the PPC32 ELF ABI, | 128 | * Unfortunately the PLT is in the BSS in the PPC32 ELF ABI, |
diff --git a/arch/powerpc/include/asm/page_64.h b/arch/powerpc/include/asm/page_64.h index bfc4e027e2ad..358ff14ea25e 100644 --- a/arch/powerpc/include/asm/page_64.h +++ b/arch/powerpc/include/asm/page_64.h | |||
@@ -162,14 +162,6 @@ do { \ | |||
162 | 162 | ||
163 | #endif /* !CONFIG_HUGETLB_PAGE */ | 163 | #endif /* !CONFIG_HUGETLB_PAGE */ |
164 | 164 | ||
165 | #ifdef MODULE | ||
166 | #define __page_aligned __attribute__((__aligned__(PAGE_SIZE))) | ||
167 | #else | ||
168 | #define __page_aligned \ | ||
169 | __attribute__((__aligned__(PAGE_SIZE), \ | ||
170 | __section__(".data.page_aligned"))) | ||
171 | #endif | ||
172 | |||
173 | #define VM_DATA_DEFAULT_FLAGS \ | 165 | #define VM_DATA_DEFAULT_FLAGS \ |
174 | (test_thread_flag(TIF_32BIT) ? \ | 166 | (test_thread_flag(TIF_32BIT) ? \ |
175 | VM_DATA_DEFAULT_FLAGS32 : VM_DATA_DEFAULT_FLAGS64) | 167 | VM_DATA_DEFAULT_FLAGS32 : VM_DATA_DEFAULT_FLAGS64) |
diff --git a/arch/powerpc/include/asm/parport.h b/arch/powerpc/include/asm/parport.h index 94942d60ddfd..1ca1102b4a2f 100644 --- a/arch/powerpc/include/asm/parport.h +++ b/arch/powerpc/include/asm/parport.h | |||
@@ -19,6 +19,8 @@ static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma) | |||
19 | u32 io1, io2; | 19 | u32 io1, io2; |
20 | int propsize; | 20 | int propsize; |
21 | int count = 0; | 21 | int count = 0; |
22 | int virq; | ||
23 | |||
22 | for (np = NULL; (np = of_find_compatible_node(np, | 24 | for (np = NULL; (np = of_find_compatible_node(np, |
23 | "parallel", | 25 | "parallel", |
24 | "pnpPNP,400")) != NULL;) { | 26 | "pnpPNP,400")) != NULL;) { |
@@ -26,10 +28,13 @@ static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma) | |||
26 | if (!prop || propsize > 6*sizeof(u32)) | 28 | if (!prop || propsize > 6*sizeof(u32)) |
27 | continue; | 29 | continue; |
28 | io1 = prop[1]; io2 = prop[2]; | 30 | io1 = prop[1]; io2 = prop[2]; |
29 | prop = of_get_property(np, "interrupts", NULL); | 31 | |
30 | if (!prop) | 32 | virq = irq_of_parse_and_map(np, 0); |
33 | if (virq == NO_IRQ) | ||
31 | continue; | 34 | continue; |
32 | if (parport_pc_probe_port(io1, io2, prop[0], autodma, NULL, 0) != NULL) | 35 | |
36 | if (parport_pc_probe_port(io1, io2, virq, autodma, NULL, 0) | ||
37 | != NULL) | ||
33 | count++; | 38 | count++; |
34 | } | 39 | } |
35 | return count; | 40 | return count; |
diff --git a/arch/powerpc/include/asm/pgalloc-64.h b/arch/powerpc/include/asm/pgalloc-64.h index 605f5c5398d1..292725cec2e3 100644 --- a/arch/powerpc/include/asm/pgalloc-64.h +++ b/arch/powerpc/include/asm/pgalloc-64.h | |||
@@ -11,6 +11,12 @@ | |||
11 | #include <linux/cpumask.h> | 11 | #include <linux/cpumask.h> |
12 | #include <linux/percpu.h> | 12 | #include <linux/percpu.h> |
13 | 13 | ||
14 | struct vmemmap_backing { | ||
15 | struct vmemmap_backing *list; | ||
16 | unsigned long phys; | ||
17 | unsigned long virt_addr; | ||
18 | }; | ||
19 | |||
14 | /* | 20 | /* |
15 | * Functions that deal with pagetables that could be at any level of | 21 | * Functions that deal with pagetables that could be at any level of |
16 | * the table need to be passed an "index_size" so they know how to | 22 | * the table need to be passed an "index_size" so they know how to |
diff --git a/arch/powerpc/include/asm/pgtable-ppc32.h b/arch/powerpc/include/asm/pgtable-ppc32.h index 55646adfa843..a7db96f2b5c3 100644 --- a/arch/powerpc/include/asm/pgtable-ppc32.h +++ b/arch/powerpc/include/asm/pgtable-ppc32.h | |||
@@ -287,7 +287,7 @@ static inline void __ptep_set_access_flags(pte_t *ptep, pte_t entry) | |||
287 | #define pmd_page_vaddr(pmd) \ | 287 | #define pmd_page_vaddr(pmd) \ |
288 | ((unsigned long) __va(pmd_val(pmd) & PAGE_MASK)) | 288 | ((unsigned long) __va(pmd_val(pmd) & PAGE_MASK)) |
289 | #define pmd_page(pmd) \ | 289 | #define pmd_page(pmd) \ |
290 | (mem_map + (pmd_val(pmd) >> PAGE_SHIFT)) | 290 | pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT) |
291 | #else | 291 | #else |
292 | #define pmd_page_vaddr(pmd) \ | 292 | #define pmd_page_vaddr(pmd) \ |
293 | ((unsigned long) (pmd_val(pmd) & PAGE_MASK)) | 293 | ((unsigned long) (pmd_val(pmd) & PAGE_MASK)) |
diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h index aea714797590..d553bbeb726c 100644 --- a/arch/powerpc/include/asm/ppc-opcode.h +++ b/arch/powerpc/include/asm/ppc-opcode.h | |||
@@ -25,7 +25,7 @@ | |||
25 | #define PPC_INST_LDARX 0x7c0000a8 | 25 | #define PPC_INST_LDARX 0x7c0000a8 |
26 | #define PPC_INST_LSWI 0x7c0004aa | 26 | #define PPC_INST_LSWI 0x7c0004aa |
27 | #define PPC_INST_LSWX 0x7c00042a | 27 | #define PPC_INST_LSWX 0x7c00042a |
28 | #define PPC_INST_LWARX 0x7c000029 | 28 | #define PPC_INST_LWARX 0x7c000028 |
29 | #define PPC_INST_LWSYNC 0x7c2004ac | 29 | #define PPC_INST_LWSYNC 0x7c2004ac |
30 | #define PPC_INST_LXVD2X 0x7c000698 | 30 | #define PPC_INST_LXVD2X 0x7c000698 |
31 | #define PPC_INST_MCRXR 0x7c000400 | 31 | #define PPC_INST_MCRXR 0x7c000400 |
@@ -62,8 +62,8 @@ | |||
62 | #define __PPC_T_TLB(t) (((t) & 0x3) << 21) | 62 | #define __PPC_T_TLB(t) (((t) & 0x3) << 21) |
63 | #define __PPC_WC(w) (((w) & 0x3) << 21) | 63 | #define __PPC_WC(w) (((w) & 0x3) << 21) |
64 | /* | 64 | /* |
65 | * Only use the larx hint bit on 64bit CPUs. Once we verify it doesn't have | 65 | * Only use the larx hint bit on 64bit CPUs. e500v1/v2 based CPUs will treat a |
66 | * any side effects on all 32bit processors, we can do this all the time. | 66 | * larx with EH set as an illegal instruction. |
67 | */ | 67 | */ |
68 | #ifdef CONFIG_PPC64 | 68 | #ifdef CONFIG_PPC64 |
69 | #define __PPC_EH(eh) (((eh) & 0x1) << 0) | 69 | #define __PPC_EH(eh) (((eh) & 0x1) << 0) |
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index 221ba6240464..7492fe8ad6e4 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h | |||
@@ -229,6 +229,9 @@ struct thread_struct { | |||
229 | unsigned long spefscr; /* SPE & eFP status */ | 229 | unsigned long spefscr; /* SPE & eFP status */ |
230 | int used_spe; /* set if process has used spe */ | 230 | int used_spe; /* set if process has used spe */ |
231 | #endif /* CONFIG_SPE */ | 231 | #endif /* CONFIG_SPE */ |
232 | #ifdef CONFIG_KVM_BOOK3S_32_HANDLER | ||
233 | void* kvm_shadow_vcpu; /* KVM internal data */ | ||
234 | #endif /* CONFIG_KVM_BOOK3S_32_HANDLER */ | ||
232 | }; | 235 | }; |
233 | 236 | ||
234 | #define ARCH_MIN_TASKALIGN 16 | 237 | #define ARCH_MIN_TASKALIGN 16 |
diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h index 9e2d84c06b74..0175a676b34b 100644 --- a/arch/powerpc/include/asm/ptrace.h +++ b/arch/powerpc/include/asm/ptrace.h | |||
@@ -24,11 +24,7 @@ | |||
24 | * 2 of the License, or (at your option) any later version. | 24 | * 2 of the License, or (at your option) any later version. |
25 | */ | 25 | */ |
26 | 26 | ||
27 | #ifdef __KERNEL__ | ||
28 | #include <linux/types.h> | 27 | #include <linux/types.h> |
29 | #else | ||
30 | #include <stdint.h> | ||
31 | #endif | ||
32 | 28 | ||
33 | #ifndef __ASSEMBLY__ | 29 | #ifndef __ASSEMBLY__ |
34 | 30 | ||
@@ -89,6 +85,7 @@ struct pt_regs { | |||
89 | 85 | ||
90 | #define instruction_pointer(regs) ((regs)->nip) | 86 | #define instruction_pointer(regs) ((regs)->nip) |
91 | #define user_stack_pointer(regs) ((regs)->gpr[1]) | 87 | #define user_stack_pointer(regs) ((regs)->gpr[1]) |
88 | #define kernel_stack_pointer(regs) ((regs)->gpr[1]) | ||
92 | #define regs_return_value(regs) ((regs)->gpr[3]) | 89 | #define regs_return_value(regs) ((regs)->gpr[3]) |
93 | 90 | ||
94 | #ifdef CONFIG_SMP | 91 | #ifdef CONFIG_SMP |
@@ -141,6 +138,69 @@ do { \ | |||
141 | #define arch_has_block_step() (!cpu_has_feature(CPU_FTR_601)) | 138 | #define arch_has_block_step() (!cpu_has_feature(CPU_FTR_601)) |
142 | #define ARCH_HAS_USER_SINGLE_STEP_INFO | 139 | #define ARCH_HAS_USER_SINGLE_STEP_INFO |
143 | 140 | ||
141 | /* | ||
142 | * kprobe-based event tracer support | ||
143 | */ | ||
144 | |||
145 | #include <linux/stddef.h> | ||
146 | #include <linux/thread_info.h> | ||
147 | extern int regs_query_register_offset(const char *name); | ||
148 | extern const char *regs_query_register_name(unsigned int offset); | ||
149 | #define MAX_REG_OFFSET (offsetof(struct pt_regs, dsisr)) | ||
150 | |||
151 | /** | ||
152 | * regs_get_register() - get register value from its offset | ||
153 | * @regs: pt_regs from which register value is gotten | ||
154 | * @offset: offset number of the register. | ||
155 | * | ||
156 | * regs_get_register returns the value of a register whose offset from @regs. | ||
157 | * The @offset is the offset of the register in struct pt_regs. | ||
158 | * If @offset is bigger than MAX_REG_OFFSET, this returns 0. | ||
159 | */ | ||
160 | static inline unsigned long regs_get_register(struct pt_regs *regs, | ||
161 | unsigned int offset) | ||
162 | { | ||
163 | if (unlikely(offset > MAX_REG_OFFSET)) | ||
164 | return 0; | ||
165 | return *(unsigned long *)((unsigned long)regs + offset); | ||
166 | } | ||
167 | |||
168 | /** | ||
169 | * regs_within_kernel_stack() - check the address in the stack | ||
170 | * @regs: pt_regs which contains kernel stack pointer. | ||
171 | * @addr: address which is checked. | ||
172 | * | ||
173 | * regs_within_kernel_stack() checks @addr is within the kernel stack page(s). | ||
174 | * If @addr is within the kernel stack, it returns true. If not, returns false. | ||
175 | */ | ||
176 | |||
177 | static inline bool regs_within_kernel_stack(struct pt_regs *regs, | ||
178 | unsigned long addr) | ||
179 | { | ||
180 | return ((addr & ~(THREAD_SIZE - 1)) == | ||
181 | (kernel_stack_pointer(regs) & ~(THREAD_SIZE - 1))); | ||
182 | } | ||
183 | |||
184 | /** | ||
185 | * regs_get_kernel_stack_nth() - get Nth entry of the stack | ||
186 | * @regs: pt_regs which contains kernel stack pointer. | ||
187 | * @n: stack entry number. | ||
188 | * | ||
189 | * regs_get_kernel_stack_nth() returns @n th entry of the kernel stack which | ||
190 | * is specified by @regs. If the @n th entry is NOT in the kernel stack, | ||
191 | * this returns 0. | ||
192 | */ | ||
193 | static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs, | ||
194 | unsigned int n) | ||
195 | { | ||
196 | unsigned long *addr = (unsigned long *)kernel_stack_pointer(regs); | ||
197 | addr += n; | ||
198 | if (regs_within_kernel_stack(regs, (unsigned long)addr)) | ||
199 | return *addr; | ||
200 | else | ||
201 | return 0; | ||
202 | } | ||
203 | |||
144 | #endif /* __ASSEMBLY__ */ | 204 | #endif /* __ASSEMBLY__ */ |
145 | 205 | ||
146 | #endif /* __KERNEL__ */ | 206 | #endif /* __KERNEL__ */ |
@@ -300,13 +360,13 @@ do { \ | |||
300 | #ifndef __ASSEMBLY__ | 360 | #ifndef __ASSEMBLY__ |
301 | 361 | ||
302 | struct ppc_debug_info { | 362 | struct ppc_debug_info { |
303 | uint32_t version; /* Only version 1 exists to date */ | 363 | __u32 version; /* Only version 1 exists to date */ |
304 | uint32_t num_instruction_bps; | 364 | __u32 num_instruction_bps; |
305 | uint32_t num_data_bps; | 365 | __u32 num_data_bps; |
306 | uint32_t num_condition_regs; | 366 | __u32 num_condition_regs; |
307 | uint32_t data_bp_alignment; | 367 | __u32 data_bp_alignment; |
308 | uint32_t sizeof_condition; /* size of the DVC register */ | 368 | __u32 sizeof_condition; /* size of the DVC register */ |
309 | uint64_t features; | 369 | __u64 features; |
310 | }; | 370 | }; |
311 | 371 | ||
312 | #endif /* __ASSEMBLY__ */ | 372 | #endif /* __ASSEMBLY__ */ |
@@ -322,13 +382,13 @@ struct ppc_debug_info { | |||
322 | #ifndef __ASSEMBLY__ | 382 | #ifndef __ASSEMBLY__ |
323 | 383 | ||
324 | struct ppc_hw_breakpoint { | 384 | struct ppc_hw_breakpoint { |
325 | uint32_t version; /* currently, version must be 1 */ | 385 | __u32 version; /* currently, version must be 1 */ |
326 | uint32_t trigger_type; /* only some combinations allowed */ | 386 | __u32 trigger_type; /* only some combinations allowed */ |
327 | uint32_t addr_mode; /* address match mode */ | 387 | __u32 addr_mode; /* address match mode */ |
328 | uint32_t condition_mode; /* break/watchpoint condition flags */ | 388 | __u32 condition_mode; /* break/watchpoint condition flags */ |
329 | uint64_t addr; /* break/watchpoint address */ | 389 | __u64 addr; /* break/watchpoint address */ |
330 | uint64_t addr2; /* range end or mask */ | 390 | __u64 addr2; /* range end or mask */ |
331 | uint64_t condition_value; /* contents of the DVC register */ | 391 | __u64 condition_value; /* contents of the DVC register */ |
332 | }; | 392 | }; |
333 | 393 | ||
334 | #endif /* __ASSEMBLY__ */ | 394 | #endif /* __ASSEMBLY__ */ |
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index 5572e86223f4..d62fdf4e504b 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h | |||
@@ -293,10 +293,12 @@ | |||
293 | #define HID1_ABE (1<<10) /* 7450 Address Broadcast Enable */ | 293 | #define HID1_ABE (1<<10) /* 7450 Address Broadcast Enable */ |
294 | #define HID1_PS (1<<16) /* 750FX PLL selection */ | 294 | #define HID1_PS (1<<16) /* 750FX PLL selection */ |
295 | #define SPRN_HID2 0x3F8 /* Hardware Implementation Register 2 */ | 295 | #define SPRN_HID2 0x3F8 /* Hardware Implementation Register 2 */ |
296 | #define SPRN_HID2_GEKKO 0x398 /* Gekko HID2 Register */ | ||
296 | #define SPRN_IABR 0x3F2 /* Instruction Address Breakpoint Register */ | 297 | #define SPRN_IABR 0x3F2 /* Instruction Address Breakpoint Register */ |
297 | #define SPRN_IABR2 0x3FA /* 83xx */ | 298 | #define SPRN_IABR2 0x3FA /* 83xx */ |
298 | #define SPRN_IBCR 0x135 /* 83xx Insn Breakpoint Control Reg */ | 299 | #define SPRN_IBCR 0x135 /* 83xx Insn Breakpoint Control Reg */ |
299 | #define SPRN_HID4 0x3F4 /* 970 HID4 */ | 300 | #define SPRN_HID4 0x3F4 /* 970 HID4 */ |
301 | #define SPRN_HID4_GEKKO 0x3F3 /* Gekko HID4 */ | ||
300 | #define SPRN_HID5 0x3F6 /* 970 HID5 */ | 302 | #define SPRN_HID5 0x3F6 /* 970 HID5 */ |
301 | #define SPRN_HID6 0x3F9 /* BE HID 6 */ | 303 | #define SPRN_HID6 0x3F9 /* BE HID 6 */ |
302 | #define HID6_LB (0x0F<<12) /* Concurrent Large Page Modes */ | 304 | #define HID6_LB (0x0F<<12) /* Concurrent Large Page Modes */ |
@@ -465,6 +467,14 @@ | |||
465 | #define SPRN_VRSAVE 0x100 /* Vector Register Save Register */ | 467 | #define SPRN_VRSAVE 0x100 /* Vector Register Save Register */ |
466 | #define SPRN_XER 0x001 /* Fixed Point Exception Register */ | 468 | #define SPRN_XER 0x001 /* Fixed Point Exception Register */ |
467 | 469 | ||
470 | #define SPRN_MMCR0_GEKKO 0x3B8 /* Gekko Monitor Mode Control Register 0 */ | ||
471 | #define SPRN_MMCR1_GEKKO 0x3BC /* Gekko Monitor Mode Control Register 1 */ | ||
472 | #define SPRN_PMC1_GEKKO 0x3B9 /* Gekko Performance Monitor Control 1 */ | ||
473 | #define SPRN_PMC2_GEKKO 0x3BA /* Gekko Performance Monitor Control 2 */ | ||
474 | #define SPRN_PMC3_GEKKO 0x3BD /* Gekko Performance Monitor Control 3 */ | ||
475 | #define SPRN_PMC4_GEKKO 0x3BE /* Gekko Performance Monitor Control 4 */ | ||
476 | #define SPRN_WPAR_GEKKO 0x399 /* Gekko Write Pipe Address Register */ | ||
477 | |||
468 | #define SPRN_SCOMC 0x114 /* SCOM Access Control */ | 478 | #define SPRN_SCOMC 0x114 /* SCOM Access Control */ |
469 | #define SPRN_SCOMD 0x115 /* SCOM Access DATA */ | 479 | #define SPRN_SCOMD 0x115 /* SCOM Access DATA */ |
470 | 480 | ||
@@ -817,6 +827,7 @@ | |||
817 | #define PVR_403GC 0x00200200 | 827 | #define PVR_403GC 0x00200200 |
818 | #define PVR_403GCX 0x00201400 | 828 | #define PVR_403GCX 0x00201400 |
819 | #define PVR_405GP 0x40110000 | 829 | #define PVR_405GP 0x40110000 |
830 | #define PVR_476 0x11a52000 | ||
820 | #define PVR_STB03XXX 0x40310000 | 831 | #define PVR_STB03XXX 0x40310000 |
821 | #define PVR_NP405H 0x41410000 | 832 | #define PVR_NP405H 0x41410000 |
822 | #define PVR_NP405L 0x41610000 | 833 | #define PVR_NP405L 0x41610000 |
@@ -853,6 +864,9 @@ | |||
853 | #define PVR_8245 0x80811014 | 864 | #define PVR_8245 0x80811014 |
854 | #define PVR_8260 PVR_8240 | 865 | #define PVR_8260 PVR_8240 |
855 | 866 | ||
867 | /* 476 Simulator seems to currently have the PVR of the 602... */ | ||
868 | #define PVR_476_ISS 0x00052000 | ||
869 | |||
856 | /* 64-bit processors */ | 870 | /* 64-bit processors */ |
857 | /* XXX the prefix should be PVR_, we'll do a global sweep to fix it one day */ | 871 | /* XXX the prefix should be PVR_, we'll do a global sweep to fix it one day */ |
858 | #define PV_NORTHSTAR 0x0033 | 872 | #define PV_NORTHSTAR 0x0033 |
diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h index 414d434a66d0..2360317179a9 100644 --- a/arch/powerpc/include/asm/reg_booke.h +++ b/arch/powerpc/include/asm/reg_booke.h | |||
@@ -4,6 +4,12 @@ | |||
4 | * are not true Book E PowerPCs, they borrowed a number of features | 4 | * are not true Book E PowerPCs, they borrowed a number of features |
5 | * before Book E was finalized, and are included here as well. Unfortunatly, | 5 | * before Book E was finalized, and are included here as well. Unfortunatly, |
6 | * they sometimes used different locations than true Book E CPUs did. | 6 | * they sometimes used different locations than true Book E CPUs did. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License version 2 | ||
10 | * as published by the Free Software Foundation. | ||
11 | * | ||
12 | * Copyright 2009-2010 Freescale Semiconductor, Inc. | ||
7 | */ | 13 | */ |
8 | #ifdef __KERNEL__ | 14 | #ifdef __KERNEL__ |
9 | #ifndef __ASM_POWERPC_REG_BOOKE_H__ | 15 | #ifndef __ASM_POWERPC_REG_BOOKE_H__ |
@@ -88,6 +94,7 @@ | |||
88 | #define SPRN_IVOR35 0x213 /* Interrupt Vector Offset Register 35 */ | 94 | #define SPRN_IVOR35 0x213 /* Interrupt Vector Offset Register 35 */ |
89 | #define SPRN_IVOR36 0x214 /* Interrupt Vector Offset Register 36 */ | 95 | #define SPRN_IVOR36 0x214 /* Interrupt Vector Offset Register 36 */ |
90 | #define SPRN_IVOR37 0x215 /* Interrupt Vector Offset Register 37 */ | 96 | #define SPRN_IVOR37 0x215 /* Interrupt Vector Offset Register 37 */ |
97 | #define SPRN_MCARU 0x239 /* Machine Check Address Register Upper */ | ||
91 | #define SPRN_MCSRR0 0x23A /* Machine Check Save and Restore Register 0 */ | 98 | #define SPRN_MCSRR0 0x23A /* Machine Check Save and Restore Register 0 */ |
92 | #define SPRN_MCSRR1 0x23B /* Machine Check Save and Restore Register 1 */ | 99 | #define SPRN_MCSRR1 0x23B /* Machine Check Save and Restore Register 1 */ |
93 | #define SPRN_MCSR 0x23C /* Machine Check Status Register */ | 100 | #define SPRN_MCSR 0x23C /* Machine Check Status Register */ |
@@ -191,9 +198,16 @@ | |||
191 | #define MCSR_DCFP 0x01000000 /* D-Cache Flush Parity Error */ | 198 | #define MCSR_DCFP 0x01000000 /* D-Cache Flush Parity Error */ |
192 | #define MCSR_IMPE 0x00800000 /* Imprecise Machine Check Exception */ | 199 | #define MCSR_IMPE 0x00800000 /* Imprecise Machine Check Exception */ |
193 | 200 | ||
201 | #define PPC47x_MCSR_GPR 0x01000000 /* GPR parity error */ | ||
202 | #define PPC47x_MCSR_FPR 0x00800000 /* FPR parity error */ | ||
203 | #define PPC47x_MCSR_IPR 0x00400000 /* Imprecise Machine Check Exception */ | ||
204 | |||
194 | #ifdef CONFIG_E500 | 205 | #ifdef CONFIG_E500 |
206 | /* All e500 */ | ||
195 | #define MCSR_MCP 0x80000000UL /* Machine Check Input Pin */ | 207 | #define MCSR_MCP 0x80000000UL /* Machine Check Input Pin */ |
196 | #define MCSR_ICPERR 0x40000000UL /* I-Cache Parity Error */ | 208 | #define MCSR_ICPERR 0x40000000UL /* I-Cache Parity Error */ |
209 | |||
210 | /* e500v1/v2 */ | ||
197 | #define MCSR_DCP_PERR 0x20000000UL /* D-Cache Push Parity Error */ | 211 | #define MCSR_DCP_PERR 0x20000000UL /* D-Cache Push Parity Error */ |
198 | #define MCSR_DCPERR 0x10000000UL /* D-Cache Parity Error */ | 212 | #define MCSR_DCPERR 0x10000000UL /* D-Cache Parity Error */ |
199 | #define MCSR_BUS_IAERR 0x00000080UL /* Instruction Address Error */ | 213 | #define MCSR_BUS_IAERR 0x00000080UL /* Instruction Address Error */ |
@@ -205,12 +219,20 @@ | |||
205 | #define MCSR_BUS_IPERR 0x00000002UL /* Instruction parity Error */ | 219 | #define MCSR_BUS_IPERR 0x00000002UL /* Instruction parity Error */ |
206 | #define MCSR_BUS_RPERR 0x00000001UL /* Read parity Error */ | 220 | #define MCSR_BUS_RPERR 0x00000001UL /* Read parity Error */ |
207 | 221 | ||
208 | /* e500 parts may set unused bits in MCSR; mask these off */ | 222 | /* e500mc */ |
209 | #define MCSR_MASK (MCSR_MCP | MCSR_ICPERR | MCSR_DCP_PERR | \ | 223 | #define MCSR_DCPERR_MC 0x20000000UL /* D-Cache Parity Error */ |
210 | MCSR_DCPERR | MCSR_BUS_IAERR | MCSR_BUS_RAERR | \ | 224 | #define MCSR_L2MMU_MHIT 0x04000000UL /* Hit on multiple TLB entries */ |
211 | MCSR_BUS_WAERR | MCSR_BUS_IBERR | MCSR_BUS_RBERR | \ | 225 | #define MCSR_NMI 0x00100000UL /* Non-Maskable Interrupt */ |
212 | MCSR_BUS_WBERR | MCSR_BUS_IPERR | MCSR_BUS_RPERR) | 226 | #define MCSR_MAV 0x00080000UL /* MCAR address valid */ |
227 | #define MCSR_MEA 0x00040000UL /* MCAR is effective address */ | ||
228 | #define MCSR_IF 0x00010000UL /* Instruction Fetch */ | ||
229 | #define MCSR_LD 0x00008000UL /* Load */ | ||
230 | #define MCSR_ST 0x00004000UL /* Store */ | ||
231 | #define MCSR_LDG 0x00002000UL /* Guarded Load */ | ||
232 | #define MCSR_TLBSYNC 0x00000002UL /* Multiple tlbsyncs detected */ | ||
233 | #define MCSR_BSL2_ERR 0x00000001UL /* Backside L2 cache error */ | ||
213 | #endif | 234 | #endif |
235 | |||
214 | #ifdef CONFIG_E200 | 236 | #ifdef CONFIG_E200 |
215 | #define MCSR_MCP 0x80000000UL /* Machine Check Input Pin */ | 237 | #define MCSR_MCP 0x80000000UL /* Machine Check Input Pin */ |
216 | #define MCSR_CP_PERR 0x20000000UL /* Cache Push Parity Error */ | 238 | #define MCSR_CP_PERR 0x20000000UL /* Cache Push Parity Error */ |
@@ -221,11 +243,6 @@ | |||
221 | #define MCSR_BUS_DRERR 0x00000008UL /* Read Bus Error on data load */ | 243 | #define MCSR_BUS_DRERR 0x00000008UL /* Read Bus Error on data load */ |
222 | #define MCSR_BUS_WRERR 0x00000004UL /* Write Bus Error on buffered | 244 | #define MCSR_BUS_WRERR 0x00000004UL /* Write Bus Error on buffered |
223 | store or cache line push */ | 245 | store or cache line push */ |
224 | |||
225 | /* e200 parts may set unused bits in MCSR; mask these off */ | ||
226 | #define MCSR_MASK (MCSR_MCP | MCSR_CP_PERR | MCSR_CPERR | \ | ||
227 | MCSR_EXCP_ERR | MCSR_BUS_IRERR | MCSR_BUS_DRERR | \ | ||
228 | MCSR_BUS_WRERR) | ||
229 | #endif | 246 | #endif |
230 | 247 | ||
231 | /* Bit definitions for the DBSR. */ | 248 | /* Bit definitions for the DBSR. */ |
@@ -604,5 +621,25 @@ | |||
604 | #define DBCR_JOI 0x00000002 /* JTAG Serial Outbound Int. Enable */ | 621 | #define DBCR_JOI 0x00000002 /* JTAG Serial Outbound Int. Enable */ |
605 | #define DBCR_JII 0x00000001 /* JTAG Serial Inbound Int. Enable */ | 622 | #define DBCR_JII 0x00000001 /* JTAG Serial Inbound Int. Enable */ |
606 | #endif /* 403GCX */ | 623 | #endif /* 403GCX */ |
624 | |||
625 | /* Some 476 specific registers */ | ||
626 | #define SPRN_SSPCR 830 | ||
627 | #define SPRN_USPCR 831 | ||
628 | #define SPRN_ISPCR 829 | ||
629 | #define SPRN_MMUBE0 820 | ||
630 | #define MMUBE0_IBE0_SHIFT 24 | ||
631 | #define MMUBE0_IBE1_SHIFT 16 | ||
632 | #define MMUBE0_IBE2_SHIFT 8 | ||
633 | #define MMUBE0_VBE0 0x00000004 | ||
634 | #define MMUBE0_VBE1 0x00000002 | ||
635 | #define MMUBE0_VBE2 0x00000001 | ||
636 | #define SPRN_MMUBE1 821 | ||
637 | #define MMUBE1_IBE3_SHIFT 24 | ||
638 | #define MMUBE1_IBE4_SHIFT 16 | ||
639 | #define MMUBE1_IBE5_SHIFT 8 | ||
640 | #define MMUBE1_VBE3 0x00000004 | ||
641 | #define MMUBE1_VBE4 0x00000002 | ||
642 | #define MMUBE1_VBE5 0x00000001 | ||
643 | |||
607 | #endif /* __ASM_POWERPC_REG_BOOKE_H__ */ | 644 | #endif /* __ASM_POWERPC_REG_BOOKE_H__ */ |
608 | #endif /* __KERNEL__ */ | 645 | #endif /* __KERNEL__ */ |
diff --git a/arch/powerpc/include/asm/scatterlist.h b/arch/powerpc/include/asm/scatterlist.h index 912bf597870f..34cc78fd0ef4 100644 --- a/arch/powerpc/include/asm/scatterlist.h +++ b/arch/powerpc/include/asm/scatterlist.h | |||
@@ -9,38 +9,12 @@ | |||
9 | * 2 of the License, or (at your option) any later version. | 9 | * 2 of the License, or (at your option) any later version. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #ifdef __KERNEL__ | ||
13 | #include <linux/types.h> | ||
14 | #include <asm/dma.h> | 12 | #include <asm/dma.h> |
15 | 13 | #include <asm-generic/scatterlist.h> | |
16 | struct scatterlist { | ||
17 | #ifdef CONFIG_DEBUG_SG | ||
18 | unsigned long sg_magic; | ||
19 | #endif | ||
20 | unsigned long page_link; | ||
21 | unsigned int offset; | ||
22 | unsigned int length; | ||
23 | |||
24 | /* For TCE or SWIOTLB support */ | ||
25 | dma_addr_t dma_address; | ||
26 | u32 dma_length; | ||
27 | }; | ||
28 | |||
29 | /* | ||
30 | * These macros should be used after a dma_map_sg call has been done | ||
31 | * to get bus addresses of each of the SG entries and their lengths. | ||
32 | * You should only work with the number of sg entries pci_map_sg | ||
33 | * returns, or alternatively stop on the first sg_dma_len(sg) which | ||
34 | * is 0. | ||
35 | */ | ||
36 | #define sg_dma_address(sg) ((sg)->dma_address) | ||
37 | #define sg_dma_len(sg) ((sg)->dma_length) | ||
38 | 14 | ||
39 | #ifdef __powerpc64__ | 15 | #ifdef __powerpc64__ |
40 | #define ISA_DMA_THRESHOLD (~0UL) | 16 | #define ISA_DMA_THRESHOLD (~0UL) |
41 | #endif | 17 | #endif |
42 | |||
43 | #define ARCH_HAS_SG_CHAIN | 18 | #define ARCH_HAS_SG_CHAIN |
44 | 19 | ||
45 | #endif /* __KERNEL__ */ | ||
46 | #endif /* _ASM_POWERPC_SCATTERLIST_H */ | 20 | #endif /* _ASM_POWERPC_SCATTERLIST_H */ |
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h index 1d3b270d3083..66e237bbe15f 100644 --- a/arch/powerpc/include/asm/smp.h +++ b/arch/powerpc/include/asm/smp.h | |||
@@ -40,7 +40,7 @@ extern void smp_message_recv(int); | |||
40 | DECLARE_PER_CPU(unsigned int, cpu_pvr); | 40 | DECLARE_PER_CPU(unsigned int, cpu_pvr); |
41 | 41 | ||
42 | #ifdef CONFIG_HOTPLUG_CPU | 42 | #ifdef CONFIG_HOTPLUG_CPU |
43 | extern void fixup_irqs(cpumask_t map); | 43 | extern void fixup_irqs(const struct cpumask *map); |
44 | int generic_cpu_disable(void); | 44 | int generic_cpu_disable(void); |
45 | int generic_cpu_enable(unsigned int cpu); | 45 | int generic_cpu_enable(unsigned int cpu); |
46 | void generic_cpu_die(unsigned int cpu); | 46 | void generic_cpu_die(unsigned int cpu); |
@@ -68,8 +68,19 @@ static inline void set_hard_smp_processor_id(int cpu, int phys) | |||
68 | } | 68 | } |
69 | #endif | 69 | #endif |
70 | 70 | ||
71 | DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); | 71 | DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_map); |
72 | DECLARE_PER_CPU(cpumask_t, cpu_core_map); | 72 | DECLARE_PER_CPU(cpumask_var_t, cpu_core_map); |
73 | |||
74 | static inline struct cpumask *cpu_sibling_mask(int cpu) | ||
75 | { | ||
76 | return per_cpu(cpu_sibling_map, cpu); | ||
77 | } | ||
78 | |||
79 | static inline struct cpumask *cpu_core_mask(int cpu) | ||
80 | { | ||
81 | return per_cpu(cpu_core_map, cpu); | ||
82 | } | ||
83 | |||
73 | extern int cpu_to_core_id(int cpu); | 84 | extern int cpu_to_core_id(int cpu); |
74 | 85 | ||
75 | /* Since OpenPIC has only 4 IPIs, we use slightly different message numbers. | 86 | /* Since OpenPIC has only 4 IPIs, we use slightly different message numbers. |
@@ -93,7 +104,6 @@ void smp_init_pSeries(void); | |||
93 | void smp_init_cell(void); | 104 | void smp_init_cell(void); |
94 | void smp_init_celleb(void); | 105 | void smp_init_celleb(void); |
95 | void smp_setup_cpu_maps(void); | 106 | void smp_setup_cpu_maps(void); |
96 | void smp_setup_cpu_sibling_map(void); | ||
97 | 107 | ||
98 | extern int __cpu_disable(void); | 108 | extern int __cpu_disable(void); |
99 | extern void __cpu_die(unsigned int cpu); | 109 | extern void __cpu_die(unsigned int cpu); |
diff --git a/arch/powerpc/include/asm/syscall.h b/arch/powerpc/include/asm/syscall.h index efa7f0b879f3..23913e902fc3 100644 --- a/arch/powerpc/include/asm/syscall.h +++ b/arch/powerpc/include/asm/syscall.h | |||
@@ -30,7 +30,7 @@ static inline void syscall_rollback(struct task_struct *task, | |||
30 | static inline long syscall_get_error(struct task_struct *task, | 30 | static inline long syscall_get_error(struct task_struct *task, |
31 | struct pt_regs *regs) | 31 | struct pt_regs *regs) |
32 | { | 32 | { |
33 | return (regs->ccr & 0x1000) ? -regs->gpr[3] : 0; | 33 | return (regs->ccr & 0x10000000) ? -regs->gpr[3] : 0; |
34 | } | 34 | } |
35 | 35 | ||
36 | static inline long syscall_get_return_value(struct task_struct *task, | 36 | static inline long syscall_get_return_value(struct task_struct *task, |
@@ -44,10 +44,10 @@ static inline void syscall_set_return_value(struct task_struct *task, | |||
44 | int error, long val) | 44 | int error, long val) |
45 | { | 45 | { |
46 | if (error) { | 46 | if (error) { |
47 | regs->ccr |= 0x1000L; | 47 | regs->ccr |= 0x10000000L; |
48 | regs->gpr[3] = -error; | 48 | regs->gpr[3] = -error; |
49 | } else { | 49 | } else { |
50 | regs->ccr &= ~0x1000L; | 50 | regs->ccr &= ~0x10000000L; |
51 | regs->gpr[3] = val; | 51 | regs->gpr[3] = val; |
52 | } | 52 | } |
53 | } | 53 | } |
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h index a6297c67c3d6..6c294acac848 100644 --- a/arch/powerpc/include/asm/system.h +++ b/arch/powerpc/include/asm/system.h | |||
@@ -515,11 +515,8 @@ __cmpxchg_local(volatile void *ptr, unsigned long old, unsigned long new, | |||
515 | * powers of 2 writes until it reaches sufficient alignment). | 515 | * powers of 2 writes until it reaches sufficient alignment). |
516 | * | 516 | * |
517 | * Based on this we disable the IP header alignment in network drivers. | 517 | * Based on this we disable the IP header alignment in network drivers. |
518 | * We also modify NET_SKB_PAD to be a cacheline in size, thus maintaining | ||
519 | * cacheline alignment of buffers. | ||
520 | */ | 518 | */ |
521 | #define NET_IP_ALIGN 0 | 519 | #define NET_IP_ALIGN 0 |
522 | #define NET_SKB_PAD L1_CACHE_BYTES | ||
523 | 520 | ||
524 | #define cmpxchg64(ptr, o, n) \ | 521 | #define cmpxchg64(ptr, o, n) \ |
525 | ({ \ | 522 | ({ \ |
diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/asm/thread_info.h index aa9d383a1c09..65eb85976a03 100644 --- a/arch/powerpc/include/asm/thread_info.h +++ b/arch/powerpc/include/asm/thread_info.h | |||
@@ -104,7 +104,7 @@ static inline struct thread_info *current_thread_info(void) | |||
104 | #define TIF_PERFMON_CTXSW 6 /* perfmon needs ctxsw calls */ | 104 | #define TIF_PERFMON_CTXSW 6 /* perfmon needs ctxsw calls */ |
105 | #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ | 105 | #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ |
106 | #define TIF_SINGLESTEP 8 /* singlestepping active */ | 106 | #define TIF_SINGLESTEP 8 /* singlestepping active */ |
107 | #define TIF_MEMDIE 9 | 107 | #define TIF_MEMDIE 9 /* is terminating due to OOM killer */ |
108 | #define TIF_SECCOMP 10 /* secure computing */ | 108 | #define TIF_SECCOMP 10 /* secure computing */ |
109 | #define TIF_RESTOREALL 11 /* Restore all regs (implies NOERROR) */ | 109 | #define TIF_RESTOREALL 11 /* Restore all regs (implies NOERROR) */ |
110 | #define TIF_NOERROR 12 /* Force successful syscall return */ | 110 | #define TIF_NOERROR 12 /* Force successful syscall return */ |
diff --git a/arch/powerpc/include/asm/topology.h b/arch/powerpc/include/asm/topology.h index 8eaec310a25b..32adf7280720 100644 --- a/arch/powerpc/include/asm/topology.h +++ b/arch/powerpc/include/asm/topology.h | |||
@@ -8,6 +8,26 @@ struct device_node; | |||
8 | 8 | ||
9 | #ifdef CONFIG_NUMA | 9 | #ifdef CONFIG_NUMA |
10 | 10 | ||
11 | /* | ||
12 | * Before going off node we want the VM to try and reclaim from the local | ||
13 | * node. It does this if the remote distance is larger than RECLAIM_DISTANCE. | ||
14 | * With the default REMOTE_DISTANCE of 20 and the default RECLAIM_DISTANCE of | ||
15 | * 20, we never reclaim and go off node straight away. | ||
16 | * | ||
17 | * To fix this we choose a smaller value of RECLAIM_DISTANCE. | ||
18 | */ | ||
19 | #define RECLAIM_DISTANCE 10 | ||
20 | |||
21 | /* | ||
22 | * Before going off node we want the VM to try and reclaim from the local | ||
23 | * node. It does this if the remote distance is larger than RECLAIM_DISTANCE. | ||
24 | * With the default REMOTE_DISTANCE of 20 and the default RECLAIM_DISTANCE of | ||
25 | * 20, we never reclaim and go off node straight away. | ||
26 | * | ||
27 | * To fix this we choose a smaller value of RECLAIM_DISTANCE. | ||
28 | */ | ||
29 | #define RECLAIM_DISTANCE 10 | ||
30 | |||
11 | #include <asm/mmzone.h> | 31 | #include <asm/mmzone.h> |
12 | 32 | ||
13 | static inline int cpu_to_node(int cpu) | 33 | static inline int cpu_to_node(int cpu) |
@@ -19,7 +39,7 @@ static inline int cpu_to_node(int cpu) | |||
19 | 39 | ||
20 | #define cpumask_of_node(node) ((node) == -1 ? \ | 40 | #define cpumask_of_node(node) ((node) == -1 ? \ |
21 | cpu_all_mask : \ | 41 | cpu_all_mask : \ |
22 | &numa_cpumask_lookup_table[node]) | 42 | node_to_cpumask_map[node]) |
23 | 43 | ||
24 | int of_node_to_nid(struct device_node *device); | 44 | int of_node_to_nid(struct device_node *device); |
25 | 45 | ||
@@ -102,8 +122,8 @@ static inline void sysfs_remove_device_from_node(struct sys_device *dev, | |||
102 | #ifdef CONFIG_PPC64 | 122 | #ifdef CONFIG_PPC64 |
103 | #include <asm/smp.h> | 123 | #include <asm/smp.h> |
104 | 124 | ||
105 | #define topology_thread_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu)) | 125 | #define topology_thread_cpumask(cpu) (per_cpu(cpu_sibling_map, cpu)) |
106 | #define topology_core_cpumask(cpu) (&per_cpu(cpu_core_map, cpu)) | 126 | #define topology_core_cpumask(cpu) (per_cpu(cpu_core_map, cpu)) |
107 | #define topology_core_id(cpu) (cpu_to_core_id(cpu)) | 127 | #define topology_core_id(cpu) (cpu_to_core_id(cpu)) |
108 | #endif | 128 | #endif |
109 | #endif | 129 | #endif |
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 877326320e74..58d0572de6f9 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile | |||
@@ -57,8 +57,12 @@ obj-$(CONFIG_CRASH_DUMP) += crash_dump.o | |||
57 | obj-$(CONFIG_E500) += idle_e500.o | 57 | obj-$(CONFIG_E500) += idle_e500.o |
58 | obj-$(CONFIG_6xx) += idle_6xx.o l2cr_6xx.o cpu_setup_6xx.o | 58 | obj-$(CONFIG_6xx) += idle_6xx.o l2cr_6xx.o cpu_setup_6xx.o |
59 | obj-$(CONFIG_TAU) += tau_6xx.o | 59 | obj-$(CONFIG_TAU) += tau_6xx.o |
60 | obj-$(CONFIG_HIBERNATION) += swsusp.o suspend.o \ | 60 | obj-$(CONFIG_HIBERNATION) += swsusp.o suspend.o |
61 | swsusp_$(CONFIG_WORD_SIZE).o | 61 | ifeq ($(CONFIG_FSL_BOOKE),y) |
62 | obj-$(CONFIG_HIBERNATION) += swsusp_booke.o | ||
63 | else | ||
64 | obj-$(CONFIG_HIBERNATION) += swsusp_$(CONFIG_WORD_SIZE).o | ||
65 | endif | ||
62 | obj64-$(CONFIG_HIBERNATION) += swsusp_asm64.o | 66 | obj64-$(CONFIG_HIBERNATION) += swsusp_asm64.o |
63 | obj-$(CONFIG_MODULES) += module.o module_$(CONFIG_WORD_SIZE).o | 67 | obj-$(CONFIG_MODULES) += module.o module_$(CONFIG_WORD_SIZE).o |
64 | obj-$(CONFIG_44x) += cpu_setup_44x.o | 68 | obj-$(CONFIG_44x) += cpu_setup_44x.o |
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c index 957ceb7059c5..496cc5b3984f 100644 --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c | |||
@@ -50,6 +50,9 @@ | |||
50 | #endif | 50 | #endif |
51 | #ifdef CONFIG_KVM | 51 | #ifdef CONFIG_KVM |
52 | #include <linux/kvm_host.h> | 52 | #include <linux/kvm_host.h> |
53 | #ifndef CONFIG_BOOKE | ||
54 | #include <asm/kvm_book3s.h> | ||
55 | #endif | ||
53 | #endif | 56 | #endif |
54 | 57 | ||
55 | #ifdef CONFIG_PPC32 | 58 | #ifdef CONFIG_PPC32 |
@@ -105,6 +108,9 @@ int main(void) | |||
105 | DEFINE(THREAD_USED_SPE, offsetof(struct thread_struct, used_spe)); | 108 | DEFINE(THREAD_USED_SPE, offsetof(struct thread_struct, used_spe)); |
106 | #endif /* CONFIG_SPE */ | 109 | #endif /* CONFIG_SPE */ |
107 | #endif /* CONFIG_PPC64 */ | 110 | #endif /* CONFIG_PPC64 */ |
111 | #ifdef CONFIG_KVM_BOOK3S_32_HANDLER | ||
112 | DEFINE(THREAD_KVM_SVCPU, offsetof(struct thread_struct, kvm_shadow_vcpu)); | ||
113 | #endif | ||
108 | 114 | ||
109 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); | 115 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); |
110 | DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags)); | 116 | DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags)); |
@@ -133,7 +139,6 @@ int main(void) | |||
133 | DEFINE(PACAKMSR, offsetof(struct paca_struct, kernel_msr)); | 139 | DEFINE(PACAKMSR, offsetof(struct paca_struct, kernel_msr)); |
134 | DEFINE(PACASOFTIRQEN, offsetof(struct paca_struct, soft_enabled)); | 140 | DEFINE(PACASOFTIRQEN, offsetof(struct paca_struct, soft_enabled)); |
135 | DEFINE(PACAHARDIRQEN, offsetof(struct paca_struct, hard_enabled)); | 141 | DEFINE(PACAHARDIRQEN, offsetof(struct paca_struct, hard_enabled)); |
136 | DEFINE(PACAPERFPEND, offsetof(struct paca_struct, perf_event_pending)); | ||
137 | DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id)); | 142 | DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id)); |
138 | #ifdef CONFIG_PPC_MM_SLICES | 143 | #ifdef CONFIG_PPC_MM_SLICES |
139 | DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct, | 144 | DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct, |
@@ -184,6 +189,7 @@ int main(void) | |||
184 | #endif /* CONFIG_PPC_STD_MMU_64 */ | 189 | #endif /* CONFIG_PPC_STD_MMU_64 */ |
185 | DEFINE(PACAEMERGSP, offsetof(struct paca_struct, emergency_sp)); | 190 | DEFINE(PACAEMERGSP, offsetof(struct paca_struct, emergency_sp)); |
186 | DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id)); | 191 | DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id)); |
192 | DEFINE(PACAKEXECSTATE, offsetof(struct paca_struct, kexec_state)); | ||
187 | DEFINE(PACA_STARTPURR, offsetof(struct paca_struct, startpurr)); | 193 | DEFINE(PACA_STARTPURR, offsetof(struct paca_struct, startpurr)); |
188 | DEFINE(PACA_STARTSPURR, offsetof(struct paca_struct, startspurr)); | 194 | DEFINE(PACA_STARTSPURR, offsetof(struct paca_struct, startspurr)); |
189 | DEFINE(PACA_USER_TIME, offsetof(struct paca_struct, user_time)); | 195 | DEFINE(PACA_USER_TIME, offsetof(struct paca_struct, user_time)); |
@@ -191,33 +197,9 @@ int main(void) | |||
191 | DEFINE(PACA_DATA_OFFSET, offsetof(struct paca_struct, data_offset)); | 197 | DEFINE(PACA_DATA_OFFSET, offsetof(struct paca_struct, data_offset)); |
192 | DEFINE(PACA_TRAP_SAVE, offsetof(struct paca_struct, trap_save)); | 198 | DEFINE(PACA_TRAP_SAVE, offsetof(struct paca_struct, trap_save)); |
193 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER | 199 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER |
194 | DEFINE(PACA_KVM_IN_GUEST, offsetof(struct paca_struct, kvm_in_guest)); | 200 | DEFINE(PACA_KVM_SVCPU, offsetof(struct paca_struct, shadow_vcpu)); |
195 | DEFINE(PACA_KVM_SLB, offsetof(struct paca_struct, kvm_slb)); | 201 | DEFINE(SVCPU_SLB, offsetof(struct kvmppc_book3s_shadow_vcpu, slb)); |
196 | DEFINE(PACA_KVM_SLB_MAX, offsetof(struct paca_struct, kvm_slb_max)); | 202 | DEFINE(SVCPU_SLB_MAX, offsetof(struct kvmppc_book3s_shadow_vcpu, slb_max)); |
197 | DEFINE(PACA_KVM_CR, offsetof(struct paca_struct, shadow_vcpu.cr)); | ||
198 | DEFINE(PACA_KVM_XER, offsetof(struct paca_struct, shadow_vcpu.xer)); | ||
199 | DEFINE(PACA_KVM_R0, offsetof(struct paca_struct, shadow_vcpu.gpr[0])); | ||
200 | DEFINE(PACA_KVM_R1, offsetof(struct paca_struct, shadow_vcpu.gpr[1])); | ||
201 | DEFINE(PACA_KVM_R2, offsetof(struct paca_struct, shadow_vcpu.gpr[2])); | ||
202 | DEFINE(PACA_KVM_R3, offsetof(struct paca_struct, shadow_vcpu.gpr[3])); | ||
203 | DEFINE(PACA_KVM_R4, offsetof(struct paca_struct, shadow_vcpu.gpr[4])); | ||
204 | DEFINE(PACA_KVM_R5, offsetof(struct paca_struct, shadow_vcpu.gpr[5])); | ||
205 | DEFINE(PACA_KVM_R6, offsetof(struct paca_struct, shadow_vcpu.gpr[6])); | ||
206 | DEFINE(PACA_KVM_R7, offsetof(struct paca_struct, shadow_vcpu.gpr[7])); | ||
207 | DEFINE(PACA_KVM_R8, offsetof(struct paca_struct, shadow_vcpu.gpr[8])); | ||
208 | DEFINE(PACA_KVM_R9, offsetof(struct paca_struct, shadow_vcpu.gpr[9])); | ||
209 | DEFINE(PACA_KVM_R10, offsetof(struct paca_struct, shadow_vcpu.gpr[10])); | ||
210 | DEFINE(PACA_KVM_R11, offsetof(struct paca_struct, shadow_vcpu.gpr[11])); | ||
211 | DEFINE(PACA_KVM_R12, offsetof(struct paca_struct, shadow_vcpu.gpr[12])); | ||
212 | DEFINE(PACA_KVM_R13, offsetof(struct paca_struct, shadow_vcpu.gpr[13])); | ||
213 | DEFINE(PACA_KVM_HOST_R1, offsetof(struct paca_struct, shadow_vcpu.host_r1)); | ||
214 | DEFINE(PACA_KVM_HOST_R2, offsetof(struct paca_struct, shadow_vcpu.host_r2)); | ||
215 | DEFINE(PACA_KVM_VMHANDLER, offsetof(struct paca_struct, | ||
216 | shadow_vcpu.vmhandler)); | ||
217 | DEFINE(PACA_KVM_SCRATCH0, offsetof(struct paca_struct, | ||
218 | shadow_vcpu.scratch0)); | ||
219 | DEFINE(PACA_KVM_SCRATCH1, offsetof(struct paca_struct, | ||
220 | shadow_vcpu.scratch1)); | ||
221 | #endif | 203 | #endif |
222 | #endif /* CONFIG_PPC64 */ | 204 | #endif /* CONFIG_PPC64 */ |
223 | 205 | ||
@@ -228,8 +210,8 @@ int main(void) | |||
228 | /* Interrupt register frame */ | 210 | /* Interrupt register frame */ |
229 | DEFINE(STACK_FRAME_OVERHEAD, STACK_FRAME_OVERHEAD); | 211 | DEFINE(STACK_FRAME_OVERHEAD, STACK_FRAME_OVERHEAD); |
230 | DEFINE(INT_FRAME_SIZE, STACK_INT_FRAME_SIZE); | 212 | DEFINE(INT_FRAME_SIZE, STACK_INT_FRAME_SIZE); |
231 | #ifdef CONFIG_PPC64 | ||
232 | DEFINE(SWITCH_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)); | 213 | DEFINE(SWITCH_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)); |
214 | #ifdef CONFIG_PPC64 | ||
233 | /* Create extra stack space for SRR0 and SRR1 when calling prom/rtas. */ | 215 | /* Create extra stack space for SRR0 and SRR1 when calling prom/rtas. */ |
234 | DEFINE(PROM_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16); | 216 | DEFINE(PROM_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16); |
235 | DEFINE(RTAS_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16); | 217 | DEFINE(RTAS_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16); |
@@ -412,9 +394,6 @@ int main(void) | |||
412 | DEFINE(VCPU_HOST_STACK, offsetof(struct kvm_vcpu, arch.host_stack)); | 394 | DEFINE(VCPU_HOST_STACK, offsetof(struct kvm_vcpu, arch.host_stack)); |
413 | DEFINE(VCPU_HOST_PID, offsetof(struct kvm_vcpu, arch.host_pid)); | 395 | DEFINE(VCPU_HOST_PID, offsetof(struct kvm_vcpu, arch.host_pid)); |
414 | DEFINE(VCPU_GPRS, offsetof(struct kvm_vcpu, arch.gpr)); | 396 | DEFINE(VCPU_GPRS, offsetof(struct kvm_vcpu, arch.gpr)); |
415 | DEFINE(VCPU_LR, offsetof(struct kvm_vcpu, arch.lr)); | ||
416 | DEFINE(VCPU_CTR, offsetof(struct kvm_vcpu, arch.ctr)); | ||
417 | DEFINE(VCPU_PC, offsetof(struct kvm_vcpu, arch.pc)); | ||
418 | DEFINE(VCPU_MSR, offsetof(struct kvm_vcpu, arch.msr)); | 397 | DEFINE(VCPU_MSR, offsetof(struct kvm_vcpu, arch.msr)); |
419 | DEFINE(VCPU_SPRG4, offsetof(struct kvm_vcpu, arch.sprg4)); | 398 | DEFINE(VCPU_SPRG4, offsetof(struct kvm_vcpu, arch.sprg4)); |
420 | DEFINE(VCPU_SPRG5, offsetof(struct kvm_vcpu, arch.sprg5)); | 399 | DEFINE(VCPU_SPRG5, offsetof(struct kvm_vcpu, arch.sprg5)); |
@@ -422,32 +401,81 @@ int main(void) | |||
422 | DEFINE(VCPU_SPRG7, offsetof(struct kvm_vcpu, arch.sprg7)); | 401 | DEFINE(VCPU_SPRG7, offsetof(struct kvm_vcpu, arch.sprg7)); |
423 | DEFINE(VCPU_SHADOW_PID, offsetof(struct kvm_vcpu, arch.shadow_pid)); | 402 | DEFINE(VCPU_SHADOW_PID, offsetof(struct kvm_vcpu, arch.shadow_pid)); |
424 | 403 | ||
425 | DEFINE(VCPU_LAST_INST, offsetof(struct kvm_vcpu, arch.last_inst)); | 404 | /* book3s */ |
426 | DEFINE(VCPU_FAULT_DEAR, offsetof(struct kvm_vcpu, arch.fault_dear)); | 405 | #ifdef CONFIG_PPC_BOOK3S |
427 | DEFINE(VCPU_FAULT_ESR, offsetof(struct kvm_vcpu, arch.fault_esr)); | ||
428 | |||
429 | /* book3s_64 */ | ||
430 | #ifdef CONFIG_PPC64 | ||
431 | DEFINE(VCPU_FAULT_DSISR, offsetof(struct kvm_vcpu, arch.fault_dsisr)); | ||
432 | DEFINE(VCPU_HOST_RETIP, offsetof(struct kvm_vcpu, arch.host_retip)); | 406 | DEFINE(VCPU_HOST_RETIP, offsetof(struct kvm_vcpu, arch.host_retip)); |
433 | DEFINE(VCPU_HOST_R2, offsetof(struct kvm_vcpu, arch.host_r2)); | ||
434 | DEFINE(VCPU_HOST_MSR, offsetof(struct kvm_vcpu, arch.host_msr)); | 407 | DEFINE(VCPU_HOST_MSR, offsetof(struct kvm_vcpu, arch.host_msr)); |
435 | DEFINE(VCPU_SHADOW_MSR, offsetof(struct kvm_vcpu, arch.shadow_msr)); | 408 | DEFINE(VCPU_SHADOW_MSR, offsetof(struct kvm_vcpu, arch.shadow_msr)); |
436 | DEFINE(VCPU_SHADOW_SRR1, offsetof(struct kvm_vcpu, arch.shadow_srr1)); | ||
437 | DEFINE(VCPU_TRAMPOLINE_LOWMEM, offsetof(struct kvm_vcpu, arch.trampoline_lowmem)); | 409 | DEFINE(VCPU_TRAMPOLINE_LOWMEM, offsetof(struct kvm_vcpu, arch.trampoline_lowmem)); |
438 | DEFINE(VCPU_TRAMPOLINE_ENTER, offsetof(struct kvm_vcpu, arch.trampoline_enter)); | 410 | DEFINE(VCPU_TRAMPOLINE_ENTER, offsetof(struct kvm_vcpu, arch.trampoline_enter)); |
439 | DEFINE(VCPU_HIGHMEM_HANDLER, offsetof(struct kvm_vcpu, arch.highmem_handler)); | 411 | DEFINE(VCPU_HIGHMEM_HANDLER, offsetof(struct kvm_vcpu, arch.highmem_handler)); |
440 | DEFINE(VCPU_RMCALL, offsetof(struct kvm_vcpu, arch.rmcall)); | 412 | DEFINE(VCPU_RMCALL, offsetof(struct kvm_vcpu, arch.rmcall)); |
441 | DEFINE(VCPU_HFLAGS, offsetof(struct kvm_vcpu, arch.hflags)); | 413 | DEFINE(VCPU_HFLAGS, offsetof(struct kvm_vcpu, arch.hflags)); |
414 | DEFINE(VCPU_SVCPU, offsetof(struct kvmppc_vcpu_book3s, shadow_vcpu) - | ||
415 | offsetof(struct kvmppc_vcpu_book3s, vcpu)); | ||
416 | DEFINE(SVCPU_CR, offsetof(struct kvmppc_book3s_shadow_vcpu, cr)); | ||
417 | DEFINE(SVCPU_XER, offsetof(struct kvmppc_book3s_shadow_vcpu, xer)); | ||
418 | DEFINE(SVCPU_CTR, offsetof(struct kvmppc_book3s_shadow_vcpu, ctr)); | ||
419 | DEFINE(SVCPU_LR, offsetof(struct kvmppc_book3s_shadow_vcpu, lr)); | ||
420 | DEFINE(SVCPU_PC, offsetof(struct kvmppc_book3s_shadow_vcpu, pc)); | ||
421 | DEFINE(SVCPU_R0, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[0])); | ||
422 | DEFINE(SVCPU_R1, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[1])); | ||
423 | DEFINE(SVCPU_R2, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[2])); | ||
424 | DEFINE(SVCPU_R3, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[3])); | ||
425 | DEFINE(SVCPU_R4, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[4])); | ||
426 | DEFINE(SVCPU_R5, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[5])); | ||
427 | DEFINE(SVCPU_R6, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[6])); | ||
428 | DEFINE(SVCPU_R7, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[7])); | ||
429 | DEFINE(SVCPU_R8, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[8])); | ||
430 | DEFINE(SVCPU_R9, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[9])); | ||
431 | DEFINE(SVCPU_R10, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[10])); | ||
432 | DEFINE(SVCPU_R11, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[11])); | ||
433 | DEFINE(SVCPU_R12, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[12])); | ||
434 | DEFINE(SVCPU_R13, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[13])); | ||
435 | DEFINE(SVCPU_HOST_R1, offsetof(struct kvmppc_book3s_shadow_vcpu, host_r1)); | ||
436 | DEFINE(SVCPU_HOST_R2, offsetof(struct kvmppc_book3s_shadow_vcpu, host_r2)); | ||
437 | DEFINE(SVCPU_VMHANDLER, offsetof(struct kvmppc_book3s_shadow_vcpu, | ||
438 | vmhandler)); | ||
439 | DEFINE(SVCPU_SCRATCH0, offsetof(struct kvmppc_book3s_shadow_vcpu, | ||
440 | scratch0)); | ||
441 | DEFINE(SVCPU_SCRATCH1, offsetof(struct kvmppc_book3s_shadow_vcpu, | ||
442 | scratch1)); | ||
443 | DEFINE(SVCPU_IN_GUEST, offsetof(struct kvmppc_book3s_shadow_vcpu, | ||
444 | in_guest)); | ||
445 | DEFINE(SVCPU_FAULT_DSISR, offsetof(struct kvmppc_book3s_shadow_vcpu, | ||
446 | fault_dsisr)); | ||
447 | DEFINE(SVCPU_FAULT_DAR, offsetof(struct kvmppc_book3s_shadow_vcpu, | ||
448 | fault_dar)); | ||
449 | DEFINE(SVCPU_LAST_INST, offsetof(struct kvmppc_book3s_shadow_vcpu, | ||
450 | last_inst)); | ||
451 | DEFINE(SVCPU_SHADOW_SRR1, offsetof(struct kvmppc_book3s_shadow_vcpu, | ||
452 | shadow_srr1)); | ||
453 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
454 | DEFINE(SVCPU_SR, offsetof(struct kvmppc_book3s_shadow_vcpu, sr)); | ||
455 | #endif | ||
442 | #else | 456 | #else |
443 | DEFINE(VCPU_CR, offsetof(struct kvm_vcpu, arch.cr)); | 457 | DEFINE(VCPU_CR, offsetof(struct kvm_vcpu, arch.cr)); |
444 | DEFINE(VCPU_XER, offsetof(struct kvm_vcpu, arch.xer)); | 458 | DEFINE(VCPU_XER, offsetof(struct kvm_vcpu, arch.xer)); |
445 | #endif /* CONFIG_PPC64 */ | 459 | DEFINE(VCPU_LR, offsetof(struct kvm_vcpu, arch.lr)); |
460 | DEFINE(VCPU_CTR, offsetof(struct kvm_vcpu, arch.ctr)); | ||
461 | DEFINE(VCPU_PC, offsetof(struct kvm_vcpu, arch.pc)); | ||
462 | DEFINE(VCPU_LAST_INST, offsetof(struct kvm_vcpu, arch.last_inst)); | ||
463 | DEFINE(VCPU_FAULT_DEAR, offsetof(struct kvm_vcpu, arch.fault_dear)); | ||
464 | DEFINE(VCPU_FAULT_ESR, offsetof(struct kvm_vcpu, arch.fault_esr)); | ||
465 | #endif /* CONFIG_PPC_BOOK3S */ | ||
446 | #endif | 466 | #endif |
447 | #ifdef CONFIG_44x | 467 | #ifdef CONFIG_44x |
448 | DEFINE(PGD_T_LOG2, PGD_T_LOG2); | 468 | DEFINE(PGD_T_LOG2, PGD_T_LOG2); |
449 | DEFINE(PTE_T_LOG2, PTE_T_LOG2); | 469 | DEFINE(PTE_T_LOG2, PTE_T_LOG2); |
450 | #endif | 470 | #endif |
471 | #ifdef CONFIG_FSL_BOOKE | ||
472 | DEFINE(TLBCAM_SIZE, sizeof(struct tlbcam)); | ||
473 | DEFINE(TLBCAM_MAS0, offsetof(struct tlbcam, MAS0)); | ||
474 | DEFINE(TLBCAM_MAS1, offsetof(struct tlbcam, MAS1)); | ||
475 | DEFINE(TLBCAM_MAS2, offsetof(struct tlbcam, MAS2)); | ||
476 | DEFINE(TLBCAM_MAS3, offsetof(struct tlbcam, MAS3)); | ||
477 | DEFINE(TLBCAM_MAS7, offsetof(struct tlbcam, MAS7)); | ||
478 | #endif | ||
451 | 479 | ||
452 | #ifdef CONFIG_KVM_EXIT_TIMING | 480 | #ifdef CONFIG_KVM_EXIT_TIMING |
453 | DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu, | 481 | DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu, |
diff --git a/arch/powerpc/kernel/btext.c b/arch/powerpc/kernel/btext.c index 26e58630ed7b..625942ae5585 100644 --- a/arch/powerpc/kernel/btext.c +++ b/arch/powerpc/kernel/btext.c | |||
@@ -7,7 +7,7 @@ | |||
7 | #include <linux/string.h> | 7 | #include <linux/string.h> |
8 | #include <linux/init.h> | 8 | #include <linux/init.h> |
9 | #include <linux/module.h> | 9 | #include <linux/module.h> |
10 | #include <linux/lmb.h> | 10 | #include <linux/memblock.h> |
11 | 11 | ||
12 | #include <asm/sections.h> | 12 | #include <asm/sections.h> |
13 | #include <asm/prom.h> | 13 | #include <asm/prom.h> |
diff --git a/arch/powerpc/kernel/cacheinfo.c b/arch/powerpc/kernel/cacheinfo.c index 01fe9ce28379..a3c684b4c862 100644 --- a/arch/powerpc/kernel/cacheinfo.c +++ b/arch/powerpc/kernel/cacheinfo.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/notifier.h> | 19 | #include <linux/notifier.h> |
20 | #include <linux/of.h> | 20 | #include <linux/of.h> |
21 | #include <linux/percpu.h> | 21 | #include <linux/percpu.h> |
22 | #include <linux/slab.h> | ||
22 | #include <asm/prom.h> | 23 | #include <asm/prom.h> |
23 | 24 | ||
24 | #include "cacheinfo.h" | 25 | #include "cacheinfo.h" |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 8af4949434b2..87aa0f3c6047 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -1701,6 +1701,35 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
1701 | .machine_check = machine_check_440A, | 1701 | .machine_check = machine_check_440A, |
1702 | .platform = "ppc440", | 1702 | .platform = "ppc440", |
1703 | }, | 1703 | }, |
1704 | { /* 476 core */ | ||
1705 | .pvr_mask = 0xffff0000, | ||
1706 | .pvr_value = 0x11a50000, | ||
1707 | .cpu_name = "476", | ||
1708 | .cpu_features = CPU_FTRS_47X, | ||
1709 | .cpu_user_features = COMMON_USER_BOOKE | | ||
1710 | PPC_FEATURE_HAS_FPU, | ||
1711 | .mmu_features = MMU_FTR_TYPE_47x | | ||
1712 | MMU_FTR_USE_TLBIVAX_BCAST | MMU_FTR_LOCK_BCAST_INVAL, | ||
1713 | .icache_bsize = 32, | ||
1714 | .dcache_bsize = 128, | ||
1715 | .machine_check = machine_check_47x, | ||
1716 | .platform = "ppc470", | ||
1717 | }, | ||
1718 | { /* 476 iss */ | ||
1719 | .pvr_mask = 0xffff0000, | ||
1720 | .pvr_value = 0x00050000, | ||
1721 | .cpu_name = "476", | ||
1722 | .cpu_features = CPU_FTRS_47X, | ||
1723 | .cpu_user_features = COMMON_USER_BOOKE | | ||
1724 | PPC_FEATURE_HAS_FPU, | ||
1725 | .cpu_user_features = COMMON_USER_BOOKE, | ||
1726 | .mmu_features = MMU_FTR_TYPE_47x | | ||
1727 | MMU_FTR_USE_TLBIVAX_BCAST | MMU_FTR_LOCK_BCAST_INVAL, | ||
1728 | .icache_bsize = 32, | ||
1729 | .dcache_bsize = 128, | ||
1730 | .machine_check = machine_check_47x, | ||
1731 | .platform = "ppc470", | ||
1732 | }, | ||
1704 | { /* default match */ | 1733 | { /* default match */ |
1705 | .pvr_mask = 0x00000000, | 1734 | .pvr_mask = 0x00000000, |
1706 | .pvr_value = 0x00000000, | 1735 | .pvr_value = 0x00000000, |
@@ -1811,7 +1840,7 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
1811 | .oprofile_cpu_type = "ppc/e500mc", | 1840 | .oprofile_cpu_type = "ppc/e500mc", |
1812 | .oprofile_type = PPC_OPROFILE_FSL_EMB, | 1841 | .oprofile_type = PPC_OPROFILE_FSL_EMB, |
1813 | .cpu_setup = __setup_cpu_e500mc, | 1842 | .cpu_setup = __setup_cpu_e500mc, |
1814 | .machine_check = machine_check_e500, | 1843 | .machine_check = machine_check_e500mc, |
1815 | .platform = "ppce500mc", | 1844 | .platform = "ppce500mc", |
1816 | }, | 1845 | }, |
1817 | { /* default match */ | 1846 | { /* default match */ |
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c index 6f4613dd05ef..417f7b05a9ce 100644 --- a/arch/powerpc/kernel/crash.c +++ b/arch/powerpc/kernel/crash.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/init.h> | 24 | #include <linux/init.h> |
25 | #include <linux/irq.h> | 25 | #include <linux/irq.h> |
26 | #include <linux/types.h> | 26 | #include <linux/types.h> |
27 | #include <linux/lmb.h> | 27 | #include <linux/memblock.h> |
28 | 28 | ||
29 | #include <asm/processor.h> | 29 | #include <asm/processor.h> |
30 | #include <asm/machdep.h> | 30 | #include <asm/machdep.h> |
@@ -162,6 +162,34 @@ static void crash_kexec_prepare_cpus(int cpu) | |||
162 | /* Leave the IPI callback set */ | 162 | /* Leave the IPI callback set */ |
163 | } | 163 | } |
164 | 164 | ||
165 | /* wait for all the CPUs to hit real mode but timeout if they don't come in */ | ||
166 | #ifdef CONFIG_PPC_STD_MMU_64 | ||
167 | static void crash_kexec_wait_realmode(int cpu) | ||
168 | { | ||
169 | unsigned int msecs; | ||
170 | int i; | ||
171 | |||
172 | msecs = 10000; | ||
173 | for (i=0; i < NR_CPUS && msecs > 0; i++) { | ||
174 | if (i == cpu) | ||
175 | continue; | ||
176 | |||
177 | while (paca[i].kexec_state < KEXEC_STATE_REAL_MODE) { | ||
178 | barrier(); | ||
179 | if (!cpu_possible(i)) { | ||
180 | break; | ||
181 | } | ||
182 | if (!cpu_online(i)) { | ||
183 | break; | ||
184 | } | ||
185 | msecs--; | ||
186 | mdelay(1); | ||
187 | } | ||
188 | } | ||
189 | mb(); | ||
190 | } | ||
191 | #endif | ||
192 | |||
165 | /* | 193 | /* |
166 | * This function will be called by secondary cpus or by kexec cpu | 194 | * This function will be called by secondary cpus or by kexec cpu |
167 | * if soft-reset is activated to stop some CPUs. | 195 | * if soft-reset is activated to stop some CPUs. |
@@ -347,10 +375,12 @@ int crash_shutdown_unregister(crash_shutdown_t handler) | |||
347 | EXPORT_SYMBOL(crash_shutdown_unregister); | 375 | EXPORT_SYMBOL(crash_shutdown_unregister); |
348 | 376 | ||
349 | static unsigned long crash_shutdown_buf[JMP_BUF_LEN]; | 377 | static unsigned long crash_shutdown_buf[JMP_BUF_LEN]; |
378 | static int crash_shutdown_cpu = -1; | ||
350 | 379 | ||
351 | static int handle_fault(struct pt_regs *regs) | 380 | static int handle_fault(struct pt_regs *regs) |
352 | { | 381 | { |
353 | longjmp(crash_shutdown_buf, 1); | 382 | if (crash_shutdown_cpu == smp_processor_id()) |
383 | longjmp(crash_shutdown_buf, 1); | ||
354 | return 0; | 384 | return 0; |
355 | } | 385 | } |
356 | 386 | ||
@@ -375,11 +405,14 @@ void default_machine_crash_shutdown(struct pt_regs *regs) | |||
375 | for_each_irq(i) { | 405 | for_each_irq(i) { |
376 | struct irq_desc *desc = irq_to_desc(i); | 406 | struct irq_desc *desc = irq_to_desc(i); |
377 | 407 | ||
408 | if (!desc || !desc->chip || !desc->chip->eoi) | ||
409 | continue; | ||
410 | |||
378 | if (desc->status & IRQ_INPROGRESS) | 411 | if (desc->status & IRQ_INPROGRESS) |
379 | desc->chip->eoi(i); | 412 | desc->chip->eoi(i); |
380 | 413 | ||
381 | if (!(desc->status & IRQ_DISABLED)) | 414 | if (!(desc->status & IRQ_DISABLED)) |
382 | desc->chip->disable(i); | 415 | desc->chip->shutdown(i); |
383 | } | 416 | } |
384 | 417 | ||
385 | /* | 418 | /* |
@@ -388,6 +421,7 @@ void default_machine_crash_shutdown(struct pt_regs *regs) | |||
388 | */ | 421 | */ |
389 | old_handler = __debugger_fault_handler; | 422 | old_handler = __debugger_fault_handler; |
390 | __debugger_fault_handler = handle_fault; | 423 | __debugger_fault_handler = handle_fault; |
424 | crash_shutdown_cpu = smp_processor_id(); | ||
391 | for (i = 0; crash_shutdown_handles[i]; i++) { | 425 | for (i = 0; crash_shutdown_handles[i]; i++) { |
392 | if (setjmp(crash_shutdown_buf) == 0) { | 426 | if (setjmp(crash_shutdown_buf) == 0) { |
393 | /* | 427 | /* |
@@ -401,6 +435,7 @@ void default_machine_crash_shutdown(struct pt_regs *regs) | |||
401 | asm volatile("sync; isync"); | 435 | asm volatile("sync; isync"); |
402 | } | 436 | } |
403 | } | 437 | } |
438 | crash_shutdown_cpu = -1; | ||
404 | __debugger_fault_handler = old_handler; | 439 | __debugger_fault_handler = old_handler; |
405 | 440 | ||
406 | /* | 441 | /* |
@@ -412,6 +447,9 @@ void default_machine_crash_shutdown(struct pt_regs *regs) | |||
412 | crash_kexec_prepare_cpus(crashing_cpu); | 447 | crash_kexec_prepare_cpus(crashing_cpu); |
413 | cpu_set(crashing_cpu, cpus_in_crash); | 448 | cpu_set(crashing_cpu, cpus_in_crash); |
414 | crash_kexec_stop_spus(); | 449 | crash_kexec_stop_spus(); |
450 | #if defined(CONFIG_PPC_STD_MMU_64) && defined(CONFIG_SMP) | ||
451 | crash_kexec_wait_realmode(crashing_cpu); | ||
452 | #endif | ||
415 | if (ppc_md.kexec_cpu_down) | 453 | if (ppc_md.kexec_cpu_down) |
416 | ppc_md.kexec_cpu_down(1, 0); | 454 | ppc_md.kexec_cpu_down(1, 0); |
417 | } | 455 | } |
diff --git a/arch/powerpc/kernel/crash_dump.c b/arch/powerpc/kernel/crash_dump.c index 5fb667a60894..40f524643ba6 100644 --- a/arch/powerpc/kernel/crash_dump.c +++ b/arch/powerpc/kernel/crash_dump.c | |||
@@ -13,7 +13,7 @@ | |||
13 | 13 | ||
14 | #include <linux/crash_dump.h> | 14 | #include <linux/crash_dump.h> |
15 | #include <linux/bootmem.h> | 15 | #include <linux/bootmem.h> |
16 | #include <linux/lmb.h> | 16 | #include <linux/memblock.h> |
17 | #include <asm/code-patching.h> | 17 | #include <asm/code-patching.h> |
18 | #include <asm/kdump.h> | 18 | #include <asm/kdump.h> |
19 | #include <asm/prom.h> | 19 | #include <asm/prom.h> |
@@ -33,7 +33,7 @@ unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; | |||
33 | #ifndef CONFIG_RELOCATABLE | 33 | #ifndef CONFIG_RELOCATABLE |
34 | void __init reserve_kdump_trampoline(void) | 34 | void __init reserve_kdump_trampoline(void) |
35 | { | 35 | { |
36 | lmb_reserve(0, KDUMP_RESERVE_LIMIT); | 36 | memblock_reserve(0, KDUMP_RESERVE_LIMIT); |
37 | } | 37 | } |
38 | 38 | ||
39 | static void __init create_trampoline(unsigned long addr) | 39 | static void __init create_trampoline(unsigned long addr) |
diff --git a/arch/powerpc/kernel/dma-swiotlb.c b/arch/powerpc/kernel/dma-swiotlb.c index 59c928564a03..02f724f36753 100644 --- a/arch/powerpc/kernel/dma-swiotlb.c +++ b/arch/powerpc/kernel/dma-swiotlb.c | |||
@@ -1,7 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * Contains routines needed to support swiotlb for ppc. | 2 | * Contains routines needed to support swiotlb for ppc. |
3 | * | 3 | * |
4 | * Copyright (C) 2009 Becky Bruce, Freescale Semiconductor | 4 | * Copyright (C) 2009-2010 Freescale Semiconductor, Inc. |
5 | * Author: Becky Bruce | ||
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 7 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms of the GNU General Public License as published by the | 8 | * under the terms of the GNU General Public License as published by the |
@@ -38,8 +39,8 @@ struct dma_map_ops swiotlb_dma_ops = { | |||
38 | .dma_supported = swiotlb_dma_supported, | 39 | .dma_supported = swiotlb_dma_supported, |
39 | .map_page = swiotlb_map_page, | 40 | .map_page = swiotlb_map_page, |
40 | .unmap_page = swiotlb_unmap_page, | 41 | .unmap_page = swiotlb_unmap_page, |
41 | .sync_single_range_for_cpu = swiotlb_sync_single_range_for_cpu, | 42 | .sync_single_for_cpu = swiotlb_sync_single_for_cpu, |
42 | .sync_single_range_for_device = swiotlb_sync_single_range_for_device, | 43 | .sync_single_for_device = swiotlb_sync_single_for_device, |
43 | .sync_sg_for_cpu = swiotlb_sync_sg_for_cpu, | 44 | .sync_sg_for_cpu = swiotlb_sync_sg_for_cpu, |
44 | .sync_sg_for_device = swiotlb_sync_sg_for_device, | 45 | .sync_sg_for_device = swiotlb_sync_sg_for_device, |
45 | .mapping_error = swiotlb_dma_mapping_error, | 46 | .mapping_error = swiotlb_dma_mapping_error, |
@@ -70,7 +71,7 @@ static int ppc_swiotlb_bus_notify(struct notifier_block *nb, | |||
70 | sd->max_direct_dma_addr = 0; | 71 | sd->max_direct_dma_addr = 0; |
71 | 72 | ||
72 | /* May need to bounce if the device can't address all of DRAM */ | 73 | /* May need to bounce if the device can't address all of DRAM */ |
73 | if (dma_get_mask(dev) < lmb_end_of_DRAM()) | 74 | if ((dma_get_mask(dev) + 1) < memblock_end_of_DRAM()) |
74 | set_dma_ops(dev, &swiotlb_dma_ops); | 75 | set_dma_ops(dev, &swiotlb_dma_ops); |
75 | 76 | ||
76 | return NOTIFY_DONE; | 77 | return NOTIFY_DONE; |
diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c index 6215062caf8c..84d6367ec003 100644 --- a/arch/powerpc/kernel/dma.c +++ b/arch/powerpc/kernel/dma.c | |||
@@ -8,7 +8,8 @@ | |||
8 | #include <linux/device.h> | 8 | #include <linux/device.h> |
9 | #include <linux/dma-mapping.h> | 9 | #include <linux/dma-mapping.h> |
10 | #include <linux/dma-debug.h> | 10 | #include <linux/dma-debug.h> |
11 | #include <linux/lmb.h> | 11 | #include <linux/gfp.h> |
12 | #include <linux/memblock.h> | ||
12 | #include <asm/bug.h> | 13 | #include <asm/bug.h> |
13 | #include <asm/abs_addr.h> | 14 | #include <asm/abs_addr.h> |
14 | 15 | ||
@@ -88,7 +89,7 @@ static int dma_direct_dma_supported(struct device *dev, u64 mask) | |||
88 | /* Could be improved so platforms can set the limit in case | 89 | /* Could be improved so platforms can set the limit in case |
89 | * they have limited DMA windows | 90 | * they have limited DMA windows |
90 | */ | 91 | */ |
91 | return mask >= (lmb_end_of_DRAM() - 1); | 92 | return mask >= (memblock_end_of_DRAM() - 1); |
92 | #else | 93 | #else |
93 | return 1; | 94 | return 1; |
94 | #endif | 95 | #endif |
@@ -126,11 +127,11 @@ static inline void dma_direct_sync_sg(struct device *dev, | |||
126 | __dma_sync_page(sg_page(sg), sg->offset, sg->length, direction); | 127 | __dma_sync_page(sg_page(sg), sg->offset, sg->length, direction); |
127 | } | 128 | } |
128 | 129 | ||
129 | static inline void dma_direct_sync_single_range(struct device *dev, | 130 | static inline void dma_direct_sync_single(struct device *dev, |
130 | dma_addr_t dma_handle, unsigned long offset, size_t size, | 131 | dma_addr_t dma_handle, size_t size, |
131 | enum dma_data_direction direction) | 132 | enum dma_data_direction direction) |
132 | { | 133 | { |
133 | __dma_sync(bus_to_virt(dma_handle+offset), size, direction); | 134 | __dma_sync(bus_to_virt(dma_handle), size, direction); |
134 | } | 135 | } |
135 | #endif | 136 | #endif |
136 | 137 | ||
@@ -143,8 +144,8 @@ struct dma_map_ops dma_direct_ops = { | |||
143 | .map_page = dma_direct_map_page, | 144 | .map_page = dma_direct_map_page, |
144 | .unmap_page = dma_direct_unmap_page, | 145 | .unmap_page = dma_direct_unmap_page, |
145 | #ifdef CONFIG_NOT_COHERENT_CACHE | 146 | #ifdef CONFIG_NOT_COHERENT_CACHE |
146 | .sync_single_range_for_cpu = dma_direct_sync_single_range, | 147 | .sync_single_for_cpu = dma_direct_sync_single, |
147 | .sync_single_range_for_device = dma_direct_sync_single_range, | 148 | .sync_single_for_device = dma_direct_sync_single, |
148 | .sync_sg_for_cpu = dma_direct_sync_sg, | 149 | .sync_sg_for_cpu = dma_direct_sync_sg, |
149 | .sync_sg_for_device = dma_direct_sync_sg, | 150 | .sync_sg_for_device = dma_direct_sync_sg, |
150 | #endif | 151 | #endif |
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S index 1175a8539e6c..ed4aeb96398b 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S | |||
@@ -373,11 +373,13 @@ syscall_exit_cont: | |||
373 | bnel- load_dbcr0 | 373 | bnel- load_dbcr0 |
374 | #endif | 374 | #endif |
375 | #ifdef CONFIG_44x | 375 | #ifdef CONFIG_44x |
376 | BEGIN_MMU_FTR_SECTION | ||
376 | lis r4,icache_44x_need_flush@ha | 377 | lis r4,icache_44x_need_flush@ha |
377 | lwz r5,icache_44x_need_flush@l(r4) | 378 | lwz r5,icache_44x_need_flush@l(r4) |
378 | cmplwi cr0,r5,0 | 379 | cmplwi cr0,r5,0 |
379 | bne- 2f | 380 | bne- 2f |
380 | 1: | 381 | 1: |
382 | END_MMU_FTR_SECTION_IFCLR(MMU_FTR_TYPE_47x) | ||
381 | #endif /* CONFIG_44x */ | 383 | #endif /* CONFIG_44x */ |
382 | BEGIN_FTR_SECTION | 384 | BEGIN_FTR_SECTION |
383 | lwarx r7,0,r1 | 385 | lwarx r7,0,r1 |
@@ -848,6 +850,9 @@ resume_kernel: | |||
848 | /* interrupts are hard-disabled at this point */ | 850 | /* interrupts are hard-disabled at this point */ |
849 | restore: | 851 | restore: |
850 | #ifdef CONFIG_44x | 852 | #ifdef CONFIG_44x |
853 | BEGIN_MMU_FTR_SECTION | ||
854 | b 1f | ||
855 | END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_47x) | ||
851 | lis r4,icache_44x_need_flush@ha | 856 | lis r4,icache_44x_need_flush@ha |
852 | lwz r5,icache_44x_need_flush@l(r4) | 857 | lwz r5,icache_44x_need_flush@l(r4) |
853 | cmplwi cr0,r5,0 | 858 | cmplwi cr0,r5,0 |
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index 07109d843787..42e9d908914a 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S | |||
@@ -556,15 +556,6 @@ ALT_FW_FTR_SECTION_END_IFCLR(FW_FEATURE_ISERIES) | |||
556 | 2: | 556 | 2: |
557 | TRACE_AND_RESTORE_IRQ(r5); | 557 | TRACE_AND_RESTORE_IRQ(r5); |
558 | 558 | ||
559 | #ifdef CONFIG_PERF_EVENTS | ||
560 | /* check paca->perf_event_pending if we're enabling ints */ | ||
561 | lbz r3,PACAPERFPEND(r13) | ||
562 | and. r3,r3,r5 | ||
563 | beq 27f | ||
564 | bl .perf_event_do_pending | ||
565 | 27: | ||
566 | #endif /* CONFIG_PERF_EVENTS */ | ||
567 | |||
568 | /* extract EE bit and use it to restore paca->hard_enabled */ | 559 | /* extract EE bit and use it to restore paca->hard_enabled */ |
569 | ld r3,_MSR(r1) | 560 | ld r3,_MSR(r1) |
570 | rldicl r4,r3,49,63 /* r0 = (r3 >> 15) & 1 */ | 561 | rldicl r4,r3,49,63 /* r0 = (r3 >> 15) & 1 */ |
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index e3be98ffe2a7..3e423fbad6bc 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S | |||
@@ -735,8 +735,11 @@ _STATIC(do_hash_page) | |||
735 | std r3,_DAR(r1) | 735 | std r3,_DAR(r1) |
736 | std r4,_DSISR(r1) | 736 | std r4,_DSISR(r1) |
737 | 737 | ||
738 | andis. r0,r4,0xa450 /* weird error? */ | 738 | andis. r0,r4,0xa410 /* weird error? */ |
739 | bne- handle_page_fault /* if not, try to insert a HPTE */ | 739 | bne- handle_page_fault /* if not, try to insert a HPTE */ |
740 | andis. r0,r4,DSISR_DABRMATCH@h | ||
741 | bne- handle_dabr_fault | ||
742 | |||
740 | BEGIN_FTR_SECTION | 743 | BEGIN_FTR_SECTION |
741 | andis. r0,r4,0x0020 /* Is it a segment table fault? */ | 744 | andis. r0,r4,0x0020 /* Is it a segment table fault? */ |
742 | bne- do_ste_alloc /* If so handle it */ | 745 | bne- do_ste_alloc /* If so handle it */ |
@@ -823,6 +826,14 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES) | |||
823 | bl .raw_local_irq_restore | 826 | bl .raw_local_irq_restore |
824 | b 11f | 827 | b 11f |
825 | 828 | ||
829 | /* We have a data breakpoint exception - handle it */ | ||
830 | handle_dabr_fault: | ||
831 | ld r4,_DAR(r1) | ||
832 | ld r5,_DSISR(r1) | ||
833 | addi r3,r1,STACK_FRAME_OVERHEAD | ||
834 | bl .do_dabr | ||
835 | b .ret_from_except_lite | ||
836 | |||
826 | /* Here we have a page fault that hash_page can't handle. */ | 837 | /* Here we have a page fault that hash_page can't handle. */ |
827 | handle_page_fault: | 838 | handle_page_fault: |
828 | ENABLE_INTS | 839 | ENABLE_INTS |
diff --git a/arch/powerpc/kernel/fsl_booke_entry_mapping.S b/arch/powerpc/kernel/fsl_booke_entry_mapping.S new file mode 100644 index 000000000000..a92c79be2728 --- /dev/null +++ b/arch/powerpc/kernel/fsl_booke_entry_mapping.S | |||
@@ -0,0 +1,235 @@ | |||
1 | |||
2 | /* 1. Find the index of the entry we're executing in */ | ||
3 | bl invstr /* Find our address */ | ||
4 | invstr: mflr r6 /* Make it accessible */ | ||
5 | mfmsr r7 | ||
6 | rlwinm r4,r7,27,31,31 /* extract MSR[IS] */ | ||
7 | mfspr r7, SPRN_PID0 | ||
8 | slwi r7,r7,16 | ||
9 | or r7,r7,r4 | ||
10 | mtspr SPRN_MAS6,r7 | ||
11 | tlbsx 0,r6 /* search MSR[IS], SPID=PID0 */ | ||
12 | mfspr r7,SPRN_MAS1 | ||
13 | andis. r7,r7,MAS1_VALID@h | ||
14 | bne match_TLB | ||
15 | |||
16 | mfspr r7,SPRN_MMUCFG | ||
17 | rlwinm r7,r7,21,28,31 /* extract MMUCFG[NPIDS] */ | ||
18 | cmpwi r7,3 | ||
19 | bne match_TLB /* skip if NPIDS != 3 */ | ||
20 | |||
21 | mfspr r7,SPRN_PID1 | ||
22 | slwi r7,r7,16 | ||
23 | or r7,r7,r4 | ||
24 | mtspr SPRN_MAS6,r7 | ||
25 | tlbsx 0,r6 /* search MSR[IS], SPID=PID1 */ | ||
26 | mfspr r7,SPRN_MAS1 | ||
27 | andis. r7,r7,MAS1_VALID@h | ||
28 | bne match_TLB | ||
29 | mfspr r7, SPRN_PID2 | ||
30 | slwi r7,r7,16 | ||
31 | or r7,r7,r4 | ||
32 | mtspr SPRN_MAS6,r7 | ||
33 | tlbsx 0,r6 /* Fall through, we had to match */ | ||
34 | |||
35 | match_TLB: | ||
36 | mfspr r7,SPRN_MAS0 | ||
37 | rlwinm r3,r7,16,20,31 /* Extract MAS0(Entry) */ | ||
38 | |||
39 | mfspr r7,SPRN_MAS1 /* Insure IPROT set */ | ||
40 | oris r7,r7,MAS1_IPROT@h | ||
41 | mtspr SPRN_MAS1,r7 | ||
42 | tlbwe | ||
43 | |||
44 | /* 2. Invalidate all entries except the entry we're executing in */ | ||
45 | mfspr r9,SPRN_TLB1CFG | ||
46 | andi. r9,r9,0xfff | ||
47 | li r6,0 /* Set Entry counter to 0 */ | ||
48 | 1: lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
49 | rlwimi r7,r6,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r6) */ | ||
50 | mtspr SPRN_MAS0,r7 | ||
51 | tlbre | ||
52 | mfspr r7,SPRN_MAS1 | ||
53 | rlwinm r7,r7,0,2,31 /* Clear MAS1 Valid and IPROT */ | ||
54 | cmpw r3,r6 | ||
55 | beq skpinv /* Dont update the current execution TLB */ | ||
56 | mtspr SPRN_MAS1,r7 | ||
57 | tlbwe | ||
58 | isync | ||
59 | skpinv: addi r6,r6,1 /* Increment */ | ||
60 | cmpw r6,r9 /* Are we done? */ | ||
61 | bne 1b /* If not, repeat */ | ||
62 | |||
63 | /* Invalidate TLB0 */ | ||
64 | li r6,0x04 | ||
65 | tlbivax 0,r6 | ||
66 | TLBSYNC | ||
67 | /* Invalidate TLB1 */ | ||
68 | li r6,0x0c | ||
69 | tlbivax 0,r6 | ||
70 | TLBSYNC | ||
71 | |||
72 | /* 3. Setup a temp mapping and jump to it */ | ||
73 | andi. r5, r3, 0x1 /* Find an entry not used and is non-zero */ | ||
74 | addi r5, r5, 0x1 | ||
75 | lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
76 | rlwimi r7,r3,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r3) */ | ||
77 | mtspr SPRN_MAS0,r7 | ||
78 | tlbre | ||
79 | |||
80 | /* grab and fixup the RPN */ | ||
81 | mfspr r6,SPRN_MAS1 /* extract MAS1[SIZE] */ | ||
82 | rlwinm r6,r6,25,27,31 | ||
83 | li r8,-1 | ||
84 | addi r6,r6,10 | ||
85 | slw r6,r8,r6 /* convert to mask */ | ||
86 | |||
87 | bl 1f /* Find our address */ | ||
88 | 1: mflr r7 | ||
89 | |||
90 | mfspr r8,SPRN_MAS3 | ||
91 | #ifdef CONFIG_PHYS_64BIT | ||
92 | mfspr r23,SPRN_MAS7 | ||
93 | #endif | ||
94 | and r8,r6,r8 | ||
95 | subfic r9,r6,-4096 | ||
96 | and r9,r9,r7 | ||
97 | |||
98 | or r25,r8,r9 | ||
99 | ori r8,r25,(MAS3_SX|MAS3_SW|MAS3_SR) | ||
100 | |||
101 | /* Just modify the entry ID and EPN for the temp mapping */ | ||
102 | lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
103 | rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */ | ||
104 | mtspr SPRN_MAS0,r7 | ||
105 | xori r6,r4,1 /* Setup TMP mapping in the other Address space */ | ||
106 | slwi r6,r6,12 | ||
107 | oris r6,r6,(MAS1_VALID|MAS1_IPROT)@h | ||
108 | ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_4K))@l | ||
109 | mtspr SPRN_MAS1,r6 | ||
110 | mfspr r6,SPRN_MAS2 | ||
111 | li r7,0 /* temp EPN = 0 */ | ||
112 | rlwimi r7,r6,0,20,31 | ||
113 | mtspr SPRN_MAS2,r7 | ||
114 | mtspr SPRN_MAS3,r8 | ||
115 | tlbwe | ||
116 | |||
117 | xori r6,r4,1 | ||
118 | slwi r6,r6,5 /* setup new context with other address space */ | ||
119 | bl 1f /* Find our address */ | ||
120 | 1: mflr r9 | ||
121 | rlwimi r7,r9,0,20,31 | ||
122 | addi r7,r7,(2f - 1b) | ||
123 | mtspr SPRN_SRR0,r7 | ||
124 | mtspr SPRN_SRR1,r6 | ||
125 | rfi | ||
126 | 2: | ||
127 | /* 4. Clear out PIDs & Search info */ | ||
128 | li r6,0 | ||
129 | mtspr SPRN_MAS6,r6 | ||
130 | mtspr SPRN_PID0,r6 | ||
131 | |||
132 | mfspr r7,SPRN_MMUCFG | ||
133 | rlwinm r7,r7,21,28,31 /* extract MMUCFG[NPIDS] */ | ||
134 | cmpwi r7,3 | ||
135 | bne 2f /* skip if NPIDS != 3 */ | ||
136 | |||
137 | mtspr SPRN_PID1,r6 | ||
138 | mtspr SPRN_PID2,r6 | ||
139 | |||
140 | /* 5. Invalidate mapping we started in */ | ||
141 | 2: | ||
142 | lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
143 | rlwimi r7,r3,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r3) */ | ||
144 | mtspr SPRN_MAS0,r7 | ||
145 | tlbre | ||
146 | mfspr r6,SPRN_MAS1 | ||
147 | rlwinm r6,r6,0,2,0 /* clear IPROT */ | ||
148 | mtspr SPRN_MAS1,r6 | ||
149 | tlbwe | ||
150 | /* Invalidate TLB1 */ | ||
151 | li r9,0x0c | ||
152 | tlbivax 0,r9 | ||
153 | TLBSYNC | ||
154 | |||
155 | /* The mapping only needs to be cache-coherent on SMP */ | ||
156 | #ifdef CONFIG_SMP | ||
157 | #define M_IF_SMP MAS2_M | ||
158 | #else | ||
159 | #define M_IF_SMP 0 | ||
160 | #endif | ||
161 | |||
162 | #if defined(ENTRY_MAPPING_BOOT_SETUP) | ||
163 | |||
164 | /* 6. Setup KERNELBASE mapping in TLB1[0] */ | ||
165 | lis r6,0x1000 /* Set MAS0(TLBSEL) = TLB1(1), ESEL = 0 */ | ||
166 | mtspr SPRN_MAS0,r6 | ||
167 | lis r6,(MAS1_VALID|MAS1_IPROT)@h | ||
168 | ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_64M))@l | ||
169 | mtspr SPRN_MAS1,r6 | ||
170 | lis r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@h | ||
171 | ori r6,r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@l | ||
172 | mtspr SPRN_MAS2,r6 | ||
173 | mtspr SPRN_MAS3,r8 | ||
174 | tlbwe | ||
175 | |||
176 | /* 7. Jump to KERNELBASE mapping */ | ||
177 | lis r6,(KERNELBASE & ~0xfff)@h | ||
178 | ori r6,r6,(KERNELBASE & ~0xfff)@l | ||
179 | |||
180 | #elif defined(ENTRY_MAPPING_KEXEC_SETUP) | ||
181 | /* | ||
182 | * 6. Setup a 1:1 mapping in TLB1. Esel 0 is unsued, 1 or 2 contains the tmp | ||
183 | * mapping so we start at 3. We setup 8 mappings, each 256MiB in size. This | ||
184 | * will cover the first 2GiB of memory. | ||
185 | */ | ||
186 | |||
187 | lis r10, (MAS1_VALID|MAS1_IPROT)@h | ||
188 | ori r10,r10, (MAS1_TSIZE(BOOK3E_PAGESZ_256M))@l | ||
189 | li r11, 0 | ||
190 | li r0, 8 | ||
191 | mtctr r0 | ||
192 | |||
193 | next_tlb_setup: | ||
194 | addi r0, r11, 3 | ||
195 | rlwinm r0, r0, 16, 4, 15 // Compute esel | ||
196 | rlwinm r9, r11, 28, 0, 3 // Compute [ER]PN | ||
197 | oris r0, r0, (MAS0_TLBSEL(1))@h | ||
198 | mtspr SPRN_MAS0,r0 | ||
199 | mtspr SPRN_MAS1,r10 | ||
200 | mtspr SPRN_MAS2,r9 | ||
201 | ori r9, r9, (MAS3_SX|MAS3_SW|MAS3_SR) | ||
202 | mtspr SPRN_MAS3,r9 | ||
203 | tlbwe | ||
204 | addi r11, r11, 1 | ||
205 | bdnz+ next_tlb_setup | ||
206 | |||
207 | /* 7. Jump to our 1:1 mapping */ | ||
208 | mr r6, r25 | ||
209 | #else | ||
210 | #error You need to specify the mapping or not use this at all. | ||
211 | #endif | ||
212 | |||
213 | lis r7,MSR_KERNEL@h | ||
214 | ori r7,r7,MSR_KERNEL@l | ||
215 | bl 1f /* Find our address */ | ||
216 | 1: mflr r9 | ||
217 | rlwimi r6,r9,0,20,31 | ||
218 | addi r6,r6,(2f - 1b) | ||
219 | mtspr SPRN_SRR0,r6 | ||
220 | mtspr SPRN_SRR1,r7 | ||
221 | rfi /* start execution out of TLB1[0] entry */ | ||
222 | |||
223 | /* 8. Clear out the temp mapping */ | ||
224 | 2: lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
225 | rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */ | ||
226 | mtspr SPRN_MAS0,r7 | ||
227 | tlbre | ||
228 | mfspr r8,SPRN_MAS1 | ||
229 | rlwinm r8,r8,0,2,0 /* clear IPROT */ | ||
230 | mtspr SPRN_MAS1,r8 | ||
231 | tlbwe | ||
232 | /* Invalidate TLB1 */ | ||
233 | li r9,0x0c | ||
234 | tlbivax 0,r9 | ||
235 | TLBSYNC | ||
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S index e025e89fe93e..98c4b29a56f4 100644 --- a/arch/powerpc/kernel/head_32.S +++ b/arch/powerpc/kernel/head_32.S | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <asm/asm-offsets.h> | 33 | #include <asm/asm-offsets.h> |
34 | #include <asm/ptrace.h> | 34 | #include <asm/ptrace.h> |
35 | #include <asm/bug.h> | 35 | #include <asm/bug.h> |
36 | #include <asm/kvm_book3s_asm.h> | ||
36 | 37 | ||
37 | /* 601 only have IBAT; cr0.eq is set on 601 when using this macro */ | 38 | /* 601 only have IBAT; cr0.eq is set on 601 when using this macro */ |
38 | #define LOAD_BAT(n, reg, RA, RB) \ | 39 | #define LOAD_BAT(n, reg, RA, RB) \ |
@@ -303,6 +304,7 @@ __secondary_hold_acknowledge: | |||
303 | */ | 304 | */ |
304 | #define EXCEPTION(n, label, hdlr, xfer) \ | 305 | #define EXCEPTION(n, label, hdlr, xfer) \ |
305 | . = n; \ | 306 | . = n; \ |
307 | DO_KVM n; \ | ||
306 | label: \ | 308 | label: \ |
307 | EXCEPTION_PROLOG; \ | 309 | EXCEPTION_PROLOG; \ |
308 | addi r3,r1,STACK_FRAME_OVERHEAD; \ | 310 | addi r3,r1,STACK_FRAME_OVERHEAD; \ |
@@ -358,6 +360,7 @@ i##n: \ | |||
358 | * -- paulus. | 360 | * -- paulus. |
359 | */ | 361 | */ |
360 | . = 0x200 | 362 | . = 0x200 |
363 | DO_KVM 0x200 | ||
361 | mtspr SPRN_SPRG_SCRATCH0,r10 | 364 | mtspr SPRN_SPRG_SCRATCH0,r10 |
362 | mtspr SPRN_SPRG_SCRATCH1,r11 | 365 | mtspr SPRN_SPRG_SCRATCH1,r11 |
363 | mfcr r10 | 366 | mfcr r10 |
@@ -381,6 +384,7 @@ i##n: \ | |||
381 | 384 | ||
382 | /* Data access exception. */ | 385 | /* Data access exception. */ |
383 | . = 0x300 | 386 | . = 0x300 |
387 | DO_KVM 0x300 | ||
384 | DataAccess: | 388 | DataAccess: |
385 | EXCEPTION_PROLOG | 389 | EXCEPTION_PROLOG |
386 | mfspr r10,SPRN_DSISR | 390 | mfspr r10,SPRN_DSISR |
@@ -397,6 +401,7 @@ DataAccess: | |||
397 | 401 | ||
398 | /* Instruction access exception. */ | 402 | /* Instruction access exception. */ |
399 | . = 0x400 | 403 | . = 0x400 |
404 | DO_KVM 0x400 | ||
400 | InstructionAccess: | 405 | InstructionAccess: |
401 | EXCEPTION_PROLOG | 406 | EXCEPTION_PROLOG |
402 | andis. r0,r9,0x4000 /* no pte found? */ | 407 | andis. r0,r9,0x4000 /* no pte found? */ |
@@ -413,6 +418,7 @@ InstructionAccess: | |||
413 | 418 | ||
414 | /* Alignment exception */ | 419 | /* Alignment exception */ |
415 | . = 0x600 | 420 | . = 0x600 |
421 | DO_KVM 0x600 | ||
416 | Alignment: | 422 | Alignment: |
417 | EXCEPTION_PROLOG | 423 | EXCEPTION_PROLOG |
418 | mfspr r4,SPRN_DAR | 424 | mfspr r4,SPRN_DAR |
@@ -427,6 +433,7 @@ Alignment: | |||
427 | 433 | ||
428 | /* Floating-point unavailable */ | 434 | /* Floating-point unavailable */ |
429 | . = 0x800 | 435 | . = 0x800 |
436 | DO_KVM 0x800 | ||
430 | FPUnavailable: | 437 | FPUnavailable: |
431 | BEGIN_FTR_SECTION | 438 | BEGIN_FTR_SECTION |
432 | /* | 439 | /* |
@@ -450,6 +457,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_FPU_UNAVAILABLE) | |||
450 | 457 | ||
451 | /* System call */ | 458 | /* System call */ |
452 | . = 0xc00 | 459 | . = 0xc00 |
460 | DO_KVM 0xc00 | ||
453 | SystemCall: | 461 | SystemCall: |
454 | EXCEPTION_PROLOG | 462 | EXCEPTION_PROLOG |
455 | EXC_XFER_EE_LITE(0xc00, DoSyscall) | 463 | EXC_XFER_EE_LITE(0xc00, DoSyscall) |
@@ -467,9 +475,11 @@ SystemCall: | |||
467 | * by executing an altivec instruction. | 475 | * by executing an altivec instruction. |
468 | */ | 476 | */ |
469 | . = 0xf00 | 477 | . = 0xf00 |
478 | DO_KVM 0xf00 | ||
470 | b PerformanceMonitor | 479 | b PerformanceMonitor |
471 | 480 | ||
472 | . = 0xf20 | 481 | . = 0xf20 |
482 | DO_KVM 0xf20 | ||
473 | b AltiVecUnavailable | 483 | b AltiVecUnavailable |
474 | 484 | ||
475 | /* | 485 | /* |
@@ -882,6 +892,10 @@ __secondary_start: | |||
882 | RFI | 892 | RFI |
883 | #endif /* CONFIG_SMP */ | 893 | #endif /* CONFIG_SMP */ |
884 | 894 | ||
895 | #ifdef CONFIG_KVM_BOOK3S_HANDLER | ||
896 | #include "../kvm/book3s_rmhandlers.S" | ||
897 | #endif | ||
898 | |||
885 | /* | 899 | /* |
886 | * Those generic dummy functions are kept for CPUs not | 900 | * Those generic dummy functions are kept for CPUs not |
887 | * included in CONFIG_6xx | 901 | * included in CONFIG_6xx |
diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S index 711368b993f2..5ab484ef06a7 100644 --- a/arch/powerpc/kernel/head_44x.S +++ b/arch/powerpc/kernel/head_44x.S | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <asm/thread_info.h> | 37 | #include <asm/thread_info.h> |
38 | #include <asm/ppc_asm.h> | 38 | #include <asm/ppc_asm.h> |
39 | #include <asm/asm-offsets.h> | 39 | #include <asm/asm-offsets.h> |
40 | #include <asm/synch.h> | ||
40 | #include "head_booke.h" | 41 | #include "head_booke.h" |
41 | 42 | ||
42 | 43 | ||
@@ -69,165 +70,7 @@ _ENTRY(_start); | |||
69 | mr r27,r7 | 70 | mr r27,r7 |
70 | li r24,0 /* CPU number */ | 71 | li r24,0 /* CPU number */ |
71 | 72 | ||
72 | /* | 73 | bl init_cpu_state |
73 | * In case the firmware didn't do it, we apply some workarounds | ||
74 | * that are good for all 440 core variants here | ||
75 | */ | ||
76 | mfspr r3,SPRN_CCR0 | ||
77 | rlwinm r3,r3,0,0,27 /* disable icache prefetch */ | ||
78 | isync | ||
79 | mtspr SPRN_CCR0,r3 | ||
80 | isync | ||
81 | sync | ||
82 | |||
83 | /* | ||
84 | * Set up the initial MMU state | ||
85 | * | ||
86 | * We are still executing code at the virtual address | ||
87 | * mappings set by the firmware for the base of RAM. | ||
88 | * | ||
89 | * We first invalidate all TLB entries but the one | ||
90 | * we are running from. We then load the KERNELBASE | ||
91 | * mappings so we can begin to use kernel addresses | ||
92 | * natively and so the interrupt vector locations are | ||
93 | * permanently pinned (necessary since Book E | ||
94 | * implementations always have translation enabled). | ||
95 | * | ||
96 | * TODO: Use the known TLB entry we are running from to | ||
97 | * determine which physical region we are located | ||
98 | * in. This can be used to determine where in RAM | ||
99 | * (on a shared CPU system) or PCI memory space | ||
100 | * (on a DRAMless system) we are located. | ||
101 | * For now, we assume a perfect world which means | ||
102 | * we are located at the base of DRAM (physical 0). | ||
103 | */ | ||
104 | |||
105 | /* | ||
106 | * Search TLB for entry that we are currently using. | ||
107 | * Invalidate all entries but the one we are using. | ||
108 | */ | ||
109 | /* Load our current PID->MMUCR TID and MSR IS->MMUCR STS */ | ||
110 | mfspr r3,SPRN_PID /* Get PID */ | ||
111 | mfmsr r4 /* Get MSR */ | ||
112 | andi. r4,r4,MSR_IS@l /* TS=1? */ | ||
113 | beq wmmucr /* If not, leave STS=0 */ | ||
114 | oris r3,r3,PPC44x_MMUCR_STS@h /* Set STS=1 */ | ||
115 | wmmucr: mtspr SPRN_MMUCR,r3 /* Put MMUCR */ | ||
116 | sync | ||
117 | |||
118 | bl invstr /* Find our address */ | ||
119 | invstr: mflr r5 /* Make it accessible */ | ||
120 | tlbsx r23,0,r5 /* Find entry we are in */ | ||
121 | li r4,0 /* Start at TLB entry 0 */ | ||
122 | li r3,0 /* Set PAGEID inval value */ | ||
123 | 1: cmpw r23,r4 /* Is this our entry? */ | ||
124 | beq skpinv /* If so, skip the inval */ | ||
125 | tlbwe r3,r4,PPC44x_TLB_PAGEID /* If not, inval the entry */ | ||
126 | skpinv: addi r4,r4,1 /* Increment */ | ||
127 | cmpwi r4,64 /* Are we done? */ | ||
128 | bne 1b /* If not, repeat */ | ||
129 | isync /* If so, context change */ | ||
130 | |||
131 | /* | ||
132 | * Configure and load pinned entry into TLB slot 63. | ||
133 | */ | ||
134 | |||
135 | lis r3,PAGE_OFFSET@h | ||
136 | ori r3,r3,PAGE_OFFSET@l | ||
137 | |||
138 | /* Kernel is at the base of RAM */ | ||
139 | li r4, 0 /* Load the kernel physical address */ | ||
140 | |||
141 | /* Load the kernel PID = 0 */ | ||
142 | li r0,0 | ||
143 | mtspr SPRN_PID,r0 | ||
144 | sync | ||
145 | |||
146 | /* Initialize MMUCR */ | ||
147 | li r5,0 | ||
148 | mtspr SPRN_MMUCR,r5 | ||
149 | sync | ||
150 | |||
151 | /* pageid fields */ | ||
152 | clrrwi r3,r3,10 /* Mask off the effective page number */ | ||
153 | ori r3,r3,PPC44x_TLB_VALID | PPC44x_TLB_256M | ||
154 | |||
155 | /* xlat fields */ | ||
156 | clrrwi r4,r4,10 /* Mask off the real page number */ | ||
157 | /* ERPN is 0 for first 4GB page */ | ||
158 | |||
159 | /* attrib fields */ | ||
160 | /* Added guarded bit to protect against speculative loads/stores */ | ||
161 | li r5,0 | ||
162 | ori r5,r5,(PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G) | ||
163 | |||
164 | li r0,63 /* TLB slot 63 */ | ||
165 | |||
166 | tlbwe r3,r0,PPC44x_TLB_PAGEID /* Load the pageid fields */ | ||
167 | tlbwe r4,r0,PPC44x_TLB_XLAT /* Load the translation fields */ | ||
168 | tlbwe r5,r0,PPC44x_TLB_ATTRIB /* Load the attrib/access fields */ | ||
169 | |||
170 | /* Force context change */ | ||
171 | mfmsr r0 | ||
172 | mtspr SPRN_SRR1, r0 | ||
173 | lis r0,3f@h | ||
174 | ori r0,r0,3f@l | ||
175 | mtspr SPRN_SRR0,r0 | ||
176 | sync | ||
177 | rfi | ||
178 | |||
179 | /* If necessary, invalidate original entry we used */ | ||
180 | 3: cmpwi r23,63 | ||
181 | beq 4f | ||
182 | li r6,0 | ||
183 | tlbwe r6,r23,PPC44x_TLB_PAGEID | ||
184 | isync | ||
185 | |||
186 | 4: | ||
187 | #ifdef CONFIG_PPC_EARLY_DEBUG_44x | ||
188 | /* Add UART mapping for early debug. */ | ||
189 | |||
190 | /* pageid fields */ | ||
191 | lis r3,PPC44x_EARLY_DEBUG_VIRTADDR@h | ||
192 | ori r3,r3,PPC44x_TLB_VALID|PPC44x_TLB_TS|PPC44x_TLB_64K | ||
193 | |||
194 | /* xlat fields */ | ||
195 | lis r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW@h | ||
196 | ori r4,r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH | ||
197 | |||
198 | /* attrib fields */ | ||
199 | li r5,(PPC44x_TLB_SW|PPC44x_TLB_SR|PPC44x_TLB_I|PPC44x_TLB_G) | ||
200 | li r0,62 /* TLB slot 0 */ | ||
201 | |||
202 | tlbwe r3,r0,PPC44x_TLB_PAGEID | ||
203 | tlbwe r4,r0,PPC44x_TLB_XLAT | ||
204 | tlbwe r5,r0,PPC44x_TLB_ATTRIB | ||
205 | |||
206 | /* Force context change */ | ||
207 | isync | ||
208 | #endif /* CONFIG_PPC_EARLY_DEBUG_44x */ | ||
209 | |||
210 | /* Establish the interrupt vector offsets */ | ||
211 | SET_IVOR(0, CriticalInput); | ||
212 | SET_IVOR(1, MachineCheck); | ||
213 | SET_IVOR(2, DataStorage); | ||
214 | SET_IVOR(3, InstructionStorage); | ||
215 | SET_IVOR(4, ExternalInput); | ||
216 | SET_IVOR(5, Alignment); | ||
217 | SET_IVOR(6, Program); | ||
218 | SET_IVOR(7, FloatingPointUnavailable); | ||
219 | SET_IVOR(8, SystemCall); | ||
220 | SET_IVOR(9, AuxillaryProcessorUnavailable); | ||
221 | SET_IVOR(10, Decrementer); | ||
222 | SET_IVOR(11, FixedIntervalTimer); | ||
223 | SET_IVOR(12, WatchdogTimer); | ||
224 | SET_IVOR(13, DataTLBError); | ||
225 | SET_IVOR(14, InstructionTLBError); | ||
226 | SET_IVOR(15, DebugCrit); | ||
227 | |||
228 | /* Establish the interrupt vector base */ | ||
229 | lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */ | ||
230 | mtspr SPRN_IVPR,r4 | ||
231 | 74 | ||
232 | /* | 75 | /* |
233 | * This is where the main kernel code starts. | 76 | * This is where the main kernel code starts. |
@@ -349,7 +192,7 @@ interrupt_base: | |||
349 | #endif | 192 | #endif |
350 | 193 | ||
351 | /* Data TLB Error Interrupt */ | 194 | /* Data TLB Error Interrupt */ |
352 | START_EXCEPTION(DataTLBError) | 195 | START_EXCEPTION(DataTLBError44x) |
353 | mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */ | 196 | mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */ |
354 | mtspr SPRN_SPRG_WSCRATCH1, r11 | 197 | mtspr SPRN_SPRG_WSCRATCH1, r11 |
355 | mtspr SPRN_SPRG_WSCRATCH2, r12 | 198 | mtspr SPRN_SPRG_WSCRATCH2, r12 |
@@ -440,7 +283,7 @@ tlb_44x_patch_hwater_D: | |||
440 | mfspr r10,SPRN_DEAR | 283 | mfspr r10,SPRN_DEAR |
441 | 284 | ||
442 | /* Jump to common tlb load */ | 285 | /* Jump to common tlb load */ |
443 | b finish_tlb_load | 286 | b finish_tlb_load_44x |
444 | 287 | ||
445 | 2: | 288 | 2: |
446 | /* The bailout. Restore registers to pre-exception conditions | 289 | /* The bailout. Restore registers to pre-exception conditions |
@@ -460,7 +303,7 @@ tlb_44x_patch_hwater_D: | |||
460 | * information from different registers and bailout | 303 | * information from different registers and bailout |
461 | * to a different point. | 304 | * to a different point. |
462 | */ | 305 | */ |
463 | START_EXCEPTION(InstructionTLBError) | 306 | START_EXCEPTION(InstructionTLBError44x) |
464 | mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */ | 307 | mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */ |
465 | mtspr SPRN_SPRG_WSCRATCH1, r11 | 308 | mtspr SPRN_SPRG_WSCRATCH1, r11 |
466 | mtspr SPRN_SPRG_WSCRATCH2, r12 | 309 | mtspr SPRN_SPRG_WSCRATCH2, r12 |
@@ -536,7 +379,7 @@ tlb_44x_patch_hwater_I: | |||
536 | mfspr r10,SPRN_SRR0 | 379 | mfspr r10,SPRN_SRR0 |
537 | 380 | ||
538 | /* Jump to common TLB load point */ | 381 | /* Jump to common TLB load point */ |
539 | b finish_tlb_load | 382 | b finish_tlb_load_44x |
540 | 383 | ||
541 | 2: | 384 | 2: |
542 | /* The bailout. Restore registers to pre-exception conditions | 385 | /* The bailout. Restore registers to pre-exception conditions |
@@ -550,15 +393,7 @@ tlb_44x_patch_hwater_I: | |||
550 | mfspr r10, SPRN_SPRG_RSCRATCH0 | 393 | mfspr r10, SPRN_SPRG_RSCRATCH0 |
551 | b InstructionStorage | 394 | b InstructionStorage |
552 | 395 | ||
553 | /* Debug Interrupt */ | ||
554 | DEBUG_CRIT_EXCEPTION | ||
555 | |||
556 | /* | ||
557 | * Local functions | ||
558 | */ | ||
559 | |||
560 | /* | 396 | /* |
561 | |||
562 | * Both the instruction and data TLB miss get to this | 397 | * Both the instruction and data TLB miss get to this |
563 | * point to load the TLB. | 398 | * point to load the TLB. |
564 | * r10 - EA of fault | 399 | * r10 - EA of fault |
@@ -568,7 +403,7 @@ tlb_44x_patch_hwater_I: | |||
568 | * MMUCR - loaded with proper value when we get here | 403 | * MMUCR - loaded with proper value when we get here |
569 | * Upon exit, we reload everything and RFI. | 404 | * Upon exit, we reload everything and RFI. |
570 | */ | 405 | */ |
571 | finish_tlb_load: | 406 | finish_tlb_load_44x: |
572 | /* Combine RPN & ERPN an write WS 0 */ | 407 | /* Combine RPN & ERPN an write WS 0 */ |
573 | rlwimi r11,r12,0,0,31-PAGE_SHIFT | 408 | rlwimi r11,r12,0,0,31-PAGE_SHIFT |
574 | tlbwe r11,r13,PPC44x_TLB_XLAT | 409 | tlbwe r11,r13,PPC44x_TLB_XLAT |
@@ -601,6 +436,227 @@ finish_tlb_load: | |||
601 | mfspr r10, SPRN_SPRG_RSCRATCH0 | 436 | mfspr r10, SPRN_SPRG_RSCRATCH0 |
602 | rfi /* Force context change */ | 437 | rfi /* Force context change */ |
603 | 438 | ||
439 | /* TLB error interrupts for 476 | ||
440 | */ | ||
441 | #ifdef CONFIG_PPC_47x | ||
442 | START_EXCEPTION(DataTLBError47x) | ||
443 | mtspr SPRN_SPRG_WSCRATCH0,r10 /* Save some working registers */ | ||
444 | mtspr SPRN_SPRG_WSCRATCH1,r11 | ||
445 | mtspr SPRN_SPRG_WSCRATCH2,r12 | ||
446 | mtspr SPRN_SPRG_WSCRATCH3,r13 | ||
447 | mfcr r11 | ||
448 | mtspr SPRN_SPRG_WSCRATCH4,r11 | ||
449 | mfspr r10,SPRN_DEAR /* Get faulting address */ | ||
450 | |||
451 | /* If we are faulting a kernel address, we have to use the | ||
452 | * kernel page tables. | ||
453 | */ | ||
454 | lis r11,PAGE_OFFSET@h | ||
455 | cmplw cr0,r10,r11 | ||
456 | blt+ 3f | ||
457 | lis r11,swapper_pg_dir@h | ||
458 | ori r11,r11, swapper_pg_dir@l | ||
459 | li r12,0 /* MMUCR = 0 */ | ||
460 | b 4f | ||
461 | |||
462 | /* Get the PGD for the current thread and setup MMUCR */ | ||
463 | 3: mfspr r11,SPRN_SPRG3 | ||
464 | lwz r11,PGDIR(r11) | ||
465 | mfspr r12,SPRN_PID /* Get PID */ | ||
466 | 4: mtspr SPRN_MMUCR,r12 /* Set MMUCR */ | ||
467 | |||
468 | /* Mask of required permission bits. Note that while we | ||
469 | * do copy ESR:ST to _PAGE_RW position as trying to write | ||
470 | * to an RO page is pretty common, we don't do it with | ||
471 | * _PAGE_DIRTY. We could do it, but it's a fairly rare | ||
472 | * event so I'd rather take the overhead when it happens | ||
473 | * rather than adding an instruction here. We should measure | ||
474 | * whether the whole thing is worth it in the first place | ||
475 | * as we could avoid loading SPRN_ESR completely in the first | ||
476 | * place... | ||
477 | * | ||
478 | * TODO: Is it worth doing that mfspr & rlwimi in the first | ||
479 | * place or can we save a couple of instructions here ? | ||
480 | */ | ||
481 | mfspr r12,SPRN_ESR | ||
482 | li r13,_PAGE_PRESENT|_PAGE_ACCESSED | ||
483 | rlwimi r13,r12,10,30,30 | ||
484 | |||
485 | /* Load the PTE */ | ||
486 | /* Compute pgdir/pmd offset */ | ||
487 | rlwinm r12,r10,PPC44x_PGD_OFF_SHIFT,PPC44x_PGD_OFF_MASK_BIT,29 | ||
488 | lwzx r11,r12,r11 /* Get pgd/pmd entry */ | ||
489 | |||
490 | /* Word 0 is EPN,V,TS,DSIZ */ | ||
491 | li r12,PPC47x_TLB0_VALID | PPC47x_TLBE_SIZE | ||
492 | rlwimi r10,r12,0,32-PAGE_SHIFT,31 /* Insert valid and page size*/ | ||
493 | li r12,0 | ||
494 | tlbwe r10,r12,0 | ||
495 | |||
496 | /* XXX can we do better ? Need to make sure tlbwe has established | ||
497 | * latch V bit in MMUCR0 before the PTE is loaded further down */ | ||
498 | #ifdef CONFIG_SMP | ||
499 | isync | ||
500 | #endif | ||
501 | |||
502 | rlwinm. r12,r11,0,0,20 /* Extract pt base address */ | ||
503 | /* Compute pte address */ | ||
504 | rlwimi r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28 | ||
505 | beq 2f /* Bail if no table */ | ||
506 | lwz r11,0(r12) /* Get high word of pte entry */ | ||
507 | |||
508 | /* XXX can we do better ? maybe insert a known 0 bit from r11 into the | ||
509 | * bottom of r12 to create a data dependency... We can also use r10 | ||
510 | * as destination nowadays | ||
511 | */ | ||
512 | #ifdef CONFIG_SMP | ||
513 | lwsync | ||
514 | #endif | ||
515 | lwz r12,4(r12) /* Get low word of pte entry */ | ||
516 | |||
517 | andc. r13,r13,r12 /* Check permission */ | ||
518 | |||
519 | /* Jump to common tlb load */ | ||
520 | beq finish_tlb_load_47x | ||
521 | |||
522 | 2: /* The bailout. Restore registers to pre-exception conditions | ||
523 | * and call the heavyweights to help us out. | ||
524 | */ | ||
525 | mfspr r11,SPRN_SPRG_RSCRATCH4 | ||
526 | mtcr r11 | ||
527 | mfspr r13,SPRN_SPRG_RSCRATCH3 | ||
528 | mfspr r12,SPRN_SPRG_RSCRATCH2 | ||
529 | mfspr r11,SPRN_SPRG_RSCRATCH1 | ||
530 | mfspr r10,SPRN_SPRG_RSCRATCH0 | ||
531 | b DataStorage | ||
532 | |||
533 | /* Instruction TLB Error Interrupt */ | ||
534 | /* | ||
535 | * Nearly the same as above, except we get our | ||
536 | * information from different registers and bailout | ||
537 | * to a different point. | ||
538 | */ | ||
539 | START_EXCEPTION(InstructionTLBError47x) | ||
540 | mtspr SPRN_SPRG_WSCRATCH0,r10 /* Save some working registers */ | ||
541 | mtspr SPRN_SPRG_WSCRATCH1,r11 | ||
542 | mtspr SPRN_SPRG_WSCRATCH2,r12 | ||
543 | mtspr SPRN_SPRG_WSCRATCH3,r13 | ||
544 | mfcr r11 | ||
545 | mtspr SPRN_SPRG_WSCRATCH4,r11 | ||
546 | mfspr r10,SPRN_SRR0 /* Get faulting address */ | ||
547 | |||
548 | /* If we are faulting a kernel address, we have to use the | ||
549 | * kernel page tables. | ||
550 | */ | ||
551 | lis r11,PAGE_OFFSET@h | ||
552 | cmplw cr0,r10,r11 | ||
553 | blt+ 3f | ||
554 | lis r11,swapper_pg_dir@h | ||
555 | ori r11,r11, swapper_pg_dir@l | ||
556 | li r12,0 /* MMUCR = 0 */ | ||
557 | b 4f | ||
558 | |||
559 | /* Get the PGD for the current thread and setup MMUCR */ | ||
560 | 3: mfspr r11,SPRN_SPRG_THREAD | ||
561 | lwz r11,PGDIR(r11) | ||
562 | mfspr r12,SPRN_PID /* Get PID */ | ||
563 | 4: mtspr SPRN_MMUCR,r12 /* Set MMUCR */ | ||
564 | |||
565 | /* Make up the required permissions */ | ||
566 | li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC | ||
567 | |||
568 | /* Load PTE */ | ||
569 | /* Compute pgdir/pmd offset */ | ||
570 | rlwinm r12,r10,PPC44x_PGD_OFF_SHIFT,PPC44x_PGD_OFF_MASK_BIT,29 | ||
571 | lwzx r11,r12,r11 /* Get pgd/pmd entry */ | ||
572 | |||
573 | /* Word 0 is EPN,V,TS,DSIZ */ | ||
574 | li r12,PPC47x_TLB0_VALID | PPC47x_TLBE_SIZE | ||
575 | rlwimi r10,r12,0,32-PAGE_SHIFT,31 /* Insert valid and page size*/ | ||
576 | li r12,0 | ||
577 | tlbwe r10,r12,0 | ||
578 | |||
579 | /* XXX can we do better ? Need to make sure tlbwe has established | ||
580 | * latch V bit in MMUCR0 before the PTE is loaded further down */ | ||
581 | #ifdef CONFIG_SMP | ||
582 | isync | ||
583 | #endif | ||
584 | |||
585 | rlwinm. r12,r11,0,0,20 /* Extract pt base address */ | ||
586 | /* Compute pte address */ | ||
587 | rlwimi r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28 | ||
588 | beq 2f /* Bail if no table */ | ||
589 | |||
590 | lwz r11,0(r12) /* Get high word of pte entry */ | ||
591 | /* XXX can we do better ? maybe insert a known 0 bit from r11 into the | ||
592 | * bottom of r12 to create a data dependency... We can also use r10 | ||
593 | * as destination nowadays | ||
594 | */ | ||
595 | #ifdef CONFIG_SMP | ||
596 | lwsync | ||
597 | #endif | ||
598 | lwz r12,4(r12) /* Get low word of pte entry */ | ||
599 | |||
600 | andc. r13,r13,r12 /* Check permission */ | ||
601 | |||
602 | /* Jump to common TLB load point */ | ||
603 | beq finish_tlb_load_47x | ||
604 | |||
605 | 2: /* The bailout. Restore registers to pre-exception conditions | ||
606 | * and call the heavyweights to help us out. | ||
607 | */ | ||
608 | mfspr r11, SPRN_SPRG_RSCRATCH4 | ||
609 | mtcr r11 | ||
610 | mfspr r13, SPRN_SPRG_RSCRATCH3 | ||
611 | mfspr r12, SPRN_SPRG_RSCRATCH2 | ||
612 | mfspr r11, SPRN_SPRG_RSCRATCH1 | ||
613 | mfspr r10, SPRN_SPRG_RSCRATCH0 | ||
614 | b InstructionStorage | ||
615 | |||
616 | /* | ||
617 | * Both the instruction and data TLB miss get to this | ||
618 | * point to load the TLB. | ||
619 | * r10 - free to use | ||
620 | * r11 - PTE high word value | ||
621 | * r12 - PTE low word value | ||
622 | * r13 - free to use | ||
623 | * MMUCR - loaded with proper value when we get here | ||
624 | * Upon exit, we reload everything and RFI. | ||
625 | */ | ||
626 | finish_tlb_load_47x: | ||
627 | /* Combine RPN & ERPN an write WS 1 */ | ||
628 | rlwimi r11,r12,0,0,31-PAGE_SHIFT | ||
629 | tlbwe r11,r13,1 | ||
630 | |||
631 | /* And make up word 2 */ | ||
632 | li r10,0xf85 /* Mask to apply from PTE */ | ||
633 | rlwimi r10,r12,29,30,30 /* DIRTY -> SW position */ | ||
634 | and r11,r12,r10 /* Mask PTE bits to keep */ | ||
635 | andi. r10,r12,_PAGE_USER /* User page ? */ | ||
636 | beq 1f /* nope, leave U bits empty */ | ||
637 | rlwimi r11,r11,3,26,28 /* yes, copy S bits to U */ | ||
638 | 1: tlbwe r11,r13,2 | ||
639 | |||
640 | /* Done...restore registers and get out of here. | ||
641 | */ | ||
642 | mfspr r11, SPRN_SPRG_RSCRATCH4 | ||
643 | mtcr r11 | ||
644 | mfspr r13, SPRN_SPRG_RSCRATCH3 | ||
645 | mfspr r12, SPRN_SPRG_RSCRATCH2 | ||
646 | mfspr r11, SPRN_SPRG_RSCRATCH1 | ||
647 | mfspr r10, SPRN_SPRG_RSCRATCH0 | ||
648 | rfi | ||
649 | |||
650 | #endif /* CONFIG_PPC_47x */ | ||
651 | |||
652 | /* Debug Interrupt */ | ||
653 | /* | ||
654 | * This statement needs to exist at the end of the IVPR | ||
655 | * definition just in case you end up taking a debug | ||
656 | * exception within another exception. | ||
657 | */ | ||
658 | DEBUG_CRIT_EXCEPTION | ||
659 | |||
604 | /* | 660 | /* |
605 | * Global functions | 661 | * Global functions |
606 | */ | 662 | */ |
@@ -647,6 +703,428 @@ _GLOBAL(set_context) | |||
647 | blr | 703 | blr |
648 | 704 | ||
649 | /* | 705 | /* |
706 | * Init CPU state. This is called at boot time or for secondary CPUs | ||
707 | * to setup initial TLB entries, setup IVORs, etc... | ||
708 | * | ||
709 | */ | ||
710 | _GLOBAL(init_cpu_state) | ||
711 | mflr r22 | ||
712 | #ifdef CONFIG_PPC_47x | ||
713 | /* We use the PVR to differenciate 44x cores from 476 */ | ||
714 | mfspr r3,SPRN_PVR | ||
715 | srwi r3,r3,16 | ||
716 | cmplwi cr0,r3,PVR_476@h | ||
717 | beq head_start_47x | ||
718 | cmplwi cr0,r3,PVR_476_ISS@h | ||
719 | beq head_start_47x | ||
720 | #endif /* CONFIG_PPC_47x */ | ||
721 | |||
722 | /* | ||
723 | * In case the firmware didn't do it, we apply some workarounds | ||
724 | * that are good for all 440 core variants here | ||
725 | */ | ||
726 | mfspr r3,SPRN_CCR0 | ||
727 | rlwinm r3,r3,0,0,27 /* disable icache prefetch */ | ||
728 | isync | ||
729 | mtspr SPRN_CCR0,r3 | ||
730 | isync | ||
731 | sync | ||
732 | |||
733 | /* | ||
734 | * Set up the initial MMU state for 44x | ||
735 | * | ||
736 | * We are still executing code at the virtual address | ||
737 | * mappings set by the firmware for the base of RAM. | ||
738 | * | ||
739 | * We first invalidate all TLB entries but the one | ||
740 | * we are running from. We then load the KERNELBASE | ||
741 | * mappings so we can begin to use kernel addresses | ||
742 | * natively and so the interrupt vector locations are | ||
743 | * permanently pinned (necessary since Book E | ||
744 | * implementations always have translation enabled). | ||
745 | * | ||
746 | * TODO: Use the known TLB entry we are running from to | ||
747 | * determine which physical region we are located | ||
748 | * in. This can be used to determine where in RAM | ||
749 | * (on a shared CPU system) or PCI memory space | ||
750 | * (on a DRAMless system) we are located. | ||
751 | * For now, we assume a perfect world which means | ||
752 | * we are located at the base of DRAM (physical 0). | ||
753 | */ | ||
754 | |||
755 | /* | ||
756 | * Search TLB for entry that we are currently using. | ||
757 | * Invalidate all entries but the one we are using. | ||
758 | */ | ||
759 | /* Load our current PID->MMUCR TID and MSR IS->MMUCR STS */ | ||
760 | mfspr r3,SPRN_PID /* Get PID */ | ||
761 | mfmsr r4 /* Get MSR */ | ||
762 | andi. r4,r4,MSR_IS@l /* TS=1? */ | ||
763 | beq wmmucr /* If not, leave STS=0 */ | ||
764 | oris r3,r3,PPC44x_MMUCR_STS@h /* Set STS=1 */ | ||
765 | wmmucr: mtspr SPRN_MMUCR,r3 /* Put MMUCR */ | ||
766 | sync | ||
767 | |||
768 | bl invstr /* Find our address */ | ||
769 | invstr: mflr r5 /* Make it accessible */ | ||
770 | tlbsx r23,0,r5 /* Find entry we are in */ | ||
771 | li r4,0 /* Start at TLB entry 0 */ | ||
772 | li r3,0 /* Set PAGEID inval value */ | ||
773 | 1: cmpw r23,r4 /* Is this our entry? */ | ||
774 | beq skpinv /* If so, skip the inval */ | ||
775 | tlbwe r3,r4,PPC44x_TLB_PAGEID /* If not, inval the entry */ | ||
776 | skpinv: addi r4,r4,1 /* Increment */ | ||
777 | cmpwi r4,64 /* Are we done? */ | ||
778 | bne 1b /* If not, repeat */ | ||
779 | isync /* If so, context change */ | ||
780 | |||
781 | /* | ||
782 | * Configure and load pinned entry into TLB slot 63. | ||
783 | */ | ||
784 | |||
785 | lis r3,PAGE_OFFSET@h | ||
786 | ori r3,r3,PAGE_OFFSET@l | ||
787 | |||
788 | /* Kernel is at the base of RAM */ | ||
789 | li r4, 0 /* Load the kernel physical address */ | ||
790 | |||
791 | /* Load the kernel PID = 0 */ | ||
792 | li r0,0 | ||
793 | mtspr SPRN_PID,r0 | ||
794 | sync | ||
795 | |||
796 | /* Initialize MMUCR */ | ||
797 | li r5,0 | ||
798 | mtspr SPRN_MMUCR,r5 | ||
799 | sync | ||
800 | |||
801 | /* pageid fields */ | ||
802 | clrrwi r3,r3,10 /* Mask off the effective page number */ | ||
803 | ori r3,r3,PPC44x_TLB_VALID | PPC44x_TLB_256M | ||
804 | |||
805 | /* xlat fields */ | ||
806 | clrrwi r4,r4,10 /* Mask off the real page number */ | ||
807 | /* ERPN is 0 for first 4GB page */ | ||
808 | |||
809 | /* attrib fields */ | ||
810 | /* Added guarded bit to protect against speculative loads/stores */ | ||
811 | li r5,0 | ||
812 | ori r5,r5,(PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G) | ||
813 | |||
814 | li r0,63 /* TLB slot 63 */ | ||
815 | |||
816 | tlbwe r3,r0,PPC44x_TLB_PAGEID /* Load the pageid fields */ | ||
817 | tlbwe r4,r0,PPC44x_TLB_XLAT /* Load the translation fields */ | ||
818 | tlbwe r5,r0,PPC44x_TLB_ATTRIB /* Load the attrib/access fields */ | ||
819 | |||
820 | /* Force context change */ | ||
821 | mfmsr r0 | ||
822 | mtspr SPRN_SRR1, r0 | ||
823 | lis r0,3f@h | ||
824 | ori r0,r0,3f@l | ||
825 | mtspr SPRN_SRR0,r0 | ||
826 | sync | ||
827 | rfi | ||
828 | |||
829 | /* If necessary, invalidate original entry we used */ | ||
830 | 3: cmpwi r23,63 | ||
831 | beq 4f | ||
832 | li r6,0 | ||
833 | tlbwe r6,r23,PPC44x_TLB_PAGEID | ||
834 | isync | ||
835 | |||
836 | 4: | ||
837 | #ifdef CONFIG_PPC_EARLY_DEBUG_44x | ||
838 | /* Add UART mapping for early debug. */ | ||
839 | |||
840 | /* pageid fields */ | ||
841 | lis r3,PPC44x_EARLY_DEBUG_VIRTADDR@h | ||
842 | ori r3,r3,PPC44x_TLB_VALID|PPC44x_TLB_TS|PPC44x_TLB_64K | ||
843 | |||
844 | /* xlat fields */ | ||
845 | lis r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW@h | ||
846 | ori r4,r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH | ||
847 | |||
848 | /* attrib fields */ | ||
849 | li r5,(PPC44x_TLB_SW|PPC44x_TLB_SR|PPC44x_TLB_I|PPC44x_TLB_G) | ||
850 | li r0,62 /* TLB slot 0 */ | ||
851 | |||
852 | tlbwe r3,r0,PPC44x_TLB_PAGEID | ||
853 | tlbwe r4,r0,PPC44x_TLB_XLAT | ||
854 | tlbwe r5,r0,PPC44x_TLB_ATTRIB | ||
855 | |||
856 | /* Force context change */ | ||
857 | isync | ||
858 | #endif /* CONFIG_PPC_EARLY_DEBUG_44x */ | ||
859 | |||
860 | /* Establish the interrupt vector offsets */ | ||
861 | SET_IVOR(0, CriticalInput); | ||
862 | SET_IVOR(1, MachineCheck); | ||
863 | SET_IVOR(2, DataStorage); | ||
864 | SET_IVOR(3, InstructionStorage); | ||
865 | SET_IVOR(4, ExternalInput); | ||
866 | SET_IVOR(5, Alignment); | ||
867 | SET_IVOR(6, Program); | ||
868 | SET_IVOR(7, FloatingPointUnavailable); | ||
869 | SET_IVOR(8, SystemCall); | ||
870 | SET_IVOR(9, AuxillaryProcessorUnavailable); | ||
871 | SET_IVOR(10, Decrementer); | ||
872 | SET_IVOR(11, FixedIntervalTimer); | ||
873 | SET_IVOR(12, WatchdogTimer); | ||
874 | SET_IVOR(13, DataTLBError44x); | ||
875 | SET_IVOR(14, InstructionTLBError44x); | ||
876 | SET_IVOR(15, DebugCrit); | ||
877 | |||
878 | b head_start_common | ||
879 | |||
880 | |||
881 | #ifdef CONFIG_PPC_47x | ||
882 | |||
883 | #ifdef CONFIG_SMP | ||
884 | |||
885 | /* Entry point for secondary 47x processors */ | ||
886 | _GLOBAL(start_secondary_47x) | ||
887 | mr r24,r3 /* CPU number */ | ||
888 | |||
889 | bl init_cpu_state | ||
890 | |||
891 | /* Now we need to bolt the rest of kernel memory which | ||
892 | * is done in C code. We must be careful because our task | ||
893 | * struct or our stack can (and will probably) be out | ||
894 | * of reach of the initial 256M TLB entry, so we use a | ||
895 | * small temporary stack in .bss for that. This works | ||
896 | * because only one CPU at a time can be in this code | ||
897 | */ | ||
898 | lis r1,temp_boot_stack@h | ||
899 | ori r1,r1,temp_boot_stack@l | ||
900 | addi r1,r1,1024-STACK_FRAME_OVERHEAD | ||
901 | li r0,0 | ||
902 | stw r0,0(r1) | ||
903 | bl mmu_init_secondary | ||
904 | |||
905 | /* Now we can get our task struct and real stack pointer */ | ||
906 | |||
907 | /* Get current_thread_info and current */ | ||
908 | lis r1,secondary_ti@ha | ||
909 | lwz r1,secondary_ti@l(r1) | ||
910 | lwz r2,TI_TASK(r1) | ||
911 | |||
912 | /* Current stack pointer */ | ||
913 | addi r1,r1,THREAD_SIZE-STACK_FRAME_OVERHEAD | ||
914 | li r0,0 | ||
915 | stw r0,0(r1) | ||
916 | |||
917 | /* Kernel stack for exception entry in SPRG3 */ | ||
918 | addi r4,r2,THREAD /* init task's THREAD */ | ||
919 | mtspr SPRN_SPRG3,r4 | ||
920 | |||
921 | b start_secondary | ||
922 | |||
923 | #endif /* CONFIG_SMP */ | ||
924 | |||
925 | /* | ||
926 | * Set up the initial MMU state for 44x | ||
927 | * | ||
928 | * We are still executing code at the virtual address | ||
929 | * mappings set by the firmware for the base of RAM. | ||
930 | */ | ||
931 | |||
932 | head_start_47x: | ||
933 | /* Load our current PID->MMUCR TID and MSR IS->MMUCR STS */ | ||
934 | mfspr r3,SPRN_PID /* Get PID */ | ||
935 | mfmsr r4 /* Get MSR */ | ||
936 | andi. r4,r4,MSR_IS@l /* TS=1? */ | ||
937 | beq 1f /* If not, leave STS=0 */ | ||
938 | oris r3,r3,PPC47x_MMUCR_STS@h /* Set STS=1 */ | ||
939 | 1: mtspr SPRN_MMUCR,r3 /* Put MMUCR */ | ||
940 | sync | ||
941 | |||
942 | /* Find the entry we are running from */ | ||
943 | bl 1f | ||
944 | 1: mflr r23 | ||
945 | tlbsx r23,0,r23 | ||
946 | tlbre r24,r23,0 | ||
947 | tlbre r25,r23,1 | ||
948 | tlbre r26,r23,2 | ||
949 | |||
950 | /* | ||
951 | * Cleanup time | ||
952 | */ | ||
953 | |||
954 | /* Initialize MMUCR */ | ||
955 | li r5,0 | ||
956 | mtspr SPRN_MMUCR,r5 | ||
957 | sync | ||
958 | |||
959 | clear_all_utlb_entries: | ||
960 | |||
961 | #; Set initial values. | ||
962 | |||
963 | addis r3,0,0x8000 | ||
964 | addi r4,0,0 | ||
965 | addi r5,0,0 | ||
966 | b clear_utlb_entry | ||
967 | |||
968 | #; Align the loop to speed things up. | ||
969 | |||
970 | .align 6 | ||
971 | |||
972 | clear_utlb_entry: | ||
973 | |||
974 | tlbwe r4,r3,0 | ||
975 | tlbwe r5,r3,1 | ||
976 | tlbwe r5,r3,2 | ||
977 | addis r3,r3,0x2000 | ||
978 | cmpwi r3,0 | ||
979 | bne clear_utlb_entry | ||
980 | addis r3,0,0x8000 | ||
981 | addis r4,r4,0x100 | ||
982 | cmpwi r4,0 | ||
983 | bne clear_utlb_entry | ||
984 | |||
985 | #; Restore original entry. | ||
986 | |||
987 | oris r23,r23,0x8000 /* specify the way */ | ||
988 | tlbwe r24,r23,0 | ||
989 | tlbwe r25,r23,1 | ||
990 | tlbwe r26,r23,2 | ||
991 | |||
992 | /* | ||
993 | * Configure and load pinned entry into TLB for the kernel core | ||
994 | */ | ||
995 | |||
996 | lis r3,PAGE_OFFSET@h | ||
997 | ori r3,r3,PAGE_OFFSET@l | ||
998 | |||
999 | /* Kernel is at the base of RAM */ | ||
1000 | li r4, 0 /* Load the kernel physical address */ | ||
1001 | |||
1002 | /* Load the kernel PID = 0 */ | ||
1003 | li r0,0 | ||
1004 | mtspr SPRN_PID,r0 | ||
1005 | sync | ||
1006 | |||
1007 | /* Word 0 */ | ||
1008 | clrrwi r3,r3,12 /* Mask off the effective page number */ | ||
1009 | ori r3,r3,PPC47x_TLB0_VALID | PPC47x_TLB0_256M | ||
1010 | |||
1011 | /* Word 1 */ | ||
1012 | clrrwi r4,r4,12 /* Mask off the real page number */ | ||
1013 | /* ERPN is 0 for first 4GB page */ | ||
1014 | /* Word 2 */ | ||
1015 | li r5,0 | ||
1016 | ori r5,r5,PPC47x_TLB2_S_RWX | ||
1017 | #ifdef CONFIG_SMP | ||
1018 | ori r5,r5,PPC47x_TLB2_M | ||
1019 | #endif | ||
1020 | |||
1021 | /* We write to way 0 and bolted 0 */ | ||
1022 | lis r0,0x8800 | ||
1023 | tlbwe r3,r0,0 | ||
1024 | tlbwe r4,r0,1 | ||
1025 | tlbwe r5,r0,2 | ||
1026 | |||
1027 | /* | ||
1028 | * Configure SSPCR, ISPCR and USPCR for now to search everything, we can fix | ||
1029 | * them up later | ||
1030 | */ | ||
1031 | LOAD_REG_IMMEDIATE(r3, 0x9abcdef0) | ||
1032 | mtspr SPRN_SSPCR,r3 | ||
1033 | mtspr SPRN_USPCR,r3 | ||
1034 | LOAD_REG_IMMEDIATE(r3, 0x12345670) | ||
1035 | mtspr SPRN_ISPCR,r3 | ||
1036 | |||
1037 | /* Force context change */ | ||
1038 | mfmsr r0 | ||
1039 | mtspr SPRN_SRR1, r0 | ||
1040 | lis r0,3f@h | ||
1041 | ori r0,r0,3f@l | ||
1042 | mtspr SPRN_SRR0,r0 | ||
1043 | sync | ||
1044 | rfi | ||
1045 | |||
1046 | /* Invalidate original entry we used */ | ||
1047 | 3: | ||
1048 | rlwinm r24,r24,0,21,19 /* clear the "valid" bit */ | ||
1049 | tlbwe r24,r23,0 | ||
1050 | addi r24,0,0 | ||
1051 | tlbwe r24,r23,1 | ||
1052 | tlbwe r24,r23,2 | ||
1053 | isync /* Clear out the shadow TLB entries */ | ||
1054 | |||
1055 | #ifdef CONFIG_PPC_EARLY_DEBUG_44x | ||
1056 | /* Add UART mapping for early debug. */ | ||
1057 | |||
1058 | /* Word 0 */ | ||
1059 | lis r3,PPC44x_EARLY_DEBUG_VIRTADDR@h | ||
1060 | ori r3,r3,PPC47x_TLB0_VALID | PPC47x_TLB0_TS | PPC47x_TLB0_1M | ||
1061 | |||
1062 | /* Word 1 */ | ||
1063 | lis r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW@h | ||
1064 | ori r4,r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH | ||
1065 | |||
1066 | /* Word 2 */ | ||
1067 | li r5,(PPC47x_TLB2_S_RW | PPC47x_TLB2_IMG) | ||
1068 | |||
1069 | /* Bolted in way 0, bolt slot 5, we -hope- we don't hit the same | ||
1070 | * congruence class as the kernel, we need to make sure of it at | ||
1071 | * some point | ||
1072 | */ | ||
1073 | lis r0,0x8d00 | ||
1074 | tlbwe r3,r0,0 | ||
1075 | tlbwe r4,r0,1 | ||
1076 | tlbwe r5,r0,2 | ||
1077 | |||
1078 | /* Force context change */ | ||
1079 | isync | ||
1080 | #endif /* CONFIG_PPC_EARLY_DEBUG_44x */ | ||
1081 | |||
1082 | /* Establish the interrupt vector offsets */ | ||
1083 | SET_IVOR(0, CriticalInput); | ||
1084 | SET_IVOR(1, MachineCheckA); | ||
1085 | SET_IVOR(2, DataStorage); | ||
1086 | SET_IVOR(3, InstructionStorage); | ||
1087 | SET_IVOR(4, ExternalInput); | ||
1088 | SET_IVOR(5, Alignment); | ||
1089 | SET_IVOR(6, Program); | ||
1090 | SET_IVOR(7, FloatingPointUnavailable); | ||
1091 | SET_IVOR(8, SystemCall); | ||
1092 | SET_IVOR(9, AuxillaryProcessorUnavailable); | ||
1093 | SET_IVOR(10, Decrementer); | ||
1094 | SET_IVOR(11, FixedIntervalTimer); | ||
1095 | SET_IVOR(12, WatchdogTimer); | ||
1096 | SET_IVOR(13, DataTLBError47x); | ||
1097 | SET_IVOR(14, InstructionTLBError47x); | ||
1098 | SET_IVOR(15, DebugCrit); | ||
1099 | |||
1100 | /* We configure icbi to invalidate 128 bytes at a time since the | ||
1101 | * current 32-bit kernel code isn't too happy with icache != dcache | ||
1102 | * block size | ||
1103 | */ | ||
1104 | mfspr r3,SPRN_CCR0 | ||
1105 | oris r3,r3,0x0020 | ||
1106 | mtspr SPRN_CCR0,r3 | ||
1107 | isync | ||
1108 | |||
1109 | #endif /* CONFIG_PPC_47x */ | ||
1110 | |||
1111 | /* | ||
1112 | * Here we are back to code that is common between 44x and 47x | ||
1113 | * | ||
1114 | * We proceed to further kernel initialization and return to the | ||
1115 | * main kernel entry | ||
1116 | */ | ||
1117 | head_start_common: | ||
1118 | /* Establish the interrupt vector base */ | ||
1119 | lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */ | ||
1120 | mtspr SPRN_IVPR,r4 | ||
1121 | |||
1122 | addis r22,r22,KERNELBASE@h | ||
1123 | mtlr r22 | ||
1124 | isync | ||
1125 | blr | ||
1126 | |||
1127 | /* | ||
650 | * We put a few things here that have to be page-aligned. This stuff | 1128 | * We put a few things here that have to be page-aligned. This stuff |
651 | * goes at the beginning of the data segment, which is page-aligned. | 1129 | * goes at the beginning of the data segment, which is page-aligned. |
652 | */ | 1130 | */ |
@@ -671,3 +1149,9 @@ swapper_pg_dir: | |||
671 | */ | 1149 | */ |
672 | abatron_pteptrs: | 1150 | abatron_pteptrs: |
673 | .space 8 | 1151 | .space 8 |
1152 | |||
1153 | #ifdef CONFIG_SMP | ||
1154 | .align 12 | ||
1155 | temp_boot_stack: | ||
1156 | .space 1024 | ||
1157 | #endif /* CONFIG_SMP */ | ||
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index bed9a29ee383..844a44b64472 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S | |||
@@ -37,7 +37,7 @@ | |||
37 | #include <asm/firmware.h> | 37 | #include <asm/firmware.h> |
38 | #include <asm/page_64.h> | 38 | #include <asm/page_64.h> |
39 | #include <asm/irqflags.h> | 39 | #include <asm/irqflags.h> |
40 | #include <asm/kvm_book3s_64_asm.h> | 40 | #include <asm/kvm_book3s_asm.h> |
41 | 41 | ||
42 | /* The physical memory is layed out such that the secondary processor | 42 | /* The physical memory is layed out such that the secondary processor |
43 | * spin code sits at 0x0000...0x00ff. On server, the vectors follow | 43 | * spin code sits at 0x0000...0x00ff. On server, the vectors follow |
@@ -169,7 +169,7 @@ exception_marker: | |||
169 | /* KVM trampoline code needs to be close to the interrupt handlers */ | 169 | /* KVM trampoline code needs to be close to the interrupt handlers */ |
170 | 170 | ||
171 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER | 171 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER |
172 | #include "../kvm/book3s_64_rmhandlers.S" | 172 | #include "../kvm/book3s_rmhandlers.S" |
173 | #endif | 173 | #endif |
174 | 174 | ||
175 | _GLOBAL(generic_secondary_thread_init) | 175 | _GLOBAL(generic_secondary_thread_init) |
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 3ef743fa5d7c..1f1a04b5c2a4 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S | |||
@@ -71,9 +71,6 @@ _ENTRY(_start); | |||
71 | * in the first level table, but that would require many changes to the | 71 | * in the first level table, but that would require many changes to the |
72 | * Linux page directory/table functions that I don't want to do right now. | 72 | * Linux page directory/table functions that I don't want to do right now. |
73 | * | 73 | * |
74 | * I used to use SPRG2 for a temporary register in the TLB handler, but it | ||
75 | * has since been put to other uses. I now use a hack to save a register | ||
76 | * and the CCR at memory location 0.....Someday I'll fix this..... | ||
77 | * -- Dan | 74 | * -- Dan |
78 | */ | 75 | */ |
79 | .globl __start | 76 | .globl __start |
@@ -302,8 +299,13 @@ InstructionTLBMiss: | |||
302 | DO_8xx_CPU6(0x3f80, r3) | 299 | DO_8xx_CPU6(0x3f80, r3) |
303 | mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ | 300 | mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ |
304 | mfcr r10 | 301 | mfcr r10 |
302 | #ifdef CONFIG_8xx_CPU6 | ||
305 | stw r10, 0(r0) | 303 | stw r10, 0(r0) |
306 | stw r11, 4(r0) | 304 | stw r11, 4(r0) |
305 | #else | ||
306 | mtspr SPRN_DAR, r10 | ||
307 | mtspr SPRN_SPRG2, r11 | ||
308 | #endif | ||
307 | mfspr r10, SPRN_SRR0 /* Get effective address of fault */ | 309 | mfspr r10, SPRN_SRR0 /* Get effective address of fault */ |
308 | #ifdef CONFIG_8xx_CPU15 | 310 | #ifdef CONFIG_8xx_CPU15 |
309 | addi r11, r10, 0x1000 | 311 | addi r11, r10, 0x1000 |
@@ -318,12 +320,16 @@ InstructionTLBMiss: | |||
318 | /* If we are faulting a kernel address, we have to use the | 320 | /* If we are faulting a kernel address, we have to use the |
319 | * kernel page tables. | 321 | * kernel page tables. |
320 | */ | 322 | */ |
323 | #ifdef CONFIG_MODULES | ||
324 | /* Only modules will cause ITLB Misses as we always | ||
325 | * pin the first 8MB of kernel memory */ | ||
321 | andi. r11, r10, 0x0800 /* Address >= 0x80000000 */ | 326 | andi. r11, r10, 0x0800 /* Address >= 0x80000000 */ |
322 | beq 3f | 327 | beq 3f |
323 | lis r11, swapper_pg_dir@h | 328 | lis r11, swapper_pg_dir@h |
324 | ori r11, r11, swapper_pg_dir@l | 329 | ori r11, r11, swapper_pg_dir@l |
325 | rlwimi r10, r11, 0, 2, 19 | 330 | rlwimi r10, r11, 0, 2, 19 |
326 | 3: | 331 | 3: |
332 | #endif | ||
327 | lwz r11, 0(r10) /* Get the level 1 entry */ | 333 | lwz r11, 0(r10) /* Get the level 1 entry */ |
328 | rlwinm. r10, r11,0,0,19 /* Extract page descriptor page address */ | 334 | rlwinm. r10, r11,0,0,19 /* Extract page descriptor page address */ |
329 | beq 2f /* If zero, don't try to find a pte */ | 335 | beq 2f /* If zero, don't try to find a pte */ |
@@ -339,31 +345,35 @@ InstructionTLBMiss: | |||
339 | mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ | 345 | mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ |
340 | lwz r10, 0(r11) /* Get the pte */ | 346 | lwz r10, 0(r11) /* Get the pte */ |
341 | 347 | ||
348 | #ifdef CONFIG_SWAP | ||
342 | andi. r11, r10, _PAGE_ACCESSED | _PAGE_PRESENT | 349 | andi. r11, r10, _PAGE_ACCESSED | _PAGE_PRESENT |
343 | cmpwi cr0, r11, _PAGE_ACCESSED | _PAGE_PRESENT | 350 | cmpwi cr0, r11, _PAGE_ACCESSED | _PAGE_PRESENT |
344 | bne- cr0, 2f | 351 | bne- cr0, 2f |
345 | 352 | #endif | |
346 | /* Clear PP lsb, 0x400 */ | ||
347 | rlwinm r10, r10, 0, 22, 20 | ||
348 | |||
349 | /* The Linux PTE won't go exactly into the MMU TLB. | 353 | /* The Linux PTE won't go exactly into the MMU TLB. |
350 | * Software indicator bits 22 and 28 must be clear. | 354 | * Software indicator bits 21 and 28 must be clear. |
351 | * Software indicator bits 24, 25, 26, and 27 must be | 355 | * Software indicator bits 24, 25, 26, and 27 must be |
352 | * set. All other Linux PTE bits control the behavior | 356 | * set. All other Linux PTE bits control the behavior |
353 | * of the MMU. | 357 | * of the MMU. |
354 | */ | 358 | */ |
355 | li r11, 0x00f0 | 359 | li r11, 0x00f0 |
356 | rlwimi r10, r11, 0, 24, 28 /* Set 24-27, clear 28 */ | 360 | rlwimi r10, r11, 0, 0x07f8 /* Set 24-27, clear 21-23,28 */ |
357 | DO_8xx_CPU6(0x2d80, r3) | 361 | DO_8xx_CPU6(0x2d80, r3) |
358 | mtspr SPRN_MI_RPN, r10 /* Update TLB entry */ | 362 | mtspr SPRN_MI_RPN, r10 /* Update TLB entry */ |
359 | 363 | ||
360 | mfspr r10, SPRN_M_TW /* Restore registers */ | 364 | /* Restore registers */ |
365 | #ifndef CONFIG_8xx_CPU6 | ||
366 | mfspr r10, SPRN_DAR | ||
367 | mtcr r10 | ||
368 | mtspr SPRN_DAR, r11 /* Tag DAR */ | ||
369 | mfspr r11, SPRN_SPRG2 | ||
370 | #else | ||
361 | lwz r11, 0(r0) | 371 | lwz r11, 0(r0) |
362 | mtcr r11 | 372 | mtcr r11 |
363 | lwz r11, 4(r0) | 373 | lwz r11, 4(r0) |
364 | #ifdef CONFIG_8xx_CPU6 | ||
365 | lwz r3, 8(r0) | 374 | lwz r3, 8(r0) |
366 | #endif | 375 | #endif |
376 | mfspr r10, SPRN_M_TW | ||
367 | rfi | 377 | rfi |
368 | 2: | 378 | 2: |
369 | mfspr r11, SPRN_SRR1 | 379 | mfspr r11, SPRN_SRR1 |
@@ -373,13 +383,20 @@ InstructionTLBMiss: | |||
373 | rlwinm r11, r11, 0, 0xffff | 383 | rlwinm r11, r11, 0, 0xffff |
374 | mtspr SPRN_SRR1, r11 | 384 | mtspr SPRN_SRR1, r11 |
375 | 385 | ||
376 | mfspr r10, SPRN_M_TW /* Restore registers */ | 386 | /* Restore registers */ |
387 | #ifndef CONFIG_8xx_CPU6 | ||
388 | mfspr r10, SPRN_DAR | ||
389 | mtcr r10 | ||
390 | li r11, 0x00f0 | ||
391 | mtspr SPRN_DAR, r11 /* Tag DAR */ | ||
392 | mfspr r11, SPRN_SPRG2 | ||
393 | #else | ||
377 | lwz r11, 0(r0) | 394 | lwz r11, 0(r0) |
378 | mtcr r11 | 395 | mtcr r11 |
379 | lwz r11, 4(r0) | 396 | lwz r11, 4(r0) |
380 | #ifdef CONFIG_8xx_CPU6 | ||
381 | lwz r3, 8(r0) | 397 | lwz r3, 8(r0) |
382 | #endif | 398 | #endif |
399 | mfspr r10, SPRN_M_TW | ||
383 | b InstructionAccess | 400 | b InstructionAccess |
384 | 401 | ||
385 | . = 0x1200 | 402 | . = 0x1200 |
@@ -390,8 +407,13 @@ DataStoreTLBMiss: | |||
390 | DO_8xx_CPU6(0x3f80, r3) | 407 | DO_8xx_CPU6(0x3f80, r3) |
391 | mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ | 408 | mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ |
392 | mfcr r10 | 409 | mfcr r10 |
410 | #ifdef CONFIG_8xx_CPU6 | ||
393 | stw r10, 0(r0) | 411 | stw r10, 0(r0) |
394 | stw r11, 4(r0) | 412 | stw r11, 4(r0) |
413 | #else | ||
414 | mtspr SPRN_DAR, r10 | ||
415 | mtspr SPRN_SPRG2, r11 | ||
416 | #endif | ||
395 | mfspr r10, SPRN_M_TWB /* Get level 1 table entry address */ | 417 | mfspr r10, SPRN_M_TWB /* Get level 1 table entry address */ |
396 | 418 | ||
397 | /* If we are faulting a kernel address, we have to use the | 419 | /* If we are faulting a kernel address, we have to use the |
@@ -438,15 +460,14 @@ DataStoreTLBMiss: | |||
438 | * r11 = ((r10 & PRESENT) & ((r10 & ACCESSED) >> 5)); | 460 | * r11 = ((r10 & PRESENT) & ((r10 & ACCESSED) >> 5)); |
439 | * r10 = (r10 & ~PRESENT) | r11; | 461 | * r10 = (r10 & ~PRESENT) | r11; |
440 | */ | 462 | */ |
463 | #ifdef CONFIG_SWAP | ||
441 | rlwinm r11, r10, 32-5, _PAGE_PRESENT | 464 | rlwinm r11, r10, 32-5, _PAGE_PRESENT |
442 | and r11, r11, r10 | 465 | and r11, r11, r10 |
443 | rlwimi r10, r11, 0, _PAGE_PRESENT | 466 | rlwimi r10, r11, 0, _PAGE_PRESENT |
444 | 467 | #endif | |
445 | /* Honour kernel RO, User NA */ | 468 | /* Honour kernel RO, User NA */ |
446 | /* 0x200 == Extended encoding, bit 22 */ | 469 | /* 0x200 == Extended encoding, bit 22 */ |
447 | /* r11 = (r10 & _PAGE_USER) >> 2 */ | 470 | rlwimi r10, r10, 32-2, 0x200 /* Copy USER to bit 22, 0x200 */ |
448 | rlwinm r11, r10, 32-2, 0x200 | ||
449 | or r10, r11, r10 | ||
450 | /* r11 = (r10 & _PAGE_RW) >> 1 */ | 471 | /* r11 = (r10 & _PAGE_RW) >> 1 */ |
451 | rlwinm r11, r10, 32-1, 0x200 | 472 | rlwinm r11, r10, 32-1, 0x200 |
452 | or r10, r11, r10 | 473 | or r10, r11, r10 |
@@ -460,18 +481,24 @@ DataStoreTLBMiss: | |||
460 | * of the MMU. | 481 | * of the MMU. |
461 | */ | 482 | */ |
462 | 2: li r11, 0x00f0 | 483 | 2: li r11, 0x00f0 |
463 | mtspr SPRN_DAR,r11 /* Tag DAR */ | ||
464 | rlwimi r10, r11, 0, 24, 28 /* Set 24-27, clear 28 */ | 484 | rlwimi r10, r11, 0, 24, 28 /* Set 24-27, clear 28 */ |
465 | DO_8xx_CPU6(0x3d80, r3) | 485 | DO_8xx_CPU6(0x3d80, r3) |
466 | mtspr SPRN_MD_RPN, r10 /* Update TLB entry */ | 486 | mtspr SPRN_MD_RPN, r10 /* Update TLB entry */ |
467 | 487 | ||
468 | mfspr r10, SPRN_M_TW /* Restore registers */ | 488 | /* Restore registers */ |
489 | #ifndef CONFIG_8xx_CPU6 | ||
490 | mfspr r10, SPRN_DAR | ||
491 | mtcr r10 | ||
492 | mtspr SPRN_DAR, r11 /* Tag DAR */ | ||
493 | mfspr r11, SPRN_SPRG2 | ||
494 | #else | ||
495 | mtspr SPRN_DAR, r11 /* Tag DAR */ | ||
469 | lwz r11, 0(r0) | 496 | lwz r11, 0(r0) |
470 | mtcr r11 | 497 | mtcr r11 |
471 | lwz r11, 4(r0) | 498 | lwz r11, 4(r0) |
472 | #ifdef CONFIG_8xx_CPU6 | ||
473 | lwz r3, 8(r0) | 499 | lwz r3, 8(r0) |
474 | #endif | 500 | #endif |
501 | mfspr r10, SPRN_M_TW | ||
475 | rfi | 502 | rfi |
476 | 503 | ||
477 | /* This is an instruction TLB error on the MPC8xx. This could be due | 504 | /* This is an instruction TLB error on the MPC8xx. This could be due |
@@ -683,9 +710,6 @@ start_here: | |||
683 | tophys(r4,r2) | 710 | tophys(r4,r2) |
684 | addi r4,r4,THREAD /* init task's THREAD */ | 711 | addi r4,r4,THREAD /* init task's THREAD */ |
685 | mtspr SPRN_SPRG_THREAD,r4 | 712 | mtspr SPRN_SPRG_THREAD,r4 |
686 | li r3,0 | ||
687 | /* XXX What is that for ? SPRG2 appears otherwise unused on 8xx */ | ||
688 | mtspr SPRN_SPRG2,r3 /* 0 => r1 has kernel sp */ | ||
689 | 713 | ||
690 | /* stack */ | 714 | /* stack */ |
691 | lis r1,init_thread_union@ha | 715 | lis r1,init_thread_union@ha |
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h index 50504ae39cb7..a0bf158c8b47 100644 --- a/arch/powerpc/kernel/head_booke.h +++ b/arch/powerpc/kernel/head_booke.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __HEAD_BOOKE_H__ | 1 | #ifndef __HEAD_BOOKE_H__ |
2 | #define __HEAD_BOOKE_H__ | 2 | #define __HEAD_BOOKE_H__ |
3 | 3 | ||
4 | #include <asm/ptrace.h> /* for STACK_FRAME_REGS_MARKER */ | ||
4 | /* | 5 | /* |
5 | * Macros used for common Book-e exception handling | 6 | * Macros used for common Book-e exception handling |
6 | */ | 7 | */ |
@@ -48,6 +49,9 @@ | |||
48 | stw r10,0(r11); \ | 49 | stw r10,0(r11); \ |
49 | rlwinm r9,r9,0,14,12; /* clear MSR_WE (necessary?) */\ | 50 | rlwinm r9,r9,0,14,12; /* clear MSR_WE (necessary?) */\ |
50 | stw r0,GPR0(r11); \ | 51 | stw r0,GPR0(r11); \ |
52 | lis r10, STACK_FRAME_REGS_MARKER@ha;/* exception frame marker */ \ | ||
53 | addi r10, r10, STACK_FRAME_REGS_MARKER@l; \ | ||
54 | stw r10, 8(r11); \ | ||
51 | SAVE_4GPRS(3, r11); \ | 55 | SAVE_4GPRS(3, r11); \ |
52 | SAVE_2GPRS(7, r11) | 56 | SAVE_2GPRS(7, r11) |
53 | 57 | ||
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S index 25793bb0e782..4faeba247854 100644 --- a/arch/powerpc/kernel/head_fsl_booke.S +++ b/arch/powerpc/kernel/head_fsl_booke.S | |||
@@ -94,204 +94,10 @@ _ENTRY(_start); | |||
94 | */ | 94 | */ |
95 | 95 | ||
96 | _ENTRY(__early_start) | 96 | _ENTRY(__early_start) |
97 | /* 1. Find the index of the entry we're executing in */ | ||
98 | bl invstr /* Find our address */ | ||
99 | invstr: mflr r6 /* Make it accessible */ | ||
100 | mfmsr r7 | ||
101 | rlwinm r4,r7,27,31,31 /* extract MSR[IS] */ | ||
102 | mfspr r7, SPRN_PID0 | ||
103 | slwi r7,r7,16 | ||
104 | or r7,r7,r4 | ||
105 | mtspr SPRN_MAS6,r7 | ||
106 | tlbsx 0,r6 /* search MSR[IS], SPID=PID0 */ | ||
107 | mfspr r7,SPRN_MAS1 | ||
108 | andis. r7,r7,MAS1_VALID@h | ||
109 | bne match_TLB | ||
110 | |||
111 | mfspr r7,SPRN_MMUCFG | ||
112 | rlwinm r7,r7,21,28,31 /* extract MMUCFG[NPIDS] */ | ||
113 | cmpwi r7,3 | ||
114 | bne match_TLB /* skip if NPIDS != 3 */ | ||
115 | |||
116 | mfspr r7,SPRN_PID1 | ||
117 | slwi r7,r7,16 | ||
118 | or r7,r7,r4 | ||
119 | mtspr SPRN_MAS6,r7 | ||
120 | tlbsx 0,r6 /* search MSR[IS], SPID=PID1 */ | ||
121 | mfspr r7,SPRN_MAS1 | ||
122 | andis. r7,r7,MAS1_VALID@h | ||
123 | bne match_TLB | ||
124 | mfspr r7, SPRN_PID2 | ||
125 | slwi r7,r7,16 | ||
126 | or r7,r7,r4 | ||
127 | mtspr SPRN_MAS6,r7 | ||
128 | tlbsx 0,r6 /* Fall through, we had to match */ | ||
129 | |||
130 | match_TLB: | ||
131 | mfspr r7,SPRN_MAS0 | ||
132 | rlwinm r3,r7,16,20,31 /* Extract MAS0(Entry) */ | ||
133 | |||
134 | mfspr r7,SPRN_MAS1 /* Insure IPROT set */ | ||
135 | oris r7,r7,MAS1_IPROT@h | ||
136 | mtspr SPRN_MAS1,r7 | ||
137 | tlbwe | ||
138 | 97 | ||
139 | /* 2. Invalidate all entries except the entry we're executing in */ | 98 | #define ENTRY_MAPPING_BOOT_SETUP |
140 | mfspr r9,SPRN_TLB1CFG | 99 | #include "fsl_booke_entry_mapping.S" |
141 | andi. r9,r9,0xfff | 100 | #undef ENTRY_MAPPING_BOOT_SETUP |
142 | li r6,0 /* Set Entry counter to 0 */ | ||
143 | 1: lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
144 | rlwimi r7,r6,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r6) */ | ||
145 | mtspr SPRN_MAS0,r7 | ||
146 | tlbre | ||
147 | mfspr r7,SPRN_MAS1 | ||
148 | rlwinm r7,r7,0,2,31 /* Clear MAS1 Valid and IPROT */ | ||
149 | cmpw r3,r6 | ||
150 | beq skpinv /* Dont update the current execution TLB */ | ||
151 | mtspr SPRN_MAS1,r7 | ||
152 | tlbwe | ||
153 | isync | ||
154 | skpinv: addi r6,r6,1 /* Increment */ | ||
155 | cmpw r6,r9 /* Are we done? */ | ||
156 | bne 1b /* If not, repeat */ | ||
157 | |||
158 | /* Invalidate TLB0 */ | ||
159 | li r6,0x04 | ||
160 | tlbivax 0,r6 | ||
161 | TLBSYNC | ||
162 | /* Invalidate TLB1 */ | ||
163 | li r6,0x0c | ||
164 | tlbivax 0,r6 | ||
165 | TLBSYNC | ||
166 | |||
167 | /* 3. Setup a temp mapping and jump to it */ | ||
168 | andi. r5, r3, 0x1 /* Find an entry not used and is non-zero */ | ||
169 | addi r5, r5, 0x1 | ||
170 | lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
171 | rlwimi r7,r3,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r3) */ | ||
172 | mtspr SPRN_MAS0,r7 | ||
173 | tlbre | ||
174 | |||
175 | /* grab and fixup the RPN */ | ||
176 | mfspr r6,SPRN_MAS1 /* extract MAS1[SIZE] */ | ||
177 | rlwinm r6,r6,25,27,31 | ||
178 | li r8,-1 | ||
179 | addi r6,r6,10 | ||
180 | slw r6,r8,r6 /* convert to mask */ | ||
181 | |||
182 | bl 1f /* Find our address */ | ||
183 | 1: mflr r7 | ||
184 | |||
185 | mfspr r8,SPRN_MAS3 | ||
186 | #ifdef CONFIG_PHYS_64BIT | ||
187 | mfspr r23,SPRN_MAS7 | ||
188 | #endif | ||
189 | and r8,r6,r8 | ||
190 | subfic r9,r6,-4096 | ||
191 | and r9,r9,r7 | ||
192 | |||
193 | or r25,r8,r9 | ||
194 | ori r8,r25,(MAS3_SX|MAS3_SW|MAS3_SR) | ||
195 | |||
196 | /* Just modify the entry ID and EPN for the temp mapping */ | ||
197 | lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
198 | rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */ | ||
199 | mtspr SPRN_MAS0,r7 | ||
200 | xori r6,r4,1 /* Setup TMP mapping in the other Address space */ | ||
201 | slwi r6,r6,12 | ||
202 | oris r6,r6,(MAS1_VALID|MAS1_IPROT)@h | ||
203 | ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_4K))@l | ||
204 | mtspr SPRN_MAS1,r6 | ||
205 | mfspr r6,SPRN_MAS2 | ||
206 | li r7,0 /* temp EPN = 0 */ | ||
207 | rlwimi r7,r6,0,20,31 | ||
208 | mtspr SPRN_MAS2,r7 | ||
209 | mtspr SPRN_MAS3,r8 | ||
210 | tlbwe | ||
211 | |||
212 | xori r6,r4,1 | ||
213 | slwi r6,r6,5 /* setup new context with other address space */ | ||
214 | bl 1f /* Find our address */ | ||
215 | 1: mflr r9 | ||
216 | rlwimi r7,r9,0,20,31 | ||
217 | addi r7,r7,(2f - 1b) | ||
218 | mtspr SPRN_SRR0,r7 | ||
219 | mtspr SPRN_SRR1,r6 | ||
220 | rfi | ||
221 | 2: | ||
222 | /* 4. Clear out PIDs & Search info */ | ||
223 | li r6,0 | ||
224 | mtspr SPRN_MAS6,r6 | ||
225 | mtspr SPRN_PID0,r6 | ||
226 | |||
227 | mfspr r7,SPRN_MMUCFG | ||
228 | rlwinm r7,r7,21,28,31 /* extract MMUCFG[NPIDS] */ | ||
229 | cmpwi r7,3 | ||
230 | bne 2f /* skip if NPIDS != 3 */ | ||
231 | |||
232 | mtspr SPRN_PID1,r6 | ||
233 | mtspr SPRN_PID2,r6 | ||
234 | |||
235 | /* 5. Invalidate mapping we started in */ | ||
236 | 2: | ||
237 | lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
238 | rlwimi r7,r3,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r3) */ | ||
239 | mtspr SPRN_MAS0,r7 | ||
240 | tlbre | ||
241 | mfspr r6,SPRN_MAS1 | ||
242 | rlwinm r6,r6,0,2,0 /* clear IPROT */ | ||
243 | mtspr SPRN_MAS1,r6 | ||
244 | tlbwe | ||
245 | /* Invalidate TLB1 */ | ||
246 | li r9,0x0c | ||
247 | tlbivax 0,r9 | ||
248 | TLBSYNC | ||
249 | |||
250 | /* The mapping only needs to be cache-coherent on SMP */ | ||
251 | #ifdef CONFIG_SMP | ||
252 | #define M_IF_SMP MAS2_M | ||
253 | #else | ||
254 | #define M_IF_SMP 0 | ||
255 | #endif | ||
256 | |||
257 | /* 6. Setup KERNELBASE mapping in TLB1[0] */ | ||
258 | lis r6,0x1000 /* Set MAS0(TLBSEL) = TLB1(1), ESEL = 0 */ | ||
259 | mtspr SPRN_MAS0,r6 | ||
260 | lis r6,(MAS1_VALID|MAS1_IPROT)@h | ||
261 | ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_64M))@l | ||
262 | mtspr SPRN_MAS1,r6 | ||
263 | lis r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@h | ||
264 | ori r6,r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@l | ||
265 | mtspr SPRN_MAS2,r6 | ||
266 | mtspr SPRN_MAS3,r8 | ||
267 | tlbwe | ||
268 | |||
269 | /* 7. Jump to KERNELBASE mapping */ | ||
270 | lis r6,(KERNELBASE & ~0xfff)@h | ||
271 | ori r6,r6,(KERNELBASE & ~0xfff)@l | ||
272 | lis r7,MSR_KERNEL@h | ||
273 | ori r7,r7,MSR_KERNEL@l | ||
274 | bl 1f /* Find our address */ | ||
275 | 1: mflr r9 | ||
276 | rlwimi r6,r9,0,20,31 | ||
277 | addi r6,r6,(2f - 1b) | ||
278 | mtspr SPRN_SRR0,r6 | ||
279 | mtspr SPRN_SRR1,r7 | ||
280 | rfi /* start execution out of TLB1[0] entry */ | ||
281 | |||
282 | /* 8. Clear out the temp mapping */ | ||
283 | 2: lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */ | ||
284 | rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */ | ||
285 | mtspr SPRN_MAS0,r7 | ||
286 | tlbre | ||
287 | mfspr r8,SPRN_MAS1 | ||
288 | rlwinm r8,r8,0,2,0 /* clear IPROT */ | ||
289 | mtspr SPRN_MAS1,r8 | ||
290 | tlbwe | ||
291 | /* Invalidate TLB1 */ | ||
292 | li r9,0x0c | ||
293 | tlbivax 0,r9 | ||
294 | TLBSYNC | ||
295 | 101 | ||
296 | /* Establish the interrupt vector offsets */ | 102 | /* Establish the interrupt vector offsets */ |
297 | SET_IVOR(0, CriticalInput); | 103 | SET_IVOR(0, CriticalInput); |
@@ -639,6 +445,13 @@ interrupt_base: | |||
639 | rlwinm r12,r12,0,16,1 | 445 | rlwinm r12,r12,0,16,1 |
640 | mtspr SPRN_MAS1,r12 | 446 | mtspr SPRN_MAS1,r12 |
641 | 447 | ||
448 | /* Make up the required permissions for kernel code */ | ||
449 | #ifdef CONFIG_PTE_64BIT | ||
450 | li r13,_PAGE_PRESENT | _PAGE_BAP_SX | ||
451 | oris r13,r13,_PAGE_ACCESSED@h | ||
452 | #else | ||
453 | li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC | ||
454 | #endif | ||
642 | b 4f | 455 | b 4f |
643 | 456 | ||
644 | /* Get the PGD for the current thread */ | 457 | /* Get the PGD for the current thread */ |
@@ -646,15 +459,15 @@ interrupt_base: | |||
646 | mfspr r11,SPRN_SPRG_THREAD | 459 | mfspr r11,SPRN_SPRG_THREAD |
647 | lwz r11,PGDIR(r11) | 460 | lwz r11,PGDIR(r11) |
648 | 461 | ||
649 | 4: | 462 | /* Make up the required permissions for user code */ |
650 | /* Make up the required permissions */ | ||
651 | #ifdef CONFIG_PTE_64BIT | 463 | #ifdef CONFIG_PTE_64BIT |
652 | li r13,_PAGE_PRESENT | _PAGE_EXEC | 464 | li r13,_PAGE_PRESENT | _PAGE_BAP_UX |
653 | oris r13,r13,_PAGE_ACCESSED@h | 465 | oris r13,r13,_PAGE_ACCESSED@h |
654 | #else | 466 | #else |
655 | li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC | 467 | li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC |
656 | #endif | 468 | #endif |
657 | 469 | ||
470 | 4: | ||
658 | FIND_PTE | 471 | FIND_PTE |
659 | andc. r13,r13,r11 /* Check permission */ | 472 | andc. r13,r13,r11 /* Check permission */ |
660 | 473 | ||
@@ -747,9 +560,6 @@ finish_tlb_load: | |||
747 | #else | 560 | #else |
748 | rlwimi r12, r11, 26, 27, 31 /* extract WIMGE from pte */ | 561 | rlwimi r12, r11, 26, 27, 31 /* extract WIMGE from pte */ |
749 | #endif | 562 | #endif |
750 | #ifdef CONFIG_SMP | ||
751 | ori r12, r12, MAS2_M | ||
752 | #endif | ||
753 | mtspr SPRN_MAS2, r12 | 563 | mtspr SPRN_MAS2, r12 |
754 | 564 | ||
755 | #ifdef CONFIG_PTE_64BIT | 565 | #ifdef CONFIG_PTE_64BIT |
@@ -887,13 +697,17 @@ KernelSPE: | |||
887 | lwz r3,_MSR(r1) | 697 | lwz r3,_MSR(r1) |
888 | oris r3,r3,MSR_SPE@h | 698 | oris r3,r3,MSR_SPE@h |
889 | stw r3,_MSR(r1) /* enable use of SPE after return */ | 699 | stw r3,_MSR(r1) /* enable use of SPE after return */ |
700 | #ifdef CONFIG_PRINTK | ||
890 | lis r3,87f@h | 701 | lis r3,87f@h |
891 | ori r3,r3,87f@l | 702 | ori r3,r3,87f@l |
892 | mr r4,r2 /* current */ | 703 | mr r4,r2 /* current */ |
893 | lwz r5,_NIP(r1) | 704 | lwz r5,_NIP(r1) |
894 | bl printk | 705 | bl printk |
706 | #endif | ||
895 | b ret_from_except | 707 | b ret_from_except |
708 | #ifdef CONFIG_PRINTK | ||
896 | 87: .string "SPE used in kernel (task=%p, pc=%x) \n" | 709 | 87: .string "SPE used in kernel (task=%p, pc=%x) \n" |
710 | #endif | ||
897 | .align 4,0 | 711 | .align 4,0 |
898 | 712 | ||
899 | #endif /* CONFIG_SPE */ | 713 | #endif /* CONFIG_SPE */ |
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c index a4c8b38b0ba1..21266abfbda6 100644 --- a/arch/powerpc/kernel/ibmebus.c +++ b/arch/powerpc/kernel/ibmebus.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/dma-mapping.h> | 42 | #include <linux/dma-mapping.h> |
43 | #include <linux/interrupt.h> | 43 | #include <linux/interrupt.h> |
44 | #include <linux/of.h> | 44 | #include <linux/of.h> |
45 | #include <linux/slab.h> | ||
45 | #include <linux/of_platform.h> | 46 | #include <linux/of_platform.h> |
46 | #include <asm/ibmebus.h> | 47 | #include <asm/ibmebus.h> |
47 | #include <asm/abs_addr.h> | 48 | #include <asm/abs_addr.h> |
@@ -139,14 +140,14 @@ static struct dma_map_ops ibmebus_dma_ops = { | |||
139 | 140 | ||
140 | static int ibmebus_match_path(struct device *dev, void *data) | 141 | static int ibmebus_match_path(struct device *dev, void *data) |
141 | { | 142 | { |
142 | struct device_node *dn = to_of_device(dev)->node; | 143 | struct device_node *dn = to_of_device(dev)->dev.of_node; |
143 | return (dn->full_name && | 144 | return (dn->full_name && |
144 | (strcasecmp((char *)data, dn->full_name) == 0)); | 145 | (strcasecmp((char *)data, dn->full_name) == 0)); |
145 | } | 146 | } |
146 | 147 | ||
147 | static int ibmebus_match_node(struct device *dev, void *data) | 148 | static int ibmebus_match_node(struct device *dev, void *data) |
148 | { | 149 | { |
149 | return to_of_device(dev)->node == data; | 150 | return to_of_device(dev)->dev.of_node == data; |
150 | } | 151 | } |
151 | 152 | ||
152 | static int ibmebus_create_device(struct device_node *dn) | 153 | static int ibmebus_create_device(struct device_node *dn) |
@@ -201,7 +202,7 @@ static int ibmebus_create_devices(const struct of_device_id *matches) | |||
201 | int ibmebus_register_driver(struct of_platform_driver *drv) | 202 | int ibmebus_register_driver(struct of_platform_driver *drv) |
202 | { | 203 | { |
203 | /* If the driver uses devices that ibmebus doesn't know, add them */ | 204 | /* If the driver uses devices that ibmebus doesn't know, add them */ |
204 | ibmebus_create_devices(drv->match_table); | 205 | ibmebus_create_devices(drv->driver.of_match_table); |
205 | 206 | ||
206 | return of_register_driver(drv, &ibmebus_bus_type); | 207 | return of_register_driver(drv, &ibmebus_bus_type); |
207 | } | 208 | } |
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index 5547ae6e6b0b..d5839179ec77 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c | |||
@@ -42,26 +42,10 @@ | |||
42 | 42 | ||
43 | #define DBG(...) | 43 | #define DBG(...) |
44 | 44 | ||
45 | #ifdef CONFIG_IOMMU_VMERGE | 45 | static int novmerge; |
46 | static int novmerge = 0; | ||
47 | #else | ||
48 | static int novmerge = 1; | ||
49 | #endif | ||
50 | |||
51 | static int protect4gb = 1; | ||
52 | 46 | ||
53 | static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); | 47 | static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); |
54 | 48 | ||
55 | static int __init setup_protect4gb(char *str) | ||
56 | { | ||
57 | if (strcmp(str, "on") == 0) | ||
58 | protect4gb = 1; | ||
59 | else if (strcmp(str, "off") == 0) | ||
60 | protect4gb = 0; | ||
61 | |||
62 | return 1; | ||
63 | } | ||
64 | |||
65 | static int __init setup_iommu(char *str) | 49 | static int __init setup_iommu(char *str) |
66 | { | 50 | { |
67 | if (!strcmp(str, "novmerge")) | 51 | if (!strcmp(str, "novmerge")) |
@@ -71,7 +55,6 @@ static int __init setup_iommu(char *str) | |||
71 | return 1; | 55 | return 1; |
72 | } | 56 | } |
73 | 57 | ||
74 | __setup("protect4gb=", setup_protect4gb); | ||
75 | __setup("iommu=", setup_iommu); | 58 | __setup("iommu=", setup_iommu); |
76 | 59 | ||
77 | static unsigned long iommu_range_alloc(struct device *dev, | 60 | static unsigned long iommu_range_alloc(struct device *dev, |
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 64f6f2031c22..77be3d058a65 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
@@ -53,7 +53,6 @@ | |||
53 | #include <linux/bootmem.h> | 53 | #include <linux/bootmem.h> |
54 | #include <linux/pci.h> | 54 | #include <linux/pci.h> |
55 | #include <linux/debugfs.h> | 55 | #include <linux/debugfs.h> |
56 | #include <linux/perf_event.h> | ||
57 | 56 | ||
58 | #include <asm/uaccess.h> | 57 | #include <asm/uaccess.h> |
59 | #include <asm/system.h> | 58 | #include <asm/system.h> |
@@ -145,11 +144,6 @@ notrace void raw_local_irq_restore(unsigned long en) | |||
145 | } | 144 | } |
146 | #endif /* CONFIG_PPC_STD_MMU_64 */ | 145 | #endif /* CONFIG_PPC_STD_MMU_64 */ |
147 | 146 | ||
148 | if (test_perf_event_pending()) { | ||
149 | clear_perf_event_pending(); | ||
150 | perf_event_do_pending(); | ||
151 | } | ||
152 | |||
153 | /* | 147 | /* |
154 | * if (get_paca()->hard_enabled) return; | 148 | * if (get_paca()->hard_enabled) return; |
155 | * But again we need to take care that gcc gets hard_enabled directly | 149 | * But again we need to take care that gcc gets hard_enabled directly |
@@ -290,37 +284,42 @@ u64 arch_irq_stat_cpu(unsigned int cpu) | |||
290 | } | 284 | } |
291 | 285 | ||
292 | #ifdef CONFIG_HOTPLUG_CPU | 286 | #ifdef CONFIG_HOTPLUG_CPU |
293 | void fixup_irqs(cpumask_t map) | 287 | void fixup_irqs(const struct cpumask *map) |
294 | { | 288 | { |
295 | struct irq_desc *desc; | 289 | struct irq_desc *desc; |
296 | unsigned int irq; | 290 | unsigned int irq; |
297 | static int warned; | 291 | static int warned; |
292 | cpumask_var_t mask; | ||
298 | 293 | ||
299 | for_each_irq(irq) { | 294 | alloc_cpumask_var(&mask, GFP_KERNEL); |
300 | cpumask_t mask; | ||
301 | 295 | ||
296 | for_each_irq(irq) { | ||
302 | desc = irq_to_desc(irq); | 297 | desc = irq_to_desc(irq); |
303 | if (desc && desc->status & IRQ_PER_CPU) | 298 | if (!desc) |
299 | continue; | ||
300 | |||
301 | if (desc->status & IRQ_PER_CPU) | ||
304 | continue; | 302 | continue; |
305 | 303 | ||
306 | cpumask_and(&mask, desc->affinity, &map); | 304 | cpumask_and(mask, desc->affinity, map); |
307 | if (any_online_cpu(mask) == NR_CPUS) { | 305 | if (cpumask_any(mask) >= nr_cpu_ids) { |
308 | printk("Breaking affinity for irq %i\n", irq); | 306 | printk("Breaking affinity for irq %i\n", irq); |
309 | mask = map; | 307 | cpumask_copy(mask, map); |
310 | } | 308 | } |
311 | if (desc->chip->set_affinity) | 309 | if (desc->chip->set_affinity) |
312 | desc->chip->set_affinity(irq, &mask); | 310 | desc->chip->set_affinity(irq, mask); |
313 | else if (desc->action && !(warned++)) | 311 | else if (desc->action && !(warned++)) |
314 | printk("Cannot set affinity for irq %i\n", irq); | 312 | printk("Cannot set affinity for irq %i\n", irq); |
315 | } | 313 | } |
316 | 314 | ||
315 | free_cpumask_var(mask); | ||
316 | |||
317 | local_irq_enable(); | 317 | local_irq_enable(); |
318 | mdelay(1); | 318 | mdelay(1); |
319 | local_irq_disable(); | 319 | local_irq_disable(); |
320 | } | 320 | } |
321 | #endif | 321 | #endif |
322 | 322 | ||
323 | #ifdef CONFIG_IRQSTACKS | ||
324 | static inline void handle_one_irq(unsigned int irq) | 323 | static inline void handle_one_irq(unsigned int irq) |
325 | { | 324 | { |
326 | struct thread_info *curtp, *irqtp; | 325 | struct thread_info *curtp, *irqtp; |
@@ -361,12 +360,6 @@ static inline void handle_one_irq(unsigned int irq) | |||
361 | if (irqtp->flags) | 360 | if (irqtp->flags) |
362 | set_bits(irqtp->flags, &curtp->flags); | 361 | set_bits(irqtp->flags, &curtp->flags); |
363 | } | 362 | } |
364 | #else | ||
365 | static inline void handle_one_irq(unsigned int irq) | ||
366 | { | ||
367 | generic_handle_irq(irq); | ||
368 | } | ||
369 | #endif | ||
370 | 363 | ||
371 | static inline void check_stack_overflow(void) | 364 | static inline void check_stack_overflow(void) |
372 | { | 365 | { |
@@ -458,7 +451,6 @@ void exc_lvl_ctx_init(void) | |||
458 | } | 451 | } |
459 | #endif | 452 | #endif |
460 | 453 | ||
461 | #ifdef CONFIG_IRQSTACKS | ||
462 | struct thread_info *softirq_ctx[NR_CPUS] __read_mostly; | 454 | struct thread_info *softirq_ctx[NR_CPUS] __read_mostly; |
463 | struct thread_info *hardirq_ctx[NR_CPUS] __read_mostly; | 455 | struct thread_info *hardirq_ctx[NR_CPUS] __read_mostly; |
464 | 456 | ||
@@ -495,10 +487,6 @@ static inline void do_softirq_onstack(void) | |||
495 | irqtp->task = NULL; | 487 | irqtp->task = NULL; |
496 | } | 488 | } |
497 | 489 | ||
498 | #else | ||
499 | #define do_softirq_onstack() __do_softirq() | ||
500 | #endif /* CONFIG_IRQSTACKS */ | ||
501 | |||
502 | void do_softirq(void) | 490 | void do_softirq(void) |
503 | { | 491 | { |
504 | unsigned long flags; | 492 | unsigned long flags; |
diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c index 41bada0298c8..82a7b228c81a 100644 --- a/arch/powerpc/kernel/kgdb.c +++ b/arch/powerpc/kernel/kgdb.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/signal.h> | 21 | #include <linux/signal.h> |
22 | #include <linux/ptrace.h> | 22 | #include <linux/ptrace.h> |
23 | #include <linux/kdebug.h> | ||
23 | #include <asm/current.h> | 24 | #include <asm/current.h> |
24 | #include <asm/processor.h> | 25 | #include <asm/processor.h> |
25 | #include <asm/machdep.h> | 26 | #include <asm/machdep.h> |
@@ -115,7 +116,8 @@ void kgdb_roundup_cpus(unsigned long flags) | |||
115 | /* KGDB functions to use existing PowerPC64 hooks. */ | 116 | /* KGDB functions to use existing PowerPC64 hooks. */ |
116 | static int kgdb_debugger(struct pt_regs *regs) | 117 | static int kgdb_debugger(struct pt_regs *regs) |
117 | { | 118 | { |
118 | return kgdb_handle_exception(0, computeSignal(TRAP(regs)), 0, regs); | 119 | return !kgdb_handle_exception(1, computeSignal(TRAP(regs)), |
120 | DIE_OOPS, regs); | ||
119 | } | 121 | } |
120 | 122 | ||
121 | static int kgdb_handle_breakpoint(struct pt_regs *regs) | 123 | static int kgdb_handle_breakpoint(struct pt_regs *regs) |
@@ -123,7 +125,7 @@ static int kgdb_handle_breakpoint(struct pt_regs *regs) | |||
123 | if (user_mode(regs)) | 125 | if (user_mode(regs)) |
124 | return 0; | 126 | return 0; |
125 | 127 | ||
126 | if (kgdb_handle_exception(0, SIGTRAP, 0, regs) != 0) | 128 | if (kgdb_handle_exception(1, SIGTRAP, 0, regs) != 0) |
127 | return 0; | 129 | return 0; |
128 | 130 | ||
129 | if (*(u32 *) (regs->nip) == *(u32 *) (&arch_kgdb_ops.gdb_bpt_instr)) | 131 | if (*(u32 *) (regs->nip) == *(u32 *) (&arch_kgdb_ops.gdb_bpt_instr)) |
@@ -309,6 +311,11 @@ void gdb_regs_to_pt_regs(unsigned long *gdb_regs, struct pt_regs *regs) | |||
309 | (unsigned long)(((void *)gdb_regs) + NUMREGBYTES)); | 311 | (unsigned long)(((void *)gdb_regs) + NUMREGBYTES)); |
310 | } | 312 | } |
311 | 313 | ||
314 | void kgdb_arch_set_pc(struct pt_regs *regs, unsigned long pc) | ||
315 | { | ||
316 | regs->nip = pc; | ||
317 | } | ||
318 | |||
312 | /* | 319 | /* |
313 | * This function does PowerPC specific procesing for interfacing to gdb. | 320 | * This function does PowerPC specific procesing for interfacing to gdb. |
314 | */ | 321 | */ |
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c index 3fd1af902112..bc47352deb1f 100644 --- a/arch/powerpc/kernel/kprobes.c +++ b/arch/powerpc/kernel/kprobes.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/preempt.h> | 31 | #include <linux/preempt.h> |
32 | #include <linux/module.h> | 32 | #include <linux/module.h> |
33 | #include <linux/kdebug.h> | 33 | #include <linux/kdebug.h> |
34 | #include <linux/slab.h> | ||
34 | #include <asm/cacheflush.h> | 35 | #include <asm/cacheflush.h> |
35 | #include <asm/sstep.h> | 36 | #include <asm/sstep.h> |
36 | #include <asm/uaccess.h> | 37 | #include <asm/uaccess.h> |
@@ -113,6 +114,9 @@ static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | |||
113 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS | 114 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS |
114 | regs->msr &= ~MSR_CE; | 115 | regs->msr &= ~MSR_CE; |
115 | mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | DBCR0_IC | DBCR0_IDM); | 116 | mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | DBCR0_IC | DBCR0_IDM); |
117 | #ifdef CONFIG_PPC_47x | ||
118 | isync(); | ||
119 | #endif | ||
116 | #endif | 120 | #endif |
117 | 121 | ||
118 | /* | 122 | /* |
@@ -374,17 +378,6 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p, | |||
374 | * single-stepped a copy of the instruction. The address of this | 378 | * single-stepped a copy of the instruction. The address of this |
375 | * copy is p->ainsn.insn. | 379 | * copy is p->ainsn.insn. |
376 | */ | 380 | */ |
377 | static void __kprobes resume_execution(struct kprobe *p, struct pt_regs *regs) | ||
378 | { | ||
379 | int ret; | ||
380 | unsigned int insn = *p->ainsn.insn; | ||
381 | |||
382 | regs->nip = (unsigned long)p->addr; | ||
383 | ret = emulate_step(regs, insn); | ||
384 | if (ret == 0) | ||
385 | regs->nip = (unsigned long)p->addr + 4; | ||
386 | } | ||
387 | |||
388 | static int __kprobes post_kprobe_handler(struct pt_regs *regs) | 381 | static int __kprobes post_kprobe_handler(struct pt_regs *regs) |
389 | { | 382 | { |
390 | struct kprobe *cur = kprobe_running(); | 383 | struct kprobe *cur = kprobe_running(); |
@@ -402,7 +395,8 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) | |||
402 | cur->post_handler(cur, regs, 0); | 395 | cur->post_handler(cur, regs, 0); |
403 | } | 396 | } |
404 | 397 | ||
405 | resume_execution(cur, regs); | 398 | /* Adjust nip to after the single-stepped instruction */ |
399 | regs->nip = (unsigned long)cur->addr + 4; | ||
406 | regs->msr |= kcb->kprobe_saved_msr; | 400 | regs->msr |= kcb->kprobe_saved_msr; |
407 | 401 | ||
408 | /*Restore back the original saved kprobes variables and continue. */ | 402 | /*Restore back the original saved kprobes variables and continue. */ |
diff --git a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c index d09d1c615150..50362b6ef6e9 100644 --- a/arch/powerpc/kernel/lparcfg.c +++ b/arch/powerpc/kernel/lparcfg.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/proc_fs.h> | 24 | #include <linux/proc_fs.h> |
25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
26 | #include <linux/seq_file.h> | 26 | #include <linux/seq_file.h> |
27 | #include <linux/slab.h> | ||
27 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
28 | #include <asm/iseries/hv_lp_config.h> | 29 | #include <asm/iseries/hv_lp_config.h> |
29 | #include <asm/lppaca.h> | 30 | #include <asm/lppaca.h> |
@@ -37,7 +38,7 @@ | |||
37 | #include <asm/vio.h> | 38 | #include <asm/vio.h> |
38 | #include <asm/mmu.h> | 39 | #include <asm/mmu.h> |
39 | 40 | ||
40 | #define MODULE_VERS "1.8" | 41 | #define MODULE_VERS "1.9" |
41 | #define MODULE_NAME "lparcfg" | 42 | #define MODULE_NAME "lparcfg" |
42 | 43 | ||
43 | /* #define LPARCFG_DEBUG */ | 44 | /* #define LPARCFG_DEBUG */ |
@@ -486,6 +487,14 @@ static void splpar_dispatch_data(struct seq_file *m) | |||
486 | seq_printf(m, "dispatch_dispersions=%lu\n", dispatch_dispersions); | 487 | seq_printf(m, "dispatch_dispersions=%lu\n", dispatch_dispersions); |
487 | } | 488 | } |
488 | 489 | ||
490 | static void parse_em_data(struct seq_file *m) | ||
491 | { | ||
492 | unsigned long retbuf[PLPAR_HCALL_BUFSIZE]; | ||
493 | |||
494 | if (plpar_hcall(H_GET_EM_PARMS, retbuf) == H_SUCCESS) | ||
495 | seq_printf(m, "power_mode_data=%016lx\n", retbuf[0]); | ||
496 | } | ||
497 | |||
489 | static int pseries_lparcfg_data(struct seq_file *m, void *v) | 498 | static int pseries_lparcfg_data(struct seq_file *m, void *v) |
490 | { | 499 | { |
491 | int partition_potential_processors; | 500 | int partition_potential_processors; |
@@ -540,6 +549,8 @@ static int pseries_lparcfg_data(struct seq_file *m, void *v) | |||
540 | 549 | ||
541 | seq_printf(m, "slb_size=%d\n", mmu_slb_size); | 550 | seq_printf(m, "slb_size=%d\n", mmu_slb_size); |
542 | 551 | ||
552 | parse_em_data(m); | ||
553 | |||
543 | return 0; | 554 | return 0; |
544 | } | 555 | } |
545 | 556 | ||
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c index bb3d893a8353..89f005116aac 100644 --- a/arch/powerpc/kernel/machine_kexec.c +++ b/arch/powerpc/kernel/machine_kexec.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/kexec.h> | 12 | #include <linux/kexec.h> |
13 | #include <linux/reboot.h> | 13 | #include <linux/reboot.h> |
14 | #include <linux/threads.h> | 14 | #include <linux/threads.h> |
15 | #include <linux/lmb.h> | 15 | #include <linux/memblock.h> |
16 | #include <linux/of.h> | 16 | #include <linux/of.h> |
17 | #include <asm/machdep.h> | 17 | #include <asm/machdep.h> |
18 | #include <asm/prom.h> | 18 | #include <asm/prom.h> |
@@ -66,11 +66,11 @@ void __init reserve_crashkernel(void) | |||
66 | unsigned long long crash_size, crash_base; | 66 | unsigned long long crash_size, crash_base; |
67 | int ret; | 67 | int ret; |
68 | 68 | ||
69 | /* this is necessary because of lmb_phys_mem_size() */ | 69 | /* this is necessary because of memblock_phys_mem_size() */ |
70 | lmb_analyze(); | 70 | memblock_analyze(); |
71 | 71 | ||
72 | /* use common parsing */ | 72 | /* use common parsing */ |
73 | ret = parse_crashkernel(boot_command_line, lmb_phys_mem_size(), | 73 | ret = parse_crashkernel(boot_command_line, memblock_phys_mem_size(), |
74 | &crash_size, &crash_base); | 74 | &crash_size, &crash_base); |
75 | if (ret == 0 && crash_size > 0) { | 75 | if (ret == 0 && crash_size > 0) { |
76 | crashk_res.start = crash_base; | 76 | crashk_res.start = crash_base; |
@@ -133,9 +133,9 @@ void __init reserve_crashkernel(void) | |||
133 | "for crashkernel (System RAM: %ldMB)\n", | 133 | "for crashkernel (System RAM: %ldMB)\n", |
134 | (unsigned long)(crash_size >> 20), | 134 | (unsigned long)(crash_size >> 20), |
135 | (unsigned long)(crashk_res.start >> 20), | 135 | (unsigned long)(crashk_res.start >> 20), |
136 | (unsigned long)(lmb_phys_mem_size() >> 20)); | 136 | (unsigned long)(memblock_phys_mem_size() >> 20)); |
137 | 137 | ||
138 | lmb_reserve(crashk_res.start, crash_size); | 138 | memblock_reserve(crashk_res.start, crash_size); |
139 | } | 139 | } |
140 | 140 | ||
141 | int overlaps_crashkernel(unsigned long start, unsigned long size) | 141 | int overlaps_crashkernel(unsigned long start, unsigned long size) |
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c index 040bd1de8d99..ed31a29c4ff7 100644 --- a/arch/powerpc/kernel/machine_kexec_64.c +++ b/arch/powerpc/kernel/machine_kexec_64.c | |||
@@ -155,66 +155,70 @@ void kexec_copy_flush(struct kimage *image) | |||
155 | 155 | ||
156 | #ifdef CONFIG_SMP | 156 | #ifdef CONFIG_SMP |
157 | 157 | ||
158 | /* FIXME: we should schedule this function to be called on all cpus based | 158 | static int kexec_all_irq_disabled = 0; |
159 | * on calling the interrupts, but we would like to call it off irq level | 159 | |
160 | * so that the interrupt controller is clean. | ||
161 | */ | ||
162 | static void kexec_smp_down(void *arg) | 160 | static void kexec_smp_down(void *arg) |
163 | { | 161 | { |
162 | local_irq_disable(); | ||
163 | mb(); /* make sure our irqs are disabled before we say they are */ | ||
164 | get_paca()->kexec_state = KEXEC_STATE_IRQS_OFF; | ||
165 | while(kexec_all_irq_disabled == 0) | ||
166 | cpu_relax(); | ||
167 | mb(); /* make sure all irqs are disabled before this */ | ||
168 | /* | ||
169 | * Now every CPU has IRQs off, we can clear out any pending | ||
170 | * IPIs and be sure that no more will come in after this. | ||
171 | */ | ||
164 | if (ppc_md.kexec_cpu_down) | 172 | if (ppc_md.kexec_cpu_down) |
165 | ppc_md.kexec_cpu_down(0, 1); | 173 | ppc_md.kexec_cpu_down(0, 1); |
166 | 174 | ||
167 | local_irq_disable(); | ||
168 | kexec_smp_wait(); | 175 | kexec_smp_wait(); |
169 | /* NOTREACHED */ | 176 | /* NOTREACHED */ |
170 | } | 177 | } |
171 | 178 | ||
172 | static void kexec_prepare_cpus(void) | 179 | static void kexec_prepare_cpus_wait(int wait_state) |
173 | { | 180 | { |
174 | int my_cpu, i, notified=-1; | 181 | int my_cpu, i, notified=-1; |
175 | 182 | ||
176 | smp_call_function(kexec_smp_down, NULL, /* wait */0); | ||
177 | my_cpu = get_cpu(); | 183 | my_cpu = get_cpu(); |
178 | 184 | /* Make sure each CPU has atleast made it to the state we need */ | |
179 | /* check the others cpus are now down (via paca hw cpu id == -1) */ | 185 | for_each_online_cpu(i) { |
180 | for (i=0; i < NR_CPUS; i++) { | ||
181 | if (i == my_cpu) | 186 | if (i == my_cpu) |
182 | continue; | 187 | continue; |
183 | 188 | ||
184 | while (paca[i].hw_cpu_id != -1) { | 189 | while (paca[i].kexec_state < wait_state) { |
185 | barrier(); | 190 | barrier(); |
186 | if (!cpu_possible(i)) { | ||
187 | printk("kexec: cpu %d hw_cpu_id %d is not" | ||
188 | " possible, ignoring\n", | ||
189 | i, paca[i].hw_cpu_id); | ||
190 | break; | ||
191 | } | ||
192 | if (!cpu_online(i)) { | ||
193 | /* Fixme: this can be spinning in | ||
194 | * pSeries_secondary_wait with a paca | ||
195 | * waiting for it to go online. | ||
196 | */ | ||
197 | printk("kexec: cpu %d hw_cpu_id %d is not" | ||
198 | " online, ignoring\n", | ||
199 | i, paca[i].hw_cpu_id); | ||
200 | break; | ||
201 | } | ||
202 | if (i != notified) { | 191 | if (i != notified) { |
203 | printk( "kexec: waiting for cpu %d (physical" | 192 | printk( "kexec: waiting for cpu %d (physical" |
204 | " %d) to go down\n", | 193 | " %d) to enter %i state\n", |
205 | i, paca[i].hw_cpu_id); | 194 | i, paca[i].hw_cpu_id, wait_state); |
206 | notified = i; | 195 | notified = i; |
207 | } | 196 | } |
208 | } | 197 | } |
209 | } | 198 | } |
199 | mb(); | ||
200 | } | ||
201 | |||
202 | static void kexec_prepare_cpus(void) | ||
203 | { | ||
204 | |||
205 | smp_call_function(kexec_smp_down, NULL, /* wait */0); | ||
206 | local_irq_disable(); | ||
207 | mb(); /* make sure IRQs are disabled before we say they are */ | ||
208 | get_paca()->kexec_state = KEXEC_STATE_IRQS_OFF; | ||
209 | |||
210 | kexec_prepare_cpus_wait(KEXEC_STATE_IRQS_OFF); | ||
211 | /* we are sure every CPU has IRQs off at this point */ | ||
212 | kexec_all_irq_disabled = 1; | ||
210 | 213 | ||
211 | /* after we tell the others to go down */ | 214 | /* after we tell the others to go down */ |
212 | if (ppc_md.kexec_cpu_down) | 215 | if (ppc_md.kexec_cpu_down) |
213 | ppc_md.kexec_cpu_down(0, 0); | 216 | ppc_md.kexec_cpu_down(0, 0); |
214 | 217 | ||
215 | put_cpu(); | 218 | /* Before removing MMU mapings make sure all CPUs have entered real mode */ |
219 | kexec_prepare_cpus_wait(KEXEC_STATE_REAL_MODE); | ||
216 | 220 | ||
217 | local_irq_disable(); | 221 | put_cpu(); |
218 | } | 222 | } |
219 | 223 | ||
220 | #else /* ! SMP */ | 224 | #else /* ! SMP */ |
diff --git a/arch/powerpc/kernel/misc.S b/arch/powerpc/kernel/misc.S index 2d29752cbe16..22e507c8a556 100644 --- a/arch/powerpc/kernel/misc.S +++ b/arch/powerpc/kernel/misc.S | |||
@@ -127,3 +127,29 @@ _GLOBAL(__setup_cpu_power7) | |||
127 | _GLOBAL(__restore_cpu_power7) | 127 | _GLOBAL(__restore_cpu_power7) |
128 | /* place holder */ | 128 | /* place holder */ |
129 | blr | 129 | blr |
130 | |||
131 | /* | ||
132 | * Get a minimal set of registers for our caller's nth caller. | ||
133 | * r3 = regs pointer, r5 = n. | ||
134 | * | ||
135 | * We only get R1 (stack pointer), NIP (next instruction pointer) | ||
136 | * and LR (link register). These are all we can get in the | ||
137 | * general case without doing complicated stack unwinding, but | ||
138 | * fortunately they are enough to do a stack backtrace, which | ||
139 | * is all we need them for. | ||
140 | */ | ||
141 | _GLOBAL(perf_arch_fetch_caller_regs) | ||
142 | mr r6,r1 | ||
143 | cmpwi r5,0 | ||
144 | mflr r4 | ||
145 | ble 2f | ||
146 | mtctr r5 | ||
147 | 1: PPC_LL r6,0(r6) | ||
148 | bdnz 1b | ||
149 | PPC_LL r4,PPC_LR_STKOFF(r6) | ||
150 | 2: PPC_LL r7,0(r6) | ||
151 | PPC_LL r7,PPC_LR_STKOFF(r7) | ||
152 | PPC_STL r6,GPR1-STACK_FRAME_OVERHEAD(r3) | ||
153 | PPC_STL r4,_NIP-STACK_FRAME_OVERHEAD(r3) | ||
154 | PPC_STL r7,_LINK-STACK_FRAME_OVERHEAD(r3) | ||
155 | blr | ||
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index 8649f536f8df..6bbd7a604d24 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S | |||
@@ -33,7 +33,6 @@ | |||
33 | 33 | ||
34 | .text | 34 | .text |
35 | 35 | ||
36 | #ifdef CONFIG_IRQSTACKS | ||
37 | _GLOBAL(call_do_softirq) | 36 | _GLOBAL(call_do_softirq) |
38 | mflr r0 | 37 | mflr r0 |
39 | stw r0,4(r1) | 38 | stw r0,4(r1) |
@@ -56,7 +55,6 @@ _GLOBAL(call_handle_irq) | |||
56 | lwz r0,4(r1) | 55 | lwz r0,4(r1) |
57 | mtlr r0 | 56 | mtlr r0 |
58 | blr | 57 | blr |
59 | #endif /* CONFIG_IRQSTACKS */ | ||
60 | 58 | ||
61 | /* | 59 | /* |
62 | * This returns the high 64 bits of the product of two 64-bit numbers. | 60 | * This returns the high 64 bits of the product of two 64-bit numbers. |
@@ -441,7 +439,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
441 | addi r3,r3,L1_CACHE_BYTES | 439 | addi r3,r3,L1_CACHE_BYTES |
442 | bdnz 0b | 440 | bdnz 0b |
443 | sync | 441 | sync |
444 | #ifndef CONFIG_44x | 442 | #ifdef CONFIG_44x |
445 | /* We don't flush the icache on 44x. Those have a virtual icache | 443 | /* We don't flush the icache on 44x. Those have a virtual icache |
446 | * and we don't have access to the virtual address here (it's | 444 | * and we don't have access to the virtual address here (it's |
447 | * not the page vaddr but where it's mapped in user space). The | 445 | * not the page vaddr but where it's mapped in user space). The |
@@ -449,15 +447,19 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
449 | * a change in the address space occurs, before returning to | 447 | * a change in the address space occurs, before returning to |
450 | * user space | 448 | * user space |
451 | */ | 449 | */ |
450 | BEGIN_MMU_FTR_SECTION | ||
451 | blr | ||
452 | END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_44x) | ||
453 | #endif /* CONFIG_44x */ | ||
452 | mtctr r4 | 454 | mtctr r4 |
453 | 1: icbi 0,r6 | 455 | 1: icbi 0,r6 |
454 | addi r6,r6,L1_CACHE_BYTES | 456 | addi r6,r6,L1_CACHE_BYTES |
455 | bdnz 1b | 457 | bdnz 1b |
456 | sync | 458 | sync |
457 | isync | 459 | isync |
458 | #endif /* CONFIG_44x */ | ||
459 | blr | 460 | blr |
460 | 461 | ||
462 | #ifndef CONFIG_BOOKE | ||
461 | /* | 463 | /* |
462 | * Flush a particular page from the data cache to RAM, identified | 464 | * Flush a particular page from the data cache to RAM, identified |
463 | * by its physical address. We turn off the MMU so we can just use | 465 | * by its physical address. We turn off the MMU so we can just use |
@@ -490,6 +492,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) | |||
490 | mtmsr r10 /* restore DR */ | 492 | mtmsr r10 /* restore DR */ |
491 | isync | 493 | isync |
492 | blr | 494 | blr |
495 | #endif /* CONFIG_BOOKE */ | ||
493 | 496 | ||
494 | /* | 497 | /* |
495 | * Clear pages using the dcbz instruction, which doesn't cause any | 498 | * Clear pages using the dcbz instruction, which doesn't cause any |
@@ -706,6 +709,22 @@ relocate_new_kernel: | |||
706 | /* r4 = reboot_code_buffer */ | 709 | /* r4 = reboot_code_buffer */ |
707 | /* r5 = start_address */ | 710 | /* r5 = start_address */ |
708 | 711 | ||
712 | #ifdef CONFIG_FSL_BOOKE | ||
713 | |||
714 | mr r29, r3 | ||
715 | mr r30, r4 | ||
716 | mr r31, r5 | ||
717 | |||
718 | #define ENTRY_MAPPING_KEXEC_SETUP | ||
719 | #include "fsl_booke_entry_mapping.S" | ||
720 | #undef ENTRY_MAPPING_KEXEC_SETUP | ||
721 | |||
722 | mr r3, r29 | ||
723 | mr r4, r30 | ||
724 | mr r5, r31 | ||
725 | |||
726 | li r0, 0 | ||
727 | #else | ||
709 | li r0, 0 | 728 | li r0, 0 |
710 | 729 | ||
711 | /* | 730 | /* |
@@ -722,6 +741,7 @@ relocate_new_kernel: | |||
722 | rfi | 741 | rfi |
723 | 742 | ||
724 | 1: | 743 | 1: |
744 | #endif | ||
725 | /* from this point address translation is turned off */ | 745 | /* from this point address translation is turned off */ |
726 | /* and interrupts are disabled */ | 746 | /* and interrupts are disabled */ |
727 | 747 | ||
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S index a5cf9c1356a6..e5144906a56d 100644 --- a/arch/powerpc/kernel/misc_64.S +++ b/arch/powerpc/kernel/misc_64.S | |||
@@ -24,10 +24,10 @@ | |||
24 | #include <asm/asm-offsets.h> | 24 | #include <asm/asm-offsets.h> |
25 | #include <asm/cputable.h> | 25 | #include <asm/cputable.h> |
26 | #include <asm/thread_info.h> | 26 | #include <asm/thread_info.h> |
27 | #include <asm/kexec.h> | ||
27 | 28 | ||
28 | .text | 29 | .text |
29 | 30 | ||
30 | #ifdef CONFIG_IRQSTACKS | ||
31 | _GLOBAL(call_do_softirq) | 31 | _GLOBAL(call_do_softirq) |
32 | mflr r0 | 32 | mflr r0 |
33 | std r0,16(r1) | 33 | std r0,16(r1) |
@@ -51,7 +51,6 @@ _GLOBAL(call_handle_irq) | |||
51 | ld r0,16(r1) | 51 | ld r0,16(r1) |
52 | mtlr r0 | 52 | mtlr r0 |
53 | blr | 53 | blr |
54 | #endif /* CONFIG_IRQSTACKS */ | ||
55 | 54 | ||
56 | .section ".toc","aw" | 55 | .section ".toc","aw" |
57 | PPC64_CACHES: | 56 | PPC64_CACHES: |
@@ -471,6 +470,10 @@ _GLOBAL(kexec_wait) | |||
471 | 1: mflr r5 | 470 | 1: mflr r5 |
472 | addi r5,r5,kexec_flag-1b | 471 | addi r5,r5,kexec_flag-1b |
473 | 472 | ||
473 | li r4,KEXEC_STATE_REAL_MODE | ||
474 | stb r4,PACAKEXECSTATE(r13) | ||
475 | SYNC | ||
476 | |||
474 | 99: HMT_LOW | 477 | 99: HMT_LOW |
475 | #ifdef CONFIG_KEXEC /* use no memory without kexec */ | 478 | #ifdef CONFIG_KEXEC /* use no memory without kexec */ |
476 | lwz r4,0(r5) | 479 | lwz r4,0(r5) |
@@ -494,14 +497,11 @@ kexec_flag: | |||
494 | * note: this is a terminal routine, it does not save lr | 497 | * note: this is a terminal routine, it does not save lr |
495 | * | 498 | * |
496 | * get phys id from paca | 499 | * get phys id from paca |
497 | * set paca id to -1 to say we got here | ||
498 | * switch to real mode | 500 | * switch to real mode |
499 | * join other cpus in kexec_wait(phys_id) | 501 | * join other cpus in kexec_wait(phys_id) |
500 | */ | 502 | */ |
501 | _GLOBAL(kexec_smp_wait) | 503 | _GLOBAL(kexec_smp_wait) |
502 | lhz r3,PACAHWCPUID(r13) | 504 | lhz r3,PACAHWCPUID(r13) |
503 | li r4,-1 | ||
504 | sth r4,PACAHWCPUID(r13) /* let others know we left */ | ||
505 | bl real_mode | 505 | bl real_mode |
506 | b .kexec_wait | 506 | b .kexec_wait |
507 | 507 | ||
diff --git a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c index a359cb08e900..df78e0236a02 100644 --- a/arch/powerpc/kernel/of_device.c +++ b/arch/powerpc/kernel/of_device.c | |||
@@ -13,7 +13,7 @@ | |||
13 | static void of_device_make_bus_id(struct of_device *dev) | 13 | static void of_device_make_bus_id(struct of_device *dev) |
14 | { | 14 | { |
15 | static atomic_t bus_no_reg_magic; | 15 | static atomic_t bus_no_reg_magic; |
16 | struct device_node *node = dev->node; | 16 | struct device_node *node = dev->dev.of_node; |
17 | const u32 *reg; | 17 | const u32 *reg; |
18 | u64 addr; | 18 | u64 addr; |
19 | int magic; | 19 | int magic; |
@@ -69,11 +69,10 @@ struct of_device *of_device_alloc(struct device_node *np, | |||
69 | if (!dev) | 69 | if (!dev) |
70 | return NULL; | 70 | return NULL; |
71 | 71 | ||
72 | dev->node = of_node_get(np); | 72 | dev->dev.of_node = of_node_get(np); |
73 | dev->dev.dma_mask = &dev->dma_mask; | 73 | dev->dev.dma_mask = &dev->archdata.dma_mask; |
74 | dev->dev.parent = parent; | 74 | dev->dev.parent = parent; |
75 | dev->dev.release = of_release_dev; | 75 | dev->dev.release = of_release_dev; |
76 | dev->dev.archdata.of_node = np; | ||
77 | 76 | ||
78 | if (bus_id) | 77 | if (bus_id) |
79 | dev_set_name(&dev->dev, "%s", bus_id); | 78 | dev_set_name(&dev->dev, "%s", bus_id); |
@@ -95,17 +94,17 @@ int of_device_uevent(struct device *dev, struct kobj_uevent_env *env) | |||
95 | 94 | ||
96 | ofdev = to_of_device(dev); | 95 | ofdev = to_of_device(dev); |
97 | 96 | ||
98 | if (add_uevent_var(env, "OF_NAME=%s", ofdev->node->name)) | 97 | if (add_uevent_var(env, "OF_NAME=%s", ofdev->dev.of_node->name)) |
99 | return -ENOMEM; | 98 | return -ENOMEM; |
100 | 99 | ||
101 | if (add_uevent_var(env, "OF_TYPE=%s", ofdev->node->type)) | 100 | if (add_uevent_var(env, "OF_TYPE=%s", ofdev->dev.of_node->type)) |
102 | return -ENOMEM; | 101 | return -ENOMEM; |
103 | 102 | ||
104 | /* Since the compatible field can contain pretty much anything | 103 | /* Since the compatible field can contain pretty much anything |
105 | * it's not really legal to split it out with commas. We split it | 104 | * it's not really legal to split it out with commas. We split it |
106 | * up using a number of environment variables instead. */ | 105 | * up using a number of environment variables instead. */ |
107 | 106 | ||
108 | compat = of_get_property(ofdev->node, "compatible", &cplen); | 107 | compat = of_get_property(ofdev->dev.of_node, "compatible", &cplen); |
109 | while (compat && *compat && cplen > 0) { | 108 | while (compat && *compat && cplen > 0) { |
110 | if (add_uevent_var(env, "OF_COMPATIBLE_%d=%s", seen, compat)) | 109 | if (add_uevent_var(env, "OF_COMPATIBLE_%d=%s", seen, compat)) |
111 | return -ENOMEM; | 110 | return -ENOMEM; |
diff --git a/arch/powerpc/kernel/of_platform.c b/arch/powerpc/kernel/of_platform.c index 666d08db319e..487a98851ba6 100644 --- a/arch/powerpc/kernel/of_platform.c +++ b/arch/powerpc/kernel/of_platform.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
19 | #include <linux/mod_devicetable.h> | 19 | #include <linux/mod_devicetable.h> |
20 | #include <linux/slab.h> | ||
21 | #include <linux/pci.h> | 20 | #include <linux/pci.h> |
22 | #include <linux/of.h> | 21 | #include <linux/of.h> |
23 | #include <linux/of_device.h> | 22 | #include <linux/of_device.h> |
@@ -75,7 +74,7 @@ struct of_device* of_platform_device_create(struct device_node *np, | |||
75 | if (!dev) | 74 | if (!dev) |
76 | return NULL; | 75 | return NULL; |
77 | 76 | ||
78 | dev->dma_mask = 0xffffffffUL; | 77 | dev->archdata.dma_mask = 0xffffffffUL; |
79 | dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); | 78 | dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); |
80 | 79 | ||
81 | dev->dev.bus = &of_platform_bus_type; | 80 | dev->dev.bus = &of_platform_bus_type; |
@@ -196,7 +195,7 @@ EXPORT_SYMBOL(of_platform_bus_probe); | |||
196 | 195 | ||
197 | static int of_dev_node_match(struct device *dev, void *data) | 196 | static int of_dev_node_match(struct device *dev, void *data) |
198 | { | 197 | { |
199 | return to_of_device(dev)->node == data; | 198 | return to_of_device(dev)->dev.of_node == data; |
200 | } | 199 | } |
201 | 200 | ||
202 | struct of_device *of_find_device_by_node(struct device_node *np) | 201 | struct of_device *of_find_device_by_node(struct device_node *np) |
@@ -214,7 +213,7 @@ EXPORT_SYMBOL(of_find_device_by_node); | |||
214 | static int of_dev_phandle_match(struct device *dev, void *data) | 213 | static int of_dev_phandle_match(struct device *dev, void *data) |
215 | { | 214 | { |
216 | phandle *ph = data; | 215 | phandle *ph = data; |
217 | return to_of_device(dev)->node->phandle == *ph; | 216 | return to_of_device(dev)->dev.of_node->phandle == *ph; |
218 | } | 217 | } |
219 | 218 | ||
220 | struct of_device *of_find_device_by_phandle(phandle ph) | 219 | struct of_device *of_find_device_by_phandle(phandle ph) |
@@ -247,10 +246,10 @@ static int __devinit of_pci_phb_probe(struct of_device *dev, | |||
247 | if (ppc_md.pci_setup_phb == NULL) | 246 | if (ppc_md.pci_setup_phb == NULL) |
248 | return -ENODEV; | 247 | return -ENODEV; |
249 | 248 | ||
250 | printk(KERN_INFO "Setting up PCI bus %s\n", dev->node->full_name); | 249 | pr_info("Setting up PCI bus %s\n", dev->dev.of_node->full_name); |
251 | 250 | ||
252 | /* Alloc and setup PHB data structure */ | 251 | /* Alloc and setup PHB data structure */ |
253 | phb = pcibios_alloc_controller(dev->node); | 252 | phb = pcibios_alloc_controller(dev->dev.of_node); |
254 | if (!phb) | 253 | if (!phb) |
255 | return -ENODEV; | 254 | return -ENODEV; |
256 | 255 | ||
@@ -264,19 +263,19 @@ static int __devinit of_pci_phb_probe(struct of_device *dev, | |||
264 | } | 263 | } |
265 | 264 | ||
266 | /* Process "ranges" property */ | 265 | /* Process "ranges" property */ |
267 | pci_process_bridge_OF_ranges(phb, dev->node, 0); | 266 | pci_process_bridge_OF_ranges(phb, dev->dev.of_node, 0); |
268 | 267 | ||
269 | /* Init pci_dn data structures */ | 268 | /* Init pci_dn data structures */ |
270 | pci_devs_phb_init_dynamic(phb); | 269 | pci_devs_phb_init_dynamic(phb); |
271 | 270 | ||
272 | /* Register devices with EEH */ | 271 | /* Register devices with EEH */ |
273 | #ifdef CONFIG_EEH | 272 | #ifdef CONFIG_EEH |
274 | if (dev->node->child) | 273 | if (dev->dev.of_node->child) |
275 | eeh_add_device_tree_early(dev->node); | 274 | eeh_add_device_tree_early(dev->dev.of_node); |
276 | #endif /* CONFIG_EEH */ | 275 | #endif /* CONFIG_EEH */ |
277 | 276 | ||
278 | /* Scan the bus */ | 277 | /* Scan the bus */ |
279 | pcibios_scan_phb(phb, dev->node); | 278 | pcibios_scan_phb(phb, dev->dev.of_node); |
280 | if (phb->bus == NULL) | 279 | if (phb->bus == NULL) |
281 | return -ENXIO; | 280 | return -ENXIO; |
282 | 281 | ||
@@ -307,10 +306,11 @@ static struct of_device_id of_pci_phb_ids[] = { | |||
307 | }; | 306 | }; |
308 | 307 | ||
309 | static struct of_platform_driver of_pci_phb_driver = { | 308 | static struct of_platform_driver of_pci_phb_driver = { |
310 | .match_table = of_pci_phb_ids, | ||
311 | .probe = of_pci_phb_probe, | 309 | .probe = of_pci_phb_probe, |
312 | .driver = { | 310 | .driver = { |
313 | .name = "of-pci", | 311 | .name = "of-pci", |
312 | .owner = THIS_MODULE, | ||
313 | .of_match_table = of_pci_phb_ids, | ||
314 | }, | 314 | }, |
315 | }; | 315 | }; |
316 | 316 | ||
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c index 0c40c6f476fe..139a773853f4 100644 --- a/arch/powerpc/kernel/paca.c +++ b/arch/powerpc/kernel/paca.c | |||
@@ -9,7 +9,7 @@ | |||
9 | 9 | ||
10 | #include <linux/threads.h> | 10 | #include <linux/threads.h> |
11 | #include <linux/module.h> | 11 | #include <linux/module.h> |
12 | #include <linux/lmb.h> | 12 | #include <linux/memblock.h> |
13 | 13 | ||
14 | #include <asm/firmware.h> | 14 | #include <asm/firmware.h> |
15 | #include <asm/lppaca.h> | 15 | #include <asm/lppaca.h> |
@@ -18,6 +18,7 @@ | |||
18 | #include <asm/pgtable.h> | 18 | #include <asm/pgtable.h> |
19 | #include <asm/iseries/lpar_map.h> | 19 | #include <asm/iseries/lpar_map.h> |
20 | #include <asm/iseries/hv_types.h> | 20 | #include <asm/iseries/hv_types.h> |
21 | #include <asm/kexec.h> | ||
21 | 22 | ||
22 | /* This symbol is provided by the linker - let it fill in the paca | 23 | /* This symbol is provided by the linker - let it fill in the paca |
23 | * field correctly */ | 24 | * field correctly */ |
@@ -97,6 +98,7 @@ void __init initialise_paca(struct paca_struct *new_paca, int cpu) | |||
97 | new_paca->kernelbase = (unsigned long) _stext; | 98 | new_paca->kernelbase = (unsigned long) _stext; |
98 | new_paca->kernel_msr = MSR_KERNEL; | 99 | new_paca->kernel_msr = MSR_KERNEL; |
99 | new_paca->hw_cpu_id = 0xffff; | 100 | new_paca->hw_cpu_id = 0xffff; |
101 | new_paca->kexec_state = KEXEC_STATE_NONE; | ||
100 | new_paca->__current = &init_task; | 102 | new_paca->__current = &init_task; |
101 | #ifdef CONFIG_PPC_STD_MMU_64 | 103 | #ifdef CONFIG_PPC_STD_MMU_64 |
102 | new_paca->slb_shadow_ptr = &slb_shadow[cpu]; | 104 | new_paca->slb_shadow_ptr = &slb_shadow[cpu]; |
@@ -115,7 +117,7 @@ void __init allocate_pacas(void) | |||
115 | * the first segment. On iSeries they must be within the area mapped | 117 | * the first segment. On iSeries they must be within the area mapped |
116 | * by the HV, which is HvPagesToMap * HVPAGESIZE bytes. | 118 | * by the HV, which is HvPagesToMap * HVPAGESIZE bytes. |
117 | */ | 119 | */ |
118 | limit = min(0x10000000ULL, lmb.rmo_size); | 120 | limit = min(0x10000000ULL, memblock.rmo_size); |
119 | if (firmware_has_feature(FW_FEATURE_ISERIES)) | 121 | if (firmware_has_feature(FW_FEATURE_ISERIES)) |
120 | limit = min(limit, HvPagesToMap * HVPAGESIZE); | 122 | limit = min(limit, HvPagesToMap * HVPAGESIZE); |
121 | 123 | ||
@@ -126,7 +128,7 @@ void __init allocate_pacas(void) | |||
126 | 128 | ||
127 | paca_size = PAGE_ALIGN(sizeof(struct paca_struct) * nr_cpus); | 129 | paca_size = PAGE_ALIGN(sizeof(struct paca_struct) * nr_cpus); |
128 | 130 | ||
129 | paca = __va(lmb_alloc_base(paca_size, PAGE_SIZE, limit)); | 131 | paca = __va(memblock_alloc_base(paca_size, PAGE_SIZE, limit)); |
130 | memset(paca, 0, paca_size); | 132 | memset(paca, 0, paca_size); |
131 | 133 | ||
132 | printk(KERN_DEBUG "Allocated %u bytes for %d pacas at %p\n", | 134 | printk(KERN_DEBUG "Allocated %u bytes for %d pacas at %p\n", |
@@ -146,7 +148,7 @@ void __init free_unused_pacas(void) | |||
146 | if (new_size >= paca_size) | 148 | if (new_size >= paca_size) |
147 | return; | 149 | return; |
148 | 150 | ||
149 | lmb_free(__pa(paca) + new_size, paca_size - new_size); | 151 | memblock_free(__pa(paca) + new_size, paca_size - new_size); |
150 | 152 | ||
151 | printk(KERN_DEBUG "Freed %u bytes for unused pacas\n", | 153 | printk(KERN_DEBUG "Freed %u bytes for unused pacas\n", |
152 | paca_size - new_size); | 154 | paca_size - new_size); |
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index f3c42ce516e7..5b38f6ae2b29 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/syscalls.h> | 26 | #include <linux/syscalls.h> |
27 | #include <linux/irq.h> | 27 | #include <linux/irq.h> |
28 | #include <linux/vmalloc.h> | 28 | #include <linux/vmalloc.h> |
29 | #include <linux/slab.h> | ||
29 | 30 | ||
30 | #include <asm/processor.h> | 31 | #include <asm/processor.h> |
31 | #include <asm/io.h> | 32 | #include <asm/io.h> |
@@ -1096,8 +1097,8 @@ void __devinit pcibios_setup_bus_devices(struct pci_bus *bus) | |||
1096 | if (dev->is_added) | 1097 | if (dev->is_added) |
1097 | continue; | 1098 | continue; |
1098 | 1099 | ||
1099 | /* Setup OF node pointer in archdata */ | 1100 | /* Setup OF node pointer in the device */ |
1100 | sd->of_node = pci_device_to_OF_node(dev); | 1101 | dev->dev.of_node = pci_device_to_OF_node(dev); |
1101 | 1102 | ||
1102 | /* Fixup NUMA node as it may not be setup yet by the generic | 1103 | /* Fixup NUMA node as it may not be setup yet by the generic |
1103 | * code and is needed by the DMA init | 1104 | * code and is needed by the DMA init |
@@ -1308,6 +1309,7 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus) | |||
1308 | printk(KERN_WARNING "PCI: Cannot allocate resource region " | 1309 | printk(KERN_WARNING "PCI: Cannot allocate resource region " |
1309 | "%d of PCI bridge %d, will remap\n", i, bus->number); | 1310 | "%d of PCI bridge %d, will remap\n", i, bus->number); |
1310 | clear_resource: | 1311 | clear_resource: |
1312 | res->start = res->end = 0; | ||
1311 | res->flags = 0; | 1313 | res->flags = 0; |
1312 | } | 1314 | } |
1313 | 1315 | ||
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c index c13668cf36d9..e7db5b48004a 100644 --- a/arch/powerpc/kernel/pci_32.c +++ b/arch/powerpc/kernel/pci_32.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/irq.h> | 14 | #include <linux/irq.h> |
15 | #include <linux/list.h> | 15 | #include <linux/list.h> |
16 | #include <linux/of.h> | 16 | #include <linux/of.h> |
17 | #include <linux/slab.h> | ||
17 | 18 | ||
18 | #include <asm/processor.h> | 19 | #include <asm/processor.h> |
19 | #include <asm/io.h> | 20 | #include <asm/io.h> |
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c index d5e36e5dc7c2..d56b35ee7f74 100644 --- a/arch/powerpc/kernel/pci_dn.c +++ b/arch/powerpc/kernel/pci_dn.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/pci.h> | 23 | #include <linux/pci.h> |
24 | #include <linux/string.h> | 24 | #include <linux/string.h> |
25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
26 | #include <linux/gfp.h> | ||
26 | 27 | ||
27 | #include <asm/io.h> | 28 | #include <asm/io.h> |
28 | #include <asm/prom.h> | 29 | #include <asm/prom.h> |
diff --git a/arch/powerpc/kernel/pci_of_scan.c b/arch/powerpc/kernel/pci_of_scan.c index cd11d5ca80df..6ddb795f83e8 100644 --- a/arch/powerpc/kernel/pci_of_scan.c +++ b/arch/powerpc/kernel/pci_of_scan.c | |||
@@ -310,6 +310,8 @@ static void __devinit __of_scan_bus(struct device_node *node, | |||
310 | /* Scan direct children */ | 310 | /* Scan direct children */ |
311 | for_each_child_of_node(node, child) { | 311 | for_each_child_of_node(node, child) { |
312 | pr_debug(" * %s\n", child->full_name); | 312 | pr_debug(" * %s\n", child->full_name); |
313 | if (!of_device_is_available(child)) | ||
314 | continue; | ||
313 | reg = of_get_property(child, "reg", ®len); | 315 | reg = of_get_property(child, "reg", ®len); |
314 | if (reg == NULL || reglen < 20) | 316 | if (reg == NULL || reglen < 20) |
315 | continue; | 317 | continue; |
diff --git a/arch/powerpc/kernel/perf_event.c b/arch/powerpc/kernel/perf_event.c index 08460a2e9f41..5c14ffe51258 100644 --- a/arch/powerpc/kernel/perf_event.c +++ b/arch/powerpc/kernel/perf_event.c | |||
@@ -35,6 +35,9 @@ struct cpu_hw_events { | |||
35 | u64 alternatives[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; | 35 | u64 alternatives[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; |
36 | unsigned long amasks[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; | 36 | unsigned long amasks[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; |
37 | unsigned long avalues[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; | 37 | unsigned long avalues[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; |
38 | |||
39 | unsigned int group_flag; | ||
40 | int n_txn_start; | ||
38 | }; | 41 | }; |
39 | DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events); | 42 | DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events); |
40 | 43 | ||
@@ -718,66 +721,6 @@ static int collect_events(struct perf_event *group, int max_count, | |||
718 | return n; | 721 | return n; |
719 | } | 722 | } |
720 | 723 | ||
721 | static void event_sched_in(struct perf_event *event) | ||
722 | { | ||
723 | event->state = PERF_EVENT_STATE_ACTIVE; | ||
724 | event->oncpu = smp_processor_id(); | ||
725 | event->tstamp_running += event->ctx->time - event->tstamp_stopped; | ||
726 | if (is_software_event(event)) | ||
727 | event->pmu->enable(event); | ||
728 | } | ||
729 | |||
730 | /* | ||
731 | * Called to enable a whole group of events. | ||
732 | * Returns 1 if the group was enabled, or -EAGAIN if it could not be. | ||
733 | * Assumes the caller has disabled interrupts and has | ||
734 | * frozen the PMU with hw_perf_save_disable. | ||
735 | */ | ||
736 | int hw_perf_group_sched_in(struct perf_event *group_leader, | ||
737 | struct perf_cpu_context *cpuctx, | ||
738 | struct perf_event_context *ctx) | ||
739 | { | ||
740 | struct cpu_hw_events *cpuhw; | ||
741 | long i, n, n0; | ||
742 | struct perf_event *sub; | ||
743 | |||
744 | if (!ppmu) | ||
745 | return 0; | ||
746 | cpuhw = &__get_cpu_var(cpu_hw_events); | ||
747 | n0 = cpuhw->n_events; | ||
748 | n = collect_events(group_leader, ppmu->n_counter - n0, | ||
749 | &cpuhw->event[n0], &cpuhw->events[n0], | ||
750 | &cpuhw->flags[n0]); | ||
751 | if (n < 0) | ||
752 | return -EAGAIN; | ||
753 | if (check_excludes(cpuhw->event, cpuhw->flags, n0, n)) | ||
754 | return -EAGAIN; | ||
755 | i = power_check_constraints(cpuhw, cpuhw->events, cpuhw->flags, n + n0); | ||
756 | if (i < 0) | ||
757 | return -EAGAIN; | ||
758 | cpuhw->n_events = n0 + n; | ||
759 | cpuhw->n_added += n; | ||
760 | |||
761 | /* | ||
762 | * OK, this group can go on; update event states etc., | ||
763 | * and enable any software events | ||
764 | */ | ||
765 | for (i = n0; i < n0 + n; ++i) | ||
766 | cpuhw->event[i]->hw.config = cpuhw->events[i]; | ||
767 | cpuctx->active_oncpu += n; | ||
768 | n = 1; | ||
769 | event_sched_in(group_leader); | ||
770 | list_for_each_entry(sub, &group_leader->sibling_list, group_entry) { | ||
771 | if (sub->state != PERF_EVENT_STATE_OFF) { | ||
772 | event_sched_in(sub); | ||
773 | ++n; | ||
774 | } | ||
775 | } | ||
776 | ctx->nr_active += n; | ||
777 | |||
778 | return 1; | ||
779 | } | ||
780 | |||
781 | /* | 724 | /* |
782 | * Add a event to the PMU. | 725 | * Add a event to the PMU. |
783 | * If all events are not already frozen, then we disable and | 726 | * If all events are not already frozen, then we disable and |
@@ -805,12 +748,22 @@ static int power_pmu_enable(struct perf_event *event) | |||
805 | cpuhw->event[n0] = event; | 748 | cpuhw->event[n0] = event; |
806 | cpuhw->events[n0] = event->hw.config; | 749 | cpuhw->events[n0] = event->hw.config; |
807 | cpuhw->flags[n0] = event->hw.event_base; | 750 | cpuhw->flags[n0] = event->hw.event_base; |
751 | |||
752 | /* | ||
753 | * If group events scheduling transaction was started, | ||
754 | * skip the schedulability test here, it will be peformed | ||
755 | * at commit time(->commit_txn) as a whole | ||
756 | */ | ||
757 | if (cpuhw->group_flag & PERF_EVENT_TXN_STARTED) | ||
758 | goto nocheck; | ||
759 | |||
808 | if (check_excludes(cpuhw->event, cpuhw->flags, n0, 1)) | 760 | if (check_excludes(cpuhw->event, cpuhw->flags, n0, 1)) |
809 | goto out; | 761 | goto out; |
810 | if (power_check_constraints(cpuhw, cpuhw->events, cpuhw->flags, n0 + 1)) | 762 | if (power_check_constraints(cpuhw, cpuhw->events, cpuhw->flags, n0 + 1)) |
811 | goto out; | 763 | goto out; |
812 | |||
813 | event->hw.config = cpuhw->events[n0]; | 764 | event->hw.config = cpuhw->events[n0]; |
765 | |||
766 | nocheck: | ||
814 | ++cpuhw->n_events; | 767 | ++cpuhw->n_events; |
815 | ++cpuhw->n_added; | 768 | ++cpuhw->n_added; |
816 | 769 | ||
@@ -838,8 +791,11 @@ static void power_pmu_disable(struct perf_event *event) | |||
838 | cpuhw = &__get_cpu_var(cpu_hw_events); | 791 | cpuhw = &__get_cpu_var(cpu_hw_events); |
839 | for (i = 0; i < cpuhw->n_events; ++i) { | 792 | for (i = 0; i < cpuhw->n_events; ++i) { |
840 | if (event == cpuhw->event[i]) { | 793 | if (event == cpuhw->event[i]) { |
841 | while (++i < cpuhw->n_events) | 794 | while (++i < cpuhw->n_events) { |
842 | cpuhw->event[i-1] = cpuhw->event[i]; | 795 | cpuhw->event[i-1] = cpuhw->event[i]; |
796 | cpuhw->events[i-1] = cpuhw->events[i]; | ||
797 | cpuhw->flags[i-1] = cpuhw->flags[i]; | ||
798 | } | ||
843 | --cpuhw->n_events; | 799 | --cpuhw->n_events; |
844 | ppmu->disable_pmc(event->hw.idx - 1, cpuhw->mmcr); | 800 | ppmu->disable_pmc(event->hw.idx - 1, cpuhw->mmcr); |
845 | if (event->hw.idx) { | 801 | if (event->hw.idx) { |
@@ -896,11 +852,65 @@ static void power_pmu_unthrottle(struct perf_event *event) | |||
896 | local_irq_restore(flags); | 852 | local_irq_restore(flags); |
897 | } | 853 | } |
898 | 854 | ||
855 | /* | ||
856 | * Start group events scheduling transaction | ||
857 | * Set the flag to make pmu::enable() not perform the | ||
858 | * schedulability test, it will be performed at commit time | ||
859 | */ | ||
860 | void power_pmu_start_txn(const struct pmu *pmu) | ||
861 | { | ||
862 | struct cpu_hw_events *cpuhw = &__get_cpu_var(cpu_hw_events); | ||
863 | |||
864 | cpuhw->group_flag |= PERF_EVENT_TXN_STARTED; | ||
865 | cpuhw->n_txn_start = cpuhw->n_events; | ||
866 | } | ||
867 | |||
868 | /* | ||
869 | * Stop group events scheduling transaction | ||
870 | * Clear the flag and pmu::enable() will perform the | ||
871 | * schedulability test. | ||
872 | */ | ||
873 | void power_pmu_cancel_txn(const struct pmu *pmu) | ||
874 | { | ||
875 | struct cpu_hw_events *cpuhw = &__get_cpu_var(cpu_hw_events); | ||
876 | |||
877 | cpuhw->group_flag &= ~PERF_EVENT_TXN_STARTED; | ||
878 | } | ||
879 | |||
880 | /* | ||
881 | * Commit group events scheduling transaction | ||
882 | * Perform the group schedulability test as a whole | ||
883 | * Return 0 if success | ||
884 | */ | ||
885 | int power_pmu_commit_txn(const struct pmu *pmu) | ||
886 | { | ||
887 | struct cpu_hw_events *cpuhw; | ||
888 | long i, n; | ||
889 | |||
890 | if (!ppmu) | ||
891 | return -EAGAIN; | ||
892 | cpuhw = &__get_cpu_var(cpu_hw_events); | ||
893 | n = cpuhw->n_events; | ||
894 | if (check_excludes(cpuhw->event, cpuhw->flags, 0, n)) | ||
895 | return -EAGAIN; | ||
896 | i = power_check_constraints(cpuhw, cpuhw->events, cpuhw->flags, n); | ||
897 | if (i < 0) | ||
898 | return -EAGAIN; | ||
899 | |||
900 | for (i = cpuhw->n_txn_start; i < n; ++i) | ||
901 | cpuhw->event[i]->hw.config = cpuhw->events[i]; | ||
902 | |||
903 | return 0; | ||
904 | } | ||
905 | |||
899 | struct pmu power_pmu = { | 906 | struct pmu power_pmu = { |
900 | .enable = power_pmu_enable, | 907 | .enable = power_pmu_enable, |
901 | .disable = power_pmu_disable, | 908 | .disable = power_pmu_disable, |
902 | .read = power_pmu_read, | 909 | .read = power_pmu_read, |
903 | .unthrottle = power_pmu_unthrottle, | 910 | .unthrottle = power_pmu_unthrottle, |
911 | .start_txn = power_pmu_start_txn, | ||
912 | .cancel_txn = power_pmu_cancel_txn, | ||
913 | .commit_txn = power_pmu_commit_txn, | ||
904 | }; | 914 | }; |
905 | 915 | ||
906 | /* | 916 | /* |
diff --git a/arch/powerpc/kernel/perf_event_fsl_emb.c b/arch/powerpc/kernel/perf_event_fsl_emb.c index 369872f6cf78..babcceecd2ea 100644 --- a/arch/powerpc/kernel/perf_event_fsl_emb.c +++ b/arch/powerpc/kernel/perf_event_fsl_emb.c | |||
@@ -566,9 +566,9 @@ static void record_and_restart(struct perf_event *event, unsigned long val, | |||
566 | * Finally record data if requested. | 566 | * Finally record data if requested. |
567 | */ | 567 | */ |
568 | if (record) { | 568 | if (record) { |
569 | struct perf_sample_data data = { | 569 | struct perf_sample_data data; |
570 | .period = event->hw.last_period, | 570 | |
571 | }; | 571 | perf_sample_data_init(&data, 0); |
572 | 572 | ||
573 | if (perf_event_overflow(event, nmi, &data, regs)) { | 573 | if (perf_event_overflow(event, nmi, &data, regs)) { |
574 | /* | 574 | /* |
diff --git a/arch/powerpc/kernel/proc_powerpc.c b/arch/powerpc/kernel/proc_powerpc.c index 1ed3b8d7981e..c8ae3714e79b 100644 --- a/arch/powerpc/kernel/proc_powerpc.c +++ b/arch/powerpc/kernel/proc_powerpc.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/proc_fs.h> | 21 | #include <linux/proc_fs.h> |
22 | #include <linux/slab.h> | ||
23 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
24 | 23 | ||
25 | #include <asm/machdep.h> | 24 | #include <asm/machdep.h> |
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index e4d71ced97ef..773424df828a 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
@@ -371,6 +371,9 @@ int set_dabr(unsigned long dabr) | |||
371 | /* XXX should we have a CPU_FTR_HAS_DABR ? */ | 371 | /* XXX should we have a CPU_FTR_HAS_DABR ? */ |
372 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS | 372 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS |
373 | mtspr(SPRN_DAC1, dabr); | 373 | mtspr(SPRN_DAC1, dabr); |
374 | #ifdef CONFIG_PPC_47x | ||
375 | isync(); | ||
376 | #endif | ||
374 | #elif defined(CONFIG_PPC_BOOK3S) | 377 | #elif defined(CONFIG_PPC_BOOK3S) |
375 | mtspr(SPRN_DABR, dabr); | 378 | mtspr(SPRN_DABR, dabr); |
376 | #endif | 379 | #endif |
@@ -1002,7 +1005,6 @@ out: | |||
1002 | return error; | 1005 | return error; |
1003 | } | 1006 | } |
1004 | 1007 | ||
1005 | #ifdef CONFIG_IRQSTACKS | ||
1006 | static inline int valid_irq_stack(unsigned long sp, struct task_struct *p, | 1008 | static inline int valid_irq_stack(unsigned long sp, struct task_struct *p, |
1007 | unsigned long nbytes) | 1009 | unsigned long nbytes) |
1008 | { | 1010 | { |
@@ -1027,10 +1029,6 @@ static inline int valid_irq_stack(unsigned long sp, struct task_struct *p, | |||
1027 | return 0; | 1029 | return 0; |
1028 | } | 1030 | } |
1029 | 1031 | ||
1030 | #else | ||
1031 | #define valid_irq_stack(sp, p, nb) 0 | ||
1032 | #endif /* CONFIG_IRQSTACKS */ | ||
1033 | |||
1034 | int validate_sp(unsigned long sp, struct task_struct *p, | 1032 | int validate_sp(unsigned long sp, struct task_struct *p, |
1035 | unsigned long nbytes) | 1033 | unsigned long nbytes) |
1036 | { | 1034 | { |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 05131d634e73..fed9bf6187d1 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/kexec.h> | 31 | #include <linux/kexec.h> |
32 | #include <linux/debugfs.h> | 32 | #include <linux/debugfs.h> |
33 | #include <linux/irq.h> | 33 | #include <linux/irq.h> |
34 | #include <linux/lmb.h> | 34 | #include <linux/memblock.h> |
35 | 35 | ||
36 | #include <asm/prom.h> | 36 | #include <asm/prom.h> |
37 | #include <asm/rtas.h> | 37 | #include <asm/rtas.h> |
@@ -98,7 +98,7 @@ static void __init move_device_tree(void) | |||
98 | 98 | ||
99 | if ((memory_limit && (start + size) > memory_limit) || | 99 | if ((memory_limit && (start + size) > memory_limit) || |
100 | overlaps_crashkernel(start, size)) { | 100 | overlaps_crashkernel(start, size)) { |
101 | p = __va(lmb_alloc_base(size, PAGE_SIZE, lmb.rmo_size)); | 101 | p = __va(memblock_alloc_base(size, PAGE_SIZE, memblock.rmo_size)); |
102 | memcpy(p, initial_boot_params, size); | 102 | memcpy(p, initial_boot_params, size); |
103 | initial_boot_params = (struct boot_param_header *)p; | 103 | initial_boot_params = (struct boot_param_header *)p; |
104 | DBG("Moved device tree to 0x%p\n", p); | 104 | DBG("Moved device tree to 0x%p\n", p); |
@@ -411,13 +411,13 @@ static int __init early_init_dt_scan_drconf_memory(unsigned long node) | |||
411 | { | 411 | { |
412 | __be32 *dm, *ls, *usm; | 412 | __be32 *dm, *ls, *usm; |
413 | unsigned long l, n, flags; | 413 | unsigned long l, n, flags; |
414 | u64 base, size, lmb_size; | 414 | u64 base, size, memblock_size; |
415 | unsigned int is_kexec_kdump = 0, rngs; | 415 | unsigned int is_kexec_kdump = 0, rngs; |
416 | 416 | ||
417 | ls = of_get_flat_dt_prop(node, "ibm,lmb-size", &l); | 417 | ls = of_get_flat_dt_prop(node, "ibm,lmb-size", &l); |
418 | if (ls == NULL || l < dt_root_size_cells * sizeof(__be32)) | 418 | if (ls == NULL || l < dt_root_size_cells * sizeof(__be32)) |
419 | return 0; | 419 | return 0; |
420 | lmb_size = dt_mem_next_cell(dt_root_size_cells, &ls); | 420 | memblock_size = dt_mem_next_cell(dt_root_size_cells, &ls); |
421 | 421 | ||
422 | dm = of_get_flat_dt_prop(node, "ibm,dynamic-memory", &l); | 422 | dm = of_get_flat_dt_prop(node, "ibm,dynamic-memory", &l); |
423 | if (dm == NULL || l < sizeof(__be32)) | 423 | if (dm == NULL || l < sizeof(__be32)) |
@@ -442,11 +442,11 @@ static int __init early_init_dt_scan_drconf_memory(unsigned long node) | |||
442 | or if the block is not assigned to this partition (0x8) */ | 442 | or if the block is not assigned to this partition (0x8) */ |
443 | if ((flags & 0x80) || !(flags & 0x8)) | 443 | if ((flags & 0x80) || !(flags & 0x8)) |
444 | continue; | 444 | continue; |
445 | size = lmb_size; | 445 | size = memblock_size; |
446 | rngs = 1; | 446 | rngs = 1; |
447 | if (is_kexec_kdump) { | 447 | if (is_kexec_kdump) { |
448 | /* | 448 | /* |
449 | * For each lmb in ibm,dynamic-memory, a corresponding | 449 | * For each memblock in ibm,dynamic-memory, a corresponding |
450 | * entry in linux,drconf-usable-memory property contains | 450 | * entry in linux,drconf-usable-memory property contains |
451 | * a counter 'p' followed by 'p' (base, size) duple. | 451 | * a counter 'p' followed by 'p' (base, size) duple. |
452 | * Now read the counter from | 452 | * Now read the counter from |
@@ -469,10 +469,10 @@ static int __init early_init_dt_scan_drconf_memory(unsigned long node) | |||
469 | if ((base + size) > 0x80000000ul) | 469 | if ((base + size) > 0x80000000ul) |
470 | size = 0x80000000ul - base; | 470 | size = 0x80000000ul - base; |
471 | } | 471 | } |
472 | lmb_add(base, size); | 472 | memblock_add(base, size); |
473 | } while (--rngs); | 473 | } while (--rngs); |
474 | } | 474 | } |
475 | lmb_dump_all(); | 475 | memblock_dump_all(); |
476 | return 0; | 476 | return 0; |
477 | } | 477 | } |
478 | #else | 478 | #else |
@@ -501,14 +501,14 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size) | |||
501 | } | 501 | } |
502 | #endif | 502 | #endif |
503 | 503 | ||
504 | lmb_add(base, size); | 504 | memblock_add(base, size); |
505 | 505 | ||
506 | memstart_addr = min((u64)memstart_addr, base); | 506 | memstart_addr = min((u64)memstart_addr, base); |
507 | } | 507 | } |
508 | 508 | ||
509 | u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align) | 509 | u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align) |
510 | { | 510 | { |
511 | return lmb_alloc(size, align); | 511 | return memblock_alloc(size, align); |
512 | } | 512 | } |
513 | 513 | ||
514 | #ifdef CONFIG_BLK_DEV_INITRD | 514 | #ifdef CONFIG_BLK_DEV_INITRD |
@@ -534,12 +534,12 @@ static void __init early_reserve_mem(void) | |||
534 | /* before we do anything, lets reserve the dt blob */ | 534 | /* before we do anything, lets reserve the dt blob */ |
535 | self_base = __pa((unsigned long)initial_boot_params); | 535 | self_base = __pa((unsigned long)initial_boot_params); |
536 | self_size = initial_boot_params->totalsize; | 536 | self_size = initial_boot_params->totalsize; |
537 | lmb_reserve(self_base, self_size); | 537 | memblock_reserve(self_base, self_size); |
538 | 538 | ||
539 | #ifdef CONFIG_BLK_DEV_INITRD | 539 | #ifdef CONFIG_BLK_DEV_INITRD |
540 | /* then reserve the initrd, if any */ | 540 | /* then reserve the initrd, if any */ |
541 | if (initrd_start && (initrd_end > initrd_start)) | 541 | if (initrd_start && (initrd_end > initrd_start)) |
542 | lmb_reserve(__pa(initrd_start), initrd_end - initrd_start); | 542 | memblock_reserve(__pa(initrd_start), initrd_end - initrd_start); |
543 | #endif /* CONFIG_BLK_DEV_INITRD */ | 543 | #endif /* CONFIG_BLK_DEV_INITRD */ |
544 | 544 | ||
545 | #ifdef CONFIG_PPC32 | 545 | #ifdef CONFIG_PPC32 |
@@ -560,7 +560,7 @@ static void __init early_reserve_mem(void) | |||
560 | if (base_32 == self_base && size_32 == self_size) | 560 | if (base_32 == self_base && size_32 == self_size) |
561 | continue; | 561 | continue; |
562 | DBG("reserving: %x -> %x\n", base_32, size_32); | 562 | DBG("reserving: %x -> %x\n", base_32, size_32); |
563 | lmb_reserve(base_32, size_32); | 563 | memblock_reserve(base_32, size_32); |
564 | } | 564 | } |
565 | return; | 565 | return; |
566 | } | 566 | } |
@@ -571,7 +571,7 @@ static void __init early_reserve_mem(void) | |||
571 | if (size == 0) | 571 | if (size == 0) |
572 | break; | 572 | break; |
573 | DBG("reserving: %llx -> %llx\n", base, size); | 573 | DBG("reserving: %llx -> %llx\n", base, size); |
574 | lmb_reserve(base, size); | 574 | memblock_reserve(base, size); |
575 | } | 575 | } |
576 | } | 576 | } |
577 | 577 | ||
@@ -594,7 +594,7 @@ static inline unsigned long phyp_dump_calculate_reserve_size(void) | |||
594 | return phyp_dump_info->reserve_bootvar; | 594 | return phyp_dump_info->reserve_bootvar; |
595 | 595 | ||
596 | /* divide by 20 to get 5% of value */ | 596 | /* divide by 20 to get 5% of value */ |
597 | tmp = lmb_end_of_DRAM(); | 597 | tmp = memblock_end_of_DRAM(); |
598 | do_div(tmp, 20); | 598 | do_div(tmp, 20); |
599 | 599 | ||
600 | /* round it down in multiples of 256 */ | 600 | /* round it down in multiples of 256 */ |
@@ -633,11 +633,11 @@ static void __init phyp_dump_reserve_mem(void) | |||
633 | if (phyp_dump_info->phyp_dump_is_active) { | 633 | if (phyp_dump_info->phyp_dump_is_active) { |
634 | /* Reserve *everything* above RMR.Area freed by userland tools*/ | 634 | /* Reserve *everything* above RMR.Area freed by userland tools*/ |
635 | base = variable_reserve_size; | 635 | base = variable_reserve_size; |
636 | size = lmb_end_of_DRAM() - base; | 636 | size = memblock_end_of_DRAM() - base; |
637 | 637 | ||
638 | /* XXX crashed_ram_end is wrong, since it may be beyond | 638 | /* XXX crashed_ram_end is wrong, since it may be beyond |
639 | * the memory_limit, it will need to be adjusted. */ | 639 | * the memory_limit, it will need to be adjusted. */ |
640 | lmb_reserve(base, size); | 640 | memblock_reserve(base, size); |
641 | 641 | ||
642 | phyp_dump_info->init_reserve_start = base; | 642 | phyp_dump_info->init_reserve_start = base; |
643 | phyp_dump_info->init_reserve_size = size; | 643 | phyp_dump_info->init_reserve_size = size; |
@@ -645,8 +645,8 @@ static void __init phyp_dump_reserve_mem(void) | |||
645 | size = phyp_dump_info->cpu_state_size + | 645 | size = phyp_dump_info->cpu_state_size + |
646 | phyp_dump_info->hpte_region_size + | 646 | phyp_dump_info->hpte_region_size + |
647 | variable_reserve_size; | 647 | variable_reserve_size; |
648 | base = lmb_end_of_DRAM() - size; | 648 | base = memblock_end_of_DRAM() - size; |
649 | lmb_reserve(base, size); | 649 | memblock_reserve(base, size); |
650 | phyp_dump_info->init_reserve_start = base; | 650 | phyp_dump_info->init_reserve_start = base; |
651 | phyp_dump_info->init_reserve_size = size; | 651 | phyp_dump_info->init_reserve_size = size; |
652 | } | 652 | } |
@@ -681,8 +681,8 @@ void __init early_init_devtree(void *params) | |||
681 | */ | 681 | */ |
682 | of_scan_flat_dt(early_init_dt_scan_chosen, NULL); | 682 | of_scan_flat_dt(early_init_dt_scan_chosen, NULL); |
683 | 683 | ||
684 | /* Scan memory nodes and rebuild LMBs */ | 684 | /* Scan memory nodes and rebuild MEMBLOCKs */ |
685 | lmb_init(); | 685 | memblock_init(); |
686 | of_scan_flat_dt(early_init_dt_scan_root, NULL); | 686 | of_scan_flat_dt(early_init_dt_scan_root, NULL); |
687 | of_scan_flat_dt(early_init_dt_scan_memory_ppc, NULL); | 687 | of_scan_flat_dt(early_init_dt_scan_memory_ppc, NULL); |
688 | 688 | ||
@@ -690,11 +690,11 @@ void __init early_init_devtree(void *params) | |||
690 | strlcpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE); | 690 | strlcpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE); |
691 | parse_early_param(); | 691 | parse_early_param(); |
692 | 692 | ||
693 | /* Reserve LMB regions used by kernel, initrd, dt, etc... */ | 693 | /* Reserve MEMBLOCK regions used by kernel, initrd, dt, etc... */ |
694 | lmb_reserve(PHYSICAL_START, __pa(klimit) - PHYSICAL_START); | 694 | memblock_reserve(PHYSICAL_START, __pa(klimit) - PHYSICAL_START); |
695 | /* If relocatable, reserve first 32k for interrupt vectors etc. */ | 695 | /* If relocatable, reserve first 32k for interrupt vectors etc. */ |
696 | if (PHYSICAL_START > MEMORY_START) | 696 | if (PHYSICAL_START > MEMORY_START) |
697 | lmb_reserve(MEMORY_START, 0x8000); | 697 | memblock_reserve(MEMORY_START, 0x8000); |
698 | reserve_kdump_trampoline(); | 698 | reserve_kdump_trampoline(); |
699 | reserve_crashkernel(); | 699 | reserve_crashkernel(); |
700 | early_reserve_mem(); | 700 | early_reserve_mem(); |
@@ -706,17 +706,17 @@ void __init early_init_devtree(void *params) | |||
706 | 706 | ||
707 | /* Ensure that total memory size is page-aligned, because | 707 | /* Ensure that total memory size is page-aligned, because |
708 | * otherwise mark_bootmem() gets upset. */ | 708 | * otherwise mark_bootmem() gets upset. */ |
709 | lmb_analyze(); | 709 | memblock_analyze(); |
710 | memsize = lmb_phys_mem_size(); | 710 | memsize = memblock_phys_mem_size(); |
711 | if ((memsize & PAGE_MASK) != memsize) | 711 | if ((memsize & PAGE_MASK) != memsize) |
712 | limit = memsize & PAGE_MASK; | 712 | limit = memsize & PAGE_MASK; |
713 | } | 713 | } |
714 | lmb_enforce_memory_limit(limit); | 714 | memblock_enforce_memory_limit(limit); |
715 | 715 | ||
716 | lmb_analyze(); | 716 | memblock_analyze(); |
717 | lmb_dump_all(); | 717 | memblock_dump_all(); |
718 | 718 | ||
719 | DBG("Phys. mem: %llx\n", lmb_phys_mem_size()); | 719 | DBG("Phys. mem: %llx\n", memblock_phys_mem_size()); |
720 | 720 | ||
721 | /* We may need to relocate the flat tree, do it now. | 721 | /* We may need to relocate the flat tree, do it now. |
722 | * FIXME .. and the initrd too? */ | 722 | * FIXME .. and the initrd too? */ |
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index 5f306c4946e5..3b6f8ae9b8cc 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
@@ -653,6 +653,7 @@ static void __init early_cmdline_parse(void) | |||
653 | #else | 653 | #else |
654 | #define OV5_CMO 0x00 | 654 | #define OV5_CMO 0x00 |
655 | #endif | 655 | #endif |
656 | #define OV5_TYPE1_AFFINITY 0x80 /* Type 1 NUMA affinity */ | ||
656 | 657 | ||
657 | /* Option Vector 6: IBM PAPR hints */ | 658 | /* Option Vector 6: IBM PAPR hints */ |
658 | #define OV6_LINUX 0x02 /* Linux is our OS */ | 659 | #define OV6_LINUX 0x02 /* Linux is our OS */ |
@@ -706,7 +707,7 @@ static unsigned char ibm_architecture_vec[] = { | |||
706 | OV5_DONATE_DEDICATE_CPU | OV5_MSI, | 707 | OV5_DONATE_DEDICATE_CPU | OV5_MSI, |
707 | 0, | 708 | 0, |
708 | OV5_CMO, | 709 | OV5_CMO, |
709 | 0, | 710 | OV5_TYPE1_AFFINITY, |
710 | 0, | 711 | 0, |
711 | 0, | 712 | 0, |
712 | 0, | 713 | 0, |
@@ -871,7 +872,7 @@ static void __init prom_send_capabilities(void) | |||
871 | "ibm_architecture_vec structure inconsistent: 0x%x !\n", | 872 | "ibm_architecture_vec structure inconsistent: 0x%x !\n", |
872 | *cores); | 873 | *cores); |
873 | } else { | 874 | } else { |
874 | *cores = NR_CPUS / prom_count_smt_threads(); | 875 | *cores = DIV_ROUND_UP(NR_CPUS, prom_count_smt_threads()); |
875 | prom_printf("Max number of cores passed to firmware: 0x%x\n", | 876 | prom_printf("Max number of cores passed to firmware: 0x%x\n", |
876 | (unsigned long)*cores); | 877 | (unsigned long)*cores); |
877 | } | 878 | } |
diff --git a/arch/powerpc/kernel/prom_init_check.sh b/arch/powerpc/kernel/prom_init_check.sh index 1ac136b128f0..9f82f4937892 100644 --- a/arch/powerpc/kernel/prom_init_check.sh +++ b/arch/powerpc/kernel/prom_init_check.sh | |||
@@ -52,12 +52,18 @@ do | |||
52 | if [ "${UNDEF:0:9}" = "_restgpr_" ]; then | 52 | if [ "${UNDEF:0:9}" = "_restgpr_" ]; then |
53 | OK=1 | 53 | OK=1 |
54 | fi | 54 | fi |
55 | if [ "${UNDEF:0:10}" = "_restgpr0_" ]; then | ||
56 | OK=1 | ||
57 | fi | ||
55 | if [ "${UNDEF:0:11}" = "_rest32gpr_" ]; then | 58 | if [ "${UNDEF:0:11}" = "_rest32gpr_" ]; then |
56 | OK=1 | 59 | OK=1 |
57 | fi | 60 | fi |
58 | if [ "${UNDEF:0:9}" = "_savegpr_" ]; then | 61 | if [ "${UNDEF:0:9}" = "_savegpr_" ]; then |
59 | OK=1 | 62 | OK=1 |
60 | fi | 63 | fi |
64 | if [ "${UNDEF:0:10}" = "_savegpr0_" ]; then | ||
65 | OK=1 | ||
66 | fi | ||
61 | if [ "${UNDEF:0:11}" = "_save32gpr_" ]; then | 67 | if [ "${UNDEF:0:11}" = "_save32gpr_" ]; then |
62 | OK=1 | 68 | OK=1 |
63 | fi | 69 | fi |
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index ed2cfe17d25e..7a0c0199ea28 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c | |||
@@ -39,6 +39,109 @@ | |||
39 | #include <asm/system.h> | 39 | #include <asm/system.h> |
40 | 40 | ||
41 | /* | 41 | /* |
42 | * The parameter save area on the stack is used to store arguments being passed | ||
43 | * to callee function and is located at fixed offset from stack pointer. | ||
44 | */ | ||
45 | #ifdef CONFIG_PPC32 | ||
46 | #define PARAMETER_SAVE_AREA_OFFSET 24 /* bytes */ | ||
47 | #else /* CONFIG_PPC32 */ | ||
48 | #define PARAMETER_SAVE_AREA_OFFSET 48 /* bytes */ | ||
49 | #endif | ||
50 | |||
51 | struct pt_regs_offset { | ||
52 | const char *name; | ||
53 | int offset; | ||
54 | }; | ||
55 | |||
56 | #define STR(s) #s /* convert to string */ | ||
57 | #define REG_OFFSET_NAME(r) {.name = #r, .offset = offsetof(struct pt_regs, r)} | ||
58 | #define GPR_OFFSET_NAME(num) \ | ||
59 | {.name = STR(gpr##num), .offset = offsetof(struct pt_regs, gpr[num])} | ||
60 | #define REG_OFFSET_END {.name = NULL, .offset = 0} | ||
61 | |||
62 | static const struct pt_regs_offset regoffset_table[] = { | ||
63 | GPR_OFFSET_NAME(0), | ||
64 | GPR_OFFSET_NAME(1), | ||
65 | GPR_OFFSET_NAME(2), | ||
66 | GPR_OFFSET_NAME(3), | ||
67 | GPR_OFFSET_NAME(4), | ||
68 | GPR_OFFSET_NAME(5), | ||
69 | GPR_OFFSET_NAME(6), | ||
70 | GPR_OFFSET_NAME(7), | ||
71 | GPR_OFFSET_NAME(8), | ||
72 | GPR_OFFSET_NAME(9), | ||
73 | GPR_OFFSET_NAME(10), | ||
74 | GPR_OFFSET_NAME(11), | ||
75 | GPR_OFFSET_NAME(12), | ||
76 | GPR_OFFSET_NAME(13), | ||
77 | GPR_OFFSET_NAME(14), | ||
78 | GPR_OFFSET_NAME(15), | ||
79 | GPR_OFFSET_NAME(16), | ||
80 | GPR_OFFSET_NAME(17), | ||
81 | GPR_OFFSET_NAME(18), | ||
82 | GPR_OFFSET_NAME(19), | ||
83 | GPR_OFFSET_NAME(20), | ||
84 | GPR_OFFSET_NAME(21), | ||
85 | GPR_OFFSET_NAME(22), | ||
86 | GPR_OFFSET_NAME(23), | ||
87 | GPR_OFFSET_NAME(24), | ||
88 | GPR_OFFSET_NAME(25), | ||
89 | GPR_OFFSET_NAME(26), | ||
90 | GPR_OFFSET_NAME(27), | ||
91 | GPR_OFFSET_NAME(28), | ||
92 | GPR_OFFSET_NAME(29), | ||
93 | GPR_OFFSET_NAME(30), | ||
94 | GPR_OFFSET_NAME(31), | ||
95 | REG_OFFSET_NAME(nip), | ||
96 | REG_OFFSET_NAME(msr), | ||
97 | REG_OFFSET_NAME(ctr), | ||
98 | REG_OFFSET_NAME(link), | ||
99 | REG_OFFSET_NAME(xer), | ||
100 | REG_OFFSET_NAME(ccr), | ||
101 | #ifdef CONFIG_PPC64 | ||
102 | REG_OFFSET_NAME(softe), | ||
103 | #else | ||
104 | REG_OFFSET_NAME(mq), | ||
105 | #endif | ||
106 | REG_OFFSET_NAME(trap), | ||
107 | REG_OFFSET_NAME(dar), | ||
108 | REG_OFFSET_NAME(dsisr), | ||
109 | REG_OFFSET_END, | ||
110 | }; | ||
111 | |||
112 | /** | ||
113 | * regs_query_register_offset() - query register offset from its name | ||
114 | * @name: the name of a register | ||
115 | * | ||
116 | * regs_query_register_offset() returns the offset of a register in struct | ||
117 | * pt_regs from its name. If the name is invalid, this returns -EINVAL; | ||
118 | */ | ||
119 | int regs_query_register_offset(const char *name) | ||
120 | { | ||
121 | const struct pt_regs_offset *roff; | ||
122 | for (roff = regoffset_table; roff->name != NULL; roff++) | ||
123 | if (!strcmp(roff->name, name)) | ||
124 | return roff->offset; | ||
125 | return -EINVAL; | ||
126 | } | ||
127 | |||
128 | /** | ||
129 | * regs_query_register_name() - query register name from its offset | ||
130 | * @offset: the offset of a register in struct pt_regs. | ||
131 | * | ||
132 | * regs_query_register_name() returns the name of a register from its | ||
133 | * offset in struct pt_regs. If the @offset is invalid, this returns NULL; | ||
134 | */ | ||
135 | const char *regs_query_register_name(unsigned int offset) | ||
136 | { | ||
137 | const struct pt_regs_offset *roff; | ||
138 | for (roff = regoffset_table; roff->name != NULL; roff++) | ||
139 | if (roff->offset == offset) | ||
140 | return roff->name; | ||
141 | return NULL; | ||
142 | } | ||
143 | |||
144 | /* | ||
42 | * does not yet catch signals sent when the child dies. | 145 | * does not yet catch signals sent when the child dies. |
43 | * in exit.c or in signal.c. | 146 | * in exit.c or in signal.c. |
44 | */ | 147 | */ |
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index fd0d29493fd6..d0516dbee762 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c | |||
@@ -22,7 +22,8 @@ | |||
22 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
23 | #include <linux/completion.h> | 23 | #include <linux/completion.h> |
24 | #include <linux/cpumask.h> | 24 | #include <linux/cpumask.h> |
25 | #include <linux/lmb.h> | 25 | #include <linux/memblock.h> |
26 | #include <linux/slab.h> | ||
26 | 27 | ||
27 | #include <asm/prom.h> | 28 | #include <asm/prom.h> |
28 | #include <asm/rtas.h> | 29 | #include <asm/rtas.h> |
@@ -690,10 +691,14 @@ void rtas_os_term(char *str) | |||
690 | { | 691 | { |
691 | int status; | 692 | int status; |
692 | 693 | ||
693 | if (panic_timeout) | 694 | /* |
694 | return; | 695 | * Firmware with the ibm,extended-os-term property is guaranteed |
695 | 696 | * to always return from an ibm,os-term call. Earlier versions without | |
696 | if (RTAS_UNKNOWN_SERVICE == rtas_token("ibm,os-term")) | 697 | * this property may terminate the partition which we want to avoid |
698 | * since it interferes with panic_timeout. | ||
699 | */ | ||
700 | if (RTAS_UNKNOWN_SERVICE == rtas_token("ibm,os-term") || | ||
701 | RTAS_UNKNOWN_SERVICE == rtas_token("ibm,extended-os-term")) | ||
697 | return; | 702 | return; |
698 | 703 | ||
699 | snprintf(rtas_os_term_buf, 2048, "OS panic: %s", str); | 704 | snprintf(rtas_os_term_buf, 2048, "OS panic: %s", str); |
@@ -704,8 +709,7 @@ void rtas_os_term(char *str) | |||
704 | } while (rtas_busy_delay(status)); | 709 | } while (rtas_busy_delay(status)); |
705 | 710 | ||
706 | if (status != 0) | 711 | if (status != 0) |
707 | printk(KERN_EMERG "ibm,os-term call failed %d\n", | 712 | printk(KERN_EMERG "ibm,os-term call failed %d\n", status); |
708 | status); | ||
709 | } | 713 | } |
710 | 714 | ||
711 | static int ibm_suspend_me_token = RTAS_UNKNOWN_SERVICE; | 715 | static int ibm_suspend_me_token = RTAS_UNKNOWN_SERVICE; |
@@ -930,11 +934,11 @@ void __init rtas_initialize(void) | |||
930 | */ | 934 | */ |
931 | #ifdef CONFIG_PPC64 | 935 | #ifdef CONFIG_PPC64 |
932 | if (machine_is(pseries) && firmware_has_feature(FW_FEATURE_LPAR)) { | 936 | if (machine_is(pseries) && firmware_has_feature(FW_FEATURE_LPAR)) { |
933 | rtas_region = min(lmb.rmo_size, RTAS_INSTANTIATE_MAX); | 937 | rtas_region = min(memblock.rmo_size, RTAS_INSTANTIATE_MAX); |
934 | ibm_suspend_me_token = rtas_token("ibm,suspend-me"); | 938 | ibm_suspend_me_token = rtas_token("ibm,suspend-me"); |
935 | } | 939 | } |
936 | #endif | 940 | #endif |
937 | rtas_rmo_buf = lmb_alloc_base(RTAS_RMOBUF_MAX, PAGE_SIZE, rtas_region); | 941 | rtas_rmo_buf = memblock_alloc_base(RTAS_RMOBUF_MAX, PAGE_SIZE, rtas_region); |
938 | 942 | ||
939 | #ifdef CONFIG_RTAS_ERROR_LOGGING | 943 | #ifdef CONFIG_RTAS_ERROR_LOGGING |
940 | rtas_last_error_token = rtas_token("rtas-last-error"); | 944 | rtas_last_error_token = rtas_token("rtas-last-error"); |
diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c index a85117d5c9a4..67a84d8f118d 100644 --- a/arch/powerpc/kernel/rtas_flash.c +++ b/arch/powerpc/kernel/rtas_flash.c | |||
@@ -15,6 +15,7 @@ | |||
15 | 15 | ||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/slab.h> | ||
18 | #include <linux/proc_fs.h> | 19 | #include <linux/proc_fs.h> |
19 | #include <asm/delay.h> | 20 | #include <asm/delay.h> |
20 | #include <asm/uaccess.h> | 21 | #include <asm/uaccess.h> |
@@ -93,12 +94,8 @@ struct flash_block_list { | |||
93 | struct flash_block_list *next; | 94 | struct flash_block_list *next; |
94 | struct flash_block blocks[FLASH_BLOCKS_PER_NODE]; | 95 | struct flash_block blocks[FLASH_BLOCKS_PER_NODE]; |
95 | }; | 96 | }; |
96 | struct flash_block_list_header { /* just the header of flash_block_list */ | ||
97 | unsigned long num_blocks; | ||
98 | struct flash_block_list *next; | ||
99 | }; | ||
100 | 97 | ||
101 | static struct flash_block_list_header rtas_firmware_flash_list = {0, NULL}; | 98 | static struct flash_block_list *rtas_firmware_flash_list; |
102 | 99 | ||
103 | /* Use slab cache to guarantee 4k alignment */ | 100 | /* Use slab cache to guarantee 4k alignment */ |
104 | static struct kmem_cache *flash_block_cache = NULL; | 101 | static struct kmem_cache *flash_block_cache = NULL; |
@@ -107,13 +104,14 @@ static struct kmem_cache *flash_block_cache = NULL; | |||
107 | 104 | ||
108 | /* Local copy of the flash block list. | 105 | /* Local copy of the flash block list. |
109 | * We only allow one open of the flash proc file and create this | 106 | * We only allow one open of the flash proc file and create this |
110 | * list as we go. This list will be put in the | 107 | * list as we go. The rtas_firmware_flash_list varable will be |
111 | * rtas_firmware_flash_list var once it is fully read. | 108 | * set once the data is fully read. |
112 | * | 109 | * |
113 | * For convenience as we build the list we use virtual addrs, | 110 | * For convenience as we build the list we use virtual addrs, |
114 | * we do not fill in the version number, and the length field | 111 | * we do not fill in the version number, and the length field |
115 | * is treated as the number of entries currently in the block | 112 | * is treated as the number of entries currently in the block |
116 | * (i.e. not a byte count). This is all fixed on release. | 113 | * (i.e. not a byte count). This is all fixed when calling |
114 | * the flash routine. | ||
117 | */ | 115 | */ |
118 | 116 | ||
119 | /* Status int must be first member of struct */ | 117 | /* Status int must be first member of struct */ |
@@ -200,16 +198,16 @@ static int rtas_flash_release(struct inode *inode, struct file *file) | |||
200 | if (uf->flist) { | 198 | if (uf->flist) { |
201 | /* File was opened in write mode for a new flash attempt */ | 199 | /* File was opened in write mode for a new flash attempt */ |
202 | /* Clear saved list */ | 200 | /* Clear saved list */ |
203 | if (rtas_firmware_flash_list.next) { | 201 | if (rtas_firmware_flash_list) { |
204 | free_flash_list(rtas_firmware_flash_list.next); | 202 | free_flash_list(rtas_firmware_flash_list); |
205 | rtas_firmware_flash_list.next = NULL; | 203 | rtas_firmware_flash_list = NULL; |
206 | } | 204 | } |
207 | 205 | ||
208 | if (uf->status != FLASH_AUTH) | 206 | if (uf->status != FLASH_AUTH) |
209 | uf->status = flash_list_valid(uf->flist); | 207 | uf->status = flash_list_valid(uf->flist); |
210 | 208 | ||
211 | if (uf->status == FLASH_IMG_READY) | 209 | if (uf->status == FLASH_IMG_READY) |
212 | rtas_firmware_flash_list.next = uf->flist; | 210 | rtas_firmware_flash_list = uf->flist; |
213 | else | 211 | else |
214 | free_flash_list(uf->flist); | 212 | free_flash_list(uf->flist); |
215 | 213 | ||
@@ -592,7 +590,7 @@ static void rtas_flash_firmware(int reboot_type) | |||
592 | unsigned long rtas_block_list; | 590 | unsigned long rtas_block_list; |
593 | int i, status, update_token; | 591 | int i, status, update_token; |
594 | 592 | ||
595 | if (rtas_firmware_flash_list.next == NULL) | 593 | if (rtas_firmware_flash_list == NULL) |
596 | return; /* nothing to do */ | 594 | return; /* nothing to do */ |
597 | 595 | ||
598 | if (reboot_type != SYS_RESTART) { | 596 | if (reboot_type != SYS_RESTART) { |
@@ -609,20 +607,25 @@ static void rtas_flash_firmware(int reboot_type) | |||
609 | return; | 607 | return; |
610 | } | 608 | } |
611 | 609 | ||
612 | /* NOTE: the "first" block list is a global var with no data | 610 | /* |
613 | * blocks in the kernel data segment. We do this because | 611 | * NOTE: the "first" block must be under 4GB, so we create |
614 | * we want to ensure this block_list addr is under 4GB. | 612 | * an entry with no data blocks in the reserved buffer in |
613 | * the kernel data segment. | ||
615 | */ | 614 | */ |
616 | rtas_firmware_flash_list.num_blocks = 0; | 615 | spin_lock(&rtas_data_buf_lock); |
617 | flist = (struct flash_block_list *)&rtas_firmware_flash_list; | 616 | flist = (struct flash_block_list *)&rtas_data_buf[0]; |
617 | flist->num_blocks = 0; | ||
618 | flist->next = rtas_firmware_flash_list; | ||
618 | rtas_block_list = virt_to_abs(flist); | 619 | rtas_block_list = virt_to_abs(flist); |
619 | if (rtas_block_list >= 4UL*1024*1024*1024) { | 620 | if (rtas_block_list >= 4UL*1024*1024*1024) { |
620 | printk(KERN_ALERT "FLASH: kernel bug...flash list header addr above 4GB\n"); | 621 | printk(KERN_ALERT "FLASH: kernel bug...flash list header addr above 4GB\n"); |
622 | spin_unlock(&rtas_data_buf_lock); | ||
621 | return; | 623 | return; |
622 | } | 624 | } |
623 | 625 | ||
624 | printk(KERN_ALERT "FLASH: preparing saved firmware image for flash\n"); | 626 | printk(KERN_ALERT "FLASH: preparing saved firmware image for flash\n"); |
625 | /* Update the block_list in place. */ | 627 | /* Update the block_list in place. */ |
628 | rtas_firmware_flash_list = NULL; /* too hard to backout on error */ | ||
626 | image_size = 0; | 629 | image_size = 0; |
627 | for (f = flist; f; f = next) { | 630 | for (f = flist; f; f = next) { |
628 | /* Translate data addrs to absolute */ | 631 | /* Translate data addrs to absolute */ |
@@ -663,6 +666,7 @@ static void rtas_flash_firmware(int reboot_type) | |||
663 | printk(KERN_ALERT "FLASH: unknown flash return code %d\n", status); | 666 | printk(KERN_ALERT "FLASH: unknown flash return code %d\n", status); |
664 | break; | 667 | break; |
665 | } | 668 | } |
669 | spin_unlock(&rtas_data_buf_lock); | ||
666 | } | 670 | } |
667 | 671 | ||
668 | static void remove_flash_pde(struct proc_dir_entry *dp) | 672 | static void remove_flash_pde(struct proc_dir_entry *dp) |
diff --git a/arch/powerpc/kernel/rtasd.c b/arch/powerpc/kernel/rtasd.c index 2e4832ab2108..638883e23e3a 100644 --- a/arch/powerpc/kernel/rtasd.c +++ b/arch/powerpc/kernel/rtasd.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/spinlock.h> | 20 | #include <linux/spinlock.h> |
21 | #include <linux/cpu.h> | 21 | #include <linux/cpu.h> |
22 | #include <linux/workqueue.h> | 22 | #include <linux/workqueue.h> |
23 | #include <linux/slab.h> | ||
23 | 24 | ||
24 | #include <asm/uaccess.h> | 25 | #include <asm/uaccess.h> |
25 | #include <asm/io.h> | 26 | #include <asm/io.h> |
@@ -410,9 +411,9 @@ static void rtas_event_scan(struct work_struct *w) | |||
410 | 411 | ||
411 | get_online_cpus(); | 412 | get_online_cpus(); |
412 | 413 | ||
413 | cpu = next_cpu(smp_processor_id(), cpu_online_map); | 414 | cpu = cpumask_next(smp_processor_id(), cpu_online_mask); |
414 | if (cpu == NR_CPUS) { | 415 | if (cpu >= nr_cpu_ids) { |
415 | cpu = first_cpu(cpu_online_map); | 416 | cpu = cpumask_first(cpu_online_mask); |
416 | 417 | ||
417 | if (first_pass) { | 418 | if (first_pass) { |
418 | first_pass = 0; | 419 | first_pass = 0; |
@@ -465,8 +466,8 @@ static void start_event_scan(void) | |||
465 | /* Retreive errors from nvram if any */ | 466 | /* Retreive errors from nvram if any */ |
466 | retreive_nvram_error_log(); | 467 | retreive_nvram_error_log(); |
467 | 468 | ||
468 | schedule_delayed_work_on(first_cpu(cpu_online_map), &event_scan_work, | 469 | schedule_delayed_work_on(cpumask_first(cpu_online_mask), |
469 | event_scan_delay); | 470 | &event_scan_work, event_scan_delay); |
470 | } | 471 | } |
471 | 472 | ||
472 | static int __init rtas_init(void) | 473 | static int __init rtas_init(void) |
@@ -489,6 +490,12 @@ static int __init rtas_init(void) | |||
489 | return -ENODEV; | 490 | return -ENODEV; |
490 | } | 491 | } |
491 | 492 | ||
493 | if (!rtas_event_scan_rate) { | ||
494 | /* Broken firmware: take a rate of zero to mean don't scan */ | ||
495 | printk(KERN_DEBUG "rtasd: scan rate is 0, not scanning\n"); | ||
496 | return 0; | ||
497 | } | ||
498 | |||
492 | /* Make room for the sequence number */ | 499 | /* Make room for the sequence number */ |
493 | rtas_error_log_max = rtas_get_error_log_max(); | 500 | rtas_error_log_max = rtas_get_error_log_max(); |
494 | rtas_error_log_buffer_max = rtas_error_log_max + sizeof(int); | 501 | rtas_error_log_buffer_max = rtas_error_log_max + sizeof(int); |
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 48f0a008b20b..b7e6c7e193ae 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
@@ -33,7 +33,7 @@ | |||
33 | #include <linux/serial_8250.h> | 33 | #include <linux/serial_8250.h> |
34 | #include <linux/debugfs.h> | 34 | #include <linux/debugfs.h> |
35 | #include <linux/percpu.h> | 35 | #include <linux/percpu.h> |
36 | #include <linux/lmb.h> | 36 | #include <linux/memblock.h> |
37 | #include <linux/of_platform.h> | 37 | #include <linux/of_platform.h> |
38 | #include <asm/io.h> | 38 | #include <asm/io.h> |
39 | #include <asm/paca.h> | 39 | #include <asm/paca.h> |
@@ -161,45 +161,44 @@ extern u32 cpu_temp_both(unsigned long cpu); | |||
161 | DEFINE_PER_CPU(unsigned int, cpu_pvr); | 161 | DEFINE_PER_CPU(unsigned int, cpu_pvr); |
162 | #endif | 162 | #endif |
163 | 163 | ||
164 | static int show_cpuinfo(struct seq_file *m, void *v) | 164 | static void show_cpuinfo_summary(struct seq_file *m) |
165 | { | 165 | { |
166 | unsigned long cpu_id = (unsigned long)v - 1; | 166 | struct device_node *root; |
167 | unsigned int pvr; | 167 | const char *model = NULL; |
168 | unsigned short maj; | ||
169 | unsigned short min; | ||
170 | |||
171 | if (cpu_id == NR_CPUS) { | ||
172 | struct device_node *root; | ||
173 | const char *model = NULL; | ||
174 | #if defined(CONFIG_SMP) && defined(CONFIG_PPC32) | 168 | #if defined(CONFIG_SMP) && defined(CONFIG_PPC32) |
175 | unsigned long bogosum = 0; | 169 | unsigned long bogosum = 0; |
176 | int i; | 170 | int i; |
177 | for_each_online_cpu(i) | 171 | for_each_online_cpu(i) |
178 | bogosum += loops_per_jiffy; | 172 | bogosum += loops_per_jiffy; |
179 | seq_printf(m, "total bogomips\t: %lu.%02lu\n", | 173 | seq_printf(m, "total bogomips\t: %lu.%02lu\n", |
180 | bogosum/(500000/HZ), bogosum/(5000/HZ) % 100); | 174 | bogosum/(500000/HZ), bogosum/(5000/HZ) % 100); |
181 | #endif /* CONFIG_SMP && CONFIG_PPC32 */ | 175 | #endif /* CONFIG_SMP && CONFIG_PPC32 */ |
182 | seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq); | 176 | seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq); |
183 | if (ppc_md.name) | 177 | if (ppc_md.name) |
184 | seq_printf(m, "platform\t: %s\n", ppc_md.name); | 178 | seq_printf(m, "platform\t: %s\n", ppc_md.name); |
185 | root = of_find_node_by_path("/"); | 179 | root = of_find_node_by_path("/"); |
186 | if (root) | 180 | if (root) |
187 | model = of_get_property(root, "model", NULL); | 181 | model = of_get_property(root, "model", NULL); |
188 | if (model) | 182 | if (model) |
189 | seq_printf(m, "model\t\t: %s\n", model); | 183 | seq_printf(m, "model\t\t: %s\n", model); |
190 | of_node_put(root); | 184 | of_node_put(root); |
191 | 185 | ||
192 | if (ppc_md.show_cpuinfo != NULL) | 186 | if (ppc_md.show_cpuinfo != NULL) |
193 | ppc_md.show_cpuinfo(m); | 187 | ppc_md.show_cpuinfo(m); |
194 | 188 | ||
195 | #ifdef CONFIG_PPC32 | 189 | #ifdef CONFIG_PPC32 |
196 | /* Display the amount of memory */ | 190 | /* Display the amount of memory */ |
197 | seq_printf(m, "Memory\t\t: %d MB\n", | 191 | seq_printf(m, "Memory\t\t: %d MB\n", |
198 | (unsigned int)(total_memory / (1024 * 1024))); | 192 | (unsigned int)(total_memory / (1024 * 1024))); |
199 | #endif | 193 | #endif |
194 | } | ||
200 | 195 | ||
201 | return 0; | 196 | static int show_cpuinfo(struct seq_file *m, void *v) |
202 | } | 197 | { |
198 | unsigned long cpu_id = (unsigned long)v - 1; | ||
199 | unsigned int pvr; | ||
200 | unsigned short maj; | ||
201 | unsigned short min; | ||
203 | 202 | ||
204 | /* We only show online cpus: disable preempt (overzealous, I | 203 | /* We only show online cpus: disable preempt (overzealous, I |
205 | * knew) to prevent cpu going down. */ | 204 | * knew) to prevent cpu going down. */ |
@@ -308,19 +307,28 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
308 | #endif | 307 | #endif |
309 | 308 | ||
310 | preempt_enable(); | 309 | preempt_enable(); |
310 | |||
311 | /* If this is the last cpu, print the summary */ | ||
312 | if (cpumask_next(cpu_id, cpu_online_mask) >= nr_cpu_ids) | ||
313 | show_cpuinfo_summary(m); | ||
314 | |||
311 | return 0; | 315 | return 0; |
312 | } | 316 | } |
313 | 317 | ||
314 | static void *c_start(struct seq_file *m, loff_t *pos) | 318 | static void *c_start(struct seq_file *m, loff_t *pos) |
315 | { | 319 | { |
316 | unsigned long i = *pos; | 320 | if (*pos == 0) /* just in case, cpu 0 is not the first */ |
317 | 321 | *pos = cpumask_first(cpu_online_mask); | |
318 | return i <= NR_CPUS ? (void *)(i + 1) : NULL; | 322 | else |
323 | *pos = cpumask_next(*pos - 1, cpu_online_mask); | ||
324 | if ((*pos) < nr_cpu_ids) | ||
325 | return (void *)(unsigned long)(*pos + 1); | ||
326 | return NULL; | ||
319 | } | 327 | } |
320 | 328 | ||
321 | static void *c_next(struct seq_file *m, void *v, loff_t *pos) | 329 | static void *c_next(struct seq_file *m, void *v, loff_t *pos) |
322 | { | 330 | { |
323 | ++*pos; | 331 | (*pos)++; |
324 | return c_start(m, pos); | 332 | return c_start(m, pos); |
325 | } | 333 | } |
326 | 334 | ||
@@ -386,14 +394,14 @@ static void __init cpu_init_thread_core_maps(int tpc) | |||
386 | 394 | ||
387 | /** | 395 | /** |
388 | * setup_cpu_maps - initialize the following cpu maps: | 396 | * setup_cpu_maps - initialize the following cpu maps: |
389 | * cpu_possible_map | 397 | * cpu_possible_mask |
390 | * cpu_present_map | 398 | * cpu_present_mask |
391 | * | 399 | * |
392 | * Having the possible map set up early allows us to restrict allocations | 400 | * Having the possible map set up early allows us to restrict allocations |
393 | * of things like irqstacks to num_possible_cpus() rather than NR_CPUS. | 401 | * of things like irqstacks to num_possible_cpus() rather than NR_CPUS. |
394 | * | 402 | * |
395 | * We do not initialize the online map here; cpus set their own bits in | 403 | * We do not initialize the online map here; cpus set their own bits in |
396 | * cpu_online_map as they come up. | 404 | * cpu_online_mask as they come up. |
397 | * | 405 | * |
398 | * This function is valid only for Open Firmware systems. finish_device_tree | 406 | * This function is valid only for Open Firmware systems. finish_device_tree |
399 | * must be called before using this. | 407 | * must be called before using this. |
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c index b152de3e64d4..a10ffc85ada7 100644 --- a/arch/powerpc/kernel/setup_32.c +++ b/arch/powerpc/kernel/setup_32.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <linux/root_dev.h> | 16 | #include <linux/root_dev.h> |
17 | #include <linux/cpu.h> | 17 | #include <linux/cpu.h> |
18 | #include <linux/console.h> | 18 | #include <linux/console.h> |
19 | #include <linux/lmb.h> | 19 | #include <linux/memblock.h> |
20 | 20 | ||
21 | #include <asm/io.h> | 21 | #include <asm/io.h> |
22 | #include <asm/prom.h> | 22 | #include <asm/prom.h> |
@@ -39,7 +39,6 @@ | |||
39 | #include <asm/serial.h> | 39 | #include <asm/serial.h> |
40 | #include <asm/udbg.h> | 40 | #include <asm/udbg.h> |
41 | #include <asm/mmu_context.h> | 41 | #include <asm/mmu_context.h> |
42 | #include <asm/swiotlb.h> | ||
43 | 42 | ||
44 | #include "setup.h" | 43 | #include "setup.h" |
45 | 44 | ||
@@ -242,23 +241,19 @@ int __init ppc_init(void) | |||
242 | 241 | ||
243 | arch_initcall(ppc_init); | 242 | arch_initcall(ppc_init); |
244 | 243 | ||
245 | #ifdef CONFIG_IRQSTACKS | ||
246 | static void __init irqstack_early_init(void) | 244 | static void __init irqstack_early_init(void) |
247 | { | 245 | { |
248 | unsigned int i; | 246 | unsigned int i; |
249 | 247 | ||
250 | /* interrupt stacks must be in lowmem, we get that for free on ppc32 | 248 | /* interrupt stacks must be in lowmem, we get that for free on ppc32 |
251 | * as the lmb is limited to lowmem by LMB_REAL_LIMIT */ | 249 | * as the memblock is limited to lowmem by MEMBLOCK_REAL_LIMIT */ |
252 | for_each_possible_cpu(i) { | 250 | for_each_possible_cpu(i) { |
253 | softirq_ctx[i] = (struct thread_info *) | 251 | softirq_ctx[i] = (struct thread_info *) |
254 | __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); | 252 | __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); |
255 | hardirq_ctx[i] = (struct thread_info *) | 253 | hardirq_ctx[i] = (struct thread_info *) |
256 | __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); | 254 | __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); |
257 | } | 255 | } |
258 | } | 256 | } |
259 | #else | ||
260 | #define irqstack_early_init() | ||
261 | #endif | ||
262 | 257 | ||
263 | #if defined(CONFIG_BOOKE) || defined(CONFIG_40x) | 258 | #if defined(CONFIG_BOOKE) || defined(CONFIG_40x) |
264 | static void __init exc_lvl_early_init(void) | 259 | static void __init exc_lvl_early_init(void) |
@@ -266,15 +261,15 @@ static void __init exc_lvl_early_init(void) | |||
266 | unsigned int i; | 261 | unsigned int i; |
267 | 262 | ||
268 | /* interrupt stacks must be in lowmem, we get that for free on ppc32 | 263 | /* interrupt stacks must be in lowmem, we get that for free on ppc32 |
269 | * as the lmb is limited to lowmem by LMB_REAL_LIMIT */ | 264 | * as the memblock is limited to lowmem by MEMBLOCK_REAL_LIMIT */ |
270 | for_each_possible_cpu(i) { | 265 | for_each_possible_cpu(i) { |
271 | critirq_ctx[i] = (struct thread_info *) | 266 | critirq_ctx[i] = (struct thread_info *) |
272 | __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); | 267 | __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); |
273 | #ifdef CONFIG_BOOKE | 268 | #ifdef CONFIG_BOOKE |
274 | dbgirq_ctx[i] = (struct thread_info *) | 269 | dbgirq_ctx[i] = (struct thread_info *) |
275 | __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); | 270 | __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); |
276 | mcheckirq_ctx[i] = (struct thread_info *) | 271 | mcheckirq_ctx[i] = (struct thread_info *) |
277 | __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); | 272 | __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); |
278 | #endif | 273 | #endif |
279 | } | 274 | } |
280 | } | 275 | } |
@@ -343,11 +338,6 @@ void __init setup_arch(char **cmdline_p) | |||
343 | ppc_md.setup_arch(); | 338 | ppc_md.setup_arch(); |
344 | if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab); | 339 | if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab); |
345 | 340 | ||
346 | #ifdef CONFIG_SWIOTLB | ||
347 | if (ppc_swiotlb_enable) | ||
348 | swiotlb_init(1); | ||
349 | #endif | ||
350 | |||
351 | paging_init(); | 341 | paging_init(); |
352 | 342 | ||
353 | /* Initialize the MMU context management stuff */ | 343 | /* Initialize the MMU context management stuff */ |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 63547394048c..d135f93cb0f6 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <linux/bootmem.h> | 34 | #include <linux/bootmem.h> |
35 | #include <linux/pci.h> | 35 | #include <linux/pci.h> |
36 | #include <linux/lockdep.h> | 36 | #include <linux/lockdep.h> |
37 | #include <linux/lmb.h> | 37 | #include <linux/memblock.h> |
38 | #include <asm/io.h> | 38 | #include <asm/io.h> |
39 | #include <asm/kdump.h> | 39 | #include <asm/kdump.h> |
40 | #include <asm/prom.h> | 40 | #include <asm/prom.h> |
@@ -61,7 +61,6 @@ | |||
61 | #include <asm/xmon.h> | 61 | #include <asm/xmon.h> |
62 | #include <asm/udbg.h> | 62 | #include <asm/udbg.h> |
63 | #include <asm/kexec.h> | 63 | #include <asm/kexec.h> |
64 | #include <asm/swiotlb.h> | ||
65 | #include <asm/mmu_context.h> | 64 | #include <asm/mmu_context.h> |
66 | 65 | ||
67 | #include "setup.h" | 66 | #include "setup.h" |
@@ -159,7 +158,7 @@ static void __init setup_paca(struct paca_struct *new_paca) | |||
159 | * the CPU that ignores the top 2 bits of the address in real | 158 | * the CPU that ignores the top 2 bits of the address in real |
160 | * mode so we can access kernel globals normally provided we | 159 | * mode so we can access kernel globals normally provided we |
161 | * only toy with things in the RMO region. From here, we do | 160 | * only toy with things in the RMO region. From here, we do |
162 | * some early parsing of the device-tree to setup out LMB | 161 | * some early parsing of the device-tree to setup out MEMBLOCK |
163 | * data structures, and allocate & initialize the hash table | 162 | * data structures, and allocate & initialize the hash table |
164 | * and segment tables so we can start running with translation | 163 | * and segment tables so we can start running with translation |
165 | * enabled. | 164 | * enabled. |
@@ -405,7 +404,7 @@ void __init setup_system(void) | |||
405 | 404 | ||
406 | printk("-----------------------------------------------------\n"); | 405 | printk("-----------------------------------------------------\n"); |
407 | printk("ppc64_pft_size = 0x%llx\n", ppc64_pft_size); | 406 | printk("ppc64_pft_size = 0x%llx\n", ppc64_pft_size); |
408 | printk("physicalMemorySize = 0x%llx\n", lmb_phys_mem_size()); | 407 | printk("physicalMemorySize = 0x%llx\n", memblock_phys_mem_size()); |
409 | if (ppc64_caches.dline_size != 0x80) | 408 | if (ppc64_caches.dline_size != 0x80) |
410 | printk("ppc64_caches.dcache_line_size = 0x%x\n", | 409 | printk("ppc64_caches.dcache_line_size = 0x%x\n", |
411 | ppc64_caches.dline_size); | 410 | ppc64_caches.dline_size); |
@@ -425,9 +424,17 @@ void __init setup_system(void) | |||
425 | DBG(" <- setup_system()\n"); | 424 | DBG(" <- setup_system()\n"); |
426 | } | 425 | } |
427 | 426 | ||
428 | #ifdef CONFIG_IRQSTACKS | 427 | static u64 slb0_limit(void) |
428 | { | ||
429 | if (cpu_has_feature(CPU_FTR_1T_SEGMENT)) { | ||
430 | return 1UL << SID_SHIFT_1T; | ||
431 | } | ||
432 | return 1UL << SID_SHIFT; | ||
433 | } | ||
434 | |||
429 | static void __init irqstack_early_init(void) | 435 | static void __init irqstack_early_init(void) |
430 | { | 436 | { |
437 | u64 limit = slb0_limit(); | ||
431 | unsigned int i; | 438 | unsigned int i; |
432 | 439 | ||
433 | /* | 440 | /* |
@@ -436,16 +443,13 @@ static void __init irqstack_early_init(void) | |||
436 | */ | 443 | */ |
437 | for_each_possible_cpu(i) { | 444 | for_each_possible_cpu(i) { |
438 | softirq_ctx[i] = (struct thread_info *) | 445 | softirq_ctx[i] = (struct thread_info *) |
439 | __va(lmb_alloc_base(THREAD_SIZE, | 446 | __va(memblock_alloc_base(THREAD_SIZE, |
440 | THREAD_SIZE, 0x10000000)); | 447 | THREAD_SIZE, limit)); |
441 | hardirq_ctx[i] = (struct thread_info *) | 448 | hardirq_ctx[i] = (struct thread_info *) |
442 | __va(lmb_alloc_base(THREAD_SIZE, | 449 | __va(memblock_alloc_base(THREAD_SIZE, |
443 | THREAD_SIZE, 0x10000000)); | 450 | THREAD_SIZE, limit)); |
444 | } | 451 | } |
445 | } | 452 | } |
446 | #else | ||
447 | #define irqstack_early_init() | ||
448 | #endif | ||
449 | 453 | ||
450 | #ifdef CONFIG_PPC_BOOK3E | 454 | #ifdef CONFIG_PPC_BOOK3E |
451 | static void __init exc_lvl_early_init(void) | 455 | static void __init exc_lvl_early_init(void) |
@@ -454,11 +458,11 @@ static void __init exc_lvl_early_init(void) | |||
454 | 458 | ||
455 | for_each_possible_cpu(i) { | 459 | for_each_possible_cpu(i) { |
456 | critirq_ctx[i] = (struct thread_info *) | 460 | critirq_ctx[i] = (struct thread_info *) |
457 | __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); | 461 | __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); |
458 | dbgirq_ctx[i] = (struct thread_info *) | 462 | dbgirq_ctx[i] = (struct thread_info *) |
459 | __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); | 463 | __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); |
460 | mcheckirq_ctx[i] = (struct thread_info *) | 464 | mcheckirq_ctx[i] = (struct thread_info *) |
461 | __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); | 465 | __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); |
462 | } | 466 | } |
463 | } | 467 | } |
464 | #else | 468 | #else |
@@ -471,7 +475,7 @@ static void __init exc_lvl_early_init(void) | |||
471 | */ | 475 | */ |
472 | static void __init emergency_stack_init(void) | 476 | static void __init emergency_stack_init(void) |
473 | { | 477 | { |
474 | unsigned long limit; | 478 | u64 limit; |
475 | unsigned int i; | 479 | unsigned int i; |
476 | 480 | ||
477 | /* | 481 | /* |
@@ -483,11 +487,11 @@ static void __init emergency_stack_init(void) | |||
483 | * bringup, we need to get at them in real mode. This means they | 487 | * bringup, we need to get at them in real mode. This means they |
484 | * must also be within the RMO region. | 488 | * must also be within the RMO region. |
485 | */ | 489 | */ |
486 | limit = min(0x10000000ULL, lmb.rmo_size); | 490 | limit = min(slb0_limit(), memblock.rmo_size); |
487 | 491 | ||
488 | for_each_possible_cpu(i) { | 492 | for_each_possible_cpu(i) { |
489 | unsigned long sp; | 493 | unsigned long sp; |
490 | sp = lmb_alloc_base(THREAD_SIZE, THREAD_SIZE, limit); | 494 | sp = memblock_alloc_base(THREAD_SIZE, THREAD_SIZE, limit); |
491 | sp += THREAD_SIZE; | 495 | sp += THREAD_SIZE; |
492 | paca[i].emergency_sp = __va(sp); | 496 | paca[i].emergency_sp = __va(sp); |
493 | } | 497 | } |
@@ -541,11 +545,6 @@ void __init setup_arch(char **cmdline_p) | |||
541 | if (ppc_md.setup_arch) | 545 | if (ppc_md.setup_arch) |
542 | ppc_md.setup_arch(); | 546 | ppc_md.setup_arch(); |
543 | 547 | ||
544 | #ifdef CONFIG_SWIOTLB | ||
545 | if (ppc_swiotlb_enable) | ||
546 | swiotlb_init(1); | ||
547 | #endif | ||
548 | |||
549 | paging_init(); | 548 | paging_init(); |
550 | 549 | ||
551 | /* Initialize the MMU context management stuff */ | 550 | /* Initialize the MMU context management stuff */ |
@@ -579,12 +578,6 @@ void ppc64_boot_msg(unsigned int src, const char *msg) | |||
579 | printk("[boot]%04x %s\n", src, msg); | 578 | printk("[boot]%04x %s\n", src, msg); |
580 | } | 579 | } |
581 | 580 | ||
582 | void cpu_die(void) | ||
583 | { | ||
584 | if (ppc_md.cpu_die) | ||
585 | ppc_md.cpu_die(); | ||
586 | } | ||
587 | |||
588 | #ifdef CONFIG_SMP | 581 | #ifdef CONFIG_SMP |
589 | #define PCPU_DYN_SIZE () | 582 | #define PCPU_DYN_SIZE () |
590 | 583 | ||
diff --git a/arch/powerpc/kernel/smp-tbsync.c b/arch/powerpc/kernel/smp-tbsync.c index a5e54526403d..03e45c4a9ef1 100644 --- a/arch/powerpc/kernel/smp-tbsync.c +++ b/arch/powerpc/kernel/smp-tbsync.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/smp.h> | 10 | #include <linux/smp.h> |
11 | #include <linux/unistd.h> | 11 | #include <linux/unistd.h> |
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <linux/slab.h> | ||
13 | #include <asm/atomic.h> | 14 | #include <asm/atomic.h> |
14 | #include <asm/smp.h> | 15 | #include <asm/smp.h> |
15 | #include <asm/time.h> | 16 | #include <asm/time.h> |
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index c2ee14498077..5c196d1086d9 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
@@ -59,8 +59,8 @@ | |||
59 | 59 | ||
60 | struct thread_info *secondary_ti; | 60 | struct thread_info *secondary_ti; |
61 | 61 | ||
62 | DEFINE_PER_CPU(cpumask_t, cpu_sibling_map) = CPU_MASK_NONE; | 62 | DEFINE_PER_CPU(cpumask_var_t, cpu_sibling_map); |
63 | DEFINE_PER_CPU(cpumask_t, cpu_core_map) = CPU_MASK_NONE; | 63 | DEFINE_PER_CPU(cpumask_var_t, cpu_core_map); |
64 | 64 | ||
65 | EXPORT_PER_CPU_SYMBOL(cpu_sibling_map); | 65 | EXPORT_PER_CPU_SYMBOL(cpu_sibling_map); |
66 | EXPORT_PER_CPU_SYMBOL(cpu_core_map); | 66 | EXPORT_PER_CPU_SYMBOL(cpu_core_map); |
@@ -271,6 +271,16 @@ void __init smp_prepare_cpus(unsigned int max_cpus) | |||
271 | smp_store_cpu_info(boot_cpuid); | 271 | smp_store_cpu_info(boot_cpuid); |
272 | cpu_callin_map[boot_cpuid] = 1; | 272 | cpu_callin_map[boot_cpuid] = 1; |
273 | 273 | ||
274 | for_each_possible_cpu(cpu) { | ||
275 | zalloc_cpumask_var_node(&per_cpu(cpu_sibling_map, cpu), | ||
276 | GFP_KERNEL, cpu_to_node(cpu)); | ||
277 | zalloc_cpumask_var_node(&per_cpu(cpu_core_map, cpu), | ||
278 | GFP_KERNEL, cpu_to_node(cpu)); | ||
279 | } | ||
280 | |||
281 | cpumask_set_cpu(boot_cpuid, cpu_sibling_mask(boot_cpuid)); | ||
282 | cpumask_set_cpu(boot_cpuid, cpu_core_mask(boot_cpuid)); | ||
283 | |||
274 | if (smp_ops) | 284 | if (smp_ops) |
275 | if (smp_ops->probe) | 285 | if (smp_ops->probe) |
276 | max_cpus = smp_ops->probe(); | 286 | max_cpus = smp_ops->probe(); |
@@ -289,10 +299,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus) | |||
289 | void __devinit smp_prepare_boot_cpu(void) | 299 | void __devinit smp_prepare_boot_cpu(void) |
290 | { | 300 | { |
291 | BUG_ON(smp_processor_id() != boot_cpuid); | 301 | BUG_ON(smp_processor_id() != boot_cpuid); |
292 | |||
293 | set_cpu_online(boot_cpuid, true); | ||
294 | cpu_set(boot_cpuid, per_cpu(cpu_sibling_map, boot_cpuid)); | ||
295 | cpu_set(boot_cpuid, per_cpu(cpu_core_map, boot_cpuid)); | ||
296 | #ifdef CONFIG_PPC64 | 302 | #ifdef CONFIG_PPC64 |
297 | paca[boot_cpuid].__current = current; | 303 | paca[boot_cpuid].__current = current; |
298 | #endif | 304 | #endif |
@@ -313,7 +319,7 @@ int generic_cpu_disable(void) | |||
313 | set_cpu_online(cpu, false); | 319 | set_cpu_online(cpu, false); |
314 | #ifdef CONFIG_PPC64 | 320 | #ifdef CONFIG_PPC64 |
315 | vdso_data->processorCount--; | 321 | vdso_data->processorCount--; |
316 | fixup_irqs(cpu_online_map); | 322 | fixup_irqs(cpu_online_mask); |
317 | #endif | 323 | #endif |
318 | return 0; | 324 | return 0; |
319 | } | 325 | } |
@@ -333,7 +339,7 @@ int generic_cpu_enable(unsigned int cpu) | |||
333 | cpu_relax(); | 339 | cpu_relax(); |
334 | 340 | ||
335 | #ifdef CONFIG_PPC64 | 341 | #ifdef CONFIG_PPC64 |
336 | fixup_irqs(cpu_online_map); | 342 | fixup_irqs(cpu_online_mask); |
337 | /* counter the irq disable in fixup_irqs */ | 343 | /* counter the irq disable in fixup_irqs */ |
338 | local_irq_enable(); | 344 | local_irq_enable(); |
339 | #endif | 345 | #endif |
@@ -462,7 +468,7 @@ out: | |||
462 | return id; | 468 | return id; |
463 | } | 469 | } |
464 | 470 | ||
465 | /* Must be called when no change can occur to cpu_present_map, | 471 | /* Must be called when no change can occur to cpu_present_mask, |
466 | * i.e. during cpu online or offline. | 472 | * i.e. during cpu online or offline. |
467 | */ | 473 | */ |
468 | static struct device_node *cpu_to_l2cache(int cpu) | 474 | static struct device_node *cpu_to_l2cache(int cpu) |
@@ -495,6 +501,14 @@ int __devinit start_secondary(void *unused) | |||
495 | current->active_mm = &init_mm; | 501 | current->active_mm = &init_mm; |
496 | 502 | ||
497 | smp_store_cpu_info(cpu); | 503 | smp_store_cpu_info(cpu); |
504 | |||
505 | #if defined(CONFIG_BOOKE) || defined(CONFIG_40x) | ||
506 | /* Clear any pending timer interrupts */ | ||
507 | mtspr(SPRN_TSR, TSR_ENW | TSR_WIS | TSR_DIS | TSR_FIS); | ||
508 | |||
509 | /* Enable decrementer interrupt */ | ||
510 | mtspr(SPRN_TCR, TCR_DIE); | ||
511 | #endif | ||
498 | set_dec(tb_ticks_per_jiffy); | 512 | set_dec(tb_ticks_per_jiffy); |
499 | preempt_disable(); | 513 | preempt_disable(); |
500 | cpu_callin_map[cpu] = 1; | 514 | cpu_callin_map[cpu] = 1; |
@@ -517,15 +531,15 @@ int __devinit start_secondary(void *unused) | |||
517 | for (i = 0; i < threads_per_core; i++) { | 531 | for (i = 0; i < threads_per_core; i++) { |
518 | if (cpu_is_offline(base + i)) | 532 | if (cpu_is_offline(base + i)) |
519 | continue; | 533 | continue; |
520 | cpu_set(cpu, per_cpu(cpu_sibling_map, base + i)); | 534 | cpumask_set_cpu(cpu, cpu_sibling_mask(base + i)); |
521 | cpu_set(base + i, per_cpu(cpu_sibling_map, cpu)); | 535 | cpumask_set_cpu(base + i, cpu_sibling_mask(cpu)); |
522 | 536 | ||
523 | /* cpu_core_map should be a superset of | 537 | /* cpu_core_map should be a superset of |
524 | * cpu_sibling_map even if we don't have cache | 538 | * cpu_sibling_map even if we don't have cache |
525 | * information, so update the former here, too. | 539 | * information, so update the former here, too. |
526 | */ | 540 | */ |
527 | cpu_set(cpu, per_cpu(cpu_core_map, base +i)); | 541 | cpumask_set_cpu(cpu, cpu_core_mask(base + i)); |
528 | cpu_set(base + i, per_cpu(cpu_core_map, cpu)); | 542 | cpumask_set_cpu(base + i, cpu_core_mask(cpu)); |
529 | } | 543 | } |
530 | l2_cache = cpu_to_l2cache(cpu); | 544 | l2_cache = cpu_to_l2cache(cpu); |
531 | for_each_online_cpu(i) { | 545 | for_each_online_cpu(i) { |
@@ -533,8 +547,8 @@ int __devinit start_secondary(void *unused) | |||
533 | if (!np) | 547 | if (!np) |
534 | continue; | 548 | continue; |
535 | if (np == l2_cache) { | 549 | if (np == l2_cache) { |
536 | cpu_set(cpu, per_cpu(cpu_core_map, i)); | 550 | cpumask_set_cpu(cpu, cpu_core_mask(i)); |
537 | cpu_set(i, per_cpu(cpu_core_map, cpu)); | 551 | cpumask_set_cpu(i, cpu_core_mask(cpu)); |
538 | } | 552 | } |
539 | of_node_put(np); | 553 | of_node_put(np); |
540 | } | 554 | } |
@@ -554,19 +568,22 @@ int setup_profiling_timer(unsigned int multiplier) | |||
554 | 568 | ||
555 | void __init smp_cpus_done(unsigned int max_cpus) | 569 | void __init smp_cpus_done(unsigned int max_cpus) |
556 | { | 570 | { |
557 | cpumask_t old_mask; | 571 | cpumask_var_t old_mask; |
558 | 572 | ||
559 | /* We want the setup_cpu() here to be called from CPU 0, but our | 573 | /* We want the setup_cpu() here to be called from CPU 0, but our |
560 | * init thread may have been "borrowed" by another CPU in the meantime | 574 | * init thread may have been "borrowed" by another CPU in the meantime |
561 | * se we pin us down to CPU 0 for a short while | 575 | * se we pin us down to CPU 0 for a short while |
562 | */ | 576 | */ |
563 | old_mask = current->cpus_allowed; | 577 | alloc_cpumask_var(&old_mask, GFP_NOWAIT); |
564 | set_cpus_allowed(current, cpumask_of_cpu(boot_cpuid)); | 578 | cpumask_copy(old_mask, ¤t->cpus_allowed); |
579 | set_cpus_allowed_ptr(current, cpumask_of(boot_cpuid)); | ||
565 | 580 | ||
566 | if (smp_ops && smp_ops->setup_cpu) | 581 | if (smp_ops && smp_ops->setup_cpu) |
567 | smp_ops->setup_cpu(boot_cpuid); | 582 | smp_ops->setup_cpu(boot_cpuid); |
568 | 583 | ||
569 | set_cpus_allowed(current, old_mask); | 584 | set_cpus_allowed_ptr(current, old_mask); |
585 | |||
586 | free_cpumask_var(old_mask); | ||
570 | 587 | ||
571 | snapshot_timebases(); | 588 | snapshot_timebases(); |
572 | 589 | ||
@@ -591,10 +608,10 @@ int __cpu_disable(void) | |||
591 | /* Update sibling maps */ | 608 | /* Update sibling maps */ |
592 | base = cpu_first_thread_in_core(cpu); | 609 | base = cpu_first_thread_in_core(cpu); |
593 | for (i = 0; i < threads_per_core; i++) { | 610 | for (i = 0; i < threads_per_core; i++) { |
594 | cpu_clear(cpu, per_cpu(cpu_sibling_map, base + i)); | 611 | cpumask_clear_cpu(cpu, cpu_sibling_mask(base + i)); |
595 | cpu_clear(base + i, per_cpu(cpu_sibling_map, cpu)); | 612 | cpumask_clear_cpu(base + i, cpu_sibling_mask(cpu)); |
596 | cpu_clear(cpu, per_cpu(cpu_core_map, base +i)); | 613 | cpumask_clear_cpu(cpu, cpu_core_mask(base + i)); |
597 | cpu_clear(base + i, per_cpu(cpu_core_map, cpu)); | 614 | cpumask_clear_cpu(base + i, cpu_core_mask(cpu)); |
598 | } | 615 | } |
599 | 616 | ||
600 | l2_cache = cpu_to_l2cache(cpu); | 617 | l2_cache = cpu_to_l2cache(cpu); |
@@ -603,8 +620,8 @@ int __cpu_disable(void) | |||
603 | if (!np) | 620 | if (!np) |
604 | continue; | 621 | continue; |
605 | if (np == l2_cache) { | 622 | if (np == l2_cache) { |
606 | cpu_clear(cpu, per_cpu(cpu_core_map, i)); | 623 | cpumask_clear_cpu(cpu, cpu_core_mask(i)); |
607 | cpu_clear(i, per_cpu(cpu_core_map, cpu)); | 624 | cpumask_clear_cpu(i, cpu_core_mask(cpu)); |
608 | } | 625 | } |
609 | of_node_put(np); | 626 | of_node_put(np); |
610 | } | 627 | } |
@@ -631,4 +648,10 @@ void cpu_hotplug_driver_unlock() | |||
631 | { | 648 | { |
632 | mutex_unlock(&powerpc_cpu_hotplug_driver_mutex); | 649 | mutex_unlock(&powerpc_cpu_hotplug_driver_mutex); |
633 | } | 650 | } |
651 | |||
652 | void cpu_die(void) | ||
653 | { | ||
654 | if (ppc_md.cpu_die) | ||
655 | ppc_md.cpu_die(); | ||
656 | } | ||
634 | #endif | 657 | #endif |
diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c index 23c8c5e7dc4d..af0e8290b4fc 100644 --- a/arch/powerpc/kernel/softemu8xx.c +++ b/arch/powerpc/kernel/softemu8xx.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/stddef.h> | 21 | #include <linux/stddef.h> |
22 | #include <linux/unistd.h> | 22 | #include <linux/unistd.h> |
23 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
24 | #include <linux/slab.h> | ||
25 | #include <linux/user.h> | 24 | #include <linux/user.h> |
26 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
27 | 26 | ||
diff --git a/arch/powerpc/kernel/suspend.c b/arch/powerpc/kernel/suspend.c index 6fc6328dc626..0167d53da30c 100644 --- a/arch/powerpc/kernel/suspend.c +++ b/arch/powerpc/kernel/suspend.c | |||
@@ -3,7 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Distribute under GPLv2 | 4 | * Distribute under GPLv2 |
5 | * | 5 | * |
6 | * Copyright (c) 2002 Pavel Machek <pavel@suse.cz> | 6 | * Copyright (c) 2002 Pavel Machek <pavel@ucw.cz> |
7 | * Copyright (c) 2001 Patrick Mochel <mochel@osdl.org> | 7 | * Copyright (c) 2001 Patrick Mochel <mochel@osdl.org> |
8 | */ | 8 | */ |
9 | 9 | ||
diff --git a/arch/powerpc/kernel/swsusp_booke.S b/arch/powerpc/kernel/swsusp_booke.S new file mode 100644 index 000000000000..11a39307dd71 --- /dev/null +++ b/arch/powerpc/kernel/swsusp_booke.S | |||
@@ -0,0 +1,193 @@ | |||
1 | /* | ||
2 | * Based on swsusp_32.S, modified for FSL BookE by | ||
3 | * Anton Vorontsov <avorontsov@ru.mvista.com> | ||
4 | * Copyright (c) 2009-2010 MontaVista Software, LLC. | ||
5 | */ | ||
6 | |||
7 | #include <linux/threads.h> | ||
8 | #include <asm/processor.h> | ||
9 | #include <asm/page.h> | ||
10 | #include <asm/cputable.h> | ||
11 | #include <asm/thread_info.h> | ||
12 | #include <asm/ppc_asm.h> | ||
13 | #include <asm/asm-offsets.h> | ||
14 | #include <asm/mmu.h> | ||
15 | |||
16 | /* | ||
17 | * Structure for storing CPU registers on the save area. | ||
18 | */ | ||
19 | #define SL_SP 0 | ||
20 | #define SL_PC 4 | ||
21 | #define SL_MSR 8 | ||
22 | #define SL_TCR 0xc | ||
23 | #define SL_SPRG0 0x10 | ||
24 | #define SL_SPRG1 0x14 | ||
25 | #define SL_SPRG2 0x18 | ||
26 | #define SL_SPRG3 0x1c | ||
27 | #define SL_SPRG4 0x20 | ||
28 | #define SL_SPRG5 0x24 | ||
29 | #define SL_SPRG6 0x28 | ||
30 | #define SL_SPRG7 0x2c | ||
31 | #define SL_TBU 0x30 | ||
32 | #define SL_TBL 0x34 | ||
33 | #define SL_R2 0x38 | ||
34 | #define SL_CR 0x3c | ||
35 | #define SL_LR 0x40 | ||
36 | #define SL_R12 0x44 /* r12 to r31 */ | ||
37 | #define SL_SIZE (SL_R12 + 80) | ||
38 | |||
39 | .section .data | ||
40 | .align 5 | ||
41 | |||
42 | _GLOBAL(swsusp_save_area) | ||
43 | .space SL_SIZE | ||
44 | |||
45 | |||
46 | .section .text | ||
47 | .align 5 | ||
48 | |||
49 | _GLOBAL(swsusp_arch_suspend) | ||
50 | lis r11,swsusp_save_area@h | ||
51 | ori r11,r11,swsusp_save_area@l | ||
52 | |||
53 | mflr r0 | ||
54 | stw r0,SL_LR(r11) | ||
55 | mfcr r0 | ||
56 | stw r0,SL_CR(r11) | ||
57 | stw r1,SL_SP(r11) | ||
58 | stw r2,SL_R2(r11) | ||
59 | stmw r12,SL_R12(r11) | ||
60 | |||
61 | /* Save MSR & TCR */ | ||
62 | mfmsr r4 | ||
63 | stw r4,SL_MSR(r11) | ||
64 | mfspr r4,SPRN_TCR | ||
65 | stw r4,SL_TCR(r11) | ||
66 | |||
67 | /* Get a stable timebase and save it */ | ||
68 | 1: mfspr r4,SPRN_TBRU | ||
69 | stw r4,SL_TBU(r11) | ||
70 | mfspr r5,SPRN_TBRL | ||
71 | stw r5,SL_TBL(r11) | ||
72 | mfspr r3,SPRN_TBRU | ||
73 | cmpw r3,r4 | ||
74 | bne 1b | ||
75 | |||
76 | /* Save SPRGs */ | ||
77 | mfsprg r4,0 | ||
78 | stw r4,SL_SPRG0(r11) | ||
79 | mfsprg r4,1 | ||
80 | stw r4,SL_SPRG1(r11) | ||
81 | mfsprg r4,2 | ||
82 | stw r4,SL_SPRG2(r11) | ||
83 | mfsprg r4,3 | ||
84 | stw r4,SL_SPRG3(r11) | ||
85 | mfsprg r4,4 | ||
86 | stw r4,SL_SPRG4(r11) | ||
87 | mfsprg r4,5 | ||
88 | stw r4,SL_SPRG5(r11) | ||
89 | mfsprg r4,6 | ||
90 | stw r4,SL_SPRG6(r11) | ||
91 | mfsprg r4,7 | ||
92 | stw r4,SL_SPRG7(r11) | ||
93 | |||
94 | /* Call the low level suspend stuff (we should probably have made | ||
95 | * a stackframe... | ||
96 | */ | ||
97 | bl swsusp_save | ||
98 | |||
99 | /* Restore LR from the save area */ | ||
100 | lis r11,swsusp_save_area@h | ||
101 | ori r11,r11,swsusp_save_area@l | ||
102 | lwz r0,SL_LR(r11) | ||
103 | mtlr r0 | ||
104 | |||
105 | blr | ||
106 | |||
107 | _GLOBAL(swsusp_arch_resume) | ||
108 | sync | ||
109 | |||
110 | /* Load ptr the list of pages to copy in r3 */ | ||
111 | lis r11,(restore_pblist)@h | ||
112 | ori r11,r11,restore_pblist@l | ||
113 | lwz r3,0(r11) | ||
114 | |||
115 | /* Copy the pages. This is a very basic implementation, to | ||
116 | * be replaced by something more cache efficient */ | ||
117 | 1: | ||
118 | li r0,256 | ||
119 | mtctr r0 | ||
120 | lwz r5,pbe_address(r3) /* source */ | ||
121 | lwz r6,pbe_orig_address(r3) /* destination */ | ||
122 | 2: | ||
123 | lwz r8,0(r5) | ||
124 | lwz r9,4(r5) | ||
125 | lwz r10,8(r5) | ||
126 | lwz r11,12(r5) | ||
127 | addi r5,r5,16 | ||
128 | stw r8,0(r6) | ||
129 | stw r9,4(r6) | ||
130 | stw r10,8(r6) | ||
131 | stw r11,12(r6) | ||
132 | addi r6,r6,16 | ||
133 | bdnz 2b | ||
134 | lwz r3,pbe_next(r3) | ||
135 | cmpwi 0,r3,0 | ||
136 | bne 1b | ||
137 | |||
138 | bl flush_dcache_L1 | ||
139 | bl flush_instruction_cache | ||
140 | |||
141 | lis r11,swsusp_save_area@h | ||
142 | ori r11,r11,swsusp_save_area@l | ||
143 | |||
144 | lwz r4,SL_SPRG0(r11) | ||
145 | mtsprg 0,r4 | ||
146 | lwz r4,SL_SPRG1(r11) | ||
147 | mtsprg 1,r4 | ||
148 | lwz r4,SL_SPRG2(r11) | ||
149 | mtsprg 2,r4 | ||
150 | lwz r4,SL_SPRG3(r11) | ||
151 | mtsprg 3,r4 | ||
152 | lwz r4,SL_SPRG4(r11) | ||
153 | mtsprg 4,r4 | ||
154 | lwz r4,SL_SPRG5(r11) | ||
155 | mtsprg 5,r4 | ||
156 | lwz r4,SL_SPRG6(r11) | ||
157 | mtsprg 6,r4 | ||
158 | lwz r4,SL_SPRG7(r11) | ||
159 | mtsprg 7,r4 | ||
160 | |||
161 | /* restore the MSR */ | ||
162 | lwz r3,SL_MSR(r11) | ||
163 | mtmsr r3 | ||
164 | |||
165 | /* Restore TB */ | ||
166 | li r3,0 | ||
167 | mtspr SPRN_TBWL,r3 | ||
168 | lwz r3,SL_TBU(r11) | ||
169 | lwz r4,SL_TBL(r11) | ||
170 | mtspr SPRN_TBWU,r3 | ||
171 | mtspr SPRN_TBWL,r4 | ||
172 | |||
173 | /* Restore TCR and clear any pending bits in TSR. */ | ||
174 | lwz r4,SL_TCR(r11) | ||
175 | mtspr SPRN_TCR,r4 | ||
176 | lis r4, (TSR_ENW | TSR_WIS | TSR_DIS | TSR_FIS)@h | ||
177 | mtspr SPRN_TSR,r4 | ||
178 | |||
179 | /* Kick decrementer */ | ||
180 | li r0,1 | ||
181 | mtdec r0 | ||
182 | |||
183 | /* Restore the callee-saved registers and return */ | ||
184 | lwz r0,SL_CR(r11) | ||
185 | mtcr r0 | ||
186 | lwz r2,SL_R2(r11) | ||
187 | lmw r12,SL_R12(r11) | ||
188 | lwz r1,SL_SP(r11) | ||
189 | lwz r0,SL_LR(r11) | ||
190 | mtlr r0 | ||
191 | |||
192 | li r3,0 | ||
193 | blr | ||
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c index c5a4732bcc48..19471a1cef1a 100644 --- a/arch/powerpc/kernel/sys_ppc32.c +++ b/arch/powerpc/kernel/sys_ppc32.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <linux/ptrace.h> | 41 | #include <linux/ptrace.h> |
42 | #include <linux/elf.h> | 42 | #include <linux/elf.h> |
43 | #include <linux/ipc.h> | 43 | #include <linux/ipc.h> |
44 | #include <linux/slab.h> | ||
44 | 45 | ||
45 | #include <asm/ptrace.h> | 46 | #include <asm/ptrace.h> |
46 | #include <asm/types.h> | 47 | #include <asm/types.h> |
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c index e235e52dc4fe..c0d8c2006bf4 100644 --- a/arch/powerpc/kernel/sysfs.c +++ b/arch/powerpc/kernel/sysfs.c | |||
@@ -35,7 +35,7 @@ static DEFINE_PER_CPU(struct cpu, cpu_devices); | |||
35 | #ifdef CONFIG_PPC64 | 35 | #ifdef CONFIG_PPC64 |
36 | 36 | ||
37 | /* Time in microseconds we delay before sleeping in the idle loop */ | 37 | /* Time in microseconds we delay before sleeping in the idle loop */ |
38 | DEFINE_PER_CPU(unsigned long, smt_snooze_delay) = { 100 }; | 38 | DEFINE_PER_CPU(long, smt_snooze_delay) = { 100 }; |
39 | 39 | ||
40 | static ssize_t store_smt_snooze_delay(struct sys_device *dev, | 40 | static ssize_t store_smt_snooze_delay(struct sys_device *dev, |
41 | struct sysdev_attribute *attr, | 41 | struct sysdev_attribute *attr, |
@@ -44,9 +44,9 @@ static ssize_t store_smt_snooze_delay(struct sys_device *dev, | |||
44 | { | 44 | { |
45 | struct cpu *cpu = container_of(dev, struct cpu, sysdev); | 45 | struct cpu *cpu = container_of(dev, struct cpu, sysdev); |
46 | ssize_t ret; | 46 | ssize_t ret; |
47 | unsigned long snooze; | 47 | long snooze; |
48 | 48 | ||
49 | ret = sscanf(buf, "%lu", &snooze); | 49 | ret = sscanf(buf, "%ld", &snooze); |
50 | if (ret != 1) | 50 | if (ret != 1) |
51 | return -EINVAL; | 51 | return -EINVAL; |
52 | 52 | ||
@@ -61,53 +61,23 @@ static ssize_t show_smt_snooze_delay(struct sys_device *dev, | |||
61 | { | 61 | { |
62 | struct cpu *cpu = container_of(dev, struct cpu, sysdev); | 62 | struct cpu *cpu = container_of(dev, struct cpu, sysdev); |
63 | 63 | ||
64 | return sprintf(buf, "%lu\n", per_cpu(smt_snooze_delay, cpu->sysdev.id)); | 64 | return sprintf(buf, "%ld\n", per_cpu(smt_snooze_delay, cpu->sysdev.id)); |
65 | } | 65 | } |
66 | 66 | ||
67 | static SYSDEV_ATTR(smt_snooze_delay, 0644, show_smt_snooze_delay, | 67 | static SYSDEV_ATTR(smt_snooze_delay, 0644, show_smt_snooze_delay, |
68 | store_smt_snooze_delay); | 68 | store_smt_snooze_delay); |
69 | 69 | ||
70 | /* Only parse OF options if the matching cmdline option was not specified */ | ||
71 | static int smt_snooze_cmdline; | ||
72 | |||
73 | static int __init smt_setup(void) | ||
74 | { | ||
75 | struct device_node *options; | ||
76 | const unsigned int *val; | ||
77 | unsigned int cpu; | ||
78 | |||
79 | if (!cpu_has_feature(CPU_FTR_SMT)) | ||
80 | return -ENODEV; | ||
81 | |||
82 | options = of_find_node_by_path("/options"); | ||
83 | if (!options) | ||
84 | return -ENODEV; | ||
85 | |||
86 | val = of_get_property(options, "ibm,smt-snooze-delay", NULL); | ||
87 | if (!smt_snooze_cmdline && val) { | ||
88 | for_each_possible_cpu(cpu) | ||
89 | per_cpu(smt_snooze_delay, cpu) = *val; | ||
90 | } | ||
91 | |||
92 | of_node_put(options); | ||
93 | return 0; | ||
94 | } | ||
95 | __initcall(smt_setup); | ||
96 | |||
97 | static int __init setup_smt_snooze_delay(char *str) | 70 | static int __init setup_smt_snooze_delay(char *str) |
98 | { | 71 | { |
99 | unsigned int cpu; | 72 | unsigned int cpu; |
100 | int snooze; | 73 | long snooze; |
101 | 74 | ||
102 | if (!cpu_has_feature(CPU_FTR_SMT)) | 75 | if (!cpu_has_feature(CPU_FTR_SMT)) |
103 | return 1; | 76 | return 1; |
104 | 77 | ||
105 | smt_snooze_cmdline = 1; | 78 | snooze = simple_strtol(str, NULL, 10); |
106 | 79 | for_each_possible_cpu(cpu) | |
107 | if (get_option(&str, &snooze)) { | 80 | per_cpu(smt_snooze_delay, cpu) = snooze; |
108 | for_each_possible_cpu(cpu) | ||
109 | per_cpu(smt_snooze_delay, cpu) = snooze; | ||
110 | } | ||
111 | 81 | ||
112 | return 1; | 82 | return 1; |
113 | } | 83 | } |
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 1b16b9a3e49a..0441bbdadbd1 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c | |||
@@ -532,25 +532,60 @@ void __init iSeries_time_init_early(void) | |||
532 | } | 532 | } |
533 | #endif /* CONFIG_PPC_ISERIES */ | 533 | #endif /* CONFIG_PPC_ISERIES */ |
534 | 534 | ||
535 | #if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_PPC32) | 535 | #ifdef CONFIG_PERF_EVENTS |
536 | DEFINE_PER_CPU(u8, perf_event_pending); | ||
537 | 536 | ||
538 | void set_perf_event_pending(void) | 537 | /* |
538 | * 64-bit uses a byte in the PACA, 32-bit uses a per-cpu variable... | ||
539 | */ | ||
540 | #ifdef CONFIG_PPC64 | ||
541 | static inline unsigned long test_perf_event_pending(void) | ||
539 | { | 542 | { |
540 | get_cpu_var(perf_event_pending) = 1; | 543 | unsigned long x; |
541 | set_dec(1); | 544 | |
542 | put_cpu_var(perf_event_pending); | 545 | asm volatile("lbz %0,%1(13)" |
546 | : "=r" (x) | ||
547 | : "i" (offsetof(struct paca_struct, perf_event_pending))); | ||
548 | return x; | ||
543 | } | 549 | } |
544 | 550 | ||
551 | static inline void set_perf_event_pending_flag(void) | ||
552 | { | ||
553 | asm volatile("stb %0,%1(13)" : : | ||
554 | "r" (1), | ||
555 | "i" (offsetof(struct paca_struct, perf_event_pending))); | ||
556 | } | ||
557 | |||
558 | static inline void clear_perf_event_pending(void) | ||
559 | { | ||
560 | asm volatile("stb %0,%1(13)" : : | ||
561 | "r" (0), | ||
562 | "i" (offsetof(struct paca_struct, perf_event_pending))); | ||
563 | } | ||
564 | |||
565 | #else /* 32-bit */ | ||
566 | |||
567 | DEFINE_PER_CPU(u8, perf_event_pending); | ||
568 | |||
569 | #define set_perf_event_pending_flag() __get_cpu_var(perf_event_pending) = 1 | ||
545 | #define test_perf_event_pending() __get_cpu_var(perf_event_pending) | 570 | #define test_perf_event_pending() __get_cpu_var(perf_event_pending) |
546 | #define clear_perf_event_pending() __get_cpu_var(perf_event_pending) = 0 | 571 | #define clear_perf_event_pending() __get_cpu_var(perf_event_pending) = 0 |
547 | 572 | ||
548 | #else /* CONFIG_PERF_EVENTS && CONFIG_PPC32 */ | 573 | #endif /* 32 vs 64 bit */ |
574 | |||
575 | void set_perf_event_pending(void) | ||
576 | { | ||
577 | preempt_disable(); | ||
578 | set_perf_event_pending_flag(); | ||
579 | set_dec(1); | ||
580 | preempt_enable(); | ||
581 | } | ||
582 | |||
583 | #else /* CONFIG_PERF_EVENTS */ | ||
549 | 584 | ||
550 | #define test_perf_event_pending() 0 | 585 | #define test_perf_event_pending() 0 |
551 | #define clear_perf_event_pending() | 586 | #define clear_perf_event_pending() |
552 | 587 | ||
553 | #endif /* CONFIG_PERF_EVENTS && CONFIG_PPC32 */ | 588 | #endif /* CONFIG_PERF_EVENTS */ |
554 | 589 | ||
555 | /* | 590 | /* |
556 | * For iSeries shared processors, we have to let the hypervisor | 591 | * For iSeries shared processors, we have to let the hypervisor |
@@ -582,10 +617,6 @@ void timer_interrupt(struct pt_regs * regs) | |||
582 | set_dec(DECREMENTER_MAX); | 617 | set_dec(DECREMENTER_MAX); |
583 | 618 | ||
584 | #ifdef CONFIG_PPC32 | 619 | #ifdef CONFIG_PPC32 |
585 | if (test_perf_event_pending()) { | ||
586 | clear_perf_event_pending(); | ||
587 | perf_event_do_pending(); | ||
588 | } | ||
589 | if (atomic_read(&ppc_n_lost_interrupts) != 0) | 620 | if (atomic_read(&ppc_n_lost_interrupts) != 0) |
590 | do_IRQ(regs); | 621 | do_IRQ(regs); |
591 | #endif | 622 | #endif |
@@ -604,6 +635,11 @@ void timer_interrupt(struct pt_regs * regs) | |||
604 | 635 | ||
605 | calculate_steal_time(); | 636 | calculate_steal_time(); |
606 | 637 | ||
638 | if (test_perf_event_pending()) { | ||
639 | clear_perf_event_pending(); | ||
640 | perf_event_do_pending(); | ||
641 | } | ||
642 | |||
607 | #ifdef CONFIG_PPC_ISERIES | 643 | #ifdef CONFIG_PPC_ISERIES |
608 | if (firmware_has_feature(FW_FEATURE_ISERIES)) | 644 | if (firmware_has_feature(FW_FEATURE_ISERIES)) |
609 | get_lppaca()->int_dword.fields.decr_int = 0; | 645 | get_lppaca()->int_dword.fields.decr_int = 0; |
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 696626a2e835..25fc33984c2b 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
@@ -1,5 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) | 2 | * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) |
3 | * Copyright 2007-2010 Freescale Semiconductor, Inc. | ||
3 | * | 4 | * |
4 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
@@ -21,7 +22,6 @@ | |||
21 | #include <linux/stddef.h> | 22 | #include <linux/stddef.h> |
22 | #include <linux/unistd.h> | 23 | #include <linux/unistd.h> |
23 | #include <linux/ptrace.h> | 24 | #include <linux/ptrace.h> |
24 | #include <linux/slab.h> | ||
25 | #include <linux/user.h> | 25 | #include <linux/user.h> |
26 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
27 | #include <linux/init.h> | 27 | #include <linux/init.h> |
@@ -306,7 +306,7 @@ static inline int check_io_access(struct pt_regs *regs) | |||
306 | #ifndef CONFIG_FSL_BOOKE | 306 | #ifndef CONFIG_FSL_BOOKE |
307 | #define get_mc_reason(regs) ((regs)->dsisr) | 307 | #define get_mc_reason(regs) ((regs)->dsisr) |
308 | #else | 308 | #else |
309 | #define get_mc_reason(regs) (mfspr(SPRN_MCSR) & MCSR_MASK) | 309 | #define get_mc_reason(regs) (mfspr(SPRN_MCSR)) |
310 | #endif | 310 | #endif |
311 | #define REASON_FP ESR_FP | 311 | #define REASON_FP ESR_FP |
312 | #define REASON_ILLEGAL (ESR_PIL | ESR_PUO) | 312 | #define REASON_ILLEGAL (ESR_PIL | ESR_PUO) |
@@ -381,7 +381,132 @@ int machine_check_440A(struct pt_regs *regs) | |||
381 | } | 381 | } |
382 | return 0; | 382 | return 0; |
383 | } | 383 | } |
384 | |||
385 | int machine_check_47x(struct pt_regs *regs) | ||
386 | { | ||
387 | unsigned long reason = get_mc_reason(regs); | ||
388 | u32 mcsr; | ||
389 | |||
390 | printk(KERN_ERR "Machine check in kernel mode.\n"); | ||
391 | if (reason & ESR_IMCP) { | ||
392 | printk(KERN_ERR | ||
393 | "Instruction Synchronous Machine Check exception\n"); | ||
394 | mtspr(SPRN_ESR, reason & ~ESR_IMCP); | ||
395 | return 0; | ||
396 | } | ||
397 | mcsr = mfspr(SPRN_MCSR); | ||
398 | if (mcsr & MCSR_IB) | ||
399 | printk(KERN_ERR "Instruction Read PLB Error\n"); | ||
400 | if (mcsr & MCSR_DRB) | ||
401 | printk(KERN_ERR "Data Read PLB Error\n"); | ||
402 | if (mcsr & MCSR_DWB) | ||
403 | printk(KERN_ERR "Data Write PLB Error\n"); | ||
404 | if (mcsr & MCSR_TLBP) | ||
405 | printk(KERN_ERR "TLB Parity Error\n"); | ||
406 | if (mcsr & MCSR_ICP) { | ||
407 | flush_instruction_cache(); | ||
408 | printk(KERN_ERR "I-Cache Parity Error\n"); | ||
409 | } | ||
410 | if (mcsr & MCSR_DCSP) | ||
411 | printk(KERN_ERR "D-Cache Search Parity Error\n"); | ||
412 | if (mcsr & PPC47x_MCSR_GPR) | ||
413 | printk(KERN_ERR "GPR Parity Error\n"); | ||
414 | if (mcsr & PPC47x_MCSR_FPR) | ||
415 | printk(KERN_ERR "FPR Parity Error\n"); | ||
416 | if (mcsr & PPC47x_MCSR_IPR) | ||
417 | printk(KERN_ERR "Machine Check exception is imprecise\n"); | ||
418 | |||
419 | /* Clear MCSR */ | ||
420 | mtspr(SPRN_MCSR, mcsr); | ||
421 | |||
422 | return 0; | ||
423 | } | ||
384 | #elif defined(CONFIG_E500) | 424 | #elif defined(CONFIG_E500) |
425 | int machine_check_e500mc(struct pt_regs *regs) | ||
426 | { | ||
427 | unsigned long mcsr = mfspr(SPRN_MCSR); | ||
428 | unsigned long reason = mcsr; | ||
429 | int recoverable = 1; | ||
430 | |||
431 | printk("Machine check in kernel mode.\n"); | ||
432 | printk("Caused by (from MCSR=%lx): ", reason); | ||
433 | |||
434 | if (reason & MCSR_MCP) | ||
435 | printk("Machine Check Signal\n"); | ||
436 | |||
437 | if (reason & MCSR_ICPERR) { | ||
438 | printk("Instruction Cache Parity Error\n"); | ||
439 | |||
440 | /* | ||
441 | * This is recoverable by invalidating the i-cache. | ||
442 | */ | ||
443 | mtspr(SPRN_L1CSR1, mfspr(SPRN_L1CSR1) | L1CSR1_ICFI); | ||
444 | while (mfspr(SPRN_L1CSR1) & L1CSR1_ICFI) | ||
445 | ; | ||
446 | |||
447 | /* | ||
448 | * This will generally be accompanied by an instruction | ||
449 | * fetch error report -- only treat MCSR_IF as fatal | ||
450 | * if it wasn't due to an L1 parity error. | ||
451 | */ | ||
452 | reason &= ~MCSR_IF; | ||
453 | } | ||
454 | |||
455 | if (reason & MCSR_DCPERR_MC) { | ||
456 | printk("Data Cache Parity Error\n"); | ||
457 | recoverable = 0; | ||
458 | } | ||
459 | |||
460 | if (reason & MCSR_L2MMU_MHIT) { | ||
461 | printk("Hit on multiple TLB entries\n"); | ||
462 | recoverable = 0; | ||
463 | } | ||
464 | |||
465 | if (reason & MCSR_NMI) | ||
466 | printk("Non-maskable interrupt\n"); | ||
467 | |||
468 | if (reason & MCSR_IF) { | ||
469 | printk("Instruction Fetch Error Report\n"); | ||
470 | recoverable = 0; | ||
471 | } | ||
472 | |||
473 | if (reason & MCSR_LD) { | ||
474 | printk("Load Error Report\n"); | ||
475 | recoverable = 0; | ||
476 | } | ||
477 | |||
478 | if (reason & MCSR_ST) { | ||
479 | printk("Store Error Report\n"); | ||
480 | recoverable = 0; | ||
481 | } | ||
482 | |||
483 | if (reason & MCSR_LDG) { | ||
484 | printk("Guarded Load Error Report\n"); | ||
485 | recoverable = 0; | ||
486 | } | ||
487 | |||
488 | if (reason & MCSR_TLBSYNC) | ||
489 | printk("Simultaneous tlbsync operations\n"); | ||
490 | |||
491 | if (reason & MCSR_BSL2_ERR) { | ||
492 | printk("Level 2 Cache Error\n"); | ||
493 | recoverable = 0; | ||
494 | } | ||
495 | |||
496 | if (reason & MCSR_MAV) { | ||
497 | u64 addr; | ||
498 | |||
499 | addr = mfspr(SPRN_MCAR); | ||
500 | addr |= (u64)mfspr(SPRN_MCARU) << 32; | ||
501 | |||
502 | printk("Machine Check %s Address: %#llx\n", | ||
503 | reason & MCSR_MEA ? "Effective" : "Physical", addr); | ||
504 | } | ||
505 | |||
506 | mtspr(SPRN_MCSR, mcsr); | ||
507 | return mfspr(SPRN_MCSR) == 0 && recoverable; | ||
508 | } | ||
509 | |||
385 | int machine_check_e500(struct pt_regs *regs) | 510 | int machine_check_e500(struct pt_regs *regs) |
386 | { | 511 | { |
387 | unsigned long reason = get_mc_reason(regs); | 512 | unsigned long reason = get_mc_reason(regs); |
@@ -816,12 +941,15 @@ void __kprobes program_check_exception(struct pt_regs *regs) | |||
816 | return; | 941 | return; |
817 | } | 942 | } |
818 | if (reason & REASON_TRAP) { | 943 | if (reason & REASON_TRAP) { |
944 | /* Debugger is first in line to stop recursive faults in | ||
945 | * rcu_lock, notify_die, or atomic_notifier_call_chain */ | ||
946 | if (debugger_bpt(regs)) | ||
947 | return; | ||
948 | |||
819 | /* trap exception */ | 949 | /* trap exception */ |
820 | if (notify_die(DIE_BPT, "breakpoint", regs, 5, 5, SIGTRAP) | 950 | if (notify_die(DIE_BPT, "breakpoint", regs, 5, 5, SIGTRAP) |
821 | == NOTIFY_STOP) | 951 | == NOTIFY_STOP) |
822 | return; | 952 | return; |
823 | if (debugger_bpt(regs)) | ||
824 | return; | ||
825 | 953 | ||
826 | if (!(regs->msr & MSR_PR) && /* not user-mode */ | 954 | if (!(regs->msr & MSR_PR) && /* not user-mode */ |
827 | report_bug(regs->nip, regs) == BUG_TRAP_TYPE_WARN) { | 955 | report_bug(regs->nip, regs) == BUG_TRAP_TYPE_WARN) { |
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index d84d19224a95..13002fe206e7 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/elf.h> | 22 | #include <linux/elf.h> |
23 | #include <linux/security.h> | 23 | #include <linux/security.h> |
24 | #include <linux/bootmem.h> | 24 | #include <linux/bootmem.h> |
25 | #include <linux/lmb.h> | 25 | #include <linux/memblock.h> |
26 | 26 | ||
27 | #include <asm/pgtable.h> | 27 | #include <asm/pgtable.h> |
28 | #include <asm/system.h> | 28 | #include <asm/system.h> |
@@ -734,7 +734,7 @@ static int __init vdso_init(void) | |||
734 | vdso_data->platform = machine_is(iseries) ? 0x200 : 0x100; | 734 | vdso_data->platform = machine_is(iseries) ? 0x200 : 0x100; |
735 | if (firmware_has_feature(FW_FEATURE_LPAR)) | 735 | if (firmware_has_feature(FW_FEATURE_LPAR)) |
736 | vdso_data->platform |= 1; | 736 | vdso_data->platform |= 1; |
737 | vdso_data->physicalMemorySize = lmb_phys_mem_size(); | 737 | vdso_data->physicalMemorySize = memblock_phys_mem_size(); |
738 | vdso_data->dcache_size = ppc64_caches.dsize; | 738 | vdso_data->dcache_size = ppc64_caches.dsize; |
739 | vdso_data->dcache_line_size = ppc64_caches.dline_size; | 739 | vdso_data->dcache_line_size = ppc64_caches.dline_size; |
740 | vdso_data->icache_size = ppc64_caches.isize; | 740 | vdso_data->icache_size = ppc64_caches.isize; |
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c index 77f64218abf3..00b9436f7652 100644 --- a/arch/powerpc/kernel/vio.c +++ b/arch/powerpc/kernel/vio.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/types.h> | 17 | #include <linux/types.h> |
18 | #include <linux/device.h> | 18 | #include <linux/device.h> |
19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/slab.h> | ||
20 | #include <linux/console.h> | 21 | #include <linux/console.h> |
21 | #include <linux/module.h> | 22 | #include <linux/module.h> |
22 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
@@ -644,8 +645,10 @@ void vio_cmo_set_dev_desired(struct vio_dev *viodev, size_t desired) | |||
644 | found = 1; | 645 | found = 1; |
645 | break; | 646 | break; |
646 | } | 647 | } |
647 | if (!found) | 648 | if (!found) { |
649 | spin_unlock_irqrestore(&vio_cmo.lock, flags); | ||
648 | return; | 650 | return; |
651 | } | ||
649 | 652 | ||
650 | /* Increase/decrease in desired device entitlement */ | 653 | /* Increase/decrease in desired device entitlement */ |
651 | if (desired >= viodev->cmo.desired) { | 654 | if (desired >= viodev->cmo.desired) { |
@@ -704,7 +707,7 @@ static int vio_cmo_bus_probe(struct vio_dev *viodev) | |||
704 | * Check to see that device has a DMA window and configure | 707 | * Check to see that device has a DMA window and configure |
705 | * entitlement for the device. | 708 | * entitlement for the device. |
706 | */ | 709 | */ |
707 | if (of_get_property(viodev->dev.archdata.of_node, | 710 | if (of_get_property(viodev->dev.of_node, |
708 | "ibm,my-dma-window", NULL)) { | 711 | "ibm,my-dma-window", NULL)) { |
709 | /* Check that the driver is CMO enabled and get desired DMA */ | 712 | /* Check that the driver is CMO enabled and get desired DMA */ |
710 | if (!viodrv->get_desired_dma) { | 713 | if (!viodrv->get_desired_dma) { |
@@ -957,9 +960,12 @@ viodev_cmo_rd_attr(allocated); | |||
957 | 960 | ||
958 | static ssize_t name_show(struct device *, struct device_attribute *, char *); | 961 | static ssize_t name_show(struct device *, struct device_attribute *, char *); |
959 | static ssize_t devspec_show(struct device *, struct device_attribute *, char *); | 962 | static ssize_t devspec_show(struct device *, struct device_attribute *, char *); |
963 | static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, | ||
964 | char *buf); | ||
960 | static struct device_attribute vio_cmo_dev_attrs[] = { | 965 | static struct device_attribute vio_cmo_dev_attrs[] = { |
961 | __ATTR_RO(name), | 966 | __ATTR_RO(name), |
962 | __ATTR_RO(devspec), | 967 | __ATTR_RO(devspec), |
968 | __ATTR_RO(modalias), | ||
963 | __ATTR(cmo_desired, S_IWUSR|S_IRUSR|S_IWGRP|S_IRGRP|S_IROTH, | 969 | __ATTR(cmo_desired, S_IWUSR|S_IRUSR|S_IWGRP|S_IRGRP|S_IROTH, |
964 | viodev_cmo_desired_show, viodev_cmo_desired_set), | 970 | viodev_cmo_desired_show, viodev_cmo_desired_set), |
965 | __ATTR(cmo_entitled, S_IRUGO, viodev_cmo_entitled_show, NULL), | 971 | __ATTR(cmo_entitled, S_IRUGO, viodev_cmo_entitled_show, NULL), |
@@ -1048,7 +1054,7 @@ static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) | |||
1048 | if (firmware_has_feature(FW_FEATURE_ISERIES)) | 1054 | if (firmware_has_feature(FW_FEATURE_ISERIES)) |
1049 | return vio_build_iommu_table_iseries(dev); | 1055 | return vio_build_iommu_table_iseries(dev); |
1050 | 1056 | ||
1051 | dma_window = of_get_property(dev->dev.archdata.of_node, | 1057 | dma_window = of_get_property(dev->dev.of_node, |
1052 | "ibm,my-dma-window", NULL); | 1058 | "ibm,my-dma-window", NULL); |
1053 | if (!dma_window) | 1059 | if (!dma_window) |
1054 | return NULL; | 1060 | return NULL; |
@@ -1057,7 +1063,7 @@ static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) | |||
1057 | if (tbl == NULL) | 1063 | if (tbl == NULL) |
1058 | return NULL; | 1064 | return NULL; |
1059 | 1065 | ||
1060 | of_parse_dma_window(dev->dev.archdata.of_node, dma_window, | 1066 | of_parse_dma_window(dev->dev.of_node, dma_window, |
1061 | &tbl->it_index, &offset, &size); | 1067 | &tbl->it_index, &offset, &size); |
1062 | 1068 | ||
1063 | /* TCE table size - measured in tce entries */ | 1069 | /* TCE table size - measured in tce entries */ |
@@ -1085,7 +1091,7 @@ static const struct vio_device_id *vio_match_device( | |||
1085 | { | 1091 | { |
1086 | while (ids->type[0] != '\0') { | 1092 | while (ids->type[0] != '\0') { |
1087 | if ((strncmp(dev->type, ids->type, strlen(ids->type)) == 0) && | 1093 | if ((strncmp(dev->type, ids->type, strlen(ids->type)) == 0) && |
1088 | of_device_is_compatible(dev->dev.archdata.of_node, | 1094 | of_device_is_compatible(dev->dev.of_node, |
1089 | ids->compat)) | 1095 | ids->compat)) |
1090 | return ids; | 1096 | return ids; |
1091 | ids++; | 1097 | ids++; |
@@ -1178,7 +1184,7 @@ EXPORT_SYMBOL(vio_unregister_driver); | |||
1178 | static void __devinit vio_dev_release(struct device *dev) | 1184 | static void __devinit vio_dev_release(struct device *dev) |
1179 | { | 1185 | { |
1180 | /* XXX should free TCE table */ | 1186 | /* XXX should free TCE table */ |
1181 | of_node_put(dev->archdata.of_node); | 1187 | of_node_put(dev->of_node); |
1182 | kfree(to_vio_dev(dev)); | 1188 | kfree(to_vio_dev(dev)); |
1183 | } | 1189 | } |
1184 | 1190 | ||
@@ -1229,7 +1235,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node) | |||
1229 | if (unit_address != NULL) | 1235 | if (unit_address != NULL) |
1230 | viodev->unit_address = *unit_address; | 1236 | viodev->unit_address = *unit_address; |
1231 | } | 1237 | } |
1232 | viodev->dev.archdata.of_node = of_node_get(of_node); | 1238 | viodev->dev.of_node = of_node_get(of_node); |
1233 | 1239 | ||
1234 | if (firmware_has_feature(FW_FEATURE_CMO)) | 1240 | if (firmware_has_feature(FW_FEATURE_CMO)) |
1235 | vio_cmo_set_dma_ops(viodev); | 1241 | vio_cmo_set_dma_ops(viodev); |
@@ -1314,14 +1320,32 @@ static ssize_t name_show(struct device *dev, | |||
1314 | static ssize_t devspec_show(struct device *dev, | 1320 | static ssize_t devspec_show(struct device *dev, |
1315 | struct device_attribute *attr, char *buf) | 1321 | struct device_attribute *attr, char *buf) |
1316 | { | 1322 | { |
1317 | struct device_node *of_node = dev->archdata.of_node; | 1323 | struct device_node *of_node = dev->of_node; |
1318 | 1324 | ||
1319 | return sprintf(buf, "%s\n", of_node ? of_node->full_name : "none"); | 1325 | return sprintf(buf, "%s\n", of_node ? of_node->full_name : "none"); |
1320 | } | 1326 | } |
1321 | 1327 | ||
1328 | static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, | ||
1329 | char *buf) | ||
1330 | { | ||
1331 | const struct vio_dev *vio_dev = to_vio_dev(dev); | ||
1332 | struct device_node *dn; | ||
1333 | const char *cp; | ||
1334 | |||
1335 | dn = dev->of_node; | ||
1336 | if (!dn) | ||
1337 | return -ENODEV; | ||
1338 | cp = of_get_property(dn, "compatible", NULL); | ||
1339 | if (!cp) | ||
1340 | return -ENODEV; | ||
1341 | |||
1342 | return sprintf(buf, "vio:T%sS%s\n", vio_dev->type, cp); | ||
1343 | } | ||
1344 | |||
1322 | static struct device_attribute vio_dev_attrs[] = { | 1345 | static struct device_attribute vio_dev_attrs[] = { |
1323 | __ATTR_RO(name), | 1346 | __ATTR_RO(name), |
1324 | __ATTR_RO(devspec), | 1347 | __ATTR_RO(devspec), |
1348 | __ATTR_RO(modalias), | ||
1325 | __ATTR_NULL | 1349 | __ATTR_NULL |
1326 | }; | 1350 | }; |
1327 | 1351 | ||
@@ -1346,7 +1370,7 @@ static int vio_hotplug(struct device *dev, struct kobj_uevent_env *env) | |||
1346 | struct device_node *dn; | 1370 | struct device_node *dn; |
1347 | const char *cp; | 1371 | const char *cp; |
1348 | 1372 | ||
1349 | dn = dev->archdata.of_node; | 1373 | dn = dev->of_node; |
1350 | if (!dn) | 1374 | if (!dn) |
1351 | return -ENODEV; | 1375 | return -ENODEV; |
1352 | cp = of_get_property(dn, "compatible", NULL); | 1376 | cp = of_get_property(dn, "compatible", NULL); |
@@ -1364,6 +1388,7 @@ static struct bus_type vio_bus_type = { | |||
1364 | .match = vio_bus_match, | 1388 | .match = vio_bus_match, |
1365 | .probe = vio_bus_probe, | 1389 | .probe = vio_bus_probe, |
1366 | .remove = vio_bus_remove, | 1390 | .remove = vio_bus_remove, |
1391 | .pm = GENERIC_SUBSYS_PM_OPS, | ||
1367 | }; | 1392 | }; |
1368 | 1393 | ||
1369 | /** | 1394 | /** |
@@ -1377,7 +1402,7 @@ static struct bus_type vio_bus_type = { | |||
1377 | */ | 1402 | */ |
1378 | const void *vio_get_attribute(struct vio_dev *vdev, char *which, int *length) | 1403 | const void *vio_get_attribute(struct vio_dev *vdev, char *which, int *length) |
1379 | { | 1404 | { |
1380 | return of_get_property(vdev->dev.archdata.of_node, which, length); | 1405 | return of_get_property(vdev->dev.of_node, which, length); |
1381 | } | 1406 | } |
1382 | EXPORT_SYMBOL(vio_get_attribute); | 1407 | EXPORT_SYMBOL(vio_get_attribute); |
1383 | 1408 | ||
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index dcd01c82e701..8a0deefac08d 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S | |||
@@ -223,19 +223,17 @@ SECTIONS | |||
223 | #endif | 223 | #endif |
224 | 224 | ||
225 | /* The initial task and kernel stack */ | 225 | /* The initial task and kernel stack */ |
226 | .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) { | 226 | INIT_TASK_DATA_SECTION(THREAD_SIZE) |
227 | INIT_TASK_DATA(THREAD_SIZE) | ||
228 | } | ||
229 | 227 | ||
230 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) { | 228 | .data..page_aligned : AT(ADDR(.data..page_aligned) - LOAD_OFFSET) { |
231 | PAGE_ALIGNED_DATA(PAGE_SIZE) | 229 | PAGE_ALIGNED_DATA(PAGE_SIZE) |
232 | } | 230 | } |
233 | 231 | ||
234 | .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { | 232 | .data..cacheline_aligned : AT(ADDR(.data..cacheline_aligned) - LOAD_OFFSET) { |
235 | CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) | 233 | CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) |
236 | } | 234 | } |
237 | 235 | ||
238 | .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) { | 236 | .data..read_mostly : AT(ADDR(.data..read_mostly) - LOAD_OFFSET) { |
239 | READ_MOSTLY_DATA(L1_CACHE_BYTES) | 237 | READ_MOSTLY_DATA(L1_CACHE_BYTES) |
240 | } | 238 | } |
241 | 239 | ||
diff --git a/arch/powerpc/kvm/44x.c b/arch/powerpc/kvm/44x.c index f4d1b55aa70b..73c0a3f64ed1 100644 --- a/arch/powerpc/kvm/44x.c +++ b/arch/powerpc/kvm/44x.c | |||
@@ -18,6 +18,7 @@ | |||
18 | */ | 18 | */ |
19 | 19 | ||
20 | #include <linux/kvm_host.h> | 20 | #include <linux/kvm_host.h> |
21 | #include <linux/slab.h> | ||
21 | #include <linux/err.h> | 22 | #include <linux/err.h> |
22 | 23 | ||
23 | #include <asm/reg.h> | 24 | #include <asm/reg.h> |
@@ -146,7 +147,7 @@ static int __init kvmppc_44x_init(void) | |||
146 | if (r) | 147 | if (r) |
147 | return r; | 148 | return r; |
148 | 149 | ||
149 | return kvm_init(NULL, sizeof(struct kvmppc_vcpu_44x), THIS_MODULE); | 150 | return kvm_init(NULL, sizeof(struct kvmppc_vcpu_44x), 0, THIS_MODULE); |
150 | } | 151 | } |
151 | 152 | ||
152 | static void __exit kvmppc_44x_exit(void) | 153 | static void __exit kvmppc_44x_exit(void) |
diff --git a/arch/powerpc/kvm/44x_tlb.c b/arch/powerpc/kvm/44x_tlb.c index 2570fcc7665d..9b9b5cdea840 100644 --- a/arch/powerpc/kvm/44x_tlb.c +++ b/arch/powerpc/kvm/44x_tlb.c | |||
@@ -316,7 +316,8 @@ void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 gvaddr, gpa_t gpaddr, | |||
316 | gfn = gpaddr >> PAGE_SHIFT; | 316 | gfn = gpaddr >> PAGE_SHIFT; |
317 | new_page = gfn_to_page(vcpu->kvm, gfn); | 317 | new_page = gfn_to_page(vcpu->kvm, gfn); |
318 | if (is_error_page(new_page)) { | 318 | if (is_error_page(new_page)) { |
319 | printk(KERN_ERR "Couldn't get guest page for gfn %lx!\n", gfn); | 319 | printk(KERN_ERR "Couldn't get guest page for gfn %llx!\n", |
320 | (unsigned long long)gfn); | ||
320 | kvm_release_page_clean(new_page); | 321 | kvm_release_page_clean(new_page); |
321 | return; | 322 | return; |
322 | } | 323 | } |
@@ -440,7 +441,7 @@ int kvmppc_44x_emul_tlbwe(struct kvm_vcpu *vcpu, u8 ra, u8 rs, u8 ws) | |||
440 | unsigned int gtlb_index; | 441 | unsigned int gtlb_index; |
441 | 442 | ||
442 | gtlb_index = kvmppc_get_gpr(vcpu, ra); | 443 | gtlb_index = kvmppc_get_gpr(vcpu, ra); |
443 | if (gtlb_index > KVM44x_GUEST_TLB_SIZE) { | 444 | if (gtlb_index >= KVM44x_GUEST_TLB_SIZE) { |
444 | printk("%s: index %d\n", __func__, gtlb_index); | 445 | printk("%s: index %d\n", __func__, gtlb_index); |
445 | kvmppc_dump_vcpu(vcpu); | 446 | kvmppc_dump_vcpu(vcpu); |
446 | return EMULATE_FAIL; | 447 | return EMULATE_FAIL; |
diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig index 60624cc9f4d4..b7baff78f90c 100644 --- a/arch/powerpc/kvm/Kconfig +++ b/arch/powerpc/kvm/Kconfig | |||
@@ -22,12 +22,34 @@ config KVM | |||
22 | select ANON_INODES | 22 | select ANON_INODES |
23 | select KVM_MMIO | 23 | select KVM_MMIO |
24 | 24 | ||
25 | config KVM_BOOK3S_HANDLER | ||
26 | bool | ||
27 | |||
28 | config KVM_BOOK3S_32_HANDLER | ||
29 | bool | ||
30 | select KVM_BOOK3S_HANDLER | ||
31 | |||
25 | config KVM_BOOK3S_64_HANDLER | 32 | config KVM_BOOK3S_64_HANDLER |
26 | bool | 33 | bool |
34 | select KVM_BOOK3S_HANDLER | ||
35 | |||
36 | config KVM_BOOK3S_32 | ||
37 | tristate "KVM support for PowerPC book3s_32 processors" | ||
38 | depends on EXPERIMENTAL && PPC_BOOK3S_32 && !SMP && !PTE_64BIT | ||
39 | select KVM | ||
40 | select KVM_BOOK3S_32_HANDLER | ||
41 | ---help--- | ||
42 | Support running unmodified book3s_32 guest kernels | ||
43 | in virtual machines on book3s_32 host processors. | ||
44 | |||
45 | This module provides access to the hardware capabilities through | ||
46 | a character device node named /dev/kvm. | ||
47 | |||
48 | If unsure, say N. | ||
27 | 49 | ||
28 | config KVM_BOOK3S_64 | 50 | config KVM_BOOK3S_64 |
29 | tristate "KVM support for PowerPC book3s_64 processors" | 51 | tristate "KVM support for PowerPC book3s_64 processors" |
30 | depends on EXPERIMENTAL && PPC64 | 52 | depends on EXPERIMENTAL && PPC_BOOK3S_64 |
31 | select KVM | 53 | select KVM |
32 | select KVM_BOOK3S_64_HANDLER | 54 | select KVM_BOOK3S_64_HANDLER |
33 | ---help--- | 55 | ---help--- |
diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile index 56484d652377..d45c818a384c 100644 --- a/arch/powerpc/kvm/Makefile +++ b/arch/powerpc/kvm/Makefile | |||
@@ -14,7 +14,7 @@ CFLAGS_emulate.o := -I. | |||
14 | 14 | ||
15 | common-objs-y += powerpc.o emulate.o | 15 | common-objs-y += powerpc.o emulate.o |
16 | obj-$(CONFIG_KVM_EXIT_TIMING) += timing.o | 16 | obj-$(CONFIG_KVM_EXIT_TIMING) += timing.o |
17 | obj-$(CONFIG_KVM_BOOK3S_64_HANDLER) += book3s_64_exports.o | 17 | obj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o |
18 | 18 | ||
19 | AFLAGS_booke_interrupts.o := -I$(obj) | 19 | AFLAGS_booke_interrupts.o := -I$(obj) |
20 | 20 | ||
@@ -40,17 +40,33 @@ kvm-objs-$(CONFIG_KVM_E500) := $(kvm-e500-objs) | |||
40 | 40 | ||
41 | kvm-book3s_64-objs := \ | 41 | kvm-book3s_64-objs := \ |
42 | $(common-objs-y) \ | 42 | $(common-objs-y) \ |
43 | fpu.o \ | ||
44 | book3s_paired_singles.o \ | ||
43 | book3s.o \ | 45 | book3s.o \ |
44 | book3s_64_emulate.o \ | 46 | book3s_emulate.o \ |
45 | book3s_64_interrupts.o \ | 47 | book3s_interrupts.o \ |
48 | book3s_mmu_hpte.o \ | ||
46 | book3s_64_mmu_host.o \ | 49 | book3s_64_mmu_host.o \ |
47 | book3s_64_mmu.o \ | 50 | book3s_64_mmu.o \ |
48 | book3s_32_mmu.o | 51 | book3s_32_mmu.o |
49 | kvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-objs) | 52 | kvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-objs) |
50 | 53 | ||
54 | kvm-book3s_32-objs := \ | ||
55 | $(common-objs-y) \ | ||
56 | fpu.o \ | ||
57 | book3s_paired_singles.o \ | ||
58 | book3s.o \ | ||
59 | book3s_emulate.o \ | ||
60 | book3s_interrupts.o \ | ||
61 | book3s_mmu_hpte.o \ | ||
62 | book3s_32_mmu_host.o \ | ||
63 | book3s_32_mmu.o | ||
64 | kvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs) | ||
65 | |||
51 | kvm-objs := $(kvm-objs-m) $(kvm-objs-y) | 66 | kvm-objs := $(kvm-objs-m) $(kvm-objs-y) |
52 | 67 | ||
53 | obj-$(CONFIG_KVM_440) += kvm.o | 68 | obj-$(CONFIG_KVM_440) += kvm.o |
54 | obj-$(CONFIG_KVM_E500) += kvm.o | 69 | obj-$(CONFIG_KVM_E500) += kvm.o |
55 | obj-$(CONFIG_KVM_BOOK3S_64) += kvm.o | 70 | obj-$(CONFIG_KVM_BOOK3S_64) += kvm.o |
71 | obj-$(CONFIG_KVM_BOOK3S_32) += kvm.o | ||
56 | 72 | ||
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c index 9a271f0929c7..a3cef30d1d42 100644 --- a/arch/powerpc/kvm/book3s.c +++ b/arch/powerpc/kvm/book3s.c | |||
@@ -16,6 +16,7 @@ | |||
16 | 16 | ||
17 | #include <linux/kvm_host.h> | 17 | #include <linux/kvm_host.h> |
18 | #include <linux/err.h> | 18 | #include <linux/err.h> |
19 | #include <linux/slab.h> | ||
19 | 20 | ||
20 | #include <asm/reg.h> | 21 | #include <asm/reg.h> |
21 | #include <asm/cputable.h> | 22 | #include <asm/cputable.h> |
@@ -26,8 +27,10 @@ | |||
26 | #include <asm/kvm_ppc.h> | 27 | #include <asm/kvm_ppc.h> |
27 | #include <asm/kvm_book3s.h> | 28 | #include <asm/kvm_book3s.h> |
28 | #include <asm/mmu_context.h> | 29 | #include <asm/mmu_context.h> |
30 | #include <linux/gfp.h> | ||
29 | #include <linux/sched.h> | 31 | #include <linux/sched.h> |
30 | #include <linux/vmalloc.h> | 32 | #include <linux/vmalloc.h> |
33 | #include <linux/highmem.h> | ||
31 | 34 | ||
32 | #define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU | 35 | #define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU |
33 | 36 | ||
@@ -35,7 +38,15 @@ | |||
35 | /* #define EXIT_DEBUG_SIMPLE */ | 38 | /* #define EXIT_DEBUG_SIMPLE */ |
36 | /* #define DEBUG_EXT */ | 39 | /* #define DEBUG_EXT */ |
37 | 40 | ||
38 | static void kvmppc_giveup_ext(struct kvm_vcpu *vcpu, ulong msr); | 41 | static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr, |
42 | ulong msr); | ||
43 | |||
44 | /* Some compatibility defines */ | ||
45 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
46 | #define MSR_USER32 MSR_USER | ||
47 | #define MSR_USER64 MSR_USER | ||
48 | #define HW_PAGE_SIZE PAGE_SIZE | ||
49 | #endif | ||
39 | 50 | ||
40 | struct kvm_stats_debugfs_item debugfs_entries[] = { | 51 | struct kvm_stats_debugfs_item debugfs_entries[] = { |
41 | { "exits", VCPU_STAT(sum_exits) }, | 52 | { "exits", VCPU_STAT(sum_exits) }, |
@@ -68,18 +79,26 @@ void kvmppc_core_load_guest_debugstate(struct kvm_vcpu *vcpu) | |||
68 | 79 | ||
69 | void kvmppc_core_vcpu_load(struct kvm_vcpu *vcpu, int cpu) | 80 | void kvmppc_core_vcpu_load(struct kvm_vcpu *vcpu, int cpu) |
70 | { | 81 | { |
71 | memcpy(get_paca()->kvm_slb, to_book3s(vcpu)->slb_shadow, sizeof(get_paca()->kvm_slb)); | 82 | #ifdef CONFIG_PPC_BOOK3S_64 |
72 | memcpy(&get_paca()->shadow_vcpu, &to_book3s(vcpu)->shadow_vcpu, | 83 | memcpy(to_svcpu(vcpu)->slb, to_book3s(vcpu)->slb_shadow, sizeof(to_svcpu(vcpu)->slb)); |
84 | memcpy(&get_paca()->shadow_vcpu, to_book3s(vcpu)->shadow_vcpu, | ||
73 | sizeof(get_paca()->shadow_vcpu)); | 85 | sizeof(get_paca()->shadow_vcpu)); |
74 | get_paca()->kvm_slb_max = to_book3s(vcpu)->slb_shadow_max; | 86 | to_svcpu(vcpu)->slb_max = to_book3s(vcpu)->slb_shadow_max; |
87 | #endif | ||
88 | |||
89 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
90 | current->thread.kvm_shadow_vcpu = to_book3s(vcpu)->shadow_vcpu; | ||
91 | #endif | ||
75 | } | 92 | } |
76 | 93 | ||
77 | void kvmppc_core_vcpu_put(struct kvm_vcpu *vcpu) | 94 | void kvmppc_core_vcpu_put(struct kvm_vcpu *vcpu) |
78 | { | 95 | { |
79 | memcpy(to_book3s(vcpu)->slb_shadow, get_paca()->kvm_slb, sizeof(get_paca()->kvm_slb)); | 96 | #ifdef CONFIG_PPC_BOOK3S_64 |
80 | memcpy(&to_book3s(vcpu)->shadow_vcpu, &get_paca()->shadow_vcpu, | 97 | memcpy(to_book3s(vcpu)->slb_shadow, to_svcpu(vcpu)->slb, sizeof(to_svcpu(vcpu)->slb)); |
98 | memcpy(to_book3s(vcpu)->shadow_vcpu, &get_paca()->shadow_vcpu, | ||
81 | sizeof(get_paca()->shadow_vcpu)); | 99 | sizeof(get_paca()->shadow_vcpu)); |
82 | to_book3s(vcpu)->slb_shadow_max = get_paca()->kvm_slb_max; | 100 | to_book3s(vcpu)->slb_shadow_max = to_svcpu(vcpu)->slb_max; |
101 | #endif | ||
83 | 102 | ||
84 | kvmppc_giveup_ext(vcpu, MSR_FP); | 103 | kvmppc_giveup_ext(vcpu, MSR_FP); |
85 | kvmppc_giveup_ext(vcpu, MSR_VEC); | 104 | kvmppc_giveup_ext(vcpu, MSR_VEC); |
@@ -130,18 +149,22 @@ void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 msr) | |||
130 | } | 149 | } |
131 | } | 150 | } |
132 | 151 | ||
133 | if (((vcpu->arch.msr & (MSR_IR|MSR_DR)) != (old_msr & (MSR_IR|MSR_DR))) || | 152 | if ((vcpu->arch.msr & (MSR_PR|MSR_IR|MSR_DR)) != |
134 | (vcpu->arch.msr & MSR_PR) != (old_msr & MSR_PR)) { | 153 | (old_msr & (MSR_PR|MSR_IR|MSR_DR))) { |
135 | kvmppc_mmu_flush_segments(vcpu); | 154 | kvmppc_mmu_flush_segments(vcpu); |
136 | kvmppc_mmu_map_segment(vcpu, vcpu->arch.pc); | 155 | kvmppc_mmu_map_segment(vcpu, kvmppc_get_pc(vcpu)); |
137 | } | 156 | } |
157 | |||
158 | /* Preload FPU if it's enabled */ | ||
159 | if (vcpu->arch.msr & MSR_FP) | ||
160 | kvmppc_handle_ext(vcpu, BOOK3S_INTERRUPT_FP_UNAVAIL, MSR_FP); | ||
138 | } | 161 | } |
139 | 162 | ||
140 | void kvmppc_inject_interrupt(struct kvm_vcpu *vcpu, int vec, u64 flags) | 163 | void kvmppc_inject_interrupt(struct kvm_vcpu *vcpu, int vec, u64 flags) |
141 | { | 164 | { |
142 | vcpu->arch.srr0 = vcpu->arch.pc; | 165 | vcpu->arch.srr0 = kvmppc_get_pc(vcpu); |
143 | vcpu->arch.srr1 = vcpu->arch.msr | flags; | 166 | vcpu->arch.srr1 = vcpu->arch.msr | flags; |
144 | vcpu->arch.pc = to_book3s(vcpu)->hior + vec; | 167 | kvmppc_set_pc(vcpu, to_book3s(vcpu)->hior + vec); |
145 | vcpu->arch.mmu.reset_msr(vcpu); | 168 | vcpu->arch.mmu.reset_msr(vcpu); |
146 | } | 169 | } |
147 | 170 | ||
@@ -217,6 +240,12 @@ void kvmppc_core_queue_external(struct kvm_vcpu *vcpu, | |||
217 | kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_EXTERNAL); | 240 | kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_EXTERNAL); |
218 | } | 241 | } |
219 | 242 | ||
243 | void kvmppc_core_dequeue_external(struct kvm_vcpu *vcpu, | ||
244 | struct kvm_interrupt *irq) | ||
245 | { | ||
246 | kvmppc_book3s_dequeue_irqprio(vcpu, BOOK3S_INTERRUPT_EXTERNAL); | ||
247 | } | ||
248 | |||
220 | int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority) | 249 | int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority) |
221 | { | 250 | { |
222 | int deliver = 1; | 251 | int deliver = 1; |
@@ -301,7 +330,7 @@ void kvmppc_core_deliver_interrupts(struct kvm_vcpu *vcpu) | |||
301 | printk(KERN_EMERG "KVM: Check pending: %lx\n", vcpu->arch.pending_exceptions); | 330 | printk(KERN_EMERG "KVM: Check pending: %lx\n", vcpu->arch.pending_exceptions); |
302 | #endif | 331 | #endif |
303 | priority = __ffs(*pending); | 332 | priority = __ffs(*pending); |
304 | while (priority <= (sizeof(unsigned int) * 8)) { | 333 | while (priority < BOOK3S_IRQPRIO_MAX) { |
305 | if (kvmppc_book3s_irqprio_deliver(vcpu, priority) && | 334 | if (kvmppc_book3s_irqprio_deliver(vcpu, priority) && |
306 | (priority != BOOK3S_IRQPRIO_DECREMENTER)) { | 335 | (priority != BOOK3S_IRQPRIO_DECREMENTER)) { |
307 | /* DEC interrupts get cleared by mtdec */ | 336 | /* DEC interrupts get cleared by mtdec */ |
@@ -317,13 +346,18 @@ void kvmppc_core_deliver_interrupts(struct kvm_vcpu *vcpu) | |||
317 | 346 | ||
318 | void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr) | 347 | void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr) |
319 | { | 348 | { |
349 | u32 host_pvr; | ||
350 | |||
320 | vcpu->arch.hflags &= ~BOOK3S_HFLAG_SLB; | 351 | vcpu->arch.hflags &= ~BOOK3S_HFLAG_SLB; |
321 | vcpu->arch.pvr = pvr; | 352 | vcpu->arch.pvr = pvr; |
353 | #ifdef CONFIG_PPC_BOOK3S_64 | ||
322 | if ((pvr >= 0x330000) && (pvr < 0x70330000)) { | 354 | if ((pvr >= 0x330000) && (pvr < 0x70330000)) { |
323 | kvmppc_mmu_book3s_64_init(vcpu); | 355 | kvmppc_mmu_book3s_64_init(vcpu); |
324 | to_book3s(vcpu)->hior = 0xfff00000; | 356 | to_book3s(vcpu)->hior = 0xfff00000; |
325 | to_book3s(vcpu)->msr_mask = 0xffffffffffffffffULL; | 357 | to_book3s(vcpu)->msr_mask = 0xffffffffffffffffULL; |
326 | } else { | 358 | } else |
359 | #endif | ||
360 | { | ||
327 | kvmppc_mmu_book3s_32_init(vcpu); | 361 | kvmppc_mmu_book3s_32_init(vcpu); |
328 | to_book3s(vcpu)->hior = 0; | 362 | to_book3s(vcpu)->hior = 0; |
329 | to_book3s(vcpu)->msr_mask = 0xffffffffULL; | 363 | to_book3s(vcpu)->msr_mask = 0xffffffffULL; |
@@ -336,6 +370,32 @@ void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr) | |||
336 | !strcmp(cur_cpu_spec->platform, "ppc970")) | 370 | !strcmp(cur_cpu_spec->platform, "ppc970")) |
337 | vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32; | 371 | vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32; |
338 | 372 | ||
373 | /* Cell performs badly if MSR_FEx are set. So let's hope nobody | ||
374 | really needs them in a VM on Cell and force disable them. */ | ||
375 | if (!strcmp(cur_cpu_spec->platform, "ppc-cell-be")) | ||
376 | to_book3s(vcpu)->msr_mask &= ~(MSR_FE0 | MSR_FE1); | ||
377 | |||
378 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
379 | /* 32 bit Book3S always has 32 byte dcbz */ | ||
380 | vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32; | ||
381 | #endif | ||
382 | |||
383 | /* On some CPUs we can execute paired single operations natively */ | ||
384 | asm ( "mfpvr %0" : "=r"(host_pvr)); | ||
385 | switch (host_pvr) { | ||
386 | case 0x00080200: /* lonestar 2.0 */ | ||
387 | case 0x00088202: /* lonestar 2.2 */ | ||
388 | case 0x70000100: /* gekko 1.0 */ | ||
389 | case 0x00080100: /* gekko 2.0 */ | ||
390 | case 0x00083203: /* gekko 2.3a */ | ||
391 | case 0x00083213: /* gekko 2.3b */ | ||
392 | case 0x00083204: /* gekko 2.4 */ | ||
393 | case 0x00083214: /* gekko 2.4e (8SE) - retail HW2 */ | ||
394 | case 0x00087200: /* broadway */ | ||
395 | vcpu->arch.hflags |= BOOK3S_HFLAG_NATIVE_PS; | ||
396 | /* Enable HID2.PSE - in case we need it later */ | ||
397 | mtspr(SPRN_HID2_GEKKO, mfspr(SPRN_HID2_GEKKO) | (1 << 29)); | ||
398 | } | ||
339 | } | 399 | } |
340 | 400 | ||
341 | /* Book3s_32 CPUs always have 32 bytes cache line size, which Linux assumes. To | 401 | /* Book3s_32 CPUs always have 32 bytes cache line size, which Linux assumes. To |
@@ -349,34 +409,29 @@ void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr) | |||
349 | */ | 409 | */ |
350 | static void kvmppc_patch_dcbz(struct kvm_vcpu *vcpu, struct kvmppc_pte *pte) | 410 | static void kvmppc_patch_dcbz(struct kvm_vcpu *vcpu, struct kvmppc_pte *pte) |
351 | { | 411 | { |
352 | bool touched = false; | 412 | struct page *hpage; |
353 | hva_t hpage; | 413 | u64 hpage_offset; |
354 | u32 *page; | 414 | u32 *page; |
355 | int i; | 415 | int i; |
356 | 416 | ||
357 | hpage = gfn_to_hva(vcpu->kvm, pte->raddr >> PAGE_SHIFT); | 417 | hpage = gfn_to_page(vcpu->kvm, pte->raddr >> PAGE_SHIFT); |
358 | if (kvm_is_error_hva(hpage)) | 418 | if (is_error_page(hpage)) |
359 | return; | 419 | return; |
360 | 420 | ||
361 | hpage |= pte->raddr & ~PAGE_MASK; | 421 | hpage_offset = pte->raddr & ~PAGE_MASK; |
362 | hpage &= ~0xFFFULL; | 422 | hpage_offset &= ~0xFFFULL; |
363 | 423 | hpage_offset /= 4; | |
364 | page = vmalloc(HW_PAGE_SIZE); | ||
365 | |||
366 | if (copy_from_user(page, (void __user *)hpage, HW_PAGE_SIZE)) | ||
367 | goto out; | ||
368 | 424 | ||
369 | for (i=0; i < HW_PAGE_SIZE / 4; i++) | 425 | get_page(hpage); |
370 | if ((page[i] & 0xff0007ff) == INS_DCBZ) { | 426 | page = kmap_atomic(hpage, KM_USER0); |
371 | page[i] &= 0xfffffff7; // reserved instruction, so we trap | ||
372 | touched = true; | ||
373 | } | ||
374 | 427 | ||
375 | if (touched) | 428 | /* patch dcbz into reserved instruction, so we trap */ |
376 | copy_to_user((void __user *)hpage, page, HW_PAGE_SIZE); | 429 | for (i=hpage_offset; i < hpage_offset + (HW_PAGE_SIZE / 4); i++) |
430 | if ((page[i] & 0xff0007ff) == INS_DCBZ) | ||
431 | page[i] &= 0xfffffff7; | ||
377 | 432 | ||
378 | out: | 433 | kunmap_atomic(page, KM_USER0); |
379 | vfree(page); | 434 | put_page(hpage); |
380 | } | 435 | } |
381 | 436 | ||
382 | static int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr, bool data, | 437 | static int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr, bool data, |
@@ -390,15 +445,7 @@ static int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr, bool data, | |||
390 | } else { | 445 | } else { |
391 | pte->eaddr = eaddr; | 446 | pte->eaddr = eaddr; |
392 | pte->raddr = eaddr & 0xffffffff; | 447 | pte->raddr = eaddr & 0xffffffff; |
393 | pte->vpage = eaddr >> 12; | 448 | pte->vpage = VSID_REAL | eaddr >> 12; |
394 | switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { | ||
395 | case 0: | ||
396 | pte->vpage |= VSID_REAL; | ||
397 | case MSR_DR: | ||
398 | pte->vpage |= VSID_REAL_DR; | ||
399 | case MSR_IR: | ||
400 | pte->vpage |= VSID_REAL_IR; | ||
401 | } | ||
402 | pte->may_read = true; | 449 | pte->may_read = true; |
403 | pte->may_write = true; | 450 | pte->may_write = true; |
404 | pte->may_execute = true; | 451 | pte->may_execute = true; |
@@ -433,55 +480,55 @@ err: | |||
433 | return kvmppc_bad_hva(); | 480 | return kvmppc_bad_hva(); |
434 | } | 481 | } |
435 | 482 | ||
436 | int kvmppc_st(struct kvm_vcpu *vcpu, ulong eaddr, int size, void *ptr) | 483 | int kvmppc_st(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, |
484 | bool data) | ||
437 | { | 485 | { |
438 | struct kvmppc_pte pte; | 486 | struct kvmppc_pte pte; |
439 | hva_t hva = eaddr; | ||
440 | 487 | ||
441 | vcpu->stat.st++; | 488 | vcpu->stat.st++; |
442 | 489 | ||
443 | if (kvmppc_xlate(vcpu, eaddr, false, &pte)) | 490 | if (kvmppc_xlate(vcpu, *eaddr, data, &pte)) |
444 | goto err; | 491 | return -ENOENT; |
445 | 492 | ||
446 | hva = kvmppc_pte_to_hva(vcpu, &pte, false); | 493 | *eaddr = pte.raddr; |
447 | if (kvm_is_error_hva(hva)) | ||
448 | goto err; | ||
449 | 494 | ||
450 | if (copy_to_user((void __user *)hva, ptr, size)) { | 495 | if (!pte.may_write) |
451 | printk(KERN_INFO "kvmppc_st at 0x%lx failed\n", hva); | 496 | return -EPERM; |
452 | goto err; | ||
453 | } | ||
454 | 497 | ||
455 | return 0; | 498 | if (kvm_write_guest(vcpu->kvm, pte.raddr, ptr, size)) |
499 | return EMULATE_DO_MMIO; | ||
456 | 500 | ||
457 | err: | 501 | return EMULATE_DONE; |
458 | return -ENOENT; | ||
459 | } | 502 | } |
460 | 503 | ||
461 | int kvmppc_ld(struct kvm_vcpu *vcpu, ulong eaddr, int size, void *ptr, | 504 | int kvmppc_ld(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, |
462 | bool data) | 505 | bool data) |
463 | { | 506 | { |
464 | struct kvmppc_pte pte; | 507 | struct kvmppc_pte pte; |
465 | hva_t hva = eaddr; | 508 | hva_t hva = *eaddr; |
466 | 509 | ||
467 | vcpu->stat.ld++; | 510 | vcpu->stat.ld++; |
468 | 511 | ||
469 | if (kvmppc_xlate(vcpu, eaddr, data, &pte)) | 512 | if (kvmppc_xlate(vcpu, *eaddr, data, &pte)) |
470 | goto err; | 513 | goto nopte; |
514 | |||
515 | *eaddr = pte.raddr; | ||
471 | 516 | ||
472 | hva = kvmppc_pte_to_hva(vcpu, &pte, true); | 517 | hva = kvmppc_pte_to_hva(vcpu, &pte, true); |
473 | if (kvm_is_error_hva(hva)) | 518 | if (kvm_is_error_hva(hva)) |
474 | goto err; | 519 | goto mmio; |
475 | 520 | ||
476 | if (copy_from_user(ptr, (void __user *)hva, size)) { | 521 | if (copy_from_user(ptr, (void __user *)hva, size)) { |
477 | printk(KERN_INFO "kvmppc_ld at 0x%lx failed\n", hva); | 522 | printk(KERN_INFO "kvmppc_ld at 0x%lx failed\n", hva); |
478 | goto err; | 523 | goto mmio; |
479 | } | 524 | } |
480 | 525 | ||
481 | return 0; | 526 | return EMULATE_DONE; |
482 | 527 | ||
483 | err: | 528 | nopte: |
484 | return -ENOENT; | 529 | return -ENOENT; |
530 | mmio: | ||
531 | return EMULATE_DO_MMIO; | ||
485 | } | 532 | } |
486 | 533 | ||
487 | static int kvmppc_visible_gfn(struct kvm_vcpu *vcpu, gfn_t gfn) | 534 | static int kvmppc_visible_gfn(struct kvm_vcpu *vcpu, gfn_t gfn) |
@@ -498,12 +545,11 @@ int kvmppc_handle_pagefault(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
498 | int page_found = 0; | 545 | int page_found = 0; |
499 | struct kvmppc_pte pte; | 546 | struct kvmppc_pte pte; |
500 | bool is_mmio = false; | 547 | bool is_mmio = false; |
548 | bool dr = (vcpu->arch.msr & MSR_DR) ? true : false; | ||
549 | bool ir = (vcpu->arch.msr & MSR_IR) ? true : false; | ||
550 | u64 vsid; | ||
501 | 551 | ||
502 | if ( vec == BOOK3S_INTERRUPT_DATA_STORAGE ) { | 552 | relocated = data ? dr : ir; |
503 | relocated = (vcpu->arch.msr & MSR_DR); | ||
504 | } else { | ||
505 | relocated = (vcpu->arch.msr & MSR_IR); | ||
506 | } | ||
507 | 553 | ||
508 | /* Resolve real address if translation turned on */ | 554 | /* Resolve real address if translation turned on */ |
509 | if (relocated) { | 555 | if (relocated) { |
@@ -515,14 +561,25 @@ int kvmppc_handle_pagefault(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
515 | pte.raddr = eaddr & 0xffffffff; | 561 | pte.raddr = eaddr & 0xffffffff; |
516 | pte.eaddr = eaddr; | 562 | pte.eaddr = eaddr; |
517 | pte.vpage = eaddr >> 12; | 563 | pte.vpage = eaddr >> 12; |
518 | switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { | 564 | } |
519 | case 0: | 565 | |
520 | pte.vpage |= VSID_REAL; | 566 | switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { |
521 | case MSR_DR: | 567 | case 0: |
522 | pte.vpage |= VSID_REAL_DR; | 568 | pte.vpage |= ((u64)VSID_REAL << (SID_SHIFT - 12)); |
523 | case MSR_IR: | 569 | break; |
524 | pte.vpage |= VSID_REAL_IR; | 570 | case MSR_DR: |
525 | } | 571 | case MSR_IR: |
572 | vcpu->arch.mmu.esid_to_vsid(vcpu, eaddr >> SID_SHIFT, &vsid); | ||
573 | |||
574 | if ((vcpu->arch.msr & (MSR_DR|MSR_IR)) == MSR_DR) | ||
575 | pte.vpage |= ((u64)VSID_REAL_DR << (SID_SHIFT - 12)); | ||
576 | else | ||
577 | pte.vpage |= ((u64)VSID_REAL_IR << (SID_SHIFT - 12)); | ||
578 | pte.vpage |= vsid; | ||
579 | |||
580 | if (vsid == -1) | ||
581 | page_found = -EINVAL; | ||
582 | break; | ||
526 | } | 583 | } |
527 | 584 | ||
528 | if (vcpu->arch.mmu.is_dcbz32(vcpu) && | 585 | if (vcpu->arch.mmu.is_dcbz32(vcpu) && |
@@ -537,20 +594,20 @@ int kvmppc_handle_pagefault(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
537 | 594 | ||
538 | if (page_found == -ENOENT) { | 595 | if (page_found == -ENOENT) { |
539 | /* Page not found in guest PTE entries */ | 596 | /* Page not found in guest PTE entries */ |
540 | vcpu->arch.dear = vcpu->arch.fault_dear; | 597 | vcpu->arch.dear = kvmppc_get_fault_dar(vcpu); |
541 | to_book3s(vcpu)->dsisr = vcpu->arch.fault_dsisr; | 598 | to_book3s(vcpu)->dsisr = to_svcpu(vcpu)->fault_dsisr; |
542 | vcpu->arch.msr |= (vcpu->arch.shadow_srr1 & 0x00000000f8000000ULL); | 599 | vcpu->arch.msr |= (to_svcpu(vcpu)->shadow_srr1 & 0x00000000f8000000ULL); |
543 | kvmppc_book3s_queue_irqprio(vcpu, vec); | 600 | kvmppc_book3s_queue_irqprio(vcpu, vec); |
544 | } else if (page_found == -EPERM) { | 601 | } else if (page_found == -EPERM) { |
545 | /* Storage protection */ | 602 | /* Storage protection */ |
546 | vcpu->arch.dear = vcpu->arch.fault_dear; | 603 | vcpu->arch.dear = kvmppc_get_fault_dar(vcpu); |
547 | to_book3s(vcpu)->dsisr = vcpu->arch.fault_dsisr & ~DSISR_NOHPTE; | 604 | to_book3s(vcpu)->dsisr = to_svcpu(vcpu)->fault_dsisr & ~DSISR_NOHPTE; |
548 | to_book3s(vcpu)->dsisr |= DSISR_PROTFAULT; | 605 | to_book3s(vcpu)->dsisr |= DSISR_PROTFAULT; |
549 | vcpu->arch.msr |= (vcpu->arch.shadow_srr1 & 0x00000000f8000000ULL); | 606 | vcpu->arch.msr |= (to_svcpu(vcpu)->shadow_srr1 & 0x00000000f8000000ULL); |
550 | kvmppc_book3s_queue_irqprio(vcpu, vec); | 607 | kvmppc_book3s_queue_irqprio(vcpu, vec); |
551 | } else if (page_found == -EINVAL) { | 608 | } else if (page_found == -EINVAL) { |
552 | /* Page not found in guest SLB */ | 609 | /* Page not found in guest SLB */ |
553 | vcpu->arch.dear = vcpu->arch.fault_dear; | 610 | vcpu->arch.dear = kvmppc_get_fault_dar(vcpu); |
554 | kvmppc_book3s_queue_irqprio(vcpu, vec + 0x80); | 611 | kvmppc_book3s_queue_irqprio(vcpu, vec + 0x80); |
555 | } else if (!is_mmio && | 612 | } else if (!is_mmio && |
556 | kvmppc_visible_gfn(vcpu, pte.raddr >> PAGE_SHIFT)) { | 613 | kvmppc_visible_gfn(vcpu, pte.raddr >> PAGE_SHIFT)) { |
@@ -582,11 +639,13 @@ static inline int get_fpr_index(int i) | |||
582 | } | 639 | } |
583 | 640 | ||
584 | /* Give up external provider (FPU, Altivec, VSX) */ | 641 | /* Give up external provider (FPU, Altivec, VSX) */ |
585 | static void kvmppc_giveup_ext(struct kvm_vcpu *vcpu, ulong msr) | 642 | void kvmppc_giveup_ext(struct kvm_vcpu *vcpu, ulong msr) |
586 | { | 643 | { |
587 | struct thread_struct *t = ¤t->thread; | 644 | struct thread_struct *t = ¤t->thread; |
588 | u64 *vcpu_fpr = vcpu->arch.fpr; | 645 | u64 *vcpu_fpr = vcpu->arch.fpr; |
646 | #ifdef CONFIG_VSX | ||
589 | u64 *vcpu_vsx = vcpu->arch.vsr; | 647 | u64 *vcpu_vsx = vcpu->arch.vsr; |
648 | #endif | ||
590 | u64 *thread_fpr = (u64*)t->fpr; | 649 | u64 *thread_fpr = (u64*)t->fpr; |
591 | int i; | 650 | int i; |
592 | 651 | ||
@@ -628,21 +687,65 @@ static void kvmppc_giveup_ext(struct kvm_vcpu *vcpu, ulong msr) | |||
628 | kvmppc_recalc_shadow_msr(vcpu); | 687 | kvmppc_recalc_shadow_msr(vcpu); |
629 | } | 688 | } |
630 | 689 | ||
690 | static int kvmppc_read_inst(struct kvm_vcpu *vcpu) | ||
691 | { | ||
692 | ulong srr0 = kvmppc_get_pc(vcpu); | ||
693 | u32 last_inst = kvmppc_get_last_inst(vcpu); | ||
694 | int ret; | ||
695 | |||
696 | ret = kvmppc_ld(vcpu, &srr0, sizeof(u32), &last_inst, false); | ||
697 | if (ret == -ENOENT) { | ||
698 | vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 33, 33, 1); | ||
699 | vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 34, 36, 0); | ||
700 | vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 42, 47, 0); | ||
701 | kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_INST_STORAGE); | ||
702 | return EMULATE_AGAIN; | ||
703 | } | ||
704 | |||
705 | return EMULATE_DONE; | ||
706 | } | ||
707 | |||
708 | static int kvmppc_check_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr) | ||
709 | { | ||
710 | |||
711 | /* Need to do paired single emulation? */ | ||
712 | if (!(vcpu->arch.hflags & BOOK3S_HFLAG_PAIRED_SINGLE)) | ||
713 | return EMULATE_DONE; | ||
714 | |||
715 | /* Read out the instruction */ | ||
716 | if (kvmppc_read_inst(vcpu) == EMULATE_DONE) | ||
717 | /* Need to emulate */ | ||
718 | return EMULATE_FAIL; | ||
719 | |||
720 | return EMULATE_AGAIN; | ||
721 | } | ||
722 | |||
631 | /* Handle external providers (FPU, Altivec, VSX) */ | 723 | /* Handle external providers (FPU, Altivec, VSX) */ |
632 | static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr, | 724 | static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr, |
633 | ulong msr) | 725 | ulong msr) |
634 | { | 726 | { |
635 | struct thread_struct *t = ¤t->thread; | 727 | struct thread_struct *t = ¤t->thread; |
636 | u64 *vcpu_fpr = vcpu->arch.fpr; | 728 | u64 *vcpu_fpr = vcpu->arch.fpr; |
729 | #ifdef CONFIG_VSX | ||
637 | u64 *vcpu_vsx = vcpu->arch.vsr; | 730 | u64 *vcpu_vsx = vcpu->arch.vsr; |
731 | #endif | ||
638 | u64 *thread_fpr = (u64*)t->fpr; | 732 | u64 *thread_fpr = (u64*)t->fpr; |
639 | int i; | 733 | int i; |
640 | 734 | ||
735 | /* When we have paired singles, we emulate in software */ | ||
736 | if (vcpu->arch.hflags & BOOK3S_HFLAG_PAIRED_SINGLE) | ||
737 | return RESUME_GUEST; | ||
738 | |||
641 | if (!(vcpu->arch.msr & msr)) { | 739 | if (!(vcpu->arch.msr & msr)) { |
642 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); | 740 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); |
643 | return RESUME_GUEST; | 741 | return RESUME_GUEST; |
644 | } | 742 | } |
645 | 743 | ||
744 | /* We already own the ext */ | ||
745 | if (vcpu->arch.guest_owned_ext & msr) { | ||
746 | return RESUME_GUEST; | ||
747 | } | ||
748 | |||
646 | #ifdef DEBUG_EXT | 749 | #ifdef DEBUG_EXT |
647 | printk(KERN_INFO "Loading up ext 0x%lx\n", msr); | 750 | printk(KERN_INFO "Loading up ext 0x%lx\n", msr); |
648 | #endif | 751 | #endif |
@@ -695,21 +798,33 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
695 | run->ready_for_interrupt_injection = 1; | 798 | run->ready_for_interrupt_injection = 1; |
696 | #ifdef EXIT_DEBUG | 799 | #ifdef EXIT_DEBUG |
697 | printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | dar=0x%lx | dec=0x%x | msr=0x%lx\n", | 800 | printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | dar=0x%lx | dec=0x%x | msr=0x%lx\n", |
698 | exit_nr, vcpu->arch.pc, vcpu->arch.fault_dear, | 801 | exit_nr, kvmppc_get_pc(vcpu), kvmppc_get_fault_dar(vcpu), |
699 | kvmppc_get_dec(vcpu), vcpu->arch.msr); | 802 | kvmppc_get_dec(vcpu), to_svcpu(vcpu)->shadow_srr1); |
700 | #elif defined (EXIT_DEBUG_SIMPLE) | 803 | #elif defined (EXIT_DEBUG_SIMPLE) |
701 | if ((exit_nr != 0x900) && (exit_nr != 0x500)) | 804 | if ((exit_nr != 0x900) && (exit_nr != 0x500)) |
702 | printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | dar=0x%lx | msr=0x%lx\n", | 805 | printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | dar=0x%lx | msr=0x%lx\n", |
703 | exit_nr, vcpu->arch.pc, vcpu->arch.fault_dear, | 806 | exit_nr, kvmppc_get_pc(vcpu), kvmppc_get_fault_dar(vcpu), |
704 | vcpu->arch.msr); | 807 | vcpu->arch.msr); |
705 | #endif | 808 | #endif |
706 | kvm_resched(vcpu); | 809 | kvm_resched(vcpu); |
707 | switch (exit_nr) { | 810 | switch (exit_nr) { |
708 | case BOOK3S_INTERRUPT_INST_STORAGE: | 811 | case BOOK3S_INTERRUPT_INST_STORAGE: |
709 | vcpu->stat.pf_instruc++; | 812 | vcpu->stat.pf_instruc++; |
813 | |||
814 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
815 | /* We set segments as unused segments when invalidating them. So | ||
816 | * treat the respective fault as segment fault. */ | ||
817 | if (to_svcpu(vcpu)->sr[kvmppc_get_pc(vcpu) >> SID_SHIFT] | ||
818 | == SR_INVALID) { | ||
819 | kvmppc_mmu_map_segment(vcpu, kvmppc_get_pc(vcpu)); | ||
820 | r = RESUME_GUEST; | ||
821 | break; | ||
822 | } | ||
823 | #endif | ||
824 | |||
710 | /* only care about PTEG not found errors, but leave NX alone */ | 825 | /* only care about PTEG not found errors, but leave NX alone */ |
711 | if (vcpu->arch.shadow_srr1 & 0x40000000) { | 826 | if (to_svcpu(vcpu)->shadow_srr1 & 0x40000000) { |
712 | r = kvmppc_handle_pagefault(run, vcpu, vcpu->arch.pc, exit_nr); | 827 | r = kvmppc_handle_pagefault(run, vcpu, kvmppc_get_pc(vcpu), exit_nr); |
713 | vcpu->stat.sp_instruc++; | 828 | vcpu->stat.sp_instruc++; |
714 | } else if (vcpu->arch.mmu.is_dcbz32(vcpu) && | 829 | } else if (vcpu->arch.mmu.is_dcbz32(vcpu) && |
715 | (!(vcpu->arch.hflags & BOOK3S_HFLAG_DCBZ32))) { | 830 | (!(vcpu->arch.hflags & BOOK3S_HFLAG_DCBZ32))) { |
@@ -718,37 +833,52 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
718 | * so we can't use the NX bit inside the guest. Let's cross our fingers, | 833 | * so we can't use the NX bit inside the guest. Let's cross our fingers, |
719 | * that no guest that needs the dcbz hack does NX. | 834 | * that no guest that needs the dcbz hack does NX. |
720 | */ | 835 | */ |
721 | kvmppc_mmu_pte_flush(vcpu, vcpu->arch.pc, ~0xFFFULL); | 836 | kvmppc_mmu_pte_flush(vcpu, kvmppc_get_pc(vcpu), ~0xFFFUL); |
837 | r = RESUME_GUEST; | ||
722 | } else { | 838 | } else { |
723 | vcpu->arch.msr |= vcpu->arch.shadow_srr1 & 0x58000000; | 839 | vcpu->arch.msr |= to_svcpu(vcpu)->shadow_srr1 & 0x58000000; |
724 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); | 840 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); |
725 | kvmppc_mmu_pte_flush(vcpu, vcpu->arch.pc, ~0xFFFULL); | 841 | kvmppc_mmu_pte_flush(vcpu, kvmppc_get_pc(vcpu), ~0xFFFUL); |
726 | r = RESUME_GUEST; | 842 | r = RESUME_GUEST; |
727 | } | 843 | } |
728 | break; | 844 | break; |
729 | case BOOK3S_INTERRUPT_DATA_STORAGE: | 845 | case BOOK3S_INTERRUPT_DATA_STORAGE: |
846 | { | ||
847 | ulong dar = kvmppc_get_fault_dar(vcpu); | ||
730 | vcpu->stat.pf_storage++; | 848 | vcpu->stat.pf_storage++; |
849 | |||
850 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
851 | /* We set segments as unused segments when invalidating them. So | ||
852 | * treat the respective fault as segment fault. */ | ||
853 | if ((to_svcpu(vcpu)->sr[dar >> SID_SHIFT]) == SR_INVALID) { | ||
854 | kvmppc_mmu_map_segment(vcpu, dar); | ||
855 | r = RESUME_GUEST; | ||
856 | break; | ||
857 | } | ||
858 | #endif | ||
859 | |||
731 | /* The only case we need to handle is missing shadow PTEs */ | 860 | /* The only case we need to handle is missing shadow PTEs */ |
732 | if (vcpu->arch.fault_dsisr & DSISR_NOHPTE) { | 861 | if (to_svcpu(vcpu)->fault_dsisr & DSISR_NOHPTE) { |
733 | r = kvmppc_handle_pagefault(run, vcpu, vcpu->arch.fault_dear, exit_nr); | 862 | r = kvmppc_handle_pagefault(run, vcpu, dar, exit_nr); |
734 | } else { | 863 | } else { |
735 | vcpu->arch.dear = vcpu->arch.fault_dear; | 864 | vcpu->arch.dear = dar; |
736 | to_book3s(vcpu)->dsisr = vcpu->arch.fault_dsisr; | 865 | to_book3s(vcpu)->dsisr = to_svcpu(vcpu)->fault_dsisr; |
737 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); | 866 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); |
738 | kvmppc_mmu_pte_flush(vcpu, vcpu->arch.dear, ~0xFFFULL); | 867 | kvmppc_mmu_pte_flush(vcpu, vcpu->arch.dear, ~0xFFFUL); |
739 | r = RESUME_GUEST; | 868 | r = RESUME_GUEST; |
740 | } | 869 | } |
741 | break; | 870 | break; |
871 | } | ||
742 | case BOOK3S_INTERRUPT_DATA_SEGMENT: | 872 | case BOOK3S_INTERRUPT_DATA_SEGMENT: |
743 | if (kvmppc_mmu_map_segment(vcpu, vcpu->arch.fault_dear) < 0) { | 873 | if (kvmppc_mmu_map_segment(vcpu, kvmppc_get_fault_dar(vcpu)) < 0) { |
744 | vcpu->arch.dear = vcpu->arch.fault_dear; | 874 | vcpu->arch.dear = kvmppc_get_fault_dar(vcpu); |
745 | kvmppc_book3s_queue_irqprio(vcpu, | 875 | kvmppc_book3s_queue_irqprio(vcpu, |
746 | BOOK3S_INTERRUPT_DATA_SEGMENT); | 876 | BOOK3S_INTERRUPT_DATA_SEGMENT); |
747 | } | 877 | } |
748 | r = RESUME_GUEST; | 878 | r = RESUME_GUEST; |
749 | break; | 879 | break; |
750 | case BOOK3S_INTERRUPT_INST_SEGMENT: | 880 | case BOOK3S_INTERRUPT_INST_SEGMENT: |
751 | if (kvmppc_mmu_map_segment(vcpu, vcpu->arch.pc) < 0) { | 881 | if (kvmppc_mmu_map_segment(vcpu, kvmppc_get_pc(vcpu)) < 0) { |
752 | kvmppc_book3s_queue_irqprio(vcpu, | 882 | kvmppc_book3s_queue_irqprio(vcpu, |
753 | BOOK3S_INTERRUPT_INST_SEGMENT); | 883 | BOOK3S_INTERRUPT_INST_SEGMENT); |
754 | } | 884 | } |
@@ -763,18 +893,22 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
763 | vcpu->stat.ext_intr_exits++; | 893 | vcpu->stat.ext_intr_exits++; |
764 | r = RESUME_GUEST; | 894 | r = RESUME_GUEST; |
765 | break; | 895 | break; |
896 | case BOOK3S_INTERRUPT_PERFMON: | ||
897 | r = RESUME_GUEST; | ||
898 | break; | ||
766 | case BOOK3S_INTERRUPT_PROGRAM: | 899 | case BOOK3S_INTERRUPT_PROGRAM: |
767 | { | 900 | { |
768 | enum emulation_result er; | 901 | enum emulation_result er; |
769 | ulong flags; | 902 | ulong flags; |
770 | 903 | ||
771 | flags = vcpu->arch.shadow_srr1 & 0x1f0000ull; | 904 | program_interrupt: |
905 | flags = to_svcpu(vcpu)->shadow_srr1 & 0x1f0000ull; | ||
772 | 906 | ||
773 | if (vcpu->arch.msr & MSR_PR) { | 907 | if (vcpu->arch.msr & MSR_PR) { |
774 | #ifdef EXIT_DEBUG | 908 | #ifdef EXIT_DEBUG |
775 | printk(KERN_INFO "Userspace triggered 0x700 exception at 0x%lx (0x%x)\n", vcpu->arch.pc, vcpu->arch.last_inst); | 909 | printk(KERN_INFO "Userspace triggered 0x700 exception at 0x%lx (0x%x)\n", kvmppc_get_pc(vcpu), kvmppc_get_last_inst(vcpu)); |
776 | #endif | 910 | #endif |
777 | if ((vcpu->arch.last_inst & 0xff0007ff) != | 911 | if ((kvmppc_get_last_inst(vcpu) & 0xff0007ff) != |
778 | (INS_DCBZ & 0xfffffff7)) { | 912 | (INS_DCBZ & 0xfffffff7)) { |
779 | kvmppc_core_queue_program(vcpu, flags); | 913 | kvmppc_core_queue_program(vcpu, flags); |
780 | r = RESUME_GUEST; | 914 | r = RESUME_GUEST; |
@@ -788,33 +922,80 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
788 | case EMULATE_DONE: | 922 | case EMULATE_DONE: |
789 | r = RESUME_GUEST_NV; | 923 | r = RESUME_GUEST_NV; |
790 | break; | 924 | break; |
925 | case EMULATE_AGAIN: | ||
926 | r = RESUME_GUEST; | ||
927 | break; | ||
791 | case EMULATE_FAIL: | 928 | case EMULATE_FAIL: |
792 | printk(KERN_CRIT "%s: emulation at %lx failed (%08x)\n", | 929 | printk(KERN_CRIT "%s: emulation at %lx failed (%08x)\n", |
793 | __func__, vcpu->arch.pc, vcpu->arch.last_inst); | 930 | __func__, kvmppc_get_pc(vcpu), kvmppc_get_last_inst(vcpu)); |
794 | kvmppc_core_queue_program(vcpu, flags); | 931 | kvmppc_core_queue_program(vcpu, flags); |
795 | r = RESUME_GUEST; | 932 | r = RESUME_GUEST; |
796 | break; | 933 | break; |
934 | case EMULATE_DO_MMIO: | ||
935 | run->exit_reason = KVM_EXIT_MMIO; | ||
936 | r = RESUME_HOST_NV; | ||
937 | break; | ||
797 | default: | 938 | default: |
798 | BUG(); | 939 | BUG(); |
799 | } | 940 | } |
800 | break; | 941 | break; |
801 | } | 942 | } |
802 | case BOOK3S_INTERRUPT_SYSCALL: | 943 | case BOOK3S_INTERRUPT_SYSCALL: |
803 | #ifdef EXIT_DEBUG | 944 | // XXX make user settable |
804 | printk(KERN_INFO "Syscall Nr %d\n", (int)kvmppc_get_gpr(vcpu, 0)); | 945 | if (vcpu->arch.osi_enabled && |
805 | #endif | 946 | (((u32)kvmppc_get_gpr(vcpu, 3)) == OSI_SC_MAGIC_R3) && |
806 | vcpu->stat.syscall_exits++; | 947 | (((u32)kvmppc_get_gpr(vcpu, 4)) == OSI_SC_MAGIC_R4)) { |
807 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); | 948 | u64 *gprs = run->osi.gprs; |
808 | r = RESUME_GUEST; | 949 | int i; |
950 | |||
951 | run->exit_reason = KVM_EXIT_OSI; | ||
952 | for (i = 0; i < 32; i++) | ||
953 | gprs[i] = kvmppc_get_gpr(vcpu, i); | ||
954 | vcpu->arch.osi_needed = 1; | ||
955 | r = RESUME_HOST_NV; | ||
956 | |||
957 | } else { | ||
958 | vcpu->stat.syscall_exits++; | ||
959 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); | ||
960 | r = RESUME_GUEST; | ||
961 | } | ||
809 | break; | 962 | break; |
810 | case BOOK3S_INTERRUPT_FP_UNAVAIL: | 963 | case BOOK3S_INTERRUPT_FP_UNAVAIL: |
811 | r = kvmppc_handle_ext(vcpu, exit_nr, MSR_FP); | ||
812 | break; | ||
813 | case BOOK3S_INTERRUPT_ALTIVEC: | 964 | case BOOK3S_INTERRUPT_ALTIVEC: |
814 | r = kvmppc_handle_ext(vcpu, exit_nr, MSR_VEC); | ||
815 | break; | ||
816 | case BOOK3S_INTERRUPT_VSX: | 965 | case BOOK3S_INTERRUPT_VSX: |
817 | r = kvmppc_handle_ext(vcpu, exit_nr, MSR_VSX); | 966 | { |
967 | int ext_msr = 0; | ||
968 | |||
969 | switch (exit_nr) { | ||
970 | case BOOK3S_INTERRUPT_FP_UNAVAIL: ext_msr = MSR_FP; break; | ||
971 | case BOOK3S_INTERRUPT_ALTIVEC: ext_msr = MSR_VEC; break; | ||
972 | case BOOK3S_INTERRUPT_VSX: ext_msr = MSR_VSX; break; | ||
973 | } | ||
974 | |||
975 | switch (kvmppc_check_ext(vcpu, exit_nr)) { | ||
976 | case EMULATE_DONE: | ||
977 | /* everything ok - let's enable the ext */ | ||
978 | r = kvmppc_handle_ext(vcpu, exit_nr, ext_msr); | ||
979 | break; | ||
980 | case EMULATE_FAIL: | ||
981 | /* we need to emulate this instruction */ | ||
982 | goto program_interrupt; | ||
983 | break; | ||
984 | default: | ||
985 | /* nothing to worry about - go again */ | ||
986 | break; | ||
987 | } | ||
988 | break; | ||
989 | } | ||
990 | case BOOK3S_INTERRUPT_ALIGNMENT: | ||
991 | if (kvmppc_read_inst(vcpu) == EMULATE_DONE) { | ||
992 | to_book3s(vcpu)->dsisr = kvmppc_alignment_dsisr(vcpu, | ||
993 | kvmppc_get_last_inst(vcpu)); | ||
994 | vcpu->arch.dear = kvmppc_alignment_dar(vcpu, | ||
995 | kvmppc_get_last_inst(vcpu)); | ||
996 | kvmppc_book3s_queue_irqprio(vcpu, exit_nr); | ||
997 | } | ||
998 | r = RESUME_GUEST; | ||
818 | break; | 999 | break; |
819 | case BOOK3S_INTERRUPT_MACHINE_CHECK: | 1000 | case BOOK3S_INTERRUPT_MACHINE_CHECK: |
820 | case BOOK3S_INTERRUPT_TRACE: | 1001 | case BOOK3S_INTERRUPT_TRACE: |
@@ -824,7 +1005,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
824 | default: | 1005 | default: |
825 | /* Ugh - bork here! What did we get? */ | 1006 | /* Ugh - bork here! What did we get? */ |
826 | printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | msr=0x%lx\n", | 1007 | printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | msr=0x%lx\n", |
827 | exit_nr, vcpu->arch.pc, vcpu->arch.shadow_srr1); | 1008 | exit_nr, kvmppc_get_pc(vcpu), to_svcpu(vcpu)->shadow_srr1); |
828 | r = RESUME_HOST; | 1009 | r = RESUME_HOST; |
829 | BUG(); | 1010 | BUG(); |
830 | break; | 1011 | break; |
@@ -851,7 +1032,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
851 | } | 1032 | } |
852 | 1033 | ||
853 | #ifdef EXIT_DEBUG | 1034 | #ifdef EXIT_DEBUG |
854 | printk(KERN_EMERG "KVM exit: vcpu=0x%p pc=0x%lx r=0x%x\n", vcpu, vcpu->arch.pc, r); | 1035 | printk(KERN_EMERG "KVM exit: vcpu=0x%p pc=0x%lx r=0x%x\n", vcpu, kvmppc_get_pc(vcpu), r); |
855 | #endif | 1036 | #endif |
856 | 1037 | ||
857 | return r; | 1038 | return r; |
@@ -866,10 +1047,10 @@ int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) | |||
866 | { | 1047 | { |
867 | int i; | 1048 | int i; |
868 | 1049 | ||
869 | regs->pc = vcpu->arch.pc; | 1050 | regs->pc = kvmppc_get_pc(vcpu); |
870 | regs->cr = kvmppc_get_cr(vcpu); | 1051 | regs->cr = kvmppc_get_cr(vcpu); |
871 | regs->ctr = vcpu->arch.ctr; | 1052 | regs->ctr = kvmppc_get_ctr(vcpu); |
872 | regs->lr = vcpu->arch.lr; | 1053 | regs->lr = kvmppc_get_lr(vcpu); |
873 | regs->xer = kvmppc_get_xer(vcpu); | 1054 | regs->xer = kvmppc_get_xer(vcpu); |
874 | regs->msr = vcpu->arch.msr; | 1055 | regs->msr = vcpu->arch.msr; |
875 | regs->srr0 = vcpu->arch.srr0; | 1056 | regs->srr0 = vcpu->arch.srr0; |
@@ -893,10 +1074,10 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) | |||
893 | { | 1074 | { |
894 | int i; | 1075 | int i; |
895 | 1076 | ||
896 | vcpu->arch.pc = regs->pc; | 1077 | kvmppc_set_pc(vcpu, regs->pc); |
897 | kvmppc_set_cr(vcpu, regs->cr); | 1078 | kvmppc_set_cr(vcpu, regs->cr); |
898 | vcpu->arch.ctr = regs->ctr; | 1079 | kvmppc_set_ctr(vcpu, regs->ctr); |
899 | vcpu->arch.lr = regs->lr; | 1080 | kvmppc_set_lr(vcpu, regs->lr); |
900 | kvmppc_set_xer(vcpu, regs->xer); | 1081 | kvmppc_set_xer(vcpu, regs->xer); |
901 | kvmppc_set_msr(vcpu, regs->msr); | 1082 | kvmppc_set_msr(vcpu, regs->msr); |
902 | vcpu->arch.srr0 = regs->srr0; | 1083 | vcpu->arch.srr0 = regs->srr0; |
@@ -939,6 +1120,7 @@ int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu, | |||
939 | sregs->u.s.ppc32.dbat[i] = vcpu3s->dbat[i].raw; | 1120 | sregs->u.s.ppc32.dbat[i] = vcpu3s->dbat[i].raw; |
940 | } | 1121 | } |
941 | } | 1122 | } |
1123 | |||
942 | return 0; | 1124 | return 0; |
943 | } | 1125 | } |
944 | 1126 | ||
@@ -974,6 +1156,7 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu, | |||
974 | 1156 | ||
975 | /* Flush the MMU after messing with the segments */ | 1157 | /* Flush the MMU after messing with the segments */ |
976 | kvmppc_mmu_pte_flush(vcpu, 0, 0); | 1158 | kvmppc_mmu_pte_flush(vcpu, 0, 0); |
1159 | |||
977 | return 0; | 1160 | return 0; |
978 | } | 1161 | } |
979 | 1162 | ||
@@ -1003,7 +1186,8 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, | |||
1003 | struct kvm_vcpu *vcpu; | 1186 | struct kvm_vcpu *vcpu; |
1004 | ulong ga, ga_end; | 1187 | ulong ga, ga_end; |
1005 | int is_dirty = 0; | 1188 | int is_dirty = 0; |
1006 | int r, n; | 1189 | int r; |
1190 | unsigned long n; | ||
1007 | 1191 | ||
1008 | mutex_lock(&kvm->slots_lock); | 1192 | mutex_lock(&kvm->slots_lock); |
1009 | 1193 | ||
@@ -1021,7 +1205,7 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, | |||
1021 | kvm_for_each_vcpu(n, vcpu, kvm) | 1205 | kvm_for_each_vcpu(n, vcpu, kvm) |
1022 | kvmppc_mmu_pte_pflush(vcpu, ga, ga_end); | 1206 | kvmppc_mmu_pte_pflush(vcpu, ga, ga_end); |
1023 | 1207 | ||
1024 | n = ALIGN(memslot->npages, BITS_PER_LONG) / 8; | 1208 | n = kvm_dirty_bitmap_bytes(memslot); |
1025 | memset(memslot->dirty_bitmap, 0, n); | 1209 | memset(memslot->dirty_bitmap, 0, n); |
1026 | } | 1210 | } |
1027 | 1211 | ||
@@ -1040,24 +1224,33 @@ struct kvm_vcpu *kvmppc_core_vcpu_create(struct kvm *kvm, unsigned int id) | |||
1040 | { | 1224 | { |
1041 | struct kvmppc_vcpu_book3s *vcpu_book3s; | 1225 | struct kvmppc_vcpu_book3s *vcpu_book3s; |
1042 | struct kvm_vcpu *vcpu; | 1226 | struct kvm_vcpu *vcpu; |
1043 | int err; | 1227 | int err = -ENOMEM; |
1044 | 1228 | ||
1045 | vcpu_book3s = (struct kvmppc_vcpu_book3s *)__get_free_pages( GFP_KERNEL | __GFP_ZERO, | 1229 | vcpu_book3s = vmalloc(sizeof(struct kvmppc_vcpu_book3s)); |
1046 | get_order(sizeof(struct kvmppc_vcpu_book3s))); | 1230 | if (!vcpu_book3s) |
1047 | if (!vcpu_book3s) { | ||
1048 | err = -ENOMEM; | ||
1049 | goto out; | 1231 | goto out; |
1050 | } | 1232 | |
1233 | memset(vcpu_book3s, 0, sizeof(struct kvmppc_vcpu_book3s)); | ||
1234 | |||
1235 | vcpu_book3s->shadow_vcpu = (struct kvmppc_book3s_shadow_vcpu *) | ||
1236 | kzalloc(sizeof(*vcpu_book3s->shadow_vcpu), GFP_KERNEL); | ||
1237 | if (!vcpu_book3s->shadow_vcpu) | ||
1238 | goto free_vcpu; | ||
1051 | 1239 | ||
1052 | vcpu = &vcpu_book3s->vcpu; | 1240 | vcpu = &vcpu_book3s->vcpu; |
1053 | err = kvm_vcpu_init(vcpu, kvm, id); | 1241 | err = kvm_vcpu_init(vcpu, kvm, id); |
1054 | if (err) | 1242 | if (err) |
1055 | goto free_vcpu; | 1243 | goto free_shadow_vcpu; |
1056 | 1244 | ||
1057 | vcpu->arch.host_retip = kvm_return_point; | 1245 | vcpu->arch.host_retip = kvm_return_point; |
1058 | vcpu->arch.host_msr = mfmsr(); | 1246 | vcpu->arch.host_msr = mfmsr(); |
1247 | #ifdef CONFIG_PPC_BOOK3S_64 | ||
1059 | /* default to book3s_64 (970fx) */ | 1248 | /* default to book3s_64 (970fx) */ |
1060 | vcpu->arch.pvr = 0x3C0301; | 1249 | vcpu->arch.pvr = 0x3C0301; |
1250 | #else | ||
1251 | /* default to book3s_32 (750) */ | ||
1252 | vcpu->arch.pvr = 0x84202; | ||
1253 | #endif | ||
1061 | kvmppc_set_pvr(vcpu, vcpu->arch.pvr); | 1254 | kvmppc_set_pvr(vcpu, vcpu->arch.pvr); |
1062 | vcpu_book3s->slb_nr = 64; | 1255 | vcpu_book3s->slb_nr = 64; |
1063 | 1256 | ||
@@ -1065,23 +1258,24 @@ struct kvm_vcpu *kvmppc_core_vcpu_create(struct kvm *kvm, unsigned int id) | |||
1065 | vcpu->arch.trampoline_lowmem = kvmppc_trampoline_lowmem; | 1258 | vcpu->arch.trampoline_lowmem = kvmppc_trampoline_lowmem; |
1066 | vcpu->arch.trampoline_enter = kvmppc_trampoline_enter; | 1259 | vcpu->arch.trampoline_enter = kvmppc_trampoline_enter; |
1067 | vcpu->arch.highmem_handler = (ulong)kvmppc_handler_highmem; | 1260 | vcpu->arch.highmem_handler = (ulong)kvmppc_handler_highmem; |
1261 | #ifdef CONFIG_PPC_BOOK3S_64 | ||
1068 | vcpu->arch.rmcall = *(ulong*)kvmppc_rmcall; | 1262 | vcpu->arch.rmcall = *(ulong*)kvmppc_rmcall; |
1263 | #else | ||
1264 | vcpu->arch.rmcall = (ulong)kvmppc_rmcall; | ||
1265 | #endif | ||
1069 | 1266 | ||
1070 | vcpu->arch.shadow_msr = MSR_USER64; | 1267 | vcpu->arch.shadow_msr = MSR_USER64; |
1071 | 1268 | ||
1072 | err = __init_new_context(); | 1269 | err = kvmppc_mmu_init(vcpu); |
1073 | if (err < 0) | 1270 | if (err < 0) |
1074 | goto free_vcpu; | 1271 | goto free_shadow_vcpu; |
1075 | vcpu_book3s->context_id = err; | ||
1076 | |||
1077 | vcpu_book3s->vsid_max = ((vcpu_book3s->context_id + 1) << USER_ESID_BITS) - 1; | ||
1078 | vcpu_book3s->vsid_first = vcpu_book3s->context_id << USER_ESID_BITS; | ||
1079 | vcpu_book3s->vsid_next = vcpu_book3s->vsid_first; | ||
1080 | 1272 | ||
1081 | return vcpu; | 1273 | return vcpu; |
1082 | 1274 | ||
1275 | free_shadow_vcpu: | ||
1276 | kfree(vcpu_book3s->shadow_vcpu); | ||
1083 | free_vcpu: | 1277 | free_vcpu: |
1084 | free_pages((long)vcpu_book3s, get_order(sizeof(struct kvmppc_vcpu_book3s))); | 1278 | vfree(vcpu_book3s); |
1085 | out: | 1279 | out: |
1086 | return ERR_PTR(err); | 1280 | return ERR_PTR(err); |
1087 | } | 1281 | } |
@@ -1090,18 +1284,27 @@ void kvmppc_core_vcpu_free(struct kvm_vcpu *vcpu) | |||
1090 | { | 1284 | { |
1091 | struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); | 1285 | struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); |
1092 | 1286 | ||
1093 | __destroy_context(vcpu_book3s->context_id); | ||
1094 | kvm_vcpu_uninit(vcpu); | 1287 | kvm_vcpu_uninit(vcpu); |
1095 | free_pages((long)vcpu_book3s, get_order(sizeof(struct kvmppc_vcpu_book3s))); | 1288 | kfree(vcpu_book3s->shadow_vcpu); |
1289 | vfree(vcpu_book3s); | ||
1096 | } | 1290 | } |
1097 | 1291 | ||
1098 | extern int __kvmppc_vcpu_entry(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); | 1292 | extern int __kvmppc_vcpu_entry(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); |
1099 | int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) | 1293 | int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) |
1100 | { | 1294 | { |
1101 | int ret; | 1295 | int ret; |
1102 | struct thread_struct ext_bkp; | 1296 | double fpr[32][TS_FPRWIDTH]; |
1103 | bool save_vec = current->thread.used_vr; | 1297 | unsigned int fpscr; |
1104 | bool save_vsx = current->thread.used_vsr; | 1298 | int fpexc_mode; |
1299 | #ifdef CONFIG_ALTIVEC | ||
1300 | vector128 vr[32]; | ||
1301 | vector128 vscr; | ||
1302 | unsigned long uninitialized_var(vrsave); | ||
1303 | int used_vr; | ||
1304 | #endif | ||
1305 | #ifdef CONFIG_VSX | ||
1306 | int used_vsr; | ||
1307 | #endif | ||
1105 | ulong ext_msr; | 1308 | ulong ext_msr; |
1106 | 1309 | ||
1107 | /* No need to go into the guest when all we do is going out */ | 1310 | /* No need to go into the guest when all we do is going out */ |
@@ -1113,27 +1316,27 @@ int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) | |||
1113 | /* Save FPU state in stack */ | 1316 | /* Save FPU state in stack */ |
1114 | if (current->thread.regs->msr & MSR_FP) | 1317 | if (current->thread.regs->msr & MSR_FP) |
1115 | giveup_fpu(current); | 1318 | giveup_fpu(current); |
1116 | memcpy(ext_bkp.fpr, current->thread.fpr, sizeof(current->thread.fpr)); | 1319 | memcpy(fpr, current->thread.fpr, sizeof(current->thread.fpr)); |
1117 | ext_bkp.fpscr = current->thread.fpscr; | 1320 | fpscr = current->thread.fpscr.val; |
1118 | ext_bkp.fpexc_mode = current->thread.fpexc_mode; | 1321 | fpexc_mode = current->thread.fpexc_mode; |
1119 | 1322 | ||
1120 | #ifdef CONFIG_ALTIVEC | 1323 | #ifdef CONFIG_ALTIVEC |
1121 | /* Save Altivec state in stack */ | 1324 | /* Save Altivec state in stack */ |
1122 | if (save_vec) { | 1325 | used_vr = current->thread.used_vr; |
1326 | if (used_vr) { | ||
1123 | if (current->thread.regs->msr & MSR_VEC) | 1327 | if (current->thread.regs->msr & MSR_VEC) |
1124 | giveup_altivec(current); | 1328 | giveup_altivec(current); |
1125 | memcpy(ext_bkp.vr, current->thread.vr, sizeof(ext_bkp.vr)); | 1329 | memcpy(vr, current->thread.vr, sizeof(current->thread.vr)); |
1126 | ext_bkp.vscr = current->thread.vscr; | 1330 | vscr = current->thread.vscr; |
1127 | ext_bkp.vrsave = current->thread.vrsave; | 1331 | vrsave = current->thread.vrsave; |
1128 | } | 1332 | } |
1129 | ext_bkp.used_vr = current->thread.used_vr; | ||
1130 | #endif | 1333 | #endif |
1131 | 1334 | ||
1132 | #ifdef CONFIG_VSX | 1335 | #ifdef CONFIG_VSX |
1133 | /* Save VSX state in stack */ | 1336 | /* Save VSX state in stack */ |
1134 | if (save_vsx && (current->thread.regs->msr & MSR_VSX)) | 1337 | used_vsr = current->thread.used_vsr; |
1338 | if (used_vsr && (current->thread.regs->msr & MSR_VSX)) | ||
1135 | __giveup_vsx(current); | 1339 | __giveup_vsx(current); |
1136 | ext_bkp.used_vsr = current->thread.used_vsr; | ||
1137 | #endif | 1340 | #endif |
1138 | 1341 | ||
1139 | /* Remember the MSR with disabled extensions */ | 1342 | /* Remember the MSR with disabled extensions */ |
@@ -1142,6 +1345,10 @@ int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) | |||
1142 | /* XXX we get called with irq disabled - change that! */ | 1345 | /* XXX we get called with irq disabled - change that! */ |
1143 | local_irq_enable(); | 1346 | local_irq_enable(); |
1144 | 1347 | ||
1348 | /* Preload FPU if it's enabled */ | ||
1349 | if (vcpu->arch.msr & MSR_FP) | ||
1350 | kvmppc_handle_ext(vcpu, BOOK3S_INTERRUPT_FP_UNAVAIL, MSR_FP); | ||
1351 | |||
1145 | ret = __kvmppc_vcpu_entry(kvm_run, vcpu); | 1352 | ret = __kvmppc_vcpu_entry(kvm_run, vcpu); |
1146 | 1353 | ||
1147 | local_irq_disable(); | 1354 | local_irq_disable(); |
@@ -1154,22 +1361,22 @@ int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) | |||
1154 | kvmppc_giveup_ext(vcpu, MSR_VSX); | 1361 | kvmppc_giveup_ext(vcpu, MSR_VSX); |
1155 | 1362 | ||
1156 | /* Restore FPU state from stack */ | 1363 | /* Restore FPU state from stack */ |
1157 | memcpy(current->thread.fpr, ext_bkp.fpr, sizeof(ext_bkp.fpr)); | 1364 | memcpy(current->thread.fpr, fpr, sizeof(current->thread.fpr)); |
1158 | current->thread.fpscr = ext_bkp.fpscr; | 1365 | current->thread.fpscr.val = fpscr; |
1159 | current->thread.fpexc_mode = ext_bkp.fpexc_mode; | 1366 | current->thread.fpexc_mode = fpexc_mode; |
1160 | 1367 | ||
1161 | #ifdef CONFIG_ALTIVEC | 1368 | #ifdef CONFIG_ALTIVEC |
1162 | /* Restore Altivec state from stack */ | 1369 | /* Restore Altivec state from stack */ |
1163 | if (save_vec && current->thread.used_vr) { | 1370 | if (used_vr && current->thread.used_vr) { |
1164 | memcpy(current->thread.vr, ext_bkp.vr, sizeof(ext_bkp.vr)); | 1371 | memcpy(current->thread.vr, vr, sizeof(current->thread.vr)); |
1165 | current->thread.vscr = ext_bkp.vscr; | 1372 | current->thread.vscr = vscr; |
1166 | current->thread.vrsave= ext_bkp.vrsave; | 1373 | current->thread.vrsave = vrsave; |
1167 | } | 1374 | } |
1168 | current->thread.used_vr = ext_bkp.used_vr; | 1375 | current->thread.used_vr = used_vr; |
1169 | #endif | 1376 | #endif |
1170 | 1377 | ||
1171 | #ifdef CONFIG_VSX | 1378 | #ifdef CONFIG_VSX |
1172 | current->thread.used_vsr = ext_bkp.used_vsr; | 1379 | current->thread.used_vsr = used_vsr; |
1173 | #endif | 1380 | #endif |
1174 | 1381 | ||
1175 | return ret; | 1382 | return ret; |
@@ -1177,11 +1384,22 @@ int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) | |||
1177 | 1384 | ||
1178 | static int kvmppc_book3s_init(void) | 1385 | static int kvmppc_book3s_init(void) |
1179 | { | 1386 | { |
1180 | return kvm_init(NULL, sizeof(struct kvmppc_vcpu_book3s), THIS_MODULE); | 1387 | int r; |
1388 | |||
1389 | r = kvm_init(NULL, sizeof(struct kvmppc_vcpu_book3s), 0, | ||
1390 | THIS_MODULE); | ||
1391 | |||
1392 | if (r) | ||
1393 | return r; | ||
1394 | |||
1395 | r = kvmppc_mmu_hpte_sysinit(); | ||
1396 | |||
1397 | return r; | ||
1181 | } | 1398 | } |
1182 | 1399 | ||
1183 | static void kvmppc_book3s_exit(void) | 1400 | static void kvmppc_book3s_exit(void) |
1184 | { | 1401 | { |
1402 | kvmppc_mmu_hpte_sysexit(); | ||
1185 | kvm_exit(); | 1403 | kvm_exit(); |
1186 | } | 1404 | } |
1187 | 1405 | ||
diff --git a/arch/powerpc/kvm/book3s_32_mmu.c b/arch/powerpc/kvm/book3s_32_mmu.c index faf99f20d993..3292d76101d2 100644 --- a/arch/powerpc/kvm/book3s_32_mmu.c +++ b/arch/powerpc/kvm/book3s_32_mmu.c | |||
@@ -37,7 +37,7 @@ | |||
37 | #define dprintk(X...) do { } while(0) | 37 | #define dprintk(X...) do { } while(0) |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | #ifdef DEBUG_PTE | 40 | #ifdef DEBUG_MMU_PTE |
41 | #define dprintk_pte(X...) printk(KERN_INFO X) | 41 | #define dprintk_pte(X...) printk(KERN_INFO X) |
42 | #else | 42 | #else |
43 | #define dprintk_pte(X...) do { } while(0) | 43 | #define dprintk_pte(X...) do { } while(0) |
@@ -45,6 +45,9 @@ | |||
45 | 45 | ||
46 | #define PTEG_FLAG_ACCESSED 0x00000100 | 46 | #define PTEG_FLAG_ACCESSED 0x00000100 |
47 | #define PTEG_FLAG_DIRTY 0x00000080 | 47 | #define PTEG_FLAG_DIRTY 0x00000080 |
48 | #ifndef SID_SHIFT | ||
49 | #define SID_SHIFT 28 | ||
50 | #endif | ||
48 | 51 | ||
49 | static inline bool check_debug_ip(struct kvm_vcpu *vcpu) | 52 | static inline bool check_debug_ip(struct kvm_vcpu *vcpu) |
50 | { | 53 | { |
@@ -57,6 +60,8 @@ static inline bool check_debug_ip(struct kvm_vcpu *vcpu) | |||
57 | 60 | ||
58 | static int kvmppc_mmu_book3s_32_xlate_bat(struct kvm_vcpu *vcpu, gva_t eaddr, | 61 | static int kvmppc_mmu_book3s_32_xlate_bat(struct kvm_vcpu *vcpu, gva_t eaddr, |
59 | struct kvmppc_pte *pte, bool data); | 62 | struct kvmppc_pte *pte, bool data); |
63 | static int kvmppc_mmu_book3s_32_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid, | ||
64 | u64 *vsid); | ||
60 | 65 | ||
61 | static struct kvmppc_sr *find_sr(struct kvmppc_vcpu_book3s *vcpu_book3s, gva_t eaddr) | 66 | static struct kvmppc_sr *find_sr(struct kvmppc_vcpu_book3s *vcpu_book3s, gva_t eaddr) |
62 | { | 67 | { |
@@ -66,13 +71,14 @@ static struct kvmppc_sr *find_sr(struct kvmppc_vcpu_book3s *vcpu_book3s, gva_t e | |||
66 | static u64 kvmppc_mmu_book3s_32_ea_to_vp(struct kvm_vcpu *vcpu, gva_t eaddr, | 71 | static u64 kvmppc_mmu_book3s_32_ea_to_vp(struct kvm_vcpu *vcpu, gva_t eaddr, |
67 | bool data) | 72 | bool data) |
68 | { | 73 | { |
69 | struct kvmppc_sr *sre = find_sr(to_book3s(vcpu), eaddr); | 74 | u64 vsid; |
70 | struct kvmppc_pte pte; | 75 | struct kvmppc_pte pte; |
71 | 76 | ||
72 | if (!kvmppc_mmu_book3s_32_xlate_bat(vcpu, eaddr, &pte, data)) | 77 | if (!kvmppc_mmu_book3s_32_xlate_bat(vcpu, eaddr, &pte, data)) |
73 | return pte.vpage; | 78 | return pte.vpage; |
74 | 79 | ||
75 | return (((u64)eaddr >> 12) & 0xffff) | (((u64)sre->vsid) << 16); | 80 | kvmppc_mmu_book3s_32_esid_to_vsid(vcpu, eaddr >> SID_SHIFT, &vsid); |
81 | return (((u64)eaddr >> 12) & 0xffff) | (vsid << 16); | ||
76 | } | 82 | } |
77 | 83 | ||
78 | static void kvmppc_mmu_book3s_32_reset_msr(struct kvm_vcpu *vcpu) | 84 | static void kvmppc_mmu_book3s_32_reset_msr(struct kvm_vcpu *vcpu) |
@@ -142,8 +148,13 @@ static int kvmppc_mmu_book3s_32_xlate_bat(struct kvm_vcpu *vcpu, gva_t eaddr, | |||
142 | bat->bepi_mask); | 148 | bat->bepi_mask); |
143 | } | 149 | } |
144 | if ((eaddr & bat->bepi_mask) == bat->bepi) { | 150 | if ((eaddr & bat->bepi_mask) == bat->bepi) { |
151 | u64 vsid; | ||
152 | kvmppc_mmu_book3s_32_esid_to_vsid(vcpu, | ||
153 | eaddr >> SID_SHIFT, &vsid); | ||
154 | vsid <<= 16; | ||
155 | pte->vpage = (((u64)eaddr >> 12) & 0xffff) | vsid; | ||
156 | |||
145 | pte->raddr = bat->brpn | (eaddr & ~bat->bepi_mask); | 157 | pte->raddr = bat->brpn | (eaddr & ~bat->bepi_mask); |
146 | pte->vpage = (eaddr >> 12) | VSID_BAT; | ||
147 | pte->may_read = bat->pp; | 158 | pte->may_read = bat->pp; |
148 | pte->may_write = bat->pp > 1; | 159 | pte->may_write = bat->pp > 1; |
149 | pte->may_execute = true; | 160 | pte->may_execute = true; |
@@ -172,7 +183,7 @@ static int kvmppc_mmu_book3s_32_xlate_pte(struct kvm_vcpu *vcpu, gva_t eaddr, | |||
172 | struct kvmppc_sr *sre; | 183 | struct kvmppc_sr *sre; |
173 | hva_t ptegp; | 184 | hva_t ptegp; |
174 | u32 pteg[16]; | 185 | u32 pteg[16]; |
175 | u64 ptem = 0; | 186 | u32 ptem = 0; |
176 | int i; | 187 | int i; |
177 | int found = 0; | 188 | int found = 0; |
178 | 189 | ||
@@ -302,6 +313,7 @@ static void kvmppc_mmu_book3s_32_mtsrin(struct kvm_vcpu *vcpu, u32 srnum, | |||
302 | /* And then put in the new SR */ | 313 | /* And then put in the new SR */ |
303 | sre->raw = value; | 314 | sre->raw = value; |
304 | sre->vsid = (value & 0x0fffffff); | 315 | sre->vsid = (value & 0x0fffffff); |
316 | sre->valid = (value & 0x80000000) ? false : true; | ||
305 | sre->Ks = (value & 0x40000000) ? true : false; | 317 | sre->Ks = (value & 0x40000000) ? true : false; |
306 | sre->Kp = (value & 0x20000000) ? true : false; | 318 | sre->Kp = (value & 0x20000000) ? true : false; |
307 | sre->nx = (value & 0x10000000) ? true : false; | 319 | sre->nx = (value & 0x10000000) ? true : false; |
@@ -312,36 +324,48 @@ static void kvmppc_mmu_book3s_32_mtsrin(struct kvm_vcpu *vcpu, u32 srnum, | |||
312 | 324 | ||
313 | static void kvmppc_mmu_book3s_32_tlbie(struct kvm_vcpu *vcpu, ulong ea, bool large) | 325 | static void kvmppc_mmu_book3s_32_tlbie(struct kvm_vcpu *vcpu, ulong ea, bool large) |
314 | { | 326 | { |
315 | kvmppc_mmu_pte_flush(vcpu, ea, ~0xFFFULL); | 327 | kvmppc_mmu_pte_flush(vcpu, ea, 0x0FFFF000); |
316 | } | 328 | } |
317 | 329 | ||
318 | static int kvmppc_mmu_book3s_32_esid_to_vsid(struct kvm_vcpu *vcpu, u64 esid, | 330 | static int kvmppc_mmu_book3s_32_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid, |
319 | u64 *vsid) | 331 | u64 *vsid) |
320 | { | 332 | { |
333 | ulong ea = esid << SID_SHIFT; | ||
334 | struct kvmppc_sr *sr; | ||
335 | u64 gvsid = esid; | ||
336 | |||
337 | if (vcpu->arch.msr & (MSR_DR|MSR_IR)) { | ||
338 | sr = find_sr(to_book3s(vcpu), ea); | ||
339 | if (sr->valid) | ||
340 | gvsid = sr->vsid; | ||
341 | } | ||
342 | |||
321 | /* In case we only have one of MSR_IR or MSR_DR set, let's put | 343 | /* In case we only have one of MSR_IR or MSR_DR set, let's put |
322 | that in the real-mode context (and hope RM doesn't access | 344 | that in the real-mode context (and hope RM doesn't access |
323 | high memory) */ | 345 | high memory) */ |
324 | switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { | 346 | switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { |
325 | case 0: | 347 | case 0: |
326 | *vsid = (VSID_REAL >> 16) | esid; | 348 | *vsid = VSID_REAL | esid; |
327 | break; | 349 | break; |
328 | case MSR_IR: | 350 | case MSR_IR: |
329 | *vsid = (VSID_REAL_IR >> 16) | esid; | 351 | *vsid = VSID_REAL_IR | gvsid; |
330 | break; | 352 | break; |
331 | case MSR_DR: | 353 | case MSR_DR: |
332 | *vsid = (VSID_REAL_DR >> 16) | esid; | 354 | *vsid = VSID_REAL_DR | gvsid; |
333 | break; | 355 | break; |
334 | case MSR_DR|MSR_IR: | 356 | case MSR_DR|MSR_IR: |
335 | { | 357 | if (sr->valid) |
336 | ulong ea; | 358 | *vsid = sr->vsid; |
337 | ea = esid << SID_SHIFT; | 359 | else |
338 | *vsid = find_sr(to_book3s(vcpu), ea)->vsid; | 360 | *vsid = VSID_BAT | gvsid; |
339 | break; | 361 | break; |
340 | } | ||
341 | default: | 362 | default: |
342 | BUG(); | 363 | BUG(); |
343 | } | 364 | } |
344 | 365 | ||
366 | if (vcpu->arch.msr & MSR_PR) | ||
367 | *vsid |= VSID_PR; | ||
368 | |||
345 | return 0; | 369 | return 0; |
346 | } | 370 | } |
347 | 371 | ||
diff --git a/arch/powerpc/kvm/book3s_32_mmu_host.c b/arch/powerpc/kvm/book3s_32_mmu_host.c new file mode 100644 index 000000000000..0b51ef872c1e --- /dev/null +++ b/arch/powerpc/kvm/book3s_32_mmu_host.c | |||
@@ -0,0 +1,373 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 SUSE Linux Products GmbH. All rights reserved. | ||
3 | * | ||
4 | * Authors: | ||
5 | * Alexander Graf <agraf@suse.de> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License, version 2, as | ||
9 | * published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
19 | */ | ||
20 | |||
21 | #include <linux/kvm_host.h> | ||
22 | #include <linux/hash.h> | ||
23 | |||
24 | #include <asm/kvm_ppc.h> | ||
25 | #include <asm/kvm_book3s.h> | ||
26 | #include <asm/mmu-hash32.h> | ||
27 | #include <asm/machdep.h> | ||
28 | #include <asm/mmu_context.h> | ||
29 | #include <asm/hw_irq.h> | ||
30 | |||
31 | /* #define DEBUG_MMU */ | ||
32 | /* #define DEBUG_SR */ | ||
33 | |||
34 | #ifdef DEBUG_MMU | ||
35 | #define dprintk_mmu(a, ...) printk(KERN_INFO a, __VA_ARGS__) | ||
36 | #else | ||
37 | #define dprintk_mmu(a, ...) do { } while(0) | ||
38 | #endif | ||
39 | |||
40 | #ifdef DEBUG_SR | ||
41 | #define dprintk_sr(a, ...) printk(KERN_INFO a, __VA_ARGS__) | ||
42 | #else | ||
43 | #define dprintk_sr(a, ...) do { } while(0) | ||
44 | #endif | ||
45 | |||
46 | #if PAGE_SHIFT != 12 | ||
47 | #error Unknown page size | ||
48 | #endif | ||
49 | |||
50 | #ifdef CONFIG_SMP | ||
51 | #error XXX need to grab mmu_hash_lock | ||
52 | #endif | ||
53 | |||
54 | #ifdef CONFIG_PTE_64BIT | ||
55 | #error Only 32 bit pages are supported for now | ||
56 | #endif | ||
57 | |||
58 | static ulong htab; | ||
59 | static u32 htabmask; | ||
60 | |||
61 | void kvmppc_mmu_invalidate_pte(struct kvm_vcpu *vcpu, struct hpte_cache *pte) | ||
62 | { | ||
63 | volatile u32 *pteg; | ||
64 | |||
65 | /* Remove from host HTAB */ | ||
66 | pteg = (u32*)pte->slot; | ||
67 | pteg[0] = 0; | ||
68 | |||
69 | /* And make sure it's gone from the TLB too */ | ||
70 | asm volatile ("sync"); | ||
71 | asm volatile ("tlbie %0" : : "r" (pte->pte.eaddr) : "memory"); | ||
72 | asm volatile ("sync"); | ||
73 | asm volatile ("tlbsync"); | ||
74 | } | ||
75 | |||
76 | /* We keep 512 gvsid->hvsid entries, mapping the guest ones to the array using | ||
77 | * a hash, so we don't waste cycles on looping */ | ||
78 | static u16 kvmppc_sid_hash(struct kvm_vcpu *vcpu, u64 gvsid) | ||
79 | { | ||
80 | return hash_64(gvsid, SID_MAP_BITS); | ||
81 | } | ||
82 | |||
83 | |||
84 | static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid) | ||
85 | { | ||
86 | struct kvmppc_sid_map *map; | ||
87 | u16 sid_map_mask; | ||
88 | |||
89 | if (vcpu->arch.msr & MSR_PR) | ||
90 | gvsid |= VSID_PR; | ||
91 | |||
92 | sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); | ||
93 | map = &to_book3s(vcpu)->sid_map[sid_map_mask]; | ||
94 | if (map->guest_vsid == gvsid) { | ||
95 | dprintk_sr("SR: Searching 0x%llx -> 0x%llx\n", | ||
96 | gvsid, map->host_vsid); | ||
97 | return map; | ||
98 | } | ||
99 | |||
100 | map = &to_book3s(vcpu)->sid_map[SID_MAP_MASK - sid_map_mask]; | ||
101 | if (map->guest_vsid == gvsid) { | ||
102 | dprintk_sr("SR: Searching 0x%llx -> 0x%llx\n", | ||
103 | gvsid, map->host_vsid); | ||
104 | return map; | ||
105 | } | ||
106 | |||
107 | dprintk_sr("SR: Searching 0x%llx -> not found\n", gvsid); | ||
108 | return NULL; | ||
109 | } | ||
110 | |||
111 | static u32 *kvmppc_mmu_get_pteg(struct kvm_vcpu *vcpu, u32 vsid, u32 eaddr, | ||
112 | bool primary) | ||
113 | { | ||
114 | u32 page, hash; | ||
115 | ulong pteg = htab; | ||
116 | |||
117 | page = (eaddr & ~ESID_MASK) >> 12; | ||
118 | |||
119 | hash = ((vsid ^ page) << 6); | ||
120 | if (!primary) | ||
121 | hash = ~hash; | ||
122 | |||
123 | hash &= htabmask; | ||
124 | |||
125 | pteg |= hash; | ||
126 | |||
127 | dprintk_mmu("htab: %lx | hash: %x | htabmask: %x | pteg: %lx\n", | ||
128 | htab, hash, htabmask, pteg); | ||
129 | |||
130 | return (u32*)pteg; | ||
131 | } | ||
132 | |||
133 | extern char etext[]; | ||
134 | |||
135 | int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *orig_pte) | ||
136 | { | ||
137 | pfn_t hpaddr; | ||
138 | u64 va; | ||
139 | u64 vsid; | ||
140 | struct kvmppc_sid_map *map; | ||
141 | volatile u32 *pteg; | ||
142 | u32 eaddr = orig_pte->eaddr; | ||
143 | u32 pteg0, pteg1; | ||
144 | register int rr = 0; | ||
145 | bool primary = false; | ||
146 | bool evict = false; | ||
147 | struct hpte_cache *pte; | ||
148 | |||
149 | /* Get host physical address for gpa */ | ||
150 | hpaddr = gfn_to_pfn(vcpu->kvm, orig_pte->raddr >> PAGE_SHIFT); | ||
151 | if (kvm_is_error_hva(hpaddr)) { | ||
152 | printk(KERN_INFO "Couldn't get guest page for gfn %lx!\n", | ||
153 | orig_pte->eaddr); | ||
154 | return -EINVAL; | ||
155 | } | ||
156 | hpaddr <<= PAGE_SHIFT; | ||
157 | |||
158 | /* and write the mapping ea -> hpa into the pt */ | ||
159 | vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid); | ||
160 | map = find_sid_vsid(vcpu, vsid); | ||
161 | if (!map) { | ||
162 | kvmppc_mmu_map_segment(vcpu, eaddr); | ||
163 | map = find_sid_vsid(vcpu, vsid); | ||
164 | } | ||
165 | BUG_ON(!map); | ||
166 | |||
167 | vsid = map->host_vsid; | ||
168 | va = (vsid << SID_SHIFT) | (eaddr & ~ESID_MASK); | ||
169 | |||
170 | next_pteg: | ||
171 | if (rr == 16) { | ||
172 | primary = !primary; | ||
173 | evict = true; | ||
174 | rr = 0; | ||
175 | } | ||
176 | |||
177 | pteg = kvmppc_mmu_get_pteg(vcpu, vsid, eaddr, primary); | ||
178 | |||
179 | /* not evicting yet */ | ||
180 | if (!evict && (pteg[rr] & PTE_V)) { | ||
181 | rr += 2; | ||
182 | goto next_pteg; | ||
183 | } | ||
184 | |||
185 | dprintk_mmu("KVM: old PTEG: %p (%d)\n", pteg, rr); | ||
186 | dprintk_mmu("KVM: %08x - %08x\n", pteg[0], pteg[1]); | ||
187 | dprintk_mmu("KVM: %08x - %08x\n", pteg[2], pteg[3]); | ||
188 | dprintk_mmu("KVM: %08x - %08x\n", pteg[4], pteg[5]); | ||
189 | dprintk_mmu("KVM: %08x - %08x\n", pteg[6], pteg[7]); | ||
190 | dprintk_mmu("KVM: %08x - %08x\n", pteg[8], pteg[9]); | ||
191 | dprintk_mmu("KVM: %08x - %08x\n", pteg[10], pteg[11]); | ||
192 | dprintk_mmu("KVM: %08x - %08x\n", pteg[12], pteg[13]); | ||
193 | dprintk_mmu("KVM: %08x - %08x\n", pteg[14], pteg[15]); | ||
194 | |||
195 | pteg0 = ((eaddr & 0x0fffffff) >> 22) | (vsid << 7) | PTE_V | | ||
196 | (primary ? 0 : PTE_SEC); | ||
197 | pteg1 = hpaddr | PTE_M | PTE_R | PTE_C; | ||
198 | |||
199 | if (orig_pte->may_write) { | ||
200 | pteg1 |= PP_RWRW; | ||
201 | mark_page_dirty(vcpu->kvm, orig_pte->raddr >> PAGE_SHIFT); | ||
202 | } else { | ||
203 | pteg1 |= PP_RWRX; | ||
204 | } | ||
205 | |||
206 | local_irq_disable(); | ||
207 | |||
208 | if (pteg[rr]) { | ||
209 | pteg[rr] = 0; | ||
210 | asm volatile ("sync"); | ||
211 | } | ||
212 | pteg[rr + 1] = pteg1; | ||
213 | pteg[rr] = pteg0; | ||
214 | asm volatile ("sync"); | ||
215 | |||
216 | local_irq_enable(); | ||
217 | |||
218 | dprintk_mmu("KVM: new PTEG: %p\n", pteg); | ||
219 | dprintk_mmu("KVM: %08x - %08x\n", pteg[0], pteg[1]); | ||
220 | dprintk_mmu("KVM: %08x - %08x\n", pteg[2], pteg[3]); | ||
221 | dprintk_mmu("KVM: %08x - %08x\n", pteg[4], pteg[5]); | ||
222 | dprintk_mmu("KVM: %08x - %08x\n", pteg[6], pteg[7]); | ||
223 | dprintk_mmu("KVM: %08x - %08x\n", pteg[8], pteg[9]); | ||
224 | dprintk_mmu("KVM: %08x - %08x\n", pteg[10], pteg[11]); | ||
225 | dprintk_mmu("KVM: %08x - %08x\n", pteg[12], pteg[13]); | ||
226 | dprintk_mmu("KVM: %08x - %08x\n", pteg[14], pteg[15]); | ||
227 | |||
228 | |||
229 | /* Now tell our Shadow PTE code about the new page */ | ||
230 | |||
231 | pte = kvmppc_mmu_hpte_cache_next(vcpu); | ||
232 | |||
233 | dprintk_mmu("KVM: %c%c Map 0x%llx: [%lx] 0x%llx (0x%llx) -> %lx\n", | ||
234 | orig_pte->may_write ? 'w' : '-', | ||
235 | orig_pte->may_execute ? 'x' : '-', | ||
236 | orig_pte->eaddr, (ulong)pteg, va, | ||
237 | orig_pte->vpage, hpaddr); | ||
238 | |||
239 | pte->slot = (ulong)&pteg[rr]; | ||
240 | pte->host_va = va; | ||
241 | pte->pte = *orig_pte; | ||
242 | pte->pfn = hpaddr >> PAGE_SHIFT; | ||
243 | |||
244 | kvmppc_mmu_hpte_cache_map(vcpu, pte); | ||
245 | |||
246 | return 0; | ||
247 | } | ||
248 | |||
249 | static struct kvmppc_sid_map *create_sid_map(struct kvm_vcpu *vcpu, u64 gvsid) | ||
250 | { | ||
251 | struct kvmppc_sid_map *map; | ||
252 | struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); | ||
253 | u16 sid_map_mask; | ||
254 | static int backwards_map = 0; | ||
255 | |||
256 | if (vcpu->arch.msr & MSR_PR) | ||
257 | gvsid |= VSID_PR; | ||
258 | |||
259 | /* We might get collisions that trap in preceding order, so let's | ||
260 | map them differently */ | ||
261 | |||
262 | sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); | ||
263 | if (backwards_map) | ||
264 | sid_map_mask = SID_MAP_MASK - sid_map_mask; | ||
265 | |||
266 | map = &to_book3s(vcpu)->sid_map[sid_map_mask]; | ||
267 | |||
268 | /* Make sure we're taking the other map next time */ | ||
269 | backwards_map = !backwards_map; | ||
270 | |||
271 | /* Uh-oh ... out of mappings. Let's flush! */ | ||
272 | if (vcpu_book3s->vsid_next >= vcpu_book3s->vsid_max) { | ||
273 | vcpu_book3s->vsid_next = vcpu_book3s->vsid_first; | ||
274 | memset(vcpu_book3s->sid_map, 0, | ||
275 | sizeof(struct kvmppc_sid_map) * SID_MAP_NUM); | ||
276 | kvmppc_mmu_pte_flush(vcpu, 0, 0); | ||
277 | kvmppc_mmu_flush_segments(vcpu); | ||
278 | } | ||
279 | map->host_vsid = vcpu_book3s->vsid_next; | ||
280 | |||
281 | /* Would have to be 111 to be completely aligned with the rest of | ||
282 | Linux, but that is just way too little space! */ | ||
283 | vcpu_book3s->vsid_next+=1; | ||
284 | |||
285 | map->guest_vsid = gvsid; | ||
286 | map->valid = true; | ||
287 | |||
288 | return map; | ||
289 | } | ||
290 | |||
291 | int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr) | ||
292 | { | ||
293 | u32 esid = eaddr >> SID_SHIFT; | ||
294 | u64 gvsid; | ||
295 | u32 sr; | ||
296 | struct kvmppc_sid_map *map; | ||
297 | struct kvmppc_book3s_shadow_vcpu *svcpu = to_svcpu(vcpu); | ||
298 | |||
299 | if (vcpu->arch.mmu.esid_to_vsid(vcpu, esid, &gvsid)) { | ||
300 | /* Invalidate an entry */ | ||
301 | svcpu->sr[esid] = SR_INVALID; | ||
302 | return -ENOENT; | ||
303 | } | ||
304 | |||
305 | map = find_sid_vsid(vcpu, gvsid); | ||
306 | if (!map) | ||
307 | map = create_sid_map(vcpu, gvsid); | ||
308 | |||
309 | map->guest_esid = esid; | ||
310 | sr = map->host_vsid | SR_KP; | ||
311 | svcpu->sr[esid] = sr; | ||
312 | |||
313 | dprintk_sr("MMU: mtsr %d, 0x%x\n", esid, sr); | ||
314 | |||
315 | return 0; | ||
316 | } | ||
317 | |||
318 | void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu) | ||
319 | { | ||
320 | int i; | ||
321 | struct kvmppc_book3s_shadow_vcpu *svcpu = to_svcpu(vcpu); | ||
322 | |||
323 | dprintk_sr("MMU: flushing all segments (%d)\n", ARRAY_SIZE(svcpu->sr)); | ||
324 | for (i = 0; i < ARRAY_SIZE(svcpu->sr); i++) | ||
325 | svcpu->sr[i] = SR_INVALID; | ||
326 | } | ||
327 | |||
328 | void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu) | ||
329 | { | ||
330 | kvmppc_mmu_hpte_destroy(vcpu); | ||
331 | preempt_disable(); | ||
332 | __destroy_context(to_book3s(vcpu)->context_id); | ||
333 | preempt_enable(); | ||
334 | } | ||
335 | |||
336 | /* From mm/mmu_context_hash32.c */ | ||
337 | #define CTX_TO_VSID(ctx) (((ctx) * (897 * 16)) & 0xffffff) | ||
338 | |||
339 | int kvmppc_mmu_init(struct kvm_vcpu *vcpu) | ||
340 | { | ||
341 | struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu); | ||
342 | int err; | ||
343 | ulong sdr1; | ||
344 | |||
345 | err = __init_new_context(); | ||
346 | if (err < 0) | ||
347 | return -1; | ||
348 | vcpu3s->context_id = err; | ||
349 | |||
350 | vcpu3s->vsid_max = CTX_TO_VSID(vcpu3s->context_id + 1) - 1; | ||
351 | vcpu3s->vsid_first = CTX_TO_VSID(vcpu3s->context_id); | ||
352 | |||
353 | #if 0 /* XXX still doesn't guarantee uniqueness */ | ||
354 | /* We could collide with the Linux vsid space because the vsid | ||
355 | * wraps around at 24 bits. We're safe if we do our own space | ||
356 | * though, so let's always set the highest bit. */ | ||
357 | |||
358 | vcpu3s->vsid_max |= 0x00800000; | ||
359 | vcpu3s->vsid_first |= 0x00800000; | ||
360 | #endif | ||
361 | BUG_ON(vcpu3s->vsid_max < vcpu3s->vsid_first); | ||
362 | |||
363 | vcpu3s->vsid_next = vcpu3s->vsid_first; | ||
364 | |||
365 | /* Remember where the HTAB is */ | ||
366 | asm ( "mfsdr1 %0" : "=r"(sdr1) ); | ||
367 | htabmask = ((sdr1 & 0x1FF) << 16) | 0xFFC0; | ||
368 | htab = (ulong)__va(sdr1 & 0xffff0000); | ||
369 | |||
370 | kvmppc_mmu_hpte_init(vcpu); | ||
371 | |||
372 | return 0; | ||
373 | } | ||
diff --git a/arch/powerpc/kvm/book3s_32_sr.S b/arch/powerpc/kvm/book3s_32_sr.S new file mode 100644 index 000000000000..3608471ad2d8 --- /dev/null +++ b/arch/powerpc/kvm/book3s_32_sr.S | |||
@@ -0,0 +1,143 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License, version 2, as | ||
4 | * published by the Free Software Foundation. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program; if not, write to the Free Software | ||
13 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
14 | * | ||
15 | * Copyright SUSE Linux Products GmbH 2009 | ||
16 | * | ||
17 | * Authors: Alexander Graf <agraf@suse.de> | ||
18 | */ | ||
19 | |||
20 | /****************************************************************************** | ||
21 | * * | ||
22 | * Entry code * | ||
23 | * * | ||
24 | *****************************************************************************/ | ||
25 | |||
26 | .macro LOAD_GUEST_SEGMENTS | ||
27 | |||
28 | /* Required state: | ||
29 | * | ||
30 | * MSR = ~IR|DR | ||
31 | * R1 = host R1 | ||
32 | * R2 = host R2 | ||
33 | * R3 = shadow vcpu | ||
34 | * all other volatile GPRS = free | ||
35 | * SVCPU[CR] = guest CR | ||
36 | * SVCPU[XER] = guest XER | ||
37 | * SVCPU[CTR] = guest CTR | ||
38 | * SVCPU[LR] = guest LR | ||
39 | */ | ||
40 | |||
41 | #define XCHG_SR(n) lwz r9, (SVCPU_SR+(n*4))(r3); \ | ||
42 | mtsr n, r9 | ||
43 | |||
44 | XCHG_SR(0) | ||
45 | XCHG_SR(1) | ||
46 | XCHG_SR(2) | ||
47 | XCHG_SR(3) | ||
48 | XCHG_SR(4) | ||
49 | XCHG_SR(5) | ||
50 | XCHG_SR(6) | ||
51 | XCHG_SR(7) | ||
52 | XCHG_SR(8) | ||
53 | XCHG_SR(9) | ||
54 | XCHG_SR(10) | ||
55 | XCHG_SR(11) | ||
56 | XCHG_SR(12) | ||
57 | XCHG_SR(13) | ||
58 | XCHG_SR(14) | ||
59 | XCHG_SR(15) | ||
60 | |||
61 | /* Clear BATs. */ | ||
62 | |||
63 | #define KVM_KILL_BAT(n, reg) \ | ||
64 | mtspr SPRN_IBAT##n##U,reg; \ | ||
65 | mtspr SPRN_IBAT##n##L,reg; \ | ||
66 | mtspr SPRN_DBAT##n##U,reg; \ | ||
67 | mtspr SPRN_DBAT##n##L,reg; \ | ||
68 | |||
69 | li r9, 0 | ||
70 | KVM_KILL_BAT(0, r9) | ||
71 | KVM_KILL_BAT(1, r9) | ||
72 | KVM_KILL_BAT(2, r9) | ||
73 | KVM_KILL_BAT(3, r9) | ||
74 | |||
75 | .endm | ||
76 | |||
77 | /****************************************************************************** | ||
78 | * * | ||
79 | * Exit code * | ||
80 | * * | ||
81 | *****************************************************************************/ | ||
82 | |||
83 | .macro LOAD_HOST_SEGMENTS | ||
84 | |||
85 | /* Register usage at this point: | ||
86 | * | ||
87 | * R1 = host R1 | ||
88 | * R2 = host R2 | ||
89 | * R12 = exit handler id | ||
90 | * R13 = shadow vcpu - SHADOW_VCPU_OFF | ||
91 | * SVCPU.* = guest * | ||
92 | * SVCPU[CR] = guest CR | ||
93 | * SVCPU[XER] = guest XER | ||
94 | * SVCPU[CTR] = guest CTR | ||
95 | * SVCPU[LR] = guest LR | ||
96 | * | ||
97 | */ | ||
98 | |||
99 | /* Restore BATs */ | ||
100 | |||
101 | /* We only overwrite the upper part, so we only restoree | ||
102 | the upper part. */ | ||
103 | #define KVM_LOAD_BAT(n, reg, RA, RB) \ | ||
104 | lwz RA,(n*16)+0(reg); \ | ||
105 | lwz RB,(n*16)+4(reg); \ | ||
106 | mtspr SPRN_IBAT##n##U,RA; \ | ||
107 | mtspr SPRN_IBAT##n##L,RB; \ | ||
108 | lwz RA,(n*16)+8(reg); \ | ||
109 | lwz RB,(n*16)+12(reg); \ | ||
110 | mtspr SPRN_DBAT##n##U,RA; \ | ||
111 | mtspr SPRN_DBAT##n##L,RB; \ | ||
112 | |||
113 | lis r9, BATS@ha | ||
114 | addi r9, r9, BATS@l | ||
115 | tophys(r9, r9) | ||
116 | KVM_LOAD_BAT(0, r9, r10, r11) | ||
117 | KVM_LOAD_BAT(1, r9, r10, r11) | ||
118 | KVM_LOAD_BAT(2, r9, r10, r11) | ||
119 | KVM_LOAD_BAT(3, r9, r10, r11) | ||
120 | |||
121 | /* Restore Segment Registers */ | ||
122 | |||
123 | /* 0xc - 0xf */ | ||
124 | |||
125 | li r0, 4 | ||
126 | mtctr r0 | ||
127 | LOAD_REG_IMMEDIATE(r3, 0x20000000 | (0x111 * 0xc)) | ||
128 | lis r4, 0xc000 | ||
129 | 3: mtsrin r3, r4 | ||
130 | addi r3, r3, 0x111 /* increment VSID */ | ||
131 | addis r4, r4, 0x1000 /* address of next segment */ | ||
132 | bdnz 3b | ||
133 | |||
134 | /* 0x0 - 0xb */ | ||
135 | |||
136 | /* 'current->mm' needs to be in r4 */ | ||
137 | tophys(r4, r2) | ||
138 | lwz r4, MM(r4) | ||
139 | tophys(r4, r4) | ||
140 | /* This only clobbers r0, r3, r4 and r5 */ | ||
141 | bl switch_mmu_context | ||
142 | |||
143 | .endm | ||
diff --git a/arch/powerpc/kvm/book3s_64_mmu.c b/arch/powerpc/kvm/book3s_64_mmu.c index 512dcff77554..4025ea26b3c1 100644 --- a/arch/powerpc/kvm/book3s_64_mmu.c +++ b/arch/powerpc/kvm/book3s_64_mmu.c | |||
@@ -232,7 +232,7 @@ do_second: | |||
232 | } | 232 | } |
233 | 233 | ||
234 | dprintk("KVM MMU: Translated 0x%lx [0x%llx] -> 0x%llx " | 234 | dprintk("KVM MMU: Translated 0x%lx [0x%llx] -> 0x%llx " |
235 | "-> 0x%llx\n", | 235 | "-> 0x%lx\n", |
236 | eaddr, avpn, gpte->vpage, gpte->raddr); | 236 | eaddr, avpn, gpte->vpage, gpte->raddr); |
237 | found = true; | 237 | found = true; |
238 | break; | 238 | break; |
@@ -383,7 +383,7 @@ static void kvmppc_mmu_book3s_64_slbia(struct kvm_vcpu *vcpu) | |||
383 | 383 | ||
384 | if (vcpu->arch.msr & MSR_IR) { | 384 | if (vcpu->arch.msr & MSR_IR) { |
385 | kvmppc_mmu_flush_segments(vcpu); | 385 | kvmppc_mmu_flush_segments(vcpu); |
386 | kvmppc_mmu_map_segment(vcpu, vcpu->arch.pc); | 386 | kvmppc_mmu_map_segment(vcpu, kvmppc_get_pc(vcpu)); |
387 | } | 387 | } |
388 | } | 388 | } |
389 | 389 | ||
@@ -439,37 +439,43 @@ static void kvmppc_mmu_book3s_64_tlbie(struct kvm_vcpu *vcpu, ulong va, | |||
439 | kvmppc_mmu_pte_vflush(vcpu, va >> 12, mask); | 439 | kvmppc_mmu_pte_vflush(vcpu, va >> 12, mask); |
440 | } | 440 | } |
441 | 441 | ||
442 | static int kvmppc_mmu_book3s_64_esid_to_vsid(struct kvm_vcpu *vcpu, u64 esid, | 442 | static int kvmppc_mmu_book3s_64_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid, |
443 | u64 *vsid) | 443 | u64 *vsid) |
444 | { | 444 | { |
445 | ulong ea = esid << SID_SHIFT; | ||
446 | struct kvmppc_slb *slb; | ||
447 | u64 gvsid = esid; | ||
448 | |||
449 | if (vcpu->arch.msr & (MSR_DR|MSR_IR)) { | ||
450 | slb = kvmppc_mmu_book3s_64_find_slbe(to_book3s(vcpu), ea); | ||
451 | if (slb) | ||
452 | gvsid = slb->vsid; | ||
453 | } | ||
454 | |||
445 | switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { | 455 | switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { |
446 | case 0: | 456 | case 0: |
447 | *vsid = (VSID_REAL >> 16) | esid; | 457 | *vsid = VSID_REAL | esid; |
448 | break; | 458 | break; |
449 | case MSR_IR: | 459 | case MSR_IR: |
450 | *vsid = (VSID_REAL_IR >> 16) | esid; | 460 | *vsid = VSID_REAL_IR | gvsid; |
451 | break; | 461 | break; |
452 | case MSR_DR: | 462 | case MSR_DR: |
453 | *vsid = (VSID_REAL_DR >> 16) | esid; | 463 | *vsid = VSID_REAL_DR | gvsid; |
454 | break; | 464 | break; |
455 | case MSR_DR|MSR_IR: | 465 | case MSR_DR|MSR_IR: |
456 | { | 466 | if (!slb) |
457 | ulong ea; | ||
458 | struct kvmppc_slb *slb; | ||
459 | ea = esid << SID_SHIFT; | ||
460 | slb = kvmppc_mmu_book3s_64_find_slbe(to_book3s(vcpu), ea); | ||
461 | if (slb) | ||
462 | *vsid = slb->vsid; | ||
463 | else | ||
464 | return -ENOENT; | 467 | return -ENOENT; |
465 | 468 | ||
469 | *vsid = gvsid; | ||
466 | break; | 470 | break; |
467 | } | ||
468 | default: | 471 | default: |
469 | BUG(); | 472 | BUG(); |
470 | break; | 473 | break; |
471 | } | 474 | } |
472 | 475 | ||
476 | if (vcpu->arch.msr & MSR_PR) | ||
477 | *vsid |= VSID_PR; | ||
478 | |||
473 | return 0; | 479 | return 0; |
474 | } | 480 | } |
475 | 481 | ||
diff --git a/arch/powerpc/kvm/book3s_64_mmu_host.c b/arch/powerpc/kvm/book3s_64_mmu_host.c index f2899b297ffd..384179a5002b 100644 --- a/arch/powerpc/kvm/book3s_64_mmu_host.c +++ b/arch/powerpc/kvm/book3s_64_mmu_host.c | |||
@@ -20,6 +20,7 @@ | |||
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <linux/kvm_host.h> | 22 | #include <linux/kvm_host.h> |
23 | #include <linux/hash.h> | ||
23 | 24 | ||
24 | #include <asm/kvm_ppc.h> | 25 | #include <asm/kvm_ppc.h> |
25 | #include <asm/kvm_book3s.h> | 26 | #include <asm/kvm_book3s.h> |
@@ -46,131 +47,20 @@ | |||
46 | #define dprintk_slb(a, ...) do { } while(0) | 47 | #define dprintk_slb(a, ...) do { } while(0) |
47 | #endif | 48 | #endif |
48 | 49 | ||
49 | static void invalidate_pte(struct hpte_cache *pte) | 50 | void kvmppc_mmu_invalidate_pte(struct kvm_vcpu *vcpu, struct hpte_cache *pte) |
50 | { | 51 | { |
51 | dprintk_mmu("KVM: Flushing SPT %d: 0x%llx (0x%llx) -> 0x%llx\n", | ||
52 | i, pte->pte.eaddr, pte->pte.vpage, pte->host_va); | ||
53 | |||
54 | ppc_md.hpte_invalidate(pte->slot, pte->host_va, | 52 | ppc_md.hpte_invalidate(pte->slot, pte->host_va, |
55 | MMU_PAGE_4K, MMU_SEGSIZE_256M, | 53 | MMU_PAGE_4K, MMU_SEGSIZE_256M, |
56 | false); | 54 | false); |
57 | pte->host_va = 0; | ||
58 | kvm_release_pfn_dirty(pte->pfn); | ||
59 | } | ||
60 | |||
61 | void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, u64 guest_ea, u64 ea_mask) | ||
62 | { | ||
63 | int i; | ||
64 | |||
65 | dprintk_mmu("KVM: Flushing %d Shadow PTEs: 0x%llx & 0x%llx\n", | ||
66 | vcpu->arch.hpte_cache_offset, guest_ea, ea_mask); | ||
67 | BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM); | ||
68 | |||
69 | guest_ea &= ea_mask; | ||
70 | for (i = 0; i < vcpu->arch.hpte_cache_offset; i++) { | ||
71 | struct hpte_cache *pte; | ||
72 | |||
73 | pte = &vcpu->arch.hpte_cache[i]; | ||
74 | if (!pte->host_va) | ||
75 | continue; | ||
76 | |||
77 | if ((pte->pte.eaddr & ea_mask) == guest_ea) { | ||
78 | invalidate_pte(pte); | ||
79 | } | ||
80 | } | ||
81 | |||
82 | /* Doing a complete flush -> start from scratch */ | ||
83 | if (!ea_mask) | ||
84 | vcpu->arch.hpte_cache_offset = 0; | ||
85 | } | ||
86 | |||
87 | void kvmppc_mmu_pte_vflush(struct kvm_vcpu *vcpu, u64 guest_vp, u64 vp_mask) | ||
88 | { | ||
89 | int i; | ||
90 | |||
91 | dprintk_mmu("KVM: Flushing %d Shadow vPTEs: 0x%llx & 0x%llx\n", | ||
92 | vcpu->arch.hpte_cache_offset, guest_vp, vp_mask); | ||
93 | BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM); | ||
94 | |||
95 | guest_vp &= vp_mask; | ||
96 | for (i = 0; i < vcpu->arch.hpte_cache_offset; i++) { | ||
97 | struct hpte_cache *pte; | ||
98 | |||
99 | pte = &vcpu->arch.hpte_cache[i]; | ||
100 | if (!pte->host_va) | ||
101 | continue; | ||
102 | |||
103 | if ((pte->pte.vpage & vp_mask) == guest_vp) { | ||
104 | invalidate_pte(pte); | ||
105 | } | ||
106 | } | ||
107 | } | ||
108 | |||
109 | void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, u64 pa_start, u64 pa_end) | ||
110 | { | ||
111 | int i; | ||
112 | |||
113 | dprintk_mmu("KVM: Flushing %d Shadow pPTEs: 0x%llx & 0x%llx\n", | ||
114 | vcpu->arch.hpte_cache_offset, guest_pa, pa_mask); | ||
115 | BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM); | ||
116 | |||
117 | for (i = 0; i < vcpu->arch.hpte_cache_offset; i++) { | ||
118 | struct hpte_cache *pte; | ||
119 | |||
120 | pte = &vcpu->arch.hpte_cache[i]; | ||
121 | if (!pte->host_va) | ||
122 | continue; | ||
123 | |||
124 | if ((pte->pte.raddr >= pa_start) && | ||
125 | (pte->pte.raddr < pa_end)) { | ||
126 | invalidate_pte(pte); | ||
127 | } | ||
128 | } | ||
129 | } | ||
130 | |||
131 | struct kvmppc_pte *kvmppc_mmu_find_pte(struct kvm_vcpu *vcpu, u64 ea, bool data) | ||
132 | { | ||
133 | int i; | ||
134 | u64 guest_vp; | ||
135 | |||
136 | guest_vp = vcpu->arch.mmu.ea_to_vp(vcpu, ea, false); | ||
137 | for (i=0; i<vcpu->arch.hpte_cache_offset; i++) { | ||
138 | struct hpte_cache *pte; | ||
139 | |||
140 | pte = &vcpu->arch.hpte_cache[i]; | ||
141 | if (!pte->host_va) | ||
142 | continue; | ||
143 | |||
144 | if (pte->pte.vpage == guest_vp) | ||
145 | return &pte->pte; | ||
146 | } | ||
147 | |||
148 | return NULL; | ||
149 | } | ||
150 | |||
151 | static int kvmppc_mmu_hpte_cache_next(struct kvm_vcpu *vcpu) | ||
152 | { | ||
153 | if (vcpu->arch.hpte_cache_offset == HPTEG_CACHE_NUM) | ||
154 | kvmppc_mmu_pte_flush(vcpu, 0, 0); | ||
155 | |||
156 | return vcpu->arch.hpte_cache_offset++; | ||
157 | } | 55 | } |
158 | 56 | ||
159 | /* We keep 512 gvsid->hvsid entries, mapping the guest ones to the array using | 57 | /* We keep 512 gvsid->hvsid entries, mapping the guest ones to the array using |
160 | * a hash, so we don't waste cycles on looping */ | 58 | * a hash, so we don't waste cycles on looping */ |
161 | static u16 kvmppc_sid_hash(struct kvm_vcpu *vcpu, u64 gvsid) | 59 | static u16 kvmppc_sid_hash(struct kvm_vcpu *vcpu, u64 gvsid) |
162 | { | 60 | { |
163 | return (u16)(((gvsid >> (SID_MAP_BITS * 7)) & SID_MAP_MASK) ^ | 61 | return hash_64(gvsid, SID_MAP_BITS); |
164 | ((gvsid >> (SID_MAP_BITS * 6)) & SID_MAP_MASK) ^ | ||
165 | ((gvsid >> (SID_MAP_BITS * 5)) & SID_MAP_MASK) ^ | ||
166 | ((gvsid >> (SID_MAP_BITS * 4)) & SID_MAP_MASK) ^ | ||
167 | ((gvsid >> (SID_MAP_BITS * 3)) & SID_MAP_MASK) ^ | ||
168 | ((gvsid >> (SID_MAP_BITS * 2)) & SID_MAP_MASK) ^ | ||
169 | ((gvsid >> (SID_MAP_BITS * 1)) & SID_MAP_MASK) ^ | ||
170 | ((gvsid >> (SID_MAP_BITS * 0)) & SID_MAP_MASK)); | ||
171 | } | 62 | } |
172 | 63 | ||
173 | |||
174 | static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid) | 64 | static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid) |
175 | { | 65 | { |
176 | struct kvmppc_sid_map *map; | 66 | struct kvmppc_sid_map *map; |
@@ -182,7 +72,7 @@ static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid) | |||
182 | sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); | 72 | sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); |
183 | map = &to_book3s(vcpu)->sid_map[sid_map_mask]; | 73 | map = &to_book3s(vcpu)->sid_map[sid_map_mask]; |
184 | if (map->guest_vsid == gvsid) { | 74 | if (map->guest_vsid == gvsid) { |
185 | dprintk_slb("SLB: Searching 0x%llx -> 0x%llx\n", | 75 | dprintk_slb("SLB: Searching: 0x%llx -> 0x%llx\n", |
186 | gvsid, map->host_vsid); | 76 | gvsid, map->host_vsid); |
187 | return map; | 77 | return map; |
188 | } | 78 | } |
@@ -194,7 +84,8 @@ static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid) | |||
194 | return map; | 84 | return map; |
195 | } | 85 | } |
196 | 86 | ||
197 | dprintk_slb("SLB: Searching 0x%llx -> not found\n", gvsid); | 87 | dprintk_slb("SLB: Searching %d/%d: 0x%llx -> not found\n", |
88 | sid_map_mask, SID_MAP_MASK - sid_map_mask, gvsid); | ||
198 | return NULL; | 89 | return NULL; |
199 | } | 90 | } |
200 | 91 | ||
@@ -212,7 +103,7 @@ int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *orig_pte) | |||
212 | /* Get host physical address for gpa */ | 103 | /* Get host physical address for gpa */ |
213 | hpaddr = gfn_to_pfn(vcpu->kvm, orig_pte->raddr >> PAGE_SHIFT); | 104 | hpaddr = gfn_to_pfn(vcpu->kvm, orig_pte->raddr >> PAGE_SHIFT); |
214 | if (kvm_is_error_hva(hpaddr)) { | 105 | if (kvm_is_error_hva(hpaddr)) { |
215 | printk(KERN_INFO "Couldn't get guest page for gfn %llx!\n", orig_pte->eaddr); | 106 | printk(KERN_INFO "Couldn't get guest page for gfn %lx!\n", orig_pte->eaddr); |
216 | return -EINVAL; | 107 | return -EINVAL; |
217 | } | 108 | } |
218 | hpaddr <<= PAGE_SHIFT; | 109 | hpaddr <<= PAGE_SHIFT; |
@@ -227,10 +118,16 @@ int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *orig_pte) | |||
227 | vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid); | 118 | vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid); |
228 | map = find_sid_vsid(vcpu, vsid); | 119 | map = find_sid_vsid(vcpu, vsid); |
229 | if (!map) { | 120 | if (!map) { |
230 | kvmppc_mmu_map_segment(vcpu, orig_pte->eaddr); | 121 | ret = kvmppc_mmu_map_segment(vcpu, orig_pte->eaddr); |
122 | WARN_ON(ret < 0); | ||
231 | map = find_sid_vsid(vcpu, vsid); | 123 | map = find_sid_vsid(vcpu, vsid); |
232 | } | 124 | } |
233 | BUG_ON(!map); | 125 | if (!map) { |
126 | printk(KERN_ERR "KVM: Segment map for 0x%llx (0x%lx) failed\n", | ||
127 | vsid, orig_pte->eaddr); | ||
128 | WARN_ON(true); | ||
129 | return -EINVAL; | ||
130 | } | ||
234 | 131 | ||
235 | vsid = map->host_vsid; | 132 | vsid = map->host_vsid; |
236 | va = hpt_va(orig_pte->eaddr, vsid, MMU_SEGSIZE_256M); | 133 | va = hpt_va(orig_pte->eaddr, vsid, MMU_SEGSIZE_256M); |
@@ -257,30 +154,31 @@ map_again: | |||
257 | 154 | ||
258 | if (ret < 0) { | 155 | if (ret < 0) { |
259 | /* If we couldn't map a primary PTE, try a secondary */ | 156 | /* If we couldn't map a primary PTE, try a secondary */ |
260 | #ifdef USE_SECONDARY | ||
261 | hash = ~hash; | 157 | hash = ~hash; |
158 | vflags ^= HPTE_V_SECONDARY; | ||
262 | attempt++; | 159 | attempt++; |
263 | if (attempt % 2) | ||
264 | vflags = HPTE_V_SECONDARY; | ||
265 | else | ||
266 | vflags = 0; | ||
267 | #else | ||
268 | attempt = 2; | ||
269 | #endif | ||
270 | goto map_again; | 160 | goto map_again; |
271 | } else { | 161 | } else { |
272 | int hpte_id = kvmppc_mmu_hpte_cache_next(vcpu); | 162 | struct hpte_cache *pte = kvmppc_mmu_hpte_cache_next(vcpu); |
273 | struct hpte_cache *pte = &vcpu->arch.hpte_cache[hpte_id]; | ||
274 | 163 | ||
275 | dprintk_mmu("KVM: %c%c Map 0x%llx: [%lx] 0x%lx (0x%llx) -> %lx\n", | 164 | dprintk_mmu("KVM: %c%c Map 0x%lx: [%lx] 0x%lx (0x%llx) -> %lx\n", |
276 | ((rflags & HPTE_R_PP) == 3) ? '-' : 'w', | 165 | ((rflags & HPTE_R_PP) == 3) ? '-' : 'w', |
277 | (rflags & HPTE_R_N) ? '-' : 'x', | 166 | (rflags & HPTE_R_N) ? '-' : 'x', |
278 | orig_pte->eaddr, hpteg, va, orig_pte->vpage, hpaddr); | 167 | orig_pte->eaddr, hpteg, va, orig_pte->vpage, hpaddr); |
279 | 168 | ||
169 | /* The ppc_md code may give us a secondary entry even though we | ||
170 | asked for a primary. Fix up. */ | ||
171 | if ((ret & _PTEIDX_SECONDARY) && !(vflags & HPTE_V_SECONDARY)) { | ||
172 | hash = ~hash; | ||
173 | hpteg = ((hash & htab_hash_mask) * HPTES_PER_GROUP); | ||
174 | } | ||
175 | |||
280 | pte->slot = hpteg + (ret & 7); | 176 | pte->slot = hpteg + (ret & 7); |
281 | pte->host_va = va; | 177 | pte->host_va = va; |
282 | pte->pte = *orig_pte; | 178 | pte->pte = *orig_pte; |
283 | pte->pfn = hpaddr >> PAGE_SHIFT; | 179 | pte->pfn = hpaddr >> PAGE_SHIFT; |
180 | |||
181 | kvmppc_mmu_hpte_cache_map(vcpu, pte); | ||
284 | } | 182 | } |
285 | 183 | ||
286 | return 0; | 184 | return 0; |
@@ -321,6 +219,9 @@ static struct kvmppc_sid_map *create_sid_map(struct kvm_vcpu *vcpu, u64 gvsid) | |||
321 | map->guest_vsid = gvsid; | 219 | map->guest_vsid = gvsid; |
322 | map->valid = true; | 220 | map->valid = true; |
323 | 221 | ||
222 | dprintk_slb("SLB: New mapping at %d: 0x%llx -> 0x%llx\n", | ||
223 | sid_map_mask, gvsid, map->host_vsid); | ||
224 | |||
324 | return map; | 225 | return map; |
325 | } | 226 | } |
326 | 227 | ||
@@ -331,14 +232,14 @@ static int kvmppc_mmu_next_segment(struct kvm_vcpu *vcpu, ulong esid) | |||
331 | int found_inval = -1; | 232 | int found_inval = -1; |
332 | int r; | 233 | int r; |
333 | 234 | ||
334 | if (!get_paca()->kvm_slb_max) | 235 | if (!to_svcpu(vcpu)->slb_max) |
335 | get_paca()->kvm_slb_max = 1; | 236 | to_svcpu(vcpu)->slb_max = 1; |
336 | 237 | ||
337 | /* Are we overwriting? */ | 238 | /* Are we overwriting? */ |
338 | for (i = 1; i < get_paca()->kvm_slb_max; i++) { | 239 | for (i = 1; i < to_svcpu(vcpu)->slb_max; i++) { |
339 | if (!(get_paca()->kvm_slb[i].esid & SLB_ESID_V)) | 240 | if (!(to_svcpu(vcpu)->slb[i].esid & SLB_ESID_V)) |
340 | found_inval = i; | 241 | found_inval = i; |
341 | else if ((get_paca()->kvm_slb[i].esid & ESID_MASK) == esid) | 242 | else if ((to_svcpu(vcpu)->slb[i].esid & ESID_MASK) == esid) |
342 | return i; | 243 | return i; |
343 | } | 244 | } |
344 | 245 | ||
@@ -352,11 +253,11 @@ static int kvmppc_mmu_next_segment(struct kvm_vcpu *vcpu, ulong esid) | |||
352 | max_slb_size = mmu_slb_size; | 253 | max_slb_size = mmu_slb_size; |
353 | 254 | ||
354 | /* Overflowing -> purge */ | 255 | /* Overflowing -> purge */ |
355 | if ((get_paca()->kvm_slb_max) == max_slb_size) | 256 | if ((to_svcpu(vcpu)->slb_max) == max_slb_size) |
356 | kvmppc_mmu_flush_segments(vcpu); | 257 | kvmppc_mmu_flush_segments(vcpu); |
357 | 258 | ||
358 | r = get_paca()->kvm_slb_max; | 259 | r = to_svcpu(vcpu)->slb_max; |
359 | get_paca()->kvm_slb_max++; | 260 | to_svcpu(vcpu)->slb_max++; |
360 | 261 | ||
361 | return r; | 262 | return r; |
362 | } | 263 | } |
@@ -374,7 +275,7 @@ int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr) | |||
374 | 275 | ||
375 | if (vcpu->arch.mmu.esid_to_vsid(vcpu, esid, &gvsid)) { | 276 | if (vcpu->arch.mmu.esid_to_vsid(vcpu, esid, &gvsid)) { |
376 | /* Invalidate an entry */ | 277 | /* Invalidate an entry */ |
377 | get_paca()->kvm_slb[slb_index].esid = 0; | 278 | to_svcpu(vcpu)->slb[slb_index].esid = 0; |
378 | return -ENOENT; | 279 | return -ENOENT; |
379 | } | 280 | } |
380 | 281 | ||
@@ -388,8 +289,8 @@ int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr) | |||
388 | slb_vsid &= ~SLB_VSID_KP; | 289 | slb_vsid &= ~SLB_VSID_KP; |
389 | slb_esid |= slb_index; | 290 | slb_esid |= slb_index; |
390 | 291 | ||
391 | get_paca()->kvm_slb[slb_index].esid = slb_esid; | 292 | to_svcpu(vcpu)->slb[slb_index].esid = slb_esid; |
392 | get_paca()->kvm_slb[slb_index].vsid = slb_vsid; | 293 | to_svcpu(vcpu)->slb[slb_index].vsid = slb_vsid; |
393 | 294 | ||
394 | dprintk_slb("slbmte %#llx, %#llx\n", slb_vsid, slb_esid); | 295 | dprintk_slb("slbmte %#llx, %#llx\n", slb_vsid, slb_esid); |
395 | 296 | ||
@@ -398,11 +299,31 @@ int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr) | |||
398 | 299 | ||
399 | void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu) | 300 | void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu) |
400 | { | 301 | { |
401 | get_paca()->kvm_slb_max = 1; | 302 | to_svcpu(vcpu)->slb_max = 1; |
402 | get_paca()->kvm_slb[0].esid = 0; | 303 | to_svcpu(vcpu)->slb[0].esid = 0; |
403 | } | 304 | } |
404 | 305 | ||
405 | void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu) | 306 | void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu) |
406 | { | 307 | { |
407 | kvmppc_mmu_pte_flush(vcpu, 0, 0); | 308 | kvmppc_mmu_hpte_destroy(vcpu); |
309 | __destroy_context(to_book3s(vcpu)->context_id); | ||
310 | } | ||
311 | |||
312 | int kvmppc_mmu_init(struct kvm_vcpu *vcpu) | ||
313 | { | ||
314 | struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu); | ||
315 | int err; | ||
316 | |||
317 | err = __init_new_context(); | ||
318 | if (err < 0) | ||
319 | return -1; | ||
320 | vcpu3s->context_id = err; | ||
321 | |||
322 | vcpu3s->vsid_max = ((vcpu3s->context_id + 1) << USER_ESID_BITS) - 1; | ||
323 | vcpu3s->vsid_first = vcpu3s->context_id << USER_ESID_BITS; | ||
324 | vcpu3s->vsid_next = vcpu3s->vsid_first; | ||
325 | |||
326 | kvmppc_mmu_hpte_init(vcpu); | ||
327 | |||
328 | return 0; | ||
408 | } | 329 | } |
diff --git a/arch/powerpc/kvm/book3s_64_slb.S b/arch/powerpc/kvm/book3s_64_slb.S index 35b762722187..04e7d3bbfe8b 100644 --- a/arch/powerpc/kvm/book3s_64_slb.S +++ b/arch/powerpc/kvm/book3s_64_slb.S | |||
@@ -44,8 +44,7 @@ slb_exit_skip_ ## num: | |||
44 | * * | 44 | * * |
45 | *****************************************************************************/ | 45 | *****************************************************************************/ |
46 | 46 | ||
47 | .global kvmppc_handler_trampoline_enter | 47 | .macro LOAD_GUEST_SEGMENTS |
48 | kvmppc_handler_trampoline_enter: | ||
49 | 48 | ||
50 | /* Required state: | 49 | /* Required state: |
51 | * | 50 | * |
@@ -53,20 +52,14 @@ kvmppc_handler_trampoline_enter: | |||
53 | * R13 = PACA | 52 | * R13 = PACA |
54 | * R1 = host R1 | 53 | * R1 = host R1 |
55 | * R2 = host R2 | 54 | * R2 = host R2 |
56 | * R9 = guest IP | 55 | * R3 = shadow vcpu |
57 | * R10 = guest MSR | 56 | * all other volatile GPRS = free |
58 | * all other GPRS = free | 57 | * SVCPU[CR] = guest CR |
59 | * PACA[KVM_CR] = guest CR | 58 | * SVCPU[XER] = guest XER |
60 | * PACA[KVM_XER] = guest XER | 59 | * SVCPU[CTR] = guest CTR |
60 | * SVCPU[LR] = guest LR | ||
61 | */ | 61 | */ |
62 | 62 | ||
63 | mtsrr0 r9 | ||
64 | mtsrr1 r10 | ||
65 | |||
66 | /* Activate guest mode, so faults get handled by KVM */ | ||
67 | li r11, KVM_GUEST_MODE_GUEST | ||
68 | stb r11, PACA_KVM_IN_GUEST(r13) | ||
69 | |||
70 | /* Remove LPAR shadow entries */ | 63 | /* Remove LPAR shadow entries */ |
71 | 64 | ||
72 | #if SLB_NUM_BOLTED == 3 | 65 | #if SLB_NUM_BOLTED == 3 |
@@ -101,14 +94,14 @@ kvmppc_handler_trampoline_enter: | |||
101 | 94 | ||
102 | /* Fill SLB with our shadow */ | 95 | /* Fill SLB with our shadow */ |
103 | 96 | ||
104 | lbz r12, PACA_KVM_SLB_MAX(r13) | 97 | lbz r12, SVCPU_SLB_MAX(r3) |
105 | mulli r12, r12, 16 | 98 | mulli r12, r12, 16 |
106 | addi r12, r12, PACA_KVM_SLB | 99 | addi r12, r12, SVCPU_SLB |
107 | add r12, r12, r13 | 100 | add r12, r12, r3 |
108 | 101 | ||
109 | /* for (r11 = kvm_slb; r11 < kvm_slb + kvm_slb_size; r11+=slb_entry) */ | 102 | /* for (r11 = kvm_slb; r11 < kvm_slb + kvm_slb_size; r11+=slb_entry) */ |
110 | li r11, PACA_KVM_SLB | 103 | li r11, SVCPU_SLB |
111 | add r11, r11, r13 | 104 | add r11, r11, r3 |
112 | 105 | ||
113 | slb_loop_enter: | 106 | slb_loop_enter: |
114 | 107 | ||
@@ -127,34 +120,7 @@ slb_loop_enter_skip: | |||
127 | 120 | ||
128 | slb_do_enter: | 121 | slb_do_enter: |
129 | 122 | ||
130 | /* Enter guest */ | 123 | .endm |
131 | |||
132 | ld r0, (PACA_KVM_R0)(r13) | ||
133 | ld r1, (PACA_KVM_R1)(r13) | ||
134 | ld r2, (PACA_KVM_R2)(r13) | ||
135 | ld r3, (PACA_KVM_R3)(r13) | ||
136 | ld r4, (PACA_KVM_R4)(r13) | ||
137 | ld r5, (PACA_KVM_R5)(r13) | ||
138 | ld r6, (PACA_KVM_R6)(r13) | ||
139 | ld r7, (PACA_KVM_R7)(r13) | ||
140 | ld r8, (PACA_KVM_R8)(r13) | ||
141 | ld r9, (PACA_KVM_R9)(r13) | ||
142 | ld r10, (PACA_KVM_R10)(r13) | ||
143 | ld r12, (PACA_KVM_R12)(r13) | ||
144 | |||
145 | lwz r11, (PACA_KVM_CR)(r13) | ||
146 | mtcr r11 | ||
147 | |||
148 | ld r11, (PACA_KVM_XER)(r13) | ||
149 | mtxer r11 | ||
150 | |||
151 | ld r11, (PACA_KVM_R11)(r13) | ||
152 | ld r13, (PACA_KVM_R13)(r13) | ||
153 | |||
154 | RFI | ||
155 | kvmppc_handler_trampoline_enter_end: | ||
156 | |||
157 | |||
158 | 124 | ||
159 | /****************************************************************************** | 125 | /****************************************************************************** |
160 | * * | 126 | * * |
@@ -162,99 +128,22 @@ kvmppc_handler_trampoline_enter_end: | |||
162 | * * | 128 | * * |
163 | *****************************************************************************/ | 129 | *****************************************************************************/ |
164 | 130 | ||
165 | .global kvmppc_handler_trampoline_exit | 131 | .macro LOAD_HOST_SEGMENTS |
166 | kvmppc_handler_trampoline_exit: | ||
167 | 132 | ||
168 | /* Register usage at this point: | 133 | /* Register usage at this point: |
169 | * | 134 | * |
170 | * SPRG_SCRATCH0 = guest R13 | 135 | * R1 = host R1 |
171 | * R12 = exit handler id | 136 | * R2 = host R2 |
172 | * R13 = PACA | 137 | * R12 = exit handler id |
173 | * PACA.KVM.SCRATCH0 = guest R12 | 138 | * R13 = shadow vcpu - SHADOW_VCPU_OFF [=PACA on PPC64] |
174 | * PACA.KVM.SCRATCH1 = guest CR | 139 | * SVCPU.* = guest * |
140 | * SVCPU[CR] = guest CR | ||
141 | * SVCPU[XER] = guest XER | ||
142 | * SVCPU[CTR] = guest CTR | ||
143 | * SVCPU[LR] = guest LR | ||
175 | * | 144 | * |
176 | */ | 145 | */ |
177 | 146 | ||
178 | /* Save registers */ | ||
179 | |||
180 | std r0, PACA_KVM_R0(r13) | ||
181 | std r1, PACA_KVM_R1(r13) | ||
182 | std r2, PACA_KVM_R2(r13) | ||
183 | std r3, PACA_KVM_R3(r13) | ||
184 | std r4, PACA_KVM_R4(r13) | ||
185 | std r5, PACA_KVM_R5(r13) | ||
186 | std r6, PACA_KVM_R6(r13) | ||
187 | std r7, PACA_KVM_R7(r13) | ||
188 | std r8, PACA_KVM_R8(r13) | ||
189 | std r9, PACA_KVM_R9(r13) | ||
190 | std r10, PACA_KVM_R10(r13) | ||
191 | std r11, PACA_KVM_R11(r13) | ||
192 | |||
193 | /* Restore R1/R2 so we can handle faults */ | ||
194 | ld r1, PACA_KVM_HOST_R1(r13) | ||
195 | ld r2, PACA_KVM_HOST_R2(r13) | ||
196 | |||
197 | /* Save guest PC and MSR in GPRs */ | ||
198 | mfsrr0 r3 | ||
199 | mfsrr1 r4 | ||
200 | |||
201 | /* Get scratch'ed off registers */ | ||
202 | mfspr r9, SPRN_SPRG_SCRATCH0 | ||
203 | std r9, PACA_KVM_R13(r13) | ||
204 | |||
205 | ld r8, PACA_KVM_SCRATCH0(r13) | ||
206 | std r8, PACA_KVM_R12(r13) | ||
207 | |||
208 | lwz r7, PACA_KVM_SCRATCH1(r13) | ||
209 | stw r7, PACA_KVM_CR(r13) | ||
210 | |||
211 | /* Save more register state */ | ||
212 | |||
213 | mfxer r6 | ||
214 | stw r6, PACA_KVM_XER(r13) | ||
215 | |||
216 | mfdar r5 | ||
217 | mfdsisr r6 | ||
218 | |||
219 | /* | ||
220 | * In order for us to easily get the last instruction, | ||
221 | * we got the #vmexit at, we exploit the fact that the | ||
222 | * virtual layout is still the same here, so we can just | ||
223 | * ld from the guest's PC address | ||
224 | */ | ||
225 | |||
226 | /* We only load the last instruction when it's safe */ | ||
227 | cmpwi r12, BOOK3S_INTERRUPT_DATA_STORAGE | ||
228 | beq ld_last_inst | ||
229 | cmpwi r12, BOOK3S_INTERRUPT_PROGRAM | ||
230 | beq ld_last_inst | ||
231 | |||
232 | b no_ld_last_inst | ||
233 | |||
234 | ld_last_inst: | ||
235 | /* Save off the guest instruction we're at */ | ||
236 | |||
237 | /* Set guest mode to 'jump over instruction' so if lwz faults | ||
238 | * we'll just continue at the next IP. */ | ||
239 | li r9, KVM_GUEST_MODE_SKIP | ||
240 | stb r9, PACA_KVM_IN_GUEST(r13) | ||
241 | |||
242 | /* 1) enable paging for data */ | ||
243 | mfmsr r9 | ||
244 | ori r11, r9, MSR_DR /* Enable paging for data */ | ||
245 | mtmsr r11 | ||
246 | /* 2) fetch the instruction */ | ||
247 | li r0, KVM_INST_FETCH_FAILED /* In case lwz faults */ | ||
248 | lwz r0, 0(r3) | ||
249 | /* 3) disable paging again */ | ||
250 | mtmsr r9 | ||
251 | |||
252 | no_ld_last_inst: | ||
253 | |||
254 | /* Unset guest mode */ | ||
255 | li r9, KVM_GUEST_MODE_NONE | ||
256 | stb r9, PACA_KVM_IN_GUEST(r13) | ||
257 | |||
258 | /* Restore bolted entries from the shadow and fix it along the way */ | 147 | /* Restore bolted entries from the shadow and fix it along the way */ |
259 | 148 | ||
260 | /* We don't store anything in entry 0, so we don't need to take care of it */ | 149 | /* We don't store anything in entry 0, so we don't need to take care of it */ |
@@ -275,28 +164,4 @@ no_ld_last_inst: | |||
275 | 164 | ||
276 | slb_do_exit: | 165 | slb_do_exit: |
277 | 166 | ||
278 | /* Register usage at this point: | 167 | .endm |
279 | * | ||
280 | * R0 = guest last inst | ||
281 | * R1 = host R1 | ||
282 | * R2 = host R2 | ||
283 | * R3 = guest PC | ||
284 | * R4 = guest MSR | ||
285 | * R5 = guest DAR | ||
286 | * R6 = guest DSISR | ||
287 | * R12 = exit handler id | ||
288 | * R13 = PACA | ||
289 | * PACA.KVM.* = guest * | ||
290 | * | ||
291 | */ | ||
292 | |||
293 | /* RFI into the highmem handler */ | ||
294 | mfmsr r7 | ||
295 | ori r7, r7, MSR_IR|MSR_DR|MSR_RI /* Enable paging */ | ||
296 | mtsrr1 r7 | ||
297 | ld r8, PACA_KVM_VMHANDLER(r13) /* Highmem handler address */ | ||
298 | mtsrr0 r8 | ||
299 | |||
300 | RFI | ||
301 | kvmppc_handler_trampoline_exit_end: | ||
302 | |||
diff --git a/arch/powerpc/kvm/book3s_64_emulate.c b/arch/powerpc/kvm/book3s_emulate.c index 2b0ee7e040c9..c85f906038ce 100644 --- a/arch/powerpc/kvm/book3s_64_emulate.c +++ b/arch/powerpc/kvm/book3s_emulate.c | |||
@@ -28,13 +28,16 @@ | |||
28 | #define OP_31_XOP_MFMSR 83 | 28 | #define OP_31_XOP_MFMSR 83 |
29 | #define OP_31_XOP_MTMSR 146 | 29 | #define OP_31_XOP_MTMSR 146 |
30 | #define OP_31_XOP_MTMSRD 178 | 30 | #define OP_31_XOP_MTMSRD 178 |
31 | #define OP_31_XOP_MTSR 210 | ||
31 | #define OP_31_XOP_MTSRIN 242 | 32 | #define OP_31_XOP_MTSRIN 242 |
32 | #define OP_31_XOP_TLBIEL 274 | 33 | #define OP_31_XOP_TLBIEL 274 |
33 | #define OP_31_XOP_TLBIE 306 | 34 | #define OP_31_XOP_TLBIE 306 |
34 | #define OP_31_XOP_SLBMTE 402 | 35 | #define OP_31_XOP_SLBMTE 402 |
35 | #define OP_31_XOP_SLBIE 434 | 36 | #define OP_31_XOP_SLBIE 434 |
36 | #define OP_31_XOP_SLBIA 498 | 37 | #define OP_31_XOP_SLBIA 498 |
38 | #define OP_31_XOP_MFSR 595 | ||
37 | #define OP_31_XOP_MFSRIN 659 | 39 | #define OP_31_XOP_MFSRIN 659 |
40 | #define OP_31_XOP_DCBA 758 | ||
38 | #define OP_31_XOP_SLBMFEV 851 | 41 | #define OP_31_XOP_SLBMFEV 851 |
39 | #define OP_31_XOP_EIOIO 854 | 42 | #define OP_31_XOP_EIOIO 854 |
40 | #define OP_31_XOP_SLBMFEE 915 | 43 | #define OP_31_XOP_SLBMFEE 915 |
@@ -42,6 +45,24 @@ | |||
42 | /* DCBZ is actually 1014, but we patch it to 1010 so we get a trap */ | 45 | /* DCBZ is actually 1014, but we patch it to 1010 so we get a trap */ |
43 | #define OP_31_XOP_DCBZ 1010 | 46 | #define OP_31_XOP_DCBZ 1010 |
44 | 47 | ||
48 | #define OP_LFS 48 | ||
49 | #define OP_LFD 50 | ||
50 | #define OP_STFS 52 | ||
51 | #define OP_STFD 54 | ||
52 | |||
53 | #define SPRN_GQR0 912 | ||
54 | #define SPRN_GQR1 913 | ||
55 | #define SPRN_GQR2 914 | ||
56 | #define SPRN_GQR3 915 | ||
57 | #define SPRN_GQR4 916 | ||
58 | #define SPRN_GQR5 917 | ||
59 | #define SPRN_GQR6 918 | ||
60 | #define SPRN_GQR7 919 | ||
61 | |||
62 | /* Book3S_32 defines mfsrin(v) - but that messes up our abstract | ||
63 | * function pointers, so let's just disable the define. */ | ||
64 | #undef mfsrin | ||
65 | |||
45 | int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | 66 | int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, |
46 | unsigned int inst, int *advance) | 67 | unsigned int inst, int *advance) |
47 | { | 68 | { |
@@ -52,7 +73,7 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
52 | switch (get_xop(inst)) { | 73 | switch (get_xop(inst)) { |
53 | case OP_19_XOP_RFID: | 74 | case OP_19_XOP_RFID: |
54 | case OP_19_XOP_RFI: | 75 | case OP_19_XOP_RFI: |
55 | vcpu->arch.pc = vcpu->arch.srr0; | 76 | kvmppc_set_pc(vcpu, vcpu->arch.srr0); |
56 | kvmppc_set_msr(vcpu, vcpu->arch.srr1); | 77 | kvmppc_set_msr(vcpu, vcpu->arch.srr1); |
57 | *advance = 0; | 78 | *advance = 0; |
58 | break; | 79 | break; |
@@ -80,6 +101,18 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
80 | case OP_31_XOP_MTMSR: | 101 | case OP_31_XOP_MTMSR: |
81 | kvmppc_set_msr(vcpu, kvmppc_get_gpr(vcpu, get_rs(inst))); | 102 | kvmppc_set_msr(vcpu, kvmppc_get_gpr(vcpu, get_rs(inst))); |
82 | break; | 103 | break; |
104 | case OP_31_XOP_MFSR: | ||
105 | { | ||
106 | int srnum; | ||
107 | |||
108 | srnum = kvmppc_get_field(inst, 12 + 32, 15 + 32); | ||
109 | if (vcpu->arch.mmu.mfsrin) { | ||
110 | u32 sr; | ||
111 | sr = vcpu->arch.mmu.mfsrin(vcpu, srnum); | ||
112 | kvmppc_set_gpr(vcpu, get_rt(inst), sr); | ||
113 | } | ||
114 | break; | ||
115 | } | ||
83 | case OP_31_XOP_MFSRIN: | 116 | case OP_31_XOP_MFSRIN: |
84 | { | 117 | { |
85 | int srnum; | 118 | int srnum; |
@@ -92,6 +125,11 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
92 | } | 125 | } |
93 | break; | 126 | break; |
94 | } | 127 | } |
128 | case OP_31_XOP_MTSR: | ||
129 | vcpu->arch.mmu.mtsrin(vcpu, | ||
130 | (inst >> 16) & 0xf, | ||
131 | kvmppc_get_gpr(vcpu, get_rs(inst))); | ||
132 | break; | ||
95 | case OP_31_XOP_MTSRIN: | 133 | case OP_31_XOP_MTSRIN: |
96 | vcpu->arch.mmu.mtsrin(vcpu, | 134 | vcpu->arch.mmu.mtsrin(vcpu, |
97 | (kvmppc_get_gpr(vcpu, get_rb(inst)) >> 28) & 0xf, | 135 | (kvmppc_get_gpr(vcpu, get_rb(inst)) >> 28) & 0xf, |
@@ -150,12 +188,17 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
150 | kvmppc_set_gpr(vcpu, get_rt(inst), t); | 188 | kvmppc_set_gpr(vcpu, get_rt(inst), t); |
151 | } | 189 | } |
152 | break; | 190 | break; |
191 | case OP_31_XOP_DCBA: | ||
192 | /* Gets treated as NOP */ | ||
193 | break; | ||
153 | case OP_31_XOP_DCBZ: | 194 | case OP_31_XOP_DCBZ: |
154 | { | 195 | { |
155 | ulong rb = kvmppc_get_gpr(vcpu, get_rb(inst)); | 196 | ulong rb = kvmppc_get_gpr(vcpu, get_rb(inst)); |
156 | ulong ra = 0; | 197 | ulong ra = 0; |
157 | ulong addr; | 198 | ulong addr, vaddr; |
158 | u32 zeros[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; | 199 | u32 zeros[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; |
200 | u32 dsisr; | ||
201 | int r; | ||
159 | 202 | ||
160 | if (get_ra(inst)) | 203 | if (get_ra(inst)) |
161 | ra = kvmppc_get_gpr(vcpu, get_ra(inst)); | 204 | ra = kvmppc_get_gpr(vcpu, get_ra(inst)); |
@@ -163,15 +206,25 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
163 | addr = (ra + rb) & ~31ULL; | 206 | addr = (ra + rb) & ~31ULL; |
164 | if (!(vcpu->arch.msr & MSR_SF)) | 207 | if (!(vcpu->arch.msr & MSR_SF)) |
165 | addr &= 0xffffffff; | 208 | addr &= 0xffffffff; |
209 | vaddr = addr; | ||
210 | |||
211 | r = kvmppc_st(vcpu, &addr, 32, zeros, true); | ||
212 | if ((r == -ENOENT) || (r == -EPERM)) { | ||
213 | *advance = 0; | ||
214 | vcpu->arch.dear = vaddr; | ||
215 | to_svcpu(vcpu)->fault_dar = vaddr; | ||
216 | |||
217 | dsisr = DSISR_ISSTORE; | ||
218 | if (r == -ENOENT) | ||
219 | dsisr |= DSISR_NOHPTE; | ||
220 | else if (r == -EPERM) | ||
221 | dsisr |= DSISR_PROTFAULT; | ||
222 | |||
223 | to_book3s(vcpu)->dsisr = dsisr; | ||
224 | to_svcpu(vcpu)->fault_dsisr = dsisr; | ||
166 | 225 | ||
167 | if (kvmppc_st(vcpu, addr, 32, zeros)) { | ||
168 | vcpu->arch.dear = addr; | ||
169 | vcpu->arch.fault_dear = addr; | ||
170 | to_book3s(vcpu)->dsisr = DSISR_PROTFAULT | | ||
171 | DSISR_ISSTORE; | ||
172 | kvmppc_book3s_queue_irqprio(vcpu, | 226 | kvmppc_book3s_queue_irqprio(vcpu, |
173 | BOOK3S_INTERRUPT_DATA_STORAGE); | 227 | BOOK3S_INTERRUPT_DATA_STORAGE); |
174 | kvmppc_mmu_pte_flush(vcpu, addr, ~0xFFFULL); | ||
175 | } | 228 | } |
176 | 229 | ||
177 | break; | 230 | break; |
@@ -184,6 +237,9 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
184 | emulated = EMULATE_FAIL; | 237 | emulated = EMULATE_FAIL; |
185 | } | 238 | } |
186 | 239 | ||
240 | if (emulated == EMULATE_FAIL) | ||
241 | emulated = kvmppc_emulate_paired_single(run, vcpu); | ||
242 | |||
187 | return emulated; | 243 | return emulated; |
188 | } | 244 | } |
189 | 245 | ||
@@ -207,6 +263,34 @@ void kvmppc_set_bat(struct kvm_vcpu *vcpu, struct kvmppc_bat *bat, bool upper, | |||
207 | } | 263 | } |
208 | } | 264 | } |
209 | 265 | ||
266 | static u32 kvmppc_read_bat(struct kvm_vcpu *vcpu, int sprn) | ||
267 | { | ||
268 | struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); | ||
269 | struct kvmppc_bat *bat; | ||
270 | |||
271 | switch (sprn) { | ||
272 | case SPRN_IBAT0U ... SPRN_IBAT3L: | ||
273 | bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2]; | ||
274 | break; | ||
275 | case SPRN_IBAT4U ... SPRN_IBAT7L: | ||
276 | bat = &vcpu_book3s->ibat[4 + ((sprn - SPRN_IBAT4U) / 2)]; | ||
277 | break; | ||
278 | case SPRN_DBAT0U ... SPRN_DBAT3L: | ||
279 | bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2]; | ||
280 | break; | ||
281 | case SPRN_DBAT4U ... SPRN_DBAT7L: | ||
282 | bat = &vcpu_book3s->dbat[4 + ((sprn - SPRN_DBAT4U) / 2)]; | ||
283 | break; | ||
284 | default: | ||
285 | BUG(); | ||
286 | } | ||
287 | |||
288 | if (sprn % 2) | ||
289 | return bat->raw >> 32; | ||
290 | else | ||
291 | return bat->raw; | ||
292 | } | ||
293 | |||
210 | static void kvmppc_write_bat(struct kvm_vcpu *vcpu, int sprn, u32 val) | 294 | static void kvmppc_write_bat(struct kvm_vcpu *vcpu, int sprn, u32 val) |
211 | { | 295 | { |
212 | struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); | 296 | struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); |
@@ -217,13 +301,13 @@ static void kvmppc_write_bat(struct kvm_vcpu *vcpu, int sprn, u32 val) | |||
217 | bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2]; | 301 | bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2]; |
218 | break; | 302 | break; |
219 | case SPRN_IBAT4U ... SPRN_IBAT7L: | 303 | case SPRN_IBAT4U ... SPRN_IBAT7L: |
220 | bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT4U) / 2]; | 304 | bat = &vcpu_book3s->ibat[4 + ((sprn - SPRN_IBAT4U) / 2)]; |
221 | break; | 305 | break; |
222 | case SPRN_DBAT0U ... SPRN_DBAT3L: | 306 | case SPRN_DBAT0U ... SPRN_DBAT3L: |
223 | bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2]; | 307 | bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2]; |
224 | break; | 308 | break; |
225 | case SPRN_DBAT4U ... SPRN_DBAT7L: | 309 | case SPRN_DBAT4U ... SPRN_DBAT7L: |
226 | bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT4U) / 2]; | 310 | bat = &vcpu_book3s->dbat[4 + ((sprn - SPRN_DBAT4U) / 2)]; |
227 | break; | 311 | break; |
228 | default: | 312 | default: |
229 | BUG(); | 313 | BUG(); |
@@ -258,6 +342,7 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs) | |||
258 | /* BAT writes happen so rarely that we're ok to flush | 342 | /* BAT writes happen so rarely that we're ok to flush |
259 | * everything here */ | 343 | * everything here */ |
260 | kvmppc_mmu_pte_flush(vcpu, 0, 0); | 344 | kvmppc_mmu_pte_flush(vcpu, 0, 0); |
345 | kvmppc_mmu_flush_segments(vcpu); | ||
261 | break; | 346 | break; |
262 | case SPRN_HID0: | 347 | case SPRN_HID0: |
263 | to_book3s(vcpu)->hid[0] = spr_val; | 348 | to_book3s(vcpu)->hid[0] = spr_val; |
@@ -268,7 +353,32 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs) | |||
268 | case SPRN_HID2: | 353 | case SPRN_HID2: |
269 | to_book3s(vcpu)->hid[2] = spr_val; | 354 | to_book3s(vcpu)->hid[2] = spr_val; |
270 | break; | 355 | break; |
356 | case SPRN_HID2_GEKKO: | ||
357 | to_book3s(vcpu)->hid[2] = spr_val; | ||
358 | /* HID2.PSE controls paired single on gekko */ | ||
359 | switch (vcpu->arch.pvr) { | ||
360 | case 0x00080200: /* lonestar 2.0 */ | ||
361 | case 0x00088202: /* lonestar 2.2 */ | ||
362 | case 0x70000100: /* gekko 1.0 */ | ||
363 | case 0x00080100: /* gekko 2.0 */ | ||
364 | case 0x00083203: /* gekko 2.3a */ | ||
365 | case 0x00083213: /* gekko 2.3b */ | ||
366 | case 0x00083204: /* gekko 2.4 */ | ||
367 | case 0x00083214: /* gekko 2.4e (8SE) - retail HW2 */ | ||
368 | case 0x00087200: /* broadway */ | ||
369 | if (vcpu->arch.hflags & BOOK3S_HFLAG_NATIVE_PS) { | ||
370 | /* Native paired singles */ | ||
371 | } else if (spr_val & (1 << 29)) { /* HID2.PSE */ | ||
372 | vcpu->arch.hflags |= BOOK3S_HFLAG_PAIRED_SINGLE; | ||
373 | kvmppc_giveup_ext(vcpu, MSR_FP); | ||
374 | } else { | ||
375 | vcpu->arch.hflags &= ~BOOK3S_HFLAG_PAIRED_SINGLE; | ||
376 | } | ||
377 | break; | ||
378 | } | ||
379 | break; | ||
271 | case SPRN_HID4: | 380 | case SPRN_HID4: |
381 | case SPRN_HID4_GEKKO: | ||
272 | to_book3s(vcpu)->hid[4] = spr_val; | 382 | to_book3s(vcpu)->hid[4] = spr_val; |
273 | break; | 383 | break; |
274 | case SPRN_HID5: | 384 | case SPRN_HID5: |
@@ -278,12 +388,30 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs) | |||
278 | (mfmsr() & MSR_HV)) | 388 | (mfmsr() & MSR_HV)) |
279 | vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32; | 389 | vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32; |
280 | break; | 390 | break; |
391 | case SPRN_GQR0: | ||
392 | case SPRN_GQR1: | ||
393 | case SPRN_GQR2: | ||
394 | case SPRN_GQR3: | ||
395 | case SPRN_GQR4: | ||
396 | case SPRN_GQR5: | ||
397 | case SPRN_GQR6: | ||
398 | case SPRN_GQR7: | ||
399 | to_book3s(vcpu)->gqr[sprn - SPRN_GQR0] = spr_val; | ||
400 | break; | ||
281 | case SPRN_ICTC: | 401 | case SPRN_ICTC: |
282 | case SPRN_THRM1: | 402 | case SPRN_THRM1: |
283 | case SPRN_THRM2: | 403 | case SPRN_THRM2: |
284 | case SPRN_THRM3: | 404 | case SPRN_THRM3: |
285 | case SPRN_CTRLF: | 405 | case SPRN_CTRLF: |
286 | case SPRN_CTRLT: | 406 | case SPRN_CTRLT: |
407 | case SPRN_L2CR: | ||
408 | case SPRN_MMCR0_GEKKO: | ||
409 | case SPRN_MMCR1_GEKKO: | ||
410 | case SPRN_PMC1_GEKKO: | ||
411 | case SPRN_PMC2_GEKKO: | ||
412 | case SPRN_PMC3_GEKKO: | ||
413 | case SPRN_PMC4_GEKKO: | ||
414 | case SPRN_WPAR_GEKKO: | ||
287 | break; | 415 | break; |
288 | default: | 416 | default: |
289 | printk(KERN_INFO "KVM: invalid SPR write: %d\n", sprn); | 417 | printk(KERN_INFO "KVM: invalid SPR write: %d\n", sprn); |
@@ -301,6 +429,12 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt) | |||
301 | int emulated = EMULATE_DONE; | 429 | int emulated = EMULATE_DONE; |
302 | 430 | ||
303 | switch (sprn) { | 431 | switch (sprn) { |
432 | case SPRN_IBAT0U ... SPRN_IBAT3L: | ||
433 | case SPRN_IBAT4U ... SPRN_IBAT7L: | ||
434 | case SPRN_DBAT0U ... SPRN_DBAT3L: | ||
435 | case SPRN_DBAT4U ... SPRN_DBAT7L: | ||
436 | kvmppc_set_gpr(vcpu, rt, kvmppc_read_bat(vcpu, sprn)); | ||
437 | break; | ||
304 | case SPRN_SDR1: | 438 | case SPRN_SDR1: |
305 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->sdr1); | 439 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->sdr1); |
306 | break; | 440 | break; |
@@ -320,19 +454,40 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt) | |||
320 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[1]); | 454 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[1]); |
321 | break; | 455 | break; |
322 | case SPRN_HID2: | 456 | case SPRN_HID2: |
457 | case SPRN_HID2_GEKKO: | ||
323 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[2]); | 458 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[2]); |
324 | break; | 459 | break; |
325 | case SPRN_HID4: | 460 | case SPRN_HID4: |
461 | case SPRN_HID4_GEKKO: | ||
326 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[4]); | 462 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[4]); |
327 | break; | 463 | break; |
328 | case SPRN_HID5: | 464 | case SPRN_HID5: |
329 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[5]); | 465 | kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[5]); |
330 | break; | 466 | break; |
467 | case SPRN_GQR0: | ||
468 | case SPRN_GQR1: | ||
469 | case SPRN_GQR2: | ||
470 | case SPRN_GQR3: | ||
471 | case SPRN_GQR4: | ||
472 | case SPRN_GQR5: | ||
473 | case SPRN_GQR6: | ||
474 | case SPRN_GQR7: | ||
475 | kvmppc_set_gpr(vcpu, rt, | ||
476 | to_book3s(vcpu)->gqr[sprn - SPRN_GQR0]); | ||
477 | break; | ||
331 | case SPRN_THRM1: | 478 | case SPRN_THRM1: |
332 | case SPRN_THRM2: | 479 | case SPRN_THRM2: |
333 | case SPRN_THRM3: | 480 | case SPRN_THRM3: |
334 | case SPRN_CTRLF: | 481 | case SPRN_CTRLF: |
335 | case SPRN_CTRLT: | 482 | case SPRN_CTRLT: |
483 | case SPRN_L2CR: | ||
484 | case SPRN_MMCR0_GEKKO: | ||
485 | case SPRN_MMCR1_GEKKO: | ||
486 | case SPRN_PMC1_GEKKO: | ||
487 | case SPRN_PMC2_GEKKO: | ||
488 | case SPRN_PMC3_GEKKO: | ||
489 | case SPRN_PMC4_GEKKO: | ||
490 | case SPRN_WPAR_GEKKO: | ||
336 | kvmppc_set_gpr(vcpu, rt, 0); | 491 | kvmppc_set_gpr(vcpu, rt, 0); |
337 | break; | 492 | break; |
338 | default: | 493 | default: |
@@ -346,3 +501,73 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt) | |||
346 | return emulated; | 501 | return emulated; |
347 | } | 502 | } |
348 | 503 | ||
504 | u32 kvmppc_alignment_dsisr(struct kvm_vcpu *vcpu, unsigned int inst) | ||
505 | { | ||
506 | u32 dsisr = 0; | ||
507 | |||
508 | /* | ||
509 | * This is what the spec says about DSISR bits (not mentioned = 0): | ||
510 | * | ||
511 | * 12:13 [DS] Set to bits 30:31 | ||
512 | * 15:16 [X] Set to bits 29:30 | ||
513 | * 17 [X] Set to bit 25 | ||
514 | * [D/DS] Set to bit 5 | ||
515 | * 18:21 [X] Set to bits 21:24 | ||
516 | * [D/DS] Set to bits 1:4 | ||
517 | * 22:26 Set to bits 6:10 (RT/RS/FRT/FRS) | ||
518 | * 27:31 Set to bits 11:15 (RA) | ||
519 | */ | ||
520 | |||
521 | switch (get_op(inst)) { | ||
522 | /* D-form */ | ||
523 | case OP_LFS: | ||
524 | case OP_LFD: | ||
525 | case OP_STFD: | ||
526 | case OP_STFS: | ||
527 | dsisr |= (inst >> 12) & 0x4000; /* bit 17 */ | ||
528 | dsisr |= (inst >> 17) & 0x3c00; /* bits 18:21 */ | ||
529 | break; | ||
530 | /* X-form */ | ||
531 | case 31: | ||
532 | dsisr |= (inst << 14) & 0x18000; /* bits 15:16 */ | ||
533 | dsisr |= (inst << 8) & 0x04000; /* bit 17 */ | ||
534 | dsisr |= (inst << 3) & 0x03c00; /* bits 18:21 */ | ||
535 | break; | ||
536 | default: | ||
537 | printk(KERN_INFO "KVM: Unaligned instruction 0x%x\n", inst); | ||
538 | break; | ||
539 | } | ||
540 | |||
541 | dsisr |= (inst >> 16) & 0x03ff; /* bits 22:31 */ | ||
542 | |||
543 | return dsisr; | ||
544 | } | ||
545 | |||
546 | ulong kvmppc_alignment_dar(struct kvm_vcpu *vcpu, unsigned int inst) | ||
547 | { | ||
548 | ulong dar = 0; | ||
549 | ulong ra; | ||
550 | |||
551 | switch (get_op(inst)) { | ||
552 | case OP_LFS: | ||
553 | case OP_LFD: | ||
554 | case OP_STFD: | ||
555 | case OP_STFS: | ||
556 | ra = get_ra(inst); | ||
557 | if (ra) | ||
558 | dar = kvmppc_get_gpr(vcpu, ra); | ||
559 | dar += (s32)((s16)inst); | ||
560 | break; | ||
561 | case 31: | ||
562 | ra = get_ra(inst); | ||
563 | if (ra) | ||
564 | dar = kvmppc_get_gpr(vcpu, ra); | ||
565 | dar += kvmppc_get_gpr(vcpu, get_rb(inst)); | ||
566 | break; | ||
567 | default: | ||
568 | printk(KERN_INFO "KVM: Unaligned instruction 0x%x\n", inst); | ||
569 | break; | ||
570 | } | ||
571 | |||
572 | return dar; | ||
573 | } | ||
diff --git a/arch/powerpc/kvm/book3s_64_exports.c b/arch/powerpc/kvm/book3s_exports.c index 1dd5a1ddfd0d..1dd5a1ddfd0d 100644 --- a/arch/powerpc/kvm/book3s_64_exports.c +++ b/arch/powerpc/kvm/book3s_exports.c | |||
diff --git a/arch/powerpc/kvm/book3s_64_interrupts.S b/arch/powerpc/kvm/book3s_interrupts.S index c1584d0cbce8..2f0bc928b08a 100644 --- a/arch/powerpc/kvm/book3s_64_interrupts.S +++ b/arch/powerpc/kvm/book3s_interrupts.S | |||
@@ -24,36 +24,56 @@ | |||
24 | #include <asm/asm-offsets.h> | 24 | #include <asm/asm-offsets.h> |
25 | #include <asm/exception-64s.h> | 25 | #include <asm/exception-64s.h> |
26 | 26 | ||
27 | #define KVMPPC_HANDLE_EXIT .kvmppc_handle_exit | 27 | #if defined(CONFIG_PPC_BOOK3S_64) |
28 | #define ULONG_SIZE 8 | ||
29 | #define VCPU_GPR(n) (VCPU_GPRS + (n * ULONG_SIZE)) | ||
30 | 28 | ||
31 | .macro DISABLE_INTERRUPTS | 29 | #define ULONG_SIZE 8 |
32 | mfmsr r0 | 30 | #define FUNC(name) GLUE(.,name) |
33 | rldicl r0,r0,48,1 | ||
34 | rotldi r0,r0,16 | ||
35 | mtmsrd r0,1 | ||
36 | .endm | ||
37 | 31 | ||
32 | #define GET_SHADOW_VCPU(reg) \ | ||
33 | addi reg, r13, PACA_KVM_SVCPU | ||
34 | |||
35 | #define DISABLE_INTERRUPTS \ | ||
36 | mfmsr r0; \ | ||
37 | rldicl r0,r0,48,1; \ | ||
38 | rotldi r0,r0,16; \ | ||
39 | mtmsrd r0,1; \ | ||
40 | |||
41 | #elif defined(CONFIG_PPC_BOOK3S_32) | ||
42 | |||
43 | #define ULONG_SIZE 4 | ||
44 | #define FUNC(name) name | ||
45 | |||
46 | #define GET_SHADOW_VCPU(reg) \ | ||
47 | lwz reg, (THREAD + THREAD_KVM_SVCPU)(r2) | ||
48 | |||
49 | #define DISABLE_INTERRUPTS \ | ||
50 | mfmsr r0; \ | ||
51 | rlwinm r0,r0,0,17,15; \ | ||
52 | mtmsr r0; \ | ||
53 | |||
54 | #endif /* CONFIG_PPC_BOOK3S_XX */ | ||
55 | |||
56 | |||
57 | #define VCPU_GPR(n) (VCPU_GPRS + (n * ULONG_SIZE)) | ||
38 | #define VCPU_LOAD_NVGPRS(vcpu) \ | 58 | #define VCPU_LOAD_NVGPRS(vcpu) \ |
39 | ld r14, VCPU_GPR(r14)(vcpu); \ | 59 | PPC_LL r14, VCPU_GPR(r14)(vcpu); \ |
40 | ld r15, VCPU_GPR(r15)(vcpu); \ | 60 | PPC_LL r15, VCPU_GPR(r15)(vcpu); \ |
41 | ld r16, VCPU_GPR(r16)(vcpu); \ | 61 | PPC_LL r16, VCPU_GPR(r16)(vcpu); \ |
42 | ld r17, VCPU_GPR(r17)(vcpu); \ | 62 | PPC_LL r17, VCPU_GPR(r17)(vcpu); \ |
43 | ld r18, VCPU_GPR(r18)(vcpu); \ | 63 | PPC_LL r18, VCPU_GPR(r18)(vcpu); \ |
44 | ld r19, VCPU_GPR(r19)(vcpu); \ | 64 | PPC_LL r19, VCPU_GPR(r19)(vcpu); \ |
45 | ld r20, VCPU_GPR(r20)(vcpu); \ | 65 | PPC_LL r20, VCPU_GPR(r20)(vcpu); \ |
46 | ld r21, VCPU_GPR(r21)(vcpu); \ | 66 | PPC_LL r21, VCPU_GPR(r21)(vcpu); \ |
47 | ld r22, VCPU_GPR(r22)(vcpu); \ | 67 | PPC_LL r22, VCPU_GPR(r22)(vcpu); \ |
48 | ld r23, VCPU_GPR(r23)(vcpu); \ | 68 | PPC_LL r23, VCPU_GPR(r23)(vcpu); \ |
49 | ld r24, VCPU_GPR(r24)(vcpu); \ | 69 | PPC_LL r24, VCPU_GPR(r24)(vcpu); \ |
50 | ld r25, VCPU_GPR(r25)(vcpu); \ | 70 | PPC_LL r25, VCPU_GPR(r25)(vcpu); \ |
51 | ld r26, VCPU_GPR(r26)(vcpu); \ | 71 | PPC_LL r26, VCPU_GPR(r26)(vcpu); \ |
52 | ld r27, VCPU_GPR(r27)(vcpu); \ | 72 | PPC_LL r27, VCPU_GPR(r27)(vcpu); \ |
53 | ld r28, VCPU_GPR(r28)(vcpu); \ | 73 | PPC_LL r28, VCPU_GPR(r28)(vcpu); \ |
54 | ld r29, VCPU_GPR(r29)(vcpu); \ | 74 | PPC_LL r29, VCPU_GPR(r29)(vcpu); \ |
55 | ld r30, VCPU_GPR(r30)(vcpu); \ | 75 | PPC_LL r30, VCPU_GPR(r30)(vcpu); \ |
56 | ld r31, VCPU_GPR(r31)(vcpu); \ | 76 | PPC_LL r31, VCPU_GPR(r31)(vcpu); \ |
57 | 77 | ||
58 | /***************************************************************************** | 78 | /***************************************************************************** |
59 | * * | 79 | * * |
@@ -69,11 +89,11 @@ _GLOBAL(__kvmppc_vcpu_entry) | |||
69 | 89 | ||
70 | kvm_start_entry: | 90 | kvm_start_entry: |
71 | /* Write correct stack frame */ | 91 | /* Write correct stack frame */ |
72 | mflr r0 | 92 | mflr r0 |
73 | std r0,16(r1) | 93 | PPC_STL r0,PPC_LR_STKOFF(r1) |
74 | 94 | ||
75 | /* Save host state to the stack */ | 95 | /* Save host state to the stack */ |
76 | stdu r1, -SWITCH_FRAME_SIZE(r1) | 96 | PPC_STLU r1, -SWITCH_FRAME_SIZE(r1) |
77 | 97 | ||
78 | /* Save r3 (kvm_run) and r4 (vcpu) */ | 98 | /* Save r3 (kvm_run) and r4 (vcpu) */ |
79 | SAVE_2GPRS(3, r1) | 99 | SAVE_2GPRS(3, r1) |
@@ -82,33 +102,28 @@ kvm_start_entry: | |||
82 | SAVE_NVGPRS(r1) | 102 | SAVE_NVGPRS(r1) |
83 | 103 | ||
84 | /* Save LR */ | 104 | /* Save LR */ |
85 | std r0, _LINK(r1) | 105 | PPC_STL r0, _LINK(r1) |
86 | 106 | ||
87 | /* Load non-volatile guest state from the vcpu */ | 107 | /* Load non-volatile guest state from the vcpu */ |
88 | VCPU_LOAD_NVGPRS(r4) | 108 | VCPU_LOAD_NVGPRS(r4) |
89 | 109 | ||
110 | GET_SHADOW_VCPU(r5) | ||
111 | |||
90 | /* Save R1/R2 in the PACA */ | 112 | /* Save R1/R2 in the PACA */ |
91 | std r1, PACA_KVM_HOST_R1(r13) | 113 | PPC_STL r1, SVCPU_HOST_R1(r5) |
92 | std r2, PACA_KVM_HOST_R2(r13) | 114 | PPC_STL r2, SVCPU_HOST_R2(r5) |
93 | 115 | ||
94 | /* XXX swap in/out on load? */ | 116 | /* XXX swap in/out on load? */ |
95 | ld r3, VCPU_HIGHMEM_HANDLER(r4) | 117 | PPC_LL r3, VCPU_HIGHMEM_HANDLER(r4) |
96 | std r3, PACA_KVM_VMHANDLER(r13) | 118 | PPC_STL r3, SVCPU_VMHANDLER(r5) |
97 | 119 | ||
98 | kvm_start_lightweight: | 120 | kvm_start_lightweight: |
99 | 121 | ||
100 | ld r9, VCPU_PC(r4) /* r9 = vcpu->arch.pc */ | 122 | PPC_LL r10, VCPU_SHADOW_MSR(r4) /* r10 = vcpu->arch.shadow_msr */ |
101 | ld r10, VCPU_SHADOW_MSR(r4) /* r10 = vcpu->arch.shadow_msr */ | ||
102 | |||
103 | /* Load some guest state in the respective registers */ | ||
104 | ld r5, VCPU_CTR(r4) /* r5 = vcpu->arch.ctr */ | ||
105 | /* will be swapped in by rmcall */ | ||
106 | |||
107 | ld r3, VCPU_LR(r4) /* r3 = vcpu->arch.lr */ | ||
108 | mtlr r3 /* LR = r3 */ | ||
109 | 123 | ||
110 | DISABLE_INTERRUPTS | 124 | DISABLE_INTERRUPTS |
111 | 125 | ||
126 | #ifdef CONFIG_PPC_BOOK3S_64 | ||
112 | /* Some guests may need to have dcbz set to 32 byte length. | 127 | /* Some guests may need to have dcbz set to 32 byte length. |
113 | * | 128 | * |
114 | * Usually we ensure that by patching the guest's instructions | 129 | * Usually we ensure that by patching the guest's instructions |
@@ -118,7 +133,7 @@ kvm_start_lightweight: | |||
118 | * because that's a lot faster. | 133 | * because that's a lot faster. |
119 | */ | 134 | */ |
120 | 135 | ||
121 | ld r3, VCPU_HFLAGS(r4) | 136 | PPC_LL r3, VCPU_HFLAGS(r4) |
122 | rldicl. r3, r3, 0, 63 /* CR = ((r3 & 1) == 0) */ | 137 | rldicl. r3, r3, 0, 63 /* CR = ((r3 & 1) == 0) */ |
123 | beq no_dcbz32_on | 138 | beq no_dcbz32_on |
124 | 139 | ||
@@ -128,13 +143,15 @@ kvm_start_lightweight: | |||
128 | 143 | ||
129 | no_dcbz32_on: | 144 | no_dcbz32_on: |
130 | 145 | ||
131 | ld r6, VCPU_RMCALL(r4) | 146 | #endif /* CONFIG_PPC_BOOK3S_64 */ |
147 | |||
148 | PPC_LL r6, VCPU_RMCALL(r4) | ||
132 | mtctr r6 | 149 | mtctr r6 |
133 | 150 | ||
134 | ld r3, VCPU_TRAMPOLINE_ENTER(r4) | 151 | PPC_LL r3, VCPU_TRAMPOLINE_ENTER(r4) |
135 | LOAD_REG_IMMEDIATE(r4, MSR_KERNEL & ~(MSR_IR | MSR_DR)) | 152 | LOAD_REG_IMMEDIATE(r4, MSR_KERNEL & ~(MSR_IR | MSR_DR)) |
136 | 153 | ||
137 | /* Jump to SLB patching handlder and into our guest */ | 154 | /* Jump to segment patching handler and into our guest */ |
138 | bctr | 155 | bctr |
139 | 156 | ||
140 | /* | 157 | /* |
@@ -149,31 +166,20 @@ kvmppc_handler_highmem: | |||
149 | /* | 166 | /* |
150 | * Register usage at this point: | 167 | * Register usage at this point: |
151 | * | 168 | * |
152 | * R0 = guest last inst | 169 | * R1 = host R1 |
153 | * R1 = host R1 | 170 | * R2 = host R2 |
154 | * R2 = host R2 | 171 | * R12 = exit handler id |
155 | * R3 = guest PC | 172 | * R13 = PACA |
156 | * R4 = guest MSR | 173 | * SVCPU.* = guest * |
157 | * R5 = guest DAR | ||
158 | * R6 = guest DSISR | ||
159 | * R13 = PACA | ||
160 | * PACA.KVM.* = guest * | ||
161 | * | 174 | * |
162 | */ | 175 | */ |
163 | 176 | ||
164 | /* R7 = vcpu */ | 177 | /* R7 = vcpu */ |
165 | ld r7, GPR4(r1) | 178 | PPC_LL r7, GPR4(r1) |
166 | 179 | ||
167 | /* Now save the guest state */ | 180 | #ifdef CONFIG_PPC_BOOK3S_64 |
168 | 181 | ||
169 | stw r0, VCPU_LAST_INST(r7) | 182 | PPC_LL r5, VCPU_HFLAGS(r7) |
170 | |||
171 | std r3, VCPU_PC(r7) | ||
172 | std r4, VCPU_SHADOW_SRR1(r7) | ||
173 | std r5, VCPU_FAULT_DEAR(r7) | ||
174 | std r6, VCPU_FAULT_DSISR(r7) | ||
175 | |||
176 | ld r5, VCPU_HFLAGS(r7) | ||
177 | rldicl. r5, r5, 0, 63 /* CR = ((r5 & 1) == 0) */ | 183 | rldicl. r5, r5, 0, 63 /* CR = ((r5 & 1) == 0) */ |
178 | beq no_dcbz32_off | 184 | beq no_dcbz32_off |
179 | 185 | ||
@@ -184,35 +190,29 @@ kvmppc_handler_highmem: | |||
184 | 190 | ||
185 | no_dcbz32_off: | 191 | no_dcbz32_off: |
186 | 192 | ||
187 | std r14, VCPU_GPR(r14)(r7) | 193 | #endif /* CONFIG_PPC_BOOK3S_64 */ |
188 | std r15, VCPU_GPR(r15)(r7) | 194 | |
189 | std r16, VCPU_GPR(r16)(r7) | 195 | PPC_STL r14, VCPU_GPR(r14)(r7) |
190 | std r17, VCPU_GPR(r17)(r7) | 196 | PPC_STL r15, VCPU_GPR(r15)(r7) |
191 | std r18, VCPU_GPR(r18)(r7) | 197 | PPC_STL r16, VCPU_GPR(r16)(r7) |
192 | std r19, VCPU_GPR(r19)(r7) | 198 | PPC_STL r17, VCPU_GPR(r17)(r7) |
193 | std r20, VCPU_GPR(r20)(r7) | 199 | PPC_STL r18, VCPU_GPR(r18)(r7) |
194 | std r21, VCPU_GPR(r21)(r7) | 200 | PPC_STL r19, VCPU_GPR(r19)(r7) |
195 | std r22, VCPU_GPR(r22)(r7) | 201 | PPC_STL r20, VCPU_GPR(r20)(r7) |
196 | std r23, VCPU_GPR(r23)(r7) | 202 | PPC_STL r21, VCPU_GPR(r21)(r7) |
197 | std r24, VCPU_GPR(r24)(r7) | 203 | PPC_STL r22, VCPU_GPR(r22)(r7) |
198 | std r25, VCPU_GPR(r25)(r7) | 204 | PPC_STL r23, VCPU_GPR(r23)(r7) |
199 | std r26, VCPU_GPR(r26)(r7) | 205 | PPC_STL r24, VCPU_GPR(r24)(r7) |
200 | std r27, VCPU_GPR(r27)(r7) | 206 | PPC_STL r25, VCPU_GPR(r25)(r7) |
201 | std r28, VCPU_GPR(r28)(r7) | 207 | PPC_STL r26, VCPU_GPR(r26)(r7) |
202 | std r29, VCPU_GPR(r29)(r7) | 208 | PPC_STL r27, VCPU_GPR(r27)(r7) |
203 | std r30, VCPU_GPR(r30)(r7) | 209 | PPC_STL r28, VCPU_GPR(r28)(r7) |
204 | std r31, VCPU_GPR(r31)(r7) | 210 | PPC_STL r29, VCPU_GPR(r29)(r7) |
205 | 211 | PPC_STL r30, VCPU_GPR(r30)(r7) | |
206 | /* Save guest CTR */ | 212 | PPC_STL r31, VCPU_GPR(r31)(r7) |
207 | mfctr r5 | ||
208 | std r5, VCPU_CTR(r7) | ||
209 | |||
210 | /* Save guest LR */ | ||
211 | mflr r5 | ||
212 | std r5, VCPU_LR(r7) | ||
213 | 213 | ||
214 | /* Restore host msr -> SRR1 */ | 214 | /* Restore host msr -> SRR1 */ |
215 | ld r6, VCPU_HOST_MSR(r7) | 215 | PPC_LL r6, VCPU_HOST_MSR(r7) |
216 | 216 | ||
217 | /* | 217 | /* |
218 | * For some interrupts, we need to call the real Linux | 218 | * For some interrupts, we need to call the real Linux |
@@ -228,9 +228,12 @@ no_dcbz32_off: | |||
228 | beq call_linux_handler | 228 | beq call_linux_handler |
229 | cmpwi r12, BOOK3S_INTERRUPT_DECREMENTER | 229 | cmpwi r12, BOOK3S_INTERRUPT_DECREMENTER |
230 | beq call_linux_handler | 230 | beq call_linux_handler |
231 | cmpwi r12, BOOK3S_INTERRUPT_PERFMON | ||
232 | beq call_linux_handler | ||
231 | 233 | ||
232 | /* Back to EE=1 */ | 234 | /* Back to EE=1 */ |
233 | mtmsr r6 | 235 | mtmsr r6 |
236 | sync | ||
234 | b kvm_return_point | 237 | b kvm_return_point |
235 | 238 | ||
236 | call_linux_handler: | 239 | call_linux_handler: |
@@ -249,14 +252,14 @@ call_linux_handler: | |||
249 | */ | 252 | */ |
250 | 253 | ||
251 | /* Restore host IP -> SRR0 */ | 254 | /* Restore host IP -> SRR0 */ |
252 | ld r5, VCPU_HOST_RETIP(r7) | 255 | PPC_LL r5, VCPU_HOST_RETIP(r7) |
253 | 256 | ||
254 | /* XXX Better move to a safe function? | 257 | /* XXX Better move to a safe function? |
255 | * What if we get an HTAB flush in between mtsrr0 and mtsrr1? */ | 258 | * What if we get an HTAB flush in between mtsrr0 and mtsrr1? */ |
256 | 259 | ||
257 | mtlr r12 | 260 | mtlr r12 |
258 | 261 | ||
259 | ld r4, VCPU_TRAMPOLINE_LOWMEM(r7) | 262 | PPC_LL r4, VCPU_TRAMPOLINE_LOWMEM(r7) |
260 | mtsrr0 r4 | 263 | mtsrr0 r4 |
261 | LOAD_REG_IMMEDIATE(r3, MSR_KERNEL & ~(MSR_IR | MSR_DR)) | 264 | LOAD_REG_IMMEDIATE(r3, MSR_KERNEL & ~(MSR_IR | MSR_DR)) |
262 | mtsrr1 r3 | 265 | mtsrr1 r3 |
@@ -274,7 +277,7 @@ kvm_return_point: | |||
274 | 277 | ||
275 | /* Restore r3 (kvm_run) and r4 (vcpu) */ | 278 | /* Restore r3 (kvm_run) and r4 (vcpu) */ |
276 | REST_2GPRS(3, r1) | 279 | REST_2GPRS(3, r1) |
277 | bl KVMPPC_HANDLE_EXIT | 280 | bl FUNC(kvmppc_handle_exit) |
278 | 281 | ||
279 | /* If RESUME_GUEST, get back in the loop */ | 282 | /* If RESUME_GUEST, get back in the loop */ |
280 | cmpwi r3, RESUME_GUEST | 283 | cmpwi r3, RESUME_GUEST |
@@ -285,7 +288,7 @@ kvm_return_point: | |||
285 | 288 | ||
286 | kvm_exit_loop: | 289 | kvm_exit_loop: |
287 | 290 | ||
288 | ld r4, _LINK(r1) | 291 | PPC_LL r4, _LINK(r1) |
289 | mtlr r4 | 292 | mtlr r4 |
290 | 293 | ||
291 | /* Restore non-volatile host registers (r14 - r31) */ | 294 | /* Restore non-volatile host registers (r14 - r31) */ |
@@ -296,8 +299,8 @@ kvm_exit_loop: | |||
296 | 299 | ||
297 | kvm_loop_heavyweight: | 300 | kvm_loop_heavyweight: |
298 | 301 | ||
299 | ld r4, _LINK(r1) | 302 | PPC_LL r4, _LINK(r1) |
300 | std r4, (16 + SWITCH_FRAME_SIZE)(r1) | 303 | PPC_STL r4, (PPC_LR_STKOFF + SWITCH_FRAME_SIZE)(r1) |
301 | 304 | ||
302 | /* Load vcpu and cpu_run */ | 305 | /* Load vcpu and cpu_run */ |
303 | REST_2GPRS(3, r1) | 306 | REST_2GPRS(3, r1) |
@@ -315,4 +318,3 @@ kvm_loop_lightweight: | |||
315 | 318 | ||
316 | /* Jump back into the beginning of this function */ | 319 | /* Jump back into the beginning of this function */ |
317 | b kvm_start_lightweight | 320 | b kvm_start_lightweight |
318 | |||
diff --git a/arch/powerpc/kvm/book3s_mmu_hpte.c b/arch/powerpc/kvm/book3s_mmu_hpte.c new file mode 100644 index 000000000000..4868d4a7ebc5 --- /dev/null +++ b/arch/powerpc/kvm/book3s_mmu_hpte.c | |||
@@ -0,0 +1,277 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 SUSE Linux Products GmbH. All rights reserved. | ||
3 | * | ||
4 | * Authors: | ||
5 | * Alexander Graf <agraf@suse.de> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License, version 2, as | ||
9 | * published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
19 | */ | ||
20 | |||
21 | #include <linux/kvm_host.h> | ||
22 | #include <linux/hash.h> | ||
23 | #include <linux/slab.h> | ||
24 | |||
25 | #include <asm/kvm_ppc.h> | ||
26 | #include <asm/kvm_book3s.h> | ||
27 | #include <asm/machdep.h> | ||
28 | #include <asm/mmu_context.h> | ||
29 | #include <asm/hw_irq.h> | ||
30 | |||
31 | #define PTE_SIZE 12 | ||
32 | |||
33 | /* #define DEBUG_MMU */ | ||
34 | |||
35 | #ifdef DEBUG_MMU | ||
36 | #define dprintk_mmu(a, ...) printk(KERN_INFO a, __VA_ARGS__) | ||
37 | #else | ||
38 | #define dprintk_mmu(a, ...) do { } while(0) | ||
39 | #endif | ||
40 | |||
41 | static struct kmem_cache *hpte_cache; | ||
42 | |||
43 | static inline u64 kvmppc_mmu_hash_pte(u64 eaddr) | ||
44 | { | ||
45 | return hash_64(eaddr >> PTE_SIZE, HPTEG_HASH_BITS_PTE); | ||
46 | } | ||
47 | |||
48 | static inline u64 kvmppc_mmu_hash_vpte(u64 vpage) | ||
49 | { | ||
50 | return hash_64(vpage & 0xfffffffffULL, HPTEG_HASH_BITS_VPTE); | ||
51 | } | ||
52 | |||
53 | static inline u64 kvmppc_mmu_hash_vpte_long(u64 vpage) | ||
54 | { | ||
55 | return hash_64((vpage & 0xffffff000ULL) >> 12, | ||
56 | HPTEG_HASH_BITS_VPTE_LONG); | ||
57 | } | ||
58 | |||
59 | void kvmppc_mmu_hpte_cache_map(struct kvm_vcpu *vcpu, struct hpte_cache *pte) | ||
60 | { | ||
61 | u64 index; | ||
62 | |||
63 | /* Add to ePTE list */ | ||
64 | index = kvmppc_mmu_hash_pte(pte->pte.eaddr); | ||
65 | hlist_add_head(&pte->list_pte, &vcpu->arch.hpte_hash_pte[index]); | ||
66 | |||
67 | /* Add to vPTE list */ | ||
68 | index = kvmppc_mmu_hash_vpte(pte->pte.vpage); | ||
69 | hlist_add_head(&pte->list_vpte, &vcpu->arch.hpte_hash_vpte[index]); | ||
70 | |||
71 | /* Add to vPTE_long list */ | ||
72 | index = kvmppc_mmu_hash_vpte_long(pte->pte.vpage); | ||
73 | hlist_add_head(&pte->list_vpte_long, | ||
74 | &vcpu->arch.hpte_hash_vpte_long[index]); | ||
75 | } | ||
76 | |||
77 | static void invalidate_pte(struct kvm_vcpu *vcpu, struct hpte_cache *pte) | ||
78 | { | ||
79 | dprintk_mmu("KVM: Flushing SPT: 0x%lx (0x%llx) -> 0x%llx\n", | ||
80 | pte->pte.eaddr, pte->pte.vpage, pte->host_va); | ||
81 | |||
82 | /* Different for 32 and 64 bit */ | ||
83 | kvmppc_mmu_invalidate_pte(vcpu, pte); | ||
84 | |||
85 | if (pte->pte.may_write) | ||
86 | kvm_release_pfn_dirty(pte->pfn); | ||
87 | else | ||
88 | kvm_release_pfn_clean(pte->pfn); | ||
89 | |||
90 | hlist_del(&pte->list_pte); | ||
91 | hlist_del(&pte->list_vpte); | ||
92 | hlist_del(&pte->list_vpte_long); | ||
93 | |||
94 | vcpu->arch.hpte_cache_count--; | ||
95 | kmem_cache_free(hpte_cache, pte); | ||
96 | } | ||
97 | |||
98 | static void kvmppc_mmu_pte_flush_all(struct kvm_vcpu *vcpu) | ||
99 | { | ||
100 | struct hpte_cache *pte; | ||
101 | struct hlist_node *node, *tmp; | ||
102 | int i; | ||
103 | |||
104 | for (i = 0; i < HPTEG_HASH_NUM_VPTE_LONG; i++) { | ||
105 | struct hlist_head *list = &vcpu->arch.hpte_hash_vpte_long[i]; | ||
106 | |||
107 | hlist_for_each_entry_safe(pte, node, tmp, list, list_vpte_long) | ||
108 | invalidate_pte(vcpu, pte); | ||
109 | } | ||
110 | } | ||
111 | |||
112 | static void kvmppc_mmu_pte_flush_page(struct kvm_vcpu *vcpu, ulong guest_ea) | ||
113 | { | ||
114 | struct hlist_head *list; | ||
115 | struct hlist_node *node, *tmp; | ||
116 | struct hpte_cache *pte; | ||
117 | |||
118 | /* Find the list of entries in the map */ | ||
119 | list = &vcpu->arch.hpte_hash_pte[kvmppc_mmu_hash_pte(guest_ea)]; | ||
120 | |||
121 | /* Check the list for matching entries and invalidate */ | ||
122 | hlist_for_each_entry_safe(pte, node, tmp, list, list_pte) | ||
123 | if ((pte->pte.eaddr & ~0xfffUL) == guest_ea) | ||
124 | invalidate_pte(vcpu, pte); | ||
125 | } | ||
126 | |||
127 | void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, ulong guest_ea, ulong ea_mask) | ||
128 | { | ||
129 | u64 i; | ||
130 | |||
131 | dprintk_mmu("KVM: Flushing %d Shadow PTEs: 0x%lx & 0x%lx\n", | ||
132 | vcpu->arch.hpte_cache_count, guest_ea, ea_mask); | ||
133 | |||
134 | guest_ea &= ea_mask; | ||
135 | |||
136 | switch (ea_mask) { | ||
137 | case ~0xfffUL: | ||
138 | kvmppc_mmu_pte_flush_page(vcpu, guest_ea); | ||
139 | break; | ||
140 | case 0x0ffff000: | ||
141 | /* 32-bit flush w/o segment, go through all possible segments */ | ||
142 | for (i = 0; i < 0x100000000ULL; i += 0x10000000ULL) | ||
143 | kvmppc_mmu_pte_flush(vcpu, guest_ea | i, ~0xfffUL); | ||
144 | break; | ||
145 | case 0: | ||
146 | /* Doing a complete flush -> start from scratch */ | ||
147 | kvmppc_mmu_pte_flush_all(vcpu); | ||
148 | break; | ||
149 | default: | ||
150 | WARN_ON(1); | ||
151 | break; | ||
152 | } | ||
153 | } | ||
154 | |||
155 | /* Flush with mask 0xfffffffff */ | ||
156 | static void kvmppc_mmu_pte_vflush_short(struct kvm_vcpu *vcpu, u64 guest_vp) | ||
157 | { | ||
158 | struct hlist_head *list; | ||
159 | struct hlist_node *node, *tmp; | ||
160 | struct hpte_cache *pte; | ||
161 | u64 vp_mask = 0xfffffffffULL; | ||
162 | |||
163 | list = &vcpu->arch.hpte_hash_vpte[kvmppc_mmu_hash_vpte(guest_vp)]; | ||
164 | |||
165 | /* Check the list for matching entries and invalidate */ | ||
166 | hlist_for_each_entry_safe(pte, node, tmp, list, list_vpte) | ||
167 | if ((pte->pte.vpage & vp_mask) == guest_vp) | ||
168 | invalidate_pte(vcpu, pte); | ||
169 | } | ||
170 | |||
171 | /* Flush with mask 0xffffff000 */ | ||
172 | static void kvmppc_mmu_pte_vflush_long(struct kvm_vcpu *vcpu, u64 guest_vp) | ||
173 | { | ||
174 | struct hlist_head *list; | ||
175 | struct hlist_node *node, *tmp; | ||
176 | struct hpte_cache *pte; | ||
177 | u64 vp_mask = 0xffffff000ULL; | ||
178 | |||
179 | list = &vcpu->arch.hpte_hash_vpte_long[ | ||
180 | kvmppc_mmu_hash_vpte_long(guest_vp)]; | ||
181 | |||
182 | /* Check the list for matching entries and invalidate */ | ||
183 | hlist_for_each_entry_safe(pte, node, tmp, list, list_vpte_long) | ||
184 | if ((pte->pte.vpage & vp_mask) == guest_vp) | ||
185 | invalidate_pte(vcpu, pte); | ||
186 | } | ||
187 | |||
188 | void kvmppc_mmu_pte_vflush(struct kvm_vcpu *vcpu, u64 guest_vp, u64 vp_mask) | ||
189 | { | ||
190 | dprintk_mmu("KVM: Flushing %d Shadow vPTEs: 0x%llx & 0x%llx\n", | ||
191 | vcpu->arch.hpte_cache_count, guest_vp, vp_mask); | ||
192 | guest_vp &= vp_mask; | ||
193 | |||
194 | switch(vp_mask) { | ||
195 | case 0xfffffffffULL: | ||
196 | kvmppc_mmu_pte_vflush_short(vcpu, guest_vp); | ||
197 | break; | ||
198 | case 0xffffff000ULL: | ||
199 | kvmppc_mmu_pte_vflush_long(vcpu, guest_vp); | ||
200 | break; | ||
201 | default: | ||
202 | WARN_ON(1); | ||
203 | return; | ||
204 | } | ||
205 | } | ||
206 | |||
207 | void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, ulong pa_start, ulong pa_end) | ||
208 | { | ||
209 | struct hlist_node *node, *tmp; | ||
210 | struct hpte_cache *pte; | ||
211 | int i; | ||
212 | |||
213 | dprintk_mmu("KVM: Flushing %d Shadow pPTEs: 0x%lx - 0x%lx\n", | ||
214 | vcpu->arch.hpte_cache_count, pa_start, pa_end); | ||
215 | |||
216 | for (i = 0; i < HPTEG_HASH_NUM_VPTE_LONG; i++) { | ||
217 | struct hlist_head *list = &vcpu->arch.hpte_hash_vpte_long[i]; | ||
218 | |||
219 | hlist_for_each_entry_safe(pte, node, tmp, list, list_vpte_long) | ||
220 | if ((pte->pte.raddr >= pa_start) && | ||
221 | (pte->pte.raddr < pa_end)) | ||
222 | invalidate_pte(vcpu, pte); | ||
223 | } | ||
224 | } | ||
225 | |||
226 | struct hpte_cache *kvmppc_mmu_hpte_cache_next(struct kvm_vcpu *vcpu) | ||
227 | { | ||
228 | struct hpte_cache *pte; | ||
229 | |||
230 | pte = kmem_cache_zalloc(hpte_cache, GFP_KERNEL); | ||
231 | vcpu->arch.hpte_cache_count++; | ||
232 | |||
233 | if (vcpu->arch.hpte_cache_count == HPTEG_CACHE_NUM) | ||
234 | kvmppc_mmu_pte_flush_all(vcpu); | ||
235 | |||
236 | return pte; | ||
237 | } | ||
238 | |||
239 | void kvmppc_mmu_hpte_destroy(struct kvm_vcpu *vcpu) | ||
240 | { | ||
241 | kvmppc_mmu_pte_flush(vcpu, 0, 0); | ||
242 | } | ||
243 | |||
244 | static void kvmppc_mmu_hpte_init_hash(struct hlist_head *hash_list, int len) | ||
245 | { | ||
246 | int i; | ||
247 | |||
248 | for (i = 0; i < len; i++) | ||
249 | INIT_HLIST_HEAD(&hash_list[i]); | ||
250 | } | ||
251 | |||
252 | int kvmppc_mmu_hpte_init(struct kvm_vcpu *vcpu) | ||
253 | { | ||
254 | /* init hpte lookup hashes */ | ||
255 | kvmppc_mmu_hpte_init_hash(vcpu->arch.hpte_hash_pte, | ||
256 | ARRAY_SIZE(vcpu->arch.hpte_hash_pte)); | ||
257 | kvmppc_mmu_hpte_init_hash(vcpu->arch.hpte_hash_vpte, | ||
258 | ARRAY_SIZE(vcpu->arch.hpte_hash_vpte)); | ||
259 | kvmppc_mmu_hpte_init_hash(vcpu->arch.hpte_hash_vpte_long, | ||
260 | ARRAY_SIZE(vcpu->arch.hpte_hash_vpte_long)); | ||
261 | |||
262 | return 0; | ||
263 | } | ||
264 | |||
265 | int kvmppc_mmu_hpte_sysinit(void) | ||
266 | { | ||
267 | /* init hpte slab cache */ | ||
268 | hpte_cache = kmem_cache_create("kvm-spt", sizeof(struct hpte_cache), | ||
269 | sizeof(struct hpte_cache), 0, NULL); | ||
270 | |||
271 | return 0; | ||
272 | } | ||
273 | |||
274 | void kvmppc_mmu_hpte_sysexit(void) | ||
275 | { | ||
276 | kmem_cache_destroy(hpte_cache); | ||
277 | } | ||
diff --git a/arch/powerpc/kvm/book3s_paired_singles.c b/arch/powerpc/kvm/book3s_paired_singles.c new file mode 100644 index 000000000000..474f2e24050a --- /dev/null +++ b/arch/powerpc/kvm/book3s_paired_singles.c | |||
@@ -0,0 +1,1269 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License, version 2, as | ||
4 | * published by the Free Software Foundation. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program; if not, write to the Free Software | ||
13 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
14 | * | ||
15 | * Copyright Novell Inc 2010 | ||
16 | * | ||
17 | * Authors: Alexander Graf <agraf@suse.de> | ||
18 | */ | ||
19 | |||
20 | #include <asm/kvm.h> | ||
21 | #include <asm/kvm_ppc.h> | ||
22 | #include <asm/disassemble.h> | ||
23 | #include <asm/kvm_book3s.h> | ||
24 | #include <asm/kvm_fpu.h> | ||
25 | #include <asm/reg.h> | ||
26 | #include <asm/cacheflush.h> | ||
27 | #include <linux/vmalloc.h> | ||
28 | |||
29 | /* #define DEBUG */ | ||
30 | |||
31 | #ifdef DEBUG | ||
32 | #define dprintk printk | ||
33 | #else | ||
34 | #define dprintk(...) do { } while(0); | ||
35 | #endif | ||
36 | |||
37 | #define OP_LFS 48 | ||
38 | #define OP_LFSU 49 | ||
39 | #define OP_LFD 50 | ||
40 | #define OP_LFDU 51 | ||
41 | #define OP_STFS 52 | ||
42 | #define OP_STFSU 53 | ||
43 | #define OP_STFD 54 | ||
44 | #define OP_STFDU 55 | ||
45 | #define OP_PSQ_L 56 | ||
46 | #define OP_PSQ_LU 57 | ||
47 | #define OP_PSQ_ST 60 | ||
48 | #define OP_PSQ_STU 61 | ||
49 | |||
50 | #define OP_31_LFSX 535 | ||
51 | #define OP_31_LFSUX 567 | ||
52 | #define OP_31_LFDX 599 | ||
53 | #define OP_31_LFDUX 631 | ||
54 | #define OP_31_STFSX 663 | ||
55 | #define OP_31_STFSUX 695 | ||
56 | #define OP_31_STFX 727 | ||
57 | #define OP_31_STFUX 759 | ||
58 | #define OP_31_LWIZX 887 | ||
59 | #define OP_31_STFIWX 983 | ||
60 | |||
61 | #define OP_59_FADDS 21 | ||
62 | #define OP_59_FSUBS 20 | ||
63 | #define OP_59_FSQRTS 22 | ||
64 | #define OP_59_FDIVS 18 | ||
65 | #define OP_59_FRES 24 | ||
66 | #define OP_59_FMULS 25 | ||
67 | #define OP_59_FRSQRTES 26 | ||
68 | #define OP_59_FMSUBS 28 | ||
69 | #define OP_59_FMADDS 29 | ||
70 | #define OP_59_FNMSUBS 30 | ||
71 | #define OP_59_FNMADDS 31 | ||
72 | |||
73 | #define OP_63_FCMPU 0 | ||
74 | #define OP_63_FCPSGN 8 | ||
75 | #define OP_63_FRSP 12 | ||
76 | #define OP_63_FCTIW 14 | ||
77 | #define OP_63_FCTIWZ 15 | ||
78 | #define OP_63_FDIV 18 | ||
79 | #define OP_63_FADD 21 | ||
80 | #define OP_63_FSQRT 22 | ||
81 | #define OP_63_FSEL 23 | ||
82 | #define OP_63_FRE 24 | ||
83 | #define OP_63_FMUL 25 | ||
84 | #define OP_63_FRSQRTE 26 | ||
85 | #define OP_63_FMSUB 28 | ||
86 | #define OP_63_FMADD 29 | ||
87 | #define OP_63_FNMSUB 30 | ||
88 | #define OP_63_FNMADD 31 | ||
89 | #define OP_63_FCMPO 32 | ||
90 | #define OP_63_MTFSB1 38 // XXX | ||
91 | #define OP_63_FSUB 20 | ||
92 | #define OP_63_FNEG 40 | ||
93 | #define OP_63_MCRFS 64 | ||
94 | #define OP_63_MTFSB0 70 | ||
95 | #define OP_63_FMR 72 | ||
96 | #define OP_63_MTFSFI 134 | ||
97 | #define OP_63_FABS 264 | ||
98 | #define OP_63_MFFS 583 | ||
99 | #define OP_63_MTFSF 711 | ||
100 | |||
101 | #define OP_4X_PS_CMPU0 0 | ||
102 | #define OP_4X_PSQ_LX 6 | ||
103 | #define OP_4XW_PSQ_STX 7 | ||
104 | #define OP_4A_PS_SUM0 10 | ||
105 | #define OP_4A_PS_SUM1 11 | ||
106 | #define OP_4A_PS_MULS0 12 | ||
107 | #define OP_4A_PS_MULS1 13 | ||
108 | #define OP_4A_PS_MADDS0 14 | ||
109 | #define OP_4A_PS_MADDS1 15 | ||
110 | #define OP_4A_PS_DIV 18 | ||
111 | #define OP_4A_PS_SUB 20 | ||
112 | #define OP_4A_PS_ADD 21 | ||
113 | #define OP_4A_PS_SEL 23 | ||
114 | #define OP_4A_PS_RES 24 | ||
115 | #define OP_4A_PS_MUL 25 | ||
116 | #define OP_4A_PS_RSQRTE 26 | ||
117 | #define OP_4A_PS_MSUB 28 | ||
118 | #define OP_4A_PS_MADD 29 | ||
119 | #define OP_4A_PS_NMSUB 30 | ||
120 | #define OP_4A_PS_NMADD 31 | ||
121 | #define OP_4X_PS_CMPO0 32 | ||
122 | #define OP_4X_PSQ_LUX 38 | ||
123 | #define OP_4XW_PSQ_STUX 39 | ||
124 | #define OP_4X_PS_NEG 40 | ||
125 | #define OP_4X_PS_CMPU1 64 | ||
126 | #define OP_4X_PS_MR 72 | ||
127 | #define OP_4X_PS_CMPO1 96 | ||
128 | #define OP_4X_PS_NABS 136 | ||
129 | #define OP_4X_PS_ABS 264 | ||
130 | #define OP_4X_PS_MERGE00 528 | ||
131 | #define OP_4X_PS_MERGE01 560 | ||
132 | #define OP_4X_PS_MERGE10 592 | ||
133 | #define OP_4X_PS_MERGE11 624 | ||
134 | |||
135 | #define SCALAR_NONE 0 | ||
136 | #define SCALAR_HIGH (1 << 0) | ||
137 | #define SCALAR_LOW (1 << 1) | ||
138 | #define SCALAR_NO_PS0 (1 << 2) | ||
139 | #define SCALAR_NO_PS1 (1 << 3) | ||
140 | |||
141 | #define GQR_ST_TYPE_MASK 0x00000007 | ||
142 | #define GQR_ST_TYPE_SHIFT 0 | ||
143 | #define GQR_ST_SCALE_MASK 0x00003f00 | ||
144 | #define GQR_ST_SCALE_SHIFT 8 | ||
145 | #define GQR_LD_TYPE_MASK 0x00070000 | ||
146 | #define GQR_LD_TYPE_SHIFT 16 | ||
147 | #define GQR_LD_SCALE_MASK 0x3f000000 | ||
148 | #define GQR_LD_SCALE_SHIFT 24 | ||
149 | |||
150 | #define GQR_QUANTIZE_FLOAT 0 | ||
151 | #define GQR_QUANTIZE_U8 4 | ||
152 | #define GQR_QUANTIZE_U16 5 | ||
153 | #define GQR_QUANTIZE_S8 6 | ||
154 | #define GQR_QUANTIZE_S16 7 | ||
155 | |||
156 | #define FPU_LS_SINGLE 0 | ||
157 | #define FPU_LS_DOUBLE 1 | ||
158 | #define FPU_LS_SINGLE_LOW 2 | ||
159 | |||
160 | static inline void kvmppc_sync_qpr(struct kvm_vcpu *vcpu, int rt) | ||
161 | { | ||
162 | kvm_cvt_df(&vcpu->arch.fpr[rt], &vcpu->arch.qpr[rt], &vcpu->arch.fpscr); | ||
163 | } | ||
164 | |||
165 | static void kvmppc_inject_pf(struct kvm_vcpu *vcpu, ulong eaddr, bool is_store) | ||
166 | { | ||
167 | u64 dsisr; | ||
168 | |||
169 | vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 33, 36, 0); | ||
170 | vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 42, 47, 0); | ||
171 | vcpu->arch.dear = eaddr; | ||
172 | /* Page Fault */ | ||
173 | dsisr = kvmppc_set_field(0, 33, 33, 1); | ||
174 | if (is_store) | ||
175 | to_book3s(vcpu)->dsisr = kvmppc_set_field(dsisr, 38, 38, 1); | ||
176 | kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_DATA_STORAGE); | ||
177 | } | ||
178 | |||
179 | static int kvmppc_emulate_fpr_load(struct kvm_run *run, struct kvm_vcpu *vcpu, | ||
180 | int rs, ulong addr, int ls_type) | ||
181 | { | ||
182 | int emulated = EMULATE_FAIL; | ||
183 | int r; | ||
184 | char tmp[8]; | ||
185 | int len = sizeof(u32); | ||
186 | |||
187 | if (ls_type == FPU_LS_DOUBLE) | ||
188 | len = sizeof(u64); | ||
189 | |||
190 | /* read from memory */ | ||
191 | r = kvmppc_ld(vcpu, &addr, len, tmp, true); | ||
192 | vcpu->arch.paddr_accessed = addr; | ||
193 | |||
194 | if (r < 0) { | ||
195 | kvmppc_inject_pf(vcpu, addr, false); | ||
196 | goto done_load; | ||
197 | } else if (r == EMULATE_DO_MMIO) { | ||
198 | emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FPR | rs, len, 1); | ||
199 | goto done_load; | ||
200 | } | ||
201 | |||
202 | emulated = EMULATE_DONE; | ||
203 | |||
204 | /* put in registers */ | ||
205 | switch (ls_type) { | ||
206 | case FPU_LS_SINGLE: | ||
207 | kvm_cvt_fd((u32*)tmp, &vcpu->arch.fpr[rs], &vcpu->arch.fpscr); | ||
208 | vcpu->arch.qpr[rs] = *((u32*)tmp); | ||
209 | break; | ||
210 | case FPU_LS_DOUBLE: | ||
211 | vcpu->arch.fpr[rs] = *((u64*)tmp); | ||
212 | break; | ||
213 | } | ||
214 | |||
215 | dprintk(KERN_INFO "KVM: FPR_LD [0x%llx] at 0x%lx (%d)\n", *(u64*)tmp, | ||
216 | addr, len); | ||
217 | |||
218 | done_load: | ||
219 | return emulated; | ||
220 | } | ||
221 | |||
222 | static int kvmppc_emulate_fpr_store(struct kvm_run *run, struct kvm_vcpu *vcpu, | ||
223 | int rs, ulong addr, int ls_type) | ||
224 | { | ||
225 | int emulated = EMULATE_FAIL; | ||
226 | int r; | ||
227 | char tmp[8]; | ||
228 | u64 val; | ||
229 | int len; | ||
230 | |||
231 | switch (ls_type) { | ||
232 | case FPU_LS_SINGLE: | ||
233 | kvm_cvt_df(&vcpu->arch.fpr[rs], (u32*)tmp, &vcpu->arch.fpscr); | ||
234 | val = *((u32*)tmp); | ||
235 | len = sizeof(u32); | ||
236 | break; | ||
237 | case FPU_LS_SINGLE_LOW: | ||
238 | *((u32*)tmp) = vcpu->arch.fpr[rs]; | ||
239 | val = vcpu->arch.fpr[rs] & 0xffffffff; | ||
240 | len = sizeof(u32); | ||
241 | break; | ||
242 | case FPU_LS_DOUBLE: | ||
243 | *((u64*)tmp) = vcpu->arch.fpr[rs]; | ||
244 | val = vcpu->arch.fpr[rs]; | ||
245 | len = sizeof(u64); | ||
246 | break; | ||
247 | default: | ||
248 | val = 0; | ||
249 | len = 0; | ||
250 | } | ||
251 | |||
252 | r = kvmppc_st(vcpu, &addr, len, tmp, true); | ||
253 | vcpu->arch.paddr_accessed = addr; | ||
254 | if (r < 0) { | ||
255 | kvmppc_inject_pf(vcpu, addr, true); | ||
256 | } else if (r == EMULATE_DO_MMIO) { | ||
257 | emulated = kvmppc_handle_store(run, vcpu, val, len, 1); | ||
258 | } else { | ||
259 | emulated = EMULATE_DONE; | ||
260 | } | ||
261 | |||
262 | dprintk(KERN_INFO "KVM: FPR_ST [0x%llx] at 0x%lx (%d)\n", | ||
263 | val, addr, len); | ||
264 | |||
265 | return emulated; | ||
266 | } | ||
267 | |||
268 | static int kvmppc_emulate_psq_load(struct kvm_run *run, struct kvm_vcpu *vcpu, | ||
269 | int rs, ulong addr, bool w, int i) | ||
270 | { | ||
271 | int emulated = EMULATE_FAIL; | ||
272 | int r; | ||
273 | float one = 1.0; | ||
274 | u32 tmp[2]; | ||
275 | |||
276 | /* read from memory */ | ||
277 | if (w) { | ||
278 | r = kvmppc_ld(vcpu, &addr, sizeof(u32), tmp, true); | ||
279 | memcpy(&tmp[1], &one, sizeof(u32)); | ||
280 | } else { | ||
281 | r = kvmppc_ld(vcpu, &addr, sizeof(u32) * 2, tmp, true); | ||
282 | } | ||
283 | vcpu->arch.paddr_accessed = addr; | ||
284 | if (r < 0) { | ||
285 | kvmppc_inject_pf(vcpu, addr, false); | ||
286 | goto done_load; | ||
287 | } else if ((r == EMULATE_DO_MMIO) && w) { | ||
288 | emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FPR | rs, 4, 1); | ||
289 | vcpu->arch.qpr[rs] = tmp[1]; | ||
290 | goto done_load; | ||
291 | } else if (r == EMULATE_DO_MMIO) { | ||
292 | emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FQPR | rs, 8, 1); | ||
293 | goto done_load; | ||
294 | } | ||
295 | |||
296 | emulated = EMULATE_DONE; | ||
297 | |||
298 | /* put in registers */ | ||
299 | kvm_cvt_fd(&tmp[0], &vcpu->arch.fpr[rs], &vcpu->arch.fpscr); | ||
300 | vcpu->arch.qpr[rs] = tmp[1]; | ||
301 | |||
302 | dprintk(KERN_INFO "KVM: PSQ_LD [0x%x, 0x%x] at 0x%lx (%d)\n", tmp[0], | ||
303 | tmp[1], addr, w ? 4 : 8); | ||
304 | |||
305 | done_load: | ||
306 | return emulated; | ||
307 | } | ||
308 | |||
309 | static int kvmppc_emulate_psq_store(struct kvm_run *run, struct kvm_vcpu *vcpu, | ||
310 | int rs, ulong addr, bool w, int i) | ||
311 | { | ||
312 | int emulated = EMULATE_FAIL; | ||
313 | int r; | ||
314 | u32 tmp[2]; | ||
315 | int len = w ? sizeof(u32) : sizeof(u64); | ||
316 | |||
317 | kvm_cvt_df(&vcpu->arch.fpr[rs], &tmp[0], &vcpu->arch.fpscr); | ||
318 | tmp[1] = vcpu->arch.qpr[rs]; | ||
319 | |||
320 | r = kvmppc_st(vcpu, &addr, len, tmp, true); | ||
321 | vcpu->arch.paddr_accessed = addr; | ||
322 | if (r < 0) { | ||
323 | kvmppc_inject_pf(vcpu, addr, true); | ||
324 | } else if ((r == EMULATE_DO_MMIO) && w) { | ||
325 | emulated = kvmppc_handle_store(run, vcpu, tmp[0], 4, 1); | ||
326 | } else if (r == EMULATE_DO_MMIO) { | ||
327 | u64 val = ((u64)tmp[0] << 32) | tmp[1]; | ||
328 | emulated = kvmppc_handle_store(run, vcpu, val, 8, 1); | ||
329 | } else { | ||
330 | emulated = EMULATE_DONE; | ||
331 | } | ||
332 | |||
333 | dprintk(KERN_INFO "KVM: PSQ_ST [0x%x, 0x%x] at 0x%lx (%d)\n", | ||
334 | tmp[0], tmp[1], addr, len); | ||
335 | |||
336 | return emulated; | ||
337 | } | ||
338 | |||
339 | /* | ||
340 | * Cuts out inst bits with ordering according to spec. | ||
341 | * That means the leftmost bit is zero. All given bits are included. | ||
342 | */ | ||
343 | static inline u32 inst_get_field(u32 inst, int msb, int lsb) | ||
344 | { | ||
345 | return kvmppc_get_field(inst, msb + 32, lsb + 32); | ||
346 | } | ||
347 | |||
348 | /* | ||
349 | * Replaces inst bits with ordering according to spec. | ||
350 | */ | ||
351 | static inline u32 inst_set_field(u32 inst, int msb, int lsb, int value) | ||
352 | { | ||
353 | return kvmppc_set_field(inst, msb + 32, lsb + 32, value); | ||
354 | } | ||
355 | |||
356 | bool kvmppc_inst_is_paired_single(struct kvm_vcpu *vcpu, u32 inst) | ||
357 | { | ||
358 | if (!(vcpu->arch.hflags & BOOK3S_HFLAG_PAIRED_SINGLE)) | ||
359 | return false; | ||
360 | |||
361 | switch (get_op(inst)) { | ||
362 | case OP_PSQ_L: | ||
363 | case OP_PSQ_LU: | ||
364 | case OP_PSQ_ST: | ||
365 | case OP_PSQ_STU: | ||
366 | case OP_LFS: | ||
367 | case OP_LFSU: | ||
368 | case OP_LFD: | ||
369 | case OP_LFDU: | ||
370 | case OP_STFS: | ||
371 | case OP_STFSU: | ||
372 | case OP_STFD: | ||
373 | case OP_STFDU: | ||
374 | return true; | ||
375 | case 4: | ||
376 | /* X form */ | ||
377 | switch (inst_get_field(inst, 21, 30)) { | ||
378 | case OP_4X_PS_CMPU0: | ||
379 | case OP_4X_PSQ_LX: | ||
380 | case OP_4X_PS_CMPO0: | ||
381 | case OP_4X_PSQ_LUX: | ||
382 | case OP_4X_PS_NEG: | ||
383 | case OP_4X_PS_CMPU1: | ||
384 | case OP_4X_PS_MR: | ||
385 | case OP_4X_PS_CMPO1: | ||
386 | case OP_4X_PS_NABS: | ||
387 | case OP_4X_PS_ABS: | ||
388 | case OP_4X_PS_MERGE00: | ||
389 | case OP_4X_PS_MERGE01: | ||
390 | case OP_4X_PS_MERGE10: | ||
391 | case OP_4X_PS_MERGE11: | ||
392 | return true; | ||
393 | } | ||
394 | /* XW form */ | ||
395 | switch (inst_get_field(inst, 25, 30)) { | ||
396 | case OP_4XW_PSQ_STX: | ||
397 | case OP_4XW_PSQ_STUX: | ||
398 | return true; | ||
399 | } | ||
400 | /* A form */ | ||
401 | switch (inst_get_field(inst, 26, 30)) { | ||
402 | case OP_4A_PS_SUM1: | ||
403 | case OP_4A_PS_SUM0: | ||
404 | case OP_4A_PS_MULS0: | ||
405 | case OP_4A_PS_MULS1: | ||
406 | case OP_4A_PS_MADDS0: | ||
407 | case OP_4A_PS_MADDS1: | ||
408 | case OP_4A_PS_DIV: | ||
409 | case OP_4A_PS_SUB: | ||
410 | case OP_4A_PS_ADD: | ||
411 | case OP_4A_PS_SEL: | ||
412 | case OP_4A_PS_RES: | ||
413 | case OP_4A_PS_MUL: | ||
414 | case OP_4A_PS_RSQRTE: | ||
415 | case OP_4A_PS_MSUB: | ||
416 | case OP_4A_PS_MADD: | ||
417 | case OP_4A_PS_NMSUB: | ||
418 | case OP_4A_PS_NMADD: | ||
419 | return true; | ||
420 | } | ||
421 | break; | ||
422 | case 59: | ||
423 | switch (inst_get_field(inst, 21, 30)) { | ||
424 | case OP_59_FADDS: | ||
425 | case OP_59_FSUBS: | ||
426 | case OP_59_FDIVS: | ||
427 | case OP_59_FRES: | ||
428 | case OP_59_FRSQRTES: | ||
429 | return true; | ||
430 | } | ||
431 | switch (inst_get_field(inst, 26, 30)) { | ||
432 | case OP_59_FMULS: | ||
433 | case OP_59_FMSUBS: | ||
434 | case OP_59_FMADDS: | ||
435 | case OP_59_FNMSUBS: | ||
436 | case OP_59_FNMADDS: | ||
437 | return true; | ||
438 | } | ||
439 | break; | ||
440 | case 63: | ||
441 | switch (inst_get_field(inst, 21, 30)) { | ||
442 | case OP_63_MTFSB0: | ||
443 | case OP_63_MTFSB1: | ||
444 | case OP_63_MTFSF: | ||
445 | case OP_63_MTFSFI: | ||
446 | case OP_63_MCRFS: | ||
447 | case OP_63_MFFS: | ||
448 | case OP_63_FCMPU: | ||
449 | case OP_63_FCMPO: | ||
450 | case OP_63_FNEG: | ||
451 | case OP_63_FMR: | ||
452 | case OP_63_FABS: | ||
453 | case OP_63_FRSP: | ||
454 | case OP_63_FDIV: | ||
455 | case OP_63_FADD: | ||
456 | case OP_63_FSUB: | ||
457 | case OP_63_FCTIW: | ||
458 | case OP_63_FCTIWZ: | ||
459 | case OP_63_FRSQRTE: | ||
460 | case OP_63_FCPSGN: | ||
461 | return true; | ||
462 | } | ||
463 | switch (inst_get_field(inst, 26, 30)) { | ||
464 | case OP_63_FMUL: | ||
465 | case OP_63_FSEL: | ||
466 | case OP_63_FMSUB: | ||
467 | case OP_63_FMADD: | ||
468 | case OP_63_FNMSUB: | ||
469 | case OP_63_FNMADD: | ||
470 | return true; | ||
471 | } | ||
472 | break; | ||
473 | case 31: | ||
474 | switch (inst_get_field(inst, 21, 30)) { | ||
475 | case OP_31_LFSX: | ||
476 | case OP_31_LFSUX: | ||
477 | case OP_31_LFDX: | ||
478 | case OP_31_LFDUX: | ||
479 | case OP_31_STFSX: | ||
480 | case OP_31_STFSUX: | ||
481 | case OP_31_STFX: | ||
482 | case OP_31_STFUX: | ||
483 | case OP_31_STFIWX: | ||
484 | return true; | ||
485 | } | ||
486 | break; | ||
487 | } | ||
488 | |||
489 | return false; | ||
490 | } | ||
491 | |||
492 | static int get_d_signext(u32 inst) | ||
493 | { | ||
494 | int d = inst & 0x8ff; | ||
495 | |||
496 | if (d & 0x800) | ||
497 | return -(d & 0x7ff); | ||
498 | |||
499 | return (d & 0x7ff); | ||
500 | } | ||
501 | |||
502 | static int kvmppc_ps_three_in(struct kvm_vcpu *vcpu, bool rc, | ||
503 | int reg_out, int reg_in1, int reg_in2, | ||
504 | int reg_in3, int scalar, | ||
505 | void (*func)(u64 *fpscr, | ||
506 | u32 *dst, u32 *src1, | ||
507 | u32 *src2, u32 *src3)) | ||
508 | { | ||
509 | u32 *qpr = vcpu->arch.qpr; | ||
510 | u64 *fpr = vcpu->arch.fpr; | ||
511 | u32 ps0_out; | ||
512 | u32 ps0_in1, ps0_in2, ps0_in3; | ||
513 | u32 ps1_in1, ps1_in2, ps1_in3; | ||
514 | |||
515 | /* RC */ | ||
516 | WARN_ON(rc); | ||
517 | |||
518 | /* PS0 */ | ||
519 | kvm_cvt_df(&fpr[reg_in1], &ps0_in1, &vcpu->arch.fpscr); | ||
520 | kvm_cvt_df(&fpr[reg_in2], &ps0_in2, &vcpu->arch.fpscr); | ||
521 | kvm_cvt_df(&fpr[reg_in3], &ps0_in3, &vcpu->arch.fpscr); | ||
522 | |||
523 | if (scalar & SCALAR_LOW) | ||
524 | ps0_in2 = qpr[reg_in2]; | ||
525 | |||
526 | func(&vcpu->arch.fpscr, &ps0_out, &ps0_in1, &ps0_in2, &ps0_in3); | ||
527 | |||
528 | dprintk(KERN_INFO "PS3 ps0 -> f(0x%x, 0x%x, 0x%x) = 0x%x\n", | ||
529 | ps0_in1, ps0_in2, ps0_in3, ps0_out); | ||
530 | |||
531 | if (!(scalar & SCALAR_NO_PS0)) | ||
532 | kvm_cvt_fd(&ps0_out, &fpr[reg_out], &vcpu->arch.fpscr); | ||
533 | |||
534 | /* PS1 */ | ||
535 | ps1_in1 = qpr[reg_in1]; | ||
536 | ps1_in2 = qpr[reg_in2]; | ||
537 | ps1_in3 = qpr[reg_in3]; | ||
538 | |||
539 | if (scalar & SCALAR_HIGH) | ||
540 | ps1_in2 = ps0_in2; | ||
541 | |||
542 | if (!(scalar & SCALAR_NO_PS1)) | ||
543 | func(&vcpu->arch.fpscr, &qpr[reg_out], &ps1_in1, &ps1_in2, &ps1_in3); | ||
544 | |||
545 | dprintk(KERN_INFO "PS3 ps1 -> f(0x%x, 0x%x, 0x%x) = 0x%x\n", | ||
546 | ps1_in1, ps1_in2, ps1_in3, qpr[reg_out]); | ||
547 | |||
548 | return EMULATE_DONE; | ||
549 | } | ||
550 | |||
551 | static int kvmppc_ps_two_in(struct kvm_vcpu *vcpu, bool rc, | ||
552 | int reg_out, int reg_in1, int reg_in2, | ||
553 | int scalar, | ||
554 | void (*func)(u64 *fpscr, | ||
555 | u32 *dst, u32 *src1, | ||
556 | u32 *src2)) | ||
557 | { | ||
558 | u32 *qpr = vcpu->arch.qpr; | ||
559 | u64 *fpr = vcpu->arch.fpr; | ||
560 | u32 ps0_out; | ||
561 | u32 ps0_in1, ps0_in2; | ||
562 | u32 ps1_out; | ||
563 | u32 ps1_in1, ps1_in2; | ||
564 | |||
565 | /* RC */ | ||
566 | WARN_ON(rc); | ||
567 | |||
568 | /* PS0 */ | ||
569 | kvm_cvt_df(&fpr[reg_in1], &ps0_in1, &vcpu->arch.fpscr); | ||
570 | |||
571 | if (scalar & SCALAR_LOW) | ||
572 | ps0_in2 = qpr[reg_in2]; | ||
573 | else | ||
574 | kvm_cvt_df(&fpr[reg_in2], &ps0_in2, &vcpu->arch.fpscr); | ||
575 | |||
576 | func(&vcpu->arch.fpscr, &ps0_out, &ps0_in1, &ps0_in2); | ||
577 | |||
578 | if (!(scalar & SCALAR_NO_PS0)) { | ||
579 | dprintk(KERN_INFO "PS2 ps0 -> f(0x%x, 0x%x) = 0x%x\n", | ||
580 | ps0_in1, ps0_in2, ps0_out); | ||
581 | |||
582 | kvm_cvt_fd(&ps0_out, &fpr[reg_out], &vcpu->arch.fpscr); | ||
583 | } | ||
584 | |||
585 | /* PS1 */ | ||
586 | ps1_in1 = qpr[reg_in1]; | ||
587 | ps1_in2 = qpr[reg_in2]; | ||
588 | |||
589 | if (scalar & SCALAR_HIGH) | ||
590 | ps1_in2 = ps0_in2; | ||
591 | |||
592 | func(&vcpu->arch.fpscr, &ps1_out, &ps1_in1, &ps1_in2); | ||
593 | |||
594 | if (!(scalar & SCALAR_NO_PS1)) { | ||
595 | qpr[reg_out] = ps1_out; | ||
596 | |||
597 | dprintk(KERN_INFO "PS2 ps1 -> f(0x%x, 0x%x) = 0x%x\n", | ||
598 | ps1_in1, ps1_in2, qpr[reg_out]); | ||
599 | } | ||
600 | |||
601 | return EMULATE_DONE; | ||
602 | } | ||
603 | |||
604 | static int kvmppc_ps_one_in(struct kvm_vcpu *vcpu, bool rc, | ||
605 | int reg_out, int reg_in, | ||
606 | void (*func)(u64 *t, | ||
607 | u32 *dst, u32 *src1)) | ||
608 | { | ||
609 | u32 *qpr = vcpu->arch.qpr; | ||
610 | u64 *fpr = vcpu->arch.fpr; | ||
611 | u32 ps0_out, ps0_in; | ||
612 | u32 ps1_in; | ||
613 | |||
614 | /* RC */ | ||
615 | WARN_ON(rc); | ||
616 | |||
617 | /* PS0 */ | ||
618 | kvm_cvt_df(&fpr[reg_in], &ps0_in, &vcpu->arch.fpscr); | ||
619 | func(&vcpu->arch.fpscr, &ps0_out, &ps0_in); | ||
620 | |||
621 | dprintk(KERN_INFO "PS1 ps0 -> f(0x%x) = 0x%x\n", | ||
622 | ps0_in, ps0_out); | ||
623 | |||
624 | kvm_cvt_fd(&ps0_out, &fpr[reg_out], &vcpu->arch.fpscr); | ||
625 | |||
626 | /* PS1 */ | ||
627 | ps1_in = qpr[reg_in]; | ||
628 | func(&vcpu->arch.fpscr, &qpr[reg_out], &ps1_in); | ||
629 | |||
630 | dprintk(KERN_INFO "PS1 ps1 -> f(0x%x) = 0x%x\n", | ||
631 | ps1_in, qpr[reg_out]); | ||
632 | |||
633 | return EMULATE_DONE; | ||
634 | } | ||
635 | |||
636 | int kvmppc_emulate_paired_single(struct kvm_run *run, struct kvm_vcpu *vcpu) | ||
637 | { | ||
638 | u32 inst = kvmppc_get_last_inst(vcpu); | ||
639 | enum emulation_result emulated = EMULATE_DONE; | ||
640 | |||
641 | int ax_rd = inst_get_field(inst, 6, 10); | ||
642 | int ax_ra = inst_get_field(inst, 11, 15); | ||
643 | int ax_rb = inst_get_field(inst, 16, 20); | ||
644 | int ax_rc = inst_get_field(inst, 21, 25); | ||
645 | short full_d = inst_get_field(inst, 16, 31); | ||
646 | |||
647 | u64 *fpr_d = &vcpu->arch.fpr[ax_rd]; | ||
648 | u64 *fpr_a = &vcpu->arch.fpr[ax_ra]; | ||
649 | u64 *fpr_b = &vcpu->arch.fpr[ax_rb]; | ||
650 | u64 *fpr_c = &vcpu->arch.fpr[ax_rc]; | ||
651 | |||
652 | bool rcomp = (inst & 1) ? true : false; | ||
653 | u32 cr = kvmppc_get_cr(vcpu); | ||
654 | #ifdef DEBUG | ||
655 | int i; | ||
656 | #endif | ||
657 | |||
658 | if (!kvmppc_inst_is_paired_single(vcpu, inst)) | ||
659 | return EMULATE_FAIL; | ||
660 | |||
661 | if (!(vcpu->arch.msr & MSR_FP)) { | ||
662 | kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_FP_UNAVAIL); | ||
663 | return EMULATE_AGAIN; | ||
664 | } | ||
665 | |||
666 | kvmppc_giveup_ext(vcpu, MSR_FP); | ||
667 | preempt_disable(); | ||
668 | enable_kernel_fp(); | ||
669 | /* Do we need to clear FE0 / FE1 here? Don't think so. */ | ||
670 | |||
671 | #ifdef DEBUG | ||
672 | for (i = 0; i < ARRAY_SIZE(vcpu->arch.fpr); i++) { | ||
673 | u32 f; | ||
674 | kvm_cvt_df(&vcpu->arch.fpr[i], &f, &vcpu->arch.fpscr); | ||
675 | dprintk(KERN_INFO "FPR[%d] = 0x%x / 0x%llx QPR[%d] = 0x%x\n", | ||
676 | i, f, vcpu->arch.fpr[i], i, vcpu->arch.qpr[i]); | ||
677 | } | ||
678 | #endif | ||
679 | |||
680 | switch (get_op(inst)) { | ||
681 | case OP_PSQ_L: | ||
682 | { | ||
683 | ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0; | ||
684 | bool w = inst_get_field(inst, 16, 16) ? true : false; | ||
685 | int i = inst_get_field(inst, 17, 19); | ||
686 | |||
687 | addr += get_d_signext(inst); | ||
688 | emulated = kvmppc_emulate_psq_load(run, vcpu, ax_rd, addr, w, i); | ||
689 | break; | ||
690 | } | ||
691 | case OP_PSQ_LU: | ||
692 | { | ||
693 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra); | ||
694 | bool w = inst_get_field(inst, 16, 16) ? true : false; | ||
695 | int i = inst_get_field(inst, 17, 19); | ||
696 | |||
697 | addr += get_d_signext(inst); | ||
698 | emulated = kvmppc_emulate_psq_load(run, vcpu, ax_rd, addr, w, i); | ||
699 | |||
700 | if (emulated == EMULATE_DONE) | ||
701 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
702 | break; | ||
703 | } | ||
704 | case OP_PSQ_ST: | ||
705 | { | ||
706 | ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0; | ||
707 | bool w = inst_get_field(inst, 16, 16) ? true : false; | ||
708 | int i = inst_get_field(inst, 17, 19); | ||
709 | |||
710 | addr += get_d_signext(inst); | ||
711 | emulated = kvmppc_emulate_psq_store(run, vcpu, ax_rd, addr, w, i); | ||
712 | break; | ||
713 | } | ||
714 | case OP_PSQ_STU: | ||
715 | { | ||
716 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra); | ||
717 | bool w = inst_get_field(inst, 16, 16) ? true : false; | ||
718 | int i = inst_get_field(inst, 17, 19); | ||
719 | |||
720 | addr += get_d_signext(inst); | ||
721 | emulated = kvmppc_emulate_psq_store(run, vcpu, ax_rd, addr, w, i); | ||
722 | |||
723 | if (emulated == EMULATE_DONE) | ||
724 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
725 | break; | ||
726 | } | ||
727 | case 4: | ||
728 | /* X form */ | ||
729 | switch (inst_get_field(inst, 21, 30)) { | ||
730 | case OP_4X_PS_CMPU0: | ||
731 | /* XXX */ | ||
732 | emulated = EMULATE_FAIL; | ||
733 | break; | ||
734 | case OP_4X_PSQ_LX: | ||
735 | { | ||
736 | ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0; | ||
737 | bool w = inst_get_field(inst, 21, 21) ? true : false; | ||
738 | int i = inst_get_field(inst, 22, 24); | ||
739 | |||
740 | addr += kvmppc_get_gpr(vcpu, ax_rb); | ||
741 | emulated = kvmppc_emulate_psq_load(run, vcpu, ax_rd, addr, w, i); | ||
742 | break; | ||
743 | } | ||
744 | case OP_4X_PS_CMPO0: | ||
745 | /* XXX */ | ||
746 | emulated = EMULATE_FAIL; | ||
747 | break; | ||
748 | case OP_4X_PSQ_LUX: | ||
749 | { | ||
750 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra); | ||
751 | bool w = inst_get_field(inst, 21, 21) ? true : false; | ||
752 | int i = inst_get_field(inst, 22, 24); | ||
753 | |||
754 | addr += kvmppc_get_gpr(vcpu, ax_rb); | ||
755 | emulated = kvmppc_emulate_psq_load(run, vcpu, ax_rd, addr, w, i); | ||
756 | |||
757 | if (emulated == EMULATE_DONE) | ||
758 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
759 | break; | ||
760 | } | ||
761 | case OP_4X_PS_NEG: | ||
762 | vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rb]; | ||
763 | vcpu->arch.fpr[ax_rd] ^= 0x8000000000000000ULL; | ||
764 | vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb]; | ||
765 | vcpu->arch.qpr[ax_rd] ^= 0x80000000; | ||
766 | break; | ||
767 | case OP_4X_PS_CMPU1: | ||
768 | /* XXX */ | ||
769 | emulated = EMULATE_FAIL; | ||
770 | break; | ||
771 | case OP_4X_PS_MR: | ||
772 | WARN_ON(rcomp); | ||
773 | vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rb]; | ||
774 | vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb]; | ||
775 | break; | ||
776 | case OP_4X_PS_CMPO1: | ||
777 | /* XXX */ | ||
778 | emulated = EMULATE_FAIL; | ||
779 | break; | ||
780 | case OP_4X_PS_NABS: | ||
781 | WARN_ON(rcomp); | ||
782 | vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rb]; | ||
783 | vcpu->arch.fpr[ax_rd] |= 0x8000000000000000ULL; | ||
784 | vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb]; | ||
785 | vcpu->arch.qpr[ax_rd] |= 0x80000000; | ||
786 | break; | ||
787 | case OP_4X_PS_ABS: | ||
788 | WARN_ON(rcomp); | ||
789 | vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rb]; | ||
790 | vcpu->arch.fpr[ax_rd] &= ~0x8000000000000000ULL; | ||
791 | vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb]; | ||
792 | vcpu->arch.qpr[ax_rd] &= ~0x80000000; | ||
793 | break; | ||
794 | case OP_4X_PS_MERGE00: | ||
795 | WARN_ON(rcomp); | ||
796 | vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_ra]; | ||
797 | /* vcpu->arch.qpr[ax_rd] = vcpu->arch.fpr[ax_rb]; */ | ||
798 | kvm_cvt_df(&vcpu->arch.fpr[ax_rb], | ||
799 | &vcpu->arch.qpr[ax_rd], | ||
800 | &vcpu->arch.fpscr); | ||
801 | break; | ||
802 | case OP_4X_PS_MERGE01: | ||
803 | WARN_ON(rcomp); | ||
804 | vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_ra]; | ||
805 | vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb]; | ||
806 | break; | ||
807 | case OP_4X_PS_MERGE10: | ||
808 | WARN_ON(rcomp); | ||
809 | /* vcpu->arch.fpr[ax_rd] = vcpu->arch.qpr[ax_ra]; */ | ||
810 | kvm_cvt_fd(&vcpu->arch.qpr[ax_ra], | ||
811 | &vcpu->arch.fpr[ax_rd], | ||
812 | &vcpu->arch.fpscr); | ||
813 | /* vcpu->arch.qpr[ax_rd] = vcpu->arch.fpr[ax_rb]; */ | ||
814 | kvm_cvt_df(&vcpu->arch.fpr[ax_rb], | ||
815 | &vcpu->arch.qpr[ax_rd], | ||
816 | &vcpu->arch.fpscr); | ||
817 | break; | ||
818 | case OP_4X_PS_MERGE11: | ||
819 | WARN_ON(rcomp); | ||
820 | /* vcpu->arch.fpr[ax_rd] = vcpu->arch.qpr[ax_ra]; */ | ||
821 | kvm_cvt_fd(&vcpu->arch.qpr[ax_ra], | ||
822 | &vcpu->arch.fpr[ax_rd], | ||
823 | &vcpu->arch.fpscr); | ||
824 | vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb]; | ||
825 | break; | ||
826 | } | ||
827 | /* XW form */ | ||
828 | switch (inst_get_field(inst, 25, 30)) { | ||
829 | case OP_4XW_PSQ_STX: | ||
830 | { | ||
831 | ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0; | ||
832 | bool w = inst_get_field(inst, 21, 21) ? true : false; | ||
833 | int i = inst_get_field(inst, 22, 24); | ||
834 | |||
835 | addr += kvmppc_get_gpr(vcpu, ax_rb); | ||
836 | emulated = kvmppc_emulate_psq_store(run, vcpu, ax_rd, addr, w, i); | ||
837 | break; | ||
838 | } | ||
839 | case OP_4XW_PSQ_STUX: | ||
840 | { | ||
841 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra); | ||
842 | bool w = inst_get_field(inst, 21, 21) ? true : false; | ||
843 | int i = inst_get_field(inst, 22, 24); | ||
844 | |||
845 | addr += kvmppc_get_gpr(vcpu, ax_rb); | ||
846 | emulated = kvmppc_emulate_psq_store(run, vcpu, ax_rd, addr, w, i); | ||
847 | |||
848 | if (emulated == EMULATE_DONE) | ||
849 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
850 | break; | ||
851 | } | ||
852 | } | ||
853 | /* A form */ | ||
854 | switch (inst_get_field(inst, 26, 30)) { | ||
855 | case OP_4A_PS_SUM1: | ||
856 | emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd, | ||
857 | ax_rb, ax_ra, SCALAR_NO_PS0 | SCALAR_HIGH, fps_fadds); | ||
858 | vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rc]; | ||
859 | break; | ||
860 | case OP_4A_PS_SUM0: | ||
861 | emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd, | ||
862 | ax_ra, ax_rb, SCALAR_NO_PS1 | SCALAR_LOW, fps_fadds); | ||
863 | vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rc]; | ||
864 | break; | ||
865 | case OP_4A_PS_MULS0: | ||
866 | emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd, | ||
867 | ax_ra, ax_rc, SCALAR_HIGH, fps_fmuls); | ||
868 | break; | ||
869 | case OP_4A_PS_MULS1: | ||
870 | emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd, | ||
871 | ax_ra, ax_rc, SCALAR_LOW, fps_fmuls); | ||
872 | break; | ||
873 | case OP_4A_PS_MADDS0: | ||
874 | emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd, | ||
875 | ax_ra, ax_rc, ax_rb, SCALAR_HIGH, fps_fmadds); | ||
876 | break; | ||
877 | case OP_4A_PS_MADDS1: | ||
878 | emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd, | ||
879 | ax_ra, ax_rc, ax_rb, SCALAR_LOW, fps_fmadds); | ||
880 | break; | ||
881 | case OP_4A_PS_DIV: | ||
882 | emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd, | ||
883 | ax_ra, ax_rb, SCALAR_NONE, fps_fdivs); | ||
884 | break; | ||
885 | case OP_4A_PS_SUB: | ||
886 | emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd, | ||
887 | ax_ra, ax_rb, SCALAR_NONE, fps_fsubs); | ||
888 | break; | ||
889 | case OP_4A_PS_ADD: | ||
890 | emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd, | ||
891 | ax_ra, ax_rb, SCALAR_NONE, fps_fadds); | ||
892 | break; | ||
893 | case OP_4A_PS_SEL: | ||
894 | emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd, | ||
895 | ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fsel); | ||
896 | break; | ||
897 | case OP_4A_PS_RES: | ||
898 | emulated = kvmppc_ps_one_in(vcpu, rcomp, ax_rd, | ||
899 | ax_rb, fps_fres); | ||
900 | break; | ||
901 | case OP_4A_PS_MUL: | ||
902 | emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd, | ||
903 | ax_ra, ax_rc, SCALAR_NONE, fps_fmuls); | ||
904 | break; | ||
905 | case OP_4A_PS_RSQRTE: | ||
906 | emulated = kvmppc_ps_one_in(vcpu, rcomp, ax_rd, | ||
907 | ax_rb, fps_frsqrte); | ||
908 | break; | ||
909 | case OP_4A_PS_MSUB: | ||
910 | emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd, | ||
911 | ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fmsubs); | ||
912 | break; | ||
913 | case OP_4A_PS_MADD: | ||
914 | emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd, | ||
915 | ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fmadds); | ||
916 | break; | ||
917 | case OP_4A_PS_NMSUB: | ||
918 | emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd, | ||
919 | ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fnmsubs); | ||
920 | break; | ||
921 | case OP_4A_PS_NMADD: | ||
922 | emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd, | ||
923 | ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fnmadds); | ||
924 | break; | ||
925 | } | ||
926 | break; | ||
927 | |||
928 | /* Real FPU operations */ | ||
929 | |||
930 | case OP_LFS: | ||
931 | { | ||
932 | ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + full_d; | ||
933 | |||
934 | emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, addr, | ||
935 | FPU_LS_SINGLE); | ||
936 | break; | ||
937 | } | ||
938 | case OP_LFSU: | ||
939 | { | ||
940 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + full_d; | ||
941 | |||
942 | emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, addr, | ||
943 | FPU_LS_SINGLE); | ||
944 | |||
945 | if (emulated == EMULATE_DONE) | ||
946 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
947 | break; | ||
948 | } | ||
949 | case OP_LFD: | ||
950 | { | ||
951 | ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + full_d; | ||
952 | |||
953 | emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, addr, | ||
954 | FPU_LS_DOUBLE); | ||
955 | break; | ||
956 | } | ||
957 | case OP_LFDU: | ||
958 | { | ||
959 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + full_d; | ||
960 | |||
961 | emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, addr, | ||
962 | FPU_LS_DOUBLE); | ||
963 | |||
964 | if (emulated == EMULATE_DONE) | ||
965 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
966 | break; | ||
967 | } | ||
968 | case OP_STFS: | ||
969 | { | ||
970 | ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + full_d; | ||
971 | |||
972 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, addr, | ||
973 | FPU_LS_SINGLE); | ||
974 | break; | ||
975 | } | ||
976 | case OP_STFSU: | ||
977 | { | ||
978 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + full_d; | ||
979 | |||
980 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, addr, | ||
981 | FPU_LS_SINGLE); | ||
982 | |||
983 | if (emulated == EMULATE_DONE) | ||
984 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
985 | break; | ||
986 | } | ||
987 | case OP_STFD: | ||
988 | { | ||
989 | ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + full_d; | ||
990 | |||
991 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, addr, | ||
992 | FPU_LS_DOUBLE); | ||
993 | break; | ||
994 | } | ||
995 | case OP_STFDU: | ||
996 | { | ||
997 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + full_d; | ||
998 | |||
999 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, addr, | ||
1000 | FPU_LS_DOUBLE); | ||
1001 | |||
1002 | if (emulated == EMULATE_DONE) | ||
1003 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
1004 | break; | ||
1005 | } | ||
1006 | case 31: | ||
1007 | switch (inst_get_field(inst, 21, 30)) { | ||
1008 | case OP_31_LFSX: | ||
1009 | { | ||
1010 | ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0; | ||
1011 | |||
1012 | addr += kvmppc_get_gpr(vcpu, ax_rb); | ||
1013 | emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, | ||
1014 | addr, FPU_LS_SINGLE); | ||
1015 | break; | ||
1016 | } | ||
1017 | case OP_31_LFSUX: | ||
1018 | { | ||
1019 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + | ||
1020 | kvmppc_get_gpr(vcpu, ax_rb); | ||
1021 | |||
1022 | emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, | ||
1023 | addr, FPU_LS_SINGLE); | ||
1024 | |||
1025 | if (emulated == EMULATE_DONE) | ||
1026 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
1027 | break; | ||
1028 | } | ||
1029 | case OP_31_LFDX: | ||
1030 | { | ||
1031 | ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + | ||
1032 | kvmppc_get_gpr(vcpu, ax_rb); | ||
1033 | |||
1034 | emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, | ||
1035 | addr, FPU_LS_DOUBLE); | ||
1036 | break; | ||
1037 | } | ||
1038 | case OP_31_LFDUX: | ||
1039 | { | ||
1040 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + | ||
1041 | kvmppc_get_gpr(vcpu, ax_rb); | ||
1042 | |||
1043 | emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, | ||
1044 | addr, FPU_LS_DOUBLE); | ||
1045 | |||
1046 | if (emulated == EMULATE_DONE) | ||
1047 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
1048 | break; | ||
1049 | } | ||
1050 | case OP_31_STFSX: | ||
1051 | { | ||
1052 | ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + | ||
1053 | kvmppc_get_gpr(vcpu, ax_rb); | ||
1054 | |||
1055 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, | ||
1056 | addr, FPU_LS_SINGLE); | ||
1057 | break; | ||
1058 | } | ||
1059 | case OP_31_STFSUX: | ||
1060 | { | ||
1061 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + | ||
1062 | kvmppc_get_gpr(vcpu, ax_rb); | ||
1063 | |||
1064 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, | ||
1065 | addr, FPU_LS_SINGLE); | ||
1066 | |||
1067 | if (emulated == EMULATE_DONE) | ||
1068 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
1069 | break; | ||
1070 | } | ||
1071 | case OP_31_STFX: | ||
1072 | { | ||
1073 | ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + | ||
1074 | kvmppc_get_gpr(vcpu, ax_rb); | ||
1075 | |||
1076 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, | ||
1077 | addr, FPU_LS_DOUBLE); | ||
1078 | break; | ||
1079 | } | ||
1080 | case OP_31_STFUX: | ||
1081 | { | ||
1082 | ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + | ||
1083 | kvmppc_get_gpr(vcpu, ax_rb); | ||
1084 | |||
1085 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, | ||
1086 | addr, FPU_LS_DOUBLE); | ||
1087 | |||
1088 | if (emulated == EMULATE_DONE) | ||
1089 | kvmppc_set_gpr(vcpu, ax_ra, addr); | ||
1090 | break; | ||
1091 | } | ||
1092 | case OP_31_STFIWX: | ||
1093 | { | ||
1094 | ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + | ||
1095 | kvmppc_get_gpr(vcpu, ax_rb); | ||
1096 | |||
1097 | emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, | ||
1098 | addr, | ||
1099 | FPU_LS_SINGLE_LOW); | ||
1100 | break; | ||
1101 | } | ||
1102 | break; | ||
1103 | } | ||
1104 | break; | ||
1105 | case 59: | ||
1106 | switch (inst_get_field(inst, 21, 30)) { | ||
1107 | case OP_59_FADDS: | ||
1108 | fpd_fadds(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b); | ||
1109 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1110 | break; | ||
1111 | case OP_59_FSUBS: | ||
1112 | fpd_fsubs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b); | ||
1113 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1114 | break; | ||
1115 | case OP_59_FDIVS: | ||
1116 | fpd_fdivs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b); | ||
1117 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1118 | break; | ||
1119 | case OP_59_FRES: | ||
1120 | fpd_fres(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b); | ||
1121 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1122 | break; | ||
1123 | case OP_59_FRSQRTES: | ||
1124 | fpd_frsqrtes(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b); | ||
1125 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1126 | break; | ||
1127 | } | ||
1128 | switch (inst_get_field(inst, 26, 30)) { | ||
1129 | case OP_59_FMULS: | ||
1130 | fpd_fmuls(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c); | ||
1131 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1132 | break; | ||
1133 | case OP_59_FMSUBS: | ||
1134 | fpd_fmsubs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1135 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1136 | break; | ||
1137 | case OP_59_FMADDS: | ||
1138 | fpd_fmadds(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1139 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1140 | break; | ||
1141 | case OP_59_FNMSUBS: | ||
1142 | fpd_fnmsubs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1143 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1144 | break; | ||
1145 | case OP_59_FNMADDS: | ||
1146 | fpd_fnmadds(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1147 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1148 | break; | ||
1149 | } | ||
1150 | break; | ||
1151 | case 63: | ||
1152 | switch (inst_get_field(inst, 21, 30)) { | ||
1153 | case OP_63_MTFSB0: | ||
1154 | case OP_63_MTFSB1: | ||
1155 | case OP_63_MCRFS: | ||
1156 | case OP_63_MTFSFI: | ||
1157 | /* XXX need to implement */ | ||
1158 | break; | ||
1159 | case OP_63_MFFS: | ||
1160 | /* XXX missing CR */ | ||
1161 | *fpr_d = vcpu->arch.fpscr; | ||
1162 | break; | ||
1163 | case OP_63_MTFSF: | ||
1164 | /* XXX missing fm bits */ | ||
1165 | /* XXX missing CR */ | ||
1166 | vcpu->arch.fpscr = *fpr_b; | ||
1167 | break; | ||
1168 | case OP_63_FCMPU: | ||
1169 | { | ||
1170 | u32 tmp_cr; | ||
1171 | u32 cr0_mask = 0xf0000000; | ||
1172 | u32 cr_shift = inst_get_field(inst, 6, 8) * 4; | ||
1173 | |||
1174 | fpd_fcmpu(&vcpu->arch.fpscr, &tmp_cr, fpr_a, fpr_b); | ||
1175 | cr &= ~(cr0_mask >> cr_shift); | ||
1176 | cr |= (cr & cr0_mask) >> cr_shift; | ||
1177 | break; | ||
1178 | } | ||
1179 | case OP_63_FCMPO: | ||
1180 | { | ||
1181 | u32 tmp_cr; | ||
1182 | u32 cr0_mask = 0xf0000000; | ||
1183 | u32 cr_shift = inst_get_field(inst, 6, 8) * 4; | ||
1184 | |||
1185 | fpd_fcmpo(&vcpu->arch.fpscr, &tmp_cr, fpr_a, fpr_b); | ||
1186 | cr &= ~(cr0_mask >> cr_shift); | ||
1187 | cr |= (cr & cr0_mask) >> cr_shift; | ||
1188 | break; | ||
1189 | } | ||
1190 | case OP_63_FNEG: | ||
1191 | fpd_fneg(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b); | ||
1192 | break; | ||
1193 | case OP_63_FMR: | ||
1194 | *fpr_d = *fpr_b; | ||
1195 | break; | ||
1196 | case OP_63_FABS: | ||
1197 | fpd_fabs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b); | ||
1198 | break; | ||
1199 | case OP_63_FCPSGN: | ||
1200 | fpd_fcpsgn(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b); | ||
1201 | break; | ||
1202 | case OP_63_FDIV: | ||
1203 | fpd_fdiv(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b); | ||
1204 | break; | ||
1205 | case OP_63_FADD: | ||
1206 | fpd_fadd(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b); | ||
1207 | break; | ||
1208 | case OP_63_FSUB: | ||
1209 | fpd_fsub(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b); | ||
1210 | break; | ||
1211 | case OP_63_FCTIW: | ||
1212 | fpd_fctiw(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b); | ||
1213 | break; | ||
1214 | case OP_63_FCTIWZ: | ||
1215 | fpd_fctiwz(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b); | ||
1216 | break; | ||
1217 | case OP_63_FRSP: | ||
1218 | fpd_frsp(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b); | ||
1219 | kvmppc_sync_qpr(vcpu, ax_rd); | ||
1220 | break; | ||
1221 | case OP_63_FRSQRTE: | ||
1222 | { | ||
1223 | double one = 1.0f; | ||
1224 | |||
1225 | /* fD = sqrt(fB) */ | ||
1226 | fpd_fsqrt(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b); | ||
1227 | /* fD = 1.0f / fD */ | ||
1228 | fpd_fdiv(&vcpu->arch.fpscr, &cr, fpr_d, (u64*)&one, fpr_d); | ||
1229 | break; | ||
1230 | } | ||
1231 | } | ||
1232 | switch (inst_get_field(inst, 26, 30)) { | ||
1233 | case OP_63_FMUL: | ||
1234 | fpd_fmul(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c); | ||
1235 | break; | ||
1236 | case OP_63_FSEL: | ||
1237 | fpd_fsel(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1238 | break; | ||
1239 | case OP_63_FMSUB: | ||
1240 | fpd_fmsub(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1241 | break; | ||
1242 | case OP_63_FMADD: | ||
1243 | fpd_fmadd(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1244 | break; | ||
1245 | case OP_63_FNMSUB: | ||
1246 | fpd_fnmsub(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1247 | break; | ||
1248 | case OP_63_FNMADD: | ||
1249 | fpd_fnmadd(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b); | ||
1250 | break; | ||
1251 | } | ||
1252 | break; | ||
1253 | } | ||
1254 | |||
1255 | #ifdef DEBUG | ||
1256 | for (i = 0; i < ARRAY_SIZE(vcpu->arch.fpr); i++) { | ||
1257 | u32 f; | ||
1258 | kvm_cvt_df(&vcpu->arch.fpr[i], &f, &vcpu->arch.fpscr); | ||
1259 | dprintk(KERN_INFO "FPR[%d] = 0x%x\n", i, f); | ||
1260 | } | ||
1261 | #endif | ||
1262 | |||
1263 | if (rcomp) | ||
1264 | kvmppc_set_cr(vcpu, cr); | ||
1265 | |||
1266 | preempt_enable(); | ||
1267 | |||
1268 | return emulated; | ||
1269 | } | ||
diff --git a/arch/powerpc/kvm/book3s_64_rmhandlers.S b/arch/powerpc/kvm/book3s_rmhandlers.S index c83c60ad96c5..506d5c316c96 100644 --- a/arch/powerpc/kvm/book3s_64_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_rmhandlers.S | |||
@@ -22,7 +22,10 @@ | |||
22 | #include <asm/reg.h> | 22 | #include <asm/reg.h> |
23 | #include <asm/page.h> | 23 | #include <asm/page.h> |
24 | #include <asm/asm-offsets.h> | 24 | #include <asm/asm-offsets.h> |
25 | |||
26 | #ifdef CONFIG_PPC_BOOK3S_64 | ||
25 | #include <asm/exception-64s.h> | 27 | #include <asm/exception-64s.h> |
28 | #endif | ||
26 | 29 | ||
27 | /***************************************************************************** | 30 | /***************************************************************************** |
28 | * * | 31 | * * |
@@ -30,6 +33,39 @@ | |||
30 | * * | 33 | * * |
31 | ****************************************************************************/ | 34 | ****************************************************************************/ |
32 | 35 | ||
36 | #if defined(CONFIG_PPC_BOOK3S_64) | ||
37 | |||
38 | #define LOAD_SHADOW_VCPU(reg) \ | ||
39 | mfspr reg, SPRN_SPRG_PACA | ||
40 | |||
41 | #define SHADOW_VCPU_OFF PACA_KVM_SVCPU | ||
42 | #define MSR_NOIRQ MSR_KERNEL & ~(MSR_IR | MSR_DR) | ||
43 | #define FUNC(name) GLUE(.,name) | ||
44 | |||
45 | #elif defined(CONFIG_PPC_BOOK3S_32) | ||
46 | |||
47 | #define LOAD_SHADOW_VCPU(reg) \ | ||
48 | mfspr reg, SPRN_SPRG_THREAD; \ | ||
49 | lwz reg, THREAD_KVM_SVCPU(reg); \ | ||
50 | /* PPC32 can have a NULL pointer - let's check for that */ \ | ||
51 | mtspr SPRN_SPRG_SCRATCH1, r12; /* Save r12 */ \ | ||
52 | mfcr r12; \ | ||
53 | cmpwi reg, 0; \ | ||
54 | bne 1f; \ | ||
55 | mfspr reg, SPRN_SPRG_SCRATCH0; \ | ||
56 | mtcr r12; \ | ||
57 | mfspr r12, SPRN_SPRG_SCRATCH1; \ | ||
58 | b kvmppc_resume_\intno; \ | ||
59 | 1:; \ | ||
60 | mtcr r12; \ | ||
61 | mfspr r12, SPRN_SPRG_SCRATCH1; \ | ||
62 | tophys(reg, reg) | ||
63 | |||
64 | #define SHADOW_VCPU_OFF 0 | ||
65 | #define MSR_NOIRQ MSR_KERNEL | ||
66 | #define FUNC(name) name | ||
67 | |||
68 | #endif | ||
33 | 69 | ||
34 | .macro INTERRUPT_TRAMPOLINE intno | 70 | .macro INTERRUPT_TRAMPOLINE intno |
35 | 71 | ||
@@ -42,19 +78,19 @@ kvmppc_trampoline_\intno: | |||
42 | * First thing to do is to find out if we're coming | 78 | * First thing to do is to find out if we're coming |
43 | * from a KVM guest or a Linux process. | 79 | * from a KVM guest or a Linux process. |
44 | * | 80 | * |
45 | * To distinguish, we check a magic byte in the PACA | 81 | * To distinguish, we check a magic byte in the PACA/current |
46 | */ | 82 | */ |
47 | mfspr r13, SPRN_SPRG_PACA /* r13 = PACA */ | 83 | LOAD_SHADOW_VCPU(r13) |
48 | std r12, PACA_KVM_SCRATCH0(r13) | 84 | PPC_STL r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH0)(r13) |
49 | mfcr r12 | 85 | mfcr r12 |
50 | stw r12, PACA_KVM_SCRATCH1(r13) | 86 | stw r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH1)(r13) |
51 | lbz r12, PACA_KVM_IN_GUEST(r13) | 87 | lbz r12, (SHADOW_VCPU_OFF + SVCPU_IN_GUEST)(r13) |
52 | cmpwi r12, KVM_GUEST_MODE_NONE | 88 | cmpwi r12, KVM_GUEST_MODE_NONE |
53 | bne ..kvmppc_handler_hasmagic_\intno | 89 | bne ..kvmppc_handler_hasmagic_\intno |
54 | /* No KVM guest? Then jump back to the Linux handler! */ | 90 | /* No KVM guest? Then jump back to the Linux handler! */ |
55 | lwz r12, PACA_KVM_SCRATCH1(r13) | 91 | lwz r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH1)(r13) |
56 | mtcr r12 | 92 | mtcr r12 |
57 | ld r12, PACA_KVM_SCRATCH0(r13) | 93 | PPC_LL r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH0)(r13) |
58 | mfspr r13, SPRN_SPRG_SCRATCH0 /* r13 = original r13 */ | 94 | mfspr r13, SPRN_SPRG_SCRATCH0 /* r13 = original r13 */ |
59 | b kvmppc_resume_\intno /* Get back original handler */ | 95 | b kvmppc_resume_\intno /* Get back original handler */ |
60 | 96 | ||
@@ -76,9 +112,7 @@ kvmppc_trampoline_\intno: | |||
76 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_SYSTEM_RESET | 112 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_SYSTEM_RESET |
77 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_MACHINE_CHECK | 113 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_MACHINE_CHECK |
78 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DATA_STORAGE | 114 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DATA_STORAGE |
79 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DATA_SEGMENT | ||
80 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_INST_STORAGE | 115 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_INST_STORAGE |
81 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_INST_SEGMENT | ||
82 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_EXTERNAL | 116 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_EXTERNAL |
83 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_ALIGNMENT | 117 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_ALIGNMENT |
84 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_PROGRAM | 118 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_PROGRAM |
@@ -88,7 +122,14 @@ INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_SYSCALL | |||
88 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_TRACE | 122 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_TRACE |
89 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_PERFMON | 123 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_PERFMON |
90 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_ALTIVEC | 124 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_ALTIVEC |
125 | |||
126 | /* Those are only available on 64 bit machines */ | ||
127 | |||
128 | #ifdef CONFIG_PPC_BOOK3S_64 | ||
129 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DATA_SEGMENT | ||
130 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_INST_SEGMENT | ||
91 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_VSX | 131 | INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_VSX |
132 | #endif | ||
92 | 133 | ||
93 | /* | 134 | /* |
94 | * Bring us back to the faulting code, but skip the | 135 | * Bring us back to the faulting code, but skip the |
@@ -99,11 +140,11 @@ INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_VSX | |||
99 | * | 140 | * |
100 | * Input Registers: | 141 | * Input Registers: |
101 | * | 142 | * |
102 | * R12 = free | 143 | * R12 = free |
103 | * R13 = PACA | 144 | * R13 = Shadow VCPU (PACA) |
104 | * PACA.KVM.SCRATCH0 = guest R12 | 145 | * SVCPU.SCRATCH0 = guest R12 |
105 | * PACA.KVM.SCRATCH1 = guest CR | 146 | * SVCPU.SCRATCH1 = guest CR |
106 | * SPRG_SCRATCH0 = guest R13 | 147 | * SPRG_SCRATCH0 = guest R13 |
107 | * | 148 | * |
108 | */ | 149 | */ |
109 | kvmppc_handler_skip_ins: | 150 | kvmppc_handler_skip_ins: |
@@ -114,9 +155,9 @@ kvmppc_handler_skip_ins: | |||
114 | mtsrr0 r12 | 155 | mtsrr0 r12 |
115 | 156 | ||
116 | /* Clean up all state */ | 157 | /* Clean up all state */ |
117 | lwz r12, PACA_KVM_SCRATCH1(r13) | 158 | lwz r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH1)(r13) |
118 | mtcr r12 | 159 | mtcr r12 |
119 | ld r12, PACA_KVM_SCRATCH0(r13) | 160 | PPC_LL r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH0)(r13) |
120 | mfspr r13, SPRN_SPRG_SCRATCH0 | 161 | mfspr r13, SPRN_SPRG_SCRATCH0 |
121 | 162 | ||
122 | /* And get back into the code */ | 163 | /* And get back into the code */ |
@@ -147,41 +188,48 @@ kvmppc_handler_lowmem_trampoline_end: | |||
147 | * | 188 | * |
148 | * R3 = function | 189 | * R3 = function |
149 | * R4 = MSR | 190 | * R4 = MSR |
150 | * R5 = CTR | 191 | * R5 = scratch register |
151 | * | 192 | * |
152 | */ | 193 | */ |
153 | _GLOBAL(kvmppc_rmcall) | 194 | _GLOBAL(kvmppc_rmcall) |
154 | mtmsr r4 /* Disable relocation, so mtsrr | 195 | LOAD_REG_IMMEDIATE(r5, MSR_NOIRQ) |
196 | mtmsr r5 /* Disable relocation and interrupts, so mtsrr | ||
155 | doesn't get interrupted */ | 197 | doesn't get interrupted */ |
156 | mtctr r5 | 198 | sync |
157 | mtsrr0 r3 | 199 | mtsrr0 r3 |
158 | mtsrr1 r4 | 200 | mtsrr1 r4 |
159 | RFI | 201 | RFI |
160 | 202 | ||
203 | #if defined(CONFIG_PPC_BOOK3S_32) | ||
204 | #define STACK_LR INT_FRAME_SIZE+4 | ||
205 | #elif defined(CONFIG_PPC_BOOK3S_64) | ||
206 | #define STACK_LR _LINK | ||
207 | #endif | ||
208 | |||
161 | /* | 209 | /* |
162 | * Activate current's external feature (FPU/Altivec/VSX) | 210 | * Activate current's external feature (FPU/Altivec/VSX) |
163 | */ | 211 | */ |
164 | #define define_load_up(what) \ | 212 | #define define_load_up(what) \ |
165 | \ | 213 | \ |
166 | _GLOBAL(kvmppc_load_up_ ## what); \ | 214 | _GLOBAL(kvmppc_load_up_ ## what); \ |
167 | subi r1, r1, INT_FRAME_SIZE; \ | 215 | PPC_STLU r1, -INT_FRAME_SIZE(r1); \ |
168 | mflr r3; \ | 216 | mflr r3; \ |
169 | std r3, _LINK(r1); \ | 217 | PPC_STL r3, STACK_LR(r1); \ |
170 | mfmsr r4; \ | 218 | PPC_STL r20, _NIP(r1); \ |
171 | std r31, GPR3(r1); \ | 219 | mfmsr r20; \ |
172 | mr r31, r4; \ | 220 | LOAD_REG_IMMEDIATE(r3, MSR_DR|MSR_EE); \ |
173 | li r5, MSR_DR; \ | 221 | andc r3,r20,r3; /* Disable DR,EE */ \ |
174 | oris r5, r5, MSR_EE@h; \ | 222 | mtmsr r3; \ |
175 | andc r4, r4, r5; \ | 223 | sync; \ |
176 | mtmsr r4; \ | 224 | \ |
177 | \ | 225 | bl FUNC(load_up_ ## what); \ |
178 | bl .load_up_ ## what; \ | 226 | \ |
179 | \ | 227 | mtmsr r20; /* Enable DR,EE */ \ |
180 | mtmsr r31; \ | 228 | sync; \ |
181 | ld r3, _LINK(r1); \ | 229 | PPC_LL r3, STACK_LR(r1); \ |
182 | ld r31, GPR3(r1); \ | 230 | PPC_LL r20, _NIP(r1); \ |
183 | addi r1, r1, INT_FRAME_SIZE; \ | 231 | mtlr r3; \ |
184 | mtlr r3; \ | 232 | addi r1, r1, INT_FRAME_SIZE; \ |
185 | blr | 233 | blr |
186 | 234 | ||
187 | define_load_up(fpu) | 235 | define_load_up(fpu) |
@@ -194,11 +242,10 @@ define_load_up(vsx) | |||
194 | 242 | ||
195 | .global kvmppc_trampoline_lowmem | 243 | .global kvmppc_trampoline_lowmem |
196 | kvmppc_trampoline_lowmem: | 244 | kvmppc_trampoline_lowmem: |
197 | .long kvmppc_handler_lowmem_trampoline - _stext | 245 | .long kvmppc_handler_lowmem_trampoline - CONFIG_KERNEL_START |
198 | 246 | ||
199 | .global kvmppc_trampoline_enter | 247 | .global kvmppc_trampoline_enter |
200 | kvmppc_trampoline_enter: | 248 | kvmppc_trampoline_enter: |
201 | .long kvmppc_handler_trampoline_enter - _stext | 249 | .long kvmppc_handler_trampoline_enter - CONFIG_KERNEL_START |
202 | |||
203 | #include "book3s_64_slb.S" | ||
204 | 250 | ||
251 | #include "book3s_segment.S" | ||
diff --git a/arch/powerpc/kvm/book3s_segment.S b/arch/powerpc/kvm/book3s_segment.S new file mode 100644 index 000000000000..7c52ed0b7051 --- /dev/null +++ b/arch/powerpc/kvm/book3s_segment.S | |||
@@ -0,0 +1,259 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License, version 2, as | ||
4 | * published by the Free Software Foundation. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program; if not, write to the Free Software | ||
13 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
14 | * | ||
15 | * Copyright SUSE Linux Products GmbH 2010 | ||
16 | * | ||
17 | * Authors: Alexander Graf <agraf@suse.de> | ||
18 | */ | ||
19 | |||
20 | /* Real mode helpers */ | ||
21 | |||
22 | #if defined(CONFIG_PPC_BOOK3S_64) | ||
23 | |||
24 | #define GET_SHADOW_VCPU(reg) \ | ||
25 | addi reg, r13, PACA_KVM_SVCPU | ||
26 | |||
27 | #elif defined(CONFIG_PPC_BOOK3S_32) | ||
28 | |||
29 | #define GET_SHADOW_VCPU(reg) \ | ||
30 | tophys(reg, r2); \ | ||
31 | lwz reg, (THREAD + THREAD_KVM_SVCPU)(reg); \ | ||
32 | tophys(reg, reg) | ||
33 | |||
34 | #endif | ||
35 | |||
36 | /* Disable for nested KVM */ | ||
37 | #define USE_QUICK_LAST_INST | ||
38 | |||
39 | |||
40 | /* Get helper functions for subarch specific functionality */ | ||
41 | |||
42 | #if defined(CONFIG_PPC_BOOK3S_64) | ||
43 | #include "book3s_64_slb.S" | ||
44 | #elif defined(CONFIG_PPC_BOOK3S_32) | ||
45 | #include "book3s_32_sr.S" | ||
46 | #endif | ||
47 | |||
48 | /****************************************************************************** | ||
49 | * * | ||
50 | * Entry code * | ||
51 | * * | ||
52 | *****************************************************************************/ | ||
53 | |||
54 | .global kvmppc_handler_trampoline_enter | ||
55 | kvmppc_handler_trampoline_enter: | ||
56 | |||
57 | /* Required state: | ||
58 | * | ||
59 | * MSR = ~IR|DR | ||
60 | * R13 = PACA | ||
61 | * R1 = host R1 | ||
62 | * R2 = host R2 | ||
63 | * R10 = guest MSR | ||
64 | * all other volatile GPRS = free | ||
65 | * SVCPU[CR] = guest CR | ||
66 | * SVCPU[XER] = guest XER | ||
67 | * SVCPU[CTR] = guest CTR | ||
68 | * SVCPU[LR] = guest LR | ||
69 | */ | ||
70 | |||
71 | /* r3 = shadow vcpu */ | ||
72 | GET_SHADOW_VCPU(r3) | ||
73 | |||
74 | /* Move SRR0 and SRR1 into the respective regs */ | ||
75 | PPC_LL r9, SVCPU_PC(r3) | ||
76 | mtsrr0 r9 | ||
77 | mtsrr1 r10 | ||
78 | |||
79 | /* Activate guest mode, so faults get handled by KVM */ | ||
80 | li r11, KVM_GUEST_MODE_GUEST | ||
81 | stb r11, SVCPU_IN_GUEST(r3) | ||
82 | |||
83 | /* Switch to guest segment. This is subarch specific. */ | ||
84 | LOAD_GUEST_SEGMENTS | ||
85 | |||
86 | /* Enter guest */ | ||
87 | |||
88 | PPC_LL r4, (SVCPU_CTR)(r3) | ||
89 | PPC_LL r5, (SVCPU_LR)(r3) | ||
90 | lwz r6, (SVCPU_CR)(r3) | ||
91 | lwz r7, (SVCPU_XER)(r3) | ||
92 | |||
93 | mtctr r4 | ||
94 | mtlr r5 | ||
95 | mtcr r6 | ||
96 | mtxer r7 | ||
97 | |||
98 | PPC_LL r0, (SVCPU_R0)(r3) | ||
99 | PPC_LL r1, (SVCPU_R1)(r3) | ||
100 | PPC_LL r2, (SVCPU_R2)(r3) | ||
101 | PPC_LL r4, (SVCPU_R4)(r3) | ||
102 | PPC_LL r5, (SVCPU_R5)(r3) | ||
103 | PPC_LL r6, (SVCPU_R6)(r3) | ||
104 | PPC_LL r7, (SVCPU_R7)(r3) | ||
105 | PPC_LL r8, (SVCPU_R8)(r3) | ||
106 | PPC_LL r9, (SVCPU_R9)(r3) | ||
107 | PPC_LL r10, (SVCPU_R10)(r3) | ||
108 | PPC_LL r11, (SVCPU_R11)(r3) | ||
109 | PPC_LL r12, (SVCPU_R12)(r3) | ||
110 | PPC_LL r13, (SVCPU_R13)(r3) | ||
111 | |||
112 | PPC_LL r3, (SVCPU_R3)(r3) | ||
113 | |||
114 | RFI | ||
115 | kvmppc_handler_trampoline_enter_end: | ||
116 | |||
117 | |||
118 | |||
119 | /****************************************************************************** | ||
120 | * * | ||
121 | * Exit code * | ||
122 | * * | ||
123 | *****************************************************************************/ | ||
124 | |||
125 | .global kvmppc_handler_trampoline_exit | ||
126 | kvmppc_handler_trampoline_exit: | ||
127 | |||
128 | /* Register usage at this point: | ||
129 | * | ||
130 | * SPRG_SCRATCH0 = guest R13 | ||
131 | * R12 = exit handler id | ||
132 | * R13 = shadow vcpu - SHADOW_VCPU_OFF [=PACA on PPC64] | ||
133 | * SVCPU.SCRATCH0 = guest R12 | ||
134 | * SVCPU.SCRATCH1 = guest CR | ||
135 | * | ||
136 | */ | ||
137 | |||
138 | /* Save registers */ | ||
139 | |||
140 | PPC_STL r0, (SHADOW_VCPU_OFF + SVCPU_R0)(r13) | ||
141 | PPC_STL r1, (SHADOW_VCPU_OFF + SVCPU_R1)(r13) | ||
142 | PPC_STL r2, (SHADOW_VCPU_OFF + SVCPU_R2)(r13) | ||
143 | PPC_STL r3, (SHADOW_VCPU_OFF + SVCPU_R3)(r13) | ||
144 | PPC_STL r4, (SHADOW_VCPU_OFF + SVCPU_R4)(r13) | ||
145 | PPC_STL r5, (SHADOW_VCPU_OFF + SVCPU_R5)(r13) | ||
146 | PPC_STL r6, (SHADOW_VCPU_OFF + SVCPU_R6)(r13) | ||
147 | PPC_STL r7, (SHADOW_VCPU_OFF + SVCPU_R7)(r13) | ||
148 | PPC_STL r8, (SHADOW_VCPU_OFF + SVCPU_R8)(r13) | ||
149 | PPC_STL r9, (SHADOW_VCPU_OFF + SVCPU_R9)(r13) | ||
150 | PPC_STL r10, (SHADOW_VCPU_OFF + SVCPU_R10)(r13) | ||
151 | PPC_STL r11, (SHADOW_VCPU_OFF + SVCPU_R11)(r13) | ||
152 | |||
153 | /* Restore R1/R2 so we can handle faults */ | ||
154 | PPC_LL r1, (SHADOW_VCPU_OFF + SVCPU_HOST_R1)(r13) | ||
155 | PPC_LL r2, (SHADOW_VCPU_OFF + SVCPU_HOST_R2)(r13) | ||
156 | |||
157 | /* Save guest PC and MSR */ | ||
158 | mfsrr0 r3 | ||
159 | mfsrr1 r4 | ||
160 | |||
161 | PPC_STL r3, (SHADOW_VCPU_OFF + SVCPU_PC)(r13) | ||
162 | PPC_STL r4, (SHADOW_VCPU_OFF + SVCPU_SHADOW_SRR1)(r13) | ||
163 | |||
164 | /* Get scratch'ed off registers */ | ||
165 | mfspr r9, SPRN_SPRG_SCRATCH0 | ||
166 | PPC_LL r8, (SHADOW_VCPU_OFF + SVCPU_SCRATCH0)(r13) | ||
167 | lwz r7, (SHADOW_VCPU_OFF + SVCPU_SCRATCH1)(r13) | ||
168 | |||
169 | PPC_STL r9, (SHADOW_VCPU_OFF + SVCPU_R13)(r13) | ||
170 | PPC_STL r8, (SHADOW_VCPU_OFF + SVCPU_R12)(r13) | ||
171 | stw r7, (SHADOW_VCPU_OFF + SVCPU_CR)(r13) | ||
172 | |||
173 | /* Save more register state */ | ||
174 | |||
175 | mfxer r5 | ||
176 | mfdar r6 | ||
177 | mfdsisr r7 | ||
178 | mfctr r8 | ||
179 | mflr r9 | ||
180 | |||
181 | stw r5, (SHADOW_VCPU_OFF + SVCPU_XER)(r13) | ||
182 | PPC_STL r6, (SHADOW_VCPU_OFF + SVCPU_FAULT_DAR)(r13) | ||
183 | stw r7, (SHADOW_VCPU_OFF + SVCPU_FAULT_DSISR)(r13) | ||
184 | PPC_STL r8, (SHADOW_VCPU_OFF + SVCPU_CTR)(r13) | ||
185 | PPC_STL r9, (SHADOW_VCPU_OFF + SVCPU_LR)(r13) | ||
186 | |||
187 | /* | ||
188 | * In order for us to easily get the last instruction, | ||
189 | * we got the #vmexit at, we exploit the fact that the | ||
190 | * virtual layout is still the same here, so we can just | ||
191 | * ld from the guest's PC address | ||
192 | */ | ||
193 | |||
194 | /* We only load the last instruction when it's safe */ | ||
195 | cmpwi r12, BOOK3S_INTERRUPT_DATA_STORAGE | ||
196 | beq ld_last_inst | ||
197 | cmpwi r12, BOOK3S_INTERRUPT_PROGRAM | ||
198 | beq ld_last_inst | ||
199 | cmpwi r12, BOOK3S_INTERRUPT_ALIGNMENT | ||
200 | beq- ld_last_inst | ||
201 | |||
202 | b no_ld_last_inst | ||
203 | |||
204 | ld_last_inst: | ||
205 | /* Save off the guest instruction we're at */ | ||
206 | |||
207 | /* In case lwz faults */ | ||
208 | li r0, KVM_INST_FETCH_FAILED | ||
209 | |||
210 | #ifdef USE_QUICK_LAST_INST | ||
211 | |||
212 | /* Set guest mode to 'jump over instruction' so if lwz faults | ||
213 | * we'll just continue at the next IP. */ | ||
214 | li r9, KVM_GUEST_MODE_SKIP | ||
215 | stb r9, (SHADOW_VCPU_OFF + SVCPU_IN_GUEST)(r13) | ||
216 | |||
217 | /* 1) enable paging for data */ | ||
218 | mfmsr r9 | ||
219 | ori r11, r9, MSR_DR /* Enable paging for data */ | ||
220 | mtmsr r11 | ||
221 | sync | ||
222 | /* 2) fetch the instruction */ | ||
223 | lwz r0, 0(r3) | ||
224 | /* 3) disable paging again */ | ||
225 | mtmsr r9 | ||
226 | sync | ||
227 | |||
228 | #endif | ||
229 | stw r0, (SHADOW_VCPU_OFF + SVCPU_LAST_INST)(r13) | ||
230 | |||
231 | no_ld_last_inst: | ||
232 | |||
233 | /* Unset guest mode */ | ||
234 | li r9, KVM_GUEST_MODE_NONE | ||
235 | stb r9, (SHADOW_VCPU_OFF + SVCPU_IN_GUEST)(r13) | ||
236 | |||
237 | /* Switch back to host MMU */ | ||
238 | LOAD_HOST_SEGMENTS | ||
239 | |||
240 | /* Register usage at this point: | ||
241 | * | ||
242 | * R1 = host R1 | ||
243 | * R2 = host R2 | ||
244 | * R12 = exit handler id | ||
245 | * R13 = shadow vcpu - SHADOW_VCPU_OFF [=PACA on PPC64] | ||
246 | * SVCPU.* = guest * | ||
247 | * | ||
248 | */ | ||
249 | |||
250 | /* RFI into the highmem handler */ | ||
251 | mfmsr r7 | ||
252 | ori r7, r7, MSR_IR|MSR_DR|MSR_RI|MSR_ME /* Enable paging */ | ||
253 | mtsrr1 r7 | ||
254 | /* Load highmem handler address */ | ||
255 | PPC_LL r8, (SHADOW_VCPU_OFF + SVCPU_VMHANDLER)(r13) | ||
256 | mtsrr0 r8 | ||
257 | |||
258 | RFI | ||
259 | kvmppc_handler_trampoline_exit_end: | ||
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index 4d686cc6b260..8d4e35f5372c 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
22 | #include <linux/err.h> | 22 | #include <linux/err.h> |
23 | #include <linux/kvm_host.h> | 23 | #include <linux/kvm_host.h> |
24 | #include <linux/gfp.h> | ||
24 | #include <linux/module.h> | 25 | #include <linux/module.h> |
25 | #include <linux/vmalloc.h> | 26 | #include <linux/vmalloc.h> |
26 | #include <linux/fs.h> | 27 | #include <linux/fs.h> |
@@ -132,12 +133,18 @@ void kvmppc_core_queue_external(struct kvm_vcpu *vcpu, | |||
132 | kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_EXTERNAL); | 133 | kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_EXTERNAL); |
133 | } | 134 | } |
134 | 135 | ||
136 | void kvmppc_core_dequeue_external(struct kvm_vcpu *vcpu, | ||
137 | struct kvm_interrupt *irq) | ||
138 | { | ||
139 | clear_bit(BOOKE_IRQPRIO_EXTERNAL, &vcpu->arch.pending_exceptions); | ||
140 | } | ||
141 | |||
135 | /* Deliver the interrupt of the corresponding priority, if possible. */ | 142 | /* Deliver the interrupt of the corresponding priority, if possible. */ |
136 | static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu, | 143 | static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu, |
137 | unsigned int priority) | 144 | unsigned int priority) |
138 | { | 145 | { |
139 | int allowed = 0; | 146 | int allowed = 0; |
140 | ulong msr_mask; | 147 | ulong uninitialized_var(msr_mask); |
141 | bool update_esr = false, update_dear = false; | 148 | bool update_esr = false, update_dear = false; |
142 | 149 | ||
143 | switch (priority) { | 150 | switch (priority) { |
@@ -552,7 +559,10 @@ int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu) | |||
552 | int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu, | 559 | int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu, |
553 | struct kvm_translation *tr) | 560 | struct kvm_translation *tr) |
554 | { | 561 | { |
555 | return kvmppc_core_vcpu_translate(vcpu, tr); | 562 | int r; |
563 | |||
564 | r = kvmppc_core_vcpu_translate(vcpu, tr); | ||
565 | return r; | ||
556 | } | 566 | } |
557 | 567 | ||
558 | int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log) | 568 | int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log) |
diff --git a/arch/powerpc/kvm/e500.c b/arch/powerpc/kvm/e500.c index efa1198940ab..e8a00b0c4449 100644 --- a/arch/powerpc/kvm/e500.c +++ b/arch/powerpc/kvm/e500.c | |||
@@ -13,6 +13,7 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <linux/kvm_host.h> | 15 | #include <linux/kvm_host.h> |
16 | #include <linux/slab.h> | ||
16 | #include <linux/err.h> | 17 | #include <linux/err.h> |
17 | 18 | ||
18 | #include <asm/reg.h> | 19 | #include <asm/reg.h> |
@@ -160,10 +161,10 @@ static int __init kvmppc_e500_init(void) | |||
160 | flush_icache_range(kvmppc_booke_handlers, | 161 | flush_icache_range(kvmppc_booke_handlers, |
161 | kvmppc_booke_handlers + max_ivor + kvmppc_handler_len); | 162 | kvmppc_booke_handlers + max_ivor + kvmppc_handler_len); |
162 | 163 | ||
163 | return kvm_init(NULL, sizeof(struct kvmppc_vcpu_e500), THIS_MODULE); | 164 | return kvm_init(NULL, sizeof(struct kvmppc_vcpu_e500), 0, THIS_MODULE); |
164 | } | 165 | } |
165 | 166 | ||
166 | static void __init kvmppc_e500_exit(void) | 167 | static void __exit kvmppc_e500_exit(void) |
167 | { | 168 | { |
168 | kvmppc_booke_exit(); | 169 | kvmppc_booke_exit(); |
169 | } | 170 | } |
diff --git a/arch/powerpc/kvm/e500_tlb.c b/arch/powerpc/kvm/e500_tlb.c index 0d772e6b6318..21011e12caeb 100644 --- a/arch/powerpc/kvm/e500_tlb.c +++ b/arch/powerpc/kvm/e500_tlb.c | |||
@@ -13,6 +13,7 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <linux/types.h> | 15 | #include <linux/types.h> |
16 | #include <linux/slab.h> | ||
16 | #include <linux/string.h> | 17 | #include <linux/string.h> |
17 | #include <linux/kvm.h> | 18 | #include <linux/kvm.h> |
18 | #include <linux/kvm_host.h> | 19 | #include <linux/kvm_host.h> |
diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c index cb72a65f4ecc..4568ec386c2a 100644 --- a/arch/powerpc/kvm/emulate.c +++ b/arch/powerpc/kvm/emulate.c | |||
@@ -38,10 +38,12 @@ | |||
38 | #define OP_31_XOP_LBZX 87 | 38 | #define OP_31_XOP_LBZX 87 |
39 | #define OP_31_XOP_STWX 151 | 39 | #define OP_31_XOP_STWX 151 |
40 | #define OP_31_XOP_STBX 215 | 40 | #define OP_31_XOP_STBX 215 |
41 | #define OP_31_XOP_LBZUX 119 | ||
41 | #define OP_31_XOP_STBUX 247 | 42 | #define OP_31_XOP_STBUX 247 |
42 | #define OP_31_XOP_LHZX 279 | 43 | #define OP_31_XOP_LHZX 279 |
43 | #define OP_31_XOP_LHZUX 311 | 44 | #define OP_31_XOP_LHZUX 311 |
44 | #define OP_31_XOP_MFSPR 339 | 45 | #define OP_31_XOP_MFSPR 339 |
46 | #define OP_31_XOP_LHAX 343 | ||
45 | #define OP_31_XOP_STHX 407 | 47 | #define OP_31_XOP_STHX 407 |
46 | #define OP_31_XOP_STHUX 439 | 48 | #define OP_31_XOP_STHUX 439 |
47 | #define OP_31_XOP_MTSPR 467 | 49 | #define OP_31_XOP_MTSPR 467 |
@@ -62,10 +64,12 @@ | |||
62 | #define OP_STBU 39 | 64 | #define OP_STBU 39 |
63 | #define OP_LHZ 40 | 65 | #define OP_LHZ 40 |
64 | #define OP_LHZU 41 | 66 | #define OP_LHZU 41 |
67 | #define OP_LHA 42 | ||
68 | #define OP_LHAU 43 | ||
65 | #define OP_STH 44 | 69 | #define OP_STH 44 |
66 | #define OP_STHU 45 | 70 | #define OP_STHU 45 |
67 | 71 | ||
68 | #ifdef CONFIG_PPC64 | 72 | #ifdef CONFIG_PPC_BOOK3S |
69 | static int kvmppc_dec_enabled(struct kvm_vcpu *vcpu) | 73 | static int kvmppc_dec_enabled(struct kvm_vcpu *vcpu) |
70 | { | 74 | { |
71 | return 1; | 75 | return 1; |
@@ -82,7 +86,7 @@ void kvmppc_emulate_dec(struct kvm_vcpu *vcpu) | |||
82 | unsigned long dec_nsec; | 86 | unsigned long dec_nsec; |
83 | 87 | ||
84 | pr_debug("mtDEC: %x\n", vcpu->arch.dec); | 88 | pr_debug("mtDEC: %x\n", vcpu->arch.dec); |
85 | #ifdef CONFIG_PPC64 | 89 | #ifdef CONFIG_PPC_BOOK3S |
86 | /* mtdec lowers the interrupt line when positive. */ | 90 | /* mtdec lowers the interrupt line when positive. */ |
87 | kvmppc_core_dequeue_dec(vcpu); | 91 | kvmppc_core_dequeue_dec(vcpu); |
88 | 92 | ||
@@ -128,7 +132,7 @@ void kvmppc_emulate_dec(struct kvm_vcpu *vcpu) | |||
128 | * from opcode tables in the future. */ | 132 | * from opcode tables in the future. */ |
129 | int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | 133 | int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) |
130 | { | 134 | { |
131 | u32 inst = vcpu->arch.last_inst; | 135 | u32 inst = kvmppc_get_last_inst(vcpu); |
132 | u32 ea; | 136 | u32 ea; |
133 | int ra; | 137 | int ra; |
134 | int rb; | 138 | int rb; |
@@ -143,13 +147,9 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
143 | 147 | ||
144 | pr_debug(KERN_INFO "Emulating opcode %d / %d\n", get_op(inst), get_xop(inst)); | 148 | pr_debug(KERN_INFO "Emulating opcode %d / %d\n", get_op(inst), get_xop(inst)); |
145 | 149 | ||
146 | /* Try again next time */ | ||
147 | if (inst == KVM_INST_FETCH_FAILED) | ||
148 | return EMULATE_DONE; | ||
149 | |||
150 | switch (get_op(inst)) { | 150 | switch (get_op(inst)) { |
151 | case OP_TRAP: | 151 | case OP_TRAP: |
152 | #ifdef CONFIG_PPC64 | 152 | #ifdef CONFIG_PPC_BOOK3S |
153 | case OP_TRAP_64: | 153 | case OP_TRAP_64: |
154 | kvmppc_core_queue_program(vcpu, SRR1_PROGTRAP); | 154 | kvmppc_core_queue_program(vcpu, SRR1_PROGTRAP); |
155 | #else | 155 | #else |
@@ -171,6 +171,19 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
171 | emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1); | 171 | emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1); |
172 | break; | 172 | break; |
173 | 173 | ||
174 | case OP_31_XOP_LBZUX: | ||
175 | rt = get_rt(inst); | ||
176 | ra = get_ra(inst); | ||
177 | rb = get_rb(inst); | ||
178 | |||
179 | ea = kvmppc_get_gpr(vcpu, rb); | ||
180 | if (ra) | ||
181 | ea += kvmppc_get_gpr(vcpu, ra); | ||
182 | |||
183 | emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1); | ||
184 | kvmppc_set_gpr(vcpu, ra, ea); | ||
185 | break; | ||
186 | |||
174 | case OP_31_XOP_STWX: | 187 | case OP_31_XOP_STWX: |
175 | rs = get_rs(inst); | 188 | rs = get_rs(inst); |
176 | emulated = kvmppc_handle_store(run, vcpu, | 189 | emulated = kvmppc_handle_store(run, vcpu, |
@@ -200,6 +213,11 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
200 | kvmppc_set_gpr(vcpu, rs, ea); | 213 | kvmppc_set_gpr(vcpu, rs, ea); |
201 | break; | 214 | break; |
202 | 215 | ||
216 | case OP_31_XOP_LHAX: | ||
217 | rt = get_rt(inst); | ||
218 | emulated = kvmppc_handle_loads(run, vcpu, rt, 2, 1); | ||
219 | break; | ||
220 | |||
203 | case OP_31_XOP_LHZX: | 221 | case OP_31_XOP_LHZX: |
204 | rt = get_rt(inst); | 222 | rt = get_rt(inst); |
205 | emulated = kvmppc_handle_load(run, vcpu, rt, 2, 1); | 223 | emulated = kvmppc_handle_load(run, vcpu, rt, 2, 1); |
@@ -450,6 +468,18 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
450 | kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed); | 468 | kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed); |
451 | break; | 469 | break; |
452 | 470 | ||
471 | case OP_LHA: | ||
472 | rt = get_rt(inst); | ||
473 | emulated = kvmppc_handle_loads(run, vcpu, rt, 2, 1); | ||
474 | break; | ||
475 | |||
476 | case OP_LHAU: | ||
477 | ra = get_ra(inst); | ||
478 | rt = get_rt(inst); | ||
479 | emulated = kvmppc_handle_loads(run, vcpu, rt, 2, 1); | ||
480 | kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed); | ||
481 | break; | ||
482 | |||
453 | case OP_STH: | 483 | case OP_STH: |
454 | rs = get_rs(inst); | 484 | rs = get_rs(inst); |
455 | emulated = kvmppc_handle_store(run, vcpu, | 485 | emulated = kvmppc_handle_store(run, vcpu, |
@@ -472,7 +502,9 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
472 | 502 | ||
473 | if (emulated == EMULATE_FAIL) { | 503 | if (emulated == EMULATE_FAIL) { |
474 | emulated = kvmppc_core_emulate_op(run, vcpu, inst, &advance); | 504 | emulated = kvmppc_core_emulate_op(run, vcpu, inst, &advance); |
475 | if (emulated == EMULATE_FAIL) { | 505 | if (emulated == EMULATE_AGAIN) { |
506 | advance = 0; | ||
507 | } else if (emulated == EMULATE_FAIL) { | ||
476 | advance = 0; | 508 | advance = 0; |
477 | printk(KERN_ERR "Couldn't emulate instruction 0x%08x " | 509 | printk(KERN_ERR "Couldn't emulate instruction 0x%08x " |
478 | "(op %d xop %d)\n", inst, get_op(inst), get_xop(inst)); | 510 | "(op %d xop %d)\n", inst, get_op(inst), get_xop(inst)); |
@@ -480,10 +512,11 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
480 | } | 512 | } |
481 | } | 513 | } |
482 | 514 | ||
483 | trace_kvm_ppc_instr(inst, vcpu->arch.pc, emulated); | 515 | trace_kvm_ppc_instr(inst, kvmppc_get_pc(vcpu), emulated); |
484 | 516 | ||
517 | /* Advance past emulated instruction. */ | ||
485 | if (advance) | 518 | if (advance) |
486 | vcpu->arch.pc += 4; /* Advance past emulated instruction. */ | 519 | kvmppc_set_pc(vcpu, kvmppc_get_pc(vcpu) + 4); |
487 | 520 | ||
488 | return emulated; | 521 | return emulated; |
489 | } | 522 | } |
diff --git a/arch/powerpc/kvm/fpu.S b/arch/powerpc/kvm/fpu.S new file mode 100644 index 000000000000..cb34bbe16113 --- /dev/null +++ b/arch/powerpc/kvm/fpu.S | |||
@@ -0,0 +1,291 @@ | |||
1 | /* | ||
2 | * FPU helper code to use FPU operations from inside the kernel | ||
3 | * | ||
4 | * Copyright (C) 2010 Alexander Graf (agraf@suse.de) | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | */ | ||
12 | |||
13 | #include <asm/reg.h> | ||
14 | #include <asm/page.h> | ||
15 | #include <asm/mmu.h> | ||
16 | #include <asm/pgtable.h> | ||
17 | #include <asm/cputable.h> | ||
18 | #include <asm/cache.h> | ||
19 | #include <asm/thread_info.h> | ||
20 | #include <asm/ppc_asm.h> | ||
21 | #include <asm/asm-offsets.h> | ||
22 | |||
23 | /* Instructions operating on single parameters */ | ||
24 | |||
25 | /* | ||
26 | * Single operation with one input operand | ||
27 | * | ||
28 | * R3 = (double*)&fpscr | ||
29 | * R4 = (short*)&result | ||
30 | * R5 = (short*)¶m1 | ||
31 | */ | ||
32 | #define FPS_ONE_IN(name) \ | ||
33 | _GLOBAL(fps_ ## name); \ | ||
34 | lfd 0,0(r3); /* load up fpscr value */ \ | ||
35 | MTFSF_L(0); \ | ||
36 | lfs 0,0(r5); \ | ||
37 | \ | ||
38 | name 0,0; \ | ||
39 | \ | ||
40 | stfs 0,0(r4); \ | ||
41 | mffs 0; \ | ||
42 | stfd 0,0(r3); /* save new fpscr value */ \ | ||
43 | blr | ||
44 | |||
45 | /* | ||
46 | * Single operation with two input operands | ||
47 | * | ||
48 | * R3 = (double*)&fpscr | ||
49 | * R4 = (short*)&result | ||
50 | * R5 = (short*)¶m1 | ||
51 | * R6 = (short*)¶m2 | ||
52 | */ | ||
53 | #define FPS_TWO_IN(name) \ | ||
54 | _GLOBAL(fps_ ## name); \ | ||
55 | lfd 0,0(r3); /* load up fpscr value */ \ | ||
56 | MTFSF_L(0); \ | ||
57 | lfs 0,0(r5); \ | ||
58 | lfs 1,0(r6); \ | ||
59 | \ | ||
60 | name 0,0,1; \ | ||
61 | \ | ||
62 | stfs 0,0(r4); \ | ||
63 | mffs 0; \ | ||
64 | stfd 0,0(r3); /* save new fpscr value */ \ | ||
65 | blr | ||
66 | |||
67 | /* | ||
68 | * Single operation with three input operands | ||
69 | * | ||
70 | * R3 = (double*)&fpscr | ||
71 | * R4 = (short*)&result | ||
72 | * R5 = (short*)¶m1 | ||
73 | * R6 = (short*)¶m2 | ||
74 | * R7 = (short*)¶m3 | ||
75 | */ | ||
76 | #define FPS_THREE_IN(name) \ | ||
77 | _GLOBAL(fps_ ## name); \ | ||
78 | lfd 0,0(r3); /* load up fpscr value */ \ | ||
79 | MTFSF_L(0); \ | ||
80 | lfs 0,0(r5); \ | ||
81 | lfs 1,0(r6); \ | ||
82 | lfs 2,0(r7); \ | ||
83 | \ | ||
84 | name 0,0,1,2; \ | ||
85 | \ | ||
86 | stfs 0,0(r4); \ | ||
87 | mffs 0; \ | ||
88 | stfd 0,0(r3); /* save new fpscr value */ \ | ||
89 | blr | ||
90 | |||
91 | FPS_ONE_IN(fres) | ||
92 | FPS_ONE_IN(frsqrte) | ||
93 | FPS_ONE_IN(fsqrts) | ||
94 | FPS_TWO_IN(fadds) | ||
95 | FPS_TWO_IN(fdivs) | ||
96 | FPS_TWO_IN(fmuls) | ||
97 | FPS_TWO_IN(fsubs) | ||
98 | FPS_THREE_IN(fmadds) | ||
99 | FPS_THREE_IN(fmsubs) | ||
100 | FPS_THREE_IN(fnmadds) | ||
101 | FPS_THREE_IN(fnmsubs) | ||
102 | FPS_THREE_IN(fsel) | ||
103 | |||
104 | |||
105 | /* Instructions operating on double parameters */ | ||
106 | |||
107 | /* | ||
108 | * Beginning of double instruction processing | ||
109 | * | ||
110 | * R3 = (double*)&fpscr | ||
111 | * R4 = (u32*)&cr | ||
112 | * R5 = (double*)&result | ||
113 | * R6 = (double*)¶m1 | ||
114 | * R7 = (double*)¶m2 [load_two] | ||
115 | * R8 = (double*)¶m3 [load_three] | ||
116 | * LR = instruction call function | ||
117 | */ | ||
118 | fpd_load_three: | ||
119 | lfd 2,0(r8) /* load param3 */ | ||
120 | fpd_load_two: | ||
121 | lfd 1,0(r7) /* load param2 */ | ||
122 | fpd_load_one: | ||
123 | lfd 0,0(r6) /* load param1 */ | ||
124 | fpd_load_none: | ||
125 | lfd 3,0(r3) /* load up fpscr value */ | ||
126 | MTFSF_L(3) | ||
127 | lwz r6, 0(r4) /* load cr */ | ||
128 | mtcr r6 | ||
129 | blr | ||
130 | |||
131 | /* | ||
132 | * End of double instruction processing | ||
133 | * | ||
134 | * R3 = (double*)&fpscr | ||
135 | * R4 = (u32*)&cr | ||
136 | * R5 = (double*)&result | ||
137 | * LR = caller of instruction call function | ||
138 | */ | ||
139 | fpd_return: | ||
140 | mfcr r6 | ||
141 | stfd 0,0(r5) /* save result */ | ||
142 | mffs 0 | ||
143 | stfd 0,0(r3) /* save new fpscr value */ | ||
144 | stw r6,0(r4) /* save new cr value */ | ||
145 | blr | ||
146 | |||
147 | /* | ||
148 | * Double operation with no input operand | ||
149 | * | ||
150 | * R3 = (double*)&fpscr | ||
151 | * R4 = (u32*)&cr | ||
152 | * R5 = (double*)&result | ||
153 | */ | ||
154 | #define FPD_NONE_IN(name) \ | ||
155 | _GLOBAL(fpd_ ## name); \ | ||
156 | mflr r12; \ | ||
157 | bl fpd_load_none; \ | ||
158 | mtlr r12; \ | ||
159 | \ | ||
160 | name. 0; /* call instruction */ \ | ||
161 | b fpd_return | ||
162 | |||
163 | /* | ||
164 | * Double operation with one input operand | ||
165 | * | ||
166 | * R3 = (double*)&fpscr | ||
167 | * R4 = (u32*)&cr | ||
168 | * R5 = (double*)&result | ||
169 | * R6 = (double*)¶m1 | ||
170 | */ | ||
171 | #define FPD_ONE_IN(name) \ | ||
172 | _GLOBAL(fpd_ ## name); \ | ||
173 | mflr r12; \ | ||
174 | bl fpd_load_one; \ | ||
175 | mtlr r12; \ | ||
176 | \ | ||
177 | name. 0,0; /* call instruction */ \ | ||
178 | b fpd_return | ||
179 | |||
180 | /* | ||
181 | * Double operation with two input operands | ||
182 | * | ||
183 | * R3 = (double*)&fpscr | ||
184 | * R4 = (u32*)&cr | ||
185 | * R5 = (double*)&result | ||
186 | * R6 = (double*)¶m1 | ||
187 | * R7 = (double*)¶m2 | ||
188 | * R8 = (double*)¶m3 | ||
189 | */ | ||
190 | #define FPD_TWO_IN(name) \ | ||
191 | _GLOBAL(fpd_ ## name); \ | ||
192 | mflr r12; \ | ||
193 | bl fpd_load_two; \ | ||
194 | mtlr r12; \ | ||
195 | \ | ||
196 | name. 0,0,1; /* call instruction */ \ | ||
197 | b fpd_return | ||
198 | |||
199 | /* | ||
200 | * CR Double operation with two input operands | ||
201 | * | ||
202 | * R3 = (double*)&fpscr | ||
203 | * R4 = (u32*)&cr | ||
204 | * R5 = (double*)¶m1 | ||
205 | * R6 = (double*)¶m2 | ||
206 | * R7 = (double*)¶m3 | ||
207 | */ | ||
208 | #define FPD_TWO_IN_CR(name) \ | ||
209 | _GLOBAL(fpd_ ## name); \ | ||
210 | lfd 1,0(r6); /* load param2 */ \ | ||
211 | lfd 0,0(r5); /* load param1 */ \ | ||
212 | lfd 3,0(r3); /* load up fpscr value */ \ | ||
213 | MTFSF_L(3); \ | ||
214 | lwz r6, 0(r4); /* load cr */ \ | ||
215 | mtcr r6; \ | ||
216 | \ | ||
217 | name 0,0,1; /* call instruction */ \ | ||
218 | mfcr r6; \ | ||
219 | mffs 0; \ | ||
220 | stfd 0,0(r3); /* save new fpscr value */ \ | ||
221 | stw r6,0(r4); /* save new cr value */ \ | ||
222 | blr | ||
223 | |||
224 | /* | ||
225 | * Double operation with three input operands | ||
226 | * | ||
227 | * R3 = (double*)&fpscr | ||
228 | * R4 = (u32*)&cr | ||
229 | * R5 = (double*)&result | ||
230 | * R6 = (double*)¶m1 | ||
231 | * R7 = (double*)¶m2 | ||
232 | * R8 = (double*)¶m3 | ||
233 | */ | ||
234 | #define FPD_THREE_IN(name) \ | ||
235 | _GLOBAL(fpd_ ## name); \ | ||
236 | mflr r12; \ | ||
237 | bl fpd_load_three; \ | ||
238 | mtlr r12; \ | ||
239 | \ | ||
240 | name. 0,0,1,2; /* call instruction */ \ | ||
241 | b fpd_return | ||
242 | |||
243 | FPD_ONE_IN(fsqrts) | ||
244 | FPD_ONE_IN(frsqrtes) | ||
245 | FPD_ONE_IN(fres) | ||
246 | FPD_ONE_IN(frsp) | ||
247 | FPD_ONE_IN(fctiw) | ||
248 | FPD_ONE_IN(fctiwz) | ||
249 | FPD_ONE_IN(fsqrt) | ||
250 | FPD_ONE_IN(fre) | ||
251 | FPD_ONE_IN(frsqrte) | ||
252 | FPD_ONE_IN(fneg) | ||
253 | FPD_ONE_IN(fabs) | ||
254 | FPD_TWO_IN(fadds) | ||
255 | FPD_TWO_IN(fsubs) | ||
256 | FPD_TWO_IN(fdivs) | ||
257 | FPD_TWO_IN(fmuls) | ||
258 | FPD_TWO_IN_CR(fcmpu) | ||
259 | FPD_TWO_IN(fcpsgn) | ||
260 | FPD_TWO_IN(fdiv) | ||
261 | FPD_TWO_IN(fadd) | ||
262 | FPD_TWO_IN(fmul) | ||
263 | FPD_TWO_IN_CR(fcmpo) | ||
264 | FPD_TWO_IN(fsub) | ||
265 | FPD_THREE_IN(fmsubs) | ||
266 | FPD_THREE_IN(fmadds) | ||
267 | FPD_THREE_IN(fnmsubs) | ||
268 | FPD_THREE_IN(fnmadds) | ||
269 | FPD_THREE_IN(fsel) | ||
270 | FPD_THREE_IN(fmsub) | ||
271 | FPD_THREE_IN(fmadd) | ||
272 | FPD_THREE_IN(fnmsub) | ||
273 | FPD_THREE_IN(fnmadd) | ||
274 | |||
275 | _GLOBAL(kvm_cvt_fd) | ||
276 | lfd 0,0(r5) /* load up fpscr value */ | ||
277 | MTFSF_L(0) | ||
278 | lfs 0,0(r3) | ||
279 | stfd 0,0(r4) | ||
280 | mffs 0 | ||
281 | stfd 0,0(r5) /* save new fpscr value */ | ||
282 | blr | ||
283 | |||
284 | _GLOBAL(kvm_cvt_df) | ||
285 | lfd 0,0(r5) /* load up fpscr value */ | ||
286 | MTFSF_L(0) | ||
287 | lfd 0,0(r3) | ||
288 | stfs 0,0(r4) | ||
289 | mffs 0 | ||
290 | stfd 0,0(r5) /* save new fpscr value */ | ||
291 | blr | ||
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index 51aedd7f16bc..72a4ad86ee91 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/vmalloc.h> | 25 | #include <linux/vmalloc.h> |
26 | #include <linux/hrtimer.h> | 26 | #include <linux/hrtimer.h> |
27 | #include <linux/fs.h> | 27 | #include <linux/fs.h> |
28 | #include <linux/slab.h> | ||
28 | #include <asm/cputable.h> | 29 | #include <asm/cputable.h> |
29 | #include <asm/uaccess.h> | 30 | #include <asm/uaccess.h> |
30 | #include <asm/kvm_ppc.h> | 31 | #include <asm/kvm_ppc.h> |
@@ -35,11 +36,6 @@ | |||
35 | #define CREATE_TRACE_POINTS | 36 | #define CREATE_TRACE_POINTS |
36 | #include "trace.h" | 37 | #include "trace.h" |
37 | 38 | ||
38 | gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn) | ||
39 | { | ||
40 | return gfn; | ||
41 | } | ||
42 | |||
43 | int kvm_arch_vcpu_runnable(struct kvm_vcpu *v) | 39 | int kvm_arch_vcpu_runnable(struct kvm_vcpu *v) |
44 | { | 40 | { |
45 | return !(v->arch.msr & MSR_WE) || !!(v->arch.pending_exceptions); | 41 | return !(v->arch.msr & MSR_WE) || !!(v->arch.pending_exceptions); |
@@ -69,7 +65,7 @@ int kvmppc_emulate_mmio(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
69 | case EMULATE_FAIL: | 65 | case EMULATE_FAIL: |
70 | /* XXX Deliver Program interrupt to guest. */ | 66 | /* XXX Deliver Program interrupt to guest. */ |
71 | printk(KERN_EMERG "%s: emulation failed (%08x)\n", __func__, | 67 | printk(KERN_EMERG "%s: emulation failed (%08x)\n", __func__, |
72 | vcpu->arch.last_inst); | 68 | kvmppc_get_last_inst(vcpu)); |
73 | r = RESUME_HOST; | 69 | r = RESUME_HOST; |
74 | break; | 70 | break; |
75 | default: | 71 | default: |
@@ -147,6 +143,10 @@ int kvm_dev_ioctl_check_extension(long ext) | |||
147 | 143 | ||
148 | switch (ext) { | 144 | switch (ext) { |
149 | case KVM_CAP_PPC_SEGSTATE: | 145 | case KVM_CAP_PPC_SEGSTATE: |
146 | case KVM_CAP_PPC_PAIRED_SINGLES: | ||
147 | case KVM_CAP_PPC_UNSET_IRQ: | ||
148 | case KVM_CAP_ENABLE_CAP: | ||
149 | case KVM_CAP_PPC_OSI: | ||
150 | r = 1; | 150 | r = 1; |
151 | break; | 151 | break; |
152 | case KVM_CAP_COALESCED_MMIO: | 152 | case KVM_CAP_COALESCED_MMIO: |
@@ -192,12 +192,17 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id) | |||
192 | { | 192 | { |
193 | struct kvm_vcpu *vcpu; | 193 | struct kvm_vcpu *vcpu; |
194 | vcpu = kvmppc_core_vcpu_create(kvm, id); | 194 | vcpu = kvmppc_core_vcpu_create(kvm, id); |
195 | kvmppc_create_vcpu_debugfs(vcpu, id); | 195 | if (!IS_ERR(vcpu)) |
196 | kvmppc_create_vcpu_debugfs(vcpu, id); | ||
196 | return vcpu; | 197 | return vcpu; |
197 | } | 198 | } |
198 | 199 | ||
199 | void kvm_arch_vcpu_free(struct kvm_vcpu *vcpu) | 200 | void kvm_arch_vcpu_free(struct kvm_vcpu *vcpu) |
200 | { | 201 | { |
202 | /* Make sure we're not using the vcpu anymore */ | ||
203 | hrtimer_cancel(&vcpu->arch.dec_timer); | ||
204 | tasklet_kill(&vcpu->arch.tasklet); | ||
205 | |||
201 | kvmppc_remove_vcpu_debugfs(vcpu); | 206 | kvmppc_remove_vcpu_debugfs(vcpu); |
202 | kvmppc_core_vcpu_free(vcpu); | 207 | kvmppc_core_vcpu_free(vcpu); |
203 | } | 208 | } |
@@ -277,7 +282,7 @@ static void kvmppc_complete_dcr_load(struct kvm_vcpu *vcpu, | |||
277 | static void kvmppc_complete_mmio_load(struct kvm_vcpu *vcpu, | 282 | static void kvmppc_complete_mmio_load(struct kvm_vcpu *vcpu, |
278 | struct kvm_run *run) | 283 | struct kvm_run *run) |
279 | { | 284 | { |
280 | ulong gpr; | 285 | u64 uninitialized_var(gpr); |
281 | 286 | ||
282 | if (run->mmio.len > sizeof(gpr)) { | 287 | if (run->mmio.len > sizeof(gpr)) { |
283 | printk(KERN_ERR "bad MMIO length: %d\n", run->mmio.len); | 288 | printk(KERN_ERR "bad MMIO length: %d\n", run->mmio.len); |
@@ -286,6 +291,7 @@ static void kvmppc_complete_mmio_load(struct kvm_vcpu *vcpu, | |||
286 | 291 | ||
287 | if (vcpu->arch.mmio_is_bigendian) { | 292 | if (vcpu->arch.mmio_is_bigendian) { |
288 | switch (run->mmio.len) { | 293 | switch (run->mmio.len) { |
294 | case 8: gpr = *(u64 *)run->mmio.data; break; | ||
289 | case 4: gpr = *(u32 *)run->mmio.data; break; | 295 | case 4: gpr = *(u32 *)run->mmio.data; break; |
290 | case 2: gpr = *(u16 *)run->mmio.data; break; | 296 | case 2: gpr = *(u16 *)run->mmio.data; break; |
291 | case 1: gpr = *(u8 *)run->mmio.data; break; | 297 | case 1: gpr = *(u8 *)run->mmio.data; break; |
@@ -299,7 +305,43 @@ static void kvmppc_complete_mmio_load(struct kvm_vcpu *vcpu, | |||
299 | } | 305 | } |
300 | } | 306 | } |
301 | 307 | ||
308 | if (vcpu->arch.mmio_sign_extend) { | ||
309 | switch (run->mmio.len) { | ||
310 | #ifdef CONFIG_PPC64 | ||
311 | case 4: | ||
312 | gpr = (s64)(s32)gpr; | ||
313 | break; | ||
314 | #endif | ||
315 | case 2: | ||
316 | gpr = (s64)(s16)gpr; | ||
317 | break; | ||
318 | case 1: | ||
319 | gpr = (s64)(s8)gpr; | ||
320 | break; | ||
321 | } | ||
322 | } | ||
323 | |||
302 | kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr); | 324 | kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr); |
325 | |||
326 | switch (vcpu->arch.io_gpr & KVM_REG_EXT_MASK) { | ||
327 | case KVM_REG_GPR: | ||
328 | kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr); | ||
329 | break; | ||
330 | case KVM_REG_FPR: | ||
331 | vcpu->arch.fpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr; | ||
332 | break; | ||
333 | #ifdef CONFIG_PPC_BOOK3S | ||
334 | case KVM_REG_QPR: | ||
335 | vcpu->arch.qpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr; | ||
336 | break; | ||
337 | case KVM_REG_FQPR: | ||
338 | vcpu->arch.fpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr; | ||
339 | vcpu->arch.qpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr; | ||
340 | break; | ||
341 | #endif | ||
342 | default: | ||
343 | BUG(); | ||
344 | } | ||
303 | } | 345 | } |
304 | 346 | ||
305 | int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu, | 347 | int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu, |
@@ -318,12 +360,25 @@ int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
318 | vcpu->arch.mmio_is_bigendian = is_bigendian; | 360 | vcpu->arch.mmio_is_bigendian = is_bigendian; |
319 | vcpu->mmio_needed = 1; | 361 | vcpu->mmio_needed = 1; |
320 | vcpu->mmio_is_write = 0; | 362 | vcpu->mmio_is_write = 0; |
363 | vcpu->arch.mmio_sign_extend = 0; | ||
321 | 364 | ||
322 | return EMULATE_DO_MMIO; | 365 | return EMULATE_DO_MMIO; |
323 | } | 366 | } |
324 | 367 | ||
368 | /* Same as above, but sign extends */ | ||
369 | int kvmppc_handle_loads(struct kvm_run *run, struct kvm_vcpu *vcpu, | ||
370 | unsigned int rt, unsigned int bytes, int is_bigendian) | ||
371 | { | ||
372 | int r; | ||
373 | |||
374 | r = kvmppc_handle_load(run, vcpu, rt, bytes, is_bigendian); | ||
375 | vcpu->arch.mmio_sign_extend = 1; | ||
376 | |||
377 | return r; | ||
378 | } | ||
379 | |||
325 | int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu, | 380 | int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu, |
326 | u32 val, unsigned int bytes, int is_bigendian) | 381 | u64 val, unsigned int bytes, int is_bigendian) |
327 | { | 382 | { |
328 | void *data = run->mmio.data; | 383 | void *data = run->mmio.data; |
329 | 384 | ||
@@ -341,6 +396,7 @@ int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
341 | /* Store the value at the lowest bytes in 'data'. */ | 396 | /* Store the value at the lowest bytes in 'data'. */ |
342 | if (is_bigendian) { | 397 | if (is_bigendian) { |
343 | switch (bytes) { | 398 | switch (bytes) { |
399 | case 8: *(u64 *)data = val; break; | ||
344 | case 4: *(u32 *)data = val; break; | 400 | case 4: *(u32 *)data = val; break; |
345 | case 2: *(u16 *)data = val; break; | 401 | case 2: *(u16 *)data = val; break; |
346 | case 1: *(u8 *)data = val; break; | 402 | case 1: *(u8 *)data = val; break; |
@@ -362,8 +418,6 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) | |||
362 | int r; | 418 | int r; |
363 | sigset_t sigsaved; | 419 | sigset_t sigsaved; |
364 | 420 | ||
365 | vcpu_load(vcpu); | ||
366 | |||
367 | if (vcpu->sigset_active) | 421 | if (vcpu->sigset_active) |
368 | sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved); | 422 | sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved); |
369 | 423 | ||
@@ -375,6 +429,13 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) | |||
375 | if (!vcpu->arch.dcr_is_write) | 429 | if (!vcpu->arch.dcr_is_write) |
376 | kvmppc_complete_dcr_load(vcpu, run); | 430 | kvmppc_complete_dcr_load(vcpu, run); |
377 | vcpu->arch.dcr_needed = 0; | 431 | vcpu->arch.dcr_needed = 0; |
432 | } else if (vcpu->arch.osi_needed) { | ||
433 | u64 *gprs = run->osi.gprs; | ||
434 | int i; | ||
435 | |||
436 | for (i = 0; i < 32; i++) | ||
437 | kvmppc_set_gpr(vcpu, i, gprs[i]); | ||
438 | vcpu->arch.osi_needed = 0; | ||
378 | } | 439 | } |
379 | 440 | ||
380 | kvmppc_core_deliver_interrupts(vcpu); | 441 | kvmppc_core_deliver_interrupts(vcpu); |
@@ -388,14 +449,15 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) | |||
388 | if (vcpu->sigset_active) | 449 | if (vcpu->sigset_active) |
389 | sigprocmask(SIG_SETMASK, &sigsaved, NULL); | 450 | sigprocmask(SIG_SETMASK, &sigsaved, NULL); |
390 | 451 | ||
391 | vcpu_put(vcpu); | ||
392 | |||
393 | return r; | 452 | return r; |
394 | } | 453 | } |
395 | 454 | ||
396 | int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) | 455 | int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) |
397 | { | 456 | { |
398 | kvmppc_core_queue_external(vcpu, irq); | 457 | if (irq->irq == KVM_INTERRUPT_UNSET) |
458 | kvmppc_core_dequeue_external(vcpu, irq); | ||
459 | else | ||
460 | kvmppc_core_queue_external(vcpu, irq); | ||
399 | 461 | ||
400 | if (waitqueue_active(&vcpu->wq)) { | 462 | if (waitqueue_active(&vcpu->wq)) { |
401 | wake_up_interruptible(&vcpu->wq); | 463 | wake_up_interruptible(&vcpu->wq); |
@@ -405,6 +467,27 @@ int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) | |||
405 | return 0; | 467 | return 0; |
406 | } | 468 | } |
407 | 469 | ||
470 | static int kvm_vcpu_ioctl_enable_cap(struct kvm_vcpu *vcpu, | ||
471 | struct kvm_enable_cap *cap) | ||
472 | { | ||
473 | int r; | ||
474 | |||
475 | if (cap->flags) | ||
476 | return -EINVAL; | ||
477 | |||
478 | switch (cap->cap) { | ||
479 | case KVM_CAP_PPC_OSI: | ||
480 | r = 0; | ||
481 | vcpu->arch.osi_enabled = true; | ||
482 | break; | ||
483 | default: | ||
484 | r = -EINVAL; | ||
485 | break; | ||
486 | } | ||
487 | |||
488 | return r; | ||
489 | } | ||
490 | |||
408 | int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu, | 491 | int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu, |
409 | struct kvm_mp_state *mp_state) | 492 | struct kvm_mp_state *mp_state) |
410 | { | 493 | { |
@@ -431,6 +514,16 @@ long kvm_arch_vcpu_ioctl(struct file *filp, | |||
431 | if (copy_from_user(&irq, argp, sizeof(irq))) | 514 | if (copy_from_user(&irq, argp, sizeof(irq))) |
432 | goto out; | 515 | goto out; |
433 | r = kvm_vcpu_ioctl_interrupt(vcpu, &irq); | 516 | r = kvm_vcpu_ioctl_interrupt(vcpu, &irq); |
517 | goto out; | ||
518 | } | ||
519 | |||
520 | case KVM_ENABLE_CAP: | ||
521 | { | ||
522 | struct kvm_enable_cap cap; | ||
523 | r = -EFAULT; | ||
524 | if (copy_from_user(&cap, argp, sizeof(cap))) | ||
525 | goto out; | ||
526 | r = kvm_vcpu_ioctl_enable_cap(vcpu, &cap); | ||
434 | break; | 527 | break; |
435 | } | 528 | } |
436 | default: | 529 | default: |
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile index 3040dac18a37..111da1c03a11 100644 --- a/arch/powerpc/lib/Makefile +++ b/arch/powerpc/lib/Makefile | |||
@@ -12,8 +12,8 @@ CFLAGS_REMOVE_code-patching.o = -pg | |||
12 | CFLAGS_REMOVE_feature-fixups.o = -pg | 12 | CFLAGS_REMOVE_feature-fixups.o = -pg |
13 | 13 | ||
14 | obj-y := string.o alloc.o \ | 14 | obj-y := string.o alloc.o \ |
15 | checksum_$(CONFIG_WORD_SIZE).o | 15 | checksum_$(CONFIG_WORD_SIZE).o crtsavres.o |
16 | obj-$(CONFIG_PPC32) += div64.o copy_32.o crtsavres.o | 16 | obj-$(CONFIG_PPC32) += div64.o copy_32.o |
17 | obj-$(CONFIG_HAS_IOMEM) += devres.o | 17 | obj-$(CONFIG_HAS_IOMEM) += devres.o |
18 | 18 | ||
19 | obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \ | 19 | obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \ |
diff --git a/arch/powerpc/lib/crtsavres.S b/arch/powerpc/lib/crtsavres.S index 70a9cd8a3008..1c893f05d224 100644 --- a/arch/powerpc/lib/crtsavres.S +++ b/arch/powerpc/lib/crtsavres.S | |||
@@ -6,6 +6,7 @@ | |||
6 | * Written By Michael Meissner | 6 | * Written By Michael Meissner |
7 | * | 7 | * |
8 | * Based on gcc/config/rs6000/crtsavres.asm from gcc | 8 | * Based on gcc/config/rs6000/crtsavres.asm from gcc |
9 | * 64 bit additions from reading the PPC elf64abi document. | ||
9 | * | 10 | * |
10 | * This file is free software; you can redistribute it and/or modify it | 11 | * This file is free software; you can redistribute it and/or modify it |
11 | * under the terms of the GNU General Public License as published by the | 12 | * under the terms of the GNU General Public License as published by the |
@@ -44,6 +45,8 @@ | |||
44 | 45 | ||
45 | #ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE | 46 | #ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE |
46 | 47 | ||
48 | #ifndef CONFIG_PPC64 | ||
49 | |||
47 | /* Routines for saving integer registers, called by the compiler. */ | 50 | /* Routines for saving integer registers, called by the compiler. */ |
48 | /* Called with r11 pointing to the stack header word of the caller of the */ | 51 | /* Called with r11 pointing to the stack header word of the caller of the */ |
49 | /* function, just beyond the end of the integer save area. */ | 52 | /* function, just beyond the end of the integer save area. */ |
@@ -226,4 +229,130 @@ _GLOBAL(_rest32gpr_31_x) | |||
226 | mtlr 0 | 229 | mtlr 0 |
227 | mr 1,11 | 230 | mr 1,11 |
228 | blr | 231 | blr |
232 | |||
233 | #else /* CONFIG_PPC64 */ | ||
234 | |||
235 | .globl _savegpr0_14 | ||
236 | _savegpr0_14: | ||
237 | std r14,-144(r1) | ||
238 | .globl _savegpr0_15 | ||
239 | _savegpr0_15: | ||
240 | std r15,-136(r1) | ||
241 | .globl _savegpr0_16 | ||
242 | _savegpr0_16: | ||
243 | std r16,-128(r1) | ||
244 | .globl _savegpr0_17 | ||
245 | _savegpr0_17: | ||
246 | std r17,-120(r1) | ||
247 | .globl _savegpr0_18 | ||
248 | _savegpr0_18: | ||
249 | std r18,-112(r1) | ||
250 | .globl _savegpr0_19 | ||
251 | _savegpr0_19: | ||
252 | std r19,-104(r1) | ||
253 | .globl _savegpr0_20 | ||
254 | _savegpr0_20: | ||
255 | std r20,-96(r1) | ||
256 | .globl _savegpr0_21 | ||
257 | _savegpr0_21: | ||
258 | std r21,-88(r1) | ||
259 | .globl _savegpr0_22 | ||
260 | _savegpr0_22: | ||
261 | std r22,-80(r1) | ||
262 | .globl _savegpr0_23 | ||
263 | _savegpr0_23: | ||
264 | std r23,-72(r1) | ||
265 | .globl _savegpr0_24 | ||
266 | _savegpr0_24: | ||
267 | std r24,-64(r1) | ||
268 | .globl _savegpr0_25 | ||
269 | _savegpr0_25: | ||
270 | std r25,-56(r1) | ||
271 | .globl _savegpr0_26 | ||
272 | _savegpr0_26: | ||
273 | std r26,-48(r1) | ||
274 | .globl _savegpr0_27 | ||
275 | _savegpr0_27: | ||
276 | std r27,-40(r1) | ||
277 | .globl _savegpr0_28 | ||
278 | _savegpr0_28: | ||
279 | std r28,-32(r1) | ||
280 | .globl _savegpr0_29 | ||
281 | _savegpr0_29: | ||
282 | std r29,-24(r1) | ||
283 | .globl _savegpr0_30 | ||
284 | _savegpr0_30: | ||
285 | std r30,-16(r1) | ||
286 | .globl _savegpr0_31 | ||
287 | _savegpr0_31: | ||
288 | std r31,-8(r1) | ||
289 | std r0,16(r1) | ||
290 | blr | ||
291 | |||
292 | .globl _restgpr0_14 | ||
293 | _restgpr0_14: | ||
294 | ld r14,-144(r1) | ||
295 | .globl _restgpr0_15 | ||
296 | _restgpr0_15: | ||
297 | ld r15,-136(r1) | ||
298 | .globl _restgpr0_16 | ||
299 | _restgpr0_16: | ||
300 | ld r16,-128(r1) | ||
301 | .globl _restgpr0_17 | ||
302 | _restgpr0_17: | ||
303 | ld r17,-120(r1) | ||
304 | .globl _restgpr0_18 | ||
305 | _restgpr0_18: | ||
306 | ld r18,-112(r1) | ||
307 | .globl _restgpr0_19 | ||
308 | _restgpr0_19: | ||
309 | ld r19,-104(r1) | ||
310 | .globl _restgpr0_20 | ||
311 | _restgpr0_20: | ||
312 | ld r20,-96(r1) | ||
313 | .globl _restgpr0_21 | ||
314 | _restgpr0_21: | ||
315 | ld r21,-88(r1) | ||
316 | .globl _restgpr0_22 | ||
317 | _restgpr0_22: | ||
318 | ld r22,-80(r1) | ||
319 | .globl _restgpr0_23 | ||
320 | _restgpr0_23: | ||
321 | ld r23,-72(r1) | ||
322 | .globl _restgpr0_24 | ||
323 | _restgpr0_24: | ||
324 | ld r24,-64(r1) | ||
325 | .globl _restgpr0_25 | ||
326 | _restgpr0_25: | ||
327 | ld r25,-56(r1) | ||
328 | .globl _restgpr0_26 | ||
329 | _restgpr0_26: | ||
330 | ld r26,-48(r1) | ||
331 | .globl _restgpr0_27 | ||
332 | _restgpr0_27: | ||
333 | ld r27,-40(r1) | ||
334 | .globl _restgpr0_28 | ||
335 | _restgpr0_28: | ||
336 | ld r28,-32(r1) | ||
337 | .globl _restgpr0_29 | ||
338 | _restgpr0_29: | ||
339 | ld r0,16(r1) | ||
340 | ld r29,-24(r1) | ||
341 | mtlr r0 | ||
342 | ld r30,-16(r1) | ||
343 | ld r31,-8(r1) | ||
344 | blr | ||
345 | |||
346 | .globl _restgpr0_30 | ||
347 | _restgpr0_30: | ||
348 | ld r30,-16(r1) | ||
349 | .globl _restgpr0_31 | ||
350 | _restgpr0_31: | ||
351 | ld r0,16(r1) | ||
352 | ld r31,-8(r1) | ||
353 | mtlr r0 | ||
354 | blr | ||
355 | |||
356 | #endif /* CONFIG_PPC64 */ | ||
357 | |||
229 | #endif | 358 | #endif |
diff --git a/arch/powerpc/lib/devres.c b/arch/powerpc/lib/devres.c index 292115d98ea9..deac4d30daf4 100644 --- a/arch/powerpc/lib/devres.c +++ b/arch/powerpc/lib/devres.c | |||
@@ -8,6 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <linux/device.h> /* devres_*(), devm_ioremap_release() */ | 10 | #include <linux/device.h> /* devres_*(), devm_ioremap_release() */ |
11 | #include <linux/gfp.h> | ||
11 | #include <linux/io.h> /* ioremap_flags() */ | 12 | #include <linux/io.h> /* ioremap_flags() */ |
12 | #include <linux/module.h> /* EXPORT_SYMBOL() */ | 13 | #include <linux/module.h> /* EXPORT_SYMBOL() */ |
13 | 14 | ||
diff --git a/arch/powerpc/lib/feature-fixups.c b/arch/powerpc/lib/feature-fixups.c index e640175b65ae..0d08d0171392 100644 --- a/arch/powerpc/lib/feature-fixups.c +++ b/arch/powerpc/lib/feature-fixups.c | |||
@@ -12,6 +12,7 @@ | |||
12 | * 2 of the License, or (at your option) any later version. | 12 | * 2 of the License, or (at your option) any later version. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <linux/types.h> | ||
15 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
16 | #include <linux/string.h> | 17 | #include <linux/string.h> |
17 | #include <linux/init.h> | 18 | #include <linux/init.h> |
@@ -288,8 +289,8 @@ static void test_alternative_case_with_external_branch(void) | |||
288 | 289 | ||
289 | static void test_cpu_macros(void) | 290 | static void test_cpu_macros(void) |
290 | { | 291 | { |
291 | extern void ftr_fixup_test_FTR_macros; | 292 | extern u8 ftr_fixup_test_FTR_macros; |
292 | extern void ftr_fixup_test_FTR_macros_expected; | 293 | extern u8 ftr_fixup_test_FTR_macros_expected; |
293 | unsigned long size = &ftr_fixup_test_FTR_macros_expected - | 294 | unsigned long size = &ftr_fixup_test_FTR_macros_expected - |
294 | &ftr_fixup_test_FTR_macros; | 295 | &ftr_fixup_test_FTR_macros; |
295 | 296 | ||
@@ -301,8 +302,8 @@ static void test_cpu_macros(void) | |||
301 | static void test_fw_macros(void) | 302 | static void test_fw_macros(void) |
302 | { | 303 | { |
303 | #ifdef CONFIG_PPC64 | 304 | #ifdef CONFIG_PPC64 |
304 | extern void ftr_fixup_test_FW_FTR_macros; | 305 | extern u8 ftr_fixup_test_FW_FTR_macros; |
305 | extern void ftr_fixup_test_FW_FTR_macros_expected; | 306 | extern u8 ftr_fixup_test_FW_FTR_macros_expected; |
306 | unsigned long size = &ftr_fixup_test_FW_FTR_macros_expected - | 307 | unsigned long size = &ftr_fixup_test_FW_FTR_macros_expected - |
307 | &ftr_fixup_test_FW_FTR_macros; | 308 | &ftr_fixup_test_FW_FTR_macros; |
308 | 309 | ||
@@ -314,10 +315,10 @@ static void test_fw_macros(void) | |||
314 | 315 | ||
315 | static void test_lwsync_macros(void) | 316 | static void test_lwsync_macros(void) |
316 | { | 317 | { |
317 | extern void lwsync_fixup_test; | 318 | extern u8 lwsync_fixup_test; |
318 | extern void end_lwsync_fixup_test; | 319 | extern u8 end_lwsync_fixup_test; |
319 | extern void lwsync_fixup_test_expected_LWSYNC; | 320 | extern u8 lwsync_fixup_test_expected_LWSYNC; |
320 | extern void lwsync_fixup_test_expected_SYNC; | 321 | extern u8 lwsync_fixup_test_expected_SYNC; |
321 | unsigned long size = &end_lwsync_fixup_test - | 322 | unsigned long size = &end_lwsync_fixup_test - |
322 | &lwsync_fixup_test; | 323 | &lwsync_fixup_test; |
323 | 324 | ||
diff --git a/arch/powerpc/lib/string.S b/arch/powerpc/lib/string.S index 64e2e499e32a..455881a5563f 100644 --- a/arch/powerpc/lib/string.S +++ b/arch/powerpc/lib/string.S | |||
@@ -28,7 +28,7 @@ _GLOBAL(strcpy) | |||
28 | /* This clears out any unused part of the destination buffer, | 28 | /* This clears out any unused part of the destination buffer, |
29 | just as the libc version does. -- paulus */ | 29 | just as the libc version does. -- paulus */ |
30 | _GLOBAL(strncpy) | 30 | _GLOBAL(strncpy) |
31 | cmpwi 0,r5,0 | 31 | PPC_LCMPI 0,r5,0 |
32 | beqlr | 32 | beqlr |
33 | mtctr r5 | 33 | mtctr r5 |
34 | addi r6,r3,-1 | 34 | addi r6,r3,-1 |
@@ -39,7 +39,7 @@ _GLOBAL(strncpy) | |||
39 | bdnzf 2,1b /* dec ctr, branch if ctr != 0 && !cr0.eq */ | 39 | bdnzf 2,1b /* dec ctr, branch if ctr != 0 && !cr0.eq */ |
40 | bnelr /* if we didn't hit a null char, we're done */ | 40 | bnelr /* if we didn't hit a null char, we're done */ |
41 | mfctr r5 | 41 | mfctr r5 |
42 | cmpwi 0,r5,0 /* any space left in destination buffer? */ | 42 | PPC_LCMPI 0,r5,0 /* any space left in destination buffer? */ |
43 | beqlr /* we know r0 == 0 here */ | 43 | beqlr /* we know r0 == 0 here */ |
44 | 2: stbu r0,1(r6) /* clear it out if so */ | 44 | 2: stbu r0,1(r6) /* clear it out if so */ |
45 | bdnz 2b | 45 | bdnz 2b |
@@ -70,8 +70,8 @@ _GLOBAL(strcmp) | |||
70 | blr | 70 | blr |
71 | 71 | ||
72 | _GLOBAL(strncmp) | 72 | _GLOBAL(strncmp) |
73 | PPC_LCMPI r5,0 | 73 | PPC_LCMPI 0,r5,0 |
74 | beqlr | 74 | beq- 2f |
75 | mtctr r5 | 75 | mtctr r5 |
76 | addi r5,r3,-1 | 76 | addi r5,r3,-1 |
77 | addi r4,r4,-1 | 77 | addi r4,r4,-1 |
@@ -82,6 +82,8 @@ _GLOBAL(strncmp) | |||
82 | beqlr 1 | 82 | beqlr 1 |
83 | bdnzt eq,1b | 83 | bdnzt eq,1b |
84 | blr | 84 | blr |
85 | 2: li r3,0 | ||
86 | blr | ||
85 | 87 | ||
86 | _GLOBAL(strlen) | 88 | _GLOBAL(strlen) |
87 | addi r4,r3,-1 | 89 | addi r4,r3,-1 |
@@ -92,8 +94,8 @@ _GLOBAL(strlen) | |||
92 | blr | 94 | blr |
93 | 95 | ||
94 | _GLOBAL(memcmp) | 96 | _GLOBAL(memcmp) |
95 | cmpwi 0,r5,0 | 97 | PPC_LCMPI 0,r5,0 |
96 | ble- 2f | 98 | beq- 2f |
97 | mtctr r5 | 99 | mtctr r5 |
98 | addi r6,r3,-1 | 100 | addi r6,r3,-1 |
99 | addi r4,r4,-1 | 101 | addi r4,r4,-1 |
@@ -106,8 +108,8 @@ _GLOBAL(memcmp) | |||
106 | blr | 108 | blr |
107 | 109 | ||
108 | _GLOBAL(memchr) | 110 | _GLOBAL(memchr) |
109 | cmpwi 0,r5,0 | 111 | PPC_LCMPI 0,r5,0 |
110 | ble- 2f | 112 | beq- 2f |
111 | mtctr r5 | 113 | mtctr r5 |
112 | addi r3,r3,-1 | 114 | addi r3,r3,-1 |
113 | 1: lbzu r0,1(r3) | 115 | 1: lbzu r0,1(r3) |
diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c index 65abfcfaaa9e..1dc2fa5ce1bd 100644 --- a/arch/powerpc/mm/40x_mmu.c +++ b/arch/powerpc/mm/40x_mmu.c | |||
@@ -135,7 +135,7 @@ unsigned long __init mmu_mapin_ram(unsigned long top) | |||
135 | /* If the size of RAM is not an exact power of two, we may not | 135 | /* If the size of RAM is not an exact power of two, we may not |
136 | * have covered RAM in its entirety with 16 and 4 MiB | 136 | * have covered RAM in its entirety with 16 and 4 MiB |
137 | * pages. Consequently, restrict the top end of RAM currently | 137 | * pages. Consequently, restrict the top end of RAM currently |
138 | * allocable so that calls to the LMB to allocate PTEs for "tail" | 138 | * allocable so that calls to the MEMBLOCK to allocate PTEs for "tail" |
139 | * coverage with normal-sized pages (or other reasons) do not | 139 | * coverage with normal-sized pages (or other reasons) do not |
140 | * attempt to allocate outside the allowed range. | 140 | * attempt to allocate outside the allowed range. |
141 | */ | 141 | */ |
diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c index 3986264b0993..d8c6efb32bc6 100644 --- a/arch/powerpc/mm/44x_mmu.c +++ b/arch/powerpc/mm/44x_mmu.c | |||
@@ -38,7 +38,9 @@ unsigned int tlb_44x_index; /* = 0 */ | |||
38 | unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS; | 38 | unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS; |
39 | int icache_44x_need_flush; | 39 | int icache_44x_need_flush; |
40 | 40 | ||
41 | static void __init ppc44x_update_tlb_hwater(void) | 41 | unsigned long tlb_47x_boltmap[1024/8]; |
42 | |||
43 | static void __cpuinit ppc44x_update_tlb_hwater(void) | ||
42 | { | 44 | { |
43 | extern unsigned int tlb_44x_patch_hwater_D[]; | 45 | extern unsigned int tlb_44x_patch_hwater_D[]; |
44 | extern unsigned int tlb_44x_patch_hwater_I[]; | 46 | extern unsigned int tlb_44x_patch_hwater_I[]; |
@@ -59,7 +61,7 @@ static void __init ppc44x_update_tlb_hwater(void) | |||
59 | } | 61 | } |
60 | 62 | ||
61 | /* | 63 | /* |
62 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem | 64 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem for 44x type MMU |
63 | */ | 65 | */ |
64 | static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) | 66 | static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) |
65 | { | 67 | { |
@@ -67,12 +69,18 @@ static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) | |||
67 | 69 | ||
68 | ppc44x_update_tlb_hwater(); | 70 | ppc44x_update_tlb_hwater(); |
69 | 71 | ||
72 | mtspr(SPRN_MMUCR, 0); | ||
73 | |||
70 | __asm__ __volatile__( | 74 | __asm__ __volatile__( |
71 | "tlbwe %2,%3,%4\n" | 75 | "tlbwe %2,%3,%4\n" |
72 | "tlbwe %1,%3,%5\n" | 76 | "tlbwe %1,%3,%5\n" |
73 | "tlbwe %0,%3,%6\n" | 77 | "tlbwe %0,%3,%6\n" |
74 | : | 78 | : |
79 | #ifdef CONFIG_PPC47x | ||
80 | : "r" (PPC47x_TLB2_S_RWX), | ||
81 | #else | ||
75 | : "r" (PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G), | 82 | : "r" (PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G), |
83 | #endif | ||
76 | "r" (phys), | 84 | "r" (phys), |
77 | "r" (virt | PPC44x_TLB_VALID | PPC44x_TLB_256M), | 85 | "r" (virt | PPC44x_TLB_VALID | PPC44x_TLB_256M), |
78 | "r" (entry), | 86 | "r" (entry), |
@@ -81,8 +89,93 @@ static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) | |||
81 | "i" (PPC44x_TLB_ATTRIB)); | 89 | "i" (PPC44x_TLB_ATTRIB)); |
82 | } | 90 | } |
83 | 91 | ||
92 | static int __init ppc47x_find_free_bolted(void) | ||
93 | { | ||
94 | unsigned int mmube0 = mfspr(SPRN_MMUBE0); | ||
95 | unsigned int mmube1 = mfspr(SPRN_MMUBE1); | ||
96 | |||
97 | if (!(mmube0 & MMUBE0_VBE0)) | ||
98 | return 0; | ||
99 | if (!(mmube0 & MMUBE0_VBE1)) | ||
100 | return 1; | ||
101 | if (!(mmube0 & MMUBE0_VBE2)) | ||
102 | return 2; | ||
103 | if (!(mmube1 & MMUBE1_VBE3)) | ||
104 | return 3; | ||
105 | if (!(mmube1 & MMUBE1_VBE4)) | ||
106 | return 4; | ||
107 | if (!(mmube1 & MMUBE1_VBE5)) | ||
108 | return 5; | ||
109 | return -1; | ||
110 | } | ||
111 | |||
112 | static void __init ppc47x_update_boltmap(void) | ||
113 | { | ||
114 | unsigned int mmube0 = mfspr(SPRN_MMUBE0); | ||
115 | unsigned int mmube1 = mfspr(SPRN_MMUBE1); | ||
116 | |||
117 | if (mmube0 & MMUBE0_VBE0) | ||
118 | __set_bit((mmube0 >> MMUBE0_IBE0_SHIFT) & 0xff, | ||
119 | tlb_47x_boltmap); | ||
120 | if (mmube0 & MMUBE0_VBE1) | ||
121 | __set_bit((mmube0 >> MMUBE0_IBE1_SHIFT) & 0xff, | ||
122 | tlb_47x_boltmap); | ||
123 | if (mmube0 & MMUBE0_VBE2) | ||
124 | __set_bit((mmube0 >> MMUBE0_IBE2_SHIFT) & 0xff, | ||
125 | tlb_47x_boltmap); | ||
126 | if (mmube1 & MMUBE1_VBE3) | ||
127 | __set_bit((mmube1 >> MMUBE1_IBE3_SHIFT) & 0xff, | ||
128 | tlb_47x_boltmap); | ||
129 | if (mmube1 & MMUBE1_VBE4) | ||
130 | __set_bit((mmube1 >> MMUBE1_IBE4_SHIFT) & 0xff, | ||
131 | tlb_47x_boltmap); | ||
132 | if (mmube1 & MMUBE1_VBE5) | ||
133 | __set_bit((mmube1 >> MMUBE1_IBE5_SHIFT) & 0xff, | ||
134 | tlb_47x_boltmap); | ||
135 | } | ||
136 | |||
137 | /* | ||
138 | * "Pins" a 256MB TLB entry in AS0 for kernel lowmem for 47x type MMU | ||
139 | */ | ||
140 | static void __cpuinit ppc47x_pin_tlb(unsigned int virt, unsigned int phys) | ||
141 | { | ||
142 | unsigned int rA; | ||
143 | int bolted; | ||
144 | |||
145 | /* Base rA is HW way select, way 0, bolted bit set */ | ||
146 | rA = 0x88000000; | ||
147 | |||
148 | /* Look for a bolted entry slot */ | ||
149 | bolted = ppc47x_find_free_bolted(); | ||
150 | BUG_ON(bolted < 0); | ||
151 | |||
152 | /* Insert bolted slot number */ | ||
153 | rA |= bolted << 24; | ||
154 | |||
155 | pr_debug("256M TLB entry for 0x%08x->0x%08x in bolt slot %d\n", | ||
156 | virt, phys, bolted); | ||
157 | |||
158 | mtspr(SPRN_MMUCR, 0); | ||
159 | |||
160 | __asm__ __volatile__( | ||
161 | "tlbwe %2,%3,0\n" | ||
162 | "tlbwe %1,%3,1\n" | ||
163 | "tlbwe %0,%3,2\n" | ||
164 | : | ||
165 | : "r" (PPC47x_TLB2_SW | PPC47x_TLB2_SR | | ||
166 | PPC47x_TLB2_SX | ||
167 | #ifdef CONFIG_SMP | ||
168 | | PPC47x_TLB2_M | ||
169 | #endif | ||
170 | ), | ||
171 | "r" (phys), | ||
172 | "r" (virt | PPC47x_TLB0_VALID | PPC47x_TLB0_256M), | ||
173 | "r" (rA)); | ||
174 | } | ||
175 | |||
84 | void __init MMU_init_hw(void) | 176 | void __init MMU_init_hw(void) |
85 | { | 177 | { |
178 | /* This is not useful on 47x but won't hurt either */ | ||
86 | ppc44x_update_tlb_hwater(); | 179 | ppc44x_update_tlb_hwater(); |
87 | 180 | ||
88 | flush_instruction_cache(); | 181 | flush_instruction_cache(); |
@@ -95,8 +188,51 @@ unsigned long __init mmu_mapin_ram(unsigned long top) | |||
95 | /* Pin in enough TLBs to cover any lowmem not covered by the | 188 | /* Pin in enough TLBs to cover any lowmem not covered by the |
96 | * initial 256M mapping established in head_44x.S */ | 189 | * initial 256M mapping established in head_44x.S */ |
97 | for (addr = PPC_PIN_SIZE; addr < lowmem_end_addr; | 190 | for (addr = PPC_PIN_SIZE; addr < lowmem_end_addr; |
98 | addr += PPC_PIN_SIZE) | 191 | addr += PPC_PIN_SIZE) { |
99 | ppc44x_pin_tlb(addr + PAGE_OFFSET, addr); | 192 | if (mmu_has_feature(MMU_FTR_TYPE_47x)) |
193 | ppc47x_pin_tlb(addr + PAGE_OFFSET, addr); | ||
194 | else | ||
195 | ppc44x_pin_tlb(addr + PAGE_OFFSET, addr); | ||
196 | } | ||
197 | if (mmu_has_feature(MMU_FTR_TYPE_47x)) { | ||
198 | ppc47x_update_boltmap(); | ||
100 | 199 | ||
200 | #ifdef DEBUG | ||
201 | { | ||
202 | int i; | ||
203 | |||
204 | printk(KERN_DEBUG "bolted entries: "); | ||
205 | for (i = 0; i < 255; i++) { | ||
206 | if (test_bit(i, tlb_47x_boltmap)) | ||
207 | printk("%d ", i); | ||
208 | } | ||
209 | printk("\n"); | ||
210 | } | ||
211 | #endif /* DEBUG */ | ||
212 | } | ||
101 | return total_lowmem; | 213 | return total_lowmem; |
102 | } | 214 | } |
215 | |||
216 | #ifdef CONFIG_SMP | ||
217 | void __cpuinit mmu_init_secondary(int cpu) | ||
218 | { | ||
219 | unsigned long addr; | ||
220 | |||
221 | /* Pin in enough TLBs to cover any lowmem not covered by the | ||
222 | * initial 256M mapping established in head_44x.S | ||
223 | * | ||
224 | * WARNING: This is called with only the first 256M of the | ||
225 | * linear mapping in the TLB and we can't take faults yet | ||
226 | * so beware of what this code uses. It runs off a temporary | ||
227 | * stack. current (r2) isn't initialized, smp_processor_id() | ||
228 | * will not work, current thread info isn't accessible, ... | ||
229 | */ | ||
230 | for (addr = PPC_PIN_SIZE; addr < lowmem_end_addr; | ||
231 | addr += PPC_PIN_SIZE) { | ||
232 | if (mmu_has_feature(MMU_FTR_TYPE_47x)) | ||
233 | ppc47x_pin_tlb(addr + PAGE_OFFSET, addr); | ||
234 | else | ||
235 | ppc44x_pin_tlb(addr + PAGE_OFFSET, addr); | ||
236 | } | ||
237 | } | ||
238 | #endif /* CONFIG_SMP */ | ||
diff --git a/arch/powerpc/mm/dma-noncoherent.c b/arch/powerpc/mm/dma-noncoherent.c index 36692f5c9a76..757c0bed9a91 100644 --- a/arch/powerpc/mm/dma-noncoherent.c +++ b/arch/powerpc/mm/dma-noncoherent.c | |||
@@ -23,6 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
26 | #include <linux/slab.h> | ||
26 | #include <linux/kernel.h> | 27 | #include <linux/kernel.h> |
27 | #include <linux/errno.h> | 28 | #include <linux/errno.h> |
28 | #include <linux/string.h> | 29 | #include <linux/string.h> |
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 26fb6b990b0a..1bd712c33ce2 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
@@ -151,13 +151,14 @@ int __kprobes do_page_fault(struct pt_regs *regs, unsigned long address, | |||
151 | if (!user_mode(regs) && (address >= TASK_SIZE)) | 151 | if (!user_mode(regs) && (address >= TASK_SIZE)) |
152 | return SIGSEGV; | 152 | return SIGSEGV; |
153 | 153 | ||
154 | #if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE)) | 154 | #if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE) || \ |
155 | defined(CONFIG_PPC_BOOK3S_64)) | ||
155 | if (error_code & DSISR_DABRMATCH) { | 156 | if (error_code & DSISR_DABRMATCH) { |
156 | /* DABR match */ | 157 | /* DABR match */ |
157 | do_dabr(regs, address, error_code); | 158 | do_dabr(regs, address, error_code); |
158 | return 0; | 159 | return 0; |
159 | } | 160 | } |
160 | #endif /* !(CONFIG_4xx || CONFIG_BOOKE)*/ | 161 | #endif |
161 | 162 | ||
162 | if (in_atomic() || mm == NULL) { | 163 | if (in_atomic() || mm == NULL) { |
163 | if (!user_mode(regs)) | 164 | if (!user_mode(regs)) |
@@ -307,7 +308,6 @@ good_area: | |||
307 | * make sure we exit gracefully rather than endlessly redo | 308 | * make sure we exit gracefully rather than endlessly redo |
308 | * the fault. | 309 | * the fault. |
309 | */ | 310 | */ |
310 | survive: | ||
311 | ret = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0); | 311 | ret = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0); |
312 | if (unlikely(ret & VM_FAULT_ERROR)) { | 312 | if (unlikely(ret & VM_FAULT_ERROR)) { |
313 | if (ret & VM_FAULT_OOM) | 313 | if (ret & VM_FAULT_OOM) |
@@ -359,15 +359,10 @@ bad_area_nosemaphore: | |||
359 | */ | 359 | */ |
360 | out_of_memory: | 360 | out_of_memory: |
361 | up_read(&mm->mmap_sem); | 361 | up_read(&mm->mmap_sem); |
362 | if (is_global_init(current)) { | 362 | if (!user_mode(regs)) |
363 | yield(); | 363 | return SIGKILL; |
364 | down_read(&mm->mmap_sem); | 364 | pagefault_out_of_memory(); |
365 | goto survive; | 365 | return 0; |
366 | } | ||
367 | printk("VM: killing process %s\n", current->comm); | ||
368 | if (user_mode(regs)) | ||
369 | do_group_exit(SIGKILL); | ||
370 | return SIGKILL; | ||
371 | 366 | ||
372 | do_sigbus: | 367 | do_sigbus: |
373 | up_read(&mm->mmap_sem); | 368 | up_read(&mm->mmap_sem); |
diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c index c5394728bf2e..cdc7526e9c93 100644 --- a/arch/powerpc/mm/fsl_booke_mmu.c +++ b/arch/powerpc/mm/fsl_booke_mmu.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * Modifications by Kumar Gala (galak@kernel.crashing.org) to support | 2 | * Modifications by Kumar Gala (galak@kernel.crashing.org) to support |
3 | * E500 Book E processors. | 3 | * E500 Book E processors. |
4 | * | 4 | * |
5 | * Copyright 2004 Freescale Semiconductor, Inc | 5 | * Copyright 2004,2010 Freescale Semiconductor, Inc. |
6 | * | 6 | * |
7 | * This file contains the routines for initializing the MMU | 7 | * This file contains the routines for initializing the MMU |
8 | * on the 4xx series of chips. | 8 | * on the 4xx series of chips. |
@@ -56,19 +56,13 @@ | |||
56 | 56 | ||
57 | unsigned int tlbcam_index; | 57 | unsigned int tlbcam_index; |
58 | 58 | ||
59 | #define NUM_TLBCAMS (64) | ||
60 | 59 | ||
61 | #if defined(CONFIG_LOWMEM_CAM_NUM_BOOL) && (CONFIG_LOWMEM_CAM_NUM >= NUM_TLBCAMS) | 60 | #if defined(CONFIG_LOWMEM_CAM_NUM_BOOL) && (CONFIG_LOWMEM_CAM_NUM >= NUM_TLBCAMS) |
62 | #error "LOWMEM_CAM_NUM must be less than NUM_TLBCAMS" | 61 | #error "LOWMEM_CAM_NUM must be less than NUM_TLBCAMS" |
63 | #endif | 62 | #endif |
64 | 63 | ||
65 | struct tlbcam { | 64 | #define NUM_TLBCAMS (64) |
66 | u32 MAS0; | 65 | struct tlbcam TLBCAM[NUM_TLBCAMS]; |
67 | u32 MAS1; | ||
68 | unsigned long MAS2; | ||
69 | u32 MAS3; | ||
70 | u32 MAS7; | ||
71 | } TLBCAM[NUM_TLBCAMS]; | ||
72 | 66 | ||
73 | struct tlbcamrange { | 67 | struct tlbcamrange { |
74 | unsigned long start; | 68 | unsigned long start; |
@@ -109,19 +103,6 @@ unsigned long p_mapped_by_tlbcam(phys_addr_t pa) | |||
109 | return 0; | 103 | return 0; |
110 | } | 104 | } |
111 | 105 | ||
112 | void loadcam_entry(int idx) | ||
113 | { | ||
114 | mtspr(SPRN_MAS0, TLBCAM[idx].MAS0); | ||
115 | mtspr(SPRN_MAS1, TLBCAM[idx].MAS1); | ||
116 | mtspr(SPRN_MAS2, TLBCAM[idx].MAS2); | ||
117 | mtspr(SPRN_MAS3, TLBCAM[idx].MAS3); | ||
118 | |||
119 | if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) | ||
120 | mtspr(SPRN_MAS7, TLBCAM[idx].MAS7); | ||
121 | |||
122 | asm volatile("isync;tlbwe;isync" : : : "memory"); | ||
123 | } | ||
124 | |||
125 | /* | 106 | /* |
126 | * Set up one of the I/D BAT (block address translation) register pairs. | 107 | * Set up one of the I/D BAT (block address translation) register pairs. |
127 | * The parameters are not checked; in particular size must be a power | 108 | * The parameters are not checked; in particular size must be a power |
@@ -152,18 +133,13 @@ static void settlbcam(int index, unsigned long virt, phys_addr_t phys, | |||
152 | 133 | ||
153 | TLBCAM[index].MAS3 = (phys & MAS3_RPN) | MAS3_SX | MAS3_SR; | 134 | TLBCAM[index].MAS3 = (phys & MAS3_RPN) | MAS3_SX | MAS3_SR; |
154 | TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_SW : 0); | 135 | TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_SW : 0); |
155 | if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) | 136 | if (mmu_has_feature(MMU_FTR_BIG_PHYS)) |
156 | TLBCAM[index].MAS7 = (u64)phys >> 32; | 137 | TLBCAM[index].MAS7 = (u64)phys >> 32; |
157 | 138 | ||
158 | #ifndef CONFIG_KGDB /* want user access for breakpoints */ | ||
159 | if (flags & _PAGE_USER) { | 139 | if (flags & _PAGE_USER) { |
160 | TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; | 140 | TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; |
161 | TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); | 141 | TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); |
162 | } | 142 | } |
163 | #else | ||
164 | TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; | ||
165 | TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); | ||
166 | #endif | ||
167 | 143 | ||
168 | tlbcam_addrs[index].start = virt; | 144 | tlbcam_addrs[index].start = virt; |
169 | tlbcam_addrs[index].limit = virt + size - 1; | 145 | tlbcam_addrs[index].limit = virt + size - 1; |
diff --git a/arch/powerpc/mm/hash_low_64.S b/arch/powerpc/mm/hash_low_64.S index a719f53921a5..3079f6b44cf5 100644 --- a/arch/powerpc/mm/hash_low_64.S +++ b/arch/powerpc/mm/hash_low_64.S | |||
@@ -68,9 +68,6 @@ _GLOBAL(__hash_page_4K) | |||
68 | std r8,STK_PARM(r8)(r1) | 68 | std r8,STK_PARM(r8)(r1) |
69 | std r9,STK_PARM(r9)(r1) | 69 | std r9,STK_PARM(r9)(r1) |
70 | 70 | ||
71 | /* Add _PAGE_PRESENT to access */ | ||
72 | ori r4,r4,_PAGE_PRESENT | ||
73 | |||
74 | /* Save non-volatile registers. | 71 | /* Save non-volatile registers. |
75 | * r31 will hold "old PTE" | 72 | * r31 will hold "old PTE" |
76 | * r30 is "new PTE" | 73 | * r30 is "new PTE" |
@@ -347,9 +344,6 @@ _GLOBAL(__hash_page_4K) | |||
347 | std r8,STK_PARM(r8)(r1) | 344 | std r8,STK_PARM(r8)(r1) |
348 | std r9,STK_PARM(r9)(r1) | 345 | std r9,STK_PARM(r9)(r1) |
349 | 346 | ||
350 | /* Add _PAGE_PRESENT to access */ | ||
351 | ori r4,r4,_PAGE_PRESENT | ||
352 | |||
353 | /* Save non-volatile registers. | 347 | /* Save non-volatile registers. |
354 | * r31 will hold "old PTE" | 348 | * r31 will hold "old PTE" |
355 | * r30 is "new PTE" | 349 | * r30 is "new PTE" |
@@ -687,9 +681,6 @@ _GLOBAL(__hash_page_64K) | |||
687 | std r8,STK_PARM(r8)(r1) | 681 | std r8,STK_PARM(r8)(r1) |
688 | std r9,STK_PARM(r9)(r1) | 682 | std r9,STK_PARM(r9)(r1) |
689 | 683 | ||
690 | /* Add _PAGE_PRESENT to access */ | ||
691 | ori r4,r4,_PAGE_PRESENT | ||
692 | |||
693 | /* Save non-volatile registers. | 684 | /* Save non-volatile registers. |
694 | * r31 will hold "old PTE" | 685 | * r31 will hold "old PTE" |
695 | * r30 is "new PTE" | 686 | * r30 is "new PTE" |
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 3ecdcec0a39e..09dffe6efa46 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/cache.h> | 31 | #include <linux/cache.h> |
32 | #include <linux/init.h> | 32 | #include <linux/init.h> |
33 | #include <linux/signal.h> | 33 | #include <linux/signal.h> |
34 | #include <linux/lmb.h> | 34 | #include <linux/memblock.h> |
35 | 35 | ||
36 | #include <asm/processor.h> | 36 | #include <asm/processor.h> |
37 | #include <asm/pgtable.h> | 37 | #include <asm/pgtable.h> |
@@ -384,8 +384,8 @@ static int __init htab_dt_scan_hugepage_blocks(unsigned long node, | |||
384 | printk(KERN_INFO "Huge page(16GB) memory: " | 384 | printk(KERN_INFO "Huge page(16GB) memory: " |
385 | "addr = 0x%lX size = 0x%lX pages = %d\n", | 385 | "addr = 0x%lX size = 0x%lX pages = %d\n", |
386 | phys_addr, block_size, expected_pages); | 386 | phys_addr, block_size, expected_pages); |
387 | if (phys_addr + (16 * GB) <= lmb_end_of_DRAM()) { | 387 | if (phys_addr + (16 * GB) <= memblock_end_of_DRAM()) { |
388 | lmb_reserve(phys_addr, block_size * expected_pages); | 388 | memblock_reserve(phys_addr, block_size * expected_pages); |
389 | add_gpage(phys_addr, block_size, expected_pages); | 389 | add_gpage(phys_addr, block_size, expected_pages); |
390 | } | 390 | } |
391 | return 0; | 391 | return 0; |
@@ -458,7 +458,7 @@ static void __init htab_init_page_sizes(void) | |||
458 | * and we have at least 1G of RAM at boot | 458 | * and we have at least 1G of RAM at boot |
459 | */ | 459 | */ |
460 | if (mmu_psize_defs[MMU_PAGE_16M].shift && | 460 | if (mmu_psize_defs[MMU_PAGE_16M].shift && |
461 | lmb_phys_mem_size() >= 0x40000000) | 461 | memblock_phys_mem_size() >= 0x40000000) |
462 | mmu_vmemmap_psize = MMU_PAGE_16M; | 462 | mmu_vmemmap_psize = MMU_PAGE_16M; |
463 | else if (mmu_psize_defs[MMU_PAGE_64K].shift) | 463 | else if (mmu_psize_defs[MMU_PAGE_64K].shift) |
464 | mmu_vmemmap_psize = MMU_PAGE_64K; | 464 | mmu_vmemmap_psize = MMU_PAGE_64K; |
@@ -520,7 +520,7 @@ static unsigned long __init htab_get_table_size(void) | |||
520 | return 1UL << ppc64_pft_size; | 520 | return 1UL << ppc64_pft_size; |
521 | 521 | ||
522 | /* round mem_size up to next power of 2 */ | 522 | /* round mem_size up to next power of 2 */ |
523 | mem_size = lmb_phys_mem_size(); | 523 | mem_size = memblock_phys_mem_size(); |
524 | rnd_mem_size = 1UL << __ilog2(mem_size); | 524 | rnd_mem_size = 1UL << __ilog2(mem_size); |
525 | if (rnd_mem_size < mem_size) | 525 | if (rnd_mem_size < mem_size) |
526 | rnd_mem_size <<= 1; | 526 | rnd_mem_size <<= 1; |
@@ -627,7 +627,7 @@ static void __init htab_initialize(void) | |||
627 | else | 627 | else |
628 | limit = 0; | 628 | limit = 0; |
629 | 629 | ||
630 | table = lmb_alloc_base(htab_size_bytes, htab_size_bytes, limit); | 630 | table = memblock_alloc_base(htab_size_bytes, htab_size_bytes, limit); |
631 | 631 | ||
632 | DBG("Hash table allocated at %lx, size: %lx\n", table, | 632 | DBG("Hash table allocated at %lx, size: %lx\n", table, |
633 | htab_size_bytes); | 633 | htab_size_bytes); |
@@ -647,9 +647,9 @@ static void __init htab_initialize(void) | |||
647 | prot = pgprot_val(PAGE_KERNEL); | 647 | prot = pgprot_val(PAGE_KERNEL); |
648 | 648 | ||
649 | #ifdef CONFIG_DEBUG_PAGEALLOC | 649 | #ifdef CONFIG_DEBUG_PAGEALLOC |
650 | linear_map_hash_count = lmb_end_of_DRAM() >> PAGE_SHIFT; | 650 | linear_map_hash_count = memblock_end_of_DRAM() >> PAGE_SHIFT; |
651 | linear_map_hash_slots = __va(lmb_alloc_base(linear_map_hash_count, | 651 | linear_map_hash_slots = __va(memblock_alloc_base(linear_map_hash_count, |
652 | 1, lmb.rmo_size)); | 652 | 1, memblock.rmo_size)); |
653 | memset(linear_map_hash_slots, 0, linear_map_hash_count); | 653 | memset(linear_map_hash_slots, 0, linear_map_hash_count); |
654 | #endif /* CONFIG_DEBUG_PAGEALLOC */ | 654 | #endif /* CONFIG_DEBUG_PAGEALLOC */ |
655 | 655 | ||
@@ -659,16 +659,16 @@ static void __init htab_initialize(void) | |||
659 | */ | 659 | */ |
660 | 660 | ||
661 | /* create bolted the linear mapping in the hash table */ | 661 | /* create bolted the linear mapping in the hash table */ |
662 | for (i=0; i < lmb.memory.cnt; i++) { | 662 | for (i=0; i < memblock.memory.cnt; i++) { |
663 | base = (unsigned long)__va(lmb.memory.region[i].base); | 663 | base = (unsigned long)__va(memblock.memory.region[i].base); |
664 | size = lmb.memory.region[i].size; | 664 | size = memblock.memory.region[i].size; |
665 | 665 | ||
666 | DBG("creating mapping for region: %lx..%lx (prot: %lx)\n", | 666 | DBG("creating mapping for region: %lx..%lx (prot: %lx)\n", |
667 | base, size, prot); | 667 | base, size, prot); |
668 | 668 | ||
669 | #ifdef CONFIG_U3_DART | 669 | #ifdef CONFIG_U3_DART |
670 | /* Do not map the DART space. Fortunately, it will be aligned | 670 | /* Do not map the DART space. Fortunately, it will be aligned |
671 | * in such a way that it will not cross two lmb regions and | 671 | * in such a way that it will not cross two memblock regions and |
672 | * will fit within a single 16Mb page. | 672 | * will fit within a single 16Mb page. |
673 | * The DART space is assumed to be a full 16Mb region even if | 673 | * The DART space is assumed to be a full 16Mb region even if |
674 | * we only use 2Mb of that space. We will use more of it later | 674 | * we only use 2Mb of that space. We will use more of it later |
@@ -871,6 +871,18 @@ static inline int subpage_protection(struct mm_struct *mm, unsigned long ea) | |||
871 | } | 871 | } |
872 | #endif | 872 | #endif |
873 | 873 | ||
874 | void hash_failure_debug(unsigned long ea, unsigned long access, | ||
875 | unsigned long vsid, unsigned long trap, | ||
876 | int ssize, int psize, unsigned long pte) | ||
877 | { | ||
878 | if (!printk_ratelimit()) | ||
879 | return; | ||
880 | pr_info("mm: Hashing failure ! EA=0x%lx access=0x%lx current=%s\n", | ||
881 | ea, access, current->comm); | ||
882 | pr_info(" trap=0x%lx vsid=0x%lx ssize=%d psize=%d pte=0x%lx\n", | ||
883 | trap, vsid, ssize, psize, pte); | ||
884 | } | ||
885 | |||
874 | /* Result code is: | 886 | /* Result code is: |
875 | * 0 - handled | 887 | * 0 - handled |
876 | * 1 - normal page fault | 888 | * 1 - normal page fault |
@@ -955,6 +967,17 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap) | |||
955 | return 1; | 967 | return 1; |
956 | } | 968 | } |
957 | 969 | ||
970 | /* Add _PAGE_PRESENT to the required access perm */ | ||
971 | access |= _PAGE_PRESENT; | ||
972 | |||
973 | /* Pre-check access permissions (will be re-checked atomically | ||
974 | * in __hash_page_XX but this pre-check is a fast path | ||
975 | */ | ||
976 | if (access & ~pte_val(*ptep)) { | ||
977 | DBG_LOW(" no access !\n"); | ||
978 | return 1; | ||
979 | } | ||
980 | |||
958 | #ifdef CONFIG_HUGETLB_PAGE | 981 | #ifdef CONFIG_HUGETLB_PAGE |
959 | if (hugeshift) | 982 | if (hugeshift) |
960 | return __hash_page_huge(ea, access, vsid, ptep, trap, local, | 983 | return __hash_page_huge(ea, access, vsid, ptep, trap, local, |
@@ -967,14 +990,6 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap) | |||
967 | DBG_LOW(" i-pte: %016lx %016lx\n", pte_val(*ptep), | 990 | DBG_LOW(" i-pte: %016lx %016lx\n", pte_val(*ptep), |
968 | pte_val(*(ptep + PTRS_PER_PTE))); | 991 | pte_val(*(ptep + PTRS_PER_PTE))); |
969 | #endif | 992 | #endif |
970 | /* Pre-check access permissions (will be re-checked atomically | ||
971 | * in __hash_page_XX but this pre-check is a fast path | ||
972 | */ | ||
973 | if (access & ~pte_val(*ptep)) { | ||
974 | DBG_LOW(" no access !\n"); | ||
975 | return 1; | ||
976 | } | ||
977 | |||
978 | /* Do actual hashing */ | 993 | /* Do actual hashing */ |
979 | #ifdef CONFIG_PPC_64K_PAGES | 994 | #ifdef CONFIG_PPC_64K_PAGES |
980 | /* If _PAGE_4K_PFN is set, make sure this is a 4k segment */ | 995 | /* If _PAGE_4K_PFN is set, make sure this is a 4k segment */ |
@@ -1033,6 +1048,12 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap) | |||
1033 | local, ssize, spp); | 1048 | local, ssize, spp); |
1034 | } | 1049 | } |
1035 | 1050 | ||
1051 | /* Dump some info in case of hash insertion failure, they should | ||
1052 | * never happen so it is really useful to know if/when they do | ||
1053 | */ | ||
1054 | if (rc == -1) | ||
1055 | hash_failure_debug(ea, access, vsid, trap, ssize, psize, | ||
1056 | pte_val(*ptep)); | ||
1036 | #ifndef CONFIG_PPC_64K_PAGES | 1057 | #ifndef CONFIG_PPC_64K_PAGES |
1037 | DBG_LOW(" o-pte: %016lx\n", pte_val(*ptep)); | 1058 | DBG_LOW(" o-pte: %016lx\n", pte_val(*ptep)); |
1038 | #else | 1059 | #else |
@@ -1051,8 +1072,7 @@ void hash_preload(struct mm_struct *mm, unsigned long ea, | |||
1051 | void *pgdir; | 1072 | void *pgdir; |
1052 | pte_t *ptep; | 1073 | pte_t *ptep; |
1053 | unsigned long flags; | 1074 | unsigned long flags; |
1054 | int local = 0; | 1075 | int rc, ssize, local = 0; |
1055 | int ssize; | ||
1056 | 1076 | ||
1057 | BUG_ON(REGION_ID(ea) != USER_REGION_ID); | 1077 | BUG_ON(REGION_ID(ea) != USER_REGION_ID); |
1058 | 1078 | ||
@@ -1098,11 +1118,18 @@ void hash_preload(struct mm_struct *mm, unsigned long ea, | |||
1098 | /* Hash it in */ | 1118 | /* Hash it in */ |
1099 | #ifdef CONFIG_PPC_HAS_HASH_64K | 1119 | #ifdef CONFIG_PPC_HAS_HASH_64K |
1100 | if (mm->context.user_psize == MMU_PAGE_64K) | 1120 | if (mm->context.user_psize == MMU_PAGE_64K) |
1101 | __hash_page_64K(ea, access, vsid, ptep, trap, local, ssize); | 1121 | rc = __hash_page_64K(ea, access, vsid, ptep, trap, local, ssize); |
1102 | else | 1122 | else |
1103 | #endif /* CONFIG_PPC_HAS_HASH_64K */ | 1123 | #endif /* CONFIG_PPC_HAS_HASH_64K */ |
1104 | __hash_page_4K(ea, access, vsid, ptep, trap, local, ssize, | 1124 | rc = __hash_page_4K(ea, access, vsid, ptep, trap, local, ssize, |
1105 | subpage_protection(pgdir, ea)); | 1125 | subpage_protection(pgdir, ea)); |
1126 | |||
1127 | /* Dump some info in case of hash insertion failure, they should | ||
1128 | * never happen so it is really useful to know if/when they do | ||
1129 | */ | ||
1130 | if (rc == -1) | ||
1131 | hash_failure_debug(ea, access, vsid, trap, ssize, | ||
1132 | mm->context.user_psize, pte_val(*ptep)); | ||
1106 | 1133 | ||
1107 | local_irq_restore(flags); | 1134 | local_irq_restore(flags); |
1108 | } | 1135 | } |
diff --git a/arch/powerpc/mm/hugetlbpage-hash64.c b/arch/powerpc/mm/hugetlbpage-hash64.c index 199539882f92..cc5c273086cf 100644 --- a/arch/powerpc/mm/hugetlbpage-hash64.c +++ b/arch/powerpc/mm/hugetlbpage-hash64.c | |||
@@ -21,21 +21,13 @@ int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, | |||
21 | unsigned long old_pte, new_pte; | 21 | unsigned long old_pte, new_pte; |
22 | unsigned long va, rflags, pa, sz; | 22 | unsigned long va, rflags, pa, sz; |
23 | long slot; | 23 | long slot; |
24 | int err = 1; | ||
25 | 24 | ||
26 | BUG_ON(shift != mmu_psize_defs[mmu_psize].shift); | 25 | BUG_ON(shift != mmu_psize_defs[mmu_psize].shift); |
27 | 26 | ||
28 | /* Search the Linux page table for a match with va */ | 27 | /* Search the Linux page table for a match with va */ |
29 | va = hpt_va(ea, vsid, ssize); | 28 | va = hpt_va(ea, vsid, ssize); |
30 | 29 | ||
31 | /* | 30 | /* At this point, we have a pte (old_pte) which can be used to build |
32 | * Check the user's access rights to the page. If access should be | ||
33 | * prevented then send the problem up to do_page_fault. | ||
34 | */ | ||
35 | if (unlikely(access & ~pte_val(*ptep))) | ||
36 | goto out; | ||
37 | /* | ||
38 | * At this point, we have a pte (old_pte) which can be used to build | ||
39 | * or update an HPTE. There are 2 cases: | 31 | * or update an HPTE. There are 2 cases: |
40 | * | 32 | * |
41 | * 1. There is a valid (present) pte with no associated HPTE (this is | 33 | * 1. There is a valid (present) pte with no associated HPTE (this is |
@@ -49,9 +41,17 @@ int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, | |||
49 | 41 | ||
50 | do { | 42 | do { |
51 | old_pte = pte_val(*ptep); | 43 | old_pte = pte_val(*ptep); |
52 | if (old_pte & _PAGE_BUSY) | 44 | /* If PTE busy, retry the access */ |
53 | goto out; | 45 | if (unlikely(old_pte & _PAGE_BUSY)) |
46 | return 0; | ||
47 | /* If PTE permissions don't match, take page fault */ | ||
48 | if (unlikely(access & ~old_pte)) | ||
49 | return 1; | ||
50 | /* Try to lock the PTE, add ACCESSED and DIRTY if it was | ||
51 | * a write access */ | ||
54 | new_pte = old_pte | _PAGE_BUSY | _PAGE_ACCESSED; | 52 | new_pte = old_pte | _PAGE_BUSY | _PAGE_ACCESSED; |
53 | if (access & _PAGE_RW) | ||
54 | new_pte |= _PAGE_DIRTY; | ||
55 | } while(old_pte != __cmpxchg_u64((unsigned long *)ptep, | 55 | } while(old_pte != __cmpxchg_u64((unsigned long *)ptep, |
56 | old_pte, new_pte)); | 56 | old_pte, new_pte)); |
57 | 57 | ||
@@ -121,8 +121,16 @@ repeat: | |||
121 | } | 121 | } |
122 | } | 122 | } |
123 | 123 | ||
124 | if (unlikely(slot == -2)) | 124 | /* |
125 | panic("hash_huge_page: pte_insert failed\n"); | 125 | * Hypervisor failure. Restore old pte and return -1 |
126 | * similar to __hash_page_* | ||
127 | */ | ||
128 | if (unlikely(slot == -2)) { | ||
129 | *ptep = __pte(old_pte); | ||
130 | hash_failure_debug(ea, access, vsid, trap, ssize, | ||
131 | mmu_psize, old_pte); | ||
132 | return -1; | ||
133 | } | ||
126 | 134 | ||
127 | new_pte |= (slot << 12) & (_PAGE_F_SECOND | _PAGE_F_GIX); | 135 | new_pte |= (slot << 12) & (_PAGE_F_SECOND | _PAGE_F_GIX); |
128 | } | 136 | } |
@@ -131,9 +139,5 @@ repeat: | |||
131 | * No need to use ldarx/stdcx here | 139 | * No need to use ldarx/stdcx here |
132 | */ | 140 | */ |
133 | *ptep = __pte(new_pte & ~_PAGE_BUSY); | 141 | *ptep = __pte(new_pte & ~_PAGE_BUSY); |
134 | 142 | return 0; | |
135 | err = 0; | ||
136 | |||
137 | out: | ||
138 | return err; | ||
139 | } | 143 | } |
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 123f7070238a..9bb249c3046e 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -9,6 +9,7 @@ | |||
9 | 9 | ||
10 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
11 | #include <linux/io.h> | 11 | #include <linux/io.h> |
12 | #include <linux/slab.h> | ||
12 | #include <linux/hugetlb.h> | 13 | #include <linux/hugetlb.h> |
13 | #include <asm/pgtable.h> | 14 | #include <asm/pgtable.h> |
14 | #include <asm/pgalloc.h> | 15 | #include <asm/pgalloc.h> |
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c index b1dbd9ee87cc..6a6975dc2654 100644 --- a/arch/powerpc/mm/init_32.c +++ b/arch/powerpc/mm/init_32.c | |||
@@ -30,7 +30,8 @@ | |||
30 | #include <linux/highmem.h> | 30 | #include <linux/highmem.h> |
31 | #include <linux/initrd.h> | 31 | #include <linux/initrd.h> |
32 | #include <linux/pagemap.h> | 32 | #include <linux/pagemap.h> |
33 | #include <linux/lmb.h> | 33 | #include <linux/memblock.h> |
34 | #include <linux/gfp.h> | ||
34 | 35 | ||
35 | #include <asm/pgalloc.h> | 36 | #include <asm/pgalloc.h> |
36 | #include <asm/prom.h> | 37 | #include <asm/prom.h> |
@@ -135,17 +136,17 @@ void __init MMU_init(void) | |||
135 | /* parse args from command line */ | 136 | /* parse args from command line */ |
136 | MMU_setup(); | 137 | MMU_setup(); |
137 | 138 | ||
138 | if (lmb.memory.cnt > 1) { | 139 | if (memblock.memory.cnt > 1) { |
139 | #ifndef CONFIG_WII | 140 | #ifndef CONFIG_WII |
140 | lmb.memory.cnt = 1; | 141 | memblock.memory.cnt = 1; |
141 | lmb_analyze(); | 142 | memblock_analyze(); |
142 | printk(KERN_WARNING "Only using first contiguous memory region"); | 143 | printk(KERN_WARNING "Only using first contiguous memory region"); |
143 | #else | 144 | #else |
144 | wii_memory_fixups(); | 145 | wii_memory_fixups(); |
145 | #endif | 146 | #endif |
146 | } | 147 | } |
147 | 148 | ||
148 | total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr; | 149 | total_lowmem = total_memory = memblock_end_of_DRAM() - memstart_addr; |
149 | lowmem_end_addr = memstart_addr + total_lowmem; | 150 | lowmem_end_addr = memstart_addr + total_lowmem; |
150 | 151 | ||
151 | #ifdef CONFIG_FSL_BOOKE | 152 | #ifdef CONFIG_FSL_BOOKE |
@@ -160,8 +161,8 @@ void __init MMU_init(void) | |||
160 | lowmem_end_addr = memstart_addr + total_lowmem; | 161 | lowmem_end_addr = memstart_addr + total_lowmem; |
161 | #ifndef CONFIG_HIGHMEM | 162 | #ifndef CONFIG_HIGHMEM |
162 | total_memory = total_lowmem; | 163 | total_memory = total_lowmem; |
163 | lmb_enforce_memory_limit(lowmem_end_addr); | 164 | memblock_enforce_memory_limit(lowmem_end_addr); |
164 | lmb_analyze(); | 165 | memblock_analyze(); |
165 | #endif /* CONFIG_HIGHMEM */ | 166 | #endif /* CONFIG_HIGHMEM */ |
166 | } | 167 | } |
167 | 168 | ||
@@ -199,7 +200,7 @@ void __init *early_get_page(void) | |||
199 | if (init_bootmem_done) { | 200 | if (init_bootmem_done) { |
200 | p = alloc_bootmem_pages(PAGE_SIZE); | 201 | p = alloc_bootmem_pages(PAGE_SIZE); |
201 | } else { | 202 | } else { |
202 | p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE, | 203 | p = __va(memblock_alloc_base(PAGE_SIZE, PAGE_SIZE, |
203 | __initial_memory_limit_addr)); | 204 | __initial_memory_limit_addr)); |
204 | } | 205 | } |
205 | return p; | 206 | return p; |
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index 776f28d02b6b..71f1415e2472 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
@@ -40,8 +40,9 @@ | |||
40 | #include <linux/nodemask.h> | 40 | #include <linux/nodemask.h> |
41 | #include <linux/module.h> | 41 | #include <linux/module.h> |
42 | #include <linux/poison.h> | 42 | #include <linux/poison.h> |
43 | #include <linux/lmb.h> | 43 | #include <linux/memblock.h> |
44 | #include <linux/hugetlb.h> | 44 | #include <linux/hugetlb.h> |
45 | #include <linux/slab.h> | ||
45 | 46 | ||
46 | #include <asm/pgalloc.h> | 47 | #include <asm/pgalloc.h> |
47 | #include <asm/page.h> | 48 | #include <asm/page.h> |
@@ -251,6 +252,47 @@ static void __meminit vmemmap_create_mapping(unsigned long start, | |||
251 | } | 252 | } |
252 | #endif /* CONFIG_PPC_BOOK3E */ | 253 | #endif /* CONFIG_PPC_BOOK3E */ |
253 | 254 | ||
255 | struct vmemmap_backing *vmemmap_list; | ||
256 | |||
257 | static __meminit struct vmemmap_backing * vmemmap_list_alloc(int node) | ||
258 | { | ||
259 | static struct vmemmap_backing *next; | ||
260 | static int num_left; | ||
261 | |||
262 | /* allocate a page when required and hand out chunks */ | ||
263 | if (!next || !num_left) { | ||
264 | next = vmemmap_alloc_block(PAGE_SIZE, node); | ||
265 | if (unlikely(!next)) { | ||
266 | WARN_ON(1); | ||
267 | return NULL; | ||
268 | } | ||
269 | num_left = PAGE_SIZE / sizeof(struct vmemmap_backing); | ||
270 | } | ||
271 | |||
272 | num_left--; | ||
273 | |||
274 | return next++; | ||
275 | } | ||
276 | |||
277 | static __meminit void vmemmap_list_populate(unsigned long phys, | ||
278 | unsigned long start, | ||
279 | int node) | ||
280 | { | ||
281 | struct vmemmap_backing *vmem_back; | ||
282 | |||
283 | vmem_back = vmemmap_list_alloc(node); | ||
284 | if (unlikely(!vmem_back)) { | ||
285 | WARN_ON(1); | ||
286 | return; | ||
287 | } | ||
288 | |||
289 | vmem_back->phys = phys; | ||
290 | vmem_back->virt_addr = start; | ||
291 | vmem_back->list = vmemmap_list; | ||
292 | |||
293 | vmemmap_list = vmem_back; | ||
294 | } | ||
295 | |||
254 | int __meminit vmemmap_populate(struct page *start_page, | 296 | int __meminit vmemmap_populate(struct page *start_page, |
255 | unsigned long nr_pages, int node) | 297 | unsigned long nr_pages, int node) |
256 | { | 298 | { |
@@ -275,6 +317,8 @@ int __meminit vmemmap_populate(struct page *start_page, | |||
275 | if (!p) | 317 | if (!p) |
276 | return -ENOMEM; | 318 | return -ENOMEM; |
277 | 319 | ||
320 | vmemmap_list_populate(__pa(p), start, node); | ||
321 | |||
278 | pr_debug(" * %016lx..%016lx allocated at %p\n", | 322 | pr_debug(" * %016lx..%016lx allocated at %p\n", |
279 | start, start + page_size, p); | 323 | start, start + page_size, p); |
280 | 324 | ||
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index 311224cdb7ad..1a84a8d00005 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
23 | #include <linux/errno.h> | 23 | #include <linux/errno.h> |
24 | #include <linux/string.h> | 24 | #include <linux/string.h> |
25 | #include <linux/gfp.h> | ||
25 | #include <linux/types.h> | 26 | #include <linux/types.h> |
26 | #include <linux/mm.h> | 27 | #include <linux/mm.h> |
27 | #include <linux/stddef.h> | 28 | #include <linux/stddef.h> |
@@ -31,7 +32,7 @@ | |||
31 | #include <linux/initrd.h> | 32 | #include <linux/initrd.h> |
32 | #include <linux/pagemap.h> | 33 | #include <linux/pagemap.h> |
33 | #include <linux/suspend.h> | 34 | #include <linux/suspend.h> |
34 | #include <linux/lmb.h> | 35 | #include <linux/memblock.h> |
35 | #include <linux/hugetlb.h> | 36 | #include <linux/hugetlb.h> |
36 | 37 | ||
37 | #include <asm/pgalloc.h> | 38 | #include <asm/pgalloc.h> |
@@ -48,6 +49,7 @@ | |||
48 | #include <asm/sparsemem.h> | 49 | #include <asm/sparsemem.h> |
49 | #include <asm/vdso.h> | 50 | #include <asm/vdso.h> |
50 | #include <asm/fixmap.h> | 51 | #include <asm/fixmap.h> |
52 | #include <asm/swiotlb.h> | ||
51 | 53 | ||
52 | #include "mmu_decl.h" | 54 | #include "mmu_decl.h" |
53 | 55 | ||
@@ -81,13 +83,13 @@ int page_is_ram(unsigned long pfn) | |||
81 | #else | 83 | #else |
82 | unsigned long paddr = (pfn << PAGE_SHIFT); | 84 | unsigned long paddr = (pfn << PAGE_SHIFT); |
83 | int i; | 85 | int i; |
84 | for (i=0; i < lmb.memory.cnt; i++) { | 86 | for (i=0; i < memblock.memory.cnt; i++) { |
85 | unsigned long base; | 87 | unsigned long base; |
86 | 88 | ||
87 | base = lmb.memory.region[i].base; | 89 | base = memblock.memory.region[i].base; |
88 | 90 | ||
89 | if ((paddr >= base) && | 91 | if ((paddr >= base) && |
90 | (paddr < (base + lmb.memory.region[i].size))) { | 92 | (paddr < (base + memblock.memory.region[i].size))) { |
91 | return 1; | 93 | return 1; |
92 | } | 94 | } |
93 | } | 95 | } |
@@ -140,14 +142,14 @@ int arch_add_memory(int nid, u64 start, u64 size) | |||
140 | /* | 142 | /* |
141 | * walk_memory_resource() needs to make sure there is no holes in a given | 143 | * walk_memory_resource() needs to make sure there is no holes in a given |
142 | * memory range. PPC64 does not maintain the memory layout in /proc/iomem. | 144 | * memory range. PPC64 does not maintain the memory layout in /proc/iomem. |
143 | * Instead it maintains it in lmb.memory structures. Walk through the | 145 | * Instead it maintains it in memblock.memory structures. Walk through the |
144 | * memory regions, find holes and callback for contiguous regions. | 146 | * memory regions, find holes and callback for contiguous regions. |
145 | */ | 147 | */ |
146 | int | 148 | int |
147 | walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, | 149 | walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, |
148 | void *arg, int (*func)(unsigned long, unsigned long, void *)) | 150 | void *arg, int (*func)(unsigned long, unsigned long, void *)) |
149 | { | 151 | { |
150 | struct lmb_property res; | 152 | struct memblock_property res; |
151 | unsigned long pfn, len; | 153 | unsigned long pfn, len; |
152 | u64 end; | 154 | u64 end; |
153 | int ret = -1; | 155 | int ret = -1; |
@@ -156,7 +158,7 @@ walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, | |||
156 | res.size = (u64) nr_pages << PAGE_SHIFT; | 158 | res.size = (u64) nr_pages << PAGE_SHIFT; |
157 | 159 | ||
158 | end = res.base + res.size - 1; | 160 | end = res.base + res.size - 1; |
159 | while ((res.base < end) && (lmb_find(&res) >= 0)) { | 161 | while ((res.base < end) && (memblock_find(&res) >= 0)) { |
160 | pfn = (unsigned long)(res.base >> PAGE_SHIFT); | 162 | pfn = (unsigned long)(res.base >> PAGE_SHIFT); |
161 | len = (unsigned long)(res.size >> PAGE_SHIFT); | 163 | len = (unsigned long)(res.size >> PAGE_SHIFT); |
162 | ret = (*func)(pfn, len, arg); | 164 | ret = (*func)(pfn, len, arg); |
@@ -182,8 +184,8 @@ void __init do_init_bootmem(void) | |||
182 | unsigned long total_pages; | 184 | unsigned long total_pages; |
183 | int boot_mapsize; | 185 | int boot_mapsize; |
184 | 186 | ||
185 | max_low_pfn = max_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; | 187 | max_low_pfn = max_pfn = memblock_end_of_DRAM() >> PAGE_SHIFT; |
186 | total_pages = (lmb_end_of_DRAM() - memstart_addr) >> PAGE_SHIFT; | 188 | total_pages = (memblock_end_of_DRAM() - memstart_addr) >> PAGE_SHIFT; |
187 | #ifdef CONFIG_HIGHMEM | 189 | #ifdef CONFIG_HIGHMEM |
188 | total_pages = total_lowmem >> PAGE_SHIFT; | 190 | total_pages = total_lowmem >> PAGE_SHIFT; |
189 | max_low_pfn = lowmem_end_addr >> PAGE_SHIFT; | 191 | max_low_pfn = lowmem_end_addr >> PAGE_SHIFT; |
@@ -196,16 +198,16 @@ void __init do_init_bootmem(void) | |||
196 | */ | 198 | */ |
197 | bootmap_pages = bootmem_bootmap_pages(total_pages); | 199 | bootmap_pages = bootmem_bootmap_pages(total_pages); |
198 | 200 | ||
199 | start = lmb_alloc(bootmap_pages << PAGE_SHIFT, PAGE_SIZE); | 201 | start = memblock_alloc(bootmap_pages << PAGE_SHIFT, PAGE_SIZE); |
200 | 202 | ||
201 | min_low_pfn = MEMORY_START >> PAGE_SHIFT; | 203 | min_low_pfn = MEMORY_START >> PAGE_SHIFT; |
202 | boot_mapsize = init_bootmem_node(NODE_DATA(0), start >> PAGE_SHIFT, min_low_pfn, max_low_pfn); | 204 | boot_mapsize = init_bootmem_node(NODE_DATA(0), start >> PAGE_SHIFT, min_low_pfn, max_low_pfn); |
203 | 205 | ||
204 | /* Add active regions with valid PFNs */ | 206 | /* Add active regions with valid PFNs */ |
205 | for (i = 0; i < lmb.memory.cnt; i++) { | 207 | for (i = 0; i < memblock.memory.cnt; i++) { |
206 | unsigned long start_pfn, end_pfn; | 208 | unsigned long start_pfn, end_pfn; |
207 | start_pfn = lmb.memory.region[i].base >> PAGE_SHIFT; | 209 | start_pfn = memblock.memory.region[i].base >> PAGE_SHIFT; |
208 | end_pfn = start_pfn + lmb_size_pages(&lmb.memory, i); | 210 | end_pfn = start_pfn + memblock_size_pages(&memblock.memory, i); |
209 | add_active_range(0, start_pfn, end_pfn); | 211 | add_active_range(0, start_pfn, end_pfn); |
210 | } | 212 | } |
211 | 213 | ||
@@ -216,17 +218,17 @@ void __init do_init_bootmem(void) | |||
216 | free_bootmem_with_active_regions(0, lowmem_end_addr >> PAGE_SHIFT); | 218 | free_bootmem_with_active_regions(0, lowmem_end_addr >> PAGE_SHIFT); |
217 | 219 | ||
218 | /* reserve the sections we're already using */ | 220 | /* reserve the sections we're already using */ |
219 | for (i = 0; i < lmb.reserved.cnt; i++) { | 221 | for (i = 0; i < memblock.reserved.cnt; i++) { |
220 | unsigned long addr = lmb.reserved.region[i].base + | 222 | unsigned long addr = memblock.reserved.region[i].base + |
221 | lmb_size_bytes(&lmb.reserved, i) - 1; | 223 | memblock_size_bytes(&memblock.reserved, i) - 1; |
222 | if (addr < lowmem_end_addr) | 224 | if (addr < lowmem_end_addr) |
223 | reserve_bootmem(lmb.reserved.region[i].base, | 225 | reserve_bootmem(memblock.reserved.region[i].base, |
224 | lmb_size_bytes(&lmb.reserved, i), | 226 | memblock_size_bytes(&memblock.reserved, i), |
225 | BOOTMEM_DEFAULT); | 227 | BOOTMEM_DEFAULT); |
226 | else if (lmb.reserved.region[i].base < lowmem_end_addr) { | 228 | else if (memblock.reserved.region[i].base < lowmem_end_addr) { |
227 | unsigned long adjusted_size = lowmem_end_addr - | 229 | unsigned long adjusted_size = lowmem_end_addr - |
228 | lmb.reserved.region[i].base; | 230 | memblock.reserved.region[i].base; |
229 | reserve_bootmem(lmb.reserved.region[i].base, | 231 | reserve_bootmem(memblock.reserved.region[i].base, |
230 | adjusted_size, BOOTMEM_DEFAULT); | 232 | adjusted_size, BOOTMEM_DEFAULT); |
231 | } | 233 | } |
232 | } | 234 | } |
@@ -234,9 +236,9 @@ void __init do_init_bootmem(void) | |||
234 | free_bootmem_with_active_regions(0, max_pfn); | 236 | free_bootmem_with_active_regions(0, max_pfn); |
235 | 237 | ||
236 | /* reserve the sections we're already using */ | 238 | /* reserve the sections we're already using */ |
237 | for (i = 0; i < lmb.reserved.cnt; i++) | 239 | for (i = 0; i < memblock.reserved.cnt; i++) |
238 | reserve_bootmem(lmb.reserved.region[i].base, | 240 | reserve_bootmem(memblock.reserved.region[i].base, |
239 | lmb_size_bytes(&lmb.reserved, i), | 241 | memblock_size_bytes(&memblock.reserved, i), |
240 | BOOTMEM_DEFAULT); | 242 | BOOTMEM_DEFAULT); |
241 | 243 | ||
242 | #endif | 244 | #endif |
@@ -249,20 +251,20 @@ void __init do_init_bootmem(void) | |||
249 | /* mark pages that don't exist as nosave */ | 251 | /* mark pages that don't exist as nosave */ |
250 | static int __init mark_nonram_nosave(void) | 252 | static int __init mark_nonram_nosave(void) |
251 | { | 253 | { |
252 | unsigned long lmb_next_region_start_pfn, | 254 | unsigned long memblock_next_region_start_pfn, |
253 | lmb_region_max_pfn; | 255 | memblock_region_max_pfn; |
254 | int i; | 256 | int i; |
255 | 257 | ||
256 | for (i = 0; i < lmb.memory.cnt - 1; i++) { | 258 | for (i = 0; i < memblock.memory.cnt - 1; i++) { |
257 | lmb_region_max_pfn = | 259 | memblock_region_max_pfn = |
258 | (lmb.memory.region[i].base >> PAGE_SHIFT) + | 260 | (memblock.memory.region[i].base >> PAGE_SHIFT) + |
259 | (lmb.memory.region[i].size >> PAGE_SHIFT); | 261 | (memblock.memory.region[i].size >> PAGE_SHIFT); |
260 | lmb_next_region_start_pfn = | 262 | memblock_next_region_start_pfn = |
261 | lmb.memory.region[i+1].base >> PAGE_SHIFT; | 263 | memblock.memory.region[i+1].base >> PAGE_SHIFT; |
262 | 264 | ||
263 | if (lmb_region_max_pfn < lmb_next_region_start_pfn) | 265 | if (memblock_region_max_pfn < memblock_next_region_start_pfn) |
264 | register_nosave_region(lmb_region_max_pfn, | 266 | register_nosave_region(memblock_region_max_pfn, |
265 | lmb_next_region_start_pfn); | 267 | memblock_next_region_start_pfn); |
266 | } | 268 | } |
267 | 269 | ||
268 | return 0; | 270 | return 0; |
@@ -273,8 +275,8 @@ static int __init mark_nonram_nosave(void) | |||
273 | */ | 275 | */ |
274 | void __init paging_init(void) | 276 | void __init paging_init(void) |
275 | { | 277 | { |
276 | unsigned long total_ram = lmb_phys_mem_size(); | 278 | unsigned long total_ram = memblock_phys_mem_size(); |
277 | phys_addr_t top_of_ram = lmb_end_of_DRAM(); | 279 | phys_addr_t top_of_ram = memblock_end_of_DRAM(); |
278 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | 280 | unsigned long max_zone_pfns[MAX_NR_ZONES]; |
279 | 281 | ||
280 | #ifdef CONFIG_PPC32 | 282 | #ifdef CONFIG_PPC32 |
@@ -320,7 +322,12 @@ void __init mem_init(void) | |||
320 | struct page *page; | 322 | struct page *page; |
321 | unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; | 323 | unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; |
322 | 324 | ||
323 | num_physpages = lmb.memory.size >> PAGE_SHIFT; | 325 | #ifdef CONFIG_SWIOTLB |
326 | if (ppc_swiotlb_enable) | ||
327 | swiotlb_init(1); | ||
328 | #endif | ||
329 | |||
330 | num_physpages = memblock.memory.size >> PAGE_SHIFT; | ||
324 | high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); | 331 | high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); |
325 | 332 | ||
326 | #ifdef CONFIG_NEED_MULTIPLE_NODES | 333 | #ifdef CONFIG_NEED_MULTIPLE_NODES |
@@ -357,7 +364,7 @@ void __init mem_init(void) | |||
357 | highmem_mapnr = lowmem_end_addr >> PAGE_SHIFT; | 364 | highmem_mapnr = lowmem_end_addr >> PAGE_SHIFT; |
358 | for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) { | 365 | for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) { |
359 | struct page *page = pfn_to_page(pfn); | 366 | struct page *page = pfn_to_page(pfn); |
360 | if (lmb_is_reserved(pfn << PAGE_SHIFT)) | 367 | if (memblock_is_reserved(pfn << PAGE_SHIFT)) |
361 | continue; | 368 | continue; |
362 | ClearPageReserved(page); | 369 | ClearPageReserved(page); |
363 | init_page_count(page); | 370 | init_page_count(page); |
diff --git a/arch/powerpc/mm/mmu_context_hash32.c b/arch/powerpc/mm/mmu_context_hash32.c index 0dfba2bf7f31..d0ee554e86e4 100644 --- a/arch/powerpc/mm/mmu_context_hash32.c +++ b/arch/powerpc/mm/mmu_context_hash32.c | |||
@@ -60,11 +60,7 @@ | |||
60 | static unsigned long next_mmu_context; | 60 | static unsigned long next_mmu_context; |
61 | static unsigned long context_map[LAST_CONTEXT / BITS_PER_LONG + 1]; | 61 | static unsigned long context_map[LAST_CONTEXT / BITS_PER_LONG + 1]; |
62 | 62 | ||
63 | 63 | unsigned long __init_new_context(void) | |
64 | /* | ||
65 | * Set up the context for a new address space. | ||
66 | */ | ||
67 | int init_new_context(struct task_struct *t, struct mm_struct *mm) | ||
68 | { | 64 | { |
69 | unsigned long ctx = next_mmu_context; | 65 | unsigned long ctx = next_mmu_context; |
70 | 66 | ||
@@ -74,19 +70,38 @@ int init_new_context(struct task_struct *t, struct mm_struct *mm) | |||
74 | ctx = 0; | 70 | ctx = 0; |
75 | } | 71 | } |
76 | next_mmu_context = (ctx + 1) & LAST_CONTEXT; | 72 | next_mmu_context = (ctx + 1) & LAST_CONTEXT; |
77 | mm->context.id = ctx; | 73 | |
74 | return ctx; | ||
75 | } | ||
76 | EXPORT_SYMBOL_GPL(__init_new_context); | ||
77 | |||
78 | /* | ||
79 | * Set up the context for a new address space. | ||
80 | */ | ||
81 | int init_new_context(struct task_struct *t, struct mm_struct *mm) | ||
82 | { | ||
83 | mm->context.id = __init_new_context(); | ||
78 | 84 | ||
79 | return 0; | 85 | return 0; |
80 | } | 86 | } |
81 | 87 | ||
82 | /* | 88 | /* |
89 | * Free a context ID. Make sure to call this with preempt disabled! | ||
90 | */ | ||
91 | void __destroy_context(unsigned long ctx) | ||
92 | { | ||
93 | clear_bit(ctx, context_map); | ||
94 | } | ||
95 | EXPORT_SYMBOL_GPL(__destroy_context); | ||
96 | |||
97 | /* | ||
83 | * We're finished using the context for an address space. | 98 | * We're finished using the context for an address space. |
84 | */ | 99 | */ |
85 | void destroy_context(struct mm_struct *mm) | 100 | void destroy_context(struct mm_struct *mm) |
86 | { | 101 | { |
87 | preempt_disable(); | 102 | preempt_disable(); |
88 | if (mm->context.id != NO_CONTEXT) { | 103 | if (mm->context.id != NO_CONTEXT) { |
89 | clear_bit(mm->context.id, context_map); | 104 | __destroy_context(mm->context.id); |
90 | mm->context.id = NO_CONTEXT; | 105 | mm->context.id = NO_CONTEXT; |
91 | } | 106 | } |
92 | preempt_enable(); | 107 | preempt_enable(); |
diff --git a/arch/powerpc/mm/mmu_context_hash64.c b/arch/powerpc/mm/mmu_context_hash64.c index 51622daae09d..2535828aa84b 100644 --- a/arch/powerpc/mm/mmu_context_hash64.c +++ b/arch/powerpc/mm/mmu_context_hash64.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/spinlock.h> | 19 | #include <linux/spinlock.h> |
20 | #include <linux/idr.h> | 20 | #include <linux/idr.h> |
21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
22 | #include <linux/gfp.h> | ||
22 | 23 | ||
23 | #include <asm/mmu_context.h> | 24 | #include <asm/mmu_context.h> |
24 | 25 | ||
diff --git a/arch/powerpc/mm/mmu_context_nohash.c b/arch/powerpc/mm/mmu_context_nohash.c index dbc692145ecb..ddfd7ad4e1d6 100644 --- a/arch/powerpc/mm/mmu_context_nohash.c +++ b/arch/powerpc/mm/mmu_context_nohash.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <linux/bootmem.h> | 47 | #include <linux/bootmem.h> |
48 | #include <linux/notifier.h> | 48 | #include <linux/notifier.h> |
49 | #include <linux/cpu.h> | 49 | #include <linux/cpu.h> |
50 | #include <linux/slab.h> | ||
50 | 51 | ||
51 | #include <asm/mmu_context.h> | 52 | #include <asm/mmu_context.h> |
52 | #include <asm/tlbflush.h> | 53 | #include <asm/tlbflush.h> |
@@ -394,10 +395,18 @@ void __init mmu_context_init(void) | |||
394 | * the PID/TID comparison is disabled, so we can use a TID of zero | 395 | * the PID/TID comparison is disabled, so we can use a TID of zero |
395 | * to represent all kernel pages as shared among all contexts. | 396 | * to represent all kernel pages as shared among all contexts. |
396 | * -- Dan | 397 | * -- Dan |
398 | * | ||
399 | * The IBM 47x core supports 16-bit PIDs, thus 65535 contexts. We | ||
400 | * should normally never have to steal though the facility is | ||
401 | * present if needed. | ||
402 | * -- BenH | ||
397 | */ | 403 | */ |
398 | if (mmu_has_feature(MMU_FTR_TYPE_8xx)) { | 404 | if (mmu_has_feature(MMU_FTR_TYPE_8xx)) { |
399 | first_context = 0; | 405 | first_context = 0; |
400 | last_context = 15; | 406 | last_context = 15; |
407 | } else if (mmu_has_feature(MMU_FTR_TYPE_47x)) { | ||
408 | first_context = 1; | ||
409 | last_context = 65535; | ||
401 | } else { | 410 | } else { |
402 | first_context = 1; | 411 | first_context = 1; |
403 | last_context = 255; | 412 | last_context = 255; |
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index d49a77503e19..63b84a0d3b10 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h | |||
@@ -69,12 +69,7 @@ static inline void _tlbil_va(unsigned long address, unsigned int pid, | |||
69 | } | 69 | } |
70 | #endif /* CONIFG_8xx */ | 70 | #endif /* CONIFG_8xx */ |
71 | 71 | ||
72 | /* | 72 | #if defined(CONFIG_PPC_BOOK3E) || defined(CONFIG_PPC_47x) |
73 | * As of today, we don't support tlbivax broadcast on any | ||
74 | * implementation. When that becomes the case, this will be | ||
75 | * an extern. | ||
76 | */ | ||
77 | #ifdef CONFIG_PPC_BOOK3E | ||
78 | extern void _tlbivax_bcast(unsigned long address, unsigned int pid, | 73 | extern void _tlbivax_bcast(unsigned long address, unsigned int pid, |
79 | unsigned int tsize, unsigned int ind); | 74 | unsigned int tsize, unsigned int ind); |
80 | #else | 75 | #else |
@@ -149,7 +144,15 @@ extern unsigned long mmu_mapin_ram(unsigned long top); | |||
149 | extern void MMU_init_hw(void); | 144 | extern void MMU_init_hw(void); |
150 | extern unsigned long mmu_mapin_ram(unsigned long top); | 145 | extern unsigned long mmu_mapin_ram(unsigned long top); |
151 | extern void adjust_total_lowmem(void); | 146 | extern void adjust_total_lowmem(void); |
152 | 147 | extern void loadcam_entry(unsigned int index); | |
148 | |||
149 | struct tlbcam { | ||
150 | u32 MAS0; | ||
151 | u32 MAS1; | ||
152 | unsigned long MAS2; | ||
153 | u32 MAS3; | ||
154 | u32 MAS7; | ||
155 | }; | ||
153 | #elif defined(CONFIG_PPC32) | 156 | #elif defined(CONFIG_PPC32) |
154 | /* anything 32-bit except 4xx or 8xx */ | 157 | /* anything 32-bit except 4xx or 8xx */ |
155 | extern void MMU_init_hw(void); | 158 | extern void MMU_init_hw(void); |
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 64c00227b997..aa731af720c0 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/nodemask.h> | 17 | #include <linux/nodemask.h> |
18 | #include <linux/cpu.h> | 18 | #include <linux/cpu.h> |
19 | #include <linux/notifier.h> | 19 | #include <linux/notifier.h> |
20 | #include <linux/lmb.h> | 20 | #include <linux/memblock.h> |
21 | #include <linux/of.h> | 21 | #include <linux/of.h> |
22 | #include <linux/pfn.h> | 22 | #include <linux/pfn.h> |
23 | #include <asm/sparsemem.h> | 23 | #include <asm/sparsemem.h> |
@@ -33,16 +33,41 @@ static int numa_debug; | |||
33 | #define dbg(args...) if (numa_debug) { printk(KERN_INFO args); } | 33 | #define dbg(args...) if (numa_debug) { printk(KERN_INFO args); } |
34 | 34 | ||
35 | int numa_cpu_lookup_table[NR_CPUS]; | 35 | int numa_cpu_lookup_table[NR_CPUS]; |
36 | cpumask_t numa_cpumask_lookup_table[MAX_NUMNODES]; | 36 | cpumask_var_t node_to_cpumask_map[MAX_NUMNODES]; |
37 | struct pglist_data *node_data[MAX_NUMNODES]; | 37 | struct pglist_data *node_data[MAX_NUMNODES]; |
38 | 38 | ||
39 | EXPORT_SYMBOL(numa_cpu_lookup_table); | 39 | EXPORT_SYMBOL(numa_cpu_lookup_table); |
40 | EXPORT_SYMBOL(numa_cpumask_lookup_table); | 40 | EXPORT_SYMBOL(node_to_cpumask_map); |
41 | EXPORT_SYMBOL(node_data); | 41 | EXPORT_SYMBOL(node_data); |
42 | 42 | ||
43 | static int min_common_depth; | 43 | static int min_common_depth; |
44 | static int n_mem_addr_cells, n_mem_size_cells; | 44 | static int n_mem_addr_cells, n_mem_size_cells; |
45 | 45 | ||
46 | /* | ||
47 | * Allocate node_to_cpumask_map based on number of available nodes | ||
48 | * Requires node_possible_map to be valid. | ||
49 | * | ||
50 | * Note: node_to_cpumask() is not valid until after this is done. | ||
51 | */ | ||
52 | static void __init setup_node_to_cpumask_map(void) | ||
53 | { | ||
54 | unsigned int node, num = 0; | ||
55 | |||
56 | /* setup nr_node_ids if not done yet */ | ||
57 | if (nr_node_ids == MAX_NUMNODES) { | ||
58 | for_each_node_mask(node, node_possible_map) | ||
59 | num = node; | ||
60 | nr_node_ids = num + 1; | ||
61 | } | ||
62 | |||
63 | /* allocate the map */ | ||
64 | for (node = 0; node < nr_node_ids; node++) | ||
65 | alloc_bootmem_cpumask_var(&node_to_cpumask_map[node]); | ||
66 | |||
67 | /* cpumask_of_node() will now work */ | ||
68 | dbg("Node to cpumask map for %d nodes\n", nr_node_ids); | ||
69 | } | ||
70 | |||
46 | static int __cpuinit fake_numa_create_new_node(unsigned long end_pfn, | 71 | static int __cpuinit fake_numa_create_new_node(unsigned long end_pfn, |
47 | unsigned int *nid) | 72 | unsigned int *nid) |
48 | { | 73 | { |
@@ -138,8 +163,8 @@ static void __cpuinit map_cpu_to_node(int cpu, int node) | |||
138 | 163 | ||
139 | dbg("adding cpu %d to node %d\n", cpu, node); | 164 | dbg("adding cpu %d to node %d\n", cpu, node); |
140 | 165 | ||
141 | if (!(cpu_isset(cpu, numa_cpumask_lookup_table[node]))) | 166 | if (!(cpumask_test_cpu(cpu, node_to_cpumask_map[node]))) |
142 | cpu_set(cpu, numa_cpumask_lookup_table[node]); | 167 | cpumask_set_cpu(cpu, node_to_cpumask_map[node]); |
143 | } | 168 | } |
144 | 169 | ||
145 | #ifdef CONFIG_HOTPLUG_CPU | 170 | #ifdef CONFIG_HOTPLUG_CPU |
@@ -149,8 +174,8 @@ static void unmap_cpu_from_node(unsigned long cpu) | |||
149 | 174 | ||
150 | dbg("removing cpu %lu from node %d\n", cpu, node); | 175 | dbg("removing cpu %lu from node %d\n", cpu, node); |
151 | 176 | ||
152 | if (cpu_isset(cpu, numa_cpumask_lookup_table[node])) { | 177 | if (cpumask_test_cpu(cpu, node_to_cpumask_map[node])) { |
153 | cpu_clear(cpu, numa_cpumask_lookup_table[node]); | 178 | cpumask_set_cpu(cpu, node_to_cpumask_map[node]); |
154 | } else { | 179 | } else { |
155 | printk(KERN_ERR "WARNING: cpu %lu not found in node %d\n", | 180 | printk(KERN_ERR "WARNING: cpu %lu not found in node %d\n", |
156 | cpu, node); | 181 | cpu, node); |
@@ -242,10 +267,12 @@ EXPORT_SYMBOL_GPL(of_node_to_nid); | |||
242 | */ | 267 | */ |
243 | static int __init find_min_common_depth(void) | 268 | static int __init find_min_common_depth(void) |
244 | { | 269 | { |
245 | int depth; | 270 | int depth, index; |
246 | const unsigned int *ref_points; | 271 | const unsigned int *ref_points; |
247 | struct device_node *rtas_root; | 272 | struct device_node *rtas_root; |
248 | unsigned int len; | 273 | unsigned int len; |
274 | struct device_node *chosen; | ||
275 | const char *vec5; | ||
249 | 276 | ||
250 | rtas_root = of_find_node_by_path("/rtas"); | 277 | rtas_root = of_find_node_by_path("/rtas"); |
251 | 278 | ||
@@ -258,11 +285,26 @@ static int __init find_min_common_depth(void) | |||
258 | * configuration (should be all 0's) and the second is for a normal | 285 | * configuration (should be all 0's) and the second is for a normal |
259 | * NUMA configuration. | 286 | * NUMA configuration. |
260 | */ | 287 | */ |
288 | index = 1; | ||
261 | ref_points = of_get_property(rtas_root, | 289 | ref_points = of_get_property(rtas_root, |
262 | "ibm,associativity-reference-points", &len); | 290 | "ibm,associativity-reference-points", &len); |
263 | 291 | ||
292 | /* | ||
293 | * For form 1 affinity information we want the first field | ||
294 | */ | ||
295 | #define VEC5_AFFINITY_BYTE 5 | ||
296 | #define VEC5_AFFINITY 0x80 | ||
297 | chosen = of_find_node_by_path("/chosen"); | ||
298 | if (chosen) { | ||
299 | vec5 = of_get_property(chosen, "ibm,architecture-vec-5", NULL); | ||
300 | if (vec5 && (vec5[VEC5_AFFINITY_BYTE] & VEC5_AFFINITY)) { | ||
301 | dbg("Using form 1 affinity\n"); | ||
302 | index = 0; | ||
303 | } | ||
304 | } | ||
305 | |||
264 | if ((len >= 2 * sizeof(unsigned int)) && ref_points) { | 306 | if ((len >= 2 * sizeof(unsigned int)) && ref_points) { |
265 | depth = ref_points[1]; | 307 | depth = ref_points[index]; |
266 | } else { | 308 | } else { |
267 | dbg("NUMA: ibm,associativity-reference-points not found.\n"); | 309 | dbg("NUMA: ibm,associativity-reference-points not found.\n"); |
268 | depth = -1; | 310 | depth = -1; |
@@ -309,7 +351,7 @@ struct of_drconf_cell { | |||
309 | #define DRCONF_MEM_RESERVED 0x00000080 | 351 | #define DRCONF_MEM_RESERVED 0x00000080 |
310 | 352 | ||
311 | /* | 353 | /* |
312 | * Read the next lmb list entry from the ibm,dynamic-memory property | 354 | * Read the next memblock list entry from the ibm,dynamic-memory property |
313 | * and return the information in the provided of_drconf_cell structure. | 355 | * and return the information in the provided of_drconf_cell structure. |
314 | */ | 356 | */ |
315 | static void read_drconf_cell(struct of_drconf_cell *drmem, const u32 **cellp) | 357 | static void read_drconf_cell(struct of_drconf_cell *drmem, const u32 **cellp) |
@@ -330,8 +372,8 @@ static void read_drconf_cell(struct of_drconf_cell *drmem, const u32 **cellp) | |||
330 | /* | 372 | /* |
331 | * Retreive and validate the ibm,dynamic-memory property of the device tree. | 373 | * Retreive and validate the ibm,dynamic-memory property of the device tree. |
332 | * | 374 | * |
333 | * The layout of the ibm,dynamic-memory property is a number N of lmb | 375 | * The layout of the ibm,dynamic-memory property is a number N of memblock |
334 | * list entries followed by N lmb list entries. Each lmb list entry | 376 | * list entries followed by N memblock list entries. Each memblock list entry |
335 | * contains information as layed out in the of_drconf_cell struct above. | 377 | * contains information as layed out in the of_drconf_cell struct above. |
336 | */ | 378 | */ |
337 | static int of_get_drconf_memory(struct device_node *memory, const u32 **dm) | 379 | static int of_get_drconf_memory(struct device_node *memory, const u32 **dm) |
@@ -498,19 +540,19 @@ static unsigned long __init numa_enforce_memory_limit(unsigned long start, | |||
498 | unsigned long size) | 540 | unsigned long size) |
499 | { | 541 | { |
500 | /* | 542 | /* |
501 | * We use lmb_end_of_DRAM() in here instead of memory_limit because | 543 | * We use memblock_end_of_DRAM() in here instead of memory_limit because |
502 | * we've already adjusted it for the limit and it takes care of | 544 | * we've already adjusted it for the limit and it takes care of |
503 | * having memory holes below the limit. Also, in the case of | 545 | * having memory holes below the limit. Also, in the case of |
504 | * iommu_is_off, memory_limit is not set but is implicitly enforced. | 546 | * iommu_is_off, memory_limit is not set but is implicitly enforced. |
505 | */ | 547 | */ |
506 | 548 | ||
507 | if (start + size <= lmb_end_of_DRAM()) | 549 | if (start + size <= memblock_end_of_DRAM()) |
508 | return size; | 550 | return size; |
509 | 551 | ||
510 | if (start >= lmb_end_of_DRAM()) | 552 | if (start >= memblock_end_of_DRAM()) |
511 | return 0; | 553 | return 0; |
512 | 554 | ||
513 | return lmb_end_of_DRAM() - start; | 555 | return memblock_end_of_DRAM() - start; |
514 | } | 556 | } |
515 | 557 | ||
516 | /* | 558 | /* |
@@ -689,7 +731,7 @@ new_range: | |||
689 | } | 731 | } |
690 | 732 | ||
691 | /* | 733 | /* |
692 | * Now do the same thing for each LMB listed in the ibm,dynamic-memory | 734 | * Now do the same thing for each MEMBLOCK listed in the ibm,dynamic-memory |
693 | * property in the ibm,dynamic-reconfiguration-memory node. | 735 | * property in the ibm,dynamic-reconfiguration-memory node. |
694 | */ | 736 | */ |
695 | memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory"); | 737 | memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory"); |
@@ -701,8 +743,8 @@ new_range: | |||
701 | 743 | ||
702 | static void __init setup_nonnuma(void) | 744 | static void __init setup_nonnuma(void) |
703 | { | 745 | { |
704 | unsigned long top_of_ram = lmb_end_of_DRAM(); | 746 | unsigned long top_of_ram = memblock_end_of_DRAM(); |
705 | unsigned long total_ram = lmb_phys_mem_size(); | 747 | unsigned long total_ram = memblock_phys_mem_size(); |
706 | unsigned long start_pfn, end_pfn; | 748 | unsigned long start_pfn, end_pfn; |
707 | unsigned int i, nid = 0; | 749 | unsigned int i, nid = 0; |
708 | 750 | ||
@@ -711,9 +753,9 @@ static void __init setup_nonnuma(void) | |||
711 | printk(KERN_DEBUG "Memory hole size: %ldMB\n", | 753 | printk(KERN_DEBUG "Memory hole size: %ldMB\n", |
712 | (top_of_ram - total_ram) >> 20); | 754 | (top_of_ram - total_ram) >> 20); |
713 | 755 | ||
714 | for (i = 0; i < lmb.memory.cnt; ++i) { | 756 | for (i = 0; i < memblock.memory.cnt; ++i) { |
715 | start_pfn = lmb.memory.region[i].base >> PAGE_SHIFT; | 757 | start_pfn = memblock.memory.region[i].base >> PAGE_SHIFT; |
716 | end_pfn = start_pfn + lmb_size_pages(&lmb.memory, i); | 758 | end_pfn = start_pfn + memblock_size_pages(&memblock.memory, i); |
717 | 759 | ||
718 | fake_numa_create_new_node(end_pfn, &nid); | 760 | fake_numa_create_new_node(end_pfn, &nid); |
719 | add_active_range(nid, start_pfn, end_pfn); | 761 | add_active_range(nid, start_pfn, end_pfn); |
@@ -737,8 +779,9 @@ void __init dump_numa_cpu_topology(void) | |||
737 | * If we used a CPU iterator here we would miss printing | 779 | * If we used a CPU iterator here we would miss printing |
738 | * the holes in the cpumap. | 780 | * the holes in the cpumap. |
739 | */ | 781 | */ |
740 | for (cpu = 0; cpu < NR_CPUS; cpu++) { | 782 | for (cpu = 0; cpu < nr_cpu_ids; cpu++) { |
741 | if (cpu_isset(cpu, numa_cpumask_lookup_table[node])) { | 783 | if (cpumask_test_cpu(cpu, |
784 | node_to_cpumask_map[node])) { | ||
742 | if (count == 0) | 785 | if (count == 0) |
743 | printk(" %u", cpu); | 786 | printk(" %u", cpu); |
744 | ++count; | 787 | ++count; |
@@ -750,7 +793,7 @@ void __init dump_numa_cpu_topology(void) | |||
750 | } | 793 | } |
751 | 794 | ||
752 | if (count > 1) | 795 | if (count > 1) |
753 | printk("-%u", NR_CPUS - 1); | 796 | printk("-%u", nr_cpu_ids - 1); |
754 | printk("\n"); | 797 | printk("\n"); |
755 | } | 798 | } |
756 | } | 799 | } |
@@ -770,7 +813,7 @@ static void __init dump_numa_memory_topology(void) | |||
770 | 813 | ||
771 | count = 0; | 814 | count = 0; |
772 | 815 | ||
773 | for (i = 0; i < lmb_end_of_DRAM(); | 816 | for (i = 0; i < memblock_end_of_DRAM(); |
774 | i += (1 << SECTION_SIZE_BITS)) { | 817 | i += (1 << SECTION_SIZE_BITS)) { |
775 | if (early_pfn_to_nid(i >> PAGE_SHIFT) == node) { | 818 | if (early_pfn_to_nid(i >> PAGE_SHIFT) == node) { |
776 | if (count == 0) | 819 | if (count == 0) |
@@ -790,7 +833,7 @@ static void __init dump_numa_memory_topology(void) | |||
790 | } | 833 | } |
791 | 834 | ||
792 | /* | 835 | /* |
793 | * Allocate some memory, satisfying the lmb or bootmem allocator where | 836 | * Allocate some memory, satisfying the memblock or bootmem allocator where |
794 | * required. nid is the preferred node and end is the physical address of | 837 | * required. nid is the preferred node and end is the physical address of |
795 | * the highest address in the node. | 838 | * the highest address in the node. |
796 | * | 839 | * |
@@ -804,11 +847,11 @@ static void __init *careful_zallocation(int nid, unsigned long size, | |||
804 | int new_nid; | 847 | int new_nid; |
805 | unsigned long ret_paddr; | 848 | unsigned long ret_paddr; |
806 | 849 | ||
807 | ret_paddr = __lmb_alloc_base(size, align, end_pfn << PAGE_SHIFT); | 850 | ret_paddr = __memblock_alloc_base(size, align, end_pfn << PAGE_SHIFT); |
808 | 851 | ||
809 | /* retry over all memory */ | 852 | /* retry over all memory */ |
810 | if (!ret_paddr) | 853 | if (!ret_paddr) |
811 | ret_paddr = __lmb_alloc_base(size, align, lmb_end_of_DRAM()); | 854 | ret_paddr = __memblock_alloc_base(size, align, memblock_end_of_DRAM()); |
812 | 855 | ||
813 | if (!ret_paddr) | 856 | if (!ret_paddr) |
814 | panic("numa.c: cannot allocate %lu bytes for node %d", | 857 | panic("numa.c: cannot allocate %lu bytes for node %d", |
@@ -818,14 +861,14 @@ static void __init *careful_zallocation(int nid, unsigned long size, | |||
818 | 861 | ||
819 | /* | 862 | /* |
820 | * We initialize the nodes in numeric order: 0, 1, 2... | 863 | * We initialize the nodes in numeric order: 0, 1, 2... |
821 | * and hand over control from the LMB allocator to the | 864 | * and hand over control from the MEMBLOCK allocator to the |
822 | * bootmem allocator. If this function is called for | 865 | * bootmem allocator. If this function is called for |
823 | * node 5, then we know that all nodes <5 are using the | 866 | * node 5, then we know that all nodes <5 are using the |
824 | * bootmem allocator instead of the LMB allocator. | 867 | * bootmem allocator instead of the MEMBLOCK allocator. |
825 | * | 868 | * |
826 | * So, check the nid from which this allocation came | 869 | * So, check the nid from which this allocation came |
827 | * and double check to see if we need to use bootmem | 870 | * and double check to see if we need to use bootmem |
828 | * instead of the LMB. We don't free the LMB memory | 871 | * instead of the MEMBLOCK. We don't free the MEMBLOCK memory |
829 | * since it would be useless. | 872 | * since it would be useless. |
830 | */ | 873 | */ |
831 | new_nid = early_pfn_to_nid(ret_paddr >> PAGE_SHIFT); | 874 | new_nid = early_pfn_to_nid(ret_paddr >> PAGE_SHIFT); |
@@ -850,9 +893,9 @@ static void mark_reserved_regions_for_nid(int nid) | |||
850 | struct pglist_data *node = NODE_DATA(nid); | 893 | struct pglist_data *node = NODE_DATA(nid); |
851 | int i; | 894 | int i; |
852 | 895 | ||
853 | for (i = 0; i < lmb.reserved.cnt; i++) { | 896 | for (i = 0; i < memblock.reserved.cnt; i++) { |
854 | unsigned long physbase = lmb.reserved.region[i].base; | 897 | unsigned long physbase = memblock.reserved.region[i].base; |
855 | unsigned long size = lmb.reserved.region[i].size; | 898 | unsigned long size = memblock.reserved.region[i].size; |
856 | unsigned long start_pfn = physbase >> PAGE_SHIFT; | 899 | unsigned long start_pfn = physbase >> PAGE_SHIFT; |
857 | unsigned long end_pfn = PFN_UP(physbase + size); | 900 | unsigned long end_pfn = PFN_UP(physbase + size); |
858 | struct node_active_region node_ar; | 901 | struct node_active_region node_ar; |
@@ -860,7 +903,7 @@ static void mark_reserved_regions_for_nid(int nid) | |||
860 | node->node_spanned_pages; | 903 | node->node_spanned_pages; |
861 | 904 | ||
862 | /* | 905 | /* |
863 | * Check to make sure that this lmb.reserved area is | 906 | * Check to make sure that this memblock.reserved area is |
864 | * within the bounds of the node that we care about. | 907 | * within the bounds of the node that we care about. |
865 | * Checking the nid of the start and end points is not | 908 | * Checking the nid of the start and end points is not |
866 | * sufficient because the reserved area could span the | 909 | * sufficient because the reserved area could span the |
@@ -918,7 +961,7 @@ void __init do_init_bootmem(void) | |||
918 | int nid; | 961 | int nid; |
919 | 962 | ||
920 | min_low_pfn = 0; | 963 | min_low_pfn = 0; |
921 | max_low_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; | 964 | max_low_pfn = memblock_end_of_DRAM() >> PAGE_SHIFT; |
922 | max_pfn = max_low_pfn; | 965 | max_pfn = max_low_pfn; |
923 | 966 | ||
924 | if (parse_numa_properties()) | 967 | if (parse_numa_properties()) |
@@ -926,10 +969,6 @@ void __init do_init_bootmem(void) | |||
926 | else | 969 | else |
927 | dump_numa_memory_topology(); | 970 | dump_numa_memory_topology(); |
928 | 971 | ||
929 | register_cpu_notifier(&ppc64_numa_nb); | ||
930 | cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE, | ||
931 | (void *)(unsigned long)boot_cpuid); | ||
932 | |||
933 | for_each_online_node(nid) { | 972 | for_each_online_node(nid) { |
934 | unsigned long start_pfn, end_pfn; | 973 | unsigned long start_pfn, end_pfn; |
935 | void *bootmem_vaddr; | 974 | void *bootmem_vaddr; |
@@ -983,13 +1022,23 @@ void __init do_init_bootmem(void) | |||
983 | } | 1022 | } |
984 | 1023 | ||
985 | init_bootmem_done = 1; | 1024 | init_bootmem_done = 1; |
1025 | |||
1026 | /* | ||
1027 | * Now bootmem is initialised we can create the node to cpumask | ||
1028 | * lookup tables and setup the cpu callback to populate them. | ||
1029 | */ | ||
1030 | setup_node_to_cpumask_map(); | ||
1031 | |||
1032 | register_cpu_notifier(&ppc64_numa_nb); | ||
1033 | cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE, | ||
1034 | (void *)(unsigned long)boot_cpuid); | ||
986 | } | 1035 | } |
987 | 1036 | ||
988 | void __init paging_init(void) | 1037 | void __init paging_init(void) |
989 | { | 1038 | { |
990 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | 1039 | unsigned long max_zone_pfns[MAX_NR_ZONES]; |
991 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); | 1040 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); |
992 | max_zone_pfns[ZONE_DMA] = lmb_end_of_DRAM() >> PAGE_SHIFT; | 1041 | max_zone_pfns[ZONE_DMA] = memblock_end_of_DRAM() >> PAGE_SHIFT; |
993 | free_area_init_nodes(max_zone_pfns); | 1042 | free_area_init_nodes(max_zone_pfns); |
994 | } | 1043 | } |
995 | 1044 | ||
@@ -1064,7 +1113,7 @@ static int hot_add_drconf_scn_to_nid(struct device_node *memory, | |||
1064 | /* | 1113 | /* |
1065 | * Find the node associated with a hot added memory section for memory | 1114 | * Find the node associated with a hot added memory section for memory |
1066 | * represented in the device tree as a node (i.e. memory@XXXX) for | 1115 | * represented in the device tree as a node (i.e. memory@XXXX) for |
1067 | * each lmb. | 1116 | * each memblock. |
1068 | */ | 1117 | */ |
1069 | int hot_add_node_scn_to_nid(unsigned long scn_addr) | 1118 | int hot_add_node_scn_to_nid(unsigned long scn_addr) |
1070 | { | 1119 | { |
@@ -1105,8 +1154,8 @@ int hot_add_node_scn_to_nid(unsigned long scn_addr) | |||
1105 | 1154 | ||
1106 | /* | 1155 | /* |
1107 | * Find the node associated with a hot added memory section. Section | 1156 | * Find the node associated with a hot added memory section. Section |
1108 | * corresponds to a SPARSEMEM section, not an LMB. It is assumed that | 1157 | * corresponds to a SPARSEMEM section, not an MEMBLOCK. It is assumed that |
1109 | * sections are fully contained within a single LMB. | 1158 | * sections are fully contained within a single MEMBLOCK. |
1110 | */ | 1159 | */ |
1111 | int hot_add_scn_to_nid(unsigned long scn_addr) | 1160 | int hot_add_scn_to_nid(unsigned long scn_addr) |
1112 | { | 1161 | { |
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c index 99df697c601a..ebc2f38eb381 100644 --- a/arch/powerpc/mm/pgtable.c +++ b/arch/powerpc/mm/pgtable.c | |||
@@ -22,6 +22,7 @@ | |||
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <linux/kernel.h> | 24 | #include <linux/kernel.h> |
25 | #include <linux/gfp.h> | ||
25 | #include <linux/mm.h> | 26 | #include <linux/mm.h> |
26 | #include <linux/init.h> | 27 | #include <linux/init.h> |
27 | #include <linux/percpu.h> | 28 | #include <linux/percpu.h> |
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index 573b3bd1c45b..a87ead0138b4 100644 --- a/arch/powerpc/mm/pgtable_32.c +++ b/arch/powerpc/mm/pgtable_32.c | |||
@@ -26,7 +26,8 @@ | |||
26 | #include <linux/vmalloc.h> | 26 | #include <linux/vmalloc.h> |
27 | #include <linux/init.h> | 27 | #include <linux/init.h> |
28 | #include <linux/highmem.h> | 28 | #include <linux/highmem.h> |
29 | #include <linux/lmb.h> | 29 | #include <linux/memblock.h> |
30 | #include <linux/slab.h> | ||
30 | 31 | ||
31 | #include <asm/pgtable.h> | 32 | #include <asm/pgtable.h> |
32 | #include <asm/pgalloc.h> | 33 | #include <asm/pgalloc.h> |
@@ -114,11 +115,7 @@ pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address) | |||
114 | { | 115 | { |
115 | struct page *ptepage; | 116 | struct page *ptepage; |
116 | 117 | ||
117 | #ifdef CONFIG_HIGHPTE | ||
118 | gfp_t flags = GFP_KERNEL | __GFP_HIGHMEM | __GFP_REPEAT | __GFP_ZERO; | ||
119 | #else | ||
120 | gfp_t flags = GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO; | 118 | gfp_t flags = GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO; |
121 | #endif | ||
122 | 119 | ||
123 | ptepage = alloc_pages(flags, 0); | 120 | ptepage = alloc_pages(flags, 0); |
124 | if (!ptepage) | 121 | if (!ptepage) |
@@ -145,6 +142,14 @@ ioremap_flags(phys_addr_t addr, unsigned long size, unsigned long flags) | |||
145 | /* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */ | 142 | /* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */ |
146 | flags &= ~(_PAGE_USER | _PAGE_EXEC); | 143 | flags &= ~(_PAGE_USER | _PAGE_EXEC); |
147 | 144 | ||
145 | #ifdef _PAGE_BAP_SR | ||
146 | /* _PAGE_USER contains _PAGE_BAP_SR on BookE using the new PTE format | ||
147 | * which means that we just cleared supervisor access... oops ;-) This | ||
148 | * restores it | ||
149 | */ | ||
150 | flags |= _PAGE_BAP_SR; | ||
151 | #endif | ||
152 | |||
148 | return __ioremap_caller(addr, size, flags, __builtin_return_address(0)); | 153 | return __ioremap_caller(addr, size, flags, __builtin_return_address(0)); |
149 | } | 154 | } |
150 | EXPORT_SYMBOL(ioremap_flags); | 155 | EXPORT_SYMBOL(ioremap_flags); |
@@ -193,7 +198,7 @@ __ioremap_caller(phys_addr_t addr, unsigned long size, unsigned long flags, | |||
193 | * mem_init() sets high_memory so only do the check after that. | 198 | * mem_init() sets high_memory so only do the check after that. |
194 | */ | 199 | */ |
195 | if (mem_init_done && (p < virt_to_phys(high_memory)) && | 200 | if (mem_init_done && (p < virt_to_phys(high_memory)) && |
196 | !(__allow_ioremap_reserved && lmb_is_region_reserved(p, size))) { | 201 | !(__allow_ioremap_reserved && memblock_is_region_reserved(p, size))) { |
197 | printk("__ioremap(): phys addr 0x%llx is RAM lr %p\n", | 202 | printk("__ioremap(): phys addr 0x%llx is RAM lr %p\n", |
198 | (unsigned long long)p, __builtin_return_address(0)); | 203 | (unsigned long long)p, __builtin_return_address(0)); |
199 | return NULL; | 204 | return NULL; |
@@ -326,7 +331,7 @@ void __init mapin_ram(void) | |||
326 | s = mmu_mapin_ram(top); | 331 | s = mmu_mapin_ram(top); |
327 | __mapin_ram_chunk(s, top); | 332 | __mapin_ram_chunk(s, top); |
328 | 333 | ||
329 | top = lmb_end_of_DRAM(); | 334 | top = memblock_end_of_DRAM(); |
330 | s = wii_mmu_mapin_mem2(top); | 335 | s = wii_mmu_mapin_mem2(top); |
331 | __mapin_ram_chunk(s, top); | 336 | __mapin_ram_chunk(s, top); |
332 | } | 337 | } |
@@ -384,11 +389,7 @@ static int __change_page_attr(struct page *page, pgprot_t prot) | |||
384 | return -EINVAL; | 389 | return -EINVAL; |
385 | __set_pte_at(&init_mm, address, kpte, mk_pte(page, prot), 0); | 390 | __set_pte_at(&init_mm, address, kpte, mk_pte(page, prot), 0); |
386 | wmb(); | 391 | wmb(); |
387 | #ifdef CONFIG_PPC_STD_MMU | ||
388 | flush_hash_pages(0, address, pmd_val(*kpmd), 1); | ||
389 | #else | ||
390 | flush_tlb_page(NULL, address); | 392 | flush_tlb_page(NULL, address); |
391 | #endif | ||
392 | pte_unmap(kpte); | 393 | pte_unmap(kpte); |
393 | 394 | ||
394 | return 0; | 395 | return 0; |
diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c index 853d5565eed5..21d6dfab7942 100644 --- a/arch/powerpc/mm/pgtable_64.c +++ b/arch/powerpc/mm/pgtable_64.c | |||
@@ -34,7 +34,8 @@ | |||
34 | #include <linux/vmalloc.h> | 34 | #include <linux/vmalloc.h> |
35 | #include <linux/init.h> | 35 | #include <linux/init.h> |
36 | #include <linux/bootmem.h> | 36 | #include <linux/bootmem.h> |
37 | #include <linux/lmb.h> | 37 | #include <linux/memblock.h> |
38 | #include <linux/slab.h> | ||
38 | 39 | ||
39 | #include <asm/pgalloc.h> | 40 | #include <asm/pgalloc.h> |
40 | #include <asm/page.h> | 41 | #include <asm/page.h> |
@@ -66,7 +67,7 @@ static void *early_alloc_pgtable(unsigned long size) | |||
66 | if (init_bootmem_done) | 67 | if (init_bootmem_done) |
67 | pt = __alloc_bootmem(size, size, __pa(MAX_DMA_ADDRESS)); | 68 | pt = __alloc_bootmem(size, size, __pa(MAX_DMA_ADDRESS)); |
68 | else | 69 | else |
69 | pt = __va(lmb_alloc_base(size, size, | 70 | pt = __va(memblock_alloc_base(size, size, |
70 | __pa(MAX_DMA_ADDRESS))); | 71 | __pa(MAX_DMA_ADDRESS))); |
71 | memset(pt, 0, size); | 72 | memset(pt, 0, size); |
72 | 73 | ||
@@ -264,6 +265,14 @@ void __iomem * ioremap_flags(phys_addr_t addr, unsigned long size, | |||
264 | /* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */ | 265 | /* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */ |
265 | flags &= ~(_PAGE_USER | _PAGE_EXEC); | 266 | flags &= ~(_PAGE_USER | _PAGE_EXEC); |
266 | 267 | ||
268 | #ifdef _PAGE_BAP_SR | ||
269 | /* _PAGE_USER contains _PAGE_BAP_SR on BookE using the new PTE format | ||
270 | * which means that we just cleared supervisor access... oops ;-) This | ||
271 | * restores it | ||
272 | */ | ||
273 | flags |= _PAGE_BAP_SR; | ||
274 | #endif | ||
275 | |||
267 | if (ppc_md.ioremap) | 276 | if (ppc_md.ioremap) |
268 | return ppc_md.ioremap(addr, size, flags, caller); | 277 | return ppc_md.ioremap(addr, size, flags, caller); |
269 | return __ioremap_caller(addr, size, flags, caller); | 278 | return __ioremap_caller(addr, size, flags, caller); |
diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c index f11c2cdcb0fe..f8a01829d64f 100644 --- a/arch/powerpc/mm/ppc_mmu_32.c +++ b/arch/powerpc/mm/ppc_mmu_32.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #include <linux/mm.h> | 26 | #include <linux/mm.h> |
27 | #include <linux/init.h> | 27 | #include <linux/init.h> |
28 | #include <linux/highmem.h> | 28 | #include <linux/highmem.h> |
29 | #include <linux/lmb.h> | 29 | #include <linux/memblock.h> |
30 | 30 | ||
31 | #include <asm/prom.h> | 31 | #include <asm/prom.h> |
32 | #include <asm/mmu.h> | 32 | #include <asm/mmu.h> |
@@ -223,7 +223,7 @@ void __init MMU_init_hw(void) | |||
223 | * Find some memory for the hash table. | 223 | * Find some memory for the hash table. |
224 | */ | 224 | */ |
225 | if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322); | 225 | if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322); |
226 | Hash = __va(lmb_alloc_base(Hash_size, Hash_size, | 226 | Hash = __va(memblock_alloc_base(Hash_size, Hash_size, |
227 | __initial_memory_limit_addr)); | 227 | __initial_memory_limit_addr)); |
228 | cacheable_memzero(Hash, Hash_size); | 228 | cacheable_memzero(Hash, Hash_size); |
229 | _SDR1 = __pa(Hash) | SDR1_LOW_BITS; | 229 | _SDR1 = __pa(Hash) | SDR1_LOW_BITS; |
diff --git a/arch/powerpc/mm/stab.c b/arch/powerpc/mm/stab.c index 687fddaa24c5..446a01842a73 100644 --- a/arch/powerpc/mm/stab.c +++ b/arch/powerpc/mm/stab.c | |||
@@ -12,7 +12,7 @@ | |||
12 | * 2 of the License, or (at your option) any later version. | 12 | * 2 of the License, or (at your option) any later version. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <linux/lmb.h> | 15 | #include <linux/memblock.h> |
16 | 16 | ||
17 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
18 | #include <asm/mmu.h> | 18 | #include <asm/mmu.h> |
@@ -252,7 +252,7 @@ void __init stabs_alloc(void) | |||
252 | if (cpu == 0) | 252 | if (cpu == 0) |
253 | continue; /* stab for CPU 0 is statically allocated */ | 253 | continue; /* stab for CPU 0 is statically allocated */ |
254 | 254 | ||
255 | newstab = lmb_alloc_base(HW_PAGE_SIZE, HW_PAGE_SIZE, | 255 | newstab = memblock_alloc_base(HW_PAGE_SIZE, HW_PAGE_SIZE, |
256 | 1<<SID_SHIFT); | 256 | 1<<SID_SHIFT); |
257 | newstab = (unsigned long)__va(newstab); | 257 | newstab = (unsigned long)__va(newstab); |
258 | 258 | ||
diff --git a/arch/powerpc/mm/subpage-prot.c b/arch/powerpc/mm/subpage-prot.c index a040b81e93bd..e4f8f1fc81a5 100644 --- a/arch/powerpc/mm/subpage-prot.c +++ b/arch/powerpc/mm/subpage-prot.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/errno.h> | 10 | #include <linux/errno.h> |
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/gfp.h> | 12 | #include <linux/gfp.h> |
13 | #include <linux/slab.h> | ||
14 | #include <linux/types.h> | 13 | #include <linux/types.h> |
15 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
16 | #include <linux/hugetlb.h> | 15 | #include <linux/hugetlb.h> |
diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c index e81d5d67f834..d8695b02a968 100644 --- a/arch/powerpc/mm/tlb_nohash.c +++ b/arch/powerpc/mm/tlb_nohash.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <linux/pagemap.h> | 34 | #include <linux/pagemap.h> |
35 | #include <linux/preempt.h> | 35 | #include <linux/preempt.h> |
36 | #include <linux/spinlock.h> | 36 | #include <linux/spinlock.h> |
37 | #include <linux/lmb.h> | 37 | #include <linux/memblock.h> |
38 | 38 | ||
39 | #include <asm/tlbflush.h> | 39 | #include <asm/tlbflush.h> |
40 | #include <asm/tlb.h> | 40 | #include <asm/tlb.h> |
@@ -426,7 +426,7 @@ static void __early_init_mmu(int boot_cpu) | |||
426 | /* Set the global containing the top of the linear mapping | 426 | /* Set the global containing the top of the linear mapping |
427 | * for use by the TLB miss code | 427 | * for use by the TLB miss code |
428 | */ | 428 | */ |
429 | linear_map_top = lmb_end_of_DRAM(); | 429 | linear_map_top = memblock_end_of_DRAM(); |
430 | 430 | ||
431 | /* A sync won't hurt us after mucking around with | 431 | /* A sync won't hurt us after mucking around with |
432 | * the MMU configuration | 432 | * the MMU configuration |
diff --git a/arch/powerpc/mm/tlb_nohash_low.S b/arch/powerpc/mm/tlb_nohash_low.S index bbdc5b577b85..cfa768203d08 100644 --- a/arch/powerpc/mm/tlb_nohash_low.S +++ b/arch/powerpc/mm/tlb_nohash_low.S | |||
@@ -10,7 +10,7 @@ | |||
10 | * - tlbil_va | 10 | * - tlbil_va |
11 | * - tlbil_pid | 11 | * - tlbil_pid |
12 | * - tlbil_all | 12 | * - tlbil_all |
13 | * - tlbivax_bcast (not yet) | 13 | * - tlbivax_bcast |
14 | * | 14 | * |
15 | * Code mostly moved over from misc_32.S | 15 | * Code mostly moved over from misc_32.S |
16 | * | 16 | * |
@@ -33,6 +33,7 @@ | |||
33 | #include <asm/ppc_asm.h> | 33 | #include <asm/ppc_asm.h> |
34 | #include <asm/asm-offsets.h> | 34 | #include <asm/asm-offsets.h> |
35 | #include <asm/processor.h> | 35 | #include <asm/processor.h> |
36 | #include <asm/bug.h> | ||
36 | 37 | ||
37 | #if defined(CONFIG_40x) | 38 | #if defined(CONFIG_40x) |
38 | 39 | ||
@@ -65,7 +66,7 @@ _GLOBAL(__tlbil_va) | |||
65 | * Nothing to do for 8xx, everything is inline | 66 | * Nothing to do for 8xx, everything is inline |
66 | */ | 67 | */ |
67 | 68 | ||
68 | #elif defined(CONFIG_44x) | 69 | #elif defined(CONFIG_44x) /* Includes 47x */ |
69 | 70 | ||
70 | /* | 71 | /* |
71 | * 440 implementation uses tlbsx/we for tlbil_va and a full sweep | 72 | * 440 implementation uses tlbsx/we for tlbil_va and a full sweep |
@@ -73,7 +74,13 @@ _GLOBAL(__tlbil_va) | |||
73 | */ | 74 | */ |
74 | _GLOBAL(__tlbil_va) | 75 | _GLOBAL(__tlbil_va) |
75 | mfspr r5,SPRN_MMUCR | 76 | mfspr r5,SPRN_MMUCR |
76 | rlwimi r5,r4,0,24,31 /* Set TID */ | 77 | mfmsr r10 |
78 | |||
79 | /* | ||
80 | * We write 16 bits of STID since 47x supports that much, we | ||
81 | * will never be passed out of bounds values on 440 (hopefully) | ||
82 | */ | ||
83 | rlwimi r5,r4,0,16,31 | ||
77 | 84 | ||
78 | /* We have to run the search with interrupts disabled, otherwise | 85 | /* We have to run the search with interrupts disabled, otherwise |
79 | * an interrupt which causes a TLB miss can clobber the MMUCR | 86 | * an interrupt which causes a TLB miss can clobber the MMUCR |
@@ -83,24 +90,41 @@ _GLOBAL(__tlbil_va) | |||
83 | * and restoring MMUCR, so only normal interrupts have to be | 90 | * and restoring MMUCR, so only normal interrupts have to be |
84 | * taken care of. | 91 | * taken care of. |
85 | */ | 92 | */ |
86 | mfmsr r4 | ||
87 | wrteei 0 | 93 | wrteei 0 |
88 | mtspr SPRN_MMUCR,r5 | 94 | mtspr SPRN_MMUCR,r5 |
89 | tlbsx. r3, 0, r3 | 95 | tlbsx. r6,0,r3 |
90 | wrtee r4 | 96 | bne 10f |
91 | bne 1f | ||
92 | sync | 97 | sync |
93 | /* There are only 64 TLB entries, so r3 < 64, | 98 | BEGIN_MMU_FTR_SECTION |
94 | * which means bit 22, is clear. Since 22 is | 99 | b 2f |
95 | * the V bit in the TLB_PAGEID, loading this | 100 | END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_47x) |
101 | /* On 440 There are only 64 TLB entries, so r3 < 64, which means bit | ||
102 | * 22, is clear. Since 22 is the V bit in the TLB_PAGEID, loading this | ||
96 | * value will invalidate the TLB entry. | 103 | * value will invalidate the TLB entry. |
97 | */ | 104 | */ |
98 | tlbwe r3, r3, PPC44x_TLB_PAGEID | 105 | tlbwe r6,r6,PPC44x_TLB_PAGEID |
99 | isync | 106 | isync |
100 | 1: blr | 107 | 10: wrtee r10 |
108 | blr | ||
109 | 2: | ||
110 | #ifdef CONFIG_PPC_47x | ||
111 | oris r7,r6,0x8000 /* specify way explicitely */ | ||
112 | clrrwi r4,r3,12 /* get an EPN for the hashing with V = 0 */ | ||
113 | ori r4,r4,PPC47x_TLBE_SIZE | ||
114 | tlbwe r4,r7,0 /* write it */ | ||
115 | isync | ||
116 | wrtee r10 | ||
117 | blr | ||
118 | #else /* CONFIG_PPC_47x */ | ||
119 | 1: trap | ||
120 | EMIT_BUG_ENTRY 1b,__FILE__,__LINE__,0; | ||
121 | #endif /* !CONFIG_PPC_47x */ | ||
101 | 122 | ||
102 | _GLOBAL(_tlbil_all) | 123 | _GLOBAL(_tlbil_all) |
103 | _GLOBAL(_tlbil_pid) | 124 | _GLOBAL(_tlbil_pid) |
125 | BEGIN_MMU_FTR_SECTION | ||
126 | b 2f | ||
127 | END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_47x) | ||
104 | li r3,0 | 128 | li r3,0 |
105 | sync | 129 | sync |
106 | 130 | ||
@@ -115,6 +139,76 @@ _GLOBAL(_tlbil_pid) | |||
115 | 139 | ||
116 | isync | 140 | isync |
117 | blr | 141 | blr |
142 | 2: | ||
143 | #ifdef CONFIG_PPC_47x | ||
144 | /* 476 variant. There's not simple way to do this, hopefully we'll | ||
145 | * try to limit the amount of such full invalidates | ||
146 | */ | ||
147 | mfmsr r11 /* Interrupts off */ | ||
148 | wrteei 0 | ||
149 | li r3,-1 /* Current set */ | ||
150 | lis r10,tlb_47x_boltmap@h | ||
151 | ori r10,r10,tlb_47x_boltmap@l | ||
152 | lis r7,0x8000 /* Specify way explicitely */ | ||
153 | |||
154 | b 9f /* For each set */ | ||
155 | |||
156 | 1: li r9,4 /* Number of ways */ | ||
157 | li r4,0 /* Current way */ | ||
158 | li r6,0 /* Default entry value 0 */ | ||
159 | andi. r0,r8,1 /* Check if way 0 is bolted */ | ||
160 | mtctr r9 /* Load way counter */ | ||
161 | bne- 3f /* Bolted, skip loading it */ | ||
162 | |||
163 | 2: /* For each way */ | ||
164 | or r5,r3,r4 /* Make way|index for tlbre */ | ||
165 | rlwimi r5,r5,16,8,15 /* Copy index into position */ | ||
166 | tlbre r6,r5,0 /* Read entry */ | ||
167 | 3: addis r4,r4,0x2000 /* Next way */ | ||
168 | andi. r0,r6,PPC47x_TLB0_VALID /* Valid entry ? */ | ||
169 | beq 4f /* Nope, skip it */ | ||
170 | rlwimi r7,r5,0,1,2 /* Insert way number */ | ||
171 | rlwinm r6,r6,0,21,19 /* Clear V */ | ||
172 | tlbwe r6,r7,0 /* Write it */ | ||
173 | 4: bdnz 2b /* Loop for each way */ | ||
174 | srwi r8,r8,1 /* Next boltmap bit */ | ||
175 | 9: cmpwi cr1,r3,255 /* Last set done ? */ | ||
176 | addi r3,r3,1 /* Next set */ | ||
177 | beq cr1,1f /* End of loop */ | ||
178 | andi. r0,r3,0x1f /* Need to load a new boltmap word ? */ | ||
179 | bne 1b /* No, loop */ | ||
180 | lwz r8,0(r10) /* Load boltmap entry */ | ||
181 | addi r10,r10,4 /* Next word */ | ||
182 | b 1b /* Then loop */ | ||
183 | 1: isync /* Sync shadows */ | ||
184 | wrtee r11 | ||
185 | #else /* CONFIG_PPC_47x */ | ||
186 | 1: trap | ||
187 | EMIT_BUG_ENTRY 1b,__FILE__,__LINE__,0; | ||
188 | #endif /* !CONFIG_PPC_47x */ | ||
189 | blr | ||
190 | |||
191 | #ifdef CONFIG_PPC_47x | ||
192 | /* | ||
193 | * _tlbivax_bcast is only on 47x. We don't bother doing a runtime | ||
194 | * check though, it will blow up soon enough if we mistakenly try | ||
195 | * to use it on a 440. | ||
196 | */ | ||
197 | _GLOBAL(_tlbivax_bcast) | ||
198 | mfspr r5,SPRN_MMUCR | ||
199 | mfmsr r10 | ||
200 | rlwimi r5,r4,0,16,31 | ||
201 | wrteei 0 | ||
202 | mtspr SPRN_MMUCR,r5 | ||
203 | /* tlbivax 0,r3 - use .long to avoid binutils deps */ | ||
204 | .long 0x7c000624 | (r3 << 11) | ||
205 | isync | ||
206 | eieio | ||
207 | tlbsync | ||
208 | sync | ||
209 | wrtee r10 | ||
210 | blr | ||
211 | #endif /* CONFIG_PPC_47x */ | ||
118 | 212 | ||
119 | #elif defined(CONFIG_FSL_BOOKE) | 213 | #elif defined(CONFIG_FSL_BOOKE) |
120 | /* | 214 | /* |
@@ -271,3 +365,31 @@ _GLOBAL(set_context) | |||
271 | #else | 365 | #else |
272 | #error Unsupported processor type ! | 366 | #error Unsupported processor type ! |
273 | #endif | 367 | #endif |
368 | |||
369 | #if defined(CONFIG_FSL_BOOKE) | ||
370 | /* | ||
371 | * extern void loadcam_entry(unsigned int index) | ||
372 | * | ||
373 | * Load TLBCAM[index] entry in to the L2 CAM MMU | ||
374 | */ | ||
375 | _GLOBAL(loadcam_entry) | ||
376 | LOAD_REG_ADDR(r4, TLBCAM) | ||
377 | mulli r5,r3,TLBCAM_SIZE | ||
378 | add r3,r5,r4 | ||
379 | lwz r4,TLBCAM_MAS0(r3) | ||
380 | mtspr SPRN_MAS0,r4 | ||
381 | lwz r4,TLBCAM_MAS1(r3) | ||
382 | mtspr SPRN_MAS1,r4 | ||
383 | PPC_LL r4,TLBCAM_MAS2(r3) | ||
384 | mtspr SPRN_MAS2,r4 | ||
385 | lwz r4,TLBCAM_MAS3(r3) | ||
386 | mtspr SPRN_MAS3,r4 | ||
387 | BEGIN_MMU_FTR_SECTION | ||
388 | lwz r4,TLBCAM_MAS7(r3) | ||
389 | mtspr SPRN_MAS7,r4 | ||
390 | END_MMU_FTR_SECTION_IFSET(MMU_FTR_BIG_PHYS) | ||
391 | isync | ||
392 | tlbwe | ||
393 | isync | ||
394 | blr | ||
395 | #endif | ||
diff --git a/arch/powerpc/oprofile/cell/spu_task_sync.c b/arch/powerpc/oprofile/cell/spu_task_sync.c index 6b793aeda72e..642fca137ccb 100644 --- a/arch/powerpc/oprofile/cell/spu_task_sync.c +++ b/arch/powerpc/oprofile/cell/spu_task_sync.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/notifier.h> | 26 | #include <linux/notifier.h> |
27 | #include <linux/numa.h> | 27 | #include <linux/numa.h> |
28 | #include <linux/oprofile.h> | 28 | #include <linux/oprofile.h> |
29 | #include <linux/slab.h> | ||
29 | #include <linux/spinlock.h> | 30 | #include <linux/spinlock.h> |
30 | #include "pr_util.h" | 31 | #include "pr_util.h" |
31 | 32 | ||
diff --git a/arch/powerpc/oprofile/cell/vma_map.c b/arch/powerpc/oprofile/cell/vma_map.c index c591339daf58..c579b16845da 100644 --- a/arch/powerpc/oprofile/cell/vma_map.c +++ b/arch/powerpc/oprofile/cell/vma_map.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/string.h> | 20 | #include <linux/string.h> |
21 | #include <linux/uaccess.h> | 21 | #include <linux/uaccess.h> |
22 | #include <linux/elf.h> | 22 | #include <linux/elf.h> |
23 | #include <linux/slab.h> | ||
23 | #include "pr_util.h" | 24 | #include "pr_util.h" |
24 | 25 | ||
25 | 26 | ||
diff --git a/arch/powerpc/oprofile/op_model_cell.c b/arch/powerpc/oprofile/op_model_cell.c index 2c9e52267292..7fd90d02d8c6 100644 --- a/arch/powerpc/oprofile/op_model_cell.c +++ b/arch/powerpc/oprofile/op_model_cell.c | |||
@@ -1077,7 +1077,7 @@ static int calculate_lfsr(int n) | |||
1077 | index = ENTRIES-1; | 1077 | index = ENTRIES-1; |
1078 | 1078 | ||
1079 | /* make sure index is valid */ | 1079 | /* make sure index is valid */ |
1080 | if ((index > ENTRIES) || (index < 0)) | 1080 | if ((index >= ENTRIES) || (index < 0)) |
1081 | index = ENTRIES-1; | 1081 | index = ENTRIES-1; |
1082 | 1082 | ||
1083 | return initial_lfsr[index]; | 1083 | return initial_lfsr[index]; |
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig index 7486bffd3ebb..69d668c072ae 100644 --- a/arch/powerpc/platforms/44x/Kconfig +++ b/arch/powerpc/platforms/44x/Kconfig | |||
@@ -1,3 +1,12 @@ | |||
1 | config PPC_47x | ||
2 | bool "Support for 47x variant" | ||
3 | depends on 44x | ||
4 | default n | ||
5 | select MPIC | ||
6 | help | ||
7 | This option enables support for the 47x family of processors and is | ||
8 | not currently compatible with other 44x or 46x varients | ||
9 | |||
1 | config BAMBOO | 10 | config BAMBOO |
2 | bool "Bamboo" | 11 | bool "Bamboo" |
3 | depends on 44x | 12 | depends on 44x |
@@ -151,6 +160,28 @@ config YOSEMITE | |||
151 | help | 160 | help |
152 | This option enables support for the AMCC PPC440EP evaluation board. | 161 | This option enables support for the AMCC PPC440EP evaluation board. |
153 | 162 | ||
163 | config ISS4xx | ||
164 | bool "ISS 4xx Simulator" | ||
165 | depends on (44x || 40x) | ||
166 | default n | ||
167 | select 405GP if 40x | ||
168 | select 440GP if 44x && !PPC_47x | ||
169 | select PPC_FPU | ||
170 | select OF_RTC | ||
171 | help | ||
172 | This option enables support for the IBM ISS simulation environment | ||
173 | |||
174 | config ICON | ||
175 | bool "Icon" | ||
176 | depends on 44x | ||
177 | default n | ||
178 | select PPC44x_SIMPLE | ||
179 | select 440SPe | ||
180 | select PCI | ||
181 | select PPC4xx_PCI_EXPRESS | ||
182 | help | ||
183 | This option enables support for the AMCC PPC440SPe evaluation board. | ||
184 | |||
154 | #config LUAN | 185 | #config LUAN |
155 | # bool "Luan" | 186 | # bool "Luan" |
156 | # depends on 44x | 187 | # depends on 44x |
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile index ee6185aeaa3b..82ff326e0795 100644 --- a/arch/powerpc/platforms/44x/Makefile +++ b/arch/powerpc/platforms/44x/Makefile | |||
@@ -5,3 +5,4 @@ obj-$(CONFIG_SAM440EP) += sam440ep.o | |||
5 | obj-$(CONFIG_WARP) += warp.o | 5 | obj-$(CONFIG_WARP) += warp.o |
6 | obj-$(CONFIG_XILINX_VIRTEX_5_FXT) += virtex.o | 6 | obj-$(CONFIG_XILINX_VIRTEX_5_FXT) += virtex.o |
7 | obj-$(CONFIG_XILINX_ML510) += virtex_ml510.o | 7 | obj-$(CONFIG_XILINX_ML510) += virtex_ml510.o |
8 | obj-$(CONFIG_ISS4xx) += iss4xx.o | ||
diff --git a/arch/powerpc/platforms/44x/iss4xx.c b/arch/powerpc/platforms/44x/iss4xx.c new file mode 100644 index 000000000000..aa46e9d1e771 --- /dev/null +++ b/arch/powerpc/platforms/44x/iss4xx.c | |||
@@ -0,0 +1,167 @@ | |||
1 | /* | ||
2 | * PPC476 board specific routines | ||
3 | * | ||
4 | * Copyright 2010 Torez Smith, IBM Corporation. | ||
5 | * | ||
6 | * Based on earlier code: | ||
7 | * Matt Porter <mporter@kernel.crashing.org> | ||
8 | * Copyright 2002-2005 MontaVista Software Inc. | ||
9 | * | ||
10 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> | ||
11 | * Copyright (c) 2003-2005 Zultys Technologies | ||
12 | * | ||
13 | * Rewritten and ported to the merged powerpc tree: | ||
14 | * Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify it | ||
17 | * under the terms of the GNU General Public License as published by the | ||
18 | * Free Software Foundation; either version 2 of the License, or (at your | ||
19 | * option) any later version. | ||
20 | */ | ||
21 | |||
22 | #include <linux/init.h> | ||
23 | #include <linux/of_platform.h> | ||
24 | #include <linux/rtc.h> | ||
25 | |||
26 | #include <asm/machdep.h> | ||
27 | #include <asm/prom.h> | ||
28 | #include <asm/udbg.h> | ||
29 | #include <asm/time.h> | ||
30 | #include <asm/uic.h> | ||
31 | #include <asm/ppc4xx.h> | ||
32 | #include <asm/mpic.h> | ||
33 | #include <asm/mmu.h> | ||
34 | |||
35 | static __initdata struct of_device_id iss4xx_of_bus[] = { | ||
36 | { .compatible = "ibm,plb4", }, | ||
37 | { .compatible = "ibm,plb6", }, | ||
38 | { .compatible = "ibm,opb", }, | ||
39 | { .compatible = "ibm,ebc", }, | ||
40 | {}, | ||
41 | }; | ||
42 | |||
43 | static int __init iss4xx_device_probe(void) | ||
44 | { | ||
45 | of_platform_bus_probe(NULL, iss4xx_of_bus, NULL); | ||
46 | of_instantiate_rtc(); | ||
47 | |||
48 | return 0; | ||
49 | } | ||
50 | machine_device_initcall(iss4xx, iss4xx_device_probe); | ||
51 | |||
52 | /* We can have either UICs or MPICs */ | ||
53 | static void __init iss4xx_init_irq(void) | ||
54 | { | ||
55 | struct device_node *np; | ||
56 | |||
57 | /* Find top level interrupt controller */ | ||
58 | for_each_node_with_property(np, "interrupt-controller") { | ||
59 | if (of_get_property(np, "interrupts", NULL) == NULL) | ||
60 | break; | ||
61 | } | ||
62 | if (np == NULL) | ||
63 | panic("Can't find top level interrupt controller"); | ||
64 | |||
65 | /* Check type and do appropriate initialization */ | ||
66 | if (of_device_is_compatible(np, "ibm,uic")) { | ||
67 | uic_init_tree(); | ||
68 | ppc_md.get_irq = uic_get_irq; | ||
69 | #ifdef CONFIG_MPIC | ||
70 | } else if (of_device_is_compatible(np, "chrp,open-pic")) { | ||
71 | /* The MPIC driver will get everything it needs from the | ||
72 | * device-tree, just pass 0 to all arguments | ||
73 | */ | ||
74 | struct mpic *mpic = mpic_alloc(np, 0, MPIC_PRIMARY, 0, 0, | ||
75 | " MPIC "); | ||
76 | BUG_ON(mpic == NULL); | ||
77 | mpic_init(mpic); | ||
78 | ppc_md.get_irq = mpic_get_irq; | ||
79 | #endif | ||
80 | } else | ||
81 | panic("Unrecognized top level interrupt controller"); | ||
82 | } | ||
83 | |||
84 | #ifdef CONFIG_SMP | ||
85 | static void __cpuinit smp_iss4xx_setup_cpu(int cpu) | ||
86 | { | ||
87 | mpic_setup_this_cpu(); | ||
88 | } | ||
89 | |||
90 | static void __cpuinit smp_iss4xx_kick_cpu(int cpu) | ||
91 | { | ||
92 | struct device_node *cpunode = of_get_cpu_node(cpu, NULL); | ||
93 | const u64 *spin_table_addr_prop; | ||
94 | u32 *spin_table; | ||
95 | extern void start_secondary_47x(void); | ||
96 | |||
97 | BUG_ON(cpunode == NULL); | ||
98 | |||
99 | /* Assume spin table. We could test for the enable-method in | ||
100 | * the device-tree but currently there's little point as it's | ||
101 | * our only supported method | ||
102 | */ | ||
103 | spin_table_addr_prop = of_get_property(cpunode, "cpu-release-addr", | ||
104 | NULL); | ||
105 | if (spin_table_addr_prop == NULL) { | ||
106 | pr_err("CPU%d: Can't start, missing cpu-release-addr !\n", cpu); | ||
107 | return; | ||
108 | } | ||
109 | |||
110 | /* Assume it's mapped as part of the linear mapping. This is a bit | ||
111 | * fishy but will work fine for now | ||
112 | */ | ||
113 | spin_table = (u32 *)__va(*spin_table_addr_prop); | ||
114 | pr_debug("CPU%d: Spin table mapped at %p\n", cpu, spin_table); | ||
115 | |||
116 | spin_table[3] = cpu; | ||
117 | smp_wmb(); | ||
118 | spin_table[1] = __pa(start_secondary_47x); | ||
119 | mb(); | ||
120 | } | ||
121 | |||
122 | static struct smp_ops_t iss_smp_ops = { | ||
123 | .probe = smp_mpic_probe, | ||
124 | .message_pass = smp_mpic_message_pass, | ||
125 | .setup_cpu = smp_iss4xx_setup_cpu, | ||
126 | .kick_cpu = smp_iss4xx_kick_cpu, | ||
127 | .give_timebase = smp_generic_give_timebase, | ||
128 | .take_timebase = smp_generic_take_timebase, | ||
129 | }; | ||
130 | |||
131 | static void __init iss4xx_smp_init(void) | ||
132 | { | ||
133 | if (mmu_has_feature(MMU_FTR_TYPE_47x)) | ||
134 | smp_ops = &iss_smp_ops; | ||
135 | } | ||
136 | |||
137 | #else /* CONFIG_SMP */ | ||
138 | static void __init iss4xx_smp_init(void) { } | ||
139 | #endif /* CONFIG_SMP */ | ||
140 | |||
141 | static void __init iss4xx_setup_arch(void) | ||
142 | { | ||
143 | iss4xx_smp_init(); | ||
144 | } | ||
145 | |||
146 | /* | ||
147 | * Called very early, MMU is off, device-tree isn't unflattened | ||
148 | */ | ||
149 | static int __init iss4xx_probe(void) | ||
150 | { | ||
151 | unsigned long root = of_get_flat_dt_root(); | ||
152 | |||
153 | if (!of_flat_dt_is_compatible(root, "ibm,iss-4xx")) | ||
154 | return 0; | ||
155 | |||
156 | return 1; | ||
157 | } | ||
158 | |||
159 | define_machine(iss4xx) { | ||
160 | .name = "ISS-4xx", | ||
161 | .probe = iss4xx_probe, | ||
162 | .progress = udbg_progress, | ||
163 | .init_IRQ = iss4xx_init_irq, | ||
164 | .setup_arch = iss4xx_setup_arch, | ||
165 | .restart = ppc4xx_reset_system, | ||
166 | .calibrate_decr = generic_calibrate_decr, | ||
167 | }; | ||
diff --git a/arch/powerpc/platforms/44x/ppc44x_simple.c b/arch/powerpc/platforms/44x/ppc44x_simple.c index e8c23ccaa1fc..5f7a29d7f590 100644 --- a/arch/powerpc/platforms/44x/ppc44x_simple.c +++ b/arch/powerpc/platforms/44x/ppc44x_simple.c | |||
@@ -61,7 +61,8 @@ static char *board[] __initdata = { | |||
61 | "amcc,redwood", | 61 | "amcc,redwood", |
62 | "amcc,sequoia", | 62 | "amcc,sequoia", |
63 | "amcc,taishan", | 63 | "amcc,taishan", |
64 | "amcc,yosemite" | 64 | "amcc,yosemite", |
65 | "mosaixtech,icon" | ||
65 | }; | 66 | }; |
66 | 67 | ||
67 | static int __init ppc44x_probe(void) | 68 | static int __init ppc44x_probe(void) |
diff --git a/arch/powerpc/platforms/44x/warp.c b/arch/powerpc/platforms/44x/warp.c index e5c1b096c3e1..8f771395f424 100644 --- a/arch/powerpc/platforms/44x/warp.c +++ b/arch/powerpc/platforms/44x/warp.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
18 | #include <linux/of_gpio.h> | 18 | #include <linux/of_gpio.h> |
19 | #include <linux/of_i2c.h> | 19 | #include <linux/of_i2c.h> |
20 | #include <linux/slab.h> | ||
20 | 21 | ||
21 | #include <asm/machdep.h> | 22 | #include <asm/machdep.h> |
22 | #include <asm/prom.h> | 23 | #include <asm/prom.h> |
diff --git a/arch/powerpc/platforms/512x/mpc512x_shared.c b/arch/powerpc/platforms/512x/mpc512x_shared.c index b7f518a60f03..707e572b7c40 100644 --- a/arch/powerpc/platforms/512x/mpc512x_shared.c +++ b/arch/powerpc/platforms/512x/mpc512x_shared.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <asm/prom.h> | 22 | #include <asm/prom.h> |
23 | #include <asm/time.h> | 23 | #include <asm/time.h> |
24 | #include <asm/mpc5121.h> | 24 | #include <asm/mpc5121.h> |
25 | #include <asm/mpc52xx_psc.h> | ||
25 | 26 | ||
26 | #include "mpc512x.h" | 27 | #include "mpc512x.h" |
27 | 28 | ||
@@ -95,9 +96,86 @@ void __init mpc512x_declare_of_platform_devices(void) | |||
95 | } | 96 | } |
96 | } | 97 | } |
97 | 98 | ||
99 | #define DEFAULT_FIFO_SIZE 16 | ||
100 | |||
101 | static unsigned int __init get_fifo_size(struct device_node *np, | ||
102 | char *prop_name) | ||
103 | { | ||
104 | const unsigned int *fp; | ||
105 | |||
106 | fp = of_get_property(np, prop_name, NULL); | ||
107 | if (fp) | ||
108 | return *fp; | ||
109 | |||
110 | pr_warning("no %s property in %s node, defaulting to %d\n", | ||
111 | prop_name, np->full_name, DEFAULT_FIFO_SIZE); | ||
112 | |||
113 | return DEFAULT_FIFO_SIZE; | ||
114 | } | ||
115 | |||
116 | #define FIFOC(_base) ((struct mpc512x_psc_fifo __iomem *) \ | ||
117 | ((u32)(_base) + sizeof(struct mpc52xx_psc))) | ||
118 | |||
119 | /* Init PSC FIFO space for TX and RX slices */ | ||
120 | void __init mpc512x_psc_fifo_init(void) | ||
121 | { | ||
122 | struct device_node *np; | ||
123 | void __iomem *psc; | ||
124 | unsigned int tx_fifo_size; | ||
125 | unsigned int rx_fifo_size; | ||
126 | int fifobase = 0; /* current fifo address in 32 bit words */ | ||
127 | |||
128 | for_each_compatible_node(np, NULL, "fsl,mpc5121-psc") { | ||
129 | tx_fifo_size = get_fifo_size(np, "fsl,tx-fifo-size"); | ||
130 | rx_fifo_size = get_fifo_size(np, "fsl,rx-fifo-size"); | ||
131 | |||
132 | /* size in register is in 4 byte units */ | ||
133 | tx_fifo_size /= 4; | ||
134 | rx_fifo_size /= 4; | ||
135 | if (!tx_fifo_size) | ||
136 | tx_fifo_size = 1; | ||
137 | if (!rx_fifo_size) | ||
138 | rx_fifo_size = 1; | ||
139 | |||
140 | psc = of_iomap(np, 0); | ||
141 | if (!psc) { | ||
142 | pr_err("%s: Can't map %s device\n", | ||
143 | __func__, np->full_name); | ||
144 | continue; | ||
145 | } | ||
146 | |||
147 | /* FIFO space is 4KiB, check if requested size is available */ | ||
148 | if ((fifobase + tx_fifo_size + rx_fifo_size) > 0x1000) { | ||
149 | pr_err("%s: no fifo space available for %s\n", | ||
150 | __func__, np->full_name); | ||
151 | iounmap(psc); | ||
152 | /* | ||
153 | * chances are that another device requests less | ||
154 | * fifo space, so we continue. | ||
155 | */ | ||
156 | continue; | ||
157 | } | ||
158 | |||
159 | /* set tx and rx fifo size registers */ | ||
160 | out_be32(&FIFOC(psc)->txsz, (fifobase << 16) | tx_fifo_size); | ||
161 | fifobase += tx_fifo_size; | ||
162 | out_be32(&FIFOC(psc)->rxsz, (fifobase << 16) | rx_fifo_size); | ||
163 | fifobase += rx_fifo_size; | ||
164 | |||
165 | /* reset and enable the slices */ | ||
166 | out_be32(&FIFOC(psc)->txcmd, 0x80); | ||
167 | out_be32(&FIFOC(psc)->txcmd, 0x01); | ||
168 | out_be32(&FIFOC(psc)->rxcmd, 0x80); | ||
169 | out_be32(&FIFOC(psc)->rxcmd, 0x01); | ||
170 | |||
171 | iounmap(psc); | ||
172 | } | ||
173 | } | ||
174 | |||
98 | void __init mpc512x_init(void) | 175 | void __init mpc512x_init(void) |
99 | { | 176 | { |
100 | mpc512x_declare_of_platform_devices(); | 177 | mpc512x_declare_of_platform_devices(); |
101 | mpc5121_clk_init(); | 178 | mpc5121_clk_init(); |
102 | mpc512x_restart_init(); | 179 | mpc512x_restart_init(); |
180 | mpc512x_psc_fifo_init(); | ||
103 | } | 181 | } |
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpio.c b/arch/powerpc/platforms/52xx/mpc52xx_gpio.c index 2b8d8ef32e4e..ca5305a5bd61 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpio.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpio.c | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #include <linux/of.h> | 20 | #include <linux/of.h> |
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/slab.h> | ||
22 | #include <linux/of_gpio.h> | 23 | #include <linux/of_gpio.h> |
23 | #include <linux/io.h> | 24 | #include <linux/io.h> |
24 | #include <linux/of_platform.h> | 25 | #include <linux/of_platform.h> |
@@ -167,7 +168,7 @@ static int __devinit mpc52xx_wkup_gpiochip_probe(struct of_device *ofdev, | |||
167 | ofchip->gc.get = mpc52xx_wkup_gpio_get; | 168 | ofchip->gc.get = mpc52xx_wkup_gpio_get; |
168 | ofchip->gc.set = mpc52xx_wkup_gpio_set; | 169 | ofchip->gc.set = mpc52xx_wkup_gpio_set; |
169 | 170 | ||
170 | ret = of_mm_gpiochip_add(ofdev->node, &chip->mmchip); | 171 | ret = of_mm_gpiochip_add(ofdev->dev.of_node, &chip->mmchip); |
171 | if (ret) | 172 | if (ret) |
172 | return ret; | 173 | return ret; |
173 | 174 | ||
@@ -192,8 +193,11 @@ static const struct of_device_id mpc52xx_wkup_gpiochip_match[] = { | |||
192 | }; | 193 | }; |
193 | 194 | ||
194 | static struct of_platform_driver mpc52xx_wkup_gpiochip_driver = { | 195 | static struct of_platform_driver mpc52xx_wkup_gpiochip_driver = { |
195 | .name = "gpio_wkup", | 196 | .driver = { |
196 | .match_table = mpc52xx_wkup_gpiochip_match, | 197 | .name = "gpio_wkup", |
198 | .owner = THIS_MODULE, | ||
199 | .of_match_table = mpc52xx_wkup_gpiochip_match, | ||
200 | }, | ||
197 | .probe = mpc52xx_wkup_gpiochip_probe, | 201 | .probe = mpc52xx_wkup_gpiochip_probe, |
198 | .remove = mpc52xx_gpiochip_remove, | 202 | .remove = mpc52xx_gpiochip_remove, |
199 | }; | 203 | }; |
@@ -328,7 +332,7 @@ static int __devinit mpc52xx_simple_gpiochip_probe(struct of_device *ofdev, | |||
328 | ofchip->gc.get = mpc52xx_simple_gpio_get; | 332 | ofchip->gc.get = mpc52xx_simple_gpio_get; |
329 | ofchip->gc.set = mpc52xx_simple_gpio_set; | 333 | ofchip->gc.set = mpc52xx_simple_gpio_set; |
330 | 334 | ||
331 | ret = of_mm_gpiochip_add(ofdev->node, &chip->mmchip); | 335 | ret = of_mm_gpiochip_add(ofdev->dev.of_node, &chip->mmchip); |
332 | if (ret) | 336 | if (ret) |
333 | return ret; | 337 | return ret; |
334 | 338 | ||
@@ -348,8 +352,11 @@ static const struct of_device_id mpc52xx_simple_gpiochip_match[] = { | |||
348 | }; | 352 | }; |
349 | 353 | ||
350 | static struct of_platform_driver mpc52xx_simple_gpiochip_driver = { | 354 | static struct of_platform_driver mpc52xx_simple_gpiochip_driver = { |
351 | .name = "gpio", | 355 | .driver = { |
352 | .match_table = mpc52xx_simple_gpiochip_match, | 356 | .name = "gpio", |
357 | .owner = THIS_MODULE, | ||
358 | .of_match_table = mpc52xx_simple_gpiochip_match, | ||
359 | }, | ||
353 | .probe = mpc52xx_simple_gpiochip_probe, | 360 | .probe = mpc52xx_simple_gpiochip_probe, |
354 | .remove = mpc52xx_gpiochip_remove, | 361 | .remove = mpc52xx_gpiochip_remove, |
355 | }; | 362 | }; |
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c index 5d7cc88dae6b..46c93578cbf0 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c | |||
@@ -62,6 +62,7 @@ | |||
62 | #include <linux/of_platform.h> | 62 | #include <linux/of_platform.h> |
63 | #include <linux/of_gpio.h> | 63 | #include <linux/of_gpio.h> |
64 | #include <linux/kernel.h> | 64 | #include <linux/kernel.h> |
65 | #include <linux/slab.h> | ||
65 | #include <linux/watchdog.h> | 66 | #include <linux/watchdog.h> |
66 | #include <linux/miscdevice.h> | 67 | #include <linux/miscdevice.h> |
67 | #include <linux/uaccess.h> | 68 | #include <linux/uaccess.h> |
@@ -733,8 +734,8 @@ static int __devinit mpc52xx_gpt_probe(struct of_device *ofdev, | |||
733 | 734 | ||
734 | spin_lock_init(&gpt->lock); | 735 | spin_lock_init(&gpt->lock); |
735 | gpt->dev = &ofdev->dev; | 736 | gpt->dev = &ofdev->dev; |
736 | gpt->ipb_freq = mpc5xxx_get_bus_frequency(ofdev->node); | 737 | gpt->ipb_freq = mpc5xxx_get_bus_frequency(ofdev->dev.of_node); |
737 | gpt->regs = of_iomap(ofdev->node, 0); | 738 | gpt->regs = of_iomap(ofdev->dev.of_node, 0); |
738 | if (!gpt->regs) { | 739 | if (!gpt->regs) { |
739 | kfree(gpt); | 740 | kfree(gpt); |
740 | return -ENOMEM; | 741 | return -ENOMEM; |
@@ -742,21 +743,21 @@ static int __devinit mpc52xx_gpt_probe(struct of_device *ofdev, | |||
742 | 743 | ||
743 | dev_set_drvdata(&ofdev->dev, gpt); | 744 | dev_set_drvdata(&ofdev->dev, gpt); |
744 | 745 | ||
745 | mpc52xx_gpt_gpio_setup(gpt, ofdev->node); | 746 | mpc52xx_gpt_gpio_setup(gpt, ofdev->dev.of_node); |
746 | mpc52xx_gpt_irq_setup(gpt, ofdev->node); | 747 | mpc52xx_gpt_irq_setup(gpt, ofdev->dev.of_node); |
747 | 748 | ||
748 | mutex_lock(&mpc52xx_gpt_list_mutex); | 749 | mutex_lock(&mpc52xx_gpt_list_mutex); |
749 | list_add(&gpt->list, &mpc52xx_gpt_list); | 750 | list_add(&gpt->list, &mpc52xx_gpt_list); |
750 | mutex_unlock(&mpc52xx_gpt_list_mutex); | 751 | mutex_unlock(&mpc52xx_gpt_list_mutex); |
751 | 752 | ||
752 | /* check if this device could be a watchdog */ | 753 | /* check if this device could be a watchdog */ |
753 | if (of_get_property(ofdev->node, "fsl,has-wdt", NULL) || | 754 | if (of_get_property(ofdev->dev.of_node, "fsl,has-wdt", NULL) || |
754 | of_get_property(ofdev->node, "has-wdt", NULL)) { | 755 | of_get_property(ofdev->dev.of_node, "has-wdt", NULL)) { |
755 | const u32 *on_boot_wdt; | 756 | const u32 *on_boot_wdt; |
756 | 757 | ||
757 | gpt->wdt_mode = MPC52xx_GPT_CAN_WDT; | 758 | gpt->wdt_mode = MPC52xx_GPT_CAN_WDT; |
758 | on_boot_wdt = of_get_property(ofdev->node, "fsl,wdt-on-boot", | 759 | on_boot_wdt = of_get_property(ofdev->dev.of_node, |
759 | NULL); | 760 | "fsl,wdt-on-boot", NULL); |
760 | if (on_boot_wdt) { | 761 | if (on_boot_wdt) { |
761 | dev_info(gpt->dev, "used as watchdog\n"); | 762 | dev_info(gpt->dev, "used as watchdog\n"); |
762 | gpt->wdt_mode |= MPC52xx_GPT_IS_WDT; | 763 | gpt->wdt_mode |= MPC52xx_GPT_IS_WDT; |
@@ -783,8 +784,11 @@ static const struct of_device_id mpc52xx_gpt_match[] = { | |||
783 | }; | 784 | }; |
784 | 785 | ||
785 | static struct of_platform_driver mpc52xx_gpt_driver = { | 786 | static struct of_platform_driver mpc52xx_gpt_driver = { |
786 | .name = "mpc52xx-gpt", | 787 | .driver = { |
787 | .match_table = mpc52xx_gpt_match, | 788 | .name = "mpc52xx-gpt", |
789 | .owner = THIS_MODULE, | ||
790 | .of_match_table = mpc52xx_gpt_match, | ||
791 | }, | ||
788 | .probe = mpc52xx_gpt_probe, | 792 | .probe = mpc52xx_gpt_probe, |
789 | .remove = mpc52xx_gpt_remove, | 793 | .remove = mpc52xx_gpt_remove, |
790 | }; | 794 | }; |
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c b/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c index 929d017535a3..e86aec644501 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c | |||
@@ -445,14 +445,14 @@ mpc52xx_lpbfifo_probe(struct of_device *op, const struct of_device_id *match) | |||
445 | if (lpbfifo.dev != NULL) | 445 | if (lpbfifo.dev != NULL) |
446 | return -ENOSPC; | 446 | return -ENOSPC; |
447 | 447 | ||
448 | lpbfifo.irq = irq_of_parse_and_map(op->node, 0); | 448 | lpbfifo.irq = irq_of_parse_and_map(op->dev.of_node, 0); |
449 | if (!lpbfifo.irq) | 449 | if (!lpbfifo.irq) |
450 | return -ENODEV; | 450 | return -ENODEV; |
451 | 451 | ||
452 | if (of_address_to_resource(op->node, 0, &res)) | 452 | if (of_address_to_resource(op->dev.of_node, 0, &res)) |
453 | return -ENODEV; | 453 | return -ENODEV; |
454 | lpbfifo.regs_phys = res.start; | 454 | lpbfifo.regs_phys = res.start; |
455 | lpbfifo.regs = of_iomap(op->node, 0); | 455 | lpbfifo.regs = of_iomap(op->dev.of_node, 0); |
456 | if (!lpbfifo.regs) | 456 | if (!lpbfifo.regs) |
457 | return -ENOMEM; | 457 | return -ENOMEM; |
458 | 458 | ||
@@ -481,6 +481,8 @@ mpc52xx_lpbfifo_probe(struct of_device *op, const struct of_device_id *match) | |||
481 | if (rc) | 481 | if (rc) |
482 | goto err_bcom_rx_irq; | 482 | goto err_bcom_rx_irq; |
483 | 483 | ||
484 | lpbfifo.dma_irqs_enabled = 1; | ||
485 | |||
484 | /* Request the Bestcomm transmit (memory --> fifo) task and IRQ */ | 486 | /* Request the Bestcomm transmit (memory --> fifo) task and IRQ */ |
485 | lpbfifo.bcom_tx_task = | 487 | lpbfifo.bcom_tx_task = |
486 | bcom_gen_bd_tx_init(2, res.start + LPBFIFO_REG_FIFO_DATA, | 488 | bcom_gen_bd_tx_init(2, res.start + LPBFIFO_REG_FIFO_DATA, |
@@ -535,9 +537,11 @@ static struct of_device_id mpc52xx_lpbfifo_match[] __devinitconst = { | |||
535 | }; | 537 | }; |
536 | 538 | ||
537 | static struct of_platform_driver mpc52xx_lpbfifo_driver = { | 539 | static struct of_platform_driver mpc52xx_lpbfifo_driver = { |
538 | .owner = THIS_MODULE, | 540 | .driver = { |
539 | .name = "mpc52xx-lpbfifo", | 541 | .name = "mpc52xx-lpbfifo", |
540 | .match_table = mpc52xx_lpbfifo_match, | 542 | .owner = THIS_MODULE, |
543 | .of_match_table = mpc52xx_lpbfifo_match, | ||
544 | }, | ||
541 | .probe = mpc52xx_lpbfifo_probe, | 545 | .probe = mpc52xx_lpbfifo_probe, |
542 | .remove = __devexit_p(mpc52xx_lpbfifo_remove), | 546 | .remove = __devexit_p(mpc52xx_lpbfifo_remove), |
543 | }; | 547 | }; |
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pm.c b/arch/powerpc/platforms/52xx/mpc52xx_pm.c index a55b0b6813ed..76722532bd95 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_pm.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_pm.c | |||
@@ -64,10 +64,19 @@ int mpc52xx_pm_prepare(void) | |||
64 | { .type = "builtin", .compatible = "mpc5200", }, /* efika */ | 64 | { .type = "builtin", .compatible = "mpc5200", }, /* efika */ |
65 | {} | 65 | {} |
66 | }; | 66 | }; |
67 | struct resource res; | ||
67 | 68 | ||
68 | /* map the whole register space */ | 69 | /* map the whole register space */ |
69 | np = of_find_matching_node(NULL, immr_ids); | 70 | np = of_find_matching_node(NULL, immr_ids); |
70 | mbar = of_iomap(np, 0); | 71 | |
72 | if (of_address_to_resource(np, 0, &res)) { | ||
73 | pr_err("mpc52xx_pm_prepare(): could not get IMMR address\n"); | ||
74 | of_node_put(np); | ||
75 | return -ENOSYS; | ||
76 | } | ||
77 | |||
78 | mbar = ioremap(res.start, 0xc000); /* we should map whole region including SRAM */ | ||
79 | |||
71 | of_node_put(np); | 80 | of_node_put(np); |
72 | if (!mbar) { | 81 | if (!mbar) { |
73 | pr_err("mpc52xx_pm_prepare(): could not map registers\n"); | 82 | pr_err("mpc52xx_pm_prepare(): could not map registers\n"); |
diff --git a/arch/powerpc/platforms/82xx/ep8248e.c b/arch/powerpc/platforms/82xx/ep8248e.c index f9aee182e6f7..9f2e52b36f91 100644 --- a/arch/powerpc/platforms/82xx/ep8248e.c +++ b/arch/powerpc/platforms/82xx/ep8248e.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/fsl_devices.h> | 15 | #include <linux/fsl_devices.h> |
16 | #include <linux/mdio-bitbang.h> | 16 | #include <linux/mdio-bitbang.h> |
17 | #include <linux/of_mdio.h> | 17 | #include <linux/of_mdio.h> |
18 | #include <linux/slab.h> | ||
18 | #include <linux/of_platform.h> | 19 | #include <linux/of_platform.h> |
19 | 20 | ||
20 | #include <asm/io.h> | 21 | #include <asm/io.h> |
@@ -118,12 +119,12 @@ static int __devinit ep8248e_mdio_probe(struct of_device *ofdev, | |||
118 | struct device_node *node; | 119 | struct device_node *node; |
119 | int ret; | 120 | int ret; |
120 | 121 | ||
121 | node = of_get_parent(ofdev->node); | 122 | node = of_get_parent(ofdev->dev.of_node); |
122 | of_node_put(node); | 123 | of_node_put(node); |
123 | if (node != ep8248e_bcsr_node) | 124 | if (node != ep8248e_bcsr_node) |
124 | return -ENODEV; | 125 | return -ENODEV; |
125 | 126 | ||
126 | ret = of_address_to_resource(ofdev->node, 0, &res); | 127 | ret = of_address_to_resource(ofdev->dev.of_node, 0, &res); |
127 | if (ret) | 128 | if (ret) |
128 | return ret; | 129 | return ret; |
129 | 130 | ||
@@ -141,7 +142,7 @@ static int __devinit ep8248e_mdio_probe(struct of_device *ofdev, | |||
141 | bus->parent = &ofdev->dev; | 142 | bus->parent = &ofdev->dev; |
142 | snprintf(bus->id, MII_BUS_ID_SIZE, "%x", res.start); | 143 | snprintf(bus->id, MII_BUS_ID_SIZE, "%x", res.start); |
143 | 144 | ||
144 | ret = of_mdiobus_register(bus, ofdev->node); | 145 | ret = of_mdiobus_register(bus, ofdev->dev.of_node); |
145 | if (ret) | 146 | if (ret) |
146 | goto err_free_irq; | 147 | goto err_free_irq; |
147 | 148 | ||
@@ -169,8 +170,9 @@ static const struct of_device_id ep8248e_mdio_match[] = { | |||
169 | static struct of_platform_driver ep8248e_mdio_driver = { | 170 | static struct of_platform_driver ep8248e_mdio_driver = { |
170 | .driver = { | 171 | .driver = { |
171 | .name = "ep8248e-mdio-bitbang", | 172 | .name = "ep8248e-mdio-bitbang", |
173 | .owner = THIS_MODULE, | ||
174 | .of_match_table = ep8248e_mdio_match, | ||
172 | }, | 175 | }, |
173 | .match_table = ep8248e_mdio_match, | ||
174 | .probe = ep8248e_mdio_probe, | 176 | .probe = ep8248e_mdio_probe, |
175 | .remove = ep8248e_mdio_remove, | 177 | .remove = ep8248e_mdio_remove, |
176 | }; | 178 | }; |
diff --git a/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c b/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c index d4a09f8705b5..5a55d87d6bd6 100644 --- a/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c +++ b/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/irq.h> | 17 | #include <linux/irq.h> |
18 | #include <linux/types.h> | 18 | #include <linux/types.h> |
19 | #include <linux/bootmem.h> | 19 | #include <linux/bootmem.h> |
20 | #include <linux/slab.h> | ||
20 | 21 | ||
21 | #include <asm/io.h> | 22 | #include <asm/io.h> |
22 | #include <asm/prom.h> | 23 | #include <asm/prom.h> |
diff --git a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c index 82a9bcb858b6..d119a7c1c17a 100644 --- a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c +++ b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/gpio.h> | 20 | #include <linux/gpio.h> |
21 | #include <linux/of.h> | 21 | #include <linux/of.h> |
22 | #include <linux/of_gpio.h> | 22 | #include <linux/of_gpio.h> |
23 | #include <linux/slab.h> | ||
23 | #include <asm/prom.h> | 24 | #include <asm/prom.h> |
24 | #include <asm/machdep.h> | 25 | #include <asm/machdep.h> |
25 | 26 | ||
diff --git a/arch/powerpc/platforms/83xx/mpc831x_rdb.c b/arch/powerpc/platforms/83xx/mpc831x_rdb.c index 0b4f883b20eb..ae525e4745d2 100644 --- a/arch/powerpc/platforms/83xx/mpc831x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc831x_rdb.c | |||
@@ -74,6 +74,7 @@ static int __init mpc831x_rdb_probe(void) | |||
74 | static struct of_device_id __initdata of_bus_ids[] = { | 74 | static struct of_device_id __initdata of_bus_ids[] = { |
75 | { .compatible = "simple-bus" }, | 75 | { .compatible = "simple-bus" }, |
76 | { .compatible = "gianfar" }, | 76 | { .compatible = "gianfar" }, |
77 | { .compatible = "gpio-leds", }, | ||
77 | {}, | 78 | {}, |
78 | }; | 79 | }; |
79 | 80 | ||
diff --git a/arch/powerpc/platforms/83xx/mpc837x_rdb.c b/arch/powerpc/platforms/83xx/mpc837x_rdb.c index a1908d261240..e00801c42540 100644 --- a/arch/powerpc/platforms/83xx/mpc837x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc837x_rdb.c | |||
@@ -72,6 +72,7 @@ static struct of_device_id mpc837x_ids[] = { | |||
72 | { .compatible = "soc", }, | 72 | { .compatible = "soc", }, |
73 | { .compatible = "simple-bus", }, | 73 | { .compatible = "simple-bus", }, |
74 | { .compatible = "gianfar", }, | 74 | { .compatible = "gianfar", }, |
75 | { .compatible = "gpio-leds", }, | ||
75 | {}, | 76 | {}, |
76 | }; | 77 | }; |
77 | 78 | ||
diff --git a/arch/powerpc/platforms/83xx/suspend.c b/arch/powerpc/platforms/83xx/suspend.c index 43805348b81e..ebe6c3537209 100644 --- a/arch/powerpc/platforms/83xx/suspend.c +++ b/arch/powerpc/platforms/83xx/suspend.c | |||
@@ -321,7 +321,7 @@ static struct platform_suspend_ops mpc83xx_suspend_ops = { | |||
321 | static int pmc_probe(struct of_device *ofdev, | 321 | static int pmc_probe(struct of_device *ofdev, |
322 | const struct of_device_id *match) | 322 | const struct of_device_id *match) |
323 | { | 323 | { |
324 | struct device_node *np = ofdev->node; | 324 | struct device_node *np = ofdev->dev.of_node; |
325 | struct resource res; | 325 | struct resource res; |
326 | struct pmc_type *type = match->data; | 326 | struct pmc_type *type = match->data; |
327 | int ret = 0; | 327 | int ret = 0; |
@@ -423,8 +423,11 @@ static struct of_device_id pmc_match[] = { | |||
423 | }; | 423 | }; |
424 | 424 | ||
425 | static struct of_platform_driver pmc_driver = { | 425 | static struct of_platform_driver pmc_driver = { |
426 | .name = "mpc83xx-pmc", | 426 | .driver = { |
427 | .match_table = pmc_match, | 427 | .name = "mpc83xx-pmc", |
428 | .owner = THIS_MODULE, | ||
429 | .of_match_table = pmc_match, | ||
430 | }, | ||
428 | .probe = pmc_probe, | 431 | .probe = pmc_probe, |
429 | .remove = pmc_remove | 432 | .remove = pmc_remove |
430 | }; | 433 | }; |
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig index d95121894eb7..3a2ade2e443f 100644 --- a/arch/powerpc/platforms/85xx/Kconfig +++ b/arch/powerpc/platforms/85xx/Kconfig | |||
@@ -51,7 +51,7 @@ config MPC85xx_DS | |||
51 | bool "Freescale MPC85xx DS" | 51 | bool "Freescale MPC85xx DS" |
52 | select PPC_I8259 | 52 | select PPC_I8259 |
53 | select DEFAULT_UIMAGE | 53 | select DEFAULT_UIMAGE |
54 | select FSL_ULI1575 | 54 | select FSL_ULI1575 if PCI |
55 | select SWIOTLB | 55 | select SWIOTLB |
56 | help | 56 | help |
57 | This option enables support for the MPC85xx DS (MPC8544 DS) board | 57 | This option enables support for the MPC85xx DS (MPC8544 DS) board |
@@ -60,7 +60,7 @@ config MPC85xx_RDB | |||
60 | bool "Freescale MPC85xx RDB" | 60 | bool "Freescale MPC85xx RDB" |
61 | select PPC_I8259 | 61 | select PPC_I8259 |
62 | select DEFAULT_UIMAGE | 62 | select DEFAULT_UIMAGE |
63 | select FSL_ULI1575 | 63 | select FSL_ULI1575 if PCI |
64 | select SWIOTLB | 64 | select SWIOTLB |
65 | help | 65 | help |
66 | This option enables support for the MPC85xx RDB (P2020 RDB) board | 66 | This option enables support for the MPC85xx RDB (P2020 RDB) board |
diff --git a/arch/powerpc/platforms/85xx/corenet_ds.c b/arch/powerpc/platforms/85xx/corenet_ds.c index 534c2ecc89d9..2ab338c9ac37 100644 --- a/arch/powerpc/platforms/85xx/corenet_ds.c +++ b/arch/powerpc/platforms/85xx/corenet_ds.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <linux/kdev_t.h> | 16 | #include <linux/kdev_t.h> |
17 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
19 | #include <linux/lmb.h> | 19 | #include <linux/memblock.h> |
20 | 20 | ||
21 | #include <asm/system.h> | 21 | #include <asm/system.h> |
22 | #include <asm/time.h> | 22 | #include <asm/time.h> |
@@ -100,7 +100,7 @@ void __init corenet_ds_setup_arch(void) | |||
100 | #endif | 100 | #endif |
101 | 101 | ||
102 | #ifdef CONFIG_SWIOTLB | 102 | #ifdef CONFIG_SWIOTLB |
103 | if (lmb_end_of_DRAM() > max) { | 103 | if (memblock_end_of_DRAM() > max) { |
104 | ppc_swiotlb_enable = 1; | 104 | ppc_swiotlb_enable = 1; |
105 | set_pci_dma_ops(&swiotlb_dma_ops); | 105 | set_pci_dma_ops(&swiotlb_dma_ops); |
106 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; | 106 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; |
diff --git a/arch/powerpc/platforms/85xx/mpc8536_ds.c b/arch/powerpc/platforms/85xx/mpc8536_ds.c index 004b7d36cdb7..f79f2f102141 100644 --- a/arch/powerpc/platforms/85xx/mpc8536_ds.c +++ b/arch/powerpc/platforms/85xx/mpc8536_ds.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/seq_file.h> | 17 | #include <linux/seq_file.h> |
18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
19 | #include <linux/of_platform.h> | 19 | #include <linux/of_platform.h> |
20 | #include <linux/lmb.h> | 20 | #include <linux/memblock.h> |
21 | 21 | ||
22 | #include <asm/system.h> | 22 | #include <asm/system.h> |
23 | #include <asm/time.h> | 23 | #include <asm/time.h> |
@@ -94,7 +94,7 @@ static void __init mpc8536_ds_setup_arch(void) | |||
94 | #endif | 94 | #endif |
95 | 95 | ||
96 | #ifdef CONFIG_SWIOTLB | 96 | #ifdef CONFIG_SWIOTLB |
97 | if (lmb_end_of_DRAM() > max) { | 97 | if (memblock_end_of_DRAM() > max) { |
98 | ppc_swiotlb_enable = 1; | 98 | ppc_swiotlb_enable = 1; |
99 | set_pci_dma_ops(&swiotlb_dma_ops); | 99 | set_pci_dma_ops(&swiotlb_dma_ops); |
100 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; | 100 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c index 544011a562fb..8190bc25bf27 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <linux/seq_file.h> | 20 | #include <linux/seq_file.h> |
21 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
22 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
23 | #include <linux/lmb.h> | 23 | #include <linux/memblock.h> |
24 | 24 | ||
25 | #include <asm/system.h> | 25 | #include <asm/system.h> |
26 | #include <asm/time.h> | 26 | #include <asm/time.h> |
@@ -190,7 +190,7 @@ static void __init mpc85xx_ds_setup_arch(void) | |||
190 | #endif | 190 | #endif |
191 | 191 | ||
192 | #ifdef CONFIG_SWIOTLB | 192 | #ifdef CONFIG_SWIOTLB |
193 | if (lmb_end_of_DRAM() > max) { | 193 | if (memblock_end_of_DRAM() > max) { |
194 | ppc_swiotlb_enable = 1; | 194 | ppc_swiotlb_enable = 1; |
195 | set_pci_dma_ops(&swiotlb_dma_ops); | 195 | set_pci_dma_ops(&swiotlb_dma_ops); |
196 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; | 196 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c index f0684c8ac960..494513682d70 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) Freescale Semicondutor, Inc. 2006-2007. All rights reserved. | 2 | * Copyright (C) Freescale Semicondutor, Inc. 2006-2010. All rights reserved. |
3 | * | 3 | * |
4 | * Author: Andy Fleming <afleming@freescale.com> | 4 | * Author: Andy Fleming <afleming@freescale.com> |
5 | * | 5 | * |
@@ -33,7 +33,7 @@ | |||
33 | #include <linux/of_platform.h> | 33 | #include <linux/of_platform.h> |
34 | #include <linux/of_device.h> | 34 | #include <linux/of_device.h> |
35 | #include <linux/phy.h> | 35 | #include <linux/phy.h> |
36 | #include <linux/lmb.h> | 36 | #include <linux/memblock.h> |
37 | 37 | ||
38 | #include <asm/system.h> | 38 | #include <asm/system.h> |
39 | #include <asm/atomic.h> | 39 | #include <asm/atomic.h> |
@@ -154,6 +154,10 @@ static int mpc8568_mds_phy_fixups(struct phy_device *phydev) | |||
154 | * Setup the architecture | 154 | * Setup the architecture |
155 | * | 155 | * |
156 | */ | 156 | */ |
157 | #ifdef CONFIG_SMP | ||
158 | extern void __init mpc85xx_smp_init(void); | ||
159 | #endif | ||
160 | |||
157 | static void __init mpc85xx_mds_setup_arch(void) | 161 | static void __init mpc85xx_mds_setup_arch(void) |
158 | { | 162 | { |
159 | struct device_node *np; | 163 | struct device_node *np; |
@@ -194,6 +198,10 @@ static void __init mpc85xx_mds_setup_arch(void) | |||
194 | } | 198 | } |
195 | #endif | 199 | #endif |
196 | 200 | ||
201 | #ifdef CONFIG_SMP | ||
202 | mpc85xx_smp_init(); | ||
203 | #endif | ||
204 | |||
197 | #ifdef CONFIG_QUICC_ENGINE | 205 | #ifdef CONFIG_QUICC_ENGINE |
198 | np = of_find_compatible_node(NULL, NULL, "fsl,qe"); | 206 | np = of_find_compatible_node(NULL, NULL, "fsl,qe"); |
199 | if (!np) { | 207 | if (!np) { |
@@ -271,13 +279,53 @@ static void __init mpc85xx_mds_setup_arch(void) | |||
271 | BCSR_UCC_RGMII, BCSR_UCC_RTBI); | 279 | BCSR_UCC_RGMII, BCSR_UCC_RTBI); |
272 | } | 280 | } |
273 | 281 | ||
282 | } else if (machine_is(p1021_mds)) { | ||
283 | #define BCSR11_ENET_MICRST (0x1 << 5) | ||
284 | /* Reset Micrel PHY */ | ||
285 | clrbits8(&bcsr_regs[11], BCSR11_ENET_MICRST); | ||
286 | setbits8(&bcsr_regs[11], BCSR11_ENET_MICRST); | ||
274 | } | 287 | } |
288 | |||
275 | iounmap(bcsr_regs); | 289 | iounmap(bcsr_regs); |
276 | } | 290 | } |
291 | |||
292 | if (machine_is(p1021_mds)) { | ||
293 | #define MPC85xx_PMUXCR_OFFSET 0x60 | ||
294 | #define MPC85xx_PMUXCR_QE0 0x00008000 | ||
295 | #define MPC85xx_PMUXCR_QE3 0x00001000 | ||
296 | #define MPC85xx_PMUXCR_QE9 0x00000040 | ||
297 | #define MPC85xx_PMUXCR_QE12 0x00000008 | ||
298 | static __be32 __iomem *pmuxcr; | ||
299 | |||
300 | np = of_find_node_by_name(NULL, "global-utilities"); | ||
301 | |||
302 | if (np) { | ||
303 | pmuxcr = of_iomap(np, 0) + MPC85xx_PMUXCR_OFFSET; | ||
304 | |||
305 | if (!pmuxcr) | ||
306 | printk(KERN_EMERG "Error: Alternate function" | ||
307 | " signal multiplex control register not" | ||
308 | " mapped!\n"); | ||
309 | else | ||
310 | /* P1021 has pins muxed for QE and other functions. To | ||
311 | * enable QE UEC mode, we need to set bit QE0 for UCC1 | ||
312 | * in Eth mode, QE0 and QE3 for UCC5 in Eth mode, QE9 | ||
313 | * and QE12 for QE MII management singals in PMUXCR | ||
314 | * register. | ||
315 | */ | ||
316 | setbits32(pmuxcr, MPC85xx_PMUXCR_QE0 | | ||
317 | MPC85xx_PMUXCR_QE3 | | ||
318 | MPC85xx_PMUXCR_QE9 | | ||
319 | MPC85xx_PMUXCR_QE12); | ||
320 | |||
321 | of_node_put(np); | ||
322 | } | ||
323 | |||
324 | } | ||
277 | #endif /* CONFIG_QUICC_ENGINE */ | 325 | #endif /* CONFIG_QUICC_ENGINE */ |
278 | 326 | ||
279 | #ifdef CONFIG_SWIOTLB | 327 | #ifdef CONFIG_SWIOTLB |
280 | if (lmb_end_of_DRAM() > max) { | 328 | if (memblock_end_of_DRAM() > max) { |
281 | ppc_swiotlb_enable = 1; | 329 | ppc_swiotlb_enable = 1; |
282 | set_pci_dma_ops(&swiotlb_dma_ops); | 330 | set_pci_dma_ops(&swiotlb_dma_ops); |
283 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; | 331 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; |
@@ -330,6 +378,16 @@ static struct of_device_id mpc85xx_ids[] = { | |||
330 | {}, | 378 | {}, |
331 | }; | 379 | }; |
332 | 380 | ||
381 | static struct of_device_id p1021_ids[] = { | ||
382 | { .type = "soc", }, | ||
383 | { .compatible = "soc", }, | ||
384 | { .compatible = "simple-bus", }, | ||
385 | { .type = "qe", }, | ||
386 | { .compatible = "fsl,qe", }, | ||
387 | { .compatible = "gianfar", }, | ||
388 | {}, | ||
389 | }; | ||
390 | |||
333 | static int __init mpc85xx_publish_devices(void) | 391 | static int __init mpc85xx_publish_devices(void) |
334 | { | 392 | { |
335 | if (machine_is(mpc8568_mds)) | 393 | if (machine_is(mpc8568_mds)) |
@@ -342,11 +400,22 @@ static int __init mpc85xx_publish_devices(void) | |||
342 | 400 | ||
343 | return 0; | 401 | return 0; |
344 | } | 402 | } |
403 | |||
404 | static int __init p1021_publish_devices(void) | ||
405 | { | ||
406 | /* Publish the QE devices */ | ||
407 | of_platform_bus_probe(NULL, p1021_ids, NULL); | ||
408 | |||
409 | return 0; | ||
410 | } | ||
411 | |||
345 | machine_device_initcall(mpc8568_mds, mpc85xx_publish_devices); | 412 | machine_device_initcall(mpc8568_mds, mpc85xx_publish_devices); |
346 | machine_device_initcall(mpc8569_mds, mpc85xx_publish_devices); | 413 | machine_device_initcall(mpc8569_mds, mpc85xx_publish_devices); |
414 | machine_device_initcall(p1021_mds, p1021_publish_devices); | ||
347 | 415 | ||
348 | machine_arch_initcall(mpc8568_mds, swiotlb_setup_bus_notifier); | 416 | machine_arch_initcall(mpc8568_mds, swiotlb_setup_bus_notifier); |
349 | machine_arch_initcall(mpc8569_mds, swiotlb_setup_bus_notifier); | 417 | machine_arch_initcall(mpc8569_mds, swiotlb_setup_bus_notifier); |
418 | machine_arch_initcall(p1021_mds, swiotlb_setup_bus_notifier); | ||
350 | 419 | ||
351 | static void __init mpc85xx_mds_pic_init(void) | 420 | static void __init mpc85xx_mds_pic_init(void) |
352 | { | 421 | { |
@@ -366,7 +435,7 @@ static void __init mpc85xx_mds_pic_init(void) | |||
366 | 435 | ||
367 | mpic = mpic_alloc(np, r.start, | 436 | mpic = mpic_alloc(np, r.start, |
368 | MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN | | 437 | MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN | |
369 | MPIC_BROKEN_FRR_NIRQS, | 438 | MPIC_BROKEN_FRR_NIRQS | MPIC_SINGLE_DEST_CPU, |
370 | 0, 256, " OpenPIC "); | 439 | 0, 256, " OpenPIC "); |
371 | BUG_ON(mpic == NULL); | 440 | BUG_ON(mpic == NULL); |
372 | of_node_put(np); | 441 | of_node_put(np); |
@@ -380,7 +449,11 @@ static void __init mpc85xx_mds_pic_init(void) | |||
380 | if (!np) | 449 | if (!np) |
381 | return; | 450 | return; |
382 | } | 451 | } |
383 | qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL); | 452 | if (machine_is(p1021_mds)) |
453 | qe_ic_init(np, 0, qe_ic_cascade_low_mpic, | ||
454 | qe_ic_cascade_high_mpic); | ||
455 | else | ||
456 | qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL); | ||
384 | of_node_put(np); | 457 | of_node_put(np); |
385 | #endif /* CONFIG_QUICC_ENGINE */ | 458 | #endif /* CONFIG_QUICC_ENGINE */ |
386 | } | 459 | } |
@@ -426,3 +499,26 @@ define_machine(mpc8569_mds) { | |||
426 | .pcibios_fixup_bus = fsl_pcibios_fixup_bus, | 499 | .pcibios_fixup_bus = fsl_pcibios_fixup_bus, |
427 | #endif | 500 | #endif |
428 | }; | 501 | }; |
502 | |||
503 | static int __init p1021_mds_probe(void) | ||
504 | { | ||
505 | unsigned long root = of_get_flat_dt_root(); | ||
506 | |||
507 | return of_flat_dt_is_compatible(root, "fsl,P1021MDS"); | ||
508 | |||
509 | } | ||
510 | |||
511 | define_machine(p1021_mds) { | ||
512 | .name = "P1021 MDS", | ||
513 | .probe = p1021_mds_probe, | ||
514 | .setup_arch = mpc85xx_mds_setup_arch, | ||
515 | .init_IRQ = mpc85xx_mds_pic_init, | ||
516 | .get_irq = mpic_get_irq, | ||
517 | .restart = fsl_rstcr_restart, | ||
518 | .calibrate_decr = generic_calibrate_decr, | ||
519 | .progress = udbg_progress, | ||
520 | #ifdef CONFIG_PCI | ||
521 | .pcibios_fixup_bus = fsl_pcibios_fixup_bus, | ||
522 | #endif | ||
523 | }; | ||
524 | |||
diff --git a/arch/powerpc/platforms/86xx/Kconfig b/arch/powerpc/platforms/86xx/Kconfig index fbe9f3621424..a0b5638c5dc8 100644 --- a/arch/powerpc/platforms/86xx/Kconfig +++ b/arch/powerpc/platforms/86xx/Kconfig | |||
@@ -13,7 +13,7 @@ config MPC8641_HPCN | |||
13 | bool "Freescale MPC8641 HPCN" | 13 | bool "Freescale MPC8641 HPCN" |
14 | select PPC_I8259 | 14 | select PPC_I8259 |
15 | select DEFAULT_UIMAGE | 15 | select DEFAULT_UIMAGE |
16 | select FSL_ULI1575 | 16 | select FSL_ULI1575 if PCI |
17 | select HAS_RAPIDIO | 17 | select HAS_RAPIDIO |
18 | select SWIOTLB | 18 | select SWIOTLB |
19 | help | 19 | help |
@@ -28,7 +28,7 @@ config SBC8641D | |||
28 | config MPC8610_HPCD | 28 | config MPC8610_HPCD |
29 | bool "Freescale MPC8610 HPCD" | 29 | bool "Freescale MPC8610 HPCD" |
30 | select DEFAULT_UIMAGE | 30 | select DEFAULT_UIMAGE |
31 | select FSL_ULI1575 | 31 | select FSL_ULI1575 if PCI |
32 | help | 32 | help |
33 | This option enables support for the MPC8610 HPCD board. | 33 | This option enables support for the MPC8610 HPCD board. |
34 | 34 | ||
diff --git a/arch/powerpc/platforms/86xx/gef_gpio.c b/arch/powerpc/platforms/86xx/gef_gpio.c index 11f7b2b6f49e..b8cb08dbd89c 100644 --- a/arch/powerpc/platforms/86xx/gef_gpio.c +++ b/arch/powerpc/platforms/86xx/gef_gpio.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/of_platform.h> | 26 | #include <linux/of_platform.h> |
27 | #include <linux/of_gpio.h> | 27 | #include <linux/of_gpio.h> |
28 | #include <linux/gpio.h> | 28 | #include <linux/gpio.h> |
29 | #include <linux/slab.h> | ||
29 | 30 | ||
30 | #define GEF_GPIO_DIRECT 0x00 | 31 | #define GEF_GPIO_DIRECT 0x00 |
31 | #define GEF_GPIO_IN 0x04 | 32 | #define GEF_GPIO_IN 0x04 |
diff --git a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c index 5abe137f6309..018cc67be426 100644 --- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c +++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c | |||
@@ -83,7 +83,8 @@ static struct of_device_id __initdata mpc8610_ids[] = { | |||
83 | { .compatible = "fsl,mpc8610-immr", }, | 83 | { .compatible = "fsl,mpc8610-immr", }, |
84 | { .compatible = "fsl,mpc8610-guts", }, | 84 | { .compatible = "fsl,mpc8610-guts", }, |
85 | { .compatible = "simple-bus", }, | 85 | { .compatible = "simple-bus", }, |
86 | { .compatible = "gianfar", }, | 86 | /* So that the DMA channel nodes can be probed individually: */ |
87 | { .compatible = "fsl,eloplus-dma", }, | ||
87 | {} | 88 | {} |
88 | }; | 89 | }; |
89 | 90 | ||
diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c index 2aa69a69bcc8..b11c3535f350 100644 --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/seq_file.h> | 20 | #include <linux/seq_file.h> |
21 | #include <linux/of_platform.h> | 21 | #include <linux/of_platform.h> |
22 | #include <linux/lmb.h> | 22 | #include <linux/memblock.h> |
23 | 23 | ||
24 | #include <asm/system.h> | 24 | #include <asm/system.h> |
25 | #include <asm/time.h> | 25 | #include <asm/time.h> |
@@ -103,7 +103,7 @@ mpc86xx_hpcn_setup_arch(void) | |||
103 | #endif | 103 | #endif |
104 | 104 | ||
105 | #ifdef CONFIG_SWIOTLB | 105 | #ifdef CONFIG_SWIOTLB |
106 | if (lmb_end_of_DRAM() > max) { | 106 | if (memblock_end_of_DRAM() > max) { |
107 | ppc_swiotlb_enable = 1; | 107 | ppc_swiotlb_enable = 1; |
108 | set_pci_dma_ops(&swiotlb_dma_ops); | 108 | set_pci_dma_ops(&swiotlb_dma_ops); |
109 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; | 109 | ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; |
diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c index 242954c4293f..60168c1f98fe 100644 --- a/arch/powerpc/platforms/8xx/m8xx_setup.c +++ b/arch/powerpc/platforms/8xx/m8xx_setup.c | |||
@@ -11,7 +11,6 @@ | |||
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/slab.h> | ||
15 | #include <linux/interrupt.h> | 14 | #include <linux/interrupt.h> |
16 | #include <linux/init.h> | 15 | #include <linux/init.h> |
17 | #include <linux/time.h> | 16 | #include <linux/time.h> |
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index a8aae0b54579..d361f8119b1e 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype | |||
@@ -43,7 +43,7 @@ config 40x | |||
43 | select PPC_PCI_CHOICE | 43 | select PPC_PCI_CHOICE |
44 | 44 | ||
45 | config 44x | 45 | config 44x |
46 | bool "AMCC 44x" | 46 | bool "AMCC 44x, 46x or 47x" |
47 | select PPC_DCR_NATIVE | 47 | select PPC_DCR_NATIVE |
48 | select PPC_UDBG_16550 | 48 | select PPC_UDBG_16550 |
49 | select 4xx_SOC | 49 | select 4xx_SOC |
@@ -294,7 +294,7 @@ config PPC_PERF_CTRS | |||
294 | This enables the powerpc-specific perf_event back-end. | 294 | This enables the powerpc-specific perf_event back-end. |
295 | 295 | ||
296 | config SMP | 296 | config SMP |
297 | depends on PPC_BOOK3S || PPC_BOOK3E || FSL_BOOKE | 297 | depends on PPC_BOOK3S || PPC_BOOK3E || FSL_BOOKE || PPC_47x |
298 | bool "Symmetric multi-processing support" | 298 | bool "Symmetric multi-processing support" |
299 | ---help--- | 299 | ---help--- |
300 | This enables support for systems with more than one CPU. If you have | 300 | This enables support for systems with more than one CPU. If you have |
@@ -322,6 +322,7 @@ config NR_CPUS | |||
322 | config NOT_COHERENT_CACHE | 322 | config NOT_COHERENT_CACHE |
323 | bool | 323 | bool |
324 | depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON | 324 | depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON |
325 | default n if PPC_47x | ||
325 | default y | 326 | default y |
326 | 327 | ||
327 | config CHECK_CACHE_COHERENCY | 328 | config CHECK_CACHE_COHERENCY |
diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c index 96fe896f6df3..6257e5378615 100644 --- a/arch/powerpc/platforms/cell/axon_msi.c +++ b/arch/powerpc/platforms/cell/axon_msi.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/msi.h> | 15 | #include <linux/msi.h> |
16 | #include <linux/of_platform.h> | 16 | #include <linux/of_platform.h> |
17 | #include <linux/debugfs.h> | 17 | #include <linux/debugfs.h> |
18 | #include <linux/slab.h> | ||
18 | 19 | ||
19 | #include <asm/dcr.h> | 20 | #include <asm/dcr.h> |
20 | #include <asm/machdep.h> | 21 | #include <asm/machdep.h> |
@@ -344,7 +345,7 @@ static int axon_msi_shutdown(struct of_device *device) | |||
344 | static int axon_msi_probe(struct of_device *device, | 345 | static int axon_msi_probe(struct of_device *device, |
345 | const struct of_device_id *device_id) | 346 | const struct of_device_id *device_id) |
346 | { | 347 | { |
347 | struct device_node *dn = device->node; | 348 | struct device_node *dn = device->dev.of_node; |
348 | struct axon_msic *msic; | 349 | struct axon_msic *msic; |
349 | unsigned int virq; | 350 | unsigned int virq; |
350 | int dcr_base, dcr_len; | 351 | int dcr_base, dcr_len; |
@@ -446,11 +447,12 @@ static const struct of_device_id axon_msi_device_id[] = { | |||
446 | }; | 447 | }; |
447 | 448 | ||
448 | static struct of_platform_driver axon_msi_driver = { | 449 | static struct of_platform_driver axon_msi_driver = { |
449 | .match_table = axon_msi_device_id, | ||
450 | .probe = axon_msi_probe, | 450 | .probe = axon_msi_probe, |
451 | .shutdown = axon_msi_shutdown, | 451 | .shutdown = axon_msi_shutdown, |
452 | .driver = { | 452 | .driver = { |
453 | .name = "axon-msi" | 453 | .name = "axon-msi", |
454 | .owner = THIS_MODULE, | ||
455 | .of_match_table = axon_msi_device_id, | ||
454 | }, | 456 | }, |
455 | }; | 457 | }; |
456 | 458 | ||
diff --git a/arch/powerpc/platforms/cell/cbe_cpufreq.c b/arch/powerpc/platforms/cell/cbe_cpufreq.c index e6506cd0ff94..bfa2c0cb3d1e 100644 --- a/arch/powerpc/platforms/cell/cbe_cpufreq.c +++ b/arch/powerpc/platforms/cell/cbe_cpufreq.c | |||
@@ -118,7 +118,7 @@ static int cbe_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
118 | policy->cur = cbe_freqs[cur_pmode].frequency; | 118 | policy->cur = cbe_freqs[cur_pmode].frequency; |
119 | 119 | ||
120 | #ifdef CONFIG_SMP | 120 | #ifdef CONFIG_SMP |
121 | cpumask_copy(policy->cpus, &per_cpu(cpu_sibling_map, policy->cpu)); | 121 | cpumask_copy(policy->cpus, cpu_sibling_mask(policy->cpu)); |
122 | #endif | 122 | #endif |
123 | 123 | ||
124 | cpufreq_frequency_table_get_attr(cbe_freqs, policy->cpu); | 124 | cpufreq_frequency_table_get_attr(cbe_freqs, policy->cpu); |
diff --git a/arch/powerpc/platforms/cell/celleb_pci.c b/arch/powerpc/platforms/cell/celleb_pci.c index 00eaaa71630f..404d1fc04d59 100644 --- a/arch/powerpc/platforms/cell/celleb_pci.c +++ b/arch/powerpc/platforms/cell/celleb_pci.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/pci_regs.h> | 33 | #include <linux/pci_regs.h> |
34 | #include <linux/of.h> | 34 | #include <linux/of.h> |
35 | #include <linux/of_device.h> | 35 | #include <linux/of_device.h> |
36 | #include <linux/slab.h> | ||
36 | 37 | ||
37 | #include <asm/io.h> | 38 | #include <asm/io.h> |
38 | #include <asm/irq.h> | 39 | #include <asm/irq.h> |
diff --git a/arch/powerpc/platforms/cell/celleb_scc_pciex.c b/arch/powerpc/platforms/cell/celleb_scc_pciex.c index 7fca09f990ba..a881bbee8de0 100644 --- a/arch/powerpc/platforms/cell/celleb_scc_pciex.c +++ b/arch/powerpc/platforms/cell/celleb_scc_pciex.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
24 | #include <linux/pci.h> | 24 | #include <linux/pci.h> |
25 | #include <linux/string.h> | 25 | #include <linux/string.h> |
26 | #include <linux/slab.h> | ||
26 | #include <linux/init.h> | 27 | #include <linux/init.h> |
27 | #include <linux/bootmem.h> | 28 | #include <linux/bootmem.h> |
28 | #include <linux/delay.h> | 29 | #include <linux/delay.h> |
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c index ca5bfdfe47f2..3712900471ba 100644 --- a/arch/powerpc/platforms/cell/iommu.c +++ b/arch/powerpc/platforms/cell/iommu.c | |||
@@ -28,7 +28,8 @@ | |||
28 | #include <linux/notifier.h> | 28 | #include <linux/notifier.h> |
29 | #include <linux/of.h> | 29 | #include <linux/of.h> |
30 | #include <linux/of_platform.h> | 30 | #include <linux/of_platform.h> |
31 | #include <linux/lmb.h> | 31 | #include <linux/slab.h> |
32 | #include <linux/memblock.h> | ||
32 | 33 | ||
33 | #include <asm/prom.h> | 34 | #include <asm/prom.h> |
34 | #include <asm/iommu.h> | 35 | #include <asm/iommu.h> |
@@ -544,7 +545,6 @@ static struct iommu_table *cell_get_iommu_table(struct device *dev) | |||
544 | { | 545 | { |
545 | struct iommu_window *window; | 546 | struct iommu_window *window; |
546 | struct cbe_iommu *iommu; | 547 | struct cbe_iommu *iommu; |
547 | struct dev_archdata *archdata = &dev->archdata; | ||
548 | 548 | ||
549 | /* Current implementation uses the first window available in that | 549 | /* Current implementation uses the first window available in that |
550 | * node's iommu. We -might- do something smarter later though it may | 550 | * node's iommu. We -might- do something smarter later though it may |
@@ -553,7 +553,7 @@ static struct iommu_table *cell_get_iommu_table(struct device *dev) | |||
553 | iommu = cell_iommu_for_node(dev_to_node(dev)); | 553 | iommu = cell_iommu_for_node(dev_to_node(dev)); |
554 | if (iommu == NULL || list_empty(&iommu->windows)) { | 554 | if (iommu == NULL || list_empty(&iommu->windows)) { |
555 | printk(KERN_ERR "iommu: missing iommu for %s (node %d)\n", | 555 | printk(KERN_ERR "iommu: missing iommu for %s (node %d)\n", |
556 | archdata->of_node ? archdata->of_node->full_name : "?", | 556 | dev->of_node ? dev->of_node->full_name : "?", |
557 | dev_to_node(dev)); | 557 | dev_to_node(dev)); |
558 | return NULL; | 558 | return NULL; |
559 | } | 559 | } |
@@ -845,10 +845,10 @@ static int __init cell_iommu_init_disabled(void) | |||
845 | /* If we found a DMA window, we check if it's big enough to enclose | 845 | /* If we found a DMA window, we check if it's big enough to enclose |
846 | * all of physical memory. If not, we force enable IOMMU | 846 | * all of physical memory. If not, we force enable IOMMU |
847 | */ | 847 | */ |
848 | if (np && size < lmb_end_of_DRAM()) { | 848 | if (np && size < memblock_end_of_DRAM()) { |
849 | printk(KERN_WARNING "iommu: force-enabled, dma window" | 849 | printk(KERN_WARNING "iommu: force-enabled, dma window" |
850 | " (%ldMB) smaller than total memory (%lldMB)\n", | 850 | " (%ldMB) smaller than total memory (%lldMB)\n", |
851 | size >> 20, lmb_end_of_DRAM() >> 20); | 851 | size >> 20, memblock_end_of_DRAM() >> 20); |
852 | return -ENODEV; | 852 | return -ENODEV; |
853 | } | 853 | } |
854 | 854 | ||
@@ -896,7 +896,7 @@ static u64 cell_iommu_get_fixed_address(struct device *dev) | |||
896 | const u32 *ranges = NULL; | 896 | const u32 *ranges = NULL; |
897 | int i, len, best, naddr, nsize, pna, range_size; | 897 | int i, len, best, naddr, nsize, pna, range_size; |
898 | 898 | ||
899 | np = of_node_get(dev->archdata.of_node); | 899 | np = of_node_get(dev->of_node); |
900 | while (1) { | 900 | while (1) { |
901 | naddr = of_n_addr_cells(np); | 901 | naddr = of_n_addr_cells(np); |
902 | nsize = of_n_size_cells(np); | 902 | nsize = of_n_size_cells(np); |
@@ -1064,9 +1064,9 @@ static int __init cell_iommu_fixed_mapping_init(void) | |||
1064 | } | 1064 | } |
1065 | 1065 | ||
1066 | fbase = _ALIGN_UP(fbase, 1 << IO_SEGMENT_SHIFT); | 1066 | fbase = _ALIGN_UP(fbase, 1 << IO_SEGMENT_SHIFT); |
1067 | fsize = lmb_phys_mem_size(); | 1067 | fsize = memblock_phys_mem_size(); |
1068 | 1068 | ||
1069 | if ((fbase + fsize) <= 0x800000000) | 1069 | if ((fbase + fsize) <= 0x800000000ul) |
1070 | hbase = 0; /* use the device tree window */ | 1070 | hbase = 0; /* use the device tree window */ |
1071 | else { | 1071 | else { |
1072 | /* If we're over 32 GB we need to cheat. We can't map all of | 1072 | /* If we're over 32 GB we need to cheat. We can't map all of |
@@ -1169,7 +1169,7 @@ static int __init cell_iommu_init(void) | |||
1169 | * Note: should we make sure we have the IOMMU actually disabled ? | 1169 | * Note: should we make sure we have the IOMMU actually disabled ? |
1170 | */ | 1170 | */ |
1171 | if (iommu_is_off || | 1171 | if (iommu_is_off || |
1172 | (!iommu_force_on && lmb_end_of_DRAM() <= 0x80000000ull)) | 1172 | (!iommu_force_on && memblock_end_of_DRAM() <= 0x80000000ull)) |
1173 | if (cell_iommu_init_disabled() == 0) | 1173 | if (cell_iommu_init_disabled() == 0) |
1174 | goto bail; | 1174 | goto bail; |
1175 | 1175 | ||
diff --git a/arch/powerpc/platforms/cell/ras.c b/arch/powerpc/platforms/cell/ras.c index 608fd2b584c9..1d3c4effea10 100644 --- a/arch/powerpc/platforms/cell/ras.c +++ b/arch/powerpc/platforms/cell/ras.c | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | #include <linux/types.h> | 12 | #include <linux/types.h> |
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/slab.h> | ||
14 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
15 | #include <linux/reboot.h> | 16 | #include <linux/reboot.h> |
16 | #include <linux/kexec.h> | 17 | #include <linux/kexec.h> |
diff --git a/arch/powerpc/platforms/cell/setup.c b/arch/powerpc/platforms/cell/setup.c index 59305369f6b2..50385db586bd 100644 --- a/arch/powerpc/platforms/cell/setup.c +++ b/arch/powerpc/platforms/cell/setup.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/stddef.h> | 20 | #include <linux/stddef.h> |
21 | #include <linux/unistd.h> | 21 | #include <linux/unistd.h> |
22 | #include <linux/slab.h> | ||
23 | #include <linux/user.h> | 22 | #include <linux/user.h> |
24 | #include <linux/reboot.h> | 23 | #include <linux/reboot.h> |
25 | #include <linux/init.h> | 24 | #include <linux/init.h> |
diff --git a/arch/powerpc/platforms/cell/spider-pci.c b/arch/powerpc/platforms/cell/spider-pci.c index 5122ec145271..ca7731c0b595 100644 --- a/arch/powerpc/platforms/cell/spider-pci.c +++ b/arch/powerpc/platforms/cell/spider-pci.c | |||
@@ -22,6 +22,7 @@ | |||
22 | 22 | ||
23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
24 | #include <linux/of_platform.h> | 24 | #include <linux/of_platform.h> |
25 | #include <linux/slab.h> | ||
25 | #include <linux/io.h> | 26 | #include <linux/io.h> |
26 | 27 | ||
27 | #include <asm/ppc-pci.h> | 28 | #include <asm/ppc-pci.h> |
diff --git a/arch/powerpc/platforms/cell/spu_manage.c b/arch/powerpc/platforms/cell/spu_manage.c index 891f18e337a2..f465d474ad9b 100644 --- a/arch/powerpc/platforms/cell/spu_manage.c +++ b/arch/powerpc/platforms/cell/spu_manage.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/list.h> | 23 | #include <linux/list.h> |
24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
25 | #include <linux/ptrace.h> | 25 | #include <linux/ptrace.h> |
26 | #include <linux/slab.h> | ||
27 | #include <linux/wait.h> | 26 | #include <linux/wait.h> |
28 | #include <linux/mm.h> | 27 | #include <linux/mm.h> |
29 | #include <linux/io.h> | 28 | #include <linux/io.h> |
diff --git a/arch/powerpc/platforms/cell/spu_priv1_mmio.c b/arch/powerpc/platforms/cell/spu_priv1_mmio.c index 1410443731eb..121aec353f26 100644 --- a/arch/powerpc/platforms/cell/spu_priv1_mmio.c +++ b/arch/powerpc/platforms/cell/spu_priv1_mmio.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/list.h> | 22 | #include <linux/list.h> |
23 | #include <linux/module.h> | 23 | #include <linux/module.h> |
24 | #include <linux/ptrace.h> | 24 | #include <linux/ptrace.h> |
25 | #include <linux/slab.h> | ||
26 | #include <linux/wait.h> | 25 | #include <linux/wait.h> |
27 | #include <linux/mm.h> | 26 | #include <linux/mm.h> |
28 | #include <linux/io.h> | 27 | #include <linux/io.h> |
diff --git a/arch/powerpc/platforms/cell/spufs/coredump.c b/arch/powerpc/platforms/cell/spufs/coredump.c index eea120229cdb..6cf3ec628527 100644 --- a/arch/powerpc/platforms/cell/spufs/coredump.c +++ b/arch/powerpc/platforms/cell/spufs/coredump.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/file.h> | 24 | #include <linux/file.h> |
25 | #include <linux/fdtable.h> | 25 | #include <linux/fdtable.h> |
26 | #include <linux/fs.h> | 26 | #include <linux/fs.h> |
27 | #include <linux/gfp.h> | ||
27 | #include <linux/list.h> | 28 | #include <linux/list.h> |
28 | #include <linux/module.h> | 29 | #include <linux/module.h> |
29 | #include <linux/syscalls.h> | 30 | #include <linux/syscalls.h> |
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index 64a4c2d85f7c..1a40da92154c 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/poll.h> | 29 | #include <linux/poll.h> |
30 | #include <linux/ptrace.h> | 30 | #include <linux/ptrace.h> |
31 | #include <linux/seq_file.h> | 31 | #include <linux/seq_file.h> |
32 | #include <linux/slab.h> | ||
32 | 33 | ||
33 | #include <asm/io.h> | 34 | #include <asm/io.h> |
34 | #include <asm/time.h> | 35 | #include <asm/time.h> |
@@ -1848,8 +1849,7 @@ out: | |||
1848 | return ret; | 1849 | return ret; |
1849 | } | 1850 | } |
1850 | 1851 | ||
1851 | static int spufs_mfc_fsync(struct file *file, struct dentry *dentry, | 1852 | static int spufs_mfc_fsync(struct file *file, int datasync) |
1852 | int datasync) | ||
1853 | { | 1853 | { |
1854 | return spufs_mfc_flush(file, NULL); | 1854 | return spufs_mfc_flush(file, NULL); |
1855 | } | 1855 | } |
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index fc1b1c42b1dc..e5e5f823d687 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c +++ b/arch/powerpc/platforms/cell/spufs/inode.c | |||
@@ -251,7 +251,7 @@ const struct file_operations spufs_context_fops = { | |||
251 | .llseek = dcache_dir_lseek, | 251 | .llseek = dcache_dir_lseek, |
252 | .read = generic_read_dir, | 252 | .read = generic_read_dir, |
253 | .readdir = dcache_readdir, | 253 | .readdir = dcache_readdir, |
254 | .fsync = simple_sync_file, | 254 | .fsync = noop_fsync, |
255 | }; | 255 | }; |
256 | EXPORT_SYMBOL_GPL(spufs_context_fops); | 256 | EXPORT_SYMBOL_GPL(spufs_context_fops); |
257 | 257 | ||
diff --git a/arch/powerpc/platforms/cell/spufs/lscsa_alloc.c b/arch/powerpc/platforms/cell/spufs/lscsa_alloc.c index 0e9f325c9ff7..a101abf17504 100644 --- a/arch/powerpc/platforms/cell/spufs/lscsa_alloc.c +++ b/arch/powerpc/platforms/cell/spufs/lscsa_alloc.c | |||
@@ -22,6 +22,7 @@ | |||
22 | 22 | ||
23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
24 | #include <linux/mm.h> | 24 | #include <linux/mm.h> |
25 | #include <linux/slab.h> | ||
25 | #include <linux/vmalloc.h> | 26 | #include <linux/vmalloc.h> |
26 | 27 | ||
27 | #include <asm/spu.h> | 28 | #include <asm/spu.h> |
diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c index 4678078fede8..0b0466284932 100644 --- a/arch/powerpc/platforms/cell/spufs/sched.c +++ b/arch/powerpc/platforms/cell/spufs/sched.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/sched.h> | 27 | #include <linux/sched.h> |
28 | #include <linux/kernel.h> | 28 | #include <linux/kernel.h> |
29 | #include <linux/mm.h> | 29 | #include <linux/mm.h> |
30 | #include <linux/slab.h> | ||
30 | #include <linux/completion.h> | 31 | #include <linux/completion.h> |
31 | #include <linux/vmalloc.h> | 32 | #include <linux/vmalloc.h> |
32 | #include <linux/smp.h> | 33 | #include <linux/smp.h> |
diff --git a/arch/powerpc/platforms/cell/spufs/syscalls.c b/arch/powerpc/platforms/cell/spufs/syscalls.c index c23617c6baf3..187a7d32f86a 100644 --- a/arch/powerpc/platforms/cell/spufs/syscalls.c +++ b/arch/powerpc/platforms/cell/spufs/syscalls.c | |||
@@ -3,6 +3,7 @@ | |||
3 | #include <linux/module.h> | 3 | #include <linux/module.h> |
4 | #include <linux/mount.h> | 4 | #include <linux/mount.h> |
5 | #include <linux/namei.h> | 5 | #include <linux/namei.h> |
6 | #include <linux/slab.h> | ||
6 | 7 | ||
7 | #include <asm/uaccess.h> | 8 | #include <asm/uaccess.h> |
8 | 9 | ||
diff --git a/arch/powerpc/platforms/chrp/nvram.c b/arch/powerpc/platforms/chrp/nvram.c index 8efd4244701c..ba3588f2d8e0 100644 --- a/arch/powerpc/platforms/chrp/nvram.c +++ b/arch/powerpc/platforms/chrp/nvram.c | |||
@@ -12,7 +12,6 @@ | |||
12 | 12 | ||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/slab.h> | ||
16 | #include <linux/spinlock.h> | 15 | #include <linux/spinlock.h> |
17 | #include <asm/uaccess.h> | 16 | #include <asm/uaccess.h> |
18 | #include <asm/prom.h> | 17 | #include <asm/prom.h> |
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c index 8f41685d8f42..8553cc49e0d6 100644 --- a/arch/powerpc/platforms/chrp/setup.c +++ b/arch/powerpc/platforms/chrp/setup.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/stddef.h> | 15 | #include <linux/stddef.h> |
16 | #include <linux/unistd.h> | 16 | #include <linux/unistd.h> |
17 | #include <linux/ptrace.h> | 17 | #include <linux/ptrace.h> |
18 | #include <linux/slab.h> | ||
19 | #include <linux/user.h> | 18 | #include <linux/user.h> |
20 | #include <linux/tty.h> | 19 | #include <linux/tty.h> |
21 | #include <linux/major.h> | 20 | #include <linux/major.h> |
diff --git a/arch/powerpc/platforms/embedded6xx/wii.c b/arch/powerpc/platforms/embedded6xx/wii.c index 57e5b608fa1a..5cdcc7c8d973 100644 --- a/arch/powerpc/platforms/embedded6xx/wii.c +++ b/arch/powerpc/platforms/embedded6xx/wii.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <linux/seq_file.h> | 20 | #include <linux/seq_file.h> |
21 | #include <linux/kexec.h> | 21 | #include <linux/kexec.h> |
22 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
23 | #include <linux/lmb.h> | 23 | #include <linux/memblock.h> |
24 | #include <mm/mmu_decl.h> | 24 | #include <mm/mmu_decl.h> |
25 | 25 | ||
26 | #include <asm/io.h> | 26 | #include <asm/io.h> |
@@ -65,19 +65,19 @@ static int __init page_aligned(unsigned long x) | |||
65 | 65 | ||
66 | void __init wii_memory_fixups(void) | 66 | void __init wii_memory_fixups(void) |
67 | { | 67 | { |
68 | struct lmb_property *p = lmb.memory.region; | 68 | struct memblock_property *p = memblock.memory.region; |
69 | 69 | ||
70 | /* | 70 | /* |
71 | * This is part of a workaround to allow the use of two | 71 | * This is part of a workaround to allow the use of two |
72 | * discontiguous RAM ranges on the Wii, even if this is | 72 | * discontinuous RAM ranges on the Wii, even if this is |
73 | * currently unsupported on 32-bit PowerPC Linux. | 73 | * currently unsupported on 32-bit PowerPC Linux. |
74 | * | 74 | * |
75 | * We coealesce the two memory ranges of the Wii into a | 75 | * We coalesce the two memory ranges of the Wii into a |
76 | * single range, then create a reservation for the "hole" | 76 | * single range, then create a reservation for the "hole" |
77 | * between both ranges. | 77 | * between both ranges. |
78 | */ | 78 | */ |
79 | 79 | ||
80 | BUG_ON(lmb.memory.cnt != 2); | 80 | BUG_ON(memblock.memory.cnt != 2); |
81 | BUG_ON(!page_aligned(p[0].base) || !page_aligned(p[1].base)); | 81 | BUG_ON(!page_aligned(p[0].base) || !page_aligned(p[1].base)); |
82 | 82 | ||
83 | p[0].size = _ALIGN_DOWN(p[0].size, PAGE_SIZE); | 83 | p[0].size = _ALIGN_DOWN(p[0].size, PAGE_SIZE); |
@@ -92,11 +92,11 @@ void __init wii_memory_fixups(void) | |||
92 | 92 | ||
93 | p[0].size += wii_hole_size + p[1].size; | 93 | p[0].size += wii_hole_size + p[1].size; |
94 | 94 | ||
95 | lmb.memory.cnt = 1; | 95 | memblock.memory.cnt = 1; |
96 | lmb_analyze(); | 96 | memblock_analyze(); |
97 | 97 | ||
98 | /* reserve the hole */ | 98 | /* reserve the hole */ |
99 | lmb_reserve(wii_hole_start, wii_hole_size); | 99 | memblock_reserve(wii_hole_start, wii_hole_size); |
100 | 100 | ||
101 | /* allow ioremapping the address space in the hole */ | 101 | /* allow ioremapping the address space in the hole */ |
102 | __allow_ioremap_reserved = 1; | 102 | __allow_ioremap_reserved = 1; |
diff --git a/arch/powerpc/platforms/iseries/exception.S b/arch/powerpc/platforms/iseries/exception.S index fba5bf915073..32a56c6dfa72 100644 --- a/arch/powerpc/platforms/iseries/exception.S +++ b/arch/powerpc/platforms/iseries/exception.S | |||
@@ -252,8 +252,8 @@ decrementer_iSeries_masked: | |||
252 | li r11,1 | 252 | li r11,1 |
253 | ld r12,PACALPPACAPTR(r13) | 253 | ld r12,PACALPPACAPTR(r13) |
254 | stb r11,LPPACADECRINT(r12) | 254 | stb r11,LPPACADECRINT(r12) |
255 | LOAD_REG_IMMEDIATE(r12, tb_ticks_per_jiffy) | 255 | li r12,-1 |
256 | lwz r12,0(r12) | 256 | clrldi r12,r12,33 /* set DEC to 0x7fffffff */ |
257 | mtspr SPRN_DEC,r12 | 257 | mtspr SPRN_DEC,r12 |
258 | /* fall through */ | 258 | /* fall through */ |
259 | 259 | ||
diff --git a/arch/powerpc/platforms/iseries/iommu.c b/arch/powerpc/platforms/iseries/iommu.c index 9d53cb481a7c..ce61cea0afb5 100644 --- a/arch/powerpc/platforms/iseries/iommu.c +++ b/arch/powerpc/platforms/iseries/iommu.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/list.h> | 29 | #include <linux/list.h> |
30 | #include <linux/pci.h> | 30 | #include <linux/pci.h> |
31 | #include <linux/module.h> | 31 | #include <linux/module.h> |
32 | #include <linux/slab.h> | ||
32 | 33 | ||
33 | #include <asm/iommu.h> | 34 | #include <asm/iommu.h> |
34 | #include <asm/vio.h> | 35 | #include <asm/vio.h> |
diff --git a/arch/powerpc/platforms/iseries/mf.c b/arch/powerpc/platforms/iseries/mf.c index 6617915bcb1a..d2c1d497846e 100644 --- a/arch/powerpc/platforms/iseries/mf.c +++ b/arch/powerpc/platforms/iseries/mf.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/dma-mapping.h> | 33 | #include <linux/dma-mapping.h> |
34 | #include <linux/bcd.h> | 34 | #include <linux/bcd.h> |
35 | #include <linux/rtc.h> | 35 | #include <linux/rtc.h> |
36 | #include <linux/slab.h> | ||
36 | 37 | ||
37 | #include <asm/time.h> | 38 | #include <asm/time.h> |
38 | #include <asm/uaccess.h> | 39 | #include <asm/uaccess.h> |
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c index 175aac8ca7e5..ab3962b0d246 100644 --- a/arch/powerpc/platforms/iseries/pci.c +++ b/arch/powerpc/platforms/iseries/pci.c | |||
@@ -27,10 +27,12 @@ | |||
27 | #include <linux/kernel.h> | 27 | #include <linux/kernel.h> |
28 | #include <linux/list.h> | 28 | #include <linux/list.h> |
29 | #include <linux/string.h> | 29 | #include <linux/string.h> |
30 | #include <linux/slab.h> | ||
30 | #include <linux/init.h> | 31 | #include <linux/init.h> |
31 | #include <linux/module.h> | 32 | #include <linux/module.h> |
32 | #include <linux/pci.h> | 33 | #include <linux/pci.h> |
33 | #include <linux/of.h> | 34 | #include <linux/of.h> |
35 | #include <linux/ratelimit.h> | ||
34 | 36 | ||
35 | #include <asm/types.h> | 37 | #include <asm/types.h> |
36 | #include <asm/io.h> | 38 | #include <asm/io.h> |
@@ -443,7 +445,11 @@ void __init iSeries_pcibios_fixup_resources(struct pci_dev *pdev) | |||
443 | } | 445 | } |
444 | 446 | ||
445 | allocate_device_bars(pdev); | 447 | allocate_device_bars(pdev); |
446 | iseries_device_information(pdev, bus, *sub_bus); | 448 | if (likely(sub_bus)) |
449 | iseries_device_information(pdev, bus, *sub_bus); | ||
450 | else | ||
451 | printk(KERN_ERR "PCI: Device node %s has missing or invalid " | ||
452 | "linux,subbus property\n", node->full_name); | ||
447 | } | 453 | } |
448 | 454 | ||
449 | /* | 455 | /* |
@@ -583,14 +589,9 @@ static inline struct device_node *xlate_iomm_address( | |||
583 | 589 | ||
584 | orig_addr = (unsigned long __force)addr; | 590 | orig_addr = (unsigned long __force)addr; |
585 | if ((orig_addr < BASE_IO_MEMORY) || (orig_addr >= max_io_memory)) { | 591 | if ((orig_addr < BASE_IO_MEMORY) || (orig_addr >= max_io_memory)) { |
586 | static unsigned long last_jiffies; | 592 | static DEFINE_RATELIMIT_STATE(ratelimit, 60 * HZ, 10); |
587 | static int num_printed; | ||
588 | 593 | ||
589 | if (time_after(jiffies, last_jiffies + 60 * HZ)) { | 594 | if (__ratelimit(&ratelimit)) |
590 | last_jiffies = jiffies; | ||
591 | num_printed = 0; | ||
592 | } | ||
593 | if (num_printed++ < 10) | ||
594 | printk(KERN_ERR | 595 | printk(KERN_ERR |
595 | "iSeries_%s: invalid access at IO address %p\n", | 596 | "iSeries_%s: invalid access at IO address %p\n", |
596 | func, addr); | 597 | func, addr); |
diff --git a/arch/powerpc/platforms/iseries/smp.c b/arch/powerpc/platforms/iseries/smp.c index 722335e32fd4..6590850045af 100644 --- a/arch/powerpc/platforms/iseries/smp.c +++ b/arch/powerpc/platforms/iseries/smp.c | |||
@@ -83,7 +83,7 @@ static void smp_iSeries_message_pass(int target, int msg) | |||
83 | 83 | ||
84 | static int smp_iSeries_probe(void) | 84 | static int smp_iSeries_probe(void) |
85 | { | 85 | { |
86 | return cpus_weight(cpu_possible_map); | 86 | return cpumask_weight(cpu_possible_mask); |
87 | } | 87 | } |
88 | 88 | ||
89 | static void smp_iSeries_kick_cpu(int nr) | 89 | static void smp_iSeries_kick_cpu(int nr) |
diff --git a/arch/powerpc/platforms/iseries/vio.c b/arch/powerpc/platforms/iseries/vio.c index 2aa8b5631beb..00b6730bc48f 100644 --- a/arch/powerpc/platforms/iseries/vio.c +++ b/arch/powerpc/platforms/iseries/vio.c | |||
@@ -22,7 +22,7 @@ | |||
22 | */ | 22 | */ |
23 | #include <linux/of.h> | 23 | #include <linux/of.h> |
24 | #include <linux/init.h> | 24 | #include <linux/init.h> |
25 | #include <linux/gfp.h> | 25 | #include <linux/slab.h> |
26 | #include <linux/completion.h> | 26 | #include <linux/completion.h> |
27 | #include <linux/proc_fs.h> | 27 | #include <linux/proc_fs.h> |
28 | #include <linux/module.h> | 28 | #include <linux/module.h> |
diff --git a/arch/powerpc/platforms/iseries/viopath.c b/arch/powerpc/platforms/iseries/viopath.c index 5aea94f30836..b5f05d943a90 100644 --- a/arch/powerpc/platforms/iseries/viopath.c +++ b/arch/powerpc/platforms/iseries/viopath.c | |||
@@ -29,6 +29,7 @@ | |||
29 | */ | 29 | */ |
30 | #include <linux/module.h> | 30 | #include <linux/module.h> |
31 | #include <linux/kernel.h> | 31 | #include <linux/kernel.h> |
32 | #include <linux/slab.h> | ||
32 | #include <linux/errno.h> | 33 | #include <linux/errno.h> |
33 | #include <linux/vmalloc.h> | 34 | #include <linux/vmalloc.h> |
34 | #include <linux/string.h> | 35 | #include <linux/string.h> |
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c index 0636a3df6978..3fff8d979b41 100644 --- a/arch/powerpc/platforms/maple/setup.c +++ b/arch/powerpc/platforms/maple/setup.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/stddef.h> | 21 | #include <linux/stddef.h> |
22 | #include <linux/unistd.h> | 22 | #include <linux/unistd.h> |
23 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
24 | #include <linux/slab.h> | ||
25 | #include <linux/user.h> | 24 | #include <linux/user.h> |
26 | #include <linux/tty.h> | 25 | #include <linux/tty.h> |
27 | #include <linux/string.h> | 26 | #include <linux/string.h> |
@@ -42,7 +41,7 @@ | |||
42 | #include <linux/smp.h> | 41 | #include <linux/smp.h> |
43 | #include <linux/bitops.h> | 42 | #include <linux/bitops.h> |
44 | #include <linux/of_device.h> | 43 | #include <linux/of_device.h> |
45 | #include <linux/lmb.h> | 44 | #include <linux/memblock.h> |
46 | 45 | ||
47 | #include <asm/processor.h> | 46 | #include <asm/processor.h> |
48 | #include <asm/sections.h> | 47 | #include <asm/sections.h> |
diff --git a/arch/powerpc/platforms/pasemi/cpufreq.c b/arch/powerpc/platforms/pasemi/cpufreq.c index d35e0520abf0..c16537bc0c6e 100644 --- a/arch/powerpc/platforms/pasemi/cpufreq.c +++ b/arch/powerpc/platforms/pasemi/cpufreq.c | |||
@@ -213,7 +213,7 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
213 | pr_debug("current astate is at %d\n",cur_astate); | 213 | pr_debug("current astate is at %d\n",cur_astate); |
214 | 214 | ||
215 | policy->cur = pas_freqs[cur_astate].frequency; | 215 | policy->cur = pas_freqs[cur_astate].frequency; |
216 | cpumask_copy(policy->cpus, &cpu_online_map); | 216 | cpumask_copy(policy->cpus, cpu_online_mask); |
217 | 217 | ||
218 | ppc_proc_freq = policy->cur * 1000ul; | 218 | ppc_proc_freq = policy->cur * 1000ul; |
219 | 219 | ||
diff --git a/arch/powerpc/platforms/pasemi/dma_lib.c b/arch/powerpc/platforms/pasemi/dma_lib.c index a6152d922243..09695ae50f91 100644 --- a/arch/powerpc/platforms/pasemi/dma_lib.c +++ b/arch/powerpc/platforms/pasemi/dma_lib.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/init.h> | 21 | #include <linux/init.h> |
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/pci.h> | 23 | #include <linux/pci.h> |
24 | #include <linux/slab.h> | ||
24 | #include <linux/of.h> | 25 | #include <linux/of.h> |
25 | 26 | ||
26 | #include <asm/pasemi_dma.h> | 27 | #include <asm/pasemi_dma.h> |
diff --git a/arch/powerpc/platforms/pasemi/gpio_mdio.c b/arch/powerpc/platforms/pasemi/gpio_mdio.c index 3bf546797cbb..627ee089e75d 100644 --- a/arch/powerpc/platforms/pasemi/gpio_mdio.c +++ b/arch/powerpc/platforms/pasemi/gpio_mdio.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/io.h> | 24 | #include <linux/io.h> |
25 | #include <linux/module.h> | 25 | #include <linux/module.h> |
26 | #include <linux/types.h> | 26 | #include <linux/types.h> |
27 | #include <linux/slab.h> | ||
27 | #include <linux/sched.h> | 28 | #include <linux/sched.h> |
28 | #include <linux/errno.h> | 29 | #include <linux/errno.h> |
29 | #include <linux/ioport.h> | 30 | #include <linux/ioport.h> |
@@ -219,7 +220,7 @@ static int __devinit gpio_mdio_probe(struct of_device *ofdev, | |||
219 | const struct of_device_id *match) | 220 | const struct of_device_id *match) |
220 | { | 221 | { |
221 | struct device *dev = &ofdev->dev; | 222 | struct device *dev = &ofdev->dev; |
222 | struct device_node *np = ofdev->node; | 223 | struct device_node *np = ofdev->dev.of_node; |
223 | struct mii_bus *new_bus; | 224 | struct mii_bus *new_bus; |
224 | struct gpio_priv *priv; | 225 | struct gpio_priv *priv; |
225 | const unsigned int *prop; | 226 | const unsigned int *prop; |
@@ -300,11 +301,12 @@ MODULE_DEVICE_TABLE(of, gpio_mdio_match); | |||
300 | 301 | ||
301 | static struct of_platform_driver gpio_mdio_driver = | 302 | static struct of_platform_driver gpio_mdio_driver = |
302 | { | 303 | { |
303 | .match_table = gpio_mdio_match, | ||
304 | .probe = gpio_mdio_probe, | 304 | .probe = gpio_mdio_probe, |
305 | .remove = gpio_mdio_remove, | 305 | .remove = gpio_mdio_remove, |
306 | .driver = { | 306 | .driver = { |
307 | .name = "gpio-mdio-bitbang", | 307 | .name = "gpio-mdio-bitbang", |
308 | .owner = THIS_MODULE, | ||
309 | .of_match_table = gpio_mdio_match, | ||
308 | }, | 310 | }, |
309 | }; | 311 | }; |
310 | 312 | ||
diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c index 7b1d608ea3c8..1f9fb2c57761 100644 --- a/arch/powerpc/platforms/pasemi/iommu.c +++ b/arch/powerpc/platforms/pasemi/iommu.c | |||
@@ -204,7 +204,7 @@ int __init iob_init(struct device_node *dn) | |||
204 | pr_debug(" -> %s\n", __func__); | 204 | pr_debug(" -> %s\n", __func__); |
205 | 205 | ||
206 | /* Allocate a spare page to map all invalid IOTLB pages. */ | 206 | /* Allocate a spare page to map all invalid IOTLB pages. */ |
207 | tmp = lmb_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE); | 207 | tmp = memblock_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE); |
208 | if (!tmp) | 208 | if (!tmp) |
209 | panic("IOBMAP: Cannot allocate spare page!"); | 209 | panic("IOBMAP: Cannot allocate spare page!"); |
210 | /* Empty l1 is marked invalid */ | 210 | /* Empty l1 is marked invalid */ |
@@ -275,7 +275,7 @@ void __init alloc_iobmap_l2(void) | |||
275 | return; | 275 | return; |
276 | #endif | 276 | #endif |
277 | /* For 2G space, 8x64 pages (2^21 bytes) is max total l2 size */ | 277 | /* For 2G space, 8x64 pages (2^21 bytes) is max total l2 size */ |
278 | iob_l2_base = (u32 *)abs_to_virt(lmb_alloc_base(1UL<<21, 1UL<<21, 0x80000000)); | 278 | iob_l2_base = (u32 *)abs_to_virt(memblock_alloc_base(1UL<<21, 1UL<<21, 0x80000000)); |
279 | 279 | ||
280 | printk(KERN_INFO "IOBMAP L2 allocated at: %p\n", iob_l2_base); | 280 | printk(KERN_INFO "IOBMAP L2 allocated at: %p\n", iob_l2_base); |
281 | } | 281 | } |
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c index 242f8095c2df..f372ec1691a3 100644 --- a/arch/powerpc/platforms/pasemi/setup.c +++ b/arch/powerpc/platforms/pasemi/setup.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/console.h> | 28 | #include <linux/console.h> |
29 | #include <linux/pci.h> | 29 | #include <linux/pci.h> |
30 | #include <linux/of_platform.h> | 30 | #include <linux/of_platform.h> |
31 | #include <linux/gfp.h> | ||
31 | 32 | ||
32 | #include <asm/prom.h> | 33 | #include <asm/prom.h> |
33 | #include <asm/system.h> | 34 | #include <asm/system.h> |
@@ -359,10 +360,10 @@ static int pcmcia_notify(struct notifier_block *nb, unsigned long action, | |||
359 | /* We know electra_cf devices will always have of_node set, since | 360 | /* We know electra_cf devices will always have of_node set, since |
360 | * electra_cf is an of_platform driver. | 361 | * electra_cf is an of_platform driver. |
361 | */ | 362 | */ |
362 | if (!parent->archdata.of_node) | 363 | if (!parent->of_node) |
363 | return 0; | 364 | return 0; |
364 | 365 | ||
365 | if (!of_device_is_compatible(parent->archdata.of_node, "electra-cf")) | 366 | if (!of_device_is_compatible(parent->of_node, "electra-cf")) |
366 | return 0; | 367 | return 0; |
367 | 368 | ||
368 | /* We use the direct ops for localbus */ | 369 | /* We use the direct ops for localbus */ |
diff --git a/arch/powerpc/platforms/powermac/cpufreq_32.c b/arch/powerpc/platforms/powermac/cpufreq_32.c index d4f127d18141..1e9eba175ff0 100644 --- a/arch/powerpc/platforms/powermac/cpufreq_32.c +++ b/arch/powerpc/platforms/powermac/cpufreq_32.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/sched.h> | 21 | #include <linux/sched.h> |
22 | #include <linux/adb.h> | 22 | #include <linux/adb.h> |
23 | #include <linux/pmu.h> | 23 | #include <linux/pmu.h> |
24 | #include <linux/slab.h> | ||
25 | #include <linux/cpufreq.h> | 24 | #include <linux/cpufreq.h> |
26 | #include <linux/init.h> | 25 | #include <linux/init.h> |
27 | #include <linux/sysdev.h> | 26 | #include <linux/sysdev.h> |
diff --git a/arch/powerpc/platforms/powermac/cpufreq_64.c b/arch/powerpc/platforms/powermac/cpufreq_64.c index 3ed288e68ec4..9650c6029c82 100644 --- a/arch/powerpc/platforms/powermac/cpufreq_64.c +++ b/arch/powerpc/platforms/powermac/cpufreq_64.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/sched.h> | 20 | #include <linux/sched.h> |
21 | #include <linux/slab.h> | ||
22 | #include <linux/cpufreq.h> | 21 | #include <linux/cpufreq.h> |
23 | #include <linux/init.h> | 22 | #include <linux/init.h> |
24 | #include <linux/completion.h> | 23 | #include <linux/completion.h> |
@@ -363,7 +362,7 @@ static int g5_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
363 | /* secondary CPUs are tied to the primary one by the | 362 | /* secondary CPUs are tied to the primary one by the |
364 | * cpufreq core if in the secondary policy we tell it that | 363 | * cpufreq core if in the secondary policy we tell it that |
365 | * it actually must be one policy together with all others. */ | 364 | * it actually must be one policy together with all others. */ |
366 | cpumask_copy(policy->cpus, &cpu_online_map); | 365 | cpumask_copy(policy->cpus, cpu_online_mask); |
367 | cpufreq_frequency_table_get_attr(g5_cpu_freqs, policy->cpu); | 366 | cpufreq_frequency_table_get_attr(g5_cpu_freqs, policy->cpu); |
368 | 367 | ||
369 | return cpufreq_frequency_table_cpuinfo(policy, | 368 | return cpufreq_frequency_table_cpuinfo(policy, |
diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c index 345e2da56767..06a137c5b8bb 100644 --- a/arch/powerpc/platforms/powermac/low_i2c.c +++ b/arch/powerpc/platforms/powermac/low_i2c.c | |||
@@ -43,6 +43,7 @@ | |||
43 | #include <linux/timer.h> | 43 | #include <linux/timer.h> |
44 | #include <linux/mutex.h> | 44 | #include <linux/mutex.h> |
45 | #include <linux/i2c.h> | 45 | #include <linux/i2c.h> |
46 | #include <linux/slab.h> | ||
46 | #include <asm/keylargo.h> | 47 | #include <asm/keylargo.h> |
47 | #include <asm/uninorth.h> | 48 | #include <asm/uninorth.h> |
48 | #include <asm/io.h> | 49 | #include <asm/io.h> |
@@ -591,7 +592,7 @@ static void __init kw_i2c_probe(void) | |||
591 | /* Probe keywest-i2c busses */ | 592 | /* Probe keywest-i2c busses */ |
592 | for_each_compatible_node(np, "i2c","keywest-i2c") { | 593 | for_each_compatible_node(np, "i2c","keywest-i2c") { |
593 | struct pmac_i2c_host_kw *host; | 594 | struct pmac_i2c_host_kw *host; |
594 | int multibus, chans, i; | 595 | int multibus; |
595 | 596 | ||
596 | /* Found one, init a host structure */ | 597 | /* Found one, init a host structure */ |
597 | host = kw_i2c_host_init(np); | 598 | host = kw_i2c_host_init(np); |
@@ -613,6 +614,8 @@ static void __init kw_i2c_probe(void) | |||
613 | * parent type | 614 | * parent type |
614 | */ | 615 | */ |
615 | if (multibus) { | 616 | if (multibus) { |
617 | int chans, i; | ||
618 | |||
616 | parent = of_get_parent(np); | 619 | parent = of_get_parent(np); |
617 | if (parent == NULL) | 620 | if (parent == NULL) |
618 | continue; | 621 | continue; |
@@ -1257,8 +1260,7 @@ static void pmac_i2c_do_end(struct pmf_function *func, void *instdata) | |||
1257 | if (inst == NULL) | 1260 | if (inst == NULL) |
1258 | return; | 1261 | return; |
1259 | pmac_i2c_close(inst->bus); | 1262 | pmac_i2c_close(inst->bus); |
1260 | if (inst) | 1263 | kfree(inst); |
1261 | kfree(inst); | ||
1262 | } | 1264 | } |
1263 | 1265 | ||
1264 | static int pmac_i2c_do_read(PMF_STD_ARGS, u32 len) | 1266 | static int pmac_i2c_do_read(PMF_STD_ARGS, u32 len) |
diff --git a/arch/powerpc/platforms/powermac/nvram.c b/arch/powerpc/platforms/powermac/nvram.c index 80a5258d0364..b1cdcf94aa8e 100644 --- a/arch/powerpc/platforms/powermac/nvram.c +++ b/arch/powerpc/platforms/powermac/nvram.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/string.h> | 14 | #include <linux/string.h> |
15 | #include <linux/nvram.h> | 15 | #include <linux/nvram.h> |
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/slab.h> | ||
18 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
19 | #include <linux/errno.h> | 18 | #include <linux/errno.h> |
20 | #include <linux/adb.h> | 19 | #include <linux/adb.h> |
diff --git a/arch/powerpc/platforms/powermac/pfunc_core.c b/arch/powerpc/platforms/powermac/pfunc_core.c index ede49e78a8da..cec635942657 100644 --- a/arch/powerpc/platforms/powermac/pfunc_core.c +++ b/arch/powerpc/platforms/powermac/pfunc_core.c | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <linux/delay.h> | 9 | #include <linux/delay.h> |
10 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
11 | #include <linux/spinlock.h> | 11 | #include <linux/spinlock.h> |
12 | #include <linux/slab.h> | ||
12 | #include <linux/module.h> | 13 | #include <linux/module.h> |
13 | #include <linux/mutex.h> | 14 | #include <linux/mutex.h> |
14 | 15 | ||
diff --git a/arch/powerpc/platforms/powermac/pmac.h b/arch/powerpc/platforms/powermac/pmac.h index 3362e781b6a7..f0bc08f6c1f0 100644 --- a/arch/powerpc/platforms/powermac/pmac.h +++ b/arch/powerpc/platforms/powermac/pmac.h | |||
@@ -33,6 +33,8 @@ extern void pmac_setup_pci_dma(void); | |||
33 | extern void pmac_check_ht_link(void); | 33 | extern void pmac_check_ht_link(void); |
34 | 34 | ||
35 | extern void pmac_setup_smp(void); | 35 | extern void pmac_setup_smp(void); |
36 | extern void pmac32_cpu_die(void); | ||
37 | extern void low_cpu_die(void) __attribute__((noreturn)); | ||
36 | 38 | ||
37 | extern int pmac_nvram_init(void); | 39 | extern int pmac_nvram_init(void); |
38 | extern void pmac_pic_init(void); | 40 | extern void pmac_pic_init(void); |
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c index c20522656367..9deb274841f1 100644 --- a/arch/powerpc/platforms/powermac/setup.c +++ b/arch/powerpc/platforms/powermac/setup.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <linux/stddef.h> | 31 | #include <linux/stddef.h> |
32 | #include <linux/unistd.h> | 32 | #include <linux/unistd.h> |
33 | #include <linux/ptrace.h> | 33 | #include <linux/ptrace.h> |
34 | #include <linux/slab.h> | ||
35 | #include <linux/user.h> | 34 | #include <linux/user.h> |
36 | #include <linux/tty.h> | 35 | #include <linux/tty.h> |
37 | #include <linux/string.h> | 36 | #include <linux/string.h> |
@@ -52,7 +51,7 @@ | |||
52 | #include <linux/suspend.h> | 51 | #include <linux/suspend.h> |
53 | #include <linux/of_device.h> | 52 | #include <linux/of_device.h> |
54 | #include <linux/of_platform.h> | 53 | #include <linux/of_platform.h> |
55 | #include <linux/lmb.h> | 54 | #include <linux/memblock.h> |
56 | 55 | ||
57 | #include <asm/reg.h> | 56 | #include <asm/reg.h> |
58 | #include <asm/sections.h> | 57 | #include <asm/sections.h> |
@@ -481,7 +480,7 @@ static void __init pmac_init_early(void) | |||
481 | #endif | 480 | #endif |
482 | 481 | ||
483 | /* SMP Init has to be done early as we need to patch up | 482 | /* SMP Init has to be done early as we need to patch up |
484 | * cpu_possible_map before interrupt stacks are allocated | 483 | * cpu_possible_mask before interrupt stacks are allocated |
485 | * or kaboom... | 484 | * or kaboom... |
486 | */ | 485 | */ |
487 | #ifdef CONFIG_SMP | 486 | #ifdef CONFIG_SMP |
@@ -620,7 +619,7 @@ static int __init pmac_probe(void) | |||
620 | * driver needs that. We have to allocate it now. We allocate 4k | 619 | * driver needs that. We have to allocate it now. We allocate 4k |
621 | * (1 small page) for now. | 620 | * (1 small page) for now. |
622 | */ | 621 | */ |
623 | smu_cmdbuf_abs = lmb_alloc_base(4096, 4096, 0x80000000UL); | 622 | smu_cmdbuf_abs = memblock_alloc_base(4096, 4096, 0x80000000UL); |
624 | #endif /* CONFIG_PMAC_SMU */ | 623 | #endif /* CONFIG_PMAC_SMU */ |
625 | 624 | ||
626 | return 1; | 625 | return 1; |
@@ -647,7 +646,7 @@ static int pmac_pci_probe_mode(struct pci_bus *bus) | |||
647 | /* access per cpu vars from generic smp.c */ | 646 | /* access per cpu vars from generic smp.c */ |
648 | DECLARE_PER_CPU(int, cpu_state); | 647 | DECLARE_PER_CPU(int, cpu_state); |
649 | 648 | ||
650 | static void pmac_cpu_die(void) | 649 | static void pmac64_cpu_die(void) |
651 | { | 650 | { |
652 | /* | 651 | /* |
653 | * turn off as much as possible, we'll be | 652 | * turn off as much as possible, we'll be |
@@ -718,8 +717,13 @@ define_machine(powermac) { | |||
718 | .pcibios_after_init = pmac_pcibios_after_init, | 717 | .pcibios_after_init = pmac_pcibios_after_init, |
719 | .phys_mem_access_prot = pci_phys_mem_access_prot, | 718 | .phys_mem_access_prot = pci_phys_mem_access_prot, |
720 | #endif | 719 | #endif |
721 | #if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC64) | 720 | #ifdef CONFIG_HOTPLUG_CPU |
722 | .cpu_die = pmac_cpu_die, | 721 | #ifdef CONFIG_PPC64 |
722 | .cpu_die = pmac64_cpu_die, | ||
723 | #endif | ||
724 | #ifdef CONFIG_PPC32 | ||
725 | .cpu_die = pmac32_cpu_die, | ||
726 | #endif | ||
723 | #endif | 727 | #endif |
724 | #if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC32) | 728 | #if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC32) |
725 | .cpu_die = generic_mach_cpu_die, | 729 | .cpu_die = generic_mach_cpu_die, |
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c index 6898e8241cd0..c95215f4f8b6 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c | |||
@@ -53,6 +53,8 @@ | |||
53 | #include <asm/pmac_low_i2c.h> | 53 | #include <asm/pmac_low_i2c.h> |
54 | #include <asm/pmac_pfunc.h> | 54 | #include <asm/pmac_pfunc.h> |
55 | 55 | ||
56 | #include "pmac.h" | ||
57 | |||
56 | #undef DEBUG | 58 | #undef DEBUG |
57 | 59 | ||
58 | #ifdef DEBUG | 60 | #ifdef DEBUG |
@@ -315,7 +317,7 @@ static int __init smp_psurge_probe(void) | |||
315 | /* This is necessary because OF doesn't know about the | 317 | /* This is necessary because OF doesn't know about the |
316 | * secondary cpu(s), and thus there aren't nodes in the | 318 | * secondary cpu(s), and thus there aren't nodes in the |
317 | * device tree for them, and smp_setup_cpu_maps hasn't | 319 | * device tree for them, and smp_setup_cpu_maps hasn't |
318 | * set their bits in cpu_present_map. | 320 | * set their bits in cpu_present_mask. |
319 | */ | 321 | */ |
320 | if (ncpus > NR_CPUS) | 322 | if (ncpus > NR_CPUS) |
321 | ncpus = NR_CPUS; | 323 | ncpus = NR_CPUS; |
@@ -878,10 +880,9 @@ int smp_core99_cpu_disable(void) | |||
878 | return 0; | 880 | return 0; |
879 | } | 881 | } |
880 | 882 | ||
881 | extern void low_cpu_die(void) __attribute__((noreturn)); /* in sleep.S */ | ||
882 | static int cpu_dead[NR_CPUS]; | 883 | static int cpu_dead[NR_CPUS]; |
883 | 884 | ||
884 | void cpu_die(void) | 885 | void pmac32_cpu_die(void) |
885 | { | 886 | { |
886 | local_irq_disable(); | 887 | local_irq_disable(); |
887 | cpu_dead[smp_processor_id()] = 1; | 888 | cpu_dead[smp_processor_id()] = 1; |
@@ -944,7 +945,7 @@ void __init pmac_setup_smp(void) | |||
944 | } | 945 | } |
945 | #ifdef CONFIG_PPC32 | 946 | #ifdef CONFIG_PPC32 |
946 | else { | 947 | else { |
947 | /* We have to set bits in cpu_possible_map here since the | 948 | /* We have to set bits in cpu_possible_mask here since the |
948 | * secondary CPU(s) aren't in the device tree. Various | 949 | * secondary CPU(s) aren't in the device tree. Various |
949 | * things won't be initialized for CPUs not in the possible | 950 | * things won't be initialized for CPUs not in the possible |
950 | * map, so we really need to fix it up here. | 951 | * map, so we really need to fix it up here. |
diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c index bb028f165fb3..b341018326df 100644 --- a/arch/powerpc/platforms/ps3/device-init.c +++ b/arch/powerpc/platforms/ps3/device-init.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
24 | #include <linux/kthread.h> | 24 | #include <linux/kthread.h> |
25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
26 | #include <linux/slab.h> | ||
26 | #include <linux/reboot.h> | 27 | #include <linux/reboot.h> |
27 | 28 | ||
28 | #include <asm/firmware.h> | 29 | #include <asm/firmware.h> |
diff --git a/arch/powerpc/platforms/ps3/htab.c b/arch/powerpc/platforms/ps3/htab.c index 1e8a1e39dfe8..3124cf791ebb 100644 --- a/arch/powerpc/platforms/ps3/htab.c +++ b/arch/powerpc/platforms/ps3/htab.c | |||
@@ -19,7 +19,7 @@ | |||
19 | */ | 19 | */ |
20 | 20 | ||
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/lmb.h> | 22 | #include <linux/memblock.h> |
23 | 23 | ||
24 | #include <asm/machdep.h> | 24 | #include <asm/machdep.h> |
25 | #include <asm/prom.h> | 25 | #include <asm/prom.h> |
@@ -136,7 +136,7 @@ static long ps3_hpte_updatepp(unsigned long slot, unsigned long newpp, | |||
136 | * As lv1_read_htab_entries() does not give us the RPN, we can | 136 | * As lv1_read_htab_entries() does not give us the RPN, we can |
137 | * not synthesize the new hpte_r value here, and therefore can | 137 | * not synthesize the new hpte_r value here, and therefore can |
138 | * not update the hpte with lv1_insert_htab_entry(), so we | 138 | * not update the hpte with lv1_insert_htab_entry(), so we |
139 | * insted invalidate it and ask the caller to update it via | 139 | * instead invalidate it and ask the caller to update it via |
140 | * ps3_hpte_insert() by returning a -1 value. | 140 | * ps3_hpte_insert() by returning a -1 value. |
141 | */ | 141 | */ |
142 | if (!HPTE_V_COMPARE(hpte_v, want_v) || !(hpte_v & HPTE_V_VALID)) { | 142 | if (!HPTE_V_COMPARE(hpte_v, want_v) || !(hpte_v & HPTE_V_VALID)) { |
diff --git a/arch/powerpc/platforms/ps3/mm.c b/arch/powerpc/platforms/ps3/mm.c index e81b028a2a48..c2045880e674 100644 --- a/arch/powerpc/platforms/ps3/mm.c +++ b/arch/powerpc/platforms/ps3/mm.c | |||
@@ -21,7 +21,8 @@ | |||
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/memory_hotplug.h> | 23 | #include <linux/memory_hotplug.h> |
24 | #include <linux/lmb.h> | 24 | #include <linux/memblock.h> |
25 | #include <linux/slab.h> | ||
25 | 26 | ||
26 | #include <asm/cell-regs.h> | 27 | #include <asm/cell-regs.h> |
27 | #include <asm/firmware.h> | 28 | #include <asm/firmware.h> |
@@ -317,8 +318,8 @@ static int __init ps3_mm_add_memory(void) | |||
317 | return result; | 318 | return result; |
318 | } | 319 | } |
319 | 320 | ||
320 | lmb_add(start_addr, map.r1.size); | 321 | memblock_add(start_addr, map.r1.size); |
321 | lmb_analyze(); | 322 | memblock_analyze(); |
322 | 323 | ||
323 | result = online_pages(start_pfn, nr_pages); | 324 | result = online_pages(start_pfn, nr_pages); |
324 | 325 | ||
diff --git a/arch/powerpc/platforms/ps3/os-area.c b/arch/powerpc/platforms/ps3/os-area.c index d6487a9c8019..5b759b669598 100644 --- a/arch/powerpc/platforms/ps3/os-area.c +++ b/arch/powerpc/platforms/ps3/os-area.c | |||
@@ -24,8 +24,9 @@ | |||
24 | #include <linux/fs.h> | 24 | #include <linux/fs.h> |
25 | #include <linux/syscalls.h> | 25 | #include <linux/syscalls.h> |
26 | #include <linux/ctype.h> | 26 | #include <linux/ctype.h> |
27 | #include <linux/lmb.h> | 27 | #include <linux/memblock.h> |
28 | #include <linux/of.h> | 28 | #include <linux/of.h> |
29 | #include <linux/slab.h> | ||
29 | 30 | ||
30 | #include <asm/prom.h> | 31 | #include <asm/prom.h> |
31 | 32 | ||
@@ -722,7 +723,7 @@ static void os_area_queue_work(void) | |||
722 | * flash to a high address in the boot memory region and then puts that RAM | 723 | * flash to a high address in the boot memory region and then puts that RAM |
723 | * address and the byte count into the repository for retrieval by the guest. | 724 | * address and the byte count into the repository for retrieval by the guest. |
724 | * We copy the data we want into a static variable and allow the memory setup | 725 | * We copy the data we want into a static variable and allow the memory setup |
725 | * by the HV to be claimed by the lmb manager. | 726 | * by the HV to be claimed by the memblock manager. |
726 | * | 727 | * |
727 | * The os area mirror will not be available to a second stage kernel, and | 728 | * The os area mirror will not be available to a second stage kernel, and |
728 | * the header verify will fail. In this case, the saved_params values will | 729 | * the header verify will fail. In this case, the saved_params values will |
diff --git a/arch/powerpc/platforms/ps3/spu.c b/arch/powerpc/platforms/ps3/spu.c index b3c6a993f9f3..39a472e9e80f 100644 --- a/arch/powerpc/platforms/ps3/spu.c +++ b/arch/powerpc/platforms/ps3/spu.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/init.h> | 22 | #include <linux/init.h> |
23 | #include <linux/slab.h> | ||
23 | #include <linux/mmzone.h> | 24 | #include <linux/mmzone.h> |
24 | #include <linux/io.h> | 25 | #include <linux/io.h> |
25 | #include <linux/mm.h> | 26 | #include <linux/mm.h> |
diff --git a/arch/powerpc/platforms/ps3/system-bus.c b/arch/powerpc/platforms/ps3/system-bus.c index e34b305a7a52..23083c397528 100644 --- a/arch/powerpc/platforms/ps3/system-bus.c +++ b/arch/powerpc/platforms/ps3/system-bus.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/module.h> | 23 | #include <linux/module.h> |
24 | #include <linux/dma-mapping.h> | 24 | #include <linux/dma-mapping.h> |
25 | #include <linux/err.h> | 25 | #include <linux/err.h> |
26 | #include <linux/slab.h> | ||
26 | 27 | ||
27 | #include <asm/udbg.h> | 28 | #include <asm/udbg.h> |
28 | #include <asm/lv1call.h> | 29 | #include <asm/lv1call.h> |
@@ -765,7 +766,7 @@ int ps3_system_bus_device_register(struct ps3_system_bus_device *dev) | |||
765 | BUG(); | 766 | BUG(); |
766 | }; | 767 | }; |
767 | 768 | ||
768 | dev->core.archdata.of_node = NULL; | 769 | dev->core.of_node = NULL; |
769 | set_dev_node(&dev->core, 0); | 770 | set_dev_node(&dev->core, 0); |
770 | 771 | ||
771 | pr_debug("%s:%d add %s\n", __func__, __LINE__, dev_name(&dev->core)); | 772 | pr_debug("%s:%d add %s\n", __func__, __LINE__, dev_name(&dev->core)); |
diff --git a/arch/powerpc/platforms/pseries/Makefile b/arch/powerpc/platforms/pseries/Makefile index 0ff5174ae4f5..3dbef309bc8d 100644 --- a/arch/powerpc/platforms/pseries/Makefile +++ b/arch/powerpc/platforms/pseries/Makefile | |||
@@ -7,7 +7,7 @@ EXTRA_CFLAGS += -DDEBUG | |||
7 | endif | 7 | endif |
8 | 8 | ||
9 | obj-y := lpar.o hvCall.o nvram.o reconfig.o \ | 9 | obj-y := lpar.o hvCall.o nvram.o reconfig.o \ |
10 | setup.o iommu.o ras.o \ | 10 | setup.o iommu.o event_sources.o ras.o \ |
11 | firmware.o power.o dlpar.o | 11 | firmware.o power.o dlpar.o |
12 | obj-$(CONFIG_SMP) += smp.o | 12 | obj-$(CONFIG_SMP) += smp.o |
13 | obj-$(CONFIG_XICS) += xics.o | 13 | obj-$(CONFIG_XICS) += xics.o |
diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c index a277f2e28dbc..f4803868642c 100644 --- a/arch/powerpc/platforms/pseries/cmm.c +++ b/arch/powerpc/platforms/pseries/cmm.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
25 | #include <linux/errno.h> | 25 | #include <linux/errno.h> |
26 | #include <linux/fs.h> | 26 | #include <linux/fs.h> |
27 | #include <linux/gfp.h> | ||
27 | #include <linux/init.h> | 28 | #include <linux/init.h> |
28 | #include <linux/kthread.h> | 29 | #include <linux/kthread.h> |
29 | #include <linux/module.h> | 30 | #include <linux/module.h> |
diff --git a/arch/powerpc/platforms/pseries/dlpar.c b/arch/powerpc/platforms/pseries/dlpar.c index 37bce52526da..d71e58584086 100644 --- a/arch/powerpc/platforms/pseries/dlpar.c +++ b/arch/powerpc/platforms/pseries/dlpar.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/proc_fs.h> | 16 | #include <linux/proc_fs.h> |
17 | #include <linux/spinlock.h> | 17 | #include <linux/spinlock.h> |
18 | #include <linux/cpu.h> | 18 | #include <linux/cpu.h> |
19 | #include <linux/slab.h> | ||
19 | #include "offline_states.h" | 20 | #include "offline_states.h" |
20 | 21 | ||
21 | #include <asm/prom.h> | 22 | #include <asm/prom.h> |
@@ -78,13 +79,12 @@ static struct device_node *dlpar_parse_cc_node(struct cc_workarea *ccwa) | |||
78 | * prepend this to the full_name. | 79 | * prepend this to the full_name. |
79 | */ | 80 | */ |
80 | name = (char *)ccwa + ccwa->name_offset; | 81 | name = (char *)ccwa + ccwa->name_offset; |
81 | dn->full_name = kmalloc(strlen(name) + 2, GFP_KERNEL); | 82 | dn->full_name = kasprintf(GFP_KERNEL, "/%s", name); |
82 | if (!dn->full_name) { | 83 | if (!dn->full_name) { |
83 | kfree(dn); | 84 | kfree(dn); |
84 | return NULL; | 85 | return NULL; |
85 | } | 86 | } |
86 | 87 | ||
87 | sprintf(dn->full_name, "/%s", name); | ||
88 | return dn; | 88 | return dn; |
89 | } | 89 | } |
90 | 90 | ||
@@ -409,15 +409,13 @@ static ssize_t dlpar_cpu_probe(const char *buf, size_t count) | |||
409 | * directory of the device tree. CPUs actually live in the | 409 | * directory of the device tree. CPUs actually live in the |
410 | * cpus directory so we need to fixup the full_name. | 410 | * cpus directory so we need to fixup the full_name. |
411 | */ | 411 | */ |
412 | cpu_name = kzalloc(strlen(dn->full_name) + strlen("/cpus") + 1, | 412 | cpu_name = kasprintf(GFP_KERNEL, "/cpus%s", dn->full_name); |
413 | GFP_KERNEL); | ||
414 | if (!cpu_name) { | 413 | if (!cpu_name) { |
415 | dlpar_free_cc_nodes(dn); | 414 | dlpar_free_cc_nodes(dn); |
416 | rc = -ENOMEM; | 415 | rc = -ENOMEM; |
417 | goto out; | 416 | goto out; |
418 | } | 417 | } |
419 | 418 | ||
420 | sprintf(cpu_name, "/cpus%s", dn->full_name); | ||
421 | kfree(dn->full_name); | 419 | kfree(dn->full_name); |
422 | dn->full_name = cpu_name; | 420 | dn->full_name = cpu_name; |
423 | 421 | ||
@@ -432,6 +430,7 @@ static ssize_t dlpar_cpu_probe(const char *buf, size_t count) | |||
432 | if (rc) { | 430 | if (rc) { |
433 | dlpar_release_drc(drc_index); | 431 | dlpar_release_drc(drc_index); |
434 | dlpar_free_cc_nodes(dn); | 432 | dlpar_free_cc_nodes(dn); |
433 | goto out; | ||
435 | } | 434 | } |
436 | 435 | ||
437 | rc = dlpar_online_cpu(dn); | 436 | rc = dlpar_online_cpu(dn); |
diff --git a/arch/powerpc/platforms/pseries/dtl.c b/arch/powerpc/platforms/pseries/dtl.c index c5f3116b6ca5..a00addb55945 100644 --- a/arch/powerpc/platforms/pseries/dtl.c +++ b/arch/powerpc/platforms/pseries/dtl.c | |||
@@ -21,6 +21,7 @@ | |||
21 | */ | 21 | */ |
22 | 22 | ||
23 | #include <linux/init.h> | 23 | #include <linux/init.h> |
24 | #include <linux/slab.h> | ||
24 | #include <linux/debugfs.h> | 25 | #include <linux/debugfs.h> |
25 | #include <asm/smp.h> | 26 | #include <asm/smp.h> |
26 | #include <asm/system.h> | 27 | #include <asm/system.h> |
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c index 7df7fbb7cacb..34b7dc12e731 100644 --- a/arch/powerpc/platforms/pseries/eeh.c +++ b/arch/powerpc/platforms/pseries/eeh.c | |||
@@ -749,7 +749,7 @@ static void __rtas_set_slot_reset(struct pci_dn *pdn) | |||
749 | /* Determine type of EEH reset required by device, | 749 | /* Determine type of EEH reset required by device, |
750 | * default hot reset or fundamental reset | 750 | * default hot reset or fundamental reset |
751 | */ | 751 | */ |
752 | if (dev->needs_freset) | 752 | if (dev && dev->needs_freset) |
753 | rtas_pci_slot_reset(pdn, 3); | 753 | rtas_pci_slot_reset(pdn, 3); |
754 | else | 754 | else |
755 | rtas_pci_slot_reset(pdn, 1); | 755 | rtas_pci_slot_reset(pdn, 1); |
diff --git a/arch/powerpc/platforms/pseries/eeh_cache.c b/arch/powerpc/platforms/pseries/eeh_cache.c index ce37040af870..30b987b73c20 100644 --- a/arch/powerpc/platforms/pseries/eeh_cache.c +++ b/arch/powerpc/platforms/pseries/eeh_cache.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/list.h> | 23 | #include <linux/list.h> |
24 | #include <linux/pci.h> | 24 | #include <linux/pci.h> |
25 | #include <linux/rbtree.h> | 25 | #include <linux/rbtree.h> |
26 | #include <linux/slab.h> | ||
26 | #include <linux/spinlock.h> | 27 | #include <linux/spinlock.h> |
27 | #include <asm/atomic.h> | 28 | #include <asm/atomic.h> |
28 | #include <asm/pci-bridge.h> | 29 | #include <asm/pci-bridge.h> |
diff --git a/arch/powerpc/platforms/pseries/eeh_event.c b/arch/powerpc/platforms/pseries/eeh_event.c index ec5df8f519c7..2ec500c130b5 100644 --- a/arch/powerpc/platforms/pseries/eeh_event.c +++ b/arch/powerpc/platforms/pseries/eeh_event.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/list.h> | 22 | #include <linux/list.h> |
23 | #include <linux/mutex.h> | 23 | #include <linux/mutex.h> |
24 | #include <linux/pci.h> | 24 | #include <linux/pci.h> |
25 | #include <linux/slab.h> | ||
25 | #include <linux/workqueue.h> | 26 | #include <linux/workqueue.h> |
26 | #include <asm/eeh_event.h> | 27 | #include <asm/eeh_event.h> |
27 | #include <asm/ppc-pci.h> | 28 | #include <asm/ppc-pci.h> |
diff --git a/arch/powerpc/platforms/pseries/event_sources.c b/arch/powerpc/platforms/pseries/event_sources.c new file mode 100644 index 000000000000..e889c9d9586a --- /dev/null +++ b/arch/powerpc/platforms/pseries/event_sources.c | |||
@@ -0,0 +1,79 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2001 Dave Engebretsen IBM Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | ||
18 | |||
19 | #include <asm/prom.h> | ||
20 | |||
21 | #include "pseries.h" | ||
22 | |||
23 | void request_event_sources_irqs(struct device_node *np, | ||
24 | irq_handler_t handler, | ||
25 | const char *name) | ||
26 | { | ||
27 | int i, index, count = 0; | ||
28 | struct of_irq oirq; | ||
29 | const u32 *opicprop; | ||
30 | unsigned int opicplen; | ||
31 | unsigned int virqs[16]; | ||
32 | |||
33 | /* Check for obsolete "open-pic-interrupt" property. If present, then | ||
34 | * map those interrupts using the default interrupt host and default | ||
35 | * trigger | ||
36 | */ | ||
37 | opicprop = of_get_property(np, "open-pic-interrupt", &opicplen); | ||
38 | if (opicprop) { | ||
39 | opicplen /= sizeof(u32); | ||
40 | for (i = 0; i < opicplen; i++) { | ||
41 | if (count > 15) | ||
42 | break; | ||
43 | virqs[count] = irq_create_mapping(NULL, *(opicprop++)); | ||
44 | if (virqs[count] == NO_IRQ) | ||
45 | printk(KERN_ERR "Unable to allocate interrupt " | ||
46 | "number for %s\n", np->full_name); | ||
47 | else | ||
48 | count++; | ||
49 | |||
50 | } | ||
51 | } | ||
52 | /* Else use normal interrupt tree parsing */ | ||
53 | else { | ||
54 | /* First try to do a proper OF tree parsing */ | ||
55 | for (index = 0; of_irq_map_one(np, index, &oirq) == 0; | ||
56 | index++) { | ||
57 | if (count > 15) | ||
58 | break; | ||
59 | virqs[count] = irq_create_of_mapping(oirq.controller, | ||
60 | oirq.specifier, | ||
61 | oirq.size); | ||
62 | if (virqs[count] == NO_IRQ) | ||
63 | printk(KERN_ERR "Unable to allocate interrupt " | ||
64 | "number for %s\n", np->full_name); | ||
65 | else | ||
66 | count++; | ||
67 | } | ||
68 | } | ||
69 | |||
70 | /* Now request them */ | ||
71 | for (i = 0; i < count; i++) { | ||
72 | if (request_irq(virqs[i], handler, 0, name, NULL)) { | ||
73 | printk(KERN_ERR "Unable to request interrupt %d for " | ||
74 | "%s\n", virqs[i], np->full_name); | ||
75 | return; | ||
76 | } | ||
77 | } | ||
78 | } | ||
79 | |||
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c index a8e1d5d17a28..8f85f399ab9f 100644 --- a/arch/powerpc/platforms/pseries/hotplug-cpu.c +++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c | |||
@@ -154,30 +154,6 @@ static void pseries_mach_cpu_die(void) | |||
154 | for(;;); | 154 | for(;;); |
155 | } | 155 | } |
156 | 156 | ||
157 | static int qcss_tok; /* query-cpu-stopped-state token */ | ||
158 | |||
159 | /* Get state of physical CPU. | ||
160 | * Return codes: | ||
161 | * 0 - The processor is in the RTAS stopped state | ||
162 | * 1 - stop-self is in progress | ||
163 | * 2 - The processor is not in the RTAS stopped state | ||
164 | * -1 - Hardware Error | ||
165 | * -2 - Hardware Busy, Try again later. | ||
166 | */ | ||
167 | static int query_cpu_stopped(unsigned int pcpu) | ||
168 | { | ||
169 | int cpu_status, status; | ||
170 | |||
171 | status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu); | ||
172 | if (status != 0) { | ||
173 | printk(KERN_ERR | ||
174 | "RTAS query-cpu-stopped-state failed: %i\n", status); | ||
175 | return status; | ||
176 | } | ||
177 | |||
178 | return cpu_status; | ||
179 | } | ||
180 | |||
181 | static int pseries_cpu_disable(void) | 157 | static int pseries_cpu_disable(void) |
182 | { | 158 | { |
183 | int cpu = smp_processor_id(); | 159 | int cpu = smp_processor_id(); |
@@ -187,7 +163,7 @@ static int pseries_cpu_disable(void) | |||
187 | 163 | ||
188 | /*fix boot_cpuid here*/ | 164 | /*fix boot_cpuid here*/ |
189 | if (cpu == boot_cpuid) | 165 | if (cpu == boot_cpuid) |
190 | boot_cpuid = any_online_cpu(cpu_online_map); | 166 | boot_cpuid = cpumask_any(cpu_online_mask); |
191 | 167 | ||
192 | /* FIXME: abstract this to not be platform specific later on */ | 168 | /* FIXME: abstract this to not be platform specific later on */ |
193 | xics_migrate_irqs_away(); | 169 | xics_migrate_irqs_away(); |
@@ -224,8 +200,9 @@ static void pseries_cpu_die(unsigned int cpu) | |||
224 | } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) { | 200 | } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) { |
225 | 201 | ||
226 | for (tries = 0; tries < 25; tries++) { | 202 | for (tries = 0; tries < 25; tries++) { |
227 | cpu_status = query_cpu_stopped(pcpu); | 203 | cpu_status = smp_query_cpu_stopped(pcpu); |
228 | if (cpu_status == 0 || cpu_status == -1) | 204 | if (cpu_status == QCSS_STOPPED || |
205 | cpu_status == QCSS_HARDWARE_ERROR) | ||
229 | break; | 206 | break; |
230 | cpu_relax(); | 207 | cpu_relax(); |
231 | } | 208 | } |
@@ -245,7 +222,7 @@ static void pseries_cpu_die(unsigned int cpu) | |||
245 | } | 222 | } |
246 | 223 | ||
247 | /* | 224 | /* |
248 | * Update cpu_present_map and paca(s) for a new cpu node. The wrinkle | 225 | * Update cpu_present_mask and paca(s) for a new cpu node. The wrinkle |
249 | * here is that a cpu device node may represent up to two logical cpus | 226 | * here is that a cpu device node may represent up to two logical cpus |
250 | * in the SMT case. We must honor the assumption in other code that | 227 | * in the SMT case. We must honor the assumption in other code that |
251 | * the logical ids for sibling SMT threads x and y are adjacent, such | 228 | * the logical ids for sibling SMT threads x and y are adjacent, such |
@@ -254,7 +231,7 @@ static void pseries_cpu_die(unsigned int cpu) | |||
254 | static int pseries_add_processor(struct device_node *np) | 231 | static int pseries_add_processor(struct device_node *np) |
255 | { | 232 | { |
256 | unsigned int cpu; | 233 | unsigned int cpu; |
257 | cpumask_t candidate_map, tmp = CPU_MASK_NONE; | 234 | cpumask_var_t candidate_mask, tmp; |
258 | int err = -ENOSPC, len, nthreads, i; | 235 | int err = -ENOSPC, len, nthreads, i; |
259 | const u32 *intserv; | 236 | const u32 *intserv; |
260 | 237 | ||
@@ -262,48 +239,53 @@ static int pseries_add_processor(struct device_node *np) | |||
262 | if (!intserv) | 239 | if (!intserv) |
263 | return 0; | 240 | return 0; |
264 | 241 | ||
242 | zalloc_cpumask_var(&candidate_mask, GFP_KERNEL); | ||
243 | zalloc_cpumask_var(&tmp, GFP_KERNEL); | ||
244 | |||
265 | nthreads = len / sizeof(u32); | 245 | nthreads = len / sizeof(u32); |
266 | for (i = 0; i < nthreads; i++) | 246 | for (i = 0; i < nthreads; i++) |
267 | cpu_set(i, tmp); | 247 | cpumask_set_cpu(i, tmp); |
268 | 248 | ||
269 | cpu_maps_update_begin(); | 249 | cpu_maps_update_begin(); |
270 | 250 | ||
271 | BUG_ON(!cpus_subset(cpu_present_map, cpu_possible_map)); | 251 | BUG_ON(!cpumask_subset(cpu_present_mask, cpu_possible_mask)); |
272 | 252 | ||
273 | /* Get a bitmap of unoccupied slots. */ | 253 | /* Get a bitmap of unoccupied slots. */ |
274 | cpus_xor(candidate_map, cpu_possible_map, cpu_present_map); | 254 | cpumask_xor(candidate_mask, cpu_possible_mask, cpu_present_mask); |
275 | if (cpus_empty(candidate_map)) { | 255 | if (cpumask_empty(candidate_mask)) { |
276 | /* If we get here, it most likely means that NR_CPUS is | 256 | /* If we get here, it most likely means that NR_CPUS is |
277 | * less than the partition's max processors setting. | 257 | * less than the partition's max processors setting. |
278 | */ | 258 | */ |
279 | printk(KERN_ERR "Cannot add cpu %s; this system configuration" | 259 | printk(KERN_ERR "Cannot add cpu %s; this system configuration" |
280 | " supports %d logical cpus.\n", np->full_name, | 260 | " supports %d logical cpus.\n", np->full_name, |
281 | cpus_weight(cpu_possible_map)); | 261 | cpumask_weight(cpu_possible_mask)); |
282 | goto out_unlock; | 262 | goto out_unlock; |
283 | } | 263 | } |
284 | 264 | ||
285 | while (!cpus_empty(tmp)) | 265 | while (!cpumask_empty(tmp)) |
286 | if (cpus_subset(tmp, candidate_map)) | 266 | if (cpumask_subset(tmp, candidate_mask)) |
287 | /* Found a range where we can insert the new cpu(s) */ | 267 | /* Found a range where we can insert the new cpu(s) */ |
288 | break; | 268 | break; |
289 | else | 269 | else |
290 | cpus_shift_left(tmp, tmp, nthreads); | 270 | cpumask_shift_left(tmp, tmp, nthreads); |
291 | 271 | ||
292 | if (cpus_empty(tmp)) { | 272 | if (cpumask_empty(tmp)) { |
293 | printk(KERN_ERR "Unable to find space in cpu_present_map for" | 273 | printk(KERN_ERR "Unable to find space in cpu_present_mask for" |
294 | " processor %s with %d thread(s)\n", np->name, | 274 | " processor %s with %d thread(s)\n", np->name, |
295 | nthreads); | 275 | nthreads); |
296 | goto out_unlock; | 276 | goto out_unlock; |
297 | } | 277 | } |
298 | 278 | ||
299 | for_each_cpu_mask(cpu, tmp) { | 279 | for_each_cpu(cpu, tmp) { |
300 | BUG_ON(cpu_isset(cpu, cpu_present_map)); | 280 | BUG_ON(cpumask_test_cpu(cpu, cpu_present_mask)); |
301 | set_cpu_present(cpu, true); | 281 | set_cpu_present(cpu, true); |
302 | set_hard_smp_processor_id(cpu, *intserv++); | 282 | set_hard_smp_processor_id(cpu, *intserv++); |
303 | } | 283 | } |
304 | err = 0; | 284 | err = 0; |
305 | out_unlock: | 285 | out_unlock: |
306 | cpu_maps_update_done(); | 286 | cpu_maps_update_done(); |
287 | free_cpumask_var(candidate_mask); | ||
288 | free_cpumask_var(tmp); | ||
307 | return err; | 289 | return err; |
308 | } | 290 | } |
309 | 291 | ||
@@ -334,7 +316,7 @@ static void pseries_remove_processor(struct device_node *np) | |||
334 | set_hard_smp_processor_id(cpu, -1); | 316 | set_hard_smp_processor_id(cpu, -1); |
335 | break; | 317 | break; |
336 | } | 318 | } |
337 | if (cpu == NR_CPUS) | 319 | if (cpu >= nr_cpu_ids) |
338 | printk(KERN_WARNING "Could not find cpu to remove " | 320 | printk(KERN_WARNING "Could not find cpu to remove " |
339 | "with physical id 0x%x\n", intserv[i]); | 321 | "with physical id 0x%x\n", intserv[i]); |
340 | } | 322 | } |
@@ -388,6 +370,7 @@ static int __init pseries_cpu_hotplug_init(void) | |||
388 | struct device_node *np; | 370 | struct device_node *np; |
389 | const char *typep; | 371 | const char *typep; |
390 | int cpu; | 372 | int cpu; |
373 | int qcss_tok; | ||
391 | 374 | ||
392 | for_each_node_by_name(np, "interrupt-controller") { | 375 | for_each_node_by_name(np, "interrupt-controller") { |
393 | typep = of_get_property(np, "compatible", NULL); | 376 | typep = of_get_property(np, "compatible", NULL); |
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c index 9b21ee68ea50..bc8803664140 100644 --- a/arch/powerpc/platforms/pseries/hotplug-memory.c +++ b/arch/powerpc/platforms/pseries/hotplug-memory.c | |||
@@ -10,13 +10,14 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/of.h> | 12 | #include <linux/of.h> |
13 | #include <linux/lmb.h> | 13 | #include <linux/memblock.h> |
14 | #include <linux/vmalloc.h> | ||
14 | #include <asm/firmware.h> | 15 | #include <asm/firmware.h> |
15 | #include <asm/machdep.h> | 16 | #include <asm/machdep.h> |
16 | #include <asm/pSeries_reconfig.h> | 17 | #include <asm/pSeries_reconfig.h> |
17 | #include <asm/sparsemem.h> | 18 | #include <asm/sparsemem.h> |
18 | 19 | ||
19 | static int pseries_remove_lmb(unsigned long base, unsigned int lmb_size) | 20 | static int pseries_remove_memblock(unsigned long base, unsigned int memblock_size) |
20 | { | 21 | { |
21 | unsigned long start, start_pfn; | 22 | unsigned long start, start_pfn; |
22 | struct zone *zone; | 23 | struct zone *zone; |
@@ -25,7 +26,7 @@ static int pseries_remove_lmb(unsigned long base, unsigned int lmb_size) | |||
25 | start_pfn = base >> PAGE_SHIFT; | 26 | start_pfn = base >> PAGE_SHIFT; |
26 | 27 | ||
27 | if (!pfn_valid(start_pfn)) { | 28 | if (!pfn_valid(start_pfn)) { |
28 | lmb_remove(base, lmb_size); | 29 | memblock_remove(base, memblock_size); |
29 | return 0; | 30 | return 0; |
30 | } | 31 | } |
31 | 32 | ||
@@ -40,20 +41,26 @@ static int pseries_remove_lmb(unsigned long base, unsigned int lmb_size) | |||
40 | * to sysfs "state" file and we can't remove sysfs entries | 41 | * to sysfs "state" file and we can't remove sysfs entries |
41 | * while writing to it. So we have to defer it to here. | 42 | * while writing to it. So we have to defer it to here. |
42 | */ | 43 | */ |
43 | ret = __remove_pages(zone, start_pfn, lmb_size >> PAGE_SHIFT); | 44 | ret = __remove_pages(zone, start_pfn, memblock_size >> PAGE_SHIFT); |
44 | if (ret) | 45 | if (ret) |
45 | return ret; | 46 | return ret; |
46 | 47 | ||
47 | /* | 48 | /* |
48 | * Update memory regions for memory remove | 49 | * Update memory regions for memory remove |
49 | */ | 50 | */ |
50 | lmb_remove(base, lmb_size); | 51 | memblock_remove(base, memblock_size); |
51 | 52 | ||
52 | /* | 53 | /* |
53 | * Remove htab bolted mappings for this section of memory | 54 | * Remove htab bolted mappings for this section of memory |
54 | */ | 55 | */ |
55 | start = (unsigned long)__va(base); | 56 | start = (unsigned long)__va(base); |
56 | ret = remove_section_mapping(start, start + lmb_size); | 57 | ret = remove_section_mapping(start, start + memblock_size); |
58 | |||
59 | /* Ensure all vmalloc mappings are flushed in case they also | ||
60 | * hit that section of memory | ||
61 | */ | ||
62 | vm_unmap_aliases(); | ||
63 | |||
57 | return ret; | 64 | return ret; |
58 | } | 65 | } |
59 | 66 | ||
@@ -73,7 +80,7 @@ static int pseries_remove_memory(struct device_node *np) | |||
73 | return 0; | 80 | return 0; |
74 | 81 | ||
75 | /* | 82 | /* |
76 | * Find the bae address and size of the lmb | 83 | * Find the bae address and size of the memblock |
77 | */ | 84 | */ |
78 | regs = of_get_property(np, "reg", NULL); | 85 | regs = of_get_property(np, "reg", NULL); |
79 | if (!regs) | 86 | if (!regs) |
@@ -82,7 +89,7 @@ static int pseries_remove_memory(struct device_node *np) | |||
82 | base = *(unsigned long *)regs; | 89 | base = *(unsigned long *)regs; |
83 | lmb_size = regs[3]; | 90 | lmb_size = regs[3]; |
84 | 91 | ||
85 | ret = pseries_remove_lmb(base, lmb_size); | 92 | ret = pseries_remove_memblock(base, lmb_size); |
86 | return ret; | 93 | return ret; |
87 | } | 94 | } |
88 | 95 | ||
@@ -102,7 +109,7 @@ static int pseries_add_memory(struct device_node *np) | |||
102 | return 0; | 109 | return 0; |
103 | 110 | ||
104 | /* | 111 | /* |
105 | * Find the base and size of the lmb | 112 | * Find the base and size of the memblock |
106 | */ | 113 | */ |
107 | regs = of_get_property(np, "reg", NULL); | 114 | regs = of_get_property(np, "reg", NULL); |
108 | if (!regs) | 115 | if (!regs) |
@@ -114,7 +121,7 @@ static int pseries_add_memory(struct device_node *np) | |||
114 | /* | 121 | /* |
115 | * Update memory region to represent the memory add | 122 | * Update memory region to represent the memory add |
116 | */ | 123 | */ |
117 | ret = lmb_add(base, lmb_size); | 124 | ret = memblock_add(base, lmb_size); |
118 | return (ret < 0) ? -EINVAL : 0; | 125 | return (ret < 0) ? -EINVAL : 0; |
119 | } | 126 | } |
120 | 127 | ||
@@ -135,10 +142,10 @@ static int pseries_drconf_memory(unsigned long *base, unsigned int action) | |||
135 | } | 142 | } |
136 | 143 | ||
137 | if (action == PSERIES_DRCONF_MEM_ADD) { | 144 | if (action == PSERIES_DRCONF_MEM_ADD) { |
138 | rc = lmb_add(*base, *lmb_size); | 145 | rc = memblock_add(*base, *lmb_size); |
139 | rc = (rc < 0) ? -EINVAL : 0; | 146 | rc = (rc < 0) ? -EINVAL : 0; |
140 | } else if (action == PSERIES_DRCONF_MEM_REMOVE) { | 147 | } else if (action == PSERIES_DRCONF_MEM_REMOVE) { |
141 | rc = pseries_remove_lmb(*base, *lmb_size); | 148 | rc = pseries_remove_memblock(*base, *lmb_size); |
142 | } else { | 149 | } else { |
143 | rc = -EINVAL; | 150 | rc = -EINVAL; |
144 | } | 151 | } |
diff --git a/arch/powerpc/platforms/pseries/hvCall.S b/arch/powerpc/platforms/pseries/hvCall.S index 383a5d0e9818..48d20573e4de 100644 --- a/arch/powerpc/platforms/pseries/hvCall.S +++ b/arch/powerpc/platforms/pseries/hvCall.S | |||
@@ -228,3 +228,41 @@ _GLOBAL(plpar_hcall9) | |||
228 | mtcrf 0xff,r0 | 228 | mtcrf 0xff,r0 |
229 | 229 | ||
230 | blr /* return r3 = status */ | 230 | blr /* return r3 = status */ |
231 | |||
232 | /* See plpar_hcall_raw to see why this is needed */ | ||
233 | _GLOBAL(plpar_hcall9_raw) | ||
234 | HMT_MEDIUM | ||
235 | |||
236 | mfcr r0 | ||
237 | stw r0,8(r1) | ||
238 | |||
239 | std r4,STK_PARM(r4)(r1) /* Save ret buffer */ | ||
240 | |||
241 | mr r4,r5 | ||
242 | mr r5,r6 | ||
243 | mr r6,r7 | ||
244 | mr r7,r8 | ||
245 | mr r8,r9 | ||
246 | mr r9,r10 | ||
247 | ld r10,STK_PARM(r11)(r1) /* put arg7 in R10 */ | ||
248 | ld r11,STK_PARM(r12)(r1) /* put arg8 in R11 */ | ||
249 | ld r12,STK_PARM(r13)(r1) /* put arg9 in R12 */ | ||
250 | |||
251 | HVSC /* invoke the hypervisor */ | ||
252 | |||
253 | mr r0,r12 | ||
254 | ld r12,STK_PARM(r4)(r1) | ||
255 | std r4, 0(r12) | ||
256 | std r5, 8(r12) | ||
257 | std r6, 16(r12) | ||
258 | std r7, 24(r12) | ||
259 | std r8, 32(r12) | ||
260 | std r9, 40(r12) | ||
261 | std r10,48(r12) | ||
262 | std r11,56(r12) | ||
263 | std r0, 64(r12) | ||
264 | |||
265 | lwz r0,8(r1) | ||
266 | mtcrf 0xff,r0 | ||
267 | |||
268 | blr /* return r3 = status */ | ||
diff --git a/arch/powerpc/platforms/pseries/hvCall_inst.c b/arch/powerpc/platforms/pseries/hvCall_inst.c index 1fefae76e295..e19ff021e711 100644 --- a/arch/powerpc/platforms/pseries/hvCall_inst.c +++ b/arch/powerpc/platforms/pseries/hvCall_inst.c | |||
@@ -102,7 +102,7 @@ static const struct file_operations hcall_inst_seq_fops = { | |||
102 | #define CPU_NAME_BUF_SIZE 32 | 102 | #define CPU_NAME_BUF_SIZE 32 |
103 | 103 | ||
104 | 104 | ||
105 | static void probe_hcall_entry(unsigned long opcode, unsigned long *args) | 105 | static void probe_hcall_entry(void *ignored, unsigned long opcode, unsigned long *args) |
106 | { | 106 | { |
107 | struct hcall_stats *h; | 107 | struct hcall_stats *h; |
108 | 108 | ||
@@ -114,7 +114,7 @@ static void probe_hcall_entry(unsigned long opcode, unsigned long *args) | |||
114 | h->purr_start = mfspr(SPRN_PURR); | 114 | h->purr_start = mfspr(SPRN_PURR); |
115 | } | 115 | } |
116 | 116 | ||
117 | static void probe_hcall_exit(unsigned long opcode, unsigned long retval, | 117 | static void probe_hcall_exit(void *ignored, unsigned long opcode, unsigned long retval, |
118 | unsigned long *retbuf) | 118 | unsigned long *retbuf) |
119 | { | 119 | { |
120 | struct hcall_stats *h; | 120 | struct hcall_stats *h; |
@@ -140,11 +140,11 @@ static int __init hcall_inst_init(void) | |||
140 | if (!firmware_has_feature(FW_FEATURE_LPAR)) | 140 | if (!firmware_has_feature(FW_FEATURE_LPAR)) |
141 | return 0; | 141 | return 0; |
142 | 142 | ||
143 | if (register_trace_hcall_entry(probe_hcall_entry)) | 143 | if (register_trace_hcall_entry(probe_hcall_entry, NULL)) |
144 | return -EINVAL; | 144 | return -EINVAL; |
145 | 145 | ||
146 | if (register_trace_hcall_exit(probe_hcall_exit)) { | 146 | if (register_trace_hcall_exit(probe_hcall_exit, NULL)) { |
147 | unregister_trace_hcall_entry(probe_hcall_entry); | 147 | unregister_trace_hcall_entry(probe_hcall_entry, NULL); |
148 | return -EINVAL; | 148 | return -EINVAL; |
149 | } | 149 | } |
150 | 150 | ||
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index 1a0000a4b6d6..395848e30c52 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c | |||
@@ -66,7 +66,7 @@ static int tce_build_pSeries(struct iommu_table *tbl, long index, | |||
66 | tcep = ((u64 *)tbl->it_base) + index; | 66 | tcep = ((u64 *)tbl->it_base) + index; |
67 | 67 | ||
68 | while (npages--) { | 68 | while (npages--) { |
69 | /* can't move this out since we might cross LMB boundary */ | 69 | /* can't move this out since we might cross MEMBLOCK boundary */ |
70 | rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; | 70 | rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; |
71 | *tcep = proto_tce | (rpn & TCE_RPN_MASK) << TCE_RPN_SHIFT; | 71 | *tcep = proto_tce | (rpn & TCE_RPN_MASK) << TCE_RPN_SHIFT; |
72 | 72 | ||
@@ -468,7 +468,7 @@ static void pci_dma_dev_setup_pSeries(struct pci_dev *dev) | |||
468 | 468 | ||
469 | pr_debug("pci_dma_dev_setup_pSeries: %s\n", pci_name(dev)); | 469 | pr_debug("pci_dma_dev_setup_pSeries: %s\n", pci_name(dev)); |
470 | 470 | ||
471 | dn = dev->dev.archdata.of_node; | 471 | dn = dev->dev.of_node; |
472 | 472 | ||
473 | /* If we're the direct child of a root bus, then we need to allocate | 473 | /* If we're the direct child of a root bus, then we need to allocate |
474 | * an iommu table ourselves. The bus setup code should have setup | 474 | * an iommu table ourselves. The bus setup code should have setup |
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c index 0707653612ba..cf79b46d8f88 100644 --- a/arch/powerpc/platforms/pseries/lpar.c +++ b/arch/powerpc/platforms/pseries/lpar.c | |||
@@ -367,21 +367,28 @@ static void pSeries_lpar_hptab_clear(void) | |||
367 | { | 367 | { |
368 | unsigned long size_bytes = 1UL << ppc64_pft_size; | 368 | unsigned long size_bytes = 1UL << ppc64_pft_size; |
369 | unsigned long hpte_count = size_bytes >> 4; | 369 | unsigned long hpte_count = size_bytes >> 4; |
370 | unsigned long dummy1, dummy2, dword0; | 370 | struct { |
371 | unsigned long pteh; | ||
372 | unsigned long ptel; | ||
373 | } ptes[4]; | ||
371 | long lpar_rc; | 374 | long lpar_rc; |
372 | int i; | 375 | int i, j; |
373 | 376 | ||
374 | /* TODO: Use bulk call */ | 377 | /* Read in batches of 4, |
375 | for (i = 0; i < hpte_count; i++) { | 378 | * invalidate only valid entries not in the VRMA |
376 | /* dont remove HPTEs with VRMA mappings */ | 379 | * hpte_count will be a multiple of 4 |
377 | lpar_rc = plpar_pte_remove_raw(H_ANDCOND, i, HPTE_V_1TB_SEG, | 380 | */ |
378 | &dummy1, &dummy2); | 381 | for (i = 0; i < hpte_count; i += 4) { |
379 | if (lpar_rc == H_NOT_FOUND) { | 382 | lpar_rc = plpar_pte_read_4_raw(0, i, (void *)ptes); |
380 | lpar_rc = plpar_pte_read_raw(0, i, &dword0, &dummy1); | 383 | if (lpar_rc != H_SUCCESS) |
381 | if (!lpar_rc && ((dword0 & HPTE_V_VRMA_MASK) | 384 | continue; |
382 | != HPTE_V_VRMA_MASK)) | 385 | for (j = 0; j < 4; j++){ |
383 | /* Can be hpte for 1TB Seg. So remove it */ | 386 | if ((ptes[j].pteh & HPTE_V_VRMA_MASK) == |
384 | plpar_pte_remove_raw(0, i, 0, &dummy1, &dummy2); | 387 | HPTE_V_VRMA_MASK) |
388 | continue; | ||
389 | if (ptes[j].pteh & HPTE_V_VALID) | ||
390 | plpar_pte_remove_raw(0, i + j, 0, | ||
391 | &(ptes[j].pteh), &(ptes[j].ptel)); | ||
385 | } | 392 | } |
386 | } | 393 | } |
387 | } | 394 | } |
diff --git a/arch/powerpc/platforms/pseries/nvram.c b/arch/powerpc/platforms/pseries/nvram.c index 42f7e384e6c4..bc3c7f2abd79 100644 --- a/arch/powerpc/platforms/pseries/nvram.c +++ b/arch/powerpc/platforms/pseries/nvram.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/types.h> | 15 | #include <linux/types.h> |
16 | #include <linux/errno.h> | 16 | #include <linux/errno.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/slab.h> | ||
19 | #include <linux/spinlock.h> | 18 | #include <linux/spinlock.h> |
20 | #include <asm/uaccess.h> | 19 | #include <asm/uaccess.h> |
21 | #include <asm/nvram.h> | 20 | #include <asm/nvram.h> |
diff --git a/arch/powerpc/platforms/pseries/phyp_dump.c b/arch/powerpc/platforms/pseries/phyp_dump.c index 225a50ab14be..6e7742da0072 100644 --- a/arch/powerpc/platforms/pseries/phyp_dump.c +++ b/arch/powerpc/platforms/pseries/phyp_dump.c | |||
@@ -11,6 +11,7 @@ | |||
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/gfp.h> | ||
14 | #include <linux/init.h> | 15 | #include <linux/init.h> |
15 | #include <linux/kobject.h> | 16 | #include <linux/kobject.h> |
16 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
@@ -254,12 +255,12 @@ void invalidate_last_dump(struct phyp_dump_header *ph, unsigned long addr) | |||
254 | 255 | ||
255 | /* ------------------------------------------------- */ | 256 | /* ------------------------------------------------- */ |
256 | /** | 257 | /** |
257 | * release_memory_range -- release memory previously lmb_reserved | 258 | * release_memory_range -- release memory previously memblock_reserved |
258 | * @start_pfn: starting physical frame number | 259 | * @start_pfn: starting physical frame number |
259 | * @nr_pages: number of pages to free. | 260 | * @nr_pages: number of pages to free. |
260 | * | 261 | * |
261 | * This routine will release memory that had been previously | 262 | * This routine will release memory that had been previously |
262 | * lmb_reserved in early boot. The released memory becomes | 263 | * memblock_reserved in early boot. The released memory becomes |
263 | * available for genreal use. | 264 | * available for genreal use. |
264 | */ | 265 | */ |
265 | static void release_memory_range(unsigned long start_pfn, | 266 | static void release_memory_range(unsigned long start_pfn, |
diff --git a/arch/powerpc/platforms/pseries/plpar_wrappers.h b/arch/powerpc/platforms/pseries/plpar_wrappers.h index a05f8d427856..d9801117124b 100644 --- a/arch/powerpc/platforms/pseries/plpar_wrappers.h +++ b/arch/powerpc/platforms/pseries/plpar_wrappers.h | |||
@@ -4,6 +4,14 @@ | |||
4 | #include <asm/hvcall.h> | 4 | #include <asm/hvcall.h> |
5 | #include <asm/page.h> | 5 | #include <asm/page.h> |
6 | 6 | ||
7 | /* Get state of physical CPU from query_cpu_stopped */ | ||
8 | int smp_query_cpu_stopped(unsigned int pcpu); | ||
9 | #define QCSS_STOPPED 0 | ||
10 | #define QCSS_STOPPING 1 | ||
11 | #define QCSS_NOT_STOPPED 2 | ||
12 | #define QCSS_HARDWARE_ERROR -1 | ||
13 | #define QCSS_HARDWARE_BUSY -2 | ||
14 | |||
7 | static inline long poll_pending(void) | 15 | static inline long poll_pending(void) |
8 | { | 16 | { |
9 | return plpar_hcall_norets(H_POLL_PENDING); | 17 | return plpar_hcall_norets(H_POLL_PENDING); |
@@ -183,6 +191,24 @@ static inline long plpar_pte_read_raw(unsigned long flags, unsigned long ptex, | |||
183 | return rc; | 191 | return rc; |
184 | } | 192 | } |
185 | 193 | ||
194 | /* | ||
195 | * plpar_pte_read_4_raw can be called in real mode. | ||
196 | * ptes must be 8*sizeof(unsigned long) | ||
197 | */ | ||
198 | static inline long plpar_pte_read_4_raw(unsigned long flags, unsigned long ptex, | ||
199 | unsigned long *ptes) | ||
200 | |||
201 | { | ||
202 | long rc; | ||
203 | unsigned long retbuf[PLPAR_HCALL9_BUFSIZE]; | ||
204 | |||
205 | rc = plpar_hcall9_raw(H_READ, retbuf, flags | H_READ_4, ptex); | ||
206 | |||
207 | memcpy(ptes, retbuf, 8*sizeof(unsigned long)); | ||
208 | |||
209 | return rc; | ||
210 | } | ||
211 | |||
186 | static inline long plpar_pte_protect(unsigned long flags, unsigned long ptex, | 212 | static inline long plpar_pte_protect(unsigned long flags, unsigned long ptex, |
187 | unsigned long avpn) | 213 | unsigned long avpn) |
188 | { | 214 | { |
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h index 9e17c0d2a0c8..40c93cad91d2 100644 --- a/arch/powerpc/platforms/pseries/pseries.h +++ b/arch/powerpc/platforms/pseries/pseries.h | |||
@@ -10,6 +10,13 @@ | |||
10 | #ifndef _PSERIES_PSERIES_H | 10 | #ifndef _PSERIES_PSERIES_H |
11 | #define _PSERIES_PSERIES_H | 11 | #define _PSERIES_PSERIES_H |
12 | 12 | ||
13 | #include <linux/interrupt.h> | ||
14 | |||
15 | struct device_node; | ||
16 | |||
17 | extern void request_event_sources_irqs(struct device_node *np, | ||
18 | irq_handler_t handler, const char *name); | ||
19 | |||
13 | extern void __init fw_feature_init(const char *hypertas, unsigned long len); | 20 | extern void __init fw_feature_init(const char *hypertas, unsigned long len); |
14 | 21 | ||
15 | struct pt_regs; | 22 | struct pt_regs; |
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index d20b96e22c2e..41a3e9a039ed 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <linux/interrupt.h> | 30 | #include <linux/interrupt.h> |
31 | #include <linux/timex.h> | 31 | #include <linux/timex.h> |
32 | #include <linux/init.h> | 32 | #include <linux/init.h> |
33 | #include <linux/slab.h> | ||
34 | #include <linux/delay.h> | 33 | #include <linux/delay.h> |
35 | #include <linux/irq.h> | 34 | #include <linux/irq.h> |
36 | #include <linux/random.h> | 35 | #include <linux/random.h> |
@@ -68,63 +67,6 @@ static irqreturn_t ras_epow_interrupt(int irq, void *dev_id); | |||
68 | static irqreturn_t ras_error_interrupt(int irq, void *dev_id); | 67 | static irqreturn_t ras_error_interrupt(int irq, void *dev_id); |
69 | 68 | ||
70 | 69 | ||
71 | static void request_ras_irqs(struct device_node *np, | ||
72 | irq_handler_t handler, | ||
73 | const char *name) | ||
74 | { | ||
75 | int i, index, count = 0; | ||
76 | struct of_irq oirq; | ||
77 | const u32 *opicprop; | ||
78 | unsigned int opicplen; | ||
79 | unsigned int virqs[16]; | ||
80 | |||
81 | /* Check for obsolete "open-pic-interrupt" property. If present, then | ||
82 | * map those interrupts using the default interrupt host and default | ||
83 | * trigger | ||
84 | */ | ||
85 | opicprop = of_get_property(np, "open-pic-interrupt", &opicplen); | ||
86 | if (opicprop) { | ||
87 | opicplen /= sizeof(u32); | ||
88 | for (i = 0; i < opicplen; i++) { | ||
89 | if (count > 15) | ||
90 | break; | ||
91 | virqs[count] = irq_create_mapping(NULL, *(opicprop++)); | ||
92 | if (virqs[count] == NO_IRQ) | ||
93 | printk(KERN_ERR "Unable to allocate interrupt " | ||
94 | "number for %s\n", np->full_name); | ||
95 | else | ||
96 | count++; | ||
97 | |||
98 | } | ||
99 | } | ||
100 | /* Else use normal interrupt tree parsing */ | ||
101 | else { | ||
102 | /* First try to do a proper OF tree parsing */ | ||
103 | for (index = 0; of_irq_map_one(np, index, &oirq) == 0; | ||
104 | index++) { | ||
105 | if (count > 15) | ||
106 | break; | ||
107 | virqs[count] = irq_create_of_mapping(oirq.controller, | ||
108 | oirq.specifier, | ||
109 | oirq.size); | ||
110 | if (virqs[count] == NO_IRQ) | ||
111 | printk(KERN_ERR "Unable to allocate interrupt " | ||
112 | "number for %s\n", np->full_name); | ||
113 | else | ||
114 | count++; | ||
115 | } | ||
116 | } | ||
117 | |||
118 | /* Now request them */ | ||
119 | for (i = 0; i < count; i++) { | ||
120 | if (request_irq(virqs[i], handler, 0, name, NULL)) { | ||
121 | printk(KERN_ERR "Unable to request interrupt %d for " | ||
122 | "%s\n", virqs[i], np->full_name); | ||
123 | return; | ||
124 | } | ||
125 | } | ||
126 | } | ||
127 | |||
128 | /* | 70 | /* |
129 | * Initialize handlers for the set of interrupts caused by hardware errors | 71 | * Initialize handlers for the set of interrupts caused by hardware errors |
130 | * and power system events. | 72 | * and power system events. |
@@ -139,14 +81,15 @@ static int __init init_ras_IRQ(void) | |||
139 | /* Internal Errors */ | 81 | /* Internal Errors */ |
140 | np = of_find_node_by_path("/event-sources/internal-errors"); | 82 | np = of_find_node_by_path("/event-sources/internal-errors"); |
141 | if (np != NULL) { | 83 | if (np != NULL) { |
142 | request_ras_irqs(np, ras_error_interrupt, "RAS_ERROR"); | 84 | request_event_sources_irqs(np, ras_error_interrupt, |
85 | "RAS_ERROR"); | ||
143 | of_node_put(np); | 86 | of_node_put(np); |
144 | } | 87 | } |
145 | 88 | ||
146 | /* EPOW Events */ | 89 | /* EPOW Events */ |
147 | np = of_find_node_by_path("/event-sources/epow-events"); | 90 | np = of_find_node_by_path("/event-sources/epow-events"); |
148 | if (np != NULL) { | 91 | if (np != NULL) { |
149 | request_ras_irqs(np, ras_epow_interrupt, "RAS_EPOW"); | 92 | request_event_sources_irqs(np, ras_epow_interrupt, "RAS_EPOW"); |
150 | of_node_put(np); | 93 | of_node_put(np); |
151 | } | 94 | } |
152 | 95 | ||
diff --git a/arch/powerpc/platforms/pseries/reconfig.c b/arch/powerpc/platforms/pseries/reconfig.c index a2305d29bbbd..1a58637bcea5 100644 --- a/arch/powerpc/platforms/pseries/reconfig.c +++ b/arch/powerpc/platforms/pseries/reconfig.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/kref.h> | 15 | #include <linux/kref.h> |
16 | #include <linux/notifier.h> | 16 | #include <linux/notifier.h> |
17 | #include <linux/proc_fs.h> | 17 | #include <linux/proc_fs.h> |
18 | #include <linux/slab.h> | ||
18 | 19 | ||
19 | #include <asm/prom.h> | 20 | #include <asm/prom.h> |
20 | #include <asm/machdep.h> | 21 | #include <asm/machdep.h> |
diff --git a/arch/powerpc/platforms/pseries/scanlog.c b/arch/powerpc/platforms/pseries/scanlog.c index 1b45c458f952..80e9e7652a4d 100644 --- a/arch/powerpc/platforms/pseries/scanlog.c +++ b/arch/powerpc/platforms/pseries/scanlog.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/proc_fs.h> | 26 | #include <linux/proc_fs.h> |
27 | #include <linux/init.h> | 27 | #include <linux/init.h> |
28 | #include <linux/delay.h> | 28 | #include <linux/delay.h> |
29 | #include <linux/slab.h> | ||
29 | #include <asm/uaccess.h> | 30 | #include <asm/uaccess.h> |
30 | #include <asm/rtas.h> | 31 | #include <asm/rtas.h> |
31 | #include <asm/prom.h> | 32 | #include <asm/prom.h> |
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index ca5f2e10972c..a6d19e3a505e 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
24 | #include <linux/stddef.h> | 24 | #include <linux/stddef.h> |
25 | #include <linux/unistd.h> | 25 | #include <linux/unistd.h> |
26 | #include <linux/slab.h> | ||
27 | #include <linux/user.h> | 26 | #include <linux/user.h> |
28 | #include <linux/tty.h> | 27 | #include <linux/tty.h> |
29 | #include <linux/major.h> | 28 | #include <linux/major.h> |
@@ -497,13 +496,14 @@ static int __init pSeries_probe(void) | |||
497 | } | 496 | } |
498 | 497 | ||
499 | 498 | ||
500 | DECLARE_PER_CPU(unsigned long, smt_snooze_delay); | 499 | DECLARE_PER_CPU(long, smt_snooze_delay); |
501 | 500 | ||
502 | static void pseries_dedicated_idle_sleep(void) | 501 | static void pseries_dedicated_idle_sleep(void) |
503 | { | 502 | { |
504 | unsigned int cpu = smp_processor_id(); | 503 | unsigned int cpu = smp_processor_id(); |
505 | unsigned long start_snooze; | 504 | unsigned long start_snooze; |
506 | unsigned long in_purr, out_purr; | 505 | unsigned long in_purr, out_purr; |
506 | long snooze = __get_cpu_var(smt_snooze_delay); | ||
507 | 507 | ||
508 | /* | 508 | /* |
509 | * Indicate to the HV that we are idle. Now would be | 509 | * Indicate to the HV that we are idle. Now would be |
@@ -518,13 +518,12 @@ static void pseries_dedicated_idle_sleep(void) | |||
518 | * has been checked recently. If we should poll for a little | 518 | * has been checked recently. If we should poll for a little |
519 | * while, do so. | 519 | * while, do so. |
520 | */ | 520 | */ |
521 | if (__get_cpu_var(smt_snooze_delay)) { | 521 | if (snooze) { |
522 | start_snooze = get_tb() + | 522 | start_snooze = get_tb() + snooze * tb_ticks_per_usec; |
523 | __get_cpu_var(smt_snooze_delay) * tb_ticks_per_usec; | ||
524 | local_irq_enable(); | 523 | local_irq_enable(); |
525 | set_thread_flag(TIF_POLLING_NRFLAG); | 524 | set_thread_flag(TIF_POLLING_NRFLAG); |
526 | 525 | ||
527 | while (get_tb() < start_snooze) { | 526 | while ((snooze < 0) || (get_tb() < start_snooze)) { |
528 | if (need_resched() || cpu_is_offline(cpu)) | 527 | if (need_resched() || cpu_is_offline(cpu)) |
529 | goto out; | 528 | goto out; |
530 | ppc64_runlatch_off(); | 529 | ppc64_runlatch_off(); |
diff --git a/arch/powerpc/platforms/pseries/smp.c b/arch/powerpc/platforms/pseries/smp.c index 4e7f89a84561..3b1bf61c45be 100644 --- a/arch/powerpc/platforms/pseries/smp.c +++ b/arch/powerpc/platforms/pseries/smp.c | |||
@@ -55,7 +55,29 @@ | |||
55 | * The Primary thread of each non-boot processor was started from the OF client | 55 | * The Primary thread of each non-boot processor was started from the OF client |
56 | * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop. | 56 | * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop. |
57 | */ | 57 | */ |
58 | static cpumask_t of_spin_map; | 58 | static cpumask_var_t of_spin_mask; |
59 | |||
60 | /* Query where a cpu is now. Return codes #defined in plpar_wrappers.h */ | ||
61 | int smp_query_cpu_stopped(unsigned int pcpu) | ||
62 | { | ||
63 | int cpu_status, status; | ||
64 | int qcss_tok = rtas_token("query-cpu-stopped-state"); | ||
65 | |||
66 | if (qcss_tok == RTAS_UNKNOWN_SERVICE) { | ||
67 | printk(KERN_INFO "Firmware doesn't support " | ||
68 | "query-cpu-stopped-state\n"); | ||
69 | return QCSS_HARDWARE_ERROR; | ||
70 | } | ||
71 | |||
72 | status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu); | ||
73 | if (status != 0) { | ||
74 | printk(KERN_ERR | ||
75 | "RTAS query-cpu-stopped-state failed: %i\n", status); | ||
76 | return status; | ||
77 | } | ||
78 | |||
79 | return cpu_status; | ||
80 | } | ||
59 | 81 | ||
60 | /** | 82 | /** |
61 | * smp_startup_cpu() - start the given cpu | 83 | * smp_startup_cpu() - start the given cpu |
@@ -76,12 +98,18 @@ static inline int __devinit smp_startup_cpu(unsigned int lcpu) | |||
76 | unsigned int pcpu; | 98 | unsigned int pcpu; |
77 | int start_cpu; | 99 | int start_cpu; |
78 | 100 | ||
79 | if (cpu_isset(lcpu, of_spin_map)) | 101 | if (cpumask_test_cpu(lcpu, of_spin_mask)) |
80 | /* Already started by OF and sitting in spin loop */ | 102 | /* Already started by OF and sitting in spin loop */ |
81 | return 1; | 103 | return 1; |
82 | 104 | ||
83 | pcpu = get_hard_smp_processor_id(lcpu); | 105 | pcpu = get_hard_smp_processor_id(lcpu); |
84 | 106 | ||
107 | /* Check to see if the CPU out of FW already for kexec */ | ||
108 | if (smp_query_cpu_stopped(pcpu) == QCSS_NOT_STOPPED){ | ||
109 | cpumask_set_cpu(lcpu, of_spin_mask); | ||
110 | return 1; | ||
111 | } | ||
112 | |||
85 | /* Fixup atomic count: it exited inside IRQ handler. */ | 113 | /* Fixup atomic count: it exited inside IRQ handler. */ |
86 | task_thread_info(paca[lcpu].__current)->preempt_count = 0; | 114 | task_thread_info(paca[lcpu].__current)->preempt_count = 0; |
87 | 115 | ||
@@ -115,7 +143,7 @@ static void __devinit smp_xics_setup_cpu(int cpu) | |||
115 | if (firmware_has_feature(FW_FEATURE_SPLPAR)) | 143 | if (firmware_has_feature(FW_FEATURE_SPLPAR)) |
116 | vpa_init(cpu); | 144 | vpa_init(cpu); |
117 | 145 | ||
118 | cpu_clear(cpu, of_spin_map); | 146 | cpumask_clear_cpu(cpu, of_spin_mask); |
119 | set_cpu_current_state(cpu, CPU_STATE_ONLINE); | 147 | set_cpu_current_state(cpu, CPU_STATE_ONLINE); |
120 | set_default_offline_state(cpu); | 148 | set_default_offline_state(cpu); |
121 | 149 | ||
@@ -186,17 +214,19 @@ static void __init smp_init_pseries(void) | |||
186 | 214 | ||
187 | pr_debug(" -> smp_init_pSeries()\n"); | 215 | pr_debug(" -> smp_init_pSeries()\n"); |
188 | 216 | ||
217 | alloc_bootmem_cpumask_var(&of_spin_mask); | ||
218 | |||
189 | /* Mark threads which are still spinning in hold loops. */ | 219 | /* Mark threads which are still spinning in hold loops. */ |
190 | if (cpu_has_feature(CPU_FTR_SMT)) { | 220 | if (cpu_has_feature(CPU_FTR_SMT)) { |
191 | for_each_present_cpu(i) { | 221 | for_each_present_cpu(i) { |
192 | if (cpu_thread_in_core(i) == 0) | 222 | if (cpu_thread_in_core(i) == 0) |
193 | cpu_set(i, of_spin_map); | 223 | cpumask_set_cpu(i, of_spin_mask); |
194 | } | 224 | } |
195 | } else { | 225 | } else { |
196 | of_spin_map = cpu_present_map; | 226 | cpumask_copy(of_spin_mask, cpu_present_mask); |
197 | } | 227 | } |
198 | 228 | ||
199 | cpu_clear(boot_cpuid, of_spin_map); | 229 | cpumask_clear_cpu(boot_cpuid, of_spin_mask); |
200 | 230 | ||
201 | /* Non-lpar has additional take/give timebase */ | 231 | /* Non-lpar has additional take/give timebase */ |
202 | if (rtas_token("freeze-time-base") != RTAS_UNKNOWN_SERVICE) { | 232 | if (rtas_token("freeze-time-base") != RTAS_UNKNOWN_SERVICE) { |
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c index 1bcedd8b4616..f19d19468393 100644 --- a/arch/powerpc/platforms/pseries/xics.c +++ b/arch/powerpc/platforms/pseries/xics.c | |||
@@ -163,29 +163,37 @@ static inline void lpar_qirr_info(int n_cpu , u8 value) | |||
163 | /* Interface to generic irq subsystem */ | 163 | /* Interface to generic irq subsystem */ |
164 | 164 | ||
165 | #ifdef CONFIG_SMP | 165 | #ifdef CONFIG_SMP |
166 | static int get_irq_server(unsigned int virq, cpumask_t cpumask, | 166 | /* |
167 | * For the moment we only implement delivery to all cpus or one cpu. | ||
168 | * | ||
169 | * If the requested affinity is cpu_all_mask, we set global affinity. | ||
170 | * If not we set it to the first cpu in the mask, even if multiple cpus | ||
171 | * are set. This is so things like irqbalance (which set core and package | ||
172 | * wide affinities) do the right thing. | ||
173 | */ | ||
174 | static int get_irq_server(unsigned int virq, const struct cpumask *cpumask, | ||
167 | unsigned int strict_check) | 175 | unsigned int strict_check) |
168 | { | 176 | { |
169 | int server; | ||
170 | /* For the moment only implement delivery to all cpus or one cpu */ | ||
171 | cpumask_t tmp = CPU_MASK_NONE; | ||
172 | 177 | ||
173 | if (!distribute_irqs) | 178 | if (!distribute_irqs) |
174 | return default_server; | 179 | return default_server; |
175 | 180 | ||
176 | if (!cpus_equal(cpumask, CPU_MASK_ALL)) { | 181 | if (!cpumask_equal(cpumask, cpu_all_mask)) { |
177 | cpus_and(tmp, cpu_online_map, cpumask); | 182 | int server = cpumask_first_and(cpu_online_mask, cpumask); |
178 | |||
179 | server = first_cpu(tmp); | ||
180 | 183 | ||
181 | if (server < NR_CPUS) | 184 | if (server < nr_cpu_ids) |
182 | return get_hard_smp_processor_id(server); | 185 | return get_hard_smp_processor_id(server); |
183 | 186 | ||
184 | if (strict_check) | 187 | if (strict_check) |
185 | return -1; | 188 | return -1; |
186 | } | 189 | } |
187 | 190 | ||
188 | if (cpus_equal(cpu_online_map, cpu_present_map)) | 191 | /* |
192 | * Workaround issue with some versions of JS20 firmware that | ||
193 | * deliver interrupts to cpus which haven't been started. This | ||
194 | * happens when using the maxcpus= boot option. | ||
195 | */ | ||
196 | if (cpumask_equal(cpu_online_mask, cpu_present_mask)) | ||
189 | return default_distrib_server; | 197 | return default_distrib_server; |
190 | 198 | ||
191 | return default_server; | 199 | return default_server; |
@@ -207,7 +215,7 @@ static void xics_unmask_irq(unsigned int virq) | |||
207 | if (irq == XICS_IPI || irq == XICS_IRQ_SPURIOUS) | 215 | if (irq == XICS_IPI || irq == XICS_IRQ_SPURIOUS) |
208 | return; | 216 | return; |
209 | 217 | ||
210 | server = get_irq_server(virq, *(irq_to_desc(virq)->affinity), 0); | 218 | server = get_irq_server(virq, irq_to_desc(virq)->affinity, 0); |
211 | 219 | ||
212 | call_status = rtas_call(ibm_set_xive, 3, 1, NULL, irq, server, | 220 | call_status = rtas_call(ibm_set_xive, 3, 1, NULL, irq, server, |
213 | DEFAULT_PRIORITY); | 221 | DEFAULT_PRIORITY); |
@@ -398,11 +406,7 @@ static int xics_set_affinity(unsigned int virq, const struct cpumask *cpumask) | |||
398 | return -1; | 406 | return -1; |
399 | } | 407 | } |
400 | 408 | ||
401 | /* | 409 | irq_server = get_irq_server(virq, cpumask, 1); |
402 | * For the moment only implement delivery to all cpus or one cpu. | ||
403 | * Get current irq_server for the given irq | ||
404 | */ | ||
405 | irq_server = get_irq_server(virq, *cpumask, 1); | ||
406 | if (irq_server == -1) { | 410 | if (irq_server == -1) { |
407 | char cpulist[128]; | 411 | char cpulist[128]; |
408 | cpumask_scnprintf(cpulist, sizeof(cpulist), cpumask); | 412 | cpumask_scnprintf(cpulist, sizeof(cpulist), cpumask); |
@@ -611,7 +615,7 @@ int __init smp_xics_probe(void) | |||
611 | { | 615 | { |
612 | xics_request_ipi(); | 616 | xics_request_ipi(); |
613 | 617 | ||
614 | return cpus_weight(cpu_possible_map); | 618 | return cpumask_weight(cpu_possible_mask); |
615 | } | 619 | } |
616 | 620 | ||
617 | #endif /* CONFIG_SMP */ | 621 | #endif /* CONFIG_SMP */ |
diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c index 88f4ae787832..402d2212162f 100644 --- a/arch/powerpc/sysdev/axonram.c +++ b/arch/powerpc/sysdev/axonram.c | |||
@@ -185,7 +185,7 @@ axon_ram_probe(struct of_device *device, const struct of_device_id *device_id) | |||
185 | axon_ram_bank_id++; | 185 | axon_ram_bank_id++; |
186 | 186 | ||
187 | dev_info(&device->dev, "Found memory controller on %s\n", | 187 | dev_info(&device->dev, "Found memory controller on %s\n", |
188 | device->node->full_name); | 188 | device->dev.of_node->full_name); |
189 | 189 | ||
190 | bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL); | 190 | bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL); |
191 | if (bank == NULL) { | 191 | if (bank == NULL) { |
@@ -198,7 +198,7 @@ axon_ram_probe(struct of_device *device, const struct of_device_id *device_id) | |||
198 | 198 | ||
199 | bank->device = device; | 199 | bank->device = device; |
200 | 200 | ||
201 | if (of_address_to_resource(device->node, 0, &resource) != 0) { | 201 | if (of_address_to_resource(device->dev.of_node, 0, &resource) != 0) { |
202 | dev_err(&device->dev, "Cannot access device tree\n"); | 202 | dev_err(&device->dev, "Cannot access device tree\n"); |
203 | rc = -EFAULT; | 203 | rc = -EFAULT; |
204 | goto failed; | 204 | goto failed; |
@@ -253,7 +253,7 @@ axon_ram_probe(struct of_device *device, const struct of_device_id *device_id) | |||
253 | blk_queue_logical_block_size(bank->disk->queue, AXON_RAM_SECTOR_SIZE); | 253 | blk_queue_logical_block_size(bank->disk->queue, AXON_RAM_SECTOR_SIZE); |
254 | add_disk(bank->disk); | 254 | add_disk(bank->disk); |
255 | 255 | ||
256 | bank->irq_id = irq_of_parse_and_map(device->node, 0); | 256 | bank->irq_id = irq_of_parse_and_map(device->dev.of_node, 0); |
257 | if (bank->irq_id == NO_IRQ) { | 257 | if (bank->irq_id == NO_IRQ) { |
258 | dev_err(&device->dev, "Cannot access ECC interrupt ID\n"); | 258 | dev_err(&device->dev, "Cannot access ECC interrupt ID\n"); |
259 | rc = -EFAULT; | 259 | rc = -EFAULT; |
@@ -327,12 +327,12 @@ static struct of_device_id axon_ram_device_id[] = { | |||
327 | }; | 327 | }; |
328 | 328 | ||
329 | static struct of_platform_driver axon_ram_driver = { | 329 | static struct of_platform_driver axon_ram_driver = { |
330 | .match_table = axon_ram_device_id, | ||
331 | .probe = axon_ram_probe, | 330 | .probe = axon_ram_probe, |
332 | .remove = axon_ram_remove, | 331 | .remove = axon_ram_remove, |
333 | .driver = { | 332 | .driver = { |
334 | .owner = THIS_MODULE, | 333 | .name = AXON_RAM_MODULE_NAME, |
335 | .name = AXON_RAM_MODULE_NAME, | 334 | .owner = THIS_MODULE, |
335 | .of_match_table = axon_ram_device_id, | ||
336 | }, | 336 | }, |
337 | }; | 337 | }; |
338 | 338 | ||
diff --git a/arch/powerpc/sysdev/bestcomm/bestcomm.c b/arch/powerpc/sysdev/bestcomm/bestcomm.c index 378ebd9aac18..a7c5c470af14 100644 --- a/arch/powerpc/sysdev/bestcomm/bestcomm.c +++ b/arch/powerpc/sysdev/bestcomm/bestcomm.c | |||
@@ -377,7 +377,7 @@ mpc52xx_bcom_probe(struct of_device *op, const struct of_device_id *match) | |||
377 | printk(KERN_INFO "DMA: MPC52xx BestComm driver\n"); | 377 | printk(KERN_INFO "DMA: MPC52xx BestComm driver\n"); |
378 | 378 | ||
379 | /* Get the bestcomm node */ | 379 | /* Get the bestcomm node */ |
380 | of_node_get(op->node); | 380 | of_node_get(op->dev.of_node); |
381 | 381 | ||
382 | /* Prepare SRAM */ | 382 | /* Prepare SRAM */ |
383 | ofn_sram = of_find_matching_node(NULL, mpc52xx_sram_ids); | 383 | ofn_sram = of_find_matching_node(NULL, mpc52xx_sram_ids); |
@@ -406,10 +406,10 @@ mpc52xx_bcom_probe(struct of_device *op, const struct of_device_id *match) | |||
406 | } | 406 | } |
407 | 407 | ||
408 | /* Save the node */ | 408 | /* Save the node */ |
409 | bcom_eng->ofnode = op->node; | 409 | bcom_eng->ofnode = op->dev.of_node; |
410 | 410 | ||
411 | /* Get, reserve & map io */ | 411 | /* Get, reserve & map io */ |
412 | if (of_address_to_resource(op->node, 0, &res_bcom)) { | 412 | if (of_address_to_resource(op->dev.of_node, 0, &res_bcom)) { |
413 | printk(KERN_ERR DRIVER_NAME ": " | 413 | printk(KERN_ERR DRIVER_NAME ": " |
414 | "Can't get resource\n"); | 414 | "Can't get resource\n"); |
415 | rv = -EINVAL; | 415 | rv = -EINVAL; |
@@ -453,7 +453,7 @@ error_sramclean: | |||
453 | kfree(bcom_eng); | 453 | kfree(bcom_eng); |
454 | bcom_sram_cleanup(); | 454 | bcom_sram_cleanup(); |
455 | error_ofput: | 455 | error_ofput: |
456 | of_node_put(op->node); | 456 | of_node_put(op->dev.of_node); |
457 | 457 | ||
458 | printk(KERN_ERR "DMA: MPC52xx BestComm init failed !\n"); | 458 | printk(KERN_ERR "DMA: MPC52xx BestComm init failed !\n"); |
459 | 459 | ||
@@ -494,14 +494,12 @@ MODULE_DEVICE_TABLE(of, mpc52xx_bcom_of_match); | |||
494 | 494 | ||
495 | 495 | ||
496 | static struct of_platform_driver mpc52xx_bcom_of_platform_driver = { | 496 | static struct of_platform_driver mpc52xx_bcom_of_platform_driver = { |
497 | .owner = THIS_MODULE, | ||
498 | .name = DRIVER_NAME, | ||
499 | .match_table = mpc52xx_bcom_of_match, | ||
500 | .probe = mpc52xx_bcom_probe, | 497 | .probe = mpc52xx_bcom_probe, |
501 | .remove = mpc52xx_bcom_remove, | 498 | .remove = mpc52xx_bcom_remove, |
502 | .driver = { | 499 | .driver = { |
503 | .name = DRIVER_NAME, | 500 | .name = DRIVER_NAME, |
504 | .owner = THIS_MODULE, | 501 | .owner = THIS_MODULE, |
502 | .of_match_table = mpc52xx_bcom_of_match, | ||
505 | }, | 503 | }, |
506 | }; | 504 | }; |
507 | 505 | ||
diff --git a/arch/powerpc/sysdev/cpm1.c b/arch/powerpc/sysdev/cpm1.c index ecad10d4e928..8d103ca6d6ab 100644 --- a/arch/powerpc/sysdev/cpm1.c +++ b/arch/powerpc/sysdev/cpm1.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/irq.h> | 31 | #include <linux/irq.h> |
32 | #include <linux/module.h> | 32 | #include <linux/module.h> |
33 | #include <linux/spinlock.h> | 33 | #include <linux/spinlock.h> |
34 | #include <linux/slab.h> | ||
34 | #include <asm/page.h> | 35 | #include <asm/page.h> |
35 | #include <asm/pgtable.h> | 36 | #include <asm/pgtable.h> |
36 | #include <asm/8xx_immap.h> | 37 | #include <asm/8xx_immap.h> |
@@ -485,9 +486,6 @@ int cpm1_clk_setup(enum cpm_clk_target target, int clock, int mode) | |||
485 | return -EINVAL; | 486 | return -EINVAL; |
486 | } | 487 | } |
487 | 488 | ||
488 | if (reg == &mpc8xx_immr->im_cpm.cp_sicr && mode == CPM_CLK_RX) | ||
489 | shift += 3; | ||
490 | |||
491 | for (i = 0; i < ARRAY_SIZE(clk_map); i++) { | 489 | for (i = 0; i < ARRAY_SIZE(clk_map); i++) { |
492 | if (clk_map[i][0] == target && clk_map[i][1] == clock) { | 490 | if (clk_map[i][0] == target && clk_map[i][1] == clock) { |
493 | bits = clk_map[i][2]; | 491 | bits = clk_map[i][2]; |
@@ -502,6 +500,17 @@ int cpm1_clk_setup(enum cpm_clk_target target, int clock, int mode) | |||
502 | 500 | ||
503 | bits <<= shift; | 501 | bits <<= shift; |
504 | mask <<= shift; | 502 | mask <<= shift; |
503 | |||
504 | if (reg == &mpc8xx_immr->im_cpm.cp_sicr) { | ||
505 | if (mode == CPM_CLK_RTX) { | ||
506 | bits |= bits << 3; | ||
507 | mask |= mask << 3; | ||
508 | } else if (mode == CPM_CLK_RX) { | ||
509 | bits <<= 3; | ||
510 | mask <<= 3; | ||
511 | } | ||
512 | } | ||
513 | |||
505 | out_be32(reg, (in_be32(reg) & ~mask) | bits); | 514 | out_be32(reg, (in_be32(reg) & ~mask) | bits); |
506 | 515 | ||
507 | return 0; | 516 | return 0; |
diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c index eb5927212fab..8dc1e24f3c23 100644 --- a/arch/powerpc/sysdev/cpm2.c +++ b/arch/powerpc/sysdev/cpm2.c | |||
@@ -244,9 +244,6 @@ int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode) | |||
244 | return -EINVAL; | 244 | return -EINVAL; |
245 | } | 245 | } |
246 | 246 | ||
247 | if (mode == CPM_CLK_RX) | ||
248 | shift += 3; | ||
249 | |||
250 | for (i = 0; i < ARRAY_SIZE(clk_map); i++) { | 247 | for (i = 0; i < ARRAY_SIZE(clk_map); i++) { |
251 | if (clk_map[i][0] == target && clk_map[i][1] == clock) { | 248 | if (clk_map[i][0] == target && clk_map[i][1] == clock) { |
252 | bits = clk_map[i][2]; | 249 | bits = clk_map[i][2]; |
@@ -259,6 +256,14 @@ int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode) | |||
259 | bits <<= shift; | 256 | bits <<= shift; |
260 | mask <<= shift; | 257 | mask <<= shift; |
261 | 258 | ||
259 | if (mode == CPM_CLK_RTX) { | ||
260 | bits |= bits << 3; | ||
261 | mask |= mask << 3; | ||
262 | } else if (mode == CPM_CLK_RX) { | ||
263 | bits <<= 3; | ||
264 | mask <<= 3; | ||
265 | } | ||
266 | |||
262 | out_be32(reg, (in_be32(reg) & ~mask) | bits); | 267 | out_be32(reg, (in_be32(reg) & ~mask) | bits); |
263 | 268 | ||
264 | cpm2_unmap(im_cpmux); | 269 | cpm2_unmap(im_cpmux); |
diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c index 9de72c96e6d1..88b9812c854f 100644 --- a/arch/powerpc/sysdev/cpm_common.c +++ b/arch/powerpc/sysdev/cpm_common.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/of_device.h> | 21 | #include <linux/of_device.h> |
22 | #include <linux/spinlock.h> | 22 | #include <linux/spinlock.h> |
23 | #include <linux/of.h> | 23 | #include <linux/of.h> |
24 | #include <linux/slab.h> | ||
24 | 25 | ||
25 | #include <asm/udbg.h> | 26 | #include <asm/udbg.h> |
26 | #include <asm/io.h> | 27 | #include <asm/io.h> |
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index bafc3f85360d..559db2b846a9 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c | |||
@@ -29,7 +29,6 @@ | |||
29 | 29 | ||
30 | #include <linux/init.h> | 30 | #include <linux/init.h> |
31 | #include <linux/types.h> | 31 | #include <linux/types.h> |
32 | #include <linux/slab.h> | ||
33 | #include <linux/mm.h> | 32 | #include <linux/mm.h> |
34 | #include <linux/spinlock.h> | 33 | #include <linux/spinlock.h> |
35 | #include <linux/string.h> | 34 | #include <linux/string.h> |
@@ -37,7 +36,8 @@ | |||
37 | #include <linux/dma-mapping.h> | 36 | #include <linux/dma-mapping.h> |
38 | #include <linux/vmalloc.h> | 37 | #include <linux/vmalloc.h> |
39 | #include <linux/suspend.h> | 38 | #include <linux/suspend.h> |
40 | #include <linux/lmb.h> | 39 | #include <linux/memblock.h> |
40 | #include <linux/gfp.h> | ||
41 | #include <asm/io.h> | 41 | #include <asm/io.h> |
42 | #include <asm/prom.h> | 42 | #include <asm/prom.h> |
43 | #include <asm/iommu.h> | 43 | #include <asm/iommu.h> |
@@ -232,7 +232,7 @@ static int __init dart_init(struct device_node *dart_node) | |||
232 | * that to work around what looks like a problem with the HT bridge | 232 | * that to work around what looks like a problem with the HT bridge |
233 | * prefetching into invalid pages and corrupting data | 233 | * prefetching into invalid pages and corrupting data |
234 | */ | 234 | */ |
235 | tmp = lmb_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE); | 235 | tmp = memblock_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE); |
236 | dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) & | 236 | dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) & |
237 | DARTMAP_RPNMASK); | 237 | DARTMAP_RPNMASK); |
238 | 238 | ||
@@ -407,7 +407,7 @@ void __init alloc_dart_table(void) | |||
407 | if (iommu_is_off) | 407 | if (iommu_is_off) |
408 | return; | 408 | return; |
409 | 409 | ||
410 | if (!iommu_force_on && lmb_end_of_DRAM() <= 0x40000000ull) | 410 | if (!iommu_force_on && memblock_end_of_DRAM() <= 0x40000000ull) |
411 | return; | 411 | return; |
412 | 412 | ||
413 | /* 512 pages (2MB) is max DART tablesize. */ | 413 | /* 512 pages (2MB) is max DART tablesize. */ |
@@ -416,7 +416,7 @@ void __init alloc_dart_table(void) | |||
416 | * will blow up an entire large page anyway in the kernel mapping | 416 | * will blow up an entire large page anyway in the kernel mapping |
417 | */ | 417 | */ |
418 | dart_tablebase = (unsigned long) | 418 | dart_tablebase = (unsigned long) |
419 | abs_to_virt(lmb_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); | 419 | abs_to_virt(memblock_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); |
420 | 420 | ||
421 | printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase); | 421 | printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase); |
422 | } | 422 | } |
diff --git a/arch/powerpc/sysdev/fsl_gtm.c b/arch/powerpc/sysdev/fsl_gtm.c index 714ec02fed2e..eca4545dd52e 100644 --- a/arch/powerpc/sysdev/fsl_gtm.c +++ b/arch/powerpc/sysdev/fsl_gtm.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/of.h> | 20 | #include <linux/of.h> |
21 | #include <linux/spinlock.h> | 21 | #include <linux/spinlock.h> |
22 | #include <linux/bitops.h> | 22 | #include <linux/bitops.h> |
23 | #include <linux/slab.h> | ||
23 | #include <asm/fsl_gtm.h> | 24 | #include <asm/fsl_gtm.h> |
24 | 25 | ||
25 | #define GTCFR_STP(x) ((x) & 1 ? 1 << 5 : 1 << 1) | 26 | #define GTCFR_STP(x) ((x) & 1 ? 1 << 5 : 1 << 1) |
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index e094367d7739..962c2d8dd8d9 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2007-2008 Freescale Semiconductor, Inc. All rights reserved. | 2 | * Copyright (C) 2007-2010 Freescale Semiconductor, Inc. |
3 | * | 3 | * |
4 | * Author: Tony Li <tony.li@freescale.com> | 4 | * Author: Tony Li <tony.li@freescale.com> |
5 | * Jason Jin <Jason.jin@freescale.com> | 5 | * Jason Jin <Jason.jin@freescale.com> |
@@ -16,19 +16,26 @@ | |||
16 | #include <linux/bootmem.h> | 16 | #include <linux/bootmem.h> |
17 | #include <linux/msi.h> | 17 | #include <linux/msi.h> |
18 | #include <linux/pci.h> | 18 | #include <linux/pci.h> |
19 | #include <linux/slab.h> | ||
19 | #include <linux/of_platform.h> | 20 | #include <linux/of_platform.h> |
20 | #include <sysdev/fsl_soc.h> | 21 | #include <sysdev/fsl_soc.h> |
21 | #include <asm/prom.h> | 22 | #include <asm/prom.h> |
22 | #include <asm/hw_irq.h> | 23 | #include <asm/hw_irq.h> |
23 | #include <asm/ppc-pci.h> | 24 | #include <asm/ppc-pci.h> |
25 | #include <asm/mpic.h> | ||
24 | #include "fsl_msi.h" | 26 | #include "fsl_msi.h" |
25 | 27 | ||
28 | LIST_HEAD(msi_head); | ||
29 | |||
26 | struct fsl_msi_feature { | 30 | struct fsl_msi_feature { |
27 | u32 fsl_pic_ip; | 31 | u32 fsl_pic_ip; |
28 | u32 msiir_offset; | 32 | u32 msiir_offset; |
29 | }; | 33 | }; |
30 | 34 | ||
31 | static struct fsl_msi *fsl_msi; | 35 | struct fsl_msi_cascade_data { |
36 | struct fsl_msi *msi_data; | ||
37 | int index; | ||
38 | }; | ||
32 | 39 | ||
33 | static inline u32 fsl_msi_read(u32 __iomem *base, unsigned int reg) | 40 | static inline u32 fsl_msi_read(u32 __iomem *base, unsigned int reg) |
34 | { | 41 | { |
@@ -53,10 +60,12 @@ static struct irq_chip fsl_msi_chip = { | |||
53 | static int fsl_msi_host_map(struct irq_host *h, unsigned int virq, | 60 | static int fsl_msi_host_map(struct irq_host *h, unsigned int virq, |
54 | irq_hw_number_t hw) | 61 | irq_hw_number_t hw) |
55 | { | 62 | { |
63 | struct fsl_msi *msi_data = h->host_data; | ||
56 | struct irq_chip *chip = &fsl_msi_chip; | 64 | struct irq_chip *chip = &fsl_msi_chip; |
57 | 65 | ||
58 | irq_to_desc(virq)->status |= IRQ_TYPE_EDGE_FALLING; | 66 | irq_to_desc(virq)->status |= IRQ_TYPE_EDGE_FALLING; |
59 | 67 | ||
68 | set_irq_chip_data(virq, msi_data); | ||
60 | set_irq_chip_and_handler(virq, chip, handle_edge_irq); | 69 | set_irq_chip_and_handler(virq, chip, handle_edge_irq); |
61 | 70 | ||
62 | return 0; | 71 | return 0; |
@@ -95,11 +104,12 @@ static int fsl_msi_check_device(struct pci_dev *pdev, int nvec, int type) | |||
95 | static void fsl_teardown_msi_irqs(struct pci_dev *pdev) | 104 | static void fsl_teardown_msi_irqs(struct pci_dev *pdev) |
96 | { | 105 | { |
97 | struct msi_desc *entry; | 106 | struct msi_desc *entry; |
98 | struct fsl_msi *msi_data = fsl_msi; | 107 | struct fsl_msi *msi_data; |
99 | 108 | ||
100 | list_for_each_entry(entry, &pdev->msi_list, list) { | 109 | list_for_each_entry(entry, &pdev->msi_list, list) { |
101 | if (entry->irq == NO_IRQ) | 110 | if (entry->irq == NO_IRQ) |
102 | continue; | 111 | continue; |
112 | msi_data = get_irq_data(entry->irq); | ||
103 | set_irq_msi(entry->irq, NULL); | 113 | set_irq_msi(entry->irq, NULL); |
104 | msi_bitmap_free_hwirqs(&msi_data->bitmap, | 114 | msi_bitmap_free_hwirqs(&msi_data->bitmap, |
105 | virq_to_hw(entry->irq), 1); | 115 | virq_to_hw(entry->irq), 1); |
@@ -110,9 +120,10 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) | |||
110 | } | 120 | } |
111 | 121 | ||
112 | static void fsl_compose_msi_msg(struct pci_dev *pdev, int hwirq, | 122 | static void fsl_compose_msi_msg(struct pci_dev *pdev, int hwirq, |
113 | struct msi_msg *msg) | 123 | struct msi_msg *msg, |
124 | struct fsl_msi *fsl_msi_data) | ||
114 | { | 125 | { |
115 | struct fsl_msi *msi_data = fsl_msi; | 126 | struct fsl_msi *msi_data = fsl_msi_data; |
116 | struct pci_controller *hose = pci_bus_to_host(pdev->bus); | 127 | struct pci_controller *hose = pci_bus_to_host(pdev->bus); |
117 | u32 base = 0; | 128 | u32 base = 0; |
118 | 129 | ||
@@ -129,14 +140,19 @@ static void fsl_compose_msi_msg(struct pci_dev *pdev, int hwirq, | |||
129 | 140 | ||
130 | static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) | 141 | static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) |
131 | { | 142 | { |
132 | int rc, hwirq; | 143 | int rc, hwirq = -ENOMEM; |
133 | unsigned int virq; | 144 | unsigned int virq; |
134 | struct msi_desc *entry; | 145 | struct msi_desc *entry; |
135 | struct msi_msg msg; | 146 | struct msi_msg msg; |
136 | struct fsl_msi *msi_data = fsl_msi; | 147 | struct fsl_msi *msi_data; |
137 | 148 | ||
138 | list_for_each_entry(entry, &pdev->msi_list, list) { | 149 | list_for_each_entry(entry, &pdev->msi_list, list) { |
139 | hwirq = msi_bitmap_alloc_hwirqs(&msi_data->bitmap, 1); | 150 | list_for_each_entry(msi_data, &msi_head, list) { |
151 | hwirq = msi_bitmap_alloc_hwirqs(&msi_data->bitmap, 1); | ||
152 | if (hwirq >= 0) | ||
153 | break; | ||
154 | } | ||
155 | |||
140 | if (hwirq < 0) { | 156 | if (hwirq < 0) { |
141 | rc = hwirq; | 157 | rc = hwirq; |
142 | pr_debug("%s: fail allocating msi interrupt\n", | 158 | pr_debug("%s: fail allocating msi interrupt\n", |
@@ -153,25 +169,31 @@ static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) | |||
153 | rc = -ENOSPC; | 169 | rc = -ENOSPC; |
154 | goto out_free; | 170 | goto out_free; |
155 | } | 171 | } |
172 | set_irq_data(virq, msi_data); | ||
156 | set_irq_msi(virq, entry); | 173 | set_irq_msi(virq, entry); |
157 | 174 | ||
158 | fsl_compose_msi_msg(pdev, hwirq, &msg); | 175 | fsl_compose_msi_msg(pdev, hwirq, &msg, msi_data); |
159 | write_msi_msg(virq, &msg); | 176 | write_msi_msg(virq, &msg); |
160 | } | 177 | } |
161 | return 0; | 178 | return 0; |
162 | 179 | ||
163 | out_free: | 180 | out_free: |
181 | /* free by the caller of this function */ | ||
164 | return rc; | 182 | return rc; |
165 | } | 183 | } |
166 | 184 | ||
167 | static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | 185 | static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) |
168 | { | 186 | { |
169 | unsigned int cascade_irq; | 187 | unsigned int cascade_irq; |
170 | struct fsl_msi *msi_data = fsl_msi; | 188 | struct fsl_msi *msi_data; |
171 | int msir_index = -1; | 189 | int msir_index = -1; |
172 | u32 msir_value = 0; | 190 | u32 msir_value = 0; |
173 | u32 intr_index; | 191 | u32 intr_index; |
174 | u32 have_shift = 0; | 192 | u32 have_shift = 0; |
193 | struct fsl_msi_cascade_data *cascade_data; | ||
194 | |||
195 | cascade_data = (struct fsl_msi_cascade_data *)get_irq_data(irq); | ||
196 | msi_data = cascade_data->msi_data; | ||
175 | 197 | ||
176 | raw_spin_lock(&desc->lock); | 198 | raw_spin_lock(&desc->lock); |
177 | if ((msi_data->feature & FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) { | 199 | if ((msi_data->feature & FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) { |
@@ -186,13 +208,13 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
186 | if (unlikely(desc->status & IRQ_INPROGRESS)) | 208 | if (unlikely(desc->status & IRQ_INPROGRESS)) |
187 | goto unlock; | 209 | goto unlock; |
188 | 210 | ||
189 | msir_index = (int)desc->handler_data; | 211 | msir_index = cascade_data->index; |
190 | 212 | ||
191 | if (msir_index >= NR_MSI_REG) | 213 | if (msir_index >= NR_MSI_REG) |
192 | cascade_irq = NO_IRQ; | 214 | cascade_irq = NO_IRQ; |
193 | 215 | ||
194 | desc->status |= IRQ_INPROGRESS; | 216 | desc->status |= IRQ_INPROGRESS; |
195 | switch (fsl_msi->feature & FSL_PIC_IP_MASK) { | 217 | switch (msi_data->feature & FSL_PIC_IP_MASK) { |
196 | case FSL_PIC_IP_MPIC: | 218 | case FSL_PIC_IP_MPIC: |
197 | msir_value = fsl_msi_read(msi_data->msi_regs, | 219 | msir_value = fsl_msi_read(msi_data->msi_regs, |
198 | msir_index * 0x10); | 220 | msir_index * 0x10); |
@@ -228,6 +250,30 @@ unlock: | |||
228 | raw_spin_unlock(&desc->lock); | 250 | raw_spin_unlock(&desc->lock); |
229 | } | 251 | } |
230 | 252 | ||
253 | static int fsl_of_msi_remove(struct of_device *ofdev) | ||
254 | { | ||
255 | struct fsl_msi *msi = ofdev->dev.platform_data; | ||
256 | int virq, i; | ||
257 | struct fsl_msi_cascade_data *cascade_data; | ||
258 | |||
259 | if (msi->list.prev != NULL) | ||
260 | list_del(&msi->list); | ||
261 | for (i = 0; i < NR_MSI_REG; i++) { | ||
262 | virq = msi->msi_virqs[i]; | ||
263 | if (virq != NO_IRQ) { | ||
264 | cascade_data = get_irq_data(virq); | ||
265 | kfree(cascade_data); | ||
266 | irq_dispose_mapping(virq); | ||
267 | } | ||
268 | } | ||
269 | if (msi->bitmap.bitmap) | ||
270 | msi_bitmap_free(&msi->bitmap); | ||
271 | iounmap(msi->msi_regs); | ||
272 | kfree(msi); | ||
273 | |||
274 | return 0; | ||
275 | } | ||
276 | |||
231 | static int __devinit fsl_of_msi_probe(struct of_device *dev, | 277 | static int __devinit fsl_of_msi_probe(struct of_device *dev, |
232 | const struct of_device_id *match) | 278 | const struct of_device_id *match) |
233 | { | 279 | { |
@@ -238,17 +284,20 @@ static int __devinit fsl_of_msi_probe(struct of_device *dev, | |||
238 | int virt_msir; | 284 | int virt_msir; |
239 | const u32 *p; | 285 | const u32 *p; |
240 | struct fsl_msi_feature *features = match->data; | 286 | struct fsl_msi_feature *features = match->data; |
287 | struct fsl_msi_cascade_data *cascade_data = NULL; | ||
288 | int len; | ||
289 | u32 offset; | ||
241 | 290 | ||
242 | printk(KERN_DEBUG "Setting up Freescale MSI support\n"); | 291 | printk(KERN_DEBUG "Setting up Freescale MSI support\n"); |
243 | 292 | ||
244 | msi = kzalloc(sizeof(struct fsl_msi), GFP_KERNEL); | 293 | msi = kzalloc(sizeof(struct fsl_msi), GFP_KERNEL); |
245 | if (!msi) { | 294 | if (!msi) { |
246 | dev_err(&dev->dev, "No memory for MSI structure\n"); | 295 | dev_err(&dev->dev, "No memory for MSI structure\n"); |
247 | err = -ENOMEM; | 296 | return -ENOMEM; |
248 | goto error_out; | ||
249 | } | 297 | } |
298 | dev->dev.platform_data = msi; | ||
250 | 299 | ||
251 | msi->irqhost = irq_alloc_host(dev->node, IRQ_HOST_MAP_LINEAR, | 300 | msi->irqhost = irq_alloc_host(dev->dev.of_node, IRQ_HOST_MAP_LINEAR, |
252 | NR_MSI_IRQS, &fsl_msi_host_ops, 0); | 301 | NR_MSI_IRQS, &fsl_msi_host_ops, 0); |
253 | 302 | ||
254 | if (msi->irqhost == NULL) { | 303 | if (msi->irqhost == NULL) { |
@@ -258,10 +307,10 @@ static int __devinit fsl_of_msi_probe(struct of_device *dev, | |||
258 | } | 307 | } |
259 | 308 | ||
260 | /* Get the MSI reg base */ | 309 | /* Get the MSI reg base */ |
261 | err = of_address_to_resource(dev->node, 0, &res); | 310 | err = of_address_to_resource(dev->dev.of_node, 0, &res); |
262 | if (err) { | 311 | if (err) { |
263 | dev_err(&dev->dev, "%s resource error!\n", | 312 | dev_err(&dev->dev, "%s resource error!\n", |
264 | dev->node->full_name); | 313 | dev->dev.of_node->full_name); |
265 | goto error_out; | 314 | goto error_out; |
266 | } | 315 | } |
267 | 316 | ||
@@ -284,40 +333,60 @@ static int __devinit fsl_of_msi_probe(struct of_device *dev, | |||
284 | goto error_out; | 333 | goto error_out; |
285 | } | 334 | } |
286 | 335 | ||
287 | p = of_get_property(dev->node, "interrupts", &count); | 336 | p = of_get_property(dev->dev.of_node, "interrupts", &count); |
288 | if (!p) { | 337 | if (!p) { |
289 | dev_err(&dev->dev, "no interrupts property found on %s\n", | 338 | dev_err(&dev->dev, "no interrupts property found on %s\n", |
290 | dev->node->full_name); | 339 | dev->dev.of_node->full_name); |
291 | err = -ENODEV; | 340 | err = -ENODEV; |
292 | goto error_out; | 341 | goto error_out; |
293 | } | 342 | } |
294 | if (count % 8 != 0) { | 343 | if (count % 8 != 0) { |
295 | dev_err(&dev->dev, "Malformed interrupts property on %s\n", | 344 | dev_err(&dev->dev, "Malformed interrupts property on %s\n", |
296 | dev->node->full_name); | 345 | dev->dev.of_node->full_name); |
297 | err = -EINVAL; | 346 | err = -EINVAL; |
298 | goto error_out; | 347 | goto error_out; |
299 | } | 348 | } |
349 | offset = 0; | ||
350 | p = of_get_property(dev->dev.of_node, "msi-available-ranges", &len); | ||
351 | if (p) | ||
352 | offset = *p / IRQS_PER_MSI_REG; | ||
300 | 353 | ||
301 | count /= sizeof(u32); | 354 | count /= sizeof(u32); |
302 | for (i = 0; i < count / 2; i++) { | 355 | for (i = 0; i < min(count / 2, NR_MSI_REG); i++) { |
303 | if (i > NR_MSI_REG) | 356 | virt_msir = irq_of_parse_and_map(dev->dev.of_node, i); |
304 | break; | ||
305 | virt_msir = irq_of_parse_and_map(dev->node, i); | ||
306 | if (virt_msir != NO_IRQ) { | 357 | if (virt_msir != NO_IRQ) { |
307 | set_irq_data(virt_msir, (void *)i); | 358 | cascade_data = kzalloc( |
359 | sizeof(struct fsl_msi_cascade_data), | ||
360 | GFP_KERNEL); | ||
361 | if (!cascade_data) { | ||
362 | dev_err(&dev->dev, | ||
363 | "No memory for MSI cascade data\n"); | ||
364 | err = -ENOMEM; | ||
365 | goto error_out; | ||
366 | } | ||
367 | msi->msi_virqs[i] = virt_msir; | ||
368 | cascade_data->index = i + offset; | ||
369 | cascade_data->msi_data = msi; | ||
370 | set_irq_data(virt_msir, (void *)cascade_data); | ||
308 | set_irq_chained_handler(virt_msir, fsl_msi_cascade); | 371 | set_irq_chained_handler(virt_msir, fsl_msi_cascade); |
309 | } | 372 | } |
310 | } | 373 | } |
311 | 374 | ||
312 | fsl_msi = msi; | 375 | list_add_tail(&msi->list, &msi_head); |
313 | 376 | ||
314 | WARN_ON(ppc_md.setup_msi_irqs); | 377 | /* The multiple setting ppc_md.setup_msi_irqs will not harm things */ |
315 | ppc_md.setup_msi_irqs = fsl_setup_msi_irqs; | 378 | if (!ppc_md.setup_msi_irqs) { |
316 | ppc_md.teardown_msi_irqs = fsl_teardown_msi_irqs; | 379 | ppc_md.setup_msi_irqs = fsl_setup_msi_irqs; |
317 | ppc_md.msi_check_device = fsl_msi_check_device; | 380 | ppc_md.teardown_msi_irqs = fsl_teardown_msi_irqs; |
381 | ppc_md.msi_check_device = fsl_msi_check_device; | ||
382 | } else if (ppc_md.setup_msi_irqs != fsl_setup_msi_irqs) { | ||
383 | dev_err(&dev->dev, "Different MSI driver already installed!\n"); | ||
384 | err = -ENODEV; | ||
385 | goto error_out; | ||
386 | } | ||
318 | return 0; | 387 | return 0; |
319 | error_out: | 388 | error_out: |
320 | kfree(msi); | 389 | fsl_of_msi_remove(dev); |
321 | return err; | 390 | return err; |
322 | } | 391 | } |
323 | 392 | ||
@@ -344,9 +413,13 @@ static const struct of_device_id fsl_of_msi_ids[] = { | |||
344 | }; | 413 | }; |
345 | 414 | ||
346 | static struct of_platform_driver fsl_of_msi_driver = { | 415 | static struct of_platform_driver fsl_of_msi_driver = { |
347 | .name = "fsl-msi", | 416 | .driver = { |
348 | .match_table = fsl_of_msi_ids, | 417 | .name = "fsl-msi", |
418 | .owner = THIS_MODULE, | ||
419 | .of_match_table = fsl_of_msi_ids, | ||
420 | }, | ||
349 | .probe = fsl_of_msi_probe, | 421 | .probe = fsl_of_msi_probe, |
422 | .remove = fsl_of_msi_remove, | ||
350 | }; | 423 | }; |
351 | 424 | ||
352 | static __init int fsl_of_msi_init(void) | 425 | static __init int fsl_of_msi_init(void) |
diff --git a/arch/powerpc/sysdev/fsl_msi.h b/arch/powerpc/sysdev/fsl_msi.h index 331c7e7025b7..624580c252d7 100644 --- a/arch/powerpc/sysdev/fsl_msi.h +++ b/arch/powerpc/sysdev/fsl_msi.h | |||
@@ -32,8 +32,11 @@ struct fsl_msi { | |||
32 | u32 msi_addr_hi; | 32 | u32 msi_addr_hi; |
33 | void __iomem *msi_regs; | 33 | void __iomem *msi_regs; |
34 | u32 feature; | 34 | u32 feature; |
35 | int msi_virqs[NR_MSI_REG]; | ||
35 | 36 | ||
36 | struct msi_bitmap bitmap; | 37 | struct msi_bitmap bitmap; |
38 | |||
39 | struct list_head list; /* support multiple MSI banks */ | ||
37 | }; | 40 | }; |
38 | 41 | ||
39 | #endif /* _POWERPC_SYSDEV_FSL_MSI_H */ | 42 | #endif /* _POWERPC_SYSDEV_FSL_MSI_H */ |
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index e1a028c1f18d..356c6a0e1b23 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c | |||
@@ -23,8 +23,9 @@ | |||
23 | #include <linux/string.h> | 23 | #include <linux/string.h> |
24 | #include <linux/init.h> | 24 | #include <linux/init.h> |
25 | #include <linux/bootmem.h> | 25 | #include <linux/bootmem.h> |
26 | #include <linux/lmb.h> | 26 | #include <linux/memblock.h> |
27 | #include <linux/log2.h> | 27 | #include <linux/log2.h> |
28 | #include <linux/slab.h> | ||
28 | 29 | ||
29 | #include <asm/io.h> | 30 | #include <asm/io.h> |
30 | #include <asm/prom.h> | 31 | #include <asm/prom.h> |
@@ -189,7 +190,7 @@ static void __init setup_pci_atmu(struct pci_controller *hose, | |||
189 | pr_info("%s: PCICSRBAR @ 0x%x\n", name, pcicsrbar); | 190 | pr_info("%s: PCICSRBAR @ 0x%x\n", name, pcicsrbar); |
190 | 191 | ||
191 | /* Setup inbound mem window */ | 192 | /* Setup inbound mem window */ |
192 | mem = lmb_end_of_DRAM(); | 193 | mem = memblock_end_of_DRAM(); |
193 | sz = min(mem, paddr_lo); | 194 | sz = min(mem, paddr_lo); |
194 | mem_log = __ilog2_u64(sz); | 195 | mem_log = __ilog2_u64(sz); |
195 | 196 | ||
diff --git a/arch/powerpc/sysdev/fsl_pmc.c b/arch/powerpc/sysdev/fsl_pmc.c index a7635a993dca..9082eb921ad9 100644 --- a/arch/powerpc/sysdev/fsl_pmc.c +++ b/arch/powerpc/sysdev/fsl_pmc.c | |||
@@ -60,7 +60,7 @@ static struct platform_suspend_ops pmc_suspend_ops = { | |||
60 | 60 | ||
61 | static int pmc_probe(struct of_device *ofdev, const struct of_device_id *id) | 61 | static int pmc_probe(struct of_device *ofdev, const struct of_device_id *id) |
62 | { | 62 | { |
63 | pmc_regs = of_iomap(ofdev->node, 0); | 63 | pmc_regs = of_iomap(ofdev->dev.of_node, 0); |
64 | if (!pmc_regs) | 64 | if (!pmc_regs) |
65 | return -ENOMEM; | 65 | return -ENOMEM; |
66 | 66 | ||
@@ -76,8 +76,11 @@ static const struct of_device_id pmc_ids[] = { | |||
76 | }; | 76 | }; |
77 | 77 | ||
78 | static struct of_platform_driver pmc_driver = { | 78 | static struct of_platform_driver pmc_driver = { |
79 | .driver.name = "fsl-pmc", | 79 | .driver = { |
80 | .match_table = pmc_ids, | 80 | .name = "fsl-pmc", |
81 | .owner = THIS_MODULE, | ||
82 | .of_match_table = pmc_ids, | ||
83 | }, | ||
81 | .probe = pmc_probe, | 84 | .probe = pmc_probe, |
82 | }; | 85 | }; |
83 | 86 | ||
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c index 757a83fe5e59..30e1626b2e85 100644 --- a/arch/powerpc/sysdev/fsl_rio.c +++ b/arch/powerpc/sysdev/fsl_rio.c | |||
@@ -1,6 +1,15 @@ | |||
1 | /* | 1 | /* |
2 | * Freescale MPC85xx/MPC86xx RapidIO support | 2 | * Freescale MPC85xx/MPC86xx RapidIO support |
3 | * | 3 | * |
4 | * Copyright 2009 Sysgo AG | ||
5 | * Thomas Moll <thomas.moll@sysgo.com> | ||
6 | * - fixed maintenance access routines, check for aligned access | ||
7 | * | ||
8 | * Copyright 2009 Integrated Device Technology, Inc. | ||
9 | * Alex Bounine <alexandre.bounine@idt.com> | ||
10 | * - Added Port-Write message handling | ||
11 | * - Added Machine Check exception handling | ||
12 | * | ||
4 | * Copyright (C) 2007, 2008 Freescale Semiconductor, Inc. | 13 | * Copyright (C) 2007, 2008 Freescale Semiconductor, Inc. |
5 | * Zhang Wei <wei.zhang@freescale.com> | 14 | * Zhang Wei <wei.zhang@freescale.com> |
6 | * | 15 | * |
@@ -23,19 +32,31 @@ | |||
23 | #include <linux/rio_drv.h> | 32 | #include <linux/rio_drv.h> |
24 | #include <linux/of_platform.h> | 33 | #include <linux/of_platform.h> |
25 | #include <linux/delay.h> | 34 | #include <linux/delay.h> |
35 | #include <linux/slab.h> | ||
36 | #include <linux/kfifo.h> | ||
26 | 37 | ||
27 | #include <asm/io.h> | 38 | #include <asm/io.h> |
39 | #include <asm/machdep.h> | ||
40 | #include <asm/uaccess.h> | ||
41 | |||
42 | #undef DEBUG_PW /* Port-Write debugging */ | ||
28 | 43 | ||
29 | /* RapidIO definition irq, which read from OF-tree */ | 44 | /* RapidIO definition irq, which read from OF-tree */ |
30 | #define IRQ_RIO_BELL(m) (((struct rio_priv *)(m->priv))->bellirq) | 45 | #define IRQ_RIO_BELL(m) (((struct rio_priv *)(m->priv))->bellirq) |
31 | #define IRQ_RIO_TX(m) (((struct rio_priv *)(m->priv))->txirq) | 46 | #define IRQ_RIO_TX(m) (((struct rio_priv *)(m->priv))->txirq) |
32 | #define IRQ_RIO_RX(m) (((struct rio_priv *)(m->priv))->rxirq) | 47 | #define IRQ_RIO_RX(m) (((struct rio_priv *)(m->priv))->rxirq) |
48 | #define IRQ_RIO_PW(m) (((struct rio_priv *)(m->priv))->pwirq) | ||
33 | 49 | ||
34 | #define RIO_ATMU_REGS_OFFSET 0x10c00 | 50 | #define RIO_ATMU_REGS_OFFSET 0x10c00 |
35 | #define RIO_P_MSG_REGS_OFFSET 0x11000 | 51 | #define RIO_P_MSG_REGS_OFFSET 0x11000 |
36 | #define RIO_S_MSG_REGS_OFFSET 0x13000 | 52 | #define RIO_S_MSG_REGS_OFFSET 0x13000 |
37 | #define RIO_ESCSR 0x158 | 53 | #define RIO_ESCSR 0x158 |
38 | #define RIO_CCSR 0x15c | 54 | #define RIO_CCSR 0x15c |
55 | #define RIO_LTLEDCSR 0x0608 | ||
56 | #define RIO_LTLEDCSR_IER 0x80000000 | ||
57 | #define RIO_LTLEDCSR_PRT 0x01000000 | ||
58 | #define RIO_LTLEECSR 0x060c | ||
59 | #define RIO_EPWISR 0x10010 | ||
39 | #define RIO_ISR_AACR 0x10120 | 60 | #define RIO_ISR_AACR 0x10120 |
40 | #define RIO_ISR_AACR_AA 0x1 /* Accept All ID */ | 61 | #define RIO_ISR_AACR_AA 0x1 /* Accept All ID */ |
41 | #define RIO_MAINT_WIN_SIZE 0x400000 | 62 | #define RIO_MAINT_WIN_SIZE 0x400000 |
@@ -54,6 +75,18 @@ | |||
54 | #define RIO_MSG_ISR_QFI 0x00000010 | 75 | #define RIO_MSG_ISR_QFI 0x00000010 |
55 | #define RIO_MSG_ISR_DIQI 0x00000001 | 76 | #define RIO_MSG_ISR_DIQI 0x00000001 |
56 | 77 | ||
78 | #define RIO_IPWMR_SEN 0x00100000 | ||
79 | #define RIO_IPWMR_QFIE 0x00000100 | ||
80 | #define RIO_IPWMR_EIE 0x00000020 | ||
81 | #define RIO_IPWMR_CQ 0x00000002 | ||
82 | #define RIO_IPWMR_PWE 0x00000001 | ||
83 | |||
84 | #define RIO_IPWSR_QF 0x00100000 | ||
85 | #define RIO_IPWSR_TE 0x00000080 | ||
86 | #define RIO_IPWSR_QFI 0x00000010 | ||
87 | #define RIO_IPWSR_PWD 0x00000008 | ||
88 | #define RIO_IPWSR_PWB 0x00000004 | ||
89 | |||
57 | #define RIO_MSG_DESC_SIZE 32 | 90 | #define RIO_MSG_DESC_SIZE 32 |
58 | #define RIO_MSG_BUFFER_SIZE 4096 | 91 | #define RIO_MSG_BUFFER_SIZE 4096 |
59 | #define RIO_MIN_TX_RING_SIZE 2 | 92 | #define RIO_MIN_TX_RING_SIZE 2 |
@@ -120,7 +153,7 @@ struct rio_msg_regs { | |||
120 | u32 pad10[26]; | 153 | u32 pad10[26]; |
121 | u32 pwmr; | 154 | u32 pwmr; |
122 | u32 pwsr; | 155 | u32 pwsr; |
123 | u32 pad11; | 156 | u32 epwqbar; |
124 | u32 pwqbar; | 157 | u32 pwqbar; |
125 | }; | 158 | }; |
126 | 159 | ||
@@ -159,6 +192,14 @@ struct rio_msg_rx_ring { | |||
159 | void *dev_id; | 192 | void *dev_id; |
160 | }; | 193 | }; |
161 | 194 | ||
195 | struct rio_port_write_msg { | ||
196 | void *virt; | ||
197 | dma_addr_t phys; | ||
198 | u32 msg_count; | ||
199 | u32 err_count; | ||
200 | u32 discard_count; | ||
201 | }; | ||
202 | |||
162 | struct rio_priv { | 203 | struct rio_priv { |
163 | struct device *dev; | 204 | struct device *dev; |
164 | void __iomem *regs_win; | 205 | void __iomem *regs_win; |
@@ -171,11 +212,64 @@ struct rio_priv { | |||
171 | struct rio_dbell_ring dbell_ring; | 212 | struct rio_dbell_ring dbell_ring; |
172 | struct rio_msg_tx_ring msg_tx_ring; | 213 | struct rio_msg_tx_ring msg_tx_ring; |
173 | struct rio_msg_rx_ring msg_rx_ring; | 214 | struct rio_msg_rx_ring msg_rx_ring; |
215 | struct rio_port_write_msg port_write_msg; | ||
174 | int bellirq; | 216 | int bellirq; |
175 | int txirq; | 217 | int txirq; |
176 | int rxirq; | 218 | int rxirq; |
219 | int pwirq; | ||
220 | struct work_struct pw_work; | ||
221 | struct kfifo pw_fifo; | ||
222 | spinlock_t pw_fifo_lock; | ||
177 | }; | 223 | }; |
178 | 224 | ||
225 | #define __fsl_read_rio_config(x, addr, err, op) \ | ||
226 | __asm__ __volatile__( \ | ||
227 | "1: "op" %1,0(%2)\n" \ | ||
228 | " eieio\n" \ | ||
229 | "2:\n" \ | ||
230 | ".section .fixup,\"ax\"\n" \ | ||
231 | "3: li %1,-1\n" \ | ||
232 | " li %0,%3\n" \ | ||
233 | " b 2b\n" \ | ||
234 | ".section __ex_table,\"a\"\n" \ | ||
235 | " .align 2\n" \ | ||
236 | " .long 1b,3b\n" \ | ||
237 | ".text" \ | ||
238 | : "=r" (err), "=r" (x) \ | ||
239 | : "b" (addr), "i" (-EFAULT), "0" (err)) | ||
240 | |||
241 | static void __iomem *rio_regs_win; | ||
242 | |||
243 | static int (*saved_mcheck_exception)(struct pt_regs *regs); | ||
244 | |||
245 | static int fsl_rio_mcheck_exception(struct pt_regs *regs) | ||
246 | { | ||
247 | const struct exception_table_entry *entry = NULL; | ||
248 | unsigned long reason = (mfspr(SPRN_MCSR) & MCSR_MASK); | ||
249 | |||
250 | if (reason & MCSR_BUS_RBERR) { | ||
251 | reason = in_be32((u32 *)(rio_regs_win + RIO_LTLEDCSR)); | ||
252 | if (reason & (RIO_LTLEDCSR_IER | RIO_LTLEDCSR_PRT)) { | ||
253 | /* Check if we are prepared to handle this fault */ | ||
254 | entry = search_exception_tables(regs->nip); | ||
255 | if (entry) { | ||
256 | pr_debug("RIO: %s - MC Exception handled\n", | ||
257 | __func__); | ||
258 | out_be32((u32 *)(rio_regs_win + RIO_LTLEDCSR), | ||
259 | 0); | ||
260 | regs->msr |= MSR_RI; | ||
261 | regs->nip = entry->fixup; | ||
262 | return 1; | ||
263 | } | ||
264 | } | ||
265 | } | ||
266 | |||
267 | if (saved_mcheck_exception) | ||
268 | return saved_mcheck_exception(regs); | ||
269 | else | ||
270 | return cur_cpu_spec->machine_check(regs); | ||
271 | } | ||
272 | |||
179 | /** | 273 | /** |
180 | * fsl_rio_doorbell_send - Send a MPC85xx doorbell message | 274 | * fsl_rio_doorbell_send - Send a MPC85xx doorbell message |
181 | * @mport: RapidIO master port info | 275 | * @mport: RapidIO master port info |
@@ -276,27 +370,44 @@ fsl_rio_config_read(struct rio_mport *mport, int index, u16 destid, | |||
276 | { | 370 | { |
277 | struct rio_priv *priv = mport->priv; | 371 | struct rio_priv *priv = mport->priv; |
278 | u8 *data; | 372 | u8 *data; |
373 | u32 rval, err = 0; | ||
279 | 374 | ||
280 | pr_debug | 375 | pr_debug |
281 | ("fsl_rio_config_read: index %d destid %d hopcount %d offset %8.8x len %d\n", | 376 | ("fsl_rio_config_read: index %d destid %d hopcount %d offset %8.8x len %d\n", |
282 | index, destid, hopcount, offset, len); | 377 | index, destid, hopcount, offset, len); |
378 | |||
379 | /* 16MB maintenance window possible */ | ||
380 | /* allow only aligned access to maintenance registers */ | ||
381 | if (offset > (0x1000000 - len) || !IS_ALIGNED(offset, len)) | ||
382 | return -EINVAL; | ||
383 | |||
283 | out_be32(&priv->maint_atmu_regs->rowtar, | 384 | out_be32(&priv->maint_atmu_regs->rowtar, |
284 | (destid << 22) | (hopcount << 12) | ((offset & ~0x3) >> 9)); | 385 | (destid << 22) | (hopcount << 12) | (offset >> 12)); |
386 | out_be32(&priv->maint_atmu_regs->rowtear, (destid >> 10)); | ||
285 | 387 | ||
286 | data = (u8 *) priv->maint_win + offset; | 388 | data = (u8 *) priv->maint_win + (offset & (RIO_MAINT_WIN_SIZE - 1)); |
287 | switch (len) { | 389 | switch (len) { |
288 | case 1: | 390 | case 1: |
289 | *val = in_8((u8 *) data); | 391 | __fsl_read_rio_config(rval, data, err, "lbz"); |
290 | break; | 392 | break; |
291 | case 2: | 393 | case 2: |
292 | *val = in_be16((u16 *) data); | 394 | __fsl_read_rio_config(rval, data, err, "lhz"); |
293 | break; | 395 | break; |
294 | default: | 396 | case 4: |
295 | *val = in_be32((u32 *) data); | 397 | __fsl_read_rio_config(rval, data, err, "lwz"); |
296 | break; | 398 | break; |
399 | default: | ||
400 | return -EINVAL; | ||
297 | } | 401 | } |
298 | 402 | ||
299 | return 0; | 403 | if (err) { |
404 | pr_debug("RIO: cfg_read error %d for %x:%x:%x\n", | ||
405 | err, destid, hopcount, offset); | ||
406 | } | ||
407 | |||
408 | *val = rval; | ||
409 | |||
410 | return err; | ||
300 | } | 411 | } |
301 | 412 | ||
302 | /** | 413 | /** |
@@ -321,10 +432,17 @@ fsl_rio_config_write(struct rio_mport *mport, int index, u16 destid, | |||
321 | pr_debug | 432 | pr_debug |
322 | ("fsl_rio_config_write: index %d destid %d hopcount %d offset %8.8x len %d val %8.8x\n", | 433 | ("fsl_rio_config_write: index %d destid %d hopcount %d offset %8.8x len %d val %8.8x\n", |
323 | index, destid, hopcount, offset, len, val); | 434 | index, destid, hopcount, offset, len, val); |
435 | |||
436 | /* 16MB maintenance windows possible */ | ||
437 | /* allow only aligned access to maintenance registers */ | ||
438 | if (offset > (0x1000000 - len) || !IS_ALIGNED(offset, len)) | ||
439 | return -EINVAL; | ||
440 | |||
324 | out_be32(&priv->maint_atmu_regs->rowtar, | 441 | out_be32(&priv->maint_atmu_regs->rowtar, |
325 | (destid << 22) | (hopcount << 12) | ((offset & ~0x3) >> 9)); | 442 | (destid << 22) | (hopcount << 12) | (offset >> 12)); |
443 | out_be32(&priv->maint_atmu_regs->rowtear, (destid >> 10)); | ||
326 | 444 | ||
327 | data = (u8 *) priv->maint_win + offset; | 445 | data = (u8 *) priv->maint_win + (offset & (RIO_MAINT_WIN_SIZE - 1)); |
328 | switch (len) { | 446 | switch (len) { |
329 | case 1: | 447 | case 1: |
330 | out_8((u8 *) data, val); | 448 | out_8((u8 *) data, val); |
@@ -332,9 +450,11 @@ fsl_rio_config_write(struct rio_mport *mport, int index, u16 destid, | |||
332 | case 2: | 450 | case 2: |
333 | out_be16((u16 *) data, val); | 451 | out_be16((u16 *) data, val); |
334 | break; | 452 | break; |
335 | default: | 453 | case 4: |
336 | out_be32((u32 *) data, val); | 454 | out_be32((u32 *) data, val); |
337 | break; | 455 | break; |
456 | default: | ||
457 | return -EINVAL; | ||
338 | } | 458 | } |
339 | 459 | ||
340 | return 0; | 460 | return 0; |
@@ -929,6 +1049,223 @@ static int fsl_rio_doorbell_init(struct rio_mport *mport) | |||
929 | return rc; | 1049 | return rc; |
930 | } | 1050 | } |
931 | 1051 | ||
1052 | /** | ||
1053 | * fsl_rio_port_write_handler - MPC85xx port write interrupt handler | ||
1054 | * @irq: Linux interrupt number | ||
1055 | * @dev_instance: Pointer to interrupt-specific data | ||
1056 | * | ||
1057 | * Handles port write interrupts. Parses a list of registered | ||
1058 | * port write event handlers and executes a matching event handler. | ||
1059 | */ | ||
1060 | static irqreturn_t | ||
1061 | fsl_rio_port_write_handler(int irq, void *dev_instance) | ||
1062 | { | ||
1063 | u32 ipwmr, ipwsr; | ||
1064 | struct rio_mport *port = (struct rio_mport *)dev_instance; | ||
1065 | struct rio_priv *priv = port->priv; | ||
1066 | u32 epwisr, tmp; | ||
1067 | |||
1068 | ipwmr = in_be32(&priv->msg_regs->pwmr); | ||
1069 | ipwsr = in_be32(&priv->msg_regs->pwsr); | ||
1070 | |||
1071 | epwisr = in_be32(priv->regs_win + RIO_EPWISR); | ||
1072 | if (epwisr & 0x80000000) { | ||
1073 | tmp = in_be32(priv->regs_win + RIO_LTLEDCSR); | ||
1074 | pr_info("RIO_LTLEDCSR = 0x%x\n", tmp); | ||
1075 | out_be32(priv->regs_win + RIO_LTLEDCSR, 0); | ||
1076 | } | ||
1077 | |||
1078 | if (!(epwisr & 0x00000001)) | ||
1079 | return IRQ_HANDLED; | ||
1080 | |||
1081 | #ifdef DEBUG_PW | ||
1082 | pr_debug("PW Int->IPWMR: 0x%08x IPWSR: 0x%08x (", ipwmr, ipwsr); | ||
1083 | if (ipwsr & RIO_IPWSR_QF) | ||
1084 | pr_debug(" QF"); | ||
1085 | if (ipwsr & RIO_IPWSR_TE) | ||
1086 | pr_debug(" TE"); | ||
1087 | if (ipwsr & RIO_IPWSR_QFI) | ||
1088 | pr_debug(" QFI"); | ||
1089 | if (ipwsr & RIO_IPWSR_PWD) | ||
1090 | pr_debug(" PWD"); | ||
1091 | if (ipwsr & RIO_IPWSR_PWB) | ||
1092 | pr_debug(" PWB"); | ||
1093 | pr_debug(" )\n"); | ||
1094 | #endif | ||
1095 | out_be32(&priv->msg_regs->pwsr, | ||
1096 | ipwsr & (RIO_IPWSR_TE | RIO_IPWSR_QFI | RIO_IPWSR_PWD)); | ||
1097 | |||
1098 | if ((ipwmr & RIO_IPWMR_EIE) && (ipwsr & RIO_IPWSR_TE)) { | ||
1099 | priv->port_write_msg.err_count++; | ||
1100 | pr_info("RIO: Port-Write Transaction Err (%d)\n", | ||
1101 | priv->port_write_msg.err_count); | ||
1102 | } | ||
1103 | if (ipwsr & RIO_IPWSR_PWD) { | ||
1104 | priv->port_write_msg.discard_count++; | ||
1105 | pr_info("RIO: Port Discarded Port-Write Msg(s) (%d)\n", | ||
1106 | priv->port_write_msg.discard_count); | ||
1107 | } | ||
1108 | |||
1109 | /* Schedule deferred processing if PW was received */ | ||
1110 | if (ipwsr & RIO_IPWSR_QFI) { | ||
1111 | /* Save PW message (if there is room in FIFO), | ||
1112 | * otherwise discard it. | ||
1113 | */ | ||
1114 | if (kfifo_avail(&priv->pw_fifo) >= RIO_PW_MSG_SIZE) { | ||
1115 | priv->port_write_msg.msg_count++; | ||
1116 | kfifo_in(&priv->pw_fifo, priv->port_write_msg.virt, | ||
1117 | RIO_PW_MSG_SIZE); | ||
1118 | } else { | ||
1119 | priv->port_write_msg.discard_count++; | ||
1120 | pr_info("RIO: ISR Discarded Port-Write Msg(s) (%d)\n", | ||
1121 | priv->port_write_msg.discard_count); | ||
1122 | } | ||
1123 | schedule_work(&priv->pw_work); | ||
1124 | } | ||
1125 | |||
1126 | /* Issue Clear Queue command. This allows another | ||
1127 | * port-write to be received. | ||
1128 | */ | ||
1129 | out_be32(&priv->msg_regs->pwmr, ipwmr | RIO_IPWMR_CQ); | ||
1130 | |||
1131 | return IRQ_HANDLED; | ||
1132 | } | ||
1133 | |||
1134 | static void fsl_pw_dpc(struct work_struct *work) | ||
1135 | { | ||
1136 | struct rio_priv *priv = container_of(work, struct rio_priv, pw_work); | ||
1137 | unsigned long flags; | ||
1138 | u32 msg_buffer[RIO_PW_MSG_SIZE/sizeof(u32)]; | ||
1139 | |||
1140 | /* | ||
1141 | * Process port-write messages | ||
1142 | */ | ||
1143 | spin_lock_irqsave(&priv->pw_fifo_lock, flags); | ||
1144 | while (kfifo_out(&priv->pw_fifo, (unsigned char *)msg_buffer, | ||
1145 | RIO_PW_MSG_SIZE)) { | ||
1146 | /* Process one message */ | ||
1147 | spin_unlock_irqrestore(&priv->pw_fifo_lock, flags); | ||
1148 | #ifdef DEBUG_PW | ||
1149 | { | ||
1150 | u32 i; | ||
1151 | pr_debug("%s : Port-Write Message:", __func__); | ||
1152 | for (i = 0; i < RIO_PW_MSG_SIZE/sizeof(u32); i++) { | ||
1153 | if ((i%4) == 0) | ||
1154 | pr_debug("\n0x%02x: 0x%08x", i*4, | ||
1155 | msg_buffer[i]); | ||
1156 | else | ||
1157 | pr_debug(" 0x%08x", msg_buffer[i]); | ||
1158 | } | ||
1159 | pr_debug("\n"); | ||
1160 | } | ||
1161 | #endif | ||
1162 | /* Pass the port-write message to RIO core for processing */ | ||
1163 | rio_inb_pwrite_handler((union rio_pw_msg *)msg_buffer); | ||
1164 | spin_lock_irqsave(&priv->pw_fifo_lock, flags); | ||
1165 | } | ||
1166 | spin_unlock_irqrestore(&priv->pw_fifo_lock, flags); | ||
1167 | } | ||
1168 | |||
1169 | /** | ||
1170 | * fsl_rio_pw_enable - enable/disable port-write interface init | ||
1171 | * @mport: Master port implementing the port write unit | ||
1172 | * @enable: 1=enable; 0=disable port-write message handling | ||
1173 | */ | ||
1174 | static int fsl_rio_pw_enable(struct rio_mport *mport, int enable) | ||
1175 | { | ||
1176 | struct rio_priv *priv = mport->priv; | ||
1177 | u32 rval; | ||
1178 | |||
1179 | rval = in_be32(&priv->msg_regs->pwmr); | ||
1180 | |||
1181 | if (enable) | ||
1182 | rval |= RIO_IPWMR_PWE; | ||
1183 | else | ||
1184 | rval &= ~RIO_IPWMR_PWE; | ||
1185 | |||
1186 | out_be32(&priv->msg_regs->pwmr, rval); | ||
1187 | |||
1188 | return 0; | ||
1189 | } | ||
1190 | |||
1191 | /** | ||
1192 | * fsl_rio_port_write_init - MPC85xx port write interface init | ||
1193 | * @mport: Master port implementing the port write unit | ||
1194 | * | ||
1195 | * Initializes port write unit hardware and DMA buffer | ||
1196 | * ring. Called from fsl_rio_setup(). Returns %0 on success | ||
1197 | * or %-ENOMEM on failure. | ||
1198 | */ | ||
1199 | static int fsl_rio_port_write_init(struct rio_mport *mport) | ||
1200 | { | ||
1201 | struct rio_priv *priv = mport->priv; | ||
1202 | int rc = 0; | ||
1203 | |||
1204 | /* Following configurations require a disabled port write controller */ | ||
1205 | out_be32(&priv->msg_regs->pwmr, | ||
1206 | in_be32(&priv->msg_regs->pwmr) & ~RIO_IPWMR_PWE); | ||
1207 | |||
1208 | /* Initialize port write */ | ||
1209 | priv->port_write_msg.virt = dma_alloc_coherent(priv->dev, | ||
1210 | RIO_PW_MSG_SIZE, | ||
1211 | &priv->port_write_msg.phys, GFP_KERNEL); | ||
1212 | if (!priv->port_write_msg.virt) { | ||
1213 | pr_err("RIO: unable allocate port write queue\n"); | ||
1214 | return -ENOMEM; | ||
1215 | } | ||
1216 | |||
1217 | priv->port_write_msg.err_count = 0; | ||
1218 | priv->port_write_msg.discard_count = 0; | ||
1219 | |||
1220 | /* Point dequeue/enqueue pointers at first entry */ | ||
1221 | out_be32(&priv->msg_regs->epwqbar, 0); | ||
1222 | out_be32(&priv->msg_regs->pwqbar, (u32) priv->port_write_msg.phys); | ||
1223 | |||
1224 | pr_debug("EIPWQBAR: 0x%08x IPWQBAR: 0x%08x\n", | ||
1225 | in_be32(&priv->msg_regs->epwqbar), | ||
1226 | in_be32(&priv->msg_regs->pwqbar)); | ||
1227 | |||
1228 | /* Clear interrupt status IPWSR */ | ||
1229 | out_be32(&priv->msg_regs->pwsr, | ||
1230 | (RIO_IPWSR_TE | RIO_IPWSR_QFI | RIO_IPWSR_PWD)); | ||
1231 | |||
1232 | /* Configure port write contoller for snooping enable all reporting, | ||
1233 | clear queue full */ | ||
1234 | out_be32(&priv->msg_regs->pwmr, | ||
1235 | RIO_IPWMR_SEN | RIO_IPWMR_QFIE | RIO_IPWMR_EIE | RIO_IPWMR_CQ); | ||
1236 | |||
1237 | |||
1238 | /* Hook up port-write handler */ | ||
1239 | rc = request_irq(IRQ_RIO_PW(mport), fsl_rio_port_write_handler, 0, | ||
1240 | "port-write", (void *)mport); | ||
1241 | if (rc < 0) { | ||
1242 | pr_err("MPC85xx RIO: unable to request inbound doorbell irq"); | ||
1243 | goto err_out; | ||
1244 | } | ||
1245 | |||
1246 | INIT_WORK(&priv->pw_work, fsl_pw_dpc); | ||
1247 | spin_lock_init(&priv->pw_fifo_lock); | ||
1248 | if (kfifo_alloc(&priv->pw_fifo, RIO_PW_MSG_SIZE * 32, GFP_KERNEL)) { | ||
1249 | pr_err("FIFO allocation failed\n"); | ||
1250 | rc = -ENOMEM; | ||
1251 | goto err_out_irq; | ||
1252 | } | ||
1253 | |||
1254 | pr_debug("IPWMR: 0x%08x IPWSR: 0x%08x\n", | ||
1255 | in_be32(&priv->msg_regs->pwmr), | ||
1256 | in_be32(&priv->msg_regs->pwsr)); | ||
1257 | |||
1258 | return rc; | ||
1259 | |||
1260 | err_out_irq: | ||
1261 | free_irq(IRQ_RIO_PW(mport), (void *)mport); | ||
1262 | err_out: | ||
1263 | dma_free_coherent(priv->dev, RIO_PW_MSG_SIZE, | ||
1264 | priv->port_write_msg.virt, | ||
1265 | priv->port_write_msg.phys); | ||
1266 | return rc; | ||
1267 | } | ||
1268 | |||
932 | static char *cmdline = NULL; | 1269 | static char *cmdline = NULL; |
933 | 1270 | ||
934 | static int fsl_rio_get_hdid(int index) | 1271 | static int fsl_rio_get_hdid(int index) |
@@ -1014,41 +1351,41 @@ int fsl_rio_setup(struct of_device *dev) | |||
1014 | u64 law_start, law_size; | 1351 | u64 law_start, law_size; |
1015 | int paw, aw, sw; | 1352 | int paw, aw, sw; |
1016 | 1353 | ||
1017 | if (!dev->node) { | 1354 | if (!dev->dev.of_node) { |
1018 | dev_err(&dev->dev, "Device OF-Node is NULL"); | 1355 | dev_err(&dev->dev, "Device OF-Node is NULL"); |
1019 | return -EFAULT; | 1356 | return -EFAULT; |
1020 | } | 1357 | } |
1021 | 1358 | ||
1022 | rc = of_address_to_resource(dev->node, 0, ®s); | 1359 | rc = of_address_to_resource(dev->dev.of_node, 0, ®s); |
1023 | if (rc) { | 1360 | if (rc) { |
1024 | dev_err(&dev->dev, "Can't get %s property 'reg'\n", | 1361 | dev_err(&dev->dev, "Can't get %s property 'reg'\n", |
1025 | dev->node->full_name); | 1362 | dev->dev.of_node->full_name); |
1026 | return -EFAULT; | 1363 | return -EFAULT; |
1027 | } | 1364 | } |
1028 | dev_info(&dev->dev, "Of-device full name %s\n", dev->node->full_name); | 1365 | dev_info(&dev->dev, "Of-device full name %s\n", dev->dev.of_node->full_name); |
1029 | dev_info(&dev->dev, "Regs: %pR\n", ®s); | 1366 | dev_info(&dev->dev, "Regs: %pR\n", ®s); |
1030 | 1367 | ||
1031 | dt_range = of_get_property(dev->node, "ranges", &rlen); | 1368 | dt_range = of_get_property(dev->dev.of_node, "ranges", &rlen); |
1032 | if (!dt_range) { | 1369 | if (!dt_range) { |
1033 | dev_err(&dev->dev, "Can't get %s property 'ranges'\n", | 1370 | dev_err(&dev->dev, "Can't get %s property 'ranges'\n", |
1034 | dev->node->full_name); | 1371 | dev->dev.of_node->full_name); |
1035 | return -EFAULT; | 1372 | return -EFAULT; |
1036 | } | 1373 | } |
1037 | 1374 | ||
1038 | /* Get node address wide */ | 1375 | /* Get node address wide */ |
1039 | cell = of_get_property(dev->node, "#address-cells", NULL); | 1376 | cell = of_get_property(dev->dev.of_node, "#address-cells", NULL); |
1040 | if (cell) | 1377 | if (cell) |
1041 | aw = *cell; | 1378 | aw = *cell; |
1042 | else | 1379 | else |
1043 | aw = of_n_addr_cells(dev->node); | 1380 | aw = of_n_addr_cells(dev->dev.of_node); |
1044 | /* Get node size wide */ | 1381 | /* Get node size wide */ |
1045 | cell = of_get_property(dev->node, "#size-cells", NULL); | 1382 | cell = of_get_property(dev->dev.of_node, "#size-cells", NULL); |
1046 | if (cell) | 1383 | if (cell) |
1047 | sw = *cell; | 1384 | sw = *cell; |
1048 | else | 1385 | else |
1049 | sw = of_n_size_cells(dev->node); | 1386 | sw = of_n_size_cells(dev->dev.of_node); |
1050 | /* Get parent address wide wide */ | 1387 | /* Get parent address wide wide */ |
1051 | paw = of_n_addr_cells(dev->node); | 1388 | paw = of_n_addr_cells(dev->dev.of_node); |
1052 | 1389 | ||
1053 | law_start = of_read_number(dt_range + aw, paw); | 1390 | law_start = of_read_number(dt_range + aw, paw); |
1054 | law_size = of_read_number(dt_range + aw + paw, sw); | 1391 | law_size = of_read_number(dt_range + aw + paw, sw); |
@@ -1056,7 +1393,7 @@ int fsl_rio_setup(struct of_device *dev) | |||
1056 | dev_info(&dev->dev, "LAW start 0x%016llx, size 0x%016llx.\n", | 1393 | dev_info(&dev->dev, "LAW start 0x%016llx, size 0x%016llx.\n", |
1057 | law_start, law_size); | 1394 | law_start, law_size); |
1058 | 1395 | ||
1059 | ops = kmalloc(sizeof(struct rio_ops), GFP_KERNEL); | 1396 | ops = kzalloc(sizeof(struct rio_ops), GFP_KERNEL); |
1060 | if (!ops) { | 1397 | if (!ops) { |
1061 | rc = -ENOMEM; | 1398 | rc = -ENOMEM; |
1062 | goto err_ops; | 1399 | goto err_ops; |
@@ -1066,6 +1403,7 @@ int fsl_rio_setup(struct of_device *dev) | |||
1066 | ops->cread = fsl_rio_config_read; | 1403 | ops->cread = fsl_rio_config_read; |
1067 | ops->cwrite = fsl_rio_config_write; | 1404 | ops->cwrite = fsl_rio_config_write; |
1068 | ops->dsend = fsl_rio_doorbell_send; | 1405 | ops->dsend = fsl_rio_doorbell_send; |
1406 | ops->pwenable = fsl_rio_pw_enable; | ||
1069 | 1407 | ||
1070 | port = kzalloc(sizeof(struct rio_mport), GFP_KERNEL); | 1408 | port = kzalloc(sizeof(struct rio_mport), GFP_KERNEL); |
1071 | if (!port) { | 1409 | if (!port) { |
@@ -1088,11 +1426,12 @@ int fsl_rio_setup(struct of_device *dev) | |||
1088 | port->iores.flags = IORESOURCE_MEM; | 1426 | port->iores.flags = IORESOURCE_MEM; |
1089 | port->iores.name = "rio_io_win"; | 1427 | port->iores.name = "rio_io_win"; |
1090 | 1428 | ||
1091 | priv->bellirq = irq_of_parse_and_map(dev->node, 2); | 1429 | priv->pwirq = irq_of_parse_and_map(dev->dev.of_node, 0); |
1092 | priv->txirq = irq_of_parse_and_map(dev->node, 3); | 1430 | priv->bellirq = irq_of_parse_and_map(dev->dev.of_node, 2); |
1093 | priv->rxirq = irq_of_parse_and_map(dev->node, 4); | 1431 | priv->txirq = irq_of_parse_and_map(dev->dev.of_node, 3); |
1094 | dev_info(&dev->dev, "bellirq: %d, txirq: %d, rxirq %d\n", priv->bellirq, | 1432 | priv->rxirq = irq_of_parse_and_map(dev->dev.of_node, 4); |
1095 | priv->txirq, priv->rxirq); | 1433 | dev_info(&dev->dev, "pwirq: %d, bellirq: %d, txirq: %d, rxirq %d\n", |
1434 | priv->pwirq, priv->bellirq, priv->txirq, priv->rxirq); | ||
1096 | 1435 | ||
1097 | rio_init_dbell_res(&port->riores[RIO_DOORBELL_RESOURCE], 0, 0xffff); | 1436 | rio_init_dbell_res(&port->riores[RIO_DOORBELL_RESOURCE], 0, 0xffff); |
1098 | rio_init_mbox_res(&port->riores[RIO_INB_MBOX_RESOURCE], 0, 0); | 1437 | rio_init_mbox_res(&port->riores[RIO_INB_MBOX_RESOURCE], 0, 0); |
@@ -1108,6 +1447,7 @@ int fsl_rio_setup(struct of_device *dev) | |||
1108 | rio_register_mport(port); | 1447 | rio_register_mport(port); |
1109 | 1448 | ||
1110 | priv->regs_win = ioremap(regs.start, regs.end - regs.start + 1); | 1449 | priv->regs_win = ioremap(regs.start, regs.end - regs.start + 1); |
1450 | rio_regs_win = priv->regs_win; | ||
1111 | 1451 | ||
1112 | /* Probe the master port phy type */ | 1452 | /* Probe the master port phy type */ |
1113 | ccsr = in_be32(priv->regs_win + RIO_CCSR); | 1453 | ccsr = in_be32(priv->regs_win + RIO_CCSR); |
@@ -1165,7 +1505,8 @@ int fsl_rio_setup(struct of_device *dev) | |||
1165 | 1505 | ||
1166 | /* Configure maintenance transaction window */ | 1506 | /* Configure maintenance transaction window */ |
1167 | out_be32(&priv->maint_atmu_regs->rowbar, law_start >> 12); | 1507 | out_be32(&priv->maint_atmu_regs->rowbar, law_start >> 12); |
1168 | out_be32(&priv->maint_atmu_regs->rowar, 0x80077015); /* 4M */ | 1508 | out_be32(&priv->maint_atmu_regs->rowar, |
1509 | 0x80077000 | (ilog2(RIO_MAINT_WIN_SIZE) - 1)); | ||
1169 | 1510 | ||
1170 | priv->maint_win = ioremap(law_start, RIO_MAINT_WIN_SIZE); | 1511 | priv->maint_win = ioremap(law_start, RIO_MAINT_WIN_SIZE); |
1171 | 1512 | ||
@@ -1174,6 +1515,12 @@ int fsl_rio_setup(struct of_device *dev) | |||
1174 | (law_start + RIO_MAINT_WIN_SIZE) >> 12); | 1515 | (law_start + RIO_MAINT_WIN_SIZE) >> 12); |
1175 | out_be32(&priv->dbell_atmu_regs->rowar, 0x8004200b); /* 4k */ | 1516 | out_be32(&priv->dbell_atmu_regs->rowar, 0x8004200b); /* 4k */ |
1176 | fsl_rio_doorbell_init(port); | 1517 | fsl_rio_doorbell_init(port); |
1518 | fsl_rio_port_write_init(port); | ||
1519 | |||
1520 | saved_mcheck_exception = ppc_md.machine_check_exception; | ||
1521 | ppc_md.machine_check_exception = fsl_rio_mcheck_exception; | ||
1522 | /* Ensure that RFXE is set */ | ||
1523 | mtspr(SPRN_HID1, (mfspr(SPRN_HID1) | 0x20000)); | ||
1177 | 1524 | ||
1178 | return 0; | 1525 | return 0; |
1179 | err: | 1526 | err: |
@@ -1194,7 +1541,7 @@ static int __devinit fsl_of_rio_rpn_probe(struct of_device *dev, | |||
1194 | { | 1541 | { |
1195 | int rc; | 1542 | int rc; |
1196 | printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n", | 1543 | printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n", |
1197 | dev->node->full_name); | 1544 | dev->dev.of_node->full_name); |
1198 | 1545 | ||
1199 | rc = fsl_rio_setup(dev); | 1546 | rc = fsl_rio_setup(dev); |
1200 | if (rc) | 1547 | if (rc) |
@@ -1214,8 +1561,11 @@ static const struct of_device_id fsl_of_rio_rpn_ids[] = { | |||
1214 | }; | 1561 | }; |
1215 | 1562 | ||
1216 | static struct of_platform_driver fsl_of_rio_rpn_driver = { | 1563 | static struct of_platform_driver fsl_of_rio_rpn_driver = { |
1217 | .name = "fsl-of-rio", | 1564 | .driver = { |
1218 | .match_table = fsl_of_rio_rpn_ids, | 1565 | .name = "fsl-of-rio", |
1566 | .owner = THIS_MODULE, | ||
1567 | .of_match_table = fsl_of_rio_rpn_ids, | ||
1568 | }, | ||
1219 | .probe = fsl_of_rio_rpn_probe, | 1569 | .probe = fsl_of_rio_rpn_probe, |
1220 | }; | 1570 | }; |
1221 | 1571 | ||
diff --git a/arch/powerpc/sysdev/micropatch.c b/arch/powerpc/sysdev/micropatch.c index d8d602840757..c0bb76ef7242 100644 --- a/arch/powerpc/sysdev/micropatch.c +++ b/arch/powerpc/sysdev/micropatch.c | |||
@@ -4,6 +4,7 @@ | |||
4 | * also relocates SMC2, but this would require additional changes | 4 | * also relocates SMC2, but this would require additional changes |
5 | * to uart.c, so I am holding off on that for a moment. | 5 | * to uart.c, so I am holding off on that for a moment. |
6 | */ | 6 | */ |
7 | #include <linux/init.h> | ||
7 | #include <linux/errno.h> | 8 | #include <linux/errno.h> |
8 | #include <linux/sched.h> | 9 | #include <linux/sched.h> |
9 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
@@ -16,6 +17,7 @@ | |||
16 | #include <asm/page.h> | 17 | #include <asm/page.h> |
17 | #include <asm/pgtable.h> | 18 | #include <asm/pgtable.h> |
18 | #include <asm/8xx_immap.h> | 19 | #include <asm/8xx_immap.h> |
20 | #include <asm/cpm.h> | ||
19 | #include <asm/cpm1.h> | 21 | #include <asm/cpm1.h> |
20 | 22 | ||
21 | /* | 23 | /* |
@@ -24,7 +26,7 @@ | |||
24 | 26 | ||
25 | #ifdef CONFIG_I2C_SPI_UCODE_PATCH | 27 | #ifdef CONFIG_I2C_SPI_UCODE_PATCH |
26 | 28 | ||
27 | uint patch_2000[] = { | 29 | static uint patch_2000[] __initdata = { |
28 | 0x7FFFEFD9, | 30 | 0x7FFFEFD9, |
29 | 0x3FFD0000, | 31 | 0x3FFD0000, |
30 | 0x7FFB49F7, | 32 | 0x7FFB49F7, |
@@ -143,7 +145,7 @@ uint patch_2000[] = { | |||
143 | 0x5F8247F8 | 145 | 0x5F8247F8 |
144 | }; | 146 | }; |
145 | 147 | ||
146 | uint patch_2f00[] = { | 148 | static uint patch_2f00[] __initdata = { |
147 | 0x3E303430, | 149 | 0x3E303430, |
148 | 0x34343737, | 150 | 0x34343737, |
149 | 0xABF7BF9B, | 151 | 0xABF7BF9B, |
@@ -182,7 +184,7 @@ uint patch_2f00[] = { | |||
182 | 184 | ||
183 | #ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH | 185 | #ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH |
184 | 186 | ||
185 | uint patch_2000[] = { | 187 | static uint patch_2000[] __initdata = { |
186 | 0x3fff0000, | 188 | 0x3fff0000, |
187 | 0x3ffd0000, | 189 | 0x3ffd0000, |
188 | 0x3ffb0000, | 190 | 0x3ffb0000, |
@@ -505,7 +507,7 @@ uint patch_2000[] = { | |||
505 | 0x6079e2bb | 507 | 0x6079e2bb |
506 | }; | 508 | }; |
507 | 509 | ||
508 | uint patch_2f00[] = { | 510 | static uint patch_2f00[] __initdata = { |
509 | 0x30303030, | 511 | 0x30303030, |
510 | 0x3e3e3434, | 512 | 0x3e3e3434, |
511 | 0xabbf9b99, | 513 | 0xabbf9b99, |
@@ -572,7 +574,7 @@ uint patch_2f00[] = { | |||
572 | 0xf22f3f23 | 574 | 0xf22f3f23 |
573 | }; | 575 | }; |
574 | 576 | ||
575 | uint patch_2e00[] = { | 577 | static uint patch_2e00[] __initdata = { |
576 | 0x27eeeeee, | 578 | 0x27eeeeee, |
577 | 0xeeeeeeee, | 579 | 0xeeeeeeee, |
578 | 0xeeeeeeee, | 580 | 0xeeeeeeee, |
@@ -598,7 +600,7 @@ uint patch_2e00[] = { | |||
598 | 600 | ||
599 | #ifdef CONFIG_USB_SOF_UCODE_PATCH | 601 | #ifdef CONFIG_USB_SOF_UCODE_PATCH |
600 | 602 | ||
601 | uint patch_2000[] = { | 603 | static uint patch_2000[] __initdata = { |
602 | 0x7fff0000, | 604 | 0x7fff0000, |
603 | 0x7ffd0000, | 605 | 0x7ffd0000, |
604 | 0x7ffb0000, | 606 | 0x7ffb0000, |
@@ -613,21 +615,25 @@ uint patch_2000[] = { | |||
613 | 0x60750000 | 615 | 0x60750000 |
614 | }; | 616 | }; |
615 | 617 | ||
616 | uint patch_2f00[] = { | 618 | static uint patch_2f00[] __initdata = { |
617 | 0x3030304c, | 619 | 0x3030304c, |
618 | 0xcab9e441, | 620 | 0xcab9e441, |
619 | 0xa1aaf220 | 621 | 0xa1aaf220 |
620 | }; | 622 | }; |
621 | #endif | 623 | #endif |
622 | 624 | ||
623 | void | 625 | void __init cpm_load_patch(cpm8xx_t *cp) |
624 | cpm_load_patch(cpm8xx_t *cp) | ||
625 | { | 626 | { |
626 | volatile uint *dp; /* Dual-ported RAM. */ | 627 | volatile uint *dp; /* Dual-ported RAM. */ |
627 | volatile cpm8xx_t *commproc; | 628 | volatile cpm8xx_t *commproc; |
629 | #if defined(CONFIG_I2C_SPI_UCODE_PATCH) || \ | ||
630 | defined(CONFIG_I2C_SPI_SMC1_UCODE_PATCH) | ||
628 | volatile iic_t *iip; | 631 | volatile iic_t *iip; |
629 | volatile spi_t *spp; | 632 | volatile struct spi_pram *spp; |
633 | #ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH | ||
630 | volatile smc_uart_t *smp; | 634 | volatile smc_uart_t *smp; |
635 | #endif | ||
636 | #endif | ||
631 | int i; | 637 | int i; |
632 | 638 | ||
633 | commproc = cp; | 639 | commproc = cp; |
@@ -668,8 +674,8 @@ cpm_load_patch(cpm8xx_t *cp) | |||
668 | /* Put SPI above the IIC, also 32-byte aligned. | 674 | /* Put SPI above the IIC, also 32-byte aligned. |
669 | */ | 675 | */ |
670 | i = (RPBASE + sizeof(iic_t) + 31) & ~31; | 676 | i = (RPBASE + sizeof(iic_t) + 31) & ~31; |
671 | spp = (spi_t *)&commproc->cp_dparam[PROFF_SPI]; | 677 | spp = (struct spi_pram *)&commproc->cp_dparam[PROFF_SPI]; |
672 | spp->spi_rpbase = i; | 678 | spp->rpbase = i; |
673 | 679 | ||
674 | # if defined(CONFIG_I2C_SPI_UCODE_PATCH) | 680 | # if defined(CONFIG_I2C_SPI_UCODE_PATCH) |
675 | commproc->cp_cpmcr1 = 0x802a; | 681 | commproc->cp_cpmcr1 = 0x802a; |
diff --git a/arch/powerpc/sysdev/mpc8xxx_gpio.c b/arch/powerpc/sysdev/mpc8xxx_gpio.c index ee1c0e1cf4a7..83f519655fac 100644 --- a/arch/powerpc/sysdev/mpc8xxx_gpio.c +++ b/arch/powerpc/sysdev/mpc8xxx_gpio.c | |||
@@ -15,6 +15,8 @@ | |||
15 | #include <linux/of.h> | 15 | #include <linux/of.h> |
16 | #include <linux/of_gpio.h> | 16 | #include <linux/of_gpio.h> |
17 | #include <linux/gpio.h> | 17 | #include <linux/gpio.h> |
18 | #include <linux/slab.h> | ||
19 | #include <linux/irq.h> | ||
18 | 20 | ||
19 | #define MPC8XXX_GPIO_PINS 32 | 21 | #define MPC8XXX_GPIO_PINS 32 |
20 | 22 | ||
@@ -34,6 +36,7 @@ struct mpc8xxx_gpio_chip { | |||
34 | * open drain mode safely | 36 | * open drain mode safely |
35 | */ | 37 | */ |
36 | u32 data; | 38 | u32 data; |
39 | struct irq_host *irq; | ||
37 | }; | 40 | }; |
38 | 41 | ||
39 | static inline u32 mpc8xxx_gpio2mask(unsigned int gpio) | 42 | static inline u32 mpc8xxx_gpio2mask(unsigned int gpio) |
@@ -127,12 +130,136 @@ static int mpc8xxx_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val | |||
127 | return 0; | 130 | return 0; |
128 | } | 131 | } |
129 | 132 | ||
133 | static int mpc8xxx_gpio_to_irq(struct gpio_chip *gc, unsigned offset) | ||
134 | { | ||
135 | struct of_mm_gpio_chip *mm = to_of_mm_gpio_chip(gc); | ||
136 | struct mpc8xxx_gpio_chip *mpc8xxx_gc = to_mpc8xxx_gpio_chip(mm); | ||
137 | |||
138 | if (mpc8xxx_gc->irq && offset < MPC8XXX_GPIO_PINS) | ||
139 | return irq_create_mapping(mpc8xxx_gc->irq, offset); | ||
140 | else | ||
141 | return -ENXIO; | ||
142 | } | ||
143 | |||
144 | static void mpc8xxx_gpio_irq_cascade(unsigned int irq, struct irq_desc *desc) | ||
145 | { | ||
146 | struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_desc_data(desc); | ||
147 | struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc; | ||
148 | unsigned int mask; | ||
149 | |||
150 | mask = in_be32(mm->regs + GPIO_IER) & in_be32(mm->regs + GPIO_IMR); | ||
151 | if (mask) | ||
152 | generic_handle_irq(irq_linear_revmap(mpc8xxx_gc->irq, | ||
153 | 32 - ffs(mask))); | ||
154 | } | ||
155 | |||
156 | static void mpc8xxx_irq_unmask(unsigned int virq) | ||
157 | { | ||
158 | struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_chip_data(virq); | ||
159 | struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc; | ||
160 | unsigned long flags; | ||
161 | |||
162 | spin_lock_irqsave(&mpc8xxx_gc->lock, flags); | ||
163 | |||
164 | setbits32(mm->regs + GPIO_IMR, mpc8xxx_gpio2mask(virq_to_hw(virq))); | ||
165 | |||
166 | spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags); | ||
167 | } | ||
168 | |||
169 | static void mpc8xxx_irq_mask(unsigned int virq) | ||
170 | { | ||
171 | struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_chip_data(virq); | ||
172 | struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc; | ||
173 | unsigned long flags; | ||
174 | |||
175 | spin_lock_irqsave(&mpc8xxx_gc->lock, flags); | ||
176 | |||
177 | clrbits32(mm->regs + GPIO_IMR, mpc8xxx_gpio2mask(virq_to_hw(virq))); | ||
178 | |||
179 | spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags); | ||
180 | } | ||
181 | |||
182 | static void mpc8xxx_irq_ack(unsigned int virq) | ||
183 | { | ||
184 | struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_chip_data(virq); | ||
185 | struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc; | ||
186 | |||
187 | out_be32(mm->regs + GPIO_IER, mpc8xxx_gpio2mask(virq_to_hw(virq))); | ||
188 | } | ||
189 | |||
190 | static int mpc8xxx_irq_set_type(unsigned int virq, unsigned int flow_type) | ||
191 | { | ||
192 | struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_chip_data(virq); | ||
193 | struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc; | ||
194 | unsigned long flags; | ||
195 | |||
196 | switch (flow_type) { | ||
197 | case IRQ_TYPE_EDGE_FALLING: | ||
198 | spin_lock_irqsave(&mpc8xxx_gc->lock, flags); | ||
199 | setbits32(mm->regs + GPIO_ICR, | ||
200 | mpc8xxx_gpio2mask(virq_to_hw(virq))); | ||
201 | spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags); | ||
202 | break; | ||
203 | |||
204 | case IRQ_TYPE_EDGE_BOTH: | ||
205 | spin_lock_irqsave(&mpc8xxx_gc->lock, flags); | ||
206 | clrbits32(mm->regs + GPIO_ICR, | ||
207 | mpc8xxx_gpio2mask(virq_to_hw(virq))); | ||
208 | spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags); | ||
209 | break; | ||
210 | |||
211 | default: | ||
212 | return -EINVAL; | ||
213 | } | ||
214 | |||
215 | return 0; | ||
216 | } | ||
217 | |||
218 | static struct irq_chip mpc8xxx_irq_chip = { | ||
219 | .name = "mpc8xxx-gpio", | ||
220 | .unmask = mpc8xxx_irq_unmask, | ||
221 | .mask = mpc8xxx_irq_mask, | ||
222 | .ack = mpc8xxx_irq_ack, | ||
223 | .set_type = mpc8xxx_irq_set_type, | ||
224 | }; | ||
225 | |||
226 | static int mpc8xxx_gpio_irq_map(struct irq_host *h, unsigned int virq, | ||
227 | irq_hw_number_t hw) | ||
228 | { | ||
229 | set_irq_chip_data(virq, h->host_data); | ||
230 | set_irq_chip_and_handler(virq, &mpc8xxx_irq_chip, handle_level_irq); | ||
231 | set_irq_type(virq, IRQ_TYPE_NONE); | ||
232 | |||
233 | return 0; | ||
234 | } | ||
235 | |||
236 | static int mpc8xxx_gpio_irq_xlate(struct irq_host *h, struct device_node *ct, | ||
237 | const u32 *intspec, unsigned int intsize, | ||
238 | irq_hw_number_t *out_hwirq, | ||
239 | unsigned int *out_flags) | ||
240 | |||
241 | { | ||
242 | /* interrupt sense values coming from the device tree equal either | ||
243 | * EDGE_FALLING or EDGE_BOTH | ||
244 | */ | ||
245 | *out_hwirq = intspec[0]; | ||
246 | *out_flags = intspec[1]; | ||
247 | |||
248 | return 0; | ||
249 | } | ||
250 | |||
251 | static struct irq_host_ops mpc8xxx_gpio_irq_ops = { | ||
252 | .map = mpc8xxx_gpio_irq_map, | ||
253 | .xlate = mpc8xxx_gpio_irq_xlate, | ||
254 | }; | ||
255 | |||
130 | static void __init mpc8xxx_add_controller(struct device_node *np) | 256 | static void __init mpc8xxx_add_controller(struct device_node *np) |
131 | { | 257 | { |
132 | struct mpc8xxx_gpio_chip *mpc8xxx_gc; | 258 | struct mpc8xxx_gpio_chip *mpc8xxx_gc; |
133 | struct of_mm_gpio_chip *mm_gc; | 259 | struct of_mm_gpio_chip *mm_gc; |
134 | struct of_gpio_chip *of_gc; | 260 | struct of_gpio_chip *of_gc; |
135 | struct gpio_chip *gc; | 261 | struct gpio_chip *gc; |
262 | unsigned hwirq; | ||
136 | int ret; | 263 | int ret; |
137 | 264 | ||
138 | mpc8xxx_gc = kzalloc(sizeof(*mpc8xxx_gc), GFP_KERNEL); | 265 | mpc8xxx_gc = kzalloc(sizeof(*mpc8xxx_gc), GFP_KERNEL); |
@@ -157,11 +284,32 @@ static void __init mpc8xxx_add_controller(struct device_node *np) | |||
157 | else | 284 | else |
158 | gc->get = mpc8xxx_gpio_get; | 285 | gc->get = mpc8xxx_gpio_get; |
159 | gc->set = mpc8xxx_gpio_set; | 286 | gc->set = mpc8xxx_gpio_set; |
287 | gc->to_irq = mpc8xxx_gpio_to_irq; | ||
160 | 288 | ||
161 | ret = of_mm_gpiochip_add(np, mm_gc); | 289 | ret = of_mm_gpiochip_add(np, mm_gc); |
162 | if (ret) | 290 | if (ret) |
163 | goto err; | 291 | goto err; |
164 | 292 | ||
293 | hwirq = irq_of_parse_and_map(np, 0); | ||
294 | if (hwirq == NO_IRQ) | ||
295 | goto skip_irq; | ||
296 | |||
297 | mpc8xxx_gc->irq = | ||
298 | irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, MPC8XXX_GPIO_PINS, | ||
299 | &mpc8xxx_gpio_irq_ops, MPC8XXX_GPIO_PINS); | ||
300 | if (!mpc8xxx_gc->irq) | ||
301 | goto skip_irq; | ||
302 | |||
303 | mpc8xxx_gc->irq->host_data = mpc8xxx_gc; | ||
304 | |||
305 | /* ack and mask all irqs */ | ||
306 | out_be32(mm_gc->regs + GPIO_IER, 0xffffffff); | ||
307 | out_be32(mm_gc->regs + GPIO_IMR, 0); | ||
308 | |||
309 | set_irq_data(hwirq, mpc8xxx_gc); | ||
310 | set_irq_chained_handler(hwirq, mpc8xxx_gpio_irq_cascade); | ||
311 | |||
312 | skip_irq: | ||
165 | return; | 313 | return; |
166 | 314 | ||
167 | err: | 315 | err: |
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 339e8a3e26d2..20b73c025a45 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/bootmem.h> | 26 | #include <linux/bootmem.h> |
27 | #include <linux/spinlock.h> | 27 | #include <linux/spinlock.h> |
28 | #include <linux/pci.h> | 28 | #include <linux/pci.h> |
29 | #include <linux/slab.h> | ||
29 | 30 | ||
30 | #include <asm/ptrace.h> | 31 | #include <asm/ptrace.h> |
31 | #include <asm/signal.h> | 32 | #include <asm/signal.h> |
@@ -567,12 +568,12 @@ static void __init mpic_scan_ht_pics(struct mpic *mpic) | |||
567 | #endif /* CONFIG_MPIC_U3_HT_IRQS */ | 568 | #endif /* CONFIG_MPIC_U3_HT_IRQS */ |
568 | 569 | ||
569 | #ifdef CONFIG_SMP | 570 | #ifdef CONFIG_SMP |
570 | static int irq_choose_cpu(const cpumask_t *mask) | 571 | static int irq_choose_cpu(const struct cpumask *mask) |
571 | { | 572 | { |
572 | int cpuid; | 573 | int cpuid; |
573 | 574 | ||
574 | if (cpumask_equal(mask, cpu_all_mask)) { | 575 | if (cpumask_equal(mask, cpu_all_mask)) { |
575 | static int irq_rover; | 576 | static int irq_rover = 0; |
576 | static DEFINE_RAW_SPINLOCK(irq_rover_lock); | 577 | static DEFINE_RAW_SPINLOCK(irq_rover_lock); |
577 | unsigned long flags; | 578 | unsigned long flags; |
578 | 579 | ||
@@ -580,15 +581,11 @@ static int irq_choose_cpu(const cpumask_t *mask) | |||
580 | do_round_robin: | 581 | do_round_robin: |
581 | raw_spin_lock_irqsave(&irq_rover_lock, flags); | 582 | raw_spin_lock_irqsave(&irq_rover_lock, flags); |
582 | 583 | ||
583 | while (!cpu_online(irq_rover)) { | 584 | irq_rover = cpumask_next(irq_rover, cpu_online_mask); |
584 | if (++irq_rover >= NR_CPUS) | 585 | if (irq_rover >= nr_cpu_ids) |
585 | irq_rover = 0; | 586 | irq_rover = cpumask_first(cpu_online_mask); |
586 | } | 587 | |
587 | cpuid = irq_rover; | 588 | cpuid = irq_rover; |
588 | do { | ||
589 | if (++irq_rover >= NR_CPUS) | ||
590 | irq_rover = 0; | ||
591 | } while (!cpu_online(irq_rover)); | ||
592 | 589 | ||
593 | raw_spin_unlock_irqrestore(&irq_rover_lock, flags); | 590 | raw_spin_unlock_irqrestore(&irq_rover_lock, flags); |
594 | } else { | 591 | } else { |
@@ -600,7 +597,7 @@ static int irq_choose_cpu(const cpumask_t *mask) | |||
600 | return get_hard_smp_processor_id(cpuid); | 597 | return get_hard_smp_processor_id(cpuid); |
601 | } | 598 | } |
602 | #else | 599 | #else |
603 | static int irq_choose_cpu(const cpumask_t *mask) | 600 | static int irq_choose_cpu(const struct cpumask *mask) |
604 | { | 601 | { |
605 | return hard_smp_processor_id(); | 602 | return hard_smp_processor_id(); |
606 | } | 603 | } |
@@ -813,12 +810,16 @@ int mpic_set_affinity(unsigned int irq, const struct cpumask *cpumask) | |||
813 | 810 | ||
814 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), 1 << cpuid); | 811 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), 1 << cpuid); |
815 | } else { | 812 | } else { |
816 | cpumask_t tmp; | 813 | cpumask_var_t tmp; |
817 | 814 | ||
818 | cpumask_and(&tmp, cpumask, cpu_online_mask); | 815 | alloc_cpumask_var(&tmp, GFP_KERNEL); |
816 | |||
817 | cpumask_and(tmp, cpumask, cpu_online_mask); | ||
819 | 818 | ||
820 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), | 819 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), |
821 | mpic_physmask(cpus_addr(tmp)[0])); | 820 | mpic_physmask(cpumask_bits(tmp)[0])); |
821 | |||
822 | free_cpumask_var(tmp); | ||
822 | } | 823 | } |
823 | 824 | ||
824 | return 0; | 825 | return 0; |
@@ -1478,21 +1479,6 @@ void mpic_teardown_this_cpu(int secondary) | |||
1478 | } | 1479 | } |
1479 | 1480 | ||
1480 | 1481 | ||
1481 | void mpic_send_ipi(unsigned int ipi_no, unsigned int cpu_mask) | ||
1482 | { | ||
1483 | struct mpic *mpic = mpic_primary; | ||
1484 | |||
1485 | BUG_ON(mpic == NULL); | ||
1486 | |||
1487 | #ifdef DEBUG_IPI | ||
1488 | DBG("%s: send_ipi(ipi_no: %d)\n", mpic->name, ipi_no); | ||
1489 | #endif | ||
1490 | |||
1491 | mpic_cpu_write(MPIC_INFO(CPU_IPI_DISPATCH_0) + | ||
1492 | ipi_no * MPIC_INFO(CPU_IPI_DISPATCH_STRIDE), | ||
1493 | mpic_physmask(cpu_mask & cpus_addr(cpu_online_map)[0])); | ||
1494 | } | ||
1495 | |||
1496 | static unsigned int _mpic_get_one_irq(struct mpic *mpic, int reg) | 1482 | static unsigned int _mpic_get_one_irq(struct mpic *mpic, int reg) |
1497 | { | 1483 | { |
1498 | u32 src; | 1484 | u32 src; |
@@ -1588,8 +1574,25 @@ void mpic_request_ipis(void) | |||
1588 | } | 1574 | } |
1589 | } | 1575 | } |
1590 | 1576 | ||
1577 | static void mpic_send_ipi(unsigned int ipi_no, const struct cpumask *cpu_mask) | ||
1578 | { | ||
1579 | struct mpic *mpic = mpic_primary; | ||
1580 | |||
1581 | BUG_ON(mpic == NULL); | ||
1582 | |||
1583 | #ifdef DEBUG_IPI | ||
1584 | DBG("%s: send_ipi(ipi_no: %d)\n", mpic->name, ipi_no); | ||
1585 | #endif | ||
1586 | |||
1587 | mpic_cpu_write(MPIC_INFO(CPU_IPI_DISPATCH_0) + | ||
1588 | ipi_no * MPIC_INFO(CPU_IPI_DISPATCH_STRIDE), | ||
1589 | mpic_physmask(cpumask_bits(cpu_mask)[0])); | ||
1590 | } | ||
1591 | |||
1591 | void smp_mpic_message_pass(int target, int msg) | 1592 | void smp_mpic_message_pass(int target, int msg) |
1592 | { | 1593 | { |
1594 | cpumask_var_t tmp; | ||
1595 | |||
1593 | /* make sure we're sending something that translates to an IPI */ | 1596 | /* make sure we're sending something that translates to an IPI */ |
1594 | if ((unsigned int)msg > 3) { | 1597 | if ((unsigned int)msg > 3) { |
1595 | printk("SMP %d: smp_message_pass: unknown msg %d\n", | 1598 | printk("SMP %d: smp_message_pass: unknown msg %d\n", |
@@ -1598,13 +1601,17 @@ void smp_mpic_message_pass(int target, int msg) | |||
1598 | } | 1601 | } |
1599 | switch (target) { | 1602 | switch (target) { |
1600 | case MSG_ALL: | 1603 | case MSG_ALL: |
1601 | mpic_send_ipi(msg, 0xffffffff); | 1604 | mpic_send_ipi(msg, cpu_online_mask); |
1602 | break; | 1605 | break; |
1603 | case MSG_ALL_BUT_SELF: | 1606 | case MSG_ALL_BUT_SELF: |
1604 | mpic_send_ipi(msg, 0xffffffff & ~(1 << smp_processor_id())); | 1607 | alloc_cpumask_var(&tmp, GFP_NOWAIT); |
1608 | cpumask_andnot(tmp, cpu_online_mask, | ||
1609 | cpumask_of(smp_processor_id())); | ||
1610 | mpic_send_ipi(msg, tmp); | ||
1611 | free_cpumask_var(tmp); | ||
1605 | break; | 1612 | break; |
1606 | default: | 1613 | default: |
1607 | mpic_send_ipi(msg, 1 << target); | 1614 | mpic_send_ipi(msg, cpumask_of(target)); |
1608 | break; | 1615 | break; |
1609 | } | 1616 | } |
1610 | } | 1617 | } |
@@ -1615,7 +1622,7 @@ int __init smp_mpic_probe(void) | |||
1615 | 1622 | ||
1616 | DBG("smp_mpic_probe()...\n"); | 1623 | DBG("smp_mpic_probe()...\n"); |
1617 | 1624 | ||
1618 | nr_cpus = cpus_weight(cpu_possible_map); | 1625 | nr_cpus = cpumask_weight(cpu_possible_mask); |
1619 | 1626 | ||
1620 | DBG("nr_cpus: %d\n", nr_cpus); | 1627 | DBG("nr_cpus: %d\n", nr_cpus); |
1621 | 1628 | ||
@@ -1659,7 +1666,7 @@ static int mpic_resume(struct sys_device *dev) | |||
1659 | mpic->save_data[i].dest); | 1666 | mpic->save_data[i].dest); |
1660 | 1667 | ||
1661 | #ifdef CONFIG_MPIC_U3_HT_IRQS | 1668 | #ifdef CONFIG_MPIC_U3_HT_IRQS |
1662 | { | 1669 | if (mpic->fixups) { |
1663 | struct mpic_irq_fixup *fixup = &mpic->fixups[i]; | 1670 | struct mpic_irq_fixup *fixup = &mpic->fixups[i]; |
1664 | 1671 | ||
1665 | if (fixup->base) { | 1672 | if (fixup->base) { |
diff --git a/arch/powerpc/sysdev/msi_bitmap.c b/arch/powerpc/sysdev/msi_bitmap.c index 5a32cbef9b6c..5287e95cec3a 100644 --- a/arch/powerpc/sysdev/msi_bitmap.c +++ b/arch/powerpc/sysdev/msi_bitmap.c | |||
@@ -8,6 +8,7 @@ | |||
8 | * | 8 | * |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/slab.h> | ||
11 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
12 | #include <linux/bitmap.h> | 13 | #include <linux/bitmap.h> |
13 | #include <asm/msi_bitmap.h> | 14 | #include <asm/msi_bitmap.h> |
diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c index 1456015a22d8..198f288570cc 100644 --- a/arch/powerpc/sysdev/mv64x60_pci.c +++ b/arch/powerpc/sysdev/mv64x60_pci.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #define MV64X60_VAL_LEN_MAX 11 | 24 | #define MV64X60_VAL_LEN_MAX 11 |
25 | #define MV64X60_PCICFG_CPCI_HOTSWAP 0x68 | 25 | #define MV64X60_PCICFG_CPCI_HOTSWAP 0x68 |
26 | 26 | ||
27 | static ssize_t mv64x60_hs_reg_read(struct kobject *kobj, | 27 | static ssize_t mv64x60_hs_reg_read(struct file *filp, struct kobject *kobj, |
28 | struct bin_attribute *attr, char *buf, | 28 | struct bin_attribute *attr, char *buf, |
29 | loff_t off, size_t count) | 29 | loff_t off, size_t count) |
30 | { | 30 | { |
@@ -45,7 +45,7 @@ static ssize_t mv64x60_hs_reg_read(struct kobject *kobj, | |||
45 | return sprintf(buf, "0x%08x\n", v); | 45 | return sprintf(buf, "0x%08x\n", v); |
46 | } | 46 | } |
47 | 47 | ||
48 | static ssize_t mv64x60_hs_reg_write(struct kobject *kobj, | 48 | static ssize_t mv64x60_hs_reg_write(struct file *filp, struct kobject *kobj, |
49 | struct bin_attribute *attr, char *buf, | 49 | struct bin_attribute *attr, char *buf, |
50 | loff_t off, size_t count) | 50 | loff_t off, size_t count) |
51 | { | 51 | { |
diff --git a/arch/powerpc/sysdev/of_rtc.c b/arch/powerpc/sysdev/of_rtc.c index 3d54450640c1..c9e803f3e267 100644 --- a/arch/powerpc/sysdev/of_rtc.c +++ b/arch/powerpc/sysdev/of_rtc.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/of.h> | 12 | #include <linux/of.h> |
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/of_platform.h> | 14 | #include <linux/of_platform.h> |
15 | #include <linux/slab.h> | ||
15 | 16 | ||
16 | static __initdata struct { | 17 | static __initdata struct { |
17 | const char *compatible; | 18 | const char *compatible; |
diff --git a/arch/powerpc/sysdev/pmi.c b/arch/powerpc/sysdev/pmi.c index aaa915998eb6..d07137a07d75 100644 --- a/arch/powerpc/sysdev/pmi.c +++ b/arch/powerpc/sysdev/pmi.c | |||
@@ -25,6 +25,7 @@ | |||
25 | */ | 25 | */ |
26 | 26 | ||
27 | #include <linux/interrupt.h> | 27 | #include <linux/interrupt.h> |
28 | #include <linux/slab.h> | ||
28 | #include <linux/completion.h> | 29 | #include <linux/completion.h> |
29 | #include <linux/spinlock.h> | 30 | #include <linux/spinlock.h> |
30 | #include <linux/workqueue.h> | 31 | #include <linux/workqueue.h> |
@@ -123,7 +124,7 @@ static void pmi_notify_handlers(struct work_struct *work) | |||
123 | static int pmi_of_probe(struct of_device *dev, | 124 | static int pmi_of_probe(struct of_device *dev, |
124 | const struct of_device_id *match) | 125 | const struct of_device_id *match) |
125 | { | 126 | { |
126 | struct device_node *np = dev->node; | 127 | struct device_node *np = dev->dev.of_node; |
127 | int rc; | 128 | int rc; |
128 | 129 | ||
129 | if (data) { | 130 | if (data) { |
@@ -205,11 +206,12 @@ static int pmi_of_remove(struct of_device *dev) | |||
205 | } | 206 | } |
206 | 207 | ||
207 | static struct of_platform_driver pmi_of_platform_driver = { | 208 | static struct of_platform_driver pmi_of_platform_driver = { |
208 | .match_table = pmi_match, | ||
209 | .probe = pmi_of_probe, | 209 | .probe = pmi_of_probe, |
210 | .remove = pmi_of_remove, | 210 | .remove = pmi_of_remove, |
211 | .driver = { | 211 | .driver = { |
212 | .name = "pmi", | 212 | .name = "pmi", |
213 | .owner = THIS_MODULE, | ||
214 | .of_match_table = pmi_match, | ||
213 | }, | 215 | }, |
214 | }; | 216 | }; |
215 | 217 | ||
diff --git a/arch/powerpc/sysdev/ppc4xx_gpio.c b/arch/powerpc/sysdev/ppc4xx_gpio.c index 110efe2a54fc..3812fc366bec 100644 --- a/arch/powerpc/sysdev/ppc4xx_gpio.c +++ b/arch/powerpc/sysdev/ppc4xx_gpio.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/of_gpio.h> | 29 | #include <linux/of_gpio.h> |
30 | #include <linux/gpio.h> | 30 | #include <linux/gpio.h> |
31 | #include <linux/types.h> | 31 | #include <linux/types.h> |
32 | #include <linux/slab.h> | ||
32 | 33 | ||
33 | #define GPIO_MASK(gpio) (0x80000000 >> (gpio)) | 34 | #define GPIO_MASK(gpio) (0x80000000 >> (gpio)) |
34 | #define GPIO_MASK2(gpio) (0xc0000000 >> ((gpio) * 2)) | 35 | #define GPIO_MASK2(gpio) (0xc0000000 >> ((gpio) * 2)) |
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.c b/arch/powerpc/sysdev/ppc4xx_pci.c index 8aa33021e50b..156aa7d36258 100644 --- a/arch/powerpc/sysdev/ppc4xx_pci.c +++ b/arch/powerpc/sysdev/ppc4xx_pci.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/of.h> | 24 | #include <linux/of.h> |
25 | #include <linux/bootmem.h> | 25 | #include <linux/bootmem.h> |
26 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
27 | #include <linux/slab.h> | ||
27 | 28 | ||
28 | #include <asm/io.h> | 29 | #include <asm/io.h> |
29 | #include <asm/pci-bridge.h> | 30 | #include <asm/pci-bridge.h> |
@@ -973,6 +974,123 @@ static struct ppc4xx_pciex_hwops ppc460ex_pcie_hwops __initdata = | |||
973 | .setup_utl = ppc460ex_pciex_init_utl, | 974 | .setup_utl = ppc460ex_pciex_init_utl, |
974 | }; | 975 | }; |
975 | 976 | ||
977 | static int __init ppc460sx_pciex_core_init(struct device_node *np) | ||
978 | { | ||
979 | /* HSS drive amplitude */ | ||
980 | mtdcri(SDR0, PESDR0_460SX_HSSL0DAMP, 0xB9843211); | ||
981 | mtdcri(SDR0, PESDR0_460SX_HSSL1DAMP, 0xB9843211); | ||
982 | mtdcri(SDR0, PESDR0_460SX_HSSL2DAMP, 0xB9843211); | ||
983 | mtdcri(SDR0, PESDR0_460SX_HSSL3DAMP, 0xB9843211); | ||
984 | mtdcri(SDR0, PESDR0_460SX_HSSL4DAMP, 0xB9843211); | ||
985 | mtdcri(SDR0, PESDR0_460SX_HSSL5DAMP, 0xB9843211); | ||
986 | mtdcri(SDR0, PESDR0_460SX_HSSL6DAMP, 0xB9843211); | ||
987 | mtdcri(SDR0, PESDR0_460SX_HSSL7DAMP, 0xB9843211); | ||
988 | |||
989 | mtdcri(SDR0, PESDR1_460SX_HSSL0DAMP, 0xB9843211); | ||
990 | mtdcri(SDR0, PESDR1_460SX_HSSL1DAMP, 0xB9843211); | ||
991 | mtdcri(SDR0, PESDR1_460SX_HSSL2DAMP, 0xB9843211); | ||
992 | mtdcri(SDR0, PESDR1_460SX_HSSL3DAMP, 0xB9843211); | ||
993 | |||
994 | mtdcri(SDR0, PESDR2_460SX_HSSL0DAMP, 0xB9843211); | ||
995 | mtdcri(SDR0, PESDR2_460SX_HSSL1DAMP, 0xB9843211); | ||
996 | mtdcri(SDR0, PESDR2_460SX_HSSL2DAMP, 0xB9843211); | ||
997 | mtdcri(SDR0, PESDR2_460SX_HSSL3DAMP, 0xB9843211); | ||
998 | |||
999 | /* HSS TX pre-emphasis */ | ||
1000 | mtdcri(SDR0, PESDR0_460SX_HSSL0COEFA, 0xDCB98987); | ||
1001 | mtdcri(SDR0, PESDR0_460SX_HSSL1COEFA, 0xDCB98987); | ||
1002 | mtdcri(SDR0, PESDR0_460SX_HSSL2COEFA, 0xDCB98987); | ||
1003 | mtdcri(SDR0, PESDR0_460SX_HSSL3COEFA, 0xDCB98987); | ||
1004 | mtdcri(SDR0, PESDR0_460SX_HSSL4COEFA, 0xDCB98987); | ||
1005 | mtdcri(SDR0, PESDR0_460SX_HSSL5COEFA, 0xDCB98987); | ||
1006 | mtdcri(SDR0, PESDR0_460SX_HSSL6COEFA, 0xDCB98987); | ||
1007 | mtdcri(SDR0, PESDR0_460SX_HSSL7COEFA, 0xDCB98987); | ||
1008 | |||
1009 | mtdcri(SDR0, PESDR1_460SX_HSSL0COEFA, 0xDCB98987); | ||
1010 | mtdcri(SDR0, PESDR1_460SX_HSSL1COEFA, 0xDCB98987); | ||
1011 | mtdcri(SDR0, PESDR1_460SX_HSSL2COEFA, 0xDCB98987); | ||
1012 | mtdcri(SDR0, PESDR1_460SX_HSSL3COEFA, 0xDCB98987); | ||
1013 | |||
1014 | mtdcri(SDR0, PESDR2_460SX_HSSL0COEFA, 0xDCB98987); | ||
1015 | mtdcri(SDR0, PESDR2_460SX_HSSL1COEFA, 0xDCB98987); | ||
1016 | mtdcri(SDR0, PESDR2_460SX_HSSL2COEFA, 0xDCB98987); | ||
1017 | mtdcri(SDR0, PESDR2_460SX_HSSL3COEFA, 0xDCB98987); | ||
1018 | |||
1019 | /* HSS TX calibration control */ | ||
1020 | mtdcri(SDR0, PESDR0_460SX_HSSL1CALDRV, 0x22222222); | ||
1021 | mtdcri(SDR0, PESDR1_460SX_HSSL1CALDRV, 0x22220000); | ||
1022 | mtdcri(SDR0, PESDR2_460SX_HSSL1CALDRV, 0x22220000); | ||
1023 | |||
1024 | /* HSS TX slew control */ | ||
1025 | mtdcri(SDR0, PESDR0_460SX_HSSSLEW, 0xFFFFFFFF); | ||
1026 | mtdcri(SDR0, PESDR1_460SX_HSSSLEW, 0xFFFF0000); | ||
1027 | mtdcri(SDR0, PESDR2_460SX_HSSSLEW, 0xFFFF0000); | ||
1028 | |||
1029 | udelay(100); | ||
1030 | |||
1031 | /* De-assert PLLRESET */ | ||
1032 | dcri_clrset(SDR0, PESDR0_PLLLCT2, 0x00000100, 0); | ||
1033 | |||
1034 | /* Reset DL, UTL, GPL before configuration */ | ||
1035 | mtdcri(SDR0, PESDR0_460SX_RCSSET, | ||
1036 | PESDRx_RCSSET_RSTDL | PESDRx_RCSSET_RSTGU); | ||
1037 | mtdcri(SDR0, PESDR1_460SX_RCSSET, | ||
1038 | PESDRx_RCSSET_RSTDL | PESDRx_RCSSET_RSTGU); | ||
1039 | mtdcri(SDR0, PESDR2_460SX_RCSSET, | ||
1040 | PESDRx_RCSSET_RSTDL | PESDRx_RCSSET_RSTGU); | ||
1041 | |||
1042 | udelay(100); | ||
1043 | |||
1044 | /* | ||
1045 | * If bifurcation is not enabled, u-boot would have disabled the | ||
1046 | * third PCIe port | ||
1047 | */ | ||
1048 | if (((mfdcri(SDR0, PESDR1_460SX_HSSCTLSET) & 0x00000001) == | ||
1049 | 0x00000001)) { | ||
1050 | printk(KERN_INFO "PCI: PCIE bifurcation setup successfully.\n"); | ||
1051 | printk(KERN_INFO "PCI: Total 3 PCIE ports are present\n"); | ||
1052 | return 3; | ||
1053 | } | ||
1054 | |||
1055 | printk(KERN_INFO "PCI: Total 2 PCIE ports are present\n"); | ||
1056 | return 2; | ||
1057 | } | ||
1058 | |||
1059 | static int ppc460sx_pciex_init_port_hw(struct ppc4xx_pciex_port *port) | ||
1060 | { | ||
1061 | |||
1062 | if (port->endpoint) | ||
1063 | dcri_clrset(SDR0, port->sdr_base + PESDRn_UTLSET2, | ||
1064 | 0x01000000, 0); | ||
1065 | else | ||
1066 | dcri_clrset(SDR0, port->sdr_base + PESDRn_UTLSET2, | ||
1067 | 0, 0x01000000); | ||
1068 | |||
1069 | /*Gen-1*/ | ||
1070 | mtdcri(SDR0, port->sdr_base + PESDRn_460SX_RCEI, 0x08000000); | ||
1071 | |||
1072 | dcri_clrset(SDR0, port->sdr_base + PESDRn_RCSSET, | ||
1073 | (PESDRx_RCSSET_RSTGU | PESDRx_RCSSET_RSTDL), | ||
1074 | PESDRx_RCSSET_RSTPYN); | ||
1075 | |||
1076 | port->has_ibpre = 1; | ||
1077 | |||
1078 | return 0; | ||
1079 | } | ||
1080 | |||
1081 | static int ppc460sx_pciex_init_utl(struct ppc4xx_pciex_port *port) | ||
1082 | { | ||
1083 | /* Max 128 Bytes */ | ||
1084 | out_be32 (port->utl_base + PEUTL_PBBSZ, 0x00000000); | ||
1085 | return 0; | ||
1086 | } | ||
1087 | |||
1088 | static struct ppc4xx_pciex_hwops ppc460sx_pcie_hwops __initdata = { | ||
1089 | .core_init = ppc460sx_pciex_core_init, | ||
1090 | .port_init_hw = ppc460sx_pciex_init_port_hw, | ||
1091 | .setup_utl = ppc460sx_pciex_init_utl, | ||
1092 | }; | ||
1093 | |||
976 | #endif /* CONFIG_44x */ | 1094 | #endif /* CONFIG_44x */ |
977 | 1095 | ||
978 | #ifdef CONFIG_40x | 1096 | #ifdef CONFIG_40x |
@@ -1088,6 +1206,8 @@ static int __init ppc4xx_pciex_check_core_init(struct device_node *np) | |||
1088 | } | 1206 | } |
1089 | if (of_device_is_compatible(np, "ibm,plb-pciex-460ex")) | 1207 | if (of_device_is_compatible(np, "ibm,plb-pciex-460ex")) |
1090 | ppc4xx_pciex_hwops = &ppc460ex_pcie_hwops; | 1208 | ppc4xx_pciex_hwops = &ppc460ex_pcie_hwops; |
1209 | if (of_device_is_compatible(np, "ibm,plb-pciex-460sx")) | ||
1210 | ppc4xx_pciex_hwops = &ppc460sx_pcie_hwops; | ||
1091 | #endif /* CONFIG_44x */ | 1211 | #endif /* CONFIG_44x */ |
1092 | #ifdef CONFIG_40x | 1212 | #ifdef CONFIG_40x |
1093 | if (of_device_is_compatible(np, "ibm,plb-pciex-405ex")) | 1213 | if (of_device_is_compatible(np, "ibm,plb-pciex-405ex")) |
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.h b/arch/powerpc/sysdev/ppc4xx_pci.h index d04e40b306fb..56d9e5deccbf 100644 --- a/arch/powerpc/sysdev/ppc4xx_pci.h +++ b/arch/powerpc/sysdev/ppc4xx_pci.h | |||
@@ -324,6 +324,64 @@ | |||
324 | #define PESDR0_460EX_IHS2 0x036D | 324 | #define PESDR0_460EX_IHS2 0x036D |
325 | 325 | ||
326 | /* | 326 | /* |
327 | * 460SX addtional DCRs | ||
328 | */ | ||
329 | #define PESDRn_460SX_RCEI 0x02 | ||
330 | |||
331 | #define PESDR0_460SX_HSSL0DAMP 0x320 | ||
332 | #define PESDR0_460SX_HSSL1DAMP 0x321 | ||
333 | #define PESDR0_460SX_HSSL2DAMP 0x322 | ||
334 | #define PESDR0_460SX_HSSL3DAMP 0x323 | ||
335 | #define PESDR0_460SX_HSSL4DAMP 0x324 | ||
336 | #define PESDR0_460SX_HSSL5DAMP 0x325 | ||
337 | #define PESDR0_460SX_HSSL6DAMP 0x326 | ||
338 | #define PESDR0_460SX_HSSL7DAMP 0x327 | ||
339 | |||
340 | #define PESDR1_460SX_HSSL0DAMP 0x354 | ||
341 | #define PESDR1_460SX_HSSL1DAMP 0x355 | ||
342 | #define PESDR1_460SX_HSSL2DAMP 0x356 | ||
343 | #define PESDR1_460SX_HSSL3DAMP 0x357 | ||
344 | |||
345 | #define PESDR2_460SX_HSSL0DAMP 0x384 | ||
346 | #define PESDR2_460SX_HSSL1DAMP 0x385 | ||
347 | #define PESDR2_460SX_HSSL2DAMP 0x386 | ||
348 | #define PESDR2_460SX_HSSL3DAMP 0x387 | ||
349 | |||
350 | #define PESDR0_460SX_HSSL0COEFA 0x328 | ||
351 | #define PESDR0_460SX_HSSL1COEFA 0x329 | ||
352 | #define PESDR0_460SX_HSSL2COEFA 0x32A | ||
353 | #define PESDR0_460SX_HSSL3COEFA 0x32B | ||
354 | #define PESDR0_460SX_HSSL4COEFA 0x32C | ||
355 | #define PESDR0_460SX_HSSL5COEFA 0x32D | ||
356 | #define PESDR0_460SX_HSSL6COEFA 0x32E | ||
357 | #define PESDR0_460SX_HSSL7COEFA 0x32F | ||
358 | |||
359 | #define PESDR1_460SX_HSSL0COEFA 0x358 | ||
360 | #define PESDR1_460SX_HSSL1COEFA 0x359 | ||
361 | #define PESDR1_460SX_HSSL2COEFA 0x35A | ||
362 | #define PESDR1_460SX_HSSL3COEFA 0x35B | ||
363 | |||
364 | #define PESDR2_460SX_HSSL0COEFA 0x388 | ||
365 | #define PESDR2_460SX_HSSL1COEFA 0x389 | ||
366 | #define PESDR2_460SX_HSSL2COEFA 0x38A | ||
367 | #define PESDR2_460SX_HSSL3COEFA 0x38B | ||
368 | |||
369 | #define PESDR0_460SX_HSSL1CALDRV 0x339 | ||
370 | #define PESDR1_460SX_HSSL1CALDRV 0x361 | ||
371 | #define PESDR2_460SX_HSSL1CALDRV 0x391 | ||
372 | |||
373 | #define PESDR0_460SX_HSSSLEW 0x338 | ||
374 | #define PESDR1_460SX_HSSSLEW 0x360 | ||
375 | #define PESDR2_460SX_HSSSLEW 0x390 | ||
376 | |||
377 | #define PESDR0_460SX_HSSCTLSET 0x31E | ||
378 | #define PESDR1_460SX_HSSCTLSET 0x352 | ||
379 | #define PESDR2_460SX_HSSCTLSET 0x382 | ||
380 | |||
381 | #define PESDR0_460SX_RCSSET 0x304 | ||
382 | #define PESDR1_460SX_RCSSET 0x344 | ||
383 | #define PESDR2_460SX_RCSSET 0x374 | ||
384 | /* | ||
327 | * Of the above, some are common offsets from the base | 385 | * Of the above, some are common offsets from the base |
328 | */ | 386 | */ |
329 | #define PESDRn_UTLSET1 0x00 | 387 | #define PESDRn_UTLSET1 0x00 |
diff --git a/arch/powerpc/sysdev/ppc4xx_soc.c b/arch/powerpc/sysdev/ppc4xx_soc.c index 5c014350bf16..d3d6ce3c33b4 100644 --- a/arch/powerpc/sysdev/ppc4xx_soc.c +++ b/arch/powerpc/sysdev/ppc4xx_soc.c | |||
@@ -191,11 +191,31 @@ static int __init ppc4xx_l2c_probe(void) | |||
191 | arch_initcall(ppc4xx_l2c_probe); | 191 | arch_initcall(ppc4xx_l2c_probe); |
192 | 192 | ||
193 | /* | 193 | /* |
194 | * At present, this routine just applies a system reset. | 194 | * Apply a system reset. Alternatively a board specific value may be |
195 | * provided via the "reset-type" property in the cpu node. | ||
195 | */ | 196 | */ |
196 | void ppc4xx_reset_system(char *cmd) | 197 | void ppc4xx_reset_system(char *cmd) |
197 | { | 198 | { |
198 | mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | DBCR0_RST_SYSTEM); | 199 | struct device_node *np; |
200 | u32 reset_type = DBCR0_RST_SYSTEM; | ||
201 | const u32 *prop; | ||
202 | |||
203 | np = of_find_node_by_type(NULL, "cpu"); | ||
204 | if (np) { | ||
205 | prop = of_get_property(np, "reset-type", NULL); | ||
206 | |||
207 | /* | ||
208 | * Check if property exists and if it is in range: | ||
209 | * 1 - PPC4xx core reset | ||
210 | * 2 - PPC4xx chip reset | ||
211 | * 3 - PPC4xx system reset (default) | ||
212 | */ | ||
213 | if ((prop) && ((prop[0] >= 1) && (prop[0] <= 3))) | ||
214 | reset_type = prop[0] << 28; | ||
215 | } | ||
216 | |||
217 | mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | reset_type); | ||
218 | |||
199 | while (1) | 219 | while (1) |
200 | ; /* Just in case the reset doesn't work */ | 220 | ; /* Just in case the reset doesn't work */ |
201 | } | 221 | } |
diff --git a/arch/powerpc/sysdev/qe_lib/gpio.c b/arch/powerpc/sysdev/qe_lib/gpio.c index 8e7a7767dd5c..dc8f8d618074 100644 --- a/arch/powerpc/sysdev/qe_lib/gpio.c +++ b/arch/powerpc/sysdev/qe_lib/gpio.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/of.h> | 19 | #include <linux/of.h> |
20 | #include <linux/of_gpio.h> | 20 | #include <linux/of_gpio.h> |
21 | #include <linux/gpio.h> | 21 | #include <linux/gpio.h> |
22 | #include <linux/slab.h> | ||
22 | #include <asm/qe.h> | 23 | #include <asm/qe.h> |
23 | 24 | ||
24 | struct qe_gpio_chip { | 25 | struct qe_gpio_chip { |
diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c index 149393c02c3f..093e0ae1a941 100644 --- a/arch/powerpc/sysdev/qe_lib/qe.c +++ b/arch/powerpc/sysdev/qe_lib/qe.c | |||
@@ -669,8 +669,11 @@ static const struct of_device_id qe_ids[] = { | |||
669 | }; | 669 | }; |
670 | 670 | ||
671 | static struct of_platform_driver qe_driver = { | 671 | static struct of_platform_driver qe_driver = { |
672 | .driver.name = "fsl-qe", | 672 | .driver = { |
673 | .match_table = qe_ids, | 673 | .name = "fsl-qe", |
674 | .owner = THIS_MODULE, | ||
675 | .of_match_table = qe_ids, | ||
676 | }, | ||
674 | .probe = qe_probe, | 677 | .probe = qe_probe, |
675 | .resume = qe_resume, | 678 | .resume = qe_resume, |
676 | }; | 679 | }; |
diff --git a/arch/powerpc/sysdev/qe_lib/ucc.c b/arch/powerpc/sysdev/qe_lib/ucc.c index ebb442ea1917..fa589b21dbcd 100644 --- a/arch/powerpc/sysdev/qe_lib/ucc.c +++ b/arch/powerpc/sysdev/qe_lib/ucc.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/errno.h> | 18 | #include <linux/errno.h> |
19 | #include <linux/slab.h> | ||
20 | #include <linux/stddef.h> | 19 | #include <linux/stddef.h> |
21 | #include <linux/spinlock.h> | 20 | #include <linux/spinlock.h> |
22 | #include <linux/module.h> | 21 | #include <linux/module.h> |
diff --git a/arch/powerpc/sysdev/simple_gpio.c b/arch/powerpc/sysdev/simple_gpio.c index 43c4569e24b7..d5fb173e588c 100644 --- a/arch/powerpc/sysdev/simple_gpio.c +++ b/arch/powerpc/sysdev/simple_gpio.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/of.h> | 21 | #include <linux/of.h> |
22 | #include <linux/of_gpio.h> | 22 | #include <linux/of_gpio.h> |
23 | #include <linux/gpio.h> | 23 | #include <linux/gpio.h> |
24 | #include <linux/slab.h> | ||
24 | #include <asm/prom.h> | 25 | #include <asm/prom.h> |
25 | #include "simple_gpio.h" | 26 | #include "simple_gpio.h" |
26 | 27 | ||
diff --git a/arch/powerpc/sysdev/tsi108_pci.c b/arch/powerpc/sysdev/tsi108_pci.c index 595034cfb85a..0ab9281e49ae 100644 --- a/arch/powerpc/sysdev/tsi108_pci.c +++ b/arch/powerpc/sysdev/tsi108_pci.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <linux/kernel.h> | 24 | #include <linux/kernel.h> |
25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
26 | #include <linux/pci.h> | 26 | #include <linux/pci.h> |
27 | #include <linux/slab.h> | ||
28 | #include <linux/irq.h> | 27 | #include <linux/irq.h> |
29 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
30 | 29 | ||